ES2693643T3 - Exploración dependiente de modo de coeficientes de un bloque de datos de vídeo - Google Patents
Exploración dependiente de modo de coeficientes de un bloque de datos de vídeo Download PDFInfo
- Publication number
- ES2693643T3 ES2693643T3 ES11806073.0T ES11806073T ES2693643T3 ES 2693643 T3 ES2693643 T3 ES 2693643T3 ES 11806073 T ES11806073 T ES 11806073T ES 2693643 T3 ES2693643 T3 ES 2693643T3
- Authority
- ES
- Spain
- Prior art keywords
- block
- video
- coefficients
- transformation
- video data
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
- H03M7/4006—Conversion to or from arithmetic code
- H03M7/4012—Binary arithmetic codes
- H03M7/4018—Context adapative binary arithmetic codes [CABAC]
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
- H03M7/4031—Fixed length to variable length coding
- H03M7/4037—Prefix coding
- H03M7/4043—Adaptive prefix coding
- H03M7/4068—Parameterized codes
- H03M7/4075—Golomb codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/60—General implementation details not specific to a particular type of compression
- H03M7/6035—Handling of unkown probabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/129—Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/14—Coding unit complexity, e.g. amount of activity or edge presence estimation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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 block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/18—Methods 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 set of transform coefficients
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N19/196—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods 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/436—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Un método de codificación de coeficientes asociados con un bloque de datos de vídeo, en el que los coeficientes se obtienen transformando el bloque de datos de vídeo, comprendiendo el método: para cada combinación de modo de intracifrado posible y tamaño de bloque de transformación posible, definir un conjunto de candidatos de orden de exploración principales, siendo cada conjunto de candidatos de orden de exploración principales un subconjunto de los candidatos de orden de exploración posibles definidos para cualquier combinación de modos de intracifrado posibles y tamaños de bloque de transformación posibles; para un bloque de datos de vídeo cifrado usando un modo de intracifrado particular y que tiene un tamaño de bloque de transformación, seleccionar el conjunto de candidatos de orden de exploración principales definidos para un bloque predicho usando el modo de intracifrado particular y que tiene el tamaño de bloque de transformación particular, y seleccionar el orden de exploración a partir del conjunto seleccionado de candidatos de orden de exploración principales, en el que los coeficientes se exploran con el orden de exploración seleccionado; y generar un elemento de sintaxis para comunicar el orden de exploración seleccionado a partir del conjunto seleccionado de candidatos principales.
Description
5
10
15
20
25
30
35
40
45
50
55
DESCRIPCION
Exploracion dependiente de modo de coeficientes de un bloque de datos de video Campo tecnico
Esta divulgacion se refiere a tecnicas de codificacion de v^deo basadas en bloques usadas para comprimir datos de video y, mas particularmente, a tecnicas de exploracion usadas para serializar datos de bloque de video durante el procedimiento de codificacion.
Antecedentes
Pueden incorporarse capacidades de video digitales en un amplia gama de dispositivos de video, incluyendo televisiones digitales, sistemas de radiodifusion directa digitales, dispositivos de comunicacion inalambrica tales como microtelefonos inalambricos, sistemas de radiodifusion inalambricos, asistentes digitales personales (PDA), ordenadores portatiles o de sobremesa, ordenadores tipo tableta, camaras digitales, dispositivos de grabacion digital, dispositivos de videojuegos, consolas de videojuegos, reproductores multimedia personales y similares. Tales dispositivos de video pueden implementar tecnicas de compresion de video, tales como las descritas en MPEG-2, MPEG-4 o ITU-T H.264/MPEG-4, Parte 10, Codificacion de video avanzada (AVC), con el fin de comprimir datos de video. Las tecnicas de compresion de video llevan a cabo una prediccion espacial y/o temporal para reducir o eliminar la redundancia inherente en secuencias de video. Nuevos estandares de video, tales como el estandar de codificacion de video de alta eficiencia (HEVC) que esta desarrollandose por el “Joint Collaborative Team - Video Coding” (JCTVC), que es una colaboracion entre MPEG e ITU-T, continuan emergiendo y evolucionando. El estandar HEVC emergente se denomina a veces H.265.
Estos y otros estandares y tecnicas de cifrado de video usan un cifrado de video basado en bloques. La tecnicas de cifrado de video basadas en bloques dividen los datos de video de una trama de video (o parte de la misma) en bloques de video y luego codifican los bloques de video usando tecnicas de compresion basadas en bloques predictivas. Los bloques de video pueden dividirse adicionalmente en particiones de bloque de video. Los bloques de video (o particiones de los mismos) pueden denominarse unidades codificadas (CU) y pueden codificarse usando una o mas tecnicas de codificacion espedficas de video asf como tecnicas de compresion de datos generales.
Con el estandar HEVC emergente, pueden dividirse unidades codificadas mayores (Largest Coded Units, LCU) en CU cada vez mas pequenas segun un esquema de particion de arbol cuaternario. Las CU pueden predecirse basandose en denominadas unidades de prediccion (PU), que pueden tener tamanos de particion correspondientes al tamano de las CU o mas pequenos que el tamano de las CU, de manera que pueden usarse multiples PU para predecir una CU dada. Las CU pueden intracifrarse basandose en datos predictivos dentro de la misma trama o sector para aprovechar la redundancia espacial dentro de una trama de video. Alternativamente, las CU pueden intercifrarse basandose en datos predictivos a partir de otra trama o sector, para aprovechar la redundancia temporal a lo largo de tramas de una secuencia de video. Tras el cifrado predictivo (intra o interpredictivo), entonces puede llevarse a cabo la codificacion de transformacion, tal como transformaciones cosenoidales discretas (Dicrete Cosine Transforms, DCT), transformaciones de numeros enteros o similares. Con HEVC, puede producirse la codificacion de transformacion con respecto a las unidades de transformacion (TU), que tambien pueden tener tamanos de transformacion variables en el estandar HEVC. Tambien pueden llevarse a cabo una cuantificacion de los coeficientes de transformacion, exploracion de los coeficientes de transformacion cuantificados y cifrado por entropfa. La informacion de sintaxis se comunica por senales con datos de video codificados, por ejemplo, en una cabecera de sector de video o cabecera de bloque de video, con el fin de informar al descodificador sobre como descodificar los datos de video.
CHUJOH (TOSHIBA) T ET AL: “Video coding technology proposal by Toshiba”, 1. JCT-VC MEETING; 15-4-201023-4-2010; DRESDEN; (JOINTCOLLABORATIVE TEAM ON VIDEO CODING OF ISO/IEC JTC1/SC29/WG11 AND ITU-TSG.16 ); URL:
HTTP://WFTP3.ITU.INT/AV-ARCH/JCTVC-SITE/, n.° XP030007558, 18 de abril de 2010 (18-042010), XP030007559,ISSN: 0000-0049 da a conocer un orden de exploracion adaptativa de coeficientes de transformacion, en la que el orden de exploracion para una combinacion particular de modo de intracifrado y tamano de transformacion se determina usando tablas de consulta. Los elementos de sintaxis que especifican el tamano de transformacion y modo de intraprediccion especifican implfcitamente el orden de exploracion a usar. Sin embargo, no da a conocer i) la definicion de un subconjunto de ordenes de exploracion para cada combinacion de modo de intracifrado y tamano de transformacion, siendo el subconjunto un subconjunto de un conjunto que contiene todos los ordenes de exploracion posibles correspondientes a todas las combinaciones de modo de intracifrado y tamano de transformacion posibles y ii) la seleccion del orden de exploracion a partir del subconjunto.
HTTP://WFTP3.ITU.INT/AV-ARCH/JCTVC-SITE/, n.° XP030007558, 18 de abril de 2010 (18-042010), XP030007559,ISSN: 0000-0049 da a conocer un orden de exploracion adaptativa de coeficientes de transformacion, en la que el orden de exploracion para una combinacion particular de modo de intracifrado y tamano de transformacion se determina usando tablas de consulta. Los elementos de sintaxis que especifican el tamano de transformacion y modo de intraprediccion especifican implfcitamente el orden de exploracion a usar. Sin embargo, no da a conocer i) la definicion de un subconjunto de ordenes de exploracion para cada combinacion de modo de intracifrado y tamano de transformacion, siendo el subconjunto un subconjunto de un conjunto que contiene todos los ordenes de exploracion posibles correspondientes a todas las combinaciones de modo de intracifrado y tamano de transformacion posibles y ii) la seleccion del orden de exploracion a partir del subconjunto.
Sumario
Esta divulgacion describe tecnicas en las que diferentes ordenes de exploracion se definen y se usan para diferentes modos de intraprediccion basandose en el tipo de modo de intraprediccion y el tamano de bloque de transformacion usado en la transformacion de un bloque de coeficientes de transformacion dado. En un ejemplo, la seleccion de un orden de exploracion puede realizarse entre ordenes de exploracion en horizontal, vertical y por filas, aunque tambien pueden soportarse otros ordenes de exploracion. Un orden de exploracion deseable, por ejemplo, en el
5
10
15
20
25
30
35
40
45
50
sentido de una metrica de distorsion de tasa para los datos de v^deo codificados, puede decidirse por el codificador buscando entre ordenes de exploracion en zigzag, horizontal y vertical, y comparando los resultados de cifrado. El mejor orden de exploracion puede seleccionarse y usarse para la codificacion, y luego comunicarse por senales dentro del flujo de bits (por ejemplo, como un elemento de sintaxis de nivel de bloque) al descodificador. La mejora de rendimiento que puede resultar del uso de diferentes ordenes de exploracion puede anadir complejidad al codificador debido a la busqueda exhaustiva del mejor orden de exploracion. Sin embargo, para equilibrar la complejidad anadida, puede limitarse el numero de ordenes de exploracion posibles y puede usarse un esquema de senalizacion conmutable para indexar los ordenes de exploracion posibles para propositos de comunicar por senales el orden de exploracion seleccionado para un bloque de video. Tanto un ejemplo fijo como un ejemplo conmutable de las tecnicas se explican con mayor detalle a continuacion.
En un ejemplo, esta divulgacion describe un metodo de codificar coeficientes asociados con un bloque de datos de video, tal como se define en la reivindicacion 1.
En otro ejemplo, esta divulgacion describe un metodo de descodificar coeficientes asociados con un bloque de datos de video, tal como se define en la reivindicacion 5.
En otro ejemplo, esta divulgacion describe un dispositivo de codificacion de video que codifica coeficientes asociados con un bloque de datos de video, tal como se define en la reivindicacion 7.
En otro ejemplo, esta divulgacion describe un dispositivo de descodificacion de video que descodifica coeficientes asociados con un bloque de datos de video, tal como se define en la reivindicacion 11.
Las tecnicas descritas en esta divulgacion pueden implementarse en hardware, software, firmware o combinaciones de los mismos. Si se implementa en hardware, un aparato puede realizarse como un circuito integrado, un procesador, logica discreta o cualquier combinacion de los mismos. Si se implementa en software, el software puede ejecutarse en uno o mas procesadores, tales como un microprocesador, circuito integrado para aplicaciones espedficas (Application Specific Integrated Circuit, ASIC), matriz de puertas programable en campo (FPGA) o procesador de senales digitales (DSP). El software que ejecuta las tecnicas puede almacenarse inicialmente en un medio de almacenamiento legible por ordenador tangible y cargarse y ejecutarse en el procesador.
Por consiguiente, esta divulgacion tambien contempla un medio de almacenamiento legible por ordenador que comprende instrucciones que, cuando se ejecutan, provocan que un procesador codifique coeficientes asociados con un bloque de datos de video, en el que las instrucciones provocan que el procesador lleve a cabo el metodo segun la reivindicacion 1.
Ademas, esta divulgacion describe un medio legible por ordenador que comprende instrucciones que, cuando se ejecutan, provocan que un procesador descodifique coeficientes asociados con un bloque de datos de video, en el que las instrucciones provocan que el procesador lleve a cabo el metodo segun la reivindicacion 5.
Los detalles de uno o mas aspectos de la divulgacion se exponen en los dibujos adjuntos y la descripcion a continuacion. Otras caractensticas, objetos y ventajas de las tecnicas descritas en esta divulgacion resultaran evidentes a partir de la descripcion y los dibujos, y a partir de las reivindicaciones.
Breve descripcion de los dibujos
La figura 1 es un diagrama de bloques que ilustra un sistema de codificacion y descodificacion de video que puede implementar una o mas de las tecnicas de esta divulgacion.
La figura 2 es un diagrama de bloques que ilustra un codificador de video a modo de ejemplo de acuerdo con uno o mas ejemplos de esta divulgacion.
La figura 3 es un diagrama de bloques que ilustra un descodificador de video a modo de ejemplo de acuerdo con uno o mas ejemplos de esta divulgacion.
La figura 4 es un diagrama conceptual de bloques de video divididos segun un esquema de particion de arbol cuaternario.
La figura 5 es un arbol de decisiones que representa decisiones de particion que dan como resultado la particion de arbol cuaternario mostrada en la figura 4.
Las figuras 6A-6C son diagramas conceptuales que ilustran ordenes de exploracion a modo de ejemplo, que incluyen una exploracion en zigzag (figura 6A), una exploracion en horizontal (figura 6B) y una exploracion en vertical (figura 6C).
La figura 7 es un diagrama conceptual que ilustra modos de prediccion a modo de ejemplo de acuerdo con el estandar HEVC emergente.
La figura 8 es otro diagrama conceptual de bloques de video divididos segun un esquema de particion de arbol
5
10
15
20
25
30
35
40
45
50
55
cuaternario.
Las figuras 9-13 son tablas que pueden usarse para implementar tecnicas de esta divulgacion.
Las figuras 14-16 son diagramas de flujo que ilustran tecnicas de acuerdo con esta divulgacion.
Descripcion detallada
Esta divulgacion se refiere a tecnicas de exploracion llevadas a cabo en coeficientes de un bloque de datos de video. Los coeficientes pueden comprender denominados coeficientes significativos y coeficientes de valor cero, que son indicadores o valores binarios (es decir, 0 o 1) que definen si coeficientes de transformacion residuales son significativos (es decir, distintos de cero) o no (es decir, cero). Los coeficientes significativos pueden definir un mapa de significacion que define cuales de los coeficientes de transformacion residuales de un bloque de video son significativos y cuales no son significativos. Pueden definirse valores de nivel conjuntamente con los coeficientes significativos con el fin de definir los valores reales de coeficientes de transformacion residuales distintos de cero. En este caso, los coeficientes significativos y coeficientes de valor cero definen si los coeficientes de transformacion residuales son significativos (es decir, distintos de cero) o no (es decir, cero), y los valores de nivel definen los valores reales para coeficientes de transformacion que son significativos.
Los coeficientes de transformacion residuales pueden comprender un bloque de coeficientes de transformacion en el dominio de frecuencia, que representa una distribucion de energfa asociada con un conjunto de valores de pixel residuales. Los valores de pixel residuales pueden comprender un bloque de valores que representan las diferencias residuales entre un bloque de datos de video que estan codificandose, y un bloque de datos de video predictivos usados para la codificacion predictiva, en el dominio espacial. Los valores de pixel residuales pueden cuantificarse o no cuantificarse en diferentes casos, y las tecnicas de esta divulgacion pueden aplicarse a cualquiera o a ambos casos. El bloque de datos predictivos puede ser datos intrapredictivos de la misma trama o sector que la del bloque de video que esta cifrandose, o puede ser datos interpredictivos definidos a partir de una trama o sector diferente con respecto a la del bloque de video que esta cifrandose. Una transformacion, tal como una transformacion cosenoidal discreta (DCT) o procedimiento conceptualmente similar, puede aplicarse a los valores de pixel residuales para producir coeficientes de transformacion en un dominio de frecuencia. Un mapa de significacion de coeficientes significativos puede crearse para representar si los coeficientes de transformacion son significativos (es decir, distintos de cero) o no (es decir, cero).
En codificacion de video, normalmente se llevan a cabo tecnicas de exploracion para serializar un bloque de coeficientes desde una representacion bidimensional hasta una representacion unidimensional. En muchos casos, tras la transformacion, es mas probable que sean significativos los coeficientes residuales que se ubican cerca de la esquina superior derecha de un bloque de video, aunque la ubicacion de coeficientes de alta energfa puede ubicarse en otra parte, debido a la direccionalidad de la transformacion. La denominada exploracion en zigzag puede ser una tecnica de exploracion eficaz para serializar un bloque de coeficientes significativos (o un bloque de los coeficientes de transformacion residuales) desde una representacion bidimensional hasta una representacion unidimensional para agrupar los coeficientes, por ejemplo, cerca de la parte frontal de la representacion unidimensional serializada. Sin embargo, otras tecnicas de exploracion (tales como la exploracion en horizontal, exploracion en vertical, combinaciones de exploracion en zigzag y horizontal, combinaciones de exploracion en zigzag y vertical, exploracion adaptativa u otros patrones de exploracion mas complejos) pueden ser mas eficaces en algunos casos. Algunos modos de intracifrado dan a menudo como resultado distribuciones de coeficientes significativos que se desvfan hacia el borde vertical izquierdo del bloque o el borde superior del bloque del bloque. En tales casos, el uso de un orden de exploracion diferente (por ejemplo, no en zigzag) puede mejorar la eficiencia de cifrado del cifrado de video para mejorar la compresion de video.
Esta divulgacion describe tecnicas en las que diferentes ordenes de exploracion se definen y se usan para diferentes modos de intraprediccion basandose en el tipo de modo de intraprediccion y el tamano de bloque de transformacion usados en la transformacion de un bloque de coeficientes de transformacion dado. En un ejemplo, la seleccion puede ser de entre ordenes de exploracion en horizontal, vertical y por filas, aunque tambien pueden soportarse otros ordenes de exploracion. El orden de exploracion deseado, por ejemplo, en el sentido de tasa de transmision bits de cifrado frente a distorsion en el procedimiento de codificacion, puede determinarse en el codificador buscando entre ordenes de exploracion en zigzag, horizontal y vertical, y comparando los resultados en cuanto a compresion y calidad de video. El orden de exploracion seleccionado por el codificador puede transmitirse como un mdice dentro del flujo de bits (por ejemplo, como sintaxis de nivel de bloque) al descodificador. La mejora de rendimiento que puede resultar del uso de diferentes ordenes de exploracion puede anadir complejidad al codificador debido a la busqueda exhaustiva del mejor orden de exploracion. Por este motivo, tecnicas adicionales pueden limitar el nivel de busqueda para mitigar tal complejidad en el codificador.
En un ejemplo, se propone una tecnica de cifrado de coeficiente de transformacion fija dependiente de modo para cifrado intrabloque. La tecnica de cifrado de coeficiente de transformacion fija dependiente de modo puede asociar el orden de exploracion (tambien denominado “orden para la exploracion”) con un modo de intraprediccion, lo que significa que el orden de exploracion para un modo de intraprediccion puede fijarse para un tamano de transformacion dado. El codificador puede evitar una busqueda exhaustiva de entre varios ordenes de exploracion
5
10
15
20
25
30
35
40
45
50
55
60
con el fin de reducir la complejidad como si solo existieran unos pocos ordenes de exploracion posibles, y al mismo tiempo, las tecnicas pueden aprovechar algunos de los beneficios asociados con una busqueda exhaustiva de todos los ordenes de exploracion posibles. Fijar el orden de exploracion para ambas, codificacion/descodificacion, puede ser particularmente deseable para soportar una implementacion paralela por los dispositivos tanto de codificacion como de descodificacion.
Las tecnicas de esta divulgacion pueden aplicarse a un cifrado intrabloques. En H.264/ A VC y el modelo de prueba del estandar HEVC emergente, pueden usarse metodos de extrapolacion direccionales para predecir un intrabloque. Debido a la prediccion direccional (es decir, basada en intradatos dentro del mismo sector de video), el bloque residual (en el dominio de pixel) presenta habitualmente caractensticas direccionales, que luego se heredan en el bloque de coeficiente transformado (en el dominio de transformacion). Por este motivo, un esquema de exploracion dependiente de modo para coeficientes de transformacion (o simplemente para coeficientes significativos de un mapa de significacion) puede ser muy util para mejorar la eficiencia de cifrado.
En otro ejemplo, puede usarse una tecnica de cifrado de coeficiente de transformacion conmutable dependiente de modo. En este caso, pueden definirse candidatos de orden de exploracion principales para cada modo de prediccion, para cada tamano de transformacion o para combinaciones de modo de prediccion y tamano de transformacion. Los candidatos en el conjunto (es decir, los candidatos de orden de exploracion principales) pueden diferir basandose tanto en el modo de prediccion como en el tamano de bloque usado. En este caso, el mejor orden de exploracion para un bloque puede determinarse por el codificador de entre los candidatos en el conjunto especificado para el modo de prediccion, pero el numero de candidatos puede ser menor que el numero total de ordenes de exploracion posibles. La tecnica puede anadir algo de complejidad al codificador, pero puede limitar la complejidad a un numero fijo de ordenes de exploracion de candidato principales. El descodificador puede definir el mismo conjunto de candidatos principales que los definidos en el codificador, de modo que el descodificador puede interpretar apropiadamente los elementos de sintaxis para impedir el orden de exploracion apropiado a usar.
La figura 1 es un diagrama de bloques que ilustra un sistema de codificacion y descodificacion de video a modo de ejemplo 10 que puede implementar tecnicas de esta divulgacion. Tal como se muestra en la figura 1, el sistema 10 incluye un dispositivo de origen 12 que transmite video codificado a un dispositivo de destino 16 por medio de un canal de comunicacion 15. El dispositivo de origen 12 y el dispositivo de destino 16 pueden comprender cualquiera de una gama amplia de dispositivos. En algunos casos, el dispositivo de origen 12 y el dispositivo de destino 16 pueden comprender microtelefonos de dispositivo de comunicacion inalambrica, tales como los denominados radiotelefonos celulares o por satelite. Sin embargo, las tecnicas de esta divulgacion, que se aplican generalmente a tecnicas de exploracion en codificacion de video y descodificacion de video, no se limitan necesariamente a aplicaciones o entornos inalambricos, y pueden aplicarse a dispositivos no inalambricos que incluyen capacidades de codificacion y/o descodificacion de video. El dispositivo de origen 12 y el dispositivo de destino 16 son simplemente ejemplos de dispositivos de cifrado que pueden soportar las tecnicas descritas en el presente documento. Otros dispositivos de video que pueden usar tecnicas de esta divulgacion pueden incluir televisiones digitales, sistemas de radiodifusion directa digitales, una amplia gama de dispositivos de comunicacion inalambrica, sistemas de radiodifusion inalambricos, asistentes digitales personales (PDA), ordenadores portatiles o de sobremesa, ordenadores tipo tableta, camaras digitales, dispositivos de grabacion digital, dispositivos de videojuegos, consolas de videojuegos, reproductores multimedia personales y similares.
En el ejemplo de la figura 1, el dispositivo de origen 12 puede incluir una fuente de video 20, un codificador de video 22, un modulador/desmodulador (modem) 23 y un transmisor 24. El dispositivo de destino 16 puede incluir un receptor 26, un modem 27, un descodificador de video 28 y un dispositivo de visualizacion 30. Segun esta divulgacion, el codificador de video 22 del dispositivo de origen 12 puede configurarse para llevar a cabo tecnicas de exploracion de esta divulgacion durante un procedimiento de codificacion de video con el fin de serializar coeficientes de un bloque de datos de video desde un formato de bloque bidimensional hasta un formato unidimensional. Pueden generarse elementos de sintaxis en el codificador de video 22 con el fin de comunicar por senales como se exploraron los coeficientes, de modo que el descodificador de video 28 puede llevar a cabo una exploracion redproca (es decir, inversa). En algunos ejemplos, tanto el codificador de video 22 como el descodificador de video 28 pueden configurarse para determinar un conjunto de candidatos de orden de exploracion principales, por ejemplo, basandose en informacion contextual. En otros ejemplos, el codificador de video 22 puede determinar el orden de exploracion y codificar simplemente el orden de exploracion en informacion de sintaxis, para su uso por el descodificador de video 28.
El codificador de video 22 de dispositivo de origen 12 puede codificar datos de video recibidos desde la fuente de video 20 usando las tecnicas de esta divulgacion. La fuente de video 20 puede comprender un dispositivo de captura de video, tal como una camara de video, un archivo de video que contiene video capturado previamente, o un video alimentado desde un proveedor de contenido de video. Como una alternativa adicional, la fuente de video 20 puede generar datos basados en graficos de ordenador como video de origen, o una combinacion de video en directo, video archivado y video generado por ordenador. En algunos casos, si la fuente de video 20 es una camara de video, el dispositivo de origen 12 y el dispositivo de destino 16 pueden formar denominados telefonos con camara o videofonos. En cada caso, el video capturado, precapturado o generado por ordenador puede codificarse por el codificador de video 22.
5
10
15
20
25
30
35
40
45
50
55
Una vez que los datos de v^deo se codifican por el codificador de video 22, la informacion de video codificada puede entonces modularse por el modem 23 segun un estandar de comunicacion, por ejemplo, tal como acceso multiple por division de codigo (CDMA), multiplexacion por division de frecuencia ortogonal (OFDM) o cualquier otro estandar o tecnica de comunicacion. Entonces, los datos codificados y modulados pueden transmitirse al dispositivo de destino 16 por medio del transmisor 24. El modem 23 puede incluir diversos mezcladores, filtros, amplificadores u otros componentes disenados para modulacion de senal. El transmisor 24 puede incluir circuitos disenados para transmitir datos, incluyendo amplificadores, filtros y una o mas antenas. El receptor 26 del dispositivo de destino 16 recibe informacion por el canal 15, y el modem 27 desmodula la informacion. De nuevo, el procedimiento de descodificacion de video llevado a cabo por el descodificador de video 28 puede incluir tecnicas de exploracion redprocas a las usadas por el codificador de video 22.
El canal de comunicacion 15 puede comprender cualquier medio de comunicacion inalambrico o por cable, tal como un espectro de radiofrecuencias (RF) o una o mas lmeas de transmision ffsicas, o cualquier combinacion de medios inalambricos y por cable. El canal de comunicacion 15 puede formar parte de una red basada en paquetes, tal como una red de area local, una red de area extensa o una red global tal como Internet. El canal de comunicacion 15 representa generalmente cualquier medio de comunicacion adecuado, o grupo de diferentes medios de comunicacion, para transmitir datos de video desde el dispositivo de origen 12 hasta el dispositivo de destino 16.
El codificador de video 22 y el descodificador de video 28 pueden funcionar sustancialmente segun un estandar de compresion de video tal como el estandar HEVC emergente. Sin embargo, las tecnicas de esta divulgacion pueden aplicarse tambien en el contexto de una variedad de otros estandares de codificacion de video, incluyendo algunos estandares antiguos, o estandares nuevos o emergentes.
Aunque no se muestra en la figura 1, en algunos casos, el codificador de video 22 y el descodificador de video 28 pueden integrarse cada uno con un codificador y descodificador de audio, y pueden incluir unidades MUX-DEMUX apropiadas, u otro hardware y software, para encargarse de la codificacion tanto de audio como de video en un flujo de datos comun o flujos de datos independientes. Si es aplicable, las unidades MUX-DEMUX pueden ajustarse al protocolo de multiplexacion ITU H.223, u otros protocolos tales como el protocolo de datagrama de usuario (UDP).
El codificador de video 22 y el descodificador de video 28 pueden implementarse cada uno como uno o mas microprocesadores, procesadores de senales digitales (DSP), circuitos integrados para aplicaciones espedficas (ASIC), matrices de puertas programables en campo (FPGA), logica discreta, software, hardware, firmware o combinaciones cualesquiera de los mismos. Cada uno del codificador de video 22 y el descodificador de video 28 pueden incluirse en uno o mas codificadores o descodificadores, cualquier de los cuales puede integrarse como parte de un codificador/descodificador combinado (CODEC) en un respectivo dispositivo movil, dispositivo de abonado, dispositivo de radiodifusion, servidor o similar. En esta divulgacion, el termino cifrador se refiere a un codificador o un descodificador, y los terminos cifrador, codificador y descodificador se refieren todos ellos a maquinas espedficas disenadas para el cifrado (codificacion o descodificacion) de datos de video de acuerdo con esta divulgacion.
En algunos casos, los dispositivos 12, 16 pueden funcionar de una manera sustancialmente simetrica. Por ejemplo, cada uno de los dispositivos 12, 16 pueden incluir componentes de codificacion y descodificacion de video. Por tanto, el sistema 10 puede soportar una transmision de video unidireccional o bidireccional entre los dispositivos de video 12, 16, por ejemplo, para emision de video en tiempo real, reproduccion de video, difusion de video o videotelefoma.
Durante el procedimiento de codificacion, el codificador de video 22 puede ejecutar varias operaciones o tecnicas de cifrado. En general, el codificador de video 22 funciona en bloques de video dentro de tramas de video individuales (u otras unidades de video definidas independientemente tales como sectores) con el fin de codificar los bloques de video. Tramas, sectores, porciones de tramas, grupos de imagenes u otras estructuras de datos pueden definirse como unidades de informacion de video que incluyen una pluralidad de bloques de video. Los bloques de video pueden tener tamanos fijos o variables, y pueden diferir en tamano segun un estandar de cifrado especificado. En algunos casos, cada trama de video puede incluir una serie de sectores que pueden descodificarse independientemente, y cada sector puede incluir una serie de bloques de video, que pueden disponerse en bloques incluso mas pequenos.
Los macrobloques son un tipo de bloque de video definido por el estandar ITU H.264 y otros estandares. Los macrobloques se refieren normalmente a bloques de datos de 16 por 16. El estandar ITU-T H.264 soporta la intraprediccion en diversos tamanos de bloque, tales como 16 por 16, 8 por 8 o 4 por 4 para componentes de luma, y 8 por 8 para componentes de crominancia, asf como la interprediccion en diversos tamanos de bloque, tales como 16 por 16, 16 por 8, 8 por 16, 8 por 8, 8 por 4, 4 por 8 y 4 por 4 para componentes de luma y tamanos a escala correspondientes para componentes de crominancia.
El estandar HEVC emergente define nuevos terminos para bloques de video. En particular, con HEVC, los bloques de video (o particiones de los mismos) pueden denominarse “unidades codificadas” (CU). Con el estandar HEVC, las unidades codificadas mayores (LCU) pueden dividirse en CU cada vez mas pequenas segun un esquema de particion de arbol cuaternario, y las diferentes CU que se definen en el esquema pueden dividirse adicionalmente en
5
10
15
20
25
30
35
40
45
50
55
60
las denominadas unidades de prediccion (PU). Las LCU, CU y PU son todas ellas bloques de v^deo dentro del significado de esta divulgacion. Tambien pueden usarse otros tipos de bloques de video, de acuerdo con el estandar HEVC u otros estandares de codificacion de video. Por tanto, la frase “bloque de video” se refiere a cualquier tamano de bloque de video. Ademas, bloques de video puede referirse a veces a bloques de datos de video en el dominio de pixel, o bloques de datos en un dominio de transformacion tal como un dominio de transformacion cosenoidal discreta (DCT), un dominio similar a la DCT, un dominio de ondfcula o similar.
Ademas, bloques de video (o bloques de datos de video) puede referirse tambien a bloques de denominados coeficientes significativos. En efecto, las tecnicas de exploracion de esta divulgacion pueden ser particularmente utiles en la exploracion de tales coeficientes significativos. Los coeficientes significativos pueden comprender indicadores o valores binarios (es decir, 0 o 1) que definen si los coeficientes de transformacion residuales (de nuevo, que pueden cuantificarse o no cuantificarse) son significativos (es decir, distintos de cero) o no (es decir, cero). Tambien pueden usarse valores de nivel junto con los coeficientes significativos para definir los valores reales de coeficientes de transformacion residuales. Los coeficientes de transformacion residuales pueden comprender un bloque de coeficientes en el dominio de frecuencia, que representa una distribucion de energfa asociada con un conjunto de valores de pixel residuales. Los valores de pixel residuales, a su vez, pueden comprender un bloque de valores que representa las diferencias residuales entre un bloque de datos de video que estan codificandose, y un bloque de datos de video predictivos usado para la codificacion predictiva. El bloque de datos predictivos puede ser datos intrapredictivos de la misma trama o sector que la del bloque de video que esta cifrandose, o puede ser datos interpredictivos definidos a partir de una trama o sector diferente con respecto a la del bloque de video que esta cifrandose. Las tecnicas de exploracion de esta divulgacion pueden usarse para seleccionar el orden de exploracion para bloques de coeficientes significativos que estan intracifrados, aunque tambien pueden usarse tecnicas similares para bloques intercifrados.
El codificador de video 22 puede llevar a cabo un cifrado predictivo en el que un bloque de video que esta cifrandose se compara con uno o mas candidatos predictivos con el fin de identificar un bloque predictivo. Este procedimiento de cifrado predictivo puede ser intra (en cuyo caso los datos predictivos se generan basandose en intradatos contiguos dentro de la misma trama o sector de video) o inter (en cuyo caso los datos predictivos se generan basandose en datos de video en tramas o sectores previos o posteriores). De nuevo, las tecnicas de exploracion de esta divulgacion pueden usarse para seleccionar el orden de exploracion para bloques de coeficientes significativos que estan intracifrados, aunque pueden usarse tambien tecnicas similares para bloques intercifrados.
Tras generar el bloque predictivo, las diferencias entre el bloque de video actual que esta cifrandose y el bloque predictivo se cifran como un bloque residual, y se usa sintaxis de prediccion (tal como un vector de movimiento en el caso de intercifrado, o un modo de prediccion en el caso de intracifrado) para identificar el bloque predictivo. El bloque residual (es decir, un bloque de valores residuales) puede transformarse para producir un bloque de coeficientes de transformacion, y los coeficientes de transformacion pueden cuantificarse. Sin embargo, las tecnicas de esta divulgacion pueden aplicarse tambien en el caso de coeficientes de transformacion no cuantificados. Las tecnicas de transformacion pueden comprender un procedimiento de DCT o un procedimiento conceptualmente similar, transformaciones de numeros enteros, transformaciones de ondfculas u otros tipos de transformaciones. En un procedimiento de DCT, como ejemplo, el procedimiento de transformacion convierte un conjunto de valores de pixel (por ejemplo, valores residuales que indican diferencias entre valores actuales y valores predictivos) en coeficientes de transformacion, que pueden representar la energfa de los valores de pixel en el dominio de frecuencia. El estandar HEVC permite transformaciones segun unidades de transformacion (TU), que pueden ser diferentes para diferentes CU. Las TU se dimensionan normalmente segun el tamano de CU definido para una LCU dividida, aunque este puede no ser siempre el caso. Normalmente, se aplica cuantificacion en los coeficientes de transformacion, y generalmente implica un procedimiento que limita el numero de bits asociados con cualquier coeficiente de transformacion dado.
Tras la transformacion y la cuantificacion, puede realizarse cifrado por entropfa en los bloques de video residuales transformados y cuantificados. Elementos de sintaxis, tales como informacion de sintaxis de filtro, tamano de particion, vectores de movimiento, modos de prediccion u otra informacion, pueden incluirse tambien en el flujo de bits cifrado por entropfa. En general, el cifrado por entropfa comprende uno o mas procedimientos que comprimen colectivamente una secuencia de coeficientes de transformacion cuantificados y/u otra informacion de sintaxis. Pueden llevarse a cabo tecnicas de exploracion en los coeficientes de transformacion cuantificados con el fin de definir uno o mas vectores unidimensionales serializados de coeficientes a partir de bloques de video bidimensionales. Entonces, los coeficientes explorados se cifran por entropfa junto con cualquier informacion de sintaxis, por ejemplo, por medio de codificacion de longitud variable adaptativa al contenido (CAVLC), codificacion aritmetica binaria adaptativa al contexto (CABAC) u otro procedimiento de cifrado por entropfa.
En algunos casos de acuerdo con esta divulgacion, los coeficientes de transformacion cuantificados se codifican codificando en primer lugar un mapa de significacion que comprende un conjunto de coeficientes significativos dentro de un bloque de transformacion, y luego codificando niveles o valores de coeficientes de transformacion distintos de cero. De nuevo, los coeficientes significativos pueden comprender indicadores o valores binarios (es decir, 0 o 1) que definen si los coeficientes de transformacion residuales son significativos (es decir, distintos de cero) o no (es decir, cero). Tambien puede codificarse informacion adicional para definir el valor o nivel real asociado con los coeficientes significativos en el mapa de significacion. Las tecnicas de exploracion de esta divulgacion
5
10
15
20
25
30
35
40
45
50
55
60
pueden aplicarse a la exploracion del mapa de significacion.
Como parte del procedimiento de codificacion, pueden descodificarse bloques de video codificados con el fin de generar los datos de video que se usan para el cifrado basado en prediccion posterior de bloques de video posteriores. A menudo, esto se denomina un bucle de descodificacion del procedimiento de codificacion, y generalmente imita la descodificacion que se lleva a cabo por un dispositivo descodificador. En el bucle de descodificacion de un codificador o un descodificador, pueden emplearse tecnicas de filtrado con el fin de mejorar la calidad de video, por ejemplo, suavizar bordes de pixel y eliminar posiblemente artefactos del video descodificado. Este filtrado puede ser en el bucle o tras el bucle. Con filtrado en el bucle, el filtrado de datos de video reconstruidos se produce en el bucle de cifrado, lo que significa que los datos filtrados se almacenan por un codificador o un descodificador para su uso posterior en la prediccion de datos de imagen posteriores. En cambio, con el filtrado tras el bucle, el filtrado de datos de video reconstruidos se produce fuera del bucle de cifrado, lo que significa que versiones no filtradas de los datos se almacenan por un codificador o un descodificador para su uso posterior en la prediccion de datos de imagen posteriores. El filtrado de bucle sigue a menudo un procedimiento de filtrado de desbloqueo independiente, que aplica normalmente filtrado a pfxeles que estan en o cerca de bordes de bloques de video adyacentes con el fin de eliminar artefactos en forma de bloque que se manifiestan en los bordes de bloque de video.
La figura 2 es un diagrama de bloques que ilustra un codificador de video 50 de acuerdo con esta divulgacion. El codificador de video 50 puede corresponder al codificador de video 22 del dispositivo 20, o a un codificador de video de un dispositivo diferente. Tal como se muestra en la figura 2, el codificador de video 50 incluye una unidad de prediccion 32, sumadores 48 y 51 y una memoria 34. El codificador de video 50 tambien incluye una unidad de transformacion 38 y una unidad de cuantificacion 40, asf como una unidad de cuantificacion inversa 42 y una unidad de transformacion inversa 44. El codificador de video 50 tambien incluye una unidad de cifrado por entropfa 46 y una unidad de filtro 47, que puede incluir filtros de desbloqueo y filtros tras el bucle y/o en el bucle. Los datos de video codificados y la informacion de sintaxis que define la manera de la codificacion pueden comunicarse a la unidad de codificacion por entropfa 46. La unidad de codificacion por entropfa 46 incluye una unidad de exploracion, que puede llevar a cabo las tecnicas de exploracion de esta divulgacion.
En particular, una unidad de exploracion 45 puede ejecutar un metodo de codificar coeficientes asociados con un bloque de datos de video. El bloque de datos de video puede comprender una CU dentro de una LCU, en la que la LCU esta dividida en un conjunto de CU segun un esquema de particion de arbol cuaternario, de acuerdo con el estandar HEVC emergente. Al codificar los coeficientes, la unidad de exploracion 45 puede seleccionar un orden de exploracion para los coeficientes (por ejemplo, coeficientes significativos) basandose en un modo de intracifrado usado por la unidad de prediccion 42 para predecir el bloque de datos de video y un tamano de bloque de transformacion usado por la unidad de transformacion 38 para transformar el bloque de datos de video. La unidad de exploracion 45 puede generar un elemento de sintaxis para comunicar el orden de exploracion seleccionado para el bloque de datos de video. Tal como se explica con mayor detalle a continuacion, la unidad de exploracion 45 puede seleccionar el orden de exploracion a partir de una primera tabla de consulta para bloques de luma, y puede seleccionar el orden de exploracion a partir de una segunda tabla de consulta para bloques de crominancia. Las diferentes tablas de consulta pueden almacenarse en la memoria 34, que puede ser accesible mediante la unidad de exploracion 45, o pueden almacenarse en otra memoria accesible por la unidad de exploracion 45.
En algunos casos, en lugar de seleccionar el orden de exploracion a partir de cada orden de exploracion posible, la unidad de exploracion 45 puede definir un conjunto de candidatos de orden de exploracion principales y seleccionar a partir del conjunto de candidatos de orden de exploracion principales. En este caso, el descodificador puede configurarse para definir el mismo conjunto de candidatos de orden de exploracion principales que los definidos en el codificador. Por consiguiente, la senalizacion entre el codificador y descodificador puede ser un esquema de senalizacion conmutado en el que un valor de mdice puede definir cual de los candidatos de orden de exploracion principales se usa. El descodificador puede recibir el valor de mdice, definir el mismo conjunto de candidatos de orden de exploracion principales y aplicar el valor de mdice para determinar cual de los candidatos de orden de exploracion principales debe usarse.
En un ejemplo de senalizacion conmutada, la unidad de exploracion 45 define un conjunto de candidatos de orden de exploracion principales para cada uno de una pluralidad de modos de intracifrado posibles basandose en un conjunto de candidatos de orden de exploracion posibles, selecciona el orden de exploracion a partir del conjunto de candidatos de orden de exploracion principales para el modo de intracifrado usado para predecir el bloque de datos de video, y genera el elemento de sintaxis para identificar el orden de exploracion seleccionado a partir del conjunto de candidatos principales asociados con el modo de intracifrado usado para predecir el bloque de datos de video.
En otro ejemplo de senalizacion conmutada, la unidad de exploracion 45 define un conjunto de candidatos de orden de exploracion principales para cada uno de una pluralidad de tamanos de bloque de transformacion posibles basandose en un conjunto de candidatos de orden de exploracion posibles, selecciona el orden de exploracion a partir del conjunto de candidatos de orden de exploracion principales para el modo de intracifrado usado para predecir el bloque de datos de video, y genera el elemento de sintaxis para identificar el orden de exploracion seleccionado a partir del conjunto de candidatos principales asociados con el modo de intracifrado usado para predecir el bloque de datos de video.
5
10
15
20
25
30
35
40
45
50
55
60
En todavfa otro ejemplo de senalizacion conmutada, la unidad de exploracion 45 define un conjunto de candidatos de orden de exploracion principales para combinaciones de modos de intracifrado posibles y tamanos de bloque de transformacion posibles basandose en un conjunto de candidatos de orden de exploracion posibles definidos para las combinaciones de modos de intracifrado posibles y tamanos de bloque de transformacion posibles, selecciona el orden de exploracion a partir del conjunto de candidatos de orden de exploracion principales para el modo de intracifrado usado para predecir el bloque de datos de video, y genera el elemento de sintaxis para identificar el orden de exploracion seleccionado a partir del conjunto de candidatos principales asociados con el modo de intracifrado usado para predecir el bloque de datos de video.
Generalmente, durante el procedimiento de codificacion, el codificador de video 50 recibe un bloque de video que va a cifrarse, y la unidad de prediccion 32 realiza tecnicas de cifrado predictivo. El bloque de video puede comprender una CU tal como se explico de manera resumida anteriormente, o puede comprender de manera general cualquier bloque de datos de video de acuerdo con una tecnica o estandar de cifrado de video basado en bloques. Para el intercifrado, la unidad de prediccion 32 compara el bloque de video que va a codificarse con diversos bloques en una o mas tramas o sectores de referencia de video (por ejemplo, una o mas “listas” de datos de referenda) con el fin de definir un bloque predictivo. De nuevo, para el intracifrado, la unidad de prediccion 32 genera un bloque predictivo basandose en datos contiguos dentro de la misma unidad codificada. La unidad de prediccion 32 emite el bloque de prediccion y el sumador 48 resta el bloque de prediccion del bloque de video que esta cifrandose con el fin de generar un bloque residual.
Alternativamente, para el intercifrado, la unidad de prediccion 32 puede comprender unidades de estimacion de movimiento y compensacion de movimiento que identifican un vector de movimiento que apunta a un bloque de prediccion y genera el bloque de prediccion basandose en el vector de movimiento. Normalmente, la estimacion de movimiento se considera el procedimiento de generar el vector de movimiento, que estima el movimiento. Por ejemplo, el vector de movimiento puede indicar el desplazamiento de un bloque predictivo dentro de una trama predictiva con respecto al bloque actual que esta cifrandose dentro de la trama actual. La compensacion de movimiento se considera normalmente el procedimiento de buscar o generar el bloque predictivo basandose en el vector de movimiento determinado por la estimacion de movimiento. En algunos casos, la compensacion de movimiento para intercifrado puede incluir interpolaciones a una resolucion de subpfxeles, que permite el procedimiento de estimacion de movimiento para estimar el movimiento de bloques de video a tal resolucion de subpfxeles.
Despues de que la unidad de prediccion 32 emita el bloque de prediccion, y despues de que el sumador 48 reste el bloque de prediccion del bloque de video que esta cifrandose con el fin de generar un bloque residual, la unidad de transformacion 38 aplica una transformacion al bloque residual. La transformacion puede comprender una transformacion cosenoidal discreta (DCT) o una transformacion conceptualmente similar tal como la definida por el estandar ITU H.264 o el estandar HEVC. Las denominadas estructuras “de mariposa” pueden definirse para llevar a cabo las transformaciones, o tambien puede usarse la multiplicacion basada en matrices. En algunos ejemplos, de acuerdo con el estandar HEVC, el tamano de la transformacion puede variar para diferentes CU, por ejemplo, dependiendo del nivel de particion que se produce con respecto a una LCU dada. Pueden definirse unidades de transformacion (TU) con el fin de establecer el tamano de transformacion aplicado por la unidad de transformacion 38. Tambien pueden usarse transformaciones de ondfculas, transformaciones de numeros enteros, transformaciones de subbanda u otros tipos de transformaciones. En cualquier caso, la unidad de transformacion aplica la transformacion al bloque residual, produciendo un bloque de coeficientes de transformacion residuales. La transformacion, en general, puede convertir la informacion residual de un dominio de pixel a un dominio de frecuencia.
Entonces, la unidad de cuantificacion 40 cuantifica los coeficientes de transformacion residuales para reducir adicionalmente la tasa de transmision de bits. La unidad de cuantificacion 40, por ejemplo, puede limitar el numero de bits usados para cifrar cada uno de los coeficientes. Tras la cuantificacion, la unidad de cifrado por entropfa 46 puede explorar y codificar por entropfa los datos. De nuevo, esta exploracion puede aplicarse a denominados coeficientes significativos, que definen si cada uno de los coeficientes cuantificados y transformados son significativos (es decir, distintos de cero). Por tanto, la unidad de exploracion 45 puede recibir un conjunto de coeficientes cuantificados y transformados, generar un mapa de significacion (asf como los niveles o valores asociados con coeficientes significativos cualesquiera), y seleccionar y aplicar un orden de exploracion al mapa de significacion. La unidad de cifrado por entropfa 46 puede aplicar entones cifrado por entropfa a los coeficientes explorados y otros valores y elementos de sintaxis en el flujo de bits codificado.
En particular, tal como se observo anteriormente, la unidad de exploracion 45 puede ejecutar un metodo de codificar coeficientes asociados con un bloque de datos de video, que puede comprender el conjunto de coeficientes significativos que forman el mapa de significacion. Al codificar los coeficientes, la unidad de exploracion 45 puede seleccionar un orden de exploracion para los coeficientes (por ejemplo, coeficientes significativos) basandose en un modo de intracifrado usado por la unidad de prediccion 42 para predecir el bloque de datos de video y un tamano de bloque de transformacion usado por la unidad de transformacion 38 para transformar el bloque de datos de video. La unidad de exploracion 45 puede generar un elemento de sintaxis para comunicar el orden de exploracion seleccionado para el bloque de datos de video. La unidad de transformacion 38 y la unidad de prediccion 32 pueden suministrar la informacion contextual (por ejemplo, el modo y el tamano de bloque) como informacion de sintaxis a la
5
10
15
20
25
30
35
40
45
50
55
60
unidad de cifrado por entropfa 46.
Una vez que se explora el mapa de significacion por la unidad de exploracion 45, la unidad de codificacion por entrc^a 46 codifica los coeficientes de transformacion cuantificados (por ejemplo, codificando diferentes elementos que definen el mapa de significacion y los niveles asociados con coeficientes distintos de cero cualesquiera) segun una metodologfa de cifrado por entropfa. Los ejemplos de tecnicas de cifrado por entropfa que pueden usarse por la unidad de cifrado por entropfa 46 incluyen codificacion de longitud variable adaptativa al contexto (CAVLC) y codificacion aritmetica binaria adaptativa al contexto (CABAC). Los elementos de sintaxis incluidos en el flujo de bits cifrado por entropfa pueden incluir sintaxis de prediccion desde la unidad de prediccion 32, tales como vectores de movimiento para el intercifrado o modos de prediccion para el intracifrado. Los elementos de sintaxis incluidos en el flujo de bits cifrado por entropfa tambien pueden incluir informacion de filtro desde la unidad de filtro 47, y el tamano de bloque de transformacion aplicado al bloque de video, por ejemplo, desde la unidad de transformacion 38.
La CAVLC es un tipo de tecnica de cifrado por entropfa soportada por el estandar ITU H.264 y el estandar HEVC emergente, que puede aplicarse en una base vectorizada por la unidad de cifrado por entropfa 46. La CAVLC usa tablas de codificacion de longitud variable (VLC) de una manera que comprime de manera eficaz “tiradas” serializadas de coeficientes y/o elementos de sintaxis. La CABAC es otro tipo de tecnica de cifrado por entropfa soportada por el estandar iTu H.264 o el estandar HEVC, que puede aplicarse en una base vectorizada por la unidad de cifrado por entropfa 46. La CABAC puede implicar varias etapas, incluyendo binarizacion, seleccion de modelo de contexto y cifrado aritmetico binario. En este caso, la unidad de cifrado por entropfa 46 cifra coeficientes y elementos de sintaxis segun la CABAC. Tambien existen muchos otros tipos de tecnicas de cifrado por entropfa, y es probable que emerjan nuevas tecnicas de cifrado por entropfa en el futuro. Esta divulgacion no esta limitada a ninguna tecnica de cifrado por entropfa espedfica.
Tras el cifrado por entropfa por la unidad de codificacion por entropfa 46, el video codificado puede transmitirse a otro dispositivo o archivarse para su transmision o recuperacion posterior. De nuevo, el video codificado puede comprender los vectores cifrados por entropfa y diversas informaciones de sintaxis (incluyendo la informacion de sintaxis que informa al descodificador sobre el orden de exploracion). Tal informacion puede usarse por el descodificador para configurar apropiadamente el procedimiento de descodificacion. La unidad de cuantificacion inversa 42 y la unidad de transformacion inversa 44 aplican cuantificacion inversa y transformacion inversa, respectivamente, para reconstruir el bloque residual en el dominio de pixel. El sumador 51 anade el bloque residual reconstruido al bloque de prediccion producido por la unidad de prediccion 32 para producir un bloque de video reconstruido para su almacenamiento en la memoria 34. Sin embargo, antes de tal almacenamiento la unidad de filtro 47 puede aplicar filtrado al bloque de video para mejorar la calidad de video. El filtrado aplicado por la unidad de filtro 47 puede reducir artefactos y suavizar bordes de pixel. Ademas, el filtrado puede mejorar la compresion generando bloques de video predictivos que comprenden correspondencias proximas a los bloques de video que esta cifrandose.
La figura 3 es un diagrama de bloques que ilustra un ejemplo de un descodificador de video 60, que descodifica una secuencia de video que se codifica de la manera descrita en el presente documento. Las tecnicas de exploracion de esta divulgacion pueden llevarse a cabo por el descodificador de video 60 en algunos ejemplos. Una secuencia de video recibida en el descodificador de video 60 puede comprender un conjunto codificado de tramas de imagen, un conjunto de sectores de trama, un grupo de imagenes (GOP) comunmente cifrado o una amplia variedad de unidades de informacion de video que incluyen bloques de video codificados (tal como CU o macrobloques) e informacion de sintaxis para definir como descodificar tales bloques de video. En algunos casos, la unidad de exploracion inversa 55 puede aplicar simplemente el orden de exploracion que se comunica por senales en el flujo de bits codificado. Sin embargo, en el ejemplos de senalizacion conmutada, la unidad de exploracion inversa 55 puede necesitar determinar los candidatos de orden de exploracion principales de la misma manera que la unidad de exploracion 45 de codificador 50 determino los candidatos de orden de exploracion principales.
El descodificador de video 60 incluye una unidad de descodificacion por entropfa 52, que lleva a cabo la funcion de descodificacion redproca de la codificacion realizara por la unidad de codificacion por entropfa 46 de la figura 2. En particular, la unidad de descodificacion por entropfa 52 puede llevar a cabo la descodificacion de CAVLC o CABAC, o cualquier otro tipo de descodificacion por entropfa usada por el codificador de video 50. Sin embargo, antes de tal descodificacion por entropfa la unidad de descodificacion por entropfa 52 recurre a la unidad de exploracion inversa 55 para reconvertir el bloque de datos de video (por ejemplo, el mapa de significacion) de un formato serializado unidimensional de vuelta a un formato de bloque bidimensional. Tambien pueden descodificarse los valores de nivel asociados con coeficientes significativos cualesquiera en el mapa de significacion.
En un ejemplo de acuerdo con senalizacion conmutada, al menos una parte de un metodo de descodificar coeficientes asociados con un bloque de datos de video se lleva a cabo por la unidad de exploracion inversa 55. En particular, la unidad de exploracion inversa 55 puede recibir un elemento de sintaxis con el bloque de datos de video, en el que el elemento de sintaxis define un orden de exploracion a partir de un conjunto de candidatos de orden de exploracion principales. La unidad de exploracion inversa 55 puede definir el conjunto de candidatos de orden de exploracion principales basandose en uno o ambos de un modo de intracifrado usado para predecir el bloque de datos de video y un tamano de bloque de transformacion usado en la transformacion del bloque de datos de video, y explorar de manera inversa el bloque de datos de video desde una representacion serializada del bloque
5
10
15
20
25
30
35
40
45
50
55
60
de datos de video hasta una representacion bidimensional del bloque de datos de video basandose en el elemento de sintaxis con respecto al conjunto definido de candidatos de orden de exploracion principales. De nuevo, los coeficientes pueden comprender coeficientes significativos y coeficientes de valor cero, y el bloque de datos de video puede comprender un mapa de significacion que define los coeficientes significativos y los coeficientes de valor cero. Pueden definirse y comunicarse niveles para aquellos coeficientes de transformacion que se identifiquen como significativos.
El descodificador de video 60 tambien incluye una unidad de prediccion 54, una unidad de cuantificacion inversa 56, una unidad de transformacion inversa 58, una memoria 62 y un sumador 64. En particular, al igual que el codificador de video 50, el descodificador de video 60 incluye una unidad de prediccion 54 y una unidad de filtro 57. La unidad de prediccion 54 del descodificador de video 60 puede incluir elementos de compensacion de movimiento y posiblemente uno o mas filtros de interpolacion para una interpolacion de subpfxeles en el procedimiento de compensacion de movimiento. La unidad de filtro 57 puede filtrar la salida del sumador 64 y puede recibir informacion de filtro descodificada por entropfa para definir los coeficientes de filtro aplicados en el filtrado de bucle.
La senalizacion de orden de exploracion puede producirse por bloques, por ejemplo, para macrobloques en el H.264 o para CU en HEVC. De acuerdo con el estandar HEVC emergente, un sector de datos de video puede corresponder a un conjunto de LCU que define parte o la totalidad de una trama de video. Las LCU pueden hacer referencia a unidades codificadas dentro del entramado de HEVC, que a su vez pueden subdividirse en CU mas pequenas segun la particion de arbol cuaternario. Con la particion de arbol cuaternario, una LCU de forma cuadrada se divide en cuatro unidades codificadas de forma cuadrada, y las unidades codificadas pueden subdividirse tambien en unidades codificadas mas pequenas segun la particion de arbol cuaternario. Pueden asociarse indicadores a cada CU para indicar si se uso una particion de arbol cuaternario adicional. Una LCU puede subdividirse en cuatro CU y las cuatro CU pueden dividirse adicionalmente cada una en CU mas pequenas. El estandar HEVC puede soportar hasta tres niveles de particion de arbol cuaternario de la LCU original, o posiblemente mas. Tras la particion de la LCU en diversas CU, las diferentes CU pueden dividirse adicionalmente para dar PU, que son los tamanos predictivos usados para predecir la CU. Las PU pueden adoptar formas cuadradas u otras formas rectangulares.
Las figuras 4 y 5 muestran un ejemplo de como un bloque de video dentro de un sector (por ejemplo, una LCU) puede dividirse en subbloques (por ejemplo, CU mas pequenas). Tal como se muestra en la figura 4, los subbloques de arbol cuaternario indicado por “ON” pueden filtrarse por filtros de bucle, mientras que los subbloques de arbol cuaternario indicados por “OFF” no pueden filtrarse. La decision de si filtrar o no un bloque o subbloque dado puede determinarse en el codificador comparando el resultado filtrado y el resultado no filtrado con respecto al bloque original que esta cifrandose. La figura 5 es un arbol de decisiones que representa decisiones de particion que da como resultado la particion de arbol cuaternario mostrada en la figura 4. Las figuras 4 y 5 pueden considerarse individual o colectivamente como un mapa de filtro que puede generarse en un codificador y comunicarse a un descodificador al menos una vez por sector de datos de video codificados. El orden de exploracion usado para cualquier unidad de transformacion definida para una CU dada puede determinarse en el codificador de video y comunicarse al descodificador de video como parte de la sintaxis de nivel de bloque.
Con el estandar HEVC emergente, pueden usarse transformaciones (tales como transformaciones cosenoidales discretas, transformaciones de numeros enteros, transformaciones Karhunen-Loeve o similares) para descomponer los coeficientes de un bloque residual de datos al dominio de frecuencia. Luego, puede codificarse un “mapa de significacion”, que muestra la distribucion de coeficientes significativos (es decir, distintos de cero) en el bloque de transformacion. Tambien pueden codificarse los niveles (es decir los valores actuales) asociados con los coeficientes significativos. Una unidad de exploracion (tal como la unidad de exploracion 45 de la figura 2) puede usarse para llevar a cabo estas etapas de codificacion.
Para codificar de manera eficiente el mapa de significacion, puede usarse un orden de exploracion en zigzag con una suposicion general de que la mayona de los coeficientes distintos de cero estan ubicados probablemente en la zona de baja frecuencia (esquina superior izquierda) de un bloque de transformacion. Sin embargo, para mejorar adicionalmente la eficiencia de cifrado de coeficientes de transformacion, pueden usarse ordenes de exploracion adicionales (tales como exploracion en horizontal y vertical) en casos en los que esto mejora la eficiencia de cifrado. La exploracion en horizontal, por ejemplo, puede seguir un orden de exploracion por filas. Tambien pueden definirse y usarse ordenes de exploracion adaptativa y mas compleja, de acuerdo con las tecnicas de esta divulgacion.
En esta divulgacion, la unidad de exploracion 45 implementa diferentes ordenes de exploracion para diferentes modos de intraprediccion basandose en el tipo de modo de intraprediccion y el tamano de bloque de transformacion usados en la transformacion de un bloque de coeficientes de transformacion dado. En un ejemplo, la seleccion puede ser de entre ordenes de exploracion en horizontal, vertical y por filas. El orden de exploracion deseado, por ejemplo, en el sentido de distorsion de tasa, puede decidirse por el codificador de video 50 (por ejemplo, por la unidad de exploracion 45) buscando entre ordenes en zigzag, horizontal y vertical (u otros ordenes de exploracion, si se desea). El orden de exploracion seleccionado puede transmitirse dentro del flujo de bits (por ejemplo, como sintaxis de nivel de bloque) al descodificador.
De acuerdo con el estandar HEVC, la unidad de transformacion 38 puede soportar transformaciones dimensionadas de manera diferente. Por ejemplo, pueden soportarse todas las transformaciones de 128 X 128, transformaciones de
5
10
15
20
25
30
35
40
45
50
55
64 X 64, transformaciones de 32 X 32, transformaciones de 16 X 16, transformaciones de 8 X 8, transformaciones de 4 X 4 y transformaciones de 2 X 2. Esta divulgacion, en un ejemplo, describe una tecnica de cifrado de coeficiente de transformacion fija dependiente de modo que puede ser espedficamente deseable para intrabloques. La tecnica de cifrado de coeficiente de transformacion fija dependiente de modo puede asociar el orden de exploracion con el modo de intraprediccion, lo que significa que el orden de exploracion para un modo de intraprediccion puede fijarse para un tamano de transformacion dado. La unidad de exploracion 45 puede evitar una busqueda exhaustiva entre varios ordenes de exploracion con el fin de reducir la complejidad como si solo existieran unos pocos ordenes de exploracion posibles, y al mismo tiempo, la unidad de exploracion 45 puede aprovechar algunos de los beneficios asociados con ordenes de exploracion multiples. Fijar el orden de exploracion tanto para la codificacion como para la descodificacion puede ser particularmente deseable para una implementacion facil y paralela.
En un ejemplo, las tecnicas de esta divulgacion pueden centrarse en el cifrado intrabloque. En H.264/AVC y el modelo de prueba del estandar HEVC emergente, pueden usarse metodos de extrapolacion direccionales para predecir un intrabloque. Debido a la prediccion direccional (es decir, basandose en intradatos dentro del mismo sector de video), el bloque residual (en el dominio de pixel) presenta habitualmente caractensticas direccionales, que luego se heredan en el bloque de coeficiente transformado (en el dominio de transformacion). Por este motivo, puede ser muy util un esquema de exploracion dependiente de modo para coeficientes de transformacion (o simplemente para coeficientes significativos de un mapa de significacion) para mejorar la eficiencia de cifrado.
Aunque el siguiente ejemplo comenta tres ordenes de exploracion, tambien pueden definirse y usarse ordenes de exploracion adicionales. Los tres ordenes de exploracion a modo de ejemplo pueden incluir: la exploracion en zigzag (figura 6A), la exploracion en horizontal (figura 6B) y la exploracion en vertical (figura 6C). Tambien pueden usarse variaciones tales como combinaciones de exploracion en zigzag y exploracion en vertical u horizontal, asf como ordenes de exploracion mas complejos (y posiblemente adaptativa).
En la figura 7 se muestran direcciones de intraprediccion e mdice de modo a modo de ejemplo, de acuerdo con el modelo de prueba de HEVC. El bloque puede tener un tamano de entre 2x2 y 128x128. Una funcion de mapeo F(*) en la ecuacion (1) a continuacion, puede construirse para mapear un modo de intraprediccion (predMode) de un bloque con tamano (blkSize) a un orden de exploracion (scanldx) de entra patrones de exploracion en zigzag, horizontal y vertical (u otros ordenes de exploracion). Las tecnicas pueden definir los valores de scanldx para los tres ordenes de exploracion tal como se exponen en la tabla 1 proporcionada en la figura 9.
scanldx = F (predMode, blkSize) Ecuacion (1)
La funcion de mapeo puede comprender un modelo matematico o una tabla de mapeo, que puede almacenarse tanto en el codificador 50 como en el descodificador 60. En un ejemplo, la funcion de mapeo puede implementarse como una tabla de mapeo tal como se expone en la tabla 2 de la figura 10. En este caso, el mdice de intramodo de 1-33 (es decir, predMode) y el tamano de la transformacion (es decir, blkSize) pueden ser indices para la tabla que se mapean a un valor de orden de exploracion de la tabla 1 proporcionada en la figura 9. La tabla 1 proporcionada en la figura 9 puede ser una tabla fija almacenada en el codificador y el descodificador, y los indices de modo de la tabla pueden seleccionarse basandose en pruebas empmcas de diversas secuencias de video diferentes.
La tabla 2 de la figura 10 puede comprender una tabla aplicada con respecto a “bloques de luma”. Para bloques de crominancia, puede usarse un enfoque de tabla de consulta similar para determinar direcciones de exploracion usando la tabla a continuacion. La tabla de consulta de crominancia puede tener muchos menos modos, ya que los bloques de crominancia solo pueden soportar 4 intramodos, en un ejemplo de acuerdo con el estandar HEVC emergente. La tabla 3 de la figura 11 puede comprender la tabla de consulta de crominancia correspondiente con respecto a la tabla de consulta de luma (tabla 2) de la figura 10.
En un ejemplo adicional, una tecnica de cifrado de coeficiente de transformacion conmutable dependiente de modo puede usarse por la unidad de exploracion 45 y la unidad de exploracion 55. En este caso, pueden definirse candidatos de orden de exploracion principales para cada modo de prediccion, para cada tamano de transformacion o para las diferentes combinaciones de modo de prediccion y tamano de transformacion. En este caso, el mejor orden de exploracion para un bloque puede determinarse por la unidad de exploracion 45 de entre los candidatos principales en el conjunto para un modo de prediccion dado, pero el numero de candidatos puede ser menor que el numero total de ordenes de exploracion posibles. Esta tecnica puede anadir cierta complejidad al codificador 50 (y al descodificador 60), pero al mismo tiempo, puede limitar la complejidad a un numero fijo de ordenes de exploracion candidatos. Ademas, los candidatos pueden ser diferentes dependiendo del modo de intraprediccion, el tamano de bloque de transformacion o tanto el modo de intraprediccion como el tamano de bloque de transformacion.
La tabla 4 en la figura 12 ilustra un mapeo a modo de ejemplo de ordenes de exploracion posibles a valores de mdice. Las unidades de exploracion 45 y 55 pueden identificar una funcion de puntuacion para cada orden de exploracion “Fs(*)” segun la ecuacion (2) y esta funcion de puntuacion puede calcular como de probable es que pueda seleccionarse un orden de exploracion para ser el candidato del bloque con tamano blkSize y modo de prediccion predMode.
5
10
15
20
25
30
35
40
45
50
55
60
s(scanldx) = Fs(predMode, blkSize, scanldx) Ecuacion (2)
Basandose en el valor de puntuacion s, calculado por la ecuacion (2), las unidades de exploracion 45 y 55 pueden definir los tres candidates principales para cada modo de prediccion predMode asociado con un tamano de bloque de transformacion dado blkSize. La tabla 5 de la figura 13 proporciona un ejemplo de una tabla de candidatos que se genera por el procedimiento anterior para un tamano de bloque dado. Segun esta tecnica, la unidad de exploracion 45 puede comunicar por senales uno de tres estados (candidatoO, candidatol y candidate^) en este esquema conmutable, pero los candidatos pueden mapearse a diferentes ordenes de exploracion, dependiendo del modo. La unidad de exploracion 55 puede aplicar la misma tabla de candidatos de modo que los tres estados se mapean apropiadamente a los candidatos correctos.
Por consiguiente, con la tabla de candidatos generada, puede usarse un esquema conmutable para buscar el mejor orden de exploracion en el sentido del coste de distorsion de tasa de entre los candidatos para un bloque que tiene un modo de prediccion particular y un tamano de bloque particular. El mejor orden de exploracion puede comunicarse por senales en el flujo de bits como sintaxis de bloque de video. Puesto que el conjunto de candidatos es habitualmente mas pequeno que el conjunto de todos los ordenes de exploracion permitidos, la cantidad de informacion de senalizacion puede reducirse significativamente con respecto a un esquema que senala una eleccion con respecto a todos los ordenes de exploracion candidatos posibles.
La figura 14 es un diagrama de flujo que ilustra una tecnica de acuerdo con esta divulgacion. La figura 14 se describira a partir de la perspectiva del codificador de video 50 de la figura 2, aunque otros dispositivos pueden llevar a cabo tecnicas similares. En particular, la figura 14 muestra un metodo de codificar coeficientes (por ejemplo, coeficientes significativos) asociados con un bloque intracifrado de datos de video. La unidad de exploracion 45 determina un modo de intracifrado (1401) y determina un tamano de bloque de transformacion que se uso en el procedimiento de codificacion (1402). En particular, la unidad de transformacion 38 y la unidad de prediccion 32 pueden comunicar informacion de sintaxis a la unidad de exploracion 45 para facilitar estas determinaciones. La unidad de transformacion 38 puede comunicar el tamano de transformacion a la unidad de exploracion 45 y la unidad de prediccion puede comunicar el modo de intracifrado a la unidad de exploracion 45. La unidad de exploracion 45 puede seleccionar entonces un orden de exploracion basandose en el modo de intracifrado y el tamano de bloque de transformacion (1403), y generar un elemento de sintaxis para comunicar el orden de exploracion seleccionado (1404). Tras el cifrado por entropfa por la unidad de cifrado por entropfa 46, el codificador de video 50 puede emitir el elemento de sintaxis con los datos de video codificados (1405). De esta manera, el orden de exploracion puede codificarse como parte de un flujo de bits de video codificado, y emitirse para su comunicacion a otro dispositivo de modo que el otro dispositivo puede determinar como llevar a cabo la exploracion redproca (inversa) durante un procedimiento de descodificacion.
La figura 15 es un diagrama de flujo que ilustra una tecnica de senalizacion conmutada de acuerdo con esta divulgacion. La figura 15 se describira a partir de la perspectiva del codificador de video 50 de la figura 2, aunque otros dispositivos pueden llevar a cabo tecnicas similares. Tal como se muestra en la figura 15, la unidad de exploracion 45 define un conjunto de candidatos de orden de exploracion principales (1501), y selecciona un orden de exploracion a partir del conjunto de candidatos de orden de exploracion principales basandose en un modo de intracifrado, un tamano de bloque de transformacion o tanto el modo de intracifrado como el tamano de bloque de transformacion usados para codificar el bloque de datos de video (1502). El conjunto de candidatos de orden de exploracion principales puede programarse en la unidad de exploracion 45 para modos de intracifrado, tamanos de bloque de transformacion o combinaciones de modo de intracifrado y tamano de bloque de transformacion. Al definir un conjunto de candidatos de orden de exploracion principales, el numero de posibilidades puede limitarse para limitar los calculos y limitar la cantidad de sobrecarga de senalizacion. La unidad de exploracion 45 genera un elemento de sintaxis para comunicar el orden de exploracion seleccionado (1503), y tras el cifrado por entropfa por la unidad de cifrado por entropfa 46, el codificador de video 50 puede emitir el elemento de sintaxis con los datos de video codificados (1504).
Con el fin de soportar la tecnica de la figura 15 tanto el codificador de video 50 como el descodificador de video 60 pueden configurarse para definir el mismo conjunto de candidatos de orden de exploracion principales en situaciones diferentes. El elemento de sintaxis que define el orden de exploracion depende del conjunto de candidatos de orden de exploracion principales, que el codificador de video 50 y el descodificador de video 60 pueden definir cada uno de una manera similar.
La figura 16 es un diagrama de flujo que ilustra una tecnica de senalizacion conmutada desde la perspectiva del descodificador de video 60, de acuerdo con esta divulgacion. Aunque la figura 16 se describe desde la perspectiva del descodificador de video 60 de la figura 3, otros dispositivos pueden llevar a cabo tecnicas similares. Tal como se muestra en la figura 16, la unidad de descodificacion por entropfa 52 recibe un elemento de sintaxis para un bloque de datos de video (por ejemplo, un bloque de coeficientes significativos). La unidad de exploracion inversa 55 define un conjunto de candidatos de orden de exploracion principales basandose en uno o ambos del modo de intracifrado usado en el cifrado de los datos de video y el tamano de bloque de transformacion usado (1602). Esto permite que la unidad de exploracion inversa 55 interprete apropiadamente el elemento de sintaxis recibido, que puede comprender un valor de mdice con respecto al conjunto de candidatos de orden de exploracion principales. Por consiguiente, la unidad de exploracion inversa 55 realiza una exploracion inversa basandose en el elemento de
5
10
15
20
25
30
sintaxis con respecto al conjunto de candidatos de orden de exploracion principales (1603).
Las tecnicas de esta divulgacion pueden realizarse en una amplia variedad de dispositivos o aparatos, incluyendo un microtelefono inalambrico y un circuito integrado (CI) o un conjunto de CI (es decir, un conjunto de chips). Cualquiera de los componentes, modulos o unidades se han descrito con el fin de enfatizar aspectos funcionales y no requieren necesariamente una realizacion por unidades de hardware diferentes.
Por consiguiente, las tecnicas descritas en el presente documento pueden implementarse en hardware, software, firmware o cualquier combinacion de los mismos. Cualquiera de las caractensticas descritas como modulos o componentes pueden implementarse juntas en un dispositivo logico integrado o de manera independiente como dispositivos logicos discretos pero interoperables. Si se implementan en software, las tecnicas pueden realizarse al menos en parte por un medio legible por ordenador que comprende instrucciones que, cuando se ejecutan, llevan a cabo uno o mas de los metodos descritos anteriormente. El medio de almacenamiento de datos legible por ordenador puede formar parte de un producto de programa informatico, que puede incluir materiales de acondicionamiento.
El medio legible por ordenador puede comprender un medio de almacenamiento legible por ordenador tangible, tal como una memoria de acceso aleatorio (RAM) tal como memoria de acceso aleatorio smcrona y dinamica (SDRAM), memoria de solo lectura (ROM), memoria de acceso aleatorio no volatil (NVRAM), memoria de solo lectura electricamente borrable y programable (EEPROM), memoria FLASH, medios de almacenamiento de datos magneticos u opticos, y similares. Las tecnicas pueden realizarse adicional o alternativamente al menos en parte por un medio de comunicacion legible por ordenador que porta o comunica codigo en forma de instrucciones o estructuras de datos y que puede accederse, leerse y/o ejecutarse por un ordenador.
Las instrucciones pueden ejecutarse por uno o mas procesadores, tales como uno o mas procesadores de senales digitales (DSP), microprocesadores con fines generales, circuitos integrados para aplicaciones espedficas (ASIC), matrices logicas programables en campo (FPGA) u otro conjunto de circuitos logicos discretos o integrados equivalente. El termino “procesador”, tal como se usa en el presente documento, puede hacer referencia a cualquiera de la estructura anterior o cualquier otra estructura adecuada para la implementacion de las tecnicas descritas en el presente documento. Ademas, en algunos aspectos, la funcionalidad descrita en el presente documento puede proporcionarse dentro de modulos de software o modulos de hardware dedicados configurados para codificar y descodificar, o incorporarse en un codificador-descodificador de video combinado (CODEC). Asimismo, las tecnicas pueden implementarse por completo en uno o mas circuitos o elementos logicos.
Se han descrito diversos aspectos de la divulgacion. La invencion se define en las reivindicaciones.
Claims (12)
- 51015
- 2.
- 3.20
- 4.
- 5.25303540
- 6.45 7.50REIVINDICACIONESUn metodo de codificacion de coeficientes asociados con un bloque de datos de v^deo, en el que los coeficientes se obtienen transformando el bloque de datos de video, comprendiendo el metodo:para cada combinacion de modo de intracifrado posible y tamano de bloque de transformacion posible, definir un conjunto de candidatos de orden de exploracion principales, siendo cada conjunto de candidatos de orden de exploracion principales un subconjunto de los candidatos de orden de exploracion posibles definidos para cualquier combinacion de modos de intracifrado posibles y tamanos de bloque de transformacion posibles;para un bloque de datos de video cifrado usando un modo de intracifrado particular y que tiene un tamano de bloque de transformacion, seleccionar el conjunto de candidatos de orden de exploracion principales definidos para un bloque predicho usando el modo de intracifrado particular y que tiene el tamano de bloque de transformacion particular,y seleccionar el orden de exploracion a partir del conjunto seleccionado de candidatos de orden de exploracion principales, en el que los coeficientes se exploran con el orden de exploracion seleccionado; ygenerar un elemento de sintaxis para comunicar el orden de exploracion seleccionado a partir del conjunto seleccionado de candidatos principales.El metodo segun la reivindicacion 1, en el que los coeficientes comprenden coeficientes significativos y coeficientes de valor cero que definen un mapa de significacion.El metodo segun la reivindicacion 2, en el que los coeficientes significativos comprenden indicadores de un bit que identifican coeficientes de valor distinto de cero.El metodo segun la reivindicacion 1, en el que el bloque de datos de video comprende una unidad codificada (CU) dentro de una unidad codificada mayor (LCU), en el que la LCU esta dividida en un conjunto de CU segun un esquema de particion de arbol cuaternario.Un metodo de descodificacion de coeficientes asociados con un bloque de datos de video, en el que los coeficientes se obtienen transformando el bloque de datos de video, comprendiendo el metodo:para cada combinacion de modos de intracifrado posibles y tamanos de bloque de transformacion posibles, definir un conjunto de candidatos de orden de exploracion principales, siendo cada conjunto de candidatos de orden de exploracion principales un subconjunto de los candidatos de orden de exploracion posibles definidos para combinaciones cualesquiera de modo de intracifrado posible y tamano de bloque de transformacion posible;para un bloque recibido de datos de video cifrado usando un modo de intracifrado particular y que tiene un tamano de bloque de transformacion, seleccionar el conjunto de candidatos de orden de exploracion principales definidos para un bloque predicho usando el modo de intracifrado particular y que tiene el tamano de bloque de transformacion particular;recibir un elemento de sintaxis con el bloque de datos de video, en el que el elemento de sintaxis define un orden de exploracion a partir del conjunto seleccionado de candidatos de orden de exploracion principales; yexplorar de manera inversa los coeficientes asociados con el bloque de datos de video desde una representacion serializada de los coeficientes asociados con el bloque de datos de video hasta una representacion bidimensional de los coeficientes asociados con el bloque de datos de video usando el orden de exploracion a partir del conjunto seleccionado de candidatos de orden de exploracion principales identificados por el elemento de sintaxis recibido.El metodo segun la reivindicacion 5, en el que los coeficientes comprenden coeficientes significativos y coeficientes de valor cero que definen un mapa de significacion.Un dispositivo de codificacion de video que codifica coeficientes asociados con un bloque de video en el que los coeficientes se obtienen transformando el bloque de datos de video, comprendiendo el dispositivo de codificacion de video:una unidad de prediccion que lleva a cabo cifrado de intraprediccion del bloque de datos de video basandose en un modo de intracifrado;una unidad de transformacion que determina un tamano de transformacion y lleva a cabo una transformacion en el bloque de datos de video segun el tamano de transformacion; y,1015
- 8.
- 9.20 10.
- 11.25303540
- 12.
- 13.4550una unidad de exploracion que:para cada combinacion de modo de intracifrado posible y tamano de bloque de transformacion posible, define un conjunto de candidatos de orden de exploracion principales, siendo cada conjunto de candidatos de orden de exploracion principales un subconjunto de los candidatos de orden de exploracion posibles definidos para cualquier combinacion de modos de intracifrado posibles y tamanos de bloque de transformacion posibles; para un bloque de datos de video cifrado usando un modo de intracifrado particular y que tiene el tamano de bloque de transformacion, selecciona el conjunto de candidatos de orden de exploracion principales definidos para un bloque predicho usando el modo de intracifrado particular y que tiene un tamano de bloque de transformacion particular;selecciona el orden de exploracion a partir del conjunto seleccionado de candidatos de orden de exploracion principales, en el que los coeficientes se exploran con el orden de exploracion seleccionado; ygenera un elemento de sintaxis para identificar el orden de exploracion seleccionado a partir del conjunto seleccionado de candidatos principales.El dispositivo de codificacion de video segun la reivindicacion 7, en el que los coeficientes comprenden coeficientes significativos y coeficientes de valor cero que definen un mapa de significacion.El dispositivo de codificacion de video segun la reivindicacion 8, en el que los coeficientes significativos comprenden indicadores de un bit que identifican coeficientes de valor distinto de cero.El dispositivo de codificacion de video segun la reivindicacion 7, en el que el bloque de datos de video comprende una unidad codificada (CU) dentro de una unidad codificada mayor (LCU), en el que la LCU esta dividida en un conjunto de CU segun un esquema de particion de arbol cuaternario.Un dispositivo de descodificacion de video que descodifica coeficientes asociados con un bloque de datos de video en el que los coeficientes se obtienen transformando el bloque de datos de video, comprendiendo el dispositivo de descodificacion de video:una unidad de exploracion que, para cada combinacion de modos de intracifrado posibles y tamanos de bloque de transformacion posibles, define un conjunto de candidatos de orden de exploracion principales, siendo cada conjunto de candidatos de orden de exploracion principales un subconjunto de los candidatos de orden de exploracion posibles definidos para cualquier combinacion de modo de intracifrado posible y tamano de bloque de transformacion posible; y,una unidad que, para un bloque de datos de video recibido cifrado usando un modo de intracifrado particular y que tiene un tamano de bloque de transformacion, selecciona el conjunto de candidatos de orden de exploracion principales definidos para un bloque predicho usando el modo de intracifrado particular y que tiene el tamano de bloque de transformacion particular, y que recibe un elemento de sintaxis con el bloque de datos, en el que el elemento de sintaxis define un orden de exploracion a partir del conjunto seleccionado de candidatos de orden de exploracion principales,en el que la unidad de exploracion lleva a cabo exploracion inversa de los coeficientes asociados con el bloque de datos de video desde una representacion serializada de los coeficientes asociados con el bloque de datos de video hasta una representacion bidimensional de los coeficientes asociados con el bloque de datos de video usando el orden de exploracion del conjunto seleccionado de candidatos de orden de exploracion principales identificados por el elemento de sintaxis recibido.El dispositivo de descodificacion de video segun la reivindicacion 11, en el que los coeficientes comprenden coeficientes significativos y coeficientes de valor cero que definen un mapa de significacion.El dispositivo de descodificacion de video segun la reivindicacion 11, que comprende ademas:una unidad de prediccion que lleva a cabo descodificacion de intraprediccion del bloque de datos de video basandose en el modo de intracifrado; yuna unidad de transformacion inversa que lleva a cabo una transformacion inversa con respecto al bloque de datos de video basandose en el tamano de bloque de transformacion.El dispositivo de codificacion de video segun una cualquiera de las reivindicaciones 7 a 10 o el dispositivo de descodificacion segun una cualquiera de las reivindicaciones 11 a 13, en el que el dispositivo de descodificacion de video comprende uno o mas de:un circuito integrado;510un microprocesador; yun dispositivo de comunicacion inalambrica que incluye un descodificador de v^deo; y en el que el dispositivo de codificacion de v^deo comprende uno o mas de:un circuito integrado;un microprocesador, yun dispositivo de comunicacion inalambrica que incluye un codificador de video.
- 15. Un medio legible por ordenador que comprende instrucciones que, cuando se ejecutan por un procesador, provocan que el procesador codifique o descodifique coeficientes asociados con un bloque de video, en el que los coeficientes se obtienen transformando el bloque de datos de video, en el que las instrucciones provocan que el procesador lleve a cabo el metodo segun una cualquiera de las reivindicaciones 1 a 6.
Applications Claiming Priority (9)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201061426349P | 2010-12-22 | 2010-12-22 | |
US201061426372P | 2010-12-22 | 2010-12-22 | |
US201061426372P | 2010-12-22 | ||
US201061426349P | 2010-12-22 | ||
US201161436835P | 2011-01-27 | 2011-01-27 | |
US201161436835P | 2011-01-27 | ||
US13/179,321 US9049444B2 (en) | 2010-12-22 | 2011-07-08 | Mode dependent scanning of coefficients of a block of video data |
US201113179321 | 2011-07-08 | ||
PCT/US2011/064964 WO2012087713A1 (en) | 2010-12-22 | 2011-12-14 | Mode dependent scanning of coefficients of a block of video data |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2693643T3 true ES2693643T3 (es) | 2018-12-13 |
Family
ID=45464886
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES11806073.0T Active ES2693643T3 (es) | 2010-12-22 | 2011-12-14 | Exploración dependiente de modo de coeficientes de un bloque de datos de vídeo |
Country Status (13)
Country | Link |
---|---|
US (1) | US9049444B2 (es) |
EP (1) | EP2656607B1 (es) |
JP (1) | JP5792319B2 (es) |
KR (1) | KR101540528B1 (es) |
CN (1) | CN103270754A (es) |
AU (1) | AU2011349686A1 (es) |
BR (1) | BR112013015895B1 (es) |
CA (1) | CA2822259A1 (es) |
ES (1) | ES2693643T3 (es) |
MY (2) | MY190750A (es) |
RU (1) | RU2547239C2 (es) |
SG (1) | SG190930A1 (es) |
WO (1) | WO2012087713A1 (es) |
Families Citing this family (49)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101495724B1 (ko) | 2010-02-02 | 2015-02-25 | 삼성전자주식회사 | 계층적 데이터 단위의 스캔 순서에 기반한 비디오 부호화 방법과 그 장치, 및 비디오 복호화 방법과 그 장치 |
KR101373814B1 (ko) * | 2010-07-31 | 2014-03-18 | 엠앤케이홀딩스 주식회사 | 예측 블록 생성 장치 |
US9497472B2 (en) | 2010-11-16 | 2016-11-15 | Qualcomm Incorporated | Parallel context calculation in video coding |
US20120163456A1 (en) * | 2010-12-22 | 2012-06-28 | Qualcomm Incorporated | Using a most probable scanning order to efficiently code scanning order information for a video block in video coding |
BR112013017395B1 (pt) * | 2011-01-06 | 2020-10-06 | Samsung Electronics Co., Ltd | Método decodificador de vídeo, e método codificador de vídeo |
US9380319B2 (en) * | 2011-02-04 | 2016-06-28 | Google Technology Holdings LLC | Implicit transform unit representation |
US8878861B2 (en) * | 2011-03-01 | 2014-11-04 | Sony Corporation | Conversion between z-scanning indices, raster-scanning indices and 2-D coordinates using simple bit-operations in HEVC |
US10142637B2 (en) * | 2011-03-08 | 2018-11-27 | Texas Instruments Incorporated | Method and apparatus for parallelizing context selection in video processing |
CN107071428B (zh) | 2011-06-23 | 2019-12-27 | Jvc 建伍株式会社 | 图像编码装置和图像编码方法 |
PL3606076T3 (pl) * | 2011-06-27 | 2021-07-26 | Samsung Electronics Co., Ltd. | Kodowanie i dekodowanie informacji o ruchu |
LT3136728T (lt) * | 2011-06-28 | 2018-03-26 | Samsung Electronics Co., Ltd. | Vaizdo dekodavimo būdas su vidine prognoze |
US9008179B2 (en) * | 2011-06-30 | 2015-04-14 | Futurewei Technologies, Inc. | Encoding of prediction residuals for lossless video coding |
US9948938B2 (en) * | 2011-07-21 | 2018-04-17 | Texas Instruments Incorporated | Methods and systems for chroma residual data prediction |
RS61146B1 (sr) * | 2011-10-24 | 2020-12-31 | Innotive Ltd | Postupak i aparat za dekodiranje slike |
KR20130049522A (ko) * | 2011-11-04 | 2013-05-14 | 오수미 | 인트라 예측 블록 생성 방법 |
US10390016B2 (en) | 2011-11-04 | 2019-08-20 | Infobridge Pte. Ltd. | Apparatus of encoding an image |
KR20130049524A (ko) * | 2011-11-04 | 2013-05-14 | 오수미 | 인트라 예측 블록 생성 방법 |
MX346769B (es) | 2011-11-08 | 2017-03-31 | Kt Corp | Metodo y aparato para exploracion de coeficientes con base en el modo de division de la unidad de prediccion. |
US9344722B2 (en) * | 2011-11-18 | 2016-05-17 | Futurewei Technologies, Inc. | Scanning of prediction residuals in high efficiency video coding |
GB2501535A (en) * | 2012-04-26 | 2013-10-30 | Sony Corp | Chrominance Processing in High Efficiency Video Codecs |
FI2869557T3 (fi) * | 2012-06-29 | 2023-11-02 | Electronics & Telecommunications Res Inst | Menetelmä ja laite kuvien koodaamiseksi/dekoodaamiseksi |
US9264713B2 (en) * | 2012-07-11 | 2016-02-16 | Qualcomm Incorporated | Rotation of prediction residual blocks in video coding with transform skipping |
CN104885453B (zh) * | 2012-11-29 | 2018-11-02 | Lg 电子株式会社 | 支持多个层的用于编码/解码图像的方法和设备 |
SG11201600128WA (en) * | 2013-07-24 | 2016-02-26 | Microsoft Technology Licensing Llc | Scanning orders for non-transform coding |
WO2015015681A1 (ja) | 2013-07-31 | 2015-02-05 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 画像符号化方法および画像符号化装置 |
US10542271B2 (en) * | 2013-12-27 | 2020-01-21 | Hfi Innovation Inc. | Method and apparatus for major color index map coding |
US9854261B2 (en) | 2015-01-06 | 2017-12-26 | Microsoft Technology Licensing, Llc. | Detecting markers in an encoded video signal |
EP3261349A4 (en) * | 2015-02-17 | 2018-09-12 | LG Electronics Inc. | Method and device for encoding/decoding video signal by using adaptive scan order |
CN107251558B (zh) * | 2015-02-27 | 2019-12-31 | Kddi株式会社 | 编码装置以及解码装置 |
EP3661202A1 (en) | 2015-05-12 | 2020-06-03 | Samsung Electronics Co., Ltd. | Method and device for encoding or decoding image by using blocks determined by means of adaptive order |
CN107710759B (zh) * | 2015-06-23 | 2020-11-03 | 联发科技(新加坡)私人有限公司 | 转换系数编解码的方法及装置 |
CN108605132B (zh) | 2016-02-12 | 2020-12-15 | 华为技术有限公司 | 选择扫描顺序的方法和装置 |
SG11201806810YA (en) | 2016-02-12 | 2018-09-27 | Huawei Tech Co Ltd | Method and apparatus for scan order selection |
US10841574B2 (en) * | 2016-04-25 | 2020-11-17 | Lg Electronics Inc. | Image decoding method and device using intra prediction in image coding system |
EP3453174A1 (en) * | 2016-05-06 | 2019-03-13 | VID SCALE, Inc. | Method and system for decoder-side intra mode derivation for block-based video coding |
CN109661819B (zh) | 2016-08-31 | 2023-11-07 | 株式会社Kt | 用于处理视频信号的方法和设备 |
EP3979639A1 (en) * | 2017-03-22 | 2022-04-06 | Industry-University Cooperation Foundation Hanyang University | Tile partitions |
CN110650343B (zh) * | 2018-06-27 | 2024-06-07 | 中兴通讯股份有限公司 | 图像的编码、解码方法及装置、电子设备及系统 |
US11102513B2 (en) * | 2018-12-06 | 2021-08-24 | Tencent America LLC | One-level transform split and adaptive sub-block transform |
US11102490B2 (en) * | 2018-12-31 | 2021-08-24 | Tencent America LLC | Coefficient scanning methods on adaptive angle mode |
WO2020145381A1 (ja) * | 2019-01-13 | 2020-07-16 | ソニー株式会社 | 画像処理装置および方法 |
WO2020197038A1 (ko) | 2019-03-22 | 2020-10-01 | 엘지전자 주식회사 | 영상 코딩 시스템에서 인트라 서브 파티션 기반의 인트라 예측 방법 및 장치 |
US11677969B2 (en) * | 2019-03-22 | 2023-06-13 | Tencent America LLC | Method and apparatus for video coding |
CN113966611B (zh) * | 2019-06-09 | 2023-12-15 | 北京字节跳动网络技术有限公司 | 视频编解码中的重要系数信令 |
WO2021023258A1 (en) | 2019-08-06 | 2021-02-11 | Beijing Bytedance Network Technology Co., Ltd. | Video region partition based on color format |
BR112022003656A2 (pt) | 2019-09-02 | 2022-05-24 | Beijing Bytedance Network Tech Co Ltd | Método e aparelho de processamento de dados de vídeo, e, meios de armazenamento e de gravação legíveis por computador não transitórios |
JP7332795B2 (ja) * | 2019-09-21 | 2023-08-23 | 北京字節跳動網絡技術有限公司 | クロマ・イントラモードのベースとなるサイズ制約 |
CN115004706B (zh) * | 2020-01-28 | 2024-06-04 | 北京达佳互联信息技术有限公司 | 关于变换和系数信令的方法和装置 |
US11368694B1 (en) * | 2021-01-26 | 2022-06-21 | Meta Platforms, Inc. | Architecture for rate estimation in video coding |
Family Cites Families (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5122875A (en) * | 1991-02-27 | 1992-06-16 | General Electric Company | An HDTV compression system |
US6680975B1 (en) | 1992-02-29 | 2004-01-20 | Samsung Electronics Co., Ltd. | Signal encoding and decoding system and method |
BR9702224B1 (pt) | 1996-05-28 | 2010-08-10 | aparelho de decodificação de previsão de imagem. | |
US6054943A (en) | 1998-03-25 | 2000-04-25 | Lawrence; John Clifton | Multilevel digital information compression based on lawrence algorithm |
JP2000013609A (ja) | 1998-06-23 | 2000-01-14 | Fujitsu Ltd | 符号化装置 |
US6658159B1 (en) | 2000-03-17 | 2003-12-02 | Hewlett-Packard Development Company, L.P. | Block entropy coding in embedded block coding with optimized truncation image compression |
KR20030005222A (ko) | 2001-01-10 | 2003-01-17 | 코닌클리케 필립스 일렉트로닉스 엔.브이. | 코딩 |
US6870963B2 (en) | 2001-06-15 | 2005-03-22 | Qualcomm, Inc. | Configurable pattern optimizer |
US6795584B2 (en) | 2002-10-03 | 2004-09-21 | Nokia Corporation | Context-based adaptive variable length coding for adaptive block transforms |
US7782954B2 (en) | 2003-09-07 | 2010-08-24 | Microsoft Corporation | Scan patterns for progressive video content |
US7688894B2 (en) | 2003-09-07 | 2010-03-30 | Microsoft Corporation | Scan patterns for interlaced video content |
US20060078049A1 (en) | 2004-10-13 | 2006-04-13 | Nokia Corporation | Method and system for entropy coding/decoding of a video bit stream for fine granularity scalability |
US20060256854A1 (en) | 2005-05-16 | 2006-11-16 | Hong Jiang | Parallel execution of media encoding using multi-threaded single instruction multiple data processing |
EP1739971A1 (en) * | 2005-06-28 | 2007-01-03 | Thomson Licensing | Method and apparatus for encoding a video signal |
EP1753242A2 (en) * | 2005-07-18 | 2007-02-14 | Matsushita Electric Industrial Co., Ltd. | Switchable mode and prediction information coding |
WO2007079782A1 (en) | 2006-01-13 | 2007-07-19 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Quality scalable picture coding with particular transform coefficient scan path |
CN100546390C (zh) * | 2006-03-16 | 2009-09-30 | 清华大学 | 在图象编码过程中实现自适应扫描的方法 |
EP1859630B1 (en) | 2006-03-22 | 2014-10-22 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Coding scheme enabling precision-scalability |
RU2406254C2 (ru) * | 2006-03-29 | 2010-12-10 | Квэлкомм Инкорпорейтед | Видеообработка с масштабируемостью |
JP5484902B2 (ja) | 2006-07-13 | 2014-05-07 | クゥアルコム・インコーポレイテッド | サイクルを整列したフラグメントを使用する微細粒度スケーラビリティを備えた映像符号化 |
KR100882949B1 (ko) | 2006-08-17 | 2009-02-10 | 한국전자통신연구원 | 화소 유사성에 따라 적응적인 이산 코사인 변환 계수스캐닝을 이용한 부호화/복호화 장치 및 그 방법 |
US8428133B2 (en) * | 2007-06-15 | 2013-04-23 | Qualcomm Incorporated | Adaptive coding of video block prediction mode |
US8571104B2 (en) * | 2007-06-15 | 2013-10-29 | Qualcomm, Incorporated | Adaptive coefficient scanning in video coding |
JPWO2009001793A1 (ja) * | 2007-06-26 | 2010-08-26 | 株式会社東芝 | 画像符号化と画像復号化の方法及び装置 |
KR101148614B1 (ko) | 2007-09-06 | 2012-05-25 | 닛본 덴끼 가부시끼가이샤 | 영상 부호화 장치 및 영상 부호화 방법 |
KR20090097689A (ko) * | 2008-03-12 | 2009-09-16 | 삼성전자주식회사 | 영상의 인트라 예측 부호화/복호화 방법 및 장치 |
US8902972B2 (en) | 2008-04-11 | 2014-12-02 | Qualcomm Incorporated | Rate-distortion quantization for context-adaptive variable length coding (CAVLC) |
JP2010004284A (ja) | 2008-06-19 | 2010-01-07 | Toshiba Corp | 画像復号装置及び画像復号方法 |
EP2182732A1 (en) | 2008-10-28 | 2010-05-05 | Panasonic Corporation | Switching between scans in image coding |
US8737613B2 (en) | 2008-11-20 | 2014-05-27 | Mediatek Inc. | Scanning methods of transform-based digital data processing that conditionally adjust scan order according to characteristics information and related apparatus thereof |
US9100648B2 (en) * | 2009-06-07 | 2015-08-04 | Lg Electronics Inc. | Method and apparatus for decoding a video signal |
CN102045560B (zh) * | 2009-10-23 | 2013-08-07 | 华为技术有限公司 | 一种视频编解码方法及设备 |
US20110280314A1 (en) * | 2010-05-12 | 2011-11-17 | Texas Instruments Incorporated | Slice encoding and decoding processors, circuits, devices, systems and processes |
US9172968B2 (en) | 2010-07-09 | 2015-10-27 | Qualcomm Incorporated | Video coding using directional transforms |
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 |
US9497472B2 (en) | 2010-11-16 | 2016-11-15 | Qualcomm Incorporated | Parallel context calculation in video coding |
US9866829B2 (en) | 2012-01-22 | 2018-01-09 | Qualcomm Incorporated | Coding of syntax elements that correspond to coefficients of a coefficient block in video coding |
-
2011
- 2011-07-08 US US13/179,321 patent/US9049444B2/en active Active
- 2011-12-14 KR KR1020137019266A patent/KR101540528B1/ko active IP Right Grant
- 2011-12-14 MY MYPI2017001761A patent/MY190750A/en unknown
- 2011-12-14 MY MYPI2013001969A patent/MY173210A/en unknown
- 2011-12-14 AU AU2011349686A patent/AU2011349686A1/en not_active Abandoned
- 2011-12-14 EP EP11806073.0A patent/EP2656607B1/en active Active
- 2011-12-14 CA CA2822259A patent/CA2822259A1/en not_active Abandoned
- 2011-12-14 BR BR112013015895-6A patent/BR112013015895B1/pt active IP Right Grant
- 2011-12-14 JP JP2013546217A patent/JP5792319B2/ja active Active
- 2011-12-14 RU RU2013133841/08A patent/RU2547239C2/ru active
- 2011-12-14 WO PCT/US2011/064964 patent/WO2012087713A1/en active Application Filing
- 2011-12-14 ES ES11806073.0T patent/ES2693643T3/es active Active
- 2011-12-14 CN CN2011800617631A patent/CN103270754A/zh active Pending
- 2011-12-14 SG SG2013041660A patent/SG190930A1/en unknown
Also Published As
Publication number | Publication date |
---|---|
EP2656607A1 (en) | 2013-10-30 |
KR101540528B1 (ko) | 2015-07-29 |
EP2656607B1 (en) | 2018-09-12 |
SG190930A1 (en) | 2013-07-31 |
BR112013015895B1 (pt) | 2021-07-27 |
MY173210A (en) | 2020-01-06 |
JP5792319B2 (ja) | 2015-10-07 |
AU2011349686A1 (en) | 2013-07-04 |
JP2014504489A (ja) | 2014-02-20 |
WO2012087713A1 (en) | 2012-06-28 |
US20120163455A1 (en) | 2012-06-28 |
US9049444B2 (en) | 2015-06-02 |
MY190750A (en) | 2022-05-12 |
KR20130105894A (ko) | 2013-09-26 |
RU2013133841A (ru) | 2015-02-10 |
RU2547239C2 (ru) | 2015-04-10 |
CA2822259A1 (en) | 2012-06-28 |
CN103270754A (zh) | 2013-08-28 |
BR112013015895A2 (pt) | 2018-06-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2693643T3 (es) | Exploración dependiente de modo de coeficientes de un bloque de datos de vídeo | |
CN110073661B (zh) | 用于编码和解码视频数据的方法和装置 | |
ES2866894T3 (es) | Predicción de coeficientes de filtro a partir de filtros fijos para codificación de video | |
KR102635983B1 (ko) | 스킵 모드를 이용한 영상 복호화 방법 및 이러한 방법을 사용하는 장치 | |
AU2017207452B2 (en) | Multi-type-tree framework for video coding | |
ES2777218T3 (es) | Inhabilitación de ocultación de datos de signo en codificación de vídeo | |
ES2908241T3 (es) | Selección de candidatos de modo de fusión unificado y modo de predicción de vector de movimiento adaptable | |
ES2895717T3 (es) | Intra predicción y codificación de modo intra | |
ES2794559T3 (es) | Codificación de nivel de coeficiente en codificación de vídeo | |
ES2973247T3 (es) | Indicación de modo de intra-predicción mejorada para codificación de vídeo utilizando el modo contiguo | |
ES2874848T3 (es) | Restricción de unidades de predicción en segmentos b a interpredicción unidireccional | |
ES2633947T3 (es) | Predicción de paletas en la codificación de vídeo basada en paleta | |
ES2702909T3 (es) | Cuantización de los píxeles de escape de un bloque de vídeo en modo de codificación de paleta | |
ES2844549T3 (es) | Inicialización del parámetro de Rice para la codificación de niveles de coeficiente en un proceso de codificación de vídeo | |
ES2873548T3 (es) | Codificación de píxeles de escape para codificación de paleta | |
ES2677100T3 (es) | Filtrado de bucle alrededor de los límites de segmento o de límites de mosaico en la codificación de video | |
ES2912367T3 (es) | Jerarquía de bloques de vídeo de predicción de movimiento | |
ES2856051T3 (es) | Candidatos de fusión favorables a la paralelización para codificación de vídeo | |
ES2761301T3 (es) | Coeficientes de codificación por entropía usando un modelo de contexto conjunto | |
ES2711449T3 (es) | Modo de fusión bipredictivo basado en vecinos unipredictivos y bipredictivos en la codificación de vídeo | |
ES2692183T3 (es) | Modulación por codificación de pulsos con cuantificación en codificación de vídeo | |
ES2770664T3 (es) | Restricción en el tamaño de bloque de paleta en la codificación de vídeo | |
ES2810253T3 (es) | Reposicionamiento de bloques residuales de predicción en codificación de vídeo | |
US10554968B2 (en) | Method and apparatus for inter prediction on basis of virtual reference picture in video coding system | |
JP2021530906A (ja) | 広角イントラ予測を伴う位置依存イントラ予測組み合わせ |