Bloque - 2. - Tema 1. - Introduccion - Al - H.264

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 42

Compresión

 de  Vídeo  
Tema  2.1.  Introducción  al  H.264  

Juan  A.  Michell  Mar@n  


Gustavo  A.  Ruiz  Robredo  
Departamento  de  Electrónica  y  Computadores  

Este  tema  se  publica  bajo  Licencia:  


Crea9ve  Commons  BY-­‐NC-­‐SA  4.0  
NECESIDAD DE COMPRIMIR VIDEO
 Un video sin comprimir (raw video) contiene una inmensa cantidad de
datos.

 Las capacidades de los sistemas de comunicación y almacenamiento de


datos son limitados y caros → Imposible de transmitir video sin comprimir.

 Ejemplo: Video HDTV de 720x1280 pixels/frame a 60 frames/s:

 pixels  frames   colors   bits 


 720x1280
frame
 60
sec
 3
pixel   8 color  = 1.3Gb / s
    

El ancho de banda de un canal HDTV es 20Mb/s → Requiere un


factor de compresión de 70 (equivalente a 0.35bits/pixel)

Compresión de video
Grado en Ingeniería de Tecnologías de Telecomunicación 2
Reducción del ancho de banda:

DATA RATE
APPLICATION
Uncompressed Compressed
Video Conference
30.4 Mbps 64-768 kbps
352x240@15fps
CD-ROM Digital Video
60.8 Mbps 1.5-4 Mbps
352x240@30fps
Broadcast Video
248.8 Mbps 3-8 Mbps
720x480@30fps
HDTV
1.33 Gbps 20 Mbps
1280x720@60fps

Compresión de video
Grado en Ingeniería de Tecnologías de Telecomunicación 3
 Video HD de 1080p a 24 fps y RGB :
 1.5 Hora → 806 Gb
 Bitrate: 1.2 Gbits/s

 DVD blu-ray:
 25 Gb (single layer)
 Bitrate: 36 Mbits/s

 TDT (televisión digital) y video streaming:


 25 Gb (single layer)
 Bitrate: 1 a 20 Mbits/s

 Se necesitan tasas de compresión de 30x a 1300x

Compresión de video
Grado en Ingeniería de Tecnologías de Telecomunicación 4
OBJETIVOS DE LOS ESTÁNDARES DE VIDEO

 Asegurar la compatibilidad. Permite la comunicación entre diferentes


dispositivos de diferentes fabricantes.

 Reducir costes.

 Reducir la redundancia e información irrelevante (información


perceptualmente sin importancia).

 Fuentes de redundancia:
o Temporal: Frames adyacentes están altamente relacionadas.
o Espacial: Pixels próximos están relacionados entre sí.
o Espacio de color: Componentes RGB están relacionados entre
ellas mismos.

Compresión de video
Grado en Ingeniería de Tecnologías de Telecomunicación 5
Cronología de los estándares de video más comunes

H.261 H.263
(1990) (1995/96) H.263++

ITU-T
H.263+ (2000)
(1997/98)
H.264/AVC HEVC
VCEG MPEG-2
(H.262) ( MPEG-4 H.265

ISO/IEC (1994/95) MPEG-4 v1 Part 10 ) MPEG-H


(1998/99) (2002) (2013)

MPEG MPEG-4 v2
(1999/00)
MPEG-1
MPEG-4 v3
(1993)
(2001)

1990 1992 1994 1996 1998 2000 2001 2002 2003 … 2013
Compresión de video
Grado en Ingeniería de Tecnologías de Telecomunicación 6
QUÉ ES EL H.264/AVC O ADVANCED VIDEO CODING?

Un formato de compresión de video


Un estándar industrial
Un herramienta para compresión video
Mejor compresor de video actual

Un formato de compresión de video

 El H.264/AVC (Advanced Video Coding) o MPEG-4 Part 10 es un método y


un formato de compresión de video capaz de convertir un video digital en
un formato que ocupa menor espacio para ser almacenado y transmitido.
Compresión de video
Grado en Ingeniería de Tecnologías de Telecomunicación 7
 Típicas aplicaciones one-way: televisión digital, DVD/video, TV móvil, video
conferencia e internet video streaming.

Broadcast Channel TV decoder

PC Client Decoder

Encode Server Network


Mobile
Video Client
Decoder
source

DVD
DVD player
burner

Compresión de video
Grado en Ingeniería de Tecnologías de Telecomunicación 8
 Típicas aplicaciones two-way: video conferencia, Apple iChat, Skype video
… el sistema debe comprimir un video de una cámara local a la vez que
descomprime un video transmitido desde una cámara remota.

Encoder Decoder

Network

Decoder Encoder

Compresión de video
Grado en Ingeniería de Tecnologías de Telecomunicación 9
Un estándar industrial

 Los grupos expertos en codificación de video ITU-T Study Group 16


(VCEG) e ISO/IEC JTC 1/SC 29/WG 11 (MPEG) bajo el documento
Recommendation H.264: Advanced Video Coding presentaron dos
estándares internacionales en la ITU-T (International Telecomunication
Union) y en el ISO/IEC (International Organization for
Standisation/International Electromecanical Commission).

 Este estándar define un formato y una sintaxis para video comprimido y


un método para decodificar esa sintaxis que permite producir una
secuencia de video reproducible.

 El estándar no especifica como codificar el video sino que deja al


diseñador o la compañía la realización del codificador.

Compresión de video
Grado en Ingeniería de Tecnologías de Telecomunicación 10
 Proceso de codificación y decodificación del H.264

VIDEO ENCODER
Entropy
Prediction Transform
encode
Video source

Scope of the H.264 standard


Compressed
Inverse Entropy
Reconstruct H.264
transform decode
Sintaxis
Video output

VIDEO DECODER

Compresión de video
Grado en Ingeniería de Tecnologías de Telecomunicación 11
Aplicaciones

• Streaming internet:
Vimeo, YouTube y iTunes Store
• Software Web
Adobe Flash Player y Microsoft Silverlight
• HDTV
ATSC, ISDB-T, DVB-T,DVB-T2, DVB-C, DVB-S and DVB-S2
• Blu-ray Discs
• Formato de grabación
“AVCDC - Advanced Video Coding High Definition”
desarrollado por Sony y Panasonic y usado por
Canon y Nikon.

Compresión de video
Grado en Ingeniería de Tecnologías de Telecomunicación 12
Un herramienta para compresión video
 EL H.264/AVC describe un conjunto de herramientas para la compresión del
video. EL estándar especifica cómo el video codificado con estas
herramientas debe ser representado y decodificado.
 EL decodificador del H.264 debe ser capaz de usar un conjunto de esas
herramientas conocido como profile.

Profile Description
Baseline Primarily for lower-cost applications with limited computing
Profile (BP) resources, this profile is used widely in videoconferencing and
mobile applications.

Main Profile Originally intended as the mainstream consumer profile for


(MP) broadcast and storage applications, the importance of this profile
faded when the High profile was developed for those applications.
Extended Intended as the streaming video profile, this profile has relatively
Profile (XP): high compression capability and some extra tricks for robustness to
data losses and server stream switching.
Compresión de video
Grado en Ingeniería de Tecnologías de Telecomunicación 13
H.264
Application Requirements
Profiles
Coding efficiency, reliability (over a controlled
Broadcast Main
distribution channel), interlace, low-complexity
television decoder
Coding efficiency, reliability (over a uncontrolled
Streaming video Extended
packet-based network channel), scalability
Video storage and Coding efficiency, interlace, low-complexity
Main
playback encoder and decoder
Coding efficiency, reliability, low latency, low- Baseline
Video conferencia
complexity encoder and decoder
Coding efficiency, reliability, low latency, low-
Baseline
Mobile video complexity encoder and decoder, low power
consumption

Lossless or near-lossless, interlace, efficient Main


Studio distribution
transcoding High

Compresión de video
Grado en Ingeniería de Tecnologías de Telecomunicación 14
Compresión de video
Grado en Ingeniería de Tecnologías de Telecomunicación 15
Mejor compresor de video actual
 Comparado con otros estándares de compresión de video, el H.264/AVC
proporciona mejores parámetros de compresión y calidad de imagen.
 Proporciona mejor calidad de imagen a la misma tasa de bitrate o
proporciona un menor bitrate de video comprimido para la misma calidad
de imagen.

Bit-rate[kbits/s]

Compresión de video
Grado en Ingeniería de Tecnologías de Telecomunicación 16
CURVAS RATE-DISTORSIÓN

Calidad
(PSNR)

Bitrate o rate (bits/sec)


Compresión de video
Grado en Ingeniería de Tecnologías de Telecomunicación 17
PNSR o Peak Signal to Noise Ratio

 El PSNR es una medida en escala logarítmica que indica el error entre dos
imágenes IA e IB de dimensiones MxN, de forma que

 2n − 1 
= 10 ⋅ log10 
PSNR
 MSE 
 

donde MSE o Mean Squared Error es el error cuadrático medio definido

1 N M 2
=MSE ∑∑  A
M ⋅ N=i 1=j 1
I (i, j) − IB (i, j) 

y n es el número de bits usado para representar cada pixel.

Compresión de video
Grado en Ingeniería de Tecnologías de Telecomunicación 18
H.264 FREXT (FIDELITY RANGE EXTENSIONS) AMENDMENT

 Finalizado en Julio 2004.


 Propuesto para codificar video de alta fidelidad para aplicaciones
profesionales y alta definición.

Compresión de video
Grado en Ingeniería de Tecnologías de Telecomunicación 19
ESTRUCTURA DEL CODIFICADOR H.264

Current Compensation
frame Current Residual
MB MB
Transform Entropy
Quantization encoder
16x16 Predicted
Intra MB

Prediction Coded bitstream


Inter
Inverse
Transform
Quantization
Decoded
Previous residual
coded MB
frames

Compresión de video
Grado en Ingeniería de Tecnologías de Telecomunicación 20
ESTRUCTURA DEL DECODIFICADOR H.264

Coded bitstream
Current
Decoded decoded
residual Decoded
frame
MB MB
Inverse
Entropy
Transform
encoder
Quantization
16x16
Intra

Prediction
Inter
Predicted
MB

Previous
decoded
frames
Compresión de video
Grado en Ingeniería de Tecnologías de Telecomunicación 21
PREDICCIÓN ESPACIAL Y TEMPORAL
 El codificador construyen la predicción del MB actual basado en datos
codificados previamente, utilizando dos tipos de predicción:
o Intrapredicción o predicción intra a partir de datos de la propia frame.
Predicción espacial.
o Interpredicción o predicción inter a partir de datos de frames
previamente codificadas. Predicción temporal.

1 2 3 4

1. Se comprime s y en la frame 1 (Intra).

2. Se comprime el movimiento de en el resto de las frames (inter).


Compresión de video
Grado en Ingeniería de Tecnologías de Telecomunicación 22
Intrapredicción o predicción intra

Pixels
previamente Original
codificados MB

Original MB 16x16 Intra prediction Residual MB

Compresión de video
Grado en Ingeniería de Tecnologías de Telecomunicación 23
 Comparación entre la codificación de un video solo en modo predicción Intra
en el H.264 con respecto a la codificación JPEG2000.

Compresión de video
Grado en Ingeniería de Tecnologías de Telecomunicación 24
Interpredicción o predicción inter

Frame previas Frame actual Frame futura

Original MB 16x16 Interprediction Residual MB


Compresión de video
Grado en Ingeniería de Tecnologías de Telecomunicación 25
Frames de referencia múltiple

 Las técnicas de estimación de movimiento basados en múltiples referencias


proporcionan mayor predicción en la inter-predicción y mejora la robustez
en la pérdida de datos.
 El mayor inconveniente es la necesidad de almacenar en el decodificador las
imágenes de referencia, con el consiguiente coste en hardware.

Compresión de video
Grado en Ingeniería de Tecnologías de Telecomunicación 26
 Utilizar un número mayor de frames de referencia mejora la codificación del
video.
Mobile & Calendar (CIF, 30 fps)
38
37
36
PSNR Y [dB]

35
34
33 ~15%
32
31
30
29
28 with 5 previous references
27 with 1 previous reference
26
0 1 2 3 4
BitRate [Mbit/s]
Compresión de video
Grado en Ingeniería de Tecnologías de Telecomunicación 27
 H.264 maneja una secuencia de predicción combinada de inter e intra

ENCODING
INTRA INTER INTRA

H.264
DECODING

Compresión de video
Grado en Ingeniería de Tecnologías de Telecomunicación 28
 Tamaño de ocupación de las frames compremidas en modo intra e inter.

INTRA INTER INTRA

H.264
GOP
(Group of Pictures)
Tamaño

INTRA INTRA

INTER INTER INTER


Frames
Compresión de video
Grado en Ingeniería de Tecnologías de Telecomunicación 29
TRANSFORMADA Y CUANTIZACIÓN

 El H.264 aplica una transformada basada en la DCT de dimensiones 4x4 y


8x8 de números enteros a los MB residuales.

26
Residual MB 10 1/Qstep
Transform 3 5 Quantize
4x4 Coefficients
8x8
3 1
0 1
Quantized
coefficients
Recoded 24
residual MB
Inverse 8 8
Rescale
transform 0
4x4 Rescaled xQstep
8x8 coefficients

Compresión de video
Grado en Ingeniería de Tecnologías de Telecomunicación 30
 Ejemplo numérico de cuantificación y reescalado
DC
 73 87 64 13  181 47 −66 4 
 40 63 23 2   6 30 16 −2 
   
 36 24 68 26   40 18 −29 −14 
   
 29 98 67 12   13 −20 14 34 
Original block 4x4 Forward transform coefficients

 74 89 65 11  180 50 −70 0  18 5 −7 0 


 42 64 23 4   10 30 20 0  1 3 2 0
     
 30 29 64 24   40 20 −30 −10   4 2 −3 −1 
     
 27 99 67 8   10 −20 10 30   1 −2 1 3 
Inverse Transform Qstep=10 Rescaled coefficients Qstep=10 Quantified coefficients Qstep=10

 71 78 59 24  180 40 −60 0   9 2 −3 0 
 29 61 23 2   0
  20 20 0  0 1 1 0 
   
 40 23 73 29   40 20 −20 −20   2 1 −1 −1 
     
 30 103 60 15 
 20 −20 20 40   1 −1 1 2 
Inverse Transform Qstep=20 Rescaled coefficients Qstep=20 Quantified coefficients Qstep=20

Compresión de video
Grado en Ingeniería de Tecnologías de Telecomunicación 31
COSTE COMPUTACIONAL

Compresión de video
Grado en Ingeniería de Tecnologías de Telecomunicación 32
IMPLEMENTACIÓN DEL H.264

 Grupos relacionados:
 MPEG website http://www.mpeg.org
 JVT website: ftp://standards.polycom.com
 www.mpegif.org

 Software
 http://iphome.hhi.de/suehring/tml/download

 Productos e implementaciones
 Multitud de equipos y Chips:
http://en.wikipedia.org/wiki/H.264/MPEG-4_AVC_products_and_implementations

Compresión de video
Grado en Ingeniería de Tecnologías de Telecomunicación 33
 Secuencias de test
 ftp.tnt.uni-hannover.de/pub/jvt/sequences/
 http://trace.eas.asu.edu/yuv/
 ftp://ftp.ldv.ei.tum.de/videolab/public/SVT_Test_Set/
 http://videocoders.com/yuv.html

 Links interesantes
 https://sites.google.com/site/wwwgmsu/usefullink
 http://nsl.cs.sfu.ca/wiki/index.php/Video_Library_and_Tools

Compresión de video
Grado en Ingeniería de Tecnologías de Telecomunicación 34
HEVC O H.265 COMO FUTURO ESTÁNDAR

 El H.265 o MPEG-H Part 2 o HEVC (High Efficiency Video Coding) se presenta


como una evolución del H.264/AVC.

 El H.265 mejora en un 40% la tasa de compresión del H.264/AVC pero sus


necesidades de cómputo son hasta 4 veces superiores, apenas hay chips
para las tecnologías actuales.

 Es capaz de manejar frames con resoluciones de 320×240 a 7680×4320


pixels.

 El primer Draft se presentó a principios del 2013.

 Más información en http://www.h265.net

Compresión de video
Grado en Ingeniería de Tecnologías de Telecomunicación 35
RATIO DE
COMPRESIÓN

1/100
HEVC/
Video internet H.265
Blu ray
FullHD
HDTV MPEG-4/AVC
1/50 Broadcast 4k/8k
H.264

MPEG-2
1/25 DVD
Broadcast digital
1994 2003 2013

Compresión de video
Grado en Ingeniería de Tecnologías de Telecomunicación 36
Aplicación: MSU Video Quality Measurement

Compresión de video
Grado en Ingeniería de Tecnologías de Telecomunicación 37
SOFTWARE H.264
 Software básico H264 encoder http://www.h264encoder.com

 Formatos de entrada:
o *.avi
o *.wmv
o *.mp4
o *.flv
o *.mov
o *.3gp
o *.mpg

Compresión de video
Grado en Ingeniería de Tecnologías de Telecomunicación 38
Software FastVDO

• Añade un CODEC a la aplicación Windows Media Player para visualizar los


ficheros codificados con el H.264.
• Identifica los ficheros H.264 con la etiqueta *.264
• Página de descarga: http://www.fastvdo.com/H.264.html. Es una versión
demo limitada a 5 mins.

Windows Media Player

Compresión de video
Grado en Ingeniería de Tecnologías de Telecomunicación 39
SOFTWARE DE REFERENCIA JM

 Software de referencia JM (http://iphome.hhi.de/suehring/tml/download).


 Desarrollado en C y C++ implementa el estandard H.264.
 Incluye codificador y decodificador.
 La versión compilada para Windows y Lunix se encuentra en:
..\software\encoderDecoderH.264\H264exe

 Codificador: EncodeH264MSWin.exe
 Decodificador: DecodeH264MSWin.exe

Compresión de video
Grado en Ingeniería de Tecnologías de Telecomunicación 40
Fichero de
configuración
Video de entrada

EncodeH264MSWin.exe
Software JM

Video reconstruido.
Idéntico al video generado
Fichero binario por el
H.264 decodificador
Compresión de video
Grado en Ingeniería de Tecnologías de Telecomunicación 41
cmd) EncodeH264MSWin.exe –f configuracion.cfg

InputFile = "..\..\..\videos\mobile@300@352x288.yuv" # Input sequence



StartFrame = 0 # Start frame for encoding. (0-N)
FramesToBeEncoded = 300 # Number of frames to be coded
FrameRate = 20.0 # Frame Rate per second (0.1-100.0)
SourceWidth = 352 # Frame width
SourceHeight = 288 # Frame height

ReconFile = "mobile@300@352x288QP15.yuv"
OutputFile = "mobile@300@352x288QP15.h264“

QPISlice = 15 # Quant. param for I Slices (0-51)
QPPSlice = 15 # Quant. param for P Slices (0-51)
…..
QPBSlice = 30 # Quant. param for B slices (0-51)

Compresión de video
Grado en Ingeniería de Tecnologías de Telecomunicación 42

También podría gustarte