1
Índice
Introducción
H.264/AVC
H.264/SVC
Sistema de Transmisión
Evaluación del Sistema
Resultados
Líneas Futuras
Ruegos y P...
Introducción:
   Streaming de Vídeo sobre P2P
Objetivo:  permitir la distribución de vídeo en tiempo real desde 
cualquier...
Introducción:
    Streaming de Vídeo sobre P2P
SOLUCIÓN                NEUROCAST

Permite distribuir Vídeo sobre una red P...
Introducción:
     NeuroCast y H.264/SVC
 OPTIMIZACIÓN del Sistema de Transmisión utilizando
    SCALABLE VIDEO CODING (H....
Introducción:
                   Iniciativas Similares

  P2P Next
Proyecto  Europeo  desarollado  por  diversas  Univers...
Introducción:
 NeuroCast y H.264/SVC
OBJETIVOS DEL PROYECTO:

I. Analizar el funcionamiento de SVC
II. Identificar los ele...
Introducción:
                    Espacio de Color
RGB              YUV


 RGB: Red – Green – Blue  son los colores prima...
Introducción:
   Medidas Objetivas de Calidad
   Medidas destinadas a evaluar la correlación entre una secuencia de vídeo ...
H.264/AVC
MPEG­4 parte 10  (ISO/IEC)  =   H.264/AVC (ITU­T)




                                                    10
H.264/AVC

    FOTOGRAMA            SLICE             MACROBLOQUE



 Predicción

   Intrapredicción (I)

   Interpredi...
H.264/AVC
                  Predicción




Intrapredicción                    Interpredicción


                          ...
H.264/AVC
                     Transformación
La Transformación consigue que la mayoría de los coeficientes 




sean nul...
H.264/AVC
         Codificación Entrópica

 Códigos de Golomb:
1 → 010
2 → 011
3 → 00100
4 → 00101
5 → 00110
            ...
H.264/AVC
                   Nivel de Red

 Network Abstraction Layer Unit (NAL Unit)

 Video Coding Layer NAL Unit (VCL...
H.264/SVC

 Escalabilidad Temporal, Espacial y de Calidad (SNR)

 Nuevo tipo de predicción: InterLayer ­ IntraLayer




...
H.264/SVC
           Escalabilidad Temporal
 GOP: nº de Access Units entre dos Slices tipo I o P.




 Niveles Temporales...
H.264/SVC
       Escalabilidad Espacial

 Uso de Predicción InterLayer





                                18
H.264/SVC
            Escalabilidad de Calidad




(a)Fine Grain Scalability (MPEG­4)   (b)lleva a errores de decodificaci...
H.264/SVC
                 Sintaxis NAL Units

 NonVCL NAL Units:

 Cabecera de la NAL Unit

 Información de la NAL Uni...
H.264/SVC
       Sintaxis NAL Units
Tipos de NAL Units en SVC:


(1) Coded Slice of a nonIDR Picture
(5) Coded Slice of an...
H.264/SVC
               Sintaxis NAL Units
SEI Scalability Info:              Coded Slice of a nonIDR Picture:
num_layers...
Sistema de Transmisión




Transmisión → Demultiplexor    Joint Scalable Video Model (JSVM)
Recepción → Multiplexor
      ...
Sistema de Transmisión
     Demultiplexor
 BitStream SVC → DEMULTIPLEXOR → N Canales P2P NeuroCast
              Añade Ove...
Sistema de Transmisión
            Multiplexor
 M Canales P2P NeuroCast → MULTIPLEXOR → BitStream SVC




Detector de Pérd...
Sistema de Transmisión
Multiplexor – Error Concealment

    La ocultación de errores o Error Concealment utiliza una serie...
Sistema de Transmisión
 Multiplexor – Error Concealment
Integridad del GOP → pic_order_cnt_lsb




 Integridad AU → Scalab...
Sistema de Transmisión
    Multiplexor – Error Concealment
Generación de la nueva NAL Unit:
     Aplicación a B Slices por...
Evaluación del Sistema
 Escenario CIF: 352x288 píxels, 25 fps
Distribución Escalable del Flujo:

    Capa        Tipo     ...
Evaluación del Sistema
 Demultiplexor:
  Canal NeuroCast       Slice / Capa         BitRate (kbps)   % del BitStream
     ...
Evaluación del Sistema
  Evolución de la PSNR del Flujo 1 en función   Evolución de la PSNR del Flujo 2 en función 
de la ...
Resultados

 Se ha determinado la mejor opción de distribución de capas escalables en la 
codificación del H.264/SVC así ...
Líneas Futuras

  Mejoras en el Buffer de Lectura/Escritura para la implementación en 
tiempo real.

 Diseñar  nuevos  mét...
Ruegos y Preguntas

Gracias por su atención!
     Alguna pregunta?



         ?                 34
Próxima SlideShare
Cargando en…5
×

H.264/SVC over P2P Network

1.051 visualizaciones

Publicado el

Publicado en: Empresariales, Tecnología
0 comentarios
0 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Sin descargas
Visualizaciones
Visualizaciones totales
1.051
En SlideShare
0
De insertados
0
Número de insertados
7
Acciones
Compartido
0
Descargas
28
Comentarios
0
Recomendaciones
0
Insertados 0
No insertados

No hay notas en la diapositiva.

H.264/SVC over P2P Network

  1. 1. 1
  2. 2. Índice Introducción H.264/AVC H.264/SVC Sistema de Transmisión Evaluación del Sistema Resultados Líneas Futuras Ruegos y Preguntas 2
  3. 3. Introducción: Streaming de Vídeo sobre P2P Objetivo:  permitir la distribución de vídeo en tiempo real desde  cualquier lugar del mundo 3
  4. 4. Introducción: Streaming de Vídeo sobre P2P SOLUCIÓN                NEUROCAST Permite distribuir Vídeo sobre una red P2P  Streaming Multifuente  Topología tipo Mesh  Utiliza el ancho de Banda de N usuarios para   transmitir de forma conjunta Cliente y Servidor en uno: PEER  4
  5. 5. Introducción: NeuroCast y H.264/SVC OPTIMIZACIÓN del Sistema de Transmisión utilizando SCALABLE VIDEO CODING (H.264/SVC) H.264/SVC  permite  separar  el  flujo  o  bitstream  en  subflujos  o  substreams  que  podemos  repartir  en  canales  NeuroCast.  La  combinación  de  estos  subflujos  dan  lugar  a  un  nuevo  flujo  que  representa  versiones  escaladas  temporal,  espacial  y  cualitativamente  5 del original
  6. 6. Introducción: Iniciativas Similares   P2P Next Proyecto  Europeo  desarollado  por  diversas  Universidades  Europeas  sobre  la  TV  sobre  IP  (IPTV)  utilizando  H.264/SVC  y  BitTorrent  con  un  plugin  para  el  navegador  web mediante el reproductor multimedia VLC.  Joost Iniciativa  privada  de  los  fundadores  de  Skype  como  medio  de  difusión  de  IPTV.  Utiliza  H.264/SVC  y  P2P  presentado  dentro  de  un  entorno  Flash  y  con  el  protocolo  RTMFP de Adobe.  Miro Iniciativa privada OpenSource basada en un sistema de visualización de VOD H.264/ AVC sobre P2P. No es en tiempo Real.   Octoshape Iniciativa privada muy similar a P2PNext utilizando H.264/AVC y P2P en tiempo real.  Se basa en el uso de un plugin instalable para diversos reproductores habituales (por  ejemplo Windows Media Player). 6
  7. 7. Introducción: NeuroCast y H.264/SVC OBJETIVOS DEL PROYECTO: I. Analizar el funcionamiento de SVC II. Identificar los elementos sintácticos de SVC III. Proponer un método eficiente de demultiplexado para  adaptar el bitstream H.264/SVC a canales NeuroCast IV. Evaluar los resultados del demultiplexado a partir del  diseño de un multiplexor capaz de conciliar errores de  transmisión 7
  8. 8. Introducción: Espacio de Color RGB       YUV  RGB: Red – Green – Blue  son los colores primarios de la luz. No hay  ningún tipo de compresión. Utilizado por las pantallas CRT, LCD, LED...  iluminan por separado cada componente RGB  YUV: Espacio de color basado en 1 componente de Luminancia y 2  componentes de Crominancia. Codifica una imagen o vídeo en color teniendo  en cuenta la percepción humana ya que somos más sensibles a la  Luminancia que a la Crominancia. YUV = YCbCr Y  = 0,299R + 0,587G + 0,114B U  = 0,492(B − Y) = − 0,147R − 0,289G + 0,436B V  = 0,877(R − Y) = 0,615R − 0,515G − 0,100B 8
  9. 9. Introducción: Medidas Objetivas de Calidad Medidas destinadas a evaluar la correlación entre una secuencia de vídeo y  otra. Si las usamos para comparar la secuencia original y la secuencia  decodificada obtendremos medidas de calidad que sirven para evaluar la  eficiencia del códec de vídeo. PSNR: Peak Signal to Noise Ratio, cociente entre el valor máximo que  puede haber en una secuencia al cuadrado y el error cuadrático medio de la  secuencia. 2 PSNR=10log 2 n −1  N MSE 1 2 MSE= N ∑  xi−   x i EFICIENCIA: depende de la PSNR y del Parámetro de Cuantización (QP) utilizado 9
  10. 10. H.264/AVC MPEG­4 parte 10  (ISO/IEC)  =   H.264/AVC (ITU­T) 10
  11. 11. H.264/AVC FOTOGRAMA SLICE MACROBLOQUE  Predicción   Intrapredicción (I)   Interpredicción (P)  Bipredicción (B)  Transformación   Transformada Discreta del Coseno (DCT)  Codificación Entrópica   Códigos Exp­Golomb   Context Adaptive Variable Length Coding (CAVLC)   Context Adaptive Binary Arithmetic Coding (CABAC) 11
  12. 12. H.264/AVC Predicción Intrapredicción Interpredicción Bipredicción Lista0 – Lista1 Imágenes de referencia 12
  13. 13. H.264/AVC Transformación La Transformación consigue que la mayoría de los coeficientes   sean nulos y los que no lo son estén altamente incorrelados. ́ Se utiliza la DCT:    a a a a b c −c −b Y=AXAT A= a −a −a a c −b b c 1 a= 2 b=    1 2 cos π 8 c=    1 2 cos 3π 8 13
  14. 14. H.264/AVC Codificación Entrópica  Códigos de Golomb: 1 → 010 2 → 011 3 → 00100 4 → 00101 5 → 00110  CABAC: ..... Binarización  CAVLC: Selección del Modelo según Contexto coeff_token Codificación Aritmética trailing_ones_sgn_flag Actualización del modelo level_prefix level_sufix total_zeros run_before 14
  15. 15. H.264/AVC Nivel de Red  Network Abstraction Layer Unit (NAL Unit)  Video Coding Layer NAL Unit (VCL NAL Unit)  NonVCL NAL Unit  Access Unit (AU) 15
  16. 16. H.264/SVC  Escalabilidad Temporal, Espacial y de Calidad (SNR)  Nuevo tipo de predicción: InterLayer ­ IntraLayer 16
  17. 17. H.264/SVC Escalabilidad Temporal  GOP: nº de Access Units entre dos Slices tipo I o P.   Niveles Temporales: log 2  GOP  1  17
  18. 18. H.264/SVC Escalabilidad Espacial  Uso de Predicción InterLayer  18
  19. 19. H.264/SVC Escalabilidad de Calidad (a)Fine Grain Scalability (MPEG­4) (b)lleva a errores de decodificación (MPEG­2) (c)Paso intermedio (d)Medium Grain Scalability(H.264/SVC) 19
  20. 20. H.264/SVC Sintaxis NAL Units  NonVCL NAL Units:  Cabecera de la NAL Unit  Información de la NAL Unit  VCL NAL Units:  Cabecera de la NAL Unit  Cabecera de la Slice  Información de la Slice Cabecera de la NAL Unit en H.264/AVC: Cabecera de la NAL Unit en H.264/SVC: 20
  21. 21. H.264/SVC Sintaxis NAL Units Tipos de NAL Units en SVC: (1) Coded Slice of a nonIDR Picture (5) Coded Slice of an IDR Picture (6) Supplemental Enhancement Information (SEI) (7) Sequence Parameter Set (SPS) (8) Picture Parameter Set (PPS) (14) Prefix NAL Unit (15) Subset Sequence Parameter Set (20) Coded Slice in SVC Extension 21
  22. 22. H.264/SVC Sintaxis NAL Units SEI Scalability Info: Coded Slice of a nonIDR Picture: num_layers_minus1 first_mb_in_slice layer_id slice_type dependency_id pic_parameter_set_id quality_id pic_order_cnt_lsb temporal_id direct_spatial_mv_pred_flag frame_height_in_mbs_minus1 mb_skip_run Coded Slice in SVC Extension: store_ref_base_pic_flag ref_layer_dq_id slice_skip_flag num_mbs_in_slice_minus1 22
  23. 23. Sistema de Transmisión Transmisión → Demultiplexor Joint Scalable Video Model (JSVM) Recepción → Multiplexor  Codificador  Decodificador  Submuestreador  Analizador del BitStream  PSNR 23
  24. 24. Sistema de Transmisión Demultiplexor BitStream SVC → DEMULTIPLEXOR → N Canales P2P NeuroCast Añade Overhead necesario para el multiplexado Demultiplexado por Tipo de NAL Unit Demultiplexado por Tipo de Slice Demultiplexado Híbrido 24
  25. 25. Sistema de Transmisión Multiplexor M Canales P2P NeuroCast → MULTIPLEXOR → BitStream SVC Detector de Pérdidas → RoundRobin, analiza el overhead Buffer de Lectura/Escritura Concicliación de Errores (Error Concealment) 25
  26. 26. Sistema de Transmisión Multiplexor – Error Concealment     La ocultación de errores o Error Concealment utiliza una serie de métodos para detectar la pérdida o falta dentro de un BitStream de una NAl Unit y generar una nueva Nal Unit en su lugar obteniendo un BitStream conforme al anexo B del estándar ITU­T y que es decodificable por cualquier decodificador estándar.  Comprobación del GOP   Integridad del GOP  Integridad de cada AU Generación de la nueva NAL Unit 26
  27. 27. Sistema de Transmisión Multiplexor – Error Concealment Integridad del GOP → pic_order_cnt_lsb Integridad AU → Scalability Information SEI  1  1  0 AU 1  0  0 Falta la NAL (1  0  0) 27 0  0  0
  28. 28. Sistema de Transmisión Multiplexor – Error Concealment Generación de la nueva NAL Unit: Aplicación a B Slices por requerimientos de JSVM  Métodos:  Temporal Direct   Frame Copy  (no lo usamos)  Motion and Residual Upsampling  Temporal Direct: Motion and Residual   no_inter_layer_pred_flag = 1 Upsampling:  slice_type = 1  no_inter_layer_pred_flag = 0  direct_spatial_mv_pred_flag = 0  slice_type = 1  mb_skip_run = num_mbs_in_slice_minus1  direct_spatial_mv_pred_flag = 1  mb_skip_flag = 1 28
  29. 29. Evaluación del Sistema  Escenario CIF: 352x288 píxels, 25 fps Distribución Escalable del Flujo: Capa Tipo Dimensiones FrameRate D  Q 0 QCIF 176x144 12.5 fps 0  0 1 CIF 352x288 25 fps 1  0 2 CIF 352x288 25 fps 1  1 Elección de los QP's Elección del GOP e Intra­Period Capa D  Q QP  GOP =  4 0 0  0 28  Intra­Period = 8 1 1  0 30 Secuencia: I B B B P B B B I B B B P B B B I... 29 2 1  1 23
  30. 30. Evaluación del Sistema  Demultiplexor: Canal NeuroCast Slice / Capa BitRate (kbps) % del BitStream 0 Capa base (AVC) 81.90 10% 1 I's y P's / (1  0) 200.20 23.1% 2 B's / (1  0) y (1  1) 176.03 20.9% 3 I's y P's / (1  1) 392.27 46% Podemos conciliar sólo el Canal 2 porque sólo contiene B's  Multiplexor: Flujo SVC PSNR min BitRate min PSNR max BitRate max canal0 32.31 dB 81.90 kbps 32.21 dB 81.90 kbps canal0+canal1+  36.77 dB 282.11 kbps 39.52 dB 319.60 kbps canal2 canal0+canal1+  38.42 dB 674.37 kbps 42.68 dB 850.40 kbps30 canal2+ canal3
  31. 31. Evaluación del Sistema  Evolución de la PSNR del Flujo 1 en función   Evolución de la PSNR del Flujo 2 en función  de la Prob. de Pérdida del Canal 2 de la Prob. de Pérdida del Canal 2 31
  32. 32. Resultados  Se ha determinado la mejor opción de distribución de capas escalables en la  codificación del H.264/SVC así como sus parámetros de codificación.  Se  ha  diseñado  e  implementado  los  elementos  Demultiplexor  y  Multiplexor  consiguiendo una adaptación del flujo H.264/SVC a los Canales NeuroCast.  Se  ha  implementado  dos  métodos  de  conciliación  de  errores  consiguiendo  una  respuesta  de  la  PSNR  muy  plana  en  función  de  la  probabilidad  de  pérdidas de un canal.  La diferencia máxima de PSNR es de 10dB's y equivale a una diferencia de  770 kbps utilizando sólo el Canal 0 de NeuroCast o todos.  El Canal 0 puede ser decodificado directamente como H.264/AVC facilitando  la  compatibilidad  con  este  tipo  de  decodificadores  muy  extendido  actualmente. 32
  33. 33. Líneas Futuras Mejoras en el Buffer de Lectura/Escritura para la implementación en  tiempo real. Diseñar  nuevos  métodos  de  Error  Concealment  que  permitan  una  mayor  indepencencia  en  los  canales  que  pueden  ser  Fiables  y  los  que no. Adaptar NeuroCast para que gestione una política de asignación de  anchos  de  banda  de  los  canales  y  diversos  métodos  de  protección  frente a errores para garantizar QoS en los canales Fiables. 33
  34. 34. Ruegos y Preguntas Gracias por su atención! Alguna pregunta? ? 34

×