eprintid: 14048 rev_number: 20 eprint_status: archive userid: 2544 dir: disk0/00/01/40/48 datestamp: 2012-12-08 07:36:26 lastmod: 2016-04-21 13:31:50 status_changed: 2012-12-08 07:36:26 type: other metadata_visibility: show item_issues_count: 0 creators_name: Cabezas González, Javier contributors_name: Eckert, Martina title: Estudio de calidad de codificación utilizando los perfiles 10 Bits del estándar H.264 ispublished: unpub subjects: informatica abstract: Desde los inicios de la codificación de vídeo digital hasta hoy, tanto la señal de video sin comprimir de entrada al codificador como la señal de salida descomprimida del decodificador, independientemente de su resolución, uso de submuestreo en los planos de diferencia de color, etc. han tenido siempre la característica común de utilizar 8 bits para representar cada una de las muestras. De la misma manera, los estándares de codificación de vídeo imponen trabajar internamente con estos 8 bits de precisión interna al realizar operaciones con las muestras cuando aún no se han transformado al dominio de la frecuencia. Sin embargo, el estándar H.264, en gran auge hoy en día, permite en algunos de sus perfiles orientados al mundo profesional codificar vídeo con más de 8 bits por muestra. Cuando se utilizan estos perfiles, las operaciones efectuadas sobre las muestras todavía sin transformar se realizan con la misma precisión que el número de bits del vídeo de entrada al codificador. Este aumento de precisión interna tiene el potencial de permitir unas predicciones más precisas, reduciendo el residuo a codificar y aumentando la eficiencia de codificación para una tasa binaria dada. El objetivo de este Proyecto Fin de Carrera es estudiar, utilizando las medidas de calidad visual objetiva PSNR (Peak Signal to Noise Ratio, relación señal ruido de pico) y SSIM (Structural Similarity, similaridad estructural), el efecto sobre la eficiencia de codificación y el rendimiento al trabajar con una cadena de codificación/descodificación H.264 de 10 bits en comparación con una cadena tradicional de 8 bits. Para ello se utiliza el codificador de código abierto x264, capaz de codificar video de 8 y 10 bits por muestra utilizando los perfiles High, High 10, High 4:2:2 y High 4:4:4 Predictive del estándar H.264. Debido a la ausencia de herramientas adecuadas para calcular las medidas PSNR y SSIM de vídeo con más de 8 bits por muestra y un tipo de submuestreo de planos de diferencia de color distinto al 4:2:0, como parte de este proyecto se desarrolla también una aplicación de análisis en lenguaje de programación C capaz de calcular dichas medidas a partir de dos archivos de vídeo sin comprimir en formato YUV o Y4M. ABSTRACT Since the beginning of digital video compression, the uncompressed video source used as input stream to the encoder and the uncompressed decoded output stream have both used 8 bits for representing each sample, independent of resolution, chroma subsampling scheme used, etc. In the same way, video coding standards force encoders to work internally with 8 bits of internal precision when working with samples before being transformed to the frequency domain. However, the H.264 standard allows coding video with more than 8 bits per sample in some of its professionally oriented profiles. When using these profiles, all work on samples still in the spatial domain is done with the same precision the input video has. This increase in internal precision has the potential of allowing more precise predictions, reducing the residual to be encoded, and thus increasing coding efficiency for a given bitrate. The goal of this Project is to study, using PSNR (Peak Signal to Noise Ratio) and SSIM (Structural Similarity) objective video quality metrics, the effects on coding efficiency and performance caused by using an H.264 10 bit coding/decoding chain compared to a traditional 8 bit chain. In order to achieve this goal the open source x264 encoder is used, which allows encoding video with 8 and 10 bits per sample using the H.264 High, High 10, High 4:2:2 and High 4:4:4 Predictive profiles. Given that no proper tools exist for computing PSNR and SSIM values of video with more than 8 bits per sample and chroma subsampling schemes other than 4:2:0, an analysis application written in the C programming language is developed as part of this Project. This application is able to compute both metrics from two uncompressed video files in the YUV or Y4M format. date: 2012-09-25 date_type: completed full_text_status: public place_of_pub: Madrid institution: E_Telecomunicacion department: Ingenieria refereed: TRUE referencetext: [1] Ateme, “Why does 10-bit save bandwidth?”, URL: http://ateme.com/Why-does-10-bit-save-bandwidth [Último acceso: 30 agosto 2012]. [2] W. Gish y H. Yu, Documento JVT-H016: “Extended Sample Depth: Implementation and Characterization”, de Joint Video Team (JVT) of ISO/IEC MPEG & ITU-T VCEG (ISO/IEC JTC1/SC29/WG11 and ITU-T SG16 Q.6), 8th Meeting, Ginebra, Suiza, 23-27 mayo, 2003. [3] T. Chujoh y R. Noda, Documento VCEG-AE13: “Internal bit depth increase for coding efficiency”, de ITU - Telecommunications Standardization Sector, STUDY GROUP 16 Question 6, Video Coding Experts Group (VCEG), 31st Meeting, Marrakech, Marruecos, 15-16 enero, 2007. [4] International Telecommunication Union, “ITU-T H.264 recommendation”, marzo 2010. [5] Á. Herraiz Palomino, “Análisis del rendimiento del codificador x264 sobre Procesador Digital de Señal”, PFC, Escuela Universitaria de Ingeniería Técnica de Telecomunicación, Universidad Politécnica de Madrid, 2009. [6] I. E. G. Richardson, “H.264 and MPEG-4 Video Compression: Video Coding for Next-Generation Multimedia”, John Wiley & Sons, Ltd, 2003. [7] E. Madejón López, “Implementación de un sistema de codificación multivista”, PFC, Escuela Universitaria de Ingeniería Técnica de Telecomunicación, Universidad Politécnica de Madrid, 2009. [8] http://en.wikipedia.org/wiki/File:Interframe_prediction.png [Último acceso: 30 agosto 2012]. [9] T. Wiegand, G. J. Sullivan, G. Bjøntegaard y A. Luthra, “Overview of the H.264/AVC Video Coding Standard”, IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, vol. 13, nº 7, pp. 560-576, julio 2003. [10] Desarrolladores x264, “Support for 9 and 10-bit encoding”, URL: http://git.videolan.org/?p=x264.git;a=commit;h=d058f37d9af8fc425fa0626695a190 eb3aa032af [Último acceso: 30 agosto 2012]. [11] Z. Wang y A. C. Bovik, “Mean Squared Error: Love It or Leave It?”, IEEE signal processing magazine, vol. enero 2009, pp. 98-117. [12] Z. Wang, A. C. Bovik, H. Rahim Sheik y E. P. Simoncelli, “Image Quality Assessment: From Error Visibility to Structural Similarity”, IEEE transactions on image processing, vol. 13, nº 4, pp. 600-612, abril 2004. [13] I. Pulido Arranz, “Calidad visual”, PFC, Escuela Universitaria de Ingeniería Técnica de Telecomunicación, Universidad Politécnica de Madrid, 2010. [14] Desarrolladores libvp8, URL: http://git.chromium.org/gitweb/?p=webm/libvpx.git;f=vp8/encoder/ssim.c;hb=HEAD [Último acceso: 30 agosto 2012]. [15] Desarrolladores Subversion, “Online home of the Apache Subversion™ software project”, URL: http://subversion.apache.org/ [Último acceso: 30 agosto 2012]. [16] Desarrolladores x264, “x264 Main Development tree”, URL: http://git.videolan.org/?p=x264.git;a=summary [Último acceso: 30 agosto 2012]. [17] Desarrolladores x264, “x264 web page”, URL: http://x264.nl/ [Último acceso: 30 agosto 2012]. [18] Desarrolladores x264, URL: http://git.videolan.org/?p=x264.git;a=commit;h=d9d2288cabcfd1a90f29f2f11c8cce5 450a08ffa [Último acceso: 30 agosto 2012]. [19] Desarrolladores FFDShow, “FFDshow main page”, URL: http://sourceforge.net/projects/ffdshow/ [Último acceso: 30 agosto 2012]. [20] H. Leppkes, “LAV Filters, Open-Source DirectShow Media Splitter and Decoders”, URL: http://code.google.com/p/lavfilters/ [Último acceso: 30 agosto 2012]. [21] Desarrolladores FFmpeg, “FFmpeg Download and Source Code Repository Access”, URL: http://ffmpeg.org/download.html [Último acceso: 30 agosto 2012]. [22] Google Code, URL: http://code.google.com/intl/es/ [Último acceso: 30 agosto 2012]. [23] Desarrolladores TortoiseSVN, “TortoiseSVN, the coolest interface to (Sub)version control”, URL: http://tortoisesvn.net/ [Último acceso: 30 agosto 2012]. [24] P. Larbier, “Using 10-bit AVC/H.264 Encoding with 4:2:2 for Broadcast Contribution”, URL: http://ateme.com/Why-4-2-2-10-bit-video-compression [Último acceso: 30 agosto 2012]. [25] J. Cabezas Gonzalez, “yuv2psnrssim, Windows CLI application that, given two uncompressed video sequences, calculates PSNR and SSIM objetive quality metrics”, URL: http://code.google.com/p/yuv2psnrssim/ [Último acceso: 30 agosto 2012]. [26] Descripción del formato YUV4MPEG2, URL: http://wiki.multimedia.cx/index.php?title=YUV4MPEG2 [Último acceso: 30 agosto 2012]. [27] Internet Engineering Task Force (IETF), “Common Format and MIME Type for Comma-Separated Values (CSV) Files”, URL: http://tools.ietf.org/html/rfc4180 [Último acceso: 30 agosto 2012]. [28] Xiph.Org Foundation, “Xiph.org Video Test Media [derf's collection]”, URL: http://media.xiph.org/video/derf/ [Último acceso: 30 agosto 2012]. [29] Desarrolladores x264, “Authoring a professional Blu-ray Disc with x264”, URL: http://www.x264bluray.com/ [Último acceso: 30 agosto 2012]. [30] Ateme, “4:2:2 10-bit CM4101 H264/MPEG-4 encoder”, URL: http://www.ateme.com/CM4101 [Último acceso: 30 agosto 2012]. [31] Y. Liu, “Analysis of Coding Tools in HEVC Test Model (HM 1.0) - Overview”, URL: http://www.h265.net/2010/11/analysis-of-coding-tools-in-hevc-test-model-hmoverview.html [Último acceso: 30 agosto 2012]. [32] A. Noé, “Matroska File Format”, URL: http://matroska.org/files/matroska.pdf [Último acceso: 30 agosto 2012]. [33] Adobe Systems Incorporated, “Adobe Flash Video File Format Specification”, URL: http://download.macromedia.com/f4v/video_file_format_spec_v10_1.pdf [34] J. Garrett-Glaser, “Psychovisually optimized rate-distortion optimization”, URL: http://forum.doom9.org/showthread.php?t=138293 [Último acceso: 30 agosto 2012]. rights: by-nc-nd citation: Cabezas González, Javier (2012). Estudio de calidad de codificación utilizando los perfiles 10 Bits del estándar H.264. Proyecto Fin de Carrera / Trabajo Fin de Grado, E.U.I.T. Telecomunicación (UPM) , Madrid. document_url: https://oa.upm.es/14048/1/PFC_JAVIER_CABEZAS_GONZALEZ.pdf document_url: https://oa.upm.es/14048/2/PFC_JAVIER_CABEZAS_GONZALEZ_ANEXOS.zip