ES2834105T3 - Procedimiento de codificación de imágenes, procedimiento de descodificación de imágenes, dispositivo de codificación de imágenes, dispositivo de descodificación de imágenes y aparato de codificación y descodificación de imágenes - Google Patents

Procedimiento de codificación de imágenes, procedimiento de descodificación de imágenes, dispositivo de codificación de imágenes, dispositivo de descodificación de imágenes y aparato de codificación y descodificación de imágenes Download PDF

Info

Publication number
ES2834105T3
ES2834105T3 ES13802843T ES13802843T ES2834105T3 ES 2834105 T3 ES2834105 T3 ES 2834105T3 ES 13802843 T ES13802843 T ES 13802843T ES 13802843 T ES13802843 T ES 13802843T ES 2834105 T3 ES2834105 T3 ES 2834105T3
Authority
ES
Spain
Prior art keywords
information
sao
region
processing
decoding
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
ES13802843T
Other languages
English (en)
Inventor
Toru Matsunobu
Takahiro Nishi
Youji Shibahara
Hisao Sasai
Kyoko Tanikawa
Toshiyasu Sugio
Kengo Terada
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.)
Sun Patent Trust Inc
Original Assignee
Sun Patent Trust Inc
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 Sun Patent Trust Inc filed Critical Sun Patent Trust Inc
Application granted granted Critical
Publication of ES2834105T3 publication Critical patent/ES2834105T3/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/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/117Filters, e.g. for pre-processing or post-processing
    • 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/136Incoming video signal characteristics or properties
    • 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/167Position within a video image, e.g. region of interest [ROI]
    • 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
    • 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/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • 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/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/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

Abstract

Un procedimiento de codificación de imágenes que comprende: realizar una codificación aritmética de contexto (S711) para codificar de forma consecutiva (i) una segunda información que indica si usar o no, en el procesamiento de SAO para la primera región, información acerca del procesamiento de SAO para una región distinta de la primera región, y después de que se haya codificado la segunda información, codificar (ii) la primera información que indica si realizar o no un procesamiento de desplazamiento adaptativo de muestra (SAO) para una primera región de una imagen, siendo la codificación aritmética de contexto una codificación aritmética que usa una probabilidad variable, siendo el procesamiento de SAO un procesamiento de desplazamiento sobre un valor de píxel; y codificar otra información que es información acerca del procesamiento de SAO para la primera región y diferente de la primera información o la segunda información, después de que se hayan codificado la primera información y la segunda información, en el que la otra información incluye una tercera información que indica si el procesamiento de SAO para la primera región es un procesamiento de desplazamiento de borde realizado de acuerdo con un borde, o un procesamiento de desplazamiento de banda realizado de acuerdo con el valor de píxel, la primera información es correspondiente a un valor de un bit inicial en un parámetro de un tipo del procesamiento de SAO para la primera región, y la otra información empieza en un valor de un bit siguiente a continuación del bit inicial en el parámetro del tipo del procesamiento de SAO para la primera región, caracterizado porque la etapa de codificar otra información realiza una codificación aritmética de derivación (S712) para codificar la otra información, siendo la codificación aritmética de derivación una codificación aritmética que usa una probabilidad fija.

Description

DESCRIPCIÓN
Procedimiento de codificación de imágenes, procedimiento de descodificación de imágenes, dispositivo de codificación de imágenes, dispositivo de descodificación de imágenes y aparato de codificación y descodificación de imágenes
La presente invención se refiere a un procedimiento de codificación de imágenes que usa codificación aritmética.
Hay técnicas descritas en las referencias no de patente (NPL) 1 y NPL 2 que se refieren al procedimiento de codificación de imágenes que usa codificación aritmética.
En los documentos NPL 3 a 6 se pueden hallar aspectos adicionales con respecto a la codificación de tipo de SAO y la codificación aritmética/de derivación.
rReferencias no de patente!
[NPL 1] ISO/IEC 14496-10 " MPEG-4 Part 10 Advanced Video Coding'
[NPL 2] Frank Bossen, " Common test conditions and software reference configurations", Equipo de Colaboración Conjunta en Codificación de Vídeo (JCT-VC) de ITU-T SG16 WP3 e ISO/IEC JTC1/SC29/WG11, 8a reunión, San José, CA, EE. UU., 1-10 de febrero de 2012, http://phenix.itsudparis.eu/jct/doc_end_user/documents/8_San°/o20Jose/wg11/JCTVCH1100-v1.zip
[NPL 3] Minoo K y col., " CE1 TEST6.2: Coding of SAO Type", 9. Reunión de JCT-VC; 100. Reunión de MPEG; 27-4-2012 - 7-5-2012; Ginebra; (Equipo de Colaboración Conjunta en Codificación de Vídeo de ISO/IEC JTC1/SC29/WG11 y UIT-T SG.16); URL: http://wftp3.itu.int/av-arch/jctvc-site/, (17-04-2012), n.° JCTVC-I0379 [NPL 4] Bross B y col., " High Efficiency Video Coding (HEVC) text specification draft 7", 9. Reunión de JCT-VC; 100. Reunión de MPEG; 27-4-2012 - 7-5-2012; Ginebra; (Equipo de Colaboración Conjunta en Codificación de Vídeo de ISO/IEC JTC1/SC29/WG11 y UIT-T SG.16); URL: http://wftp3.itu.int/av-arch/jctvc-site/, (10-05-2012), n.° JCTVC-I1003
[NPL 5] D. Marpe y col., " Context-based adaptive binary arithmetic coding in the H.264/AVC video compression standard', Transacciones de IEEE sobre circuitos y sistemas para la tecnología de vídeo, (01-07-2003), vol. 13, n.°7, doi:10.1109/TCSVT.2003.815173, ISSN 1051-8215, páginas 620 -636
[NPL 6] Sullivan Gary y col., " Meeting Report of 9th JCT-Vc Meeting", cita de Internet, (27-04-2012), páginas 1 -189, URL: http://wftp3.itu.int/av-arch/jctvc-site/2012_04_I_Geneva/, (19-08-2013)
Sin embargo, cuando la codificación se realiza con una eficiencia de procesamiento pobre, es difícil suprimir el retardo de procesamiento que se produce durante la codificación.
A la vista de lo anterior, la presente invención proporciona un procedimiento de codificación de imágenes que permite codificar con una eficiencia de codificación alta.
Esto se consigue mediante las características de las reivindicaciones independientes.
Se ha de hacer notar que estos aspectos generales y específicos pueden implementarse usando un sistema, un aparato, un circuito integrado, un programa informático o un medio de grabación legible por ordenador no transitorio tal como un CD-ROM, o cualquier combinación de sistemas, aparatos, procedimientos, circuitos integrados, programas informáticos o medios de registro.
Un procedimiento de codificación de imágenes de acuerdo con la presente invención permite codificar con una eficiencia de codificación alta.
[Figura 1]
La figura 1 es un diagrama de bloques que ilustra un ejemplo de una configuración de un aparato de codificación de imágenes de acuerdo con la realización 1.
[Figura 2]
La figura 2 es un diagrama de bloques que ilustra un ejemplo de una configuración de un aparato de descodificación de imágenes de acuerdo con la realización 1.
[Figura 3]
La figura 3 es una vista esquemática que ilustra un ejemplo de un desplazamiento de borde de acuerdo con la realización 1.
[Figura 4]
La figura 4 es una vista esquemática que ilustra categorías del desplazamiento de borde de acuerdo con la realización 1.
[Figura 5]
La figura 5 es una vista esquemática que ilustra ejemplos de tipos del desplazamiento de borde de acuerdo con la realización 1.
[Figura 6]
La figura 6 es una vista esquemática que ilustra un ejemplo de un desplazamiento de banda de acuerdo con la realización 1.
[Figura 7]
La figura 7 es una vista esquemática que ilustra categorías del desplazamiento de banda de acuerdo con la realización 1.
[Figura 8]
La figura 8 es una vista esquemática que ilustra información de objetivo de codificación del desplazamiento de banda de acuerdo con la realización 1.
[Figura 9A]
La figura 9A es una vista esquemática que ilustra un ejemplo del proceso de dividir una región de acuerdo con la realización 1.
[Figura 9B]
La figura 9A es una vista esquemática que ilustra un ejemplo del resultado de dividir una región de acuerdo con la realización 1.
[Figura 10]
La figura 10 es un diagrama de bloques que ilustra un ejemplo de una configuración de una unidad de filtrado de bucle en el aparato de codificación de imágenes de acuerdo con la realización 1.
[Figura 11]
La figura 11 es un diagrama de bloques que ilustra un ejemplo de una configuración de una unidad de filtrado de bucle en el aparato de descodificación de imágenes de acuerdo con la realización 1.
[Figura 12]
La figura 12 es un diagrama de flujo que ilustra un ejemplo de operaciones de la unidad de filtrado de bucle en el aparato de codificación de imágenes de acuerdo con la realización 1.
[Figura 13]
La figura 13 es un diagrama de flujo que ilustra un ejemplo de operaciones de la unidad de filtrado de bucle en el aparato de descodificación de imágenes de acuerdo con la realización 1.
[Figura 14]
La figura 14 es una vista esquemática que ilustra un ejemplo de asignación de bits a números de índice, cada uno de los cuales indica un procedimiento de clasificación de píxeles de acuerdo con la realización 1.
[Figura 15]
La figura 15 es una vista esquemática que ilustra un ejemplo de un flujo codificado de acuerdo con la realización 1.
[Figura 16A]
La figura 16A es una vista esquemática que ilustra un ejemplo de sintaxis (aps_sao_param) en APS de acuerdo con la realización 1.
[Figura 16B]
La figura 16B es una vista esquemática que ilustra un ejemplo de sintaxis (aps_unit_vlc) en APS de acuerdo con la realización 1.
[Figura 16C]
La figura 16C es una vista esquemática que ilustra un ejemplo de sintaxis (sao_offset_vlc) en APS de acuerdo con la realización 1.
[Figura 17A]
La figura 17A es una vista esquemática que ilustra un ejemplo de sintaxis (slice_data) en datos de segmento de acuerdo con la realización 1.
[Figura 17B]
La figura 17B es una vista esquemática que ilustra un ejemplo de sintaxis (sao_unit_cabac) en datos de segmento de acuerdo con la realización 1.
[Figura 17C]
La figura 17C es una vista esquemática que ilustra un ejemplo de sintaxis (sao_offset_cabac) en datos de segmento de acuerdo con la realización 1.
[Figura 18]
La figura 18 es una vista esquemática que ilustra un ejemplo de regiones entre las que se comparte información de desplazamiento de acuerdo con la realización 1.
[Figura 19]
La figura 19 es un diagrama de flujo que ilustra un ejemplo de codificación de un número de índice que indica un procedimiento de clasificación de píxeles de acuerdo con la realización 1.
[Figura 20]
La figura 20 es un diagrama de flujo que ilustra un ejemplo de descodificación de un número de índice que indica el procedimiento de clasificación de píxeles de acuerdo con la realización 1.
[Figura 21]
La figura 21 es un diagrama de bloques que ilustra un ejemplo de una configuración de una unidad de filtrado de bucle en el aparato de codificación de imágenes de acuerdo con la realización 2.
[Figura 22]
La figura 22 es un diagrama de bloques que ilustra un ejemplo de una configuración de una unidad de filtrado de bucle en el aparato de descodificación de imágenes de acuerdo con la realización 2.
[Figura 23]
La figura 23 es un diagrama de flujo que ilustra un ejemplo de operaciones de la unidad de filtrado de bucle en el aparato de codificación de imágenes de acuerdo con la realización 2.
[Figura 24]
La figura 24 es un diagrama de flujo que ilustra un ejemplo de operaciones de la unidad de filtrado de bucle en el aparato de descodificación de imágenes de acuerdo con la realización 2.
[Figura 25]
La figura 25 es una vista esquemática que ilustra un ejemplo de asignación de bits a números de índice, cada uno de los cuales indica un procedimiento de clasificación de píxeles de acuerdo con la realización 2.
[Figura 26]
La figura 26 es una vista esquemática que ilustra un ejemplo de asignación de bits a números de índice, cada uno de los cuales indica un procedimiento de clasificación de píxeles de acuerdo con la realización 2.
[Figura 27A]
La figura 27A es una vista esquemática que ilustra un ejemplo de sintaxis (sao_unit_vlc) en APS de acuerdo con la realización 2.
[Figura 27B]
La figura 27B es una vista esquemática que ilustra un ejemplo de sintaxis (sao_offset_vlc) en APS de acuerdo con la realización 2.
[Figura 27C]
La figura 27C es una vista esquemática que ilustra un ejemplo de asignación de un índice de contexto a información de desplazamiento en APS de acuerdo con la realización 2.
[Figura 27D]
La figura 27D es un diagrama de flujo que ilustra un ejemplo de codificación de información de desplazamiento en APS de acuerdo con la realización 2
[Figura 27E]
La figura 27E es un diagrama de flujo que muestra un ejemplo de descodificación de información de desplazamiento en APS de acuerdo con la realización 2.
[Figura 28A]
La figura 28A es una vista esquemática que ilustra un ejemplo de sintaxis (sao_unit_cabac) en datos de segmento de acuerdo con la realización 2.
[Figura 28B]
La figura 28B es una vista esquemática que ilustra un ejemplo de sintaxis (sao_offset_cabac) en datos de segmento de acuerdo con la realización 2.
[Figura 28C]
La figura 28C es una vista esquemática que ilustra un ejemplo de asignación de un índice de contexto a información de desplazamiento en datos de segmento de acuerdo con la realización 2.
[Figura 28D]
La figura 28D es un diagrama de flujo que ilustra un ejemplo de codificación de información de desplazamiento en datos de segmento de acuerdo con la realización 2
[Figura 28E]
La figura 28E es un diagrama de flujo que muestra un ejemplo de descodificación de información de desplazamiento en datos de segmento de acuerdo con la realización 2.
[Figura 29]
La figura 29 es un diagrama de flujo que ilustra un ejemplo de codificación de un número de índice que indica un procedimiento de clasificación de píxeles de acuerdo con la realización 2.
[Figura 30]
La figura 30 es un diagrama de flujo que ilustra un ejemplo de descodificación de un número de índice que indica el procedimiento de clasificación de píxeles de acuerdo con la realización 2.
[Figura 31]
La figura 31 es un diagrama de bloques que ilustra un ejemplo de una configuración de una unidad de codificación de información de desplazamiento de acuerdo con la realización 3.
[Figura 32]
La figura 32 es un diagrama de bloques que ilustra un ejemplo de una configuración de una unidad de descodificación de información de desplazamiento de acuerdo con la realización 3.
[Figura 33]
La figura 33 es una vista esquemática que ilustra la asignación de un índice de contexto a información de desplazamiento de acuerdo con el primer ejemplo de la realización 3.
[Figura 34]
La figura 34 es un diagrama de flujo que ilustra operaciones de la unidad de codificación de información de desplazamiento de acuerdo con el primer ejemplo de la realización 3.
[Figura 35]
La figura 35 es un diagrama de flujo que ilustra operaciones de la unidad de descodificación de información de desplazamiento de acuerdo con el primer ejemplo de la realización 3.
[Figura 36A]
La figura 36A es una vista esquemática que ilustra la asignación de un índice de contexto a información de desplazamiento de acuerdo con el segundo ejemplo de la realización 3.
[Figura 36B]
La figura 36B es una vista esquemática que ilustra una asignación de bits a números de índice, cada uno de los cuales indica un procedimiento de clasificación de píxeles de acuerdo con el segundo ejemplo de la realización 3.
[Figura 36C]
La figura 36C es un diagrama que muestra un funcionamiento objetivo de un aparato de codificación de imágenes y un aparato de descodificación de imágenes de acuerdo con el segundo ejemplo de la realización 3.
[Figura 37]
La figura 37 es un diagrama de flujo que ilustra operaciones de la unidad de codificación de información de desplazamiento de acuerdo con el segundo ejemplo de la realización 3.
[Figura 38]
La figura 38 es un diagrama de flujo que ilustra operaciones de la unidad de descodificación de información de desplazamiento de acuerdo con el segundo ejemplo de la realización 3.
[Figura 39A]
La figura 39a es una vista esquemática que ilustra la asignación de un índice de contexto a información de desplazamiento de acuerdo con el tercer ejemplo de la realización 3.
[Figura 39B]
La figura 39B es un diagrama que muestra un funcionamiento objetivo de un aparato de codificación de imágenes y un aparato de descodificación de imágenes de acuerdo con el tercer ejemplo de la realización 3.
[Figura 40]
La figura 40 es un diagrama de flujo que ilustra operaciones de la unidad de codificación de información de desplazamiento de acuerdo con el tercer ejemplo de la realización 3.
[Figura 41]
La figura 41 es un diagrama de flujo que ilustra operaciones de la unidad de descodificación de información de desplazamiento de acuerdo con el tercer ejemplo de la realización 3.
[Figura 42]
La figura 42 es un diagrama de flujo que ilustra un ejemplo de una característica de codificación de acuerdo con la realización 3.
[Figura 43]
La figura 43 es un diagrama de flujo que ilustra un ejemplo de una característica de descodificación de acuerdo con la realización 3.
[Figura 44]
La figura 44 muestra una configuración global de un sistema de provisión de contenido para implementar servicios de distribución de contenido.
[Figura 45]
La figura 45 muestra una configuración global de un sistema de difusión digital.
[Figura 46]
La figura 46 muestra un diagrama de bloques que ilustra un ejemplo de una configuración de una televisión. [Figura 47]
La figura 47 muestra un diagrama de bloques que ilustra un ejemplo de una configuración de una unidad de reproducción/grabación de información que lee y escribe información desde y en un medio de grabación que es un disco óptico.
[Figura 48]
La figura 48 muestra un ejemplo de una configuración de un medio de grabación que es un disco óptico.
[Figura 49A]
La figura 49A muestra un ejemplo de un teléfono celular.
[Figura 49B]
La figura 49B es un diagrama de bloques que muestra un ejemplo de una configuración de un teléfono celular.
[Figura 50]
La figura 50 ilustra una estructura de datos multiplexados.
[Figura 51]
La figura 51 muestra esquemáticamente cómo se multiplexa cada flujo en datos multiplexados.
[Figura 52]
La figura 52 muestra cómo se almacena un flujo de vídeo en un flujo de paquetes de PES con más detalle. [Figura 53]
La figura 53 muestra una estructura de paquetes de TS y paquetes de fuente en los datos multiplexados.
[Figura 54]
La figura 54 muestra una estructura de datos de una PMT.
[Figura 55]
La figura 55 muestra una estructura interna de información de datos multiplexados.
[Figura 56]
La figura 56 muestra una estructura interna de información de atributo de flujo.
[Figura 57]
La figura 57 muestra etapas para identificar datos de vídeo.
[Figura 58]
La figura 58 muestra un ejemplo de una configuración de un circuito integrado para implementar el procedimiento de codificación de instantáneas en movimiento y el procedimiento de descodificación de instantáneas en movimiento de acuerdo con cada una de las realizaciones.
[Figura 59]
La figura 59 muestra una configuración para conmutar entre frecuencias de accionamiento.
[Figura 60]
La figura 60 muestra etapas para identificar datos de vídeo y conmutación entre frecuencias de accionamiento.
[Figura 61]
La figura 61 muestra un ejemplo de una tabla de búsqueda en la que las normas de datos de vídeo están asociadas con frecuencias de accionamiento.
[Figura 62A]
La figura 62a es un diagrama que muestra un ejemplo de una configuración para compartir un módulo de una unidad de procesamiento de señal.
[Figura 62B]
La figura 62b es un diagrama que muestra otro ejemplo de una configuración para compartir un módulo de la unidad de procesamiento de señal.
(Conocimiento subyacente que forma la base de la presente invención)
Los inventores han hallado un problema en el procedimiento de codificación de imágenes que usa codificación aritmética que se describe en "Antecedentes". Lo siguiente describe los detalles.
Un aparato de codificación de imágenes de acuerdo con un sistema de codificación de imágenes representado por la norma de UIT-T denominada H.26x y la norma de ISO/IEC denominada MPEG-x divide una instantánea en unidades predeterminadas y realiza la codificación por la unidad. Por ejemplo, un aparato de codificación de imágenes de acuerdo con la norma de AVC H.264/MPEG-4 (NPL 1) realiza un proceso mediante una unidad denominada macrobloque que tiene 16 píxeles horizontales y 16 píxeles verticales.
El aparato de codificación de imágenes divide el macrobloque en subbloques (teniendo cada uno al menos 4 píxeles horizontales y 4 píxeles verticales), cuando se realiza una compensación de movimiento. El aparato de codificación de imágenes realiza una compensación de movimiento usando un vector de movimiento que es diferente para cada uno de los subbloques, realiza una transformación de frecuencia sobre una señal de diferencia entre una señal original y una señal de predicción, recopila información acerca de la señal de diferencia en una región de baja frecuencia, y realiza una cuantificación, comprimiendo de ese modo la información.
Se sabe que la distorsión de tipo cuadrícula denominada distorsión de bloques aparece en un límite de bloques de acuerdo con un procedimiento para codificar una instantánea de una forma bloque por bloque usando una transformación ortogonal tal como DCT que recopila información acerca de una señal de diferencia en una región de baja frecuencia. El aparato de codificación de imágenes es capaz de reducir los efectos de bloqueo realizando un procesamiento de filtrado de desbloqueo.
Sin embargo, con el sistema que procesa solo el límite de bloque como con el filtro de desbloqueo descrito anteriormente, existe una dificultad en la reducción del deterioro de codificación que no sea la distorsión de bloques.
A la vista de lo anterior, un procedimiento de codificación de imágenes de acuerdo con un aspecto de la presente invención incluye: Un procedimiento de codificación de imágenes que comprende: realizar una codificación aritmética de contexto para codificar de forma consecutiva (i) una primera información que indica si realizar o no un procesamiento de desplazamiento adaptativo de muestra (SAO) para una primera región de una imagen y (ii) una segunda información que indica si usar o no, en el procesamiento de SAO para la primera región, información acerca de un procesamiento de SAO para una región que no sea la primera región, siendo la codificación aritmética de contexto una codificación aritmética que usa una probabilidad variable, siendo el procesamiento de SAO un procesamiento de desplazamiento sobre un valor de píxel; y realizar una codificación aritmética de derivación para codificar otra información que es información acerca del procesamiento de SAO para la primera región y diferente de la primera información o la segunda información, después de que se hayan codificado la primera información y la segunda información, siendo la codificación aritmética de derivación una codificación aritmética que usa una probabilidad fija, en el que la otra información incluye una tercera información que indica si el procesamiento de SAO para la primera región es un procesamiento de desplazamiento de borde realizado de acuerdo con un borde, o un procesamiento de desplazamiento de banda realizado de acuerdo con el valor de píxel, al realizar una codificación aritmética de contexto, un valor de un bit inicial en una cadena de bits de un parámetro se codifica como la primera información, indicando el parámetro un tipo del procesamiento de SAO para la primera región y, al realizar una codificación aritmética de derivación, un valor de un bit siguiente a continuación del bit inicial en la cadena de bits del parámetro se codifica como la tercera información.
Con esto, en un parámetro del procesamiento de SAO para mejorar una calidad de imagen, la codificación aritmética de contexto se aplica a una porción en la que es adecuado usar la codificación aritmética de contexto, y la codificación aritmética de derivación se aplica a una porción en la que es adecuado usar la codificación aritmética de derivación. Además, la codificación aritmética de contexto se realiza de forma consecutiva. Esto significa que se suprime la conmutación frecuente entre la codificación aritmética de contexto y la codificación aritmética de derivación y se realizan de forma consecutiva procesos del mismo tipo. Por lo tanto, mejora la eficiencia de procesamiento.
De acuerdo con la invención, al realizar una codificación aritmética de contexto, la primera información se ha de codificar después de que se haya codificado la segunda información.
Con esto, es posible codificar, inmediatamente después de codificar un valor de un bit inicial incluido en un parámetro mediante la codificación aritmética de contexto, un valor del bit siguiente incluido en el parámetro, mientras se mantiene la consecutividad de la codificación aritmética de contexto. Esto reduce los procesos complicados a realizar sobre un parámetro y, por lo tanto, mejora la eficiencia de procesamiento.
Además, por ejemplo, al realizar una codificación aritmética de derivación, se puede codificar la otra información que incluye una cuarta información que indica un valor absoluto de un valor de desplazamiento.
Con esto, una diversidad de elementos de información se codifican mediante la codificación aritmética de derivación después de la codificación aritmética de contexto. En resumen, procesos del mismo tipo se realizan colectivamente. Por lo tanto, mejora la eficiencia de procesamiento.
Además, por ejemplo, al realizar una codificación aritmética de derivación, cuando el procesamiento de SAO para la primera región es el procesamiento de desplazamiento de banda, se puede codificar la otra información que incluye (i) una quinta información que indica si el valor de desplazamiento es positivo o negativo y (ii) una sexta información que indica un ámbito de aplicación del valor de desplazamiento.
Con esto, una diversidad adicional de elementos de información se codifican mediante la codificación aritmética de derivación de acuerdo con el estado, después de la codificación aritmética de contexto. Por lo tanto, mejora la eficiencia de procesamiento.
Además, por ejemplo, al realizar una codificación aritmética de contexto, se puede codificar la segunda información que incluye al menos una de (i) una información que indica si se usa o no información acerca de un procesamiento de SAO para una región izquierda en el procesamiento de SAO para la primera región y (ii) una información que indica si se usa o no información acerca de un procesamiento de SAO para una región superior en el procesamiento de SAO para la primera región, siendo la región izquierda adyacente a la primera región y estando a la izquierda de la primera región, siendo la región superior adyacente a la primera región y estando encima de la primera región.
Con esto, en la codificación aritmética de contexto que se realiza de forma consecutiva, se codifica apropiadamente la información que indica la reutilización desde arriba o desde la izquierda.
Además, un procedimiento de descodificación de imágenes de acuerdo con un aspecto de la presente invención puede ser un procedimiento de descodificación de imágenes que incluye: realizar una descodificación aritmética de contexto para descodificar de forma consecutiva (i) una primera información que indica si realizar o no un procesamiento de desplazamiento adaptativo de muestra (SAO) para una primera región de una imagen y (ii) una segunda información que indica si usar o no, en el procesamiento de SAO para la primera región, información acerca de un procesamiento de SAO para una región que no sea la primera región, siendo la descodificación aritmética de contexto una descodificación aritmética que usa una probabilidad variable, siendo el procesamiento de SAO un procesamiento de desplazamiento sobre un valor de píxel; y realizar una descodificación aritmética de derivación para descodificar otra información que es información acerca del procesamiento de SAO para la primera región y diferente de la primera información o la segunda información, después de que se hayan descodificado la primera información y la segunda información, siendo la descodificación aritmética de derivación una descodificación aritmética que usa una probabilidad fija, en el que la otra información incluye una tercera información que indica si el procesamiento de SAO para la primera región es un procesamiento de desplazamiento de borde realizado de acuerdo con un borde, o un procesamiento de desplazamiento de banda realizado de acuerdo con el valor de píxel, al realizar una descodificación aritmética de contexto, un valor de un bit inicial en una cadena de bits de un parámetro se descodifica como la primera información, indicando el parámetro un tipo del procesamiento de SAO para la primera región y, al realizar una descodificación aritmética de derivación, un valor de un bit siguiente a continuación del bit inicial en la cadena de bits del parámetro se descodifica como la tercera información.
Con esto, en un parámetro del procesamiento de SAO para mejorar una calidad de imagen, la descodificación aritmética de contexto se aplica a una porción en la que es adecuado usar la descodificación aritmética de contexto, y la descodificación aritmética de derivación se aplica a una porción en la que es adecuado usar la descodificación aritmética de derivación. Además, la descodificación aritmética de contexto se realiza de forma consecutiva. Más específicamente, se suprime la conmutación frecuente entre la descodificación aritmética de contexto y la descodificación aritmética de derivación y se realizan de forma consecutiva procesos del mismo tipo. Por lo tanto, mejora la eficiencia de procesamiento.
De acuerdo con la invención, al realizar una descodificación aritmética de contexto, la primera información se ha de descodificar después de que se haya descodificado la segunda información.
Con esto, es posible descodificar, inmediatamente después de descodificar un valor de un bit inicial incluido en un parámetro mediante la descodificación aritmética de contexto, un valor del bit siguiente incluido en el parámetro, mientras se mantiene la consecutividad de la descodificación aritmética de contexto. Esto reduce los procesos complicados a realizar sobre un parámetro y, por lo tanto, mejora la eficiencia de procesamiento.
Además, por ejemplo, al realizar una descodificación aritmética de derivación, se puede descodificar la otra información que incluye una cuarta información que indica un valor absoluto de un valor de desplazamiento.
Con esto, una diversidad de elementos de información se descodifican mediante la descodificación aritmética de derivación después de la descodificación aritmética de contexto. En resumen, procesos del mismo tipo se realizan colectivamente. Por lo tanto, mejora la eficiencia de procesamiento.
Además, por ejemplo, al realizar una descodificación aritmética de derivación, cuando el procesamiento de SAO para la primera región es el procesamiento de desplazamiento de banda, se puede descodificar la otra información que incluye (i) una quinta información que indica si el valor de desplazamiento es positivo o negativo y (ii) una sexta información que indica un ámbito de aplicación del valor de desplazamiento.
Con esto, una diversidad adicional de elementos de información se descodifican mediante la descodificación aritmética de derivación de acuerdo con el estado, después de la descodificación aritmética de contexto. Por lo tanto, mejora la eficiencia de procesamiento.
Además, por ejemplo, al realizar una descodificación aritmética de contexto, se puede descodificar la segunda información que incluye al menos una de (i) una información que indica si se usa o no información acerca de un procesamiento de SAO para una región izquierda en el procesamiento de SAO para la primera región y (ii) una información que indica si se usa o no información acerca de un procesamiento de sAo para una región superior en el procesamiento de SAO para la primera región, siendo la región izquierda adyacente a la primera región y estando a la izquierda de la primera región, siendo la región superior adyacente a la primera región y estando encima de la primera región.
Con esto, en la descodificación aritmética de contexto que se realiza de forma consecutiva, se descodifica apropiadamente la información que indica la reutilización desde arriba o desde la izquierda en la descodificación aritmética de contexto.
Se ha de hacer notar que los aspectos generales y específicos desvelados anteriormente pueden implementarse usando un sistema, un aparato, un circuito integrado, un programa informático o un medio de grabación legible por ordenador no transitorio tal como un CD-ROM, o cualquier combinación de sistemas, aparatos, procedimientos, circuitos integrados, programas informáticos o medios de registro.
Lo siguiente describe realizaciones con detalle con referencia a los dibujos.
Además, el término "codificación" en la siguiente descripción puede usarse para significar "codificación".
(Realización 1)
La realización 1 no es una realización de la invención como se define en las reivindicaciones.
La figura 1 ilustra una configuración de un aparato de codificación de imágenes de acuerdo con la realización 1. Un aparato de codificación de imágenes 100 ilustrado en la figura 1 incluye una unidad de control 110 y una unidad de codificación 120. La unidad de codificación 120 incluye: un restador 121; una unidad de transformación de frecuencia 122; una unidad de cuantificación 123; una unidad de codificación por entropía 124; una unidad de cuantificación inversa 125; una unidad de transformación de frecuencia inversa 126; un sumador 127; una unidad de filtrado de bucle 128; una unidad de almacenamiento 129; una unidad de intra predicción 130; una unidad de compensación de movimiento 131; una unidad de estimación de movimiento 132; y un conmutador 133.
La unidad de codificación 120 codifica una imagen 141 de una forma bloque por bloque para generar un flujo codificado 142. En este momento, el restador 121 en la unidad de codificación 120 resta un bloque de píxeles que tiene varios valores de píxeles de una imagen de predicción, de un bloque de píxeles que tiene varios valores de píxeles de la imagen 141. La unidad de transformación de frecuencia 122 transforma un bloque de píxeles resultante de la resta en un bloque de coeficientes que tiene varios coeficientes de frecuencia. La unidad de cuantificación 123 cuantifica el bloque de coeficientes obtenido de la unidad de transformación de frecuencia 122.
Al mismo tiempo, la unidad de estimación de movimiento 132 detecta un vector de movimiento usando el bloque de píxeles de la imagen 141. La unidad de compensación de movimiento 131 realiza una predicción inter instantáneas (inter predicción) usando una imagen de referencia en la unidad de almacenamiento 129 y el vector de movimiento detectado por la unidad de estimación de movimiento 132. La unidad de intra predicción 130 realiza una predicción intra instantánea (intra predicción) usando el bloque de píxeles obtenido del sumador 127, de acuerdo con un modo de intra predicción. El conmutador 133 introduce el bloque de píxeles de la imagen de predicción resultante de la predicción intra instantánea o la predicción inter instantáneas, en el restador 121 y el sumador 127.
La unidad de codificación por entropía 124 realiza una codificación por entropía sobre una información de partición de un bloque, un tipo de predicción, un vector de movimiento, un modo de predicción (modo de predicción intra instantánea), un parámetro de cuantificación, el bloque de coeficientes cuantificado, y así sucesivamente, para generar el flujo codificado 142.
Además, la unidad de cuantificación inversa 125 realiza una cuantificación inversa sobre el bloque de coeficientes cuantificado. Además, la unidad de transformación de frecuencia inversa 126 transforma en un bloque de píxeles el bloque de coeficientes sobre el que se realiza una cuantificación inversa. El sumador 127 añade el bloque de píxeles de la imagen de predicción al bloque de píxeles obtenido de la unidad de transformación de frecuencia inversa 126.
La unidad de filtrado de bucle 128 suprime la distorsión en el bloque de píxeles obtenido en el sumador 127 y almacena el bloque de píxeles como una imagen de referencia en la unidad de almacenamiento 129.
Además, la unidad de control 110 controla la unidad de codificación 120.
El aparato de codificación de imágenes 100 codifica la imagen 141 a través de la operación descrita anteriormente. Además, el aparato de codificación de imágenes 100 reduce una cantidad de datos del flujo codificado 142 a través de una diversidad de procesos tales como transformación de frecuencia, cuantificación, predicción intra instantánea, predicción inter instantáneas, codificación por entropía, filtrado de bucle, y así sucesivamente.
La figura 2 ilustra una configuración de un aparato de descodificación de imágenes 200 correspondiente al aparato de codificación de imágenes 100 ilustrado en la figura 1. El aparato de descodificación de imágenes 200 ilustrado en la figura 2 incluye una unidad de control 210 y una unidad de descodificación 220. La unidad de descodificación 220 incluye: una unidad de descodificación por entropía 224; una unidad de cuantificación inversa 225; una unidad de transformación de frecuencia inversa 226; un sumador 227; una unidad de filtrado de bucle 228; una unidad de almacenamiento 229; una unidad de predicción intra instantánea 230; una unidad de compensación de movimiento 231; y un conmutador 233.
La unidad de descodificación 220 descodifica, de una forma bloque por bloque, una imagen 241 incluida en un flujo codificado 242. En este momento, la unidad de descodificación por entropía 224 en la unidad de descodificación 220 realiza una descodificación por entropía sobre el flujo codificado 242, obteniendo de ese modo información de partición de un bloque, un tipo de predicción, un vector de movimiento, un modo de predicción intra instantánea, un parámetro de cuantificación, un bloque de coeficientes cuantificado, y así sucesivamente.
Entonces, la unidad de control 210 controla la operación realizada por la unidad de descodificación 220.
La unidad de cuantificación inversa 225 en la unidad de descodificación 220 realiza una cuantificación inversa sobre el bloque de coeficientes cuantificado. La unidad de transformación de frecuencia inversa 226 transforma en un bloque de píxeles el bloque de coeficientes sobre el que se realiza una cuantificación inversa.
El sumador 227 añade el bloque de píxeles de la imagen de predicción al bloque de píxeles obtenido de la unidad de transformación de frecuencia inversa 226. La unidad de filtrado de bucle 228 suprime la distorsión en el bloque de píxeles obtenido del sumador 227. Entonces, la unidad de filtrado de bucle 228 almacena una imagen de referencia que incluye bloques de píxeles en la unidad de almacenamiento 229. Además, la unidad de filtrado de bucle 228 emite una imagen 241 que incluye bloques de píxeles.
Cuando el tipo de predicción es una predicción intra instantánea, la unidad de intra predicción 230 realiza una predicción intra instantánea usando el bloque de píxeles obtenido del sumador 227, de acuerdo con un modo de intra predicción. Cuando el tipo de predicción es una predicción inter instantáneas, la unidad de compensación de movimiento 231 realiza una predicción inter instantáneas usando el vector de movimiento y la imagen de referencia en la unidad de almacenamiento 229. El conmutador 233 introduce el bloque de píxeles de la imagen de predicción resultante de la predicción intra instantánea o la predicción inter instantáneas, en el sumador 227.
La unidad de descodificación de imágenes 200 descodifica, de una forma bloque por bloque, la imagen 241 incluida en un flujo codificado 242 a través de la operación correspondiente a la operación realizada por el aparato de codificación de imágenes 100.
Lo siguiente describe el filtrado de bucle con más detalle. El filtrado de bucle es un procesamiento para reducir el deterioro de codificación en una señal reconstruida y, de acuerdo con la norma de AVC H.264/MPEG-4 (véase la referencia no de patente (NPL) 1), se realiza un filtrado de desbloqueo para reducir la distorsión de bloques que se produce en un límite de macrobloque.
Sin embargo, el filtrado de desbloqueo no resuelve el deterioro de codificación que se produce en un macrobloque. A la vista de esto, se lleva a cabo un procesamiento de desplazamiento para reducir el deterioro de codificación de acuerdo con esta realización. El procesamiento de desplazamiento añade un valor de desplazamiento a un píxel incluido en un bloque actual a procesar en una señal reconstruida, reduciendo de ese modo la distorsión con respecto a una señal original.
Además, en el procesamiento de desplazamiento, los píxeles en el bloque actual se clasifican en una pluralidad de categorías y se usa un valor de desplazamiento que es común para cada categoría. Los procedimientos de clasificación de píxeles incluyen (i) un procedimiento de clasificación de píxeles de desplazamiento de borde que se realiza comparando un píxel objetivo para su clasificación con un píxel adyacente del mismo y (ii) un procedimiento de clasificación de píxeles de desplazamiento de banda que se realiza de acuerdo con un valor de píxel del píxel objetivo para su clasificación. El desplazamiento de borde es un desplazamiento realizado de acuerdo con un borde, y el desplazamiento de banda es un desplazamiento realizado de acuerdo con un valor de píxel.
En la siguiente descripción, el uso del procedimiento de clasificación de píxeles del desplazamiento de borde se describe como que el procedimiento de clasificación de píxeles es el desplazamiento de borde, o como el uso del desplazamiento de borde para el procedimiento de clasificación de píxeles, en algunos casos. Asimismo, el uso del procedimiento de clasificación de píxeles del desplazamiento de banda se describe como que el procedimiento de clasificación de píxeles es el desplazamiento de banda, o como el uso del desplazamiento de banda para el procedimiento de clasificación de píxeles, en algunos casos.
La figura 3 es una vista esquemática que ilustra un ejemplo del procedimiento de clasificación de píxeles usando el desplazamiento de borde. En el desplazamiento de borde, la clasificación se realiza usando una relación de magnitud entre un píxel c actual a clasificar y los píxeles adyacentes c1 y c2 ubicados a la izquierda y a la derecha, respectivamente, del píxel c.
La figura 4 es una vista esquemática que ilustra un ejemplo de clasificación de un bloque a procesar en cinco categorías por el desplazamiento de borde. Por ejemplo, cuando un valor de píxel de c es mayor que un valor de píxel de c1 e igual a un valor de píxel de c2, el píxel actual se clasifica en una categoría 3 y se añade un valor de desplazamiento Desplazamiento [3] asignado a la categoría 3.
Además, como se ilustra en la figura 5, los píxeles que se comparan con el píxel objetivo a clasificar en el desplazamiento de borde son píxeles adyacentes derecho e izquierdo (EO (0)), píxeles adyacentes superior e inferior (EO (1)), píxeles oblicuamente adyacentes (EO (2) o EO (3)), una combinación de los mismos (EO (4) o EO (5)), y así sucesivamente.
La figura 6 es una vista esquemática que ilustra un ejemplo del procedimiento de clasificación de píxeles usando el desplazamiento de banda. En el presente caso, las gradaciones que posiblemente toma el valor de píxel actual a procesar se dividen uniformemente en M. M es 32, por ejemplo. Los segmentos de gradación resultantes de la división representan categorías. El píxel actual a procesar se clasifica en una categoría en la que se incluye el valor de píxel.
La figura 7 es una vista esquemática que ilustra un ejemplo de clasificación de bloques a procesar en 16 clases por el desplazamiento de banda. Por ejemplo, cuando un valor de píxel de c es mayor o igual que R9 y menor que R10, el píxel actual a procesar se clasifica en una categoría 9 y se añade un valor de desplazamiento Desplazamiento [9] asignado a la categoría 9.
Además, no es necesario asignar un valor de desplazamiento a todas las categorías y, como se ilustra en la figura 8, el aparato de codificación de imágenes 100 es capaz de codificar solo el valor de desplazamiento para una categoría que tiene un efecto de desplazamiento alto. En este momento, el aparato de codificación de imágenes 100 codifica conjuntamente un número de índice de categoría que indica una categoría del valor de desplazamiento codificado.
Además, un desplazamiento adaptativo de muestra (SAO) determina un procedimiento de clasificación de píxeles óptimo y un valor de desplazamiento óptimo para una unidad de una región objetivo a procesar que se obtiene dividiendo jerárquicamente un bloque, como se ilustra en la figura 9A. La figura 9B ilustra un ejemplo de patrón de división.
La figura 10 es un diagrama de bloques que ilustra un ejemplo de una configuración de la unidad de filtrado de bucle 128 en el aparato de codificación de imágenes 100 de acuerdo con esta realización.
La unidad de filtrado de bucle 128 incluye: una unidad de obtención de señal 151; una unidad de cálculo de información de desplazamiento 152; una unidad de procesamiento de desplazamiento 153; una unidad de codificación de información de desplazamiento 154; y una unidad de emisión de señal 155.
La unidad de obtención de señal 151 obtiene una señal de píxeles reconstruida en una región objetivo a procesar.
La unidad de cálculo de información de desplazamiento 152 calcula una información de desplazamiento para su uso en un procesamiento de desplazamiento, tal como un patrón de división, un procedimiento de clasificación de píxeles, un valor de desplazamiento, y así sucesivamente.
La unidad de procesamiento de desplazamiento 153 clasifica, en categorías, píxeles en una región objetivo a procesar usando la información de desplazamiento, y realiza un procesamiento de desplazamiento para cada una de las categorías.
La unidad de codificación de información de desplazamiento 154 emite la información de desplazamiento a la unidad de codificación por entropía 124 ilustrada en la figura 1. Se ha de hacer notar que la unidad de codificación de información de desplazamiento 154 puede codificar la información de desplazamiento. Además, la unidad de codificación de información de desplazamiento 154 se puede incluir en la unidad de codificación por entropía 124.
La unidad de emisión de señal 155 emite una señal de píxeles en la región objetivo, sobre la que se realiza el procesamiento de desplazamiento.
La figura 11 es un diagrama de bloques que ilustra un ejemplo de una configuración de la unidad de filtrado de bucle 228 en el aparato de descodificación de imágenes 200 de acuerdo con esta realización.
La unidad de filtrado de bucle 228 incluye: una unidad de obtención de señal 251; una unidad de descodificación de información de desplazamiento 252; una unidad de procesamiento de desplazamiento 253; y una unidad de emisión de señal 254.
La unidad de obtención de señal 251 obtiene una señal de píxeles reconstruida en una región objetivo a procesar
La unidad de descodificación de información de desplazamiento 252 obtiene la información de desplazamiento para su uso en el procesamiento de desplazamiento, tal como el patrón de división, el procedimiento de clasificación de píxeles, el valor de desplazamiento, y así sucesivamente. Se ha de hacer notar que la unidad de descodificación de información de desplazamiento 252 puede descodificar la información de desplazamiento. Además, la unidad de descodificación de información de desplazamiento 252 se puede incluir en la unidad de descodificación por entropía 224.
La unidad de procesamiento de desplazamiento 253 clasifica, en las categorías, píxeles en una región objetivo a procesar usando la información de desplazamiento, y realiza el procesamiento de desplazamiento para cada una de las categorías.
La unidad de emisión de señal 254 emite una señal de píxeles en la región objetivo, sobre la que se realiza el procesamiento de desplazamiento.
La figura 12 es un diagrama de flujo que ilustra operaciones realizadas principalmente por la unidad de filtrado de bucle 128 ilustrada en la figura 10, del aparato de codificación de imágenes 100 ilustrado en la figura 1.
En primer lugar, la unidad de obtención de señal 151 obtiene, del sumador 127, una señal de píxeles reconstruida en una región objetivo a procesar. A continuación, la unidad de cálculo de información de desplazamiento 152 calcula la información de desplazamiento para su uso en el procesamiento de desplazamiento, tal como el patrón de división, el procedimiento de clasificación de píxeles, el valor de desplazamiento, y así sucesivamente (S152). A continuación, la unidad de procesamiento de desplazamiento 153 divide la región basándose en la información de desplazamiento, clasifica los píxeles en la región divisional en categorías y añade un valor de desplazamiento para cada una de las categorías (S153).
A continuación, la unidad de codificación de información de desplazamiento 154 emite, a la unidad de codificación por entropía 124, la información de desplazamiento, tal como el patrón de división, el procedimiento de clasificación de píxeles, un número de índice de categoría, el valor de desplazamiento, y así sucesivamente. La unidad de codificación por entropía 124 codifica la información de desplazamiento e inserta la información de desplazamiento codificada en un flujo codificado (S154). Se ha de hacer notar que la unidad de codificación de información de desplazamiento 154 puede codificar la información de desplazamiento e insertar la información de desplazamiento codificada en el flujo codificado.
A continuación, la unidad de emisión de señal 155 emite, a la unidad de almacenamiento 129, una señal de píxeles en la región objetivo, sobre la que se realiza el procesamiento de desplazamiento (S155).
La figura 13 es un diagrama de flujo que ilustra operaciones realizadas por la unidad de filtrado de bucle 228 ilustrada en la figura 11, del aparato de descodificación de imágenes 200 ilustrado en la figura 2.
En primer lugar, la unidad de obtención de señal 251 obtiene, del sumador 227, una señal de píxeles reconstruida en una región objetivo a procesar.
A continuación, la unidad de descodificación por entropía 224 descodifica, a partir del flujo codificado, la información de desplazamiento tal como el patrón de división, el procedimiento de clasificación de píxeles, el número de índice de categoría, el valor de desplazamiento, y así sucesivamente, y la unidad de descodificación de información de desplazamiento 252 obtiene la información de desplazamiento descodificada (S252). Se ha de hacer notar que la unidad de descodificación de información de desplazamiento 252 puede descodificar la información de desplazamiento a partir del flujo codificado.
A continuación, la unidad de procesamiento de desplazamiento 253 divide la región basándose en la información de desplazamiento, clasifica los píxeles en la región divisional en categorías y añade un valor de desplazamiento para cada una de las categorías (S253). A continuación, la unidad de emisión de señal 254 emite, a la unidad de almacenamiento 229, una señal de píxeles en la región objetivo, sobre la que se realiza el procesamiento de desplazamiento (S254).
En el presente caso, se describirán con más detalle la codificación y la descodificación de la información de desplazamiento en la unidad de codificación de información de desplazamiento 154 y la unidad de descodificación de información de desplazamiento 252. Los procedimientos de clasificación de píxeles en el procesamiento de desplazamiento incluyen, por ejemplo, cinco tipos de procedimientos de EO (0), EO (1), EO (2) y EO (3) para el desplazamiento de borde y BO (0) para el desplazamiento de banda.
La figura 14 ilustra un ejemplo de asignación de números de índice que ilustra los procedimientos de clasificación de píxeles respectivos. En la figura 14, cada uno de los números de índice se binariza de modo que un valor pequeño tiene una longitud de bits pequeña y un valor grande tiene una longitud de bits grande, y la longitud de bits máxima se especifica como cinco bits. Sin embargo, el procedimiento de asignación no se limita a esto. Por ejemplo, puede que no se especifique la longitud de bits máxima y, en su lugar, a todos los números de índice se les pueden asignar bits de modo que el último bit es 0.
Además, una información que indica que el procesamiento de desplazamiento no se va a realizar sobre un bloque actual a procesar se asigna al número de índice 0.
El aparato de codificación de imágenes 100 de acuerdo con la realización 1 genera un flujo codificado mediante la codificación de vídeo. Como se ilustra en la figura 15, el flujo codificado incluye una porción de encabezamiento tal como SPS (conjunto de parámetros de secuencia), PPS (conjunto de parámetros de instantánea), y así sucesivamente, y datos de instantánea que son datos de imagen codificados.
Los datos de instantánea incluyen además un encabezamiento de segmento (SH) y datos de segmento. Los datos de segmento incluyen datos de imagen codificados incluidos en un segmento. Los datos de segmento incluyen además un encabezamiento de bloque (BH) y datos de bloque. Los datos de bloque incluyen datos de imagen codificados incluidos en un bloque.
Además, el flujo codificado incluye APS (conjunto de parámetros de adaptación) en el que se almacena un parámetro a usar en otros uno o más segmentos además de lo anterior. Se asigna un número de índice aps_idx a APS, y el aparato de codificación de imágenes 100 puede insertar, en el encabezamiento de segmento, el número de índice aps_idx para llamar a APS a usar.
La información de desplazamiento se codifica mediante la unidad de codificación de información de desplazamiento 154 (o la unidad de codificación por entropía 124), y se inserta en uno cualquiera de SPS, PPS, SH, datos de segmento, BH, datos de bloque y APS. Además, la información de desplazamiento se obtiene de uno cualquiera de SPS, PPS, SH, datos de segmento, BH, datos de bloque y APS, y se descodifica mediante la unidad de descodificación de información de desplazamiento 252 (o la unidad de descodificación por entropía 224).
Se muestran ejemplos de inserción de la información de desplazamiento en APS en la figura 16A, la figura 16B y la figura 16C. El aparato de codificación de imágenes 100 es capaz de insertar colectivamente la información de desplazamiento de todos los bloques en un segmento, y el aparato de descodificación de imágenes 200 es capaz de obtener colectivamente la información de desplazamiento a partir de APS.
Se muestran ejemplos de inserción de la información de desplazamiento en datos de segmento en la figura 17A, la figura 17B y la figura 17C. El aparato de codificación de imágenes 100 es capaz de insertar la información de desplazamiento de una forma bloque por bloque en datos de segmento, y el aparato de descodificación de imágenes 200 es capaz de obtener la información de desplazamiento de una forma bloque por bloque en datos de segmento.
De acuerdo con esta realización, la información de desplazamiento se puede compartir entre una pluralidad de regiones objetivo a procesar en el aparato de codificación de imágenes 100 (el aparato de descodificación de imágenes 200) como se muestra en la figura 18. Las líneas de trazo continuo en la figura 18 muestran límites de segmento de regiones objetivo para el procesamiento de desplazamiento, y las líneas de puntos muestran límites de segmento de regiones entre las que se comparte la información de desplazamiento. En el presente caso, el aparato de codificación de imágenes 100 inserta, en un flujo codificado, no información de desplazamiento que indica un valor de desplazamiento y similares, sino información que indica compartir un valor de desplazamiento y similares, suprimiendo de ese modo el aumento en una cantidad de bits provocado por el procesamiento de desplazamiento.
Por ejemplo, el aparato de codificación de imágenes 100 puede codificar una bandera que indica que la información de desplazamiento se comparte entre todos los bloques en un segmento, tal como sao_one_lima_unit_flag, sao_one_cr_unit_flag y sao_one_cb_unit_flag en la figura 16A. Además, el aparato de codificación de imágenes 100 puede codificar una bandera que indica que la información de desplazamiento para una única línea se va a copiar desde una línea inmediatamente superior, tal como sao_repeat_row_flag en la figura 16A.
Además, el aparato de codificación de imágenes 100 puede codificar un parámetro que indica el número de regiones objetivo a procesar entre las que se comparte la información de desplazamiento, tal como saoRun y sao_run_diff en la figura 16B. Además, el aparato de codificación de imágenes 100 puede codificar sao_merge_left_flag o sao_merge_up_flag que indican que la información de desplazamiento se va a copiar desde la región ubicada a la izquierda o la región ubicada arriba, como en la figura 16B y la figura 17B.
La figura 19 es un diagrama de flujo que indica una operación de codificación, entre elementos de la información de desplazamiento, de un número de índice que indica un procedimiento de clasificación de píxeles, realizado por la unidad de codificación de información de desplazamiento 154.
En primer lugar, la unidad de codificación de información de desplazamiento 154 determina si se realiza o no el procesamiento de desplazamiento (S1541). La unidad de cálculo de información de desplazamiento 152 calcula información de desplazamiento, tal como un patrón de división, un procedimiento de clasificación de píxeles, un número de índice de categoría, un valor de desplazamiento, y así sucesivamente. La unidad de cálculo de información de desplazamiento 152 determina que el procesamiento de desplazamiento no se va a realizar cuando la cantidad de bits requerida para la información de desplazamiento es mayor que una cantidad de corrección del deterioro de codificación. En este caso, la unidad de procesamiento de desplazamiento 153 no realiza el procesamiento de desplazamiento.
En el presente caso, la unidad de codificación de información de desplazamiento 154 obtiene información acerca de si se ha realizado o no el procesamiento de desplazamiento, de la unidad de cálculo de información de desplazamiento 152 o la unidad de procesamiento de desplazamiento 153. Cuando no se ha realizado el procesamiento de desplazamiento (No en S1541), la unidad de codificación de información de desplazamiento 154 codifica el número de índice 0 que indica el procedimiento de clasificación de píxeles (S1542).
Cuando se realiza el procesamiento de desplazamiento (Sí en S1541), la unidad de codificación de información de desplazamiento 154 determina si el procedimiento de clasificación de píxeles es o no el desplazamiento de borde EO (0) (S1543). Cuando el procedimiento de clasificación de píxeles es el desplazamiento de borde EO (0) (Sí en S1543), la unidad de codificación de información de desplazamiento 154 codifica el número de índice 1 que indica el procedimiento de clasificación de píxeles (S1544).
Cuando el procedimiento de clasificación de píxeles no es el desplazamiento de borde EO (0) (No en S1543), la unidad de codificación de información de desplazamiento 154 determina si el procedimiento de clasificación de píxeles es o no el desplazamiento de borde EO (1) (S1545). Cuando el procedimiento de clasificación de píxeles es el desplazamiento de borde EO (1) (Sí en S1545), la unidad de codificación de información de desplazamiento 154 codifica el número de índice 2 que indica el procedimiento de clasificación de píxeles (S1546).
Cuando el procedimiento de clasificación de píxeles no es el desplazamiento de borde EO (1) (No en S1545), la unidad de codificación de información de desplazamiento 154 determina si el procedimiento de clasificación de píxeles es o no el desplazamiento de borde EO (2) (S1547). Cuando el procedimiento de clasificación de píxeles es el desplazamiento de borde EO (2) (Sí en S1547), la unidad de codificación de información de desplazamiento 154 codifica el número de índice 3 que indica el procedimiento de clasificación de píxeles (S1548).
Cuando el procedimiento de clasificación de píxeles no es el desplazamiento de borde EO (2) (No en S1547), la unidad de codificación de información de desplazamiento 154 determina si el procedimiento de clasificación de píxeles es o no el desplazamiento de borde EO (3) (S1549). Cuando el procedimiento de clasificación de píxeles es el desplazamiento de borde EO (3) (Sí en S1549), la unidad de codificación de información de desplazamiento 154 codifica el número de índice 4 que indica el procedimiento de clasificación de píxeles (S1550).
Cuando el procedimiento de clasificación de píxeles no es el desplazamiento de borde EO (3) (No en S1549), la unidad de codificación de información de desplazamiento 154 codifica el número de índice 5 que indica el procedimiento de clasificación de píxeles (S1551).
La figura 20 es un diagrama de flujo que indica una operación realizada por la unidad de descodificación de información de desplazamiento 252 para descodificar, entre elementos de la información de desplazamiento, un número de índice que indica el procedimiento de clasificación de píxeles y una operación realizada por la unidad de procesamiento de desplazamiento 253 para realizar un procesamiento de desplazamiento.
En primer lugar, la unidad de procesamiento de desplazamiento 253 determina si el número de índice descodificado por la unidad de descodificación de información de desplazamiento 252 es 0 (S2521). Cuando el número de índice es 0 (Sí en S2521), la unidad de procesamiento de desplazamiento 253 no realiza el procesamiento de desplazamiento (52522) .
Cuando el número de índice no es 0 (No en S2521), la unidad de procesamiento de desplazamiento 253 determina si el número de índice descodificado por la unidad de descodificación de información de desplazamiento 252 es 1 (52523) . Cuando el número de índice es 1 (Sí en S2523), la unidad de procesamiento de desplazamiento 253 realiza el desplazamiento de borde EO (0) (S2524).
Cuando el número de índice no es 1 (No en S2523), la unidad de procesamiento de desplazamiento 253 determina si el número de índice descodificado por la unidad de descodificación de información de desplazamiento 252 es 2 (S2525). Cuando el número de índice es 2 (Sí en S2525), la unidad de procesamiento de desplazamiento 253 realiza el desplazamiento de borde EO (1) (S2526).
Cuando el número de índice no es 2 (No en S2525), la unidad de procesamiento de desplazamiento 253 determina si el número de índice descodificado por la unidad de descodificación de información de desplazamiento 252 es 3 (S2527). Cuando el número de índice es 3 (Sí en S2527), la unidad de procesamiento de desplazamiento 253 realiza el desplazamiento de borde EO (2) (S2528).
Cuando el número de índice no es 3 (No en S2527), la unidad de procesamiento de desplazamiento 253 determina si el número de índice descodificado por la unidad de descodificación de información de desplazamiento 252 es 4 (S2529). Cuando el número de índice es 4 (Sí en S2529), la unidad de procesamiento de desplazamiento 253 realiza el desplazamiento de borde EO (3) (S2530).
Cuando el número de índice no es 4 (No en S2529), la unidad de procesamiento de desplazamiento 253 realiza el desplazamiento de banda BO (0) (S2531).
A través de los procesos descritos anteriormente, el aparato de codificación de imágenes 100 y el aparato de descodificación de imágenes 200 añaden, a una señal de imagen reconstruida, un valor de desplazamiento para constituir la diferencia entre una señal original y la señal de imagen reconstruida. Esto hace posible generar una señal reconstruida similar a una señal original.
(Realización 2) La realización 2 no es una realización de la invención como se define en las reivindicaciones.
De acuerdo con la realización 1, es posible compartir información de desplazamiento entre una pluralidad de regiones. Sin embargo, con el fin de reducir el retardo de procesamiento o bajar la cantidad de memoria, las regiones a compartir se limitan a las adyacentes. Por ejemplo, el retardo de procesamiento se reduce limitando las regiones a compartir a las regiones adyacentes a la izquierda y arriba. Además, la cantidad de memoria para almacenar información de desplazamiento en una región procesada se reduce limitando las regiones a compartir a la región adyacente de la izquierda.
Por otro lado, la limitación de las regiones a compartir hace que sea difícil compartir información de desplazamiento en una región grande. Es por esta razón que crece la frecuencia de la codificación de la información de desplazamiento y aumenta la cantidad de bits. En el presente caso, como se muestra en la figura 16C o la figura 17C, en el desplazamiento de banda, una categoría de inicio de codificación de desplazamiento de banda sao_band_position se codifica como parámetro. Por lo tanto, la cantidad de bits es mayor que la del desplazamiento de borde. Por consiguiente, en términos del aumento en la cantidad de bits, es más ventajoso usar el desplazamiento de borde.
A la vista de lo anterior, el aparato de codificación de imágenes de acuerdo con esta realización reduce la cantidad de bits requerida para cuando se usa el desplazamiento de banda, con el fin de corregir desventajas del desplazamiento de banda en comparación con el desplazamiento de borde. Se ha de hacer notar que la categoría de inicio de codificación de desplazamiento de banda sao_band_position es un ejemplo de información que indica un ámbito de aplicación del valor de desplazamiento.
Lo siguiente describe un aparato de codificación de imágenes de acuerdo con la presente realización y un aparato de descodificación de imágenes correspondiente al aparato de codificación de imágenes.
La figura 21 es un diagrama de bloques que ilustra una configuración de una unidad de filtrado de bucle en el aparato de codificación de imágenes de acuerdo con esta realización. Otra configuración del aparato de codificación de imágenes de acuerdo con esta realización es sustancialmente equivalente a la configuración del aparato de codificación de imágenes 100 ilustrado en la figura 1. La figura 22 es un diagrama de bloques que ilustra una configuración de una unidad de filtrado de bucle en el aparato de descodificación de imágenes de acuerdo con esta realización. Otra configuración del aparato de descodificación de imágenes de acuerdo con esta realización es sustancialmente equivalente a la configuración del aparato de descodificación de imágenes 200 ilustrado en la figura 2.
La figura 23 es un diagrama de flujo que ilustra operaciones realizadas por una unidad de filtrado de bucle 300 (una unidad de filtrado de bucle del aparato de codificación de imágenes) ilustrada en la figura 21. La figura 24 es un diagrama de flujo que ilustra operaciones realizadas por una unidad de filtrado de bucle 400 (una unidad de filtrado de bucle del aparato de descodificación de imágenes) ilustrada en la figura 22.
En primer lugar, se describirán la configuración y el funcionamiento de la unidad de filtrado de bucle 300 (la unidad de filtrado de bucle del aparato de codificación de imágenes) ilustrada en la figura 21. La unidad de filtrado de bucle 300 incluye: una unidad de obtención de señal 301; una unidad de cálculo de información de desplazamiento 302; una unidad de procesamiento de desplazamiento 303; una unidad de emisión de señal 304; una unidad de codificación de información de desplazamiento 305; y una unidad de control 306. Se omitirá la descripción para las porciones superpuestas con la realización 1, y se describirán las diferencias; es decir, la unidad de control 306 en la figura 21, la unidad de codificación de información de desplazamiento 305 en la figura 21 y la etapa S304 en la figura 23.
La unidad de control 306 controla la unidad de codificación de información de desplazamiento 305 para reducir la cantidad de bits de la información de desplazamiento del desplazamiento de banda, cuando el procedimiento de clasificación de píxeles es el desplazamiento de banda.
La unidad de codificación de información de desplazamiento 305 realiza una codificación para reducir el valor numérico del número de índice que indica que el procedimiento de clasificación de píxeles es el desplazamiento de banda.
En la etapa S304 de la figura 23, la unidad de codificación de información de desplazamiento 305 asigna un número de índice al procedimiento de clasificación de píxeles y codifica la información de desplazamiento. En este momento, la unidad de codificación de información de desplazamiento 305 asigna el número de índice de modo que el número de índice que indica el desplazamiento de banda BO (0) es menor que cuatro desplazamientos de borde EO (0), EO (1), EO (2) y EO (3). Entonces, la unidad de codificación de información de desplazamiento 305 inserta la información de desplazamiento codificada en el flujo codificado.
A continuación, se describirán la configuración y el funcionamiento de la unidad de filtrado de bucle 400 (la unidad de filtrado de bucle del aparato de descodificación de imágenes) ilustrada en la figura 22. La unidad de filtrado de bucle 400 incluye: una unidad de obtención de señal 401; una unidad de descodificación de información de desplazamiento 402; una unidad de procesamiento de desplazamiento 403; una unidad de emisión de señal 404; y una unidad de control 405. Se omitirá la descripción para las porciones superpuestas con la realización 1, y se describirán las diferencias; es decir, la unidad de control 405 en la figura 22, la unidad de descodificación de información de desplazamiento 402 en la figura 22 y la etapa S402 en la figura 24.
La unidad de control 405 controla la unidad de descodificación de información de desplazamiento 402 de modo que la información de desplazamiento del desplazamiento de banda se descodifica con una cantidad de bits pequeña cuando el procedimiento de clasificación de píxeles es el desplazamiento de banda.
La unidad de codificación de información de desplazamiento 402 descodifica el número de índice con un valor numérico pequeño, como un número de índice que indica que el procedimiento de clasificación de píxeles es el desplazamiento de banda.
En la etapa S402 de la figura 24, la unidad de descodificación de información de desplazamiento 402 asigna un número de índice al procedimiento de clasificación de píxeles y descodifica la información de desplazamiento. En este momento, la unidad de descodificación de información de desplazamiento 402 asigna el número de índice de modo que el número de índice que indica el desplazamiento de banda BO (0) es menor que los cuatro desplazamientos de borde EO (0), EO (1), EO (2) y EO (3).
En el presente caso, se describirán con más detalle la codificación y la descodificación de la información de desplazamiento realizadas por la unidad de codificación de información de desplazamiento 305 y la unidad de descodificación de información de desplazamiento 402. Para los procedimientos de clasificación de píxeles en el procesamiento de desplazamiento, los desplazamientos de borde EO (0), EO (1), EO (2) y EO (3), y el desplazamiento de banda BO (0) se emplean como con la realización 1. En este caso, la diferencia entre la cantidad de bits más pequeña y la cantidad de bits más grande que corresponden al número de índice que indica el procedimiento de clasificación de píxeles es de tres bits, excepto el número de índice 0 para el caso en el que no se realiza el procesamiento de desplazamiento.
En la realización 1, la cantidad de bits más grande se asigna al desplazamiento de banda como se muestra en la figura 14. Cuando el número de categorías del desplazamiento de banda es 32, se genera una diferencia de como máximo ocho bits y al menos cinco bits, incluyendo sao_band_position, entre el desplazamiento de banda y el desplazamiento de borde.
Por esa razón, de acuerdo con esta realización, se asigna un bit menor que en el caso del desplazamiento de borde al número de índice que indica el desplazamiento de banda como se muestra en la figura 25. Con esto, la diferencia de la cantidad de bits entre el desplazamiento de banda y el desplazamiento de borde es como máximo cuatro bits y al menos dos bits, corrigiendo desventajas del desplazamiento de banda en comparación con el desplazamiento de borde.
Se ha de hacer notar que, como se muestra en la figura 26, una bandera de ENCENDIDO/APAGADO de procesamiento de desplazamiento (una bandera de procesamiento de desplazamiento) puede ser independiente, como sao_on_flag, del número de índice sao_type_idx que indica el procedimiento de clasificación de píxeles.
En la figura 26, el desplazamiento de banda se asigna al número de índice 0. Cada uno de los números de índice se binariza de modo que un valor pequeño tiene una longitud de bits pequeña y un valor grande tiene una longitud de bits grande, y la longitud de bits máxima se especifica como cuatro bits. Sin embargo, el procedimiento de asignación no se limita a lo anterior. Por ejemplo, puede que no se especifique la longitud de bits máxima y, en su lugar, a todos los números de índice se les pueden asignar bits de modo que el último bit es 0. Posteriormente, la descripción se dará basándose en la asignación de bits mostrada en la figura 26.
Se muestran ejemplos de inserción de la información de desplazamiento en APS en la figura 27A y la figura 27B. La bandera de ENCENDIDO/APAGADO de procesamiento de desplazamiento sao_on_flag, que es independiente del índice que indica que el procedimiento de clasificación de píxeles, se proporciona de nuevo en sao_unit_vlc mostrado en la figura 27A. Además, el bit más pequeño se asigna al desplazamiento de banda en sao_type_idx de sao_offset_vlc en la figura 27B.
La figura 27C es un diagrama que muestra un ejemplo de contextos de información de desplazamiento en APS. La figura 27D es un diagrama de flujo que muestra un ejemplo de codificación de la información de desplazamiento en APS. La figura 27E es un diagrama de flujo que muestra un ejemplo de descodificación de la información de desplazamiento en APS.
Además, se muestran ejemplos de inserción de la información de desplazamiento en datos de segmento en la figura 28A y la figura 28B. La bandera de ENCENDIDO/APAGADO de procesamiento de desplazamiento sao_on_flag se proporciona de nuevo en sao_unit_cabac mostrado en la figura 28A. Además, el bit más pequeño se asigna al desplazamiento de banda en sao_type_idx de sao_offset_cabac mostrado en la figura 28B.
La figura 28C es una vista esquemática que ilustra un ejemplo de contextos de información de desplazamiento en datos de segmento. La figura 28D es un diagrama de flujo que muestra un ejemplo de codificación de la información de desplazamiento en datos de segmento. La figura 28E es un diagrama de flujo que muestra un ejemplo de descodificación de la información de desplazamiento en datos de segmento.
La figura 29 es un diagrama de flujo que indica una operación de codificación, entre elementos de información de desplazamiento, de un número de índice que indica un procedimiento de clasificación de píxeles, realizado por la unidad de codificación de información de desplazamiento 305.
En primer lugar, la unidad de codificación de información de desplazamiento 305 determina si se realiza o no un procesamiento de desplazamiento (S3051). La unidad de cálculo de información de desplazamiento 302 calcula información de desplazamiento, tal como el patrón de división, el procedimiento de clasificación de píxeles, el número de índice de categoría, el valor de desplazamiento, y así sucesivamente. La unidad de cálculo de información de desplazamiento 302 determina que el procesamiento de desplazamiento no se va a realizar cuando la cantidad de bits requerida para la información de desplazamiento es mayor que una cantidad de corrección del deterioro de codificación. En este caso, la unidad de procesamiento de desplazamiento 303 no realiza el procesamiento de desplazamiento.
En el presente caso, la unidad de codificación de información de desplazamiento 305 obtiene información acerca de si se ha realizado o no el procesamiento de desplazamiento, de la unidad de cálculo de información de desplazamiento 302 o la unidad de procesamiento de desplazamiento 303. Cuando no se ha realizado el procesamiento de desplazamiento (No en S3051), la unidad de codificación de información de desplazamiento 305 codifica la bandera de En CENDIDo /a PAGADO de procesamiento de desplazamiento como 0 (S3052).
Cuando se ha realizado el procesamiento de desplazamiento (Sí en S3051), la unidad de codificación de información de desplazamiento 305 codifica la bandera de e Nc ENDIDO/APAGADO de procesamiento de desplazamiento como 1 (S3053). Entonces, la unidad de codificación de información de desplazamiento 305 determina si el procedimiento de clasificación de píxeles es o no el desplazamiento de banda BO (0) (S3054).
Cuando el procedimiento de clasificación de píxeles es el desplazamiento de banda BO (0) (Sí en S3054), la unidad de codificación de información de desplazamiento 305 codifica el número de índice 0 que indica el procedimiento de clasificación de píxeles (S3055). Cuando el procedimiento de clasificación de píxeles no es el desplazamiento de banda BO (0) (No en S3054), la unidad de codificación de información de desplazamiento 305 determina si el procedimiento de clasificación de píxeles es o no el desplazamiento de borde EO (0) (S3056).
Cuando el procedimiento de clasificación de píxeles es el desplazamiento de borde EO (0) (Sí en S3056), la unidad de codificación de información de desplazamiento 305 codifica el número de índice 1 que indica el procedimiento de clasificación de píxeles (S3057). Cuando el procedimiento de clasificación de píxeles no es el desplazamiento de borde EO (0) (No en S3056), la unidad de codificación de información de desplazamiento 305 determina si el procedimiento de clasificación de píxeles es o no el desplazamiento de borde EO (1) (S3058).
Cuando el procedimiento de clasificación de píxeles es el desplazamiento de borde EO (1) (Sí en S3058), la unidad de codificación de información de desplazamiento 305 codifica el número de índice 2 que indica el procedimiento de clasificación de píxeles (S3059). Cuando el procedimiento de clasificación de píxeles no es el desplazamiento de borde EO (1) (No en S3058), la unidad de codificación de información de desplazamiento 305 determina si el procedimiento de clasificación de píxeles es o no el desplazamiento de borde EO (2) (S3060).
Cuando el procedimiento de clasificación de píxeles es el desplazamiento de borde EO (2) (Sí en S3060), la unidad de codificación de información de desplazamiento 305 codifica el número de índice 3 que indica el procedimiento de clasificación de píxeles (S3061). Cuando el procedimiento de clasificación de píxeles no es el desplazamiento de borde EO (2) (No en S3060), la unidad de codificación de información de desplazamiento 305 codifica el número de índice 4 que indica el procedimiento de clasificación de píxeles (S3062).
La figura 30 es un diagrama de flujo que indica una operación realizada por la unidad de descodificación de información de desplazamiento 402 para descodificar, entre elementos de la información de desplazamiento, el número de índice que indica el procedimiento de clasificación de píxeles y una operación realizada por la unidad de procesamiento de desplazamiento 403 para realizar un procesamiento de desplazamiento.
En primer lugar, la unidad de procesamiento de desplazamiento 403 determina si la bandera de ENCENDIDO/APAGADO de procesamiento de desplazamiento descodificada por la unidad de descodificación de información de desplazamiento 402 es 0 (S4021). Cuando la bandera de ENCe Nd IDO/APAGADO de procesamiento de desplazamiento es 0 (Sí en S4021), la unidad de procesamiento de desplazamiento 403 no realiza el procesamiento de desplazamiento (S4022).
Cuando la bandera de ENCENDIDO/APAGADO de procesamiento de desplazamiento no es 0 (No en S4021), la unidad de descodificación de información de desplazamiento 402 descodifica el número de índice (S4023). Entonces, la unidad de procesamiento de desplazamiento 403 determina si el número de índice descodificado por la unidad de descodificación de información de desplazamiento 402 es 0 (S4024).
Cuando el número de índice es 0 (Sí en S4024), la unidad de procesamiento de desplazamiento 403 realiza el desplazamiento de banda BO (0) (S4025). Cuando el número de índice no es 0 (No en S4024), la unidad de procesamiento de desplazamiento 403 determina si el número de índice descodificado por la unidad de descodificación de información de desplazamiento 402 es 1 (S4026).
Cuando el número de índice es 1 (Sí en S4026), la unidad de procesamiento de desplazamiento 403 realiza el desplazamiento de borde EO (0) (S4027). Cuando el número de índice no es 1 (No en S4026), la unidad de procesamiento de desplazamiento 403 determina si el número de índice descodificado por la unidad de descodificación de información de desplazamiento 402 es 2 (S4028).
Cuando el número de índice es 2 (Sí en S4028), la unidad de procesamiento de desplazamiento 403 realiza el desplazamiento de borde EO (1) (S4029). Cuando el número de índice no es 2 (No en S4028), la unidad de procesamiento de desplazamiento 403 determina si el número de índice descodificado por la unidad de descodificación de información de desplazamiento 402 es 3 (S4030).
Cuando el número de índice es 3 (Sí en S4030), la unidad de procesamiento de desplazamiento 403 realiza el desplazamiento de borde EO (2) (S4031). Cuando el número de índice no es 3 (No en S4030), la unidad de procesamiento de desplazamiento 403 realiza el desplazamiento de borde EO (3) (S4032).
A través de los procesos descritos anteriormente, el aparato de codificación de imágenes y el aparato de descodificación de imágenes reducen la diferencia en la cantidad de bits requerida para codificar la información de desplazamiento entre el desplazamiento de banda y el desplazamiento de borde. Esto permite que el aparato de codificación de imágenes y el aparato de descodificación de imágenes realicen un procesamiento de desplazamiento apropiado para cada una de las regiones objetivo a procesar. Por lo tanto, se mejoran la eficiencia de codificación y una calidad de imagen subjetiva.
Se ha de hacer notar que el aparato de codificación de imágenes y el aparato de descodificación de imágenes pueden asignar una cantidad de bits pequeña a un número de índice del desplazamiento de borde cuando el procesamiento de desplazamiento se realiza a una señal de luma. Asimismo, el aparato de codificación de imágenes y el aparato de descodificación de imágenes pueden asignar una cantidad de bits pequeña a un número de índice del desplazamiento de banda cuando el procesamiento de desplazamiento se realiza a una señal de croma. Esto facilita el uso del procedimiento de clasificación de píxeles que es más adecuado para la característica de la señal a procesar. Por lo tanto, se mejoran adicionalmente la eficiencia de codificación y la calidad de imagen subjetiva.
Además, el aparato de codificación de imágenes y el aparato de descodificación de imágenes pueden hacer referencia a un coeficiente de transformación de frecuencia y asignar una cantidad de bits pequeña a un número de índice del desplazamiento de borde en una región a procesar que tiene una componente de baja frecuencia pequeña. Asimismo, el aparato de codificación de imágenes y el aparato de descodificación de imágenes pueden asignar una cantidad de bits pequeña a un número de índice del desplazamiento de banda en una región a procesar que tiene una componente de baja frecuencia grande. Esto facilita el uso del procedimiento de clasificación de píxeles que es más adecuado para la característica de la señal a procesar. Por lo tanto, se mejoran adicionalmente la eficiencia de codificación y la calidad de imagen subjetiva.
Además, para determinar si la cantidad de las componentes de baja frecuencia descritas anteriormente es grande o pequeña, se puede usar un umbral o se puede codificar el umbral.
En el presente caso, la codificación aritmética se describirá como un procedimiento para codificar y descodificar información de desplazamiento realizado por la unidad de codificación de información de desplazamiento 305 y la unidad de descodificación de información de desplazamiento 402. En la codificación aritmética, el aparato de codificación de imágenes en primer lugar transforma (binariza) una señal actual a codificar desde una señal multivalor a una señal binaria (bin, una señal de 0 o 1) y realiza una codificación aritmética sobre la señal binaria para generar un flujo de bits. Un ejemplo de codificación aritmética es la codificación aritmética de contexto (codificación aritmética adaptativa de contexto) en la que la codificación aritmética se realiza usando una probabilidad de aparición de símbolos adaptativa.
En la codificación aritmética de contexto, el aparato de codificación de imágenes selecciona un contexto para cada una de las señales a codificar y determina una probabilidad de aparición de símbolos de acuerdo con el contexto. Más específicamente, en la codificación aritmética de contexto, el aparato de codificación de imágenes en primer lugar carga un contexto y realiza la codificación aritmética sobre una señal actual a codificar basándose en una probabilidad de aparición de símbolos para el contexto. Entonces, el aparato de codificación de imágenes actualiza la probabilidad de aparición de símbolos correspondiente al contexto de acuerdo con un valor de la señal actual que se codifica.
En la codificación de la bandera de ENCENDIDO/APAGADO de procesamiento de desplazamiento sao_on_flag en una señal de luma, una señal de croma Cb y una señal de croma Cr, se puede usar un contexto común o se pueden cambiar contextos para cada una de las señales como se muestra en la figura 27C o la figura 28C.
La figura 28D es un diagrama de flujo que muestra un ejemplo del uso de tres contextos cuando la unidad de codificación de información de desplazamiento 305 codifica, e inserta en datos de segmento, la bandera de ENCENDIDO/APAGADO de procesamiento de desplazamiento sao_on_flag.
En primer lugar, la unidad de codificación de información de desplazamiento 305 determina si una señal actual a procesar es o no una señal de luma (S3041). La unidad de codificación de información de desplazamiento 305 usa cIdx ilustrado en la figura 28A para la determinación de la señal de luma. En el presente caso, cuando cIdx = 0, la señal actual es una señal de luma.
Cuando la señal actual es una señal de luma (Sí en S3041), la unidad de codificación de información de desplazamiento 305 selecciona y carga el contexto 1 (S3042). Cuando la señal actual es una señal de luma (No en S3041), la unidad de codificación de información de desplazamiento 305 determina si la señal actual es o no una señal de croma Cb (S3043). La unidad de codificación de información de desplazamiento 305 usa cIdx para determinar la señal de croma Cb de la misma forma que en la determinación de la señal de luma (S3041). En el presente caso, cuando cIdx = 1, la señal actual es una señal de croma Cb.
Cuando la señal actual es la señal de croma Cb (Sí en S3043), la unidad de codificación de información de desplazamiento 305 selecciona y carga el contexto 2 (S3044). Cuando la señal actual no es la señal de croma Cb (No en S3043), la unidad de codificación de información de desplazamiento 305 selecciona y carga el contexto 3 (S3045).
Entonces, la unidad de codificación de información de desplazamiento 305 codifica la bandera de ENCENDIDO/APAGADO de procesamiento de desplazamiento sao_on_flag usando el contexto que se selecciona y se carga (S3046).
Se ha de hacer notar que el diagrama de flujo ilustrado en la figura 27D, que muestra un ejemplo del caso en el que la bandera de ENCENDIDO/APAGADO de procesamiento de desplazamiento sao_on_flag se codifica y se inserta en APS es el mismo que el ilustrado en la figura 28 descrita anteriormente y, por lo tanto, se omitirá la descripción.
La figura 28E es un diagrama de flujo que muestra un ejemplo del uso de tres contextos cuando la unidad de descodificación de información de desplazamiento 402 descodifica la bandera de ENCENDIDO/APAGADO de procesamiento de desplazamiento sao_on_flag que se inserta en los datos de segmento.
En primer lugar, la unidad de descodificación de información de desplazamiento 402 determina si una señal actual a procesar es o no una señal de luma (S4021). La unidad de descodificación de información de desplazamiento 402 usa cIdx ilustrado en la figura 28A para la determinación de la señal de luma. En el presente caso, cuando cIdx = 0, la señal actual es una señal de luma.
Cuando la señal actual es una señal de luma (Sí en S4021), la unidad de descodificación de información de desplazamiento 402 selecciona y carga el contexto 1 (S4022). Cuando la señal actual es una señal de luma (No en S4021), la unidad de descodificación de información de desplazamiento 402 determina si la señal actual es o no una señal de croma Cb (S4023). La unidad de descodificación de información de desplazamiento 402 usa cIdx para determinar la señal de croma Cb de la misma forma que en la determinación de la señal de luma (S4021). En el presente caso, cuando cIdx = 1, la señal actual es una señal de croma Cb.
Cuando la señal actual es la señal de croma Cb (Sí en S4023), la unidad de descodificación de información de desplazamiento 402 selecciona y carga el contexto 2 (S4024). Cuando la señal actual no es la señal de croma Cb (No en S4023), la unidad de descodificación de información de desplazamiento 402 selecciona y carga el contexto 3 (S4025).
Entonces, la unidad de descodificación de información de desplazamiento 402 descodifica la bandera de ENCENDIDO/APAGADO de procesamiento de desplazamiento sao_on_flag usando el contexto que se selecciona y se carga (S4026).
Se ha de hacer notar que el diagrama de flujo ilustrado en la figura 27E, que muestra un ejemplo del caso en el que se descodifica la bandera de ENCENDIDO/APAGADO de procesamiento de desplazamiento sao_on_flag que se inserta en APS es el mismo que el ilustrado en la figura 28E descrita anteriormente y, por lo tanto, se omitirá la descripción.
A través de los procesos descritos anteriormente, el aparato de codificación de imágenes y el aparato de descodificación de imágenes usan un contexto diferente para cada una de la señal de luma, la señal de croma Cb y la señal de croma Cr, asignando de ese modo la probabilidad de aparición de símbolos de acuerdo con la característica de cada una de las señales. Por lo tanto, el aparato de codificación de imágenes y el aparato de descodificación de imágenes son capaces de suprimir la cantidad de código de la bandera de ENCENDIDO/APAGADO de procesamiento de desplazamiento sao_on_flag.
Se ha de hacer notar que el aparato de codificación de imágenes y el aparato de descodificación de imágenes pueden reducir el número de contextos a usar para la codificación y la descodificación a dos (una señal de luma y una señal de croma) compartiendo un contexto entre las señales de croma Cb y Cr.
(Realización 3)
El aparato de codificación de imágenes y el aparato de descodificación de imágenes de acuerdo con la realización 1 añaden, a una señal reconstruida, un valor de desplazamiento calculado a partir de un valor de diferencia entre una señal original y la señal reconstruida, posibilitando de ese modo la reducción de la distorsión de la señal reconstruida con respecto a la señal original. Además, el aparato de codificación de imágenes y el aparato de descodificación de imágenes comparten la información de desplazamiento entre una pluralidad de regiones objetivo a procesar, suprimiendo de ese modo el aumento de una cantidad de bits de la información de desplazamiento en un flujo codificado.
Además, de acuerdo con la realización 2, el aparato de codificación de imágenes codifica información que indica si realizar o no un procesamiento de desplazamiento para cada una de las regiones a procesar, como la bandera de ENCENDIDO/APAGADO de procesamiento de desplazamiento sao_on_flag, en una parte superior de la información de desplazamiento independientemente del procedimiento de clasificación de píxeles sao_type_idx. Cuando no se va a realizar el procesamiento de desplazamiento, el aparato de codificación de imágenes no realiza una codificación sobre sao_merge_left_flag o sao_merge_up_flag que indica si copiar o no información de desplazamiento desde una región a la izquierda o arriba, respectivamente.
Con esto, es posible suprimir la cantidad de bits. En un aparato de codificación de imágenes de acuerdo con esta realización, es posible además mejorar el caudal integrando o simplificando la codificación aritmética sobre cada elemento de la información de desplazamiento.
Los ejemplos de codificación aritmética incluyen la codificación aritmética de derivación además de la codificación aritmética de contexto descrita en la realización 2. La codificación aritmética de contexto usa la probabilidad de aparición de símbolos adaptativa. Por otro lado, en la codificación aritmética de derivación, la codificación aritmética se realiza usando la probabilidad de aparición de símbolos que es del 50 %. Con esto, el aparato de codificación de imágenes no tiene que cargar y actualizar un contexto en la codificación aritmética de derivación y, por lo tanto, es posible acelerar los procesos.
En esta realización, las operaciones realizadas por una unidad de codificación de información de desplazamiento y una unidad de descodificación de información de desplazamiento de acuerdo con esta realización son diferentes de las operaciones realizadas por la unidad de codificación de información de desplazamiento 154 y la unidad de descodificación de información de desplazamiento 252 de acuerdo con la realización 1. Además, las operaciones realizadas por la unidad de codificación de información de desplazamiento y la unidad de descodificación de información de desplazamiento de acuerdo con esta realización son diferentes de las operaciones realizadas por la unidad de codificación de información de desplazamiento 305 y la unidad de descodificación de información de desplazamiento 402 de acuerdo con la realización 2. Lo siguiente describe las diferencias.
La figura 31 ilustra una configuración de una unidad de codificación de información de desplazamiento 507 que codifica información de desplazamiento en el aparato de codificación de imágenes de acuerdo con esta realización. La unidad de codificación de información de desplazamiento 507 incluye: una unidad de control de codificación aritmética 5071; una unidad de codificación aritmética de contexto 5072; y una unidad de codificación aritmética de derivación 5073.
La unidad de control de codificación aritmética 5071 conmuta entre la codificación aritmética de contexto y la codificación aritmética de derivación para usarse de acuerdo con la información de desplazamiento. Se ha de hacer notar que la unidad de control de codificación aritmética 5071 se puede incluir en la unidad de control 110 del aparato de codificación de imágenes 100 ilustrado en la figura 1. La unidad de codificación aritmética de contexto 5072 carga un contexto de acuerdo con la información de desplazamiento y realiza una codificación. La unidad de codificación aritmética de derivación 5073 realiza una codificación usando la probabilidad de aparición de símbolos que es del 50 %.
La figura 32 ilustra una configuración de una unidad de descodificación de información de desplazamiento 606 que descodifica la información de desplazamiento en el aparato de descodificación de imágenes de acuerdo con esta realización. La unidad de descodificación de información de desplazamiento 606 incluye: una unidad de control de descodificación aritmética 6061; una unidad de descodificación aritmética de contexto 6062; y una unidad de descodificación aritmética de derivación 6063.
La unidad de control de descodificación aritmética 6061 conmuta entre la descodificación aritmética de contexto (descodificación aritmética adaptativa de contexto) y la descodificación aritmética de derivación para usarse de acuerdo con la información de desplazamiento. Se ha de hacer notar que la unidad de control de descodificación aritmética 6061 puede incluirse en la unidad de control 210 del aparato de descodificación de imágenes 200 ilustrado en la figura 2. La unidad de descodificación aritmética de contexto 6062 carga un contexto de acuerdo con la información de desplazamiento y realiza una descodificación. La unidad de descodificación aritmética de derivación 6063 realiza una descodificación usando la probabilidad de aparición de símbolos que es del 50 %.
La figura 33 ilustra la asignación de contextos (índices de contexto) a la información de desplazamiento de acuerdo con un primer ejemplo, y un tipo de la codificación aritmética usada en cada elemento de sintaxis de la información de desplazamiento.
Las sintaxis para codificar y descodificar la información de desplazamiento son las mismas que las sintaxis en la realización 1 ilustrada en la figura 17A, la figura 17B y la figura 17C.
En el presente caso, el bit inicial del procedimiento de clasificación de píxeles sao_type_idx sirve como ENCENDIDO/APAGADO para determinar si realizar o no un procesamiento de desplazamiento como se ilustra en la figura 14. Existe una fuerte tendencia en la probabilidad de aparición de símbolos en el bit inicial en comparación con los otros elementos de información de desplazamiento. Por esa razón, se usa la codificación aritmética de contexto solo para el bit inicial del procedimiento de clasificación de píxeles sao_type_idx, y se usa la codificación aritmética de derivación para los otros elementos de información de desplazamiento, incluyendo el segundo bit y bits siguientes del procedimiento de clasificación de píxeles sao_type_idx.
La figura 34 es un diagrama de flujo que ilustra un ejemplo de codificación de información de desplazamiento basándose en una combinación de los tipos de la codificación aritmética ilustrada en la figura 33, que se realiza mediante la unidad de codificación de información de desplazamiento 507.
En primer lugar, tras empezar el procesamiento realizado por la unidad de codificación de información de desplazamiento 507, la unidad de control de codificación aritmética 5071 establece la codificación aritmética de derivación como el procedimiento de codificación (S5070).
A continuación, la unidad de control de codificación aritmética 5071 determina si la región objetivo está situada o no en el extremo izquierdo de un segmento o una tesela (S5071). La información de desplazamiento se copia solo de una región en el mismo segmento y la tesela. Por esa razón, la determinación descrita anteriormente se realiza antes de la codificación de la bandera de copia de información de desplazamiento izquierdo sao_merge_left_flag.
En el caso en el que la región objetivo no está situada en el extremo izquierdo (No en S5071), la unidad de codificación aritmética de derivación 5073 codifica la bandera de copia de información de desplazamiento izquierdo sao_merge_left_flag (S5072).
Cuando la región objetivo está situada en el extremo izquierdo (Sí en S5071) o posteriormente a la codificación de sao_merge_left_flag (S5072), la unidad de control de codificación aritmética 5071 determina si sao_merge_left_flag es o no 0 (S5073). En el presente caso, que sao_merge_left_flag sea 0 indica que la información de desplazamiento no se copia desde la región izquierda, y que sao_merge_left_flag sea 1 indica que la información de desplazamiento se copia desde la región izquierda.
Se ha de hacer notar que, cuando no se realiza la codificación de sao_merge_left_flag (S5072), no existe un valor de sao_merge_left_flag. En este caso, el valor de sao_merge_left_flag se procesa como 0. Además, la unidad de codificación de información de desplazamiento 507 puede asegurar una memoria para sao_merge_left_flag en el momento de iniciar un proceso, y establecer un valor inicial 0.
A continuación, cuando sao_merge_left_flag indica 0 (Sí en S5073), la unidad de control de codificación aritmética 5071 determina si la región objetivo está situada o no en el extremo superior de un segmento o una tesela (S5074). Debido a que la información de desplazamiento se copia solo de una región en el mismo segmento y en la misma tesela que con la determinación del extremo izquierdo (S5071), la determinación descrita anteriormente se realiza antes de la codificación de la bandera de copia de información de desplazamiento superior sao_merge_up_flag.
En el caso en el que la región objetivo no está en el extremo superior (No en S5074), la unidad de codificación aritmética de derivación 5073 codifica la bandera de copia de información de desplazamiento superior sao_merge_up_flag (S5075).
Cuando la región objetivo está situada en el extremo superior (Sí en S5074) o posteriormente a la codificación de sao_merge_up_flag (S5075), la unidad de control de codificación aritmética 5071 determina si sao_merge_up_flag es 0 no 0 (S5076). En el presente caso, que sao_merge_up_flag sea 0 indica que la información de desplazamiento no se copia desde la región superior, y que sao_merge_up_flag sea 1 indica que la información de desplazamiento se copia desde la región superior.
Se ha de hacer notar que, cuando no se realiza la codificación de sao_merge_up_flag (S5075), no existe un valor de sao_merge_up_flag. En este caso, el valor de sao_merge_up_flag se procesa como 0. Además, la unidad de codificación de información de desplazamiento 507 puede asegurar una memoria para sao_merge_up_flag en el momento de iniciar un proceso, y establecer un valor inicial 0.
A continuación, cuando sao_merge_up_flag indica 0 (Sí en S5076), la unidad de control de codificación aritmética 5071 conmuta el procedimiento de codificación a la codificación aritmética de contexto (S5077).
A continuación, la unidad de control de codificación aritmética 5072 carga un contexto para binIdx0 del procedimiento de clasificación de píxeles sao_type_idx. Entonces, la unidad de control de codificación aritmética de contexto 5072 codifica binIdx0 del procedimiento de clasificación de píxeles sao_type_idx (S5078).
A continuación, la unidad de control de codificación aritmética 5071 determina si binIdx0 de sao_type_idx indica o no 1 (S5079). En el presente caso, esta indica que el procesamiento de desplazamiento no se va a realizar sobre la región objetivo a procesar cuando binIdx0 indica 0, e indica que el procesamiento de desplazamiento se va a realizar cuando binIdxO indica 1.
Cuando binIdxO indica 1 (Sí en S5079), la unidad de control de codificación aritmética 5071 conmuta el procedimiento de codificación a la codificación aritmética de derivación (S5080).
A continuación, la unidad de codificación aritmética de derivación 5073 codifica el procedimiento de clasificación de píxeles restante sao_type_idx que no sea binIdx0 y el valor absoluto de desplazamiento sao_offset (S5081). En el presente caso, de acuerdo con este ejemplo, el número de valores absolutos de desplazamiento sao_offset es cuatro en cualquiera de los procedimientos de clasificación de píxeles. Sin embargo, la unidad de codificación aritmética de derivación 5073 puede codificar los valores absolutos de desplazamiento que son diferentes en número para cada uno de los procedimientos de clasificación de píxeles.
A continuación, la unidad de control de codificación aritmética 5071 determina si el procedimiento de clasificación de píxeles es o no el desplazamiento de banda (S5082). En el presente caso, la unidad de control de codificación aritmética 5071 usa el procedimiento de clasificación de píxeles sao_type_idx para la determinación.
En este ejemplo, al desplazamiento de banda se le asigna 5 como un valor de sao_type_idx. Por esa razón, la unidad de control de codificación aritmética 5071 determina que el procedimiento de clasificación de píxeles es el desplazamiento de banda cuando sao_type_idx es 5, y que el procedimiento de clasificación de píxeles no es el desplazamiento de banda cuando sao_type_idx no es 5.
Cuando el procedimiento de clasificación de píxeles es el desplazamiento de banda (Sí en S5082), la unidad de codificación aritmética de derivación 5073 codifica el signo ± del valor de desplazamiento sao_offset_sign y la categoría de inicio de codificación de desplazamiento de banda sao_band_position (S5083).
Se ha de hacer notar que, en este ejemplo, la unidad de codificación aritmética de derivación 5073 codifica el signo ± del valor de desplazamiento sao_offset_sign solo en el caso del desplazamiento de banda. Sin embargo, la unidad de codificación aritmética de derivación 5073 puede codificar el signo ± del valor de desplazamiento sao_offset_sign también en el caso del desplazamiento de borde. En este caso, el signo ± del valor de desplazamiento sao_offset_sign se codifica en la etapa S5081.
Además, en este caso, en la etapa S5081, el valor absoluto de desplazamiento sao_offset y el signo ± del valor de desplazamiento sao_offset_sign pueden integrarse y codificarse como un valor de desplazamiento.
La figura 35 es un diagrama de flujo que muestra un ejemplo de descodificación de información de desplazamiento basándose en una combinación de los tipos de la descodificación aritmética ilustrada en la figura 33, que se realiza mediante la unidad de descodificación de información de desplazamiento 606.
En primer lugar, tras empezar el procesamiento realizado por la unidad de descodificación de información de desplazamiento 606, la unidad de control de descodificación aritmética 6061 establece la descodificación aritmética de derivación como el procedimiento de descodificación (S6060).
A continuación, la unidad de control de descodificación aritmética 6061 determina si la región objetivo está situada o no en el extremo izquierdo de un segmento o una tesela (S6061). La información de desplazamiento se copia solo de una región en el mismo segmento y la misma tesela. Por esa razón, la determinación descrita anteriormente se realiza antes de la descodificación de la bandera de copia de información de desplazamiento izquierdo sao_merge_left_flag.
Cuando la región objetivo no está situada en el extremo izquierdo (No en S6061), la unidad de descodificación aritmética de derivación 6063 descodifica la bandera de copia de información de desplazamiento izquierdo sao_merge_left_flag (S6062).
Cuando la región objetivo está situada en el extremo izquierdo (Sí en S6061) o posteriormente a la descodificación de sao_merge_left_flag (S6062), la unidad de control de descodificación aritmética 6061 determina si sao_merge_left_flag es o no 0 (S6063). En el presente caso, que sao_merge_left_flag sea 0 indica que la información de desplazamiento no se copia desde la región izquierda, y que sao_merge_left_flag sea 1 indica que la información de desplazamiento se copia desde la región izquierda.
Se ha de hacer notar que, cuando no se realiza la descodificación de sao_merge_left_flag (S6062), no existe un valor de sao_merge_left_flag. En este caso, el valor de sao_merge_left_flag se procesa como 0. Además, la unidad de descodificación de información de desplazamiento 606 puede asegurar una memoria para sao_merge_left_flag en el momento de iniciar un proceso, y establecer un valor inicial 0.
A continuación, cuando sao_merge_left_flag indica 0 (Sí en S6063), la unidad de control de descodificación aritmética 6061 determina si la región objetivo está situada o no en el extremo superior de un segmento o una tesela (S6064). Debido a que la información de desplazamiento se copia solo de una región en el mismo segmento y en la misma tesela que con la determinación del extremo izquierdo (S6061), la determinación descrita anteriormente se realiza antes de la descodificación de la bandera de copia de información de desplazamiento superior sao_merge_up_flag.
Cuando la región objetivo no está situada en el extremo superior (No en S6064), la unidad de descodificación aritmética de derivación 6063 descodifica la bandera de copia de información de desplazamiento superior sao_merge_left_flag (S6065).
Cuando la región objetivo está situada en el extremo superior (Sí en S6064) o posteriormente a la descodificación de sao_merge_up_flag (S6065), la unidad de control de descodificación aritmética 6061 determina si sao_merge_up_flag es o no 0 (S6066). En el presente caso, que sao_merge_up_flag sea 0 indica que la información de desplazamiento no se copia desde la región superior, y que sao_merge_up_flag sea 1 indica que la información de desplazamiento se copia desde la región superior.
Se ha de hacer notar que, cuando no se realiza la descodificación de sao_merge_up_flag (S6065), no existe un valor de sao_merge_up_flag. En este caso, el valor de sao_merge_up_flag se procesa como 0. Además, la unidad de descodificación de información de desplazamiento 606 puede asegurar una memoria para sao_merge_up_flag en el momento de iniciar un proceso, y establecer un valor inicial 0.
A continuación, cuando sao_merge_up_flag indica 0 (Sí en S6066), la unidad de control de descodificación aritmética 6061 conmuta el procedimiento de descodificación a la descodificación aritmética de contexto (S6067).
A continuación, la unidad de descodificación aritmética de contexto 6062 carga un contexto para binIdx del procedimiento de clasificación de píxeles sao_type_idx. Entonces, la unidad de control de descodificación aritmética de contexto 6062 descodifica binIdx0 del procedimiento de clasificación de píxeles sao_type_idx (S6068).
A continuación, la unidad de control de descodificación aritmética 6061 determina si binIdx0 de sao_type_idx indica o no 1 (S6069). En el presente caso, esta indica que el procesamiento de desplazamiento no se va a realizar sobre la región objetivo a procesar cuando binIdx0 indica 0, e indica que el procesamiento de desplazamiento se va a realizar cuando binIdx0 indica 1.
Cuando binIdx0 indica 1 (Sí en S6069), la unidad de control de descodificación aritmética 6061 conmuta el procedimiento de descodificación a la descodificación aritmética de derivación (S6070).
A continuación, la unidad de descodificación aritmética de derivación 6063 descodifica el procedimiento de clasificación de píxeles restante sao_type_idx que no sea binIdx0 y el valor absoluto de desplazamiento sao_offset (S6071). En el presente caso, en este ejemplo, el número de valores absolutos de desplazamiento sao_offset es cuatro en cualquiera de los procedimientos de clasificación de píxeles. Sin embargo, la unidad de descodificación aritmética de derivación 6063 puede descodificar los valores absolutos de desplazamiento que son diferentes en número para cada uno de los procedimientos de clasificación de píxeles.
Entonces, la unidad de control de descodificación aritmética 6061 determina si el procedimiento de clasificación de píxeles es o no el desplazamiento de banda (S6072). En el presente caso, la unidad de control de descodificación aritmética 6061 usa el procedimiento de clasificación de píxeles sao_type_idx para la determinación.
En este ejemplo, al desplazamiento de banda se le asigna 5 como un valor de sao_type_idx. Por esa razón, la unidad de control de descodificación aritmética 6061 determina que el procedimiento de clasificación de píxeles es el desplazamiento de banda cuando sao_type_idx es 5, y que el procedimiento de clasificación de píxeles no es el desplazamiento de banda cuando sao_type_idx no es 5.
Cuando el procedimiento de clasificación de píxeles es el desplazamiento de banda (Sí en S6072), la unidad de descodificación aritmética de derivación 6063 descodifica el signo ± del valor de desplazamiento sao_offset_sign y la categoría de inicio de codificación de desplazamiento de banda sao_band_position (S6073).
Se ha de hacer notar que, en este ejemplo, la unidad de descodificación aritmética de derivación 6063 descodifica el signo ± del valor de desplazamiento sao_offset_sign solo en el caso del desplazamiento de banda. Sin embargo, la unidad de descodificación aritmética de derivación 6063 puede descodificar el signo ± del valor de desplazamiento sao_offset_sign también en el caso del desplazamiento de borde. En este caso, el signo ± del valor de desplazamiento sao_offset_sign se descodifica en la etapa S6071.
Además, en este caso, en la etapa S6071, el valor absoluto de desplazamiento sao_offset y el signo ± del valor de desplazamiento sao_offset_sign pueden integrarse y descodificarse como un valor de desplazamiento.
Como se ha descrito anteriormente, la codificación aritmética de derivación y la descodificación aritmética de derivación se usan en la codificación y la descodificación de toda la información de desplazamiento que no sea binIdx0 del procedimiento de clasificación de píxeles sao_type_idx. Esto elimina la necesidad de que el aparato de codificación de imágenes y el aparato de descodificación de imágenes carguen y actualicen contextos en todas partes. Por lo tanto, se mejora el caudal.
La figura 36A ilustra la asignación de contextos (índices de contexto) a la información de desplazamiento de acuerdo con un segundo ejemplo, y un tipo de la codificación aritmética usada en cada elemento de sintaxis de la información de desplazamiento.
En este ejemplo, el bit inicial del procedimiento de clasificación de píxeles sao_type_idx se codifica (descodifica) como la bandera de ENCENDIDO/APAGADO de procesamiento de desplazamiento sao_on_flag, en una parte superior de la información de desplazamiento independientemente del procedimiento de clasificación de píxeles sao_type_idx. Las sintaxis para codificar y descodificar la información de desplazamiento son las mismas que las sintaxis en la realización 2 ilustrada en la figura 28A y la figura 28B.
En este caso, existe una fuerte tendencia en la probabilidad de aparición de símbolos en la bandera de ENCENDIDO/APAGADO de procesamiento de desplazamiento sao_on_flag en comparación con otra información de desplazamiento. Por esa razón, la codificación aritmética de contexto se usa solo para la bandera de ENCENDIDO/APAGADO de procesamiento de desplazamiento sao_on_flag. La codificación aritmética de derivación se usa para la bandera de copia de información de desplazamiento izquierdo sao_merge_left_flag que se codifica (descodifica) después de la bandera de ENCENDIDO/APAGADO de procesamiento de desplazamiento sao_on_flag, y para la información de desplazamiento posterior.
El caudal se mejora adicionalmente usando la codificación aritmética de derivación para la bandera de copia de información de desplazamiento izquierdo sao_merge_left_flag y para la información de desplazamiento posterior.
En el presente caso, la asignación de bits a la bandera de ENCENDIDO/APAGADO de procesamiento de desplazamiento sao_on_flag y al procedimiento de clasificación de píxeles sao_type_idx es equivalente a la asignación de acuerdo con la realización 2 ilustrada en la figura 26. Sin embargo, el procedimiento de asignación de bits no se limita a lo anterior. En cuanto a la asignación de un bit al procedimiento de clasificación de píxeles sao_type_idx, al desplazamiento de borde (0) se le puede asignar la cantidad de bits más pequeña y al desplazamiento de banda se le puede asignar la cantidad de bits más grande como se ilustra en la figura 36b .
En el ejemplo mostrado en la figura 28B, el signo ± del valor de desplazamiento sao_offset_sign y la categoría de inicio de codificación de desplazamiento de banda sao_band_position se codifican (descodifican) de forma consecutiva con el fin de suprimir el número de ramas condicionales correspondientes a sentencias si. Sin embargo, el orden de la codificación (descodificación) no se limita al ejemplo mostrado en la figura 28B.
La figura 36C es una tabla que muestra un desempeño objetivo del aparato de codificación de imágenes y el aparato de descodificación de imágenes de acuerdo con el ejemplo mostrado en la figura 36C. La figura 36C muestra que hay poco deterioro en el desempeño objetivo, basándose en el índice en el documento NPL 2. Los detalles del desempeño objetivo correspondientes al ejemplo de la figura 36A se describirán más adelante.
La figura 37 es un diagrama de flujo que ilustra un ejemplo de codificación de información de desplazamiento basándose en una combinación de los tipos de la codificación aritmética ilustrada en la figura 36A, que se realiza mediante la unidad de codificación de información de desplazamiento 507.
En primer lugar, tras el inicio del procesamiento por la unidad de codificación de información de desplazamiento 507, la unidad de control de codificación aritmética 5071 establece la codificación aritmética de contexto como el procedimiento de codificación (S5170).
Entonces, la unidad de codificación aritmética de contexto 5072 carga un contexto para la bandera de ENCENDIDO/APAGADO de procesamiento de desplazamiento sao_on_flag, y codifica la bandera de ENCENDIDO/APAGADO de procesamiento de desplazamiento sao_on_flag usando el contexto (S5171).
A continuación, la unidad de control de codificación aritmética 5071 determina si la bandera de ENCENDIDO/APAGADO de procesamiento de desplazamiento sao_on_flag indica o no 1 (S5172). En el presente caso, esta indica que el procesamiento de desplazamiento no se va a realizar sobre la región objetivo a procesar cuando sao_on_flag indica 0, e indica que el procesamiento de desplazamiento se va a realizar sobre la región objetivo cuando sao_on_flag indica 1.
Cuando la bandera de ENCENDIDO/APAGADO de procesamiento de desplazamiento sao_on_flag indica 1 (Sí en S5172), la unidad de control de codificación aritmética 5071 conmuta el procedimiento de codificación a la codificación aritmética de derivación (S5173). Con esto, la codificación aritmética de derivación se usa de principio a fin de las etapas de codificación posteriores.
A continuación, la unidad de control de codificación aritmética 5071 determina si la región objetivo está situada o no en el extremo izquierdo de un segmento o una tesela (S5174). La información de desplazamiento se copia solo de una región en el mismo segmento y la misma tesela. Por esa razón, la determinación descrita anteriormente se realiza antes de la codificación de la bandera de copia de información de desplazamiento izquierdo sao_merge_left_flag.
En el caso en el que la región objetivo no está en el extremo izquierdo (No en S5174), la unidad de codificación aritmética de derivación 5073 codifica la bandera de copia de información de desplazamiento izquierdo sao_merge_left_flag (S5175).
Cuando la región objetivo está situada en el extremo izquierdo (Sí en S5174) o posteriormente a la codificación de sao_merge_left_flag (S5175), la unidad de control de codificación aritmética 5071 determina si sao_merge_left_flag es o no 0 (S5176). En el presente caso, que sao_merge_left_flag sea 0 indica que la información de desplazamiento no se copia desde la región izquierda, y que sao_merge_left_flag sea 1 indica que la información de desplazamiento se copia desde la región izquierda.
Se ha de hacer notar que, cuando no se realiza la codificación de sao_merge_left_flag (S5175), no existe un valor de sao_merge_left_flag. En este caso, el valor de sao_merge_left_flag se procesa como 0. Además, la unidad de codificación de información de desplazamiento 507 puede asegurar una memoria para sao_merge_left_flag en el momento de iniciar un proceso, y establecer un valor inicial 0.
A continuación, cuando sao_merge_left_flag indica 0 (Sí en S5176), la unidad de control de codificación aritmética 5071 determina si la región objetivo está situada o no en el extremo superior de un segmento o una tesela (S5177). Debido a que la información de desplazamiento se copia solo de una región en el mismo segmento y en la misma tesela que con la determinación del extremo izquierdo (S5174), la determinación descrita anteriormente se realiza antes de la codificación de la bandera de copia de información de desplazamiento superior sao_merge_up_flag.
En el caso en el que la región objetivo no está en el extremo superior (No en S5177), la unidad de codificación aritmética de derivación 5073 codifica la bandera de copia de información de desplazamiento superior sao_merge_up_flag (S5178).
Cuando la región objetivo está situada en el extremo superior (Sí en S5177) o posteriormente a la codificación de sao_merge_up_flag (S5178), la unidad de control de codificación aritmética 5071 determina si sao_merge_up_flag es o no 0 (S5179). En el presente caso, que sao_merge_up_flag sea 0 indica que la información de desplazamiento no se copia desde la región superior, y que sao_merge_up_flag sea 1 indica que la información de desplazamiento se copia desde la región superior.
Se ha de hacer notar que, cuando no se realiza la codificación de sao_merge_up_flag (S5178), no existe un valor de sao_merge_up_flag. En este caso, el valor de sao_merge_up_flag se procesa como 0. Además, la unidad de codificación de información de desplazamiento 507 puede asegurar una memoria para sao_merge_up_flag en el momento de iniciar un proceso, y establecer un valor inicial 0.
A continuación, cuando sao_merge_up_flag indica 0 (Sí en S5179), la unidad de codificación aritmética de derivación 5073 codifica el procedimiento de clasificación de píxeles sao_type_idx y el valor absoluto de desplazamiento sao_offset (S5180). En el presente caso, en este ejemplo, el número de valores absolutos de desplazamiento sao_offset es cuatro en cualquiera de los procedimientos de clasificación de píxeles. Sin embargo, la unidad de codificación aritmética de derivación 5073 puede codificar los valores absolutos de desplazamiento que son diferentes en número para cada uno de los procedimientos de clasificación de píxeles.
A continuación, la unidad de control de codificación aritmética 5071 determina si el procedimiento de clasificación de píxeles es o no el desplazamiento de banda (S5181). En el presente caso, la unidad de control de codificación aritmética 5071 usa el procedimiento de clasificación de píxeles sao_type_idx para la determinación.
En este ejemplo, al desplazamiento de banda se le asigna 0 como un valor de sao_type_idx. Por esa razón, la unidad de control de codificación aritmética 5071 determina que el procedimiento de clasificación de píxeles es el desplazamiento de banda cuando sao_type_idx es 0, y que el procedimiento de clasificación de píxeles no es el desplazamiento de banda cuando sao_type_idx no es 0.
Cuando el procedimiento de clasificación de píxeles es el desplazamiento de banda (Sí en S5181), la unidad de codificación aritmética de derivación 5073 codifica el signo ± del valor de desplazamiento sao_offset_sign y la categoría de inicio de codificación de desplazamiento de banda sao_band_position (S5182).
Se ha de hacer notar que, en este ejemplo, la unidad de codificación aritmética de derivación 5073 codifica el signo ± del valor de desplazamiento sao_offset_sign solo en el caso del desplazamiento de banda. Sin embargo, la unidad de codificación aritmética de derivación 5073 puede codificar el signo ± del valor de desplazamiento sao_offset_sign también en el caso del desplazamiento de borde. En este caso, el signo ± del valor de desplazamiento sao_offset_sign se codifica en la etapa S5180.
Además, en este caso, en la etapa S5180, el valor absoluto de desplazamiento sao_offset y el signo ± del valor de desplazamiento sao_offset_sign pueden integrarse y codificarse como un valor de desplazamiento.
La figura 38 es un diagrama de flujo que muestra un ejemplo de la descodificación de información de desplazamiento basándose en una combinación de los tipos de la descodificación aritmética ilustrada en la figura 36A, que se realiza mediante la unidad de descodificación de información de desplazamiento 606.
En primer lugar, tras empezar el procesamiento realizado por la unidad de descodificación de información de desplazamiento 606, la unidad de control de descodificación aritmética 6061 establece la descodificación aritmética de contexto como el procedimiento de descodificación (S6160).
Entonces, la unidad de descodificación aritmética de contexto 6062 carga un contexto para la bandera de ENCENDIDO/APAGADO de procesamiento de desplazamiento sao_on_flag, y descodifica la bandera de ENCENDIDO/APAGADO de procesamiento de desplazamiento sao_on_flag usando el contexto (S6161).
A continuación, la unidad de control de descodificación aritmética 6061 determina si la bandera de ENCENDIDO/APAGADO de procesamiento de desplazamiento sao_on_flag indica o no 1 (S6162). En el presente caso, cuando sao_on_flag es 0, esta indica que el procesamiento de desplazamiento no se va a realizar sobre la región objetivo a procesar, y cuando sao_on_flag es 1, indica que el procesamiento de desplazamiento se va a realizar sobre la región objetivo.
A continuación, cuando la bandera de ENCENDIDO/APAGADO de procesamiento de desplazamiento sao_on_flag indica 1 (Sí en S6162), la unidad de control de descodificación aritmética 6061 conmuta el procedimiento de descodificación a la descodificación aritmética de derivación (S6163). Con esto, la descodificación aritmética de derivación se usa de principio a fin de las etapas de descodificación posteriores.
A continuación, la unidad de control de descodificación aritmética 6061 determina si la región objetivo está situada o no en el extremo izquierdo de un segmento o una tesela (S6164). La información de desplazamiento se copia solo de una región en el mismo segmento y la misma tesela. Por esa razón, la determinación descrita anteriormente se realiza antes de la descodificación de la bandera de copia de información de desplazamiento izquierdo sao_merge_left_flag.
Cuando la región objetivo no está situada en el extremo izquierdo (No en S6164), la unidad de descodificación aritmética de derivación 6063 descodifica la bandera de copia de información de desplazamiento izquierdo sao_merge_left_flag (S6165).
Cuando la región objetivo está situada en el extremo izquierdo (Sí en S6164) o posteriormente a la descodificación de sao_merge_left_flag (S6165), la unidad de control de descodificación aritmética 6061 determina si sao_merge_left_flag es o no 0 (S6166). En el presente caso, que sao_merge_left_flag sea 0 indica que la información de desplazamiento no se copia desde la región izquierda, y que sao_merge_left_flag sea 1 indica que la información de desplazamiento se copia desde la región izquierda.
Se ha de hacer notar que, cuando no se realiza la descodificación de sao_merge_left_flag (S6165), no existe un valor de sao_merge_left_flag. En este caso, el valor de sao_merge_left_flag se procesa como 0. Además, la unidad de descodificación de información de desplazamiento 606 puede asegurar una memoria para sao_merge_left_flag en el momento de iniciar un proceso, y establecer un valor inicial 0.
A continuación, cuando sao_merge_left_flag indica 0 (Sí en S6166), la unidad de control de descodificación aritmética 6061 determina si la región objetivo está situada o no en el extremo superior de un segmento o una tesela (S6167). Debido a que la información de desplazamiento se copia solo de una región en el mismo segmento y en la misma tesela que con la determinación del extremo izquierdo (S6164), la determinación descrita anteriormente se realiza antes de la descodificación de la bandera de copia de información de desplazamiento superior sao_merge_up_flag.
Cuando la región objetivo no está situada en el extremo superior (No en S6167), la unidad de descodificación aritmética de derivación 6063 descodifica la bandera de copia de información de desplazamiento superior sao_merge_left_flag (S6168).
Cuando la región objetivo está situada en el extremo superior (Sí en S6167) o posteriormente a la descodificación de sao_merge_up_flag (S6168), la unidad de control de descodificación aritmética 6061 determina si sao_merge_up_flag es o no 0 (S6169). En el presente caso, que sao_merge_up_flag sea 0 indica que la información de desplazamiento no se copia desde la región superior, y que sao_merge_up_flag sea 1 indica que la información de desplazamiento se copia desde la región superior.
Se ha de hacer notar que, cuando no se realiza la descodificación de sao_merge_up_flag (S6168), no existe un valor de sao_merge_up_flag. En este caso, el valor de sao_merge_up_flag se procesa como 0. Además, la unidad de descodificación de información de desplazamiento 606 puede asegurar una memoria para sao_merge_up_flag en el momento de iniciar un proceso, y establecer un valor inicial 0.
A continuación, cuando sao_merge_up_flag indica 0 (Sí en S6169), la unidad de descodificación aritmética de derivación 6063 descodifica el procedimiento de clasificación de píxeles sao_type_idx y el valor absoluto de desplazamiento sao_offset (S6170). En el presente caso, en este ejemplo, el número de valores absolutos de desplazamiento sao_offset es cuatro en cualquiera de los procedimientos de clasificación de píxeles. Sin embargo, la unidad de descodificación aritmética de derivación 6063 puede descodificar los valores absolutos de desplazamiento que son diferentes en número para cada uno de los procedimientos de clasificación de píxeles.
Entonces, la unidad de control de descodificación aritmética 6061 determina si el procedimiento de clasificación de píxeles es o no el desplazamiento de banda (S6171). En el presente caso, la unidad de control de descodificación aritmética 6061 usa el procedimiento de clasificación de píxeles sao_type_idx para la determinación.
En este ejemplo, al desplazamiento de banda se le asigna 0 como valor de sao_type_idx. Por esa razón, la unidad de control de descodificación aritmética 6061 determina que el procedimiento de clasificación de píxeles es el desplazamiento de banda cuando sao_type_idx es 0, y que el procedimiento de clasificación de píxeles no es el desplazamiento de banda cuando sao_type_idx no es 0.
Cuando el procedimiento de clasificación de píxeles es el desplazamiento de banda (Sí en S6171), la unidad de descodificación aritmética de derivación 6063 descodifica el signo ± del valor de desplazamiento sao_offset_sign y la categoría de inicio de codificación de desplazamiento de banda sao_band_position (S6172).
Se ha de hacer notar que, de acuerdo con este ejemplo, la unidad de descodificación aritmética de derivación 6063 descodifica el signo ± del valor de desplazamiento sao_offset_sign solo en el caso del desplazamiento de banda. Sin embargo, la unidad de descodificación aritmética de derivación 6063 puede descodificar el signo ± del valor de desplazamiento sao_offset_sign también en el caso del desplazamiento de borde. En este caso, el signo ± del valor de desplazamiento sao_offset_sign se descodifica en la etapa S6170.
Además, en este caso, en la etapa S6170, el valor absoluto de desplazamiento sao_offset y el signo ± del valor de desplazamiento sao_offset_sign pueden integrarse y descodificarse como un valor de desplazamiento.
Como se ha descrito anteriormente, la codificación aritmética de derivación y la descodificación aritmética de derivación se usan en la codificación y la descodificación de todos los elementos de información de desplazamiento que no sean la bandera de ENCENDIDO/APAGADO de procesamiento de desplazamiento sao_on_flag que está situada en la parte superior. Esto elimina la necesidad de que el aparato de codificación de imágenes y el aparato de descodificación de imágenes carguen y actualicen contextos en todas partes. Por lo tanto, se mejora el caudal.
La figura 36C ilustra un resultado basándose en las condiciones de prueba especificadas en la norma de HEVC (véase el documento NPL 2), como un desempeño objetivo de acuerdo con el ejemplo de la figura 36A.
En la figura 36C, Configuración indica condiciones de establecimiento de parámetros de codificación. La tasa de BD indica un índice objetivo calculado a partir de una relación de señal a ruido pico (PSNR) de una imagen reconstruida y una cantidad de código de un flujo codificado. Una tasa de BD negativa indica una mejora en el desempeño objetivo y una tasa de BD positiva indica un deterioro en el desempeño objetivo. Se ha de hacer notar que la tasa de BD en la figura 36C indica una mejora o un deterioro en el desempeño objetivo de acuerdo con el ejemplo de la figura 36A basándose en la comparación con la realización 1.
Como se ilustra en la figura 36C, la tasa de BD cae dentro de un intervalo de ± 0,1. Esto indica que el desempeño objetivo de acuerdo con el ejemplo de la figura 36A es sustancialmente equivalente al desempeño objetivo de la realización 1. Esto significa que hay poco deterioro en el desempeño objetivo y que el caudal se ha mejorado en el ejemplo de la figura 36A.
La figura 39A ilustra la asignación de contextos (índices de contexto) a los elementos de información de desplazamiento de acuerdo con un tercer ejemplo, y un tipo de la codificación aritmética usada en cada elemento de sintaxis de los elementos de información de desplazamiento.
En este ejemplo, en comparación con la figura 36A, la codificación aritmética de contexto se usa para la bandera de copia de información de desplazamiento izquierdo sao_merge_left_flag y la bandera de copia de información de desplazamiento superior sao_merge_up_flag. Las sintaxis para la codificación y la descodificación de la información de desplazamiento son las mismas que las sintaxis en la realización 2 ilustrada en la figura 28A y la figura 28B.
Existe una fuerte tendencia en la probabilidad de aparición de símbolos en sao_on_flag, sao_merge_left_flag y sao_merge_up_flag, en comparación con los otros elementos de información de desplazamiento. Por esa razón, la codificación aritmética de contexto se usa solo para las tres banderas descritas anteriormente, y la codificación aritmética de derivación se usa para el procedimiento de clasificación de píxeles sao_type_idx y los elementos de información de desplazamiento posteriores. Con esto, el aparato de codificación de imágenes puede codificar la información de desplazamiento mientras se mantiene la eficiencia de codificación y el caudal de una manera equilibrada.
A la bandera de ENCENDIDO/APAGADO de procesamiento de desplazamiento sao_on_flag y al procedimiento de clasificación de píxeles sao_type_idx se les pueden asignar bits como se muestra en la figura 26 o en la figura 36B.
En el ejemplo mostrado en la figura 28B, el signo ± del valor de desplazamiento sao_offset_sign y la categoría de inicio de codificación de desplazamiento de banda sao_band_position se codifican (descodifican) de forma consecutiva con el fin de suprimir el número de ramas condicionales correspondientes a sentencias si. Sin embargo, el orden de la codificación (descodificación) no se limita al ejemplo mostrado en la figura 28B.
Además, en el ejemplo de la figura 39A, el contexto se usa para la bandera de ENCENDIDO/APAGADO de procesamiento de desplazamiento sao_on_flag, la bandera de copia de información de desplazamiento izquierdo sao_merge_left_flag y la bandera de copia de información de desplazamiento superior sao_merge_up_flag. El contexto usado para estas banderas se puede compartir entre la señal de luma, la señal de croma Cb y la señal de croma Cr. Con esto, es posible reducir el número de contextos y el tamaño de memoria.
Además, el aparato de codificación de imágenes puede usar un contexto diferente para cada una de la señal de luma, la señal de croma Cb y la señal de croma Cr, o puede compartir el mismo contexto entre las señales de croma Cb y Cr. Con esto, el aparato de codificación de imágenes puede mejorar adicionalmente la eficiencia de codificación en comparación con el caso en el que se usa el mismo contexto para todas las señales.
La figura 39B es una tabla que muestra un desempeño objetivo del aparato de codificación de imágenes y el aparato de descodificación de imágenes de acuerdo con el ejemplo mostrado en la figura 39A. La figura 39B muestra que hay poco deterioro en el desempeño objetivo, basándose en el índice en el documento NPL 2. Los detalles del desempeño objetivo correspondientes al ejemplo de la figura 39A se describirán más adelante.
La figura 40 es un diagrama de flujo que ilustra un ejemplo de codificación de la información de desplazamiento basándose en una combinación de los tipos de la codificación aritmética ilustrada en la figura 39A, que se realiza mediante la unidad de codificación de información de desplazamiento 507.
En primer lugar, tras el inicio del procesamiento por la unidad de codificación de información de desplazamiento 507, la unidad de control de codificación aritmética 5071 establece la codificación aritmética de contexto como el procedimiento de codificación (S5270).
Entonces, la unidad de codificación aritmética de contexto 5072 carga un contexto para la bandera de ENCENDIDO/APAGADO de procesamiento de desplazamiento sao_on_flag, y codifica la bandera de ENCENDIDO/APAGADO de procesamiento de desplazamiento sao_on_flag usando el contexto (S5271).
A continuación, la unidad de control de codificación aritmética 5071 determina si la bandera de ENCENDIDO/APAGADO de procesamiento de desplazamiento sao_on_flag indica o no 1 (S5272). En el presente caso, esta indica que el procesamiento de desplazamiento no se va a realizar sobre la región objetivo a procesar cuando sao_on_flag indica 0, e indica que el procesamiento de desplazamiento se va a realizar sobre la región objetivo cuando sao_on_flag indica 1.
Cuando la bandera de ENCENDIDO/APAGADO de procesamiento de desplazamiento sao_on_flag indica 1 (Sí en S5272), la unidad de control de codificación aritmética 5071 determina si la región objetivo está situada o no en el extremo izquierdo de un segmento o una tesela (S5273). La información de desplazamiento se copia solo de una región en el mismo segmento y la misma tesela. Por esa razón, la determinación descrita anteriormente se realiza antes de la codificación de la bandera de copia de información de desplazamiento izquierdo sao_merge_left_flag.
Cuando la región objetivo no está situada en el extremo izquierdo (No en S5273), la unidad de codificación aritmética de contexto 5072 carga un contexto para la bandera de copia de información de desplazamiento izquierdo sao_merge_left_flag. Entonces, la unidad de codificación aritmética de contexto 5072 codifica la bandera de copia de información de desplazamiento izquierdo sao_merge_left_flag (S5274).
Cuando la región objetivo está situada en el extremo izquierdo (Sí en S5273) o posteriormente a la codificación de sao_merge_left_flag (S5274), la unidad de control de codificación aritmética 5071 determina si sao_merge_left_flag es o no 0 (S5275). En el presente caso, que sao_merge_left_flag sea 0 indica que la información de desplazamiento no se copia desde la región izquierda, y que sao_merge_left_flag sea 1 indica que la información de desplazamiento se copia desde la región izquierda.
Se ha de hacer notar que, cuando no se realiza la codificación de sao_merge_left_flag (S5274), no existe un valor de sao_merge_left_flag. En este caso, el valor de sao_merge_left_flag se procesa como 0. Además, la unidad de codificación de información de desplazamiento 507 puede asegurar una memoria para sao_merge_left_flag en el momento de iniciar un proceso, y establecer un valor inicial 0.
A continuación, cuando sao_merge_left_flag indica 0 (Sí en S5275), la unidad de control de codificación aritmética 5071 determina si la región objetivo está situada o no en el extremo superior de un segmento o una tesela (S5276). Debido a que la información de desplazamiento se copia solo de una región en el mismo segmento y en la misma tesela que con la determinación del extremo izquierdo (S5273), la determinación descrita anteriormente se realiza antes de la codificación de la bandera de copia de información de desplazamiento superior sao_merge_up_flag.
Cuando la región objetivo no está situada en el extremo superior (No en S5276), la unidad de codificación aritmética de contexto 5072 carga un contexto para la bandera de copia de información de desplazamiento superior sao_merge_up_flag. Entonces, la unidad de codificación aritmética de contexto 5072 codifica la bandera de copia de información de desplazamiento superior sao_merge_up_flag (S5277).
Cuando la región objetivo está situada en el extremo superior (Sí en S5276) o posteriormente a la codificación de sao_merge_up_flag (S5277), la unidad de control de codificación aritmética 5071 determina si sao_merge_up_flag es o no 0 (S5278). En el presente caso, que sao_merge_up_flag sea 0 indica que la información de desplazamiento no se copia desde la región superior, y que sao_merge_up_flag sea 1 indica que la información de desplazamiento se copia desde la región superior.
Se ha de hacer notar que, cuando no se realiza la codificación de sao_merge_up_flag (S5277), no existe un valor de sao_merge_up_flag. En este caso, el valor de sao_merge_up_flag se procesa como 0. Además, la unidad de codificación de información de desplazamiento 507 puede asegurar una memoria para sao_merge_up_flag en el momento de iniciar un proceso, y establecer un valor inicial 0.
A continuación, cuando sao_merge_up_flag indica 0 (Sí en S5278), la unidad de control de codificación aritmética 5071 conmuta el procedimiento de codificación a la codificación aritmética de derivación (S5279). Con esto, la codificación aritmética de derivación se usa de principio a fin de las etapas de codificación posteriores.
A continuación, la unidad de codificación aritmética de derivación 5073 codifica el procedimiento de clasificación de píxeles sao_type_idx y el valor absoluto de desplazamiento sao_offset (S5280). En el presente caso, en esta realización, el número de valores absolutos de desplazamiento sao_offset es cuatro en cualquiera de los procedimientos de clasificación de píxeles. Sin embargo, la unidad de codificación aritmética de derivación 5073 puede codificar los valores absolutos de desplazamiento que son diferentes en número para cada uno de los procedimientos de clasificación de píxeles.
A continuación, la unidad de control de codificación aritmética 5071 determina si el procedimiento de clasificación de píxeles es o no el desplazamiento de banda (S5281). En el presente caso, la unidad de control de codificación aritmética 5071 usa el procedimiento de clasificación de píxeles sao_type_idx para la determinación.
En este ejemplo, al desplazamiento de banda se le asigna 0 como un valor de sao_type_idx. Por esa razón, la unidad de control de codificación aritmética 5071 determina que el procedimiento de clasificación de píxeles es el desplazamiento de banda cuando sao_type_idx es 0, y que el procedimiento de clasificación de píxeles no es el desplazamiento de banda cuando sao_type_idx no es 0.
Cuando el procedimiento de clasificación de píxeles es el desplazamiento de banda (Sí en S5281), la unidad de codificación aritmética de derivación 5073 codifica el signo ± del valor de desplazamiento sao_offset_sign y la categoría de inicio de codificación de desplazamiento de banda sao_band_position (S5282).
Se ha de hacer notar que, en esta realización, la unidad de codificación aritmética de derivación 5073 codifica el signo ± del valor de desplazamiento sao_offset_sign solo en el caso del desplazamiento de banda. Sin embargo, la unidad de codificación aritmética de derivación 5073 puede codificar el signo ± del valor de desplazamiento sao_offset_sign también en el caso del desplazamiento de borde. En este caso, el signo ± del valor de desplazamiento sao_offset_sign se codifica en la etapa S5280.
Además, en este caso, en la etapa S5280, el valor absoluto de desplazamiento sao_offset y el signo ± del valor de desplazamiento sao_offset_sign pueden integrarse y codificarse como un valor de desplazamiento.
La figura 41 es un diagrama de flujo que muestra un ejemplo de descodificación de información de desplazamiento basándose en una combinación de los tipos de la descodificación aritmética ilustrada en la figura 39A, que se realiza mediante la unidad de descodificación de información de desplazamiento 606.
En primer lugar, tras el inicio del procesamiento por la unidad de descodificación de información de desplazamiento 606, la unidad de control de descodificación aritmética 6061 establece la descodificación aritmética de contexto como el procedimiento de descodificación (S6260).
Entonces, la unidad de descodificación aritmética de contexto 6062 carga un contexto para la bandera de ENCENDIDO/APAGADO de procesamiento de desplazamiento sao_on_flag, y descodifica la bandera de ENCENDIDO/APAGADO de procesamiento de desplazamiento sao_on_flag usando el contexto (S6261).
A continuación, la unidad de control de descodificación aritmética 6061 determina si la bandera de ENCENDIDO/APAGADO de procesamiento de desplazamiento sao_on_flag indica o no 1 (S6262). En el presente caso, esta indica que el procesamiento de desplazamiento no se va a realizar sobre la región objetivo a procesar cuando sao_on_flag indica 0, e indica que el procesamiento de desplazamiento se va a realizar sobre la región objetivo cuando sao_on_flag indica 1.
A continuación, cuando sao_on_flag indica 1 (Sí en S6262), la unidad de control de descodificación aritmética 6061 determina si la región objetivo está situada o no en el extremo izquierdo de un segmento o una tesela (S6263). La información de desplazamiento se copia solo de una región en el mismo segmento y la misma tesela. Por esa razón, la determinación descrita anteriormente se realiza antes de la descodificación de la bandera de copia de información de desplazamiento izquierdo sao_merge_left_flag.
Cuando la región objetivo no está situada en el extremo izquierdo (No en S6263), la unidad de descodificación aritmética de contexto 6062 carga un contexto para la bandera de copia de información de desplazamiento izquierdo sao_merge_left_flag. Entonces, la unidad de descodificación aritmética de contexto 6062 descodifica la bandera de copia de información de desplazamiento izquierdo sao_merge_left_flag (S6264).
Cuando la región objetivo está situada en el extremo izquierdo (Sí en S6263) o posteriormente a la descodificación de sao_merge_left_flag (S6264), la unidad de control de descodificación aritmética 6061 determina si sao_merge_left_flag es o no 0 (S6265). En el presente caso, que sao_merge_left_flag sea 0 indica que la información de desplazamiento no se copia desde la región izquierda, y que sao_merge_left_flag sea 1 indica que la información de desplazamiento se copia desde la región izquierda.
Se ha de hacer notar que, cuando no se realiza la descodificación de sao_merge_left_flag (S6264), no existe un valor de sao_merge_left_flag. En este caso, el valor de sao_merge_left_flag se procesa como 0. Además, la unidad de descodificación de información de desplazamiento 606 puede asegurar una memoria para sao_merge_left_flag en el momento de iniciar un proceso, y establecer un valor inicial 0.
A continuación, cuando sao_merge_left_flag indica 0 (Sí en S6265), la unidad de control de descodificación aritmética 6061 determina si la región objetivo está situada o no en el extremo superior de un segmento o una tesela (S6266). Debido a que la información de desplazamiento se copia solo de una región en el mismo segmento y en la misma tesela que con la determinación del extremo izquierdo (S6263), la determinación descrita anteriormente se realiza antes de la descodificación de la bandera de copia de información de desplazamiento superior sao_merge_up_flag.
Cuando la región objetivo no está situada en el extremo superior (No en S6266), la unidad de descodificación aritmética de contexto 6062 carga un contexto para la bandera de copia de información de desplazamiento superior sao_merge_up_flag. Entonces, la unidad de descodificación aritmética de contexto 6062 descodifica la bandera de copia de información de desplazamiento superior sao_merge_up_flag (S6267).
Cuando la región objetivo está situada en el extremo superior (Sí en S6266) o posteriormente a la descodificación de sao_merge_up_flag (S6267), la unidad de control de descodificación aritmética 6061 determina si sao_merge_up_flag es o no 0 (S6268). En el presente caso, que sao_merge_up_flag sea 0 indica que la información de desplazamiento no se copia desde la región superior, y que sao_merge_up_flag sea 1 indica que la información de desplazamiento se copia desde la región superior.
Se ha de hacer notar que, cuando no se realiza la descodificación de sao_merge_up_flag (S6267), no existe un valor de sao_merge_up_flag. En este caso, el valor de sao_merge_up_flag se procesa como 0. Además, la unidad de descodificación de información de desplazamiento 606 puede asegurar una memoria para sao_merge_up_flag en el momento de iniciar un proceso, y establecer un valor inicial 0.
A continuación, cuando sao_merge_up_flag indica 0 (Sí en S6268), la unidad de control de descodificación aritmética 6061 conmuta el procedimiento de descodificación a la descodificación aritmética de derivación (S6269). Con esto, la descodificación aritmética de derivación se usa de principio a fin de las etapas de descodificación posteriores.
A continuación, la unidad de descodificación aritmética de derivación 6063 descodifica el procedimiento de clasificación de píxeles sao_type_idx y el valor absoluto de desplazamiento sao_offset (S6270). En el presente caso, en esta realización, el número de valores absolutos de desplazamiento sao_offset es cuatro en cualquiera de los procedimientos de clasificación de píxeles. Sin embargo, la unidad de descodificación aritmética de derivación 6063 puede descodificar los valores absolutos de desplazamiento que son diferentes en número para cada uno de los procedimientos de clasificación de píxeles.
Entonces, la unidad de control de descodificación aritmética 6061 determina si el procedimiento de clasificación de píxeles es o no el desplazamiento de banda (S6271). En el presente caso, la unidad de control de descodificación aritmética 6061 usa el procedimiento de clasificación de píxeles sao_type_idx para la determinación.
En este ejemplo, al desplazamiento de banda se le asigna 0 como un valor de sao_type_idx. Por esa razón, la unidad de control de descodificación aritmética 6061 determina que el procedimiento de clasificación de píxeles es el desplazamiento de banda cuando sao_type_idx es 0, y que el procedimiento de clasificación de píxeles no es el desplazamiento de banda cuando sao_type_idx no es 0.
Cuando el procedimiento de clasificación de píxeles es el desplazamiento de banda (Sí en S6271), la unidad de descodificación aritmética de derivación 6063 descodifica el signo ± del valor de desplazamiento sao_offset_sign y la categoría de inicio de codificación de desplazamiento de banda sao_band_position (S6272).
Se ha de hacer notar que, en esta realización, la unidad de descodificación aritmética de derivación 6063 descodifica el signo ± del valor de desplazamiento sao_offset_sign solo en el caso del desplazamiento de banda. Sin embargo, la unidad de descodificación aritmética de derivación 6063 puede descodificar el signo ± del valor de desplazamiento sao_offset_sign también en el caso del desplazamiento de borde. En este caso, el signo ± del valor de desplazamiento sao_offset_sign se descodifica en la etapa S6270.
Además, en este caso, en la etapa S6270, el valor absoluto de desplazamiento sao_offset y el signo ± del valor de desplazamiento sao_offset_sign pueden integrarse y descodificarse como un valor de desplazamiento.
Como se ha descrito anteriormente, la codificación (descodificación) aritmética de derivación se usa para la codificación (descodificación) de todos los parámetros que siguen a los tres parámetros superiores de la bandera de ENCENDIDO/APAGADO de procesamiento de desplazamiento sao_on_flag, la bandera de copia de información de desplazamiento izquierdo sao_merge_left_flag, y la bandera de copia de información de desplazamiento superior sao_merge_up_flag. Esto elimina la necesidad de que el aparato de codificación de imágenes y el aparato de descodificación de imágenes carguen y actualicen contextos en todas partes. Por lo tanto, se mejora el caudal.
La figura 39B ilustra un resultado basándose en las condiciones de prueba especificadas en la norma de HEVC (véase el documento NPL 2), como un desempeño objetivo de acuerdo con el ejemplo de la figura 39A.
En la figura 39B, Configuración indica condiciones de establecimiento de parámetros de codificación. La tasa de BD indica un índice objetivo calculado a partir de una relación de señal a ruido pico (PSNR) de una imagen reconstruida y una cantidad de código de un flujo codificado. Una tasa de BD negativa indica una mejora en el desempeño objetivo y una tasa de BD positiva indica un deterioro en el desempeño objetivo. Se ha de hacer notar que la tasa de BD en la figura 39B indica una mejora o un deterioro en el desempeño objetivo de acuerdo con el ejemplo de la figura 39A basándose en la comparación con la realización 1.
Como se ilustra en la figura 39B, la tasa de BD cae dentro de un intervalo de ± 0,1. Esto indica que el desempeño objetivo de acuerdo con el ejemplo de la figura 39A es sustancialmente equivalente al desempeño objetivo de la realización 1. Esto significa que hay menos deterioro en el desempeño objetivo y que el caudal se mejora en el ejemplo de la figura 39A.
La figura 42 es un diagrama de flujo que muestra un ejemplo de la característica de la codificación descrita anteriormente. En primer lugar, la unidad de codificación aritmética de contexto 5072 codifica de forma consecutiva la primera información y la segunda información mediante la codificación aritmética de contexto (S711). La codificación aritmética de contexto es una codificación aritmética que usa una probabilidad variable. La primera información indica si realizar o no, para la primera región de una imagen, el procesamiento de desplazamiento adaptativo de muestra (SAO) que es un procesamiento de desplazamiento sobre un valor de píxel. La segunda información indica si usar o no, en el procesamiento de SAO para la primera región, información del procesamiento de SAO sobre una región que no sea la primera región.
Por ejemplo, de acuerdo con el ejemplo mostrado en la figura 33, la unidad de codificación aritmética de contexto 5072 codifica, como la primera información, un valor del bit inicial en la cadena de bits del parámetro que indica el tipo del procesamiento de SAO para la primera región.
A continuación, la unidad de codificación aritmética de derivación 5073, después de que se hayan codificado la primera información y la segunda información, codifica la otra información mediante la codificación aritmética de derivación (S712). La codificación aritmética de derivación es una codificación aritmética que usa una probabilidad fija. Otra información es información acerca del procesamiento de SAO para la primera región y diferente de la primera información o la segunda información. Además, la otra información incluye una tercera información que indica si el procesamiento de SAO para la primera región es el procesamiento de desplazamiento de borde o el procesamiento de desplazamiento de banda.
Por ejemplo, de acuerdo con el ejemplo mostrado en la figura 33, la unidad de codificación aritmética de derivación 5073 codifica, como la tercera información, un valor de un bit siguiente a continuación del bit inicial en la cadena de bits del parámetro que indica el tipo del procesamiento de SAO para la primera región. En el presente caso, el valor del bit siguiente a continuación del bit inicial indica el desplazamiento de banda o el desplazamiento de borde como en el ejemplo de la figura 25.
La figura 43 es un diagrama de flujo que muestra un ejemplo de la característica de la descodificación descrita anteriormente. En primer lugar, la unidad de descodificación aritmética de contexto 6062 descodifica de forma consecutiva la primera información y la segunda información mediante la descodificación aritmética de contexto (S721). La descodificación aritmética de contexto es una descodificación aritmética que usa una probabilidad variable. La primera información indica si realizar o no, para la primera región de una imagen, el procesamiento de desplazamiento adaptativo de muestra (SAO) que es un procesamiento de desplazamiento sobre un valor de píxel. La segunda información indica si usar o no, en el procesamiento de SAO para la primera región, información del procesamiento de SAO para una región que no sea la primera región.
Por ejemplo, de acuerdo con el ejemplo mostrado en la figura 33, la unidad de descodificación aritmética de contexto 6062 descodifica, como la primera información, un valor del bit inicial en la cadena de bits del parámetro que indica el tipo del procesamiento de SAO para la primera región, usando la descodificación aritmética de contexto.
A continuación, la unidad de descodificación aritmética de derivación 6063, después de que se hayan descodificado la primera información y la segunda información, descodifica la otra información mediante la descodificación aritmética de derivación (S722). La descodificación aritmética de derivación es una descodificación aritmética que usa una probabilidad fija. Otra información es información acerca del procesamiento de SAO para la primera región y diferente de la primera información o la segunda información. Además, la otra información incluye la tercera información que indica si el procesamiento de SAO sobre la primera región es el procesamiento de desplazamiento de borde realizado de acuerdo con un borde, o el procesamiento de desplazamiento de banda realizado de acuerdo con un valor de píxel.
Por ejemplo, de acuerdo con el ejemplo mostrado en la figura 33, la unidad de descodificación aritmética de derivación 6063 descodifica, como la tercera información, un valor del bit siguiente a continuación del bit inicial en la cadena de bits del parámetro que indica el tipo del procesamiento de SAO para la primera región. En el presente caso, el valor del bit siguiente a continuación del bit inicial indica el desplazamiento de banda o el desplazamiento de borde como en el ejemplo de la figura 25.
Se ha de hacer notar que la invención procesa de forma consecutiva la primera información y la tercera información que corresponden a un único parámetro, procesando la segunda información antes que la primera información.
Además, el orden de la codificación es un orden en el que la información se escribe en un flujo codificado como un signo (código), y el orden de descodificación es un orden en el que un signo (código) se lee de un flujo codificado como información. Por lo tanto, el orden de la codificación y descodificación ejemplificado anteriormente con referencia a los varios diagramas corresponde al orden de la información en un flujo codificado. Además, el orden de los elementos de sintaxis ejemplificados anteriormente con referencia a varios diagramas corresponde al orden de la información en un flujo codificado y al orden de la codificación y descodificación.
Además, el procesamiento de desplazamiento de borde se realiza, más específicamente, basándose en la clasificación de acuerdo con el borde. Además, el procesamiento de desplazamiento de banda se realiza, más específicamente, basándose en la clasificación de acuerdo con el valor de píxel.
Además, el aparato de codificación de imágenes puede ser un aparato que realiza solo los procesos ilustrados en la figura 42. Asimismo, el aparato de descodificación de imágenes puede ser un aparato que realiza solo los procesos ilustrados en la figura 43. Otros procesos pueden ser realizados por otros aparatos.
Como se ha descrito anteriormente, el aparato de codificación de imágenes de acuerdo con esta realización es capaz de codificar una imagen con una eficiencia de procesamiento alta. Además, el aparato de descodificación de imágenes de acuerdo con esta realización es capaz de descodificar una imagen con una eficiencia de procesamiento alta.
Cada uno de los elementos estructurales en cada una de las realizaciones anteriormente descritas puede configurarse en forma de un producto de hardware exclusivo, o pueden realizarse ejecutando un programa de software adecuado para el elemento estructural. Cada uno de los elementos estructurales puede realizarse por medio de una unidad de ejecución de programa, tal como una CPU y un procesador, leyendo y ejecutando el programa de software grabado en un medio de grabación tal como un disco duro o una memoria de semiconductores.
En otras palabras, el aparato de codificación de imágenes y el aparato de descodificación de imágenes incluyen una circuitería de control y un almacenamiento que está eléctricamente conectado a la circuitería de control (que es accesible desde la circuitería de control). La circuitería de control incluye al menos uno del producto de hardware exclusivo y la unidad de ejecución de programas. Además, cuando la circuitería de control incluye la unidad de ejecución de programas, el almacenamiento almacena un programa de software que es ejecutado por la unidad de ejecución de programas.
En este caso, el software que logra el aparato de codificación de imágenes de acuerdo con cada una de las realizaciones descritas anteriormente es un programa como a continuación.
En otras palabras, el programa da lugar a que un ordenador ejecute un procedimiento de codificación de imágenes definido en la reivindicación 1.
Además, el programa puede dar lugar a que un ordenador ejecute un procedimiento de descodificación de imágenes definido en la reivindicación 5.
Además, cada uno de los elementos estructurales puede ser un circuito. Las circuiterías se pueden configurar como una única circuitería en su conjunto o pueden ser circuiterías mutuamente diferentes. Además, cada uno de los elementos estructurales puede implementarse como un procesador de propósito general o como un procesador dedicado.
El aparato de codificación de imágenes y similares de acuerdo con uno o más aspectos se han descrito anteriormente basándose en realizaciones. Sin embargo, la presente invención no se limita a esas realizaciones. Los expertos en la materia apreciarán fácilmente que se pueden realizar diversas modificaciones en la realización, y se pueden realizar otras realizaciones combinando arbitrariamente algunos de los elementos estructurales de diferentes realizaciones sin apartarse materialmente del ámbito de la presente invención.
Por ejemplo, cuando hay una tendencia en la probabilidad de aparición de símbolos de la información de desplazamiento que no sea la bandera de ENCENDIDO/APAGADO de procesamiento de desplazamiento y la bandera de copia de información de desplazamiento, el aparato de codificación de imágenes puede codificar la información de desplazamiento usando la codificación aritmética de contexto. Asimismo, el aparato de descodificación de imágenes puede descodificar la información de desplazamiento usando la descodificación aritmética de contexto.
Además, se puede proporcionar un diseño óptimo de modo que cada una de la información de desplazamiento a la que se aplica la codificación (descodificación) aritmética de contexto y la información de desplazamiento a la que se aplica la codificación (descodificación) aritmética de derivación se codifican (descodifican) de forma consecutiva tanto como sea posible.
Además, la bandera de copia de información de desplazamiento puede indicar si copiar o no la información de desplazamiento de una región adyacente que está ubicada en una zona que no esté a la izquierda o por encima de la región objetivo. Además, puede estar presente una cualquiera de la bandera de copia de información de desplazamiento izquierdo o la bandera de copia de información de desplazamiento superior.
Por ejemplo, un aparato de codificación y de descodificación de imágenes puede incluir el aparato de codificación de imágenes y el aparato de descodificación de imágenes. Además, los procesos ejecutados por una unidad de procesamiento específica pueden ser realizados por una unidad de procesamiento diferente. Además, se puede cambiar el orden en el que se realizan los procesos, o se puede realizar una pluralidad de procesos en paralelo. Además, se puede añadir a la configuración una unidad de almacenamiento común o una dedicada para almacenar una diversidad de elementos de información.
(Realización 4)
El procesamiento descrito en cada una de las realizaciones puede implementarse simplemente en un sistema informático independiente, grabando, en un medio de grabación, un programa para que implementa las configuraciones del procedimiento de codificación de instantáneas en movimiento (procedimiento de codificación de imágenes) y el procedimiento de descodificación de instantáneas en movimiento (procedimiento de descodificación de imágenes) descritos en cada una de las realizaciones. El medio de grabación puede ser cualquier medio de grabación siempre que el programa pueda grabarse, tal como un disco magnético, un disco óptico, un disco óptico magnético, una tarjeta de CI, y una memoria de semiconductores.
Posteriormente en el presente documento, se describirán las aplicaciones al procedimiento de codificación de instantáneas en movimiento (procedimiento de codificación de imágenes) y al procedimiento de descodificación de instantáneas en movimiento (procedimiento de descodificación de imágenes) descritos en cada una de las realizaciones, y sistemas que usan los mismos. El sistema tiene una característica de tener un aparato de codificación y de descodificación de imágenes que incluye un aparato de codificación de imágenes que usa el procedimiento de codificación de imágenes y un aparato de descodificación de imágenes que usa el procedimiento de descodificación de imágenes. Pueden cambiarse otras configuraciones en el sistema según sea apropiado, dependiendo de los casos.
La figura 44 ilustra una configuración general de un sistema de provisión de contenido ex100 para la implementación de servicios de distribución de contenido. El área para proporcionar servicios de comunicación se divide en células de tamaño deseado, y las estaciones base ex106, ex107, ex108, ex109 y ex110 que son estaciones inalámbricas fijas se colocan en cada una de las células.
El sistema de provisión de contenido ex100 está conectado a dispositivos, tales como a un ordenador ex111, un asistente digital personal (PDA) ex112, una cámara ex113, un teléfono celular ex114 y una máquina de juegos ex115, mediante Internet ex101, un proveedor de servicios de Internet ex102, una red de telefonía ex104, así como a las estaciones base ex106 a ex110, respectivamente.
Sin embargo, la configuración del sistema de provisión de contenido ex100 no se limita a la configuración mostrada en la figura 44, y es aceptable una combinación en la que está conectado cualquiera de los elementos. Además, cada dispositivo puede estar directamente conectado a la red de telefonía ex104, en lugar de mediante las estaciones base ex106 a ex110 que son las estaciones inalámbricas fijas. Adicionalmente, los dispositivos pueden interconectarse entre sí mediante una comunicación inalámbrica de corta distancia y otras.
La cámara ex113, tal como una cámara de vídeo digital, puede capturar vídeo. Una cámara ex116, tal como una cámara digital, puede capturar tanto imágenes fijas como vídeo. Adicionalmente, el teléfono celular ex114 puede ser el que cumple cualquiera de las normas tales como el Sistema Global para Comunicación Móvil (GSM) (marca registrada), Acceso Múltiple por División de Código (CDMA), Acceso Múltiple por División de Código de Banda Ancha (W-CDMA), Evolución a Largo Plazo (LTE) y Acceso por Paquetes a Alta Velocidad (HSPA). Como alternativa, el teléfono celular ex114 puede ser un Sistema Móvil Personal (PHS).
En el sistema de provisión de contenido ex100, un servidor de envío por flujo continuo ex103 está conectado a la cámara ex113 y a otros mediante la red de telefonía ex104 y la estación base ex109, que posibilita la distribución de imágenes de un espectáculo en directo y otros. En una distribución de este tipo, un contenido (por ejemplo, vídeo de un espectáculo en directo de música) capturado por el usuario que usa la cámara ex113 se codifica como se ha descrito anteriormente en cada una de las realizaciones (es decir, la cámara funciona como el aparato de codificación de imágenes de acuerdo con un aspecto de la presente invención), y el contenido codificado se transmite al servidor de flujo continuo ex103. Por otra parte, el servidor de flujo continuo ex103 lleva a cabo distribución de flujo en los datos de contenido transmitidos a los clientes tras sus solicitudes. Los clientes incluyen el ordenador ex111, el PDA ex112, la cámara ex113, el teléfono celular ex114, y la máquina de juegos ex115 que pueden descodificar los datos codificados anteriormente mencionados. Cada uno de los dispositivos que han recibido los datos distribuidos descodifican y reproducen los datos codificados (es decir, funciona como el aparato de descodificación de imágenes de acuerdo con un aspecto de la presente invención).
Los datos capturados pueden codificarse por la cámara ex113 o el servidor de flujo continuo ex103 que transmite los datos, o los procedimientos de codificación pueden compartirse entre la cámara ex113 y el servidor de flujo continuo ex103. De manera similar, los datos distribuidos pueden descodificarse por los clientes o el servidor de flujo continuo ex103, o los procedimientos de descodificaciones pueden compartirse entre los clientes y el servidor de flujo continuo ex103. Adicionalmente, los datos de las imágenes fijas y el vídeo capturado no únicamente por la cámara ex113 sino también por la cámara ex116 pueden transmitirse al servidor de flujo continuo ex103 a través del ordenador ex111. Los procedimientos de codificación pueden realizarse por la cámara ex116, el ordenador ex111, o el servidor de flujo continuo ex103, o compartirse entre ellos.
Adicionalmente, los procedimientos de codificación y descodificación pueden realizarse por un LSI ex500 generalmente incluido en cada uno del ordenador ex111 y los dispositivos. El LSI ex500 puede estar configurado de un único chip o una pluralidad de chips. El software para codificar y descodificar vídeo puede estar integrado en algún tipo de un medio de grabación (tal como un CD-ROM, un disco flexible y un disco duro) que es legible por el ordenador ex111 y otros, y los procedimientos de codificación y descodificación pueden realizarse usando el software. Adicionalmente, cuando el teléfono celular ex114 está equipado con una cámara, los datos de vídeo obtenidos por la cámara pueden transmitirse. Los datos de vídeo son datos codificados por el LSI ex500 incluido en el teléfono celular ex114.
Adicionalmente, el servidor de flujo continuo ex103 puede estar compuesto por servidores y ordenadores, y puede descentralizar los datos y procesar los datos descentralizados, registrar o distribuir los datos.
Como se ha descrito anteriormente, los clientes pueden recibir y reproducir los datos codificados en el sistema de provisión de contenido ex100. En otras palabras, los clientes pueden recibir y descodificar información transmitida por el usuario, y reproducir los datos descodificados en tiempo real en el sistema de provisión de contenido ex100, de modo que el usuario que no tiene ningún derecho y equipo particular puede implementar difusión personal.
Además del ejemplo del sistema de provisión de contenido ex100, al menos uno del aparato de codificación de instantáneas en movimiento (aparato de codificación de imágenes) y el aparato de descodificación de instantáneas en movimiento (aparato de descodificación de imágenes) descritos en cada una de las realizaciones pueden implementarse en un sistema de difusión digital ex200 ilustrado en la figura 45. Más específicamente, una estación de difusión ex201 comunica o transmite mediante ondas de radio a un satélite de difusión ex202, datos multiplexados obtenidos multiplexando datos de audio y otros en datos de vídeo. Los datos de vídeo son datos codificados por el procedimiento de codificación de instantáneas en movimiento descrito en cada una de las realizaciones (es decir, datos codificados por el aparato de codificación de imágenes de acuerdo con un aspecto de la presente invención). Tras la recepción de los datos multiplexados, el satélite de difusión ex202 transmite ondas de radio para difusión. A continuación, una antena de uso doméstico ex204 con una función de recepción de difusión por satélite recibe las ondas de radio. A continuación, un dispositivo tal como una televisión (receptor) ex300 y un descodificador de salón (STB) ex217 descodifica los datos multiplexados recibidos, y reproduce los datos descodificados (es decir, funciona como el aparato de descodificación de imágenes de acuerdo con un aspecto de la presente invención).
Adicionalmente, un lector/grabador ex218 (i) lee y descodifica los datos multiplexados grabados en un medio de grabación ex215, tal como un DVD y un BD, o (i) codifica señales de vídeo en el medio de grabación ex215, y en algunos casos, escribe datos obtenidos multiplexando una señal de audio en los datos codificados. El lector/grabador ex218 puede incluir el aparato de descodificación de instantáneas en movimiento o el aparato de codificación de instantáneas en movimiento como se muestra en cada una de las realizaciones. En este caso, las señales de vídeo reproducidas se visualizan en el monitor ex219, y pueden reproducirse por otro dispositivo o sistema usando el medio de grabación ex215 en el que se graban los datos multiplexados. Es también posible implementar el aparato de descodificación de instantáneas en movimiento en el descodificador de salón ex217 conectado al cable ex203 para una televisión por cable o a la antena ex204 para difusión por satélite y/o terrestre, para visualizar las señales de vídeo en el monitor ex219 de la televisión ex300. El aparato de descodificación de instantáneas en movimiento puede implementarse no en el descodificador de salón sino en la televisión ex300.
La figura 46 ilustra la televisión (receptor) ex300 que usa el procedimiento de codificación de instantáneas en movimiento y el procedimiento de descodificación de instantáneas en movimiento descritos en cada una de las realizaciones. La televisión ex300 incluye: un sintonizador ex301 que obtiene o proporciona datos multiplexados obtenidos multiplexando datos de audio a datos de vídeo, a través de la antena ex204 o el cable ex203, etc. que recibe una difusión; una unidad de modulación/desmodulación ex302 que desmodula los datos multiplexados recibidos o modula datos en datos multiplexados a suministrarse al exterior; y una unidad de multiplexación/desmultiplexación ex303 que desmultiplexa los datos multiplexados modulados en datos de vídeo y datos de audio, o multiplexa datos de vídeo y datos de audio codificados por una unidad de procesamiento de señal en datos ex306.
La televisión ex300 incluye adicionalmente: una unidad de procesamiento de señales ex306 que incluye una unidad de procesamiento de señales de audio ex304 y una unidad de procesamiento de señales de vídeo ex305 que descodifican datos de audio y datos de vídeo y codifican datos de audio y datos de vídeo, respectivamente (que funciona como el aparato de codificación de imágenes y el aparato de descodificación de imágenes de acuerdo con los aspectos de la presente invención); y una unidad de salida ex309 que incluye un altavoz ex307 que proporciona la señal de audio descodificada, y una unidad de visualización ex308 que visualiza la señal de vídeo descodificada, tal como una pantalla. Adicionalmente, la televisión ex300 incluye una unidad de interfaz ex317 que incluye una unidad de entrada de operación ex312 que recibe una entrada de una operación de usuario. Adicionalmente, la televisión ex300 incluye una unidad de control ex310 que controla de manera global cada elemento constituyente de la televisión ex300, y una unidad de circuito de fuente de alimentación ex311 que suministra potencia a cada uno de los elementos. Además de la unidad de entrada de operación ex312, la unidad de interfaz ex317 puede incluir: un puente ex313 que se conecta a un dispositivo externo, tal como el lector/grabador ex218; una unidad de ranura ex314 para posibilitar la conexión del medio de grabación ex216, tal como una tarjeta de SD; un controlador ex315 para conectarse a un medio de grabación externo, tal como un disco duro; y un módem ex316 para conectarse a una red de telefonía. En este punto, el medio de grabación ex216 puede grabar eléctricamente información usando un elemento de memoria de semiconductores no volátil/volátil para almacenamiento. Los elementos constituyentes de la televisión ex300 están conectados entre sí a través de un bus síncrono.
En primer lugar, se describirá la configuración en la que la televisión ex300 descodifica datos multiplexados obtenidos desde el exterior a través de la antena ex204 y otros y reproduce los datos descodificados. En la televisión ex300, después de la operación de un usuario a través de un controlador remoto ex220 y otros, la unidad de multiplexación/desmultiplexación ex303 desmultiplexa los datos multiplexados desmodulados por la unidad de modulación/desmodulación ex302, bajo el control de la unidad de control ex310 que incluye una CPU. Adicionalmente, la unida ex304 de procesamiento de señal de audio descodifica los datos de audio desmultiplexados, y la unidad de procesamiento de señal de vídeo ex305 descodifica los datos de vídeo desmultiplexados, usando el procedimiento de descodificación descrito en cada una de las realizaciones, en la televisión ex300. La unidad de salida ex309 proporciona la señal de vídeo descodificada y la señal de audio al exterior, respectivamente. Cuando la unidad de salida ex309 proporciona la señal de vídeo y la señal de audio, las señales pueden almacenarse temporalmente en las memorias intermedias ex318 y ex319, y otros de modo que las señales se reproducen en sincronización entre sí. Adicionalmente, la televisión ex300 puede leer datos multiplexados no a través de una difusión y otros sino desde el medio de grabación ex215 y ex216, tal como un disco magnético, un disco óptico, y una tarjeta de SD. A continuación, se describirá una configuración en la que la televisión ex300 codifica una señal de audio y una señal de vídeo, y transmite los datos al exterior o escribe los datos en un medio de grabación. En la televisión ex300, después de una operación de usuario a través del controlador remoto ex220 y otros, la unidad de procesamiento de señal de audio ex304 codifica una señal de audio, y la unidad de procesamiento de señal de vídeo ex305 codifica una señal de vídeo, bajo el control de la unidad de control ex310 usando el procedimiento de codificación descrito en cada una de las realizaciones. La unidad de multiplexación/desmultiplexación ex303 multiplexa la señal de vídeo y la señal de audio codificadas, y proporciona la señal resultante al exterior. Cuando la unidad de multiplexación/desmultiplexación ex303 multiplexa la señal de vídeo y la señal de audio, las señales pueden almacenarse temporalmente en las memorias intermedias ex320 y ex321, y otros de modo que las señales se reproducen en sincronización entre sí. En este punto, las memorias intermedias ex318, ex319, ex320 y ex321 pueden ser varias como se ilustra, o al menos una memoria intermedia puede compartirse en la televisión ex300. Adicionalmente, se pueden almacenar datos en una memoria intermedia de modo que puede evitarse el desbordamiento y subdesbordamiento del sistema entre la unidad de modulación/desmodulación ex302 y la unidad de multiplexación/desmultiplexación ex303, por ejemplo.
Adicionalmente, la televisión ex300 puede incluir una configuración para recibir una entrada de AV desde un micrófono o una cámara distinta de la configuración para obtener datos de audio y de vídeo desde una difusión o de un medio de grabación, y puede codificar los datos obtenidos. Aunque la televisión ex300 puede codificar, multiplexar y proporcionar datos al exterior en la descripción, puede únicamente recibir, descodificar y proporcionar datos al exterior pero no codificar, multiplexar y proporcionar datos al exterior.
Adicionalmente, cuando el lector/grabador ex218 lee o escribe datos multiplexados desde o en un medio de grabación, una de la televisión ex300 y el lector/grabador ex218 pueden descodificar o codificar los datos multiplexados, y la televisión ex300 y el lector/grabador ex218 puede compartir la descodificación o codificación.
Como un ejemplo, la figura 47 ilustra una configuración de una unidad de reproducción/grabación de información ex400 cuando se leen o escriben datos desde o en un disco óptico. La unidad de reproducción/grabación de información ex400 incluye los elementos constituyentes ex401, ex402, ex403, ex404, ex405, ex406 y ex407 que se describen en lo sucesivo. El cabezal óptico ex401 irradia un punto láser en una superficie de grabación del medio de grabación ex215 que es un disco óptico para escribir información, y detecta luz reflejada desde la superficie de grabación del medio de grabación ex215 para leer la información. La unidad de grabación de modulación ex402 acciona eléctricamente un láser de semiconductores incluido en el cabezal óptico ex401, y modula la luz de láser de acuerdo con datos grabados. La unidad de desmodulación de reproducción ex403 amplifica una señal de reproducción obtenida detectando eléctricamente la luz reflejada desde la superficie de grabación usando un fotodetector incluido en el cabezal óptico ex401, y desmodula la señal de reproducción separando una componente de señal grabada en el medio de grabación ex215 para reproducir la información necesaria. La memoria intermedia ex404 mantiene temporalmente la información a grabarse en el medio de grabación ex215 y la información reproducida desde el medio de grabación ex215. El motor de disco ex405 gira el medio de grabación ex215. La unidad de servocontrol ex406 mueve el cabezal óptico ex401 a una pista de información predeterminada mientras controla el mecanismo de rotación del motor de disco ex405 para seguir el punto láser. La unidad de control de sistema ex407 controla la totalidad de la unidad de reproducción/grabación de información ex400. Los procedimientos de lectura y escritura pueden implementarse por la unidad de control de sistema ex407 usando diversa información almacenada en la memoria intermedia ex404 y generando y añadiendo nueva información según sea necesaria, y por la unidad de grabación de modulación ex402, la unidad de desmodulación de reproducción ex403, y la unidad de servocontrol ex406 que graban y reproducen información a través del cabezal óptico ex401 mientras se operan de una manera coordinada. La unidad de control de sistema ex407 incluye, por ejemplo, un microprocesador y ejecuta procesamiento provocando que un ordenador ejecute un programa para lectura y escritura.
Aunque el cabezal óptico ex401 irradia un punto láser en la descripción, puede realizar grabación de alta densidad usando luz de campo cercano.
La figura 48 ilustra el medio de grabación ex215 que es el disco óptico. En la superficie de grabación del medio de grabación ex215, se forman de manera espiral surcos de guía, y una pista de información ex230 graba, con antelación, información de dirección que indica una posición absoluta en el disco de acuerdo con el cambio en una forma de las ranuras de guía. La información de dirección incluye información para determinar posiciones de bloques de grabación ex231 que son una unidad para grabar datos. Reproducir la pista de información ex230 y leer la información de dirección en un aparato que graba y reproduce datos puede conducir a la determinación de las posiciones de los bloques de grabación. Adicionalmente, el medio de grabación ex215 incluye un área de grabación de datos ex233, un área de circunferencia interna ex232, y un área de circunferencia externa ex234. El área de grabación de datos ex233 es un área para su uso al grabar los datos de usuario. El área de circunferencia interna ex232 y el área de circunferencia externa ex234 que están en el interior y el exterior del área de grabación de datos ex233, respectivamente son para uso específico excepto para la grabación de los datos de usuario. La unidad de reproducción/grabación de información 400 lee y escribe datos de audio codificado, datos de vídeo codificado, o datos multiplexados obtenidos multiplexando los datos de audio y vídeo codificados, desde y en el área de grabación de datos ex233 del medio de grabación ex215.
Aunque se describe un disco óptico que tiene una capa, tal como un DVD y un BD como un ejemplo en la descripción, el disco óptico no se limita a esto, y puede ser un disco óptico que tiene una estructura de múltiples capas y que puede grabarse en una parte distinta de la superficie. Adicionalmente, el disco óptico puede tener una estructura para grabación/reproducción multidimensional, tal como grabación de información usando luz de colores con diferentes longitudes de onda en la misma porción del disco óptico y para grabar información que tiene diferentes capas desde diferentes ángulos.
Adicionalmente, un coche ex210 que tiene una antena ex205 puede recibir datos desde el satélite ex202 y otros, y reproducir vídeo en un dispositivo de visualización tal como un sistema de navegación de coche ex211 establecido en el coche ex210, en el sistema de difusión digital ex200. En este punto, una configuración del sistema de navegación de automóvil ex211 será una configuración, por ejemplo, que incluye una unidad de recepción de GPS a partir de la configuración ilustrada en la figura 46. Lo mismo se cumplirá para la configuración del ordenador ex111, el teléfono celular ex114, y otros.
La figura 49A ilustra el teléfono celular ex114 que usa el procedimiento de codificación de instantáneas en movimiento y el procedimiento de descodificación de instantáneas en movimiento descritos en las realizaciones. El teléfono celular ex114 incluye: una antena ex350 para transmitir y recibir ondas de radio a través de la estación base ex110; una unidad de cámara ex365 capaz de capturar imágenes en movimiento y fijas; y una unidad de visualización ex358 tal como un visualizador de cristal líquido para visualizar datos tales como vídeo descodificado capturado por la unidad de cámara ex365 o recibido por la antena ex350. El teléfono celular ex114 incluye adicionalmente: una unidad de cuerpo principal que incluye una unidad de teclas de operación ex366; una unidad de salida de audio ex357 tal como un altavoz para la salida de audio; una unidad de entrada de audio ex356 tal como un micrófono para la entrada de audio; una unidad de memoria ex367 para almacenar vídeo capturado o instantáneas fijas, audio grabado, datos codificados o des codificados del vídeo recibido, las instantáneas fijas, correos electrónicos, u otros; y una unidad de ranura ex364 que es una unidad de interfaz para un medio de grabación que almacena datos de la misma forma que la unidad de memoria ex367.
A continuación, un ejemplo de una configuración del teléfono celular ex114 se describirá con referencia a la figura 49B. En el teléfono celular ex114, una unidad de control principal ex360 diseñada para controlar en general cada unidad del cuerpo principal que incluye la unidad de visualización ex358 así como la unidad de teclas de operación ex366 se conecta mutuamente, a través de un bus síncrono ex370, a una unidad de circuito de fuente de alimentación ex361, una unidad de control de entrada de operación ex362, una unidad de procesamiento de señales de vídeo ex355, una unidad de interfaz de cámara ex363, una unidad de control de pantalla de cristal líquido (LCD) ex359, una unidad de modulación/desmodulación ex352, una unidad de multiplexación/desmultiplexación ex353, una unidad de procesamiento de señales de audio ex354, la unidad de ranura ex364 y la unidad de memoria ex367.
Cuando una tecla de fin de llamada o una tecla de alimentación es activada por una operación de un usuario, la unidad de circuito de fuente de alimentación ex361 abastece a las unidades respectivas con alimentación procedente de un paquete de batería con el fin de activar el teléfono celular ex114.
En el teléfono celular ex114, la unidad de procesamiento de señales de audio ex354 convierte las señales de audio recogidas por la unidad de entrada de audio ex356 en modo de conversación por voz en señales de audio digital bajo el control de la unidad de control principal ex360 que incluye una CPU, ROM y RAM. Entonces, la unidad de modulación/desmodulación ex352 realiza un procesamiento de espectro ensanchado sobre las señales de audio digital, y la unidad de transmisión y de recepción ex351 realiza una conversión de analógico a digital y una conversión en frecuencia sobre los datos, con el fin de transmitir los datos resultantes por medio de la antena ex350. Asimismo, en el teléfono celular ex114, la unidad de transmisión y de recepción ex351 amplifica los datos recibidos por la antena ex350 en modo de conversación por voz y realiza la conversión en frecuencia y la conversión de digital a analógico sobre los datos. Entonces, la unidad de modulación/desmodulación ex352 realiza un procesamiento de espectro ensanchado inverso sobre los datos, y la unidad de procesamiento de señales de audio ex354 los convierte en señales de audio analógico, con el fin de emitir las mismas por medio de la unidad de salida de audio ex357.
Además, cuando se transmite un correo electrónico en modo de comunicación de datos, datos de texto del correo electrónico introducido al operar la unidad de teclas de operación ex366 y otros del cuerpo principal se envían fuera a la unidad de control principal ex360 por medio de la unidad de control de entrada de operación ex362. La unidad de control principal ex360 da lugar a que la unidad de modulación/desmodulación ex352 realice un procesamiento de espectro ensanchado sobre los datos de texto, y la unidad de transmisión y de recepción ex351 realiza la conversión de analógico a digital y la conversión en frecuencia sobre los datos resultantes para transmitir los datos a la estación base ex110 por medio de la antena ex350. Cuando se recibe un correo electrónico, un procesamiento que es aproximadamente inverso al procesamiento para transmitir un correo electrónico se realiza sobre los datos recibidos, y los datos resultantes se proporcionan a la unidad de visualización ex358.
Cuando se transmite o transmiten vídeo, imágenes fijas o vídeo y audio en modo de comunicación de datos, la unidad de procesamiento de señales de vídeo ex355 comprime y codifica señales de vídeo suministradas desde la unidad de cámara ex365 usando el procedimiento de codificación de instantáneas en movimiento mostrado en cada una de las realizaciones (es decir, funciona como el aparato de codificación de imágenes de acuerdo con el aspecto de la presente invención), y transmite los datos de vídeo codificados a la unidad de multiplexación/desmultiplexación ex353. En contraposición, durante cuando la unidad de cámara ex365 captura vídeo, imágenes fijas, y otros, la unidad de procesamiento de señales de audio ex354 codifica las señales de audio recogidas por la unidad de entrada de audio ex356, y transmite los datos de audio codificados a la unidad de multiplexación/desmultiplexación ex353.
La unidad de multiplexación/desmultiplexación ex353 multiplexa los datos de vídeo codificados suministrados desde la unidad de procesamiento de señales de vídeo ex355 y los datos de audio codificados suministrados desde la unidad de procesamiento de señales de audio ex354, usando un procedimiento predeterminado. Entonces, la unidad de modulación/desmodulación (unidad de circuito de modulación/desmodulación) ex352 realiza un procesamiento de espectro ensanchado sobre los datos multiplexados, y la unidad de transmisión y de recepción ex351 realiza una conversión de analógico a digital y una conversión en frecuencia sobre los datos con el fin de transmitir los datos resultantes por medio de la antena ex350.
Cuando se reciben datos de un archivo de vídeo que está vinculado a una página web y otros en modo de comunicación de datos o cuando se recibe un correo electrónico con vídeo y/o audio adjunto, para descodificar los datos multiplexados recibidos a través de la antena ex350, la unidad de multiplexación/desmultiplexación ex353 desmultiplexa los datos multiplexados en un flujo de bits de datos de vídeo y un flujo de bits de datos de audio, y suministra a la unidad de procesamiento de señales de vídeo ex355 los datos de vídeo codificados y la unidad de procesamiento de señales de audio ex354 con los datos de audio codificados, a través del bus síncrono ex370. La unidad de procesamiento de señales de vídeo ex355 descodifica la señal de vídeo usando un procedimiento de descodificación de instantáneas en movimiento que se corresponde con el procedimiento de codificación de instantáneas en movimiento mostrado en cada una de las realizaciones (es decir, funciona como el aparato de descodificación de imágenes de acuerdo con el aspecto de la presente invención) y, entonces, la unidad de visualización ex358 visualiza, por ejemplo, el vídeo y las imágenes fijas incluidos en el archivo de vídeo vinculado a la página Web por medio de la unidad de control de LCD ex359. Además, la unidad de procesamiento de señales de audio ex354 descodifica la señal de audio, y la unidad de salida de audio ex357 proporciona el audio.
Adicionalmente, de manera similar a la televisión ex300, un terminal tal como el teléfono celular ex114 probablemente tiene 3 tipos de configuraciones de implementación que incluyen no únicamente (i) un terminal de transmisión y recepción que incluye tanto un aparato de codificación como un aparato de descodificación, sino también (ii) un terminal de transmisión que incluye únicamente un aparato de codificación y (iii) un terminal de recepción que incluye únicamente un aparato de descodificación. Aunque el sistema de difusión digital ex200 recibe y transmite los datos multiplexados obtenidos multiplexando datos de audio en datos de vídeo en la descripción, los datos multiplexados pueden ser datos obtenidos multiplexando no datos de audio sino datos de caracteres relacionados con vídeo en datos de vídeo, y pueden no ser datos multiplexados sino los mismos datos de vídeo.
En este sentido, el procedimiento de codificación de instantáneas en movimiento y el procedimiento de descodificación de instantáneas en movimiento en cada una de las realizaciones se pueden usar en cualquiera de los dispositivos y sistemas descritos. Por lo tanto, se pueden obtener las ventajas descritas en cada una de las realizaciones.
Adicionalmente, la presente invención no se limita a las realizaciones descritas anteriormente, y se pueden realizar diversas modificaciones y revisiones en cualquiera en las realizaciones de la presente invención sin apartarse materialmente sin alejarse del ámbito de la presente invención.
(Realización 5)
Los datos de vídeo se pueden generar conmutando, según sea necesario, entre (i) el procedimiento de codificación de instantáneas en movimiento o el aparato de codificación de instantáneas en movimiento mostrados en cada una de realizaciones y (ii) un procedimiento de codificación de instantáneas en movimiento o un aparato de codificación de instantáneas en movimiento cumpliendo con una norma diferente, tal como MPEG-2, AVC de MPEG-4 y VC-1.
En este punto, cuando se genera una pluralidad de datos de vídeo que cumple con las diferentes normas y se descodifican a continuación, necesitan seleccionarse los procedimientos de descodificación para cumplir con las diferentes normas. Sin embargo, puesto que no puede detectarse a qué norma está conforme cada uno de la pluralidad de los datos de vídeo a descodificarse, no puede seleccionarse un procedimiento de descodificación apropiado.
A la vista de esto, los datos multiplexados obtenidos multiplexando datos de audio y otros en datos de vídeo tienen una estructura que incluye información de identificación que indica a qué norma se ajustan los datos de vídeo. Se describirá en lo sucesivo la estructura específica de los datos multiplexados que incluyen los datos de vídeo generados en el procedimiento de codificación de instantáneas en movimiento y por el aparato de codificación de instantáneas en movimiento mostrados en cada una de las realizaciones. Los datos multiplexados son un flujo digital en el formato de Flujo de Transporte de MPEG-2.
La figura 50 ilustra una estructura de los datos multiplexados. Como se ilustra en la figura 51, los datos multiplexados pueden obtenerse multiplexando al menos uno de un flujo de vídeo, un flujo de audio, un flujo de gráficos de presentación (PG), y un flujo de gráficos interactivo. El flujo de vídeo representa vídeo primario y vídeo secundario de una película, el flujo de audio (IG) representa una parte de audio primario y una parte de audio secundario a mezclarse con la parte de audio primario, y el flujo de gráficos de presentación representa subtítulos de la película. En este punto, el vídeo primario es vídeo normal a visualizarse en una pantalla, y el vídeo secundario es vídeo a visualizarse en una ventana más pequeña en el vídeo primario. Adicionalmente, el flujo de gráficos interactivo representa una pantalla interactiva a generarse disponiendo los componentes de la GUI en una pantalla. El flujo de vídeo se codifica en el procedimiento de codificación de instantáneas en movimiento o por el aparato de codificación de instantáneas en movimiento mostrado en cada una de las realizaciones, o en un procedimiento de codificación de instantáneas en movimiento o por un aparato de codificación de instantáneas en movimiento cumpliendo con una norma convencional, tal como MPEG-2, AVC de MPEG-4 y VC-1. El flujo de audio se codifica de acuerdo con una norma, tal como Dolby-AC-3, Dolby Digital Plus, MLP, DTS, DTS-HD y PCM lineal.
Cada flujo incluido en los datos multiplexados se identifica por PID. Por ejemplo, se asigna 0x1011 al flujo de vídeo a usar para vídeo de una película, se asigna 0x1100 a 0x111F a los flujos de audio, se asigna 0x1200 a 0x121F al flujo de gráficos de presentación, se asigna 0x1400 a 0x141F al flujo de gráficos interactivo, se asigna Ox1B00 a 0x1B1F a los flujos de vídeo a usar para vídeo secundario de la película, y se asigna 0x1A00 a 0x1A1F a los flujos de audio a usar para el audio secundario a mezclarse con el audio principal.
La figura 51 ilustra esquemáticamente cómo se multiplexan datos. En primer lugar, un flujo de vídeo ex235 compuesto por tramas de vídeo y un flujo de audio ex238 compuesto por tramas de audio se transforman en un flujo de paquetes de PES ex236 y un flujo de paquetes de PES ex239, y adicionalmente en paquetes de TS ex237 y paquetes de TS ex240, respectivamente. De manera similar, los datos de un flujo de gráficos de presentación ex241 y los datos de un flujo de gráficos interactivo ex244 se transforman en un flujo de paquetes de PES ex242 y un flujo de paquetes de p Es ex245, y adicionalmente en paquetes de TS ex243 y paquetes de TS ex246, respectivamente. Estos paquetes de TS se multiplexan en un flujo para obtener datos multiplexados ex247.
La figura 52 ilustra cómo se almacena un flujo de vídeo en un flujo de paquetes de PES con más detalle. La primera barra en la figura 52 muestra un flujo de tramas de vídeo en un flujo de vídeo. La segunda barra muestra el flujo de paquetes de PES. Como se indica por las flechas indicadas como yy1, yy2, yy3 y yy4 en la figura 52, el flujo de vídeo se divide en instantáneas como instantáneas I, instantáneas B e instantáneas P cada una de las cuales es una unidad de presentación de vídeo, las instantáneas se almacenan en una cabida útil de cada uno de los paquetes de PES. Cada uno de los paquetes de PES tiene un encabezamiento de PES, y el encabezamiento de PES almacena una Indicación de Tiempo de Presentación (PTS) que indica un tiempo de visualización de la instantánea, y una Indicación de Tiempo de descodificación (DTS) que indica un tiempo de descodificación de la instantánea.
La figura 53 ilustra un formato de paquetes de TS a escribir finalmente en los datos multiplexados. Cada uno de los paquetes de TS es un paquete de longitud fija de 188 bytes que incluye un encabezamiento de TS de 4 bytes que tiene información, tal como un PID para identificar un flujo y una cabida útil de TS de 184 bytes para almacenar datos. Los paquetes de PES se dividen y se almacenan en las cabidas útiles de TS, respectivamente. Cuando se usa un BD ROM, a cada uno de los paquetes de TS se le proporciona un TP_Encabezamiento_Adicional de 4 bytes, dando como resultado por lo tanto paquetes de origen de 192 bytes. Los paquetes de origen se escriben en los datos multiplexados. El TP_Encabezamiento_Adicional almacena información tal como una Indicación_Tiempo_Llegada (ATS). La ATS muestra un tiempo de inicio de transferencia en el que se ha de transferir cada uno de los paquetes de TS a un filtro de PID. Los paquetes de origen se disponen en los datos multiplexados como se muestra en la parte inferior de la figura 53. Los números que incrementan desde la cabecera de los datos multiplexados se denominan números de paquete de origen (SPN).
Cada uno de los paquetes de TS incluidos en los datos multiplexados incluye no únicamente flujos de audio, vídeo, subtítulos y otros, sino también una Tabla de Asociación de Programa (PAT), una Tabla de Mapa de Programa (PMT), y una Referencia de Reloj de Programa (PCR). La PAT muestra qué indica un PID en una PMT usada en los datos multiplexados, y un PID de la misma PAT se registra como cero. La PMT almacena los PID de los flujos de vídeo, audio, subtítulos y otros incluidos en los datos multiplexados, y la información de atributo de los flujos que se corresponden con los PID. La PMT también tiene diversos descriptores relacionados con los datos multiplexados. Los descriptores tienen información tal como información de control de copia que muestra si se permite o no el copiado de los datos multiplexados. La PCR almacena información de tiempo de STC que se corresponde con una ATS que muestra cuándo se transfiere el paquete de PCR a un descodificador, para conseguir sincronización entre un Reloj de Tiempo de Llegada (ATC) que es el eje de tiempo de las ATS, y un Reloj de Tiempo de Sistema (STC) que es un eje de tiempo de las PTS y DTS.
La figura 54 ilustra la estructura de datos de la PMT con detalle. Un encabezamiento de PMT está dispuesto en la parte superior de la PMT. El encabezamiento de la PMT describe la longitud de datos incluidos en la PMT y otros. Una pluralidad de descriptores relacionados con los datos multiplexados están dispuestos después del encabezamiento de PMT. La información tal como la información de control de copia se describe en los descriptores. Después de los descriptores, está dispuesta una pluralidad de fragmentos de la información de flujo relacionados con los flujos incluidos en los datos multiplexados. Cada fragmento de la información de flujo incluye descriptores de flujo que cada uno describe información, tal como un tipo de flujo para identificar un códec de compresión de un flujo, un PID de flujo, e información de atributo de flujo (tal como una velocidad de tramas o una relación de aspecto). Los descriptores de flujo son iguales en número al número de flujos en los datos multiplexados.
Cuando los datos multiplexados se graban en un medio de grabación y otros, se registran junto con archivos de información de datos multiplexados.
Cada uno de los archivos de información de datos multiplexados es información de gestión de los datos multiplexados como se muestra en la figura 55. Los archivos de información de datos multiplexados están en una correspondencia uno a uno con los datos multiplexados, y cada uno de los archivos incluye información de datos multiplexados, información de atributo de flujo y un mapa de entrada.
Como se ilustra en la figura 55, la información de datos multiplexados incluye una tasa de sistema, un tiempo de inicio de reproducción y un tiempo de fin de reproducción. La velocidad de sistema indica la velocidad de trasferencia máxima a la que un descodificador objetivo de sistema que se va a describir más adelante transfiere los datos multiplexados a un filtro de PID. Los intervalos de las ATS incluidas en los datos multiplexados se establecen para que no sean superiores a una velocidad de sistema. El tiempo de inicio de reproducción indica una PTS en una trama de vídeo en la cabecera de los datos multiplexados. Un intervalo de una trama se añade a una PTS en una trama de vídeo al final de los datos multiplexados, y la PTS se establece al tiempo de fin de reproducción.
Como se muestra en la figura 56, se registra un fragmento de información de atributo en la información de atributo de flujo, para cada PID de cada flujo incluido en los datos multiplexados. Cada fragmento de información de atributo tiene diferente información dependiendo de si el correspondiente flujo es un flujo de vídeo, un flujo de audio, un flujo de gráficos de presentación, o un flujo de gráficos interactivo. Cada fragmento de información de atributo de flujo de vídeo lleva información que incluye qué tipo de códec de compresión se usa para comprimir el flujo de vídeo, y la resolución, relación de aspecto y velocidad de tramas de los fragmentos de datos de instantánea que se incluyen en el flujo de vídeo. Cada fragmento de información de atributo de flujo de audio lleva información que incluye qué clase de códec de compresión se usa para comprimir el flujo de audio, cuántos canales están incluidos en el flujo de audio, qué idioma soporta el flujo de audio, y cómo de alta es la frecuencia de muestreo. La información de atributo de flujo de vídeo y la información de atributo de flujo de audio se usan para inicialización de un descodificador antes de que el reproductor reproduzca la información.
En la presente realización, los datos multiplexados a usar son de un tipo de flujo incluido en la PMT. Adicionalmente, cuando los datos multiplexados se graban en un medio de grabación, se usa la información de atributo de flujo de vídeo incluida en la información de datos multiplexados. Más específicamente, el procedimiento de codificación de instantáneas en movimiento o el aparato de codificación de instantáneas en movimiento descritos en cada una de las realizaciones incluyen una etapa o una unidad para asignar información única que indica datos de vídeo generados por el procedimiento de codificación de instantáneas en movimiento o el aparato de codificación de instantáneas en movimiento en cada una de las realizaciones, al tipo de flujo incluido en la PMT o la información de atributo de flujo de vídeo. Con la configuración, los datos de vídeo generados por el procedimiento de codificación de instantáneas en movimiento o el aparato de codificación de instantáneas en movimiento descritos en cada una de las realizaciones pueden distinguirse de los datos de vídeo que se ajustan a otra norma.
Adicionalmente, la figura 57 ilustra las etapas del procedimiento de descodificación de instantáneas en movimiento de acuerdo con la presente realización. En la etapa exS100, el tipo de flujo incluido en la PMT o la información de atributo de flujo de vídeo incluido en la información de datos multiplexados se obtiene desde los datos multiplexados. A continuación, en la etapa exS101, se determina si el tipo de flujo o la información de atributo de flujo de vídeo indica o no que los datos multiplexados se generan por el procedimiento de codificación de instantáneas en movimiento o el aparato de codificación de instantáneas en movimiento en cada una de las realizaciones. Cuando se determina que el tipo de flujo o la información de atributo de flujo de vídeo indica que los datos multiplexados se generan por el procedimiento de codificación de instantáneas en movimiento o el aparato de codificación de instantáneas en movimiento en cada una de las realizaciones, en la etapa exS102, se realiza descodificación por el procedimiento de descodificación de instantáneas en movimiento en cada una de las realizaciones. Adicionalmente, cuando el tipo de flujo o la información de atributo de flujo de vídeo indica el cumplimiento de las normas convencionales, tales como MPEG-2, AVC de MPEG-4 y VC-1, en la etapa exS103, se realiza descodificación por un procedimiento de descodificación de instantáneas en movimiento cumpliendo con las normas convencionales.
En este sentido, asignar un nuevo valor único al tipo de flujo o la información de atributo de flujo de vídeo posibilita la determinación de si el procedimiento de descodificación de instantáneas en movimiento o el aparato de descodificación de instantáneas en movimiento que se describen en cada una de las realizaciones puede realizar o no la descodificación. Incluso cuando se introducen datos multiplexados que se ajustan a una norma diferente, puede seleccionarse un procedimiento o aparato de descodificación apropiado. Por lo tanto, se hace posible descodificar información sin error alguno. Adicionalmente, el procedimiento o aparato de codificación de instantáneas en movimiento, o el procedimiento o aparato de descodificación de instantáneas en movimiento en la presente realización se puede usar en los dispositivos y sistemas anteriormente descritos.
(Realización 6)
Cada uno del procedimiento de codificación de instantáneas en movimiento, el aparato de codificación de instantáneas en movimiento, el procedimiento de descodificación de instantáneas en movimiento, y el aparato de descodificación de instantáneas en movimiento en cada una de las realizaciones se consigue típicamente en forma de un circuito integrado o un circuito Integrado a Gran Escala (LSI). Como un ejemplo del LSI, la figura 58 ilustra una configuración del LSI ex500 que se hace en un chip. El LSI ex500 incluye los elementos ex501, ex502, ex503, ex504, ex505, ex506, ex507, ex508, y ex509 que se van a describir a continuación, y los elementos están conectados entre sí a través de un bus ex510. La unidad de circuito de fuente de alimentación ex505 se activa suministrando a cada uno de los elementos con potencia cuando se activa la unidad de circuito de fuente de alimentación ex505.
Por ejemplo, cuando se realiza codificación, el LSI ex500 recibe una señal de AV desde un micrófono ex117, una cámara ex113, y otros a través de una ES de AV ex509 bajo el control de una unidad de control ex501 que incluye una CPU ex502, un controlador de memoria ex503, un controlador de flujo ex504, y una unidad de control de frecuencia de accionamiento ex512. La señal de AV recibida se almacena temporalmente en una memoria externa ex511, tal como una SDRAM. Bajo el control de la unidad de control ex501, los datos almacenados se segmentan en porciones de datos de acuerdo con la cantidad de procesamiento y velocidad a transmitir a una unidad de procesamiento de señal ex507. A continuación, la unidad de procesamiento de señal ex507 codifica una señal de audio y/o una señal de vídeo. En este punto, la codificación de la señal de vídeo es la codificación descrita en cada una de las realizaciones. Adicionalmente, la unidad de procesamiento de señal ex507 multiplexa en ocasiones los datos de audio codificados y los datos de vídeo codificados, y una ES de flujo ex506 proporciona los datos multiplexados al exterior. Los datos multiplexados proporcionados se transmiten a la estación base ex107, o se escriben en el medio de grabación ex215. Cuando se multiplexan conjuntos de datos, los datos deberían almacenarse temporalmente en la memoria intermedia ex508 de modo que los conjuntos de datos se sincronizan entre sí.
Aunque la memoria ex511 es un elemento fuera del LSI ex500, puede incluirse en el LSI ex500. La memoria intermedia ex508 no se limita a una memoria intermedia, sino que puede estar compuesta por memorias intermedias. Adicionalmente, el LSI ex500 puede estar fabricado en un chip o una pluralidad de chips.
Adicionalmente, aunque la unidad de control ex501 incluye la CPU ex502, el controlador de memoria ex503, el controlador de flujo ex504, la unidad de control de frecuencia de accionamiento ex512, la configuración de la unidad de control ex501 no se limita a esto. Por ejemplo, la unidad de procesamiento de señal ex507 puede incluir adicionalmente una CPU. La inclusión de otra CPU en la unidad de procesamiento de señal ex507 puede mejorar la velocidad de procesamiento. Adicionalmente, como otro ejemplo, la CPU ex502 puede servir como o ser una parte de la unidad de procesamiento de señal ex507, y, por ejemplo, puede incluir una unidad de procesamiento de señal de audio. En un caso de este tipo, la unidad de control ex501 incluye la unidad de procesamiento de señal ex507 o la CPU ex502 que incluye una parte de la unidad de procesamiento de señal ex507.
El nombre usado en el presente documento es LSI, pero puede denominarse también CI, sistema LSI, súper LSI o ultra LSI dependiendo del grado de integración.
Además, las maneras para conseguir la integración no se limitan al LSI, y un circuito especial o un procesador de propósito general y así sucesivamente pueden conseguir también la integración. El Campo de Matriz de Puertas Programables (FPGa ) que puede programarse después de la fabricación de LSI o un procesador reconfigurable que permite la re-configuración de la conexión o configuración de un LSI puede usarse para el mismo fin. Un dispositivo lógico programable de este tipo puede ejecutar habitualmente el procedimiento de codificación de instantáneas en movimiento y/o el procedimiento de descodificación de instantáneas en movimiento de acuerdo con cualquiera de las realizaciones anteriores, cargando o leyendo de una memoria o similar uno o más programas que se incluyen en software o firmware.
En el futuro, con el avance de la tecnología de semiconductores, una tecnología nueva puede sustituir a la LSI. Los bloques funcionales pueden integrarse usando una tecnología de este tipo. La posibilidad es que la presente invención se aplique a biotecnología.
(Realización 7)
Cuando se descodifican datos de vídeo generados en el procedimiento de codificación de instantáneas en movimiento o por el aparato de codificación de instantáneas en movimiento descritos en cada una de las realizaciones, en comparación con cuando se descodifican datos de vídeo que se ajustan a una norma convencional, tal como MPEG-2, MPEG-4 AVC, y VC-1, probablemente aumenta la cantidad de procesamiento. Por lo tanto, el LSI ex500 necesita establecer una frecuencia de accionamiento más alta que la de la CPU ex502 a usar cuando se descodifican datos de vídeo de conformidad con la norma convencional. Sin embargo, cuando la frecuencia de accionamiento se establece más alta, el consumo de potencia aumenta.
A la vista de esto, el aparato de descodificación de instantáneas en movimiento, tal como la televisión ex300 y el LSI ex500 están configurados para determinar a qué norma se ajustan los datos de vídeo, y conmutar entre las frecuencias de accionamiento de acuerdo con la norma determinada. La figura 59 ilustra una configuración ex800 en la presente realización. Una unidad de conmutación de frecuencia de accionamiento ex803 establece una frecuencia de accionamiento a una frecuencia de accionamiento superior cuando se generan datos de vídeo por el procedimiento de codificación de instantáneas en movimiento o el aparato de codificación de instantáneas en movimiento descritos en cada una de las realizaciones. A continuación, la unidad de conmutación de frecuencia de accionamiento ex803 ordena a la unidad de procesamiento de descodificación ex801 que ejecute el procedimiento de descodificación de instantáneas en movimiento descrito en cada una de las realizaciones para descodificar los datos de vídeo. Cuando los datos de vídeo se ajustan a la norma convencional, la unidad de conmutación de frecuencia de accionamiento ex803 establece una frecuencia de accionamiento a una frecuencia de accionamiento inferior a la de los datos de vídeo generados por el procedimiento de codificación de instantáneas en movimiento o el aparato de codificación de instantáneas en movimiento descritos en cada una de las realizaciones. A continuación, la unidad de conmutación de frecuencia de accionamiento ex803 ordena a la unidad de procesamiento de descodificación ex802 que se ajusta a la norma convencional que descodifique los datos de vídeo.
Más específicamente, la unidad de conmutación de frecuencia de accionamiento ex803 incluye la CPU ex502 y la unidad de control de frecuencia de accionamiento ex512 en la figura 58. En este punto, cada una de la unidad de procesamiento de descodificación ex801 que ejecuta el procedimiento de descodificación de instantáneas en movimiento descrito en cada una de las realizaciones y la unidad de procesamiento de descodificación ex802 que se ajusta a la norma convencional se corresponden con la unidad de procesamiento de señal ex507en la figura 58. La CPU ex502 determina a qué norma se ajustan los datos de vídeo. A continuación, la unidad de control de frecuencia de accionamiento ex512 determina una frecuencia de accionamiento basándose en una señal desde la CPU ex502. Adicionalmente, la unidad de procesamiento de señal ex507 descodifica los datos de vídeo basándose en la señal desde la CPU ex502. Por ejemplo, la información de identificación descrita en la realización 5 se usa probablemente para identificar los datos de vídeo. La información de identificación no se limita a la descrita en la realización 5 sino que puede ser cualquier información siempre que la información indique a qué norma se ajustan los datos de vídeo. Por ejemplo, cuando a qué norma se ajustan los datos de vídeo puede determinarse basándose en una señal externa para determinar que los datos de vídeo se usan para una televisión o un disco, etc., la determinación puede realizarse basándose en una señal externa de este tipo. Adicionalmente, la CPU ex502 selecciona una frecuencia de accionamiento basándose en, por ejemplo, una tabla de correspondencia en la que las normas de los datos de vídeo están asociadas con las frecuencias de accionamiento como se muestra en la figura 61. La frecuencia de accionamiento puede seleccionarse almacenando la tabla de búsqueda en la memoria intermedia ex508 y en una memoria interna de un LSI, y con referencia a la tabla de búsqueda por la CPU ex502.
La figura 60 ilustra etapas para ejecutar un procedimiento en la presente realización. En primer lugar, en la etapa exS200, la unidad de procesamiento de señal ex507 obtiene información de identificación desde los datos multiplexados. A continuación, en la etapa exS201, la CPU ex502 determina si los datos de vídeo se generan o no por el procedimiento de codificación y el aparato de codificación descritos en cada una de las realizaciones, basándose en la información de identificación. Cuando los datos de vídeo se generan por el procedimiento de codificación de instantáneas en movimiento y el aparato de codificación de instantáneas en movimiento descritos en cada una de las realizaciones, en la etapa exS202, la CPU ex502 transmite una señal para establecer la frecuencia de accionamiento a una frecuencia de accionamiento superior a la de la unidad de control de frecuencia de accionamiento ex512. A continuación, la unidad de control de frecuencia de accionamiento ex512 establece la frecuencia de accionamiento a la frecuencia de accionamiento más alta. Por otra parte, cuando la información de identificación indica que los datos de vídeo se ajustan a la norma convencional, tal como MPEG-2, AVC de MPEG-4 y VC-1, en la etapa exS203, la CPU ex502 transmite una señal para establecer la frecuencia de accionamiento a una frecuencia de accionamiento inferior a la unidad de control de frecuencia de accionamiento ex512. A continuación, la unidad de control de frecuencia de accionamiento ex512 establece la frecuencia de accionamiento a la frecuencia de accionamiento inferior que la de en el caso en el que los datos de vídeo se generan por el procedimiento de codificación de instantáneas en movimiento y el aparato de codificación de instantáneas en movimiento descritos en cada una de las realizaciones.
Adicionalmente, junto con la conmutación de las frecuencias de accionamiento, el efecto de conservación de potencia puede mejorarse cambiando la tensión a aplicarse al LSI ex500 o a un aparato que incluye el LSI ex500. Por ejemplo, cuando la frecuencia de accionamiento se establece más baja, la tensión a aplicarse al LSI ex500 o al aparato que incluye el LSI ex500 probablemente se establece a una tensión inferior que en el caso en el que la frecuencia de accionamiento se establece más alta.
Adicionalmente, cuando la cantidad de procesamiento para descodificación es mayor, la frecuencia de accionamiento puede establecerse más alta, y cuando la cantidad de procesamiento para descodificación es más pequeña, la frecuencia de accionamiento puede establecerse más baja que el procedimiento para establecer la frecuencia de accionamiento. Por lo tanto, el procedimiento de ajuste no se limita a los anteriormente descritos. Por ejemplo, cuando la cantidad de procesamiento para descodificar datos de vídeo de conformidad con MPEG-4 AVC es mayor que la cantidad de procesamiento para descodificar datos de vídeo generados por el procedimiento de codificación de instantáneas en movimiento y el aparato de codificación de instantáneas en movimiento descritos en cada una de las realizaciones, la frecuencia de accionamiento probablemente se establece en orden inverso al ajuste anteriormente descrito.
Adicionalmente, el procedimiento para establecer la frecuencia de accionamiento no se limita al procedimiento para establecer la frecuencia de accionamiento más baja. Por ejemplo, cuando la información de identificación indica que los datos de vídeo se generan por el procedimiento de codificación de instantáneas en movimiento y el aparato de codificación de instantáneas en movimiento descritos en cada una de las realizaciones, la tensión a aplicarse al LSI ex500 o al aparato que incluye el LSI ex500 probablemente se establece más alta. Cuando la información de identificación indica que los datos de vídeo se ajustan a la norma convencional, tal como MPEG-2, MPEG-4 AVC, y VC-1, la tensión a aplicarse al LSI ex500 o al aparato que incluye el LSI ex500 probablemente se establece más baja. Como otro ejemplo, cuando la información de identificación indica que los datos de vídeo se generan por el procedimiento de codificación de instantáneas en movimiento y el aparato de codificación de instantáneas en movimiento descritos en cada una de las realizaciones, el accionamiento de la CPU ex502 probablemente no tiene que suspenderse. Cuando la información de identificación indica que los datos de vídeo se ajustan a la norma convencional, tal como MPEG-2, MPEG-4 AVC, y VC-1, el accionamiento de la CPU ex502 probablemente se suspende a un tiempo dado puesto que la CPU ex502 tiene capacidad de procesamiento adicional. Incluso cuando la información de identificación indica que los datos de vídeo se generan por el procedimiento de codificación de instantáneas en movimiento y el aparato de codificación de instantáneas en movimiento descritos en cada una de las realizaciones, en el caso en el que la CPU ex502 tiene capacidad de procesamiento adicional, el accionamiento de la CPU ex502 probablemente se suspende en un tiempo dado. En un caso de este tipo, el tiempo de suspensión probablemente se establece más corto que en el caso cuando la información de identificación indica que los datos de vídeo se ajustan a la norma convencional, tal como MPEG-2, MPEG-4 AVC, y VC-1.
Por consiguiente, el efecto de conservación de potencia puede mejorarse conmutando entre las frecuencias de accionamiento de acuerdo con la norma a la que se ajustan los datos de vídeo. Adicionalmente, cuando el LSI ex500 o el aparato que incluye el LSI ex500 se accionan usando una batería, la duración de la batería puede ampliarse con el efecto de conservación de potencia.
(Realización 8)
Existen casos en los que una pluralidad de datos de vídeo que se ajustan a diferentes normas, se proporcionan a los dispositivos y sistemas, tales como una televisión y un teléfono celular. Para posibilitar la descodificación de la pluralidad de datos de vídeo que se ajustan a las diferentes normas, la unidad de procesamiento de señal ex507 del LSI ex500 necesita ajustarse a las diferentes normas. Sin embargo, el aumento en la escala del circuito del LSI ex500 y el aumento en el coste surgen con el uso individual de las unidades de procesamiento de señal ex507 que se ajustan a las normas respectivas.
A la vista de esto, lo que se concibe es una configuración en la que la unidad de procesamiento de descodificación para implementar el procedimiento de descodificación de instantáneas en movimiento descrita en cada una de las realizaciones y la unidad de procesamiento de descodificación que se ajusta a la norma convencional, tal como MPEG-2, AVC de MPEG-4 y VC-1 se comparten parcialmente. Ex900 en la figura 62A muestra un ejemplo de la configuración. Por ejemplo, el procedimiento de descodificación de instantáneas en movimiento descrito en cada una de las realizaciones y el procedimiento de descodificación de instantáneas en movimiento que se ajusta a AVC de MPEG-4 tienen, parcialmente en común, los detalles de procesamiento, tal como codificación por entropía, cuantificación inversa, filtrado por desbloqueo y predicción con compensación de movimiento. Los detalles de procesamiento a compartir probablemente incluyen el uso de una unidad de procesamiento de descodificación ex902 que se ajusta a MPEG-4 AVC. En contraposición, una unidad de procesamiento de descodificación especializada ex901 probablemente se usa para otro procesamiento que es único para un aspecto de la presente invención y no se ajusta a MPEG-4 AVC. Debido a que el aspecto de la presente invención está caracterizado por la descodificación por entropía en particular, por ejemplo, la unidad de procesamiento de descodificación dedicada ex901 se usa para la descodificación por entropía. De otra manera, la unidad de procesamiento de descodificación probablemente se comparte para una de la cuantificación inversa, filtración de desbloqueo, y compensación de movimiento, o todo el procesamiento. La unidad de procesamiento de descodificación para implementar el procedimiento de descodificación de instantáneas en movimiento descrita en cada una de las realizaciones puede compartirse para el procesamiento a compartirse, y una unidad de procesamiento de descodificación especializada puede usarse para procesamiento único al de MPEG-4 AVC.
Adicionalmente, ex1000 en la figura 62B muestra otro ejemplo en el que el procesamiento se comparte parcialmente. Este ejemplo usa una configuración que incluye una unidad de procesamiento de descodificación especializada ex1001 que soporta el procesamiento único de un aspecto de la presente invención, una unidad de procesamiento de descodificación especializada ex1002 que soporta el procesamiento único de otra norma convencional, y una unidad de procesamiento de descodificación ex1003 que soporta procesamiento a compartirse entre el procedimiento de descodificación de instantáneas en movimiento de acuerdo con el aspecto de la presente invención y el procedimiento de descodificación de instantáneas en movimiento convencional. En este punto, las unidades de procesamiento de descodificación especializadas ex1001 y ex1002 no están necesariamente especializadas para el procesamiento de acuerdo con el aspecto de la presente invención y el procesamiento de la norma convencional, respectivamente, y pueden ser las que pueden implementar procesamiento general. Adicionalmente, la configuración de la presente realización puede implementarse por el LSI ex500.
En este sentido, reducir la escala del circuito de un LSI y reducir el coste son posibles compartiendo la unidad de procesamiento de descodificación para el procesamiento a compartirse entre el procedimiento de descodificación de instantáneas en movimiento de acuerdo con el aspecto de la presente invención y el procedimiento de descodificación de instantáneas en movimiento cumpliendo con la norma convencional.
rAplicabilidad industrial!
El procedimiento de codificación de imágenes y el procedimiento de descodificación de imágenes de acuerdo con la presente invención producen efectos ventajosos de prevenir el deterioro en una calidad de imagen y mejorar la eficiencia de procesamiento, y son aplicables a una diversidad de fines tales como la acumulación, la transmisión y la comunicación de una imagen. El procedimiento de codificación de imágenes y el procedimiento de descodificación de imágenes de acuerdo con la presente invención se pueden usar para, por ejemplo, un dispositivo de visualización de información de alta resolución o un dispositivo de captura, tal como una televisión, una grabadora de vídeo digital, una navegación de automóvil, un teléfono celular, una cámara digital, una cámara de vídeo digital, y así sucesivamente, y son útiles.
[Lista de signos de referencia]
100 aparato de codificación de imágenes
110, 210, 306, 405 unidad de control
120 unidad de codificación
121 restador
122 unidad de transformación de frecuencia
123 unidad de cuantificación
124 unidad de codificación por entropía
125, 225 unidad de cuantificación inversa
126, 226 unidad de transformación de frecuencia inversa
127227 sumador
128, 228, 300, 400 unidad de filtrado de bucle
129, 229 unidad de almacenamiento
130, 230 unidad de intra predicción
131, 231 unidad de compensación de movimiento
132 unidad de estimación de movimiento
133, 233 conmutador
141, 241 imagen
142, 242 flujo codificado
151, 251, 301, 401 unidad de obtención de señal
152, 302 unidad de cálculo de información de desplazamiento
153, 253, 303, 403 unidad de procesamiento de desplazamiento
154, 305, 507 unidad de codificación de información de desplazamiento
155, 254, 304, 404 unidad de emisión de señal
200 aparato de descodificación de imágenes
220 unidad de descodificación
224 unidad de descodificación por entropía
252, 402, 606 unidad de descodificación de información de desplazamiento
5071 unidad de control de codificación aritmética
5072 unidad de codificación aritmética de contexto
5073 unidad de codificación aritmética de derivación
6061 unidad de control de descodificación aritmética
6062 unidad de descodificación aritmética de contexto
6063 unidad de descodificación aritmética de derivación

Claims (13)

REIVINDICACIONES
1. Un procedimiento de codificación de imágenes que comprende:
realizar una codificación aritmética de contexto (S711) para codificar de forma consecutiva (i) una segunda información que indica si usar o no, en el procesamiento de SAO para la primera región, información acerca del procesamiento de SAO para una región distinta de la primera región, y después de que se haya codificado la segunda información, codificar (ii) la primera información que indica si realizar o no un procesamiento de desplazamiento adaptativo de muestra (SAO) para una primera región de una imagen, siendo la codificación aritmética de contexto una codificación aritmética que usa una probabilidad variable, siendo el procesamiento de SAO un procesamiento de desplazamiento sobre un valor de píxel; y
codificar otra información que es información acerca del procesamiento de SAO para la primera región y diferente de la primera información o la segunda información, después de que se hayan codificado la primera información y la segunda información, en el que
la otra información incluye una tercera información que indica si el procesamiento de SAO para la primera región es un procesamiento de desplazamiento de borde realizado de acuerdo con un borde, o un procesamiento de desplazamiento de banda realizado de acuerdo con el valor de píxel,
la primera información es correspondiente a un valor de un bit inicial en un parámetro de un tipo del procesamiento de SAO para la primera región, y
la otra información empieza en un valor de un bit siguiente a continuación del bit inicial en el parámetro del tipo del procesamiento de SAO para la primera región,
caracterizado porque la etapa de codificar otra información realiza una codificación aritmética de derivación (S712) para codificar la otra información, siendo la codificación aritmética de derivación una codificación aritmética que usa una probabilidad fija.
2. El procedimiento de codificación de imágenes de acuerdo con la reivindicación 1,
en el que, al realizar una codificación aritmética de derivación, se codifica la otra información que incluye una cuarta información que indica un valor absoluto de un valor de desplazamiento.
3. El procedimiento de codificación de imágenes de acuerdo con la reivindicación 2,
en el que, al realizar una codificación aritmética de derivación, cuando el procesamiento de SAO para la primera región es el procesamiento de desplazamiento de banda, se codifica la otra información que incluye (i) una quinta información que indica si el valor de desplazamiento es positivo o negativo y (ii) una sexta información que indica un alcance de aplicación del valor de desplazamiento.
4. El procedimiento de codificación de imágenes de acuerdo con una cualquiera de las reivindicaciones 1 a 3, en el que, al realizar una codificación aritmética de contexto, se codifica la segunda información que incluye al menos una de (i) una información que indica si se usa o no información acerca de un procesamiento de SAO para una región izquierda en el procesamiento de SAO para la primera región y (ii) una información que indica si se usa o no información acerca de un procesamiento de SAO para una región superior en el procesamiento de SAO para la primera región, siendo la región izquierda adyacente a la primera región y estando a la izquierda de la primera región, siendo la región superior adyacente a la primera región y estando encima de la primera región.
5. Un procedimiento de descodificación de imágenes que comprende:
realizar una descodificación aritmética de contexto (S721) para descodificar de forma consecutiva (i) una segunda información que indica si usar o no, en el procesamiento de SAO para la primera región, información acerca de un procesamiento de SAO para una región distinta de la primera región, y después de que se haya descodificado la segunda información, descodificar (ii) una primera información que indica si realizar o no un procesamiento de desplazamiento adaptativo de muestra (SAO) para una primera región de una imagen, siendo la descodificación aritmética de contexto una descodificación aritmética que usa una probabilidad variable, siendo el procesamiento de SAO un procesamiento de desplazamiento sobre un valor de píxel; y
realizar una descodificación aritmética de derivación (S722) para descodificar otra información que es información acerca del procesamiento de SAO para la primera región y diferente de la primera información o la segunda información, después de que se hayan descodificado la primera información y la segunda información, siendo la descodificación aritmética de derivación una descodificación aritmética que usa una probabilidad fija, en el que la otra información incluye una tercera información que indica si el procesamiento de SAO para la primera región es un procesamiento de desplazamiento de borde realizado de acuerdo con un borde, o un procesamiento de desplazamiento de banda realizado de acuerdo con el valor de píxel,
la primera información es correspondiente a un valor de un bit inicial en un parámetro de un tipo del procesamiento de SAO para la primera región, y
la otra información empieza en un valor de un bit siguiente a continuación del bit inicial en el parámetro del tipo del procesamiento de SAO para la primera región.
6. El procedimiento de descodificación de imágenes de acuerdo con la reivindicación 5,
en el que, al realizar una descodificación aritmética de derivación, se descodifica la otra información que incluye una cuarta información que indica un valor absoluto de un valor de desplazamiento.
7. El procedimiento de descodificación de imágenes de acuerdo con la reivindicación 6,
en el que, al realizar una descodificación aritmética de derivación, cuando el procesamiento de SAO para la primera región es el procesamiento de desplazamiento de banda, se descodifica la otra información que incluye (i) una quinta información que indica si el valor de desplazamiento es positivo o negativo y (ii) una sexta información que indica un alcance de aplicación del valor de desplazamiento.
8. El procedimiento de descodificación de imágenes de acuerdo con una cualquiera de las reivindicaciones 5 a 7, en el que, al realizar una descodificación aritmética de contexto, se descodifica la segunda información que incluye al menos una de (i) una información que indica si se usa o no información acerca de un procesamiento de SAO para una región izquierda en el procesamiento de SAO para la primera región y (ii) una información que indica si se usa o no información acerca de un procesamiento de SAO para una región superior en el procesamiento de SAO para la primera región, siendo la región izquierda adyacente a la primera región y estando a la izquierda de la primera región, siendo la región superior adyacente a la primera región y estando encima de la primera región.
9. Un aparato de codificación de imágenes que comprende:
una circuitería de control; y
un almacenamiento accesible desde la circuitería de control,
en el que la circuitería de control realiza una codificación aritmética de contexto para codificar de forma consecutiva (i) una segunda información que indica si usar o no, en el procesamiento de SAO para la primera región, información acerca de un procesamiento de SAO para una región distinta de la primera región, y para codificar, después de que se haya codificado la segunda información, (ii) una primera información que indica si realizar o no un procesamiento de desplazamiento adaptativo de muestra (SAO) para una primera región de una imagen, siendo la codificación aritmética de contexto una codificación aritmética que usa una probabilidad variable, siendo el procesamiento de SAO un procesamiento de desplazamiento sobre un valor de píxel; y
realiza una codificación aritmética de derivación para codificar otra información que es información acerca del procesamiento de SAO para la primera región y diferente de la primera información o la segunda información, después de que se hayan codificado la primera información y la segunda información, siendo la codificación aritmética de derivación una codificación aritmética que usa una probabilidad fija, en el que
la otra información incluye una tercera información que indica si el procesamiento de s Ao para la primera región es un procesamiento de desplazamiento de borde realizado de acuerdo con un borde, o un procesamiento de desplazamiento de banda realizado de acuerdo con el valor de píxel,
la primera información es correspondiente a un valor de un bit inicial en un parámetro de un tipo del procesamiento de SAO para la primera región, y
la otra información empieza en un valor de un bit siguiente a continuación del bit inicial en el parámetro del tipo del procesamiento de SAO para la primera región.
10. Un aparato de descodificación de imágenes que comprende:
una circuitería de control; y
un almacenamiento accesible desde la circuitería de control,
en el que la circuitería de control realiza una descodificación aritmética de contexto para descodificar de forma consecutiva (i) una segunda información que indica si usar o no, en el procesamiento de SAO para la primera región, información acerca de un procesamiento de SAO para una región distinta de la primera región, y para descodificar, después de que se haya descodificado la segunda información, (ii) una primera información que indica si realizar o no un procesamiento de desplazamiento adaptativo de muestra (SAO) para una primera región de una imagen, siendo la descodificación aritmética de contexto una descodificación aritmética que usa una probabilidad variable, siendo el procesamiento de SAO un procesamiento de desplazamiento sobre un valor de píxel; y realiza una descodificación aritmética de derivación para descodificar otra información que es información acerca del procesamiento de SAO para la primera región y diferente de la primera información o la segunda información, después de que se hayan descodificado la primera información y la segunda información, siendo la descodificación aritmética de derivación una descodificación aritmética que usa una probabilidad fija, en el que
la otra información incluye una tercera información que indica si el procesamiento de SAO para la primera región es un procesamiento de desplazamiento de borde realizado de acuerdo con un borde, o un procesamiento de desplazamiento de banda realizado de acuerdo con el valor de píxel,
la primera información es correspondiente a un valor de un bit inicial en un parámetro de un tipo del procesamiento de SAO para la primera región, y
la tercera información empieza en un valor de un bit siguiente a continuación del bit inicial en el parámetro del tipo del procesamiento de SAO para la primera región.
11. Un aparato de codificación y descodificación de imágenes, que comprende:
el aparato de codificación de imágenes de acuerdo con la reivindicación 9; y
el aparato de descodificación de imágenes de acuerdo con la reivindicación 10.
12. Un programa para hacer que un ordenador ejecute el procedimiento de codificación de imágenes de acuerdo con cualquiera de las reivindicaciones 1 a 4.
13. Un programa para hacer que un ordenador ejecute el procedimiento de descodificación de imágenes de acuerdo con cualquiera de las reivindicaciones 5 a 8.
ES13802843T 2012-06-27 2013-06-10 Procedimiento de codificación de imágenes, procedimiento de descodificación de imágenes, dispositivo de codificación de imágenes, dispositivo de descodificación de imágenes y aparato de codificación y descodificación de imágenes Active ES2834105T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201261664870P 2012-06-27 2012-06-27
PCT/JP2013/003635 WO2014002407A1 (ja) 2012-06-27 2013-06-10 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置および画像符号化復号装置

Publications (1)

Publication Number Publication Date
ES2834105T3 true ES2834105T3 (es) 2021-06-16

Family

ID=49782607

Family Applications (1)

Application Number Title Priority Date Filing Date
ES13802843T Active ES2834105T3 (es) 2012-06-27 2013-06-10 Procedimiento de codificación de imágenes, procedimiento de descodificación de imágenes, dispositivo de codificación de imágenes, dispositivo de descodificación de imágenes y aparato de codificación y descodificación de imágenes

Country Status (15)

Country Link
US (3) US9313487B2 (es)
EP (1) EP2869554B1 (es)
JP (2) JP6187872B2 (es)
KR (1) KR101962984B1 (es)
CN (2) CN108235014B (es)
AU (1) AU2013273686B2 (es)
BR (1) BR122023004444B1 (es)
CA (1) CA2838209C (es)
ES (1) ES2834105T3 (es)
MX (1) MX2013015086A (es)
MY (1) MY167294A (es)
PL (1) PL2869554T3 (es)
RU (1) RU2632419C2 (es)
TW (1) TWI559738B (es)
WO (1) WO2014002407A1 (es)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
MX2013015086A (es) 2012-06-27 2014-02-21 Panasonic Corp Metodo de codificacion de imagenes, metodo de decodificacion de imagenes, aparato de codificacion de imagenes, aparato de decodificacion de imagenes y aparato de codificacion y decodificacion de imagenes.
AU2012203828B2 (en) * 2012-06-28 2015-12-10 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding a sample adaptive offset data of encoded video data
KR102164698B1 (ko) * 2013-03-25 2020-10-14 광운대학교 산학협력단 입력 버퍼를 재사용하는 샘플 적응적 오프셋 처리 장치 및 샘플 적응적 오프셋 처리 장치의 동작 방법
JP6328759B2 (ja) * 2013-07-15 2018-05-23 寰發股▲ふん▼有限公司HFI Innovation Inc. ビデオ符号化のサンプル適応オフセット処理の方法
US20150237378A1 (en) * 2014-02-20 2015-08-20 Mediatek Inc. Method for controlling sample adaptive offset filtering applied to different partial regions in one frame based on different weighting parameters and related sample adaptive offset filter
KR102414164B1 (ko) * 2017-03-31 2022-06-29 한국전자통신연구원 향상된 산술부호화를 제공하는 영상 처리 방법, 그를 이용한 영상 복호화, 부호화 방법 및 그 장치
CN108235021B (zh) * 2018-01-10 2020-06-19 北京奇艺世纪科技有限公司 一种band模式确定方法及装置
US10915341B2 (en) * 2018-03-28 2021-02-09 Bank Of America Corporation Computer architecture for processing correlithm objects using a selective context input
GB2575119B (en) * 2018-06-29 2021-11-24 Canon Kk Methods and devices for performing sample adaptive offset (SAO) filtering
CN112153388A (zh) * 2020-09-18 2020-12-29 山东云海国创云计算装备产业创新中心有限公司 一种图像压缩方法、装置及相关设备
CN112702105B (zh) * 2020-12-09 2022-10-21 成都天奥信息科技有限公司 一种地空通信电台时频校准系统及方法

Family Cites Families (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5150203A (en) * 1990-12-26 1992-09-22 The Grass Valley Group, Inc. Variable chrominance filtering for encoding television signals
US6917644B2 (en) * 1996-04-25 2005-07-12 Sirf Technology, Inc. Spread spectrum receiver with multi-path correction
US6856701B2 (en) 2001-09-14 2005-02-15 Nokia Corporation Method and system for context-based adaptive binary arithmetic coding
JP3748545B2 (ja) * 2002-09-19 2006-02-22 株式会社ナムコ プログラム、情報記憶媒体及び画像生成装置
US20070071090A1 (en) 2005-06-21 2007-03-29 National Chiao Tung University Method for performing context adaptive binary arithmetic coding with stochastic bit reshuffling for fine granularity scalability
EP1913778A4 (en) 2005-07-08 2010-04-28 Lg Electronics Inc METHOD FOR MODELING THE CODING OF INFORMATION OF A VIDEO SIGNAL FOR COMPRESSING / DECOMPRESSING THE INFORMATION
WO2007008015A1 (en) 2005-07-08 2007-01-18 Lg Electronics Inc. Method for modeling coding information of video signal for compressing/decompressing coding information
RU2371881C1 (ru) * 2005-07-08 2009-10-27 ЭлДжи ЭЛЕКТРОНИКС ИНК. Способ моделирования информации кодирования видеосигнала для компрессии/декомпрессии информации
US20090123066A1 (en) 2005-07-22 2009-05-14 Mitsubishi Electric Corporation Image encoding device, image decoding device, image encoding method, image decoding method, image encoding program, image decoding program, computer readable recording medium having image encoding program recorded therein,
US8509551B2 (en) 2005-07-22 2013-08-13 Mitsubishi Electric Corporation Image encoder and image decoder, image encoding method and image decoding method, image encoding program and image decoding program, and computer readable recording medium recording with image encoding program and computer readable recording medium recorded with image decoding program
US20080165849A1 (en) 2005-07-22 2008-07-10 Mitsubishi Electric Corporation Image encoder and image decoder, image encoding method and image decoding method, image encoding program and image decoding program, and computer readable recording medium recorded with image encoding program and computer readable recording medium recorded with image decoding program
KR100995226B1 (ko) 2005-07-22 2010-11-17 미쓰비시덴키 가부시키가이샤 화상 부호화 장치, 화상 복호 장치, 화상 부호화 방법, 화상 복호 방법, 화상 부호화 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체, 화상 복호 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체
US20080130989A1 (en) 2005-07-22 2008-06-05 Mitsubishi Electric Corporation Image encoder and image decoder, image encoding method and image decoding method, image encoding program and image decoding program, and computer readable recording medium recorded with image encoding program and computer readable recording medium recorded with image decoding program
US20080137744A1 (en) 2005-07-22 2008-06-12 Mitsubishi Electric Corporation Image encoder and image decoder, image encoding method and image decoding method, image encoding program and image decoding program, and computer readable recording medium recorded with image encoding program and computer readable recording medium recorded with image decoding program
US20080130988A1 (en) 2005-07-22 2008-06-05 Mitsubishi Electric Corporation Image encoder and image decoder, image encoding method and image decoding method, image encoding program and image decoding program, and computer readable recording medium recorded with image encoding program and computer readable recording medium recorded with image decoding program
US8488889B2 (en) 2005-07-22 2013-07-16 Mitsubishi Electric Corporation Image encoder and image decoder, image encoding method and image decoding method, image encoding program and image decoding program, and computer readable recording medium recorded with image encoding program and computer readable recording medium recorded with image decoding program
RU2368095C1 (ru) 2005-07-22 2009-09-20 Мицубиси Электрик Корпорейшн Кодер изображения и декодер изображения, способ кодирования изображения и способ декодирования изображения, программа кодирования изображения и программа декодирования изображения и компьютерно-считываемый носитель записи, на котором записана программа кодирования изображения, и компьютерно-считываемый носитель записи, на котором записана программа декодирования изображения
US20080123977A1 (en) 2005-07-22 2008-05-29 Mitsubishi Electric Corporation Image encoder and image decoder, image encoding method and image decoding method, image encoding program and image decoding program, and computer readable recording medium recorded with image encoding program and computer readable recording medium recorded with image decoding program
US20080130990A1 (en) 2005-07-22 2008-06-05 Mitsubishi Electric Corporation Image encoder and image decoder, image encoding method and image decoding method, image encoding program and image decoding program, and computer readable recording medium recorded with image encoding program and computer readable recording medium recorded with image decoding program
US20090034857A1 (en) 2005-07-22 2009-02-05 Mitsubishi Electric Corporation Image encoder and image decoder, image encoding method and image decoding method, image encoding program and image decoding program, and computer readable recording medium recorded with image encoding program and computer readable recording medium recorded with image decoding program
US20080123947A1 (en) 2005-07-22 2008-05-29 Mitsubishi Electric Corporation Image encoding device, image decoding device, image encoding method, image decoding method, image encoding program, image decoding program, computer readable recording medium having image encoding program recorded therein
US7894523B2 (en) 2005-09-05 2011-02-22 Lg Electronics Inc. Method for modeling coding information of a video signal for compressing/decompressing coding information
CN100466739C (zh) * 2005-10-12 2009-03-04 华为技术有限公司 Cabac解码系统及方法
JP2007142637A (ja) 2005-11-16 2007-06-07 Matsushita Electric Ind Co Ltd 画像情報符号化装置
US8189038B2 (en) * 2005-12-21 2012-05-29 International Business Machines Corporation Stereographic projection apparatus with passive eyewear utilizing a continuously variable polarizing element
US7656326B2 (en) 2006-06-08 2010-02-02 Via Technologies, Inc. Decoding of context adaptive binary arithmetic codes in computational core of programmable graphics processing unit
JP4878262B2 (ja) * 2006-10-31 2012-02-15 キヤノン株式会社 エントロピー符号化装置
US7710296B2 (en) 2007-09-19 2010-05-04 Texas Instruments Incorporated N-bin arithmetic coding for context adaptive binary arithmetic coding
US20090154567A1 (en) * 2007-12-13 2009-06-18 Shaw-Min Lei In-loop fidelity enhancement for video compression
US8195001B2 (en) * 2008-04-09 2012-06-05 Intel Corporation In-loop adaptive wiener filter for video coding and decoding
US8138956B2 (en) * 2008-06-02 2012-03-20 Mediatek Inc. CABAC encoder and CABAC encoding method
US8548041B2 (en) 2008-09-25 2013-10-01 Mediatek Inc. Adaptive filter
US8270807B2 (en) * 2009-07-13 2012-09-18 Panasonic Corporation Recording medium, playback device, and integrated circuit
KR101457418B1 (ko) 2009-10-23 2014-11-04 삼성전자주식회사 계층적 부호화 단위의 크기에 따른 비디오 부호화 방법과 그 장치, 및 비디오 복호화 방법과 그 장치
CN101771879B (zh) * 2010-01-28 2011-08-17 清华大学 基于cabac的并行归一化编码实现电路及编码方法
US8660174B2 (en) * 2010-06-15 2014-02-25 Mediatek Inc. Apparatus and method of adaptive offset for video coding
US9094658B2 (en) 2010-05-10 2015-07-28 Mediatek Inc. Method and apparatus of adaptive loop filtering
US9456111B2 (en) 2010-06-15 2016-09-27 Mediatek Inc. System and method for content adaptive clipping
KR20120012385A (ko) 2010-07-31 2012-02-09 오수미 인트라 예측 부호화 장치
US8913666B2 (en) * 2010-10-01 2014-12-16 Qualcomm Incorporated Entropy coding coefficients using a joint context model
US9055305B2 (en) * 2011-01-09 2015-06-09 Mediatek Inc. Apparatus and method of sample adaptive offset for video coding
US9813738B2 (en) 2010-10-05 2017-11-07 Hfi Innovation Inc. Method and apparatus of adaptive loop filtering
US8861617B2 (en) * 2010-10-05 2014-10-14 Mediatek Inc Method and apparatus of region-based adaptive loop filtering
KR101505755B1 (ko) 2010-11-25 2015-03-24 엘지전자 주식회사 영상 정보의 시그널링 방법 및 이를 이용한 영상 정보의 복호화 방법
EP2661879B1 (en) 2011-01-03 2019-07-10 HFI Innovation Inc. Method of filter-unit based in-loop filtering
US9161041B2 (en) 2011-01-09 2015-10-13 Mediatek Inc. Apparatus and method of efficient sample adaptive offset
US9008170B2 (en) * 2011-05-10 2015-04-14 Qualcomm Incorporated Offset type and coefficients signaling method for sample adaptive offset
US20120294353A1 (en) 2011-05-16 2012-11-22 Mediatek Inc. Apparatus and Method of Sample Adaptive Offset for Luma and Chroma Components
US10484693B2 (en) * 2011-06-22 2019-11-19 Texas Instruments Incorporated Method and apparatus for sample adaptive offset parameter estimation for image and video coding
US20130003829A1 (en) * 2011-07-01 2013-01-03 Kiran Misra System for initializing an arithmetic coder
US10070152B2 (en) * 2011-08-24 2018-09-04 Texas Instruments Incorporated Sample adaptive offset (SAO) parameter signaling
US9277194B2 (en) * 2011-11-08 2016-03-01 Texas Instruments Incorporated Method and apparatus for image and video coding using hierarchical sample adaptive band offset
US20130114686A1 (en) * 2011-11-08 2013-05-09 Sharp Laboratories Of America, Inc. Video decoder with enhanced cabac motion vector decoding
US9503717B2 (en) * 2012-01-09 2016-11-22 Texas Instruments Incorporated Context adaptive binary arithmetic coding (CABAC) with scalable throughput and coding efficiency
US9942571B2 (en) * 2012-05-29 2018-04-10 Hfi Innovations Inc. Method and apparatus for coding of sample adaptive offset information
MY169635A (en) * 2012-06-08 2019-04-24 Sun Patent Trust Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus
MX2013015086A (es) 2012-06-27 2014-02-21 Panasonic Corp Metodo de codificacion de imagenes, metodo de decodificacion de imagenes, aparato de codificacion de imagenes, aparato de decodificacion de imagenes y aparato de codificacion y decodificacion de imagenes.
AU2012203828B2 (en) * 2012-06-28 2015-12-10 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding a sample adaptive offset data of encoded video data
ES2967482T3 (es) * 2012-07-02 2024-04-30 Sony Group Corp Mejoras de desacoplamiento en el desplazamiento adaptativo de muestra (SAO) para codificador de vídeo de alta eficiencia (HEVC)
CN108055545B (zh) * 2012-07-16 2020-09-08 三星电子株式会社 Sao编码方法和设备以及sao解码方法和设备

Also Published As

Publication number Publication date
CA2838209C (en) 2018-12-04
RU2632419C2 (ru) 2017-10-04
TWI559738B (zh) 2016-11-21
CN103621088A (zh) 2014-03-05
US20140119430A1 (en) 2014-05-01
US20180249186A1 (en) 2018-08-30
TW201404171A (zh) 2014-01-16
CA2838209A1 (en) 2013-12-27
WO2014002407A1 (ja) 2014-01-03
AU2013273686A1 (en) 2014-01-23
US10063862B2 (en) 2018-08-28
MY167294A (en) 2018-08-16
EP2869554B1 (en) 2020-10-07
KR20150028688A (ko) 2015-03-16
US9313487B2 (en) 2016-04-12
JP6365957B2 (ja) 2018-08-01
EP2869554A1 (en) 2015-05-06
JPWO2014002407A1 (ja) 2016-05-30
KR101962984B1 (ko) 2019-03-27
MX2013015086A (es) 2014-02-21
JP2017204881A (ja) 2017-11-16
US20160142718A1 (en) 2016-05-19
CN108235014B (zh) 2020-08-14
RU2013157570A (ru) 2016-08-20
BR112013033365A2 (pt) 2017-01-31
BR122023004444B1 (pt) 2024-02-15
AU2013273686B2 (en) 2017-03-02
CN108235014A (zh) 2018-06-29
CN103621088B (zh) 2018-01-30
PL2869554T3 (pl) 2021-04-19
US10542290B2 (en) 2020-01-21
EP2869554A4 (en) 2016-04-20
JP6187872B2 (ja) 2017-08-30

Similar Documents

Publication Publication Date Title
ES2781573T3 (es) Procedimiento de codificación de imágenes, procedimiento de decodificación de imágenes, dispositivo de codificación de imágenes, dispositivo de decodificación de imágenes, y dispositivo de codificación y decodificación de imágenes
ES2786503T3 (es) Método de filtrado, método de decodificación de imágenes en movimiento, método de codificación de imágenes en movimiento, aparato de decodificación de imágenes en movimiento, aparato de codificación de imágenes en movimiento y aparato de codificación/decodificación de imágenes en movimiento
ES2834105T3 (es) Procedimiento de codificación de imágenes, procedimiento de descodificación de imágenes, dispositivo de codificación de imágenes, dispositivo de descodificación de imágenes y aparato de codificación y descodificación de imágenes
JP5932811B2 (ja) 画像復号方法、及び画像復号装置
ES2866352T3 (es) Señalización de banderas de bloque codificado (CBF) de luminancia-crominancia en codificación de vídeo
ES2865101T3 (es) Procedimiento de codificación de imágenes, procedimiento de decodificación de imágenes, dispositivo de codificación de imágenes, dispositivo de decodificación de imágenes y dispositivo de codificación/decodificación de imágenes
WO2013057884A1 (ja) 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置及び画像符号化復号装置
ES2782227T3 (es) Procedimiento de codificación de imagen, procedimiento de decodificación de imagen, dispositivo de codificación de imagen, dispositivo de decodificación de imagen y dispositivo de codificación/decodificación de imagen
JP6327435B2 (ja) 画像符号化方法、画像復号方法、画像符号化装置、及び、画像復号装置
ES2874762T3 (es) Procedimiento de codificación de vídeo y procedimiento de decodificación de vídeo
WO2013069258A1 (ja) 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置、および画像符号化復号装置
BR112013033374B1 (pt) Método de codificação de imagem, método de decodificação de imagem, aparelho de codificação de imagem, aparelho de decodificação de imagem e aparelho de codificação e decodificação de imagem
BR112013033365B1 (pt) Método de codificação de imagem e método de decodificação de imagem