ES2708940T3 - Dispositivo de procesamiento de imágenes y procedimiento de procesamiento de imágenes - Google Patents

Dispositivo de procesamiento de imágenes y procedimiento de procesamiento de imágenes Download PDF

Info

Publication number
ES2708940T3
ES2708940T3 ES12744369T ES12744369T ES2708940T3 ES 2708940 T3 ES2708940 T3 ES 2708940T3 ES 12744369 T ES12744369 T ES 12744369T ES 12744369 T ES12744369 T ES 12744369T ES 2708940 T3 ES2708940 T3 ES 2708940T3
Authority
ES
Spain
Prior art keywords
qmps
section
parameters
quantization matrix
image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES12744369T
Other languages
English (en)
Inventor
Junichi Tanaka
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Velos Media International Ltd
Original Assignee
Velos Media International Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Velos Media International Ltd filed Critical Velos Media International Ltd
Application granted granted Critical
Publication of ES2708940T3 publication Critical patent/ES2708940T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/31Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the temporal domain
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Color Television Systems (AREA)
  • Ultra Sonic Daignosis Equipment (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

Un dispositivo de procesamiento de imágenes que comprende: una sección de procesamiento de sintaxis (61) que adquiere información de cabecera de un flujo codificado, comprendiendo dicha sección de procesamiento de sintaxis (61): una sección de adquisición de parámetros (160) que comprende: medios para adquirir de un primer conjunto de parámetros de matriz de cuantificación, QMPS, incluido en dicho flujo codificado, un primer identificador de QMPS (S200) asignado a dicho primer QMPS, siendo un QMPS diferente de un conjunto de parámetros de secuencia y de un conjunto de parámetros de imagen; medios para adquirir de dicho primer QMPS un segundo identificador de QMPS (S221); comprendiendo además dicha sección de procesamiento de sintaxis (61) una sección de configuración (170) para establecer una matriz de cuantificación de dicho primer QMPS, comprendiendo dicha sección de configuración (170): medios para comprobar (S222) si dicho primer identificador de QMPS y dicho segundo identificador de QMPS son iguales; medios para establecer (S223) dicha matriz de cuantificación de dicho primer QMPS igual a una matriz de cuantificación por defecto predefinida en el caso de que dichos primer y segundo identificadores sean iguales; medios para establecer (S225) dicha matriz de cuantificación de dicho primer QMPS copiando una matriz de cuantificación original de un QMPS decodificado previamente identificado por dicho segundo identificador de QMPS en el caso de que dichos primer y segundo identificadores no sean iguales; comprendiendo además dicho dispositivo de procesamiento de imágenes: una sección de decodificación sin pérdidas (62) para decodificar datos de cuantificación de dicho flujo codificado; y una sección de cuantificación inversa (63) configurada para cuantificar inversamente los datos cuantificados utilizando la matriz de cuantificación de dicho primer QMPS.

Description

DESCRIPCION
Dispositivo de procesamiento de imageries y procedimiento de procesamiento de imageries
Campo tecnico
La presente descripcion se refiere a un dispositivo de procesamiento de imagenes y a un procedimiento de procesamiento de imagenes.
Tecnica anterior
En H.264/AVC, una de las especificaciones estandar para los esquemas de codificacion de imagenes, es posible utilizar diferentes etapas de cuantificacion para cada componente de los coeficientes de transformacion ortogonales cuando se cuantifican datos de imagenes en el Perfil Alto o en un perfil mas alto. Se puede establecer una etapa de cuantificacion (o escala de cuantificacion) para cada componente de los coeficientes de la transformacion ortogonal, en base a una matriz de cuantificacion (tambien denominada lista de escala) definida con el mismo tamano que las unidades de la transformacion ortogonal, y un valor de etapa estandar.
La Figura 38 ilustra cuatro clases de matrices de cuantificacion predeterminadas que son predefinidas en H.264/AVC. La matriz SL1 es la matriz de cuantificacion por defecto de 4*4 para el modo de intra prediccion. La matriz SL2 es la matriz de cuantificacion por defecto de 4*4 para el modo de inter prediccion. La matriz SL3 es la matriz de cuantificacion por defecto de 8*8 para el modo de intra prediccion. La matriz SL4 es la matriz de cuantificacion por defecto de 8*8 para el modo de inter prediccion. El usuario tambien puede definir una matriz propia de cuantificacion que es distinta de las matrices predeterminadas ilustradas en la Figura 38 en el conjunto de parametros de secuencia o el conjunto de parametros de imagen. Tengase en cuenta que en el caso de que no se especifique una matriz de cuantificacion, se puede usar una matriz de cuantificacion plana que tenga una etapa de cuantificacion igual para todos los componentes.
En la codificacion de video de alta eficiencia (HEVC, High Efficiency Video Coding), en cuya estandarizacion se esta avanzando como un esquema de codificacion de imagenes de proxima generacion para que H.264/AVC tenga exito, se introduce el concepto de una Unidad de Codificacion (CU, coding unit), que corresponde a un macro bloque anterior (ver la literatura de no-patente 1 mas adelante). El rango de tamanos de Unidad de Codificacion se especifica en el conjunto de parametros de secuencia como un par de valores de potencia de 2 denominados la Unidad de Codificacion mas grande (LCU, largest coding unit) y la Unidad de Codificacion mas pequena (SCU, smallest coding unit). Ademas, se utilizan SPLIT_FLAG para designar un tamano especffico de Unidad de Codificacion dentro del rango especificado por la LCU y la SCU.
En HEVC, una Unidad de Codificacion puede dividirse en una o mas Unidades de Transformacion ortogonal, o en otras palabras, una o mas Unidades de Transformacion (TU, transform units). Se puede usar como tamano de Unidad de Transformacion cualquiera de entre 4*4, 8*8, 16*16 y 32*32. En consecuencia, tambien se puede especificar una matriz de cuantificacion para cada uno de estos tamanos de Unidad de Transformacion candidatos. La literatura de no-patente 2 propone a continuacion especificar multiples candidatos a matriz de cuantificacion para un tamano de Unidad de Transformacion en una imagen, y seleccionar de forma adaptativa una matriz de cuantificacion para cada bloque desde la perspectiva de la optimizacion de la tasa de distorsion (RD, rate-distortion). Lista de citas
Literatura de no-patente:
Literatura de no-patente 1: JCTVC-8205, "Test Model under Consideration", Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 2nd Meeting: Geneva, CH, 21-28 Julio de 2010
Literatura de no-patente 2: YCEG-AD06, "Adaptive Quantization Matrix Selection on KTA Software", ITU -Telecommunications Standardization Sector STUDY GROUP 16 Question 6 Video Coding Experts Group (VCEG) 30th Meeting: Hangzhou, China, 23-24 Octubre de 2006
El documento US 2007/189626 A1 describe un procedimiento de codificacion de video que genera una matriz de cuantificacion que utiliza una funcion relacionada con la generacion de la matriz de cuantificacion y un parametro relativo a la funcion, que cuantifica un coeficiente de transformacion relativo a una senal de imagen de entrada que utiliza la matriz de cuantificacion para generar un coeficiente de transformacion cuantificado, y la codificacion del parametro y el coeficiente de transformacion cuantificado para generar una senal de codigo.
HANNUKSELA: "Coding of Parameter Sets", 3.JVT MEETING; no. JVT-C078 divulga el uso de un conjunto de parametros de segmento ademas de un conjunto de parametros de GOP y un conjunto de parametros de imagen.
Resumen de la invencion
Problema tecnico
Sin embargo, la matriz de cuantificacion adaptada a la cuantificacion y cuantificacion inversa difiere segun las caracterfsticas de cada imagen incluida en un video. Por esta razon, la frecuencia de las actualizaciones de la matriz de cuantificacion aumentara si se intenta codificar video cuyas caracterfsticas de imagen cambian de un momento a otro con matrices de cuantificacion optimas. En H.264/AVC, la matriz de cuantificacion se define en el conjunto de parametros de secuencia (SPS, sequence parameter set) o el conjunto de parametros de imagen (PPS, picture parameter set). En consecuencia, si aumenta la frecuencia de las actualizaciones de la matriz de cuantificacion, tambien aumentara la proporcion del flujo codificado ocupado por el SPS o el PPS. Esto significa que disminuira la eficiencia de la codificacion debido a una mayor sobrecarga. Para HEVC, en el que se incrementa aun mas el tamano de la matriz de cuantificacion y en el que se pueden definir varias matrices de cuantificacion diferentes para cada imagen, existe el riesgo de que dichas disminuciones en la eficiencia de codificacion que acompanan a la actualizacion de la matriz de cuantificacion sean aun mas significativas.
En consecuencia, es deseable proporcionar un mecanismo que permita a la moderacion de la disminucion en la eficiencia de codificacion que acompana a la actualizacion de la matriz de cuantificacion.
Solucion al problema
La solucion es definida por la materia de las reivindicaciones independientes.
De acuerdo con un aspecto de la presente divulgacion, se proporciona un dispositivo de procesamiento de imagenes que incluye una seccion de adquisicion configurada para adquirir parametros de matriz de cuantificacion de un flujo codificado en el que los parametros de matriz de cuantificacion que definen una matriz de cuantificacion se establecen dentro de un conjunto de parametros que es diferente de un conjunto de parametros de secuencia y un conjunto de parametros de imagen, una seccion de configuracion configurada para configurar, en funcion de los parametros de matriz de cuantificacion adquiridos por la seccion de adquisicion, una matriz de cuantificacion que se utiliza cuando se cuantifican inversamente datos decodificados del flujo codificado, y una seccion de cuantificacion inversa configurada para cuantificar inversamente los datos decodificados del flujo codificado utilizando la matriz de cuantificacion configurada por la seccion de configuracion.
El dispositivo de procesamiento de imagenes puede ser realizado normalmente como un dispositivo de decodificacion de imagenes que decodifica una imagen.
Segun un aspecto de la presente divulgacion, se proporciona un procedimiento de procesamiento de imagenes que incluye la adquisicion de parametros de matriz de cuantificacion de un flujo codificado en el que los parametros de matriz de cuantificacion que definen una matriz de cuantificacion se establecen dentro de un conjunto de parametros que es diferente de un conjunto de parametros de secuencia y un conjunto de parametros de imagen, configurar, en base a los parametros de matriz de cuantificacion adquiridos, una matriz de cuantificacion que se utiliza cuando se cuantifican inversamente datos decodificados del flujo codificado, y se cuantifican inversamente los datos decodificados del flujo codificado utilizando la matriz de cuantificacion configurada.
De acuerdo con un aspecto de la presente divulgacion, se proporciona un dispositivo de procesamiento de imagenes que incluye una seccion de cuantificacion configurada para cuantificar datos usando una matriz de cuantificacion, una seccion de configuracion configurada para establecer parametros de matriz de cuantificacion que definen una matriz de cuantificacion a utilizar cuando la seccion de cuantificacion cuantifica los datos, y una seccion de codificacion configurada para codificar los parametros de matriz de cuantificacion establecidos por la seccion de configuracion dentro de un conjunto de parametros que es diferente de un conjunto de parametros de secuencia y un conjunto de parametros de imagen.
El dispositivo de procesamiento de imagenes puede ser normalmente realizado como un dispositivo de codificacion de imagenes que codifica una imagen.
De acuerdo con un aspecto de la presente divulgacion, se proporciona un procedimiento de procesamiento de imagenes que incluye cuantificar unos datos usando una matriz de cuantificacion, establecer unos parametros de matriz de cuantificacion que definen la matriz de cuantificacion a utilizar cuando se cuantifiquen los datos, y codificar los parametros de matriz de cuantificacion establecidos dentro de un conjunto de parametros que es diferente de un conjunto de parametros de secuencia y un conjunto de parametros de imagen.
Efectos ventajosos de la invencion
De acuerdo con un dispositivo de procesamiento de imagenes y un procedimiento de procesamiento de imagenes de acuerdo con la presente descripcion, es posible moderar la disminucion en la eficiencia de codificacion que acompana a la actualizacion de la matriz de cuantificacion.
Breve descripcion de los dibujos
La Figura 1 es un diagrama de bloques que ilustra una configuracion de ejemplo de un dispositivo de codificacion de imagenes segun una forma de realizacion.
La Figura 2 es un diagrama de bloques que ilustra un ejemplo de una configuracion detallada de la seccion de procesamiento de sintaxis ilustrada en la Figura 1.
La Figura 3 es un diagrama explicativo que ilustra parametros de ejemplo incluidos en un conjunto de parametros de matriz de cuantificacion en una forma de realizacion.
La Figura 4 es un diagrama explicativo que ilustra parametros de ejemplo incluidos en una cabecera de segmento (slice) en una forma de realizacion.
La Figura 5 es un diagrama de flujo que ilustra un flujo de ejemplo de un proceso de insercion en un conjunto de parametros segun una forma de realizacion.
La Figura 6 es un diagrama explicativo para explicar unas diferencias en la estructura de flujo entre una tecnica segun una forma de realizacion y una tecnica existente.
La figura 7 es un diagrama de bloques que ilustra una configuracion de ejemplo de un dispositivo de decodificacion de imagenes segun una forma de realizacion.
La Figura 8 es un diagrama de bloques que ilustra un ejemplo de una configuracion detallada de la seccion de procesamiento de sintaxis ilustrada en la Figura 7.
La Figura 9 es un diagrama de flujo que ilustra un flujo de ejemplo de un proceso de generacion de matrices de cuantificacion segun una forma de realizacion.
La Figura 10 es un diagrama de flujo que ilustra un ejemplo de un flujo detallado de un proceso en modo de copia segun una forma de realizacion.
La Figura 11 es un diagrama de flujo que ilustra un ejemplo de un flujo detallado de un proceso en el modo de designacion de ejes segun una forma de realizacion.
La Figura 12 es un diagrama de flujo que ilustra un flujo de ejemplo de un proceso para configurar una matriz de cuantificacion en un segmento segun una forma de realizacion.
La Figura 13 es un primer diagrama explicativo que ilustra un primer ejemplo de pseudocodigo ilustrativo que expresa la sintaxis de un conjunto de parametros de matriz de cuantificacion.
La Figura 14 es un segundo diagrama explicativo que ilustra un primer ejemplo de pseudocodigo ilustrativo que expresa la sintaxis de un conjunto de parametros de matriz de cuantificacion.
La Figura 15 es un tercer diagrama explicativo que ilustra un primer ejemplo de pseudocodigo ilustrativo que expresa la sintaxis de un conjunto de parametros de matriz de cuantificacion.
La Figura 16 es un primer diagrama explicativo que ilustra un segundo ejemplo de pseudocodigo ilustrativo que expresa la sintaxis de un conjunto de parametros de matriz de cuantificacion.
La Figura 17 es un segundo diagrama explicativo que ilustra un segundo ejemplo de pseudocodigo ilustrativo que expresa la sintaxis de un conjunto de parametros de matriz de cuantificacion.
La Figura 18 es un tercer diagrama explicativo que ilustra un segundo ejemplo de pseudocodigo ilustrativo que expresa la sintaxis de un conjunto de parametros de matriz de cuantificacion.
La Figura 19 es un cuarto diagrama explicativo que ilustra un segundo ejemplo de pseudocodigo ilustrativo que expresa la sintaxis de un conjunto de parametros de matriz de cuantificacion.
La Figura 20 es un quinto diagrama explicativo que ilustra un segundo ejemplo de pseudocodigo ilustrativo que expresa la sintaxis de un conjunto de parametros de matriz de cuantificacion.
La Figura 21 es un diagrama explicativo que ilustra un ejemplo de areas de configuracion de escala de cuantificacion definidas para cuantificar una matriz de cuantificacion.
La Figura 22 es un diagrama explicativo que ilustra un ejemplo de un conjunto de escalas de cuantificacion en las respectivas areas de configuracion de escala de cuantificacion ilustradas por el ejemplo en la Figura 21.
La Figura 23 es un diagrama explicativo para explicar 11 clases de tablas VLC preparadas en LCEC.
La Figura 24 es un diagrama explicativo que ilustra un ejemplo de un flujo codificado estructurado de acuerdo con una primera tecnica que utiliza un APS.
La Figura 25 es un diagrama explicativo que ilustra un ejemplo de sintaxis de APS definida de acuerdo con una primera tecnica que utiliza un APS.
La Figura 26 es un diagrama explicativo que ilustra un ejemplo de sintaxis de cabecera de segmento definida de acuerdo con una primera tecnica que utiliza un APS.
La Figura 27 es un diagrama explicativo que ilustra un ejemplo de sintaxis de APS definida de acuerdo con una modificacion de ejemplo de una primera tecnica que usa un APS.
La Figura 28 es un diagrama explicativo que ilustra un ejemplo de un flujo codificado estructurado de acuerdo con una segunda tecnica que utiliza un APS.
La Figura 29 es un diagrama explicativo que ilustra un ejemplo de un flujo codificado estructurado de acuerdo con una tercera tecnica que utiliza un APS.
La figura 30 es un diagrama explicativo que ilustra un ejemplo de sintaxis de APS definida de acuerdo con una tercera tecnica que usa un APS.
La Figura 31 es un diagrama explicativo que ilustra un ejemplo de sintaxis de cabecera de segmento definida de acuerdo con una tercera tecnica que utiliza un APS.
La Figura 32 es una tabla que lista unas caracterfsticas de parametros para cada una de varias herramientas de codificacion tfpicas.
La Figura 33 es un diagrama explicativo para explicar un ejemplo de un flujo codificado estructurado de acuerdo con una modificacion de ejemplo de una tercera tecnica que usa un APS.
La figura 34 es un diagrama de bloques que ilustra un ejemplo de una configuracion esquematica de un televisor. La figura 35 es un diagrama de bloques que ilustra un ejemplo de una configuracion esquematica de un telefono movil.
La Figura 36 es un diagrama de bloques que ilustra un ejemplo de una configuracion esquematica de un dispositivo de grabacion y reproduccion.
La figura 37 es un diagrama de bloques que ilustra un ejemplo de una configuracion esquematica de un dispositivo de formacion de imagenes.
La Figura 38 es un diagrama explicativo que ilustra matrices de cuantificacion predeterminadas que son predefinidas en H.264/AVC.
Descripcion de formas de realizacion
En lo sucesivo, se describiran en detalle formas de realizacion preferidas de la presente invencion con referencia a los dibujos adjuntos. Tengase en cuenta que, en esta especificacion y en los dibujos, los elementos que tienen sustancialmente la misma funcion y estructura se indican con los mismos signos de referencia y se omite la explicacion repetida.
Ademas, la descripcion procedera en el siguiente orden.
1. Configuracion de ejemplo de un dispositivo de codificacion de imageries segun una forma de realizacion
1-1. Configuracion general de ejemplo
1-2. Configuracion de ejemplo de una seccion de procesamiento de sintaxis
1-3. Estructura de parametros de ejemplo
2. Flujo del proceso durante la codificacion de acuerdo con la forma de realizacion
3. Configuracion de ejemplo de un dispositivo de decodificacion de imagenes segun una forma de realizacion
3- 1. Configuracion general de ejemplo
3-2. Configuracion de ejemplo de una seccion de procesamiento de sintaxis
4. Flujo del proceso durante la decodificacion de acuerdo con la forma de realizacion
4- 1. Generacion de matrices de cuantificacion.
4- 2. Configuracion de una matriz de cuantificacion en un segmento
5. Ejemplos de sintaxis
5-1. Primer ejemplo
5- 2. Segundo ejemplo
6. Varios ajustes de ejemplo de conjuntos de parametros
6- 1. Primera tecnica
6-2. Modificacion de ejemplo de la primera tecnica
6-3. Segunda tecnica
6-4. Tercera tecnica
6-5. Modificacion de ejemplo de la tercera tecnica
7. Aplicaciones
8. Conclusion
<1. Configuracion de ejemplo de un dispositivo de codificacion de imagenes segun una forma de realizacion> Esta seccion describe una configuracion de ejemplo de un dispositivo de codificacion de imagenes segun una forma de realizacion.
[1-1. Configuracion general de ejemplo]
La figura 1 es un diagrama de bloques que ilustra una configuracion de ejemplo de un dispositivo de codificacion de imagenes 10 segun una forma de realizacion. Con referencia a la Figura 1, el dispositivo de codificacion de imagenes 10 esta equipado con una seccion de conversion de analogico-digital (A/D) 11, un bufer de reordenacion 12, una seccion de procesamiento de sintaxis 13, una seccion de sustraccion 14, una seccion de transformacion ortogonal 15, una seccion de cuantificacion 16, una seccion de codificacion sin perdidas 17, un bufer de acumulacion 18, una seccion de control de tasa 19, una seccion de cuantificacion inversa 21, una seccion de transformacion ortogonal inversa 22, una seccion de agregacion 23, un filtro de desbloqueo 24, memoria de tramas 25, un selector 26, una seccion de intra prediccion 30, una seccion de estimacion de movimiento 40 y una seccion de seleccion de modo 50.
La seccion de conversion A/D 11 convierte una entrada de senal de imagen con un formato analogico en datos de imagen con formato digital, y suministra una secuencia de datos de imagen digital al bufer de reordenacion 12.
El bufer de reordenacion 12 reordena las imageries incluidas en la secuencia de datos de imagen procedente de la seccion de conversion A/D 11. Despues de reordenar las imagenes de acuerdo con una estructura de grupo de imagenes (GOP, group of pictures) de acuerdo con el proceso de codificacion, el bufer de reordenacion 12 suministra los datos de imagen reordenados a la seccion de procesamiento de sintaxis 13.
Los datos de imagen producidos por el bufer de reordenacion 12 y enviados a la seccion de procesamiento de sintaxis 13 son mapeados con un flujo de bits en unidades denominadas unidades de capa de abstraccion de red (NAL, Network Abstraction Layer). El flujo de datos de imagen incluye una o mas secuencias. La imagen principal en una secuencia se denomina imagen de actualizacion de decodificacion instantanea (IDR, instantaneous decoding refresh). Cada secuencia incluye una o mas imagenes, y cada imagen incluye ademas uno o mas segmentos (slices). En H.264/AVC y HEVC, estos segmentos son las unidades basicas de codificacion y decodificacion de video. Los datos de cada segmento se reconocen como una unidad NAL de Capa de codificacion de video (VCL, Video Coding Layer).
La seccion de procesamiento de sintaxis 13 reconoce de manera secuencial las unidades NAL en el flujo de datos de imagen suministrado por el bufer de reordenacion 12, e inserta unidades NAL no-VCL que almacenan informacion de cabecera en el flujo. Las unidades NAL no-VCL que la seccion de procesamiento de sintaxis 13 inserta en el flujo incluyen conjuntos de parametros de secuencia (SPS) y conjuntos de parametros de imagen (PPS). Ademas, en la presente forma de realizacion, la seccion de procesamiento de sintaxis 13 inserta en el flujo un conjunto de parametros de matriz de cuantificacion (QMPS, quantization matrix parameter set), una unidad NAL no-VCL diferente del SPS y del PPS. La seccion de procesamiento de sintaxis 13 tambien agrega una cabecera de segmento (SH, slice header) al principio de los segmentos. La seccion de procesamiento de sintaxis 13 suministra entonces el flujo de datos de imagen que incluye unidades NAL VCL y unidades NAL no-VCL a la seccion de sustraccion 14, la seccion de intra prediccion 30 y la seccion de estimacion de movimiento 40. Mas adelante se describira una configuracion detallada de la seccion de procesamiento de sintaxis 13.
A la seccion de sustraccion 14 se le suministran los datos de imagen procedentes de la seccion de procesamiento de sintaxis 13, y datos de imagen previstos seleccionados por la seccion de seleccion de modo 50 que se describe mas adelante. La seccion de sustraccion 14 calcula datos de error de prediccion, que es la diferencia entre los datos de imagen procedentes de la seccion de procesamiento de sintaxis 13 y los datos de imagen previstos procedentes de la seccion de seleccion de modo 50, y suministra los datos de error de prediccion calculados a la seccion de transformacion ortogonal 15.
La seccion de transformacion ortogonal 15 realiza una transformacion ortogonal en los datos de error de prediccion procedentes de la seccion de sustraccion 13. La transformacion ortogonal ejecutada por la seccion de transformacion ortogonal 15 puede ser una transformacion de coseno discreta (DCT, discrete cosine transform) o la transformacion de Karhunen-Loeve, por ejemplo. La seccion de transformacion ortogonal 15 suministra datos de coeficiente de transformacion adquiridos por el proceso de transformacion ortogonal a la seccion de cuantificacion 16.
La seccion de cuantificacion 16 usa una matriz de cuantificacion para cuantificar los datos de coeficiente de transformacion procedentes de la seccion de transformacion ortogonal 15, y suministra los datos de coeficiente de transformacion cuantificados (en adelante, denominados datos cuantificados) a la seccion de codificacion sin perdidas 17 y la seccion de cuantificacion inversa 21. La tasa de bits de los datos cuantificados se controla en base a una senal de control de tasa procedente de la seccion de control de tasa 19. La matriz de cuantificacion utilizada por la seccion de cuantificacion 16 es definida en el conjunto de parametros de matriz de cuantificacion, y puede especificarse en la cabecera de segmento para cada segmento. En el caso de que no se especifique una matriz de cuantificacion, se utiliza una matriz de cuantificacion plana que tiene una etapa de cuantificacion igual para todos los componentes.
La seccion de codificacion sin perdidas 17 genera un flujo codificado realizando un proceso de codificacion sin perdidas en los datos cuantificados procedentes de la seccion de cuantificacion 16. La codificacion sin perdidas realizada por la seccion de codificacion sin perdidas 17 puede ser una codificacion de longitud variable o una codificacion aritmetica, por ejemplo. Ademas, la seccion de codificacion sin perdidas 17 multiplexa informacion sobre intra prediccion o informacion sobre inter prediccion procedente de la seccion de seleccion de modo 50 hacia la cabecera del flujo codificado. La seccion de codificacion sin perdidas 17 luego suministra el flujo codificado generado de este modo al bufer de acumulacion 18.
El bufer de acumulacion 18 utiliza un medio de almacenamiento tal como una memoria de semiconductor para almacenar temporalmente en bufer el flujo codificado procedente de la seccion de codificacion sin perdidas 17. El buffer de acumulacion 18 a continuacion suministra el flujo codificado almacenado de este modo en el bufer a una seccion de transmision no ilustrada (tal como una interfaz de comunicacion o una interfaz de conexion con equipos perifericos, por ejemplo), a una velocidad de acuerdo con el ancho de banda del canal de transmision.
La seccion de control de tasa 19 monitoriza el espacio libre en el bufer de acumulacion 18. A continuacion, la seccion de control de tasa 19 genera una senal de control de tasa de acuerdo con el espacio libre en el bufer de acumulacion 18, y suministra la senal de control de tasa generada a la seccion de cuantificacion 16. Por ejemplo, cuando no hay mucho espacio libre en el bufer de acumulacion 18, la seccion de control de tasa 19 genera una senal de control de tasa para disminuir la tasa de bits de los datos cuantificados. Ademas, cuando hay suficiente espacio libre en el bufer de acumulacion 18, por ejemplo, la seccion de control de tasa 19 genera una senal de control de tasa para aumentar la tasa de bits de los datos cuantificados.
La seccion de cuantificacion inversa 21 utiliza una matriz de cuantificacion para realizar un proceso de cuantificacion inversa en los datos cuantificados procedentes de la seccion de cuantificacion 16. La seccion de cuantificacion inversa 21 a continuacion suministra los datos de coeficientes transformados adquiridos por el proceso de cuantificacion inversa a la seccion de transformacion ortogonal inversa 22.
La seccion de transformacion ortogonal inversa 22 realiza un proceso de transformacion ortogonal inversa en los datos de coeficientes transformados procedentes de la seccion de cuantificacion inversa 21 para restaurar de ese modo los datos de error de prediccion. Luego, la seccion de transformacion ortogonal inversa 22 suministra los datos de error de prediccion restaurados a la seccion de agregacion 23.
La seccion de agregacion 23 agrega los datos de error de prediccion restaurados procedentes de la seccion de transformacion ortogonal inversa 22 y los datos de imagen previstos procedentes de la seccion de seleccion de modo 50 para generar de este modo datos de imagen decodificados. Luego, la seccion de agregacion 23 suministra los datos de imagen decodificados generados de este modo al filtro de desbloqueo 24 y a la memoria de tramas 25. El filtro de desbloqueo 24 aplica un filtrado para reducir los artefactos de bloqueo producidos en el momento de la codificacion de la imagen. El filtro de desbloqueo 24 elimina artefactos de bloqueo filtrando los datos de imagen decodificados procedentes de la seccion de agregacion 23, y suministra los datos de imagen decodificados filtrados a la memoria de tramas 25.
La memoria de tramas 25 usa un medio de almacenamiento para almacenar los datos de imagen decodificados procedentes de la seccion de agregacion 23 y los datos de imagen decodificados despues del filtrado procedentes del filtro de desbloqueo 24.
El selector 26 lee, de la memoria de tramas 25, los datos de imagen decodificados sin filtrar a utilizar para la intra prediccion, y suministra los datos de imagen decodificados lefdos de este modo a la seccion de intra prediccion 30 como datos de imagen de referencia. Ademas, el selector 26 lee, de la memoria de tramas 25, los datos de imagen decodificados filtrados a utilizar para la inter prediccion, y suministra los datos de imagen decodificados lefdos de este modo a la seccion de estimacion de movimiento 40 como datos de imagen de referencia.
La seccion de intra prediccion 30 realiza un proceso de intra prediccion en cada modo de intra prediccion, en base a los datos de imagen a codificar procedentes de la seccion de procesamiento de sintaxis 13, y los datos de imagen decodificados suministrados a traves del selector 26. Por ejemplo, la seccion de intra prediccion 30 evalua el resultado de prediccion de cada modo de intra prediccion usando una funcion de coste predeterminada. Luego, la seccion de intra prediccion 30 selecciona el modo de intra prediccion que produce el menor valor de la funcion de coste, es decir, el modo de intra prediccion que produce la mayor relacion de compresion, como el modo de intra prediccion optimo. Ademas, la seccion de intra prediccion 30 suministra informacion sobre la intra prediccion, tal como informacion del modo de prediccion que indica el modo optimo de intra prediccion, los datos de imagen previstos y el valor de la funcion de coste, a la seccion de seleccion de modo 50.
La seccion de estimacion de movimiento 40 realiza un proceso de inter prediccion (proceso de prediccion entre tramas) en base a los datos de imagen a codificar procedentes de la seccion de procesamiento de sintaxis 13, y los datos de imagen decodificados suministrados a traves del selector 26. Por ejemplo, la seccion de estimacion de movimiento 40 evalua el resultado de prediccion de cada modo de prediccion utilizando una funcion de coste predeterminada. Luego, la seccion de estimacion de movimiento 40 selecciona el modo de prediccion que produce el menor valor de la funcion de coste, es decir, el modo de prediccion que produce la mayor relacion de compresion, como el modo de prediccion optimo. La seccion de estimacion de movimiento 40 genera datos de imagen previstos de acuerdo con el modo de prediccion optimo. La seccion de estimacion de movimiento 40 suministra informacion sobre la inter prediccion, tal como la informacion del modo de prediccion que indica el modo de intra prediccion optima seleccionado de este modo, los datos de imagen previstos y el valor de la funcion de coste, a la seccion de seleccion de modo 50.
La seccion de seleccion de modo 50 compara el valor de la funcion de coste relacionado con la intra prediccion procedente de la seccion de intra prediccion 30 con el valor de la funcion de coste relacionado con la inter prediccion procedente de la seccion de estimacion de movimiento 40. Luego, la seccion de seleccion de modo 50 selecciona el procedimiento de prediccion con el menor valor de la funcion de coste entre la intra prediccion y la inter prediccion. En el caso de seleccionar la intra prediccion, la seccion de seleccion de modo 50 suministra la informacion sobre la intra prediccion a la seccion de codificacion sin perdidas 17, y tambien suministra los datos de imagen previstos a la seccion de sustraccion 14 y la seccion de agregacion 23. Tambien, en el caso de seleccionar la inter prediccion, la seccion de seleccion de modo 50 genera la informacion sobre la inter prediccion descrita anteriormente a la seccion de codificacion sin perdidas 17, y tambien suministra los datos de imagen previstos a la seccion de sustraccion 14 y la seccion de agregacion 23.
[1-2. Configuracion de ejemplo de la seccion de procesamiento de sintaxis]
La Figura 2 es un diagrama de bloques que ilustra un ejemplo de una configuracion detallada de la seccion de procesamiento de sintaxis 13 del dispositivo de codificacion de imagenes 10 ilustrado en la Figura 1. Con referencia a la Figura 2, la seccion de procesamiento de sintaxis 13 incluye una seccion de configuracion 110, una seccion de generacion de parametros 120 y una seccion de insercion 130.
(1) Seccion de configuracion
La seccion de configuracion 110 conserva varios ajustes utilizados para el proceso de codificacion por el dispositivo de codificacion de imagenes 10. Por ejemplo, la seccion de configuracion 110 conserva un perfil para cada secuencia en los datos de imagen, el modo de codificacion para cada imagen, datos relativos a la estructura de GOP, y similares. Ademas, en la presente forma de realizacion, la seccion de configuracion 110 conserva unos ajustes con respecto a las matrices de cuantificacion utilizadas por la seccion de cuantificacion 16 (y la seccion de cuantificacion inversa 21). La cuestion de que matriz de cuantificacion debe ser utilizada por la seccion de cuantificacion 16 puede estar predeterminada para cada segmento (slice), normalmente en base al analisis de imagenes fuera de lfnea.
Por ejemplo, en aplicaciones de ejemplo tales como camaras de video digitales, los artefactos de compresion no existen en las imagenes de entrada y, por lo tanto, se puede usar una matriz de cuantificacion con una etapa de cuantificacion reducida, incluso en el rango alto. La matriz de cuantificacion varfa en unidades de imagen o unidades de trama. En el caso de imagenes de entrada con poca complejidad, el uso de una matriz de cuantificacion plana con una etapa de cuantificacion mas pequena permite mejorar la calidad de la imagen percibida subjetivamente por el usuario. Por otro lado, en el caso de imagenes de entrada con alta complejidad, es deseable usar una etapa de cuantificacion mas grande para inhibir los aumentos en la tasa. En este caso, el uso de una matriz de cuantificacion plana tiene el riesgo de que se detecten artefactos en la senal de rango bajo como ruido de bloque. Por esta razon, es ventajoso reducir el ruido mediante el uso de una matriz de cuantificacion en la que la etapa de cuantificacion aumenta el avance desde el rango bajo al rango alto.
En ejemplos de aplicaciones tales como grabadoras que re-comprimen contenido de transmision codificado en MPEG-2, los artefactos de compresion MPEG-2, tales como el ruido de mosquito, existen en las propias imagenes de entrada. El ruido de mosquito es el ruido producido como resultado de la cuantificacion de una senal de alto rango con una etapa de cuantificacion mayor, y los componentes de frecuencia del ruido pasan a frecuencias extremadamente altas. Al re-comprimir dichas imagenes de entrada, es deseable usar una matriz de cuantificacion que tenga un gran etapa de cuantificacion en el rango alto. Ademas, en las senales entrelazadas, la correlacion de la senal en la direccion horizontal es mayor que la correlacion de la senal en la direccion vertical en comparacion con las senales progresivas, debido a los efectos de las exploraciones entrelazadas. Por esta razon, tambien es ventajoso utilizar diferentes matrices de cuantificacion segun si la senal de imagen es una senal progresiva o una senal entrelazada. En cualquier caso, la matriz de cuantificacion optima puede variar en unidades de imagen o unidades de trama, dependiendo del contenido de la imagen.
(2) Seccion de generacion de parametros
La seccion de generacion de parametros 120 genera parametros que definen unos ajustes para el proceso de codificacion que son retenidos por la seccion de configuracion 110, y suministra los parametros generados a la seccion de insercion 130.
Por ejemplo, en la presente forma de realizacion, la seccion de generacion de parametros 120 genera parametros de matriz de cuantificacion que definen matrices de cuantificacion a utilizar en la seccion de cuantificacion 16. El grupo de parametros de matriz de cuantificacion generados por la seccion de generacion de parametros 120 son incluidos en el conjunto de parametros de matriz cuantificacion (QMPS, quantization matrix parameter set). A cada QMPS se le asigna un ID de QMPS, que es un identificador para discriminar los QMPS individuales entre si. Normalmente, se definen varias clases de matrices de cuantificacion dentro de un QMPS. Las clases de matrices de cuantificacion se distinguen entre sf por el tamano de la matriz junto con el correspondiente procedimiento de prediccion y los componentes de senal. Por ejemplo, se pueden definir un maximo de seis clases de matrices de cuantificacion (los componentes Y/Cb/Cr en la intra/inter prediccion) para cada uno de los tamanos 4*4, 8x8, 16x16 y 32x32 dentro de un QMPS.
Mas espedficamente, la seccion de generacion de parametros 120 puede convertir cada matriz de cuantificacion en una matriz lineal utilizando una exploracion en zigzag, y codificar el valor de cada elemento en la matriz lineal en un formato de modulacion por pulsos codificados diferenciales (DPCM, differential pulse-code modulation), de manera similar al proceso de codificacion de matrices de cuantificacion en H.264/AVC. En este caso, las matrices lineales de datos diferenciales de DPCM se convierten en parametros de matriz de cuantificacion. En esta especificacion, dicho modo para generar parametros de matriz de cuantificacion se denomina modo de exploracion completa.
Ademas, la seccion de generacion de parametros 120 tambien puede generar parametros de matriz de cuantificacion en un modo que se diferencia del modo de exploracion completa, con el fin de reducir la cantidad de codigos de los parametros de matriz de cuantificacion. Por ejemplo, en lugar del modo de exploracion completa, la seccion de generacion de parametros 120 tambien puede generar parametros de matriz de cuantificacion en un modo de copia o un modo de designacion de ejes, que se describen a continuacion.
El modo de copia es un modo que se puede seleccionar en el caso en el que la matriz de cuantificacion utilizada para un segmento dado se parezca o sea igual a una matriz de cuantificacion ya definida. En el caso del modo de copia, la seccion de generacion de parametros 120 incluye el ID de QMPS del QMPS en el que se define la matriz de cuantificacion origen de la copia, asf como el tamano y el tipo de la matriz de cuantificacion origen de la copia, en el QMPS como parametros de matriz de cuantificacion. Tengase en cuenta que en esta especificacion, la combinacion del procedimiento de prediccion y los componentes de senal correspondientes a una determinada matriz de cuantificacion se designa como el tipo de esa matriz de cuantificacion. En el caso de que existan diferencias entre la matriz de cuantificacion a definir y la matriz de cuantificacion origen de la copia, la seccion de generacion de parametros 120 puede incluir ademas datos residuales para generar una matriz residual que expresa el error residual de cada componente en el QMPS.
El procesamiento para el modo de designacion de ejes se divide ademas de acuerdo con dos procedimientos de especificacion: un procedimiento diferencial y un procedimiento de interpolacion. Con el procedimiento diferencial, la seccion de generacion de parametros 120 especifica solo los valores de los elementos en la matriz de cuantificacion correspondientes al eje vertical que es la columna mas a la izquierda, al eje horizontal que es la fila mas superior y al eje diagonal a lo largo de la diagonal de la Unidad de Transformacion. Con el procedimiento de interpolacion, la seccion de generacion de parametros 120 especifica solo los valores de los elementos en la matriz de cuantificacion correspondientes a las cuatro esquinas en la parte superior izquierda (el componente DC), la parte superior derecha, la parte inferior izquierda y la parte inferior derecha de la Unidad de Transformacion. Los valores de los elementos restantes pueden ser interpolados con una tecnica arbitraria, tal como interpolacion lineal, interpolacion cubica, o interpolacion de Lagrange. Del mismo modo, en el modo de designacion de ejes, en el caso de que existan diferencias entre la matriz de cuantificacion a definir y la matriz de cuantificacion interpolada, la seccion de generacion de parametros 120 puede incluir ademas datos residuales para generar una matriz residual que exprese el error residual de cada componente en el QMPS.
(3) Seccion de insercion
La seccion de insercion 130 inserta informacion de cabecera, tal como SPS, PPS, QMPS y cabeceras de segmento que incluyen respectivamente los grupos de parametros generados por la seccion de generacion de parametros 120, en el flujo de datos de imagen procedentes del bufer de reordenacion 12. Como se ha comentado anteriormente, el QMPS es una unidad NAL no-VCL que se diferencia del SPS y del PPS. El QMPS incluye parametros de matriz de cuantificacion generados por la seccion de generacion de parametros 120. La seccion de insercion 130 luego suministra el flujo de datos de imagen con informacion de cabecera insertada a la seccion de sustraccion 14, la seccion de intra prediccion 30 y la seccion de estimacion de movimiento 40.
[1-3. Estructura de parametro de ejemplo]
(1) Conjunto de parametros de matriz de cuantificacion
La figura 3 es un diagrama explicativo que ilustra parametros de ejemplo incluidos en cada QMPS en la presente forma de realizacion. Con referencia a la Figura 3, cada QMPS incluye un "ID de QMPS", un "indicador de presencia del modo de generacion", un "modo de generacion" y diferentes parametros de matriz de cuantificacion para cada modo.
El "ID de QMPS" es un identificador para discriminar los QMPS individuales entre si. El ID de QMPS puede ser un numero entero en el rango de 0 a 31, o similar. La especificacion de un ID de QMPS no utilizado significa que se debe definir un nuevo QMPS. La re-especificacion de un ID de QMPS que ya se esta utilizando en una secuencia significa que se va a actualizar un QMPS ya definido.
El "indicador de presencia del modo de generacion actual" es un indicador que indica si un "modo de generacion", que es una clasificacion que representa un modo del proceso de generacion de matrices de cuantificacion, se encuentra o no se encuentra dentro de ese QMPS. En el caso de que el indicador de presencia del modo de generacion indique "0: no presente", las matrices de cuantificacion se definen en el modo de exploracion completa dentro de ese QMPS. Por otra parte, en el caso de que el indicador de presencia del modo de generacion indique "1: presente", un "modo de generacion" se encuentra dentro de ese QMPS.
El "modo de generacion" es una clasificacion que puede tomar cualquiera de los valores "0: copia", "1: designacion de ejes", o "2: exploracion completa", por ejemplo. En el pseudocodigo de sintaxis que se describe mas adelante, el modo de generacion es representado por una variable denominada "pred_mode".
En el caso del modo de copia (es decir, pred_mode = 0), el QMPS puede incluir un "ID origen", un "tamano origen de la copia", un "tipo origen de la copia", un "indicador de residuales" y "datos residuales" como parametros de matriz de cuantificacion. El "ID origen" es un ID de QMPS que especifica un QMPS en el que se define una matriz de cuantificacion origen de la copia. El "tamano origen de la copia" es el tamano de la matriz de cuantificacion origen de la copia. El "tipo origen de la copia" es el tipo de la matriz de cuantificacion origen de la copia (intra-Y, intra- Cb,.., intra-Cr). El "indicador de residuales" es un indicador que indica si existe o no existe error de residuales. Los "datos residuales" son datos para generar una matriz residual que expresa el error residual en el caso de que exista un error de residuales. Los datos residuales pueden omitirse en el caso en el que la marca residual indique "0: no presente".
Tengase en cuenta el caso en el que el ID origen de un determinado QMPS es igual al ID de QMPS de ese mismo QMPS, puede interpretarse como que especifica una matriz de cuantificacion por defecto (o por defecto) como la ilustrada en el ejemplo de la Figura 38. Haciendo esto se puede reducir la cantidad de codigos del QMPS, puesto que ya no es necesario incluir en el QMPS un indicador independiente para especificar la matriz de cuantificacion por defecto.
En el caso del modo de designacion de ejes (es decir, pred_mode = 1), el QMPS puede incluir un "indicador de procedimiento de designacion", ademas de "datos del eje de referenda" o "datos de esquina", un "indicador de residuales", y "datos residuales" como parametros de matriz de cuantificacion. El indicador de procedimiento de designacion es un indicador que indica como designar los valores de los elementos a lo largo de los ejes de referencia que sirven como referencia para la generacion de matrices de cuantificacion, y puede tomar un valor de "0: diferencial" o "1: interpolacion", por ejemplo. En el caso de que el procedimiento de designacion sea "0: diferencial", los valores de los elementos correspondientes a los ejes de referencia de la matriz de cuantificacion, que son el eje vertical, el eje horizontal y el eje diagonal, son designados por los datos del eje de referencia. En el caso de que el procedimiento de designacion sea "1: interpolacion ", los valores de los elementos correspondientes a las cuatro esquinas en la parte superior izquierda, la parte superior derecha, la parte inferior izquierda y la parte inferior derecha de la matriz de cuantificacion son designados por los datos de esquina. Los valores de los elementos en los tres ejes de referencia se pueden generar por interpolacion de los valores de estas cuatro esquinas. El indicador de residuales y los datos residuales son similares al caso del modo de copia.
En el caso del modo de exploracion completa (es decir, pred_mode = 2), el QMPS puede incluir matrices lineales de datos diferenciales DPCM como parametros de matriz de cuantificacion.
Tengase en cuenta que cada QMPS puede incluir modos de generacion que difieren para cada clase de matriz de cuantificacion y parametros de matriz de cuantificacion correspondientes a cada modo. En otras palabras, como ejemplo, una determinada clase de matriz de cuantificacion puede definirse en modo de exploracion completa, otra clase de matriz de cuantificacion puede definirse en modo de designacion de ejes, y las matrices de cuantificacion restantes pueden definirse en modo de copia dentro de un solo QMPS.
(2) Cabecera de segmento
La Figura 4 es un diagrama explicativo que ilustra parcialmente ejemplos de parametros incluidos en cada cabecera de segmento en la presente forma de realizacion. Con referencia a la Figura 4, cada cabecera de segmento puede incluir un "tipo de segmento ", un "ID de PPS", un "indicador de presencia de ID de QMPS" y un "ID de QMPS". El "tipo de segmento " es una clasificacion que indica el tipo de codificacion de ese segmento, y toma un valor que corresponde a un segmento P, un segmento B o un segmento I o similar. El "ID de PPS" es un ID para el conjunto de parametros de imagen (PPS, picture parameter set) referenciado para ese segmento. El "indicador de presencia de ID de QMPS" es un indicador que indica si un ID de QMPS se encuentra o no se encuentra en esa cabecera de segmento. El "ID de QMPS" es un ID de QMPS para el conjunto de parametros de matriz de cuantificacion (QMPS, quantization matrix parameter set) referenciado para ese segmento.
<2. Flujo del proceso durante la codificacion de acuerdo con la forma de realizacion>
(1) Proceso de insercion en el conjunto de parametros
La Figura 5 es un diagrama de flujo que ilustra un flujo de ejemplo de un proceso de insercion en un conjunto de parametros por medio de la seccion de insercion 130 de la seccion de procesamiento de sintaxis 13 de acuerdo con la presente forma de realizacion.
Con referencia a la Figura 5, la seccion de insercion 130 primero adquiere sucesivamente unidades NAL dentro del flujo de datos de imagen procedente del bufer de reordenacion 12, y reconoce una sola imagen (etapa S100). A continuacion, la seccion de insercion 130 determina si la imagen reconocida es o no es la imagen principal de una secuencia (etapa S102). En este punto, la seccion de insercion 130 inserta un SPS en el flujo en el caso que la imagen reconocida sea la imagen principal de una secuencia (etapa S104). A continuacion, la seccion de insercion 130 determina ademas si hay o no hay un cambio en el PPS para la imagen reconocida (etapa S106). En este punto, la seccion de insercion 130 inserta un PPS en el flujo en el caso de que haya un cambio en el PPS, o en el caso de que la imagen reconocida sea la imagen principal de una secuencia (etapa S108). A continuacion, la seccion de insercion 130 determina ademas si hay o no hay un cambio en el QMPS (etapa S110). En este punto, la seccion de insercion 130 inserta un QMPS en el flujo en el caso de que haya un cambio en el QMPS, o en el caso de que la imagen reconocida sea la imagen principal de una secuencia (etapa S112). Despues de esto, la seccion de insercion 130 finaliza el proceso en el caso de detectar el final del flujo. Por otro lado, la seccion de insercion 130 repite el proceso anterior para la siguiente imagen en el caso de que el flujo no haya finalizado (etapa S114).
Tengase en cuenta que aunque el diagrama de flujo solo ilustra la insercion del SPS, el PPS y el QMPS por razones de simplicidad, la seccion de insercion 130 tambien puede insertar otra informacion de cabecera, tal como informacion de mejora complementaria (SEI, supplemental enhancement information) y cabeceras de segmento, en el flujo.
(2) Descripcion de la estructura del flujo
La Figura 6 es un diagrama explicativo para explicar las diferencias en la estructura del flujo entre una tecnica de acuerdo con la presente forma de realizacion y una tecnica existente.
La parte izquierda de la Figura 6 ilustra un flujo ST1 como un ejemplo generado de acuerdo con una tecnica existente. Dado que el inicio del flujo ST1 es el comienzo de una secuencia, se insertan un primer SPS(1) y un primer PPS(1) al inicio del flujo ST1. Se pueden definir una o mas matrices de cuantificacion en el SPS(1) y el PPS(1). A continuacion, supongase que es necesario actualizar las matrices de cuantificacion despues de varias cabeceras de segmento y datos de segmento subsiguientes. Por lo tanto, se inserta un segundo PPS(2) en el flujo ST1. El PPS(2) tambien incluye parametros distintos de los parametros de matriz de cuantificacion. A continuacion, supongase que es necesario actualizar el PPS despues de varias cabeceras de segmento y datos de segmento subsiguientes. Por lo tanto, se inserta un tercer PPS(3) en el flujo ST1. El PPS(3) tambien incluye parametros de matriz de cuantificacion. El proceso de cuantificacion (y el proceso de cuantificacion inversa) para los segmentos subsiguientes se realiza utilizando las matrices de cuantificacion definidas en el PPS especificado por el ID de PPS en la cabecera del segmento.
La parte derecha de la Figura 6 ilustra un flujo ST2 como un ejemplo generado de acuerdo con la tecnica anterior de acuerdo con la presente forma de realizacion. Dado que el inicio del flujo ST2 es el inicio de una secuencia, se insertan un primer SPS(1), un primer PPS(1) y un primer QMPS(1) en el inicio del flujo ST1. En el flujo ST2, se pueden definir una o mas matrices de cuantificacion en el QMPS(1). La suma de las longitudes del p Ps (1) y del QMPS(1) en el flujo ST2 es aproximadamente igual a la longitud del PPS(1) en el flujo ST1. A continuacion, si es necesario actualizar las matrices de cuantificacion despues de varias cabeceras de segmento y datos de segmento subsiguientes, se inserta un segundo QMPS(2) en el flujo ST2. Dado que el QMPS(2) no contiene parametros distintos de parametros de matriz de cuantificacion, la longitud del QMpS(2) es mas menor que la longitud del PPS(2) en el flujo ST2. A continuacion, si es necesario actualizar el PPS despues de varias cabeceras de segmento y datos de segmento subsiguientes, se inserta un segundo PPS(2) en el flujo ST2. Dado que el PPS(2) en el flujo ST2 no contiene parametros de matriz de cuantificacion, la longitud del PpS(2) en el flujo ST2 es menor que la longitud del PPS(3) en el flujo ST1. El proceso de cuantificacion (y el proceso de cuantificacion inversa) para los segmentos subsiguientes se realiza utilizando las matrices de cuantificacion definidas en el QMPS especificado por el ID de QMPS en la cabecera del segmento.
Una comparacion de los flujos ST1 y ST2 en la Figura 6 revela que la cantidad de codigos del flujo general puede reducirse con la tecnica descrita en la presente forma de realizacion. En particular, la reduccion de la cantidad de codigos con la tecnica anterior pasa a ser aun mas efectiva en el caso de matrices de cuantificacion con tamanos mas grandes, o en el caso de que se defina un mayor numero de matrices de cuantificacion para cada imagen. <3. Configuracion de ejemplo de un dispositivo de decodificacion de imagenes segun una forma de realizacion [3-1. Configuracion general de ejemplo]
Esta seccion describe una configuracion de ejemplo de un dispositivo de decodificacion de imagenes segun una forma de realizacion.
[3-1. Configuracion general de ejemplo]
La Figura 7 es un diagrama de bloques que ilustra una configuracion de ejemplo de un dispositivo de decodificacion de imagenes 60 segun una forma de realizacion. Con referencia a la Figura 7, el dispositivo de decodificacion de imagenes 60 esta equipado con una seccion de procesamiento de sintaxis 61, una seccion de decodificacion sin perdidas 62, una seccion de cuantificacion inversa 63, una seccion de transformacion ortogonal inversa 64, una seccion de agregacion 65, un filtro de desbloqueo 66, un bufer de reordenacion 67, una seccion de conversion de digital a analogico (D/A) 68, memoria de tramas 69, selectores 70 y 71, una seccion de intra prediccion 80 y una seccion de compensacion de movimiento 90.
La seccion de procesamiento de sintaxis 61 adquiere informacion de cabecera tal como SPS, PPS, QMPS y cabeceras de segmento de un flujo codificado recibido a traves de un canal de transmision, y reconoce varios ajustes para un proceso de decodificacion por medio del dispositivo de decodificacion de imagenes 60 en base a la informacion de cabecera adquirida. Por ejemplo, en la presente forma de realizacion, la seccion de procesamiento de sintaxis 61 establece una matriz de cuantificacion a utilizar durante un proceso de cuantificacion inversa por medio de la seccion de cuantificacion inversa 63 en base a los parametros de matriz de cuantificacion incluidos en un QMPS. Mas adelante se describira con mas detalle una configuracion detallada de la seccion de procesamiento de sintaxis 61.
La seccion de decodificacion sin perdidas 62 decodifica el flujo codificado procedente de la seccion de procesamiento de sintaxis 61 de acuerdo con el procedimiento de codificacion utilizado en el momento de la codificacion. La seccion de decodificacion sin perdidas 62 luego suministra los datos de cuantificacion decodificados a la seccion de cuantificacion inversa 62. Ademas, la seccion de decodificacion sin perdidas 62 suministra informacion sobre la intra prediccion incluida en la informacion de cabecera a la seccion de intra prediccion 80, y suministra informacion sobre la inter prediccion a la seccion de compensacion de movimiento 90.
La seccion de cuantificacion inversa 63 usa una matriz de cuantificacion configurada por la seccion de procesamiento de sintaxis 61 para cuantificar inversamente los datos de cuantificacion decodificados por la seccion de decodificacion sin perdidas 62 (es decir, datos de coeficientes de transformacion cuantificados). La cuestion de que matriz de cuantificacion se debe usar para cada bloque en un segmento determinado se puede determinar de acuerdo con el ID de QMPS especificado en la cabecera de segmento, el tamano de cada bloque (Unidad de Transformacion), el procedimiento de prediccion para cada bloque y los componentes de senal.
La seccion de transformacion ortogonal inversa 64 genera datos de error de prediccion realizando una transformacion ortogonal inversa en los datos de coeficientes de transformacion procedentes de la seccion de cuantificacion inversa 63 de acuerdo con el procedimiento de transformacion ortogonal utilizado en el momento de la codificacion. Luego, la seccion de transformacion ortogonal inversa 64 suministra los datos de error de prediccion generados a la seccion de agregacion 65.
La seccion de agregacion 65 agrega los datos de error de prediccion procedentes de la seccion de transformacion ortogonal inversa 64 a los datos de imagen previstos procedentes del selector 71 para generar de este modo datos de imagen decodificados. Luego, la seccion de agregacion 65 suministra los datos de imagen decodificados generados de este modo al filtro de desbloqueo 66 y a la memoria de tramas 69.
El filtro de desbloqueo 66 elimina los artefactos de bloqueo filtrando los datos de imagen decodificados procedentes de la seccion de agregacion 65, y suministra los datos de imagen decodificados filtrados de este modo al bufer de reordenacion 67 y la memoria de tramas 69.
El bufer de reordenacion 67 genera una secuencia cronologica de los datos de imagen reordenando imagenes procedentes del filtro de desbloqueo 66. A continuacion, el bufer de reordenacion 67 suministra los datos de imagen generados a la seccion de conversion D/A 68.
La seccion de conversion D/A 68 convierte los datos de imagen con formato digital procedentes del bufer de reordenacion 67 en una senal de imagen con un formato analogico. Luego, la seccion de conversion D/A 68 hace que se visualice una imagen suministrando la senal de imagen analogica a una pantalla (no ilustrada) conectada al dispositivo de decodificacion de imagenes 60, por ejemplo.
La memoria de tramas 69 utiliza un medio de almacenamiento para almacenar los datos de imagen decodificados sin filtrar procedentes de la seccion de agregacion 65 y los datos de imagen decodificados filtrados procedentes del filtro de desbloqueo 66.
El selector 70 cambia el destino de salida de los datos de imagen procedentes de la memoria de tramas 69 entre la seccion de intra prediccion 80 y la seccion de compensacion de movimiento 90 para cada bloque en la imagen segun la informacion de modo adquirida por la seccion de decodificacion sin perdidas 62. Por ejemplo, en el caso de que se especifique un modo de intra prediccion, el selector 70 suministra los datos de imagen decodificados sin filtrar proporcionados por la memoria de tramas 69 a la seccion de intra prediccion 80 como datos de imagen de referencia. Ademas, en el caso de que se especifique un modo de inter prediccion, el selector 70 suministra los datos de imagen decodificados filtrados proporcionados por la memoria de tramas 69 a la seccion de compensacion de movimiento 90 como datos de imagen de referencia.
El selector 71 cambia la fuente de salida de los datos de imagen previstos a suministrar a la seccion de agregacion 65 entre la seccion de intra prediccion 80 y la seccion de compensacion de movimiento 90 para cada bloque en la imagen de acuerdo con la informacion de modo adquirida por la seccion de decodificacion sin perdidas 62. Por ejemplo, en el caso de que se especifique un modo de intra prediccion, el selector 71 proporciona a la seccion de agregacion 65 los datos de imagen previstos producidos por la seccion de intra prediccion 80. En el caso de que se especifique un modo de inter prediccion, el selector 71 suministra a la seccion de agregacion 65 los datos de imagen previstos por la seccion de compensacion de movimiento 90.
La seccion de intra prediccion 80 realiza la prediccion en imagen de valores de pixel en base a la informacion sobre intra prediccion procedente de la seccion de decodificacion sin perdidas 62 y los datos de imagen de referencia procedentes de la memoria de tramas 69, y genera datos de imagen previstos. Luego, la seccion de intra prediccion 80 genera los datos de imagen previstos generados de este modo al selector 71.
La seccion de compensacion de movimiento 90 realiza un proceso de compensacion de movimiento en base a la informacion sobre inter prediccion procedente de la seccion de decodificacion sin perdidas 62 y los datos de imagen de referencia procedentes de la memoria de tramas 69, y genera datos de imagen previstos. Luego, la seccion de compensacion de movimiento 90 suministra los datos de imagen previstos generados de este modo al selector 71.
[3-2. Configuracion de ejemplo de una seccion de procesamiento de sintaxis]
La Figura 8 es un diagrama de bloques que ilustra un ejemplo de una configuracion detallada de la seccion de procesamiento de sintaxis 61 del dispositivo de decodificacion de imagenes 60 ilustrado en la Figura 7. En referencia a la Figura 8, la seccion de procesamiento de sintaxis 61 incluye una seccion de adquisicion de parametros 160 y una seccion de configuracion 170.
(1) Seccion de adquisicion de parametros.
La seccion de adquisicion de parametros 160 reconoce informacion de cabecera tal como SPSS, PPS, QMPS, y cabeceras de segmento del flujo de datos de imagen, y adquiere parametros incluidos en la informacion de cabecera. Por ejemplo, en la presente forma de realizacion, la seccion de adquisicion de parametros 160 adquiere de un QMPS unos parametros de matriz de cuantificacion que definen una matriz de cuantificacion. Como se ha mencionado anteriormente, el QMPS es una unidad NAL no-VCL que se diferencia del SPS y del PPS. La seccion de adquisicion de parametros 160 luego suministra los parametros adquiridos a la seccion de configuracion 170. La seccion de adquisicion de parametros 160 tambien suministra el flujo de datos de imagen a la seccion de decodificacion sin perdidas 62.
(2) Seccion de configuracion
La seccion de configuracion 170 aplica unos ajustes para el procesamiento en cada seccion que se ilustra en la Figura 7, en base a los parametros adquiridos por la seccion de adquisicion de parametros 160. Por ejemplo, la seccion de configuracion 170 reconoce el rango de tamanos de Unidad de Codificacion a partir del par de valores de la LCU y la SCU, mientras que tambien establece el tamano de Unidad de Codificacion de acuerdo con el valor de split_flag. La decodificacion de los datos de imagen se realiza tomando las Unidades de Codificacion establecidas en este punto como las unidades de procesamiento. Ademas, la seccion de configuracion 170 establece ademas el tamano de la Unidad de Transformacion. La cuantificacion inversa por medio de la seccion de cuantificacion inversa 63 y la transformacion ortogonal inversa por medio de la seccion de transformacion ortogonal inversa 64 comentadas anteriormente se realizan tomando las Unidades de Transformacion establecidas en este punto como las unidades de procesamiento.
Tambien, en la presente forma de realizacion, la seccion de configuracion 170 establece unas matrices de cuantificacion en base a parametros de matriz de cuantificacion adquiridos de un QMPS por la seccion de adquisicion de parametros 160. Mas especfficamente, en base a parametros de cuantificacion incluidos en un QMPS, la seccion de configuracion 170 genera multiples matrices de cuantificacion que difieren entre si en tamano y tipo en modo de exploracion completa, modo de copia y modo de designacion de ejes, respectivamente. La generacion de matrices de cuantificacion se puede realizar cada vez que se detecta un QMPS en el flujo de datos de imagen.
Por ejemplo, en el modo de exploracion completa, la seccion de configuracion 170 decodifica una matriz lineal de datos diferenciales incluidos en los parametros de matriz de cuantificacion en formato DPCM. La seccion de configuracion 170 luego convierte la matriz lineal decodificada en una matriz de cuantificacion bidimensional de acuerdo con el patron de exploracion de una exploracion en zigzag.
Ademas, en el modo de copia, la seccion de configuracion 170 copia una matriz de cuantificacion (generada previamente) especificada por un ID origen, un tamano origen de la copia y un tipo origen de la copia incluidos en los parametros de matriz de cuantificacion. En este punto, en el caso de que el tamano de la nueva matriz de cuantificacion sea mas pequeno que el tamano de la matriz de cuantificacion origen de la copia, la seccion de configuracion 170 genera la nueva matriz de cuantificacion diezmando elementos en la matriz de cuantificacion copiada. Ademas, en el caso de que el tamano de la nueva matriz de cuantificacion sea mayor que el tamano de la matriz de cuantificacion origen de la copia, la seccion de configuracion 170 genera la nueva matriz de cuantificacion mediante la interpolacion de elementos en la matriz de cuantificacion copiada. Entonces, en el caso en el que existen componentes residuales, la seccion de configuracion 170 agrega los componentes residuales a la nueva matriz de cuantificacion.
Ademas, en el caso de que el ID origen incluido en los parametros de matriz de cuantificacion dentro de un determinado QMPS sea igual al ID de QMPS de ese QMPS, la seccion de configuracion 170 trata la nueva matriz de cuantificacion como la matriz de cuantificacion por defecto.
Ademas, en el modo de designacion de ejes, la seccion de configuracion 170 reconoce el indicador del procedimiento de designacion incluido en los parametros de matriz de cuantificacion. Luego, en el caso del procedimiento diferencial, la seccion de configuracion 170 genera los valores de los elementos de la matriz de cuantificacion que corresponden al eje vertical, al eje horizontal y al eje diagonal en base a los datos de eje de referencia incluidos en los parametros de matriz de cuantificacion, y genera los valores de los elementos restantes por interpolacion. Ademas, en el caso del procedimiento de interpolacion, la seccion de configuracion 170 genera los valores de los elementos de la matriz de cuantificacion que corresponden a las cuatro esquinas en base a los datos de esquina incluidos en los parametros de matriz de cuantificacion, y despues de generar los valores de elementos a lo largo de los ejes de referencia por interpolacion, genera ademas los valores de los elementos restantes por interpolacion. Luego, en el caso de que existan componentes residuales, la seccion de configuracion 170 agrega los componentes residuales a la nueva matriz de cuantificacion.
Despues de eso, cuando se especifica un ID de QMPS en una cabecera de segmento, la seccion de configuracion 170 configura la matriz de cuantificacion generada para el QMPS identificado por el ID de QMPS especificada como la matriz de cuantificacion a utilizar por parte de la seccion de cuantificacion inversa 63.
<4. Flujo del proceso durante la decodificacion de acuerdo con la forma de realizacion>
[4-1. Generacion de matrices de cuantificacion]
(1) Proceso de generacion de matrices de cuantificacion.
La Figura 9 es un diagrama de flujo que ilustra un flujo de ejemplo de un proceso de generacion de matrices de cuantificacion por parte de la seccion de procesamiento de sintaxis 61 de acuerdo con la presente forma de realizacion. El proceso de generacion de matrices de cuantificacion de la Figura 9 es un proceso que se puede realizar cada vez que se detecta un QMPS en el flujo de datos de imagen.
Con referencia a la Figura 9, la seccion de adquisicion de parametros 160 primero adquiere un ID de QMPS de un QMPS (etapa S200). Si el ID de QMPS adquirido en este punto es un ID no utilizado en el flujo, la seccion de configuracion 170 genera una nueva matriz de cuantificacion para asociarla con ese ID de QMPS de acuerdo con el proceso descrito a continuacion. Por otro lado, si el ID de QMPS es un ID que ya esta en uso, la seccion de configuracion 170 actualiza la matriz de cuantificacion almacenada en asociacion con ese ID de QMPS como una matriz generada de acuerdo con el proceso descrito a continuacion. A continuacion, la seccion de adquisicion de parametros 160 adquiere del QMPS un indicador de presencia del modo de generacion (etapa S202).
El subsiguiente procesamiento desde la etapa S206 a la etapa S240 se repite para cada clase de matriz de cuantificacion (etapa S204). Tengase en cuenta que la clase de una matriz de cuantificacion corresponde a la combinacion del tamano y el tipo (es decir, el procedimiento de prediccion y los componentes de senal) de la matriz de cuantificacion.
En la etapa S206, la seccion de configuracion 170 determina, de acuerdo con el indicador de presencia del modo de generacion, si (una clasificacion de) un modo de generacion esta o no esta presente en el QMPS (etapa S206). En el caso de que no este presente un modo de generacion en este punto, la seccion de configuracion 170 genera una matriz de cuantificacion con el procedimiento de exploracion completa, de manera similar al proceso de decodificacion de matriz de cuantificacion en H.264/AVC (etapa S208). Por otro lado, en el caso de que este presente un modo de generacion, la seccion de adquisicion de parametros 160 adquiere del QMPS el modo de generacion (etapa S210). La seccion de configuracion 170 realiza un procesamiento diferente dependiendo del modo de generacion (etapas S212, S214).
Por ejemplo, en el caso en el que se indique el modo de copia, la seccion de configuracion 170 realiza el procesamiento en el modo de copia ilustrado por ejemplo en la Figura 10 (etapa S220). Ademas, en el caso en el que se indique el modo de designacion de ejes, la seccion de configuracion 170 realiza el procesamiento en el modo de designacion de ejes ilustrado por ejemplo en la Figura 11 (etapa S240). Ademas, en el caso de que se indique el modo de exploracion completa, la seccion de configuracion 170 genera una matriz de cuantificacion con el procedimiento de exploracion completa, de manera similar al proceso de decodificacion de matriz de cuantificacion en H.264/AVC (etapa S208).
Despues de esto, cuando se generan matrices de cuantificacion para todas las clases de matrices de cuantificacion, el proceso de generacion de matrices de cuantificacion ilustrado en la Figura 9 finaliza.
(2) Proceso en modo de copia.
La figura 10 es un diagrama de flujo que ilustra un ejemplo de un flujo detallado de un proceso en modo de copia en la etapa S220 de la Figura 9.
Con referencia a la Figura 10, primero, la seccion de adquisicion de parametros 160 adquiere de un QMPS un ID origen (etapa S221). A continuacion, la seccion de configuracion 170 determina si el ID de QMPS adquirido en la etapa S200 de la Figura 9 (el ID de QMPS del QMPS actual) y el ID origen son iguales (etapa S222). En este punto, en el caso en el que el ID de QMPS del QMPS actual y el ID origen son iguales, la seccion de configuracion 170 genera una nueva matriz de cuantificacion como la matriz de cuantificacion por defecto (etapa S223). Por otro lado, en el caso de que el ID de QMPS del QMPS actual y el ID origen no sean iguales, el proceso pasa a la etapa S224. En la etapa S224, la seccion de adquisicion de parametros 160 adquiere del QMPS el tamano origen de la copia y el tipo origen de la copia (etapa S224). A continuacion, la seccion de configuracion 170 copia la matriz de cuantificacion especificada por el ID origen, el tamano origen de la copia y el tipo origen de la copia (etapa S225). A continuacion, la seccion de configuracion 170 compara el tamano origen de la copia con el tamano de la matriz de cuantificacion a generar (etapa S226). En este punto, en el caso de que el tamano origen de la copia y el tamano de la matriz de cuantificacion a generar no sean iguales, la seccion de configuracion 170 genera una nueva matriz de cuantificacion interpolando o diezmando elementos en la matriz de cuantificacion copiada, dependiendo de la diferencia en el tamano (etapa S227).
Adicionalmente, la seccion de adquisicion de parametros 160 adquiere del QMPS el indicador de residuales (etapa S228). A continuacion, la seccion de configuracion 170 determina si hay o no hay datos residuales presentes, segun el valor del indicador de residuales (etapa S229). En este punto, en el caso en el que hay datos residuales, la seccion de configuracion 170 agrega el error residual a la nueva matriz de cuantificacion generada en la etapa S223 o etapas S225 a S227 (etapa S230).
(3) Proceso en modo de designacion de ejes.
La figura 11 es un diagrama de flujo que ilustra un ejemplo de un flujo detallado de un proceso en el modo de designacion de ejes en la etapa S240 de la Figura 9.
Con referencia a la Figura 11, primero, la seccion de adquisicion de parametros 160 adquiere de un QMPS el indicador de procedimiento de designacion (etapa S241). A continuacion, la seccion de configuracion 170 determina el procedimiento de designacion de acuerdo con el valor del indicador de procedimiento de designacion (etapa S242). En este punto, el proceso pasa a la etapa S243 en el caso de que se designe el procedimiento diferencial. Por otro lado, el proceso pasa a la etapa S246 en el caso de que se designe el procedimiento de interpolacion.
En el caso del procedimiento diferencial, la seccion de configuracion 170 genera los valores de los elementos de la matriz de cuantificacion que corresponden al eje vertical, al eje horizontal y al eje diagonal, en base a datos de ejes de referencia incluidos en los parametros de matriz de cuantificacion (etapas s243, S244 y S245). Por otro lado, en el caso del procedimiento de interpolacion, la seccion de configuracion 170 genera los valores de los elementos de la matriz de cuantificacion que corresponden a las cuatro esquinas, en base a los datos de esquina incluidos en los parametros de matriz de cuantificacion (etapa S246). A continuacion, la seccion de configuracion 170 genera por interpolacion los valores de los elementos a lo largo de los ejes de referencia (eje vertical, eje horizontal y eje diagonal) que unen las cuatro esquinas (etapa S247). Despues de esto, la seccion de configuracion 170 interpola los valores de los elementos restantes en base a los valores de los elementos a lo largo de los ejes de referencia (etapa 5248) .
Adicionalmente, la seccion de adquisicion de parametros 160 adquiere del QMPS el indicador de residuales (etapa 5249) . A continuacion, la seccion de configuracion 170 determina si hay o no hay datos residuales presentes, de acuerdo con el valor del indicador de residuales (etapa S250). En este punto, en el caso de que haya datos residuales, la seccion de configuracion 170 agrega el error residual a la nueva matriz de cuantificacion generada en la etapa S248 (etapa S251).
[4-2. Configurando la matriz de cuantificacion a dividir]
La figura 12 es un diagrama de flujo que ilustra un flujo de ejemplo de un proceso para configurar una matriz de cuantificacion en un segmento por parte de la seccion de procesamiento de sintaxis 61 de acuerdo con la presente forma de realizacion. El proceso de la Figura 12 se puede realizar cada vez que se detecte una cabecera de segmento en el flujo de datos de imagen.
En primer lugar, la seccion de adquisicion de parametros 160 adquiere de una cabecera de segmento el indicador de presencia de ID de QMPS (etapa S261). A continuacion, la seccion de adquisicion de parametros 160 determina si un ID de QMPS esta presente o no dentro de la cabecera de segmento, de acuerdo con el valor del indicador de presencia de ID de QMPS (etapa S262). En este punto, la seccion de adquisicion de parametros 160 adquiere ademas de un QMPS un ID de QMPS en el caso de que un ID de QMPS este presente (etapa S263). La seccion de configuracion 170 luego configura la matriz de cuantificacion generada para el QMPS identificado por el ID de QMPS adquirido para los segmentos posteriores a esa cabecera de segmento (etapa S264). Por otro lado, en el caso de que no exista un ID de QMPS dentro de la cabecera de segmento, la seccion de configuracion 170 establece una matriz de cuantificacion plana para los segmentos posteriores a esa cabecera de segmento (etapa S265).
<5. Ejemplos de sintaxis>
[5-1. Primer ejemplo]
Las Figuras 13 a 15 ilustran un primer ejemplo de pseudocodigo ilustrativo que expresa la sintaxis de un QMPS segun la presente forma de realizacion. Se proporcionan numeros de lfnea en el borde izquierdo del pseudocodigo. Ademas, una variable subrayada en el pseudocodigo significa que el parametro correspondiente a esa variable es especificado dentro del QMPS.
La funcion QuantizaionMatrixParameterSet() en la lfnea 1 de la Figura 13 es una funcion que expresa la sintaxis de un solo QMPS. En la lfnea 2 y la lfnea 3, se especifican el ID de QMPS (quantization_matrix_paramter_id) y el indicador de presencia del modo de generacion (pred_present_flag). La sintaxis subsiguiente a partir de la lfnea 6 a la lfnea 56 se repite para cada tamano y tipo de matriz de cuantificacion. La sintaxis de la lfnea 7 a la lfnea 53 en el bucle es insertada en el QMPS en el caso de que un modo de generacion este presente (pred_present_flag = 1).
La sintaxis de la lfnea 9 a la lfnea 16 en el caso de que un modo de generacion este presente es la sintaxis para el modo de copia. En las lfneas de la 9 a la 11, se especifican el ID origen, el tamano origen de la copia y el tipo origen de la copia. La funcion pred_matrix() en la lfnea 12 significa que se deben copiar la matriz de cuantificacion especificada por el ID origen, el tamano origen de la copia y el tipo origen de la copia. En la lfnea 13, se especifica el indicador de residuales. La funcion residual_matrix() en la lfnea 15 significa que los datos residuales son especificados en el QMPS en el caso de que haya componentes residuales presentes.
La sintaxis de la linea 18 a la linea 50 es la sintaxis para el modo de designacion de ejes, y se describe en la Figura 14. En la linea 18, se especifica el indicador de procedimiento de designacion. En el caso de que el procedimiento de designacion sea el procedimiento diferencial (DPCM), los valores de los elementos a lo largo del eje vertical se especifican desde la linea 21 hasta la linea 25, mientras que los valores de los elementos a lo largo del eje horizontal se especifican desde la linea 26 hasta la linea 34, y los valores de los elementos a lo largo del eje diagonal se especifican desde la linea 35 hasta la linea 40. Los datos de ejes de referencia en este caso son matrices lineales de datos diferenciales DPCM. Tengase en cuenta que se puede omitir la sintaxis de los elementos a lo largo del eje horizontal en el caso de que se puedan copiar los valores de los elementos a lo largo del eje horizontal (linea 27, linea 28). En el caso de que el procedimiento de designacion sea el procedimiento de interpolacion, los valores de la parte superior izquierda (componente DC), de la parte superior derecha, de la parte inferior izquierda, y de la parte inferior derecha se especifican respectivamente como datos de esquina desde la linea 42 hasta la linea 45.
El procesamiento en la linea 52 es la sintaxis para el modo de exploracion completa. El procesamiento en la linea 55 es la sintaxis para el caso en el que no hay un modo de generacion presente. En cualquier caso, una matriz de cuantificacion se especifica con el procedimiento de exploracion completa por medio de una funcion qmatrix() que representa la sintaxis de la matriz de cuantificacion en H.264/AVC.
La funcion residual_matrix() en la linea 1 en la Figura 15 es una funcion para especificar datos residuales utilizados en la linea 15 de la Figura 13 y la linea 49 de la Figura 14. En el ejemplo de la Figura 15, los datos residuales son especificados por un procedimiento DPCM o un procedimiento run-length. En el caso del procedimiento DPCM, el valor de la diferencia con el ultimo elemento (delta_coef) se especifica desde la linea 4 hasta la linea 8 para cada elemento de la matriz lineal. En el caso del procedimiento run-length, la longitud de los grupos de elementos en porciones en las que el valor es consecutivamente cero (run) y el valor de elementos distintos de cero (datos) se especifican repetidamente desde la linea 11 hasta la linea 18.
[5-2. Segundo ejemplo]
Las Figuras 16 a 20 ilustran un segundo ejemplo de pseudocodigo ilustrativo que expresa la sintaxis de un QMPS de acuerdo con la presente forma de realizacion.
La funcion QuantizaionMatrixParameterSet() en la linea 1 de la Figura 16 es una funcion que expresa la sintaxis de un solo QMPS. En la linea 2, se especifica el ID de QMPS (quantization_matrix_paramter_id). Ademas, el indicador de presencia del modo de generacion (pred_present_flag) se especifica en la linea 6, excepto en el caso de que solo se designe la matriz de cuantificacion por defecto.
Ademas, en el segundo ejemplo, se especifican cuatro clases de escalas de cuantificacion (Qscale0 a Qscale3) desde la linea 7 hasta la linea 10 en la funcion QuantizaionMatrixParameterSet(). Estas escalas de cuantificacion son parametros que pueden adoptarse para cuantificar el valor de cada elemento en una matriz de cuantificacion y disminuir aun mas la tasa. Mas especfficamente, se definen cuatro areas de configuracion de escala de cuantificacion A1 a A4, como las ilustradas en la Figura 21, en una matriz de cuantificacion de 8*8, por ejemplo. El area de configuracion de escala de cuantificacion A1 es un area para el grupo de elementos correspondiente a la senal de rango bajo, incluyendo el componente DC. Las areas de configuracion de escala de cuantificacion A2 y A3 son areas para los grupos de elementos que corresponden a respectivas senales en el rango medio. El area de configuracion de escala de cuantificacion a 4 es un area para el grupo de elementos que corresponden a la senal de rango alto. Se puede establecer una escala de cuantificacion para cuantificar los valores de los elementos en la matriz de cuantificacion para cada una de estas areas. Por ejemplo, en referencia a la Figura 22, la primera escala de cuantificacion (Qscale0) es "1" para el area de configuracion de escala de cuantificacion A1. Esto significa que los valores en la matriz de cuantificacion no se cuantifican en grupos de elementos correspondientes a la senal de rango bajo. Por otro lado, la segunda escala de cuantificacion (Qscale1) es "2" para el area de configuracion de escala de cuantificacion A2. La tercera escala de cuantificacion (Qscale2) es "3" para el area de configuracion de escala de cuantificacion A3. La cuarta escala de cuantificacion (Qscale3) es "4" para el area de configuracion de escala de cuantificacion A4. A medida que aumenta la escala de cuantificacion, aumenta el error producido por la cuantificacion. Normalmente, sin embargo, cierto grado de error es tolerable para la senal de rango alto. En consecuencia, en los casos en que es deseable lograr una alta eficiencia de codificacion, la cantidad de codigos requeridos para definir una matriz de cuantificacion puede reducirse efectivamente estableciendo dichas escalas de cuantificacion para cuantificar la matriz de cuantificacion, sin degradar mucho la calidad de la imagen. En los casos en que se cuantifica una matriz de cuantificacion, el valor de cada elemento en los datos residuales o los datos diferenciales ilustrados mediante el ejemplo en la Figura 3 puede cuantificarse sustancialmente o cuantificarse inversamente mediante las etapas de cuantificacion establecidas en las areas de configuracion de escala de cuantificacion a las que pertenece cada elemento.
Tengase en cuenta que el diseno de las areas de configuracion de escala de cuantificacion ilustradas en la Figura 21 es simplemente un ejemplo. Por ejemplo, tambien se pueden definir diferentes numeros de areas de configuracion de escala de cuantificacion para cada tamano de matriz de cuantificacion (por ejemplo, se pueden definir mas areas de configuracion de escala de cuantificacion para tamanos mas grandes). Ademas, las posiciones de los lfmites de las areas de configuracion de escala de cuantificacion no se limitan al ejemplo de la Figura 21. Por lo general, el patron de exploracion al linealizar una matriz de cuantificacion es una exploracion en zigzag. Por esta razon, es preferible utilizar los lfmites del area diagonal de la parte superior derecha a la inferior izquierda, segun se ilustra en la Figura 21. Sin embargo, tambien se pueden usar los lfmites de area que se encuentran a lo largo de la direccion vertical u horizontal, dependiendo de factores tales como la correlacion entre elementos en la matriz de cuantificacion y el patron de exploracion en uso. Ademas, el diseno de las areas de configuracion de escala de cuantificacion (el numero de areas, las posiciones de los lfmites y similares) tambien se pueden seleccionar de forma adaptativa desde la perspectiva de la eficiencia de codificacion. Por ejemplo, tambien se puede seleccionar un numero menor de areas de configuracion de escala de cuantificacion en el caso de que se defina una matriz de cuantificacion casi plana.
En La Figura 16, la sintaxis subsiguiente desde la lfnea 13 hasta la lfnea 76 se repite para cada tamano y tipo de matriz de cuantificacion. La sintaxis desde la lfnea 14 hasta la lfnea 66 (ver Figura 18) en el bucle es insertada en el QMPS en el caso de que haya un modo de generacion presente (pred_present_flag = 1).
La sintaxis desde la lfnea 16 hasta la lfnea 22 en el caso de que haya un modo de generacion presente es la sintaxis para el modo de copia. En las lfneas de la 16 a la 18, se especifican el ID origen, el tamano origen de la copia y el tipo origen de la copia. En la lfnea 19, se especifica el indicador de residuales. La funcion residual_matrix() en la lfnea 21 significa que los datos residuales son especificados en el QMPS en el caso de que haya componentes residuales presentes. Los datos residuales en este punto se pueden cuantificar de acuerdo con los valores de las cuatro clases de escalas de cuantificacion (QscaleO a Qscale3) comentadas anteriormente. La sintaxis desde la lfnea 23 hasta la lfnea 56 es la sintaxis para el modo de designacion de ejes, y se describe en la Figura 17. Los datos residuales en el modo de designacion de ejes tambien pueden cuantificarse de acuerdo con los valores de las cuatro clases de escalas de cuantificacion (QscaleO a Qscale3) comentadas anteriormente (lfnea 55).
La sintaxis desde la lfnea 57 hasta la lfnea 66 en la Figura 18 es la sintaxis para el modo de exploracion completa. Ademas, la sintaxis desde la lfnea 68 hasta la lfnea 75 es la sintaxis para el caso en el que no hay un modo de generacion presente. En cualquier caso, se especifica una matriz de cuantificacion con el procedimiento de exploracion completa mediante la funcion qmatrix(). Sin embargo, en el segundo ejemplo, se conmutan de forma adaptativa unas tablas VLC para codificacion de entropfa de datos diferenciales (delta_coef) en el procedimiento DPCM o unos valores de serie (run) y valores de elementos distintos de cero (datos) en el procedimiento run-length con el fin de aumentar aun mas la eficiencia de codificacion. El vlc_table_data en la lfnea 61 y la lfnea 71 especifica el numero de tabla de una tabla VLC seleccionada para los datos diferenciales (delta_coef) en el procedimiento DPCM o los valores de elementos distintos de cero (datos) en el procedimiento run-length. El vlc_table_run en la lfnea 63 y la lfnea 73 especifica el numero de tabla de una tabla VLC seleccionada para valores de serie (run) en el procedimiento run-length.
La funcion qmatrix() en la lfnea 1 de la Figura 19 es la sintaxis para especificar una matriz de cuantificacion con el procedimiento de exploracion completa. En las lfneas de la 3 a la 8 en la Figura 19 indica la sintaxis para el procedimiento DPCM, y los datos diferenciales (delta_coef) en la lfnea 5 son codificados utilizando la tabla VLC especificada por vlc_table_data segun se ha comentado anteriormente. Ademas, las lfneas de la 10 a la 21 indican la sintaxis para el procedimiento run-length, y los valores de serie (run) en la lfnea 12 son codificados utilizando la tabla VLC especificada por vlc_table_run segun se ha comentado anteriormente. Los valores de elementos distintos de cero (datos) en la lfnea 13 son codificados utilizando la tabla VLC especificada por vlc_table_data segun se ha comentado anteriormente.
La figura 23 ilustra listas de palabras de codigo en 11 clases de tablas (VLC) de codificacion de longitud variable seleccionables en un procedimiento de codificacion de entropfa de baja complejidad (LCEC, low complexity entropy coding). La "x" en cada palabra de codigo en la Figura 23 es un sufijo determinado. Por ejemplo, si se codifica un valor de "15" con la codificacion Exp-Golomb, se obtiene una palabra de codigo de 9 bits "000010000", pero si ese valor se codifica con VLC4, se obtiene una palabra de codigo de 5 bits "11111". De esta manera, se puede aumentar la eficiencia de la codificacion seleccionando una tabla VLC que tenga sufijos con mayores numeros de dfgitos en palabras de codigo cortas en el caso de codificar muchos valores mas grandes. Entre las 11 clases de tablas VLC de la Figura 23, VLC4, por ejemplo, tiene sufijos de 4 dfgitos en palabras de codigo de 5 bits. Ademas, VLC9 tiene sufijos de 4 dfgitos en palabras de codigo de 6 bits. En consecuencia, estas tablas VLC son adecuadas en el caso de codificar muchos valores mas grandes.
Volviendo a la sintaxis de la matriz de cuantificacion, puesto que los datos diferenciales de una matriz lineal de una matriz de cuantificacion tiene muchos ceros consecutivos, los valores de serie (run) en el procedimiento run-length producen muchos valores mas grandes, en lugar de valores pequenos como 0, 1, o 2. Por otro lado, los valores de elementos distintos de cero y los valores de datos diferenciales en el procedimiento run-length producen valores grandes con poca frecuencia. En consecuencia, con la conmutacion de la tabla VLC para cada procedimiento de designacion de datos diferenciales (DPCM/run-length) y la clase de valor (elemento run/distinto de cero en el caso del procedimiento run-length) como en la sintaxis comentada anteriormente, se reduce significativamente la cantidad de codigos necesarios para definir una matriz de cuantificacion.
La funcion residual_matrix() en la lfnea 1 de la Figura 20 tambien implementa la conmutacion adaptativa de las tablas VLC. En otras palabras, la vlc_table_data en la lfnea 7 especifica el numero de tabla de una tabla VLC seleccionada para los datos diferenciales (delta_coef) en el procedimiento DPCM. Los datos diferenciales (delta_coef) en la lfnea 10 son codificados utilizando la tabla VLC especificada en la lfnea 7. La vlc_table_data en la lfnea 15 especifica el numero de tabla de una tabla VLC seleccionada para los valores de elementos distintos de cero (datos) en el procedimiento run-length. La vlc_table_run en la lfnea 16 especifica el numero de tabla de una tabla VLC seleccionada para los valores de serie (run) en el procedimiento run-length. Los valores de serie (run) en la lfnea 19 son codificados utilizando la tabla VLC especificada por vlc_table_run segun se ha comentado anteriormente. Los valores de elementos distintos de cero (datos) en la lfnea 20 son codificados utilizando la tabla VLC especificada por vlc_table_data segun se ha comentado anteriormente.
De acuerdo con las diversas caracterfsticas de dicha sintaxis QMPS, se reduce efectivamente la cantidad de codigos requeridos para definir una matriz de cuantificacion, y se puede mejorar la eficiencia de codificacion. Sin embargo, la sintaxis descrita en esta seccion es simplemente un ejemplo. En otras palabras, puede reducirse u omitirse parte de la sintaxis ilustrada como ejemplo en el presente documento, puede cambiarse la secuencia de parametros o pueden agregarse otros parametros a la sintaxis. Ademas, varias de las caracterfsticas de la sintaxis descrita en esta seccion tambien pueden implementarse cuando se define una matriz de cuantificacion en el SPS o PPS en lugar del QMPS. En dichos casos, es posible reducir la cantidad de codigos requeridos para definir una matriz de cuantificacion en el SPS o PPS.
<6. Varias configuraciones de ejemplo de conjuntos de parametros>
Lo anterior describe varios ejemplos especfficos de la sintaxis para un conjunto de parametros de matriz de cuantificacion (QMPS) que almacena parametros de matriz de cuantificacion. El QMPS puede ser sustancialmente un conjunto de parametros dedicados que solo contiene parametros de matriz de cuantificacion, pero tambien puede ser un conjunto de parametros comunes que tambien contiene otros parametros relacionados con herramientas de codificacion distintas de las matrices de cuantificacion. Por ejemplo, "Adaptation Parameter Set (APS)" (JCTVC-F747r3, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 6th Meeting: Torino, IT, 14-22 July, 2011) introduce un nuevo conjunto de parametros denominado conjunto de parametros de adaptacion (APS, adaptation parameter set), y propone almacenar parametros relacionados con el filtro de bucle adaptativo (ALF, adaptive loop filter) y el desplazamiento adaptativo de muestras (SAO, sample adaptive offest) en el APS. Incluyendo ademas los parametros de matriz de cuantificacion en un APS de este tipo, tambien es posible configurar sustancialmente el QMPS comentado anteriormente. Por lo tanto, en esta seccion, se describiran varias tecnicas para configurar el QMPS utilizando el APS propuesto por "Adaptation Parameter Set (APS)" (JCTVC-F747r3).
[6-1. Primera tecnica]
La primera tecnica es una tecnica que enumera todos los parametros objetivo dentro de un APS, y referencia a cada parametro utilizando un ID de APS, un identificador que identifica de forma unica ese APS. La figura 24 ilustra un ejemplo de un flujo codificado configurado de acuerdo con la primera tecnica.
En referencia a la Figura 24, se insertan un SPS 801, un PPS 802 y un APS 803 al comienzo de una imagen P0 que se encuentra al inicio de una secuencia. El PPS 802 es identificado por el ID de PPS "P0". El APS 803 es identificado por el ID de APS "A0". El APS 803 incluye parametros relacionados con ALF, parametros relacionados con SAO y parametros de matriz de cuantificacion (en adelante designados como parametros relacionados con QM). Una cabecera de segmento 804 adjunta a los datos de segmento dentro de la imagen P0 incluye un ID de PPS de referencia "P0", y esto significa que los parametros dentro del PPS 802 son referenciados con el fin de decodificar esos datos de segmento. De manera similar, la cabecera de segmento 804 incluye una referencia ID de APS "A0", y esto significa que los parametros dentro del APS 803 son referenciados con el fin de decodificar los datos de segmento.
Se inserta un APS 805 en una imagen P1 que sigue a la imagen P0. El APS 805 es identificado por el ID de APS "A1". El APS 805 incluye parametros relacionados con ALF, parametros relacionados con SAO y parametros relacionados con QM. Los parametros relacionados con ALF y los parametros relacionados con SAO incluidos en el APS 805 han sido actualizados a partir del APS 803, pero los parametros relacionados con QM no han sido actualizados. Una cabecera de segmento 806 adjunta a los datos de segmento dentro de la imagen P1 incluye un ID de APS de referencia "A1", y esto significa que los parametros dentro del APS 805 son referenciados con el fin de decodificar esos datos del segmento.
Se inserta un APS 807 en una imagen P2 que sigue a la imagen P1. El APS 807 es identificado por el ID de APS "A2". El APS 807 incluye parametros relacionados con ALF, parametros relacionados con SAO y parametros relacionados con QM. Los parametros relacionados con ALF y los parametros relacionados con QM incluidos en el APS 807 han sido actualizados a partir del APS 805, pero los parametros relacionados con SAO no han sido actualizados. Una cabecera de segmento 808 adjunta a los datos de segmento dentro de la imagen P2 incluye un ID de APS de referencia "A2", y esto significa que los parametros dentro del APS 807 son referenciados con el fin de decodificar esos datos del segmento.
La Figura 25 ilustra un ejemplo de sintaxis de APS definida de acuerdo con la primera tecnica. En la lfnea 2 en la Figura 25, se especifica un iD de APS para identificar de manera unica ese APS. El ID de APS es un identificador de conjunto de parametros utilizado en lugar del ID de QMPS descrito a traves de la Figura 3. Los parametros relacionados con ALF son especificados en las lfneas de la 13 a la 17. Los parametros relacionados con SAO son especificados en las lfneas de la 18 a la 23. Los parametros relacionados con QM son especificados en las lfneas de la 24 a la 28. El "aps_qmatrix_flag" en la lfnea 24 es un indicador de presencia de la matriz de cuantificacion que indica si los parametros relacionados con QM estan definidos dentro de ese APS. El "qmatrix_param()” en la lfnea 27 es una funcion que especifica los parametros de matriz de cuantificacion segun se ilustra en el ejemplo de las figuras 13 a 20. En el caso de que el indicador de presencia de la matriz de cuantificacion en la lfnea 24 indique que los parametros relacionados con QM estan definidos dentro de ese APS (aps_qmatrix_flag = 1), se puede usar la funcion qmatrix_param() para establecer los parametros de matriz de cuantificacion dentro de ese APS.
En el caso de implementar la primera tecnica, la seccion de adquisicion de parametros 160 ilustrada en la Figura 8 determina si los parametros de matriz de cuantificacion estan definidos dentro de un APS referenciando al indicador de presencia de la matriz de cuantificacion incluido en ese APS. La seccion de adquisicion de parametros 160 entonces adquiere del APS los parametros de la matriz de cuantificacion en el caso de que los parametros de matriz de cuantificacion esten definidos dentro de ese APS.
La Figura 26 es un diagrama explicativo que ilustra un ejemplo de sintaxis de cabecera de segmento definida de acuerdo con la primera tecnica. En la lfnea 5 en la Figura 26, se especifica un ID de PPS de referencia para referenciar a los parametros incluidos en el PPS de entre los parametros establecer para ese segmento. En la lfnea 8, se especifica un ID de APS de referencia para referenciar a los parametros incluidos en el APS de entre los parametros a establecer para ese segmento. El ID de APS de referencia es un parametro de referencia que se utiliza en lugar del ID de QMPS (de referencia) descrito a traves de la Figura 4.
De acuerdo con la primera tecnica, extendiendo el APS propuesto por "Adaptation Parameter Set (APS)" (JCTVC-F747r3), es posible realizar el conjunto de parametros de matriz de cuantificacion comentado anteriormente con un coste bajo. Ademas, es posible utilizar un indicador de presencia de la matriz de cuantificacion para actualizar parcialmente solo los parametros de matriz de cuantificacion de entre los parametros relacionados con varias herramientas de codificacion potencialmente incluidas en el APS, o alternativamente, no actualizar solo los parametros de matriz de cuantificacion. En otras palabras, dado que es posible incluir parametros de matriz de cuantificacion en el APS solo cuando es necesaria la actualizacion de la matriz de cuantificacion, se pueden transmitir de manera eficiente los parametros de matriz de cuantificacion dentro del APS.
[6-2. Ejemplo de modificacion de la primera tecnica]
A continuacion se describe una tecnica de acuerdo con la modificacion a modo de ejemplo que tambien puede implementarse con el fin de reducir aun mas la cantidad de codigos de parametros de matriz de cuantificacion dentro del APS.
La figura 27 ilustra un ejemplo de sintaxis de APS definida de acuerdo con una modificacion de ejemplo de la primera tecnica. En la sintaxis ilustrada en la Figura 27, los parametros relacionados con QM se especifican en las lfneas de la 24 a la 33. El "aps_qmatrix_flag" en la lfnea 24 es un indicador de presencia de matriz de cuantificacion que indica si los parametros relacionados con QM estan definidos dentro de ese APS. El "ref_aps_id_resent_flag" en la lfnea 25 es un indicador de presencia del ID de referencia anterior que indica si se debe usar un ID de referencia anterior como el parametro relacionado con QM en ese APS. En el caso de que el indicador de presencia del ID de referencia anterior indique que se va a utilizar un ID de referencia anterior (ref_aps_id_present_flag = 1), se establece un ID de referencia anterior "ref_aps_id" en la lfnea 27. El ID de referencia anterior es un identificador para referenciar al ID de APS de un APS codificado o decodificado antes que el APS actual. En el caso de que se use un ID de referencia anterior, los parametros de matriz de cuantificacion no se definen dentro del APS de referencia original (el ultimo). En este caso, la seccion de configuracion 170 ilustrada en la Figura 8 reutiliza las matrices de cuantificacion establecidas en base a los parametros de matriz de cuantificacion en el APS de referenda objetivo indicado por el ID de referencia anterior como matrices de cuantificacion correspondientes al APS de referencia original. Tengase en cuenta que un ID de referencia anterior que se refiera al ID de APS de un APS de referencia original (lo que se denomina auto-referencia) puede estar prohibida. En su lugar, la seccion de configuracion 170 puede establecer la matriz de cuantificacion por defecto como la matriz de cuantificacion correspondiente al APS auto-referenciado. En el caso de que no se utilice un ID de referencia anterior (ref_aps_id_present_flag = 0), se puede usar la funcion "qmatrix_param()" en la lfnea 31 para definir los parametros de la matriz de cuantificacion dentro de ese APS.
De esta manera, usando un ID de referencia anterior para reutilizar matrices de cuantificacion ya codificadas o decodificadas, se evita la definicion repetida de los mismos parametros de matriz de cuantificacion dentro de APS. Por lo tanto, se puede reducir la cantidad de codigos de parametros de matriz de cuantificacion dentro del APS. Tengase en cuenta que aunque la Figura 27 ilustra un ejemplo en el que se utiliza el ID de APS con el fin de referenciar a un APS anterior, los medios para referenciar a un APS anterior no se limitan a dicho ejemplo. Por ejemplo, tambien se pueden usar otro parametro como el numero de APS entre el APS de referencia original y el APS de referencia objetivo con el fin de referenciar a un APS anterior. Ademas, en lugar de utilizar el indicador presencia del ID de referencia anterior, la referencia a un APS anterior y la configuracion de nuevos parametros de matriz de cuantificacion pueden ser conmutados dependiendo de si el ID de referencia anterior indica o no indica un valor determinado (menos uno, por ejemplo).
[6-3. Segunda tecnica]
La segunda tecnica es una tecnica que almacena parametros en diferentes APS (diferentes unidades NAL) para cada clase de parametro, y referencia a cada parametro con un ID de APS que identifica de forma unica cada APS. La figura 28 ilustra un ejemplo de un flujo codificado configurado de acuerdo con la segunda tecnica.
Con referencia a La Figura 28, se insertan un SPS 811, un PPS 812, un APS 813a, un APS 813b y un APS 813c al comienzo de una imagen P0 que se encuentra al inicio de una secuencia. El PPS 812 es identificado por el ID de PPS "P0". El APS 813a es un APS para parametros relacionados con ALF y es identificado por el ID de APS "A00". El APS 813b es un APS para parametros relacionados con SAO y es identificado por el ID de APS "A10". El APS 813c es un APS para parametros relacionados con QM, y es identificado por el ID de APS "A20". Una cabecera de segmento 814 adjunta a los datos del segmento dentro de la imagen P0 incluye un ID de PPS de referencia "P0", y esto significa que los parametros dentro del PPS 812 son referenciados con el fin de decodificar esos datos de segmento. De manera similar, la cabecera de segmento 814 incluye un ID de APS_ALF de referencia "A00", un ID de APS_SAO de referencia "A10", y un ID de APS_QM de referencia "A20", y esto significa que los parametros dentro de los APS 813a, 813b y 813c son referenciados con el fin de decodificar esos datos del segmento.
Se insertan un APS 815a y un APS 815b en una imagen P1 que sigue a la imagen P0. El APS 815a es un APS para parametros relacionados con ALF y es identificado por el ID de APS "A01". El APS 815b es un APS para parametros relacionados con SAO y es identificado por el ID de APS "A11". Como los parametros relacionados con QM no son actualizados a partir de la imagen P0, no se inserta un APS para parametros relacionados con QM. Una cabecera de segmento 816 adjunta a los datos de segmento dentro de la imagen P1 incluye un ID de APS_ALF de referencia "A01", un ID de ApS_SAO de referencia "A11" y un ID de APS_QM de referencia "A20". Esto significa que los parametros dentro de los APS 815a, 815b y 813c son referenciados con el fin de decodificar esos datos de segmento.
Se insertan un APS 817a y un APS 817c en una imagen P2 que sigue a la imagen P1. El APS 817a es un APS para parametros relacionados con ALF y es identificado por el ID de APS "A02". El APS 817c es un APS para parametros relacionados con QM, y es identificado por el ID de APS "A21". Como los parametros relacionados con SAO no son actualizados a partir de la imagen P1, no se inserta un APS para parametros relacionados con SAO. Una cabecera de segmento 818 adjunta a los datos de segmento dentro de la imagen P2 incluye un ID de APS_ALF de referencia "A02", un ID de ApS_SAO de referencia "A11", y un ID de APS_QM de referencia "A21". Esto significa que los parametros dentro de los APS 817a, 815b y 817c con referenciados con el fin de decodificar esos datos de segmento.
El APS para parametros relacionados con QM en la segunda tecnica (los APS 813c y 817c, por ejemplo) es sustancialmente igual al QMPS descrito anteriormente. Se usa el ID de APS del APS para parametros relacionados con QM en lugar del ID de QMPS descrito en la Figura 3. De acuerdo con la segunda tecnica, dado que se utilizan diferentes APS para cada clase de parametros, no se realiza la transmision de parametros redundantes para parametros que no requieren actualizacion. Por esta razon, la eficiencia de codificacion puede ser optimizada. Sin embargo, con la segunda tecnica, a medida que aumentan las clases de parametros que a incorporar en el APS, hay un aumento de las clases de tipos de unidades NAL (nal_unit_type), un identificador para identificar clases de APS. En la especificacion estandar de HEVC, hay un numero limitado de tipos de unidades NAL (nal_unit_type) reservados para extensiones. En consecuencia, es ventajoso considerar una estructura que evite utilizar muchos tipos de unidades NAL para APS.
[6-4. Tercera tecnica]
La tercera tecnica es una tecnica que incorpora parametros de matriz de cuantificacion y otros parametros en el APS, y grupos de estos parametros por medio de identificadores individuales definidos por separado del ID de APS. En esta especificacion, este identificador asignado a cada grupo y definido por separado del iD de APS se denomina el sub-identificador (SUB ID). Cada parametro es referenciado usando el sub-identificador en la cabecera de segmento. La figura 29 ilustra un ejemplo de un flujo codificado configurado de acuerdo con la tercera tecnica.
Con referencia a la Figura 29, se insertan un SPS 821, un PPS 822 y un APS 823 al comienzo de una imagen P0 que se encuentra al inicio de una secuencia. El PPS 822 es identificado por el ID de PPS "P0". El APS 823 incluye parametros relacionados con ALF, parametros relacionados con SAO y parametros relacionados con QM. Los parametros relacionados con ALF pertenecen a un grupo y son identificados por un ID de SUB_ALF "AA0", un subidentificador para ALF. Los parametros relacionados con SAO pertenecen a un grupo y son identificados por un ID de SUB_SAO "AS0", un sub-identificador para SAO. Los parametros relacionados con QM pertenecen a un grupo y son identificados por un ID de SUB_QM "AQ0", un sub-identificador para QM. Una cabecera de segmento 824 adjunta a los datos de segmento dentro de la imagen P0 incluye un ID de SUB_ALF de referencia "AA0", un ID de SUB_SAO de referencia "AS0", y un ID de SUB_QM de referencia "AQ0". Esto significa que los parametros relacionados con ALF que pertenecen al ID de SUB_ALF "AA0", los parametros relacionados con SAO que pertenecen al ID de SUB_sAo "AS0", y los parametros relacionados con QM que pertenecen al ID de SUB_Qm "AQ0" son referenciados con el fin de decodificar esos datos de segmento.
Se inserta un APS 825 en una imagen P1 que sigue a la imagen P0. El APS 825 incluye parametros relacionados con ALF y parametros relacionados con SAO. Los parametros relacionados con ALF son identificados por un ID de SUB_ALF "AA1". Los parametros relacionados con SAO son identificados por un ID de SUB_SAO "AS1". Como los parametros relacionados con QM no son actualizados a partir de la imagen P0, no se incluyen los parametros relacionados con QM en el APS 825. Una cabecera de segmento 826 adjunta a los datos de segmento dentro de la imagen P1 incluye un ID de SUB_ALF de referencia "AA1", un ID de Su B_SAO de referencia "AS1" y un ID de SUB_QM de referencia "AQ0". Esto significa que los parametros relacionados con ALF que pertenecen al ID de SUB_ALF "AA1" y los parametros relacionados con SAO que pertenecen al ID de SUB_SAO "As 1" dentro del APS 825, asf como los parametros relacionados con QM que pertenecen al ID de SUB_QM "AQ0" dentro del APS 823, son referenciados con el fin de decodificar los datos del segmento.
Se inserta un APS 827 en una imagen P2 que sigue a la imagen P1. El APS 827 incluye parametros relacionados con ALF y parametros relacionados con QM. Los parametros relacionados con ALF son identificados por un ID de SUB_ALF "AA2". Los parametros relacionados con QM son identificados por un ID de SUB_QM "AQ1". Dado que los parametros relacionados con SAO no son actualizados a partir de la imagen P1, los parametros relacionados con SAO no son incluidos en el APS 827. Una cabecera de segmento 828 adjunta a los datos de segmento dentro de la imagen P2 incluye un ID de SUB_ALF de referencia "AA2", un ID de SUB_SAO de referencia "AS1", y un ID de SUB_QM de referencia "AQ1". Esto significa que los parametros relacionados con ALF que pertenecen al ID de SUB_ALF "AA2" y los parametros relacionados con q M que pertenecen al ID de SUB_q M "AQ1" dentro del APS 827, asf como los parametros relacionados con SAO que pertenecen al ID de SUB_SAO "AS1" dentro del APS 825, son referenciados con el fin de decodificar los datos del segmento.
La figura 30 ilustra un ejemplo de sintaxis de APS definida de acuerdo con la tercera tecnica. En las lfneas de la 2 a la 4 de la Figura 30, se especifican tres indicadores de presencia de grupo "aps_adaptive_loop_filter_flag", "aps_sample_adaptive_offset_flag", y "aps_qmatrix_flag". Los indicadores de presencia de grupo indican si los parametros que pertenecen a los grupos respectivos son o no son incluidos en ese APS. Si bien se omite el ID de APS de la sintaxis en el ejemplo de la Figura 30, tambien se puede agregar dentro de la sintaxis un ID de APS para identificar ese APS. Los parametros relacionados con ALF se especifican en las lfneas de la 12 a la 17. El "sub_alf_id” en la lfnea 13 es un sub-identificador para ALF. Los parametros relacionados con SAO se especifican en las lfneas de la 18 a la 24. El "sub_sao_id“ en la lfnea 19 es un sub-identificador para SAO. Los parametros relacionados con QM se especifican en las lfneas de la 25 a la 30. El "sub_qmatrix_id" en la lfnea 26 es un subidentificador para QM. El "qmatrix_param()" en la lfnea 29 es una funcion que especifica los parametros de matriz de cuantificacion segun se ilustra en el ejemplo de las figuras 13 a 20.
La Figura 31 es un diagrama explicativo que ilustra un ejemplo de sintaxis de cabecera de segmento definida de acuerdo con la tercera tecnica. En la lfnea 5 en la Figura 31, se especifica un ID de PPS de referencia para referenciar a los parametros incluidos en el PPS de entre los parametros a definir para ese segmento. En la lfnea 8, se especifica un ID de SUB_ALF de referencia para referenciar a los parametros relacionados con ALF de entre los parametros a definir para ese segmento. En la lfnea 9, se especifica un ID de SUB_SAO de referencia para referenciar a los parametros relacionados con SAO de entre los parametros a definir para ese segmento. En la lfnea 10, se especifica un ID de SUB_QM de referencia para referenciar a los parametros relacionados con QM de entre los parametros a definir para ese segmento.
En el caso de implementar la tercera tecnica, la seccion de generacion de parametros 130 de la seccion de procesamiento de sintaxis 13 del dispositivo de codificacion de imagenes 10 adjunta un nuevo ID de SUB_QM como sub-identificador de un grupo actualizado de parametros de matriz de cuantificacion cada vez que se actualizan los parametros de la matriz de cuantificacion. La seccion de insercion 130 luego inserta los parametros de matriz de cuantificacion con el ID de SUB_QM adjunto en el APS, junto con otros parametros. La seccion de adquisicion de parametros 160 de la seccion de procesamiento de sintaxis 61 del dispositivo de decodificacion de imagenes 60 utiliza el ID de SUB_QM de referencia designado en la cabecera de segmento para adquirir, de un APS, los parametros de matriz de cuantificacion a definir para cada segmento.
De acuerdo con la tercera tecnica, los parametros se agrupan dentro del APS utilizando sub-identificadores, y no se realiza la transmision de parametros redundantes para los parametros en grupos que no requieren actualizacion. Por esta razon, se puede optimizar la eficiencia de codificacion. Ademas, dado que no aumentan las clases de APS aunque aumenten las clases de parametros, no se utilizan grandes cantidades de tipos de unidades NAL como en la segunda tecnica comentada anteriormente. En consecuencia, la tercera tecnica no compromete la flexibilidad de futuras extensiones.
En el ejemplo de las Figuras 29 a 31, los parametros incluidos en el APS se agrupan segun las herramientas de codificacion relacionadas con ALF, SAO y QM. Sin embargo, esto es simplemente un ejemplo de agrupacion de parametros. El APS tambien puede incluir parametros relacionados con otras herramientas de codificacion. Por ejemplo, los parametros relacionados con AIF, tales como coeficientes de filtro para un filtro de interpolacion adaptativa (AIF, adaptative interpolation filter), son un ejemplo de parametros que pueden incorporarse en el APS. A continuacion, se comentaran con referencia a la Figura 32 varios criterios para agrupar parametros a incorporar en el APS.
La tabla ilustrada en la Figura 32 enumera "Contenidos de parametros", "Frecuencia de actualizacion" y "Tamano de datos" como caracterfsticas de parametros respectivos en herramientas de codificacion tfpicas.
El filtro de bucle adaptativo (ALF) es un filtro (normalmente un filtro de Wiener) que filtra bidimensionalmente una imagen decodificada con unos coeficientes de filtro que se determinan de manera adaptativa para minimizar el error entre la imagen decodificada y la imagen original. Los parametros relacionados con ALF incluyen coeficientes de filtro a aplicar a cada bloque y un indicador ON/OFF para cada Unidad de Codificacion (CU). El tamano de los datos de los coeficientes del filtro ALF es extremadamente grande en comparacion con otras clases de parametros. Por esta razon, los parametros relacionados con ALF se transmiten normalmente para imagenes I de tasa alta, mientras que puede omitirse la transmision de parametros relacionados con ALF para imagenes B de tasa baja. Esto se debe a que la transmision de parametros relacionados con ALF con un gran tamano de datos para imagenes de tasa baja es ineficiente desde una perspectiva de ganancia. En la mayorfa de los casos, los coeficientes del filtro ALF varfan para cada imagen. Dado que los coeficientes de filtro dependen del contenido de la imagen, la probabilidad de poder reutilizar coeficientes de filtro establecidos previamente es baja.
El desplazamiento adaptativo de muestras (SAO) es una herramienta que mejora la calidad de imagen de una imagen decodificada agregando un valor de desplazamiento determinado de forma adaptativa a cada valor de pixel en una imagen decodificada. Los parametros relacionados con SAO incluyen patrones de desplazamiento y valores de desplazamiento. El tamano de datos de los parametros relacionados con SAO no es tan grande como los parametros relacionados con ALF. Los parametros relacionados con SAO tambien varfan para cada imagen como regla general. Sin embargo, dado que los parametros relacionados con SAO tienen la propiedad de no cambiar mucho, incluso si el contenido de la imagen cambia ligeramente, existe la posibilidad de poder reutilizar valores de parametros establecidos previamente.
La matriz de cuantificacion (QM) es una matriz cuyos elementos son escalas de cuantificacion utilizadas cuando se cuantifican coeficientes de transformacion, transformados a partir de datos de imagen mediante una transformacion ortogonal. Los parametros relacionados con QM, o en otras palabras, los parametros de matriz de cuantificacion, son como se describen en detalle en esta especificacion. El tamano de los datos de los parametros relacionados con QM es mayor que los parametros relacionados con SAO. La matriz de cuantificacion es necesaria para todas las imagenes como regla general, pero no se requiere necesariamente una actualizacion para cada imagen si el contenido de la imagen no cambia mucho. Por este motivo, puede reutilizarse la matriz de cuantificacion para los mismos tipos de imagenes (como las imagenes I/P/B) o para cada GOP.
El filtro de interpolacion adaptativa (AIF) es una herramienta que varfa de forma adaptativa los coeficientes de filtro de un filtro de interpolacion utilizado durante la compensacion de movimiento para cada posicion de sub-pixel. Los parametros relacionados con AIF incluyen coeficientes de filtro para las respectivas posiciones de sub-pixel. El tamano de los datos de los parametros relacionados con AIF es pequeno en comparacion con las tres clases de parametros anteriores. Los parametros relacionados con AIF varian para cada imagen como regla general. Sin embargo, dado que los mismos tipos de imagenes tienden a tener propiedades de interpolacion similares, los parametros relacionados con AIF se pueden reutilizar para los mismos tipos de imagenes (como las imagenes I/P/B). En base a las cualidades de los parametros anteriores, pueden adoptarse los siguientes tres criterios, por ejemplo, con el proposito de agrupar los parametros incluidos en el APS:
Criterio A) Agrupacion segun herramienta de codificacion.
Criterio B) Agrupacion segun frecuencia de actualizacion.
Criterio C) Agrupacion segun la probabilidad de reutilizacion de parametros.
El criterio A es un criterio que agrupa los parametros de acuerdo con sus herramientas de codificacion relacionadas. La estructura del conjunto de parametros ilustrada por ejemplo en las Figuras 29 a 31 se basa en el criterio A. Dado que las calidades de los parametros se determinan generalmente de acuerdo con sus herramientas de codificacion relacionadas, la agrupacion de parametros por medio de la herramienta de codificacion permite realizar actualizaciones de parametros oportunas y eficientes de acuerdo con las diversas calidades de los parametros. El criterio B es un criterio que agrupa los parametros de acuerdo con su frecuencia de actualizacion. Segun se ilustra en la Figura 32, los parametros relacionados con ALF, los parametros relacionados con SAO y los parametros relacionados con AIF pueden actualizarse en cada imagen como regla general. Por lo tanto, estos parametros se pueden agrupar en un solo grupo, mientras que los parametros relacionados con QM se agrupan en otro grupo, por ejemplo. En este caso, hay menos grupos en comparacion con el criterio A. Como resultado, tambien hay menos sub-identificadores a especificar en la cabecera de segmento, y se puede reducir la cantidad de codigos de la cabecera del segmento. Por otro lado, dado que las frecuencias de actualizacion de los parametros que pertenecen al mismo grupo son parecidas, la probabilidad de transmitir de forma redundante parametros no actualizados con el fin de actualizar otros parametros se mantiene baja.
El criterio A es un criterio que agrupa los parametros de acuerdo con la probabilidad de reutilizacion de los parametros. Si bien es poco probable que los parametros relacionados con a Lf sean reutilizados, los parametros relacionados con SAO y los parametros relacionados con AIF tienen cierta probabilidad de ser reutilizados. Con los parametros relacionados con QM, es muy probable que se reutilicen los parametros en varias imagenes. En consecuencia, al agrupar los parametros segun su probabilidad de reutilizacion de esta manera, se puede evitar la transmision redundante de los parametros reutilizados dentro del APS.
[6-5. Modificacion de ejemplo de la tercera tecnica]
Con la tercera tecnica comentada anteriormente, el numero de grupos en los que se agrupan los parametros dentro del APS produce como resultado un numero igual de SUB ID de referencia especificados en las cabeceras de segmento, segun se ilustra en el ejemplo de la Figura 31. La cantidad de codigos requeridos por los SUB ID de referencia es aproximadamente proporcional al producto de la cantidad de cabeceras de segmento y la cantidad de grupos. Tambien se puede implementar una tecnica de acuerdo con la modificacion de ejemplo descrita a continuacion para reducir aun mas dicha tasa.
En la modificacion de ejemplo de la tercera tecnica, se define un ID de combinacion asociado con una combinacion de sub-identificadores dentro del APS u otro conjunto de parametros. Los parametros incluidos dentro del APS pueden luego ser referenciados desde una cabecera de segmento a traves del ID de combinacion. La Figura 33 ilustra un ejemplo de un flujo codificado configurado de acuerdo con dicha modificacion de ejemplo de la tercera tecnica.
Con referencia a La Figura 33, se insertan un SPS 831, un PPS 832 y un APS 833 al comienzo de una imagen P0 que se encuentra al inicio de una secuencia. El PPS 832 es identificado por el ID de PPS "P0". El APS 833 incluye parametros relacionados con ALF, parametros relacionados con SAO y parametros relacionados con QM. Los parametros relacionados con ALF son identificados por un ID de SUB_ALF "AA0". Los parametros relacionados con SAO son identificados por un ID de SUB_SAO "AS0". Los parametros relacionados con QM son identificados por un ID de SUB_QM "AQ0". Ademas, el APS 833 incluye un ID de combinacion "C00" = {AA0, AS0, AQ0} como definicion de una combinacion. Una cabecera de segmento 834 adjunta a los datos de segmento en la imagen P0 incluye el ID de combinacion "C00". Esto significa que los parametros relacionados con ALF que pertenecen al ID de SUB_ALF "AA0", los parametros relacionados con sAo que pertenecen al ID de SUB_SAO "AS0", y los parametros relacionados con QM que pertenecen al ID de SUB_QM "AQ0" que estan asociados respectivamente con el ID de combinacion "C00" son referenciados con el fin de decodificar esos datos de segmento.
Se inserta un APS 835 en una imagen P1 que sigue a la imagen P0. El APS 835 incluye parametros relacionados con ALF y parametros relacionados con SAO. Los parametros relacionados con ALF son identificados por un ID de SUB_ALF "AA1". Los parametros relacionados con SAO son identificados por un ID de SUB_SAO "AS1". Dado que los parametros relacionados con QM no son actualizados a partir de la imagen P0, los parametros relacionados con QM no son incluidos en el APS 835. Ademas, el APS 835 incluye un ID de combinacion "C01" = {AA1, AS0, AQ0}, un ID de combinacion "C02" = {AA0, AS1, AQ0}, y un ID de combinacion "C03" = {AA1, As 1, AQ0} como definiciones de combinaciones. Una cabecera de segmento 836 adjunta a los datos de segmento en la imagen P1 incluye el ID de combinacion "C03". Esto significa que los parametros relacionados con ALF que pertenecen al ID de SUB_ALF "AA1", los parametros relacionados con SAO que pertenecen al ID de SUB_SAO "AS1", y los parametros relacionados con QM que pertenecen al ID de SUB_QM "AQ0" que estan asociados respectivamente con el ID de combinacion "C03" son referenciados con el fin de decodificar esos datos de segmento.
Se inserta un APS 837 en una imagen P2 que sigue a la imagen P1. El APS 837 incluye parametros relacionados con ALF. Los parametros relacionados con ALF son identificados por un ID de SUB_a Lf "AA2". Dado que los parametros relacionados con SAO y los parametros relacionados con QM no son actualizados a partir de la imagen P1, los parametros relacionados con SAO y los parametros relacionados con QM no son incluidos en el APS 837. Ademas, el APS 837 incluye un ID de combinacion "C04" = {AA2, AS0, AQ0} y un ID de combinacion "C05" = {AA2, AS1, AQ0} como definiciones de combinaciones. Una cabecera de segmento 838 adjunta a los datos de segmento en la imagen P2 incluye el ID de combinacion "C05". Esto significa que los parametros relacionados con ALF que pertenecen al ID de SUB_ALF "AA2", los parametros relacionados con SAO que pertenecen al ID de SUB_SAO "AS1", y los parametros relacionados con QM que pertenecen al ID de SUB_QM "AQ0" que estan asociados respectivamente con el ID de combinacion "C05" son referenciados con el fin de decodificar esos datos de segmento.
Tengase en cuenta que en esta modificacion de ejemplo, los ID de combinacion pueden no ser definidos para todas las combinaciones de sub-identificadores, de manera que los ID de combinaciones se definen solo para las combinaciones de sub-identificadores realmente referenciadas en una cabecera de segmento. Ademas, se pueden definir combinaciones de sub-identificadores dentro de un APS diferente del APS en el que se almacenan los parametros correspondientes.
En el caso de implementar esta modificacion de ejemplo, la seccion de generacion de parametros 130 de la seccion de procesamiento de sintaxis 13 del dispositivo de codificacion de imagenes 10 genera ID de combinacion como parametros suplementarios, que se asocian con combinaciones de sub-identificadores que agrupan varios parametros, que incluyen los parametros de matriz de cuantificacion. La seccion de insercion 130 luego inserta los ID de combinacion generados por la seccion de generacion de parametros 130 en un APS u otro conjunto de parametros. La seccion de adquisicion de parametros 160 de la seccion de procesamiento de sintaxis 61 del dispositivo de decodificacion de imagenes 60 adquiere el ID de combinacion designado en la cabecera de segmento de cada segmento, y utiliza los sub-identificadores asociados con ese ID de combinacion para adquirir ademas parametros de matriz de cuantificacion dentro del APS.
De esta manera, al utilizar un ID de combinacion asociado con combinaciones de sub-identificadores para referenciar a los parametros dentro del APS, se puede reducir la cantidad de codigos necesarios para referenciar a cada parametro desde las cabeceras de segmento.
7. Ejemplo de aplicacion
El dispositivo de codificacion de imagenes 10 y el dispositivo de decodificacion de imagenes 60 de acuerdo con la forma de realizacion descrita anteriormente se pueden aplicar a varios aparatos electronicos, tal como un transmisor y un receptor para transmision por satelite, transmision por cable tal como television por cable, distribucion por Internet, distribucion a dispositivos cliente mediante comunicacion celular, y similares, un dispositivo de grabacion que graba imagenes en un medio como un disco optico, un disco magnetico o una memoria flash, y un dispositivo de reproduccion que reproduce imagenes de dichos medios de almacenamiento. A continuacion se describen cuatro aplicaciones de ejemplo.
[7-1. Primera aplicacion de ejemplo]
La figura 34 es un diagrama de bloques que ilustra una configuracion esquematica de ejemplo de un televisor que adopta la forma de realizacion descrita anteriormente. Un televisor 900 incluye una antena 901, un sintonizador 902, un de-multiplexor 903, un decodificador 904, una seccion de procesamiento de senal de video 905, una seccion de visualizacion 906, una seccion de procesamiento de senal de audio 907, un altavoz 908, una interfaz externa 909, una seccion de control 910, una interfaz de usuario 911 y un bus 912.
El sintonizador 902 extrae una senal de un canal deseado de unas senales de difusion recibidas a traves de la antena 901, y demodula la senal extrafda. Luego, el sintonizador 902 suministra un flujo de bits codificado obtenido por demodulacion al de-multiplexor 903. Es decir, el sintonizador 902 sirve como medio de transmision del televisor 900 para recibir un flujo codificado en el que una imagen esta codificada.
El de-multiplexor 903 separa un flujo de video y un flujo de audio de un programa a visualizar a partir del flujo de bits codificado, y suministra los flujos separados al decodificador 904. Ademas, el de-multiplexor 903 extrae datos auxiliares, tales como una gufa electronica de programas (EPG, electronic program guide) del flujo de bits codificado, y suministra los datos extrafdos a la seccion de control 910. Ademas, el de-multiplexor 903 puede realizar una desaleatorizacion en el caso de que el flujo de bits codificado este codificado.
El decodificador 904 decodifica el flujo de video y el flujo de audio suministrados por el de-multiplexor 903. Entonces, el decodificador 904 suministra los datos de video generados por el proceso de decodificacion a la seccion de procesamiento de senal de video 905. Ademas, el decodificador 904 suministra los datos de audio generados por el proceso de decodificacion a la seccion de procesamiento de senal de audio 907.
La seccion de procesamiento de senal de video 905 reproduce los datos de video suministrados por el decodificador 904, y hace que la seccion de visualizacion 906 visualice el video. La seccion de procesamiento de senal de video 905 tambien puede hacer que la seccion de visualizacion 906 visualice una pantalla de aplicacion suministrada a traves de una red. Ademas, la seccion de procesamiento de senal de video 905 puede realizar procesos adicionales, tales como la eliminacion de ruido, por ejemplo, en los datos de video de acuerdo con una configuracion. Ademas, la seccion de procesamiento de senal de video 905 puede generar imagenes de interfaz grafica de usuario (GUI), tales como menus, botones o un cursor, por ejemplo, y superponer las imagenes generadas en una imagen de salida. La seccion de visualizacion 906 es controlada por una senal de control suministrada por la seccion de procesamiento de senal de video 905, y visualiza un video o una imagen en una pantalla de video de un dispositivo de visualizacion (tal como una pantalla de cristal lfquido, una pantalla de plasma o una pantalla OLED, por ejemplo). La seccion de procesamiento de senal de audio 907 realiza procesos de reproduccion tales como la conversion D/A y la amplificacion de los datos de audio suministrados por el decodificador 904, y emite el audio por el altavoz 908. Ademas, la seccion de procesamiento de senal de audio 907 puede realizar procesos adicionales tales como la eliminacion de ruido en los datos de audio.
La interfaz externa 909 es una interfaz para conectar el televisor 900 a un dispositivo externo o una red. Por ejemplo, el decodificador 904 puede decodificar un flujo de video o un flujo de audio recibido a traves de la interfaz externa 904. Es decir, la interfaz externa 909 tambien sirve como medio de transmision de los televisores 900 para recibir un flujo codificado en el que una imagen esta codificada.
La seccion de control 910 incluye un procesador tal como una unidad central de procesamiento (CPU) y una memoria tal como una memoria de acceso aleatorio (RAM) y una memoria de solo lectura (ROM). La memoria almacena un programa para que sea ejecutado por la CPU, datos de programa, datos EPG, datos adquiridos a traves de una red, y similares. El programa almacenado en la memoria es lefdo y ejecutado por la CPU cuando el televisor 900 es activado, por ejemplo. Con la ejecucion del programa, la CPU controla la operacion del televisor 900 de acuerdo con una entrada de senal de operacion desde la interfaz de usuario 911, por ejemplo.
La interfaz de usuario 911 esta conectada a la seccion de control 910. La interfaz de usuario 911 incluye botones y conmutadores utilizados por un usuario para operar el televisor 900, y un receptor de senal de control remoto, por ejemplo. La interfaz de usuario 911 detecta una operacion realizada por el usuario a traves de estos elementos estructurales, genera una senal de operacion y suministra la senal de operacion generada a la seccion de control 910.
El bus 912 interconecta el sintonizador 902, el de-multiplexor 903, el decodificador 904, la seccion de procesamiento de senal de video 905, la seccion de procesamiento de senal de audio 907, la interfaz externa 909 y la seccion de control 910.
En un televisor 900 configurado de esta manera, el decodificador 904 incluye las funciones de un dispositivo de decodificacion de imagenes 60 de acuerdo con las formas de realizacion anteriores. En consecuencia, es posible moderar la disminucion en la eficiencia de codificacion para el video decodificado por el televisor 900, o mejorar la eficiencia de codificacion.
[7-2. Segunda aplicacion de ejemplo]
La figura 35 es un diagrama de bloques que ilustra una configuracion esquematica de ejemplo de un telefono movil que adopta la forma de realizacion descrita anteriormente. Un telefono movil 920 incluye una antena 921, una seccion de comunicacion 922, un codec de audio 923, un altavoz 924, un microfono 925, una seccion de camara 926, una seccion de procesamiento de imagenes 927, una seccion de multiplexacion/de-multiplexacion (mux/demux) 928, una seccion de grabacion y reproduccion 929, una seccion de visualizacion 930, una seccion de control 931, una seccion operable 932 y un bus 933.
La antena 921 esta conectada a la seccion de comunicacion 922. El altavoz 924 y el microfono 925 estan conectados al codec de audio 923. La seccion operable 932 esta conectada a la seccion de control 931. El bus 933 interconecta la seccion de comunicacion 922, el codec de audio 923, la seccion de camara 926, la seccion de procesamiento de imagenes 927, la seccion de mux/demux 928, la seccion de grabacion y reproduccion 929, el visualizador 930 y la seccion de control 931.
El telefono movil 920 realiza operaciones tales como transmitir y recibir senales de audio, transmitir y recibir correos electronicos o datos de imagenes, tomar imagenes y grabar datos en varios modos operativos que incluyen un modo de comunicacion de audio, un modo de comunicacion de datos, un modo de imagenes, y un modo de videotelefono. En el modo de comunicacion de audio, se suministra una senal de audio analogica generada por el microfono 925 al codec de audio 923. El codec de audio 923 convierte la senal de audio analogica en datos de audio, y el A/D convierte y comprime los datos de audio convertidos. Luego, el codec de audio 923 suministra los datos de audio comprimidos a la seccion de comunicacion 922. La seccion de comunicacion 922 codifica y modula los datos de audio y genera una senal de transmision. Luego, la seccion de comunicacion 922 transmite la senal de transmision generada a una estacion base (no ilustrada) a traves de la antena 921. Ademas, la seccion de comunicacion 922 amplifica una senal inalambrica recibida a traves de la antena 921 y convierte la frecuencia de la senal inalambrica, y adquiere una senal recibida. Luego, la seccion de comunicacion 922 demodula y decodifica la senal recibida y genera datos de audio, y suministra los datos de audio generados al codec de audio 923. El codec de audio 923 descomprime y el D/A convierte los datos de audio, y genera una senal de audio analogica. Luego, el codec de audio 923 suministra la senal de audio generada al altavoz 924 y hace que se emita el audio.
Ademas, en el modo de comunicacion de datos, la seccion de control 931 genera datos de texto que conforman un correo electronico, de acuerdo con operaciones de un usuario a traves de la seccion operable 932, por ejemplo. Ademas, la seccion de control 931 hace que el texto se visualice en la seccion de visualizacion 930. Ademas, la seccion de control 931 genera datos de correo electronico de acuerdo con instrucciones de transmision procedentes del usuario a traves de la seccion operable 932, y suministra los datos de correo electronico generados a la seccion de comunicacion 922. La seccion de comunicacion 922 codifica y modula los datos de correo electronico y genera una senal de transmision. Luego, la seccion de comunicacion 922 transmite la senal de transmision generada a una estacion base (no ilustrada) a traves de la antena 921. Ademas, la seccion de comunicacion 922 amplifica una senal inalambrica recibida a traves de la antena 921 y convierte la frecuencia de la senal inalambrica, y adquiere una senal recibida. Luego, la seccion de comunicacion 922 demodula y decodifica la senal recibida, reconstruye los datos del correo electronico y suministra los datos reconstruidos del correo electronico a la seccion de control 931. La seccion de control 931 hace que la seccion de visualizacion 930 visualice el contenido del correo electronico, y tambien hace que se almacenen los datos del correo electronico en el medio de almacenamiento de la seccion de grabacion y reproduccion 929.
La seccion de grabacion y reproduccion 929 incluye un medio de almacenamiento legible y escribible arbitrario. Por ejemplo, el medio de almacenamiento puede ser un medio de almacenamiento integrado tal como una RAM, o una memoria flash, o un medio de almacenamiento instalado externamente, tal como un disco duro, un disco magnetico, un disco magneto-optico, un disco optico, una memoria USB, o una tarjeta de memoria.
Ademas, en el modo de imagenes, la seccion de camara 926 toma una imagen de un sujeto, genera datos de imagen y suministra los datos de imagen generados a la seccion de procesamiento de imagenes 927, por ejemplo. La seccion de procesamiento de imagenes 927 codifica los datos de imagen suministrados por la seccion de camara 926, y hace que el flujo codificado se almacene en el medio de almacenamiento de la seccion de grabacion y reproduccion 929.
Ademas, en el modo de videotelefono, la seccion de mux/demux 928 multiplexa un flujo de video codificado por la seccion de procesamiento de imagenes 927 y un flujo de audio suministrado por el codec de audio 923, y suministra el flujo multiplexado a la seccion de comunicaciones 922, por ejemplo. La seccion de comunicacion 922 codifica y modula el flujo y genera una senal de transmision. Luego, la seccion de comunicacion 922 transmite la senal de transmision generada a una estacion base (no ilustrada) a traves de la antena 921. Ademas, la seccion de comunicacion 922 amplifica una senal inalambrica recibida a traves de la antena 921 y convierte la frecuencia de la senal inalambrica, y adquiere una senal recibida. La senal de transmision y la senal recibida pueden incluir un flujo de bits codificado. Luego, la seccion de comunicacion 922 demodula y decodifica la senal recibida, reconstruye el flujo, y suministra el flujo reconstruido a la seccion de mux/demux 928. La seccion de mux/demux 928 separa un flujo de video y un flujo de audio del flujo de entrada, y suministra el flujo de video a la seccion de procesamiento de imagenes 927 y el flujo de audio al codec de audio 923. La seccion de procesamiento de imagenes 927 decodifica el flujo de video, y genera datos de video. Los datos de video son suministrados a la seccion de visualizacion 930, y la seccion de visualizacion 930 muestra una serie de imagenes. El codec de audio 923 se descomprime y el D/A convierte el flujo de audio, y genera una senal de audio analogica. Luego, el codec de audio 923 suministra la senal de audio generada al altavoz 924 y hace que se emita el audio.
En un telefono movil 920 configurado de esta manera, la seccion de procesamiento de imagenes 927 incluye las funciones del dispositivo de codificacion de imagenes 10 y del dispositivo de decodificacion de imagenes 60 de acuerdo con las formas de realizacion anteriores. En consecuencia, es posible moderar la disminucion en la eficiencia de codificacion para video codificado y decodificado por el telefono movil 920, o mejorar la eficiencia de codificacion.
[7-3. Tercera aplicacion de ejemplo]
La figura 36 es un diagrama de bloques que ilustra una configuracion esquematica de ejemplo de un dispositivo de grabacion y reproduccion que adopta la forma de realizacion descrita anteriormente. Un dispositivo de grabacion y reproduccion 940 codifica, y graba en un medio de grabacion, los datos de audio y datos de video de un programa de difusion recibido, por ejemplo. El dispositivo de grabacion y reproduccion 940 tambien puede codificar y grabar en el medio de grabacion, datos de audio y datos de video adquiridos de otro dispositivo, por ejemplo. Ademas, el dispositivo de grabacion y reproduccion 940 reproduce datos grabados en el medio de grabacion a traves de un monitor y altavoz de acuerdo con unas instrucciones de un usuario, por ejemplo. En dichos momentos, el dispositivo de grabacion y reproduccion 940 decodifica los datos de audio y los datos de video.
El dispositivo de grabacion y reproduccion 940 incluye un sintonizador 941, una interfaz externa 942, un codificador 943, una unidad de disco duro (HDD) 944, una unidad de disco 945, un selector 946, un decodificador 947, un visualizador en pantalla (OSD, on-screen display) 948, una seccion de control 949 y una interfaz de usuario 950. El sintonizador 941 extrae una senal de un canal deseado de entre unas senales de difusion recibidas a traves de una antena (no ilustrada), y demodula la senal extrafda. Luego, el sintonizador 941 suministra un flujo de bits codificado obtenido por la demodulacion al selector 946. Es decir, el sintonizador 941 sirve como medio de transmision del dispositivo de grabacion y reproduccion 940.
La interfaz externa 942 es una interfaz para conectar el dispositivo de grabacion y reproduccion 940 a un aparato externo o una red. Por ejemplo, la interfaz externa 942 puede ser una interfaz IEEE 1394, una interfaz de red, una interfaz USB, una interfaz de memoria flash o similar. Por ejemplo, los datos de video y los datos de audio recibidos por la interfaz externa 942 son suministrados al codificador 943. Es decir, la interfaz externa 942 sirve como medio de transmision del dispositivo de grabacion y reproduccion 940.
En el caso en el que los datos de video y los datos de audio procedentes de la interfaz externa 942 no esten codificados, el codificador 943 codifica los datos de video y los datos de audio. Luego, el codificador 943 suministra el flujo de bits codificado al selector 946.
El HDD 944 graba en un disco duro interno un flujo de bits codificado, que son datos de contenido comprimido tal como como video o audio, varios programas y otros datos. Ademas, el HDD 944 lee dichos datos del disco duro cuando reproduce video y audio.
La unidad de disco 945 graba o lee datos con respecto a un medio de grabacion insertado. El medio de grabacion insertado en la unidad de disco 945 puede ser un disco DVD (tal como un disco DVD-Video, DVD-RAM, DVD-R, DVD-RW, DVD+ o DVD+RW), un disco Blu-ray (marca registrada), o similar, por ejemplo.
Cuando se graba video y audio, el selector 946 selecciona un flujo de bits codificado suministrado por el sintonizador 941 o el codificador 943, y suministra el flujo de bits codificado seleccionado al HDD 944 o la unidad de disco 945. Tambien, cuando se reproduce video y audio, el selector 946 suministra un flujo de bits codificado del HDD 944 o la unidad de disco 945 al decodificador 947.
El decodificador 947 decodifica el flujo de bits codificado, y genera datos de video y datos de audio. Luego, el decodificador 947 suministra los datos de video generados al OSD 948. Ademas, el decodificador 904 suministra los datos de audio generados a un altavoz externo.
El OSD 948 reproduce los datos de video suministrados por el decodificador 947 y visualiza el video. Ademas, el OSD 948 puede superponer imagenes GUI, tales como menus, botones o un cursor, por ejemplo, en el video visualizado.
La seccion de control 949 incluye un procesador tal como una CPU, y una memoria tal como una RAM o ROM. La memoria almacena un programa para ser ejecutado por la CPU, datos del programa y similares. La CPU lee y ejecuta un programa almacenado en la memoria cuando el dispositivo de grabacion y reproduccion 940 es activado, por ejemplo. Con la ejecucion del programa, la CPU controla la operacion del dispositivo de grabacion y reproduccion 940 de acuerdo con una entrada de senal de operacion procedente de la interfaz de usuario 950, por ejemplo.
La interfaz de usuario 950 esta conectada a la seccion de control 949. La interfaz de usuario 950 incluye botones y conmutadores utilizados por un usuario para operar el dispositivo de grabacion y reproduccion 940, y un receptor de senal de control remoto, por ejemplo. La interfaz de usuario 950 detecta una operacion realizada por el usuario a traves de estos elementos estructurales, genera una senal de operacion y suministra la senal de operacion generada a la seccion de control 949.
En un dispositivo de grabacion y reproduccion 940 configurado de esta manera, el codificador 943 incluye las funciones del dispositivo de codificacion de imagenes 10 de acuerdo con las formas de realizacion anteriores. Ademas, el decodificador 947 incluye las funciones del dispositivo de decodificacion de imagenes 60 de acuerdo con las formas de realizacion anteriores. En consecuencia, es posible moderar la disminucion en la eficiencia de codificacion para el video codificado y decodificado por el dispositivo de grabacion y reproduccion 940, o mejorar la eficiencia de la codificacion.
[7-4. Cuarta aplicacion de ejemplo]
La figura 37 es un diagrama de bloques que muestra un ejemplo de una configuracion esquematica de un dispositivo de formacion de imagenes que adopta la forma de realizacion descrita anteriormente. Un dispositivo de formacion de imagenes 960 toma una imagen de un sujeto, genera una imagen, codifica los datos de imagen, y graba los datos de imagen en un medio de grabacion.
El dispositivo de formacion de imagenes 960 incluye un bloque optico 961, una seccion de formacion de imagenes 962, una seccion de procesamiento de senal 963, una seccion de procesamiento de imagenes 964, una seccion de visualizacion 965, una interfaz externa 966, una memoria 967, una unidad de medios 968, un OSD 969, una seccion de control 970, una interfaz de usuario 971 y un bus 972.
El bloque optico 961 esta conectado a la seccion de formacion de imagenes 962. La seccion de formacion de imagenes 962 esta conectada a la seccion de procesamiento de senal 963. La seccion de visualizacion 965 esta conectada a la seccion de procesamiento de imagenes 964. La interfaz de usuario 971 esta conectada al control seccion 970. El bus 972 interconecta la seccion de procesamiento de imagenes 964, la interfaz externa 966, la memoria 967, la unidad de medios 968, el OSD 969 y la seccion de control 970.
El bloque optico 961 incluye una lente de enfoque, un mecanismo de parada de apertura, y similares. El bloque optico 961 forma una imagen optica de un sujeto en la superficie de imagen de la seccion de imagen 962. La seccion de imagen 962 incluye un sensor de imagen tal como un sensor CCD o CMOS, y convierte fotoelectricamente la imagen optica formada en la superficie de imagen en una senal de imagen que es una senal electrica. Luego, la seccion de formacion de imagenes 962 suministra la senal de imagen a la seccion de procesamiento de senal 963. La seccion de procesamiento de senal 963 realiza varios procesos de senal de camara como correccion de Knee, correccion de gamma y correccion de color en la senal de imagen suministrada por la seccion de imagen 962. La seccion de procesamiento de senal 963 suministra los datos de imagen procesados a la seccion de procesamiento de imagenes 964.
La seccion de procesamiento de imagenes 964 codifica los datos de imagen suministrados por la seccion de procesamiento de senal 963, y genera datos codificados. Luego, la seccion de procesamiento de imagenes 964 suministra los datos codificados generados de este modo a la interfaz externa 966 o la unidad de medios 968. Ademas, la seccion de procesamiento de imagenes 964 decodifica los datos codificados suministrados por la interfaz externa 966 o la unidad de medios 968, y genera datos de imagen. Luego, la seccion de procesamiento de imagenes 964 suministra los datos de imagen generados a la seccion de visualizacion 965. Ademas, la seccion de procesamiento de imagenes 964 puede suministrar los datos de imagen suministrados por la seccion de procesamiento de senal 963 a la seccion de visualizacion 965, y hacer que se visualice la imagen. Ademas, la seccion de procesamiento de imagenes 964 puede superponer los datos de visualizacion adquiridos del OSD 969 sobre una imagen a suministrar a la seccion de visualizacion 965.
El OSD 969 genera imagenes GUI tales como menus, botones o un cursor, por ejemplo, y suministra las imagenes generadas a la seccion de procesamiento de imagenes 964.
La interfaz externa 966 esta configurada como un terminal de entrada/salida USB, por ejemplo. La interfaz externa 966 conecta el dispositivo de formacion de imagenes 960 a una impresora cuando se imprime una imagen, por ejemplo. Ademas, una unidad es conectada a la interfaz externa 966 segun sea necesario. Un medio extrafble, tal como un disco magnetico o un disco optico, por ejemplo, es insertado en la unidad, y se puede instalar un programa lefdo del medio extrafble en el dispositivo de formacion de imagenes 960. Ademas, la interfaz externa 966 se puede configurar como una interfaz de red para su conexion a una red tal como una LAN o Internet. Es decir, la interfaz externa 966 sirve como medio de transmision del dispositivo de captura de imagenes 960.
Un medio de grabacion insertable en la unidad de medios 968 puede ser un medio extrafble legible y grabable arbitrario, tal como un disco magnetico, un disco magneto-optico, un disco optico, o una memoria de semiconductores, por ejemplo. Ademas, un medio de grabacion puede estar instalado permanentemente en la unidad de medios 968 para conformar una seccion de almacenamiento no portatil, tal como una unidad de disco duro interno o una unidad de estado solido (SSD), por ejemplo.
La seccion de control 970 incluye un procesador tal como una CPU y una memoria tal como una RAM o ROM. La memoria almacena un programa para ser ejecutado por la CPU, datos del programa y similares. La CPU lee y ejecuta un programa almacenado en la memoria cuando se activa el dispositivo de formacion de imagenes 960, por ejemplo. Con la ejecucion del programa, la CPU controla la operacion del dispositivo de formacion de imagenes 960 de acuerdo con una serial de operacion suministrada por la interfaz de usuario 971, por ejemplo.
La interfaz de usuario 971 esta conectada a la seccion de control 970. La interfaz de usuario 971 incluye botones, conmutadores y similares utilizados por un usuario para operar el dispositivo de formacion de imagenes 960, por ejemplo. La interfaz de usuario 971 detecta una operacion realizada por el usuario a traves de estos elementos estructurales, genera una senal de operacion y suministra la senal de operacion generada a la seccion de control 970.
En un dispositivo de formacion de imagenes 960 configurado de esta manera, la seccion de procesamiento de imagenes 964 incluye las funciones del dispositivo de codificacion de imagenes 10 y del dispositivo de decodificacion de imagenes 60 de acuerdo con las formas de realizacion anteriores. En consecuencia, es posible moderar la disminucion de la eficiencia de codificacion para el video codificado y decodificado por el dispositivo de formacion de imagenes 960, o mejorar la eficiencia de codificacion.
<8. Conclusion>
Las descripciones anteriores utilizan las Figuras 1 a 37 para describir un dispositivo de codificacion de imagenes 10 y un dispositivo de decodificacion de imagenes 60 segun una forma de realizacion. De acuerdo con la forma de realizacion, los parametros de matriz de cuantificacion que definen las matrices de cuantificacion utilizadas en la cuantificacion y cuantificacion inversa de una imagen son insertados en un conjunto de parametros de matriz de cuantificacion (QMPS) que se diferencia del conjunto de parametros de secuencia y del conjunto de parametros de imagen. Haciendo esto, resulta innecesario tanto codificar parametros distintos de los parametros de matriz de cuantificacion cuando se actualiza una matriz de cuantificacion, como codificar parametros de matriz de cuantificacion cuando se actualizan parametros distintos de parametros de matriz de cuantificacion. En consecuencia, se modera la disminucion de la eficiencia de codificacion que acompana a la actualizacion de la matriz de cuantificacion, o se mejora la eficiencia de codificacion. En particular, la reduccion de la cantidad de codigos con las tecnicas descritas en esta especificacion resulta mas efectiva en el caso de matrices de cuantificacion con tamanos mas grandes, o en el caso de que se defina un mayor numero de matrices de cuantificacion para cada imagen.
Tambien, segun la presente forma de realizacion, pueden incluirse en el QMPS los parametros que especifican la copia de una matriz de cuantificacion generada previamente en lugar de definir directamente una matriz de cuantificacion. En este caso, los parametros que especifican una matriz de cuantificacion en sf misma (una matriz de datos diferenciales en formato DPCM, por ejemplo) no son incluidos en el QMPS y, por lo tanto, se puede reducir aun mas la cantidad de codigos necesarios para definir una matriz de cuantificacion.
Tambien, segun la presente forma de realizacion, se asigna un ID de QMPS a cada QMPS. Luego, en el modo de copia, el ID de QMPS del QMPS que define la matriz de cuantificacion origen de la copia puede designarse como un ID origen. Ademas, se pueden designar el tamano y el tipo de la matriz de cuantificacion origen de la copia como el tamano origen de la copia y el tipo origen de la copia. En consecuencia, una matriz de cuantificacion en un QMPS arbitrario de entre varias matrices de cuantificacion en multiples QMPS generados previamente puede ser designada de manera flexible como una matriz de cuantificacion origen de la copia. Tambien es posible copiar y reutilizar una matriz de cuantificacion de diferente tamano o tipo.
Tambien, segun la presente forma de realizacion, los parametros que especifican componentes residuales de una matriz de cuantificacion a copiar pueden ser incluidos en un QMPS. En consecuencia, una matriz de cuantificacion que no es completamente igual a una matriz de cuantificacion generada previamente se puede generar todavfa de nuevo a una tasa baja.
Ademas, en el modo de designacion de ejes, en lugar de explorar todos los elementos de una matriz de cuantificacion, pueden incluirse en el QMPS solo los valores de los elementos en la matriz de cuantificacion correspondientes a tres ejes de referencia o las cuatro esquinas de la matriz de cuantificacion. En consecuencia, tambien es posible definir una matriz de cuantificacion con una pequena cantidad de codigos en este caso.
Tambien, de acuerdo con la presente forma de realizacion, las matrices de cuantificacion a usar para cada segmento son establecidas en base a los parametros de matriz de cuantificacion dentro del QMPS identificado por el ID de QMPS designado en la cabecera de segmento. En consecuencia, dado que las matrices de cuantificacion se pueden conmutar de manera flexible para cada segmento, puede utilizarse la matriz de cuantificacion optima en cada momento para codificar o decodificar video, incluso en el caso de que las caracterfsticas de la imagen varfen de un momento a otro.
Tengase en cuenta que esta especificacion describe un ejemplo en el que el conjunto de parametros de matriz de cuantificacion multiplexados en la cabecera del flujo codificado y transmitidos por el lado de codificacion al lado de decodificacion. Sin embargo, la tecnica de transmision del conjunto de parametros de matriz de cuantificacion no se limita a dicho ejemplo. Por ejemplo, la informacion dentro de cada conjunto de parametros tambien se puede transmitir o grabar como datos separados asociados con un flujo de bits codificado sin que sean multiplexados en el flujo de bits codificado. Aquf, el termino "asociado" significa que las imagenes incluidas en el flujo de bits (que tambien abarcan imagenes parciales, como segmentos o bloques) y la informacion correspondiente a esas imagenes se pueden vincular en el momento de la decodificacion. En otras palabras, la informacion tambien puede transmitirse en un canal de transmision independiente de una imagen (o flujo de bits). Ademas, la informacion puede grabarse en un medio de grabacion independiente (o en un area de grabacion independiente en el mismo medio de grabacion) de la imagen (o flujo de bits). Ademas, la informacion y las imagenes (o flujos de bits) pueden asociarse entre si en unidades arbitrarias, tales como multiples tramas, tramas simples o porciones dentro de tramas, por ejemplo.
Las descripciones anteriores describen, por lo tanto, formas de realizacion preferidas de la presente divulgacion en detalle y con referencia a los dibujos adjuntos. Sin embargo, el alcance tecnico de la presente divulgacion no se limita a dichos ejemplos. Esta claro que para las personas normalmente expertas en el campo tecnico al que pertenece la presente divulgacion que pueden producirse diversas modificaciones o alteraciones en la medida en que esten dentro del alcance de las ideas tecnicas expuestas en las reivindicaciones, y debe entenderse que dichas modificaciones o alteraciones pertenecen obviamente al alcance tecnico de la presente divulgacion.
Ademas, la tecnologfa actual tambien puede configurarse como se muestra a continuacion.
(1) Un dispositivo de procesamiento de imagenes que incluye:
una seccion de adquisicion configurada para adquirir de un flujo codificado unos parametros de matriz de cuantificacion en el que los parametros de matriz de cuantificacion que definen una matriz de cuantificacion son establecidos dentro de un conjunto de parametros que es diferente de un conjunto de parametros de secuencia y de un conjunto de parametros de imagen;
una seccion de configuracion configurada para establecer, en base a los parametros de matriz de cuantificacion adquiridos por la seccion de adquisicion, una matriz de cuantificacion que se utiliza cuando se cuantifican inversamente datos decodificados del flujo codificado; y
una seccion de cuantificacion inversa configurada para cuantificar inversamente los datos decodificados del flujo codificado utilizando la matriz de cuantificacion establecida por la seccion de configuracion.
(2) El dispositivo de procesamiento de imagenes segun (1), en el que
el conjunto de parametros que contiene los parametros de matriz de cuantificacion es un conjunto de parametros comunes dentro del cual tambien se pueden establecer otros parametros de codificacion relacionados con herramientas de codificacion distintas de una matriz de cuantificacion, y
la seccion de adquisicion adquiere los parametros de matriz de cuantificacion cuando los parametros de matriz de cuantificacion son establecidos dentro del conjunto de parametros comunes.
(3) El dispositivo de procesamiento de imagenes segun (2), en el que
la seccion de adquisicion determina si los parametros de matriz de cuantificacion se establecen dentro del conjunto de parametros comunes por referencia a un indicador incluido en el conjunto de parametros comunes. (4) El dispositivo de procesamiento de imagenes de acuerdo con (2) o (3), en el que
el conjunto de parametros comunes es un conjunto de parametros de adaptacion.
(5) El dispositivo de procesamiento de imagenes segun (4), en el que
en un caso en el que se incluya una referencia a un primer conjunto de parametros de adaptacion en un segundo conjunto de parametros de adaptacion decodificado despues del primer conjunto de parametros de adaptacion, la seccion de configuracion reutiliza una matriz de cuantificacion establecida en base a los parametros de matriz de cuantificacion adquiridos del primer conjunto de parametros de adaptacion como una matriz de cuantificacion correspondiente al segundo conjunto de parametros de adaptacion.
(6) El dispositivo de procesamiento de imagenes segun (5), en el que
en un caso en el que se incluya una referencia a un tercer conjunto de parametros de adaptacion dentro del tercer conjunto de parametros de adaptacion, la seccion de configuracion establece una matriz de cuantificacion por defecto como una matriz de cuantificacion correspondiente al tercer conjunto de parametros de adaptacion.
(7) El dispositivo de procesamiento de imagenes segun (1), en el que
en un caso en el que se incluya en un segundo conjunto de parametros un parametro de copia que indique una instruccion de copiar una primera matriz de cuantificacion para un primer conjunto de parametros, la seccion de configuracion establece una segunda matriz de cuantificacion copiando la primera matriz de cuantificacion.
(8) El dispositivo de procesamiento de imagenes segun (7), en el que
cada conjunto de parametros que incluye los parametros de matriz de cuantificacion tiene un identificador que identifica cada conjunto de parametros, y
el parametro de copia incluye un identificador de un conjunto de parametros de origen de la copia.
(9) El dispositivo de procesamiento de imagenes segun (8), en el que
cada conjunto de parametros incluye parametros de matriz de cuantificacion que definen respectivamente una pluralidad de clases de matrices de cuantificacion, y
el parametro de copia incluye un parametro de clase que designa una clase de la primera matriz de cuantificacion.
(10) El dispositivo de procesamiento de imagenes segun (8), en el que
en un caso en el que el identificador del conjunto de parametros del origen de la copia incluido en el tercer conjunto de parametros sea igual a un identificador del tercer conjunto de parametros, la seccion de configuracion establece una matriz de cuantificacion por defecto como una tercera matriz de cuantificacion para el tercer conjunto de parametros.
(11) El dispositivo de procesamiento de imagenes segun (7), en el que
en un caso en el que un tamano de la segunda matriz de cuantificacion es mayor que un tamano de la primera matriz de cuantificacion, la seccion de configuracion establece la segunda matriz de cuantificacion interpolando elementos de la primera matriz de cuantificacion copiada.
(12) El dispositivo de procesamiento de imagenes segun (7), en el que
en un caso en el que un tamano de la segunda matriz de cuantificacion es menor que un tamano de la primera matriz de cuantificacion, la seccion de configuracion establece la segunda matriz de cuantificacion diezmando elementos de la primera matriz de cuantificacion copiada.
(13) El dispositivo de procesamiento de imagenes segun (7), en el que
en un caso en el que se incluya un parametro de designacion residual que designe componentes residuales de una matriz de cuantificacion copiada, en el segundo conjunto de parametros, la seccion de configuracion establece la segunda matriz de cuantificacion agregando los componentes residuales a la primera matriz de cuantificacion copiada.
(14) El dispositivo de procesamiento de imagenes segun (1), en el que
cada conjunto de parametros que incluye los parametros de matriz de cuantificacion tiene un identificador de conjunto de parametros que identifica cada conjunto de parametros, y
la seccion de cuantificacion inversa utiliza, para cada segmento, una matriz de cuantificacion establecida por la seccion de configuracion en base a los parametros de matriz de cuantificacion incluidos en un conjunto de parametros identificado por el identificador de conjunto de parametros designado en una cabecera de segmento.
(15) El dispositivo de procesamiento de imageries segun una cualquiera de (7) a (14), en el que
el conjunto de parametros que contiene los parametros de matriz de cuantificacion incluye ademas otros parametros de codificacion relacionados con herramientas de codificacion distintas de una matriz de cuantificacion. (16) El dispositivo de procesamiento de imagenes segun (15), en el que
los parametros de matriz de cuantificacion y los otros parametros de codificacion son agrupados por un subidentificador definido independientemente de un identificador de parametros que identifica cada conjunto de parametros, y
la seccion de adquisicion adquiere los parametros de matriz de cuantificacion utilizando el sub-identificador. (17) El dispositivo de procesamiento de imagenes segun (16), en el que
se define un identificador de combinacion asociado con una combinacion de una pluralidad de los subidentificadores, en el conjunto de parametros u otro conjunto de parametros, y
la seccion de adquisicion adquiere el identificador de combinacion designado en una cabecera de segmento de cada segmento y adquiere los parametros de matriz de cuantificacion utilizando los sub-identificadores asociados con el identificador de combinacion adquirido.
(18) Un procedimiento de procesamiento de imagenes que incluye:
adquirir de un flujo codificado unos parametros de matriz de cuantificacion, en el que los parametros de matriz de cuantificacion que definen una matriz de cuantificacion son establecidos dentro de un conjunto de parametros que es diferente de un conjunto de parametros de secuencia y de un conjunto de parametros de imagen;
establecer, en base a los parametros de matriz de cuantificacion adquiridos, una matriz de cuantificacion que se utiliza cuando se cuantifican inversamente datos decodificados del flujo codificado; y
cuantificar inversamente los datos decodificados del flujo codificado utilizando la matriz de cuantificacion establecida.
(19) Un dispositivo de procesamiento de imagenes que incluye:
una seccion de cuantificacion configurada para cuantificar datos utilizando una matriz de cuantificacion; una seccion de configuracion configurada para establecer unos parametros de matriz de cuantificacion que definen una matriz de cuantificacion a utilizar cuando la seccion de cuantificacion cuantifica los datos; y una seccion de codificacion configurada para codificar los parametros de matriz de cuantificacion establecidos por la seccion de configuracion dentro de un conjunto de parametros que es diferente de un conjunto de parametros de secuencia y de un conjunto de parametros de imagen.
(20) Un procedimiento de procesamiento de imagenes que incluye:
cuantificar datos utilizando una matriz de cuantificacion;
establecer unos parametros de matriz de cuantificacion que definen la matriz de cuantificacion a utilizar cuando se cuantifican los datos; y
codificar los parametros de matriz de cuantificacion establecidos dentro de un conjunto de parametros que es diferente de un conjunto de parametros de secuencia y de un conjunto de parametros de imagen.
Lista de signos de referencia
10: Dispositivo de procesamiento de imagenes (dispositivo de codificacion de imagenes)
16: Seccion de cuantificacion
120: Seccion de generacion de parametros
130: Seccion de insercion
60: Dispositivo de procesamiento de imagenes (dispositivo de decodificacion de imagenes)
63: Seccion de cuantificacion inversa
160: Seccion de adquisicion de parametros
170: Seccion de configuracion

Claims (2)

REIVINDICACIONES
1. Un dispositivo de procesamiento de imageries que comprende:
una seccion de procesamiento de sintaxis (61) que adquiere informacion de cabecera de un flujo codificado, comprendiendo dicha seccion de procesamiento de sintaxis (61):
una seccion de adquisicion de parametros (160) que comprende:
medios para adquirir de un primer conjunto de parametros de matriz de cuantificacion, QMPS, incluido en dicho flujo codificado, un primer identificador de QMPS (S200) asignado a dicho primer QMPS, siendo un QMPS diferente de un conjunto de parametros de secuencia y de un conjunto de parametros de imagen;
medios para adquirir de dicho primer QMPS un segundo identificador de QMPS (S221);
comprendiendo ademas dicha seccion de procesamiento de sintaxis (61) una seccion de configuracion (170) para establecer una matriz de cuantificacion de dicho primer QMPS, comprendiendo dicha seccion de configuracion (170):
medios para comprobar (S222) si dicho primer identificador de QMPS y dicho segundo identificador de QMPS son iguales;
medios para establecer (S223) dicha matriz de cuantificacion de dicho primer QMPS igual a una matriz de cuantificacion por defecto predefinida en el caso de que dichos primer y segundo identificadores sean iguales; medios para establecer (S225) dicha matriz de cuantificacion de dicho primer QMPS copiando una matriz de cuantificacion original de un QMPS decodificado previamente identificado por dicho segundo identificador de QMPS en el caso de que dichos primer y segundo identificadores no sean iguales;
comprendiendo ademas dicho dispositivo de procesamiento de imagenes:
una seccion de decodificacion sin perdidas (62) para decodificar datos de cuantificacion de dicho flujo codificado; y una seccion de cuantificacion inversa (63) configurada para cuantificar inversamente los datos cuantificados utilizando la matriz de cuantificacion de dicho primer QMPS.
2. Un procedimiento de procesamiento de imagenes que comprende las etapas de:
adquirir informacion de cabecera de un flujo codificado, comprendiendo la etapa de adquirir la informacion de cabecera de un flujo codificado:
adquirir de un primer conjunto de parametros de matriz de cuantificacion, QMPS, incluido en dicho flujo codificado, un primer identificador de QMPs (S200) asignado a dicho primer QMPS, siendo un QMPS diferente de un conjunto de parametros de secuencia y de un conjunto de parametros de imagen;
adquirir de dicho primer QMPS un segundo identificador de QMPS (S221);
establecer una matriz de cuantificacion de dicho primer QMPS, comprendiendo la etapa de establecer la matriz de cuantificacion del primer QMPS:
comprobar (S222) si dicho primer identificador de QMPS y dicho segundo identificador de QMPS son iguales; establecer dicha matriz de cuantificacion de dicho primer QMPS igual a una matriz de cuantificacion por defecto predefinida en el caso de que dicho primer identificador de QMPS y dicho segundo identificador de QMPS sean iguales;
establecer (S225) dicha matriz de cuantificacion de dicho primer QMPS copiando una matriz de cuantificacion original de un QMPS decodificado previamente identificado por dicho segundo identificador de QMPS en el caso de que dicho primer identificador de QMPS y dicho segundo identificador de QMPS no sean iguales;
decodificar datos de cuantificacion de dicho flujo codificado; y
cuantificar inversamente los datos cuantificados utilizando la matriz de cuantificacion de dicho primer QMPS.
ES12744369T 2011-02-10 2012-01-18 Dispositivo de procesamiento de imágenes y procedimiento de procesamiento de imágenes Active ES2708940T3 (es)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2011027896 2011-02-10
JP2011047655 2011-03-04
JP2011187179 2011-08-30
PCT/JP2012/050931 WO2012108237A1 (ja) 2011-02-10 2012-01-18 画像処理装置及び画像処理方法

Publications (1)

Publication Number Publication Date
ES2708940T3 true ES2708940T3 (es) 2019-04-12

Family

ID=46638456

Family Applications (1)

Application Number Title Priority Date Filing Date
ES12744369T Active ES2708940T3 (es) 2011-02-10 2012-01-18 Dispositivo de procesamiento de imágenes y procedimiento de procesamiento de imágenes

Country Status (19)

Country Link
US (13) US9706205B2 (es)
EP (3) EP2675161B1 (es)
JP (6) JP5966932B2 (es)
KR (4) KR101874143B1 (es)
CN (5) CN103780912B (es)
AU (1) AU2012215968B2 (es)
BR (2) BR122014031521B1 (es)
CA (3) CA2819401C (es)
CO (1) CO6751263A2 (es)
ES (1) ES2708940T3 (es)
HK (1) HK1250109A1 (es)
MX (3) MX2018013536A (es)
MY (2) MY169660A (es)
PH (2) PH12015501742B1 (es)
RU (2) RU2609094C2 (es)
SG (3) SG10201400975QA (es)
TW (4) TWI629894B (es)
WO (1) WO2012108237A1 (es)
ZA (1) ZA201304780B (es)

Families Citing this family (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7295609B2 (en) 2001-11-30 2007-11-13 Sony Corporation Method and apparatus for coding image information, method and apparatus for decoding image information, method and apparatus for coding and decoding image information, and system of coding and transmitting image information
JP5359657B2 (ja) 2009-07-31 2013-12-04 ソニー株式会社 画像符号化装置および方法、記録媒体、並びにプログラム
JP5914962B2 (ja) 2010-04-09 2016-05-11 ソニー株式会社 画像処理装置および方法、プログラム、並びに、記録媒体
TWI600318B (zh) 2010-05-18 2017-09-21 Sony Corp Image processing apparatus and image processing method
HUE047906T2 (hu) 2010-06-04 2020-05-28 Sony Corp QP és delta QP kódolása egy minimális méretnél nagyobb képblokkoknál
EP3582497A1 (en) 2010-12-07 2019-12-18 Sony Corporation Image processing device and image processing method
EP3748964A1 (en) 2010-12-07 2020-12-09 Sony Corporation Image processing device and image processing method
JP5741076B2 (ja) 2010-12-09 2015-07-01 ソニー株式会社 画像処理装置及び画像処理方法
EP2675161B1 (en) 2011-02-10 2018-11-14 Velos Media International Limited Image processing device and image processing method
US9135724B2 (en) 2011-03-11 2015-09-15 Sony Corporation Image processing apparatus and method
US9641840B2 (en) 2011-05-20 2017-05-02 Sony Corporation Processing device and image processing method for encoding and decoding image
TWI530161B (zh) 2011-06-07 2016-04-11 Sony Corp Image processing apparatus and method
JP5907367B2 (ja) 2011-06-28 2016-04-26 ソニー株式会社 画像処理装置および方法、プログラム、並びに記録媒体
KR102166220B1 (ko) 2011-06-28 2020-10-15 소니 주식회사 화상 처리 장치 및 화상 처리 방법
CA2836161C (en) 2011-08-23 2017-12-19 Mediatek Singapore Pte. Ltd. Method and system of transform block processing according to quantization matrix in video coding
CN103096056B (zh) * 2011-11-08 2015-11-25 华为技术有限公司 矩阵编码方法与装置及解码方法与装置
CN107580230B (zh) 2012-01-20 2021-08-20 韩国电子通信研究院 视频解码方法和视频编码方法
TWI519133B (zh) 2012-02-29 2016-01-21 新力股份有限公司 影像處理裝置及方法
GB2501535A (en) 2012-04-26 2013-10-30 Sony Corp Chrominance Processing in High Efficiency Video Codecs
RU2616166C2 (ru) 2012-05-25 2017-04-12 Сан Пэтент Траст Способ кодирования изображений, способ декодирования изображений, устройство кодирования изображений, устройство декодирования изображений и устройство кодирования и декодирования изображений
JP6041554B2 (ja) * 2012-06-27 2016-12-07 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
JP6210368B2 (ja) * 2012-09-18 2017-10-11 サン パテント トラスト 画像復号方法および画像復号装置
CN109068136B (zh) 2012-12-18 2022-07-19 索尼公司 图像处理装置和图像处理方法、计算机可读存储介质
GB2519745B (en) * 2013-10-22 2018-04-18 Canon Kk Method of processing disordered frame portion data units
KR102231279B1 (ko) 2013-10-30 2021-03-25 삼성디스플레이 주식회사 영상 데이터 인코딩 장치 및 방법
KR102253039B1 (ko) * 2013-11-04 2021-05-20 삼성디스플레이 주식회사 영상 데이터 인코딩 장치 및 방법
KR20200014945A (ko) * 2014-03-14 2020-02-11 브이아이디 스케일, 인크. Rgb 비디오 코딩 향상을 위한 시스템 및 방법
US9877035B2 (en) * 2014-03-17 2018-01-23 Qualcomm Incorporated Quantization processes for residue differential pulse code modulation
CN105227953A (zh) * 2014-06-11 2016-01-06 晨星半导体股份有限公司 影像编码装置、影像解码装置以及其相关编码与解码方法
JP6392572B2 (ja) * 2014-07-22 2018-09-19 ルネサスエレクトロニクス株式会社 画像受信装置、画像伝送システムおよび画像受信方法
KR102365685B1 (ko) * 2015-01-05 2022-02-21 삼성전자주식회사 인코더의 작동 방법과 상기 인코더를 포함하는 장치들
WO2016119746A1 (zh) * 2015-01-29 2016-08-04 同济大学 图像编码方法及装置、图像解码方法及装置
US9380303B1 (en) * 2015-03-18 2016-06-28 Sony Corporation Adding run-mode to block-based DPCM codec
CN105208298B (zh) * 2015-10-28 2018-06-19 大连科迪视频技术有限公司 一种用于多格式视频信号切换的矩阵切换系统及矩阵切换方法
FR3044196B1 (fr) * 2015-11-20 2019-05-10 Thales Methode de compression d'images permettant d'obtenir une qualite de compression fixe
CN105472371B (zh) * 2016-01-13 2019-11-05 腾讯科技(深圳)有限公司 视频码流处理方法和装置
US10218976B2 (en) * 2016-03-02 2019-02-26 MatrixView, Inc. Quantization matrices for compression of video
CN114531590A (zh) * 2016-10-04 2022-05-24 有限公司B1影像技术研究所 图像数据编码/解码方法、介质和发送比特流的方法
CN114245122A (zh) * 2016-10-04 2022-03-25 有限公司B1影像技术研究所 图像数据编码/解码方法、介质和发送比特流的方法
JP6272441B2 (ja) * 2016-11-08 2018-01-31 キヤノン株式会社 画像復号装置、画像復号方法及びプログラム
US20230308626A1 (en) * 2017-07-17 2023-09-28 B1 Institute Of Image Technology, Inc. Image data encoding/decoding method and apparatus
CN113170116A (zh) 2018-11-22 2021-07-23 北京字节跳动网络技术有限公司 为帧内模式视频处理使用参考行
JP2020098983A (ja) * 2018-12-17 2020-06-25 キヤノン株式会社 画像符号化装置、画像符号化方法、画像復号装置、画像復号方法
KR20200080187A (ko) * 2018-12-26 2020-07-06 한국전자통신연구원 양자화 행렬 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
CA3132390A1 (en) * 2019-03-11 2020-09-17 Tencent America LLC Tile and sub-picture partitioning
KR20210130235A (ko) * 2019-04-15 2021-10-29 엘지전자 주식회사 스케일링 리스트 파라미터 기반 비디오 또는 영상 코딩
CN113785581A (zh) * 2019-04-15 2021-12-10 Lg 电子株式会社 基于缩放列表的视频或图像编译
WO2020260668A1 (en) * 2019-06-28 2020-12-30 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Video decoder, video encoder, methods for encoding and decoding video signals and computer program adjusting one or more denoising operations
CN114041286A (zh) * 2019-07-02 2022-02-11 交互数字Vc控股法国有限公司 用于视频编码和解码的色度格式相关量化矩阵
MX2022000296A (es) 2019-07-06 2022-02-03 Hfi Innovation Inc Se?alizacion de matrices de cuantificacion.
EP3993412A4 (en) * 2019-07-08 2023-03-08 Hyundai Motor Company METHOD AND DEVICE FOR INTRA PREDICTION CODING OF VIDEO DATA
US11284073B2 (en) 2019-07-08 2022-03-22 Hyundai Motor Company Method and apparatus for intra prediction coding of video data involving matrix based intra-prediction
CN113225562B (zh) 2019-07-10 2023-05-30 Oppo广东移动通信有限公司 图像分量预测方法、编码器、解码器以及存储介质
JP2021048532A (ja) * 2019-09-19 2021-03-25 キヤノン株式会社 画像符号化装置、画像復号装置及びそれらの制御方法及びプログラム
WO2021091255A1 (ko) * 2019-11-05 2021-05-14 엘지전자 주식회사 영상/비디오 코딩을 위한 상위 레벨 신택스 시그널링 방법 및 장치
WO2021091256A1 (ko) 2019-11-05 2021-05-14 엘지전자 주식회사 영상/비디오 코딩 방법 및 장치
WO2021091254A1 (ko) 2019-11-05 2021-05-14 엘지전자 주식회사 영상/비디오 코딩 시스템에서 픽처 헤더에서 슬라이스 타입에 관한 정보를 시그널링하는 방법 및 장치
CN111050171B (zh) * 2019-12-18 2022-10-11 腾讯科技(深圳)有限公司 视频解码方法、装置、设备及存储介质
CN113452998B (zh) * 2020-03-25 2022-05-31 杭州海康威视数字技术股份有限公司 一种解码、编码、编解码方法、装置及其设备
KR20230024340A (ko) * 2020-06-10 2023-02-20 엘지전자 주식회사 Aps에 대한 식별자를 시그널링하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 컴퓨터 판독 가능한 기록 매체
CN112429475B (zh) * 2020-09-29 2023-06-30 贵州大学 一种胶囊排序送料装置
US20230412808A1 (en) * 2020-11-30 2023-12-21 Intel Corporation Determining adaptive quantization matrices using machine learning for video coding

Family Cites Families (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06284412A (ja) 1993-03-26 1994-10-07 Sony Corp 画像信号符号化方法および画像信号符号化装置、画像信号復号化方法および画像信号復号化装置、ならびに画像信号記録媒体
JPH07152693A (ja) 1993-11-29 1995-06-16 Canon Inc 情報処理装置
DE19618117C1 (de) 1996-05-06 1997-10-02 Siemens Ag Verfahren zur Quantisierung und Verfahren zur inversen Quantisierung von Transformationscodierungskoeffizienten eines Videodatenstorms
RU2201654C2 (ru) * 1997-12-23 2003-03-27 Томсон Лайсенсинг С.А. Способ низкошумового кодирования и декодирования
CN1198457C (zh) * 1998-03-17 2005-04-20 松下电器产业株式会社 图象信号处理装置
JP4099682B2 (ja) 1998-09-18 2008-06-11 ソニー株式会社 画像処理装置および方法、並びに記録媒体
JP2000152213A (ja) * 1998-11-17 2000-05-30 Nec Software Nagano Ltd 圧縮画像のセキュリティ装置および方法
US7295609B2 (en) 2001-11-30 2007-11-13 Sony Corporation Method and apparatus for coding image information, method and apparatus for decoding image information, method and apparatus for coding and decoding image information, and system of coding and transmitting image information
KR100584552B1 (ko) 2003-01-14 2006-05-30 삼성전자주식회사 동영상 부호화 및 복호화 방법과 그 장치
CA2513537C (en) 2003-02-21 2013-03-26 Matsushita Electric Industrial Co. Ltd. Picture coding method and picture decoding method
JP4414328B2 (ja) * 2003-12-26 2010-02-10 パナソニック株式会社 画像処理装置及び画像処理装置
JP4705921B2 (ja) * 2004-01-20 2011-06-22 パナソニック株式会社 量子化マトリクスおよび動画像の復号化方法、復号化装置、プログラムおよび記録媒体
JP2007535191A (ja) * 2004-01-30 2007-11-29 松下電器産業株式会社 画像符号化方法、画像復号化方法、画像符号化装置、画像復号化装置およびプログラム
WO2005076614A1 (en) * 2004-01-30 2005-08-18 Matsushita Electric Industrial Co., Ltd. Moving picture coding method and moving picture decoding method
US20050190836A1 (en) 2004-01-30 2005-09-01 Jiuhuai Lu Process for maximizing the effectiveness of quantization matrices in video codec systems
JP4393319B2 (ja) * 2004-09-08 2010-01-06 キヤノン株式会社 画像符号化装置及び方法、並びにコンピュータプログラム及びコンピュータ可読記憶媒体
EP1675402A1 (en) * 2004-12-22 2006-06-28 Thomson Licensing Optimisation of a quantisation matrix for image and video coding
US7653129B2 (en) * 2004-12-28 2010-01-26 General Instrument Corporation Method and apparatus for providing intra coding frame bit budget
US7539612B2 (en) * 2005-07-15 2009-05-26 Microsoft Corporation Coding and decoding scale factor information
RS57194B1 (sr) 2005-11-14 2018-07-31 Teva Pharmaceuticals Int Gmbh Antagonistička antitela specifična za peptid koji je u vezi sa genom za kalcitonin za lečenje klaster glavobolje
RU2369038C1 (ru) * 2005-11-30 2009-09-27 Кабусики Кайся Тосиба Способ кодирования изображения/декодирования изображения, устройство кодирования изображения/декодирования изображения
KR101035754B1 (ko) * 2006-02-13 2011-05-20 가부시끼가이샤 도시바 동화상 부호화/복호화 방법 및 장치
JP2007318516A (ja) 2006-05-26 2007-12-06 Sony Corp プログラム、情報処理装置、情報処理方法、並びに、記録媒体
KR100773761B1 (ko) * 2006-09-14 2007-11-09 한국전자통신연구원 동영상 부호화 장치 및 방법
US8718139B2 (en) 2007-01-12 2014-05-06 Mitsubishi Electric Corporation Image decoding device and image decoding method
JP2008193627A (ja) * 2007-01-12 2008-08-21 Mitsubishi Electric Corp 画像符号化装置、画像復号装置、および画像符号化方法、画像復号方法
US20080253449A1 (en) 2007-04-13 2008-10-16 Yoji Shimizu Information apparatus and method
EP2077670A4 (en) * 2007-07-11 2011-09-28 Panasonic Corp TRANSCODER, TRANSCODING METHOD, DECODER, AND DECODING METHOD
WO2009050897A1 (ja) * 2007-10-19 2009-04-23 Panasonic Corporation 符号化レート変換装置、符号化レート変換方法および集積回路
US8897359B2 (en) * 2008-06-03 2014-11-25 Microsoft Corporation Adaptive quantization for enhancement layer video coding
US8660193B2 (en) * 2009-01-12 2014-02-25 Maxim Integrated Products, Inc. Parallel, pipelined, integrated-circuit implementation of a computational engine
JP2010288166A (ja) * 2009-06-15 2010-12-24 Panasonic Corp 動画像符号化装置、放送波記録装置及び、プログラム
JP5359657B2 (ja) 2009-07-31 2013-12-04 ソニー株式会社 画像符号化装置および方法、記録媒体、並びにプログラム
JP5344238B2 (ja) 2009-07-31 2013-11-20 ソニー株式会社 画像符号化装置および方法、記録媒体、並びにプログラム
JP5914962B2 (ja) 2010-04-09 2016-05-11 ソニー株式会社 画像処理装置および方法、プログラム、並びに、記録媒体
TWI600318B (zh) 2010-05-18 2017-09-21 Sony Corp Image processing apparatus and image processing method
HUE047906T2 (hu) 2010-06-04 2020-05-28 Sony Corp QP és delta QP kódolása egy minimális méretnél nagyobb képblokkoknál
US9167252B2 (en) 2010-12-01 2015-10-20 Texas Instruments Incorporated Quantization matrix compression in video coding
EP3748964A1 (en) 2010-12-07 2020-12-09 Sony Corporation Image processing device and image processing method
US9258573B2 (en) * 2010-12-07 2016-02-09 Panasonic Intellectual Property Corporation Of America Pixel adaptive intra smoothing
EP3582497A1 (en) 2010-12-07 2019-12-18 Sony Corporation Image processing device and image processing method
JP5741076B2 (ja) 2010-12-09 2015-07-01 ソニー株式会社 画像処理装置及び画像処理方法
EP2675161B1 (en) 2011-02-10 2018-11-14 Velos Media International Limited Image processing device and image processing method
US9135724B2 (en) 2011-03-11 2015-09-15 Sony Corporation Image processing apparatus and method
JP2012238927A (ja) 2011-05-09 2012-12-06 Sony Corp 画像処理装置及び画像処理方法
US9641840B2 (en) 2011-05-20 2017-05-02 Sony Corporation Processing device and image processing method for encoding and decoding image
TWI530161B (zh) 2011-06-07 2016-04-11 Sony Corp Image processing apparatus and method
JP5907367B2 (ja) 2011-06-28 2016-04-26 ソニー株式会社 画像処理装置および方法、プログラム、並びに記録媒体
KR102166220B1 (ko) 2011-06-28 2020-10-15 소니 주식회사 화상 처리 장치 및 화상 처리 방법
WO2013031315A1 (ja) 2011-08-30 2013-03-07 ソニー株式会社 画像処理装置及び画像処理方法
TWI519133B (zh) 2012-02-29 2016-01-21 新力股份有限公司 影像處理裝置及方法
SG11201408571RA (en) 2012-06-29 2015-01-29 Sony Corp Decoding device, and decoding method

Also Published As

Publication number Publication date
RU2595624C2 (ru) 2016-08-27
CN107509077B (zh) 2020-08-07
AU2012215968B2 (en) 2015-12-24
AU2012215968A1 (en) 2013-07-18
US9986241B2 (en) 2018-05-29
TWI590646B (zh) 2017-07-01
MY169660A (en) 2019-04-26
CO6751263A2 (es) 2013-09-16
RU2013136367A (ru) 2015-02-10
RU2609094C2 (ru) 2017-01-30
EP3462738A1 (en) 2019-04-03
KR20190069613A (ko) 2019-06-19
PH12015501742A1 (en) 2017-06-14
CN107682706A (zh) 2018-02-09
ZA201304780B (en) 2016-07-27
US20220014746A1 (en) 2022-01-13
CN103780912B (zh) 2017-11-24
MX2013008980A (es) 2013-11-01
CN107509077A (zh) 2017-12-22
US8897361B2 (en) 2014-11-25
BR112013019937A2 (pt) 2016-12-13
US20150043816A1 (en) 2015-02-12
JP6211653B2 (ja) 2017-10-11
SG10201606972VA (en) 2016-10-28
CN103370935A (zh) 2013-10-23
CA3211497A1 (en) 2012-08-16
US10225554B2 (en) 2019-03-05
US20240040123A1 (en) 2024-02-01
KR20140010029A (ko) 2014-01-23
KR101874143B1 (ko) 2018-07-03
KR20180080334A (ko) 2018-07-11
MY191819A (en) 2022-07-18
JP5966932B2 (ja) 2016-08-10
CA3063234A1 (en) 2012-08-16
TWI528734B (zh) 2016-04-01
EP2675161A1 (en) 2013-12-18
CN103370935B (zh) 2017-11-21
US20130322525A1 (en) 2013-12-05
PH12015501742B1 (en) 2017-06-14
JP2018011340A (ja) 2018-01-18
JP2016195429A (ja) 2016-11-17
US20200252612A1 (en) 2020-08-06
US10257515B2 (en) 2019-04-09
CN107566845A (zh) 2018-01-09
MX2018013536A (es) 2021-06-23
CA2819401A1 (en) 2012-08-16
SG10201400975QA (en) 2014-07-30
CN103780912A (zh) 2014-05-07
EP4254953A3 (en) 2024-01-03
US9706205B2 (en) 2017-07-11
US20180234680A1 (en) 2018-08-16
JP6726334B2 (ja) 2020-07-22
TW201540048A (zh) 2015-10-16
US11831873B2 (en) 2023-11-28
TW201249114A (en) 2012-12-01
WO2012108237A1 (ja) 2012-08-16
SG10201912144SA (en) 2020-02-27
TWI695617B (zh) 2020-06-01
TW201830960A (zh) 2018-08-16
US9967564B2 (en) 2018-05-08
EP2675161A4 (en) 2016-03-16
US20190166368A1 (en) 2019-05-30
EP2675161B1 (en) 2018-11-14
EP4254953A2 (en) 2023-10-04
US20150063447A1 (en) 2015-03-05
CA3063234C (en) 2023-09-19
BR112013019937B1 (pt) 2022-05-03
US20220078426A1 (en) 2022-03-10
TW201722153A (zh) 2017-06-16
JP2015084556A (ja) 2015-04-30
KR101989613B1 (ko) 2019-06-14
US10674153B2 (en) 2020-06-02
US10531089B2 (en) 2020-01-07
US20190182485A1 (en) 2019-06-13
US20170310966A1 (en) 2017-10-26
JP2016195430A (ja) 2016-11-17
BR122014031521A2 (pt) 2019-08-20
US11166024B2 (en) 2021-11-02
CA2819401C (en) 2020-02-11
US20130251032A1 (en) 2013-09-26
US11825089B2 (en) 2023-11-21
US11196996B2 (en) 2021-12-07
JP2019165468A (ja) 2019-09-26
BR122014031521B1 (pt) 2022-08-23
HK1250109A1 (zh) 2018-11-23
US20200099931A1 (en) 2020-03-26
JP5967179B2 (ja) 2016-08-10
CN107566845B (zh) 2020-03-03
TWI629894B (zh) 2018-07-11
AU2012215968A2 (en) 2013-08-01
KR102205752B1 (ko) 2021-01-22
KR20200105544A (ko) 2020-09-07
MX348562B (es) 2017-06-20
PH12018501219A1 (en) 2019-03-11
JP6208822B2 (ja) 2017-10-04
PH12018501219B1 (en) 2019-03-11
JPWO2012108237A1 (ja) 2014-07-03
CN107682706B (zh) 2020-04-03
RU2014150547A (ru) 2016-07-10

Similar Documents

Publication Publication Date Title
ES2708940T3 (es) Dispositivo de procesamiento de imágenes y procedimiento de procesamiento de imágenes
AU2018206825B2 (en) Image processing device and image processing method
AU2015202011B2 (en) Image Processing Device and Image Processing Method