MX2013013941A - Metodo de decodificacion de imagenes, metodo de codificacion de imagenes, aparato de decodificacion de imagenes, aparato de codificacion de imagenes y aparato de codificacion y decodificacion de imagenes. - Google Patents
Metodo de decodificacion de imagenes, metodo de codificacion de imagenes, aparato de decodificacion de imagenes, aparato de codificacion de imagenes y aparato de codificacion y decodificacion de imagenes.Info
- Publication number
- MX2013013941A MX2013013941A MX2013013941A MX2013013941A MX2013013941A MX 2013013941 A MX2013013941 A MX 2013013941A MX 2013013941 A MX2013013941 A MX 2013013941A MX 2013013941 A MX2013013941 A MX 2013013941A MX 2013013941 A MX2013013941 A MX 2013013941A
- Authority
- MX
- Mexico
- Prior art keywords
- block
- type
- context
- flag
- cbf
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 216
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 claims abstract description 123
- 230000009466 transformation Effects 0.000 claims description 53
- 230000033001 locomotion Effects 0.000 claims description 52
- 230000008569 process Effects 0.000 claims description 38
- 241000023320 Luma <angiosperm> Species 0.000 claims description 37
- 239000013598 vector Substances 0.000 claims description 34
- 230000002441 reversible effect Effects 0.000 claims description 19
- 238000012545 processing Methods 0.000 description 129
- 238000012795 verification Methods 0.000 description 125
- 238000013139 quantization Methods 0.000 description 33
- 230000007423 decrease Effects 0.000 description 28
- 230000005236 sound signal Effects 0.000 description 26
- 238000011156 evaluation Methods 0.000 description 23
- 239000011159 matrix material Substances 0.000 description 20
- 230000003287 optical effect Effects 0.000 description 19
- 238000005192 partition Methods 0.000 description 17
- 230000008859 change Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 15
- 230000005540 biological transmission Effects 0.000 description 14
- 239000000872 buffer Substances 0.000 description 13
- 230000002829 reductive effect Effects 0.000 description 13
- 238000012360 testing method Methods 0.000 description 13
- NRNCYVBFPDDJNE-UHFFFAOYSA-N pemoline Chemical compound O1C(N)=NC(=O)C1C1=CC=CC=C1 NRNCYVBFPDDJNE-UHFFFAOYSA-N 0.000 description 11
- 238000001824 photoionisation detection Methods 0.000 description 10
- 238000004364 calculation method Methods 0.000 description 9
- 238000006243 chemical reaction Methods 0.000 description 8
- 230000003044 adaptive effect Effects 0.000 description 7
- 239000000470 constituent Substances 0.000 description 7
- 230000006866 deterioration Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 6
- 230000002452 interceptive effect Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 230000006835 compression Effects 0.000 description 5
- 238000007906 compression Methods 0.000 description 5
- 238000001094 photothermal spectroscopy Methods 0.000 description 5
- 230000007704 transition Effects 0.000 description 5
- 230000003247 decreasing effect Effects 0.000 description 4
- 238000009826 distribution Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000002156 mixing Methods 0.000 description 4
- 239000004065 semiconductor Substances 0.000 description 4
- 238000001228 spectrum Methods 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 101100008046 Caenorhabditis elegans cut-2 gene Proteins 0.000 description 3
- 101000871708 Homo sapiens Proheparin-binding EGF-like growth factor Proteins 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 3
- 238000004134 energy conservation Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000010354 integration Effects 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 238000011002 quantification Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 101710163968 Antistasin Proteins 0.000 description 2
- 208000037146 Atypical Timothy syndrome Diseases 0.000 description 2
- 101100008044 Caenorhabditis elegans cut-1 gene Proteins 0.000 description 2
- 208000037498 atypical type Timothy syndrome Diseases 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000001186 cumulative effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000010790 dilution Methods 0.000 description 2
- 239000012895 dilution Substances 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 102100036495 Di-N-acetylchitobiase Human genes 0.000 description 1
- 101000928786 Homo sapiens Di-N-acetylchitobiase Proteins 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 238000009792 diffusion process Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 238000000444 liquid chromatography-electrochemical detection Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 239000000243 solution Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
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
- H04N19/20—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
- H04N19/21—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding with binary alpha-plane coding for video objects, e.g. context-based arithmetic encoding [CAE]
-
- 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
- H04N19/197—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 including determination of the initial value of an encoding parameter
-
- 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/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/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- 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
- 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/186—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 colour or a chrominance component
-
- 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
-
- 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/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
El método de decodificación de imágenes incluye determinar un contexto para el uso en un bloque actual, de entre una pluralidad de contextos (S204), en donde en la determinación (S204), el contexto se determina bajo una tercera condición de que no se utilice el parámetro de control de un bloque superior y se utilice una profundidad jerárquica de una unidad de datos a la cual pertenece el parámetro de control del bloque actual, cuando el tipo de señal es un tercer tipo (S213) y el tercer tipo es uno o más de (i) "merge_flag", (ii) "refidx_l0" o "refidx_l1", (iii) "inter_pred_flag", (iv) "mvd_l0" o "mvd_l1", (v) "intra_chroma_pred_mode", (vi) "cbf_luma" y (vii) "cbf_cb" o "cbf_cr".
Description
METODO DE DECODIFICACION DE IMAGENES, METODO DE CODIFICACION DE IMAGENES, APARATO DE DECODIFICACION DE IMAGENES, APARATO DE CODIFICACION DE IMAGENES Y APARATO DE CODIFICACION Y DECODIFICACION DE IMAGENES
CAMPO DE LA INVENCION
La presente invención se refiere a un método de decodificación de imágenes, un método de codificación de imágenes, un aparato de decodificación de imágenes, un aparato de codificación de imágenes y un aparato de codificación y decodificación de imágenes y en particular a un método de decodificación de imágenes, un método de codificación de imágenes, un aparato de decodificación de imágenes, un aparato de codificación de imágenes y un aparato de codificación y decodificación de imágenes los cuales utilizan una codificación aritmética o una decodificación aritmética .
ANTECEDENTES DE LA INVENCION
Las señales de imágenes naturales tienen variaciones estadísticas que muestran un comportamiento no estacionario. Uno de los métodos de codificación entrópica que utiliza las variaciones estadísticas no estacionarias es la Codificación Aritmética, Binaria, Adaptable Basada en el Contexto (CABAC, por sus siglas en inglés) (véase la NPL 1) . La CABAC se emplea como el estándar ITU-T/ISOIEC para la
REF: 244960
codificación de video, H.264/AVC.
El significado de los términos utilizados en el esquema de CABAC se describirá a continuación.
(1) "Adaptable Basado en el Contexto" significa la adaptación de los métodos de codificación y decodificación a las variaciones estadísticas. En otras palabras, "Adaptable Basado en el Contexto" significa la predicción de una probabilidad apropiada como una probabilidad de ocurrencia de un símbolo junto con un evento de condiciones circundantes, cuando el símbolo se codifica o decodifica. En la codificación, cuando se determina una probabilidad de ocurrencia p(x) de cada valor de un símbolo S, una probabilidad de ocurrencia condicional se aplica utilizando un evento real o una secuencia de eventos F(z) como una condición.
(2) "Binario" significa la representación de un símbolo utilizando una secuencia binaria. Un símbolo representado por un multi-valor se mapea una vez en una secuencia binaria referida como "serie binaria" . Una probabilidad predicha (probabilidad condicional) se conmuta y se utiliza para cada uno de los elementos de secuencia y la ocurrencia de uno de los eventos de los dos valores es representada por una secuencia de bits. Por consiguiente, la probabilidad de un valor se puede gestionar (inicializar y actualizar) utilizando una unidad (unidad de elemento
binario) más pequeña que una unidad de un tipo de señal (véase la Figura 2 y otras de la NPL 1) .
(3) "Aritmético" significa que la secuencia de bits se genera no con referencia a las correspondencias en una tabla sino mediante el cálculo. En el esquema de codificación que utiliza las tablas de códigos de longitud variable tal como H.263, MPEG-4 y H.264, incluso cada valor de un símbolo con una probabilidad de ocurrencia mayor que 0.5 (50%) necesita ser asociado con una secuencia binaria (secuencia de bits) . De esta manera, un valor con la probabilidad más grande necesita ser asociado con un bit para un símbolo como mínimo. En contraste, la codificación aritmética puede representar la ocurrencia de un evento con una probabilidad más alta por un número entero igual a o más pequeño que un bit. Cuando (i) existe un tipo de señal en el cual la probabilidad de ocurrencia de tener el primer valor binario como 0 excede 0.9 (90%) y (ii) un evento que tiene el primer valor binario como 0 ocurre exitosamente N veces, no hay necesidad de enviar datos de 1 bit N veces para cada valor de "0" .
Lista de Referencias
Bibliografía que no es Patente
[NPL 1] Detlev Marpe y colaboradores, "Context-Based Adaptive Binary Arithmetic Coding in the H.264/AVC Video Compression Standard", IEEE Transaction on circuits and
systems for video technology, Vol . 13, No . 7, Julio de 2003. [NPL 2] Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 P3 and ISO/IEC JTC1/SC29/WG11 , 5th Meeting: Geneva, CH, 16-23 Marzo de 2011, JCTVC-E603, ver.7 "WD3 : orking Draft 3 of High-Efficiency Video Coding" ,
http : //phenix. int-evry . fr/j ct/doc_end_user/documents/5_Geneva /wgll/JCTVC-E603-v7.zip
[NPL 3] Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 , 4th Meeting: Daegu, KR, 20-28 Enero de 2011, "Common test conditions and software reference configurations" , JCTVC-E700
[NPL 4] Gisle Bjenitegaard, "Improvements of the BD-PSNR model", ITU-T SG16 Q.6 Document, VCEG-AI11, Berlín, Julio de 2008
BREVE DESCRIPCION DE LA INVENCION
Problema Técnico
En este método de codificación de imágenes y método de decodificación de imágenes, se desea que el uso de memoria (capacidad de memoria que se utiliza) se reduzca.
En este documento, la presente invención tiene como objetivo proporcionar un método de codificación de imágenes o un método de decodificación de imágenes que pueda reducir el uso de memoria.
Solución al Problema
Con el propósito de alcanzar el objetivo, el método de decodificación de imágenes de acuerdo con un aspecto de la
presente invención es un método de decodificación de imágenes que utiliza una decodificación aritmética, y el método incluye: determinar un contexto para el uso en un bloque actual, de entre una pluralidad de contextos; realizar una decodificación aritmética en una secuencia de bits que corresponde al bloque actual, utilizando el contexto determinado para decodificar una secuencia binaria, la secuencia de bits se obtiene al realizar una codificación aritmética en un parámetro de control del bloque actual; y binarizar de manera inversa la secuencia binaria para decodificar el parámetro de control del bloque actual, en donde la determinación de un contexto incluye: determinar un tipo de señal del parámetro de control del bloque actual; determinar el contexto bajo una primera condición de que se utilicen los parámetros de control decodificados de bloques adyacentes del bloque actual, cuando el tipo de señal es un primer tipo, los bloques adyacentes son un bloque izquierdo y un bloque superior del bloque actual; determinar el contexto bajo una segunda condición de que no se utilice el parámetro de control decodificado del bloque superior, cuando el tipo de señal es un segundo tipo diferente del primer tipo; y determinar el contexto bajo una tercera condición de que no se utilice el parámetro de control decodificado del bloque superior y se utilice una profundidad jerárquica de una unidad de datos a la cual pertenece el parámetro de control
del bloque actual, cuando el tipo de señal es un tercer tipo diferente del primer tipo y el segundo tipo, el primer tipo es uno de "split_coding_unit_flag" y "skip_flag" , el segundo tipo es uno o más de (i) "merge_flag" , (ii) "ref_idx_lO" o "ref_idx_ll" , (iii) "inter_pred_flag" , (iv) "mvd_lO" o "mvd_ll" , (v) " intra_chroma_pred_mode" , (vi) "cbf_luma" y (vii) "cbf_cb" o "cbf_cr" y el tercer tipo es un tipo de señal de entre (i) el "merge_flag" , (ii) el "ref_idx_10" o el "ref_idx_ll" , (iii) el "inter_pred_flag" , (iv) el "mvd_lO" o el "mvd_ll", (v) el "intra_chroma_pred_mode" , (vi) el "cbf_luma" y (vii) el "cbf_cb" o el "cbf_cr" , el tipo de señal es diferente del segundo tipo.
EFECTOS VENTAJOSOS DE LA INVENCION
La presente invención puede proporcionar un método de codificación de imágenes o un método de decodificación de imágenes que puede reducir el uso de memoria.
BREVE DESCRIPCION DE LAS FIGURAS
La FIGURA 1 es un diagrama de bloques funcional de un aparato de codificación de imágenes de acuerdo con la Modalidad 1.
La FIGURA 2 es un diagrama de bloques funcional de una unidad de codificación de longitud variable de acuerdo con la Modalidad 1.
La FIGURA 3 es una tabla de un modelo de contexto de un parámetro de control de acuerdo con la Modalidad 1.
La FIGURA 4 es un diagrama de flujo que indica un método de codificación aritmética de acuerdo con la Modalidad 1.
La FIGURA 5 es un diagrama de bloques funcional de un aparato de decodificación de imágenes de acuerdo con la Modalidad 2.
La FIGURA 6 es un diagrama de bloques funcional de una unidad de decodificación de longitud variable de acuerdo con la Modalidad 2.
La FIGURA 7 es un diagrama de flujo que indica un método de decodificación aritmética de acuerdo con la Modalidad 2.
La FIGURA 8 es un diagrama de flujo que indica una modificación del método de decodificación aritmética de acuerdo con la Modalidad 2.
La FIGURA 9A ilustra la información de mapeo y la asignación de índices de contexto de acuerdo con la Modalidad 2.
La FIGURA 9B ilustra bloques particionados (una estructura arborescente) de acuerdo con la HEVC de acuerdo con la Modalidad 2.
La FIGURA 10 ilustra una estructura de bloques de múltiples capas de acuerdo con la Modalidad 2.
La FIGURA 11 ilustra un método de decodificación aritmética para split_coding_unit_flag de acuerdo con la Modalidad 3.
La FIGURA 12A es " una tabla que indica un resultado de la verificación en split_coding_unit_flag de acuerdo con
la Modal idad 3 .
La FIGURA 12B es una tabla que indica un resultado de la veri f icación en spl it_coding_unit_f lag de acuerdo con la Modal idad 3 .
La FIGURA 13 i lustra un método de decodi f icación aritmética para skip_f lag de acuerdo con la Modal idad 3 .
La FIGURA 14A es una tabla que indica un resultado de la verificación en skip_flag de acuerdo con la Modalidad 3.
La FIGURA 14B es una tabla que indica un resultado de la verificación en skip_flag de acuerdo con la Modalidad 3.
La FIGURA 15 es una tabla que indica un método de decodificación aritmética para merge_flag de acuerdo con la Modalidad 3 .
La FIGURA 16A es una tabla que indica un resultado de la verificación en merge_f lag de acuerdo con la Modalidad 3 .
La FIGURA 16B es una tabla que indica un resultado de la verificación en merge_f lag de acuerdo con la Modalidad 3 .
La FIGURA 17 es una tabla que indica un método de decodif icación aritmética para ref_idx de acuerdo con la Modalidad 3 .
La FIGURA 18A es una tabla que indica un resultado de la verif icación en ref_idx de acuerdo con la Modal idad 3 .
La FIGURA 18B es una tabla que indica un resultado de la verif icación en ref_idx de acuerdo con la Modal idad 3 .
La FIGURA 18C es una tabla que indica un modelo de
contexto para ref_idx de acuerdo con la Modalidad 3.
La FIGURA 18D es una tabla que indica un modelo de contexto para ref_idx de acuerdo con la Modalidad 3.
La FIGURA 19 es una tabla que indica un método de decodificación aritmética para inter_pred_flag de acuerdo con la Modalidad 3.
La FIGURA 20A es una tabla que indica un resultado de la verificación en inter_pred_flag de acuerdo con la Modalidad 3.
La FIGURA 20B es una tabla que indica un resultado de la verificación en inter_pred_flag de acuerdo con la Modalidad 3.
La FIGURA 21 es una tabla que indica un método de decodificación aritmética para mvd de acuerdo con la Modalidad 3.
La FIGURA 22A es una tabla que indica un resultado de la verificación en mvd de acuerdo con la Modalidad 3.
La FIGURA 22B es una tabla que indica un resultado de la verificación en mvd de acuerdo con la Modalidad 3.
La FIGURA 22C es una tabla que indica un modelo de contexto para mvd de acuerdo con la Modalidad 3.
La FIGURA 22D es una tabla que indica un modelo de contexto para mvd de acuerdo con la Modalidad 3.
La FIGURA 23A es una tabla que indica un método de decodificación aritmética para no_residual_data_flag de
acuerdo con la Modalidad 3.
La FIGURA 23B es una tabla que indica una sintaxis para no_residual_data_flag de acuerdo con la Modalidad 3.
La FIGURA 24A es una tabla que indica un resultado de la verificación en no_residual_data_flag de acuerdo con la Modalidad 3.
La FIGURA 24B es una tabla que indica un resultado de la verificación en no_residual_data_flag de acuerdo con la Modalidad 3.
La FIGURA 25A es una tabla que indica un método de decodificación aritmética para intra_chroma_pred_mode de acuerdo con la Modalidad 3.
La FIGURA 25B es una tabla que indica un método para determinar IntraPredModeC con base en intra_chroma_pred_mode , de acuerdo con la Modalidad 3.
La FIGURA 26A es una tabla que indica un resultado de la verificación en intra_chroma_pred_mode de acuerdo con la Modalidad 3.
La FIGURA 26B es una tabla que indica un resultado de la verificación en intra_chroma_pred_mode de acuerdo con la Modalidad 3.
La FIGURA 27 es una tabla que indica un método de decodificación aritmética para cbf_luma (cr, cb) de acuerdo con la Modalidad 3.
La FIGURA 28A es una tabla que indica un resultado
de la verificación en cbf_luma (cr, cb) de acuerdo con la Modalidad 3.
La FIGURA 28B es una tabla que indica un resultado de la verificación en cbf_luma (cr, cb) de acuerdo con la Modalidad 3.
La FIGURA 29A es una gráfica que indica un resultado de la verificación de acuerdo con la Modalidad 3.
La FIGURA 29B es una gráfica que indica un resultado de la verificación de acuerdo con la Modalidad 3.
La FIGURA 30A es una gráfica que indica un resultado de la verificación de acuerdo con la Modalidad 3.
La FIGURA 30B es una gráfica que indica un resultado de la verificación de acuerdo con la Modalidad 3.
La FIGURA 31A es una gráfica que indica un resultado de la verificación de acuerdo con la Modalidad 3.
La FIGURA 31B es una gráfica que indica un resultado de la verificación de acuerdo con la Modalidad 3.
La FIGURA 32A es una gráfica que indica un resultado de la verificación de acuerdo con la Modalidad 3.
La FIGURA 32B es una gráfica que indica un resultado de la verificación de acuerdo con la Modalidad 3.
La FIGURA 33A es una tabla que indica un ejemplo de un conjunto de parámetros de acuerdo con la Modalidad 3.
La FIGURA 33B es una tabla que indica un resultado de la verificación de acuerdo con la Modalidad 3.
La FIGURA 34A es una tabla que indica un ejemplo de un conjunto de parámetros de acuerdo con la Modalidad 3.
La FIGURA 34B es una tabla que indica un resultado de la verificación de acuerdo con la Modalidad 3.
La FIGURA 35 es un diagrama de flujo que indica un método de codificación aritmética de acuerdo con la Modalidad 3.
La FIGURA 36 es un diagrama de flujo que indica un método de decodificación aritmética de acuerdo con la Modalidad 3.
La FIGURA 37 ilustra modelos de contexto que utilizan valores de parámetros de control que corresponden a dos bloques adyacentes de acuerdo con las Modalidades.
La FIGURA 38 ilustra un incremento en el uso de memoria cuando se utiliza un bloque superior de acuerdo con las Modalidades.
La FIGURA 39 ilustra una configuración completa de un sistema de provisión de contenido para implementar servicios de distribución de contenido.
La FIGURA 40 ilustra una configuración completa de un sistema de difusión digital.
La FIGURA 41 es un diagrama de bloques que ilustra un ejemplo de una configuración de una televisión.
La FIGURA 42 es un diagrama de bloques que ilustra un ejemplo de una configuración de una unidad de
reproducción/grabación de información que lee y escribe información de o en un medio de grabación que es un disco óptico .
La FIGURA 43 ilustra un ejemplo de una configuración de un medio de grabación que es un disco óptico .
La FIGURA 44A ilustra un ejemplo de un teléfono celular .
La FIGURA 44B ilustra un diagrama de bloques que muestra un ejemplo de una configuración del teléfono celular.
La FIGURA 45 ilustra una estructura de datos multiplexados .
La FIGURA 46 ilustra esquemáticamente como cada corriente es multiplexada en datos multiplexados.
La FIGURA 47 ilustra con mayor detalle como una corriente de video se almacena en una corriente de paquetes PES.
La FIGURA 48 ilustra una estructura de paquetes TS y paquetes fuente en los datos multiplexados.
La FIGURA 49 ilustra una estructura de datos de una PMT. La FIGURA 50 ilustra una estructura, interna de información de datos multiplexados.
La FIGURA 51 ilustra una estructura interna de información de atributos de corriente.
La FIGURA 52 ilustra pasos para identificar datos de video.
La FIGURA 53 es un diagrama de bloques que ilustra un ejemplo de una configuración de un circuito integrado para implementar el método de codificación de imágenes en movimiento y el método de decodificación de imágenes en movimiento de acuerdo con cada una de las Modalidades.
La FIGURA 54 ilustra una configuración para conmutar entre frecuencias impulsoras.
La FIGURA 55 ilustra pasos para identificar datos de video y conmutar entre frecuencias impulsoras.
La FIGURA 56 ilustra un ejemplo de una tabla de consulta en la cual los estándares de datos de video se asocian con las frecuencias impulsoras.
La FIGURA 57A ilustra un ejemplo de una configuración para compartir un módulo de una unidad de procesamiento de señales.
La FIGURA 57B ilustra otro ejemplo de una configuración para compartir un módulo de una unidad de procesamiento de señales.
DESCRIPCION DETALLADA DE LA INVENCION
(Conocimiento en el cual se basa la presente invención)
Los presentes inventores han descubierto los siguientes problemas.
En la Codificación de Video de Alta Eficiencia (HEVC, por sus siglas en inglés) que es un esquema de codificación de video de próxima generación, el modelo de
contexto en la codificación y decodificación de varios parámetros de control está siendo estudiado (NPL 2) . El parámetro de control se incluye en una corriente de bits codificada y es un parámetro (indicador, etcétera) utilizado en el procesamiento de codificación o decodificación. Más específicamente, el parámetro de control es un elemento de sintaxis .
El modelo de contexto es información que indica (i) que condición se considera para (ii) una señal de que unidad (cada elemento de un valor múltiple, un valor binario, una secuencia binaria (serie binaria) . En este documento, "que condición" indica que condición con el número de elementos condicionales se aplica o que tipo de señal de un parámetro de control que se considera como una condición es apropiado. Como las condiciones se dividen en categorías más pequeñas, es decir, como el número de condiciones t incrementa, el número de los casos que se mantienen verdaderos para las condiciones disminuye. Como resultado, puesto que el número de entrenamientos disminuye, la precisión de la probabilidad predicha disminuye (por ejemplo, véase el "efecto de dilución" en la NPL 1) .
Adicionalmente , una disminución en el número de condiciones indica que no se considera un contexto (condiciones circundantes) y que no es adaptable a las variaciones estadísticas.
En el diseño de un modelo de contexto, después de determinar una guía para diseñar el modelo, es necesario considerar la validez del modelo al conducir verificaciones especializadas para una imagen, tal como las verificaciones de variaciones estadísticas en los detalles de una imagen y en un parámetro de control para controlar la codificación y decodificación de una imagen.
En H.264, el uso de eventos avanzados de un número limitado para codificar un símbolo es un criterio de una regla y los modelos de contexto se clasifican en cuatro tipos de diseño básicos.
El primer tipo y el segundo tipo se refieren a la codificación y decodificación de un parámetro de control.
El primer modelo de contexto utiliza valores codificados de hasta dos valores codificados adyacentes (véase la NPL 1) . Aunque la definición de los dos valores codificados, adyacentes depende de cada tipo de señal, normalmente, se utilizan valores de parámetros de control correspondientes que se incluyen en bloques adyacentes a la izquierda y arriba del bloque actual.
El segundo tipo de modelos de contexto es un tipo para determinar un contexto basado en un árbol binario como una probabilidad de ocurrencia. Más específicamente, el segundo tipo de modelos dé contexto se aplica a los parámetros de control mb_type y sub_mb_type .
El tercer tipo y el cuarto tipo de modelos de contexto se refieren a la codificación y decodificación de valores residuales (datos residuales) , tal como datos de imagen. El tercer tipo utiliza solo los valores codificados o decodificados pasados en el orden de exploración de coeficientes de frecuencia (o coeficientes cuantificados) . El cuarto tipo determina un contexto de acuerdo con valores decodificados y acumulados (niveles) .
Las ventajas del principio de diseño y la implementación del modelo de transición de probabilidad en H.264, tal como el primer tipo, ya han sido estudiadas y se aplicarán a la HEVC que está siendo estudiada (véase la NPL 2) . Por ejemplo, el primer tipo (modelo de contexto que utiliza elementos de sintaxis adyacentes) está siendo estudiado para utilizarse para los parámetros de control alf_cu_flag, split_coding_unit_flag, skip_flag, merge_flag, intra_chroma_pred_mode, inter_pred_flag, ref_idx lc, ref_idx_lO, ref_idx_ll, mvd_lO, mvd_ll, mvd_lc, no_residual_data_flag, cbf_luma, cbf_cb y cbf_cr (véase 9.3.3.1.1 de la NPL 2) .
Sin embargo, los presentes inventores han descubierto que existe un problema en el uso de memoria en la codificación que utiliza el "modelo de contexto que utiliza los dos bloques adyacentes" del primer tipo.
La FIGURA 37 ilustra modelos de contexto que utilizan valores de parámetros de control que corresponden a
los dos bloques adyacentes. Adicionalmente , la FIGURA 37 ilustra los modelos de contexto que utilizan¦ los bloques adyacentes en H. 264.
El bloque C en la FIGURA 37 incluye un valor de un parámetro de control SE que es codificado y decodificado actualmente. Cuando el valor del parámetro de control SE se codifica, se utilizan valores de parámetros de control SE del mismo tipo incluidos en el bloque superior A y el bloque izquierdo B que ya están codificados. Más específicamente, la probabilidad p (x) que indica si el valor x del parámetro de control SE del bloque C (o el primer valor binario de la serie binaria del parámetro de control SE) es 1 o 0 se predice con base en una probabilidad condicional p (xl (condición A (valor del bloque superior) y condición B (valor del bloque izquierdo)) utilizando, como condiciones, el valor del parámetro de control SE del bloque superior A y el valor del parámetro de control SE del bloque izquierdo B.
La FIGURA 38 ilustra un incremento en el uso de memoria cuando se utiliza un bloque superior.
En la FIGURA 38, (xP, yP) es una posición de un pixel izquierdo superior de una unidad de predicción (PU, unidad de predicción de movimiento) que incluye el bloque C. En este documento, el bloque C es un bloque que incluye un parámetro de control (por ejemplo, skip_flag) que es codificado actualmente. Adicionalmente, (xP, yA) en la FIGURA
38 es una posición de un pixel que se incluye en el bloque B y se utiliza como una condición A (valor del parámetro de control skip_flag del bloque superior) . Adicionalmente, (xL, yP) en la FIGURA 38 es una posición de un ,pixel que se incluye en el bloque A y se utiliza como una condición B (valor del parámetro de control skip_flag del bloque izquierdo) .
Con el propósito de codificar o decodificar el valor del parámetro de control skip_flag del bloque C, el aparato de codificación o el aparato de decodificación necesita mantener el valor de skip_flag de PU (o un resultado de la determinación de una condición) que corresponde a la posición (xP, yA) incluida en el bloque superior B y la posición (xL, yP) incluida en el bloque izquierdo A. Asumiendo que la imagen tiene una anchura horizontal de 4096 pixeles, con el propósito de codificar un parámetro de control skip_flag, es necesario mantener todos los valores de determinación incluidos en la hilera superior (Línea L en la FIGURA 38) . En otras palabras, un parámetro de control necesita la capacidad de memoria obtenida por 4096 pixeles/tamaño de bloque.
En este documento, el bloque C que se codifica tiene tamaños variables, por ejemplo, 64 x 64, 16 x 16 o 4 x 4. Adicionalmente, el tamaño de bloque del bloque C que se codifica o decodifica posteriormente no se puede predecir
cuando los bloques en la hilera superior (Línea L) que incluyen (xP, yA) se codifican o decodifican. Esto es debido a que el tamaño de cada uno de los bloques en la hilera inferior (hilera que incluye el bloque C) no se conoce cuando la hilera superior (hilera que incluye el bloque A) se codifica o decodifica. De esta manera, el aparato de codificación o el aparato de decodificación necesita mantener un valor de un parámetro de control (o valor de determinación) para cada tamaño de bloque mínimo, asumiendo que el tamaño de bloque más pequeño de entre todos los tamaños aplicados a los parámetros de control se utiliza como el tamaño de bloque de la hilera inferior. En muchos tipos de señal, el tamaño de bloque más pequeño es 4 x 4. Adicionalmente, en tipos de señal particulares, el tamaño de bloque más pequeño es 8 x 8 o 16 x 16. Por ejemplo, cuando el tamaño de bloque más pequeño es 4 x 4 , el valor del parámetro de control que se debe mantener es 4096 ÷ 4 = 1024 bits. Las posiciones de los círculos negros en la FIGURA 38 indican condiciones que tienen que ser mantenidas, aunque los valores condicionales no sean necesarios realmente cuando la hilera inferior (hilera que incluye el bloque C) se codifica y decodifica .
Adicionalmente, los dos bloques adyacentes en la FIGURA 38 (el bloque izquierdo A y el bloque superior B) siguen el concepto de los bloques adyacentes en H.264 y no se
introduce una nueva perspectiva en la división de bloques jerárquicos. Como se describe posteriormente, existen casos donde estos valores condicionales que son referidos en la FIGURA 38 no siempre tienen sentido para parámetros de control adaptados a la partición recursiva de árbol cuádruple que se introduce en la HEVC, debido a que los parámetros de control siguen un orden de ejecución recursivo, la profundidad jerárquica o posiciones de bloques.
Como tal, los presentes inventores han descubierto que el uso de memoria incrementa al utilizar los valores condicionales de los bloques superiores en la realización de la codificación o decodificación aritmética en los parámetros de control. Adicionalmente , los presentes inventores han descubierto que el uso de memoria incrementa adicionalmente en la HEVC.
En contraste, el método de decodificación de imágenes de acuerdo con un aspecto de la presente invención es un método de decodificación de imágenes que utiliza una decodificación aritmética, y el método incluye: determinar un contexto para el uso en un bloque actual, de entre una pluralidad de contextos; realizar una decodificación aritmética en una secuencia de bits que corresponde al bloque actual, utilizando el contexto determinado para decodificar una secuencia binaria, la secuencia de bits se obtiene al realizar una codificación aritmética en un parámetro de
control del bloque actual; y binarizar de manera inversa la secuencia binaria para decodificar el parámetro de control del bloque actual, en donde la determinación de un contexto incluye: determinar un tipo de señal del parámetro de control del bloque actual; determinar el contexto bajo una primera condición de que se utilicen los parámetros de control decodificados de bloques adyacentes del bloque actual, cuando el tipo de señal es un primer tipo, los bloques adyacentes son un bloque izquierdo y un bloque superior del bloque actual; determinar el contexto bajo una segunda condición de que no se utilice el parámetro de control decodificado del bloque superior, cuando el tipo de señal es un segundo tipo diferente al primer tipo; y determinar el contexto bajo una tercera condición de que no se utilice el parámetro de control decodificado del bloque superior y se utilice una profundidad jerárquica de una unidad de datos a la cual pertenece el parámetro de control del bloque actual, cuando el tipo de señal es un tercer tipo diferente del primer tipo y el segundo tipo, el primer tipo es uno de "split_coding_unit_flag" y "skip_flag", el segundo tipo es uno o más de (i) "merge_flag" , (ii) "ref_idx_10" o "ref_idx_ll" , (iii) "inter_pred_flag" , (iv) "mvd_l0" o "mvd_ll", (v) "intra_chroma_pred_mode" , (vi) "cbf_luma" y (vii) "cbf_cb" o "cbf_cr" , y el tercer tipo es un tipo de señal de entre (i) el "merge_flag" , (ii) el "ref_idx_10" o el
"ref_idx_ll" , (iii) el "inter_pred_flag" , (iv) el "mvd_lO" o el "mvd_ll", (v) el "intra_chroma_pred_mode" , (vi) el "cbf_luma" y (vii) el "cbf_cb" o el "cbf_cr", el tipo de señal es diferente del segundo tipo
Con la estructura, el método de decodificación de imágenes puede reducir el uso de memoria. Más específicamente, en el método de decodificación de imágenes, puesto que el parámetro de control del bloque superior no se utiliza para un parámetro de control del segundo tipo, no hay necesidad de mantener el parámetro de control del segundo tipo del bloque superior. Con la estructura, en comparación con el caso donde el bloque izquierdo y el bloque superior se utilizan como "utilizando uniformemente un modelo de contexto con base en valores de parámetros de control de bloques adyacentes" , el uso de memoria se puede reducir de acuerdo con el método de decodificación de imágenes. Adicionalmente , el método de decodificación de imágenes puede reducir apropiadamente el uso de memoria del parámetro de control del segundo tipo sin, por ejemplo, dejar de evaluar una velocidad de BD de una imagen.
Adicionalmente, de acuerdo con el método de decodificación de imágenes, se puede utilizar el contexto apropiado para una estructura arborescente jerárquica que es una estructura de datos que no se considera en la H.264 convencional y es única para el nuevo estándar HEVC.
Alternativamente, se puede realizar una referencia de memoria .
Adicionalmente , el método de decodificación de imágenes puede seleccionar un contexto apropiado para un parámetro de control del tercer tipo mientras que se reduce el uso de memoria al determinar el contexto utilizando una profundidad jerárquica de una unidad de datos a la cual pertenece el parámetro de control del bloque actual .
Adicionalmente, el tercer tipo puede ser el "inter_pred_flag" .
Adicionalmente, el tercer tipo puede ser el "cbf cb" y el "cbf_cr" .
Adicionalmente, el tercer tipo puede ser el "cbf_luma" .
Adicionalmente, el primer tipo puede ser el
"split_coding_unit_flag" y el "skip_flag", el segundo tipo puede ser el "merge_flag" , el "ref_idx_l0" , el "ref__idx_ll" , el "mvd_l0", el "mvd_ll" y el "intra_chroma_pred_mode" y el tercer tipo puede ser el "inter_pred_flag" , el "cbf_luma" , el "cbf_cb" y el "cbf_cr" .
Adicionalmente, la segunda condición y la tercera condición pueden ser condiciones de que no se utilicen los parámetros de control decodificados del bloque izquierdo y el bloque superior.
Con la estructura, el método de decodificación de imágenes puede reducir el uso de memoria al no utilizar el
parámetro de control del bloque izquierdo además del parámetro de control del bloque superior.
Adicionalmente , en la determinación de un contexto, un contexto predeterminado se puede determinar bajo la segunda condición, como el contexto para el uso en la decodificación aritmética del bloque actual, cuando el tipo de señal es el segundo tipo.
Con la estructura, el método de decodificación de imágenes puede reducir la cantidad de procesamiento.
Adicionalmente, la determinación de un contexto puede incluir además: determinar si el parámetro de control decodificado del bloque superior está disponible o no en la decodificación, con base en una posición del bloque actual; y determinar el contexto bajo una de la segunda condición y la tercera condición, cuando el parámetro de control decodificado del bloque superior no está disponible.
Con la estructura, el método de decodificación de imágenes puede reducir la cantidad de procesamiento.
Adicionalmente, en la determinación de un contexto, se puede determinar que el parámetro de control decodificado del bloque superior no está disponible en la decodificación, cuando el bloque actual está en un límite de corte.
Adicionalmente, en la determinación de un contexto, se puede determinar si el parámetro de control decodificado del bloque superior está disponible o no en la
decodificación, de acuerdo con una profundidad jerárquica de una unidad de datos a la cual pertenece el parámetro de control del bloque actual.
Adicionalmente , uno del segundo tipo y el tercer tipo puede ser un parámetro de control que tiene una estructura de datos predeterminada.
Adicionalmente, la determinación de un contexto puede incluir además determinar un contexto de un parámetro de control de una segunda unidad más pequeña que una primera unidad al conmutar entre la primera condición, la segunda condición y la tercera condición, con base en un parámetro de control de la primera unidad.
Adicionalmente, el "split_coding_unit_flag" puede indicar si el bloque actual se particiona o no en una pluralidad de bloques, el "skip_flag" puede indicar si el bloque actual debe ser omitido o no, el "merge_flag" puede indicar si un modo de fusión se utiliza o no para el bloque actual, el "ref_idx_l0" puede indicar un índice de imagen de referencia de una lista 0 para el bloque actual, el "ref_idx_ll" puede indicar un índice de imagen de referencia de una lista 1 para el bloque actual, el "inter_pred_flag" puede indicar una de uni-predicción y bi-predicción que se utiliza para el bloque actual, el "mvd_l0" puede indicar una diferencia entre un componente de vector de movimiento de la lista 0 y un valor predicho del componente de vector de
7
movimiento, el componente de vector de movimiento y el valor predicho se utilizan para el bloque actual, el "mvd_ll" puede indicar una diferencia entre un componente de vector de movimiento de la lista 1 y un valor predicho del componente de vector de movimiento, el componente de vector de movimiento y el valor predicho que se utilizan para el bloque actual, el "intra_chroma_pred_mode" puede indicar un modo de
i
intra-predicción para una muestra croma del bloque actual, el "cbf_luma" puede indicar si un bloque de transformación luma del bloque actual contiene o no uno o más niveles de coeficientes de transformación no iguales a 0, el "cbf_cb" puede indicar si un bloque de transformación de Cb del bloque actual contiene o no uno o más niveles de coeficientes de transformación no iguales a 0 y el "cbf_cr" puede indicar si un bloque de transformación de Cr del bloque actual contiene o no uno o más niveles de coeficientes de transformación no iguales a 0.
Adicionalmente , los procesos de decodificación de acuerdo con un primer estándar y los procesos de decodificación de acuerdo con un segundo estándar pueden ser conmutados de acuerdo con un identificador que indica uno del primer estándar y el segundo estándar, el identificador se incluye en una señal codificada y la determinación de un contexto, la realización y la binarización de manera inversa se pueden realizar como los procesos de decodificación de
acuerdo con el primer estándar, cuando el identificador indica el primer estándar.
Adicionalmente, el método de codificación de imágenes de acuerdo con un aspecto de la presente invención es un método de codificación de imágenes que utiliza una codificación aritmética, y el método incluye: binarizar un parámetro de control de un bloque actual para generar una secuencia binaria; determinar un contexto para el uso en el bloque actual, de entre una pluralidad de contextos; y realizar una codificación aritmética en la secuencia binaria utilizando el contexto determinado para generar una secuencia de bits, en donde la determinación de un contexto incluye: determinar un tipo de señal del parámetro de control del bloque actual; determinar el contexto bajo una primera condición de que se utilicen parámetros de control de bloques adyacentes del bloque actual, cuando el tipo de señal es un primer tipo, los bloques adyacentes son un bloque izquierdo y un bloque superior del bloque actual; determinar el contexto bajo una segunda condición de que no se utilice el parámetro de control del bloque superior, cuando el tipo de señal es un segundo tipo diferente del primer tipo; y determinar el contexto bajo una tercera condición de que no se utilice el parámetro de control decodificado del bloque superior y se utilice una profundidad jerárquica de una unidad de datos a la cual pertenece el parámetro de control del bloque actual,
cuando el tipo de señal es un tercer tipo diferente del primer tipo y el segundo tipo, el primer tipo es uno de "split_coding_unit_flag" y "skip_flag" y el segundo tipo es uno o más de (i) "merge_flag" , (ii) "ref_idx_lO" o "ref_idx_ll" , (iii) "inter_pred_flag" , (iv) "mvd_lO" o "mvd_ll" , (v) "intra_chroma_pred_mode" , (vi) "cbf_luma" y (vii) "cbf_cb" o "cbf_cr" y el tercer tipo es un tipo de señal de entre (i) el "merge_flag" , (ii) el "ref_idx_lO" o el "ref_idx_ll" , (iii) el "inter_pred_flag" , (iv) el "mvd_lO" o el "mvd_ll", (v) el "intra_chroma_pred_mode" , (vi) el "cbf_luma" y (vii) el "cbf_cb" o el "cbf_cr", el tipo de señal es diferente del segundo tipo.
Con la estructura, el método de codificación de imágenes puede reducir el uso de memoria. Más específicamente, en el método de codificación de imágenes, puesto que el parámetro de control del bloque superior no se utiliza para un parámetro de control del segundo tipo, no hay necesidad de mantener el parámetro de control del segundo tipo del bloque superior. Con la estructura, en comparación con el caso donde el bloque izquierdo y el bloque superior se utilizan como "utilizando uniformemente un modelo de contexto con base en valores de parámetros de control de bloques adyacentes" , el uso de memoria se puede reducir de acuerdo con el método de codificación de imágenes. Adicionalmente , el método de codificación de imágenes puede reducir
apropiadamente el uso de memoria del parámetro de control del segundo tipo sin, por ejemplo, dejar de evaluar una velocidad de BD de una imagen.
Adicionalmente , de acuerdo con el método de codificación de imágenes, se puede utilizar el contexto apropiado para una estructura arborescente jerárquica que es una estructura de datos que no se considera en la H.264 convencional y es único para el nuevo estándar HEVC. Alternativamente, se puede realizar una referencia de memoria.
Adicionalmente, el método de codificación de imágenes puede seleccionar un contexto apropiado para un parámetro de control del tercer tipo mientras que se reduce el uso de memoria al determinar el contexto utilizando una profundidad jerárquica de una unidad de datos a la cual pertenece el parámetro de control del bloque actual.
Adicionalmente, el aparato de decodificación de imágenes de acuerdo con un aspecto de la presente invención es un aparato de decodificación de imágenes que utiliza una decodificación aritmética, y el aparato incluye: una unidad de control de contexto configurada para determinar un contexto para el uso en un bloque actual, de entre una pluralidad de contextos; una unidad de decodificación aritmética configurada para realizar una decodificación aritmética en una secuencia de bits que corresponde al bloque
actual, utilizando el contexto determinado para decodificar una secuencia binaria, la secuencia de bits se obtiene al realizar una codificación aritmética en un parámetro de control del bloque actual; y una unidad de binarización inversa configurada para binarizar de manera inversa la secuencia binaria para decodificar el parámetro de control del bloque actual, en donde la unidad de control de contexto se configura para: determinar un tipo de señal del parámetro de control del bloque actual; determinar el contexto bajo una primera condición de que se utilicen parámetros de control decodificados de bloques adyacentes del bloque actual, cuando el tipo de señal es un primer tipo, los bloques adyacentes son un bloque izquierdo y un bloque superior del bloque actual; determinar el contexto bajo una segunda condición de que no se utilice el parámetro de control decodificado del bloque superior, cuando el tipo de señal es un segundo tipo diferente del primer tipo; y determinar el contexto bajo una tercera condición de que no se utilice el parámetro de control decodificado del bloque superior y se utilice una profundidad jerárquica de una unidad de datos a la cual pertenece el parámetro de control del bloque actual, cuando el tipo de señal es un tercer tipo diferente del primer tipo y el segundo tipo, el primer tipo es uno de "split_coding_unit_flag" y "skip_flag" y el segundo tipo es uno o más de (i) "merge_flag" , (ii) "ref_idx_10" o
"ref_idx_ll" , (iii) "inter_pred_flag" , (iv) "mvd_lO" o "mvd 11", (v) "intra_chroma_pred_mode" , (vi) "cbf_luma" y (vii) "cbf_cb" o "cbf_cr" y el tercer tipo es un tipo de señal de entre (i) el "merge_flag" , (ii) el "ref_idx_lO" o el "ref_idx_ll" , (iii) el "inter_pred_flag" , (iv) el "mvd_lO" o el "mvd_ll", (v) el "intra_chroma_pred_mode" , (vi) el "cbf_luma", y (vii) el "cbf_cb" o el "cbf_cr" , el tipo de señal es diferente del segundo tipo.
Con la configuración, el aparato de decodificación de imágenes puede reducir el uso de memoria.
Adicionalmente , el aparato de codificación de imágenes de acuerdo con un aspecto de la presente invención es un aparato de codificación de imágenes que utiliza una codificación aritmética, y el aparato incluye: una unidad de binarización configurada para binarizar un parámetro de control de un bloque actual para generar una secuencia binaria,- una unidad de control de contexto configurada para determinar un contexto para el uso en el bloque actual, de entre una pluralidad de contextos; y una unidad de codificación aritmética configurada para realizar una codificación aritmética en la secuencia binaria utilizando el contexto determinado para generar una secuencia de bits, en donde la unidad de control de contexto se configura para: determinar un tipo de señal del parámetro de control del bloque actual; determinar el contexto bajo una primera
condición de que se utilicen parámetros de control de bloques adyacentes del bloque actual, cuando el tipo de señal es un primer tipo, los bloques adyacentes son un bloque izquierdo y un bloque superior del bloque actual; determinar el contexto bajo una segunda condición de que no se utilice el parámetro de control del bloque superior, cuando el tipo de señal es un segundo tipo diferente del primer tipo; y determinar el contexto bajo una tercera condición de que no se utilice el parámetro de control decodificado del bloque superior y se utilice una profundidad jerárquica de una unidad de datos a la cual pertenece el parámetro de control del bloque actual, cuando el tipo de señal es un tercer tipo diferente del primer tipo y el segundo tipo, el primer tipo es uno de "split_coding_unit_flag" y "skip_flag" y el segundo tipo es uno o más de (i) "merge_flag" , (ii) "ref_idx_l0" o "ref_idx_ll" , (iii) "inter_pred_flag" , (iv) "mvd_10" o "mvd_ll", (v) "intra_chroma_pred_mode" , (vi) "cbf_luma" y (vii) "cbf_cb" o "cbf_cr" , y el tercer tipo es un tipo de señal de entre (i) el "merge_flag" , (ii) el "ref_idx_lO" o el "ref_idx_ll" , (iii) el "inter_pred_flag" , (iv) el "mvd_10" o el "mvd_ll", (v) el "intra_chroma_pred_mode" , (vi) el "cbf_luma" y (vii) el "cbf_cb" o el "cbf_cr" , el tipo de señal es diferente del segundo tipo.
Con la configuración, el aparato de codificación de imágenes pueden reducir el uso de memoria.
Adicionalmente , el aparato de codificación y decodificación de imágenes de acuerdo con un aspecto de la presente invención es un aparato de codificación y decodificación de imágenes que incluye el aparato de decodificación de imágenes y el aparato de codificación de imágenes.
Los aspectos generales o específicos pueden ser implementados por un sistema, un método, un circuito integrado, un programa de computadora o un medio de grabación, o por una combinación arbitraria del sistema, el método, el circuito integrado, el programa de computadora y el medio de grabación.
El aparato de decodificación de imágenes y el aparato de codificación de imágenes de acuerdo con un aspecto de la presente invención se describirán específicamente con referencia a los dibujos.
Las modalidades descritas en lo sucesivo indican ejemplos específicos de la presente invención. Los valores, formas, materiales, elementos constituyentes, posiciones y conexiones de los elementos constituyentes, pasos y órdenes de los pasos indicados en las Modalidades son ejemplos y no limitan la presente invención. Los elementos constituyentes en las Modalidades que no se describen en las Reivindicaciones independientes que describen el concepto más genérico de la presente invención se describen como elementos constituyentes arbitrarios.
Modalidad 1
Se describirá un aparato de codificación de imágenes de acuerdo con la Modalidad 1 de la presente invención. El aparato de codificación de imágenes de acuerdo con la Modalidad 1 determina un contexto al conmutar entre (1) el uso del bloque superior y (2) sin el uso del bloque superior, de acuerdo con un tipo de señal de un parámetro de control en la codificación aritmética. Con la estructura, el deterioro en la calidad de imagen se puede suprimir y el uso de memoria se puede reducir.
En primer lugar, se describirá una configuración del aparato de codificación de imágenes de acuerdo con la Modalidad 1.
La FIGURA 1 es un diagrama de bloques que ilustra un aparato de codificación de imágenes 100 de acuerdo con la Modalidad 1.
El aparato de codificación de imágenes 100 mostrado en la FIGURA 1 es un aparato de codificación de imágenes que utiliza una codificación aritmética y codifica una señal de imagen de entrada 121 para generar una corriente de bits 124. El aparato de codificación de imágenes 100 incluye una unidad de control 101, unidad de sustracción 102, unidad de transformación y cuantificación 103, unidad de codificación de longitud variable 104, unidad de cuantificación inversa y transformación inversa 105, unidad de adición 106, unidad de
intra-predicción 107, unidad de inter-predicción 108 y conmutador 109.
La unidad de control 101 calcula un parámetro de control 130 con base en la señal de imagen de entrada 121 que se codifica. Por ejemplo, el parámetro de control 130 incluye información sobre un tipo de imagen de la señal de imagen de entrada 121 que se codifica, un tamaño de una unidad de predicción de movimiento (unidad de predicción, PU) del bloque actual que se codifica e información de control de la unidad de predicción de movimiento. En este documento, el parámetro de control 130 (datos de control) mismo se debe codificar. De esta manera, la unidad de control 101 envía el parámetro de control 130 a la unidad de codificación de longitud variable 104.
La unidad de sustracción. 102 calcula una señal residual 122 que es una diferencia (valor residual) entre la señal de imagen de entrada 121 y una señal de predicción de imagen 129 en una base de unidad de bloque.
La unidad de transformación y cuantificación 103 transforma la señal residual 122 en valores de coeficientes de frecuencia y cuantifica los valores de coeficientes de frecuencia obtenidos en coeficientes de transformación cuantificados 123 (datos residuales) .
La unidad de cuantificación inversa y transformación inversa 105 cuantifica de manera inversa los
coeficientes de transformación cuantificados 123 en valores de coeficientes de frecuencia y transforma de manera inversa los valores de coeficientes de frecuencia obtenidos en una señal residual decodificada 125.
La unidad de adición 106 agrega la señal residual
125 a la señal de predicción de imagen 129 y envía una señal de imagen decodificada 126.
La unidad de intra-predicción 107 realiza una intra-predicción utilizando la señal de imagen decodificada 126 para generar una señal de predicción de imagen 127. La unidad de inter-predicción 108 realiza una inter-predicción utilizando la señal de imagen decodificada 126 para generar una señal de predicción de imagen 128.
El conmutador 109 selecciona una de la señal de predicción de imagen 127 y la señal de predicción de imagen 128 y envía la señal seleccionada como la señal de predicción de imagen 129.
La unidad de codificación de longitud variable 104 codifica, utilizando la CABAC, los coeficientes de transformación cuantificados 123 y el parámetro de control 130 para cada bloque de entrada para generar la corriente de bits 124.
Después, se describirá la configuración de la unidad de codificación de longitud variable 104.
La FIGURA 2 es un diagrama de bloques funcional de la unidad de codificación de longitud variable 104. La unidad
de codificación de longitud variable 104 incluye una unidad de binarización 141, una unidad de control de contexto 142 y una unidad de codificación aritmética binaria 143. Lo siguiente describe el proceso de codificación de longitud variable en el parámetro de control 130. Aunque la descripción acerca del proceso de codificación de longitud variable en los coeficientes de transformación cuantificados 123 se omite, el proceso se puede implementar, por ejemplo, utilizando una técnica conocida.
La unidad de binarización 141 binariza el parámetro de control 130 para generar una secuencia binaria 151. Más específicamente, la unidad de binarización 141 es una unidad de procesamiento que realiza "II.1) procesamiento de binarización" de acuerdo con la NPL 1. La unidad de binarización 141 transforma el parámetro de control 130 en la secuencia binaria 151 referida como "serie binaria" para cada tipo de señal, de acuerdo con un método de binarización predeterminado. La correspondencia entre los tipos de señal y los métodos de binarización se describirá posteriormente. Cuando el parámetro de control de entrada 130 es un valor binario, tal como un indicador, la unidad de binarización 141 envía el parámetro de control 130 como la secuencia binaria 151 como está.
La unidad de control de contexto 142 determina un contexto para el uso en la codificación aritmética del parámetro de control 130 incluido en un bloque actual, de
entre una pluralidad de contextos (una tabla de estado de probabilidad) . Adicionalmente , la unidad de control de contexto 142 envía un índice de contexto 152 que especifica el contexto determinado a la unidad de codificación aritmética binaria 143.
Más específicamente, la unidad de control de contexto 142 es una unidad de procesamiento que realiza "2) modelado de contexto" de acuerdo con la NPL 1. La unidad de control de contexto 142 recibe secuencialmente una pluralidad de elementos incluidos en la secuencia binaria 151 enviados de la unidad de codificación aritmética binaria 143. La unidad de control de contexto 142 selecciona uno de los contextos que se utilizan para el valor binario del parámetro de control 130, de acuerdo con el tipo de señal del parámetro de control 130 y una posición de elemento del valor binario en la secuencia binaria 151 y envía, a la unidad de codificación aritmética binaria 143, el índice de contexto 152 que es un índice que indica el contexto seleccionado.
Adicionalmente, la unidad de control de contexto 142 mantiene la tabla de valores de estado de probabilidad (valores de índices de contexto) obtenidos al dividir los elementos en la secuencia binaria del parámetro de control 130 en condiciones de probabilidades condicionales, como estados del contexto, e inicializa y actualiza la tabla de estado de probabilidad.
Adicionalmente , la unidad de control de contexto 142 mantiene un estado (índice de estado de probabilidad) para cada condición de ocurrencia X (para cada contexto) , como una división adicional de un tipo de señal (para cada número de elemento en la secuencia binaria del parámetro de control 130 cuando el número de elementos en la secuencia binaria es dos o más; lo mismo tendrá aplicación posteriormente) . El estado es representado por el valor total de 7 bits al combinar la probabilidad de ocurrencia P (relación interna, típicamente, un valor de 6 bits) que es la probabilidad más baja de uno de dos valores 0 y 1 y un valor de 1 bit que indica cual de los valores tiene la probabilidad más alta. Adicionalmente, mantener un estado significa inicializar y actualizar el estado. Por ejemplo, actualizar corresponde a cambiar la indización que indica un estado de probabilidad actual (es decir, una probabilidad) como una transición entre 64 estados finitos como en H.264.
Cuando ocurre un evento X en el lado más probable que tiene la probabilidad más alta entre los dos valores, una relación de la probabilidad en el lado más probable se incrementa ligeramente. Por ejemplo, la unidad de control de contexto 142 puede incrementar ligeramente la relación de la probabilidad en el lado más probable al incrementar o disminuir, por 1, el valor del índice de estado de probabilidad que corresponde a 64 tablas. Por otra parte,
cuando ocurre un evento Not-X que tiene la probabilidad más baja (contra la probabilidad predicha) , la unidad de control de contexto 142 disminuye en gran medida la relación de la probabilidad más posible mantenida con base en un coeficiente de escala predeterminado (por ejemplo, = 0.95) (véase la FIGURA 6 en la NPL 1) . La unidad de control de contexto 142 de acuerdo con la Modalidad 1 hace una transición y mantiene un estado, con base en un valor de cambio de índice de tabla correspondiente con el fin de ser asociado con el cambio en la consideración de a como en H.264.
La unidad de codificación aritmética binaria 143 realiza una codificación aritmética en la secuencia binaria 151 utilizando el contexto determinado por la unidad de control de contexto 142 para generar la corriente de bits 124 (secuencia de bits) .
Más específicamente, la unidad de codificación aritmética binaria 143 es una unidad de procesamiento que realiza "3) codificación aritmética binaria" de acuerdo con la NPL 1. La unidad de codificación aritmética binaria 143 realiza una codificación aritmética en l,a secuencia binaria 151 utilizando el contexto especificado por el índice de contexto 152 para generar la corriente de bits 124. En este documento, la codificación aritmética es para manejar eventos que ocurren para los parámetros de control 130 de varios tipos de señal como una suma acumulativa de probabilidades y
determinar correspondencias entre los eventos al reducir el rango a un rango predeterminado en una línea de número.
En primer lugar, la unidad de codificación aritmética binaria 143 divide la línea de número uno en dos medias secciones, de acuerdo con las probabilidades de ocurrencia de dos posibles valores del valor binario proporcionado de la unidad de control de contexto 142. Cuando el valor actual que ocurre para el valor binario (por ejemplo, 0) es un valor con una probabilidad más alta (que excede 0.5 (por ejemplo, 0.75)), la unidad de codificación aritmética binaria 143 mantiene el límite más bajo "Bajo" en el rango en la línea de número sin cambio y establece un valor que corresponde a un resultado de la multiplicación de una vez un coeficiente de escala 0.95 por la probabilidad de 0.75 esta vez, a un nuevo rango. Por otra parte, cuando el valor binario generado realmente es un valor predicho con una probabilidad más baja, la unidad de codificación aritmética binaria 143 cambia el límite más bajo "Bajo" por la probabilidad más alta y cambia el rango de acuerdo con la probabilidad más baja. Las secciones se mantienen de acuerdo con una suma acumulativa de resultados de multiplicaciones de los rangos de probabilidad. Cuando sucesivamente ocurre un valor con una probabilidad más baja, la precisión de la longitud del rango pronto se vuelve más baja que la precisión que puede ser asegurada por un cálculo. En este documento, la
unidad de codificación aritmética binaria 143 agranda (normaliza de nuevo) el rango para mantener la precisión y envía la secuencia de bits que indica el rango actual . Por el contrario, cuando sucesivamente ocurre un valor con una probabilidad más alta (0.95, etcétera), los valores de probabilidad pueden llevar un número de cálculos (transiciones de estado en el caso de una implementación por una tabla) hasta que la longitud del rango se vuelva más corta que una longitud predeterminada incluso con la multiplicación de los valores. De esta manera, el número de símbolos que se pueden acumular hasta que el bit es enviado es grande.
La FIGURA 3 es una tabla en la cual los parámetros de control 130 cada uno que utiliza un modelo de contexto con base en un valor del parámetro de control 130 de un bloque adyacente se clasifican.
El significado de cada columna se describirá desde la izquierda de la tabla.
(c2) El tipo de señal (elemento de sintaxis) indica un nombre específico de un tipo de señal del parámetro de control 130. El significado de cada uno de los tipos de señal se describirá posteriormente.
(c3) El esquema de binarización indica un esquema de binarización que se aplica al parámetro de control 130 (SE) especificado en la columna inmediatamente a la
izquierda. La unidad de binarización 141 realiza el proceso de binarización. En la columna "Longitud fija" significa que la unidad de binarización 141 envía el valor del parámetro de control 130 en la sección inmediatamente a la izquierda como una secuencia binaria (serie binaria) de una longitud fija. En la HEVC, un tipo de señal del parámetro de control 130 cuyo nombre termina con "indicador" es un valor binario de ya sea 0 o 1. De esta manera, la unidad de binarización 141 envía solo el primer elemento (binldx = 0) como el elemento de la secuencia binaria 151 y no envía los elementos después del segundo elemento (binldx > = 1) . En otras palabras, la unidad de binarización 141 envía el valor del parámetro de control 130 como la secuencia binaria 151 como está.
Adicionalmente, "Longitud variable" en la columna significa que la unidad de binarización 141 mapea, en una secuencia binaria, el valor del parámetro de control 130 utilizando secuencias binarias con longitudes variables respectivas cuyos valores se asocian para tener longitudes binarias en orden ascendente de las frecuencias de ocurrencia (serie binaria o secuencias binarias cada una con el número de elementos > 1) y envía la secuencia binaria. Por ejemplo, la unidad de binarización 141 emplea y envía un esquema de acuerdo con el tipo de señal, tal como un esquema unario (truncado) y una combinación del esquema unario y otros esquemas Golomb exponenciales (véase "A. Binarización" de la
NPL 1) . En el caso de la "Longitud variable", el número de elementos de la secuencia binaria 151 se limita algunas veces a 1 o es igual a o mayor que 2. Una unidad de binarización inversa en un aparato de decodificación de imágenes que se describe posteriormente realiza la transformación inversa al esquema de binarización para decodificar la secuencia binaria de entrada en un valor múltiple o un valor de indicador.
Con respecto al (c4) Indice de contexto del primer elemento (binldx = 0) , la unidad de control de contexto 142 indica la elección de un índice de contexto (incremento) que se aplica al primer elemento incluido en una secuencia binaria generada de acuerdo con el esquema de binarización especificado en la columna de c3. En la columna, "0, 1, 2" indica que la unidad de control de contexto 142 selecciona y aplica una de tres tablas de estado de probabilidad (contextos) . Por ejemplo, tres índices de contexto con condiciones detalladas se preparan para el tipo de señal uno "skip_flag", es decir, se preparan tres contextos y la codificación aritmética se realiza en los índices de contexto.
Similarmente , "0, 1, 2, 3" en la columna c4 indica que el contexto que se aplica al primer elemento (binldx = 0) incluido en la secuencia binaria 151 se selecciona de entre uno de cuatro valores, ya sea 0, 1, 2 o 3. La secuencia binaria 151 se obtiene al mapear, en una secuencia binaria,
el valor del parámetro de control 130 del tipo de señal especificado en la columna de c2, de acuerdo con el esquema de binarización en la columna de c3. Las expresiones condicionales en la columna se describirán posteriormente.
Con respecto a la (c5) Condición de bloque izquierdo L (condL) , la unidad de control de contexto 142 indica la condición de bloque izquierdo para seleccionar uno de 0, 1 y 2 en la columna c . La condición de bloque izquierdo L tiene un valor verdadero o falso determinado de acuerdo con el valor del parámetro de control del bloque izquierdo que corresponde al parámetro de control que es codificado (o que es decodificado) .
Por ejemplo, en el caso donde el parámetro de control (SE) es skip_flag, la condición de bloque izquierdo L tiene el valor verdadero cuando skip_flag [xL] [yL] indica verdadero (por ejemplo, 1) y tiene el valor falso cuando indica falso (por ejemplo, 0) .
Con respecto a la (c6) Condición de bloque superior A, la unidad de control de contexto 142 indica la condición de bloque superior para seleccionar uno de 0 , 1 y 2 en los elementos de codificación o decodificación de una secuencia especificada en la columna c4. La condición de bloque superior A tiene un valor verdadero o falso determinado de acuerdo con el valor del parámetro de control del bloque superior que corresponde al parámetro de control que es
codificado (o que es decodificado) . Por ejemplo, en el caso donde el parámetro de control (SE) es skip_flag, la condición de bloque superior A tiene el valor verdadero cuando skip_flag [xA] [yA] indica verdadero (por ejemplo, 1) y tiene el valor falso cuando indica falso (por ejemplo, 0) .
Aunque no se ilustra, el tipo de señal de más de dos bits se asocia con "(c7) El incremento de contexto que se aplica a binldx > = 1" . Este (c7) indica el modelo de contexto aplicado por la unidad de control de contexto 142 a un valor binario después del segundo elemento en la secuencia binaria (valor binario de un elemento de secuencia binaria que incluye un valor de índice de binldx > = 1) .
En el método de codificación de la Modalidad 1, las siguientes operaciones se conmutan de acuerdo con el tipo de señal del parámetro de control 130 para la condición de bloque izquierdo L y la condición de bloque superior A (operados utilizando diferentes patrones) :
(Patrón 1) Utilizando dos bloques adyacentes (un valor de determinación de la condición de bloque izquierdo L y un valor de determinación de la condición de bloque superior A) ;
(Patrón 2) Utilizando un bloque adyacente (solo un valor de determinación de la condición de bloque izquierdo L) ; y
(Patrón 3) Utilizando cero bloques adyacentes (no utilizando un valor de determinación de la condición de
bloque izquierdo L ni un valor de determinación de la condición de bloque superior A) .
La FIGURA 4 es un diagrama de flujo que indica un método de codificación de imágenes de acuerdo con la Modalidad 1 que es realizado por la unidad de codificación de longitud variable 104 mostrada en la FIGURA 2.
En primer lugar, la unidad de binarización 141 mapea el valor del parámetro de control 130 en una secuencia binaria de acuerdo con un esquema que corresponde al tipo de señal del parámetro de control 130 (S101) .
Después, la unidad de control de contexto 142 obtiene un valor básico de un contexto para el uso en una codificación aritmética del parámetro de control 130 (S102) . Por ejemplo, la unidad de control de contexto 142 determina el valor básico de acuerdo con el tipo de imagen (I, P o B) .
Después, la unidad de control de contexto 142 determina un valor de contexto utilizando uno de los patrones 1 a 3, con base en el tipo de señal del parámetro de control 130 (S103) . En este documento, la determinación de un valor de contexto es equivalente a la determinación de un valor de ajuste (valor de incremento Ctxldxlnc) para el valor básico del contexto.
En primer lugar, la unidad de control de contexto 142 determina el tipo de señal del parámetro de control 130 (S103) . Cuando el tipo de señal del parámetro de control 130 es el primer tipo que corresponde al patrón 1 (el primer tipo
en S104) , la unidad de control de contexto 142 determina un valor de contexto utilizando un valor de determinación deducido a partir de valores de parámetros de control de dos bloques adyacentes (bloque A y bloque B) (S105) . En otras palabras, la unidad de control de contexto 142 determina un contexto bajo una condición de que se utilicen los parámetros de control de los dos bloques adyacentes del bloque izquierdo y el bloque superior. En este documento, la unidad de control de contexto 142 utiliza tanto un resultado de la determinación de (c5) condL como un resultado de la determinación de (c6) condA en la FIGURA 3. Por consiguiente, los datos de una hilera de imágenes se mantienen para los parámetros de control del primer tipo.
Por otra parte, cuando el tipo de señal del parámetro de control 130 es el segundo tipo que corresponde al patrón 2 (el segundo tipo en S104) , la unidad de control de contexto 142 determina un valor de contexto utilizando un valor de un parámetro de control de un bloque adyacente (un bloque inmediatamente adyacente en el orden de codificación) (S106) . En otras palabras, la unidad de control de contexto 142 determina el valor de contexto bajo una condición de que no se utilice el parámetro de control del bloque superior.
Por otra parte, cuando el tipo de señal del parámetro de control 130 es el tercer tipo que corresponde al patrón 3 (el tercer tipo en S104), la unidad de control de
contexto 142 determina fijamente un valor de contexto sin utilizar los parámetros de control tanto del bloque superior como del bloque izquierdo (S107) .
Después, la unidad de control de contexto 142 agrega el incremento determinado en el Paso S103 al valor básico del índice de contexto determinado en el Paso S102 para determinar un valor de índice de contexto (S108) .
Finalmente, la unidad de codificación aritmética binaria 143 realiza una codificación aritmética en el valor binario del primer elemento utilizando el valor de contexto especificado por el valor de índice de contexto determinado en el Paso S108 para generar la secuencia de bits (corriente de bits 124) (S109) .
Después, cuando los procesos de los Pasos S102 a S109 no se ejecutan en todos los elementos incluidos en la secuencia binaria (No en S110) , la unidad de codificación de longitud variable 104 realiza los procesos de los Pasos S102 a S109 en el siguiente elemento incluido en la secuencia binaria. Por otra parte, cuando los procesos de los Pasos S102 a S109 se completan en todos los elementos incluidos en la secuencia binaria (Si en S110) , la unidad de codificación de longitud variable 104 termina el procesamiento de codificación en el parámetro de control del bloque actual.
Como se describiera anteriormente, el aparato de codificación de imágenes 100 de acuerdo con la Modalidad 1
determina un contexto utilizando el bloque superior en la realización de una codificación aritmética en el parámetro de control del primer tipo y determina un contexto sin utilizar el bloque superior para los parámetros de control del segundo y tercer tipo.
En comparación con el caso donde el bloque izquierdo y el bloque superior se utilizan como "utilizando uniformemente un modelo de contexto con base en valores de parámetros de control de bloques adyacentes", el aparato de codificación de imágenes 100 puede reducir el uso de memoria con la configuración. De esta manera, el aparato de codificación de imágenes 100 puede suprimir el deterioro en la calidad de imagen y reduce el uso de memoria.
Modalidad 2
La Modalidad 2 describirá un aparato de decodificación de imágenes que decodifica la corriente de bits 124 generada por el aparato de codificación de imágenes 100.
La FIGURA 5 es un diagrama de bloques que ilustra un aparato de decodificación de imágenes 200 de acuerdo con la Modalidad 2. El aparato de decodificación de imágenes 200 es un aparato de decodificación de imágenes que utiliza una decodificación aritmética y decodifica la corriente de bits 124 para generar una señal de imagen 229. En este documento, la corriente de bits 124 es, por ejemplo, generada por el aparato de codificación de imágenes 100.
El aparato de decodificación de imágenes 200 incluye una unidad de control 201, unidad de decodificación de longitud variable 202, unidad de cuantificación inversa 204, unidad de transformación inversa 205, unidad de adición 206, unidad de intra-predicción 207 y unidad de inter-predicción 208.
El aparato de decodificación de imágenes 200 realiza un proceso de decodificación para cada corriente de bits de una unidad de procesamiento predeterminada. La unidad de procesamiento es, por ejemplo, una unidad de corte o una unidad de bloque .
La unidad de decodificación de longitud variable 202 realiza una decodificación aritmética en la corriente de bits 124 para generar un parámetro de control 230 (elemento de sintaxis de datos de control) y coeficientes de transformación cuantificados 223 (valores de elementos de sintaxis de datos residuales) . La unidad de control 201 recibe el parámetro de control generado 230.
La unidad de control 201 controla cada una de las unidades de procesamiento incluidas en el aparato de decodificación de imágenes 200, de acuerdo con el parámetro de control 230.
La unidad de cuantificación inversa 204 cuantifica de manera inversa los coeficientes de transformación cuantificados 223 en coeficientes de transformación ortogonales 224.
La unidad de transformación inversa 205 transforma de manera inversa los coeficientes de transformación ortogonal 224 para decodificar una señal residual 225. La unidad de adición 206 agrega la señal residual 225 a una señal de predicción de imagen (señal de imagen 229) para generar una señal de imagen decodificada 226.
La unidad de intra-predicción 207 realiza una intra-predicción utilizando la señal de imagen decodificada 226 para generar una señal de predicción de imagen 227. La unidad de inter-predicción 208 realiza una inter-predicción utilizando la señal de imagen decodificada 226 para generar una señal de predicción de imagen 228.
El conmutador 209 selecciona una de la señal de predicción de imagen 227 y la señal de predicción de imagen 228 y envía la señal seleccionada como la señal de imagen 229 (señal de predicción de imagen) .
Después, se describirá la configuración de la unidad de decodificación de longitud variable 202.
La FIGURA 6 es un diagrama de bloques funcional que ilustra una configuración de la unidad de decodificación de longitud variable 202. La unidad de decodificación de longitud variable 202 incluye una unidad de decodificación aritmética binaria 243, una unidad de control de contexto 242 y una unidad de binarización inversa 241. Lo siguiente describe el proceso de decodificación de longitud variable en
el parámetro de control 230. Aunque la descripción acerca del proceso de decodificación de longitud variable en los coeficientes de transformación cuantificados 223 se omite, el proceso se puede implementar, por ejemplo, utilizando una técnica conocida.
La unidad de control de contexto 242 determina un contexto para el uso en una decodificación aritmética del parámetro de control 230 del bloque actual, de entre una pluralidad de contextos. Adicionalmente , la unidad de control de contexto 242 envía un índice de contexto 252 que especifica el contexto determinado a la unidad de decodificación aritmética binaria 243.
Más específicamente, la unidad de control de contexto 242 utiliza el mismo modelo de contexto que aquel de la unidad de control de contexto 142 mostrada en la FIGURA 2 como un modelo de transición de probabilidad mantenido. Cuando la unidad de codificación aritmética 143 utiliza 64 estados de probabilidad, la unidad de decodificación aritmética binaria 243 también mantiene los 64 estados de probabilidad. Esto es debido a que tanto el codificador como el decodificador necesitan interpretar un rango de la línea de número que se codifica exactamente de la misma manera. De esta manera, el decodificador utiliza el mismo patrón que el patrón seleccionado por el codificador de entre los tres patrones 1 a 3.
La unidad de decodificación aritmética 243 realiza una decodificación aritmética en la secuencia de bits (corriente de bits 124) utilizando el contexto determinado por la unidad de control de contexto 242 para decodificar la secuencia binaria 251. Más específicamente, la unidad de decodificación aritmética 243 decodifica la secuencia de bits de entrada en la secuencia binaria 251, de acuerdo con el contexto (tabla de estados de probabilidad) especificado por el índice de contexto proporcionado de la unidad de control de contexto 242.
La unidad de binarización inversa 241 decodifica la secuencia binaria 251 en un parámetro de control 230 si es necesario a través del proceso de binarización inversa. Como tal, la unidad de control de contexto 142 incluida en el aparato de codificación de imágenes 100 y la unidad de control de contexto 242 incluida en el aparato de decodificación de imágenes 200 utilizan el mismo modelo de contexto en tanto la codificación aritmética como la decodificación aritmética de un parámetro de control de un cierto tipo de señal.
La FIGURA 7 es un diagrama de flujo que indica un método de decodificación de imágenes de acuerdo con la Modalidad 2 que es realizado por la unidad de decodificación de longitud variable 202.
En primer lugar, la unidad de decodificación de
longitud variable 202 obtiene la corriente de bits 124 (S201) .
Después, la unidad de control de contexto 242 determina un tipo de señal de un parámetro de control que se decodifica, de acuerdo con la estructura de datos de la corriente de bits 124 (S202) .
Después, la unidad de control de contexto 242 determina un valor básico de un contexto para el uso en una decodificación aritmética del parámetro de control que es decodificado (S203). Por ejemplo, la unidad de control de contexto 242 determina el valor básico de acuerdo con el tipo de imagen (I, P o B) .
Después, la unidad de control de contexto 242 determina un valor de contéxto utilizando uno de los patrones 1 a 3, con base en el tipo de señal del parámetro de control (S204) . En este documento, la determinación de un valor de contexto es equivalente a la determinación de un valor de ajuste (valor de incremento Ctxldxlnc) para el valor básico del contexto. Por ejemplo, la unidad de control de contexto 242 determina estáticamente uno de los patrones 1 a 3 con base en el tipo de señal del parámetro de control al seguir una tabla predeterminada.
La unidad de control de contexto 242 conmuta entre bloques adyacentes para el uso en la determinación de un contexto para obtener un valor binario del primer elemento
incluido en la secuencia binaria 251 utilizando la decodificación aritmética, de acuerdo con el tipo de señal del parámetro de control .
En primer lugar, la unidad de control de contexto 242 determina el tipo de señal del parámetro de control 230 (S205) . Cuando el tipo de señal es el primer tipo que corresponde al patrón 1 (el primer tipo en S205) , la unidad de control de contexto 242 determina un valor de contexto utilizando parámetros de control de dos bloques adyacentes (S206) . En otras palabras, la unidad de control de contexto 242 determina el valor de contexto bajo una condición de que se utilicen los parámetros de control decodificados de los dos bloques adyacentes del bloque izquierdo y el bloque superior .
Por otra parte, cuando el tipo de señal es el segundo tipo que corresponde al patrón 2 (el segundo tipo en S205) , la unidad de control de contexto 242 determina un valor de contexto utilizando un valor de un parámetro de control de un bloque adyacente (un bloque inmediatamente adyacente en el orden de codificación) (S207) . En otras palabras, la unidad de control de contexto 242 determina el valor de contexto bajo una condición de que no se utilice el parámetro de control decodificado del bloque superior.
Por otra parte, cuando el tipo de señal es el tercer tipo que corresponde al patrón 3 (el tercer tipo en
S205) , la unidad de control de contexto 242 determina fijamente un valor de contexto (S208) . En otras palabras, la unidad de control de contexto 242 determina el valor de contexto bajo una condición de que no se utilicen los parámetros de control decodificados del bloque superior y el bloque izquierdo.
Después, la unidad de control de contexto 242 agrega el incremento determinado en el Paso S204 al valor básico del índice de contexto determinado en el Paso S203 para determinar un valor de índice de contexto (S209) .
Después, la unidad de decodificación aritmética binaria 243 determina uno de los elementos de la secuencia binaria a través de una decodificación utilizando el valor de contexto indicado por el valor de índice de contexto proporcionado de la unidad de control de contexto 242 (S210) .
Después, cuando los procesos de los Pasos S203 a S210 no se ejecutan en todos los elementos incluidos en la secuencia binaria (No en S211) , la unidad de decodificación de longitud variable 202 realiza los procesos de los Pasos S203 a S210 en el siguiente elemento incluido en la secuencia binaria .
Por otra parte, cuando los procesos de los Pasos S203 a S210 se completan en todos los elementos incluidos en la secuencia binaria (Si en S211) , la unidad de binarización inversa 241 cambia uno o más de los elementos de la secuencia
binaria 251 obtenidos al repetir los procesos de los Pasos S203 a S210 más de una vez para generar el parámetro de control 230 (S212) .
Como se describiera anteriormente, el aparato de decodificación de imágenes 200 de acuerdo con la Modalidad 2 determina un contexto utilizando el bloque superior en la realización de una decodificación aritmética en el parámetro de control del primer tipo y determina un contexto sin utilizar el bloque superior para los parámetros de control del segundo y tercer tipo.
En comparación con el caso donde el bloque izquierdo y el bloque superior se utilizan como "utilizando uniformemente un modelo de contexto con base en valores de parámetros de control de bloques adyacentes" , el aparato de decodificación de imágenes 200 puede reducir el uso de memoria con la configuración. De esta manera, el aparato de decodificación de imágenes 200 puede suprimir el deterioro en la calidad de imagen y puede reducir el uso de memoria.
Por ejemplo, cuando la secuencia binaria 251 es un indicador y tiene solo un elemento, es decir, la secuencia binaria 251 está compuesta de 1 valor binario, la unidad de binarización inversa 241 puede enviar la secuencia binaria 251 como está.
Además de la descripción anterior, la unidad de control 101 o 201 puede controlar cada una de las unidades de
procesamiento o puede hacer referencia a un valor de una memoria, a través de una línea de señal que no se ilustra.
Aunque la unidad de control de contexto 142 o 242 conmuta entre los tres patrones 1 a 3 de acuerdo con un tipo de señal de un parámetro de control en la descripción anterior, puede conmutar entre dos de los patrones 1 a 3 de acuerdo con el tipo de señal. En otras palabras, la unidad de control de contexto 142 o 242 puede conmutar entre utilizar y no utilizar la condición de bloque superior, de acuerdo con un tipo de señal de un parámetro de control.
Adicionalmente , la unidad de control de contexto 142 o 242 puede cambiar un método para conmutar entre los modelos de contexto seleccionados de esta manera (que incluyen un caso donde el incremento de modelo de contexto se cambia; lo mismo tendrá aplicación posteriormente) de acuerdo con información de imagen predeterminada. Por ejemplo, la unidad de control de contexto 142 o 242 puede conmutar además la política de conmutación misma, de acuerdo con la cantidad de memoria o el tamaño de la anchura horizontal o un formato de muestreo de una imagen que afecta al número de entrenamientos de cada contexto.
Aunque la unidad de control de contexto 142 o 242 conmuta entre utilizar y no utilizar la condición de bloque superior como la descripción simplificada, la unidad de control de contexto 142 o 242 puede combinar un caso donde el
bloque superior no está disponible para la conmutación y puede aplicar el caso combinado. Por ejemplo, la unidad de control de contexto 142 o 242 puede cambiar la política de conmutación misma, de acuerdo a si un corte que es procesado es o no un corte entrópico (entropy_slice_flag indica 1 o 0) . Similarmente, cuando la disponibilidad del bloque adyacente superior no se puede asegurar, la unidad de control de contexto 142 o 242 puede cambiar la política de conmutación para no utilizar el bloque superior.
Por ejemplo, como se ilustra en la FIGURA 8, la unidad de control de contexto 142 o 242 puede conmutar la política de determinación del modelo de contexto entre el primer criterio de determinación (S302) y el segundo criterio de determinación (S303) , de acuerdo con un valor de un parámetro de una unidad predeterminada. En este documento, "de acuerdo con un valor de un parámetro de una unidad predeterminada" significa de acuerdo a si un corte es o no un corte entrópico como se describiera anteriormente. Adicionalmente , el primer criterio de determinación es un criterio basado en cual de los procesos mostrados en la FIGURA 7 se realiza. El segundo criterio de determinación es un criterio que excluye el Paso S204 mostrado en la FIGURA 7, ¦ y es, por ejemplo, un criterio convencional. Esto es equivalente a la determinación del incremento de índice de contexto, utilizando un parámetro de una unidad local
predeterminada y un valor de un parámetro de una unidad mayor que la unidad local predeterminada.
En otras palabras, la unidad de control de contexto
142 o 242 puede conmutar de un criterio de determinación que se aplica a una unidad más pequeña que la primera unidad, a otro criterio de determinación con base en un valor de un parámetro de control de la primera unidad.
La FIGURA 9A ilustra la información de mapeo y la cesión (asignación) de índices de contexto. La FIGURA 9A indica un ejemplo de una señal mvd_l0 , 11 , le . Lo mismo tiene aplicación en los otros tipos de señal.
La cesión 901B en la FIGURA 9A es una cesión de índices de contexto utilizados en la NPL 1. Los 14 valores de compensación de 0 a 13 son cedidos a las imágenes P. Adicionalmente , 14 valores de compensación de 14 a 27 son cedidos a las imágenes B. En este documento, cada uno de mvd_l0 [ ] [ ] [0] y mvd_l0 [ ] [ ] [1] es un valor de componente (direcciones horizontal y vertical) de una diferencia entre vectores. En la HEVC que actualmente es objeto de estudio, tres valores de compensación 0 a 2, tres valores de compensación 7 a 9, tres valores de compensación 14 a 16 y tres valores de compensación 21 a 23 se asignan como valores condicionales de contexto (condiciones que son detalladas de acuerdo con condA y condL) para calcular un valor binario del primer elemento (binldx = 0) de una secuencia binaria.
Adicionalmente , la relación entre los tipos de señal y los índices de contexto se fija independientemente de varias secuencias de imágenes.
Cada una de las cesiones 902B a 904B de índices de contexto en la FIGURA 9A es una cesión de índices de contexto de acuerdo con la Modalidad 2.
La cesión 902B indica la cesión de índices de contexto cuando se utiliza el patrón 2 (sin utilizar el bloque superior) . En este documento, no es necesario ceder los tres índices de contexto de 0 a 2 y otros como valores condicionales, sino que dos índices de contexto de 0 a 1 son suficientes. Esto es debido a que la condA no se utiliza. De esta manera, no hay necesidad de ceder los índices de contexto a las porciones sombreadas en la FIGURA 9A. De esta manera, incluso cuando cuatro índices de contexto son cedidos de la misma manera que un binldx > 0 como la cesión 901B, 24 índices de contexto de 0 a 23 son suficientes en total. De esta manera, por lo menos cuatro contextos se pueden reducir.
La cesión 903B indica la cesión de índices de contexto cuando se utiliza el patrón 3 (no utilizando el bloque superior ni el bloque izquierdo) . En este documento, no hay necesidad de ceder los tres índices de contexto de 0 a 2 y otros como valores condicionales, sino que solo un índice de contexto 0 es suficiente. Esto es debido a que no se utiliza condA ni condL. De esta manera, no hay necesidad de
ceder los índices de contexto a las porciones sombreadas en la FIGURA 9A. De esta manera, 20 índices de contexto de 0 a 19 son suficientes en total. De esta manera, por lo menos ocho contextos se pueden reducir.
La cesión 904B indica un ejemplo de la cesión de índices de contexto cuando se construye una secuencia de imágenes sin incluir ninguna imagen B o cuando solo se utiliza una referencia hacia adelante como una unidad más grande que una unidad de un bloque del tipo de señal. En este documento "cuando solo se utiliza una referencia hacia adelante" significa un caso donde una secuencia de imagen incluye solo imágenes-I e imágenes-P o un caso donde solo se utiliza una referencia hacia adelante para imágenes-B incluidas en la secuencia de imágenes. En este caso, el índice de contexto para imágenes-B no tiene que utilizarse en primer lugar. Esto es debido a que no hay necesidad de distinguir un contexto para imágenes-P de un contexto para imágenes-B cuando solo se utiliza una referencia hacia adelante.
De esta manera, 10 índices de contexto (valores relativos) de 0 a 9 son suficientes como se ilustra en la FIGURA 9A. De esta manera, por lo menos 18 contextos se pueden reducir. En otras palabras, el número de contextos que se inicializan o actualizan se reduce.
Aunque mvd se describe como un ejemplo en este documento, el mismo se mantiene verdadero para la asignación
de contextos para los otros tipos de señal en los cuales se utiliza el contexto para imágenes-B y el contexto para imágenes-P .
La conmutación del criterio descrito para la FIGURA 8 puede implicar la conmutación de una de las cesiones 901B a 904B que se utilizan, de acuerdo con el tipo de parámetro para la totalidad de o una parte de la secuencia de imágenes (unidad predeterminada) .
De acuerdo con la Modalidad 2, los índices de contexto asignados de acuerdo con un criterio estático (utilizando los bloques superior e izquierdo) como se utiliza convencionalmente se pueden cambiar de acuerdo con los criterios. De esta manera, además de la reducción en el uso de memoria, la política de la cesión de los contextos se puede conmutar de acuerdo con las características de la unidad predeterminada como sea necesario.
Adicionalmente , la unidad de control de contexto 142 o 242 puede cambiar el criterio de determinación que se utiliza, de acuerdo con las características de un sistema de imagen. Por ejemplo, la unidad de control de contexto 142 o 242 puede cambiar el criterio de determinación' que se utiliza, de acuerdo con intervalos de imágenes-I (valores de establecimiento de IntraPeriod) .
Aunque la unidad de control de contexto 142 o 242 conmuta entre los criterios de determinación de acuerdo con
las condiciones anteriores, puede conmutar si se utiliza o no el bloque superior.
Adicionalmente , la unidad de control de contexto 142 o 242 puede determinar si un parámetro de control del bloque superior se utiliza o no, de acuerdo a si el parámetro de control del bloque superior está disponible o no en la codificación o decodificación con base en una posición del parámetro de control. En otras palabras, la unidad de control de contexto 142 o 242 puede determinar si el parámetro de control del bloque superior está disponible o no en la decodificación, con base en una posición del bloque actual, y puede determinar un contexto utilizando uno de los patrones 2 y 3 cuando el parámetro de control del bloque superior no está disponible. Adicionalmente, la unidad de control de contexto 142 o 242 puede determinar si un valor de referencia del bloque superior está disponible o no con base en una estructura arborescente para la partición de bloques de TU, CU o PU. En otras palabras, la unidad de control de contexto 142 o 242 puede determinar si el parámetro de control del bloque superior está disponible o no en la decodificación, de acuerdo a la profundidad jerárquica de una unidad de datos a la cual pertenecen cada uno de los parámetros de control que son procesados.
La FIGURA 9B ilustra una relación entre una imagen, cortes y bloques de acuerdo con el estándar de HEVC . Una
imagen se particiona en uno o más cortes. En el ejemplo de la FIGURA 9, la imagen se particiona en dos cortes (CORTE 1 y CORTE 2) . Uno de los cortes incluye los bloques 301 (por ejemplo, bloques arborescentes) . En este documento, el bloque 301 es la unidad más grande como una cierta unidad de control cuando un corte se particiona en un tamaño predeterminado y tiene un tamaño de una raíz cuando la unidad está en la raíz en la estructura particionada jerárquicamente.
En el ejemplo de la FIGURA 9B, CORTE 2 inicia desde un bloque 301A y está compuesto de una secuencia que incluye bloques hasta la esquina derecha de fondo de la imagen a través de los bloques sombreados 301B y 301C. Uno de los bloques sombreados en la FIGURA 9B es un bloque (Bloque arborescente) que es procesado actualmente.
Cada uno de los bloques 301 incluye N x pixeles.
Uno de los bloques 301 es particionado recursivamente en el interior (típicamente en cuatro) . En otras palabras, un Bloque arborescente compone conceptualmente un árbol cuádruple. En el bloque 301B mostrado en la FIGURA 9B, el bloque superior derecho obtenido al particionar el bloque sombreado 301B en cuatro se particiona recursivamente en cuatro bloques dos veces. En otras palabras, el bloque 301B incluye 10 unidades lógicas de la unidad cero superior izquierda a la novena unidad inferior derecha que se particionan con una cierta perspectiva.
En este documento, la perspectiva indica el concepto de una pluralidad de árboles que tienen diferentes profundidades con una raíz como punto base, tal como un árbol respecto a una unidad de codificación (CU, por sus siglas en inglés) y un árbol respecto a residual_data . En este documento, un valor de cada parámetro de control pertenece a uno de los nodos hoja.
En este documento, si un valor de un parámetro de control de un cierto tipo de señal incluido en un bloque superior está o no disponible realmente depende de un tipo de árbol al cual pertenece el parámetro de control . De esta manera, la unidad de control de contexto 142 o 242 puede cambiar un criterio de determinación de acuerdo con un tipo de árbol al cual pertenece el parámetro de control. Este cambio es equivalente al cambio a una unidad de sintaxis. Por ejemplo, la unidad de control de contexto 142 o 242 puede utilizar el patrón 2 o 3 en el cual el bloque superior no se utiliza para datos de un filtro adaptable con una estructura de datos tal como alf_param, mientras que puede utilizar la política de modelo de contexto (patrón 1) para las otras sintaxis como se utiliza convencionalmente. En otras palabras, el segundo tipo o el tercer tipo puede ser un parámetro de control que tiene una estructura de datos predeterminada. Adicionalmente , esto significa que el criterio de determinación se puede cambiar de acuerdo con el tipo de árbol de un bloque adyacente.
Adicionalmente , si el valor del parámetro de control se puede utilizar realmente o no o produce la ventaja de reducción del uso de memoria difiere dependiendo de una posición de un bloque en la relación jerárquica. En otras palabras, la unidad de control de contexto 142 o 242 puede conmutar entre utilizar o no utilizar el bloque superior, de acuerdo con una profundidad de un bloque y una posición jerárquica del bloque.
Por ejemplo, en la FIGURA 9B, los números 0 a 9 en el bloque 301B están en un orden de decodificación. En este caso, los parámetros de control de los bloques 1 y 2 están disponibles cuando el bloque 4 se codifica o decodifica.
Adicionalmente, con el propósito de reducir el uso de memoria, la unidad de control de contexto 142 o 242 puede seleccionar el patrón 1 utilizando el bloque superior, cuando el bloque no está a una profundidad 0 y la posición poseída es una del segundo elemento a los elementos subsecuentes en la partición vertical. En este documento, "profundidad" indica la profundidad de la raíz. En otras palabras, cuando un cierto bloque se define como block [xn] , [yO] [depth] , el criterio de determinación se puede cambiar de acuerdo a si el bloque actual satisface o no block [xn] [(yO) + 1] [depth] . En otras palabras, los bloques superiores se utilizan para los bloques 4 a 9 en la FIGURA 9B . Cuando el árbol se codifica o decodifica en el orden como se numeró (iniciando de 0 y
terminando en 9) , es claro que los bloques 4 a 9 pueden utilizar los parámetros de control incluidos en los bloques superiores. Adicionalmente , existe la ventaja de que esos bloques tengan solo datos mantenidos temporalmente. Adicionalmente, esto indica que el valor de contexto se determina de acuerdo con la posición 3D que incluye la profundidad además de las coordenadas x e y. En este documento, el valor de contexto se puede determinar de acuerdo con por lo menos una posición de entre las coordenadas x e y y una profundidad.
Además, un valor condicional de un bloque en la capa más alta se puede utilizar (seguir) como un valor condicional de un bloque en la capa más baja. Similarmente, un valor condicional de un bloque en la capa más baja se puede utilizar (seguir) como un valor condicional de un bloque en la capa más alta.
Como una extensión de esto, se puede utilizar el siguiente método, en lugar de mantener un valor para una hilera más baja en una base de unidad mínima completa (por ejemplo, 4 x 4) como se describe para la FIGURA 38. Por ejemplo, un valor condicional o un valor para deducir el valor condicional se mantienen en este método en una base de unidad más grande completa que la unidad mínima, tal como 32 x 32 o 64 x 64. En este método, el valor para la hilera más baja se calcula utilizando valores de dos bloques en la
hilera superior con una interpolación o división interior de un valor arriba del bloque actual, utilizando la relación de posición entre los dos bloques y el bloque actual. Por ejemplo en este método, los valores de muestra se mantienen para la hilera superior en una base de unidad completa más grande que la unidad mínima (por ejemplo, 4 4). Los valores de muestra para la hilera superior se deducen con una división interior, de acuerdo con una posición de un bloque (4 x 4 a 64 x 64, etcétera) en la hilera inferior. Aunque la cantidad de cálculo incrementa, el uso de memoria se puede reducir con esta estructura. Como tal, en comparación con el caso donde los valores de muestra se mantienen en una base de unidad mínima completa para el peor caso, el uso de memoria se puede reducir para la hilera superior en este método. Por ejemplo, cuando los valores de muestra se mantienen en una unidad completa de 32 x 32, el uso de memoria se reduce a un octavo de aquel cuando se utiliza la unidad mínima (4 x 4) .
Adicionalmente , por ejemplo, split_coding_unit_flag es un indicador que señala si un bloque es o no particionado en cuatro. El contexto para este indicador
(split_coding_unit_flag) se puede determinar de acuerdo con una profundidad jerárquica del bloque actual y al mantener el valor condicional condL para el bloque izquierdo, sin utilizar el valor condicional (condA) para el bloque superior. Adicionalmente, cuando un factor dominante de un
tipo de señal no es el bloque superior o el bloque izquierdo sino una profundidad, la unidad de control de contexto 142 o 242 puede utilizar la profundidad sola como una condición para determinar un contexto. En otras palabras, la unidad de control de contexto 142 o 242 puede determinar un contexto para los otros tipos de señal utilizando una profundidad, sin hacer referencia al bloque superior y al bloque izquierdo.
Adicionalmente , la unidad de control de contexto 142 o 242 puede cambiar esos criterios en vista de la relación de posiciones entre el bloque actual y los otros cortes. En lo sucesivo, se describirán los tres bloques sombreados del árbol 3OIA, 30IB y 301C mostrados en la FIGURA 9B.
En este documento, el bloque 3OIA es un bloque de inicio, y tanto el bloque izquierdo como el bloque superior del bloque 3 OIA se incluyen en otro corte. El bloque superior del bloque 301B se incluye en otro corte. Tanto el bloque izquierdo como el bloque superior del bloque 301C se incluyen en el mismo corte que incluye el bloque 301C. La unidad de control de contexto 142 o 242 puede conmutar el criterio de acuerdo con esta condición. En otras palabras, la unidad de control de contexto 142 o 242 puede conmutar el criterio (i) de acuerdo a si el bloque superior se incluye o no en otro corte, (ii) de acuerdo a si el bloque izquierdo se incluye o no en otro corte o (iii) de acuerdo a tanto (i) como (ii) . En otras palabras, la unidad de control de contexto 142 o 242
puede determinar que el parámetro de control del bloque superior no está disponible en la decodificación cuando el bloque actual está en el límite de corte. Por consiguiente, cuando no se completa el procesamiento de decodificación en el CORTE 1 superior, por ejemplo, es posible realizar el procesamiento de decodificación considerando si el CORTE 2 puede obtener o no información por sí mismo.
Después, se describirá la unidad de procesamiento jerárquico (estructura de bloques de múltiples capas) . La FIGURA 10 ilustra la unidad de procesamiento jerárquico (estructura de bloques de múltiples capas) .
El aparato de codificación de imágenes 100 codifica imágenes en movimiento en una unidad de procesamiento completa y el aparato de codificación de imágenes 200 decodifica una corriente codificada en una unidad de procesamiento completa. La unidad de procesamiento se estratifica por la partición de la unidad de procesamiento en unidades de procesamiento pequeñas y la partición adicional de las unidades de procesamiento pequeñas en unidades de procesamiento más pequeñas. Conforme la unidad de procesamiento es más pequeña, la profundidad de la unidad de procesamiento es más grande y es erárquicamente inferior y el valor que indica la profundidad es más grande. Por el contrario, conforme la unidad de procesamiento es más grande, la profundidad de la unidad de procesamiento es menor y es
jerárquicamente superior y el valor que indica la profundidad es más pequeño.
La unidad de procesamiento incluye una unidad de codificación (CU) , una unidad de predicción (PU) y una unidad de transformación (TU) . Una CU es un bloque de 128 x 128 pixeles como máximo y es una unidad que corresponde a un macrobloque convencional. Una PU es una unidad básica para la inter-predicción . Una TU es una unidad básica para la transformación ortogonal y tiene un tamaño idéntico a aquel de la PU o mucho más pequeño que la PU. Una CU se particiona, por ejemplo, en 4 sub-CUs y una de las sub-CUs incluye una PU y una TU que tiene el mismo tamaño que aquel de la sub-CU (en este documento, PU y TU se traslapan entre sí) . Por ejemplo, la PU se particiona adicionalmente en 4 sub-PUs y la TU se particiona adicionalmente en 4 sub-CUs. Cuando la unidad de procesamiento se particiona en unidades de procesamiento más pequeñas, cada una de las unidades de procesamiento más pequeñas es referida como una sub-unidad de procesamiento. Por ejemplo, cuando la unidad de procesamiento es una CU, la sub-unidad de procesamiento es una sub-CU. Cuando la unidad de procesamiento es , una PU, la unidad de sub-procesamiento es una sub-PU. Adicionalmente, cuando la unidad de procesamiento es una TU, la sub-unidad de procesamiento es una sub-TU.
Más específicamente, lo siguiente indica los detalles.
Una imagen se particiona en uno o más cortes. Un corte es una secuencia de la unidad de codificación más grande. La posición de la unidad de codificación más grande es indicada por una dirección de la unidad de codificación más grande lcuAddr.
Cada una de las unidades de codificación que incluyen las unidades de codificación, más grandes, respectivas se divide en cuatro unidades de codificación. Como resultado, se construye un árbol cuádruple que tiene el tamaño de una CU. La posición de la CU es indicada por un índice de unidad de codificación culdx que tiene una muestra (pixel o coeficientes) en la esquina superior izquierda de la unidad de codificación más grande como un punto de inicio.
Cuando no se permite la partición de una CU, la CU se maneja como una PU. De manera similar a la CU, la posición de una PU es indicada por un índice de unidad de predicción puldx que tiene una muestra en la esquina superior izquierda de la unidad de codificación más grande como un punto de inicio.
La PU puede incluir particiones (particiones de PU o sub-PUs) . La partición de PU es indicada por un índice de partición de unidad de predicción puPartldx que tiene una muestra en la esquina superior izquierda de la PU como un punto de inicio.
La PU puede incluir TUs . De manera similar a la CU, la TU se puede particionar en cuatro TUs más pequeñas (sub-
TUs) . Esto indica el permiso de la partición de árbol cuádruple de una señal residual. La posición de la TU es indicada por un índice de unidad de transformación tuldx que tiene una muestra en la esquina superior izquierda de la PU como un punto de inicio.
En este documento, la definición de cada una de las unidades de procesamiento es de la siguiente manera:
CTB (siglas para bloque de árbol de codificación) : Unidad básica para identificar la partición de árbol cuádruple de una región cuadrada. Que tiene varios tamaños de cuadro ;
LCTB (siglas para bloque arborescente de codificación más grande) : El CTB más grande permitido en un corte. Un corte incluye una pluralidad de LCTBs que no se traslapan entre sí;
SCTB (siglas para bloque arborescente de codificación más pequeño) : El CTB más pequeño permitido en un corte. La partición de un SCTB en CTBS más pequeños no está permitida ;
PU (siglas para unidad de predicción) : Unidad básica para identificar un procesamiento de predicción. Una PU es tan grande como una CU en la cual no se permite la partición. Aunque se permite la partición de una CU en cuatro regiones cuadradas, una PU se puede particionar en una pluralidad de particiones que tienen cualquier forma;
TU (siglas para unidad de transformación) : Unidad básica para identificar una transformación y una cuantificación;
CU (siglas para unidad de codificación) : Igual que CTB;
LCU (siglas para unidad de codificación más grande) : Igual que la CTB más grande; y
SCU (siglas para unidad de codificación más pequeña) : Igual que la CTB más pequeña.
Adicionalmente , los parámetros de cuantificación incluyen por lo menos uno de un parámetro de escala de cuantificación delta (delta QP o QP delta) , un parámetro de compensación de cuantificación, un índice (Q matrix select idc) y un parámetro de compensación de zona muerta de cuantificación. El índice es para seleccionar una de las matrices de escalamiento cuantificadas .
El parámetro de escala de cuantificación delta
(delta QP o QP delta) es una diferencia entre un parámetro de escala de cuantificación que se aplica a coeficientes de transformación y un parámetro de escala de cuantificación especificado por un encabezado de secuencia o un encabezado de corte (o un parámetro de escala de cuantificación inmediatamente antes en el orden de exploración Z) .
El parámetro de compensación de cuantificación también es referido como una compensación de cuantificación y es un valor de ajuste (valor de compensación) para redondear una señal en el desempeño de la cuantificación . De esta
manera, cuando el aparato de codificación de imágenes 100 realiza una cuantificación, codifica la compensación de cuantificación . Luego, el aparato de decodificación de imágenes 200 decodifica la compensación de cuantificación codificada. Después, el aparato de decodificación de imágenes 200 realiza una corrección utilizando la compensación de cuantificación cuando se cuantifican de manera inversa los coeficientes de transformación.
Un índice (Qmatrix select idc) es referido como una matriz de cuantificación adaptable e indica que matriz de escalamiento de cuantificación se utiliza de entre una pluralidad de matrices de escalamiento de cuantificación. Adicionalmente , cuando solo hay una matriz de escalamiento de cuantificación, Qmatrix select idc indica si la matriz de escalamiento de cuantificación se utiliza o no. La matriz de cuantificación adaptable puede ser controlada por unidad de bloque (unidad de procesamiento) .
El parámetro de compensación de zona muerta de cuantificación es referido como una zona muerta adaptable y es información de control para cambiar de manera adaptable una zona muerta por bloque. La zona muerta es una anchura cuyos coeficientes de frecuencia se vuelven 0 por la cuantificación (última anchura que se vuelve +1 o -1 después de la cuantificación) .
Aunque un caso donde el patrón 3 con el cual se utiliza un valór fijo, predeterminado como valor de contexto
se describe anteriormente en este documento, el caso se puede realizar bajo la condición de que no se utilicen los parámetros de control del bloque superior y el bloque izquierdo, y adicionalmente bajo la condición sin el uso de parámetros de control del bloque superior y el bloque izquierdo como el patrón 3. Por ejemplo, la unidad de control de contexto 142 o 242 puede determinar un contexto de acuerdo con la profundidad jerárquica de una unidad de datos a la cual pertenecen cada uno de los parámetros de control, como el patrón 3.
Modalidad 3
La Modalidad 3 describirá que tipo de señal se debe utilizar como el primer tipo y el segundo tipo (o el tercer tipo) .
Más específicamente, los presentes inventores han verificado cada uno de los tipos de señal posteriores entre los, tipos de señal como se indican en la FIGURA 3 (Sección 9.3.3.1.1.1 de la NPL 2). Cada uno de los tipos de señal ha sido verificado, debido a que existen varios parámetros y es difícil predecir si cada patrón de los otros tipos de señal satisface o no la validez, con base en un resultado de la verificación en uno de los tipos de señal (cual de los patrones 1 a 3 es apropiado) .
La verificación es de conformidad con la estructura (parámetro de ajuste y versión de software HM3.0) descrita en
JCTVC-E700, "Condiciones de prueba comunes y configuraciones de referencia de software" (véase la NPL 3) . Adicionalmente, cada una de las imágenes de prueba tiene una longitud limitada a 49 tramas.
El método de codificación de imágenes y el método de decodificación de imágenes de acuerdo con la Modalidad 3 se relacionan con el CABAC. De esta manera, la verificación se ha conducido utilizando los siguientes cuatro patrones de prueba que son un conjunto de valores de ajuste cada uno que indica 1 como el valor del Modo de Símbolo (#0:LCEC, 1 : CABAC) :
4.1 Ajuste de alta eficiencia, intra;
4.3 Ajuste de alta eficiencia de acceso aleatorio; 4.5 Ajuste de alta eficiencia de retraso bajo; y 4.7 Ajuste de alta eficiencia de retraso bajo
(cortes P únicamente) .
La evaluación se hace con base en un valor de evaluación llamado una "velocidad de BD" que se utiliza como un estándar de evaluación utilizado uniformemente para una evaluación de implementación en el HEVC. Velocidad de BD Y, velocidad de BD U y velocidad de BD V son tasas de BD para un espacio de color YUV y son valores estándar de evaluación. De acuerdo con VCEG-AI11 (NPL 4) , la velocidad de BD es un valor de evaluación obtenido al integrar dos pares de cantidades de código con un resultado de PSNR y representar la eficiencia
de codificación de acuerdo con la relación de área. Adicionalmente , la velocidad de BD que indica un valor menos significa que la eficiencia de codificación ha sido mejorada. Los criterios de comparación se basan en un resultado del producto de un programa de referencia el cual implementa el patrón 1. Los resultados de los patrones 2 y 3 se muestran con respecto al resultado del patrón 1.
Lo siguiente describe un resultado de la verificación en cada uno de los tipos de señal:
(Primera verificación) split_coding_unit_flag;
(Segunda verificación) skip_flag;
(Tercera verificación) merge_flag;
(Cuarta verificación) ref_idx_l0 ( 11 , le) ;
(Quinta verificación) inter_pred_flag;
(Sexta verificación) mvd_l0 (11 , le) ;
(Séptima verificación) no_residual_data_flag;
(Octava verificación) intra_chroma_pred_mode ; y
(Novena verificación) cbf_luma, cbf_cr, cbf_cb.
(Primera verificación) split_coding_unit_flag
La FIGURA 11 ilustra un método de decodificación aritmética para split_coding_unit_flag.
La verificación se conduce al cambiar el modelo de contexto del patrón 1 al patrón 2 o 3 únicamente para un tipo de señal que es verificado, sin cambiar el modelo de contexto para los otros tipos de señal y el parámetro de verificación
especificado en la NPL 3. En la columna mostrada en la FIGURA 11, el valor de "Fijo" indica que la condición (la condición de bloque izquierdo o la condición del bloque superior) de la columna especificada por "Fijo" no se utiliza cuando un valor de contexto (o incremento) se deduce. En otras palabras, cuando solo una de la condición de bloque izquierdo y la condición de bloque superior está "Fija", solo se utiliza la otra condición. Adicionalmente , cuando tanto la condición de bloque izquierdo como la condición de bloque superior están "Fijas", un valor predeterminado (por ejemplo, 0) se utiliza como un valor de contexto (o incremento) .
El significado del tipo de señal
"split_coding_unit_flag" se define de la siguiente manera.
split_coding_unit_flag [xO] [yO] especifica si una unidad de codificación se divide en unidades de codificación con medio tamaño horizontal y vertical. Los índices de matriz xO , yO especifican la ubicación (xO, yO) de la muestra de luma superior izquierda del bloque de codificación considerado en relación con la muestra de luma superior izquierda de la imagen. En otras palabras,
"split_coding_unit_flag" indica si la CU objetivo se particiona o no en cuatro. Más específicamente, la CU objetivo se particiona cuando split_coding_unit_flag indica 1, mientras que la CU objetivo no se particiona cuando split_coding_unit_flag indica 0.
Los datos de split_coding_unit_flag se estructuran en una sintaxis arborescente de codificación como una sintaxis. El aparato de decodificación de imágenes analiza una secuencia de bits de acuerdo con la sintaxis de esta estructura de datos.
Las FIGURAS 12A y 12B son tablas para describir resultados de la verificación en split_coding_unit_flag .
La FIGURA 12A indica el resultado de la verificación utilizando un bloque adyacente (únicamente un valor de determinación de la condición de bloque izquierdo L) del patrón 2. La FIGURA 12B indica el resultado de la verificación utilizando un bloque adyacente cero (no utilizando la condición de bloque superior L ni la condición de bloque izquierdo L) del patrón 3.
El resultado de la verificación en cada una de las
FIGURAS 12A y 12B indica el incremento y el decremento de la velocidad de BD de acuerdo con los cuatro patrones de prueba.
Adicionalmente , el valor de evaluación es representado por el estándar de evaluación que indica un valor en relación con un valor de evaluación en el caso del patrón 1 en el cual se utilizan tanto el bloque izquierdo como el bloque superior. Más específicamente, cuando el valor de evaluación es positivo, el resultado es inferior al valor de evaluación (velocidad de BD) en el caso del patrón 1. Adicionalmente, cuando el valor de evaluación es negativo, el
resultado es más mejorado que el valor de evaluación en el caso del patrón 1.
El resultado aclara que el patrón 1 es superior como un patrón de un modelo de contexto para split_coding_unit_flag. En otras palabras, los valores de evaluación obtenidos por los patrones 2 y 3 son inferiores a aquel del patrón 1.
De esta manera, cuando el tipo de señal de un parámetro de control es split_coding_unit_flag, la unidad de control de contexto 142 o 242 determina un valor de contexto utilizando el patrón 1 que es un patrón convencional de un modelo de contexto, en términos de la velocidad de BD.
(Segunda verificación) skip_flag
La FIGURA 13 ilustra un método de decodificación aritmética para skip_flag. En este documento, el método de verificación es el mismo que aquel de la primera verificación .
El significado del tipo de señal "skip_flag" se define de la siguiente manera.
skip_flag [xO] [yO] igual a 1 especifica que para la unidad de codificación actual, cuando se decodifica un corte P o B, no se analizan más elementos de sintaxis excepto los índices de predictores de vectores de movimiento después de skip_flag [xO] [yO] . skip_flag [xO] [yO] igual a 1 especifica que la unidad de codificación no debe ser omitida. Los índices de
matriz ??, yO especifican la ubicación (xO, yO) de la muestra de luma superior izquierda del bloque de codificación considerado en relación con la muestra de luma superior izquierda de la imagen. En otras palabras, skip_flag indica si la CU objetivo debe ser omitida o no (manejada como un bloque omitido) .
Los datos de skip_flag se estructuran en una sintaxis de unidad de codificación como una sintaxis. En otras palabras, skip_flag se establece para cada CU. El aparato de decodificación de imágenes analiza una secuencia de bits de acuerdo con la sintaxis de esta estructura de datos .
Las FIGURAS 14A y 14B son tablas para describir resultados de la verificación en skip_flag.
La FIGURA 14A indica el resultado de la verificación utilizando un bloque adyacente (solo un valor de determinación de la condición de bloque izquierdo L) del patrón 2. La FIGURA 14B indica el resultado de la verificación utilizando un bloque adyacente cero (no utilizando la condición de bloque superior L ni la condición de bloque izquierdo L) del patrón 3.
El resultado de la verificación en cada una de las FIGURAS 14A y 14B indica el incremento y decremento de la velocidad de BD de acuerdo con cuatro patrones de prueba como se describe para la primera verificación. Adicionalmente , el
significado del valor de evaluación es el mismo que aquel de la primera verificación.
El resultado aclara que el patrón 1 es superior como un patrón de un modelo de contexto para "skip_flag" . En otras palabras, los valores de evaluación obtenidos por los patrones 2 y 3 son inferiores a aquel del patrón 1.
De esta manera, cuando el tipo de señal de un parámetro de control es "skip_flag" " , la unidad de control de contexto 142 o 242 determina un valor de contexto utilizando el patrón 1 que es un patrón convencional de un modelo de contexto, en términos de la velocidad de BD.
Tercera verificación "merge_flag"
La FIGURA 15 es una tabla que indica un método de decodificación aritmética para mergé_flag. En este documento, el método de verificación es el mismo que aquellos descritos en la primera verificación y la segunda verificación.
El significado del tipo de señal "merge_flag" se define de la siguiente manera.
merge_flag [xO] [yO] especifica si los parámetros de inter-predicción para la unidad de predicción actual son inferidos de una partición inter-predicha adyacente. Los índices de matriz xO, yO especifican la ubicación (xO, yO) de la muestra de luma superior izquierda del bloque de predicción considerado en relación con la muestra de luma superior izquierda de la imagen. Cuando merge_flag [xO] [yO] no
está presente ( InferredMergeFlag es igual a l), se infiere que es igual a 1. En otras palabras, merge_flag [xO] [yO] indica si un modo de fusión se utiliza o no. En este documento, el modo de fusión es un modo en el cual un vector de movimiento y un índice de imagen de referencia se copian de un bloque adyacente del bloque actual que es codificado y el bloque actual se codifica.
Los datos de merge_flag se estructuran en una unidad de predicción como una sintaxis. En otras palabras, merge_flag se establece para cada PU. El aparato de decodificación de imágenes analiza una secuencia de bits de acuerdo con la sintaxis de esta estructura de datos.
Las FIGURAS 16A y 16B son tablas para describir resultados de la verificación en merge_flag.
La FIGURA 16A indica el resultado de la verificación utilizando un bloque adyacente (solo un valor de determinación de la condición de bloque izquierdo L) del patrón 2. La FIGURA 16B indica el resultado de la verificación utilizando un bloque adyacente cero (no utilizando la condición de bloque superior L ni la condición de bloque izquierdo L) del patrón 3.
El resultado de la verificación en cada una de las FIGURAS 16A y 16B indica el incremento y decremento de la velocidad de BD de acuerdo con los cuatro patrones de prueba como se describe para la primera verificación.
Adicionalmente , el significado del valor de evaluación es el mismo que aquel de la primera verificación.
El resultado es diferente de aquellos de la primera verificación de split_coding_unit_flag y la segunda verificación de skip_flag. No existe una diferencia significativa en la velocidad de BD entre los patrones 1 y 2 o 3 como un patrón de un modelo de contexto para merge_flag.
De esta manera, bajo un ambiente mezclado con una pluralidad de parámetros de control de tipos de señal, la unidad de control de contexto 142 o 242 determina un valor de contexto sin utilizar el bloque superior como un bloque adyacente particularmente cuando el tipo de señal del parámetro de control es merge_flag. En otras palabras, la unidad de control de contexto 142 o 242 determina un valor de contexto utilizando el patrón 2 o 3 cuando el tipo de señal del parámetro de control es merge_flag. En otras palabras, el primer tipo incluye "split_coding_unit_flag" o "skip_flag" y el segundo tipo o el tercer tipo incluye "merge_flag" . Por consiguiente, el aparato de codificación de imágenes y el aparato de decodificación de imágenes de acuerdo con la Modalidad 3 pueden reducir el uso de memoria mientras que se suprime la disminución en la velocidad de BD.
Cuando el patrón 2 se compara con el patrón 3 para merge_flag, estas tasas de BD no tienen una diferencia significativa. De esta manera, se prefiere utilizar el patrón
3 para merge_flag. Por consiguiente, es posible reducir adicionalmente el uso de memoria y la cantidad de procesamiento .
En este documento, en comparación con merge_flag y skip_flag, aunque datos residuales de un vector del movimiento no son transmitidos en un modo de omisión, los datos residuales del vector de movimiento se transmiten en un modo de fusión. Por consiguiente, incluso cuando el contexto que se utiliza temporalmente no es óptimo para merge_flag, el deterioro en la calidad de imagen causado por no utilizar el contexto óptimo se puede compensar en cierta medida con el procesamiento que utiliza los datos residuales. Por consiguiente, el deterioro en la calidad de imagen se suprime .
Cuarta verificación "ref_idx_l0 (11, le) "
La FIGURA 17 es una tabla que indica un método de decodificación aritmética para ref_idx. En este documento, el método de verificación es el mismo que aquellos descritos en la primera verificación y la segunda verificación.
El significado del tipo de señal "ref_idx" se define de la siguiente manera.
ref_idx_l0 [xO] [yO] especifica el índice de imagen de referencia de la lista 0 para la unidad de predicción actual. Los índices de matriz xO, yO especifican la ubicación (xO, yO) de la muestra de luma superior izquierda del bloque
de predicción considerado en relación con la muestra de luma superior izquierda de la imagen.
Adicionalmente , ref_idx_ll [xO] [yO] tiene la misma semántica que 10 y la lista 0 reemplazada por 11 y la lista 1 en ref ef_idx_10. En otras palabras, ref_idx_ll indica un índice de imagen de referencia para la lista 1 de la PU actual .
La presencia o ausencia de ref_idx_ll se puede determinar con base en, por ejemplo, un tipo de imagen.
Adicionalmente, ref_idx_lc [xO] [yO] tiene la misma semántica que ref_idx_10, con 10 y la lista 0 reemplazada por le y una combinación de listas, respectivamente. El ref_idx_lc es un parámetro de control agregado en el HAVC. Adicionalmente, la combinación de listas se obtiene al combinar (fusionar) la lista 0 y la lista 1. Normalmente, una corriente de bits incluye solo uno de ref_idx_l0, ref__idx_ll, y ref_idx_lc . Existen casos donde la corriente de bits incluye solo uno o ambos de ref_idx_l0 y ref_idx_ll.
Los datos de ref_idx_l0 (11 , le) se estructuran en una unidad de predicción como una sintaxis. En otras palabras, merge_flag se establece para cada PU. El aparato de decodificación de imágenes analiza una secuencia de bits de acuerdo con la sintaxis de esta estructura de datos.
Las FIGURAS 18A y 18B son tablas para describir resultados de la verificación en ref idx.
La FIGURA 18A indica el resultado de la verificación utilizando un bloque adyacente (solo un valor de determinación de la condición de bloque izquierdo L) del patrón 2. La FIGURA 18B indicá el resultado de la verificación utilizando el bloque adyacente cero (no utilizando la condición de bloque superior L ni la condición de bloque izquierdo L) del patrón 3.
El resultado de la verificación en cada una de las FIGURAS 18A y 18B indica el incremento y decremento de la velocidad de BD de acuerdo con los cuatro patrones de prueba como se describe para la primera verificación. Adicionalmente , el significado del valor de evaluación es el mismo que aquel de la primera verificación.
El resultado es diferente de aquellos de la primera verificación de split_coding_unit_flag y la segunda verificación de skip_flag. No existe una diferencia significativa en la velocidad de BD entre los patrones 1 y 2 o 3 como un patrón de un modelo de contexto para ref_idx.
De esta manera, bajo un ambiente mezclado con una pluralidad de parámetros de control de tipos de señal, la unidad de control de contexto 142 o 242 determina un valor de contexto sin utilizar el bloque superior como un bloque adyacente particularmente cuando el tipo de señal del parámetro de control es ref_idx_l0 (11 , le) . En otras palabras, la unidad de control de contexto 142 o 242 determina un valor
de contexto utilizando el patrón 2 o 3 cuando el tipo de señal del parámetro de control es ref_idx_10 (11 , le) . En otras palabras, el primer tipo incluye "split_coding_unit_flag" o "skip_flag" y el segundo tipo o el tercer tipo incluye "ref_idx_lO (11 , le) " . Por consiguiente, el aparato de codificación de imágenes y el aparato de decodificación de imágenes de acuerdo con la Modalidad 3 pueden reducir el uso de memoria mientras que suprimen la disminución de la velocidad de BD.
En este documento, el segundo tipo o el tercer tipo solo tiene que incluir por lo menos uno de ref_idx_l0, ref_idx_ll y ref_idx_lc. Por ejemplo, el segundo tipo o el tercer tipo puede incluir ref_idx_10 y ref_idx_ll sin incluir ref_idx_lc .
Cuando el patrón 2 se compara con el patrón 3 para ref_idx, estas tasas de BD no tienen una diferencia significativa. De esta manera, se prefiere utilizar el patrón 3 para ref_idx_10 (11, le) . Por consiguiente, es posible reducir adicionalmente el uso de memoria y la cantidad de procesamiento.
En este documento, ref_idx se utiliza en el modo de inter-predicción normal que no es un modo de omisión ni un modo de fusión. Aunque el mismo vector de movimiento para el bloque superior y el bloque izquierdo se utiliza como un vector de movimiento del bloque actual en el modo de omisión
y el modo de fusión, un vector de movimiento diferente de aquel para el bloque superior y el bloque izquierdo se utiliza como un vector de movimiento del bloque actual en el modo de inter-predicción normal diferente del modo de omisión y el modo de fusión. Por consiguiente, la eficiencia de codificación se disminuye utilizando el bloque superior y el bloque izquierdo para ref_idx como en el patrón 1. En otras palabras, es posible mejorar la eficiencia de codificación utilizando el patrón 2 o 3 para ref_idx.
En este documento, la unidad de control de contexto
142 o 242 puede utilizar un valor deducido a partir de un resultado de la condL y un resultado de la condA para ref_idx_lO [xP] [yP] del bloque actual, en lugar de utilizar ref_idx_lc [xL] [yP] del bloque adyacente A o ref_idx_lc [xP] [yA] del bloque adyacente B, cuando se determina una condición A (o L) para ref_idx_lc [xP] [yP] . En otras palabras, la unidad de control de contexto 142 o 242 puede deducir un valor resultante de la condición como un valor dependiente de valores de los bloques actuales 10 y 11.
Un aparato de codificación o un aparato de grabación genera ref_idx_lc al combinar ref_idx_10 y ref_idx_ll en la grabación o codificación de una corriente. En otras palabras, ref_idx_10 y ref_idx_ll se utilizan para cada determinación dentro de esos aparatos. De esta manera, (1) cuando una condición condA o L { (ref_idx_10 is available)
4
and (true holds if ref_idx_lO > 0) } y (2) la condición condA o L { (ref_idx_ll is available) and (true holds if ref_idx_ll > 0) } se mantiene en el bloque actual, la condición condA o L { (ref_idx_lc is available) and (true holds if ref_idx_lc > 0) } se mantiene.
De esta manera, se puede realizar lo siguiente. La
FIGURA 18C es una tabla que indica la condición A y la condición L para ref_idx como se indica en la NPL 2. La FIGURA 18D es una tabla que indica la condición A y la condición L para ref_idx de acuerdo con la Modalidad 3.
Como se indica en la FIGURA 18D, las unidades de control de contexto 142 y 242 pueden deducir los valores condicionales de condL y condA para ref_idx_lc a partir de por lo menos uno de los valores condicionales de ref_idx_l0 y ref_idx_ll en el mismo bloque. En otras palabras, las unidades de control de contexto 142 y 242 pueden causar que los valores condicionales de condL y condA para ref_idx_lc dependan linealmente de los valores condicionales de ref_idx_lO y ref_idx_ll en el mismo bloque.
Por consiguiente, ref_idx_lc no necesita referencia de memoria. En otras palabras, el valor condicional para ref_idx_lc se puede deducir sin hacer referencia al valor de ref_idx_lc para el bloque superior.
Quinta verificación "inter_pred_flag"
La FIGURA 19 es una tabla que indica un método de decodificación aritmética para inter_pred_flag .
El significado del tipo de señal "inter_pred_flag" se define de la siguiente manera.
inter_pred_flag [xO] [yO] especifica si se utiliza una uni-predicción o bi-predicción para la unidad de predicción actual de acuerdo con la Tabla 7 11. Los índices de matriz O, yO especifican la ubicación (xO, yO) de la muestra de luma superior izquierda del bloque de predicción considerado en relación con la muestra de luma superior izquierda de la imagen. En este documento, la uni -predicción es una predicción que utiliza le (combinación de listas) y la bi-predicción es una predicción que utiliza la lista 0 y la lista 1. Adicionalmente, la combinación de listas se obtiene al combinar (fusionar) la lista 0 y la lista 1. Adicionalmente, inter_pred_flag se utiliza solo cuando el corte actual es un corte B.
Los datos de inter_pred_flag se estructuran en una unidad de predicción como una sintaxis. El aparato de decodificación de imágenes analiza una secuencia de bits de acuerdo con la sintaxis de esta estructura de datos.
Las FIGURAS 20A y 20B son tablas para describir resultados de la verificación en inter_pred_flag .
La FIGURA 20A indica el resultado de la verificación utilizando un bloque adyacente (solo un valor de determinación de la condición de bloque izquierdo L) del patrón 2. La FIGURA 20B indica el resultado de la
verificación utilizando un bloque adyacente cero (no utilizando la condición de bloque superior L ni la condición de bloque izquierdo L) del patrón 3.
El resultado de la verificación en cada una de las FIGURAS 20A y 20B indica el incremento y decremento de la velocidad de BD de acuerdo con los cuatro patrones de prueba como se describe para la primera verificación. Adicionalmente , el significado del valor de evaluación es el mismo que aquel de la primera verificación.
El resultado es diferente de aquellos de la primera verificación de split_coding_unit_flag y la segunda verificación de skip_flag. No hay una diferencia significativa en la velocidad de BD entre los patrones 1 y 2 o 3 como un patrón de un modelo de contexto para inter_pred_flag .
De esta manera, bajo un ambiente mezclado con una pluralidad de parámetros de control de tipos de señal, la unidad de control de contexto 142 o 242 determina un valor de contexto sin utilizar el bloque superior como un bloque adyacente particularmente cuando el tipo de señal del parámetro del control es inter_pred_flag . En otras palabras, la unidad de control de contexto 142 o 242 determina un valor de contexto utilizando el patrón 2 o 3 cuando el tipo de señal del parámetro de control es inter_pred_flag . En otras palabras, el primer tipo incluye "split_coding_unit_flag" o
"skip_flag" y el segundo tipo o el tercer tipo incluye "inter_pred_flag" . Por consiguiente, el aparato de codificación de imágenes y el aparato de decodificación de imágenes de acuerdo con la Modalidad 3 pueden reducir el uso de memoria mientras que suprimen la disminución en la velocidad de BD.
Cuando el patrón 2 se compara con el patrón 3 para inter_pred_flag, esas tasas de BD no tienen una diferencia significativa. De esta manera, se prefiere utilizar el patrón 3 para inter_pred_flag. Por consiguiente, es posible reducir adicionalmente el uso de memoria y la cantidad de procesamiento .
En este documento, inter_pred_flag se utiliza en el modo de inter-predicción normal que no es un modo de omisión ni un modo de fusión. Aunque el mismo vector de movimiento para el bloque superior y el bloque izquierdo se utiliza como un vector de movimiento del bloque actual en el modo de omisión y el modo de fusión, un vector de movimiento diferente de aquel para el bloque superior y el bloque izquierdo se utiliza como un vector de movimiento del bloque actual en el modo de inter-predicción normal diferente del modo de omisión y el modo de fusión. Por consiguiente, la eficiencia de codificación se disminuye utilizando el bloque superior y el bloque izquierdo para inter_pred_flag como en el patrón 1. En otras palabras, es posible mejorar la
eficiencia de codificación utilizando el patrón 2 o 3 para inter_pred_flag.
Adicionalmente , como se describiera anteriormente, es posible mejorar adicionalmente la eficiencia de codificación al determinar un valor de contexto de acuerdo con una profundidad del bloque actual para inter_pred_flag . Sexta verificación "mvd_10 ( 11 , le) "
La FIGURA 21 es una tabla que indica un método de decodificación aritmética para mvd_10 (11, le) . En este documento, el método de verificación es el mismo que aquellos en la primera verificación y la segunda verificación.
El significado del tipo de señal "mvd_10 (11, le) " se define de la siguiente manera.
mvd_10 [xO] [yO] [compldx] especifica la diferencia entre un componente de vector de lista 0 que se utiliza y su predicción. Los índices de matriz xO, yO especifican la ubicación (xO, yO) de la muestra de luma superior izquierda del bloque de predicción considerado en relación con la muestra de luma superior izquierda de la imagen. A la diferencia de componentes de vectores de movimiento horizontal se asigna compldx = 0 y al componente de vector de movimiento vertical se asigna compldx = 1. Cuando cualquiera de los dos componentes no está presente, el valor inferido es 0. En otras palabras, mvd_10 representa una diferencia entre un vector de movimiento en una posición de PU (xP, yP) y el
vector predicho, utilizando un primer componente (componente horizontal compldx = 0) y un segundo componente (componente vertical compldx = 1) .
mvd_ll [xO] [yO] [compldx] tiene la misma semántica que 10 y la lista 0 reemplazada por 11 y la lista 1 en mvd_l0, respectivamente. La presencia o ausencia de mvd_ll se puede determinar con base en un tipo de imagen y otros.
Adicionalmente , mvd_lc [xO] [yO] [compldx] tiene la misma semántica que mvd_10, con 10 y la lista 0 reemplazados por le y una combinación de listas, respectivamente. En otras palabras, mvd_lc se genera al combinar mvd_10 y mvd_ll.
El término "mvd" incluye por lo menos mvd_l0 e incluye por lo menos uno de mvd_ll y mvd_lc de acuerdo con una condición de una imagen.
Los datos de mvd se estructuran en una unidad de predicción como una sintaxis. El aparato de decodificación de imágenes analiza una secuencia de bits de acuerdo con la sintaxis de esta estructura de datos.
Las FIGURAS 22A y 22B son tablas para describir resultados de la verificación en mvd.
La FIGURA 22A indica el resultado de la verificación utilizando un bloque adyacente (solo un valor de determinación de la condición de bloque izquierdo L) del patrón 2. La FIGURA 22B indica el resultado de la verificación utilizando un bloque adyacente cero (no
utilizando la condición de bloque superior L ni la condición de bloque izquierdo L) del patrón 3.
El resultado de la verificación en cada una de las FIGURAS 22A y 22B indica el incremento y decremento de la velocidad de BD de acuerdo con los cuatro patrones de prueba como se describe para la primera verificación. Adicionalmente , el significado del valor de evaluación es el mismo que aquel de la primera verificación.
El resultado es diferente de aquellos de la primera verificación de split_coding_unit_flag y la segunda verificación de skip_flag. No existe una diferencia significativa en la velocidad de BD entre los patrones 1 y 2 o 3 como un patrón de un modelo de contexto para mvd.
De esta manera, bajo un ambiente mezclado con una pluralidad de parámetros de control de tipos de señal, la unidad de control de contexto 142 o 242 determina un valor de contexto sin utilizar el bloque superior como un bloque adyacente particularmente cuando el tipo de señal del parámetro de control es mvd_l0 (11, le) . En otras palabras, la unidad de control de contexto 142 o 242 determina un valor de contexto utilizando el patrón 2 o 3 cuando el tipo de señal del parámetro de control es mvd_l0 (11 , le) . En otras palabras, el primer tipo incluye "split_coding_unit_flag" o "skip_flag" y el segundo tipo o el tercer tipo incluye mvd_l0, mvd_ll o mvd_lc . Por consiguiente, el aparato de codificación de
imágenes y el aparato de decodificación de imágenes de acuerdo con la Modalidad 3 pueden reducir el uso de memoria mientras que suprimen la disminución en la velocidad de BD.
En otras palabras, el segundo tipo o el tercer tipo solo tiene que incluir por lo menos uno de mvd_l0, mvd_ll y mvd_lc . Por ejemplo, el segundo tipo o el tercer tipo pueden incluir mvd_l0 y mvd_ll sin incluir mvd_lc.
Cuando el patrón 2 se compara con el patrón 3 para mvd, estas tasas de BD no tienen una diferencia significativa. De esta manera, se prefiere utilizar el patrón 3 para mvd_10 (11 , le) . Por consiguiente, es posible reducir adicionalmente el uso de memoria y la cantidad de procesamiento .
En este documento, aunque los datos residuales (mvd) de un vector de movimiento no se transmiten en un modo de omisión, los datos residuales (mvd) del vector de movimiento se transmiten en un modo de fusión. Por consiguiente, incluso cuando el contexto que se utiliza temporalmente no es óptimo en el modo de fusión, el deterioro en la calidad de la imagen causado por no utilizar el contexto óptimo se puede compensar en cierta medida con el procesamiento utilizando el mvd. Por consiguiente, el deterioro en la calidad de imagen se suprime cuando el bloque adyacente para mvd no se utiliza.
Cuando el valor condicional del bloque superior o
el bloque izquierdo (condA o condL) se utiliza de acuerdo con la condición predeterminada, la siguiente modificación es aplicable .
La primera modificación es un método que utiliza una dependencia entre mvd_l0, mvd_ll, y mvd_lc.
Más específicamente, la unidad de control de contexto 142 o 242 puede deducir un valor condicional de otro tipo de señal que tiene un valor condicional dependiente de valores condicionales (condL o condA) de dos tipos de señal de entre los tres tipos de señal de mvd_l0, mvd_ll y mvd_lc, utilizando los valores condicionales.
Por ejemplo, cuando un valor de condA para mvd_lc es dependiente de los valores condicionales (un valor de condA para 10 y un valor de condA para 11) de los dos tipos de señal de mvd_l0 y lvd_ll, la unidad de control de contexto 142 o 242 no necesita hacer referencia al valor de condA para mvd_lc .
La FIGURA 22C es una tabla que indica la condición A y la condición L para mvd como se indica en la NPL 2. La FIGURA 22D es una tabla que indica la condición A y la condición L para mvd de acuerdo con la Modalidad 3.
Como se indica en la FIGURA 22D, las unidades de control de contexto 142 y 242 pueden deducir los valores condicionales de condL y condA para mvd_lc a partir de por lo menos uno de los valores condicionales de mvd_l0 y mvd_ll en
el mismo bloque.
En este documento, las unidades de control de contexto 142 y 242 pueden utilizar estas relaciones para una
0 tanto la dirección horizontal (compldx = 0) como la dirección vertical (compldx = 1) .
Adicionalmente , las unidades de control de contexto 142 y 242 pueden utilizar la dependencia entre compldx = 0 y 1. En otras palabras, las unidades de control de contexto 142 y 242 pueden causar que un resultado de uno de los dos valores condicionales de la dirección horizontal mvd_l0 [ ] [
1 [0] y la dirección vertical mvd_l0 [ ] [ ] [1] dependan entre sí. En otras palabras, las unidades de control de contexto 142 y 242 pueden deducir los valores condicionales condL y condA de una de la dirección horizontal y la dirección vertical para mvd, a partir del otro de los valores condicionales para mvd. En este documento, de acuerdo con la NPL 2, un índice de contexto (incremento de índice + valor de referencia) se establece para cada una de las direcciones horizontales mvd_l0 [ ] [ ] [0] , mvd_ll [ ] [ ] [0] y mvd_lc [ ] [ ] [0] , y las direcciones verticales mvd_10 [ ] [ ] [1] , mvd_ll [ ] [ ] [1] y mvd_lc [ ] [ ] [1] . De esta manera, es posible reducir los residuos utilizando la dependencia. En otras palabras, el número de índices de contexto se puede reducir.
En este documento, los valores condicionales del bloque superior y el bloque izquierdo se utilizan solo para
el primer bit de mvd de acuerdo con la NPL 2. En otras palabras, las unidades de control de contexto 142 y 242 pueden utilizar el patrón 2 o 3 para el primer bit de mvd. En otras palabras, las unidades de control de contexto 142 y 242 pueden utilizar el patrón 2 o 3 para abs_mvd_greaterO_flag [compldx] que indica si una diferencia entre un vector de movimiento y el vector predicho es o no igual a o mayor que 0.
Séptima verificación "no_residual_data_flag"
La FIGURA 23A es una tabla que indica un método de decodificación aritmética para no_residual_data_flag .
El significado del tipo de señal "no_residual_data_flag" se define de la siguiente manera.
no_residual_data_flag igual a 1 especifica que ningún dato residual está presente para la unidad de codificación actual. no_residual_data_flag igual a 0 especifica que están presentes datos residuales para la unidad de codificación actual. Cuando no_residual_data_flag no está presente, se deberá inferir que su valor es igual a 0.
Los datos de no_residual_data_flag se estructuran en un árbol de transformación entre tipos de árboles. La FIGURA 23B es una tabla que indica una sintaxis de árbol de transformación. El aparato de decodificación de imágenes analiza una secuencia de bits de acuerdo con la sintaxis de
esta estructura de datos.
Las FIGURAS 24A y 24B son tablas para describir resultados de la verificación en no_residual_data_flag .
La FIGURA 24A indica el resultado de la verificación utilizando un bloque adyacente (solo un valor de determinación de la condición de bloque izquierdo L) del patrón 2. La FIGURA 24B indica el resultado de la verificación utilizando un bloque adyacente cero (no utilizando la condición de bloque superior L ni la condición de bloque izquierdo L) del patrón 3.
El resultado de la verificación en cada una de las FIGURAS 24A y 24B indica el incremento y decremento de la tasa BD de acuerdo con los cuatro patrones de prueba como se describe para la primera verificación. Adicionalmente , el significado del valor de evaluación es el mismo que aquel de la primera verificación.
El resultado es diferente de aquellos de la primera verificación de split_coding_unit_flag y la segunda verificación de skip_flag. No existe una diferencia significativa en la velocidad de BD entre los patrones 1 y 2 o 3 como un patrón de un modelo de contexto para no_residual_data_flag .
De esta manera, bajo un ambiente mezclado con una pluralidad de parámetros de control de tipos de señal, la unidad de control de contexto 142 o 242 determina un valor de
contexto sin utilizar el bloque superior como un bloque adyacente particularmente cuando el tipo de señal del parámetro de control es no_residual_data_flag . En otras palabras, la unidad de control de contexto 142 o 242 determina un valor de contexto utilizando el patrón 2 o 3 cuando el tipo de señal del parámetro de control es no_residual_data_flag . En otras palabras, el primer tipo incluye "split_coding_unit_flag" o "skip_flag" y el segundo tipo o el tercer tipo incluye "no_residual_data_flag" . Por consiguiente, el aparato de codificación de imágenes y el aparato de decodificación de imágenes de acuerdo con la Modalidad 3 pueden reducir el uso de memoria mientras que suprimen la disminución en la velocidad de BD.
Cuando el patrón 2 se compara con el patrón 3 para no_residual_data_flag, estas tasas de BD no tienen una diferencia significativa. De esta manera, se prefiere utilizar el patrón 3 para no_residual_data_flag . Por consiguiente, es posible reducir adicionalmente el uso de memoria y la cantidad de procesamiento.
En este documento, no_residual_data_flag indica la presencia o ausencia de coeficientes (datos residuales) de luma y croma. Adicionalmente, los datos residuales incrementan en la intra-predicción y disminuyen en la inter-predicción. De esta manera, la eficiencia de codificación disminuye cuando un modo de un bloque adyacente es diferente
de un modo del bloque actual (el bloque circundante tiene diferentes características de aquellas del bloque actual) . Por ejemplo, cuando la intra-predicción se realiza en el bloque actual y la inter-predicción se realiza en el bloque circundante, los datos residuales del bloque actual disminuyen y los datos residuales del bloque circundante incrementan. Por consiguiente, la eficiencia de codificación disminuye cuando se utiliza el contexto de bloque circundante. De esta manera, las unidades de control de contexto 142 y 242 pueden mejorar la eficiencia de codificación utilizando el contexto del bloque actual sin depender del bloque circundante.
Octava verificación "intra_chroma_pred_mode"
La FIGURA 25A es una tabla que indica un método de decodificación aritmética para intra_chroma_pred_mode .
Los datos de intra_chroma_pred_mode están estructurados en una unidad de predicción como una sintaxis. El aparato de decodificación de imágenes analiza una secuencia de bits de acuerdo con la sintaxis de esta estructura de datos.
El significado del tipo de señal
"intra_chroma_pred_mode" se define de la siguiente manera.
intra_chroma_pred_mode [xO] [yO] especifica el modo de intra-predicción para muestras de croma. Los índices de matriz xO, yO especifican la ubicación (xO, yO) de la muestra
de luma superior izquierda del bloque de predicción considerado en relación con la muestra de luma superior izquierda de la imagen.
El valor de modo de intra-predicción para croma "modo de intra-predicción para croma" (IntraPredModeC) se determina al combinar el valor de intra_chroma_pred_mode (valor entre 0 y 4 inclusive) y el IntraPredMode [xP] [yB] del bloque actual. En este documento, las coordenadas del bloque actual son [xB] [yB] . [xB] [yB] indica la misma posición que [xP] [yP] . Adicionalmente , IntraPredMode indica un valor de modo de predicción para luma.
La FIGURA 25B es una tabla que indica un método para deducir IntraPredModeC, con base en intra_chroma_pred_mode e IntraPredMode que se describen en la NPL 2.
Adicionalmente, IntraPredMode (variable que inicia a partir de una mayúscula) no es un valor codificado directamente en una secuencia de bits codificada, sino una secuencia de valores decodificados por un decodificador . Cuando IntraPredMode [xP] [yP] del bloque actual se deduce, IntraPredMode [xP] [yA] y otros de un bloque adyacente se utilizan si están disponibles.
Las FIGURAS 26A y 26B son tablas para describir resultados de la verificación en intra_chroma_pred_mode .
La FIGURA 26A indica el resultado de la
verificación utilizando un bloque adyacente (solo un valor de determinación de la condición de bloque izquierdo L) del patrón 2. La FIGURA 26B indica el resultado de la verificación utilizando un bloque adyacente cero (no utilizando la condición de bloque superior L ni la condición de bloque izquierdo L) del patrón 3.
El resultado de la verificación en cada una de las FIGURAS 26A y 26B indica el incremento y decremento de la velocidad de BD de acuerdo con los cuatro patrones de prueba como se describe para la primera verificación. Adicionalmente , el significado del valor de evaluación es el mismo que aquel de la primera verificación.
El resultado es diferente de aquellos de la primera verificación de split_coding_unit_flag y la segunda verificación de skip_flag. No existe una diferencia significativa en la velocidad de BD entre los patrones 1 y 2 o 3 como un patrón de un modelo de contexto para intra_chroma_pred_mode .
De esta manera, bajo un ambiente mezclado con una pluralidad de parámetros de control de tipos de señal, la unidad de control de contexto 142 o 242 determina un valor de contexto sin utilizar el bloque superior como un bloque adyacente particularmente cuando el tipo de señal del parámetro de control es intra_chroma_pred_mode . En otras palabras, la unidad de control de contexto 142 o 242
determina un valor de contexto utilizando el patrón 2 o 3 cuando el tipo de señal del parámetro de control es intra_chroma_pred_mode . En otras palabras, el primer tipo incluye "split_coding_unit_flag" o "skip_flag" y el segundo tipo o el tercer tipo incluye "intra_chroma_pred_mode" . Por consiguiente, el aparato de codificación de imágenes y el aparato de decodificación de imágenes de acuerdo con la Modalidad 3 pueden reducir el uso de memoria mientras que suprimen la disminución en la velocidad de BD.
Cuando el patrón 2 se compara con el patrón 3 para intra_chroma_pred_mode , estas tasas de BD no tienen una diferencia significativa. De esta manera, se prefiere utilizar el patrón 3 para intra_chroma_pred_mode . Por consiguiente, es posible reducir adicionalmente el uso de memoria y la cantidad de procesamiento.
En este documento, intra_chroma_pred_mode es información de 4 bits totales e indica si el primer bit 1 indica si el modo de intra-predicción para luma se utiliza o no como el modo de la intra-predicción para croma. En este documento, las unidades de control de contexto 142 y 242 utilizan el patrón 2 o 3 para el primer bit 1. Más específicamente, intra_chroma_pred_mode indica 0 cuando se utiliza el mismo modo que aquel de luma para croma. Cuando se utiliza un modo diferente de aquel de luma para croma, intra__chroma_pred_mode indica 1 y los 3 bits restantes
indican un modo utilizado para croma.
En la intra-predicción, se utiliza la correlación entre el bloque superior, el bloque izquierdo, y el bloque actual. En otras palabras, puesto que la información de correlación se utiliza en la intra-predicción, es eficiente el uso del mismo modo que aquel de luma para croma. En otras palabras, aunque el modo diferente de aquel de luma se puede utilizar para croma con el propósito de tener varios modos, es raro un caso donde el modo diferente de aquel de luma se utiliza para croma y se utiliza el contexto circundante. En otras palabras, existen muchos casos donde intra_chroma_pred_mode en el cual se utiliza el mismo modo que aquel de luma se establece a 0. Por consiguiente, hay poco mérito en el uso del contexto circundante, el uso del contexto del bloque actual hace posible la reducción en la cantidad de procesamiento mientras que mantiene la eficiencia de codificación.
Adicionalmente , la determinación si el bloque superior está disponible o no en la decodificación es extremadamente difícil. La matriz de IntraPredMode que se deduce en un proceso de decodificación y se mapea en una secuencia se describirá con referencia a la FIGURA 38.
IntraPredMode de una hilera superior (Línea L) que incluye el bloque actual es representada por IntraPredMode [bloque n-th en una dirección horizontal] [una hilera
superior (Línea L) ] . Adicionalmente, IntraPredMode de la hilera actual que incluye el bloque actual es presentado por IntraPredMode [bloque k-th en una dirección horizontal] [hilera actual] . En este documento, una señal en la cual la decodificación aritmética se debe realizar actualmente es intra_chroma_pred_mode [bloque i-th en una dirección horizontal] [hilera actual] .
En primer lugar, no hay garantía de que el bloque n-th en una hilera superior en una dirección horizontal esté asociado con el bloque k-th en la hilera actual en la dirección horizontal. Como se describiera para la FIGURA 38, esto es debido a que el tamaño de un bloque de PU varía para cada bloque. De esta manera, de ningún modo a excepción de proporcionar una cierta tabla de correspondencia para gestionar estos bloques u obtener todos los IntraPredModes como la unidad mínima como se describe en la FIGURA 38.
Adicionalmente, además de intra_chroma_pred_mode que se decodifica, el IntraPredMode de la hilera superior no es un tipo de señal que se pueda obtener a través del análisis por la unidad de decodificación aritmética sino un valor (variable de H.264, etcétera que inicia a partir de una mayúscula) deducido a partir de otro proceso de decodificación. De esta manera, la obtención de la disponibilidad de este valor solamente por la unidad de decodificación aritmética es laboriosa.
De esta manera, en el modelo de contexto en el cual intra_chroma_pred_mode utiliza bloques adyacentes, no utilizar CondA que es un valor condicional del bloque superior (en particular, un valor de determinación de condición de IntraPredMode [que corresponde a una posición horizontal] [una hilera superior] ) es útil en términos del uso de memoria.
Novena verificación "cbf_luma, cbf_cr, cbf_cb"
La FIGURA 27 es una tabla que indica un método de decodificación aritmética para cbf_luma, cbf_cr y cbf_cb.
El significado del tipo de señal "cbf_luma" se define de la siguiente manera.
cbf_luma[xO] [yO] [trafoDepth] igual a 1 especifica que el bloque de transformación luma contiene uno o más niveles de coeficientes de transformación no iguales a 0. Los índices de matriz xO, yO especifican la ubicación (xO, yO) de la muestra de luma superior izquierda del bloque de transformación considerado en relación con la muestra de luma superior izquierda de la imagen. El índice de matriz trafoDepth especifica el nivel de subdivisión actual de una unidad de codificación en bloques con el propósito de codificación de transformación. trafoDepth es igual a 0 para bloques que corresponden a unidades de codificación.
En otras palabras, la posición del bloque de transformación luma se define como un valor de una matriz
tridimensional que incluye una profundidad jerárquica (trafoDepth) en relación con una capa de una CU, además de los elementos verticales y horizontales.
Adicionalmente , un tipo de señal "cbf_cb" define cbf_luma con respecto a luma para croma (cb) . El significado del tipo de señal "cbf_cb" se define de la siguiente manera.
cbf_cb[xO] [yO] [trafoDepth] igual a 1 especifica que el bloque de transformación de Cb contiene uno o más niveles de coeficientes de transformación no iguales a 0. Los índices de matriz xO, yO especifican la ubicación (xO, yO) de la muestra de luma superior izquierda del bloque de transformación considerado en relación con la muestra de luma superior izquierda de la imagen. El índice de matriz trafoDepth especifica el nivel de subdivisión actual de una unidad de codificación en bloques con el propósito de codificación de transformación. trafoDepth es igual a 0 para bloques que corresponden a unidades de codificación. Cuando cbf_cb [xO] [yO] [trafoDepth] no está presente y PredMode no es igual a MODE_INTRA, se infiere que el valor de cbf_cb[x0] [yO] [trafoDepth] es igual a 0.
En otras palabras, la posición del bloque de transformación de Cb se define como un valor de una matriz tridimensional que incluye una profundidad jerárquica (trafoDepth) en relación con una capa de una CU, además de los elementos verticales y horizontales.
Adicionalraente , un tipo de señal "cbf_cr" define cbf_luma con respecto a luma para croma (cr) . El significado del tipo de señal "cbf_cr" se define de la siguiente manera.
cbf_cr[xO] [yO] [trafoDepth] igual a 1 especifica que el bloque de transformación de Cb contiene uno o más niveles de coeficientes de transformación no iguales a 0. Los índices de matriz ?? , yO especifican la ubicación (xO, yO) de la muestra de luma superior izquierda del bloque de transformación considerado en relación con la muestra de luma superior izquierda de la imagen. El índice de matriz trafoDepth especifica el nivel de subdivisión actual de una unidad de codificación en bloques con el propósito de codificación de transformación. trafoDepth es igual a 0 para bloques que corresponden a unidades de codificación. Cuando cbf_cr[x0] [yO] [trafoDepth] no está presente y PredMode no es igual a MODE_INTRA, se infiere que el valor de cbf_cr[x0] [yO] [trafoDepth] es igual a 0.
En otras palabras, la posición del bloque de transformación de Cb se define como un valor de una matriz tridimensional que incluye una profundidad jerárquica (trafoDepth) en relación con una capa de una CU, además de los elementos verticales y horizontales.
Las FIGURAS 16A y 16B son tablas para describir resultados de la verificación en cbf_luma, cbf_cr y cbf_cb.
La FIGURA 28A indica el resultado de la
verificación utilizando un bloque adyacente (solo un valor de determinación de la condición de bloque izquierdo L) del patrón 2. La FIGURA 28B indica el resultado de la verificación utilizando un bloque adyacente cero (no utilizando la condición de bloque superior L ni la condición ' de bloque izquierdo L) del patrón 3.
El resultado de la verificación en cada una de las FIGURAS 28A y 28B indica el incremento y decremento de la velocidad de BD de acuerdo con los cuatro patrones de prueba como se describe para la primera verificación. Adicionalmente , el significado del valor de evaluación es el mismo que aquel de la primera verificación.
El resultado es diferente de aquellos de la primera verificación de split_coding_unit_flag y la segunda verificación de skip_flag. No hay una diferencia significativa en la velocidad de BD entre los patrones 1 y 2 o 3 como un patrón de un modelo de contexto para cbf__luma, cbf_cr y cbf_cb.
De esta manera, bajo un ambiente mezclado con una pluralidad de parámetros de control de tipos de señal, la unidad de control de contexto 142 o 242 determina un valor de contexto sin utilizar el bloque superior como un bloque adyacente particularmente cuando el tipo de señal del parámetro del control es cbf_luma, cbf_cr y cbf_cb. En otras palabras, la unidad de control de contexto 142 o 242
determina un valor de contexto utilizando el patrón 2 o 3 cuando el tipo de señal del parámetro de control es cbf_luma, cbf_cr y cbf_cb" . En otras palabras, el primer tipo incluye "split_coding_unit_flag" o "skip_flag" y el segundo tipo o el tercer tipo incluye "cbf_luma, cbf_cr y cbf_cb" . Por consiguiente, el aparato de codificación de imágenes y el aparato de decodificación de imágenes de acuerdo con la Modalidad 3 pueden reducir el uso de memoria mientras que suprimen la disminución en la velocidad de BD.
Cuando el patrón 2 se compara con el patrón 3 para cbf_luma, cbf_cr y cbf_cb, esas tasas de BD no tienen una diferencia significativa. De esta manera, se prefiere utilizar el patrón 3 para cbf_luma, cbf_cr y cbf_cb. Por consiguiente, es posible reducir adicionalmente el uso de memoria y la cantidad de procesamiento.
Adicionalmente, cbf_luma, cbf_cb y cbf_cr son valores de una matriz tridimensional , que tiene una profundidad. De esta manera, como se describe para la FIGURA 9B de acuerdo con la Modalidad 2, las distancias (alejamiento) entre valores de referencia adyacentes en el orden de decodificación (que incluye el orden de ejecución recursivo y será el mismo en lo sucesivo) son diferentes de acuerdo con las profundidades jerárquicas respectivas. Por consiguiente, si el valor del parámetro de control está o no realmente disponible o produce la ventaja de reducir el uso
de memoria difiere dependiendo de una posición de un bloque en la relación jerárquica.
De esta manera, las unidades de control de contexto 142 y 242 pueden cambiar un criterio de determinación de un valor condicional de acuerdo con la profundidad jerárquica. Por ejemplo, las unidades de control de contexto 142 y 242 pueden utilizar (seguir) un valor condicional de un bloque en la capa más alta como un valor condicional de un bloque en la capa inferior.
Adicionalmente , las unidades de control de contexto
142 y 242 pueden cambiar estos criterios en vista de la relación de posiciones con otro corte, además del anterior o individualmente .
Como resultado de las verificaciones anteriores, la siguiente modificación detallada es concebible. Si el efecto de dilución ocurre o no depende del número de entrenamientos a los cuales se aplica la condición. Generalmente, Y que representa luminancia en Y, U y V, tal como el formato 4:2:0, es mayor en número de muestras que los otros dos ejes (U y V) . De esta manera, un límite que debe ser distinguido está entre (a) luma y (b) un par de cb y cr.
Por ejemplo, el patrón 3 se puede aplicar a (a) cbf_luma y el otro patrón 2 o 1 se puede aplicar a (b) cbf_cb y cbf_cr. En otras palabras, las unidades de control de contexto 142 y 242 pueden determinar un contexto utilizando
una condición diferente para cada caso donde el tipo de señal es el "cbf_luma" o el tipo de señal es uno del "cbf_cb" y el "cbf_cr" . Adicionalmente , las unidades de control de contexto 142 y 242 pueden aplicar el patrón 1 a (a) cbf_luma y el otro patrón 2 o 3 a (b) cbf_cb y cbf_cr.
Adicionalmente, las unidades de control de contexto 142 y 242 pueden determinar un contexto de acuerdo con una profundidad jerárquica para (b) cbf_cb y cbf_cr.
El número de entrenamientos para cada una de las condiciones (condiciones M fijas ( < N) ) de (b) cbf_cb y cbf_cr que tienen el número menor de las muestras se puede aproximar al número de entrenamientos de cada una de las condiciones (condiciones N, por ejemplo, cuatro condiciones de 0, 1, 2 y 3) de (a) cbf_luma que tiene el número más grande de las muestras, al reducir en gran medida el número de las condiciones (condiciones de contexto) para cbf_cb y cbf_cr a más que aquel de (a) cbf_luma.
En este documento, las unidades de control de contexto 142 y 242 puede determinar un contexto de acuerdo con una profundidad jerárquica para (a) cbf_luma.
En este documento, cuando el número de entrenamientos es suficiente, se prefiere que las unidades de control de contexto 142 y 242 incrementen el número de condiciones (de contextos) para la precisión. Adicionalmente, se prefiere que las unidades de control de contexto 142 y 242
disminuyan el número de las condiciones de contexto cuando el número de entrenamientos es inferior. De esta manera, las unidades de control de contexto 142 y 242 pueden conmutar entre esas condiciones de acuerdo con la resolución. Adicionalmente , las unidades de control de contexto 142 y 242 pueden conmutar entre esas condiciones de acuerdo con el formato (4:2:0) y otros.
Adicionalmente, cbf_luma, cbf_cr y cbf_cb indican la presencia o ausencia de coeficientes de luma o croma. En otras palabras, cbf_luma, cbf_cr y cbf_cb son jerárquicamente inferiores que no_residual_data_flag lo que indica la presencia o ausencia de datos residuales. En este documento, no_residual_data_flag se utiliza para la TU más grande que se puede seleccionar para el tamaño de una CU en una relación de CU > PU = TU. Más específicamente, no_residual_data_flag se utiliza en la capa más alta de una TU. Por otra parte, cbf_luma, cbf_cr y cbf_cb se utilizan en una capa más baja que la capa de no_residual_data_flag . La presencia de no_residual_data_flag indica que los bloques subsecuentes no tienen datos residuales. Adicionalmente, conforme la profundidad es mayor, es probable que los datos residuales estén presentes. De esta manera, las unidades de control de contexto 142 y 242 pueden mejorar la eficiencia de codificación utilizando la información jerárquica para cbf_luma, cbf_cr y cbf_cb . En otras palabras, las unidades de
control de contexto 142 y 242 pueden determinar un contexto de acuerdo con una profundidad jerárquica de una unidad de datos a la cual pertenece el parámetro de control (cbf_luma, cbf_cr y cbf_cb) del bloque actual. Por otra parte, puesto que no_residual_data_flag es un indicador que depende de un modo de predicción, se prefiere que se utilice un valor fijo que no depende de una profundidad como un valor de contexto.
El resumen del resultado de verificaciones sobre todos los tipos de señal se describirá a continuación.
Las FIGURAS 29A y 29B son gráficas que indican cada una un resultado de "4.1 Ajuste de alta eficiencia, intra" (todos los tipos de señal) .
Las FIGURAS 30A y 30B son gráficas que indican cada una un resultado de "4.3 Ajuste de alta eficiencia, acceso aleatorio" (todos los tipos de señal) .
Las FIGURAS 31A y 31B son gráficas que indican cada una un resultado de "4.5 Ajuste de alta eficiencia, intra" (todos los tipos de señal) .
Las FIGURAS 32A y 32B son gráficas que indican cada una "4.7 Ajuste de alta eficiencia, retraso bajo (cortes P únicamente) " .
La FIGURA 33A es una tabla que indica un conjunto de parámetros en el cual uno de los patrones 1 a 3 se aplica a cada uno de los parámetros de control. En el ejemplo de la FIGURA 33A, el patrón 1 (que utiliza tanto el bloque superior
como el bloque izquierdo) se aplica a
"split_coding_unit_flag" y "skip_flag" y el patrón 3 (que no utiliza el bloque superior ni el bloque izquierdo) se aplica a "merge_flag" , "ref_idx", "inter_pred_flag" , "mvd_lO", "mvd_ll", "mvd_lc", "no_residual_data_flag" ,
"intra_chroma_pred_mode" , "cbf_luma", "cbf_cb" y "cbf_cr" .
La FIGURA 33B es una tabla que indica un resultado de la verificación cuando se utiliza el conjunto de parámetros indicado en la FIGURA 33A. Como se indica en la FIGURA 33B, el uso del conjunto de parámetros indicado en la FIGURA 33A puede reducir el uso de memoria mientras que suprime la disminución en la eficiencia de codificación.
La FIGURA 34A es una tabla que indica un ejemplo de otro conjunto de parámetros. En el ejemplo de la FIGURA 34A, el patrón 1 (que utiliza tanto el bloque superior como el bloque izquierdo) se aplica a "split_coding_unit_flag" y "skip_flag", el patrón 2 (que solo utiliza el bloque izquierdo) se aplica a "intra_chroma_pred_mode" , "cbf_luma" , "cbf_cb" y "cbf_cr" y el patrón 3 (que no utiliza el bloque superior ni el bloque izquierdo) se aplica a "merge_flag" , "ref_idx", "inter_pred_flag" , "mvd_l0" , "mvd_ll" , "mvd_lc" y "no_residual_data_flag" .
La FIGURA 34B es una tabla que' indica un resultado de la verificación cuando se utiliza el conjunto de parámetros indicado en la FIGURA 34A. Como se indica en la
12
FIGURA 34B, el uso del conjunto de parámetros indicado en la FIGURA 34A puede reducir el uso de memoria mientras que suprime la disminución en la eficiencia de codificación.
Adicionalmente , la unidad de control de contexto 142 o 242 puede determinar un contexto utilizando una profundidad como se describiera anteriormente.
La FIGURA 35 es un diagrama de flujo que indica un método de codificación aritmética ejecutado por la unidad de codificación de longitud variable 104. Los procesos de la FIGURA 35 se obtienen al agregar los Pasos Slll y S112 a los procesos de la FIGURA 4.
Cuando el tipo de señal es el cuarto tipo que corresponde al patrón 4 (cuarto tipo en S104) , la unidad de control de contexto 142 determina un valor de contexto utilizando un valor de un parámetro de control de un bloque adyacente (bloque izquierdo) y una profundidad del bloque actual, como el patrón 4 (Slll) . En otras palabras, la unidad de control de contexto 142 determina un contexto de acuerdo con un parámetro de control del bloque izquierdo y una profundidad jerárquica de una unidad de datos a la cual pertenece el parámetro de control del bloque actual, sin utilizar un parámetro de control del bloque superior.
Adicionalmente, cuando el tipo de señal es el quinto tipo que corresponde al patrón 5 (quinto tipo en S104), la unidad de control de contexto 142 determina un
valor de contexto utilizando una profundidad del bloque actual como el patrón 5 (S112) . En otras palabras, la unidad de control de contexto 142 determina un contexto de acuerdo con una profundidad jerárquica de una unidad de datos a la cual pertenece el parámetro de control del bloque actual, sin utilizar los parámetros de control del bloque superior y el bloque izquierdo.
La unidad de decodificación de longitud variable 202 realiza los mismos procesos. La FIGURA 36 es un diagrama de flujo que indica un método de decodificación aritmética ejecutado por la unidad de decodificación de longitud variable 202. Los procesos de la FIGURA 36 se obtienen al agregar los Pasos S213 y S214 a los procesos mostrados en la FIGURA 7.
Cuando el tipo de señal es el cuarto tipo que corresponde al patrón 4 (cuarto tipo en S205) , la unidad de control de contexto 242 determina un valor de contexto utilizando un valor de un parámetro de control de un bloque adyacente (bloque izquierdo) y una profundidad del bloque actual, como el patrón 4 (S213) . En otras palabras, la unidad de control de contexto 242 determina un contexto de acuerdo con un parámetro de control del bloque izquierdo y una profundidad jerárquica de una unidad de datos a la cual pertenece el parámetro de control del bloque actual, sin utilizar un parámetro de control del bloque superior.
Adicionalmente , cuando el tipo de señal es el
quinto tipo que corresponde al patrón 5 (quinto tipo en S205) , la unidad de control de contexto 242 determina un valor de contexto utilizando una profundidad del bloque actual como el patrón 5 (S214) . En otras palabras, la unidad de control de contexto 242 determina un contexto de acuerdo con una profundidad jerárquica de una unidad de datos a la cual pertenece el parámetro de control del bloque actual, sin utilizar los parámetros de control del bloque superior y el bloque izquierdo.
En este documento, en la descripción de cada una de las Modalidades, el patrón 2 puede ser reemplazado por el patrón 4 y el patrón 3 puede ser reemplazado por el patrón 5.
Aunque se describe el aparato de codificación de imágenes y el aparato de decodificación de imágenes de acuerdo con las Modalidades 1 a 3 de la presente invención, la presente invención no está limitada a esas Modalidades.
Por ejemplo, por lo menos parte del aparato de codificación de imágenes, el aparato de decodificación de imágenes y funciones de las modificaciones de esos aparatos de acuerdo con las Modalidades 1 a 3 se pueden combinar.
Adicionalmente, todos los valores y los valores lógicos descritos anteriormente son ejemplificaciones para describir específicamente la presente invención y la presente invención no está limitada por los valores ejemplificados.
Adicionalmente, las divisiones de los bloques funcionales en los diagramas de bloque son ejemplos. De esta
manera, los bloques funcionales se pueden implementar como un bloque funcional, un bloque funcional se puede dividir en una pluralidad de bloques funcionales y una parte de las funciones puede ser conmutada a otro bloque funcional. Adicionalmente, una pluralidad de bloques funcionales que tienen funciones similares pueden ser procesados por un hardware o software individual en paralelo o con división de tiempo.
Los órdenes de los pasos del método de codificación de imágenes realizado por el aparato de codificación de imágenes y el método de decodificación de imágenes realizado por el aparato de decodificación de imágenes son para describir específicamente la presente invención y pueden ser un orden diferente de los órdenes anteriores. Adicionalmente, parte de los pasos se pueden realizar simultáneamente (en paralelo) con los otros pasos.
Verificaciones adicionales
El resultado de las verificaciones en las combinaciones de tipos de señal y los métodos de determinación de contextos se describirán a continuación. Con las combinaciones, se verifica que el uso de memoria se puede reducir sin disminuir una velocidad de BD a un grado mayor. Combinación 1
skip_flag Patrón 1 (que se refiere tanto al bloque superior como al bloque izquierdo) ;
split_coding_unit_flag Patrón 1 (que se refiere tanto al
bloque superior como al bloque izquierdo) ;
merge_flag Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ,-intra_chroma_pred_mode Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
inter_pred_flag Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
ref_idx Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
mvd Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
cbf_luma ( intra) Patrón 1 (que se refiere tanto al bloque superior como al bloque izquierdo) ; y
cbf_chroma ( intra) Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) .
Combinación 2
skip_flag Patrón 1 (que se refiere tanto al bloque superior como al bloque izquierdo) ;
split_coding_unit_flag Patrón 1 (que se refiere tanto al bloque superior como al bloque izquierdo) ;
merge_flag Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
intra_chroma_pred_mode Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
inter_pred_flag Patrón 3 (que no se refiere al bloque
superior ni al bloque izquierdo) ;
ref_idx Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
mvd Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
cbf_luma ( intra) Patrón 1 (que se refiere tanto al bloque superior como al bloque izquierdo) ; y
cbf__chroma ( intra) Patrón 5 (que no se refiere al bloque superior ni al bloque izquierdo sino a una profundidad) .
Combinación 3
skip_flag Patrón 1 (que se refiere tanto al bloque superior como al bloque izquierdo) ;
split_coding_unit_flag Patrón 1 (que se refiere tanto al bloque superior como al bloque izquierdo) ;
merge_flag Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
intra_chroma_pred_mode Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
inter_pred_flag Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
ref_idx Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ,
mvd Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
cbf_luma ( intra) Patrón 3 (que no se refiere al bloque
superior ni al bloque izquierdo) ; y
cbf_chroma ( intra) Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) .
Combinación 4
skip_flag Patrón 1 (que se refiere tanto al bloque superior como al bloque izquierdo) ;
split_coding_unit_flag Patrón 1 (que se refiere tanto al bloque superior como al bloque izquierdo) ;
merge_flag Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
intra_chroma_pred_mode Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
inter_pred_flag Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
ref_idx Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
mvd Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
cbf_luma ( intra) Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ; y
cbf_chroma ( intra) Patrón 5 (que no se refiere al bloque superior ni al bloque izquierdo sino a una profundidad) .
Combinación 5
skip_flag Patrón 1 (que se refiere tanto al bloque superior como al bloque izquierdo) ;
split_coding_unit_flag Patrón 1 (que se refiere tanto al bloque superior como al bloque izquierdo) ;
merge_flag Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
intra_chroma_pred_mode Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
inter_pred_flag Patrón 5 (que no se refiere al bloque superior ni al bloque izquierdo sino a una profundidad) ;
ref_idx Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
mvd Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
cbf_luma ( intra) Patrón 1 (que se refiere tanto al bloque superior como al bloque izquierdo) ; y
cbf_chroma ( intra) Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) .
Combinación 6
skip_flag Patrón 1 (que se refiere tanto al bloque superior como al bloque izquierdo) ;
split_coding_unit_flag Patrón 1 (que se refiere tanto al bloque superior como al bloque izquierdo) ;
merge_flag Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
intra_chroma_pred_mode Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
inter_pred_flag Patrón 5 (que no se refiere al bloque superior ni al bloque izquierdo sino a una profundidad) ;
ref_idx Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
mvd Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
cbf_luma ( intra) Patrón 1 (que se refiere tanto al bloque superior como al bloque izquierdo) ,- y
cbf_chroma (intra) Patrón 5 (que no se refiere al bloque superior ni al bloque izquierdo sino a una profundidad) .
Combinación 7
skip_flag Patrón 1 (que se refiere tanto al bloque superior como al bloque izquierdo) ;
split_coding_unit_flag Patrón 1 (que se refiere tanto al bloque superior como al bloque izquierdo) ;
merge_flag Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
intra_chroma_pred_mode Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
inter_pred_flag Patrón 5 (que no se refiere al bloque superior ni al bloque izquierdo sino a una profundidad) ;
ref_idx Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
mvd Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
cbf_luma ( intra) Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ; y
cbf_chroma ( intra) Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) .
Combinación 8
skip_flag Patrón 1 (que se refiere tanto al bloque superior como al bloque izquierdo) ;
split_coding_unit_flag Patrón 1 (que se refiere tanto al bloque superior como al bloque izquierdo) ;
merge_flag Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
intra_chroma_pred_mode Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
inter_pred_flag Patrón 5 (que no se refiere al bloque superior ni al bloque izquierdo sino a una profundidad) ;
ref_idx Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
mvd Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ,
cbf_luma ( intra) Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ; y
cbf_chroma ( intra) Patrón 5 (que no se refiere al bloque superior ni al bloque izquierdo sino a una profundidad) .
Combinación 9
skip_flag Patrón 1 (que se refiere tanto al bloque superior
como al bloque izquierdo) ;
split_coding_unit_flag Patrón 2 (que se refiere al bloque izquierdo) ;
merge_flag Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
intra_chroma_pred_mode Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
inter_pred_flag Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
ref_idx Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
mvd Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
cbf_luma ( intra) Patrón 1 (que se refiere tanto al bloque superior como al bloque izquierdo) ; y
cbf_chroma ( intra) Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) .
Combinación 10
skip_flag Patrón 1 (que se refiere tanto al bloque superior como al bloque izquierdo) ;
split_coding_unit_flag Patrón 2 (que se refiere al bloque izquierdo) ;
merge_flag Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
intra_chroma_pred_mode Patrón 3 (que no se refiere al bloque
superior ni al bloque izquierdo) ;
inter_pred_flag Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
ref_idx Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
mvd Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
cbf_luma ( intra) Patrón 1 (que se refiere tanto al bloque superior como al bloque izquierdo) ; y
cbf_chroma ( intra) Patrón 5 (que no se refiere al bloque superior ni al bloque izquierdo sino a una profundidad) .
Combinación 11
skip_flag Patrón 1 (que se refiere tanto al bloque superior como al bloque izquierdo) ;
split_coding_unit_flag Patrón 2 (que se refiere al bloque izquierdo) ;
merge_flag Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
intra_chroma_pred_mode Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
inter_pred_flag Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
ref_idx Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
mvd Patrón 3 (que no se refiere al bloque superior ni al
bloque izquierdo) ;
cbf_luma ( intra) Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ; y
cbf_chroma (intra) Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) .
Combinación 12
skip_flag Patrón 1 (que se refiere tanto al bloque superior como al bloque izquierdo) ;
split_coding_unit_flag Patrón 2 (que se refiere al bloque izquierdo) ;
merge_flag Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
intra_chroma_pred_mode Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
inter_pred_flag Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
ref_idx Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
mvd Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
cbf_luma (intra) Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ; y
cbf_chroma ( intra) Patrón 5 (que no se refiere al bloque superior ni al bloque izquierdo sino a una profundidad) .
Combinación 13
skip_flag Patrón 1 (que se refiere tanto al bloque superior como al bloque izquierdo)
split_coding_unit_flag Patrón 2 (que se refiere al bloque izquierdo) ;
merge_flag Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
intra_chroma_pred_mode Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
inter_pred_flag Patrón 5 (que no se refiere al bloque superior ni al bloque izquierdo sino a una profundidad) ;
ref_idx Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
mvd Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
cbf_luma (intra) Patrón 1 (que se refiere tanto al bloque superior como al bloque izquierdo) ; y
cbf_chroma ( intra) Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) .
Combinación 14
skip_flag Patrón 1 (que se refiere tanto al bloque superior como al bloque izquierdo) ;
split_coding_unit_flag Patrón 2 (que se refiere al bloque izquierdo) ;
merge_flag Patrón 3 (que no se refiere al bloque superior ni
al bloque izquierdo) ;
intra_chroma_pred_mode Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
inter_pred_flag Patrón 5 (que no se refiere al bloque superior ni al bloque izquierdo sino a una profundidad) ;
ref_idx Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
mvd Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
cbf_luma ( intra) Patrón 1 (que se refiere tanto al bloque superior como al bloque izquierdo) ; y
cbf_chroma (intra) Patrón 5 (que no se refiere al bloque superior ni al bloque izquierdo sino a una profundidad) .
Combinación 15
skip_flag Patrón 1 (que se refiere tanto al bloque superior como al bloque izquierdo) ;
split_coding_unit_flag Patrón 2 (que se refiere al bloque izquierdo) ;
merge_flag Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
intra_chroma_pred_mode Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
inter_pred_flag Patrón 5 (que no se refiere al bloque superior ni al bloque izquierdo sino a una profundidad) ;
ref_idx Patrón 3 (que no se refiere al bloque superior ni al
bloque izquierdo) ;
mvd Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
cbf_luma ( intra) Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ; y
cbf_chroma ( intra) Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) .
Combinación 16
skip_flag Patrón 1 (que se refiere tanto al bloque superior como al bloque izquierdo) ;
split_coding_unit_flag Patrón 2 (que se refiere al bloque izquierdo) ;
merge_flag Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
intra_chroma_pred_mode Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
inter_pred_flag Patrón 5 (que no se refiere al bloque superior ni al bloque izquierdo sino a una profundidad) ;
ref_idx Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
mvd Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
cbf_luma ( intra) Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ; y
cbf_chroma ( intra) Patrón 5 (que no se refiere al bloque
superior ni al bloque izquierdo sino a una profundidad) .
Combinación 17
skip_flag Patrón 1 (que se refiere tanto al bloque superior como al bloque izquierdo) ;
split_coding_unit_flag Patrón 4 (que se refiere al bloque izquierdo y una profundidad) ;
merge_flag Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
intra_chroma_pred_mode Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
inter_pred_flag Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
ref_idx Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
mvd Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
cbf_luma ( intra) Patrón 1 (que se refiere tanto al bloque superior como al bloque izquierdo) ; y
cbf_chroma ( intra) Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) .
Combinación 18
skip_flag Patrón 1 (que se refiere tanto al bloque superior como al bloque izquierdo) ;
split_coding_unit_flag Patrón 4 (que se refiere al bloque izquierdo y una profundidad) ;
merge_flag Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
intra_chroma_pred_mode Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
inter_pred_flag Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
ref_idx Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
mvd Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
cbf_luma ( intra) Patrón 1 (que se refiere tanto al bloque superior como al bloque izquierdo) ; y
cbf_chroma ( intra) Patrón 5 (que no se refiere al bloque superior ni al bloque izquierdo sino a una profundidad) .
Combinación 19
skip_flag Patrón 1 (que se refiere tanto al bloque superior como al bloque izquierdo) ;
split_coding_unit_flag Patrón 4 (que se refiere al bloque izquierdo y una profundidad) ;
merge_flag Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
intra_chroma_pred_mode Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
inter_pred_flag Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
ref_idx Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
mvd Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
cbf_luraa (intra) Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ; y
cbf_chroma ( intra) Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) .
Combinación 20
skip_flag Patrón 1 (que se refiere tanto al bloque superior como al bloque izquierdo) ;
split_coding_unit_flag Patrón 4 (que se refiere al bloque izquierdo y una profundidad) ;
merge_flag Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
intra_chroma_pred_mode Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
inter_pred_flag Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
ref_idx Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
mvd Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
cbf_luma ( intra) Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ,- y
4
cbf_chroma ( intra) Patrón 5 (que no se refiere al bloque superior ni al bloque izquierdo sino a una profundidad) .
Combinación 21
skip_flag Patrón 1 (que se refiere tanto al bloque superior como al bloque izquierdo) ;
split_coding_unit_flag Patrón 4 (que se refiere al bloque izquierdo y una profundidad) ;
merge_flag Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
intra_chroma_pred_mode Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
inter_pred_flag Patrón 5 (que no se refiere al bloque superior ni al bloque izquierdo sino a una profundidad) ;
ref_idx Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
mvd Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
cbf_lum ( intra) Patrón 1 (que se refiere tanto al bloque superior como al bloque izquierdo) ; y
cbf_chroma ( intra) Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) .
Combinación 22
skip_flag Patrón 1 (que se refiere tanto al bloque superior como al bloque izquierdo) ;
split_coding_unit_flag Patrón 4 (que se refiere al bloque
izquierdo y una profundidad) ;
merge_flag Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
intra_chroma_pred_mode Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
inter_pred_flag Patrón 5 (que no se refiere al bloque superior ni al bloque izquierdo sino a una profundidad) ;
ref_idx Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
mvd Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
cbf_luma (intra) Patrón 1 (que se refiere tanto al bloque superior como al bloque izquierdo) ; y
cbf_chroma ( intra) Patrón 5 (que no se refiere al bloque superior ni al bloque izquierdo sino a una profundidad) .
Combinación 23
skip_flag Patrón 1 (que se refiere tanto al bloque superior como al bloque izquierdo) ;
split_coding_unit_flag Patrón 4 (que se refiere al bloque izquierdo y una profundidad) ;
merge_flag Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
intra_chroma_pred_mode Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
inter_pred_flag Patrón 5 (que no se refiere al bloque
14
superior ni al bloque izquierdo sino a una profundidad) ;
ref_idx Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ,
mvd Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
cbf_luma ( intra) Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ; y
cbf_chroma ( intra) Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) .
Combinación 24
skip_flag Patrón 1 (que se refiere tanto al bloque superior como al bloque izquierdo) ;
split_coding_unit_flag Patrón 4 (que se refiere al bloque izquierdo y una profundidad) ;
merge_flag Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
intra_chroma_pred_mode Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
inter_pred_flag Patrón 5 (que no se refiere al bloque superior ni al bloque izquierdo sino a una profundidad) ,· ref_idx Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
mvd Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
cbf_luma ( intra) Patrón 3 (que no se refiere al bloque
superior ni al bloque izquierdo) y
cbf_chroma (intra) Patrón 5 (que no se refiere al bloque superior ni al bloque izquierdo sino a una profundidad) .
Combinación 25
skip_flag Patrón 1 (que se refiere tanto al bloque superior como al bloque izquierdo) ;
split_coding_unit_flag Patrón 1 (que se refiere tanto al bloque superior como al bloque, izquierdo) ;
merge_flag Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
intra_chroma_pred_mode Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
inter_pred_flag Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
ref_idx Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
mvd Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
cbf_luma ( intra) Patrón 5 (que no se refiere al bloque superior ni al bloque izquierdo sino a una profundidad) ; y cbf_chroma ( intra) Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) .
Combinación 26
skip_flag Patrón 1 (que se refiere tanto al bloque superior como al bloque izquierdo) ;
split_coding_unit_flag Patrón 1 (que se refiere tanto al bloque superior como al bloque izquierdo) ;
merge_flag Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
intra_chroma_pred_mode Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
iriter_pred_flag Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
ref_idx Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
mvd Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
cbf_luma ( intra) Patrón 5 (que no se refiere al bloque superior ni al bloque izquierdo sino a una profundidad) ; y cbf_chroma ( intra) Patrón 5 (que no se refiere al bloque superior ni al bloque izquierdo sino a una profundidad) .
Combinación 27
skip_flag Patrón 1 (que se refiere tanto al bloque superior como al bloque izquierdo) ;
split_coding_unit_flag Patrón 1 (que se refiere tanto al bloque superior como al bloque izquierdo) ;
merge_flag Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
intra_chroma_pred_mode Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
inter_pred_flag Patrón 5 (que no se refiere al bloque superior ni al bloque izquierdo sino a una profundidad) ;
ref_idx Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
mvd Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
cbf_luma ( intra) Patrón 5 (que no se refiere al bloque superior ni al bloque izquierdo sino a una profundidad) ; y cbf_chroma ( intra) Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) .
Combinación 28
skip_flag Patrón 1 (que se refiere tanto al bloque superior como al bloque izquierdo) ;
split_coding_unit_flag Patrón 1 (que se refiere tanto al bloque superior como al bloque izquierdo) ;
merge_flag Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
intra_chroma_pred_mode Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
inter_pred_flag Patrón 5 (que no se refiere al bloque superior ni al bloque izquierdo sino a una profundidad) ;
ref_idx Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
mvd Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
cbf_luma ( intra) Patrón 5 (que no se refiere al bloque superior ni al bloque izquierdo sino a una profundidad) ; y cbf_chroma ( intra) Patrón 5 (que no se refiere al bloque superior ni al bloque izquierdo sino a una profundidad) .
Combinación 29
skip_flag Patrón 1 (que se refiere tanto al bloque superior como al bloque izquierdo) ;
split_coding_unit_flag Patrón 2 (que se refiere al bloque izquierdo) ;
merge_flag Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
intra_chroma_pred_mode Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
inter_pred_flag Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
ref_idx Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
mvd Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
cbf_luma ( intra) Patrón 5 (que no se refiere al bloque superior ni al bloque izquierdo sino a una profundidad) ; y cbf_chroma (intra) Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) .
Combinación 30
skip_flag Patrón 1 (que se refiere tanto al bloque superior
como al bloque izquierdo) ;
split_coding_unit_flag Patrón 2 (que se refiere al bloque izquierdo) ;
merge_flag Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
intra_chroma_pred_mode Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
inter_pred_flag Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
ref_idx Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
mvd Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
cbf_luma (intra) Patrón 5 (que no se refiere al bloque superior ni al bloque izquierdo sino a una profundidad) ; y cbf_chroma ( intra) Patrón 5 (que no se refiere al bloque superior ni al bloque izquierdo sino a una profundidad) .
Combinación 31
skip_flag Patrón 1 (que se refiere tanto al bloque superior como al bloque izquierdo) ;
split_coding_unit_flag Patrón 2 (que se refiere al bloque izquierdo) ;
merge_flag Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
intra_chroma_pred_mode Patrón 3 (que no se refiere al bloque
superior ni al bloque izquierdo) ;
inter_pred_flag Patrón 5 (que no se refiere al bloque superior ni al bloque izquierdo sino a una profundidad) ;
ref_idx Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
mvd Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
cbf_luma ( intra) Patrón 5 (que no se refiere al bloque superior ni al bloque izquierdo sino a una profundidad) ; y cbf_chroma ( intra) Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) .
Combinación 32
skip_flag Patrón 1 (que se refiere tanto al bloque superior como al bloque izquierdo) ;
split_coding_unit_flag Patrón 2 (que se refiere al bloque izquierdo) ;
merge_flag Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
intra_chroma_pred_mode Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
inter_pred_flag Patrón 5 (que no se refiere al bloque superior ni al bloque izquierdo sino a una profundidad) ;
ref_idx Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
mvd Patrón 3 (que no se refiere al bloque superior ni al
bloque izquierdo) ;
cbf_luma (intra) Patrón 5 (que no se refiere al bloque superior ni al bloque izquierdo sino a una profundidad) ; y cbf_chroma ( intra) Patrón 5 (que no se refiere al bloque superior ni al bloque izquierdo sino a una profundidad) .
Combinación 33
skip_flag Patrón 1 (que se refiere tanto al bloque superior como al bloque izquierdo) ;
split_coding_unit_flag Patrón 4 (que se refiere al bloque izquierdo y una profundidad) ;
merge_flag Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
intra_chroma_pred_mode Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
inter_pred_flag Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
ref idx Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
mvd Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
cbf_luma ( intra) Patrón 5 (que no se refiere al bloque superior ni al bloque izquierdo sino a una profundidad) ; y cbf_chroma ( intra) Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) .
Combinación 34
skip_flag Patrón 1 (que se refiere tanto al bloque superior como al bloque izquierdo) ;
split_coding_unit_flag Patrón 4 (que se refiere al bloque izquierdo y una profundidad) ,
merge_flag Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
intra_chroma_pred_mode Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
inte _ red_flag Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
ref_idx Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
mvd Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ,
cbf_luma ( intra) Patrón 5 (que no se refiere al bloque superior ni al bloque izquierdo sino a una profundidad) ; y cbf_chroma ( intra) Patrón 5 (que no se refiere al bloque superior ni al bloque izquierdo sino a una profundidad) .
Combinación 35
skip_flag Patrón 1 (que se refiere tanto al bloque superior como al bloque izquierdo) ;
split_coding_unit_flag Patrón 4 (que se refiere al bloque izquierdo y una profundidad) ;
merge_flag Patrón 3 (que no se refiere al bloque superior ni
al bloque izquierdo) ;
intra_chroma_pred_mode Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
inter_pred_flag Patrón 5 (que no se refiere al bloque superior ni al bloque izquierdo sino a una profundidad) ;
ref_idx Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
mvd Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
cbf_luma ( intra) Patrón 5 (que no se refiere al bloque superior ni al bloque izquierdo sino a una profundidad) ; y cbf_chroma ( intra) Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) .
Combinación 36
skip_flag Patrón 1 (que se refiere tanto al bloque superior como al bloque izquierdo) ;
split_coding_unit_flag Patrón 4 (que se refiere al bloque izquierdo y una profundidad) ;
merge_flag Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
intra_chroma_pred_mode Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
inter_pred_flag Patrón 5 (que no se refiere al bloque superior ni al bloque izquierdo sino a una profundidad) ;
ref_idx Patrón 3 (que no se refiere al bloque superior ni al
bloque izquierdo) ;
mvd Patrón 3 (que no se refiere al bloque superior ni al bloque izquierdo) ;
cbf_luma ( intra) Patrón 5 (que no se refiere al bloque superior ni al bloque izquierdo sino a una profundidad) ; y cbf_chroma ( intra) Patrón 5 (que no se refiere al bloque superior ni al bloque izquierdo sino a una profundidad) .
Modalidad 4
El procesamiento descrito en cada una de las Modalidades puede ser implementado simplemente por un sistema de computadora al grabar, en un medio de grabación, un programa para implementar la estructura del método de codificación de imágenes en movimiento o el método de decodificación de imágenes en movimiento descritos la Modalidad. El medio de grabación puede ser cualquier medio de grabación siempre y cuando el programa pueda ser grabado en el mismo, tal como un disco magnético, un disco óptico, un disco óptico magnético, una tarjeta IC y una memoria semiconductora.
En lo sucesivo, se describirán las aplicaciones para el método de codificación de imágenes en movimiento o el método de decodificación de imágenes en movimiento descritos en cada una de las Modalidades y un sistema que utiliza los mismos.
La FIGURA 39 ilustra una configuración completa de un sistema de provisión de contenido exlOO para implementar servicios de distribución de contenido. El área para
proporcionar servicios de comunicación se divide en celdas del tamaño deseado y las estaciones base exl06 a exllO las cuales son estaciones inalámbricas fijas se colocan en cada una de. las celdas.
El sistema de provisión de contenido exlOO se conecta a dispositivos, tal como una computadora exlll, un asistente digital personal (PDA, por sus siglas en inglés) exll2, una cámara exll3, un teléfono celular exll4 y una consola de videojuegos exll5, por vía de la Internet exlOl, un proveedor de servicios de Internet exl02, una red telefónica exl04, así como también las estaciones base exl06 a exllO.
Sin embargo, la configuración del sistema de provisión de contenido exlOO no está limitada a la configuración mostrada en la FIGURA 39 y es aceptable una combinación en la cual cualquiera de los elementos se conecta. Además, cada uno de los dispositivos se puede conectar directamente a la red telefónica exl04, preferiblemente que por vía de las estaciones base exl06 a exllO las cuales son las estaciones inalámbricas fijas. Adicionalmente, los dispositivos se pueden interconectar entre sí por vía de una comunicación inalámbrica a corta distancia y otras.
La cámara exll3, tal como una cámara de video digital, es capaz de capturar imágenes en movimiento. Una cámara exll6, tal como una cámara de video digital, es capaz de capturar tanto imágenes fijas como imágenes en movimiento. Adicionalmente, el teléfono celular exll4 puede ser aquel que
cumpla con cualquiera de los estándares tales como el Sistema Global para Comunicaciones Móviles (GSM, por sus siglas en inglés) , Acceso Múltiple por División de Código (CDMA, por sus siglas en inglés) , Acceso Múltiple por División de Código de Banda Ancha (W-CDMA, por sus siglas en inglés) , Evolución a Largo Plazo (LTE, por sus siglas en inglés) y Acceso de Paquetes a Alta Velocidad (HSPA, por sus siglas en inglés) . Alternativamente, el teléfono celular exll4 puede ser un Sistema de Teléfonos Personales (PHS, por sus siglas en inglés) .
En el sistema de provisión de contenido exlOO, un servidor de transmisión ininterrumpida exl03 se conecta a la cámara exll3 y otros por vía de la red telefónica exl04 y la estación base exl09, lo cual hace posible la distribución de un espectáculo en vivo y otros. Para esta distribución, un contenido (por ejemplo, video de un espectáculo musical en vivo) capturado por el usuario utilizando la cámara exll3 se codifica como se describiera anteriormente en cada una de las Modalidades y el contenido codificado se transmite al servidor de transmisión ininterrumpida exl03. Por otra parte, el servidor de transmisión ininterrumpida exl03 lleva a cabo la distribución ininterrumpida de los datos de contenido recibidos a los clientes cuando lo soliciten. Los clientes incluyen la computadora exlll, el PDA exll2, la cámara exll3, el teléfono celular exll4 y la consola de videojuegos ex!15
que son capaces de decodificar los datos codificados que se mencionaron anteriormente. Cada uno de los dispositivos que ha recibido los datos distribuidos decodifica y reproduce los datos codificados.
Los datos capturados pueden ser codificados por la cámara exll3 o el servidor de transmisión ininterrumpida exl03 que transmite los datos, o los procesos de codificación pueden ser compartidos entre la cámara exll3 y el servidor de transmisión ininterrumpida exl03. Similarmente , los datos distribuidos pueden ser decodificados por los clientes o el servidor de transmisión ininterrumpida exl03, o los procesos de decodificación pueden ser compartidos entre los clientes y el servidor de transmisión ininterrumpida exl03. Adicionalmente, los datos de las imágenes fijas e imágenes en movimiento capturados no solo por la cámara exll3 sino también la cámara exll6 pueden ser transmitidos al servidor de transmisión ininterrumpida exl03 a través de la computadora exlll. Los procesos de codificación pueden ser realizados por la cámara exll6, la computadora exlll o el servidor de transmisión ininterrumpida exl03, o pueden ser compartidos entre los mismos.
Adicionalmente, en general, la computadora exlll y un LSI ex500 incluidos en cada uno de los dispositivos realizan estos procesos de codificación y decodificación. El LSI ex500 se puede configurar de un chip individual o una
pluralidad de chips . El software para codificar y decodificar imágenes en movimiento puede ser integrado en algún tipo de medio de grabación (tal como un CD-ROM, un disco flexible, un disco duro) que es legible por la computadora exlll y otros, y los procesos de codificación y decodificación se pueden realizar utilizando el software. Adicionalmente , cuando el teléfono celular exll4 se equipa con una cámara, los datos de video obtenidos por la cámara se pueden transmitir. Los datos de video son datos codificados por el LSI ex500 incluido en el teléfono celular exll4.
Adicionalmente, el servidor de transmisión ininterrumpida exl03 puede estar compuesto de servidores y computadoras y puede descentralizar datos y procesar los datos descentralizados, grabar o distribuir datos.
Como se describiera anteriormente, los ' clientes pueden recibir y reproducir los datos codificados en el sistema de provisión de contenido exlOO. En otras palabras, los clientes pueden recibir y decodificar información transmitida por el usuario y pueden reproducir los datos decodificados en tiempo real en el sistema de provisión de contenido exlOO, de modo que el usuario que no tiene ningún derecho y equipo particular puede implementar una difusión personal .
La presente invención no está limitada al sistema de provisión de contenido exlOO mencionado anteriormente, y
por lo menos cualquiera del aparato de codificación de imágenes en movimiento o el aparato de decodificación de imágenes en movimiento descritos en cada una de las Modalidades se puede incorporar en un sistema de difusión digital ex200 como se muestra en la FIGURA 40. Más específicamente, una estación de difusión ex201 comunica o transmite, por vía de ondas de radio a un satélite de difusión ex202, datos multiplexados que se obtienen al multiplexar los datos de audio y los datos de video. Los datos de video son datos codificados de acuerdo con el método de codificación de imágenes en movimiento descrito en cada una de las Modalidades. Con la recepción de los datos de video, el satélite de difusión ex202 transmite ondas de radio para la difusión. Luego, una antena de uso casero ex204 con capacidad para recibir una difusión satelital recibe las ondas de radio. Un dispositivo, tal como una televisión (receptor) ex300 y un sintonizador externo (STB, por sus siglas en inglés) ex217, decodifica los datos multiplexados recibidos y reproduce los datos.
Adicionalmente , un lector/grabador ex218 que (i) lee y decodifica los datos multiplexados que están grabados en un medio de grabación ex215, tal como un DVD y un BD o (ii) codifica señales de video en el medio de grabación ex215, y en algunos casos, escribe datos obtenidos al multiplexar una señal de audio en los datos codificados puede
incluir el aparato de decodificación de imágenes en movimiento o el aparato de codificación de imágenes en movimiento como se muestra en cada una de las Modalidades. En este caso, las señales de video reproducidas son exhibidas en el monitor ex219, y otro aparato o sistema puede reproducir las señales de video, utilizando el medio de grabación ex215 en el cual se graban los datos multiplexados . Adicionalmente , también es posible implementar el aparato de decodificación de imágenes en movimiento en el sintonizador externo ex217 conectado al cable ex203 para una televisión de cable o la antena ex204 para la difusión satelital y/o terrestre, con el fin de exhibir las señales de video en el monitor ex219 de la televisión ex300. El aparato de decodificación de imágenes en movimiento puede no ser incluido en el sintonizador externo sino en la televisión ex300.
La FIGURA 41 ilustra la televisión (receptor) ex300 que utiliza el método de codificación de imágenes en movimiento y el método de decodificación de imágenes en movimiento descritos en cada una de las Modalidades. La televisión ex300 incluye: un dispositivo de sintonización ex301 que obtiene o proporciona datos multiplexados obtenidos al multiplexar los datos de audio y los datos de video a través de la antena ex204 o el cable ex203, etcétera que recibe una difusión; una unidad de modulación/desmodulación ex302 que desmodula los datos multiplexados recibidos o
modula datos en datos multiplexados que son suministrados al exterior; y una unidad de multiplexión/desmultiplexión ex303 que desmultiplexa los datos multiplexados modulados en datos de video y datos de audio o multiplexa los datos de video y datos de audio codificados por la unidad de procesamiento de señales ex306 en datos.
Adicionalmente , la televisión ex300 incluye además: una unidad de procesamiento de señales ex306 que incluye una unidad de procesamiento de señales de audio ex304 y una unidad de procesamiento de señales de video ex305 que decodifican datos de audio y datos de video y codifican datos de audio y datos de video, respectivamente; un altavoz ex307 que proporciona la señal de audio decodificada; y una unidad de salida ex309 que incluye una unidad de exhibición ex308 que exhibe la señal de video decodificada, tal como una pantalla. Adicionalmente, la televisión ex300 incluye una unidad de interconexión ex317 que incluye una unidad de entrada de operación ex312 que recibe una entrada de una operación del usuario. Adicionalmente, la televisión ex300 incluye una unidad de control ex310 que controla en conjunto cada elemento constituyente de la televisión ex300 y una unidad de circuitos de suministro de energía ex311 que suministra energía a cada uno de los elementos. A diferencia de la unidad de entrada de operación ex312, la unidad de interconexión ex317 puede incluir:, un puente ex313 que se
conecta a un dispositivo externo, tal como el lector/grabador ex218; una unidad de ranura ex314 para hacer posible la unión del medio de grabación ex216, tal como una tarjeta SD; un controlador ex315 que es conectado a un medio de grabación externo, tal como un disco duro; y un módem ex316 que es conectado a una red telefónica. En este documento, el medio de grabación ex216 puede grabar eléctricamente información utilizando un elemento de memoria semiconductora no volátil/volátil para el almacenamiento. Los elementos constituyentes de la televisión ex300 se conectan entre sí a través de una barra colectora sincrónica.
En primer lugar, se describirá una configuración en la cual la televisión ex300 decodifica los datos multiplexados obtenidos del exterior a través de la antena ex204 y otros y reproduce los datos decodificados . En la televisión ex300, con la recepción de una operación de un usuario desde un controlador distante ex220 y otros, la unidad de multiplexión/desmultiplexión ex303 desmultiplexa los datos multiplexados que son desmodulados por la unidad de modulación/desmodulación ex302, bajo control de la unidad de control ex310 que incluye una CPU. Adicionalmente , la unidad de procesamiento de señales de audio ex304 decodifica los datos de audio desmultiplexados y la unidad de procesamiento de señales de video ex305 decodifica los datos de video desmultiplexados, utilizando el método de decodificación
descrito en cada una de las Modalidades, en la televisión ex300. La unidad de salida ex309 proporciona la señal de video y la señal de audio decodificadas al exterior. Cuando la unidad de salida ex309 proporciona la señal de video y la señal de audio, las señales pueden ser almacenadas temporalmente en las memorias intermedias ex318 y ex319 y otras de modo que las señales sean reproducidas en sincronización entre sí. Adicionalmente , la televisión ex300 puede leer los datos multiplexados no a través de una difusión y otros sino de los medios de grabación ex215 y ex216, tal como un disco magnético, un disco óptico y una tarjeta SD. Después, se describirá una configuración en la cual la televisión ex300 codifica una señal de audio y una señal de video y transmite los datos al exterior o escribe los datos en un medio de grabación. En la televisión ex300, con la recepción de una operación de un usuario del controlador distante ex220 y otros, la unidad de procesamiento de señales de audio ex304 codifica una señal de audio y la unidad de procesamiento de señales de video ex305 codifica una señal de video, bajo control de la unidad de control ex310 utilizando el método de codificación de imágenes descrito en cada una de las Modalidades. La unidad de multiplexión/desmultiplexión ex303 multiplexa la señal de video y la señal de audio codificadas y proporciona la señal resultante al exterior. Cuando la unidad de
multiplexión/desmultiplexión ex303 multiplexa la señal de video y la señal de audio, las señales pueden ser almacenadas temporalmente en las memorias intermedias ex320 y ex321 y otras de modo que las señales sean reproducidas en sincronización entre sí. En este documento, las memorias intermedias ex318 a ex321 pueden ser plurales como se ilustra o por lo menos una memoria intermedia puede ser compartida en la televisión ex300. Adicionalmente , se pueden almacenar datos en una memoria intermedia diferente de las memorias intermedias ex318 a ex321 de modo que se puede evitar el desbordamiento y subdesbordamiento del sistema entre la unidad de modulación/desmodulación ex302 y la unidad de multiplexión/desmultiplexión ex303, por ejemplo.
Adicionalmente, la televisión ex300 puede incluir una configuración para recibir una entrada de AV de un micrófono o una cámara diferente de la configuración para obtener datos de audio y video de una difusión o un medio de grabación y puede codificar los datos obtenidos. Aunque la televisión ex300 puede codificar, multiplexar y proporcionar datos al exterior en la descripción, puede no ser capaz de realizar todos los procesos pero puede ser capaz de realizar solo uno de recepción, decodificación y provisión de datos al exterior .
Adicionalmente, cuando el lector/grabador ex218 lee o escribe los datos multiplexados de o en un medio de
grabación, uno de la televisión ex300 y el lector/grabador ex218 puede decodificar o codificar los datos multiplexados y la televisión ex300 y el lector/grabador ex218 pueden compartir la decodificación o codificación.
' Como un ejemplo, la FIGURA 42 ilustra una configuración de una unidad de reproduceión/grabacion de información ex400 cuando los datos son leídos o escritos de o en un disco óptico. La unidad de reproducción/grabación de información ex400 incluye los elementos constituyentes ex401 a ex407 que se describen posteriormente en este documento. La cabeza óptica ex401 irradia un foco de láser en una superficie de grabación del medio de grabación ex215 que es un disco óptico para escribir información y detecta la luz reflejada de la superficie de grabación del medio de grabación ex215 para leer la información. La unidad de grabación de modulación ex402 impulsa eléctricamente un láser semiconductor incluido en la cabeza óptica ex401 y modula la luz láser de acuerdo con datos grabados . La unidad de desmodulación de reproducción ex403 amplifica una señal de reproducción obtenida al detectar eléctricamente la luz reflejada de la superficie de grabación utilizando un fotodetector incluido en la cabeza óptica ex401 y desmodula la señal de reproducción al separar un componente de señal grabado en el medio de grabación ex215 para reproducir la información necesaria. La memoria intermedia ex404 mantiene
temporalmente la información a ser grabada en el medio de grabación ex215 y la información reproducida del medio de grabación ex215. Un motor del disco ex405 hace girar el medio de grabación ex215. Una unidad de servomando ex406 mueve la cabeza óptica ex401 a una pista de información predeterminada mientras que controla el impulso de rotación del motor del disco ex405 con el fin de seguir el foco de láser. La unidad de control del sistema ex407 controla en conjunto la unidad de reproducción/grabación de información ex400. Los procesos de lectura y escritura pueden ser implementados por la unidad de control del sistema ex407 utilizando diversa información almacenada en la memoria intermedia ex404 y generando y agregando nueva información como sea necesario y por medio de la unidad de grabación de modulación ex402, la unidad de desmodulación de reproducción ex403 y la unidad de servomando ex406 que graban y reproducen información a través de la cabeza óptica ex401 mientras que son operados de manera coordinada. La unidad de control del sistema ex407 incluye, por ejemplo, un microprocesador y ejecuta el procesamiento al causar que una computadora ejecute un programa para leer y escribir.
Aunque la cabeza óptica ex401 irradia un foco de láser en la descripción, puede realizar la grabación de alta densidad utilizando luz de campo próximo.
La FIGURA 43 ilustra esquemáticamente el medio de grabación ex215 que es el disco óptico. En la superficie de
grabación del medio de grabación ex215, las acanaladuras guía se forman en espiral y una pista de información ex230 graba, anticipadamente, información de dirección que indica una posición absoluta en el disco de acuerdo con un cambio en una forma de las acanaladuras guía. La información de dirección incluye información para determinar posiciones de bloques de grabación ex231 que son una unidad para grabar datos. Un aparato que graba y reproduce datos reproduce la pista de información ex230 y lee la información de dirección con el fin de determinar las posiciones de los bloques de grabación. Adicionalmente, el medio de grabación ex215 incluye un área de grabación de datos ex233, un área de circunferencia interior ex232 y un área de circunferencia exterior ex234. El área de grabación de datos ex233 es un área para el uso en la grabación de los datos del usuario. El área de circunferencia interior ex232 y el área de circunferencia exterior ex234 que son el interior y el exterior del área de grabación de datos ex233, respectivamente, son para uso específico excepto para la grabación de los datos del usuario. La unidad de reproducción/grabación de información 400 lee y escribe datos de audio codificados, datos de video codificados o datos multiplexados que se obtienen al multiplexar los datos de audio codificados y los datos de video codificados, de y sobre el área de grabación de datos ex233 del medio de grabación ex215.
Aunque un disco óptico que tiene una capa, tal como un DVD y un BD se proporciona como un ejemplo en la descripción, el disco óptico no está limitado a ese tipo y puede ser un disco óptico que tenga una estructura de múltiples capas y que pueda ser grabado en una parte diferente de la superficie. Adicionalmente , el disco óptico puede tener una estructura para la grabación/reproducción multidimensional , tal como la grabación de información utilizando luz de colores con diferentes longitudes de onda en la misma porción del disco óptico y para grabar información que tiene diferentes capas desde varios ángulos.
Adicionalmente, el carro ex210 que tiene la antena ex205 puede recibir datos del satélite ex202 y otros, y puede reproducir video en un dispositivo de exhibición tal como un sistema de navegación de carro ex211 establecido en el carro ex210, en un sistema de difusión digital ex200. En este documento, una configuración del sistema de navegación de carro ex211 será aquella, por ejemplo, que incluye una unidad de recepción de GPS en la configuración ilustrada en la FIGURA 41. Lo mismo será cierto para la configuración de la computadora exlll, el teléfono celular exll4 y otros.
La FIGURA 44A ilustra el teléfono celular exll4 que utiliza el método de codificación de imágenes en movimiento y el método de decodificación de imágenes en movimiento descritos en cada una de las Modalidades. El teléfono celular
exll4 incluye: una antena ex350 para transmitir y recibir ondas de radio a través de la estación base exllO; una unidad de cámara ex365 capaz de capturar imágenes en movimiento y fijas; y una unidad de exhibición ex358 tal como una pantalla de cristal líquido para exhibir los datos tales como video decodificado que es capturado por la unidad de cámara ex365 o es recibido por la antena ex350. El teléfono celular exll4 incluye además: una unidad de cuerpo principal que incluye un conjunto de teclas de operación ex366; una unidad de salida de audio ex357 tal como un altavoz para la salida de audio; una unidad de entrada de audio ex356 tal como un micrófono para la entrada de audio; una unidad de memoria ex367 para almacenar video o imágenes fijas capturados, audio grabado, datos codificados o decodificados del video recibido, las imágenes fijas, correos electrónicos u otros; y una unidad de ranura ex364 que es una unidad de interconexión para un medio de grabación que almacena datos de la misma manera que la unidad de memoria ex367.
Después, un ejemplo de una configuración del teléfono celular exll4 se describirá con referencia a la FIGURA 44B. En el teléfono celular exll4, una unidad de control principal ex360 diseñada para controlar en conjunto cada unidad del cuerpo principal que incluye la unidad de exhibición ex358 así como también las teclas de operación ex366 se conecta mutuamente, por vía de una barra colectora
sincrónica ex370, a una unidad de circuitos de suministro de energía ex361, una unidad de control de entrada de operación ex362, una unidad de procesamiento de señales de video ex355, una unidad de interconexión de cámara ex363, una unidad de control de la pantalla de cristal líquido (LCD,por sus siglas en inglés) ex359, una unidad de modulación/desmodulación ex352, una unidad de multiplexión/desmultiplexión ex353, una unidad de procesamiento de señales de audio ex354, la unidad de ranura ex364 y la unidad de memoria ex367.
Cuando una tecla de final de llamada o una tecla de energía es encendida por la operación de un usuario, la unidad de circuitos de suministro de energía ex361 provee a las unidades respectivas con energía de un empaque de baterías con el fin de activar el teléfono celular exll4.
En el teléfono celular exll4, la unidad de procesamiento de señales de audio ex354 convierte las señales de audio recolectadas por la unidad de entrada de audio ex356 en modo de conversación de voz en señales de audio digital bajo el control de la unidad de control principal ex360 que incluye una CPU, ROM y RAM. Luego, la unidad de modulación/desmodulación ex352 realiza un procesamiento de espectro expandido en las señales de audio digital y la unidad de transmisión y recepción ex351 realiza la conversión de digital a análogo y la conversión de frecuencia en los datos, con el fin de transmitir los datos resultantes por vía
de la antena ex350. También, en el teléfono celular exll4, la unidad de transmisión y recepción ex351 amplifica los datos recibidos por la antena ex350 en modo de conversación de voz y realiza la conversión de frecuencia y la conversión de análogo a digital en los datos.
Luego, la unidad de modulación/desmodulación ex352 realiza el procesamiento de espectro expandido inverso en los datos y la unidad de procesamiento de señales de audio ex354 los convierte en señales de audio análogo, con el fin de enviarlos por vía de la unidad de salida de audio ex357. Adicionalmente , cuando un correo electrónico en modo de comunicación de datos se transmite, los datos de texto del correo electrónico introducidos al utilizar las teclas de operación ex366 y otros del cuerpo principal se envían a la unidad de control principal ex360 por vía de la unidad de control de entrada de operación ex362. La unidad de control principal ex360 causa que la unidad de modulación/desmodulación ex352 realice un procesamiento de espectro expandido en los datos de texto y la unidad de transmisión y recepción ex351 realiza la conversión de digital a análogo y la conversión de frecuencia en los datos resultantes para transmitir los datos a la estación base exllO por vía de la antena ex350. Cuando se recibe un correo electrónico, el procesamiento que es aproximadamente inverso al procesamiento para transmitir un correo electrónico se
realiza en los datos recibidos y los datos resultantes se proporcionan a la unidad de exhibición ex358.
Cuando se transmite video, imágenes fijas o video y audio en el modo de comunicación de datos, la unidad de procesamiento de señales de video ex355 comprime y codifica señales de video suministradas de la unidad de cámara ex365 utilizando el método de codificación de imágenes en movimiento mostrado en cada una de las Modalidades y transmite los datos de video codificados a la unidad de multiplexión/desmultiplexión ex353. En contraste, cuando la unidad de cámara ex365 captura video, imágenes fijas y otros, la unidad de procesamiento de señales de audio ex354 codifica señales de audio recolectadas por la unidad de entrada de audio ex356 y transmite los datos de audio codificados a la unidad de multiplexión/desmultiplexión ex353.
La unidad de multiplexión/desmultiplexión ex353 multiplexa los datos de video codificados que son suministrados de la unidad de procesamiento de señales de video ex355 y los datos de audio codificados que son suministrados de la unidad de procesamiento de señales de audio ex354, utilizando un método predeterminado. Luego, la unidad de modulación/desmodulación ex352 realiza el procesamiento de espectro expandido en los datos multiplexados y la unidad de transmisión y recepción ex351 realiza la conversión de digital a análogo y la conversión de
7
frecuencia en los datos con el fin de transmitir los datos resultantes por vía de la antena ex350.
Cuando se reciben datos de un archivo de video el cual está vinculado con una página Web y otros en el modo de comunicación de datos o cuando se recibe un correo electrónico con video y/o audio anexo, con el propósito de decodificar los datos multiplexados que son recibidos por vía de la antena ex350, la unidad de multiplexión/desmultiplexión ex353 desmultiplexa los datos multiplexados en una corriente de bits de datos de video y una corriente de bits de datos de audio y provee a la unidad de procesamiento de señales de video ex355 con los datos de video codificados y la unidad de procesamiento de señales de audio ex354 con los datos de audio codificados, a través de la barra colectora sincrónica ex370. La unidad de procesamiento de señales de video ex355 decodifica la señal de video utilizando un método de decodificación de imágenes en movimiento que corresponde al método de codificación de imágenes en movimiento mostrado en cada una de las Modalidades y luego la unidad de exhibición ex358 exhibe, por ejemplo, el video y las imágenes fijas que están incluidos en el archivo de video vinculado con la página Web por vía de la unidad de control de LCD ex359. Adicionalmente , la unidad de procesamiento de señales de audio ex354 decodifica la señal de audio y la unidad de salida de audio ex357 proporciona el audio.
Adicionalmente , de manera similar a la televisión ex300, es posible que una terminal tal como el teléfono celular exll4 tenga 3 tipos de configuraciones de implementacion que incluyen no únicamente (i) una terminal de transmisión y recepción que incluye tanto un aparato de codificación como un aparato de decodificación, sino también (ii) una terminal de transmisión que incluye únicamente un aparato de codificación y (iii) una terminal de recepción que incluye únicamente un aparato de decodificación. Aunque el sistema de difusión digital ex200 recibe y transmite los datos multiplexados que se obtienen al multiplexar datos de audio en datos de video en la descripción, los datos multiplexados pueden ser datos obtenidos al multiplexar no datos de audio sino datos de carácter relacionados con video en datos de video y pueden no ser datos multiplexados sino datos de video mismos.
Como tal, el método de codificación de imágenes en movimiento y el método de decodificación de imágenes en movimiento en cada una de las Modalidades se pueden utilizar en cualquiera de los dispositivos y sistemas descritos. De esta manera, se pueden obtener las ventajas descritas en cada una de las Modalidades.
Adicionalmente, la presente invención no está limitada a las modalidades y son posibles varias modificaciones y revisiones sin apartarse del alcance de la presente invención.
Modalidad 5
Los datos de video se pueden generar al conmutar, como sea necesario, entre (i) el método de codificación de imágenes en movimiento o el aparato de codificación de imágenes en movimiento mostrados en cada una de las Modalidades y (ii) un método de codificación de imágenes en movimiento o un aparato de codificación de imágenes en movimiento de conformidad con un estándar diferente, tal como MPEG-2, MPEG4-AVC y VC-1.
En este documento, cuando una pluralidad de datos de video que cumplen con los diferentes estándares se generan y luego se decodifican, es necesario que los métodos de decodificación se seleccionen para cumplir con los diferentes estándares. Sin embargo, puesto que no se puede detectar que estándar cumple cada uno de la pluralidad de datos de video que son decodificados , existe el problema respecto a que no se puede seleccionar un método de decodificación apropiado.
Con el propósito de resolver el problema, los datos multiplexados que se obtienen al multiplexar datos de audio y otros en datos de video tienen una estructura que incluye información de identificación que indica que estándar cumplen los datos de video. La estructura específica de los datos multiplexados que incluyen los datos de video generados en el método de codificación de imágenes en movimiento y por el aparato de codificación de imágenes en movimiento mostrados
en cada una de las Modalidades se describirá en lo sucesivo. Los datos multiplexados son una corriente digital en el formato de Corriente de Transporte de MPEG-2.
La FIGURA 45 ilustra una estructura de los datos multiplexados. Como se ilustra en la FIGURA 45, los datos multiplexados se pueden obtener al multiplexar por lo menos una de una corriente de video, una corriente de audio, una corriente de gráficos de presentación (PG, por sus siglas en inglés) y una corriente de gráficos interactivos. La corriente de video representa video primario y video secundario de una película, la corriente de audio (IG) representa una parte de audio primario y una parte de audio secundario que se mezcla con la parte de audio primario y la corriente de gráficos de presentación representa subtítulos de una película. En este documento, el video primario es video normal que es exhibido en una pantalla y el video secundario es video que es exhibido en una ventana más pequeña en el video primario. Adicionalmente , la corriente de gráficos interactivos representa una pantalla interactiva que es generada al ordenar los componentes de GUI en una pantalla. La corriente de video se codifica en el método de codificación de imágenes en movimiento o por el aparato de codificación de imágenes en movimiento mostrados en cada una de las Modalidades, o en un método de codificación de imágenes en movimiento o por un aparato de codificación de
imágenes en movimiento de conformidad con un estándar convencional, tal como MPEG-2, MPEG4-AVC y VC-1. La corriente de audio se codifica de acuerdo con un estándar, tal como Dolby-AC-3, Dolby Digital Plus, MLP, DTS, DTS-HD y PCM lineal.
Cada corriente incluida en los datos multiplexados es identificada por un PID . Por ejemplo, 0x1011 se asigna a la corriente de video que se utiliza para el video de una película, de 0x1100 a OxlllF se asignan a las corrientes de audio, de 0x1200 a 0xl21F se asignan a las corrientes de gráficos de presentación, de 0x1400 a 0xl41F se asignan a las corrientes de gráficos interactivos, de OxlBOO a OxlBlF se asignan a las corrientes de video que se utilizan para el video secundario de la película y de OxlAOO a OxlAlF se asignan a las corrientes de audio que se utilizan para el video secundario que se mezcla con el audio primario.
La FIGURA 46 ilustra esquemáticamente como se multiplexan los datos. En primer lugar, una corriente de video ex235 compuesta de tramas de video y una corriente de audio ex238 compuesta de tramas de audio se transforman en una corriente de paquetes PES ex236 y una corriente de paquetes PES ex239 y además en paquetes TS ex237 y paquetes TS ex240, respectivamente. Similarmente , los datos de una corriente de gráficos de presentación ex241 y los datos de una corriente de gráficos interactivos ex244 se transforman
en una corriente de paquetes PES ex242 y una corriente de paquetes PES ex245 y además en paquetes TS ex243 y paquetes TS ex246, respectivamente. Estos paquetes TS son multiplexados en una corriente para obtener datos multiplexados ex247.
La FIGURA 47 ilustra con mayor detalle como se almacena una corriente de video en una corriente de paquetes PES. La primera barra en la FIGURA 47 muestra una corriente de tramas de video en una corriente de video. La segunda barra muestra la corriente de paquetes PES. Como es indicado por las flechas designadas como yyl , yy2 , yy3 e yy4 en la FIGURA 47, la corriente de video se divide en imágenes como imágenes I, imágenes B e imágenes P cada una de las cuales es una unidad de presentación de video y las imágenes se almacenan en una carga útil de cada uno de los paquetes PES. Cada uno de los paquetes PES tiene un encabezado de PES y el encabezado de PES almacena un Registro de Tiempos de Presentación (PTS, por sus siglas en inglés) que indica un tiempo de exhibición de la imagen y un Registro de Tiempos de Decodificación (DTS, por sus siglas en inglés) que indica un tiempo de decodificación de la imagen.
La FIGURA 48 ilustra un formato de paquetes TS que se escriben finalmente en los datos multiplexados. Cada uno de los paquetes TS es un paquete de longitud fija de 188 bytes, que incluye un encabezado de TS de 4 bytes que tiene
información, tal como un PID para identificar una corriente y una carga útil de TS de 184 bytes para almacenar datos. Los paquetes PES se dividen y se almacenan en las cargas útiles de TS, respectivamente. Cuando se utiliza un BD ROM, a cada uno de los paquetes TS se proporciona un TP_Extra_Header (Encabezado Adicional TP) de 4 bytes, dando por resultado de esta manera paquetes fuente de 192 bytes. Los paquetes fuente se escriben en los datos multiplexados . El TP_Extra_Header almacena información tal como un Arrival_Time_Stamp (Registro de Tiempos de Llegada) (ATS, por sus siglas en inglés) . El ATS muestra un tiempo de inicio de transferencia en el cual cada uno de los paquetes TS deben ser transferidos a un filtro de PID. Los números que incrementan desde la cabeza de los datos multiplexados son llamados números de paquete fuente (SPNs, por sus siglas en inglés) como se muestra en el fondo de la FIGURA 48.
Cada uno de los paquetes TS incluidos en los datos multiplexados incluye no únicamente corrientes de audio, video, subtítulos y otros, sino también una Tabla de Asociación de Programas (PAT, por sus siglas en inglés) , una Tabla de Mapa de Programas (PMT, por sus siglas en inglés) y una Referencia de Reloj de Programa (PCR, por sus siglas en inglés) . La PAT muestra lo que indica un PID en una PMT utilizada en los datos multiplexados y un PID de la PAT misma se registra como cero. La PMT almacena PIDs de las corrientes
de video, audio, subtítulos y otros incluidas en los datos multiplexados y la información de atributos de las corrientes correspondientes a los PIDs . La PMT también tiene varios descriptores que se refieren a los datos multiplexados. Los descriptores tienen información tal como información de control de copias que muestra si se permite o no el copiado de los datos multiplexados. La PCR almacena la información de tiempo de STC que corresponde a un ATS que muestra cuando el paquete de PCR se transfiere a un decodificador, con el propósito de lograr una sincronización entre un Reloj de Tiempo de Llegada (ATC) que es un eje de tiempo de ATSs y un Reloj de Tiempo de Sistema (STC) que es un eje de tiempo de PTSs y DTSs .
La FIGURA 49 ilustra detalladamente la estructura de datos de la PMT. Un encabezado de PMT se coloca en la parte más alta de la PMT. El encabezado de PMT describe la longitud de datos incluidos en la PMT y otros. Una pluralidad de descriptores que se refieren a los datos multiplexados se coloca después del encabezado de PMT. Información tal como la información de control de copias se describe en los descriptores. Después de los descriptores, se coloca una pluralidad de piezas de información de corriente que se refiere a las corrientes incluidas en los datos multiplexados. Cada pieza de información de corriente incluye descriptores de corriente cada uno que describe información,
tal como un tipo de corriente para identificar un codee de compresión de una corriente, un PID de corriente e información de atributos de corriente (tal como una velocidad de tramas o una relación dimensional) . Los descriptores de corriente son iguales en número al número de corrientes en los datos multiplexados .
Cuando los datos multiplexados se graban en un medio de grabación y otros, se graban junto con archivos de información de datos multiplexados.
Cada uno de los archivos de información de datos multiplexados es información de gestión de los datos multiplexados como se muestra en la FIGURA 50. Los archivos de información de datos multiplexados están en correspondencia de uno a uno con los datos multiplexados y cada uno de los archivos incluye información de datos multiplexados, información de atributos de corriente y un mapa de entrada.
Como se ilustra en la FIGURA 50, la información de datos multiplexados incluye una velocidad de sistema, un tiempo de inicio de reproducción y un tiempo de final de reproducción. La velocidad de sistema indica la velocidad de transferencia máxima a la cual un decodificador objetivo del sistema que se describe posteriormente transfiere los datos multiplexados a un filtro de PID. Los intervalos de los ATSs incluidos en los datos multiplexados se establecen a un nivel
no más alto que una velocidad de sistema. El tiempo de inicio de reproducción indica un PTS en una trama de video en la cabeza de los datos multiplexados . Un intervalo de una trama se agrega a un PTS en una trama de video al final de los datos multiplexados y el PTS se establece al tiempo de final de reproducción.
Como se muestra en la FIGURA 51, una pieza de información de atributos se registra en la información de atributos de corriente, para cada PID de cada corriente incluida en los datos multiplexados. Cada pieza de información de atributos tiene diferente información dependiendo si la corriente correspondiente es una corriente de video, una corriente de audio, una corriente de gráficos de presentación o una corriente de gráficos interactivos. Cada pieza de información de atributos de corriente de video lleva información que incluye que clase de codee de compresión se utiliza para la compresión de la corriente de video y la resolución, relación dimensional y velocidad de trama de las piezas de datos de imagen que se incluyen en la corriente de video. Cada pieza de información de atributos de corriente de audio lleva información que incluye que clase de codee de compresión se utiliza para comprimir la corriente de audio, cuantos canales se incluyen en la corriente de audio, que lenguaje soporta la corriente de audio y que tan alta es la frecuencia de muestreo. La información de atributos de
corriente de video y la información de atributos de corriente de audio se utilizan para la inicialización de un decodificador antes de que el reproductor repita la información .
En la Modalidad 5, los datos multiplexados que se utilizan son de un tipo de corriente incluido en la PMT. Adicionalmente , cuando los datos multiplexados se graban en un medio de grabación, la información de atributos de corriente de video incluida en la información de datos multiplexados se utiliza. Más específicamente, el método de codificación de imágenes en movimiento o el aparato de codificación de imágenes en movimiento descritos en cada una de las Modalidades incluye un paso o una unidad para asignar información única que indica los datos de video generados por el método de codificación de imágenes en movimiento o el aparato de codificación de imágenes en movimiento en cada una de las Modalidades, al tipo de corriente incluido en la PMT o la información de atributos de corriente de video. Con la estructura, los datos de video generados por el método de codificación de imágenes en movimiento o el aparato de codificación de imágenes en movimiento descritos en cada una de las Modalidades se pueden distinguir de los datos de video que cumplen con otro estándar.
Adicionalmente, la FIGURA 52 ilustra pasos del método de decodificación de imágenes en movimiento de acuerdo
1 4
con la Modalidad 5. En el Paso exSlOO, el tipo de corriente incluido en la PMT o la información de atributos de corriente de video se obtiene de los datos multiplexados . Después, en el Paso exSlOl, se determina si el tipo de corriente o la información de atributos de corriente de video indica o no que los datos multiplexados son generados por el método de codificación de imágenes en movimiento o el aparato de codificación de imágenes en movimiento en cada una de las Modalidades. Cuando se determina que el tipo de corriente o la información de atributos de corriente de video indica que los datos multiplexados son generados por el método de codificación de imágenes en movimiento o el aparato de codificación de imágenes en movimiento en cada una de las Modalidades, en el Paso exS102, el tipo de corriente o la información de atributos de corriente de video se decodifica por medio del método de decodificación de imágenes en movimiento en cada una de las Modalidades. Adicionalmente , cuando el tipo de corriente o la información de atributos de corriente de video indica el cumplimiento de los estándares convencionales, tales como MPEG-2, MPEG4-AVC y VC-1, en el Paso exS103, el tipo de corriente o la información de atributos de corriente de video se decodifica por medio de un método de decodificación de imágenes en movimiento de conformidad con los estándares convencionales.
Como tal, la asignación de un nuevo valor único al
tipo de corriente o a la información de atributos de corriente de video hace posible la determinación si el método de decodificación de imágenes en movimiento o el aparato de decodificación de imágenes en movimiento que se describen en cada una de las Modalidades pueden realizar o no la decodificación. Incluso con la introducción de datos multiplexados que cumplen con un estándar diferente, se puede seleccionar un método o aparato de decodificación apropiado. De esta manera, se hace posible decodificar información sin ningún error. Adicionalmente , el método o aparato de codificación de imágenes en movimiento, o el método o aparato de decodificación de imágenes en movimiento en la Modalidad 5 se puede utilizar en los dispositivos y sistemas descritos anteriormente .
Modalidad 6
Cada uno del método de codificación de imágenes en movimiento, el aparato de codificación de imágenes en movimiento, el método de decodificación de imágenes en movimiento y el aparato de decodificación de imágenes en movimiento en cada una de las Modalidades se logra típicamente en la forma de un circuito integrado o un circuito Integrado a Gran Escala (LSI) . Como un ejemplo del LSI, la FIGURA 53 ilustra una configuración del LSI ex500 que se hace en un chip. El LSI ex500 incluye los elementos ex501, ex502, ex503, ex504, ex505, ex506, ex507, ex508 y ex509 que
se describen posteriormente, y los elementos se conectan entre sí a través de una barra colectora ex510. La unidad de circuitos de suministro de energía ex505 es activada al proveer a cada uno de los elementos con energía cuando la unidad de circuitos de suministro de energía ex505 se enciende .
Por ejemplo, cuando se realiza la codificación, el LSI ex500 recibe una señal de AV de un micrófono exll7, una cámara exll3 y otros a través de una 10 de AV ex509 bajo control de una unidad de control ex501 que incluye una CPU ex502, un controlador de memoria ex503, un controlador de corriente ex504 y una unidad de control de frecuencia impulsora ex512. La señal de AV recibida se almacena temporalmente en una memoria externa ex511, tal como una SDRAM. Bajo control de la unidad de control ex501, los datos almacenados son segmentados en porciones de datos de acuerdo con la cantidad y velocidad de procesamiento que se transmite a una unidad de procesamiento de señales ex507. Luego, la unidad de procesamiento de señales ex507 codifica una señal de audio y/o una señal de video. En este documento, la codificación de la señal de video es la codificación descrita en cada una de las Modalidades. Adicionalmente , la unidad de procesamiento de señales ex507 multiplexa algunas veces los datos de audio codificados y los datos de video codificados, y una 10 de corriente ex506 proporciona los datos
multiplexados al exterior. Los datos multiplexados proporcionados son transmitidos a la estación base exl07, o se escriben en el medio de grabación ex215. Cuando se multiplexan los conjuntos de datos, los conjuntos de datos se deben almacenar temporalmente en la memoria intermedia ex508 de modo que los conjuntos de datos se sincronizan entre sí.
Aunque la memoria ex511 es un elemento fuera del LSI ex500, se puede incluir en el LSI ex500. La memoria intermedia ex508 no está limitada a una memoria intermedia, sino que puede estar compuesta de memorias intermedias. Adicionalmente , el LSI ex500 se puede hacer en un chip o una pluralidad de chips .
Adicionalmente, aunque la unidad de control ex501 incluye la CPU ex502, el controlador de memoria ex503, el controlador de corriente ex504 y la unidad de control de frecuencia impulsora ex512, la configuración de la unidad de control ex501 no está limitada a éstos. Por ejemplo, la unidad de procesamiento de señales ex507 puede incluir además una CPU. La inclusión de otra CPU en la unidad de procesamiento de señales ex507 puede mejorar la velocidad de procesamiento. Adicionalmente, como otro ejemplo, la CPU ex502 puede servir como o puede ser una parte de la unidad de procesamiento de señales ex507 y, por ejemplo, puede incluir una unidad de procesamiento de señales de audio. En este caso, la unidad de control ex501 incluye la unidad de
procesamiento de señales ex507 o la CPU ex502 que incluye una parte de la unidad de procesamiento de señales ex507.
El nombre utilizado en este documento es LSI, pero también se puede llamar IC, sistema LSI, super LSI o ultra-LSI dependiendo del grado de integración.
Por otra parte, las maneras para lograr la integración no están limitadas al LSI y un circuito especial o un procesador de uso general y así por el estilo también puede lograr la integración. La Matriz de Puerta Programable de Campo (FPGA, por sus siglas en inglés) que se puede programar después de la manufactura de LSIs o un procesador reconfigurable que permite la reconfiguración de la conexión o la configuración de un LSI se puede utilizar para el mismo propósito .
En el futuro, con el avance en la tecnología de los semiconductores, una nueva tecnología puede reemplazar el LSI. Los bloques funcionales se pueden integrar utilizando esta tecnología. La posibilidad es que la presente invención se aplique a la biotecnología.
Modalidad 7
Cuando los datos de video se decodifican por medio del método de codificación de imágenes en movimiento o por medio del aparato de codificación de imágenes en movimiento descritos en cada una de las Modalidades, en comparación a cuando los datos de video que cumplen con un estándar
convencional, tales como MPEG-2, MPEG4-AVC y VC-1, es posible que la cantidad de cálculo se incremente. De esta manera, el LSI ex500 necesita ser establecido a una frecuencia impulsora más alta que aquella de la CPU ex502 que se utiliza cuando se decodifican datos de video de conformidad con el estándar convencional. Sin embargo, cuando la frecuencia impulsora se establece más alto, existe el problema respecto a que se incrementa el consumo de energía.
Con el propósito de resolver el problema, el aparato de decodificación de imágenes en movimiento, tal como la televisión ex300 y el LSI ex500 se configuran para determinar que estándar cumplen los datos de video y conmutar entre las frecuencias impulsoras de acuerdo con el estándar determinado. La FIGURA 54 ilustra una configuración ex800 en la Modalidad 7. Una unidad de conmutación de frecuencias impulsoras ex803 establece una frecuencia impulsora a una frecuencia impulsora más alta cuando los datos de video son generados por el método de codificación de imágenes en movimiento o el aparato de codificación de imágenes en movimiento descritos en cada una de las Modalidades. Luego, la unidad de conmutación de frecuencias impulsoras ex803 da instrucciones a una unidad de procesamiento de decodificación ex801 que ejecuta el método de decodificación de imágenes en movimiento descrito en cada una de las Modalidades para decodificar los datos de video. Cuando los datos de video
cumplen con el estándar convencional, la unidad de conmutación de frecuencias impulsoras ex803 establece una frecuencia impulsora a una frecuencia impulsora más baja que aquella de los datos de video generados por el método de codificación de imágenes en movimiento o el aparato de codificación de imágenes en movimiento descritos en cada una de las Modalidades. Luego, la unidad de conmutación de frecuencias impulsoras ex803 da instrucciones a la unidad de procesamiento de decodificación ex802 que cumple con el estándar convencional para decodificar los datos de video.
Más específicamente, la unidad de conmutación de frecuencias impulsoras ex803 incluye la CPU ex502 y la unidad de control de frecuencias impulsoras ex512 en la FIGURA 53. En este documento, cada unidad de procesamiento de decodificación ex801 que ejecuta el método de decodificación de imágenes en movimiento descrito en cada una de las Modalidades y la unidad de procesamiento de decodificación ex802 que cumple con el estándar convencional corresponde a la unidad de procesamiento de señales ex507 mostrada en la FIGURA 53. La CPU ex502 determina que estándar cumplen los datos de video. Luego, la unidad de control de frecuencias impulsoras ex512 determina una frecuencia impulsora con base en una señal de la CPU ex502. Adicionalmente, la unidad de procesamiento de señales ex507 decodifica los datos de video con base en una señal de la CPU ex502. Por ejemplo, es
posible que la información de identificación descrita en la Modalidad 5 se utilice para identificar los datos de video. La información de identificación no está limitada a aquella descrita en la Modalidad 5 sino que puede ser cualquier información siempre y cuando la información indique que estándar cumplen los datos de video. Por ejemplo, cuando se puede determinar que estándar cumplen los datos de video con base en una señal externa para determinar que los datos de video se utilizan para una televisión o un disco, etcétera, la determinación se puede hacer con base en esta señal externa. Adicionalmente, la CPU ex502 selecciona una frecuencia impulsora con base en, por ejemplo, una tabla de consulta en la cual los estándares de los datos de video se asocian con las frecuencias impulsoras como se muestra en la FIGURA 56. La frecuencia impulsora se puede seleccionar al almacenar la tabla de consulta en la memoria intermedia ex508 y en una memoria interna de un LSI y con referencia a la tabla de consulta por la CPU ex502.
La FIGURA 55 ilustra pasos para ejecutar un método en la Modalidad 7. En primer lugar, en el Paso exS200, la unidad de procesamiento de señales ex507 obtiene información de identificación de los datos multiplexados . Después, en el Paso exS201, la CPU ex502 determina si los datos de video se generan o no con base en la información de identificación por medio del método de codificación y el aparato de codificación
descritos en cada una de las Modalidades. Cuando los datos de video son generados por medio del método de codificación y el aparato de codificación descritos en cada una de las Modalidades, en el Paso exS202, la CPU ex502 transmite una señal para establecer la frecuencia impulsora a una frecuencia impulsora más alta a la unidad de control de frecuencias impulsoras ex512. Luego, la unidad de control de frecuencias impulsoras ex512 establece la frecuencia impulsora a la frecuencia impulsora más alta. Por otra parte, cuando la información de identificación indica que los datos de video cumplen con el estándar convencional, tal como MPEG-2, MPEG4-AVC y VC-1, en el Paso exS203, la CPU ex502 transmite una señal para establecer la frecuencia impulsora a una frecuencia impulsora más baja a la unidad de control de frecuencias impulsoras ex512. Luego, la unidad de control de frecuencias impulsoras ex512 establece la frecuencia impulsora a la frecuencia impulsora más baja que aquella en el caso donde los datos de video son generados por medio del método de codificación y el aparato de codificación descritos en cada una de las Modalidades.
Adicionalmente , junto con la conmutación de las frecuencias impulsoras, el efecto de conservación de energía se puede mejorar al cambiar el voltaje que se aplica al LSI ex500 o un aparató que incluye el LSI ex500. Por ejemplo, cuando la frecuencia impulsora se establece más baja, es
posible que el voltaje que se aplica al LSI ex500 o el aparato que incluye el LSI ex500 se establezca a un voltaje más bajo que aquel en el caso donde la frecuencia impulsora se establece más alta.
Adicionalmente , cuando la cantidad de cálculo para la decodificación es más grande, la frecuencia impulsora se puede establecer más alta, y cuando la cantidad de cálculo para la decodificación es más pequeña, la frecuencia impulsora se puede establecer más baja como el método para establecer la frecuencia impulsora. De esta manera, el método de establecimiento no está limitado a aquellos descritos anteriormente. Por ejemplo, cuando la cantidad de cálculo para decodificar datos de video de conformidad con MPEG4-AVC es más grande que la cantidad de cálculo para la decodificación de datos de video generados por medio del método de codificación de imágenes en movimiento y el aparato de codificación de imágenes en movimiento descritos en cada una de las Modalidades, es posible que la frecuencia impulsora se establezca en orden inverso al establecimiento descrito anteriormente.
Adicionalmente, el método para establecer la frecuencia impulsora no está limitado al método para establecer la frecuencia impulsora más baja. Por ejemplo, cuando la información de identificación indica que los datos de video se generan por medio del método de codificación de
4
imágenes en movimiento y el aparato de codificación de imágenes en movimiento descritos en cada una de las Modalidades, es posible que el voltaje que se aplica al LSI ex500 o el aparato que incluye el LSI ex500 se establezca más alto. Cuando l información de identificación indica que los datos de video cumplen con el estándar convencional, tal como MPEG-2, MPEG4-AVC y VC-1, es posible que el voltaje que se aplica al LSI ex500 o el aparato que incluye el LSI ex500 se establezca más bajo. Como otro ejemplo, es posible que cuando la información de identificación indica que los datos de video se generan por medio del método de codificación de imágenes en movimiento y el aparato de codificación de imágenes en movimiento descritos en cada una de las Modalidades, la impulsión de la CPU ex502 no tenga que suspenderse. Cuando la información de identificación indica que los datos de video cumplen con el estándar convencional, tal como MPEG-2, MPEG4-AVC y VC-1, es posible que la impulsión de la CPU ex502 se suspenda en un tiempo determinado debido a que la CPU ex502 tiene capacidad de procesamiento adicional. Incluso cuando la información de identificación indica que los datos de video se generan por medio del método de codificación de imágenes en movimiento y el aparato de codificación de imágenes en movimiento descritos en cada una de las Modalidades, es posible que en el caso donde la CPU ex502 puede tener un retardo de tiempo,
la impulsión de la CPU ex502 se suspenda en un tiempo determinado. En este caso, es posible que el tiempo de suspensión se establezca más corto que aquel en el caso cuando la información de identificación indica que los datos de video cumplen con el estándar convencional, tal como MPEG-2, MPEG4-AVC y VC-1.
Por consiguiente, el efecto de conservación de energía se puede mejorar al conmutar entre las frecuencias impulsoras de acuerdo con el estándar que cumplen los datos de video. Adicionalmente , cuando el LSI ex500 o el aparato que incluye el LSI ex500 se impulsa utilizando una batería, la vida útil de la batería se puede extender con el efecto de conservación de energía.
Modalidad 8
Existen casos donde una pluralidad de datos de video que cumplen con diferentes estándares, se proporcionan a los dispositivos y sistemas, tal como una televisión y un teléfono celular. Con el propósito de hacer posible la decodificación de la pluralidad de datos de video que cumplen con los diferentes estándares, la unidad de procesamiento de señales ex507 del LSI ex500 necesita cumplir con los diferentes estándares. Sin embargo, los problemas del incremento en la escala del circuito del LSI ex500 y el incremento en el costo se elevan con el uso individual de las unidades de procesamiento de señales ex507 que cumplen con
los estándares respectivos.
Con el propósito de resolver el problema, lo que se idea es una configuración en la cual la unidad de procesamiento de decodificación para implementar el método de decodificación de imágenes en movimiento descrito en cada una de las Modalidades y la unidad de procesamiento de decodificación que cumple con el estándar convencional, tal como MPEG-2, MPEG4-AVC y VC-1 se comparten parcialmente. Ex900 en la FIGURA 57A muestra un ejemplo de la configuración. Por ejemplo, el método de decodificación de imágenes en movimiento descrito en cada una de las Modalidades y el método de decodificación de imágenes en movimiento que cumple con MPEG4-AVC tienen, parcialmente en común, los detalles del procesamiento, tal como la codificación entrópica, cuantificación inversa, filtrado de desbloqueo y predicción con compensación de movimiento. Es posible que los detalles de procesamiento que se comparten incluyan el uso de una unidad de procesamiento de decodificación ex902 que cumple con MPEG4-AVC. En contraste, es posible que una unidad de procesamiento de decodificación especializada ex901 se utilice para otro procesamiento que es único para la presente invención. Puesto que la presente invención se caracteriza por la decodificación aritmética en particular, por ejemplo, la unidad de procesamiento de decodificación especializada ex901 se utiliza para la
decodificación aritmética. Por otra parte, es posible que la unidad de procesamiento de decodificación se comparta para 'uno de la cuantificación inversa, filtración de desbloqueo y compensación de movimiento o la totalidad del procesamiento. La unidad de procesamiento de decodificación para implementar el método de decodificación de imágenes en movimiento descrito en cada una de las Modalidades puede ser compartida para que el procesamiento sea compartido y una unidad de procesamiento de decodificación especializada se puede utilizar para el procesamiento único para aquel de MPEG4-AVC.
Adicionalmente, exlOOO en la FIGURA 57B muestra otro ejemplo en que se comparte parcialmente el procesamiento. Este ejemplo utiliza una configuración que incluye una unidad de procesamiento de decodificación especializada exlOOl que soporta el procesamiento único para la presente invención, una unidad de procesamiento de decodificación especializada exl002 que soporta el procesamiento único para otro estándar convencional y una unidad de procesamiento de decodificación exl003 que soporta el procesamiento que es compartido entre el método de decodificación de imágenes en movimiento en la presente invención y el método de decodificación de imágenes en movimiento convencional. En este documento, las unidades de procesamiento de decodificación especializadas exlOOl y exl002 no están especializadas necesariamente para el
procesamiento de la presente invención y el procesamiento del estándar convencional, y pueden ser aquellas capaces de implementar el procesamiento general. Adicionalmente , la configuración de la Modalidad 8 puede ser implementada por el LSI ex500.
Como tal, la reducción de la escala del circuito de un LSI y la reducción del costo son posibles al compartir la unidad de procesamiento de decodificación para que el procesamiento sea compartido entre el método de decodificación de imágenes en movimiento en la presente invención y el método de decodificación de imágenes en movimiento de conformidad con el estándar convencional.
Aplicabilidad Industrial
La presente invención es aplicable a un método de codificación de imágenes, un método de decodificación de imágenes, un aparato de codificación de imágenes y un aparato de decodificación de imágenes y en particular, es aplicable a un método de codificación de imágenes, un método de decodificación de imágenes, un aparato de codificación de imágenes y un aparato de decodificación de imágenes las cuales utilizan la codificación aritmética y la decodificación aritmética.
Lista de Signos de Referencia
100 Aparato de codificación de imágenes
101 Unidad de control
102 Unidad de sustracción
103 Unidad de transformación y cuantificacion
104 Unidad de codificación de longitud variable
105 Unidad de cuantificación inversa y de transformación inversa
106, 206 Unidad de adición
107, 207 Unidad de intra-predicción
108, 208 Unidad de inter-predicción
109, 209 Conmutador
121 Señal de imagen de entrada
122, 125, 225 Señal residual
123, 223 Coeficientes de transformación cuantificados
124 Corriente de bits
126 Señal de imagen decodificada
127, 128, 129, 227, 228 Señal de predicción de imágenes
130, 230 Parámetros de control
141 Unidad de binarización
142, 242 Unidad de control de contexto
143 Unidad de codificación aritmética binaria
151, 251 Secuencia binaria
152, 252 Indice de contexto
200 Aparato de decodificación de imágenes
201 Unidad de control
202 Unidad de decodificación de longitud variable
204 Unidad de cuantificación inversa
205 Unidad de transformación inversa
224 Coeficientes de transformación ortogonal
226 Señal de imagen decodificada
229 Señal de imagen
241 Unidad de binarización inversa
243 Unidad de decodificación aritmética binaria
Se hace constar que con relación a esta fecha, el mejor método conocido por la solicitante para llevar a la práctica la citada invención, es el que resulta claro de la presente descripción de la invención.
Claims (18)
1. Un método de decodificación de imágenes que utiliza una decodificación aritmética, caracterizado porque comprende : determinar un contexto para el uso en un bloque actual, de entre una pluralidad de contextos ; realizar una decodificación aritmética en una secuencia de bits que corresponde al bloque actual, utilizando el contexto determinado para decodificar una secuencia binaria, la secuencia de bits se obtiene al realizar una codificación aritmética en un parámetro de control del bloque actual; y binarizar de manera inversa la secuencia binaria para decodificar el parámetro de control del bloque actual, en donde la determinación de un contexto incluye: determinar un tipo de señal del parámetro de control del bloque actual; determinar el contexto bajo una primera condición de . que se utilicen los parámetros de control decodificados de bloques adyacentes del bloque actual, cuando el tipo de señal es un primer tipo, los bloques adyacentes son un bloque izquierdo y un bloque superior del bloque actual; determinar el contexto bajo una segunda condición de que no se utilice el parámetro de control decodificado del bloque superior, cuando el tipo de señal es un segundo tipo diferente del primer tipo; y determinar el contexto bajo una tercera condición de que no se utilice el parámetro de control decodificado del bloque superior y se utilice una profundidad jerárquica de una unidad de datos a la cual pertenece el parámetro de control del bloque actual, cuando el tipo de señal es un tercer tipo diferente del primer tipo y el segundo tipo, el primer tipo es uno de "split_coding_unit_flag" y "skip_flag" , el segundo tipo es uno o más de (i) "merge_flag" , (ii) "ref_idx_l0" o "ref_idx_ll" , (iii) "inter_pred_flag" , (iv) "mvd_l0" o "mvd_ll", (v) "intra_chroma_pred_mode" , (vi) "cbf_luma" y (vii) "cbf_cb" o "cbf_cr" , y el tercer tipo es un tipo de señal de entre (i) el "merge_flag" , (ii) el "ref_idx_l0" o el vref_idx_ll" , (iii) el "inter_pred_flag" , (iv) el "mvd_l0" o el "mvd_ll" , (v) el "intra_chroma_pred_mode" , (vi) el "cbf_luma" y (vii) el "cbf_cb" o el "cbf_cr" , el tipo de señal es diferente del segundo tipo.
2. El método de decodificación de imágenes de conformidad con la reivindicación 1, caracterizado porque el tercer tipo es el "inter_pred_flag" .
3. El método de decodificación de imágenes de conformidad con la reivindicación 1 o 2, caracterizado porque el tercer tipo es el "cbf_cb" y el "cbf_cr" .
4. El método de decodificación de imágenes de conformidad con una de las reivindicaciones 1 a 3, caracterizado porque el tercer tipo es el "cbf__luma" .
5. El método de decodificación de imágenes de conformidad con una de las reivindicaciones 1 a 4, caracterizado porque el primer tipo es el "split_coding_unit_flag" y el "skip_flag" , el segundo tipo es el "merge_flag" , el "ref_idx_10" , el "ref_idx_ll" , el "mvd_l0", el "mvd_ll" y el "intra_chroma_pred_mode" , y el tercer tipo es el "inter_pred_flag" , el "cbf_luma", el "cbf_cb" y el "cbf_cr" .
6. El método de decodificación de imágenes de conformidad con una de las reivindicaciones 1 a 5, caracterizado porque la segunda condición y la tercera condición son condiciones de que no se utilicen los parámetros de control decodificados del bloque izquierdo y el bloque superior.
7. El método de decodificación de imágenes de conformidad con la reivindicación 6, caracterizado porque en la determinación de un contexto, un contexto predeterminado se determina bajo la segunda condición, como el contexto para el uso en la decodificación aritmética del bloque actual, cuando el tipo de señal es el segundo tipo.
8. El método de decodificación de imágenes de conformidad con una de las reivindicaciones 1 a 7, caracterizado porque la determinación de un contexto incluye además : determinar si el parámetro de control decodificado del bloque superior está disponible o no en la decodificación, con base en una posición del bloque actual; y determinar el contexto bajo una de la segunda condición y la tercera condición, cuando el parámetro de control decodificado del bloque superior no está disponible.
9. El método de decodificación de imágenes de conformidad con la reivindicación 8, caracterizado porque, en la determinación de un contexto, se determina que el parámetro de control decodificado del bloque superior no está disponible en la decodificación, cuando el bloque actual está en un límite de corte.
10. El método de decodificación de imágenes de conformidad con la reivindicación 8, caracterizado porque en la determinación de un contexto, se determina si el parámetro de control decodificado del bloque superior está disponible o no en la decodificación, de acuerdo con una profundidad jerárquica de una unidad de datos a la cual pertenece el parámetro de control del bloque actual .
11. El método de décodificación de imágenes de conformidad con una de las reivindicaciones 1 a 10, caracterizado porque uno del segundo tipo y el tercer tipo es un parámetro de control que tiene una estructura de datos predeterminada .
12. El método de decodificación de imágenes de conformidad con una de las reivindicaciones 1 a 11, caracterizado porque la determinación de un contexto incluye además determinar un contexto de un parámetro de control de una segunda unidad más pequeña que una primera unidad al conmutar entre la primera condición, la segunda condición y la tercera condición, con base en un parámetro de control de la primera unidad.
13. El método de decodificación de imágenes de conformidad con una de las reivindicaciones 1 a 12, caracterizado porque el "split_coding_unit_flag" indica si el bloque actual se particiona o no en una pluralidad de bloques, el "skip_flag" indica si el bloque actual debe ser omitido o no, el "merge_flag" indica si un modo de fusión se utiliza o no para el bloque actual, el "ref_idx_l0" indica un índice de imagen de referencia de una lista 0 para el bloque actual, el "ref_idx_ll" indica un índice de imagen de referencia de una lista 1 para el bloque actual, el "inter_pred_flag" indica una de uni -predicción y bi-predicción que se utiliza para el bloque actual, el "mvd_lO" indica una diferencia entre un componente de vector de movimiento de la lista 0 y un valor predicho del componente de vector de movimiento, el componente de vector de movimiento y el valor predicho se utilizan para el bloque actual, el "mvd_ll" indica una diferencia entre un componente de vector de movimiento de la lista 1 y un valor predicho del componente de vector de movimiento, el componente de vector de movimiento y el valor predicho se utilizan para el bloque actual, el "intra_chroma_pred_mode" indica un modo de intra-predicción para una muestra croma del bloque actual, el "cbf_luma" indica si un bloque de transformación luma del bloque actual contiene o no uno o más niveles de coeficientes de transformación que no son iguales a 0, el "cbf_cb" indica si un bloque de transformación de Cb del bloque actual contiene o no uno o más niveles de coeficientes de transformación que no son iguales a 0, y el "cbf_cr" indica si un bloque de transformación de Cr del bloque actual contiene o no uno o más niveles de coeficientes de transformación que no son iguales a 0.
14. El método de decodificación de imágenes de conformidad con una de las reivindicaciones 1 a 13, caracterizado porque los procesos de decodificación de acuerdo con un primer estándar y los procesos de decodificación de acuerdo con un segundo estándar son conmutados de acuerdo con un identificador que indica uno del primer estándar y el segundo estándar, el identificador está incluido en una señal codificada, y la determinación de un contexto, la realización y la binarización de manera inversa se realizan como los procesos de decodificación de acuerdo con el primer estándar, cuando el identificador indica el primer estándar.
15. Un método de codificación de imágenes que utiliza una codificación aritmética, caracterizado porque comprende: binarizar un parámetro de control de un bloque actual para generar una secuencia binaria; determinar un contexto para el uso en el bloque actual, de entre una pluralidad de contextos; y realizar una codificación aritmética en la secuencia binaria utilizando el contexto determinado para generar una secuencia de bits, en donde la determinación de un contexto incluye: determinar un tipo de señal del parámetro de control del bloque actual; determinar el contexto bajo una primera condición de que se utilicen los parámetros de control de bloques adyacentes del bloque actual, cuando el tipo de señal es un primer tipo, los bloques adyacentes son un bloque izquierdo y un bloque superior del bloque actual; determinar el contexto bajo una segunda condición de que no se utilice el parámetro de control del bloque superior, cuando el tipo de señal es un segundo tipo diferente del primer tipo; y determinar el contexto bajo una tercera condición de que no se utilice el parámetro de control decodificado del bloque superior y se utilice una profundidad jerárquica de una unidad de datos a la cual pertenece el parámetro de control del bloque actual, cuando el tipo de señal es un tercer tipo diferente del primer tipo y el segundo tipo, el primer tipo es uno de "split_coding_unit_flag" y uskip_flag" , el segundo tipo es uno o más de (i) "merge_flag" , (ii) "ref_idx_l0" o "ref_idx_ll" , (iii) "inter_pred_flag" , (iv) "mvd_10" o "mvd_ll", (v) "intra_chroma_pred_mode" , (vi) "cbf_luma" y (vii) "cbf_cb" o "cbf_cr" y el tercer tipo es un tipo de señal de entre (i) el "merge_flag" , (ii) el "ref_idx_l0" o el "ref_idx_ll" , (iii) el "inter_pred_flag" , (iv) el "mvd_l0" o el "mvd_ll", (v) el "intra_chroma_pred_mode" , (vi) el "cbf_luma" y (vii) el "cbf_cb" o el "cbf_cr" , el tipo de señal es diferente del segundo tipo.
16. Un aparato de decodificación de imágenes que utiliza una decodificación aritmética, caracterizado porque comprende : una unidad de control de contexto configurada para determinar un contexto para el uso en un bloque actual, de entre una pluralidad de contextos; una unidad de decodificación aritmética configurada para realizar una decodificación aritmética en una secuencia de bits que corresponde al bloque actual, utilizando el contexto determinado para decodificar una secuencia binaria, la secuencia de bits se obtiene al realizar una codificación aritmética en un parámetro de control del bloque actual; y una unidad de binarización inversa configurada para binarizar de manera inversa la secuencia binaria para decodificar el parámetro de control del bloque actual, en donde la unidad de control de contexto se configura para: determinar un tipo de señal del parámetro de control del bloque actual; determinar el contexto bajo una primera condición de que se utilicen los parámetros de control decodificados de bloques adyacentes del bloque actual, cuando el tipo de señal es un primer tipo, los bloques adyacentes son un bloque izquierdo y un bloque superior del bloque actual; determinar el contexto bajo una segunda condición de que no se utilice el parámetro de control decodificado del bloque superior, cuando el tipo de señal es un segundo tipo diferente del primer tipo, y determinar el contexto bajo una tercera condición de que no se utilice el parámetro de control decodificado del bloque superior y se utilice una profundidad jerárquica de una unidad de datos a la cual pertenece el parámetro de control del bloque actual, cuando el tipo de señal es un tercer tipo diferente del primer tipo y el segundo tipo, el primer tipo es uno de "split_coding_unit_flag" y "skip_flag", el segundo tipo es uno o más de (i) "merge_flag" , (ii) "ref_idx_l0" o "ref_idx_ll" , (iii) "inter_pred_flag" , (iv) "mvd_10" o "mvd_ll" , (v) "intra_chroma_pred_mode" , (vi) "cbf_luma" y (vii) "cbf_cb" o "cbf_cr" , y el tercer tipo es un tipo de señal de entre (i) el "merge_flag" , (ii) el "ref_idx_l0" o el "ref_idx_ll" , (iii) el "inter_pred_flag" , (iv) el "mvd_l0" o el "mvd_ll", (v) el "intra_chroma_pred_mode" , (vi) el "cbf_luma" y (vii) el "cbf_cb" o el "cbf_cr" , el tipo de señal es diferente del segundo tipo.
17. Un aparato de codificación de imágenes que utiliza una codificación aritmética, caracterizado porque comprende : una unidad de binarización configurada para binarizar un parámetro de control de un bloque actual para generar una secuencia binaria; una unidad de control de contexto configurada para determinar un contexto para el uso en el bloque actual, de entre una pluralidad de contextos; y una unidad de codificación aritmética configurada para realizar una codificación aritmética en la secuencia binaria utilizando el contexto determinado para generar una secuencia de bits, en donde la unidad de control de contexto se configura para: determinar un tipo de señal del parámetro de control del bloque actual; determinar el contexto bajo una primera condición de que se utilicen los parámetros de control de bloques adyacentes del bloque actual, cuando el tipo de señal es un primer tipo, los bloques adyacentes son un bloque izquierdo y un bloque superior del bloque actual; determinar el contexto bajo una segunda condición de que no se utilice el parámetro de control del bloque superior, cuando el tipo de señal es un segundo tipo diferente del primer tipo, y determinar el contexto bajo una tercera condición de que no se utilice el parámetro de control decodificado del bloque superior y se utilice una profundidad jerárquica de una unidad de datos a la cual pertenece el parámetro de control del bloque actual, cuando el tipo de señal es un tercer tipo diferente del primer tipo y el segundo tipo, el primer tipo es uno de "split_coding_unit_flag" y "skip_flag" , segundo tipo es uno o más de (i) "merge_flag" , (ii) "ref_idx_10" o "ref_idx_ll" , (iii) "inter_pred_flag" , (iv) "mvd_l0" o "mvd_ll" , (v) "intra_chroma_pred_mode" , (vi) "cbf_luma" y (vii) "cbf_cb" o "cbf_cr" , y el tercer tipo es un tipo de señal de entre (i) el "merge_flag" , (ii) el "ref_idx_10" o el "ref_idx_ll" , (iii) el "inter_pred_flag" , (iv) el "mvd_l0" o el "mvd_ll", (v) el "intra_chroma_pred_mode" , (vi) el "cbf_luma" y (vii) el "cbf_cb" o el "cbf_cr" , el tipo de señal es diferente del segundo tipo.
18. Un aparato de codificación y decodificación de imágenes, caracterizado porque comprende: ' el aparato de decodificación de imágenes de conformidad con la reivindicación 16; y el aparato de codificación de imágenes de conformidad con la reivindicación 17.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201161506430P | 2011-07-11 | 2011-07-11 | |
| PCT/JP2012/004407 WO2013008438A1 (ja) | 2011-07-11 | 2012-07-06 | 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置及び画像符号化復号装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| MX2013013941A true MX2013013941A (es) | 2014-01-31 |
Family
ID=47505742
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| MX2013013941A MX2013013941A (es) | 2011-07-11 | 2012-07-06 | Metodo de decodificacion de imagenes, metodo de codificacion de imagenes, aparato de decodificacion de imagenes, aparato de codificacion de imagenes y aparato de codificacion y decodificacion de imagenes. |
Country Status (16)
| Country | Link |
|---|---|
| US (8) | US9462282B2 (es) |
| EP (1) | EP2733941B1 (es) |
| JP (3) | JPWO2013008438A1 (es) |
| KR (3) | KR102404121B1 (es) |
| CN (3) | CN107087185B (es) |
| AR (1) | AR087117A1 (es) |
| AU (1) | AU2012281918C1 (es) |
| BR (1) | BR112013031540B1 (es) |
| CA (1) | CA2838575C (es) |
| ES (1) | ES2784552T3 (es) |
| HU (1) | HUE049138T2 (es) |
| MX (1) | MX2013013941A (es) |
| PH (1) | PH12013502502A1 (es) |
| RU (2) | RU2604680C2 (es) |
| TW (1) | TWI587687B (es) |
| WO (1) | WO2013008438A1 (es) |
Families Citing this family (44)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| PT4033760T (pt) * | 2010-12-31 | 2025-03-31 | Univ Industry Cooperation Group Kyung Hee Univ | Método para codificar informação de vídeo e método para descodificar informação de vídeo, e aparelho que utiliza os mesmos |
| HUE060582T2 (hu) * | 2011-03-06 | 2023-03-28 | Lg Electronics Inc | Intra predikációs eljárás krominancia blokkok számára |
| CA2837532C (en) | 2011-06-23 | 2018-10-02 | Panasonic Corporation | Image decoding method, image coding method, image decoding apparatus, image coding apparatus, and image coding and decoding apparatus |
| USRE47366E1 (en) | 2011-06-23 | 2019-04-23 | Sun Patent Trust | Image decoding method and apparatus based on a signal type of the control parameter of the current block |
| WO2012176464A1 (ja) | 2011-06-24 | 2012-12-27 | パナソニック株式会社 | 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置及び画像符号化復号装置 |
| CN106878722B (zh) | 2011-06-24 | 2019-11-12 | 太阳专利托管公司 | 解码方法、解码装置、编码方法、编码装置 |
| CN103563375B (zh) | 2011-06-27 | 2017-04-05 | 太阳专利托管公司 | 图像解码方法、图像编码方法、图像解码装置、图像编码装置及图像编码解码装置 |
| BR122022013246B1 (pt) | 2011-06-28 | 2022-11-16 | Sun Patent Trust | Aparelho de decodificação para decodificar um parâmetro de controle para controlar decodificação de uma imagem, e aparelho de codificação para codificar um parâmetro de controle para controlar codificação de uma imagem |
| WO2013001767A1 (ja) | 2011-06-29 | 2013-01-03 | パナソニック株式会社 | 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置及び画像符号化復号装置 |
| WO2013001770A1 (ja) | 2011-06-30 | 2013-01-03 | パナソニック株式会社 | 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置及び画像符号化復号装置 |
| KR101955374B1 (ko) * | 2011-06-30 | 2019-05-31 | 에스케이 텔레콤주식회사 | 고속 코딩 단위(Coding Unit) 모드 결정을 통한 부호화/복호화 방법 및 장치 |
| AU2012277219A1 (en) | 2011-06-30 | 2013-09-19 | Sun Patent Trust | Image decoding method, image encoding method, image decoding device, image encoding device, and image encoding/decoding device |
| ES2784552T3 (es) | 2011-07-11 | 2020-09-28 | Sun Patent Trust | Procedimiento de decodificación de imagen, aparato de decodificación de imagen |
| US9948938B2 (en) * | 2011-07-21 | 2018-04-17 | Texas Instruments Incorporated | Methods and systems for chroma residual data prediction |
| US9451287B2 (en) * | 2011-11-08 | 2016-09-20 | Qualcomm Incorporated | Context reduction for context adaptive binary arithmetic coding |
| US9426466B2 (en) | 2012-06-22 | 2016-08-23 | Qualcomm Incorporated | Transform skip mode |
| EP2866443A4 (en) * | 2012-06-22 | 2016-06-15 | Sharp Kk | ARITHMETIC DECODING DEVICE, ARITHMETIC CODING DEVICE, IMAGE DECODING DEVICE AND IMAGE DEVICES |
| US9973759B2 (en) * | 2013-07-08 | 2018-05-15 | Hfi Innovation Inc. | Method of simplified CABAC coding in 3D video coding |
| US10291934B2 (en) * | 2013-10-02 | 2019-05-14 | Arris Enterprises Llc | Modified HEVC transform tree syntax |
| US9842424B2 (en) * | 2014-02-10 | 2017-12-12 | Pixar | Volume rendering using adaptive buckets |
| WO2015188297A1 (zh) * | 2014-06-08 | 2015-12-17 | 北京大学深圳研究生院 | 加权跳过模式的视频图像块压缩算术编解码方法及装置 |
| EP3099072A1 (en) * | 2015-05-28 | 2016-11-30 | Parabola Research Limited | Method, system and device for image and video coding |
| US10257393B2 (en) | 2016-02-12 | 2019-04-09 | Contrast, Inc. | Devices and methods for high dynamic range video |
| JP7081835B2 (ja) | 2016-08-09 | 2022-06-07 | コントラスト, インコーポレイテッド | 車両制御のためのリアルタイムhdrビデオ |
| KR20180039323A (ko) * | 2016-10-10 | 2018-04-18 | 디지털인사이트 주식회사 | 다양한 블록 분할 구조를 결합하여 사용하는 비디오 코딩 방법 및 장치 |
| WO2018123313A1 (ja) * | 2016-12-26 | 2018-07-05 | 日本電気株式会社 | 映像符号化方法、映像復号方法、映像符号化装置、映像復号装置及びプログラム |
| WO2018128222A1 (ko) * | 2017-01-03 | 2018-07-12 | 엘지전자 주식회사 | 영상 코딩 시스템에서 영상 디코딩 방법 및 장치 |
| US10523966B2 (en) * | 2017-03-31 | 2019-12-31 | Mediatek Inc. | Coding transform blocks |
| US10531085B2 (en) * | 2017-05-09 | 2020-01-07 | Futurewei Technologies, Inc. | Coding chroma samples in video compression |
| CN114449270B (zh) | 2017-07-04 | 2023-09-26 | 三星电子株式会社 | 使用多核变换的视频解码/编码方法和设备 |
| US10951888B2 (en) | 2018-06-04 | 2021-03-16 | Contrast, Inc. | Compressed high dynamic range video |
| US11303932B2 (en) | 2018-08-14 | 2022-04-12 | Contrast, Inc. | Image compression |
| EP3837843A4 (en) * | 2018-08-14 | 2022-05-18 | Contrast, Inc. | NOISE REDUCTION IN IMAGE PROCESSING |
| PT3847818T (pt) | 2018-09-18 | 2024-03-05 | Huawei Tech Co Ltd | Codificador de vídeo, um descodificador de vídeo e métodos correspondentes |
| US11115652B2 (en) * | 2018-12-07 | 2021-09-07 | Tencent America LLC | Method and apparatus for further improved context design for prediction mode and coded block flag (CBF) |
| PH12019000380A1 (en) * | 2018-12-17 | 2020-09-28 | Nokia Technologies Oy | An apparatus, a method and a computer program for video coding and decoding |
| WO2020130600A1 (ko) | 2018-12-17 | 2020-06-25 | 주식회사 윌러스표준기술연구소 | 예측 모드를 시그널링하는 비디오 신호 처리 방법 및 장치 |
| WO2020180153A1 (ko) * | 2019-03-06 | 2020-09-10 | 엘지전자 주식회사 | 인터 예측을 위한 비디오 신호의 처리 방법 및 장치 |
| WO2020184952A1 (ko) * | 2019-03-10 | 2020-09-17 | 엘지전자 주식회사 | 비디오 신호에서 인터 예측을 위한 움직임 벡터 차분 정보를 처리하기 위한 비디오 신호의 처리 방법 및 장치 |
| CN113557719B (zh) | 2019-03-11 | 2023-09-12 | 日本放送协会 | 图像编码装置、图像解码装置和程序 |
| CN113966611B (zh) * | 2019-06-09 | 2023-12-15 | 北京字节跳动网络技术有限公司 | 视频编解码中的重要系数信令 |
| CN111339193B (zh) * | 2020-02-21 | 2023-06-27 | 腾讯云计算(北京)有限责任公司 | 类别的编码方法及装置 |
| US11934554B2 (en) | 2021-05-17 | 2024-03-19 | Bank Of America Corporation | Information security by preventing unauthorized data access |
| US12118120B2 (en) | 2021-05-17 | 2024-10-15 | Bank Of America Corporation | Prevention of unauthorized access to information |
Family Cites Families (139)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS53142227A (en) | 1977-05-18 | 1978-12-11 | Toshiba Shiyashin Youhin Kk | Light control type electrooflashing device |
| JPS60125210A (ja) | 1983-12-08 | 1985-07-04 | Agency Of Ind Science & Technol | ポリイミド膜の製膜改善方法 |
| JPS6225405A (ja) | 1985-07-26 | 1987-02-03 | 株式会社日立製作所 | 抵抗器の温度検出機構 |
| JPS6225405U (es) | 1985-07-30 | 1987-02-16 | ||
| JPS638448A (ja) | 1986-06-27 | 1988-01-14 | Nippon Synthetic Chem Ind Co Ltd:The | 樹脂組成物 |
| JPS638448U (es) | 1986-07-03 | 1988-01-20 | ||
| TW330976B (en) | 1995-12-18 | 1998-05-01 | Lg Electronics Inc | Constant temperature dehumidifying device for air regulator and control method thereof |
| WO2003003745A1 (fr) | 2001-06-29 | 2003-01-09 | Ntt Docomo, Inc. | Codeur d'images, decodeur d'images, procede de codage d'images et procede de decodage d'images |
| US7457359B2 (en) | 2001-09-26 | 2008-11-25 | Mabey Danny L | Systems, devices and methods for securely distributing highly-compressed multimedia content |
| US7457358B2 (en) | 2001-09-26 | 2008-11-25 | Interact Devices, Inc. | Polymorphic codec system and method |
| WO2003041415A1 (en) | 2001-11-06 | 2003-05-15 | Matsushita Electric Industrial Co., Ltd. | Moving picture coding method and moving picture decoding method |
| CN101448162B (zh) | 2001-12-17 | 2013-01-02 | 微软公司 | 处理视频图像的方法 |
| JP2004088722A (ja) | 2002-03-04 | 2004-03-18 | Matsushita Electric Ind Co Ltd | 動画像符号化方法および動画像復号化方法 |
| AU2003235174A1 (en) | 2002-04-19 | 2003-11-03 | Matsushita Electric Industrial Co., Ltd | Method for calculating motion vector |
| ES2644005T3 (es) | 2002-04-19 | 2017-11-27 | Panasonic Intellectual Property Corporation Of America | Procedimiento de cálculo de vectores de movimiento |
| JP3807342B2 (ja) | 2002-04-25 | 2006-08-09 | 三菱電機株式会社 | デジタル信号符号化装置、デジタル信号復号装置、デジタル信号算術符号化方法、およびデジタル信号算術復号方法 |
| JP2003319391A (ja) | 2002-04-26 | 2003-11-07 | Sony Corp | 符号化装置および方法、復号装置および方法、記録媒体、並びにプログラム |
| DK1487113T3 (da) | 2002-05-02 | 2006-11-20 | Fraunhofer Ges Forschung | Kodning og afkodning af transformationskoefficienter i billede- eller videokodere |
| WO2004006586A1 (ja) | 2002-07-02 | 2004-01-15 | Matsushita Electric Industrial Co., Ltd. | 画像符号化方法および画像復号化方法 |
| EP2302931A3 (en) | 2002-08-08 | 2011-12-07 | Panasonic Corporation | Moving picture encoding method and decoding method |
| US6795584B2 (en) | 2002-10-03 | 2004-09-21 | Nokia Corporation | Context-based adaptive variable length coding for adaptive block transforms |
| EP1603338A4 (en) | 2003-03-10 | 2007-12-05 | Mitsubishi Electric Corp | APPARATUS AND METHOD FOR VIDEO SIGNAL CODING |
| JP2004297768A (ja) * | 2003-03-10 | 2004-10-21 | Mitsubishi Electric Corp | 映像信号符号化装置、および映像信号符号化方法 |
| US7945102B2 (en) | 2003-03-24 | 2011-05-17 | Sony Corporation | Data encoding apparatus, data encoding method, data output apparatus, data output method, signal processing system, signal processing apparatus, signal processing method, data decoding apparatus, and data decoding method |
| US7630440B2 (en) | 2003-05-28 | 2009-12-08 | Broadcom Corporation | Context adaptive binary arithmetic code decoding engine |
| US7426308B2 (en) | 2003-07-18 | 2008-09-16 | Microsoft Corporation | Intraframe and interframe interlace coding and decoding |
| US7724827B2 (en) | 2003-09-07 | 2010-05-25 | Microsoft Corporation | Multi-layer run level encoding and decoding |
| US7379608B2 (en) * | 2003-12-04 | 2008-05-27 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung, E.V. | Arithmetic coding for transforming video and picture data units |
| TWI330976B (en) | 2003-12-05 | 2010-09-21 | Trident Microsystems Far East | Method and apparatus for encoding/decoding dynamic graphic content |
| JP2005184042A (ja) | 2003-12-15 | 2005-07-07 | Sony Corp | 画像復号装置及び画像復号方法並びに画像復号プログラム |
| EP1551185A1 (en) | 2004-01-05 | 2005-07-06 | Thomson Licensing S.A. | Encoding method, decoding method, and encoding apparatus for a digital picture sequence |
| US20090102973A1 (en) | 2004-01-09 | 2009-04-23 | Harris Scott C | Video split device |
| US8190003B2 (en) | 2004-01-14 | 2012-05-29 | Samsung Electronics Co., Ltd. | Storage medium storing interactive graphics stream activated in response to user's command, and reproducing apparatus for reproducing from the same |
| KR100608050B1 (ko) | 2004-01-14 | 2006-08-02 | 삼성전자주식회사 | 사용자의 요구에 의해 활성화되는 인터랙티브 그래픽스트림을 저장한 저장 매체, 재생 장치 및 그 재생 방법 |
| CN101699866B (zh) | 2004-01-30 | 2016-08-03 | 松下电器(美国)知识产权公司 | 运动图片编码方法和运动图片解码方法 |
| US7599435B2 (en) | 2004-01-30 | 2009-10-06 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Video frame encoding and decoding |
| US7469070B2 (en) | 2004-02-09 | 2008-12-23 | Lsi Corporation | Method for selection of contexts for arithmetic coding of reference picture and motion vector residual bitstream syntax elements |
| JP4273996B2 (ja) | 2004-02-23 | 2009-06-03 | ソニー株式会社 | 画像符号化装置及び方法、並びに画像復号装置及び方法 |
| CN101778235B (zh) | 2004-04-28 | 2013-06-19 | 松下电器产业株式会社 | 运动画面产生装置,编码装置,解码装置及多路复用装置 |
| EP1763251A4 (en) | 2004-06-25 | 2009-03-25 | Panasonic Corp | BILDCODING METHOD AND IMAGE DECODING METHOD |
| EP2006839A3 (en) | 2004-07-14 | 2009-02-11 | Agency for Science, Technology and Research | Context-based encoding and decoding of signals |
| KR20060016243A (ko) | 2004-08-17 | 2006-02-22 | 엘지전자 주식회사 | 감시용 디지털 비디오 레코더에서의 멀티 채널 영상표시장치 및 방법 |
| JP4375305B2 (ja) | 2004-10-26 | 2009-12-02 | ソニー株式会社 | 情報処理装置および情報処理方法、記録媒体、並びに、プログラム |
| US20060120461A1 (en) | 2004-12-06 | 2006-06-08 | Roy Knight | Two processor architecture supporting decoupling of outer loop and inner loop in video decoder |
| CA2590705A1 (en) | 2005-01-14 | 2006-07-20 | Sungkyunkwan University | Methods of and apparatuses for adaptive entropy encoding and adaptive entropy decoding for scalable video encoding |
| DE602006020556D1 (de) | 2005-04-01 | 2011-04-21 | Panasonic Corp | Bilddecodierungsvorrichtung und bilddecodierungsverfahren |
| KR101158439B1 (ko) | 2005-07-08 | 2012-07-13 | 엘지전자 주식회사 | 영상 신호의 코딩정보를 압축/해제하기 위해 모델링하는 방법 |
| RU2371881C1 (ru) | 2005-07-08 | 2009-10-27 | ЭлДжи ЭЛЕКТРОНИКС ИНК. | Способ моделирования информации кодирования видеосигнала для компрессии/декомпрессии информации |
| EP1911290A4 (en) | 2005-07-08 | 2010-04-28 | Lg Electronics Inc | METHOD FOR MODELING A VIDEO SIGNAL CODE INFORMATION FOR COMPRESSING / DECOMPRIMING CODING INFORMATION |
| KR100878827B1 (ko) | 2005-07-08 | 2009-01-14 | 엘지전자 주식회사 | 영상 신호의 코딩정보를 압축/해제하기 위해 모델링하는방법 |
| US20080123947A1 (en) | 2005-07-22 | 2008-05-29 | Mitsubishi Electric Corporation | Image encoding device, image decoding device, image encoding method, image decoding method, image encoding program, image decoding program, computer readable recording medium having image encoding program recorded therein |
| US20090034857A1 (en) | 2005-07-22 | 2009-02-05 | Mitsubishi Electric Corporation | Image encoder and image decoder, image encoding method and image decoding method, image encoding program and image decoding program, and computer readable recording medium recorded with image encoding program and computer readable recording medium recorded with image decoding program |
| US8488889B2 (en) | 2005-07-22 | 2013-07-16 | Mitsubishi Electric Corporation | Image encoder and image decoder, image encoding method and image decoding method, image encoding program and image decoding program, and computer readable recording medium recorded with image encoding program and computer readable recording medium recorded with image decoding program |
| US20080130988A1 (en) | 2005-07-22 | 2008-06-05 | Mitsubishi Electric Corporation | Image encoder and image decoder, image encoding method and image decoding method, image encoding program and image decoding program, and computer readable recording medium recorded with image encoding program and computer readable recording medium recorded with image decoding program |
| US20080137744A1 (en) | 2005-07-22 | 2008-06-12 | Mitsubishi Electric Corporation | Image encoder and image decoder, image encoding method and image decoding method, image encoding program and image decoding program, and computer readable recording medium recorded with image encoding program and computer readable recording medium recorded with image decoding program |
| CN101218830B (zh) | 2005-07-22 | 2011-10-12 | 三菱电机株式会社 | 图像编码装置和方法、以及图像解码装置和方法 |
| US20080165849A1 (en) | 2005-07-22 | 2008-07-10 | Mitsubishi Electric Corporation | Image encoder and image decoder, image encoding method and image decoding method, image encoding program and image decoding program, and computer readable recording medium recorded with image encoding program and computer readable recording medium recorded with image decoding program |
| US20080130989A1 (en) | 2005-07-22 | 2008-06-05 | Mitsubishi Electric Corporation | Image encoder and image decoder, image encoding method and image decoding method, image encoding program and image decoding program, and computer readable recording medium recorded with image encoding program and computer readable recording medium recorded with image decoding program |
| US20090123066A1 (en) | 2005-07-22 | 2009-05-14 | Mitsubishi Electric Corporation | Image encoding device, image decoding device, image encoding method, image decoding method, image encoding program, image decoding program, computer readable recording medium having image encoding program recorded therein, |
| US20080123977A1 (en) | 2005-07-22 | 2008-05-29 | Mitsubishi Electric Corporation | Image encoder and image decoder, image encoding method and image decoding method, image encoding program and image decoding program, and computer readable recording medium recorded with image encoding program and computer readable recording medium recorded with image decoding program |
| US8509551B2 (en) | 2005-07-22 | 2013-08-13 | Mitsubishi Electric Corporation | Image encoder and image decoder, image encoding method and image decoding method, image encoding program and image decoding program, and computer readable recording medium recording with image encoding program and computer readable recording medium recorded with image decoding program |
| US20080130990A1 (en) | 2005-07-22 | 2008-06-05 | Mitsubishi Electric Corporation | Image encoder and image decoder, image encoding method and image decoding method, image encoding program and image decoding program, and computer readable recording medium recorded with image encoding program and computer readable recording medium recorded with image decoding program |
| CN100584025C (zh) | 2005-08-04 | 2010-01-20 | 华为技术有限公司 | 一种基于内容自适应的算术解码系统及装置 |
| US7595743B1 (en) | 2005-10-26 | 2009-09-29 | Lsi Corporation | System and method for reducing storage requirements for content adaptive binary arithmetic coding |
| JP5089878B2 (ja) | 2005-10-28 | 2012-12-05 | パナソニック株式会社 | 画像符号化装置 |
| US9479794B2 (en) | 2005-11-10 | 2016-10-25 | Freescale Semiconductor, Inc. | Resource efficient video processing via prediction error computational adjustments |
| CN100440979C (zh) * | 2005-12-15 | 2008-12-03 | 清华大学 | 基于上下文的自适应二维变长解码方法和装置 |
| GB0600141D0 (en) | 2006-01-05 | 2006-02-15 | British Broadcasting Corp | Scalable coding of video signals |
| KR101215615B1 (ko) | 2006-01-10 | 2012-12-26 | 삼성전자주식회사 | 동일 채널 내에서 서로 다른 코덱을 이용하여 부호화된 비디오 및 오디오 데이터 스트림의 재생을 위한 코덱 변경 방법 및 장치 |
| US7983343B2 (en) | 2006-01-12 | 2011-07-19 | Lsi Corporation | Context adaptive binary arithmetic decoding for high definition video |
| JP5101522B2 (ja) * | 2006-01-13 | 2012-12-19 | フラウンホッファー−ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオ | 適応色空間変換を用いた画像符号化 |
| US20070200949A1 (en) | 2006-02-21 | 2007-08-30 | Qualcomm Incorporated | Rapid tuning in multimedia applications |
| KR100750165B1 (ko) | 2006-02-22 | 2007-08-17 | 삼성전자주식회사 | 압축률 향상을 위해 개선된 컨텍스트 모델 선택을 사용하는cabac 부호화 방법 및 장치, 그리고 cabac복호화 방법 및 장치 |
| JP2007300517A (ja) * | 2006-05-02 | 2007-11-15 | Sony Corp | 動画像処理方法、動画像処理方法のプログラム、動画像処理方法のプログラムを記録した記録媒体及び動画像処理装置 |
| US7656326B2 (en) | 2006-06-08 | 2010-02-02 | Via Technologies, Inc. | Decoding of context adaptive binary arithmetic codes in computational core of programmable graphics processing unit |
| US7262722B1 (en) | 2006-06-26 | 2007-08-28 | Intel Corporation | Hardware-based CABAC decoder with parallel binary arithmetic decoding |
| JP4787100B2 (ja) | 2006-07-27 | 2011-10-05 | パナソニック株式会社 | 画像符号化装置 |
| US9883202B2 (en) | 2006-10-06 | 2018-01-30 | Nxp Usa, Inc. | Scaling video processing complexity based on power savings factor |
| CN101553988B (zh) | 2006-12-14 | 2012-10-17 | 日本电气株式会社 | 视频编码方法、视频编码装置 |
| CN105721881B (zh) | 2007-01-11 | 2019-07-09 | 汤姆森许可贸易公司 | 对mpeg-4avc高层编码中简档使用语法的方法和装置 |
| US8204129B2 (en) | 2007-03-27 | 2012-06-19 | Freescale Semiconductor, Inc. | Simplified deblock filtering for reduced memory access and computational complexity |
| WO2008127597A2 (en) | 2007-04-12 | 2008-10-23 | Thomson Licensing | Method and apparatus for context dependent merging for skip-direct modes for video encoding and decoding |
| JP2008289125A (ja) | 2007-04-20 | 2008-11-27 | Panasonic Corp | 算術復号化装置及びその方法 |
| CN100531386C (zh) | 2007-06-15 | 2009-08-19 | 上海富瀚微电子有限公司 | 一种上下文自适应二进制算术编码器及其方法 |
| RU2339181C1 (ru) | 2007-06-25 | 2008-11-20 | Государственное образовательное учреждение высшего профессионального образования Академия Федеральной службы охраны Российской Федерации (Академия ФСО России) | Способ передачи дополнительной информации при фрактальном кодировании изображений |
| US8145002B2 (en) | 2007-06-28 | 2012-03-27 | Mitsubishi Electric Corporation | Image encoding device and image encoding method |
| US9237357B2 (en) | 2007-09-02 | 2016-01-12 | Lg Electronics Inc. | Method and an apparatus for processing a video signal |
| TWI339074B (en) | 2007-09-05 | 2011-03-11 | Via Tech Inc | Operating method and device of coded block flag parameter |
| US7777654B2 (en) | 2007-10-16 | 2010-08-17 | Industrial Technology Research Institute | System and method for context-based adaptive binary arithematic encoding and decoding |
| CN103037220B (zh) | 2008-01-04 | 2016-01-13 | 华为技术有限公司 | 视频编码、解码方法及装置和视频处理系统 |
| US8542748B2 (en) * | 2008-03-28 | 2013-09-24 | Sharp Laboratories Of America, Inc. | Methods and systems for parallel video encoding and decoding |
| JP4962400B2 (ja) * | 2008-04-30 | 2012-06-27 | ソニー株式会社 | 算術復号装置 |
| US7592937B1 (en) | 2008-06-02 | 2009-09-22 | Mediatek Inc. | CABAC decoding unit and method |
| KR20090129926A (ko) | 2008-06-13 | 2009-12-17 | 삼성전자주식회사 | 영상 부호화 방법 및 그 장치, 영상 복호화 방법 및 그 장치 |
| FR2932911A1 (fr) | 2008-06-24 | 2009-12-25 | France Telecom | Procede et dispositif de remplissage des zones d'occultation d'une carte de profondeur ou de disparites estimee a partir d'au moins deux images. |
| EP2312856A4 (en) | 2008-07-10 | 2011-12-28 | Mitsubishi Electric Corp | IMAGE ENCODING DEVICE, IMAGE DECODING DEVICE, IMAGE ENCODING METHOD, AND IMAGE DECODING METHOD |
| US8594366B2 (en) | 2008-08-19 | 2013-11-26 | Thomson Licensing | Context-based adaptive binary arithmetic coding (CABAC) video stream compliance |
| US8634457B2 (en) * | 2008-09-26 | 2014-01-21 | Qualcomm Incorporated | Determining availability of video data units |
| US7932843B2 (en) | 2008-10-17 | 2011-04-26 | Texas Instruments Incorporated | Parallel CABAC decoding for video decompression |
| EP2182732A1 (en) | 2008-10-28 | 2010-05-05 | Panasonic Corporation | Switching between scans in image coding |
| WO2010125606A1 (en) | 2009-04-29 | 2010-11-04 | Aspa-Japan Co., Ltd. | Method for image data compression and compression system of image data |
| WO2011099792A2 (ko) | 2010-02-10 | 2011-08-18 | 엘지전자 주식회사 | 비디오 신호의 처리 방법 및 장치 |
| US9237355B2 (en) | 2010-02-19 | 2016-01-12 | Qualcomm Incorporated | Adaptive motion resolution for video coding |
| JP5368631B2 (ja) | 2010-04-08 | 2013-12-18 | 株式会社東芝 | 画像符号化方法、装置、及びプログラム |
| CN102215396A (zh) | 2010-04-09 | 2011-10-12 | 华为技术有限公司 | 一种视频编解码方法和系统 |
| US8942282B2 (en) * | 2010-04-12 | 2015-01-27 | Qualcomm Incorporated | Variable length coding of coded block pattern (CBP) in video compression |
| US20110249754A1 (en) * | 2010-04-12 | 2011-10-13 | Qualcomm Incorporated | Variable length coding of coded block pattern (cbp) in video compression |
| HUE072449T2 (hu) | 2010-04-13 | 2025-11-28 | Ge Video Compression Llc | Videókódolás képek többfa-alfelosztásával |
| KR102080450B1 (ko) | 2010-04-13 | 2020-02-21 | 지이 비디오 컴프레션, 엘엘씨 | 평면 간 예측 |
| HUE043816T2 (hu) | 2010-05-04 | 2019-09-30 | Lg Electronics Inc | Eljárás és berendezés videojel feldolgozására |
| US20110310976A1 (en) | 2010-06-17 | 2011-12-22 | Qualcomm Incorporated | Joint Coding of Partition Information in Video Coding |
| DK2924996T3 (en) | 2010-07-09 | 2018-10-01 | Samsung Electronics Co Ltd | VIDEO ENCODER DEVICE, BY USING BLOCK COLLECTION |
| KR20120016980A (ko) | 2010-08-17 | 2012-02-27 | 한국전자통신연구원 | 영상 부호화 방법 및 장치, 그리고 복호화 방법 및 장치 |
| HUE059881T2 (hu) | 2010-09-27 | 2023-01-28 | Lg Electronics Inc | Blokkfelosztási eljárás és dekódoló eszköz |
| US8885704B2 (en) | 2010-10-01 | 2014-11-11 | Qualcomm Incorporated | Coding prediction modes in video coding |
| KR101893923B1 (ko) | 2010-10-08 | 2018-09-04 | 지이 비디오 컴프레션, 엘엘씨 | 블록 분할 및 블록 병합을 지원하는 픽처 코딩 |
| KR101607426B1 (ko) | 2010-11-04 | 2016-03-29 | 지이 비디오 컴프레션, 엘엘씨 | 블록 병합 및 스킵 모드를 지원하는 화상 코딩 |
| US9008181B2 (en) | 2011-01-24 | 2015-04-14 | Qualcomm Incorporated | Single reference picture list utilization for interprediction video coding |
| KR102068826B1 (ko) | 2011-02-09 | 2020-01-21 | 엘지전자 주식회사 | 영상 부호화 및 복호화 방법과 이를 이용한 장치 |
| US20120224639A1 (en) | 2011-03-03 | 2012-09-06 | General Instrument Corporation | Method for interpolating half pixels and quarter pixels |
| US9788019B2 (en) | 2011-03-09 | 2017-10-10 | Hfi Innovation Inc. | Method and apparatus of transform unit partition with reduced complexity |
| WO2012128540A2 (ko) | 2011-03-21 | 2012-09-27 | 엘지전자 주식회사 | 움직임 벡터 예측자 선택 방법 및 이를 이용하는 장치 |
| US9762918B2 (en) | 2011-05-27 | 2017-09-12 | Hfi Innovation Inc. | Method and apparatus for line buffer reduction for video processing |
| US8995523B2 (en) * | 2011-06-03 | 2015-03-31 | Qualcomm Incorporated | Memory efficient context modeling |
| CN103621081B (zh) | 2011-06-10 | 2016-12-21 | 寰发股份有限公司 | 可伸缩视频编码方法及装置 |
| CA2837532C (en) | 2011-06-23 | 2018-10-02 | Panasonic Corporation | Image decoding method, image coding method, image decoding apparatus, image coding apparatus, and image coding and decoding apparatus |
| WO2012176464A1 (ja) | 2011-06-24 | 2012-12-27 | パナソニック株式会社 | 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置及び画像符号化復号装置 |
| CN106878722B (zh) | 2011-06-24 | 2019-11-12 | 太阳专利托管公司 | 解码方法、解码装置、编码方法、编码装置 |
| CN103563375B (zh) | 2011-06-27 | 2017-04-05 | 太阳专利托管公司 | 图像解码方法、图像编码方法、图像解码装置、图像编码装置及图像编码解码装置 |
| BR122022013246B1 (pt) | 2011-06-28 | 2022-11-16 | Sun Patent Trust | Aparelho de decodificação para decodificar um parâmetro de controle para controlar decodificação de uma imagem, e aparelho de codificação para codificar um parâmetro de controle para controlar codificação de uma imagem |
| WO2013001767A1 (ja) | 2011-06-29 | 2013-01-03 | パナソニック株式会社 | 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置及び画像符号化復号装置 |
| WO2013001770A1 (ja) | 2011-06-30 | 2013-01-03 | パナソニック株式会社 | 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置及び画像符号化復号装置 |
| AU2012277219A1 (en) | 2011-06-30 | 2013-09-19 | Sun Patent Trust | Image decoding method, image encoding method, image decoding device, image encoding device, and image encoding/decoding device |
| US20130003858A1 (en) | 2011-06-30 | 2013-01-03 | Vivienne Sze | Simplified Context Selection For Entropy Coding of Transform Coefficient Syntax Elements |
| EP2728873A4 (en) | 2011-07-01 | 2016-02-17 | Samsung Electronics Co Ltd | METHOD AND DEVICE FOR ENTROPY CODING BY MEANS OF A HIERARCHIC DATA UNIT AND DECODING METHOD AND DEVICE |
| ES2784552T3 (es) | 2011-07-11 | 2020-09-28 | Sun Patent Trust | Procedimiento de decodificación de imagen, aparato de decodificación de imagen |
| US8804816B2 (en) | 2011-08-30 | 2014-08-12 | Microsoft Corporation | Video encoding enhancements |
| US20130188741A1 (en) | 2012-01-21 | 2013-07-25 | General Instrument Corporation | Devices and methods for sample adaptive offset coding and/or selection of band offset parameters |
| ES2755811T3 (es) | 2012-06-11 | 2020-04-23 | Samsung Electronics Co Ltd | Codificación y decodificación de videos compartiendo parámetros SAO según un componente de color |
-
2012
- 2012-07-06 ES ES12811252T patent/ES2784552T3/es active Active
- 2012-07-06 MX MX2013013941A patent/MX2013013941A/es active IP Right Grant
- 2012-07-06 RU RU2013154106/08A patent/RU2604680C2/ru active
- 2012-07-06 WO PCT/JP2012/004407 patent/WO2013008438A1/ja not_active Ceased
- 2012-07-06 CN CN201710181456.6A patent/CN107087185B/zh active Active
- 2012-07-06 KR KR1020217019620A patent/KR102404121B1/ko active Active
- 2012-07-06 KR KR1020137032467A patent/KR20140034209A/ko not_active Ceased
- 2012-07-06 BR BR112013031540-7A patent/BR112013031540B1/pt active IP Right Grant
- 2012-07-06 CA CA2838575A patent/CA2838575C/en active Active
- 2012-07-06 CN CN201710181459.XA patent/CN106851295B/zh active Active
- 2012-07-06 KR KR1020207024349A patent/KR102271116B1/ko active Active
- 2012-07-06 PH PH1/2013/502502A patent/PH12013502502A1/en unknown
- 2012-07-06 AU AU2012281918A patent/AU2012281918C1/en active Active
- 2012-07-06 HU HUE12811252A patent/HUE049138T2/hu unknown
- 2012-07-06 JP JP2013523819A patent/JPWO2013008438A1/ja active Pending
- 2012-07-06 CN CN201280028018.1A patent/CN103765885B/zh active Active
- 2012-07-06 RU RU2016144371A patent/RU2714371C2/ru active
- 2012-07-06 EP EP12811252.1A patent/EP2733941B1/en active Active
- 2012-07-09 US US13/544,061 patent/US9462282B2/en active Active
- 2012-07-10 AR ARP120102497A patent/AR087117A1/es active IP Right Grant
- 2012-07-10 TW TW101124753A patent/TWI587687B/zh active
-
2016
- 2016-08-23 US US15/244,336 patent/US9854257B2/en active Active
- 2016-12-07 JP JP2016237521A patent/JP2017073816A/ja active Pending
-
2017
- 2017-10-30 US US15/797,155 patent/US10154270B2/en active Active
-
2018
- 2018-07-11 JP JP2018131711A patent/JP6660602B2/ja active Active
- 2018-10-26 US US16/171,961 patent/US10575003B2/en active Active
-
2020
- 2020-01-16 US US16/744,396 patent/US11343518B2/en active Active
-
2022
- 2022-04-21 US US17/725,771 patent/US11770544B2/en active Active
-
2023
- 2023-08-14 US US18/233,376 patent/US12108059B2/en active Active
-
2024
- 2024-08-15 US US18/805,690 patent/US20240406420A1/en active Pending
Also Published As
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| AU2012281918C1 (en) | Decoding Method, Coding Method, Decoding Apparatus, Coding Apparatus, And Coding and Decoding Apparatus | |
| AU2012277220B2 (en) | Image decoding method, image coding method, image decoding apparatus, image coding apparatus, and image coding and decoding apparatus | |
| AU2012277215B2 (en) | Image decoding method, image coding method, image decoding apparatus, image coding apparatus, and image coding and decoding apparatus | |
| RU2603552C2 (ru) | Способ декодирования изображения, способ кодирования изображения, устройство декодирования изображения, устройство кодирования изображения и устройство кодирования и декодирования изображения | |
| MX2013013483A (es) | Metodo de decodificacion de imagenes, metodo de codificacion de imagenes, aparato de decodificacion de imagenes, aparato de codificacion de imagenes y aparato de codificacion y decodificacion de imagenes. | |
| MX2013013508A (es) | Metodo de decodificacion de imagenes, metodo de codificacion de imagenes, aparato de decodificacion de imagenes, aparato de codificacion de imagenes y aparato de codificacion y decodificacion de imagenes. | |
| CA2830046C (en) | Image decoding method, image coding method, image decoding apparatus, image coding apparatus, and image coding and decoding apparatus | |
| AU2016269409B8 (en) | Decoding method, coding method, decoding apparatus, coding apparatus, and coding and decoding apparatus | |
| MX2013013909A (es) | Metodo de decodificacion de imagenes, metodo de codificacion de imagenes, aparato de decodificacion de imagenes, aparato de codificacion de imagenes y aparato de codificacion y decodificacion de imágenes. | |
| MX2013001774A (es) | Metodo de decodificacion de imagen, metodo de codificacion de imagen, aparato de decodificacion de imagen, aparato codificacion de imagen, programa, y circuito integrado. | |
| MX2013001773A (es) | Metodo de codificacion de imagen, metodo de decodificacion de imagen, aparato de codificacion de imagen, aparato de decodificacion de imagen, y aparato de codificacion y decodificacion de imagen. | |
| MX2013015089A (es) | Metodo de codificacion de imagenes en movimiento, metodo de decodificacion de imagenes en movimiento, aparato de codificacion de imagenes en movimiento, aparato de decodificacion de imágenes en movimiento y aparato de codificacion y decodificacion de imagenes en movimiento. | |
| MX2013001709A (es) | Metodo de codificacion de imagenes en movimiento, metodo de decodificacion de imagenes en movimiento, aparato de codificacion de imagenes en movimiento, aparato de decodificacion de imágenes en movimiento, y aparato de codificacion y decodificacion de imagenes en movimiento. |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| GB | Transfer or rights |
Owner name: PANASONIC INTELLECTUAL PROPERTY CORPORATION OF AME |
|
| FG | Grant or registration |