ES2715107T3 - Codificación de imagen con bajo retardo - Google Patents

Codificación de imagen con bajo retardo Download PDF

Info

Publication number
ES2715107T3
ES2715107T3 ES16206334T ES16206334T ES2715107T3 ES 2715107 T3 ES2715107 T3 ES 2715107T3 ES 16206334 T ES16206334 T ES 16206334T ES 16206334 T ES16206334 T ES 16206334T ES 2715107 T3 ES2715107 T3 ES 2715107T3
Authority
ES
Spain
Prior art keywords
sector
coding
context
symbol probabilities
snapshot
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES16206334T
Other languages
English (en)
Inventor
Thomas Schierl
Valeri George
Anastasia Henkel
Detlev Marpe
Karsten Grüneberg
Robert Skupin
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
GE Video Compression LLC
Original Assignee
GE Video Compression LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=48141968&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=ES2715107(T3) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by GE Video Compression LLC filed Critical GE Video Compression LLC
Application granted granted Critical
Publication of ES2715107T3 publication Critical patent/ES2715107T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/188Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a video data packet, e.g. a network abstraction layer [NAL] unit
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N17/00Diagnosis, testing or measuring for television systems or their details
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/98Adaptive-dynamic-range coding [ADRC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Color Television Systems (AREA)
  • Communication Control (AREA)
  • Television Signal Processing For Recording (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

Decodificador para reconstruir una instantánea (10) a partir de un flujo de datos (12) en el cual se codifica la instantánea en unidades de sectores (14) en las cuales se divide la instantánea (10), en el que el decodificador está configurado para decodificar los sectores (14) del flujo de datos (12) según un orden de sector (16) y el decodificador responde a una porción de elemento de sintaxis (18) dentro de un sector actual de los sectores, para decodificar el sector actual según al menos uno de al menos dos modos (20, 22), y según uno primero (20) de los al menos dos modos, decodificar el sector actual del flujo de datos (12) utilizando decodificación de entropía adaptable al contexto (24) que incluye una derivación de contextos a través de límites de sector, una actualización continua de probabilidades de símbolo de los contextos y una inicialización (38, 40) de las probabilidades de símbolo dependiente de los estados guardados de las probabilidades de símbolo de un sector previamente decodificado, y decodificación predictiva a través de los límites de sector, y según uno segundo (22) de los al menos dos modos, decodificar el sector actual del flujo de datos (12) utilizando decodificación de entropía adaptable al contexto con restricción de la derivación de los contextos para no cruzar los límites de sector, una actualización continua de probabilidades de símbolo de los contextos y una inicialización de las probabilidades de símbolo independientemente de cualquier sector previamente decodificado, y decodificación predictiva con restricción de la decodificación predictiva para no cruzar los límites de sector, en el que la instantánea (10) se divide en bloques de codificación (32) dispuestos en filas y columnas y que tienen un orden de exploración de trama (36) definido entre sí y el decodificador está configurado para asociar cada sector (14) con un subconjunto continuo de los bloques de codificación (32) en el orden de exploración de trama (36) de tal manera que los subconjuntos siguen entre sí a lo largo del orden de exploración de trama (36) según el orden de sector, y en el que el decodificador está configurado para guardar probabilidades de símbolo tal como se obtienen en la decodificación de entropía adaptable al contexto del sector previamente decodificado a un segundo bloque de codificación (32) en una fila según el orden de exploración de trama (36) y en la inicialización de las probabilidades de símbolo para la decodificación de entropía adaptable al contexto del sector actual según el primer modo, verificar si un primer bloque de codificación del subconjunto continuo de bloques de codificación (32) asociados con el sector actual es un primer bloque de codificación (32) en una fila según el orden de exploración de trama y, si es así, inicializar (40) las probabilidades de símbolo para la decodificación de entropía adaptable al contexto del sector actual dependiendo de las probabilidades de símbolo guardadas, tal como se obtienen en la decodificación de entropía adaptable al contexto del sector previamente decodificado hasta un segundo bloque de codificación en una fila según el orden de exploración de trama (36), y si no, inicializar (38) las probabilidades de símbolo para la decodificación de entropía adaptable al contexto del sector actual dependiendo de las probabilidades de símbolo, tal como se obtienen en decodificación de entropía adaptable al contexto del sector previamente decodificado hasta el final del sector previamente decodificado. en el que el decodificador está configurado para procesar muestras de la instantánea en unidades de bloques de árbol de codificación divididas en bloques de codificación usando división de árbol cuádruple recursiva.

Description

DESCRIPCIÓN
Codificación de imagen con bajo retardo
La presente invención se refiere a la codificación de imágenes con bajo retardo.
En los sectores del diseño de HEVC actuales, los mosaicos de sectores de entropía (anteriormente sectores de peso ligero) y WPP (procesamiento en paralelo de frente de onda) están contenidos como herramientas para paralelización.
Para la paralelización de codificadores y decodificadores de video, la división a nivel de instantánea tiene varias ventajas en comparación con otros enfoques. En los códecs de video previos, como H.264/AVC [1], las divisiones de instantánea eran solamente posibles con sectores regulares con un alto coste en términos de eficacia de codificación. Para la decodificación de H.264/AVC en paralelo escalable es necesario combinar el paralelismo a nivel de macrobloque para la reconstrucción de instantánea y paralelismo a nivel de fotograma para decodificación de entropía. Este enfoque, sin embargo, proporciona reducción limitada en latencias de instantánea y alto uso de memoria. Con el fin de superar estas limitaciones, nuevas estrategias de división de instantánea han sido incluidas en el códec de HEVC. La versión actual del software de referencia (HM-6) contiene 4 enfoques diferentes: sectores regulares o normales, sectores de entropía, sub-flujos de procesamiento en paralelo de frente de onda (WPP) y mosaicos. Típicamente, estas divisiones de instantánea comprenden un conjunto de unidades de codificación más grandes (LCU), o en una terminología sinónima, unidades de codificación en árbol (CTU), como se define en HEVC o incluso un subconjunto de aquellas.
La figura 1 muestra una instantánea 898 colocada a modo de ejemplo en el sector regular 900 por fila 902 de LCU o macrobloques en una instantánea. Los sectores regulares o normales (como se define en H.264 [1]) tienen la penalización de codificación más grande ya que rompen las dependencias de codificación y predicción de entropía. Los sectores de entropía, como los sectores, rompen las dependencias de decodificación de entropía pero permiten la predicción (y filtración) para cruzar límites de sector. El concepto de sector de entropía se describe en el documento “New results for entropy slices for highly parallel coding”, 3. JCT-VC MEETING, 94. MPEG MEETING, Guangzhou, octubre de 2010 (EQUIPO DE COLABORACIÓN CONJUNTO SOBRE CODIFICACIÓN DE VIDEO DE ISO/IEC JTC1/SC29/WG11 E ITU-T SG.16), URL: 30 HTTP://WFTP3 .ITU.INT/ AVARCH/ J CTVC-SITE/, n. ° JCTVC-C256.
En WPP las divisiones de instantánea se intercalan por filas y se permite que tanto la decodificación como predicción de entropía usen datos de bloques en otras divisiones. De esta manera, las pérdidas de codificación se minimizan, mientras que al mismo tiempo el paralelismo de frente de onda puede aprovecharse. La intercalación, sin embargo, viola la causalidad de flujo de bits ya que una división anterior necesita una siguiente división para decodificar.
La figura 2 muestra a modo de ejemplo una instantánea 898 dividida en hasta dos filas 904, 904b de mosaicos de división horizontal 906. Los mosaicos definen límites horizontales 908 y verticales 910 que dividen una instantánea 898 en columnas 912a,b,c y filas 904a,b de mosaico. Similar a los sectores regulares 900, los mosaicos 906 rompen las dependencias de decodificación y predicción de entropía, pero no requieren un encabezamiento para cada mosaico.
Para cada una de estas técnicas, el número de divisiones puede elegirse libremente por el codificador. En general tener más divisiones conduce a pérdidas de compresión más altas. Sin embargo, en WPP la propagación de pérdida no es tan alta y por consiguiente el número de divisiones de instantánea incluso puede fijarse a una por fila. Esto conduce también a varias ventajas. En primer lugar, se garantiza la causalidad para el flujo de bits de WPP. En segundo lugar, las implementaciones de decodificador pueden suponer que está disponible una cierta cantidad de paralelismo, lo que también se incrementa con la resolución. Y, finalmente, ninguna de las dependencias de selección y predicción de contexto tienen que romperse en la decodificación en el orden de frente de onda, dando como resultado bajas pérdidas de codificación.
Sin embargo, hasta ahora toda la codificación en paralelo en los conceptos de transformada falla al proporcionar un logro de eficacia de alta compresión en combinación con mantener el bajo retardo. Esto también se mantiene para el concepto de WPP. Los sectores son las unidades más pequeñas para transporte, en la tubería de codificación y varios subflujos de WPP todavía tienen que transportarse en serie.
En el documento MAURICIO ÁLVAREZ-MESA et al. Parallel video decoding in the emerging HEVC standard, 2012 IEEE, INTERNATIONAL CONFERENCEC ON ACCOUSTICS, SPEECH AND SIGNAL PROCESSING (CONFERENCIA INTERNACIONAL SOBRE PROCESAMIENTO ACÚSTICO, DE VOZ Y DE SEÑAL) (ICASSP 2012): KIOTO, JAPÓN, 25 - 30, páginas 1545-1548, se presenta una estrategia de paralelización para la norma de codificación de video HEVC. La estrategia propuesta se basa en sectores de entropía que permiten aprovechar el paralelismo en la etapa de decodificación de entropía al tiempo que se mantiene una alta eficacia de codificación. El enfoque requiere codificar videos con un sector de entropía por fila de LCU con el fin de decodificar múltiples filas de LCU de manera paralela al frente de onda.
En el documento Coban M. et al., “AHG4: Unification of picture partitioning schemes”, 7 REUNIÓN JCT-VC, 98. MPEG MEETING, Ginebra, noviembre de 2011 (EQUIPO DE COLABORACIÓN CONJUNTO SOBRE CODIFICACIÓN DE VIDEO DE ISO/IEC JTC1/SC29/WG11 E ITU-T SG.16), URL: HTTP://WFTP3 .ITU.INT/AV-ARCH/J CTVC-SITE/, n.° JCTVC-G315, se propone un diseño para la unificación de sectores de entropía, mosaicos y procesamiento paralelo de frente de onda (WPP). En este diseño, una unidad de sector codificado NLA puede contener un sector de entropía codificada, mosaico codificado, u onda WPP codificada (una fila LCU dentro de un mosaico/instantánea), y una unidad NLA de sección codificada puede contener más de un mosaico codificado u onda WPP codificada. Una unidad NLA de sector codificado puede tener o bien un encabezado de sector completo o un encabezado de sector corto. En la predicción en instantáneas, incluyendo predicción por valor de píxel, la predicción de movimiento y la predicción de modo de codificación, pueden o bien permitirse o bien no permitirse para una unidad NAL de sector de codificador, controlada por un indicador en el encabezado de sector, independientemente de si tiene un encabezado de sector completo o corto.
Por consiguiente, es el objeto de la presente invención proporcionar un concepto de codificación de instantánea que permita la decodificación en paralelo según, por ejemplo, el procesamiento en paralelo de frente de onda con eficacia incrementada, tal como reduciendo aún más el retardo de extremo a extremo o mejorando la eficacia de codificación reduciendo la tara de codificación a gastarse.
Este objeto se consigue por la materia objeto de las reivindicaciones independientes.
Es un hallazgo básico de la presente invención que los conceptos de procesamiento en paralelo tales como procesamiento en paralelo de frente de onda, pueden realizarse con retardo de extremo a extremo reducido si el concepto de sector habitual según el cual los sectores se codifican/decodifican completamente independientemente de áreas de la instantánea fuera del sector respectivo, o al menos independientemente de áreas fuera del sector respectivo en cuanto a lo que se refiere a la codificación de entropía en favor de sectores de diferentes modos, en concreto los denominados sectores dependientes que permiten interdependencias a través de los límites de sector y otros que no, llamados sectores normales, por ejemplo.
Es un hallazgo básico adicional de la presente invención que el concepto de procesamiento de WPP puede realizarse más eficazmente si las porciones de sintaxis de inicio de sector se usan para ubicar puntos de entrada de WPP.
Se describe a continuación realizaciones preferidas de la presente invención con respecto a las figuras, en las que realizaciones ventajosas son el objeto de las reivindicaciones dependientes. Entre las figuras,
La figura 1 muestra una instantánea dividida a modo de ejemplo en un sector regular por fila de LCU o macrobloques en una instantánea;
La figura 2 muestra una instantánea dividida a modo de ejemplo en hasta dos filas de mosaicos divididos horizontalmente;
La figura 3 muestra a modo de ejemplo una asignación de divisiones codificas en paralelo a un sector o segmento de transporte de red;
La figura 4 muestra un diagrama esquemático que ilustra una fragmentación genérica de un fotograma con un enfoque de codificación de mosaico para un retardo de extremo a extremo mínimo; La figura 5 muestra un diagrama esquemático que ilustra una fragmentación a modo de ejemplo de un fotograma con enfoque de codificación de WPP para un retardo de extremo a extremo mínimo;
La figura 6 muestra un diagrama de bloques esquemático que ilustra un escenario de una conversación utilizando servicios de video;
La figura 7 ilustra esquemáticamente una posible planificación de tiempo de codificación, transmisión y decodificación para mosaicos con subconjuntos genéricos con retardo de extremo a extremo mínimo;
La figura 8 muestra esquemáticamente una planificación de temporización que obtiene típicamente un retardo de extremo a extremo;
La figura 9 ilustra una instantánea que tiene a modo de ejemplo bloques de árbol de codificación 11x9, que está dividida en dos sectores;
La figura 10 ilustra una instantánea que tiene a modo de ejemplo bloques de árbol de codificación 13x8, que está dividida en tres mosaicos;
La figura 11 muestra un ejemplo para una sintaxis de conjunto de parámetros de secuencia;
La figura 12 muestra un ejemplo para una sintaxis de conjunto de parámetro de instantánea;
La figura 13 muestra un ejemplo para una sintaxis de encabezamiento de sector;
La figura 14 ejemplifica una división de una instantánea para procesamiento de WPP en un sector regular y para un procesamiento de bajo retardo, en sectores dependientes;
La figura 15 muestra un ejemplo para una porción dentro de una sintaxis de conjunto de parámetro de instantánea;
La figura 16 muestra una posible sintaxis de encabezamiento de sector;
La figura 17 ilustra esquemáticamente interdependencias de codificación para sectores normales (y sectores dependientes);
La figura 18 muestra un diagrama esquemático que compara una codificación para el transporte de bajo retardo de mosaicos (procesamiento en paralelo de frente de onda utilizando sectores dependientes);
La figura 19 ilustra una planificación de temporización que ilustra una codificación de WPP a modo de ejemplo con transmisión de bajo retardo de tubería cuando se usa el procesamiento en paralelo de frente de onda utilizando sectores dependientes como se muestra en el lado derecho de la figura 18;
La figura 20 muestra un diagrama esquemático que ilustra una mejora de robustez al usar sectores regulares como anclas;
La figura 21 muestra otra realización para una sintaxis de encabezamiento de sector;
La figura 22 muestra otra realización para una sintaxis de conjunto de parámetro de instantánea;
La figura 23 muestra un diagrama esquemático que ilustra un proceso de inicialización de probabilidad de símbolo para un sector dependiente en el caso de comenzar en el límite de instantánea izquierda;
La figura 24 muestra un diagrama esquemático de un decodificador;
La figura 25 muestra esquemáticamente un diagrama de bloques de un decodificador junto con ilustrar esquemáticamente la división de una instantánea en bloques de codificación y sectores; La figura 26 muestra esquemáticamente un diagrama de bloques de un codificador;
La figura 27 muestra esquemáticamente una instantánea dividida en sectores normales y dependientes, llamados en este punto segmentos de sector;
Las figuras 28a y 28b muestran esquemáticamente una instantánea dividida en sectores normales y dependientes llamados en este punto segmentos de sector, por una parte y mosaicos por otra parte; La figura 29 muestra un diagrama de flujo que ilustra un proceso de inicialización de contexto utilizando sectores dependientes;
La figura 30 muestra un diagrama de flujo que ilustra un proceso de almacenamiento de contexto para usar sectores dependientes; y
La figura 31 muestra esquemáticamente diferentes posibilidades de señalización de puntos de entrada de WPP.
A continuación, la descripción comienza con una descripción de los conceptos de hoy en día para permitir el procesamiento de instantánea en paralelo y codificación de bajo retardo, respectivamente. Se resumen los problemas que tienen lugar cuando se desea tener ambas capacidades. En particular, como se apreciará del siguiente análisis, el concepto de subflujo de WPP como se enseña hasta ahora entra de una manera en conflicto con el deseo de tener un bajo retardo debido a la necesidad de transportar subflujos de WPP agrupando los mismos en un sector. Las siguientes realizaciones presentan conceptos de procesamiento en paralelo tales como el concepto de WPP, aplicable a aplicaciones que necesitan aún menos retardo al ampliar el concepto de sector, es decir al introducir otro tipo de sector, más tarde llamados sectores dependientes.
La minimización del retardo de video de extremo a extremo de capturar para visualizar es uno de los objetivos principales en aplicaciones tales como conferencia de video y similares.
La cadena de procesamiento de señal para la transmisión de video digital consiste en cámara, dispositivo de captura, codificador, encapsulación, transmisión, demultiplexor, decodificador, presentador y visualización. Cada una de estas etapas contribuye al retardo de extremo a extremo almacenando en memoria intermedia datos de imagen antes de su transmisión en serie a la etapa siguiente.
Algunas aplicaciones requieren la minimización de tal retardo, por ejemplo, manipulando remotamente objetos en áreas peligrosas, sin vista directa al objeto manipulado o cirugía invasiva mínima.
Incluso un retardo corto puede dar como resultado dificultades graves de manipulación apropiada o incluso conducir a errores catastróficos.
En muchos casos, todo un fotograma de video se almacena en memoria intermedia en una etapa de procesamiento, por ejemplo, para permitir el procesamiento intra fotograma. Algunas etapas reúnen datos con el fin de formar paquetes que se reenvían a la siguiente etapa. En general, hay un límite inferior para el retardo que resulta de los requisitos del procesamiento local. Esto se analiza para cada etapa individual en más detalle a continuación.
El procesamiento dentro de la cámara no requiere necesariamente procesamiento de señal intra-fotograma, de tal manera que se proporciona retardo mínimo por el tiempo de integración del sensor, que está limitado por la velocidad de fotograma y algunas elecciones de diseño por el fabricante de software. La salida de la cámara está relacionada típicamente con el orden de exploración que normalmente inicia el procesamiento en la esquina superior izquierda, se mueve a la esquina superior derecha y continúa línea a línea a la esquina inferior derecha. En consecuencia, toma alrededor de un fotograma de duración hasta que todos los datos se transfieren del sensor a la salida de la cámara.
El dispositivo de captura podría enviar los datos de la cámara inmediatamente después de la recepción; sin embargo, típicamente almacenará en memoria intermedia algunos datos y generará ráfagas con el fin de optimizar el acceso de datos a la memoria o almacenamiento. Además, la conexión entre la cámara/capturador y la memoria del ordenador es típicamente limitante de la tasa de bits para reenviar los datos de instantánea capturados a la memoria para procesamiento adicional (codificación). Típicamente, las cámaras se conectan mediante USB 2.0 o pronto con USB 3.0, que siempre incluirá un transporte parcial de los datos de instantánea al codificador. Esto limita la capacidad de paralelización en el lado del codificador en escenarios de bajo retardo extremos, es decir, el codificador intentará iniciar la codificación tan pronto como sea posible, cuando los datos se hacen disponibles de la cámara, por ejemplo, en un orden de exploración de tramas de arriba a abajo de la imagen.
En el codificador, hay algunos grados de libertad que permiten una solución intermedia de eficacia de codificación, en términos de velocidad de datos necesarios para una cierta fidelidad de video, para reducción del retardo de procesamiento.
El codificador usa datos que ya se han enviado para predecir la imagen a codificarse posteriormente. En general, la diferencia entre la imagen real y la predicción puede codificarse con menos bits que los que serían necesarios sin la predicción. Estos valores de predicción necesitan estar disponible en el decodificador, por lo tanto, la predicción está basada en porciones previamente decodificadas de la misma imagen (predicción de intra-fotograma) o en otras imágenes (predicción inter-fotograma) que se han procesado anteriormente. Los estándares de codificación de video de antes de HEVC usan solamente la parte de la imagen por encima de o en la misma línea, pero dejan, que se han codificado previamente, para predicción de intra-fotograma, la predicción de vector de movimiento y codificación de entropía (CABAC).
Además de la optimización de la estructura de predicción, puede considerarse la influencia del procesamiento en paralelo. El procesamiento en paralelo requiere la identificación de áreas de instantánea que pueden procesarse independientemente. Por razones prácticas, se escogen las regiones contiguas tales como rectángulos horizontales o verticales, que se llaman frecuentemente “mosaicos”. En el caso de restricciones de bajo retardo, estas regiones deben permitir la codificación paralelizada de los datos que entran del capturador a la memoria, tan pronto como sea posible. Suponiendo una transferencia de memoria de exploración de trama, las divisiones verticales de los datos sin procesar tienen sentido, con el fin de iniciar la codificación inmediatamente. Dentro de tales mosaicos, lo que divide la instantánea en divisiones verticales (consúltese con la figura a continuación), la intra-predicción, predicción de vector en movimiento y codificación de entropía (CABAC) pueden conducir a eficacia de codificación razonable. Con el fin de minimizar el retardo, solamente parte de la instantánea, partiendo de la parte superior, se transferiría a la memoria de fotograma del codificador y el procesamiento en paralelo debería iniciarse en los mosaicos verticales. Otra manera de permitir el procesamiento en paralelo es usar WPP dentro de un sector regular, que se compararía con mosaicos, una “fila” de mosaicos incluidos en un solo sector. Los datos dentro de este sector, podrían codificarse también en paralelo utilizando subflujos de WPP, dentro del sector. La separación de instantánea en sectores 900 y mosaicos/subflujos de WPP 914 se muestra en la figura 3/1 de los ejemplos.
La figura 3, muestra por lo tanto la asignación de divisiones codificas en paralelo tales como 906 o 914 a un sector o segmento de transporte de red (un solo paquete de red o múltiples paquetes de red 900).
La encapsulación de los datos codificados a unidades de capas de abstracción de red (NAL), como se define en H.264 o HEVC, antes de la transmisión o durante el proceso de codificación, agrega algo de encabezamiento a los bloques de datos, lo que permite la identificación de cada bloque y el reordenamiento de bloques, si es aplicable. En el caso estándar, no se requiere ninguna señalización adicional, puesto que el orden de los elementos de codificación se proporciona siempre en orden de decodificación, esto es una asignación implícita de la posición del mosaico o fragmento de codificación general.
Si el procesamiento en paralelo se considera con una capa de adicional para el transporte en paralelo de bajo retardo, esto es, la capa de transporte puede reordenar divisiones de instantánea para los mosaicos con el fin de permitir la transmisión de bajo retardo, lo que significa enviar fragmentos como se muestra en la figura 4 a medida que se codifican. Aquellos fragmentos pueden ser también sectores no completamente codificados, pueden ser un subconjunto de un sector o pueden estar contenidos en un sector dependiente.
En el caso de crear fragmentos adicionales, hay una solución intermedia entre eficacia, que sería la más alta con bloques de datos grandes debido a que la información de encabezamiento está agregando un número constante de bytes y retardo, debido a que los bloques de datos grandes de los codificadores en paralelo necesitarían almacenarse en memoria intermedia antes de la transmisión. El retardo global puede reducirse, si la representación codificada de los mosaicos verticales 906 se separa en un número de fragmentos 916 que se transmiten tan pronto como un fragmento se codifica completamente. El tamaño de cada fragmento puede determinarse en términos de una región de imagen fija, tal como macrobloques, LCU o en términos de datos máximos como se muestra en la figura 4.
Por lo tanto, la figura 4 muestra una fragmentación genérica de un fotograma con enfoque de codificación mosaico para un retardo de extremo a extremo mínimo.
De manera similar, la figura 5 muestra una fragmentación de un fotograma con enfoque de codificación de WPP para un retardo de extremo a extremo mínimo.
La transmisión puede agregar retardo adicional, por ejemplo, si se aplica el procesamiento orientado a bloques adicional, tales como códigos de corrección de error hacia delante que incrementan la robustez de la transmisión. Además, la infraestructura de red (encaminadores, etc.) o el enlace físico puede agregar retardo, esto se conoce típicamente como latencia para una conexión. Además de latencia, la tasa de bits de transmisión determina el tiempo (retardo) para transferir los datos de la parte a a la parte b, en una conversación como se muestra en la figura 6 que usa servicios de video.
Si los bloques de datos codificados se transmiten en orden incorrecto, el retardo de reordenamiento tiene que considerarse. La decodificación puede iniciar tan pronto como una unidad datos ha llegado, suponiendo que estén disponibles otras unidades de datos que han de decodificarse antes de esta.
En el caso de mosaicos, no hay dependencias entre mosaicos, por lo tanto un mosaico puede decodificarse inmediatamente. Si los fragmentos se han producido de un mosaico, tales como sectores separados por cada fragmento como se muestra en la figura 4, los fragmentos pueden transportarse directamente, tan pronto como se codifiquen respectivamente en sus LCU contenidas o se hayan codificado las CU.
El dispositivo de presentación ensambla las salidas de motores de decodificación en paralelo y reenvía la instantánea combinada línea a línea a la pantalla.
La pantalla no necesariamente agrega ningún retardo, sino que en la práctica puede hacer algo de procesamiento de intra-fotograma antes de que los datos de instantánea se muestren realmente. Esto depende de las elecciones de diseño por el fabricante de hardware.
Resumiendo, se puede influir en las etapas de codificación, encapsulación, transmisión y decodificación con el fin de obtener un retardo de extremo a extremo mínimo. Si se usa el procesamiento en paralelo, los mosaicos y fragmentación dentro de los mosaicos, el retardo total puede reducirse significativamente como se muestra en la figura 7, en comparación con una cadena de procesamiento usada típicamente que agrega retardo de aproximadamente un fotograma en cada una de estas etapas como se muestra en la figura 8.
En particular, mientras que la figura 7 muestra codificación, transmisión y decodificación para mosaicos con subconjuntos genéricos con retardo de extremo a extremo mínimo, la figura 8 ilustra un retardo de extremo a extremo obtenido comúnmente.
HEVC permite el uso de división de sector, división de mosaico y de la siguiente manera.
mosaico: un número entero de bloques de árbol que tienen lugar concurrentemente en una columna y una fila, ordenados consecutivamente en la exploración de trama de bloque de árboles del mosaico. La división de cada instantánea en mosaicos es una partición. Los mosaicos en una instantánea se ordenan consecutivamente en la exploración de trama de mosaico de la instantánea. Aunque un sector contiene bloques de árbol que son consecutivos en la exploración de trama de bloques de árbol de un mosaico, estos bloques de árbol no son necesariamente consecutivos en exploración de trama de bloque de árbol de la instantánea.
sector: un número entero de bloques de árbol ordenados consecutivamente en la exploración de trama. La división de cada instantánea en sectores es una partición. Las direcciones de bloque de árbol se derivan de la primera dirección de bloque de árbol en un sector (como se representa en el encabezamiento de sector).
exploración de trama: un mapeo de un patrón bidimensional rectangular a un patrón unidimensional, de tal manera que las primeras entradas en el patrón unidimensional son de la primera fila superior del patrón bidimensional explorado de izquierda a derecha, seguido de manera similar por la segunda, tercera, etc., filas del patrón (yendo hacia abajo) cada una explorada de izquierda a derecha.
bloque de árbol: un bloque de NxN de muestras de luminancia y dos bloques correspondientes de muestras de crominancia de una instantánea que tiene tres matrices de muestra o un bloque de NxN de muestras de una instantánea monocromática o una instantánea que se codifica utilizando tres planos de color separados. La división de un sector en bloques de árbol es una partición.
partición: la división de un conjunto en subconjuntos, de tal manera que cada elemento del conjunto está en exactamente uno de los subconjuntos.
árbol cuádruple: un árbol en el cual un nodo padre puede dividirse en cuatro nodos hijos. Un nodo hijo se puede convertir en nodo padre para otra división en cuatro nodos hijo.
A continuación, se explica la subdivisión espacial de instantáneas, sectores y mosaicos. En particular, la siguiente descripción especifica cómo una instantánea se divide en sectores, mosaicos y bloques de árbol de codificación. Las instantáneas se dividen en sectores y mosaicos. Un sector es una secuencia de bloques de árbol de codificación. Asimismo, un mosaico es una secuencia de bloques de árbol de codificación.
Las muestras se procesan en unidades de bloques de árbol de codificación. El tamaño de matriz de luminancia para cada bloque de árbol en muestras tanto en anchura como en altura es CtbSize. La anchura y la altura de las matrices de crominancia para cada bloque de árbol de codificación son CtbWidthC y CtbHeightC, respectivamente. Por ejemplo, una instantánea puede dividirse en dos sectores como se muestra en la siguiente figura. Como otro ejemplo, una instantánea puede dividirse en tres mosaicos como se muestra en la segunda figura siguiente.
A diferencia de los sectores, los mosaicos son siempre rectangulares y siempre contiene un número entero de bloques de árbol de codificación en la exploración de trama de bloque de árbol de codificación. Un mosaico puede consistir en bloques de árbol de codificación contenidos en más de un sector. De manera similar, un sector puede comprender bloques de árbol de codificación contenidos en más de un mosaico.
La figura 9 ilustra una instantánea 898 con bloques de árbol de codificación 918 de 11 por 9 que se divide en dos sectores 900a,b.
La figura 10 ilustra una instantánea con bloques de árbol de codificación 918 de 13 por 8 que se divide en tres mosaicos.
Cada bloque de árbol 918 de codificación 898 se asigna a una señalización de partición para identificar los tamaños de bloque para intra- o inter- predicción y para codificación de transformada. La partición es una partición de árbol cuádruple recursiva. La raíz del árbol cuádruple está asociada con el bloque de árbol de codificación. El árbol cuádruple se divide hasta que se alcanza una hoja, que se hace referencia como el bloque de codificación. El bloque de codificación es el nodo de raíz de dos árboles, el árbol de predicción y el árbol de transformada.
El árbol de predicción especifica la posición y tamaño de los bloques de predicción. Los bloques de predicción y datos de predicción asociados se denominan unidad de predicción.
La figura 11 muestra una sintaxis de RBSP de conjunto de parámetro de secuencia a modo de ejemplo.
El árbol de transformada especifica la posición y tamaño de bloques de transformada. Los bloques de transformada y datos de transformada asociados se denominan unidad de transformada.
La información de división para luminancia y crominancia es idéntica para el árbol de predicción y puede ser idéntica o no para el árbol de transformada.
El bloque de codificación, los datos de codificación asociados y las unidades de predicción y de transformada asociadas forman conjuntamente una unidad de codificación.
Un proceso para una conversión de una dirección de bloque de árbol de codificación en orden de trama de bloque de árbol de codificación a orden de exploración de mosaico podría ser como sigue:
Los resultados de este proceso son
- una matriz CtbAddrTS[ctbAddrRS], con ctbAddrRS en el intervalo de 0 a PicHeightInCtbs * PicWidthInCtbs - 1, inclusive.
- una matriz TileId[ctbAddrTS], con ctbAddrTS en el intervalo de 0 a PicHeightInCtbs * PicWidthInCtbs - 1, inclusive.
La matriz CtbAddrTS[ ] se deriva como sigue:
for(ctbAddrRS = 0; CtbAddrRS < PicHeightInCtbs * PicWidthInCtbs; ctbAddrRS++) {
tbX = ctbAddrRS %PicWidthInCtbs
tbY = CtbAddrRS / PicWidthInCtbs
for(j = 0; j <= num_tile_columns_minus 1; j++)
if(tbX < ColBd[j 1])
tileX = j
for(i = 0; i <= num_tile_rows_minus1; i++)
if(tbY < RowBd[i 1])
tileY = i
CtbAddrTS[ctbAddrRS] = ctbAddrRS - tbX
for(i = 0; 1 < tileX; i++)
ctbAddrTS = RowHeight[tileY] * ColumnWidth[i]
CtbAddrTS[ctbAddrRS] = (tbY - RowBd[tileY]) * ColumnWidth[tileY] tbX -ColBd[tileX]
}
La matriz TileId[ ] se deriva como sigue:
for(j = 0, tileId = 0; j <= num_tile_columns_minus1; j++)
for(i = 0; i <= num_tile_rows_minus 1; i++, tileId++)
for(y = RowBd[j]; y < RowBd[j 1]; y++)
for(x = ColBd[i]; x < ColBd[i 1]; x++)
TileId[CtbAddrTS[y*PicWidthInCtbs x]] = tileId
Una sintaxis a modo de ejemplo correspondiente se muestra en las figuras 11, 12 y 13, en la que la figura 12 tiene una sintaxis de RBSP de conjunto de parámetro de instantánea a modo de ejemplo. La figura 13 muestra una sintaxis de encabezamiento de sector a modo de ejemplo.
En el ejemplo de sintaxis, se puede aplicar la siguiente semántica:
entropy_slice_flag igual a 1 especifica que el valor de los elementos de sintaxis de encabezamiento de sector no presente se infiere para que sea igual al valor de elementos de sintaxis de encabezamiento de sector en un sector precedente, donde un sector precedente se define como el sector que contiene el bloque de árbol de codificación con ubicación (SliceCtbAddrRS - 1). entropy_slice_flag debe ser igual a 0 cuando SliceCtbAddrRS es igual a 0.
tiles_or_entropy_coding_sync_idc igual a 0 especifica que hay solamente un mosaico en cada instantánea en la secuencia de video codificada y ningún proceso de sincronización específico para variables de contexto se invoca antes de la decodificación del primer bloque de árbol de codificación de una fila de bloques de árbol de codificación.
tiles_or_entropy_coding_sync_idc igual a 1 especifica que puede haber más de un mosaico en cada instantánea en la secuencia de video codificada y ningún proceso de sincronización específico para variables de contexto se invoca antes de la decodificación del primer bloque de árbol de codificación de una fila de bloques de árbol de codificación.
tiles_or_entropy_coding_sync_idc igual a 2 especifica que hay solamente un mosaico en cada instantánea en la secuencia de video codificada, un proceso de sincronización específico para variables de contexto se invoca antes de la decodificación del primer bloque de árbol de codificación de una fila de bloques de árbol de codificación y un proceso de memorización específico para variables de contexto se invoca después de la decodificación de dos bloques de árbol de codificación de una fila de bloques de árbol de codificación.
El valor de tiles_or_entropy_coding_sync_idc estará en el intervalo de 0 a 2, inclusive. num_tile_columns_minus1 más 1 especifica el número de columnas de mosaico que dividen la instantánea. num_tile_rows_minus1 más 1 especifica el número de filas de mosaico que dividen la instantánea. Cuando num_tile_columns_minus1 es igual a 0, num_tile_rows_minus1 no será igual a 0.
Una o ambas de las siguientes condiciones serán satisfechas para cada sector y mosaico:
- Todos los bloques codificados en un sector pertenecen al mismo mosaico.
- Todos los bloques codificados en un mosaico pertenecen al mismo sector.
NOTA - Dentro de la misma instantánea, puede haber tanto sectores que contienen múltiples mosaicos como mosaicos que contienen múltiples sectores.
uniform_spacing_flag igual a 1 especifica que los límites de columna y asimismo límites de fila están distribuidos uniformemente a través de la instantánea. uniform_spacing_flag igual a 0 especifica que los límites de columna y asimismo los límites de fila no están distribuidos uniformemente a través de la instantánea sino señalizados explícitamente utilizando los elementos de sintaxis column_width[i] y row_height[i].
column_width[i] especifica la anchura de la i-ésima columna de mosaicos en unidades de bloques de árbol de codificación.
row_height[i] especifica la altura de la i-ésima fila de mosaicos en unidades de bloques de árbol de codificación. Los valores de [ColumnWidth[i], que especifican la anchura de la i-ésima columna de mosaicos en unidades de bloques de árbol de codificación y los valores de [ColumnWidthInLumaSamples[i], que especifican la anchura de la i-ésima columna de mosaicos en unidades de muestras de luminancia, se derivan como sigue:
for(i = 0; i <= num_tile_columns_minus1; i++) {
if(uniform_spacing_flag)
ColumnWidth[i] = ((i 1) * PicWtdthlnCtbs) / (num_tile_columns_minus1 1) -(i * PicWidthlnCtbs) (num_tile_columns_minus1 1)
else
ColumnWidth[i] = column_width[i]
ColumnWidthInLumaSamples[i] = ColumnWidth[i] << Log2CtbSize
}
Los valores de RowHeight[i], que especifican la altura de la i-ésima fila de mosaicos en unidades de bloques de árbol de codificación, se derivan como sigue:
for(i = 0; i <= num_tile_rows_minus1: i++)
if(uniform_spacing_flag)
RowHeight[i] = ((i 1) * PicHeightInCtbs) / (num_tile_rows_minus1 1) -(i * PicHeightInCtbs) / (num_tile_rows_minus1 1)
else
RowHeight[i] = row_height[i]
Los valores de ColBd[i], que especifican la ubicación del límite de columna izquierda de la i-ésima columna de mosaicos en unidades de bloques de árbol de codificación, se derivan como sigue:
for(ColBd[0] = 0, i = 0; i <= num_tile_columns_minus1; i++)
ColBd[i 1] = ColBd[i] ColumnWidth[i]
Los valores de RowBd[i], que especifican la ubicación del límite de fila superior de la i-ésima fila de mosaicos en unidades de bloques de árbol de codificación, se derivan como sigue:
for(RowBd[0] = 0, i = 0; i <= num_tile_rows_minus1; i++)
RowBd[i 1] = RowBd[i] RowHeight[i]
num_substreams_minus1 más 1 especifica el número máximo de subconjuntos incluidos en un sector cuando tiles_or_entropy_coding_sync_idc es igual a 2. Cuando no está presente, se infiere que el valor de num_substreams_minus1 es igual a 0.
num_entry_point_offsets especifica el número de elementos de sintaxis de entry_point_offset[i] en el encabezamiento de sector. Cuando tiles_or_entropy_coding_sync_idc es igual a 1, el valor de num_entry_point_offsets estará en el intervalo de 0 a (num_tile_columns_minus1 1) * (num_tile_rows_minus1 1) - 1, inclusive. Cuando tiles_or_entropy_coding_sync_idc es igual a 2, el valor de num_entry_point_offsets estará en el intervalo de 0 a num_substreams_minus1, inclusive. Cuando no está presente, se infiere que el valor de num_entry_point_offsets es igual a 0.
offset_len_minus1 más 1 especifica la longitud, en bits, de los elementos de sintaxis de entry_point_offset[i]. entry_point_offset[i] especifica el desplazamiento del punto de entrada i-ésima, en bytes y se representará por offset_len_minus1 más 1 bit. La unidad de NAL de sector codificada consiste en num_entry_point_offsets 1 subconjuntos, con valores de índice de subconjunto que varían de 0 a num_entry_point_offsets, inclusive. El subconjunto 0 consiste en los bytes 0 a entry_point_offset[0] - 1, inclusive, de la unidad de NAL de sector codificada, subconjunto k, con k en el intervalo de 1 a num_entry_point_offsets - 1, inclusive, consiste en los bytes entry_point_offset[k - 1] a entry_point_offset[k] entry_point_offset[k - 1] - 1, inclusive, de la unidad de NAL de sector codificada y el último subconjunto (con el índice de subconjunto igual a num_entry_point_offsets) consiste en los bytes restantes de la unidad de NAL de sector codificada.
NOTA - El encabezamiento de la unidad NAL y el encabezamiento de sector de una unidad de NAL de sector codificada están siempre incluidos en el subconjunto 0.
Cuando tiles_or_entropy_coding_sync_idc es igual a 1 y num_entry_point_offsets es mayor de 0, cada subconjunto contendrá todos los bits codificados de uno o múltiples mosaicos completos y el número de subconjuntos será igual o menor que el número de mosaicos en el sector.
Cuando tiles_or_entropy_coding_sync_idc es igual a 2 y num_entry_point_offsets es mayor de 0, el subconjunto k para cada uno de todos los valores de k posibles contendrá todos los bits a usarse durante el proceso de inicialización para el puntero de flujo de bits actual k.
Con respecto a la semántica de datos de sector, lo siguiente se puede aplicar.
end_of_slice_flag igual a 0 especifica que otro macrobloque sigue en el sector. end_of_slice_flag igual a 1 especifica el fin del sector y que no sigue ningún macrobloque adicional.
entry_point_marker_two_3bytes es una secuencia de valor de fijo de 3 bytes igual a 0x000002. Este elemento de sintaxis se denomina prefijo de marcador de entrada.
tile_idx_minus_1 especifica el TileID en orden de exploración de trama. El primer mosaico en la instantánea tendrá un TileID de 0. El valor de tile_idx_minus_1 estará en el intervalo de 0 a (num_tile_columns_minus1 1) * (num_tile_rows_minus 1 1) - 1.
Un proceso de análisis sintáctico de CABAC para los datos de sector podría ser como sigue:
Este proceso se invoca cuando se analizan sintácticamente elementos de sintaxis con el descriptor ae(v).
Las entradas a este proceso son una petición para un valor de un elemento de sintaxis y valores de elementos de sintaxis analizados sintácticamente de manera previa.
La salida de este proceso es el valor del elemento de sintaxis.
Cuando se inicia el análisis sintáctico de los datos de sector de un sector, se invoca el proceso de inicialización de un proceso de análisis sintáctico de CABAC. Cuando tiles_or_entropy_coding_sync_idc es igual a 2 y num_substreams_minus1 es mayor que 0, una tabla de mapeo BitStreamTable con num_substreams_minus1 1 entradas especifica una tabla de puntero de flujo de bits para uso para derivación de puntero de flujo de bits actual posterior se deriva como sigue.
- BitStreamTable[0] es inicializada para contener el puntero de flujo de bits.
- Para todos los índices i mayores de 0 y menores que num_substreams_minus1 1, BitStreamTable[i] contiene un puntero de flujo de bits a entry_point_offset[i] bytes después de BitStreamTable[i - 1].
El puntero de flujo de bits actual se establece a BitStreamTable[0].
La dirección del bloque de codificación mínimo del bloque de árbol de codificación que contiene el bloque vecino espacial T, ctbMinCbAddrT, se deriva utilizando una ubicación (x0, y0) de la muestra de luminancia superior izquierda del bloque de árbol de codificación actual, de tal manera que, por ejemplo, como sigue.
x = x0 2 << Log2CtbSize - 1
y = y0 - 1
ctbMinCbAddrT = MinCbAddrZS[x >> Log2MinCbSize ][ y >> Log2MinCbSize] La variable availableFlagT se obtiene al invocar un proceso de derivación de disponibilidad de bloque de codificación apropiado con ctbMinCbAddrT como entrada.
Cuando se inicia el análisis sintáctico de un árbol de codificación y tiles_or_entropy_coding_sync_idc es igual a 2 y num_substreams_minus 1 es mayor de 0, se aplica lo siguiente.
- Si CtbAddrRS % PicWidthInCtbs es igual a 0, se aplica lo siguiente.
- Cuando availableFlagT es igual a 1, el proceso de sincronización del proceso de análisis sintáctico de CABAC se invoca como se especifica en el artículo subordinado “proceso de sincronización para variables de contexto”.
- Se invoca un proceso de decodificación para decisiones binarias antes de la terminación, seguido por un proceso de inicialización para el motor de decodificación aritmética.
- El puntero de flujo de bits actual se ajusta para indicar la BitStreamTable[i] con el índice i derivado como sigue.
i = (CtbAddrRS / PicWidthInCtbs) % (num_substreams_minus1 1) - De otra manera, si CtbAddrRS % PicWidthInCtbs es igual a 2, el proceso de memorización del proceso de análisis sintáctico de CABAC se invoca como se especifica en el artículo subordinado “proceso de memorización para variables de contexto”.
Un proceso de inicialización podría ser como sigue:
Las salidas de proceso son variables internas de CABAC inicializadas.
Se invocan procesos especiales del mismo cuando se inicia el análisis sintáctico de los datos de sector de un sector o cuando se inicia el análisis sintáctico de los datos de un árbol de codificación y el árbol de codificación es el primer árbol de codificación en un mosaico.
El proceso de memorización para variables de contexto podría ser como sigue:
Las entradas de este proceso son las variables de contexto de CABAC indexadas por ctxIdx.
La salida de este proceso son las variables TableStateSync y TableMPSSync que contienen los valores de las variables n y m usadas en el proceso de inicialización de variables de contexto que se asignan a elementos de sintaxis excepto para la bandera de fin de sector. Para cada variable de contexto, las entradas correspondientes n y m de las tablas TableStateSync y TableMPSSync se inicializan a los pStateIdx y valMPS correspondientes.
El proceso de sincronización para variables de contexto podría ser como sigue:
Las entradas de este proceso son las variables TableStateSync y TableMPSSync que contienen los valores de las variables n y m usadas en el proceso de memorización de variables de contexto que se asignan a elementos de sintaxis excepto para la bandera de fin de sector.
Las salidas de este proceso son las variables de contexto de CABAC indexadas por ctxIdx.
Para cada variable de contexto, las variables de contexto correspondientes pStateIdx y valMPS se inicializan a las entradas correspondientes n y m de las tablas TableStateSync y TableMPSSync.
A continuación, se explica una codificación y transporte de bajo retardo utilizando WPP. En particular, el análisis a continuación revela en cuanto a cómo el transporte de bajo retardo como se describe en la figura 7 puede también aplicarse a WPP.
Antes de nada, es importante que un subconjunto de la instantánea pueda enviarse, antes de la finalización de toda la instantánea. Normalmente, esto es obtenible utilizando sectores, como ya se muestra en la figura 5.
Con el fin de reducir el retardo en comparación con mosaicos, como se muestra en las siguientes figuras, se necesita aplicar un solo subflujo de WPP por fila de LCU y permitir además la transmisión separada de cada una de estas filas. Con el fin de mantener la eficacia de codificación alta, los sectores por cada fila/subflujo no pueden usarse. Por consiguiente, a continuación, se presenta un denominado sector dependiente como se define en la sección siguiente. Este sector, por ejemplo, no tiene todos los campos del encabezamiento de sector de HEVC completo, sino los campos usados para sectores de entropía. Además, puede haber un conmutador para desconectar la interrupción de CABAC entre filas. En el caso de WPP, el uso del contexto de CABAC (flechas en la figura 14) y predicción de filas se permitirá para mantener la ganancia de eficacia de codificación de WPP sobre los mosaicos.
En particular, la figura 14 ejemplifica una instantánea 10 para WPP en un sector 900 regular (reg. SL), y, para procesamiento de bajo retardo, en sectores dependientes (OS) 920.
Actualmente el estándar de HEVC próximo ofrece dos tipos de partición en términos de sector. Hay sectores regulares (normales) y sectores de entropía. El sector regular es completamente independiente de la partición de instantánea excepto que algunas dependencias pueden estar disponibles debido al desbloqueo de proceso de filtro en límites de sector. El sector de entropía es también independiente pero solamente en términos de codificación de entropía. La idea de la figura 14 es generalizar el concepto de sectorización. Por lo tanto, el estándar de HEVC próximo debe ofrecer dos tipos generales de sectores: independientes (regulares) o dependientes. Por consiguiente, se presenta un nuevo tipo de sector, un sector dependiente.
El sector dependiente es un sector que tiene dependencias al sector previo. Las dependencias son un dato particular que puede utilizarse entre sector en el proceso de decodificación de entropía y/o proceso de reconstrucción de pixel. En la figura 14, se presenta a modo de ejemplo un concepto de sectores dependientes. La instantánea se inicia, por ejemplo, siempre con un sector regular. Obsérvese que en este concepto, el comportamiento de sector regular cambia ligeramente. Típicamente, en los estándares como H264/AVC o HEVC, el sector regular es completamente independiente de la partición y no tiene que mantener ningún dato después de la decodificación excepto algunos datos para el desbloqueo del proceso de filtro. Sin embargo, el procesamiento de sector dependiente próximo 920 es solamente posible haciendo referencia a los datos del sector anterior, en este punto en la primera fila: sector regular 900. Para establecer esto, los sectores regulares 900 deben mantener los datos de la última fila de CU. Estos datos comprenden:
- datos de motor de codificación de CABAC (estados de modelo de contexto de una CU desde la que puede iniciarse el proceso de decodificación de entropía del sector dependiente),
- todos los elementos de sintaxis decodificados de CU para el proceso de decodificación de CABAC regular de los CU dependientes,
- los datos de predicción intra y de vector de movimiento.
En consecuencia, cada sector dependiente 920 hará el mismo procedimiento, mantener los datos para sector dependiente próximo de fila en la misma instantánea.
En la práctica, estas etapas adicionales no deberían ser un problema, debido a que el proceso de decodificación en general se ve forzado siempre a almacenar algunos datos como elementos de sintaxis.
En las secciones a continuación se presentan posibles cambios para la sintaxis del estándar de HEVC que se requieren para posibilitar el concepto de sectores dependientes.
La figura 5, por ejemplo, ilustra cambios posibles en la sintaxis de RBSP del conjunto de parámetros de instantánea. Las semánticas del conjunto de parámetros de instantánea para sectores dependientes podrían ser como sigue: dependent_slices_present_flag igual a 1 especifica que la instantánea está conteniendo sectores dependientes y el proceso de decodificación de cada sector (regular o dependiente) almacenará estados de decodificación de entropía y datos de predicción de intra y vector de movimiento para el siguiente sector que puede ser un sector dependiente que puede también seguir al sector regular. El siguiente sector dependiente puede hacer referencia a esos datos almacenados.
La figura 16 muestra una sintaxis de slice_header posible con los cambios relativos al estado actual de HEVC. dependent_slice_flag igual a 1 especifica que el valor de los elementos de sintaxis de encabezamiento de sector no presente se infiere para que sea igual al valor de los elementos de sintaxis de encabezamiento de sector en un sector precedente (regular), en donde un sector precedente se define como el sector que contiene el bloque de árbol de codificación con ubicación (SliceCtbAddrRS - 1). dependent_slice_flag será igual a 0 cuando SliceCtbAddrRS es igual a 0.
no_cabac_reset_flag igual a 1 especifica la inicialización de CABAC del estado guardado del sector previamente decodificado (y no con valores iniciales). De otra manera, esto es, si es igual a 0, la inicialización de CABAC independiente de cualquier estado del sector decodificado previamente, esto es, con valores iniciales. last_ctb_cabac_inic_flag igual a 1 especifica la inicialización de CABAC del estado guardado del último bloque de árbol codificado del sector previamente decodificado (por ejemplo, para mosaicos siempre igual a 1). De otra manera (igual a 0), los datos de inicialización se hacen referencia desde el estado guardado del segundo bloque de árbol codificado de la última fila ctb (vecina) del sector previamente decodificado, si el primer bloque de árbol codificado del sector actual es el primer bloque de árbol codificado en la fila (esto es, modo WPP), de otra manera se efectúa la inicialización de CABAC del estado guardado del último bloque de árbol codificado del sector decodificado previamente.
Se proporciona a continuación una comparación de sectores dependientes y otros esquemas de división (informativa).
En la figura 17, se muestra la diferencia entre sectores normales y dependientes.
Una codificación y transmisión posible de subflujos de WPP en sectores dependientes (DS) como se ilustra con respecto a la figura 18 compara una codificación para el transporte de bajo retardo de mosaicos (izquierda) y WPP/DS (derecha). Las cruces en negrita dibujadas de manera continua en la figura 18 muestran el mismo punto de tiempo para los dos métodos suponiendo que la codificación de la fila de WPP toma el mismo tiempo que la codificación de un solo mosaico. Debido a las dependencias de codificación, solamente la primera línea de WPP está preparada, después que todos los mosaicos se han codificado. Sin embargo, utilizando el enfoque de sector dependiente permite que el enfoque de WPP envíe la primera fila una vez que esta codificada. Esto es diferente de asignaciones de subflujo de WPP anteriores, “subflujo” se define para WPP como una concatenación de filas de CU de sector a decodificarse por WPP por el mismo hilo de decodificador, esto es, el mismo núcleo/procesador. Aunque un subflujo por fila y por sector de entropía también habría sido posible antes, el sector de entropía rompe las dependencias de codificación de entropía y tiene por consiguiente eficacia de codificación más baja, esto es, la ganancia de eficacia de WPP se pierde.
Adicionalmente, la diferencia de retardo entre ambos enfoques puede ser realmente baja, suponiendo una transmisión como se muestra en la figura 19. En particular, la figura 19 ilustra una codificación de WPP con transmisión de bajo retardo en tubería.
Suponiendo que la codificación de las últimas dos CU de DS n.° 1.1 en el enfoque de WPP en la figura 18, no toma más tiempo que la transmisión de la primera fila SL n.° 1, no hay ninguna diferencia entre los mosaicos y WPP en el caso de bajo retardo. Sin embargo, la eficacia de codificación de WP/DS supera el concepto de mosaico.
Con el fin de incrementar la robustez del modo de bajo retardo de WPP, la figura 20 ilustra que se obtiene robustez mejorada al usar sectores regulares (RS) como anclas. En la instantánea mostrada en la figura 20 un sector (regular (RS)) es seguido por sectores dependientes (DS). En este punto, el sector (regular) actúa como un ancla para romper las dependencias a sectores precedentes, por lo tanto, se proporciona más robustez en tal punto de inserción de un sector (regular). En principio, esto no es diferente de insertar sectores (regulares) de cualquier manera.
El concepto de sectores dependientes podría también implementarse como sigue.
En este punto, la figura 21 muestra una sintaxis de encabezamiento de sector posible.
La semántica de encabezamientos de sector es como sigue:
dependent_slice_flag igual a 1 especifica que el valor de cada elemento de sintaxis de encabezamiento de sector no presente se infiere para que sea igual al valor del elemento de sintaxis de encabezamiento de sector correspondiente en el sector precedente que contiene el bloque de árbol de codificación para el cual la dirección de bloque de árbol de codificación es SliceCtbAddrRS - 1. Cuando no está presente, se infiere que el valor de dependent_slice_flag es igual a 0. El valor de dependent_slice_flag será igual a 0 cuando SliceCtbAddrRS es igual a 0.
slice_address especifica la dirección en resolución de granularidad de sector en la cual el sector se inicia. La longitud del elemento de sintaxis slice_address es de (Ceil(Log2(PicWidthInCtbs * PicHeightInCtbs))+SliceGranularity) bits.
La variable SliceCtbAddrRS, que especifica el bloque de árbol de codificación en el cual el sector se inicia en el orden de exploración de trama de bloques de árbol de codificación, se deriva como sigue.
SliceCtbAddrRS = (slice_address >> SliceGranularity)
La variable SliceCbAddrZS, que especifica la dirección del primer bloque de codificación en el sector en granularidad del bloque de codificación mínimo en orden de exploración en z, se deriva como sigue.
SliceCbAddrZS = slice_address
<< ((log2_dif_max_min_coding_block_size - SliceGranularity) <<1)
La decodificación de sector inicia con la unidad de codificación más grande posible o en otros términos, CTU, en la coordenada de inicio de sector.
first_slice_in_pic_flag indica si el sector es el primer sector de la instantánea. Si first_slice_in_pic_flag es igual a 1, las variables SliceCbAddrZS y SliceCtbAddrRS se ajustan ambas a 0 y la decodificación se inicia con el primer bloque de árbol de codificación en la instantánea.
pic_parameter_set_id especifica el conjunto de parámetros de instantánea en uso. El valor de pic_parameter_set_id estará en el intervalo de 0 a 255, inclusive.
num_entry_point_offsets especifica el número de elementos de sintaxis de entry_point_offset[i] en el encabezamiento de sector. Cuando tiles_or_entropy_coding_sync_idc es igual 1, el valor de num_entry_point_offsets estará en el intervalo de 0 a (num_tile_columns_minus 1 1) * (num_tile_rows_minus 1 1) - 1, inclusive. Cuando tiles_or_entropy_coding_sync_idc es igual a 2, el valor de num_entry_point_offsets estará en el intervalo de 0 a PicHeightInCtbs - 1, inclusive. Cuando no está presente, el valor de num_entry_point_offsets se infiere para que sea igual a 0.
offset_len_minus1 más 1 especifica la longitud, en bits, de los elementos de sintaxis de entry_point_offset[1]. entry_point_offset[i] especifica el i-ésimo desplazamiento de punto de entrada, en bytes y se representará por offset_len_minus1 más 1 bit. Los datos de sector codificados después del encabezamiento de sector consisten en los subconjuntos de num_entry_point_offsets 1 con los valores del índice de subconjuntos que varían de 0 a num_entry_point_offsets, inclusive. El subconjunto 0 consiste en los bytes 0 a entry_point_offset[0]-1, inclusive, de los datos de sector codificados, subconjunto k, con k el intervalo de 1 a num_entry_point_offsets -1, inclusive, consiste en entry_point_offset[k - 1] bytes a entry_point_offset[k] entry_point_offset[k - 1] -1, inclusive, de los datos de sector codificados y el último subconjunto (con el índice de subconjunto igual a num_entry_point_offsets) consiste en los bytes restantes de los datos de sector codificados.
Cuando tiles_or_entropy_coding_sync_idc es igual a 1 y num_entry_point_offsets es mayor de 0, cada subconjunto contendrá todos los bits codificados de exactamente un mosaico y el número de subconjuntos (esto es, el valor de num_entry_point_offsets 1) será igual o menor que el número de mosaicos en el sector.
NOTA - Cuando tiles_or_entropy_coding_sync_idc es igual a 1, cada sector debe incluir ya sea un subconjunto de un mosaico (en tal caso la señalización de puntos de entrada es innecesaria) o un número entero de mosaicos completos.
Cuando tile_or_entropy_coding_sync_idc es igual a 2 y num_entry_point_offsets es mayor de 0, cada subconjunto k con k en intervalo de 0 a num_entry_point_offsets - 1, inclusive, contendrá todos los bits codificados de exactamente una fila de bloques de árbol de codificación, el último subconjunto (con el índice de subconjunto igual a num_entry_point_offsets) contendrá todos los bits codificados de los bloques de codificación restantes incluidos en el sector, en el que los bloques de codificación restantes consisten ya sea en exactamente una fila de bloques de árbol de codificación o un subconjunto de una fila de bloques de árbol de codificación y el número de subconjuntos (esto es, el valor de num_entry_point_offsets 1) será igual al número de filas de bloques de árbol de codificación en el sector, en el que un conjunto de una fila de bloques de árbol de codificación en el sector también se cuenta.
NOTA - Cuando tiles_or_entropy_coding_sync_idc es igual a 2, un sector puede incluir un número de filas de bloques de árbol de codificación y un subconjunto de una fila de bloques de árbol de codificación. Por ejemplo, si un sector incluye dos filas y media de bloques de árbol de codificación, el número de subconjuntos (esto es, el valor de num_entry_point_offsets 1) será igual a 3.
La sintaxis de RBSP del conjunto de parámetros de instantánea correspondiente podría seleccionarse como se ilustra en la figura 22.
La semántica de RBSP del conjunto de parámetros de instantánea podría ser como sigue:
dependent_slice_enabled_flag igual a 1 especifica la presencia del elemento de sintaxis dependent_slice_flag en el encabezamiento de sector para instantáneas codificadas que hacen referencia al conjunto de parámetros de instantánea. dependent_slice_enabled_flag igual a 0 especifica la ausencia del elemento de sintaxis dependent_slice_flag en el encabezamiento de sector para instantáneas codificadas que hacen referencia al conjunto de parámetro de instantánea. Cuando tiles_or_entropy_coding_sync_idc es igual a 3, el valor de dependent_slice_enabled_flag será igual a 1.
tiles_or_entropy_coding_sync_idc igual a 0 especifica que habrá solamente un mosaico en cada instantánea que hace referencia al conjunto de parámetros de instantánea, no habrá ningún proceso de sincronización específico para variables de contexto invocadas antes de la decodificación del primer bloque de árbol de codificación de una fila de bloques de árbol de codificación en cada instantánea que hace referencia al conjunto de parámetros de instantánea y los valores de cabac_independent_flag y dependent_slice_flag para instantáneas codificadas que hacen referencia al conjunto de parámetro de instantánea no serán ambas iguales a 1.
Nota, cuando cabac_independent_flag y dependent_slice_flag son ambos igual a 1 para un sector, el sector es un sector de entropía.
tiles_or_entropy_coding_sync_idc igual a 1 especifica que puede haber más de un mosaico en cada instantánea que hace referencia al conjunto de parámetros de instantánea, no habrá no ningún proceso de sincronización específico para variables de contexto invocadas antes de la decodificación del primer bloque de árbol de codificación de una fila de bloques de árbol de codificación en cada instantánea que hace referencia al conjunto de parámetros de instantánea y los valores de cabac_independent_flag y dependent_slice_flag para instantáneas codificadas que hacen referencia al conjunto de parámetros de instantánea no serán ambas iguales a 1.
tiles_or_entropy_coding_sync_idc igual a 2 especifica habrá solamente un mosaico en cada instantánea que hace referencia al conjunto de parámetros de instantánea, un proceso de sincronización específico para variables de contexto será invocado antes de la decodificación del primer bloque de árbol de codificación de una fila de bloques de árbol de codificación en cada instantánea que hace referencia al conjunto de parámetros de instantánea y un proceso de memorización específico para variables de contexto será invocado después de la decodificación de dos bloques de árbol de codificación de una fila de bloques de árbol de codificación en cada instantánea que hace referencia al conjunto de parámetros de instantánea y los valores de cabac_independent_flag y dependent_slice_flag para instantáneas codificadas que hacen referencia al conjunto de parámetros de instantánea no serán ambas igual a 1.
tiles_or_entropy_coding_sync_idc igual 3 especifica que habrá solamente un mosaico en cada instantánea que hace referencia al conjunto de parámetros de instantánea, no habrá ningún proceso de sincronización específico para variables de contexto invocadas antes de la decodificación del primer bloque de árbol de codificación de una fila de bloques de árbol de codificación en cada instantánea que hace referencia al conjunto de parámetros de instantánea y los valores de cabac_independent_flag y dependent_slice_flag para instantáneas codificadas que hacen referencia al conjunto de parámetros de instantánea pueden ambas ser iguales a 1.
Cuando dependent_slice_enabled_flag sea igual a 0, tiles_or_entropy_coding_sync_idc no será igual a 3.
Es un requisito de la conformación del flujo de bits que el valor de tiles_or_entropy_coding_sync_idc sea el mismo para todos los conjuntos de parámetro de instantánea que están activados dentro de una secuencia de video codificada.
Para cada sector que hace referencia al conjunto de parámetros de instantánea, cuando tiles_or_entropy_coding_sync_idc es igual a 2 y el primer bloque de codificación en el sector no es el primer bloque de codificación en el primer bloque de árbol de codificación de una fila de bloques de árbol de codificación, el último bloque de codificación en el sector pertenecerá a la misma fila de bloques de árbol de codificación como el primer bloque de codificación en el sector.
num_tile_columns_minus1 más 1 especifica el número de columnas de mosaico que dividen la instantánea.
num_tile_rows_minus1 más 1 especifica el número de filas de mosaico que dividen la instantánea.
Cuando num_tile_columns_minus1 es igual a 0, num_tile_rows_minus1 no será igual a 0. Uniform_spacing_flag igual a 1 especifica que los límites de columna y de manera análoga los límites de fila están distribuidos uniformemente a través de la instantánea. Uniform_spacing_flag igual a 0 especifica que los límites de columna y de manera análoga los límites de fila no están distribuidos uniformemente a través de la instantánea sino señalados explícitamente utilizando los elementos de sintaxis column_width[i] y row_height[i].
column_width[i] especifica la anchura de la i-ésima columna de mosaico en unidades de bloques de árbol de codificación.
row_height[i] especifica la altura de la i-ésima fila de mosaico en unidades de bloques de árbol de codificación.
El vector colWidth[i] especifica la anchura de la i-ésima columna de mosaicos en unidades de CTB con la columna i que varía de 0 a num_tile_columns_minus 1, inclusive.
El vector CtbAddrRStoTS[ctbAddrRS] especifica la conversación de una dirección de CTB en orden de exploración de trama a una dirección de CTB en orden de exploración de mosaico con el índice ctbAddrRS que varía de 0 a (picHeightInCtbs * picWidthInCtbs) - 1, inclusive.
El vector CtbAddrTStoRS[ctbAddrTS] especifica la conversación de una dirección de CTB en orden de exploración de mosaico a una dirección de CTB en orden de exploración de trama con el índice ctbAddrTS que varía de 0 a (picHeightInCtbs * picWidthInCtbs) - 1, inclusive.
El vector TileId[ctbAddrTS] especifica la conversación de una dirección de CTB en orden de exploración de mosaico a una id de mosaico con ctbAddrTS que varía de 0 a (picHeightInCtbs * picWidthInCtbs) - 1, inclusive.
Los valores de colWidth, CtbAddrRStoTS, CtbAddrTStoRS y TileId se derivan al invocar un proceso de trama de CTB y conversación de exploración de mosaico con PicHeightInCtbs y PicWidthInCtbs como entradas y la salida se asigna a colWidth, CtbAddrRStoTS y TileId.
Los valores de ColumnWidthInLumaSamples[i], que especifican la anchura de la i-ésima columna de mosaicos en unidades de muestras de luminancia, se ajustan para que sean iguales a colWidth[i] << Log2CtbSize.
La matriz MinCbAddrZS[x][y], que especifica la conversación de una ubicación (x, y) en unidades de CB mínimas a una dirección de CB mínima en orden de exploración en z con x que varía de 0 a picWidthInMinCbs - 1, inclusive y que varía de 0 a picHeightInMinCbs - 1, inclusive, se deriva al invocar un proceso de inicialización de matriz de orden de exploración en z con Log2MinCbSize, Log2CtbSize, PicHeightInCtbs, PicWidthInCtbs y el vector CtbAddrRStoTS como entradas y la salida se asigna a MinCbAddrZS.
loop_filter_across_tiles_enabled_flag igual a 1 especifica que las operaciones de filtración en bucle se efectúan a través de límites de mosaico. loop_filter_across_tile_enabled_flag igual a 0 especifica que las operaciones de filtración en bucle no se efectúan a través de límites de mosaicos. Las operaciones de filtración en bucle incluyen el filtro de desbloqueo, desplazamiento adaptable de muestra y operaciones de filtro de bucle adaptables. Cuando no está presente, el valor de loop_filter_across_tiles_enabled_flag se infiere para que sea igual a 1.
cabac_independent_flag igual a 1 especifica que la decodificación de CABAC de bloques de codificación en un sector es independiente de cualquier estado del sector previamente decodificado. cabac_independent_flag igual a 0 especifica que la decodificación de CABAC de bloques de codificación en un sector es dependiente de los estados del sector previamente decodificado. Cuando no está presente, el valor de cabac_independent_flag se infiere para que sea igual a 0.
Un proceso de derivación para la disponibilidad de un bloque de codificación con una dirección de bloque de codificación mínima podría ser como sigue:
Las entradas a este proceso son
- una dirección de bloque de codificación mínimo CbAddrZS en orden de exploración en z
- la dirección de bloque de codificación mínima actual CBAddrZS en orden de exploración en z
La salida de este proceso es la disponibilidad del bloque de codificación con dirección de bloque de codificación mínima cbAddrZS en orden de exploración en z cbAvailable.
NOTA 1 - El significado de disponibilidad se determina cuando este proceso se invoca. NOTA 2 - cualquier bloque de codificación, independientemente de su tamaño, está asociado con una dirección de bloque de codificación mínima, que es la dirección del bloque de codificación con el tamaño de bloque de codificación mínimo en orden de exploración en z.
- Si una o más de las siguientes condiciones son ciertas, cbAvailable se ajusta a FALSO.
- minCbAddrZS es menor que 0
- minCbAddrZS es mayor que currMinCBAddrZS
- el bloque de codificación con dirección de bloque de codificación mínima minCbAddrZS pertenece a un sector diferente que el bloque de codificación con la dirección de bloque de codificación mínima actual currMinCBAddrZS y la dependent_slice_flag del sector que contiene el bloque de codificación con la dirección de bloque de codificación mínima actual currMinCBAddrZS es igual a 0.
- el bloque de codificación con dirección de bloque de codificación mínima minCbAddrZS está contenido en un mosaico diferente que el bloque de codificación con la dirección de bloque de codificación mínima actual currMinCBAddrZS.
- De otra manera, cbAvailable se ajusta a VERDADERO.
Un proceso de análisis sintáctico de CABAC para datos de sector podría ser como sigue:
Este proceso se invoca cuando se analizan sintácticamente ciertos elementos de sintaxis con el descriptor ae(v). Las entradas a este proceso son una petición para un valor de un elemento de sintaxis y valores de elementos de sintaxis analizados sintácticamente de manera previa.
La salida de este proceso es el valor del elemento de sintaxis.
Cuando se inicia el análisis sintáctico de los datos de un sector, se invoca el proceso de inicialización del proceso de análisis sintáctico de CABAC.
La figura 23 ilustra cómo se busca un vecino espacial T para invocar el proceso de derivación de disponibilidad del bloque de árbol de codificación al bloque de árbol de codificación actual (informativo).
La dirección de bloque de codificación mínimo del bloque de árbol de codificación que contiene el bloque vecino espacial T (figura 23), ctbMinCbAddrT, se deriva utilizando la ubicación (x0,y0) de la muestra de luminancia superior izquierda del bloque de árbol de codificación actual como sigue.
x = x0 2 << Log2CtbSize - 1
y = y0 - 1
ctbMinCbAddrT = MinCbAddrZS[x >> Log2MinCbSize] [y >> Log2MinCbSize] La variable availableFlagT se obtiene al invocar un proceso de derivación de disponibilidad de bloque de codificación con ctbMinCbAddrT como entrada.
Cuando se inicia el análisis sintáctico de un árbol de codificación como se especifica, se aplican las siguientes etapas ordenadas.
El motor de decodificación aritmético se inicializa como sigue.
Si CtbAddrRS es igual a slice_address, dependent_slice_flag es igual a 1 y entropy_coding_reset_flag es igual a 0, se aplica lo siguiente.
El proceso de sincronización del proceso de análisis sintáctico de CABAC se invoca con TableStateIdxDS y TableMPSValDS como entrada.
Un proceso de decodificación para decisiones binarias antes de la terminación se invoca, seguido por un proceso de inicialización para el motor de decodificación aritmético.
De otra manera, si tiles_or_entropy_coding_sync_idc es igual a 2 y CtbAddrRS % PicWidthInCtbs es igual a 0, se aplica lo siguiente.
Cuando availableFlagT es igual a 1, un proceso de sincronización del proceso de análisis sintáctico de CABAC se invoca con TableStateIdxWPP y TableMPSValWPP como entrada.
Un proceso de decodificación para decisiones binarias antes de la terminación se invoca, seguido por el proceso para el motor de decodificación aritmética.
Cuando cabac_independent_flag es igual a 0 y dependent_slice_flag es igual a 1 o cuando tiles_or_entropy_coding_sync_idc es igual a 2, el proceso de memorización se aplica como sigue.
Cuando tiles_or_entropy_coding_sync_idc es igual a 2 y CtbAddrRS % PicWidthInCtbs es igual a 2, el proceso de memorización del proceso de análisis sintáctico de CABAC se invoca con TableStateIdxWPP y TableMPSValWPP como salida.
Cuando cabac_independent_flag es igual a 0, dependent_slice_flag es igual a 1 y end_of_slice_flag es igual a 1, el proceso de memorización del proceso de análisis sintáctico de CABAC se invoca con TableStateIdxDS y TableMPSValDS como salida.
El análisis sintáctico de los elementos de sintaxis procede como sigue:
Por cada valor requerido de un elemento de sintaxis se deriva una conversión a binario.
La conversión a binario para el elemento de sintaxis y la secuencia de binarios analizados sintácticamente determina el flujo del proceso de decodificación.
Por cada binario de la conversión a binario del elemento de sintaxis, que se indexa por la variable binIdx se deriva un índice de contexto ctxIdx.
Po cada ctxIdx se invoca el proceso de decodificación aritmético.
La secuencia resultante (b0..bbinIdx) de los binarios analizados sintácticamente se compara con el conjunto de series de binarios dadas por el proceso de conversión a binario después de la decodificación de cada binario. Cuando la secuencia coincide con una serie de binarios en el conjunto dado, el valor correspondiente se asigna al elemento de sintaxis.
En el caso de que la petición para un valor de un elemento de sintaxis se procese para el elemento de sintaxis pcmflag y el valor decodificado de pcm_flag es igual a 1, el motor de decodificación se inicializa después de la decodificación de cualquier pcm_alignment_zero_bit, num_subsequent_pcm y todos los datos de pcm_sample_luma y pcm_sample_chroma.
Por lo tanto, la descripción anterior revela un decodificador como se muestra en la figura 24. Este decodificador, que se indica en general por el signo de referencia 5, reconstruye una instantánea 10 de un flujo de datos 12 al cual se codifica la instantánea 10 en unidades de sectores 14 a las cuales se divide la instantánea 10, en el que el decodificador 5 está configurado para decodificar los sectores 14 del flujo de datos 12 según un orden de sector 16. Naturalmente, el decodificador 5 no está restringido a decodificar los sectores 14. En su lugar, el decodificador 5 puede usar procesamiento en paralelo de frente de onda para decodificar los sectores 14, con la condición de que las instantáneas 10 que se dividen en sectores 14 sean apropiadas para procesamiento en paralelo de frente de onda. Por consiguiente, el decodificador 5 puede ser por ejemplo un decodificador que es apto para decodificar sectores 14 en paralelo de manera escalonada con el inicio de la decodificación de los sectores 14 teniendo en cuenta el orden de sector 16 para permitir el procesamiento de frente de onda como se ha descrito anteriormente y que se describirá posteriormente también.
El decodificador 5 responde a una porción de elemento de sintaxis 18 dentro de un sector actual de los sectores 14 para decodificar el sector actual según uno de al menos dos modos 20 y 22. Según uno primero de los al menos dos modos, es decir el modo 20, el sector actual se decodifica del flujo de datos 12 utilizando decodificación de entropía adaptable de contexto que incluye una derivación de límites de sector a través del contexto, es decir a través de las líneas discontinuas en la figura 24, esto es, al usar información que se deriva de la codificación/decodificación de otro “orden de sector 16 precedente a los sectores”. Además, la decodificación del sector actual del flujo de datos 12 utilizando el primer modo 20 comprende una actualización continua de probabilidades del símbolo del códec y una inicialización de las probabilidades de símbolo al comienzo de la decodificación del sector actual, que depende de los estados guardados de las probabilidades de símbolo de un sector previamente decodificado. Tal dependencia se describió anteriormente, por ejemplo, en relación con el “proceso de sincronización para variables de códec”. Finalmente, el primer modo 20 también involucra decodificación predictiva a través de los límites de sector. Tal decodificación predictiva a través de los límites de sector puede involucrar, por ejemplo, intra-predicción a través de los límites de sector, esto es, predicción de valores de muestra dentro del sector actual en base a los valores de muestra ya reconstruidos de “orden de sector 16”, sector precedente o una predicción de parámetros de codificación a través de límites de sector tal como una predicción de vectores de movimiento, modos de predicción, modos de codificación o similares.
Según el segundo modo 22, el decodificador 5 decodifica el sector actual, esto es, el sector actualmente a decodificarse, del flujo de datos 12 utilizando decodificación de entropía adaptable al contexto con restricción, sin embargo, de la derivación de los contextos para no cruzar los límites de sector. Si por ejemplo, una plantilla de posiciones vecinas usada para derivar el contexto para un cierto elemento de sintaxis concerniente con un bloque dentro del sector actual se extiende a un sector vecino, cruzando de esta manera el límite de sector del sector actual, el atributo correspondiente de la porción respectiva del sector vecino, tal como el valor del elemento de sintaxis correspondiente de esta porción vecina del sector vecino, se ajusta al valor por defecto con el fin de inhibir interdependencias entre el sector actual y los sectores vecinos. Mientras que una actualización continua de probabilidades del símbolo del contexto puede tomar lugar justo como es el caso en el primer modo 20, la inicialización de las propiedades de símbolo del segundo modo 22 es independiente de cualquier sector previamente decodificado. Además, la decodificación predictiva se efectúa con restricción de la decodificación predictiva para no cruzar los límites de sector.
Con el fin de facilitar el entendimiento de la descripción de la figura 24 y la siguiente descripción, se hace referencia a la figura 25 que muestra una implementación posible del decodificador 5 en un sentido más estructural que en comparación con la figura 24. Como es el caso en la figura 24, el decodificador 5 es un decodificador predictivo que utiliza decodificación de entropía adaptable al contexto para decodificación del flujo de datos, para obtener por ejemplo los parámetros de predicción y el residuo de predicción.
Como se muestra en la figura 25, el decodificador 5 puede comprender un decodificador de entropía 24, un módulo de descuantificación y transformada inversa 26, un combinador 28 implementado como se muestra en la figura 25, por ejemplo, como un sumador y un predictor 28. El decodificador de entropía 24, módulo 26 y sumador 27 se conectan en serie entre la entrada y salida del decodificador 5 en el orden de su mención y el predictor 28 se conecta entre una salida del sumador 28 y una entrada adicional del mismo con el fin de formar el bucle de predicción junto con el combinador 27. Por lo tanto, el decodificador 24 tiene su salida conectada adicionalmente a una entrada del parámetro de codificación del predictor 28.
Aunque la figura 25 da la impresión de que el decodificador decodifica en serie la instantánea actual, el decodificador 5 puede por ejemplo implementarse para decodificar la instantánea 10 en paralelo. El decodificador 5 puede comprender por ejemplo múltiples núcleos funcionando cada uno según los elementos 24-28 de la figura 25. El procesamiento en paralelo es sin embargo opcional y un decodificador que funciona en serie 5 es también apto para decodificar el flujo de datos interno en la entrada del decodificador de entropía 24.
Con el fin de obtener eficientemente la habilidad recién mencionada ya sea de decodificación en serie o en paralelo de la instantánea actual 10, el decodificador 5 funciona en unidades de bloques de decodificación 30 con el fin de decodificar la instantánea 10. Los bloques de codificación 30 son por ejemplo bloques de hojas en los cuales se dividen bloques de árbol de codificación o bloques de codificación más grandes 32 mediante división de múltiples árboles recursiva tal como división de árbol cuádruple. Los bloques de árbol de codificación 32 a su vez, pueden disponerse de manera regular en columnas y filas para formar una división regular de la instantánea 10 en estos bloques de árbol de codificación 32. En la figura 25, los bloques de árbol de codificación 32 se muestran con líneas continuas, mientras que los bloques de codificación 30 se muestran con líneas discontinuas. Con fines de ilustración solamente un bloque de árbol de codificación 32 se muestra para dividirse adicionalmente en bloques de codificación 30, mientras que los otros bloques de árbol de codificación 32 se muestran para no dividirse adicionalmente para formar directamente un bloque de codificación en su lugar. El flujo de datos 12 puede comprender una porción de sintaxis que señala cómo una instantánea 10 se divide en los bloques de codificación 30.
El flujo de datos 12 transporta, para cada bloque de codificación 30, elementos de sintaxis que revelan cómo los módulos 24 y 28 van a recuperar el contenido de instantánea dentro de ese bloque de codificación 30. Por ejemplo, estos elementos de sintaxis comprenden:
1) opcionalmente, dividir datos que dividen adicionalmente el bloque de codificación 30 en bloques de predicción, 2) opcionalmente, dividir datos que dividen adicionalmente el bloque de codificación 30 en bloques residuales y/o de transformada,
3) un modo de predicción que señala qué modo de predicción va a usarse para derivar la señal de predicción para el bloque de codificación 30, en el que la granularidad en la cual se señaliza este modo de predicción puede depender de los bloques de codificación 30 y/o del bloque de predicción.
4) los parámetros de predicción pueden señalizarse por bloque de codificación o si está presente, por bloques de predicción con una clase de parámetros de predicción enviados, dependiendo, por ejemplo, del modo de predicción. Los modos de predicción posibles pueden comprender por ejemplo intra-predicción y/o inter­ predicción.
5) Otros elementos de sintaxis pueden también estar presentes tales como información de filtración para filtrar la instantánea 10 en el bloque de codificación 30 para obtener la señal de predicción y/o la señal reconstruida a reproducirse.
6) Finalmente, información residual en forma de, entre otros, coeficientes de transformada puede estar comprendida en un flujo de datos para el bloque de codificación 30; en unidades de bloques residuales, datos residuales pueden señalizarse, por bloque residual, la descomposición espectral puede por ejemplo realizarse en unidades de bloques de transformada mencionados anteriormente, si están presentes.
El decodificador de entropía 24 es responsable de obtener los elementos de sintaxis mencionados anteriormente del flujo de datos. Para este fin, el decodificador de entropía 24 usa decodificación de entropía adaptable al contexto. Esto es, el decodificador de entropía 24 proporciona varios contextos. Con el fin de derivar un cierto elemento de sintaxis del flujo de datos 12, el decodificador de entropía 24 selecciona un cierto contexto de entre los contextos posibles. La selección entre los posibles contextos se efectúa dependiendo del atributo de una vecindad de una porción de instantánea 10 a la cual el elemento de sintaxis actual pertenece. Para cada uno de los contextos posibles, el decodificador de entropía 24 gestiona probabilidades de símbolos, esto es, una estimación de la probabilidad para cada símbolo posible del alfabeto de símbolos en el cual se basa el funcionamiento del decodificador 24. La “gestión” implica las actualizaciones continuas anteriormente mencionadas de las probabilidades de símbolo de los contextos para adaptar las probabilidades de símbolos asociadas con cada contexto al contenido de instantánea real. Mediante esta medida, las probabilidades de símbolo se adaptan a las estadísticas de probabilidad reales de los símbolos.
Otra circunstancia en donde los atributos de una vecindad influyen en la reconstrucción de una porción actual de la instantánea 10 tales como un bloque de codificación actual 30, es la decodificación predictiva dentro del predictor 28. La predicción está restringida no solamente a contenido de predicción dentro del bloque de codificación actual 30, sino que puede también abarcar predicción de parámetros contenidos dentro del flujo de datos 12 para el bloque de codificación actual 30, tales como parámetros de predicción, datos de división o incluso coeficientes de transformada. Esto es, el predictor 28 puede predecir el contenido de instantánea o tales parámetros de la vecindad mencionada anteriormente para obtener la señal escrita que se combina a continuación con el residuo de predicción como se obtiene por el módulo 26 del flujo de datos 12. En el caso de parámetros de predicción, el predictor 28 puede usar elementos de sintaxis contenidos dentro del flujo de datos como residuos de predicción para obtener el valor real del parámetro de predicción. El predictor 28 usa el último valor del parámetro de predicción con el fin de obtener la señal de predicción mencionada anteriormente que va a combinarse con el residuo de predicción en el combinador 27.
La “vecindad” mencionada anteriormente cubre principalmente la parte superior izquierda de la circunferencia de la porción actual a la cual pertenece el elemento de sintaxis que va a decodificarse actualmente por entropía o el elemento de sintaxis que va a predecirse actualmente. En la figura 25, tal vecindad se ilustra en 34 a modo de ejemplo para un bloque de codificación 30.
Un orden de codificación/decodificación se define entre los bloques de codificación 30: a un nivel más burdo, los bloques de árbol de codificación 32 de la instantánea 10 se exploran en un orden de exploración 36, en este caso ilustrado como una exploración de trama que va de fila a fila de la parte superior a la parte inferior. Dentro de cada bloque de árbol de codificación, los bloques de codificación 30 se exploran en un primer orden transversal de profundidad de tal manera que, cada nivel de jerarquía, el bloque de árbol de codificación 32 se explora sustancialmente también en una exploración de trama que va de fila a fila de la parte superior a la parte inferior.
El orden de codificación definido entre los bloques de codificación 30 armoniza con la definición de la vecindad 34 usada para derivar un atributo en la vecindad para seleccionar contextos y/o efectuar predicción espacial en que la vecindad 34 cubre en su mayoría porciones de la instantánea 10 que ya han sido sometidas a decodificación según el orden de codificación. Siempre que una porción de la vecindad 34 cubre porciones no disponibles de la instantánea 10, se usan en lugar de esto datos por defecto, por ejemplo. Por ejemplo, una plantilla de vecindad 34 se puede extender fuera de la instantánea 10. Otra posibilidad es, sin embargo, que la vecindad 34 se extienda a un sector vecino.
Los sectores dividen, por ejemplo, la instantánea 10 a lo largo de un orden de codificación/decodificación definido a lo largo de los bloques de codificación 30, esto es, cada sector es una secuencia no interrumpida continua de bloques de codificación 30 a lo largo del orden del bloque de codificación mencionado anteriormente. En la figura 25, los sectores se indican con líneas de puntos discontinuos 14. El orden definido entre los sectores 14 resulta de su composición de ejecuciones de bloques de codificación secuenciales 30 como se ha resumido anteriormente. Si la porción de elemento de sintaxis 18 de un cierto sector 14 indica que el mismo se va a decodificar en el primer modo, el decodificador de entropía 24 permite que la decodificación de entropía adaptable al contexto derive contextos a través de límites de sector. Esto es, la vecindad espacial 34 se usa con el fin de seleccionar contextos en datos de decodificación de entropía concernientes con el sector actual 14. En el caso de la figura 25, por ejemplo, el número de sector 3 puede ser el sector decodificado actualmente y en el elemento de sintaxis de decodificación de entropía concerniente con el bloque de codificación 30 o alguna porción contenida en el mismo, el decodificador de entropía 24 puede usar atributos que se derivan de porciones de decodificación dentro del sector vecino tal como el número de sector 1. El predictor 28 se comporta de la misma manera: para sectores que son del primer modo 20, el predictor 28 usa predicción espacial a través del límite de sector que circunda el sector actual.
Para sectores, sin embargo, que tienen el segundo modo 22 asociado con los mismos, esto es, para los cuales la porción de elemento de sintaxis 18 indica el segundo modo 22, el decodificador de entropía 24 y predictor 28 restringen la derivación de contextos de entropía y decodificación predictiva para depender de atributos concernientes con porciones que solo se encuentran dentro del sector actual. Obviamente, la eficacia de codificación manifiesta esta restricción. Por otra parte, los sectores del segundo modo 22 permiten interrumpir interdependencias entre las secuencias de sector. Por lo tanto, los sectores del segundo modo 22 pueden estar intercalados dentro de la instantánea 10 o dentro de un video al cual la instantánea 10 pertenece con el fin de permitir la resincronización de puntos. No es necesario, sin embargo, que cada instantánea 10 tenga al menos un sector en el segundo modo 22.
Como ya se mencionó anteriormente, los modos 20 y 22 primero y segundo también difieren en su inicialización de las probabilidades de símbolo. Los sectores codificados en el segundo modo 22, dan como resultado que el decodificador de entropía 24 reinicialice las probabilidades independientemente de cualquier sector previamente decodificado, esto es, previamente decodificado en el sentido del orden definido entre los sectores. Las probabilidades de símbolo se ajustan, por ejemplo, a valores predeterminados conocidos tanto para el lado del codificador como el lado del decodificador, o valores de inicialización que están contenidos dentro de sectores codificados en el segundo modo 22.
Esto es, para sectores que se codifican/decodifican en un segundo modo 22, la adaptación de las probabilidades de símbolo siempre se inicia inmediatamente del comienzo de estos sectores. Por consiguiente, la exactitud de adaptación es mala para estos sectores al comienzo de estos sectores.
Las cosas son diferentes en sectores codificados/decodificados en el primer modo 20. Para los últimos sectores, la inicialización de las probabilidades de símbolo efectuadas por el decodificador de entropía 24 depende de los estados guardados de probabilidades de símbolo de un sector previamente decodificado. Siempre que un sector codificado/decodificado en un primer modo 20, tiene su comienzo, por ejemplo colocado en un lugar diferente del lado izquierdo de la instantánea 10, esto es, no el lado desde donde la exploración de trama 36 comienza a recorrer de fila en fila antes de escalar a la siguiente fila hacia el fondo, se adaptan las probabilidades de símbolo como resultan al final de la decodificación de entropía del sector inmediatamente precedente. Esto se ilustra, por ejemplo, en la figura 2 por una flecha 38 para el sector número 4. El sector número 4 tiene su comienzo en algún lugar entre el lado derecho y lado izquierdo de la instantánea 10 y por lo tanto, en la inicialización de las probabilidades de símbolo, el decodificador de entropía 24 adopta, en la inicialización de las probabilidades de símbolo, las probabilidades de símbolo que se obtuvieron en la decodificación de entropía del sector inmediatamente precedente, esto es sector número 3, hasta el final del mismo, esto es, incluyendo la actualización continua de probabilidades de símbolo durante la decodificación de entropía del sector 3 hasta su final.
Los sectores que tienen el segundo modo 22 asociado con los mismos, que tienen, sin embargo, el comienzo en el lado izquierdo de la instantánea 10, tal como por ejemplo, el sector número 5 no adaptan las probabilidades de símbolo tal como se obtienen después de terminar la decodificación de entropía del sector inmediatamente precedente número 4, debido a que esto impediría que el decodificador 5 descodifique en paralelo la instantánea 10 mediante el uso de procesamiento de frente de onda. Más bien, como se ha resumido anteriormente, el decodificador de entropía 24 adapta las probabilidades de símbolo como se obtienen después de terminar la decodificación de entropía del segundo orden en, codificación/decodificación 36, bloque de árbol de codificación 32 en la fila del bloque de árbol de codificación, en el orden de codificación/decodificación 36 inmediatamente precedente, como se ilustra por la flecha 40.
En la figura 25, por ejemplo, la instantánea 10 se dividió a modo de ejemplo en tres filas de bloques de árbol de codificación de cuatro columnas de bloques de raíz de árbol de codificación 32 y cada fila de bloque de árbol de codificación se subdividió en dos sectores 14, de tal manera que el comienzo de cada segundo sector coincide con la primera unidad de codificación en orden unitario de codificación de una fila de bloque de raíz de árbol de codificación respectivo. El decodificador de entropía 24, por consiguiente, sería apto para usar el procesamiento de frente de onda en la decodificación de la instantánea 10, mediante la decodificación de cada fila de bloque de raíz de árbol de codificación en paralelo, con el comienzo de la decodificación de estas filas de bloque de raíz árbol de codificación de manera escalonada, empezando con una primera fila de bloque de raíz árbol de codificación o más superior, luego la segunda y luego la tercera.
Naturalmente, la división de los bloques 32 de manera recursiva a bloques de codificación adicionales 30 es opcional y por lo tanto, en un sentido más general, los bloques 32 podrían ser llamados “bloques de codificación” también. Esto es, hablando más en general, la instantánea 10 puede dividirse en bloques de codificación 32 dispuestos en filas y columnas y que tienen un orden de exploración de trama 36 definido entre sí y el decodificador 5 puede considerarse asociado a cada sector 14 con un subconjunto continuo de los bloques de codificación 32 en el orden de exploración de trama 36, de tal manera que los subconjuntos se siguen entre sí a lo largo del orden de exploración de trama 36 según el orden de sector.
Como se aclaró del análisis anterior, el decodificador 5 o más específicamente, el decodificador de entropía 24 puede estar configurado para guardar probabilidades de símbolos tal como se obtienen en la decodificación de entropía adaptable al contexto de cualquier sector hasta un segundo bloque de codificación en una fila de bloques de codificación según el orden de exploración de trama 36. En la inicialización de las propiedades del símbolo para la decodificación de entropía adaptable al contexto de un sector actual que tiene el primer modo 20 asociado con el mismo, el decodificador 5 o más específicamente, el decodificador de entropía 24, verifica en cuanto a sí un primer bloque de codificación 32 del subconjunto continuo de bloques de codificación 32 asociados con el sector actual es un primer bloque de codificación 32 en una fila de bloques de codificación según el orden de exploración de trama 36. Si es así, las probabilidades de símbolo para la decodificación de entropía adaptable al contexto del sector actual se inicializan como se explica con respecto a la flecha 40, es decir dependiendo de las probabilidades de símbolo guardadas como se obtienen en la decodificación de entropía de contexto del sector previamente decodificado hasta el segundo bloque de codificación en la fila de bloques de codificación según el orden de exploración de trama 36. Si no, la inicialización de las probabilidades de símbolo para la decodificación de entropía adaptable al contexto del sector actual se efectúa dependiendo de las probabilidades de símbolo como se obtienen en la decodificación de entropía adaptable al contexto del sector decodificado previamente hasta el final del sector previamente decodificado, esto es, según la flecha 38. Otra vez, en el caso de inicialización según 38, se quiere dar a entender el estado guardado al final de la decodificación de entropía del sector inmediatamente precedente en el orden de sector 36, mientras que en el caso de la inicialización 40, es el sector previamente decodificado que comprende el final del segundo bloque de la fila inmediatamente precedente del bloque 32 en el orden de bloque 36.
Como se ilustra por líneas discontinuas en la figura 24, el decodificador puede estar configurado para responder a la porción de elemento de sintaxis 18 dentro del sector actual de los sectores 14 para decodificar el sector actual según uno de al menos tres modos. Esto es, puede haber un tercer modo 42 además de los otros 20 y 22. El tercer modo 42 puede diferir del segundo modo 22 en que se permite la predicción a través de los límites de sector, mientras que la codificación/decodificación de entropía todavía se restringe para no cruzar límites de sector.
Anteriormente, se presentaron dos realizaciones con respecto a la porción de elemento de sintaxis 18. La tabla a continuación resume estas dos realizaciones.
Figure imgf000022_0001
Figure imgf000023_0001
En una realización, la porción de elemento de sintaxis 18 se forma por dependent_slice_flag individualmente, mientras que, en la otra realización, la combinación de dependent_slice_flag y no_cabac_reset_flag forma la porción del elemento de sintaxis. Se hace referencia al proceso de sincronización para variables de contexto en cuanto a lo que se refiere a la inicialización de probabilidades de símbolo dependiendiendo de estados guardados de probabilidades de símbolo de un sector previamente decodificado. En particular, el decodificador puede estar configurado para, si last_ctb_cabac_inic_flag=0 y tiles_or_entropy_coding_sync_idc=2, las probabilidades de símbolo guardados como se obtienen en la decodificación de entropía adaptable al contexto del sector previamente decodificado hasta un segundo bloque de codificación en una fila según el orden de exploración de trama y en la inicialización de las probabilidades de símbolo para la decodificación de entropía adaptable al contexto del sector actual según el primer modo, verifica si un primer bloque de codificación del subconjunto continuo de bloques de codificación asociados con el sector actual es un primer bloque de codificación en una fila según el orden de exploración de trama y si es así, inicializar las propiedades de símbolo para la decodificación adaptable al contexto del sector actual dependiendo de las propiedades de símbolo guardadas como se obtienen en la decodificación de entropía adaptable al contexto del sector previamente decodificado a un segundo bloque de codificación en una fila según el orden de exploración de trama y si no, inicializar las probabilidades de símbolo para la decodificación de entropía adaptable al contexto del sector actual dependiendo de las propiedades de símbolo como se obtienen en la decodificación de entropía adaptable al contexto del sector previamente decodificado al final del sector previamente decodificado.
Por lo tanto, en otras palabras, según la segunda realización para una sintaxis, el decodificador reconstruiría la instantánea 10 a partir del flujo de datos 12 al que la instantánea se codifica en unidades de sectores 14 en las cuales se divide la instantánea (10), en la que el decodificador está configurado para decodificar los sectores 14 del flujo de datos 12 según el orden de sector 16 y el decodificador responsable de una porción de elemento de sintaxis 18, es decir, dependent_slice_flag dentro de un sector actual de los sectores, para decodificar el sector actual según uno de al menos dos modos 20, 22. Según uno primero 20 de los al menos dos modos, en concreto dependent_slice_flag=1, el decodificador decodifica el sector actual del flujo de datos 12 utilizando decodificación de entropía adaptable al contexto 24 que incluye una derivación de contextos a través de límites de sector, una actualización continua de probabilidades de símbolo de los contextos y una inicialización 38, 40 de las probabilidades de símbolo dependiendo de los estados guardados de probabilidades de símbolo de un sector previamente decodificado y decodificación predictiva a través de los límites de sector y según uno segundo 22 de al menos dos modos, es decir si dependent_slice_flag=0, el decodificador decodifica el sector actual del flujo de datos 12 utilizando decodificación de entropía adaptable al contexto con restricción de la derivación de los contextos para no cruzar los límites de sector, una actualización continua de probabilidades de símbolo de los contextos y una inicialización de las probabilidades de símbolo independientemente de cualquier sector previamente decodificado y decodificación predictiva con restricción de la decodificación predictiva para no cruzar los límites de sector. La instantánea 10 puede dividirse en bloques de codificación 32 dispuestos en filas y columnas y que tiene un orden de exploración de trama 36 definidos entre sí y el decodificador está configurado para asociar cada sector 14 con un subconjunto continuo de los bloques de codificación 32 en el orden de exploración de trama 36, de tal manera que los subconjuntos se siguen entre sí a lo largo del orden de exploración de trama 36 según el orden de sector. El decodificador puede estar configurado para, esto es, en respuesta a tiles_or_entropy_coding_sync_idc=2, guardar probabilidades de símbolo como se obtienen en la decodificación de entropía adaptable al contexto del sector decodificado previamente hasta un segundo bloque de codificación 32 en una fila según el orden de exploración de trama 36 y en la inicialización de las probabilidades de símbolo para la decodificación de entropía adaptable al contexto del sector actual según el primer modo, verificar si un primer bloque de codificación del subconjunto continuo de bloques de codificación 32 asociados con el sector actual es un primer bloque de codificación 32 en una fila según el orden de exploración de trama y si es así, inicializar 40 las probabilidades de símbolo para la decodificación de entropía adaptable al contexto del sector actual dependiendo de las probabilidades de símbolo guardadas como se obtienen en la decodificación de entropía adaptable al contexto del sector previamente decodificado a un segundo bloque de codificación en una fila según el orden de exploración de trama 36 y si no, inicializar 38 las probabilidades de símbolo para la decodificación de entropía adaptable al contexto del sector actual dependiendo de las probabilidades de símbolo como se obtienen en la decodificación de entropía adaptable al contexto del sector previamente decodificado hasta el final del sector previamente decodificado. El decodificador puede estar configurado para responder a la porción del elemento de sintaxis (18) dentro del sector actual de los sectores 14 para decodificar el sector actual según al menos uno de tres modos, es decir, en el uno del primer 20 y un tercer modo 42 o un segundo modo 22, en el que el decodificador está configurado para, según el tercer modo 42, es decir si dependent_slice_flag=1 y tiles_or_entropy_coding_sync_idc=3, decodificar el sector actual del flujo de datos utilizando decodificación de entropía adaptable al contexto con restricción de la derivación de los contextos para no cruzar los límites de sector, una actualización continua de probabilidades de símbolo de los contextos y una inicialización de las probabilidades de símbolo independientemente de cualquier sector previamente decodificado y decodificación predictiva a través de los límites de sector, en el que el uno del primer y tercer modos se selecciona dependiendo de un elemento de sintaxis, es decir, cabac_independent_flag. El decodificador puede estar configurado para, concretamente, si tiles_or_entropy_coding_sync_idc = 0, 1 y 3 (“3” cuando cabac_independent_flag = 0), guardar probabilidades de símbolo tal como se obtienen en decodificación de entropía adaptable al contexto del sector previamente decodificado hasta el final del sector previamente decodificado y en la inicialización de las probabilidades de símbolo para la decodificación de entropía adaptable al contexto del sector actual según el primer modo, inicializar las probabilidades de símbolo para la decodificación de entropía adaptable al contexto del sector actual dependiendo de las probabilidades de símbolo guardadas. El decodificador puede estar configurado para, concretamente, si tiles_or_entropy_coding_sync_idc=1, en el primer y segundo modo, restringir la decodificación predictiva en mosaicos en los cuales se subdivide la instantánea.
Naturalmente, un codificador puede ajustar la sintaxis presentada anteriormente con el fin de permitir por consiguiente que el decodificador obtenga las ventajas resumidas anteriormente. El codificador puede ser un codificador de procesamiento en paralelo, tal como un codificador de múltiples núcleos, pero no es necesario. Para la codificación de la instantánea 10 en el flujo de datos 12 en unidades de sector 12, el codificador estaría configurado para codificar los sectores 14 en el flujo de datos 12 según el orden de sector 16. El codificador determinaría la porción del elemento de sintaxis 18 para codificar el mismo a un sector actual de los sectores, de tal manera que la porción del elemento de sintaxis señala el sector actual que va a codificarse según uno de los al menos dos modos 20, 22 y si el sector actual va a codificarse según un primer modo 20 de los al menos dos modos, codificar el sector actual en el flujo de datos 12 usando codificación de entropía adaptable al contexto 24 que incluye una derivación de contextos a través de límites de sector, una actualización continua de probabilidades de símbolo de los contextos y una inicialización 38, 40 de las probabilidades de símbolo dependiendo de los estados guardados de probabilidades de símbolo de un sector previamente codificado y codificación predictiva a través de los límites de sector y si el sector actual va a codificarse según el segundo 22 de los al menos dos modos, codificar el sector actual en el flujo de datos 12 usando codificación de entropía adaptable al contexto con restricción de la derivación de los contextos para no cruzar los límites de sector, una actualización continua de probabilidades de símbolo de los contextos y una inicialización de las probabilidades de símbolo independiente de cualquier sector previamente codificado y codificación predictiva con restricción de la codificación predictiva para no cruzar los límites de sector. Aunque la instantánea 10 puede dividirse en bloques de codificación 32 dispuestos en filas y columnas y que tienen un orden de exploración de trama 36 definido entre ellas, el codificador puede estar configurado para asociar cada sector 14 con un subconjunto continuo de los bloques de codificación 32 en el orden de exploración de trama 36, de tal manera que los subconjuntos se siguen entre sí a lo largo del orden de exploración de trama 36 según el orden de sector. El codificador puede estar configurado para guardar probabilidades de símbolo tal como se obtienen en codificación de entropía adaptable al contexto del sector previamente codificado hasta un segundo bloque de codificación 32 en una fila, según el orden de exploración de trama 36 y en la inicialización de las probabilidades de símbolo para la codificación de entropía adaptable al contexto del sector actual según el primer modo, verificar en cuanto a si un primer bloque de codificación del subconjunto continuo de bloques de codificación 32 asociados con el sector actual es un primer bloque de codificación 32 en una fila según el orden de exploración de trama y si es así, inicializar 40 las probabilidades de símbolo para la codificación de entropía adaptable al contexto del sector actual, dependiendo de las probabilidades de símbolo guardadas, tal como se obtienen en codificación de entropía adaptable al contexto del sector previamente codificado, hasta un segundo bloque de codificación en una fila, según el orden de exploración de trama 36 y si no, inicializar 38 las probabilidades de símbolo para la codificación de entropía adaptable al contexto del sector actual, dependiendo de las probabilidades de símbolo, tal como se obtienen en codificación de entropía adaptable al contexto del sector previamente decodificado hasta el final del sector previamente codificado. El codificador puede estar configurado para codificar la porción de elemento de sintaxis (18) en el sector actual de los sectores (14) de tal manera que el sector actual se señala para codificarse en el mismo según uno de los al menos dos modos, es decir en uno del primero (20) y un tercer modo (42) o un segundo modo (22), en el que el codificador está configurado para ** según el tercer modo (42), codificar el sector actual en el flujo de datos usando codificación de entropía adaptable al contexto con restricción de la derivación de los contextos para no cruzar los límites de sector, una actualización continua de probabilidades de símbolo de los contextos y una inicialización de las probabilidades de símbolo independientemente de cualquier sector previamente codificado y codificación predictiva a través de los límites de sector, en el que el codificador distingue entre uno del primer y tercer modos al ser un elemento de sintaxis, es decir cabac_independent_flag, por ejemplo. El codificador puede estar configurado para determinar un elemento de sintaxis genérico, tal como dependent_slices_present_flag y escribir el mismo al flujo de datos haciendo funcionar en uno de los al menos dos modos de operación genéricos, dependiendo del elemento de sintaxis genérico, concretamente, según un primer modo de operación genérico, efectuar la codificación de la porción de elemento de sintaxis para cada sector y según uno segundo modo de operación genérico, inevitablemente usando un modo diferente de los al menos dos modos diferentes del primer modo. El codificador puede estar configurado según el primero y segundo modos, inevitablemente y continuar de manera ininterrumpida la actualización continua de las probabilidades de símbolo desde el comienzo hasta el final del sector actual. El codificador puede estar configurado para guardar probabilidades de símbolo tal como se obtienen en codificación de entropía adaptable al contexto del sector previamente codificado hasta un final del sector previamente codificado y en la inicialización de las probabilidades de símbolo para la codificación de entropía adaptable al contexto del sector actual según el primer modo, inicializar las probabilidades de símbolo para la codificación de entropía adaptable al contexto del sector actual, dependiendo de las probabilidades de símbolo guardadas. El codificador puede además, en los modos primero y segundo, restringir la codificación predictiva en mosaicos en los que se subdivide la instantánea.
Una estructura posible de un codificador se ilustra en la figura 26 por motivos de completitud. El predictor 70 funciona casi de la misma manera que el predictor 28, esto es, efectúa la predicción, pero también determina, mediante optimización, por ejemplo, los parámetros de codificación que incluyen los parámetros y modos de predicción. Los módulos 26 y 27 también se producen en el decodificador. El restador 72 determina el residuo de predicción sin pérdidas que a continuación, se codifica con pérdidas, mediante el uso de cuantificación y opcionalmente, usando transformación de descomposición espectral, en el módulo de transformación y cuantificación 74. El codificador de entropía 76 efectúa la codificación de entropía adaptable al contexto.
Además de los ejemplos concretos de sintaxis anteriores, se resume un ejemplo diferente a continuación que presenta la concordancia entre los términos usados posteriormente y términos usados anteriormente .
En particular, sin haber sido señalados en particular anteriormente en el presente documento, los sectores dependientes no son solamente “dependientes” porque los mismos permitan aprovechar el conocimiento conocido desde el exterior de su límite, tal como se ha resumido anteriormente, sino que tienen los contextos de entropía adaptados más rápido u obtienen una predicción espacial mejor debido a permitir el cruce de su límite. En lugar de esto, con el fin de ahorrar coste de tasa que se tiene que gastar para definir los encabezamientos de sector al dividir la instantánea en sectores, los sectores dependientes adoptan una parte de la sintaxis de encabezamiento de sector de los sectores previos, esto es, esta porción de encabezamiento de sintaxis de sector no se transmite otra vez para sectores dependientes. Esto se muestra por ejemplo en la figura 16 con el número 100 y en la figura 21 con el número 102, según las cuales, el tipo de sector se adopta del sector previo, por ejemplo. Mediante esta medida, la subdivisión de una instantánea en sectores, tal como un sector independiente y sectores dependientes, es menos costosa en términos de gasto de consumo de bits.
Es la recién mencionada dependencia la que conduce, en el ejemplo que se señala posteriormente en el presente documento, a una terminología ligeramente diferente: los sectores se definen como porciones unitarias de una instantánea en la cual la sintaxis de encabezamiento de sector es ajustable individualmente. Por consiguiente, los sectores están compuestos por uno sector, usando la nomenclatura anterior, independiente/regular/normal, ahora llamado segmento de sector independiente y no uno o más sectores, usando la nomenclatura anterior, dependientes, ahora llamados segmentos de sectores dependientes.
La figura 27 muestra, por ejemplo, una instantánea que va a dividirse en dos sectores, uno formado por segmentos de sector 141 a 143 y la otra formada solamente por el segmento de sector 144. Los índices 1 a 4 muestran el orden de sector en orden de codificación. Las figuras 28a y b muestran un ejemplo diferente en caso de una subdivisión de una instantánea 10 en dos mosaicos, que presentan, en el caso de la figura 28a, un sector formado por todos los cinco segmentos de sector 14, que cubren ambos mosaicos 501 y 502, el índice surge otra vez en el orden de codificación, y, en el caso de la figura 28a, dos sectores formados por los segmentos de sector 141 y 142 y 143 y 144 respectivamente, que subdividen el mosaico 501 y otro sector formado por los segmentos de sector 145 - 146 que cubren el mosaico 502.
Las definiciones podrían ser como sigue:
segmento de sector dependiente: un segmento de sector para el cual los valores de algunos elementos de sintaxis del encabezamiento de segmento de sector se infieren de los valores para el segmento de sector independiente precedente en orden de decodificación, anteriormente, en las realizaciones anteriores, llamado un sector dependiente.
segmento de sector independiente: un segmento de sector para el cual los valores de los elementos de sintaxis del encabezamiento de segmento de sector no se infieren de los valores para un segmento de sector precedente, anteriormente, en las realizaciones anteriores, llamado un sector normal.
sector: un número entero de unidades de árbol de codificación contenidas en un segmento de sector independiente y todos los segmentos de sectores dependientes siguientes (si los hay) que preceden al siguiente segmento de sector independiente (si lo hay) dentro de la misma unidad de acceso/instantánea.
encabezamiento de sector: el encabezamiento de segmento de sector del segmento de sector independiente que es un segmento de sector actual o es el segmento de sector independiente que precede a un segmento de sector dependiente actual.
segmento de sector: un número entero de unidades de árbol de codificación ordenadas consecutivamente en la exploración de mosaicos y contenidas en una sola unidad de NAL; la división de cada instantánea en segmentos de sector es una división.
encabezamiento de segmento de sector: una parte de un segmento de sector codificado que contiene los elementos de datos pertenecientes a la primera o todas las unidades de árbol de codificación representadas en el segmento de sector.
La señalización de los “modos” 20 y 22, esto es “segmento de sector dependiente” y “segmento de sector independiente” podría ser como sigue:
En algunas unidades de NAL extra, tales como PPS, un elemento de sintaxis podría usarse para señalar si se usan sectores dependientes o no para una cierta instantánea de incluso una secuencia para ciertas instantáneas:
dependent_slice_segments_enabled_flag igual a 1 especifica la presencia del elemento de sintaxis dependent_slice_segment_flag en los encabezamientos de segmento de sector. dependent_slice_segments_enabled_flag igual a 0 especifica la ausencia del elemento de sintaxis dependent_slice_segment_flag en los encabezamientos de segmento de sector.
dependent_slice_segments_enabled_flag es similar en alcance a dependent_slices_present_flag descrito anteriormente.
De manera similar, dependent_slice_flag podría llamarse dependent_slice_segment_flag para tener en cuenta la diferente nomenclatura con respecto a sectores.
dependent_slice_segment_flag igual a 1 especifica que el valor de cada elemento de sintaxis de encabezamiento de segmento de sector que no está presente en el encabezamiento del segmento de sector actual se infiere para que sea igual al valor del elemento de sintaxis de encabezamiento de segmento de sector correspondiente en el encabezamiento de sector, esto es, el encabezamiento de segmento de sector del segmento de sector independiente precedente.
En el mismo nivel, tal como el nivel de instantánea, el siguiente elemento de sintaxis podría incluirse:
entropy_coding_sync_enabled_flag igual a 1 especifica que un proceso de sincronización específico para variables de contexto se invoca antes de la decodificación de la unidad de árbol de codificación que incluye el primer bloque de árbol de codificación de una fila de bloques de árbol de codificación en cada mosaico en cada instantánea que hace referencia a PPS y un proceso de almacenamiento específico para variables de contexto se invoca después de la decodificación de la unidad de árbol de codificación que incluye el segundo bloque de árbol de codificación de una fila de bloques de árbol de codificación en cada mosaico en cada instantánea que hace referencia al PPS. entropy_coding_sync_enabled_flag igual a 0 especifica que no se requiere ningún proceso de sincronización específico para variables de contexto a invocarse antes de la decodificación de la unidad de árbol de codificación que incluye el primer bloque de árbol de codificación de una fila de bloques de árbol de codificación en cada mosaico en cada instantánea que hace referencia al PPS y no se requiere ningún proceso de almacenamiento específico para variables de contexto a invocarse después de la decodificación de la unidad de árbol de codificación que incluye el segundo bloque de árbol de codificación de una fila de bloques de árbol de codificación en cada mosaico en cada instantánea que hace referencia al PPS.
Es un requisito de la conformación de flujo de bits que el valor de entropy_coding_sync_enabled_flag será el mismo para todos los PPS que están activados dentro de un CVS.
Cuando entropy_coding_sync_enabled_flag es igual a 1 y el primer bloque de árbol de codificación en un sector no es el primer bloque de árbol de codificación de una fila de bloques de árbol de codificación en un mosaico, es un requisito de conformación de flujo de bits que el último bloque de árbol de codificación en el sector pertenecerá a la misma fila de bloques de árbol de codificación como el primer bloque de árbol de codificación en el sector. Cuando entropy_coding_sync_enabled_flag es igual a 1 y el primer bloque de árbol de codificación en un segmento de sector no es el primer bloque de árbol de codificación de una fila de bloques de árbol de codificación en un mosaico, es un requisito de la conformación de flujo de bits que el último bloque de árbol de codificación en el segmento de sector pertenecerá a la misma fila de bloques de árbol de codificación que el primer bloque de árbol de codificación en el segmento de sector.
Como ya se describió, el orden de codificación/decodificación entre los CTB 30 conduce de fila en fila en manera de trama de arriba a abajo empezando con la exploración del primer mosaico, a continuación visitando el siguiente mosaico, si más de un mosaico está presente en la instantánea.
El decodificador 5, y, por consiguiente, el codificador, actúa como sigue en la decodificación (codificación) de entropía de los segmentos de sector 14 de la instantánea:
A1) Siempre que un elemento de sintaxis actualmente decodificado/codificado synEl es el primer elemento de sintaxis de un mosaico 50, el segmento de sector 14 o fila de CTB, se comienza un proceso de inicialización de la figura 29.
A2) De otra manera, la decodificación de este elemento de sintaxis tiene lugar utilizando los contextos de entropía actuales.
A3) Si el elemento de sintaxis actual fue el último elemento de sintaxis en un CTB 30, entonces se comienza un proceso de almacenamiento de contexto de entropía como se muestra en la figura 30.
A4) El proceso avanza a A1) con el siguiente elemento de sintaxis.
En el proceso de inicialización, se verifica 200 si synEI es el primer elemento de sintaxis de un segmento de sector 14 o mosaico 50. Si la respuesta es sí, los contextos se inicializan independientemente de cualquier segmento de sector previo en la etapa 202. Si la respuesta es no, se verifica 204 si synEI es el primer elemento de sintaxis de una fila de CTB 30 y entropy_coding_sync_enabled_flag es igual a uno. Si la respuesta es sí, se verifica 206 si en la línea previa de CTB 30 de mosaico igual, el segundo CTB 30 está disponible (véase la figura 23). Si la respuesta es sí, se efectúa una adopción de contexto según 40 en la etapa 210 utilizando las probabilidades de contexto almacenadas actualmente para adopciones de tipo 40. Si la respuesta es no, los contextos se inicializan independientemente de cualquier segmento de sector previo en la etapa 202. Si la verificación 204 revela que no, entonces se verifica en la etapa 212, si synEl es el primer elemento de sintaxis en el primer CTB de un segmento de sector dependiente 14 y si dependent_slice_segment_flag es igual a uno, y si la respuesta es sí, se efectúa la adopción de contexto según 38 en la etapa 214 utilizando las probabilidades de contexto almacenadas actualmente para adopciones de tipo 38. Después de cualquier etapa 214, 212, 210 y 202, la decodificación/codificación se comienza realmente.
Los segmentos de sectores dependientes con dependent_slice_segment_flag igual a uno, ayudan por lo tanto a disminuir adicionalmente el retardo de codificación/decodificación con casi ninguna penalización de la eficacia de codificación.
En el proceso de almacenamiento de la figura 30, se verifica en la etapa 300 si el synEl codificado/decodificado es el último elemento de sintaxis de un segundo CTB 30 de una fila de cTb 30, y entropy_coding_sync_enabled_flag es igual a uno. Si la respuesta es sí, los contextos de entropía actuales se almacenan en la etapa 302, esto es, las probabilidades de codificación de entropía de los contextos, en un almacenamiento que es específico para adopciones en 40. De manera similar, se verifica en la etapa 304, además de las etapas 300 o 302, si el synEl codificado/decodificado es el último elemento de sintaxis de un segmento de sector 14, y dependent_slice_segment_flag es igual a uno. Si la respuesta es sí, los contextos de entropía actuales se almacenan en la etapa 306, esto es, las probabilidades de codificación de entropía de los contextos, en un almacenamiento que es específico para adopciones en 38.
Se observará que cualquier interrogación de verificación en cuanto a si un elemento de sintaxis es el primer synEl de una fila de CTB, aprovecha por ejemplo, el elemento de sintaxis slice_address 400 dentro de los encabezamientos de segmento de sector, esto es, un elemento de sintaxis de inicio que revela una posición del comienzo del segmento de sector respectivo junto con el orden de decodificación.
En la reconstrucción de la instantánea 10 a partir del flujo de datos 12 utilizando procesamiento de WPP, el decodificador puede aprovechar exactamente la última porción de la sintaxis de inicio 400 para recuperar los puntos de entrada de subflujo WPP. Puesto que cada segmento de sector comprende una porción de sintaxis de inicio 400 que indica la posición de un comienzo de decodificación del segmento de sector respectivo dentro de la instantánea 10, el decodificador puede identificar los puntos de entrada de los subflujos de WPP en los que se agrupan los segmentos de sector, al identificar, utilizando las porciones de sintaxis de inicio de los segmentos de sector 400, segmentos de sector que inician en el lado izquierdo de la instantánea. El decodificador puede a continuación, en paralelo, decodificar los subflujos de WPP de manera escalonada con el comienzo secuencialmente de la decodificación de los subflujos de WPP según el orden de sector. Los segmentos de sector pueden aún ser más pequeños que la anchura de una instantánea, esto es una fila de CTB, de tal manera que su transmisión puede intercalarse entre los subflujos de WPP para reducir adicionalmente el retardo de extremo a extremo de transmisión global. El codificador proporciona cada sector (14) con una porción de sintaxis de inicio (400) que indica una posición del comienzo de codificación del sector respectivo dentro de la instantánea (10) y agruparía los sectores en subflujos de WPP de tal manera que para cada subflujo de WPP, el primer sector en orden de sectores se inicia en el lado izquierdo de la instantánea. El codificador puede aún, por sí mismo, usar el procesamiento de WPP en la codificación de la instantánea: el codificador codifica en paralelo los subflujos de WPP en de manera escalonada con el comienzo secuencialmente de la codificación de los subflujos de WPP según el orden de sector.
Mientras tanto, el último aspecto de usar las porciones de sintaxis de inicio del segmento de sector como medio para ubicar los puntos de entrada del subflujo de WPP, puede usarse sin el concepto de sector dependiente.
Sería factible para todo el procesamiento en paralelo de la instantánea 10, ajustar las variables anteriores como sigue:
Figure imgf000028_0001
Sería incluso factible mezclar WPP con la división de mosaicos. En ese caso, se podrían tratar mosaicos como instantáneas individuales: cada una de las cuales que usa WPP estaría compuesta de un sector que tiene uno o más segmentos de sectores dependientes y la verificación en la etapa 300 y 208 haría referencia al segundo CTB en la fila de CTB anterior en el mismo mosaico, tal como las etapas 204 y A1 harían referencia al primer CTB 30 en la fila de CTB 30 del mosaico actual. En ese caso, la tabla anterior podría extenderse:
Figure imgf000028_0003
Como una breve nota, la última extensión también habría sido posible con la realización 2. La realización 2 permite el siguiente procesamiento:
Figure imgf000028_0002
Sin embargo con las siguientes extensiones, la tabla daría como resultado:
Agregar a semántica de conjunto de parámetros de instantánea:
Si tiles_or_entropy_coding_sync_idc es igual a 4, cada una, excepto la primera fila de CTB estará contenida en un sector diferente con el indicador de sector dependiente ajustado a 1. Los CTB de diferentes filas no deben estar presentes en el mismo sector. Puede haber más de un sector presente por fila de CTB.
Si tiles_or_entropy_coding_sync_idc es igual a 5, los CTB de cada uno, excepto el primer mosaico debe estar contenidos en un sector diferente. Los CTB de diferentes mosaicos no deben estar presentes en el mismo sector. Puede haber más de un sector presente por mosaico.
Véase la figura 31, para explicación adicional.
Esto es, la tabla anterior puede extenderse:
Figure imgf000029_0001
Con respecto a las realizaciones anteriores, debe observarse que el decodificador podría estar configurado por ejemplo para responder a tiles_or_entropy_coding_sync_idc=1,2, en los modos primero y segundo, leer información del sector actual que revela una subdivisión del sector actual en subsecciones paralelas, en el que las subsecciones paralelas podrían ser subflujos de WPP o mosaicos, detener la decodificación de entropía adaptable al contexto al final de la primera subsección en paralelo y reanudar la decodificación de entropía adaptable al contexto de nuevo al comienzo de cualquier subsección paralela siguiente incluyendo, en el primer modo, una inicialización de las probabilidades de símbolo dependiente de los estados guardados de probabilidades de símbolo de la subsección paralela precedente y en el segundo modo, una inicialización de las probabilidades de símbolo independientemente de cualquier sector previamente decodificado y cualquier subsección en paralelo previamente decodificada.
Por lo tanto, la descripción anterior reveló métodos para la codificación, decodificación, encapsulación y transmisión con bajo retardo de datos de video estructurados tal como se proporcionan por el nuevo estándar de codificación de HEVC, tal como estructurado en mosaicos, subflujos de procesamiento en paralelo de frente de onda (WPP), sectores o sectores de entropía.
Especialmente, se ha definido cómo transportar datos codificados en paralelo en un escenario conversacional con el fin de ganar latencia mínima en el proceso de codificación, decodificación y transmisión. Por consiguiente, se ha descrito un procedimiento de codificación, transmisión y decodificación en paralelo de tubería con el fin de permitir aplicaciones de retardo mínimo como juegos, cirugía a distancia, etc.
Además, las realizaciones anteriores cerraron el espacio del procesamiento en paralelo de frente de onda (WPP) para hacerlo utilizable en escenarios de transmisión con bajo retardo. Por consiguiente, se ha presentado un nuevo formato de encapsulación para subflujos 0 de WPP, un sector dependiente. Este sector dependiente puede contener datos de sector de entropía, un subflujo de WPP, una fila completa de LCU, solo un fragmento de un sector, en donde el encabezamiento de sector transmitido previo también se aplica a los datos de fragmento contenidos. Los datos contenidos se señalan en el encabezamiento de subsector.
Se observará finalmente, que la nomenclatura para los nuevos sectores podría también ser “subconjunto / sectores de peso ligero”, pero el nombre “sector dependiente” se ha encontrado que es mejor.
Se ha presentado una señalización que describe el nivel de paralelización en codificación y transporte.
Se describirá adicionales aspectos de la invención.
Según un primer aspecto es un codificador para reconstruir una instantánea 10 a partir de un flujo de datos 12 en el cual se codifica la instantánea en unidades de sectores 14 en las cuales se divide la instantánea 10 está configurado para decodificar los sectores 14 del flujo de datos 12 según un orden de sector 16 y el decodificador responde a una porción de elemento de sintaxis 18 dentro de un sector actual de los sectores, para decodificar el sector actual según al menos uno de al menos dos modos 20, 22, y según uno primero 20 de los al menos dos modos, decodificar el sector actual del flujo de datos 12 utilizando decodificación de entropía adaptable al contexto 24 que incluye una derivación de contextos a través de límites de sector, una actualización continua de probabilidades de símbolo de los contextos y una inicialización 38, 40 de las probabilidades de símbolo dependiente de los estados guardados de las probabilidades de símbolo de un sector previamente decodificado, y decodificación predictiva a través de los límites de sector, y según uno segundo 22 de los al menos dos modos, decodificar el sector actual del flujo de datos 12 utilizando decodificación de entropía adaptable al contexto con restricción de la derivación de los contextos para no cruzar los límites de sector, una actualización continua de probabilidades de símbolo de los contextos y una inicialización de las probabilidades de símbolo independientemente de cualquier sector previamente decodificado, y decodificación predictiva con restricción de la decodificación predictiva para no cruzar los límites de sector, Según un segundo aspecto cuando hace referencia de nuevo al primer aspecto, la instantánea 10 se divide en bloques de codificación 32 dispuestos en filas y columnas y que tienen un orden de exploración de trama 36 definido entre sí y el decodificador está configurado para asociar cada sector 14 con un subconjunto continuo de los bloques de codificación 32 en el orden de exploración de trama 36 de tal manera que los subconjuntos siguen entre sí a lo largo del orden de exploración de trama 36 según el orden de sector.
Según un tercer aspecto cuando hace referencia de nuevo al segundo aspecto, el decodificador está configurado para guardar probabilidades de símbolo tal como se obtienen en la decodificación de entropía adaptable al contexto del sector previamente decodificado a un segundo bloque de codificación 32 en una fila según el orden de exploración de trama 36 y en la inicialización de las probabilidades de símbolo para la decodificación de entropía adaptable al contexto del sector actual según el primer modo, verificar si un primer bloque de codificación del subconjunto continuo de bloques de codificación 32 asociados con el sector actual es un primer bloque de codificación 32 en una fila según el orden de exploración de trama y, si es así, inicializar 40 las probabilidades de símbolo para la decodificación de entropía adaptable al contexto del sector actual dependiendo de las probabilidades de símbolo guardadas, tal como se obtienen en la decodificación de entropía adaptable al contexto del sector previamente decodificado hasta un segundo bloque de codificación en una fila según el orden de exploración de trama 36, y si no, inicializar 38 las probabilidades de símbolo para la decodificación de entropía adaptable al contexto del sector actual dependiendo de las probabilidades de símbolo, tal como se obtienen en decodificación de entropía adaptable al contexto del sector previamente decodificado hasta el final del sector previamente decodificado.
Según un cuarto aspecto cuando hace referencia de nuevo a los aspectos primero a tercero, el Decodificador según la reivindicación 1, en el que el decodificador está configurado para responder a la porción de elemento de sintaxis 18 dentro del sector actual de los sectores 14, para decodificar el sector actual según uno de al menos tres modos, concretamente en uno del primero 20 y un tercer modo 42 o un segundo modo 22, en el que el decodificador está configurado para según el tercer modo 42 decodificar el sector actual del flujo de datos utilizando decodificación de entropía adaptable al contexto con restricción de la derivación de los contextos para no cruzar los límites de sector, una actualización continua de probabilidades de símbolo de los contextos y una inicialización de las probabilidades de símbolo independientemente de cualquier sector previamente decodificado y decodificación predictiva a través de los límites de sector, en el que uno del primer y tercer modos se selecciona dependiendo de un elemento de sintaxis. Según un quinto aspecto cuando hace referencia de nuevo a los aspectos primero a tercero, el decodificador está configurado para responder a un elemento de sintaxis genérico en el flujo de datos para operar en uno de al menos dos modos de operación genéricos con, según un primer modo de operación genérico, efectuar la capacidad de respuesta a la porción de elementos de sintaxis para cada sector, y, según un segundo modo de operación genérico, inevitablemente utilizar uno diferente de los al menos dos modos distintos del primer modo.
Según un sexto aspecto cuando hace referencia de nuevo al segundo aspecto, el decodificador está configurado para, según el primer y segundo modo, inevitablemente y de manera ininterrumpida continuar actualizando continuamente las probabilidades de símbolo desde un comienzo hasta el fin del sector actual.
Según un séptimo aspecto cuando hace referencia de nuevo al segundo aspecto, el decodificador está configurado para guardar probabilidades de símbolo tal como se obtienen en la decodificación de entropía adaptable al contexto del sector previamente decodificado hasta un final del sector previamente decodificado, y, al inicializar las probabilidades de símbolo para la codificación de entropía adaptable al contexto del sector actual según el primer modo, inicializar las probabilidades de símbolo para la codificación de entropía adaptable al contexto del sector actual dependiendo de las probabilidades de símbolo guardadas.
Según un octavo aspecto cuando hace referencia de nuevo a los aspectos primero a séptimo, el decodificador está configurado para, en el primer y segundo modo, restringir la decodificación predictiva dentro de mosaicos en los que se subdivide la instantánea.
Según un noveno aspecto cuando hace referencia de nuevo a los aspectos primero a octavo, el decodificador está configurado para, en el primer y segundo modo, leer información del sector actual que revela una subdivisión del sector actual en sub-secciones en paralelo, detener la decodificación de entropía adaptable al contexto al final de la primera subsección en paralelo y reanudar la decodificación de entropía adaptable al contexto de nuevo en un comienzo de cualquier subsección paralela siguiente incluyendo, en el primer modo, una inicialización de las probabilidades de símbolo dependiendo de los estados guardados de probabilidades de símbolo de la subsección paralela precedente y en el segundo modo, una inicialización de las probabilidades de símbolo independientemente de cualquier sector previamente decodificado y cualquier subsección paralela previamente decodificada.
Según un décimo aspecto cuando hace referencia de nuevo a los aspectos primero a noveno, el decodificador está configurado para, según el primero 20 de los al menos dos modos, copiar para el sector actual una porción de una sintaxis de encabezamiento de sector de un sector precedente decodificado en el segundo modo.
Según un decimoprimer aspecto cuando hace referencia de nuevo a los aspectos primero a décimo, el decodificador está configurado para reconstruir la instantánea 10 a partir del flujo de datos 12 utilizando procesamiento de WPP, en el que cada sector 14 comprende una porción de sintaxis de inicio 400 que indica una posición de un comienzo de decodificación del sector respectivo dentro de la instantánea 10 y en el que el decodificador está configurado para identificar puntos de entrada de subflujos de WPP en los que se agrupan los sectores, identificando, utilizando las porciones de sintaxis de inicio de sector, sectores que inician en el lado izquierdo de la instantánea, y decodificación en paralelo de los subflujos de WPP de manera escalonada comenzando secuencialmente la decodificación de los subflujos de WPP según el orden de sector.
Según un decimosegundo aspecto, un codificador para codificar una instantánea 10 en un flujo de datos 12 en unidades de sectores 14 en las que se divide la instantánea 10, en el que el codificador está configurado para codificar los sectores 14 en el flujo de datos 12 según un orden de sector 16 y el codificador está configurado para determinar una porción de elemento de sintaxis 18, y codificar la misma en un sector actual de los sectores de tal manera que la porción de elemento de sintaxis señala el sector actual a codificarse según uno de al menos dos modos 20, 22, y si el sector actual se ha de codificar según uno primero 20 de los al menos dos modos, codificar el sector actual en el flujo de datos 12 utilizando codificación de entropía adaptable al contexto 24 incluyendo una derivación de contextos a través de límites de sector, una actualización continua de probabilidades de símbolo de los contextos y una inicialización 38, 40 de las probabilidades de símbolo dependiendo de los estados guardados de probabilidades de símbolo de un sector previamente codificado, y codificación predictiva a través de los límites de sector, y si el sector actual se ha de codificar según uno segundo 22 de los al menos dos modos, codificar el sector actual en el flujo de datos 12 utilizando codificación de entropía adaptable al contexto con restricción de la derivación de los contextos para no cruzar los límites de sector, una actualización continua de probabilidades de símbolo de los contextos y una inicialización de las probabilidades de símbolo independientemente de cualquier sector previamente codificado, y codificación predictiva con restricción de la codificación predictiva para no cruzar los límites de sector. Según un decimotercer aspecto cuando hace referencia de nuevo al decimosegundo aspecto, la instantánea 10 se divide en bloques de codificación 32 dispuestos en filas y columnas y que tienen un orden de exploración de trama 36 definido entre sí, y el codificador está configurado para asociar cada sector 14 con un subconjunto continuo de los bloques de codificación 32 en el orden de exploración de trama 36 de tal manera que los subconjuntos se siguen entre sí a lo largo del orden de exploración de trama 36 según el orden de sector.
Según un decimocuarto aspecto cuando hace referencia de nuevo al decimotercer aspecto, el codificador está configurado para guardar probabilidades de símbolo tal como se obtienen en la codificación de entropía adaptable al contexto del sector previamente codificado hasta un segundo bloque de codificación 32 en una fila según el orden de exploración de trama 36 y en la inicialización de las probabilidades de símbolo para la codificación de entropía adaptable al contexto del sector actual según el primer modo, verificar si un primer bloque de codificación del subconjunto continuo de bloques de codificación 32 asociados con el sector actual es un primer bloque de codificación 32 en una fila según el orden de exploración de trama y si es así, inicializar 40 las probabilidades de símbolo para la codificación de entropía adaptable al contexto del sector actual dependiendo de las probabilidades de símbolo guardadas tal como se obtienen en la codificación de entropía adaptable al contexto del sector previamente codificado a un segundo bloque de codificación en una fila según el orden de exploración de trama 36 y si no, inicializar 38 las probabilidades de símbolo para la codificación de entropía adaptable al contexto del sector actual dependiendo de las probabilidades de símbolo tal como se obtienen en la codificación de entropía adaptable al contexto del sector previamente decodificado hasta el final del sector previamente codificado.
Según un decimoquinto aspecto cuando hace referencia de nuevo a los aspectos decimosegundo a decimocuarto, el codificador está configurado para codificar la porción de elemento de sintaxis 18 en el sector actual de los sectores 14 de tal manera que el sector actual se señaliza para codificarse en el mismo según uno de al menos tres modos, concretamente en uno del primero 20 y un tercer modo 42 o un segundo modo 22, en el que el codificador está configurado para según el tercero modo 42, codificar el sector actual en el flujo de datos utilizando codificación de entropía adaptable al contexto con restricción de la derivación de los contextos para no cruzar los límites de sector, una actualización continua de probabilidades de símbolo de los contextos y una inicialización de las probabilidades de símbolo independientemente de cualquier sector previamente codificado y codificación predictiva a través de los límites de sector, en el que el codificador distingue entre uno de los modos primero y tercero utilizando un elemento de sintaxis.
Según un decimosexto aspecto cuando hace referencia de nuevo a los aspectos decimosegundo a decimoquinto, el codificador está configurado para determinar un elemento de sintaxis genérico y escribir el mismo en el flujo de datos con operación en uno de al menos dos modos de operación genéricos dependiendo del elemento de sintaxis genérico, concretamente, con, según un primer modo de operación genérico, efectuar la codificación de la porción de elemento de sintaxis para cada sector, y, según un segundo modo de operación genérico, inevitablemente utilizar uno diferente de los al menos dos modos distintos del primer modo.
Según un decimoséptimo aspecto cuando hace referencia de nuevo al decimotercer aspecto, el codificador está configurado para, según los modos primero y segundo, inevitablemente y de manera ininterrumpida continuar la actualización continua de las probabilidades de símbolo desde el comienzo hasta el final del sector actual Según un decimoctavo aspecto cuando hace referencia de nuevo al decimotercer aspecto, el decodificador está configurado para guardar probabilidades de símbolo tal como se obtienen en la decodificación de entropía adaptable al contexto del sector previamente decodificado hasta un final del sector previamente decodificado, y, al inicializar las probabilidades de símbolo para la codificación de entropía adaptable al contexto del sector actual según el primer modo, inicializar las probabilidades de símbolo para la codificación de entropía adaptable al contexto del sector actual dependiendo de las probabilidades de símbolo guardadas.
Según un decimonoveno aspecto cuando hace referencia de nuevo a los aspectos duodécimo a decimoctavo, el decodificador está configurado para, en el primer y segundo modo, restringir la decodificación predictiva dentro de mosaicos en los que se subdivide la instantánea.
Según un vigésimo aspecto, un decodificador para reconstruir una instantánea 10 a partir de un flujo de datos 12 en el que la instantánea se codifica en unidades de sectores 14 en las que se divide la instantánea 10, usando procesamiento de WPP, está configurado para decodificar los sectores14 a partir del flujo de datos 12 según un orden de sector 16, en el que cada sector 14 comprende una porción de sintaxis de inicio 400 que indica una posición de un comienzo de decodificación del sector respectivo dentro de la instantánea 10 y en el que el decodificador está configurado para identificar puntos de entrada de subflujos de WPP en los que se agrupan los sectores, identificando, utilizando las porciones de sintaxis de inicio de sector, sectores que inician en el lado izquierdo de la instantánea, y decodificación en paralelo de los subflujos de WPP de manera escalonada comenzando secuencialmente la decodificación de los subflujos de WPP según el orden de sector.
Según un vigésimo primer aspecto, un codificador para codificar una instantánea 10 en un flujo de datos 12 en el que la instantánea se codifica en unidades de sectores 14 en las que se divide la instantánea 10, usando procesamiento de WPP, está configurado para codificar los sectores 14 en el flujo de datos 12 según un orden de sector 16, en el que el codificador está configurado para proporcionar cada sector 14 con una porción de sintaxis de inicio 400 que indica una posición del comienzo de codificación del sector respectivo dentro de la instantánea 10 y agruparía los sectores en subflujos de WPP de tal manera que para cada subflujo de WPP, el primer sector en orden de sectores se inicia en el lado izquierdo de la instantánea, codifica en paralelo los subflujos de WPP de manera escalonada con el comienzo secuencialmente de la codificación de los subflujos de WPP según el orden de sector. Según un vigésimo segundo aspecto, un método para reconstruir una instantánea 10 a partir de un flujo de datos 12 en la que se codifica la instantánea en unidades de sectores 14 en las que se divide la instantánea 10, en el que el método comprende decodificar los sectores 14 del flujo de datos 12 según un orden de sector 16 y el método responde a una porción de elemento de sintaxis 18 dentro de un sector actual de los sectores, para decodificar el sector actual según uno de al menos dos modos 20, 22, en el que según uno primero 20 de los al menos dos modos, el sector actual se decodifica a partir del flujo de datos 12 utilizando decodificación de entropía adaptable al contexto 24 que incluye una derivación de contextos a través de límites de sector, una actualización continua de probabilidades de símbolo de los contextos y una inicialización 38, 40 de las probabilidades de símbolo dependiendo de los estados guardados de probabilidades de símbolo de un sector previamente decodificado, y decodificación predictiva a través de los límites de sector, y según uno segundo 22 de los al menos dos modos, el sector actual se decodifica del flujo de datos 12 utilizando decodificación de entropía adaptable al contexto con restricción de la derivación de los contextos para no cruzar los límites de sector, una actualización continua de probabilidades de símbolo de los contextos y una inicialización de las probabilidades de símbolo independientemente de cualquier sector previamente decodificado, y decodificación predictiva con restricción de la decodificación predictiva para no cruzar los límites de sector,
Según un vigésimo tercer aspecto, un método para codificar una instantánea 10 en un flujo de datos 12 en unidades de sectores 14 en las que se divide la instantánea 10, en el que el método comprende codificar los sectores 14 en el flujo de datos 12 según un orden de sector 16 y el método comprende determinar una porción de elemento de sintaxis 18, y codificar la misma en un sector actual de los sectores de tal manera que la porción de elemento de sintaxis señala el sector actual a codificarse según uno de al menos dos modos 20, 22, y si el sector actual se ha de codificar según uno primero 20 de los al menos dos modos, codificar el sector actual en el flujo de datos 12 utilizando codificación de entropía adaptable al contexto 24 incluyendo una derivación de contextos a través de límites de sector, una actualización continua de probabilidades de símbolo de los contextos y una inicialización 38, 40 de las probabilidades de símbolo dependiendo de los estados guardados de probabilidades de símbolo de un sector previamente codificado, y codificación predictiva a través de los límites de sector, y si el sector actual se ha de codificar según uno segundo 22 de los al menos dos modos, codificar el sector actual en el flujo de datos 12 utilizando codificación de entropía adaptable al contexto con restricción de la derivación de los contextos para no cruzar los límites de sector, una actualización continua de probabilidades de símbolo de los contextos y una inicialización de las probabilidades de símbolo independientemente de cualquier sector previamente codificado, y codificación predictiva con restricción de la codificación predictiva para no cruzar los límites de sector.
Según un vigésimo cuarto aspecto, un método para reconstruir una instantánea 10 a partir de un flujo de datos 12 en la que se codifica la instantánea en unidades de sectores 14 en las que se divide la instantánea 10, usando procesamiento de WPP, decodificar los sectores 14 del flujo de datos 12 según un orden de sector 16, en el que cada sector 14 comprende una porción de sintaxis de inicio 400 que indica una posición del comienzo de codificación del sector respectivo dentro de la instantánea 10 y el método comprende además identificar puntos de entrada de subflujos de WPP en los que se agrupan los sectores, identificando, utilizando las porciones de sintaxis de inicio de sector, sectores que inician en el lado izquierdo de la instantánea, y decodificación en paralelo de los subflujos de WPP de manera escalonada comenzando secuencialmente la decodificación de los subflujos de WPP según el orden de sector.
Según un vigésimo quinto aspecto, un método para codificar una instantánea 10 en un flujo de datos 12 en unidades de sectores 14 en las que se divide la instantánea 10, usando procesamiento de WPP, comprende codificar los sectores 14 en el flujo de datos 12 según un orden de sector 16, y proporcionar cada sector 14 con una porción de sintaxis de inicio 400 que indica una posición del comienzo de codificación del sector respectivo dentro de la instantánea 10 y agrupar adicionalmente los sectores en subflujos de WPP de tal manera que para cada subflujo de WPP, el primer sector en orden de sectores se inicia en el lado izquierdo de la instantánea, codifica en paralelo los subflujos de WPP de manera escalonada con el comienzo secuencialmente de la codificación de los subflujos de WPP según el orden de sector
Un aspecto vigésimo sexto se refiere a un programa informático que tiene un código de programa para realizar, cuando se ejecuta en un ordenador, un método según los aspectos vigésimo segundo o vigésimo quinto aspecto.
Aunque algunos aspectos han sido descritos en el contexto de un aparato, es evidente que estos aspectos también representan una descripción del método correspondiente, en donde un bloque o dispositivo corresponde a una etapa de método o un aspecto de una etapa de método. Análogamente, los aspectos descritos en el contexto de una etapa de método también representan una descripción de un bloque o elemento o característica de un aparato correspondiente. Algunas o todas las etapas de método pueden ejecutarse por (o usando) un aparato de hardware, como por ejemplo, un microprocesador, un ordenador programable o un circuito electrónico. En algunas realizaciones, alguna o más de las etapas de método más importantes pueden ejecutarse mediante tal aparato.
Dependiendo de ciertos requisitos de implementación, las realizaciones de la invención pueden implementarse en hardware o en software. La implementación puede realizarse utilizando un medio de almacenamiento digital, por ejemplo un disco flexible, un DVD, un Blu-Ray, un CD, una ROM, una PROM, una EPROM, una EEPROM o una memoria FLASH, que tiene señales de control que se pueden leer electrónicamente almacenadas en la misma, que cooperan (o que son aptas para cooperar) con un sistema de ordenador programable, de tal manera que se efectúa el método respectivo. Por consiguiente, el medio de almacenamiento digital se puede leer por ordenador.
Algunas realizaciones según la invención comprenden un portador de datos que tiene señales de control que se pueden leer electrónicamente que son aptas para cooperar con un sistema de ordenador programable, de tal manera que se efectúa uno de los métodos descritos en el presente documento.
En general, las realizaciones de la presente invención pueden implementarse como un producto de programa de ordenador con códigos de programa, los códigos de programa pueden funcionar para efectuar uno de los métodos cuando el producto de programa de ordenador se ejecuta en un ordenador. Los códigos de programa pueden por ejemplo almacenarse en un portador que se puede leer por la máquina.
Otras realizaciones comprenden el programa de ordenador para efectuar uno de los métodos descritos en el presente documento, almacenado en un portador que se puede leer por la máquina.
En otras palabras, una realización del método de la invención es por consiguiente, un programa de ordenador que tiene códigos de programa para efectuar uno de los métodos descritos en el presente documento, cuando el programa de ordenador se ejecuta en un ordenador.
Una realización adicional de los métodos de la invención es por consiguiente, un portador de datos (o medio de almacenamiento digital o medio que se puede leer por ordenador) que comprende, registrado en el mismo, el programa de ordenador para efectuar uno de los métodos descritos en el presente documento. El portador de datos, medio de almacenamiento digital o el medio registrado son típicamente tangibles y/o no transitorios.
Una realización adicional del método de la invención es por consiguiente, un flujo de datos o una secuencia de señales que representan el programa de ordenador para efectuar uno de los métodos descritos en el presente documento. El flujo de datos o la secuencia de señales puede por ejemplo estar configurada para ser transferida mediante una conexión de comunicación de datos, por ejemplo, mediante Internet.
Una realización adicional comprende un medio de procesamiento, por ejemplo un ordenador o un dispositivo lógico programable, configurado para o adaptado para efectuar uno de los métodos descritos en el presente documento. Una realización adicional comprende un ordenador que tiene instalado en el mismo el programa de ordenador para efectuar uno de los métodos descritos en el presente documento.
Una realización adicional según la invención comprende un aparato o un sistema configurado para transferir (por ejemplo, electrónica u ópticamente) un programa de ordenador para efectuar uno de los métodos descritos en el presente documento a un receptor. El receptor puede ser por ejemplo un ordenador, un dispositivo móvil, un dispositivo de memoria o similares. El aparato o sistema puede por ejemplo comprender un servidor de archivos para transferir el programa de ordenador al receptor.
En algunas realizaciones, se puede usar un dispositivo lógico programable (por ejemplo, una matriz de compuertas programables en el campo) para efectuar algunas o todas las funcionalidades de los métodos descritos en el presente documento. En algunas realizaciones, las matrices de compuertas programables en el campo pueden cooperar con un microprocesador con el fin de efectuar uno de los métodos descritos en el presente documento. En general, los métodos se efectúan preferentemente mediante cualquier aparato de hardware.
Las realizaciones descritas anteriormente son solamente ilustrativas para los principios de la presente invención. Se comprenderá que serán evidentes modificaciones y variaciones de las disposiciones y los detalles descritos en el presente documento para otros expertos en la materia. Se pretende por consiguiente limitarse solamente por el alcance de las siguientes reivindicaciones de patente y no por los detalles específicos presentados a modo de descripción y explicación de las realizaciones del presente documento.
Referencias
[1] Thomas Wiegand, Gary J. Sullivan, Gisle Bjontegaard, Ajay Luthra, “Overview of the H.264/AVC Video Coding Standard”, IEEE Trans. Circuits Syst. Video Technol., vol. 13, N7, julio de 2003.
[2] JCT-VC, “High-Efficiency Video Coding (HEVC) text specification Working Draft 6”, JCTVC-H1003, febrero de 2012.
[3] ISO/IEC 13818-1: MPEG-2 Systems specification

Claims (19)

REIVINDICACIONES
1. Decodificador para reconstruir una instantánea (10) a partir de un flujo de datos (12) en el cual se codifica la instantánea en unidades de sectores (14) en las cuales se divide la instantánea (10), en el que el decodificador está configurado para decodificar los sectores (14) del flujo de datos (12) según un orden de sector (16) y el decodificador responde a una porción de elemento de sintaxis (18) dentro de un sector actual de los sectores, para decodificar el sector actual según al menos uno de al menos dos modos (20, 22), y
según uno primero (20) de los al menos dos modos, decodificar el sector actual del flujo de datos (12) utilizando decodificación de entropía adaptable al contexto (24) que incluye una derivación de contextos a través de límites de sector, una actualización continua de probabilidades de símbolo de los contextos y una inicialización (38, 40) de las probabilidades de símbolo dependiente de los estados guardados de las probabilidades de símbolo de un sector previamente decodificado, y decodificación predictiva a través de los límites de sector, y
según uno segundo (22) de los al menos dos modos, decodificar el sector actual del flujo de datos (12) utilizando decodificación de entropía adaptable al contexto con restricción de la derivación de los contextos para no cruzar los límites de sector, una actualización continua de probabilidades de símbolo de los contextos y una inicialización de las probabilidades de símbolo independientemente de cualquier sector previamente decodificado, y decodificación predictiva con restricción de la decodificación predictiva para no cruzar los límites de sector,
en el que la instantánea (10) se divide en bloques de codificación (32) dispuestos en filas y columnas y que tienen un orden de exploración de trama (36) definido entre sí y el decodificador está configurado para asociar cada sector (14) con un subconjunto continuo de los bloques de codificación (32) en el orden de exploración de trama (36) de tal manera que los subconjuntos siguen entre sí a lo largo del orden de exploración de trama (36) según el orden de sector, y
en el que el decodificador está configurado para guardar probabilidades de símbolo tal como se obtienen en la decodificación de entropía adaptable al contexto del sector previamente decodificado a un segundo bloque de codificación (32) en una fila según el orden de exploración de trama (36) y en la inicialización de las probabilidades de símbolo para la decodificación de entropía adaptable al contexto del sector actual según el primer modo, verificar si un primer bloque de codificación del subconjunto continuo de bloques de codificación (32) asociados con el sector actual es un primer bloque de codificación (32) en una fila según el orden de exploración de trama y, si es así, inicializar (40) las probabilidades de símbolo para la decodificación de entropía adaptable al contexto del sector actual dependiendo de las probabilidades de símbolo guardadas, tal como se obtienen en la decodificación de entropía adaptable al contexto del sector previamente decodificado hasta un segundo bloque de codificación en una fila según el orden de exploración de trama (36), y si no, inicializar (38) las probabilidades de símbolo para la decodificación de entropía adaptable al contexto del sector actual dependiendo de las probabilidades de símbolo, tal como se obtienen en decodificación de entropía adaptable al contexto del sector previamente decodificado hasta el final del sector previamente decodificado.
en el que el decodificador está configurado para procesar muestras de la instantánea en unidades de bloques de árbol de codificación divididas en bloques de codificación usando división de árbol cuádruple recursiva.
2. Decodificador según la reivindicación 1, en el que el decodificador está configurado para responder a la porción de elemento de sintaxis (18) dentro del sector actual de los sectores (14), para decodificar el sector actual según uno de al menos tres modos, concretamente en uno del primero (20) y en un tercer modo (42) o un segundo modo (22), en el que el decodificador está configurado para
según el tercer modo (42) decodificar el sector actual del flujo de datos utilizando decodificación de entropía adaptable al contexto con restricción de la derivación de los contextos para no cruzar los límites de sector, una actualización continua de probabilidades de símbolo de los contextos y una inicialización de las probabilidades de símbolo independientemente de cualquier sector previamente decodificado y decodificación predictiva a través de los límites de sector,
en el que uno del primer y tercer modos se selecciona dependiendo de un elemento de sintaxis.
3. Decodificador según la reivindicación 1 o 2, en el que el decodificador está configurado para responder a un elemento de sintaxis genérico en el flujo de datos para operar en uno de al menos dos modos de operación genéricos con, según un primer modo de operación genérico, efectuar la capacidad de respuesta a la porción de elementos de sintaxis para cada sector, y, según un segundo modo de operación genérico, inevitablemente utilizar uno diferente de los al menos dos modos distintos del primer modo.
4. Decodificador según cualquiera de las reivindicaciones 1 a 3, en el que el decodificador está configurado para, según el primer y segundo modo, inevitablemente y de manera ininterrumpida continuar actualizando continuamente las probabilidades de símbolo desde un comienzo hasta el fin del sector actual.
5. Decodificador según cualquiera de las reivindicaciones 1 a 4, en el que el decodificador está configurado para guardar probabilidades de símbolo tal como se obtienen en la decodificación de entropía adaptable al contexto del sector previamente decodificado hasta un final del sector previamente decodificado.
6. Decodificador según cualquiera de las reivindicaciones 1 a 5, en el que el decodificador está configurado para, en el primer y segundo modo, restringir la decodificación predictiva dentro de mosaicos en los que se subdivide la instantánea.
7. Decodificador según cualquiera de las reivindicaciones 1 a 6, en el que el decodificador está configurado para, en el primer y segundo modo, leer información del sector actual que revela una subdivisión del sector actual en sub­ secciones en paralelo, detener la decodificación de entropía adaptable al contexto al final de la primera subsección en paralelo y reanudar la decodificación de entropía adaptable al contexto de nuevo en un comienzo de cualquier subsección paralela siguiente incluyendo, en el primer modo, una inicialización de las probabilidades de símbolo dependiendo de los estados guardados de probabilidades de símbolo de la subsección paralela precedente y en el segundo modo, una inicialización de las probabilidades de símbolo independientemente de cualquier sector previamente decodificado y cualquier subsección paralela previamente decodificada.
8. Decodificador según cualquiera de las reivindicaciones 1 a 7, en donde el decodificador está configurado para, según el primero (20) de los al menos dos modos, copiar para el sector actual una porción de una sintaxis de encabezamiento de sector de un sector precedente decodificado en el segundo modo.
9. Decodificador según cualquiera de las reivindicaciones precedentes, en el que el decodificador está configurado para reconstruir la instantánea (10) a partir del flujo de datos (12) utilizando procesamiento de WPP, en el que cada sector (14) comprende una porción de sintaxis de inicio (400) que indica una posición de un comienzo de decodificación del sector respectivo dentro de la instantánea (10) y en el que el decodificador está configurado para identificar puntos de entrada de subflujos de WPP en los que se agrupan los sectores, identificando, utilizando las porciones de sintaxis de inicio de sector, sectores que inician en el lado izquierdo de la instantánea, y decodificación en paralelo de los subflujos de WPP de manera escalonada comenzando secuencialmente la decodificación de los subflujos de WPP según el orden de sector.
10. Decodificador según cualquiera de las reivindicaciones 1 a 9, en el que el decodificador está configurado para dividir bloques de transformación de crominancia de manera diferente que los bloques de transformación de luminancia en respuesta a información en el flujo de datos.
11. Codificador para codificar una instantánea (10) en un flujo de datos (12) en unidades de sectores (14) en las que se divide la instantánea (10), en el que el codificador está configurado para codificar los sectores (14) en el flujo de datos (12) según un orden de sector (16) y el codificador está configurado para
determinar una porción de elemento de sintaxis (18), y codificar la misma en un sector actual de los sectores de tal manera que la porción de elemento de sintaxis señala el sector actual a codificarse según uno de al menos dos modos (20, 22), y
si el sector actual se ha de codificar según uno primero (20) de los al menos dos modos, codificar el sector actual en el flujo de datos (12) utilizando codificación de entropía adaptable al contexto (24) incluyendo una derivación de contextos a través de límites de sector, una actualización continua de probabilidades de símbolo de los contextos y una inicialización (38, 40) de las probabilidades de símbolo dependiendo de los estados guardados de probabilidades de símbolo de un sector previamente codificado, y codificación predictiva a través de los límites de sector, y
si el sector actual se ha de codificar según uno segundo (22) de los al menos dos modos, codificar el sector actual en el flujo de datos (12) utilizando codificación de entropía adaptable al contexto con restricción de la derivación de los contextos para no cruzar los límites de sector, una actualización continua de probabilidades de símbolo de los contextos y una inicialización de las probabilidades de símbolo independientemente de cualquier sector previamente codificado, y codificación predictiva con restricción de la codificación predictiva para no cruzar los límites de sector, en el que la instantánea (10) se divide en bloques de codificación (32) dispuestos en filas y columnas y que tienen un orden de exploración de trama (36) definido entre sí, y el codificador está configurado para asociar cada sector (14) con un subconjunto continuo de los bloques de codificación (32) en el orden de exploración de trama (36) de tal manera que los subconjuntos se siguen entre sí a lo largo del orden de exploración de trama (36) según el orden de sector, y
en el que el codificador está configurado para guardar probabilidades de símbolo tal como se obtienen en la codificación de entropía adaptable al contexto del sector previamente codificado hasta un segundo bloque de codificación (32) en una fila según el orden de exploración de trama (36) y en la inicialización de las probabilidades de símbolo para la codificación de entropía adaptable al contexto del sector actual según el primer modo, verificar si un primer bloque de codificación del subconjunto continuo de bloques de codificación (32) asociados con el sector actual es un primer bloque de codificación (32) en una fila según el orden de exploración de trama y si es así, inicializar (40) las probabilidades de símbolo para la codificación de entropía adaptable al contexto del sector actual dependiendo de las probabilidades de símbolo guardadas tal como se obtienen en la codificación de entropía adaptable al contexto del sector previamente codificado a un segundo bloque de codificación en una fila según el orden de exploración de trama (36) y si no, inicializar (38) las probabilidades de símbolo para la codificación de entropía adaptable al contexto del sector actual dependiendo de las probabilidades de símbolo tal como se obtienen en la codificación de entropía adaptable al contexto del sector previamente decodificado hasta el final del sector previamente codificado.
12. Codificador según la reivindicación 11, en el que el codificador está configurado para dividir bloques de transformación de crominancia de manera diferente que los bloques de transformación de luminancia.
13. Codificador según la reivindicación 10, en el que el codificador está configurado para codificar la porción de elemento de sintaxis (18) en el sector actual de los sectores (14) de tal manera que el sector actual se señaliza para codificarse en el mismo según uno de al menos tres modos, concretamente en uno del primero (20) y un tercer modo (42) o un segundo modo (22), en el que el codificador está configurado para
según el tercero modo (42), codificar el sector actual en el flujo de datos utilizando codificación de entropía adaptable al contexto con restricción de la derivación de los contextos para no cruzar los límites de sector, una actualización continua de probabilidades de símbolo de los contextos y una inicialización de las probabilidades de símbolo independientemente de cualquier sector previamente codificado y codificación predictiva a través de los límites de sector,
en el que el codificador distingue entre uno de los modos primero y tercero utilizando un elemento de sintaxis.
14. Codificador según las reivindicaciones 10 u 11, en el que el codificador está configurado para determinar un elemento de sintaxis genérico y escribir el mismo en el flujo de datos con operación en uno de al menos dos modos de operación genéricos dependiendo del elemento de sintaxis genérico, concretamente, con, según un primer modo de operación genérico, efectuar la codificación de la porción de elemento de sintaxis para cada sector, y, según un segundo modo de operación genérico, inevitablemente utilizar uno diferente de los al menos dos modos distintos del primer modo.
15. Método para reconstruir una instantánea (10) a partir de un flujo de datos (12) en la que se codifica la instantánea en unidades de sectores (14) en las que se divide la instantánea (10), en el que el método comprende decodificar los sectores (14) del flujo de datos (12) según un orden de sector (16) y el método responde a una porción de elemento de sintaxis (18) dentro de un sector actual de los sectores, para decodificar el sector actual según uno de al menos dos modos (20, 22), en el que
según uno primero (20) de los al menos dos modos, el sector actual se decodifica a partir del flujo de datos (12) utilizando decodificación de entropía adaptable al contexto (24) que incluye una derivación de contextos a través de límites de sector, una actualización continua de probabilidades de símbolo de los contextos y una inicialización (38, 40) de las probabilidades de símbolo dependiendo de los estados guardados de probabilidades de símbolo de un sector previamente decodificado, y decodificación predictiva a través de los límites de sector, y
según uno segundo (22) de los al menos dos modos, el sector actual se decodifica del flujo de datos (12) utilizando decodificación de entropía adaptable al contexto con restricción de la derivación de los contextos para no cruzar los límites de sector, una actualización continua de probabilidades de símbolo de los contextos y una inicialización de las probabilidades de símbolo independientemente de cualquier sector previamente decodificado, y decodificación predictiva con restricción de la decodificación predictiva para no cruzar los límites de sector,
en el que la instantánea (10) se divide en bloques de codificación (32) dispuestos en filas y columnas y que tienen un orden de exploración de trama (36) definido entre sí, y el método comprende asociar cada sector (14) con un subconjunto continuo de los bloques de codificación (32) en el orden de exploración de trama (36) de tal manera que los subconjuntos se siguen entre sí a lo largo del orden de exploración de trama (36) según el orden de sector, y en el que el método comprende guardar probabilidades de símbolo tal como se obtienen en la decodificación de entropía adaptable al contexto del sector previamente decodificado a un segundo bloque de codificación (32) en una fila según el orden de exploración de trama (36) y, en la inicialización de las probabilidades de símbolo para la decodificación de entropía adaptable al contexto del sector actual según el primer modo, verificar si un primer bloque de codificación del subconjunto continuo de bloques de codificación (32) asociados con el sector actual es un primer bloque de codificación (32) en una fila según el orden de exploración de trama y, si es así, inicializar (40) las probabilidades de símbolo para la decodificación de entropía adaptable al contexto del sector actual dependiendo de las probabilidades de símbolo guardadas, tal como se obtienen en la decodificación de entropía adaptable al contexto del sector previamente decodificado hasta un segundo bloque de codificación en una fila según el orden de exploración de trama (36), y si no, inicializar (38) las probabilidades de símbolo para la decodificación de entropía adaptable al contexto del sector actual dependiendo de las probabilidades de símbolo, tal como se obtienen en decodificación de entropía adaptable al contexto del sector previamente decodificado hasta el final del sector previamente decodificado.
en el que el método comprende procesar muestras de la instantánea en unidades de bloques de árbol de codificación divididos en bloques de codificación usando división de árbol cuádruple recursiva.
16. Método para codificar una instantánea (10) en un flujo de datos (12) en unidades de sectores (14) en las que se divide la instantánea (10), en el que el método comprende codificar los sectores (14) en el flujo de datos (12) según un orden de sector (16) y el método comprende:
determinar una porción de elemento de sintaxis (18), y codificar la misma en un sector actual de los sectores de tal manera que la porción de elemento de sintaxis señala el sector actual a codificarse según uno de al menos dos modos (20, 22), y
si el sector actual se ha de codificar según uno primero (20) de los al menos dos modos, codificar el sector actual en el flujo de datos (12) utilizando codificación de entropía adaptable al contexto (24) incluyendo una derivación de contextos a través de límites de sector, una actualización continua de probabilidades de símbolo de los contextos y una inicialización (38, 40) de las probabilidades de símbolo dependiendo de los estados guardados de probabilidades de símbolo de un sector previamente codificado, y codificación predictiva a través de los límites de sector, y
si el sector actual se ha de codificar según uno segundo (22) de los al menos dos modos, codificar el sector actual en el flujo de datos (12) utilizando codificación de entropía adaptable al contexto con restricción de la derivación de los contextos para no cruzar los límites de sector, una actualización continua de probabilidades de símbolo de los contextos y una inicialización de las probabilidades de símbolo independientemente de cualquier sector previamente codificado, y codificación predictiva con restricción de la codificación predictiva para no cruzar los límites de sector, en el que la instantánea (10) se divide en bloques de codificación (32) dispuestos en filas y columnas y que tienen un orden de exploración de trama (36) definido entre sí, y el método comprende asociar cada sector (14) con un subconjunto continuo de los bloques de codificación (32) en el orden de exploración de trama (36) de tal manera que los subconjuntos se siguen entre sí a lo largo del orden de exploración de trama (36) según el orden de sector, y en el que el método comprende adicionalmente guardar probabilidades de símbolo tal como se obtienen en la codificación de entropía adaptable al contexto del sector previamente codificado hasta un segundo bloque de codificación (32) en una fila según el orden de exploración de trama (36) y en la inicialización de las probabilidades de símbolo para la codificación de entropía adaptable al contexto del sector actual según el primer modo, verificar si un primer bloque de codificación del subconjunto continuo de bloques de codificación (32) asociados con el sector actual es un primer bloque de codificación (32) en una fila según el orden de exploración de trama y si es así, inicializar (40) las probabilidades de símbolo para la codificación de entropía adaptable al contexto del sector actual dependiendo de las probabilidades de símbolo guardadas tal como se obtienen en la codificación de entropía adaptable al contexto del sector previamente codificado a un segundo bloque de codificación en una fila según el orden de exploración de trama (36) y si no, inicializar (38) las probabilidades de símbolo para la codificación de entropía adaptable al contexto del sector actual dependiendo de las probabilidades de símbolo tal como se obtienen en la codificación de entropía adaptable al contexto del sector previamente decodificado hasta el final del sector previamente codificado.
en el que el método comprende procesar muestras de la instantánea en unidades de bloques de árbol de codificación divididos en bloques de codificación usando división de árbol cuádruple recursiva
17. Flujo de datos codificado usando el método según la reivindicación 16.
18. Flujo de datos según la reivindicación 17, en el que los bloques de transformación de crominancia se dividen de manera diferente que los bloques de transformación de luminancia.
19. Programa informático que tiene un código de programa para realizar, cuando se ejecuta en un ordenador, un método según la reivindicación 15 o 16.
ES16206334T 2012-04-13 2013-04-15 Codificación de imagen con bajo retardo Active ES2715107T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201261624098P 2012-04-13 2012-04-13
US201261666185P 2012-06-29 2012-06-29

Publications (1)

Publication Number Publication Date
ES2715107T3 true ES2715107T3 (es) 2019-05-31

Family

ID=48141968

Family Applications (5)

Application Number Title Priority Date Filing Date
ES20190474T Active ES2937793T3 (es) 2012-04-13 2013-04-15 Codificación de imagen con bajo retardo
ES18211768T Active ES2831415T3 (es) 2012-04-13 2013-04-15 Codificación de imagen con bajo retardo
ES13717253.2T Active ES2607438T3 (es) 2012-04-13 2013-04-15 Flujo de datos escalable y entidad de red
ES13719279.5T Active ES2620707T3 (es) 2012-04-13 2013-04-15 Codificación de instantánea con bajo retardo
ES16206334T Active ES2715107T3 (es) 2012-04-13 2013-04-15 Codificación de imagen con bajo retardo

Family Applications Before (4)

Application Number Title Priority Date Filing Date
ES20190474T Active ES2937793T3 (es) 2012-04-13 2013-04-15 Codificación de imagen con bajo retardo
ES18211768T Active ES2831415T3 (es) 2012-04-13 2013-04-15 Codificación de imagen con bajo retardo
ES13717253.2T Active ES2607438T3 (es) 2012-04-13 2013-04-15 Flujo de datos escalable y entidad de red
ES13719279.5T Active ES2620707T3 (es) 2012-04-13 2013-04-15 Codificación de instantánea con bajo retardo

Country Status (29)

Country Link
US (10) US10045017B2 (es)
EP (6) EP3793200B1 (es)
JP (7) JP5993083B2 (es)
KR (13) KR20220164077A (es)
CN (10) CN104620584B (es)
AU (7) AU2013246828B2 (es)
BR (2) BR122020007621B1 (es)
CA (2) CA2870039C (es)
CL (2) CL2014002739A1 (es)
DK (5) DK2842318T3 (es)
ES (5) ES2937793T3 (es)
FI (1) FI3793200T3 (es)
HK (3) HK1205839A1 (es)
HU (5) HUE033604T2 (es)
IL (5) IL301488B2 (es)
LT (1) LT3793200T (es)
MX (3) MX344485B (es)
MY (1) MY173763A (es)
PH (7) PH12014502303B1 (es)
PL (4) PL3174295T3 (es)
PT (5) PT3174295T (es)
RS (1) RS64003B1 (es)
RU (3) RU2603531C2 (es)
SG (2) SG10201702988RA (es)
SI (1) SI3793200T1 (es)
TW (9) TWI527466B (es)
UA (2) UA115240C2 (es)
WO (2) WO2013153227A2 (es)
ZA (1) ZA201407815B (es)

Families Citing this family (79)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2972588A1 (fr) 2011-03-07 2012-09-14 France Telecom Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants
FR2977111A1 (fr) * 2011-06-24 2012-12-28 France Telecom Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants
SG10201606621XA (en) 2012-01-20 2016-09-29 Ge Video Compression Llc Coding Concept Allowing Parallel Processing, Transport Demultiplexer and Video Bitstream
CN104620584B (zh) 2012-04-13 2019-10-18 Ge视频压缩有限责任公司 可缩放数据流及网络实体
KR20130116782A (ko) * 2012-04-16 2013-10-24 한국전자통신연구원 계층적 비디오 부호화에서의 계층정보 표현방식
JP6376719B2 (ja) * 2012-06-29 2018-08-22 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
SG11201408612TA (en) 2012-06-29 2015-01-29 Fraunhofer Ges Forschung Video data stream concept
US9621905B2 (en) * 2012-06-29 2017-04-11 Qualcomm Incorporated Tiles and wavefront parallel processing
JP6080405B2 (ja) * 2012-06-29 2017-02-15 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
US9635369B2 (en) * 2012-07-02 2017-04-25 Qualcomm Incorporated Video parameter set including HRD parameters
US10116947B2 (en) 2012-07-06 2018-10-30 Samsung Electronics Co., Ltd. Method and apparatus for coding multilayer video to include scalable extension type information in a network abstraction layer unit, and method and apparatus for decoding multilayer video
MX341067B (es) * 2012-09-26 2016-08-05 Panasonic Ip Corp America Metodo de decodificacion de imagenes, metodo de codificacion de imagenes, aparato de decodificacion de imagenes, aparato de codificacion de imagenes y aparato de codificacion y decodificacion de imagenes.
AU2013322008B2 (en) * 2012-09-26 2016-10-27 Sun Patent Trust Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus
RU2608465C1 (ru) * 2013-01-04 2017-01-18 Самсунг Электроникс Ко., Лтд. Способ энтропийного кодирования сегмента слайса и устройство для него и способ энтропийного декодирования сегмента слайса и устройство для него
US10419778B2 (en) * 2013-01-04 2019-09-17 Sony Corporation JCTVC-L0227: VPS_extension with updates of profile-tier-level syntax structure
KR102284110B1 (ko) * 2013-01-17 2021-07-30 삼성전자주식회사 디코더 설정을 위한 비디오 부호화 방법 및 그 장치, 디코더 설정에 기초한 비디오 복호화 방법 및 그 장치
EP2983364A4 (en) * 2013-04-05 2016-12-07 Samsung Electronics Co Ltd MULTILAYER VIDEO PROCESSING AND DEVICE AND MULTILAYER VIDEO DECODING PROCESS AND DEVICE
US9973748B1 (en) * 2013-04-26 2018-05-15 Mediatek Inc. Multi-core video decoder system for decoding multiple coding rows by using multiple video decoder cores and related multi-core video decoding method
JP2015005939A (ja) * 2013-06-24 2015-01-08 ソニー株式会社 画像処理装置および方法、プログラム、並びに撮像装置
JP6445552B2 (ja) 2013-07-15 2018-12-26 ジーイー ビデオ コンプレッション エルエルシー 拡張機構を使用している層idの信号
US9912943B2 (en) * 2013-07-15 2018-03-06 Qualcomm Incorporated Signaling of bit rate information and picture rate information in VPS
US10264261B2 (en) * 2013-08-27 2019-04-16 Integrated Device Technology, Inc. Entropy encoding initialization for a block dependent upon an unencoded block
US10110910B2 (en) * 2013-10-21 2018-10-23 Vid Scale, Inc. Parallel decoding method for layered video coding
WO2015100731A1 (en) * 2014-01-03 2015-07-09 Mediatek Singapore Pte. Ltd. Methods for determining the prediction partitions
US9402083B2 (en) * 2014-04-24 2016-07-26 Vidyo, Inc. Signaling conformance points using profile space
US10827178B2 (en) 2014-05-28 2020-11-03 Arris Enterprises Llc Content aware scheduling in a HEVC decoder operating on a multi-core processor platform
CA2951009A1 (en) 2014-06-20 2015-12-23 Sony Corporation Image encoding device and method, and image decoding device and method
US20160014415A1 (en) * 2014-07-08 2016-01-14 Mediatek Inc. Method and apparatus for performing wave-front parallel encoding procedure with constraint on coding mode and/or quantization parameter selection
US10080019B2 (en) 2014-09-19 2018-09-18 Intel Corporation Parallel encoding for wireless displays
US9516147B2 (en) 2014-10-30 2016-12-06 Microsoft Technology Licensing, Llc Single pass/single copy network abstraction layer unit parser
US10148969B2 (en) * 2015-02-11 2018-12-04 Qualcomm Incorporated Of sample entry and operation point signalling in a layered video file format
CN105323586B (zh) * 2015-04-07 2016-11-09 佛山世寰智能科技有限公司 一种用于多核并行视频编码和解码的共享内存接口
US10027989B2 (en) * 2015-05-06 2018-07-17 Integrated Device Technology, Inc. Method and apparatus for parallel decoding
JP2016219913A (ja) * 2015-05-15 2016-12-22 富士通株式会社 画像符号化装置、画像符号化方法および画像符号化プログラム
US10574993B2 (en) * 2015-05-29 2020-02-25 Qualcomm Incorporated Coding data using an enhanced context-adaptive binary arithmetic coding (CABAC) design
US10834444B2 (en) * 2015-08-25 2020-11-10 Sony Corporation Transmitting apparatus, transmission method, receiving apparatus, and reception method
WO2017091023A1 (ko) * 2015-11-24 2017-06-01 삼성전자 주식회사 비디오 복호화 방법 및 장치, 그 부호화 방법 및 장치
US10575007B2 (en) 2016-04-12 2020-02-25 Microsoft Technology Licensing, Llc Efficient decoding and rendering of blocks in a graphics pipeline
US10291923B2 (en) * 2016-05-24 2019-05-14 Qualcomm Incorporated Mapping of tile grouping and samples in HEVC and L-HEVC file formats
US10157480B2 (en) 2016-06-24 2018-12-18 Microsoft Technology Licensing, Llc Efficient decoding and rendering of inter-coded blocks in a graphics pipeline
US20180020228A1 (en) * 2016-07-12 2018-01-18 Mediatek Inc. Video processing system with multiple syntax parsing circuits and/or multiple post decoding circuits
US10523973B2 (en) 2016-09-23 2019-12-31 Apple Inc. Multiple transcode engine systems and methods
US11197010B2 (en) 2016-10-07 2021-12-07 Microsoft Technology Licensing, Llc Browser-based video decoder using multiple CPU threads
EP3590259A4 (en) * 2017-02-23 2020-08-19 RealNetworks, Inc. STRUCTURE AND SYNTAX OF CODING BLOCK BINARY FLOWS IN VIDEO CODING SYSTEMS AND METHODS
JP6957638B2 (ja) * 2017-03-20 2021-11-02 フラウンホッファー−ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオ 高度なビデオデータストリーム抽出および多重解像度ビデオ伝送
US11212529B2 (en) 2017-08-23 2021-12-28 Sony Semiconductor Solutions Corporation Image processing apparatus and image processing method
CN109587478B (zh) * 2017-09-29 2023-03-31 华为技术有限公司 一种媒体信息的处理方法及装置
GB2569107B (en) * 2017-11-29 2022-04-06 Displaylink Uk Ltd Managing display data
US10659781B2 (en) * 2018-04-02 2020-05-19 Tencent America LLC Concatenated coding units in flexible tree structure
RU2767601C1 (ru) * 2018-07-02 2022-03-17 Нокиа Текнолоджиз Ой Способ и устройство для связанной с тайлом адресации при кодировании видеосигнала
CN110891180B (zh) 2018-09-10 2023-11-17 华为技术有限公司 视频解码方法及视频解码器
SI3846467T1 (sl) 2018-10-04 2024-02-29 Lg Electronics Inc. Postopki za kodiranje slik na podlagi zgodovine
CN113196757B (zh) * 2018-12-20 2024-04-26 瑞典爱立信有限公司 用于使用图片中的均匀片段分割进行视频编码的方法和装置
WO2020125738A1 (en) * 2018-12-21 2020-06-25 Huawei Technologies Co., Ltd. An encoder, a decoder and corresponding methods using history based motion vector prediction
RU2751552C1 (ru) * 2019-01-16 2021-07-14 Телефонактиеболагет Лм Эрикссон (Пабл) Кодирование видео, содержащее равномерное мозаичное разделение с остатком
WO2020190715A1 (en) * 2019-03-15 2020-09-24 Beijing Dajia Internet Information Technology Co., Ltd. Signaling of lossless coding in video coding
JP2022526023A (ja) * 2019-04-10 2022-05-20 ホアウェイ・テクノロジーズ・カンパニー・リミテッド エンコーダ、デコーダ、および対応する方法
CN112789860A (zh) 2019-04-17 2021-05-11 株式会社 Xris 用于对图像信号进行编码/解码的方法及其装置
EP3981157A4 (en) * 2019-07-11 2022-07-06 Huawei Technologies Co., Ltd. MOTION FIELD STORAGE OPTIMIZATION FOR LINE BUFFER
BR112022005293A2 (pt) 2019-09-19 2022-09-20 Beijing Bytedance Network Tech Co Ltd Método de processamento de vídeo, aparelho para processar dados de vídeo e meios de armazenamento e de gravação não transitórios legíveis por computador
US11356685B2 (en) * 2019-09-23 2022-06-07 Qualcomm Incorproated Signaling number of sub-pictures in high-level syntax for video coding
KR20220070437A (ko) 2019-10-05 2022-05-31 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 비디오 코딩 툴의 레벨 기반 시그널링
EP4042678A4 (en) 2019-10-12 2023-01-18 Beijing Bytedance Network Technology Co., Ltd. USE AND REPORTING OF REFINEMENT VIDEO CODING TOOLS
KR20220073834A (ko) 2019-11-05 2022-06-03 엘지전자 주식회사 영상/비디오 코딩을 위한 상위 레벨 신택스 시그널링 방법 및 장치
CA3163400A1 (en) * 2019-11-28 2021-06-03 Lg Electronics Inc. Image/video coding method and apparatus
CN114868399A (zh) 2019-12-26 2022-08-05 字节跳动有限公司 条带类型和视频层的信令通知
KR20220120566A (ko) 2019-12-26 2022-08-30 바이트댄스 아이엔씨 비디오 비트스트림들에서의 가상 참조 디코더 파라미터들의 시그널링에 대한 제약들
CN115152230A (zh) * 2019-12-27 2022-10-04 抖音视界有限公司 视频图片标头中的条带类型的信令
WO2021134054A1 (en) 2019-12-27 2021-07-01 Bytedance Inc. Subpicture signaling in video coding
CN114946174A (zh) * 2020-01-09 2022-08-26 字节跳动有限公司 层间参考图片的存在的信令通知
WO2021164783A1 (en) 2020-02-21 2021-08-26 Beijing Bytedance Network Technology Co., Ltd. Signaling of slice and tile picture partitions
JP7393267B2 (ja) * 2020-03-25 2023-12-06 株式会社ソニー・インタラクティブエンタテインメント 画像データ転送装置、画像表示システム、および画像データ転送方法
KR102359367B1 (ko) * 2020-04-07 2022-02-07 주식회사 엔씨소프트 게임 스트리밍을 위한 방법 및 장치
CN117834916A (zh) * 2020-05-22 2024-04-05 字节跳动有限公司 访问单元中图片信息的信令
US11206415B1 (en) 2020-09-14 2021-12-21 Apple Inc. Selectable transcode engine systems and methods
US11375242B1 (en) 2021-01-27 2022-06-28 Qualcomm Incorporated Compression of bitstream indexes for parallel entropy coding
CN113873253B (zh) * 2021-10-29 2023-03-10 龙思云(北京)科技有限公司 基于rdp的云应用打开优化方法及设备
CN116112683A (zh) * 2021-11-10 2023-05-12 腾讯科技(深圳)有限公司 视频压缩方法、装置、计算机设备和存储介质
EP4220561A1 (en) * 2022-02-01 2023-08-02 Beijing Xiaomi Mobile Software Co., Ltd. Method and apparatus of encoding/decoding a slice of point cloud data

Family Cites Families (145)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5020121A (en) 1990-08-16 1991-05-28 Hewlett-Packard Company Neighborhood block prediction bit compression
US5786858A (en) * 1993-01-19 1998-07-28 Sony Corporation Method of encoding image signal, apparatus for encoding image signal, method of decoding image signal, apparatus for decoding image signal, and image signal recording medium
RU2093968C1 (ru) 1995-08-02 1997-10-20 Закрытое акционерное общество "Техно-ТМ" Способ кодирования-декодирования изображений и устройство для его осуществления
JP3409552B2 (ja) 1995-12-27 2003-05-26 三菱電機株式会社 ディジタル情報符号化装置、ディジタル情報復号化装置、及びディジタル情報符号化・復号化装置
JPH09298668A (ja) 1996-05-07 1997-11-18 Mitsubishi Electric Corp ディジタル情報符号化装置、ディジタル情報復号化装置、ディジタル情報符号化・復号化装置、ディジタル情報符号化方法、及びディジタル情報復号化方法
EP0861001B1 (en) 1997-02-07 2012-05-23 Texas Instruments Incorporated Error resilient video encoding
HUP0001273A3 (en) * 1998-01-20 2000-09-28 Interactic Holdings Llc New Yo A scalable low-latency switch, interconnect apparatus, interconnect structure and method
US6754271B1 (en) * 1999-04-15 2004-06-22 Diva Systems Corporation Temporal slice persistence method and apparatus for delivery of interactive program guide
US7093028B1 (en) * 1999-12-15 2006-08-15 Microsoft Corporation User and content aware object-based data stream transmission methods and arrangements
TW488155B (en) * 2000-01-27 2002-05-21 Hewlett Packard Co Task-partitioned hybrid codec
US6493388B1 (en) 2000-04-19 2002-12-10 General Instrument Corporation Rate control and buffer protection for variable bit rate video programs over a constant rate channel
GB2377573B (en) 2001-07-11 2004-03-31 Motorola Inc Video transmission system, video tranmission unit and methods of encoding/decoding video data
US7206501B2 (en) * 2001-10-12 2007-04-17 The Directv Group, Inc. Method and apparatus for identifying MPEG picture coding types
WO2003043345A1 (en) * 2001-11-16 2003-05-22 Ntt Docomo, Inc. Image encoding method, image decoding method, image encoder, image decode, program, computer data signal, and image transmission system
JP3807342B2 (ja) * 2002-04-25 2006-08-09 三菱電機株式会社 デジタル信号符号化装置、デジタル信号復号装置、デジタル信号算術符号化方法、およびデジタル信号算術復号方法
US7305036B2 (en) 2002-05-14 2007-12-04 Broadcom Corporation System and method for entropy code preprocessing
US6646578B1 (en) * 2002-11-22 2003-11-11 Ub Video Inc. Context adaptive variable length decoding system and method
US8661496B2 (en) 2002-12-10 2014-02-25 Ol2, Inc. System for combining a plurality of views of real-time streaming interactive video
CN1751518B (zh) 2003-02-18 2010-12-01 诺基亚有限公司 图像编码方法
US20070036215A1 (en) 2003-03-03 2007-02-15 Feng Pan Fast mode decision algorithm for intra prediction for advanced video coding
US7447369B2 (en) 2003-03-07 2008-11-04 Ricoh Co., Ltd. Communication of compressed digital images
US6894628B2 (en) * 2003-07-17 2005-05-17 Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. Apparatus and methods for entropy-encoding or entropy-decoding using an initialization of context variables
US20050185541A1 (en) * 2004-02-23 2005-08-25 Darren Neuman Method and system for memory usage in real-time audio systems
US7586924B2 (en) 2004-02-27 2009-09-08 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus and method for coding an information signal into a data stream, converting the data stream and decoding the data stream
EP1754378A1 (en) 2004-05-25 2007-02-21 Koninklijke Philips Electronics N.V. Method and device for encoding digital video data
EP1624610B1 (en) * 2004-08-06 2006-12-27 Matsushita Electric Industrial Co., Ltd. Feedback control for multicast or broadcast services
US7440626B2 (en) 2004-12-02 2008-10-21 Mitsubishi Electric Research Laboratories, Inc. Image transcoding
KR101138392B1 (ko) 2004-12-30 2012-04-26 삼성전자주식회사 색차 성분의 상관관계를 이용한 컬러 영상의 부호화,복호화 방법 및 그 장치
JP4680608B2 (ja) 2005-01-17 2011-05-11 パナソニック株式会社 画像復号装置及び方法
US7664041B2 (en) * 2005-05-26 2010-02-16 Dale Trenton Smith Distributed stream analysis using general purpose processors
US20070022215A1 (en) * 2005-07-19 2007-01-25 Singer David W Method and apparatus for media data transmission
GB2429593A (en) 2005-08-26 2007-02-28 Electrosonic Ltd Data compressing using a wavelet compression scheme
CN102271249B (zh) 2005-09-26 2014-04-09 韩国电子通信研究院 用于可伸缩视频的感兴趣区域信息设置方法和解析方法
KR101255226B1 (ko) 2005-09-26 2013-04-16 한국과학기술원 스케일러블 비디오 코딩에서 다중 roi 설정, 복원을위한 장치 및 방법
JP4950206B2 (ja) 2005-10-11 2012-06-13 ノキア コーポレイション 効率的なスケーラブルストリーム適応のためのシステム及び方法
EP1947862B1 (en) 2005-10-14 2016-04-27 NEC Corporation Method for re-encoding image blocks, device using the same, and computer program
JP4211780B2 (ja) * 2005-12-27 2009-01-21 三菱電機株式会社 デジタル信号符号化装置、デジタル信号復号装置、デジタル信号算術符号化方法、およびデジタル信号算術復号方法
CA2845591C (en) 2006-01-05 2015-12-08 Nippon Telegraph And Telephone Corporation Video encoding method and decoding method, apparatuses therefor, programs therefor, and storage media for storing the programs
WO2007081139A1 (en) 2006-01-09 2007-07-19 Lg Electronics Inc. Inter-layer prediction method for video signal
RU2384970C1 (ru) * 2006-01-09 2010-03-20 ЭлДжи ЭЛЕКТРОНИКС ИНК. Способ межслойного предсказания для видеосигнала
KR20070074453A (ko) 2006-01-09 2007-07-12 엘지전자 주식회사 영상 신호의 인코딩 및 디코딩 방법
US8619865B2 (en) 2006-02-16 2013-12-31 Vidyo, Inc. System and method for thinning of scalable video coding bit-streams
WO2007107170A1 (en) * 2006-03-22 2007-09-27 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Coding scheme enabling precision-scalability
US8848789B2 (en) 2006-03-27 2014-09-30 Qualcomm Incorporated Method and system for coding and decoding information associated with video compression
WO2007114612A1 (en) * 2006-03-30 2007-10-11 Lg Electronics Inc. A method and apparatus for decoding/encoding a video signal
KR100828404B1 (ko) * 2006-05-08 2008-05-08 한국과학기술원 경계관찰질의를 이용한 데이터 스트림 처리 방법
JP2008017331A (ja) 2006-07-07 2008-01-24 Toshiba Corp パケットストリーム送信装置
US7840078B2 (en) 2006-07-10 2010-11-23 Sharp Laboratories Of America, Inc. Methods and systems for image processing control based on adjacent block characteristics
BRPI0714127A2 (pt) * 2006-07-13 2012-12-25 Qualcomm Inc codificaÇço de vÍdeo com escalabilidade de granularidade fina utilizando fragmentos alinhados por ciclo.
ES2348686T3 (es) 2006-07-13 2010-12-10 Qualcomm Incorporated Codificaciã“n de video con escalabilidad granular fina mediante fragmentos alineados con ciclos.
JP4129694B2 (ja) 2006-07-19 2008-08-06 ソニー株式会社 情報処理装置および方法、プログラム、並びに記録媒体
US7554468B2 (en) * 2006-08-25 2009-06-30 Sony Computer Entertainment Inc, Entropy decoding methods and apparatus using most probable and least probable signal cases
JP5143829B2 (ja) 2006-09-07 2013-02-13 エルジー エレクトロニクス インコーポレイティド スケーラブルビデオコーディングされたビットストリームのデコーディング方法及び装置
CN101150719B (zh) * 2006-09-20 2010-08-11 华为技术有限公司 并行视频编码的方法及装置
EP2080383A4 (en) * 2006-10-20 2009-12-09 Nokia Corp GENERIC INDICATION OF ADJUSTMENT GUIDE FOR SCALABLE MULTIMEDIA
US8218640B2 (en) 2006-10-31 2012-07-10 Sony Computer Entertainment Inc. Picture decoding using same-picture reference for pixel reconstruction
US8218641B2 (en) 2006-10-31 2012-07-10 Sony Computer Entertainment Inc. Picture encoding using same-picture reference for pixel reconstruction
US7778277B2 (en) 2006-11-03 2010-08-17 Mediatek Inc. Timing recovery method and system thereof
US7675549B1 (en) 2006-12-08 2010-03-09 Itt Manufacturing Enterprises, Inc. Imaging architecture for region and time of interest collection and dissemination
US8345767B2 (en) 2006-12-14 2013-01-01 Nec Corporation Video encoding method, video encoding device, and video encoding program
TWI328199B (en) * 2006-12-15 2010-08-01 Via Tech Inc Method for image rendering
US9179157B2 (en) 2007-01-05 2015-11-03 Thomson Licensing Hypothetical reference decoder for scalable video coding
US20080247459A1 (en) 2007-04-04 2008-10-09 General Instrument Corporation Method and System for Providing Content Adaptive Binary Arithmetic Coder Output Bit Counting
US20100142613A1 (en) * 2007-04-18 2010-06-10 Lihua Zhu Method for encoding video data in a scalable manner
WO2008129516A2 (en) 2007-04-24 2008-10-30 Nokia Corporation Signaling of multiple decoding times in media files
TWI330987B (en) * 2007-05-18 2010-09-21 Via Tech Inc Method and apparatus for determining whether adjacent macroblocks are located in the same slice
US8180029B2 (en) 2007-06-28 2012-05-15 Voxer Ip Llc Telecommunication and multimedia management method and apparatus
WO2009003885A2 (en) 2007-06-29 2009-01-08 Thomson Licensing Video indexing method, and video indexing device
KR20090004658A (ko) 2007-07-02 2009-01-12 엘지전자 주식회사 디지털 방송 시스템 및 데이터 처리 방법
KR20090004659A (ko) 2007-07-02 2009-01-12 엘지전자 주식회사 디지털 방송 시스템 및 데이터 처리 방법
CN100534186C (zh) 2007-07-05 2009-08-26 西安电子科技大学 基于码率预分配的jpeg2000自适应率控制系统及方法
US8873625B2 (en) * 2007-07-18 2014-10-28 Nvidia Corporation Enhanced compression in representing non-frame-edge blocks of image frames
WO2009027606A1 (fr) * 2007-08-24 2009-03-05 France Telecom Codage/decodage par plans de symboles, avec calcul dynamique de tables de probabilites
CA2700448A1 (en) 2007-09-28 2009-04-02 Pin-Han Ho A robust system and method for wireless data multicasting using superposition modulation
US20090097704A1 (en) 2007-10-10 2009-04-16 Micron Technology, Inc. On-chip camera system for multiple object tracking and identification
US8938009B2 (en) * 2007-10-12 2015-01-20 Qualcomm Incorporated Layered encoded bitstream structure
US20090141809A1 (en) 2007-12-04 2009-06-04 Sony Corporation And Sony Electronics Inc. Extension to the AVC standard to support the encoding and storage of high resolution digital still pictures in parallel with video
KR101291196B1 (ko) 2008-01-25 2013-07-31 삼성전자주식회사 영상의 부호화, 복호화 방법 및 장치
US9357233B2 (en) 2008-02-26 2016-05-31 Qualcomm Incorporated Video decoder error handling
CN101552924B (zh) * 2008-03-31 2011-08-03 深圳市融创天下科技发展有限公司 一种用于视频编码的空间预测方法
CN101568037B (zh) * 2008-04-21 2010-12-15 展讯通信(上海)有限公司 一种dvb-h手机电视流式修复的方法、终端与系统
JP4962400B2 (ja) 2008-04-30 2012-06-27 ソニー株式会社 算術復号装置
US20090316793A1 (en) * 2008-06-20 2009-12-24 Yang Zhijie Michael Method and system for adaptive deblocking for avs1-p2
US8908763B2 (en) 2008-06-25 2014-12-09 Qualcomm Incorporated Fragmented reference in temporal compression for video coding
CN101320371A (zh) * 2008-07-07 2008-12-10 华南师范大学 一种基于可放缩矢量图形的空间信息分析方法
JP5449162B2 (ja) 2008-07-31 2014-03-19 三菱電機株式会社 映像符号化装置、映像符号化方法、映像再生装置、及び映像再生方法
EP2338278B1 (en) 2008-09-16 2015-02-25 Intel Corporation Method for presenting an interactive video/multimedia application using content-aware metadata
KR101007381B1 (ko) 2008-10-06 2011-01-13 주식회사 아이엠케이네트웍스 관심 영역을 고려한 영상 부호화 장치
JP5345149B2 (ja) 2008-10-10 2013-11-20 パナソニック株式会社 画像復号化装置および画像復号化方法
US7932843B2 (en) * 2008-10-17 2011-04-26 Texas Instruments Incorporated Parallel CABAC decoding for video decompression
KR20110096118A (ko) * 2008-10-30 2011-08-29 톰슨 라이센싱 이미지 인코딩 장치, 이미지 인코딩 방법, 및 이미지 인코딩 프로그램
US9467699B2 (en) * 2008-12-03 2016-10-11 Hfi Innovation Inc. Method for performing parallel coding with ordered entropy slices, and associated apparatus
WO2010067505A1 (ja) * 2008-12-08 2010-06-17 パナソニック株式会社 画像復号化装置および画像復号化方法
US20120014451A1 (en) * 2009-01-15 2012-01-19 Wei Siong Lee Image Encoding Methods, Image Decoding Methods, Image Encoding Apparatuses, and Image Decoding Apparatuses
KR20110106465A (ko) 2009-01-28 2011-09-28 노키아 코포레이션 비디오 코딩 및 디코딩을 위한 방법 및 장치
JP5516843B2 (ja) 2009-01-29 2014-06-11 コマニー株式会社 3ウェイ方式のパネル連結構造及び連結金具
TWI387314B (zh) 2009-03-10 2013-02-21 Univ Nat Central Image processing apparatus and method thereof
US8514931B2 (en) 2009-03-20 2013-08-20 Ecole Polytechnique Federale De Lausanne (Epfl) Method of providing scalable video coding (SVC) video content with added media content
JP5072893B2 (ja) 2009-03-25 2012-11-14 株式会社東芝 画像符号化方法および画像復号化方法
US20100246683A1 (en) * 2009-03-27 2010-09-30 Jennifer Lois Harmon Webb Error Resilience in Video Decoding
US9112618B2 (en) 2009-07-02 2015-08-18 Qualcomm Incorporated Coding latency reductions during transmitter quieting
US8948241B2 (en) * 2009-08-07 2015-02-03 Qualcomm Incorporated Signaling characteristics of an MVC operation point
US20110096828A1 (en) * 2009-09-22 2011-04-28 Qualcomm Incorporated Enhanced block-request streaming using scalable encoding
US8718149B2 (en) 2009-10-29 2014-05-06 Panasonic Corporation Image coding method and image decoding method
JP2011109469A (ja) * 2009-11-18 2011-06-02 Canon Inc コンテンツ受信装置及びコンテンツ受信装置の制御方法
KR101495724B1 (ko) 2010-02-02 2015-02-25 삼성전자주식회사 계층적 데이터 단위의 스캔 순서에 기반한 비디오 부호화 방법과 그 장치, 및 비디오 복호화 방법과 그 장치
US20110196673A1 (en) * 2010-02-11 2011-08-11 Qualcomm Incorporated Concealing lost packets in a sub-band coding decoder
US8487791B2 (en) 2010-02-18 2013-07-16 Research In Motion Limited Parallel entropy coding and decoding methods and devices
US9973768B2 (en) * 2010-03-16 2018-05-15 Texas Instruments Incorporated CABAC decoder with decoupled arithmetic decoding and inverse binarization
JP2011217044A (ja) * 2010-03-31 2011-10-27 Sony Corp 画像処理装置、画像処理方法および画像処理プログラム
JP5914962B2 (ja) * 2010-04-09 2016-05-11 ソニー株式会社 画像処理装置および方法、プログラム、並びに、記録媒体
BR122020007923B1 (pt) 2010-04-13 2021-08-03 Ge Video Compression, Llc Predição interplano
US20110280314A1 (en) * 2010-05-12 2011-11-17 Texas Instruments Incorporated Slice encoding and decoding processors, circuits, devices, systems and processes
US9661338B2 (en) * 2010-07-09 2017-05-23 Qualcomm Incorporated Coding syntax elements for adaptive scans of transform coefficients for video coding
US9591320B2 (en) * 2010-07-15 2017-03-07 Texas Instruments Incorporated Context and bypass encoding video
US20120014433A1 (en) * 2010-07-15 2012-01-19 Qualcomm Incorporated Entropy coding of bins across bin groups using variable length codewords
US9185439B2 (en) 2010-07-15 2015-11-10 Qualcomm Incorporated Signaling data for multiplexing video components
US20120014429A1 (en) 2010-07-15 2012-01-19 Jie Zhao Methods and Systems for Parallel Video Encoding and Parallel Video Decoding
US9131033B2 (en) 2010-07-20 2015-09-08 Qualcomm Incoporated Providing sequence data sets for streaming video data
US8930562B2 (en) * 2010-07-20 2015-01-06 Qualcomm Incorporated Arranging sub-track fragments for streaming video data
US20120063515A1 (en) * 2010-09-09 2012-03-15 Qualcomm Incorporated Efficient Coding of Video Parameters for Weighted Motion Compensated Prediction in Video Coding
US8344917B2 (en) 2010-09-30 2013-01-01 Sharp Laboratories Of America, Inc. Methods and systems for context initialization in video coding and decoding
US9313514B2 (en) 2010-10-01 2016-04-12 Sharp Kabushiki Kaisha Methods and systems for entropy coder initialization
US8902988B2 (en) 2010-10-01 2014-12-02 Qualcomm Incorporated Zero-out of high frequency coefficients and entropy coding retained coefficients using a joint context model
US20120082235A1 (en) * 2010-10-05 2012-04-05 General Instrument Corporation Coding and decoding utilizing context model selection with adaptive scan pattern
WO2012048053A2 (en) * 2010-10-05 2012-04-12 Massachusetts Institute Of Technology System and method for optimizing context-adaptive binary arithmetic coding
CN102476550B (zh) 2010-11-24 2015-09-30 上海宝信软件股份有限公司 刻印控制方法
US20120163457A1 (en) 2010-12-28 2012-06-28 Viktor Wahadaniah Moving picture decoding method, moving picture coding method, moving picture decoding apparatus, moving picture coding apparatus, and moving picture coding and decoding apparatus
US9215473B2 (en) 2011-01-26 2015-12-15 Qualcomm Incorporated Sub-slices in video coding
FR2972588A1 (fr) * 2011-03-07 2012-09-14 France Telecom Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants
US9325999B2 (en) 2011-03-10 2016-04-26 Sharp Kabushiki Kaisha Video decoder for slices
MX352139B (es) 2011-03-10 2017-11-10 Velos Media Int Ltd Método de decodificación de video.
GB2491164B (en) 2011-05-25 2013-09-11 Canon Kk Method and device for compression of video data
US8995523B2 (en) 2011-06-03 2015-03-31 Qualcomm Incorporated Memory efficient context modeling
EP2719182B1 (en) 2011-06-07 2018-05-02 Thomson Licensing Method for encoding and/or decoding images on macroblock level using intra-prediction
US10298939B2 (en) 2011-06-22 2019-05-21 Qualcomm Incorporated Quantization in video coding
US9398307B2 (en) 2011-07-11 2016-07-19 Sharp Kabushiki Kaisha Video decoder for tiles
US9584819B2 (en) 2011-10-24 2017-02-28 Qualcomm Incorporated Grouping of tiles for video coding
US9247258B2 (en) 2011-10-26 2016-01-26 Qualcomm Incorporated Unified design for picture partitioning schemes
WO2013077236A1 (en) 2011-11-21 2013-05-30 Canon Kabushiki Kaisha Image coding apparatus, image coding method, image decoding apparatus, image decoding method, and storage medium
US9578326B2 (en) 2012-04-04 2017-02-21 Qualcomm Incorporated Low-delay video buffering in video coding
CN104620584B (zh) 2012-04-13 2019-10-18 Ge视频压缩有限责任公司 可缩放数据流及网络实体
CA2870989C (en) 2012-04-23 2018-11-20 Panasonic Intellectual Property Corporation Of America Encoding method, decoding method, encoding apparatus, decoding apparatus, and encoding and decoding apparatus
SG11201408612TA (en) 2012-06-29 2015-01-29 Fraunhofer Ges Forschung Video data stream concept
US9930562B2 (en) 2016-02-05 2018-03-27 Arris Enterprises Llc Utilization based control of wireless network services

Also Published As

Publication number Publication date
EP2842318A2 (en) 2015-03-04
IL295693B1 (en) 2023-04-01
EP3481068A1 (en) 2019-05-08
JP2015516747A (ja) 2015-06-11
TW201349878A (zh) 2013-12-01
TWI634794B (zh) 2018-09-01
AU2013246828B2 (en) 2016-08-25
JP6560170B2 (ja) 2019-08-14
CN108337526B (zh) 2020-10-30
IL268801A (en) 2019-10-31
CN104620584A (zh) 2015-05-13
US20200275109A1 (en) 2020-08-27
CN104641647A (zh) 2015-05-20
TWI544803B (zh) 2016-08-01
KR102472481B1 (ko) 2022-11-30
AU2022268403B2 (en) 2023-06-15
FI3793200T3 (fi) 2023-03-01
SG11201406493RA (en) 2014-11-27
RS64003B1 (sr) 2023-03-31
US11876985B2 (en) 2024-01-16
AU2023229505A1 (en) 2023-09-28
AU2022201459A1 (en) 2022-03-24
WO2013153227A3 (en) 2013-12-19
KR20150020538A (ko) 2015-02-26
PH12017501900A1 (en) 2018-06-25
IL301488B1 (en) 2023-11-01
KR20190057419A (ko) 2019-05-28
JP7140870B2 (ja) 2022-09-21
JP6133400B2 (ja) 2017-05-24
US20220224920A1 (en) 2022-07-14
CN115442610A (zh) 2022-12-06
PH12017501899B1 (en) 2018-06-25
PH12017501902A1 (en) 2018-06-25
MX344485B (es) 2016-12-16
PL3174295T3 (pl) 2019-05-31
CN108540814B (zh) 2021-03-05
RU2710908C2 (ru) 2020-01-14
EP4192012A1 (en) 2023-06-07
IL261381B (en) 2019-09-26
RU2019141081A (ru) 2021-06-16
JP2024050612A (ja) 2024-04-10
US20150023434A1 (en) 2015-01-22
HK1258728A1 (zh) 2019-11-15
KR102096566B1 (ko) 2020-04-02
RU2019141081A3 (es) 2021-06-16
KR101981270B1 (ko) 2019-05-23
IL301488B2 (en) 2024-03-01
PH12017501900B1 (en) 2018-06-25
CN108337526A (zh) 2018-07-27
SI3793200T1 (sl) 2023-03-31
KR102330153B1 (ko) 2021-11-23
PT3793200T (pt) 2023-02-06
MX2023001435A (es) 2023-03-06
MY173763A (en) 2020-02-19
PL3793200T3 (pl) 2023-06-12
TW202130175A (zh) 2021-08-01
DK3793200T3 (da) 2023-02-13
US11259034B2 (en) 2022-02-22
TWI711298B (zh) 2020-11-21
EP2842318B1 (en) 2016-12-28
CN108540814A (zh) 2018-09-14
CN104620584B (zh) 2019-10-18
CN115442611A (zh) 2022-12-06
KR101981267B1 (ko) 2019-05-23
DK3481068T3 (da) 2020-11-16
US10674164B2 (en) 2020-06-02
MX2014012255A (es) 2014-12-05
TW201408074A (zh) 2014-02-16
AU2013246828A1 (en) 2014-12-11
CL2014002739A1 (es) 2015-04-10
IL261381A (en) 2018-10-31
AU2022201459B2 (en) 2022-08-18
US11122278B2 (en) 2021-09-14
KR102171208B1 (ko) 2020-10-28
KR20170140433A (ko) 2017-12-20
UA125468C2 (uk) 2022-03-23
AU2016259446B2 (en) 2019-01-17
US20190342560A1 (en) 2019-11-07
CN108462880B (zh) 2021-04-09
WO2013153226A2 (en) 2013-10-17
US20190045201A1 (en) 2019-02-07
EP3174295B1 (en) 2018-12-12
IL295693B2 (en) 2023-08-01
KR20200020012A (ko) 2020-02-25
PT3174295T (pt) 2019-03-25
AU2016259446A1 (en) 2016-12-08
TW201705765A (zh) 2017-02-01
PH12014502303A1 (en) 2014-12-22
HUE060889T2 (hu) 2023-04-28
KR101667341B1 (ko) 2016-10-18
EP3793200B1 (en) 2022-11-09
TWI816249B (zh) 2023-09-21
KR20160145843A (ko) 2016-12-20
PL2842313T3 (pl) 2017-06-30
ES2607438T3 (es) 2017-03-31
BR122020007621B1 (pt) 2023-03-07
CN108322752B (zh) 2021-04-09
EP2842313A2 (en) 2015-03-04
KR101809591B1 (ko) 2017-12-18
HUE042951T2 (hu) 2019-07-29
TWI752680B (zh) 2022-01-11
MX2023001434A (es) 2023-03-06
TW201742452A (zh) 2017-12-01
US10123006B2 (en) 2018-11-06
KR20190057417A (ko) 2019-05-28
US20200221105A1 (en) 2020-07-09
PT2842318T (pt) 2017-03-31
US10045017B2 (en) 2018-08-07
TW202349949A (zh) 2023-12-16
IL307660A (en) 2023-12-01
RU2758037C2 (ru) 2021-10-25
CL2016001115A1 (es) 2017-04-07
KR20170140432A (ko) 2017-12-20
KR20200123289A (ko) 2020-10-28
KR101686088B1 (ko) 2016-12-13
DK2842313T3 (en) 2017-01-23
KR101981272B1 (ko) 2019-05-23
JP5993083B2 (ja) 2016-09-14
CA2870039C (en) 2019-10-08
CN108322752A (zh) 2018-07-24
KR20170140434A (ko) 2017-12-20
JP2022184904A (ja) 2022-12-13
PH12017501899A1 (en) 2018-06-25
EP3793200A1 (en) 2021-03-17
HUE033604T2 (en) 2017-12-28
SG10201702988RA (en) 2017-05-30
JP2015516748A (ja) 2015-06-11
CA3056122A1 (en) 2013-10-17
AU2021201682B2 (en) 2022-07-07
RU2016141337A3 (es) 2018-12-18
US20240155141A1 (en) 2024-05-09
TWI527466B (zh) 2016-03-21
PH12014502303B1 (en) 2014-12-22
EP3481068B1 (en) 2020-08-12
KR102080085B1 (ko) 2020-02-24
RU2603531C2 (ru) 2016-11-27
KR102080835B1 (ko) 2020-02-25
PH12017500992A1 (en) 2018-06-25
PH12019501219A1 (en) 2019-11-11
LT3793200T (lt) 2023-02-27
US20150023409A1 (en) 2015-01-22
WO2013153227A2 (en) 2013-10-17
TWI586179B (zh) 2017-06-01
ZA201407815B (en) 2016-01-27
ES2937793T3 (es) 2023-03-31
AU2022268403A1 (en) 2022-12-15
JP2017022724A (ja) 2017-01-26
RU2014145559A (ru) 2016-06-10
KR20190057418A (ko) 2019-05-28
TW201921932A (zh) 2019-06-01
BR112014025496A2 (pt) 2017-09-19
EP3174295A1 (en) 2017-05-31
DK2842318T3 (en) 2017-04-10
US20180309997A1 (en) 2018-10-25
CN115426496A (zh) 2022-12-02
RU2016141337A (ru) 2018-12-18
CN110809160A (zh) 2020-02-18
HUE051172T2 (hu) 2021-03-01
KR20220164077A (ko) 2022-12-12
IL301488A (en) 2023-05-01
DK3174295T3 (en) 2019-04-01
KR20150013521A (ko) 2015-02-05
ES2831415T3 (es) 2021-06-08
UA115240C2 (uk) 2017-10-10
HK1258819A1 (zh) 2019-11-22
WO2013153226A3 (en) 2013-12-19
IL295693A (en) 2022-10-01
PT2842313T (pt) 2016-12-22
TW202220443A (zh) 2022-05-16
KR20210144928A (ko) 2021-11-30
JP6864425B2 (ja) 2021-04-28
PT3481068T (pt) 2020-11-19
CN108462880A (zh) 2018-08-28
PH12017501901B1 (en) 2018-06-25
IL268801B (en) 2022-09-01
US11343517B2 (en) 2022-05-24
HK1205839A1 (en) 2015-12-24
JP2021106415A (ja) 2021-07-26
CA3056122C (en) 2021-05-04
CN104641647B (zh) 2018-05-04
US20220264127A1 (en) 2022-08-18
PL2842318T3 (pl) 2017-06-30
CN110809160B (zh) 2022-09-16
JP2019208250A (ja) 2019-12-05
AU2019202551B2 (en) 2020-12-17
BR112014025496B1 (pt) 2023-03-07
AU2019202551A1 (en) 2019-05-09
PH12017501901A1 (en) 2018-06-25
TWI575940B (zh) 2017-03-21
PH12017501902B1 (en) 2018-06-25
HUE031183T2 (en) 2017-06-28
EP2842313B1 (en) 2016-10-19
TW201633777A (zh) 2016-09-16
US10694198B2 (en) 2020-06-23
AU2021201682A1 (en) 2021-04-08
CA2870039A1 (en) 2013-10-17
ES2620707T3 (es) 2017-06-29

Similar Documents

Publication Publication Date Title
ES2715107T3 (es) Codificación de imagen con bajo retardo
ES2674553T3 (es) Inicialización de la paleta predictora en codificación de vídeo basada en paletas