MX2015004140A - Dispositivo y metodo de procesamiento de imagenes. - Google Patents

Dispositivo y metodo de procesamiento de imagenes.

Info

Publication number
MX2015004140A
MX2015004140A MX2015004140A MX2015004140A MX2015004140A MX 2015004140 A MX2015004140 A MX 2015004140A MX 2015004140 A MX2015004140 A MX 2015004140A MX 2015004140 A MX2015004140 A MX 2015004140A MX 2015004140 A MX2015004140 A MX 2015004140A
Authority
MX
Mexico
Prior art keywords
unit
data
file
image
parameter
Prior art date
Application number
MX2015004140A
Other languages
English (en)
Other versions
MX340964B (es
Inventor
Teruhiko Suzuki
Mitsuhiro Hirabayashi
Takehiko Nakano
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Publication of MX2015004140A publication Critical patent/MX2015004140A/es
Publication of MX340964B publication Critical patent/MX340964B/es

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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • H04N19/426Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements using memory downsizing methods
    • H04N19/427Display on the fly, e.g. simultaneous writing to and reading from decoding memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • 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/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
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/85406Content authoring involving a specific file format, e.g. MP4 format

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Television Signal Processing For Recording (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

La presente descripción se refiere a un dispositivo de procesamiento de imágenes y un método capaz de reducir la carga de procesamiento cuando se genera una corriente. Un generador de archivos establece un código de inicio y datos de relleno para un archivo que contiene la corriente de bits en la cual se codifica una imagen, y controla el establecimiento del código de inicio y los datos de relleno de manera que las propiedades de un parámetro para manejar una memoria intermedia de descodificador se mantengan y el archivo se configure en los datos de medios del archivo. La presente descripción puede aplicarse, por ejemplo, a un dispositivo de procesamiento de imágenes.

Description

DISPOSITIVO Y MÉTODO DE PROCESAMIENTO DE IMÁGENES CAMPO TÉCNICO
[0001] La presente descripción se refiere a un dispositivo de procesamiento de imágenes y a un método de procesamiento de imágenes, y más específicamente, a un dispositivo de procesamiento de imágenes y a un método de procesamiento de imágenes capaces de reducir una carga de procesamiento requerida cuando se genera una corriente utilizada al momento de la transmisión o una corriente utilizada al momento del almacenamiento de datos en un archivo.
TÉCNICA ANTECEDENTE
[0002] En H.264/AVC que es una de las especificaciones estándar del sistema de codificación de imágenes, se definen dos tipos de conjuntos de parámetros denominados conjunto de parámetros de secuencia (SPS) y conjunto de parámetros de imágenes (PPS) que se utilizan para almacenar parámetros para codificar y descodificar una imagen. Los datos de imagen de cada sección se clasifican en unidades de NAL de VCL (Capa de Codificación de Video), y estos conjuntos de parámetros se clasifican en unidades in NAL de VCL. Generalmente, en un caso donde una corriente codificada que se utiliza codificando el sistema de H.264/AVC se almacena en un archivo que incluye una región de encabezado y una región de datos, el SPS y el PPS se insertan en la región de encabezado y los datos de imagen se insertan en la región de datos.
[0003] En una operación de estandarización de HEVC (Codificación de Video de alta Eficiencia) que es un sistema de codificación de imágenes de siguiente generación subsiguiente a la H.264/AVC, la introducción de un conjunto de parámetros de adaptación (APS) que es un nuevo conjunto de parámetros distinto a SPS y PPS se han propuesto (véase Documentos 1 y 2 que No son Patente descritos a continuación).
[0004] El APS también es un tipo de conjuntos de parámetros. De esta manera, de acuerdo con una téenica existente, de manera similar al SPS y el PPS, el APS también se inserta en la región de encabezado de un archivo. Ejemplos de un formato de archivo que incluye una región de encabezado y una región de datos incluyen un formato de Parte 14 de MPEG-4 (ISO/IEC 14496-14:2003, en adelante, denominada MP4) y un formato de Parte 15 de MPEG-4 (ISO/IEC 14496-15: 2004, archivo de AVC).
LISTA DE CITAS DOCUMENTO QUE NO ES PATENTE
[0005] Documento 1 que No es Patente: Stephan Wenger, Jill Boyce, Yu-Wen Huang, Chia-Yang Tsai, Ping Wu, Ming Li, "Conjunto de Parámetros de Adaptación (APS)", JCTVC-F747r3, julio de 2011 Documento 2 que No es Patente:Benjamín Bross, Woo-Jin Han, Jens-Rainer Ohm,Gary J.Sullivan,Thomas Wiegand, "Proyecto 6 de especificación de texto de codificación de video de alta eficiencia (HEVC) ", JCTVC-H1003 ver20, febrero de 2012 COMPENDIO DE LA INVENCIÓN PROBLEMAS QUE SERÁN RESUELTOS POR LA INVENCIÓN
[0006] Sin embargo, en un caso donde una corriente utilizada para transmisión o una corriente utilizada para almacenar datos en un archivo se genera, existe un formato en el cual datos tales como código de inicio y un dato de relleno no se permite que se incluyan en la corriente.De estamanera,cuando se leen los datos de una corriente, provoca que se incremente la carga de procesamiento.
[0007] La presente descripción se configura en consideración de tales situaciones y reduce la carga de procesamiento requerida cuando se genera una corriente utilizada al momento de la transmisión o una corriente utilizada al momento del almacenamiento de datos en un archivo.
SOLUCIONES A LOS PROBLEMAS
[0008] De acuerdo con un primer aspecto de la presente descripción, se proporciona un dispositivo de procesamiento de imágenes que incluye:una unidad de establecimiento que establece un código de inicio y datos de relleno para un archivo que incluye una corriente de bits adquirida al codificar una imagen; y una unidad de control que realiza control de la unidad de establecimiento de manera que el código de inicio y los datos de relleno establecidos por la unidad de establecimiento configuren un archivo con una característica de un parámetro que maneja una memoria intermedia de descodificador que se mantiene en datos de medios del archivo.
[0009] El parámetro que maneja la memoria intermedia de descodificador es un parámetro incluido en VUI (Información de Utilidad de Video),un parámetro incluido para guardar en memoria intermedia la SEI de periodo (Información de Mejora Complementaria), o un parámetro incluido en la SEI de tiempo de imagen.
[0010] La unidad de establecimientopuede establecer losdatos de relleno como datos de VCL.
[0011] De acuerdo con el primer aspecto de la presente descripción, se proporciona un método de procesamiento de imágenes que utiliza un dispositivo de procesamiento de imágenes. El método de procesamiento de imágenes incluye: establecer un código de inicio y datos de relleno para un archivo que incluye una corriente de bits adquirida al codificar una imagen; y realizar control del establecimiento del código de inicio y los datos de relleno de manera que el código de inicio y los datos de relleno que se establecen configuren un archivo con una característica de un parámetro que maneja una memoria intermedia de descodificador que se mantiene en los datos de medios del archivo.
[0012] De acuerdo con un segundo aspecto de la presente descripción, se proporciona un dispositivo de procesamiento de imágenes que incluye: una unidad de recepción que recibe un archivo que incluye una corriente de bits adquirida al codificar una imagen y se controla y establece de manera que un código de inicio y datos de relleno configuren el archivo con una característica de un parámetro que maneja una memoria intermedia de descodificador que se mantiene en los datos de medios del archivo; y una unidad de descodificación que lee el código de inicio y los datos de relleno del archivo recibido por la unidad de recepción y descodifica la corriente de bits al utilizar el parámetro que maneja la memoria intermedia de descodificador.
[0013] El parámetro que maneja la memoria intermedia de descodificador es un parámetro incluido en VUI (Información de Utilidad de Video),un parámetro incluido para guardar en memoria intermedia la SEI de periodo (Información de Mejora Complementaria), o un parámetro incluido en la SEI de tiempo de imagen.
[0014] Los datos de relleno se establecen como datos de VCL.
[0015] De acuerdo con el segundo aspecto de la presente descripción, se proporciona un método de procesamiento de imágenes que utiliza un dispositivo de procesamiento de imágenes. El método de procesamiento de imágenes incluye: recibir un archivo que incluye una corriente de bits adquirida al codificar una imagen y se controla y establece de manera que un código de inicio y datos de relleno configuren el archivo con una característica de un parámetro que maneja una memoria intermedia de descodificador que se mantiene en datos de medios del archivo; y lee el código de inicio y los datos de relleno del archivo recibido y descodifica la corriente de bits al utilizar el parámetro que maneja la memoria intermedia de descodificador.
[0016] De acuerdo con un tercer aspecto de la presente descripción, se proporciona un dispositivo de procesamiento de imágenes que incluye:una unidad de establecimiento que establece una característica de un parámetro que maneja una memoria intermedia de descodificador en un caso en donde se elimina un código de inicio y datos de relleno de una corriente de bits en datos de medios de un archivo que incluye la corriente de bits adquirida al codificar una imagen; y una unidad de generación que genera el archivo al utilizar la característica establecida por la unidad de establecimiento.
[0017] La unidad de establecimiento puede establecer un parámetro de identificación que identifica que la característica del parámetro que maneja la memoria intermedia de descodificador se cambia.
[0018] La unidad de establecimiento puede establecer un parámetro de identificación como un recuadro opcional en una entrada de muestra del archivo.
[0019] De acuerdo con el tercer aspecto de la presente descripción, se proporciona un método de procesamiento de imágenes que utiliza un dispositivo de procesamiento de imágenes. El método de procesamiento de imágenes incluye: establecer una característica de un parámetro que maneja una memoria intermedia de descodificador en un caso donde se eliminan un código de inicio y datos de relleno de una corriente de bits en datos de medios de un archivo que incluyen la corriente de bits adquirida al codificar una imagen; y generar el archivo al utilizar la característica establecida.
[0020] De acuerdo con un cuarto aspecto de la presente descripción, se proporciona un dispositivo de procesamiento de imágenes que incluye: una unidad de recepción que recibe un archivo generado utilizando una característica establecida de un parámetro que maneja una memoria intermedia de descodificador que se establece en un caso donde se eliminan un código de inicio y datos de relleno de los datos de medios de un archivo que incluye una corriente de bits adquirida al codificar una imagen; y una unidad de descodificación que lee el parámetro que maneja la memoria intermedia de descodificador del archivo recibido por la unidad de recepción y descodifica la corriente de bits al utilizar el parámetro leído.
[0021] En el archivo, se cambia un parámetro de identificación que identifica que se establece la característica del parámetro que maneja la memoria intermedia de descodificador.
[0022] De acuerdo con el cuarto aspecto de la presente descripción, se proporciona un método de procesamiento de imágenes que utiliza un dispositivo de procesamiento de imágenes. El método de procesamiento de imágenes incluye: recibir un archivo generado utilizando una característica establecida de un parámetro quemaneja una memoria intermedia de descodificador que se establece en un caso donde se eliminan un código de inicio y datos de relleno de los datos de medios de un archivo incluyendo una corriente de bits adquirida al codificar una imagen; y leer el parámetro que maneja la memoria intermedia de descodificador del archivo recibido y descodificar la corriente de bits al utilizar el parámetro leído.
[0023] De acuerdo con el primer aspecto de la presente descripción, se establecen un código de inicio y datos de relleno para un archivo que incluye una corriente de bits adquirida al codificar una imagen. Después, el establecimiento del código de inicio de los datos de relleno se controla de manera que el código de inicio y los datos de relleno que se establecen configuran un archivo con una característica de un parámetro que maneja una memoria intermedia de descodificador que se mantiene en datos de medios del archivo.
[0024] De acuerdo con el segundo aspecto de la presente descripción, un archivo que incluye una corriente de bits adquirida al codificar una imagen y que se controla y se establece de manera que un código de inicio y datos de relleno configuran el archivo con una característica de un parámetro que maneja una memoria intermedia de descodificador se mantengan en los datos de medios del archivo que se recibe. Después, el código de inicio y los datos de relleno se leen del archivo recibido, y se descodifica la corriente de bits al utilizar el parámetro que maneja la memoria intermedia de descodificador.
[0025] De acuerdo con un tercer aspecto de la presente descripción, una característica de un parámetro que maneja una memoria intermedia de descodificador se establece en un caso donde se eliminan un código de inicio y datos de relleno de una corriente de bits en datos de medios de un archivo que incluye la corriente de bits adquirida al codificar una imagen. Después, se genera el archivo al utilizar la característica establecida.
[0026] De acuerdo con el cuarto aspecto de la presente descripción, un archivo generado utilizando una característica establecida de un parámetro que maneja una memoria intermedia de descodificador que se establece en un caso donde se eliminan un código de inicio y datos de relleno de los datos de medios de un archivo que incluyen una corriente de bits adquirida por la codificación de una imagen, se recibe. Después, el parámetro que maneja la memoria intermedia de descodificador se lee del archivo recibido, y la corriente de bits se descodifica al utilizar el parámetro leído.
[0027] Aquí,el dispositivo de procesamiento de imágenes antes descrito puede ser un dispositivo independiente o un bloque interno que configura un aparato de codificación de imágenes o un aparato de descodificación de imágenes.
EFECTOS DE LA INVENCIÓN
[0028] De acuerdo con el primer a tercer aspectos de la presente descripción, puede codificarse una imagen. Particularmente, la carga de procesamiento puede reducirse cuando se genera una corriente utilizada al momento de la transmisión de una corriente de bits o una corriente utilizada al momento de almacenar datos en un archivo.
[0029] Además, de acuerdo con el segundo y cuarto aspectos de la presente descripción, puede descodificarse una imagen. Particularmente, la carga de procesamiento puede reducirse cuando se descodifica una corriente utilizada al momento de la transmisión o una corriente utilizada al momento del almacenamiento de datos en un archivo.
BREVE DESCRIPCIÓN DE LOS DIBUJOS
[0030] La Figura 1 es un diagrama de bloque que ilustra un ejemplo de la configuración de un aparato de codificación,al cual se aplica la presente teenología, de acuerdo con una primera modalidad.
La Figura 2 es un diagrama de bloque que ilustra un ejemplo de la configuración de un codificador.
La Figura 3 es un diagrama de bloque que ilustra un ejemplo de la configuración de una unidad de generación de archivos.
La Figura 4 es un diagrama de flujo que ilustra un proceso de generación de archivos.
La Figura 5 es un diagrama de flujo que ilustra otro ejemplo del proceso de generación de archivos.
La Figura 6 es un diagrama de flujo que ilustra un proceso convencional para generar datos de mdat.
La Figura 7 es un diagrama de flujo que ilustra un proceso para generar datos de mdat de acuerdo con la presente teenología.
La Figura 8 es un diagrama de bloque que ilustra un ejemplo de la configuración de un aparato de descodificación al cual se aplica la presente tecnología de acuerdo con la primera modalidad.
La Figura 9 es un diagrama de bloque que ilustra un ejemplo de la configuración de una unidad de lectura de archivo.
La Figura 10 es un diagrama de bloque que ilustra un ejemplo de la configuración de un descodificador.
La Figura 11 es un diagrama de flujo que ilustra un proceso de descodificación de archivos.
La Figura 12 es un diagrama de flujo que ilustra otro ejemplo del proceso de descodificación de archivos.
La Figura 13 es un diagrama de bloque que ilustra un ejemplo de la configuración de un aparato de codificación,al cual se aplica la presente teenología, de acuerdo con una segunda modalidad.
La Figura 14 es un diagrama de bloque que ilustra un ejemplo de la configuración del aparato de descodificación, al cual se aplica la presente tecnología, de acuerdo con la segunda modalidad.
La Figura 15 es un diagrama que ilustra un ejemplo de una estructura de muestra de video de MP4 convencional.
La Figura 16 es un diagrama que ilustra un ejemplo de la configuración de una unidad de acceso de una corriente de AVC.
La Figura 17 es un diagrama que ilustra un ejemplo de una estructura de muestra de video de MP4 de acuerdo con la presente tecnología.
La Figura 18 es un diagrama que ilustra otro ejemplo de una estructura de muestra de video de MP4 de acuerdo con la presente tecnología.
La Figura 19 es un diagrama que ilustra un ejemplo de una extensión de Recuadro de Conformación de HRD.
La Figura 20 es un diagrama que ilustra otro ejemplo adicional de la estructura de muestra de video de MP4 de acuerdo con la presente tecnología.
La Figura 21 es un diagrama que ilustra un ejemplo de un recuadro agregado a una tabla de muestras.
La Figura 22 es un diagrama que ilustra otro ejemplo de la estructura de muestra de video de MP4 ilustrada en la Figura 20.
La Figura 23 es un diagrama que ilustra otro ejemplo adicional de la estructura de muestra de video de MP4 ilustrada en la Figura 20.
La Figura 24 es un diagrama que ilustra un ejemplo de un formato de una función de información auxiliar de muestra.
La Figura 25 es un diagrama que ilustra otro ejemplo de un formato de la función de información auxiliar de muestra.
La Figura 26 es un diagrama para comparar ejemplos de la estructura de muestra de video de MP4 de acuerdo con la presente teenología.
La Figura 27 es un diagrama que ilustra otro ejemplo de la estructura de muestra de video de MP4 ilustrada en la Figura 23.
La Figura 28 es un diagrama que ilustra un ejemplo de un recuadro de información de formato de corriente de bytes.
La Figura 29 es un diagrama que ilustra otro ejemplo del recuadro de información de formato de corriente de bytes.
La Figura 30 es un diagrama que ilustra un ejemplo de la estructura de datos de la información de formato de corriente de bytes almacenada en cada entrada de muestra.
La Figura 31 es un diagrama que ilustra un ejemplo de la estructura de muestra de video de MP4 en el caso del Patrón 1 La Figura 32 es un diagrama que ilustra un ejemplo de la estructura de muestra de video de MP4 en el caso del Patrón 2 La Figura 33 es un diagrama que ilustra un ejemplo de la estructura de muestra de video de MP4 en el caso del Patrón 3.
La Figura 34 es un diagrama que ilustra otro ejemplo de la estructura de datos de la información de formato de corriente de bytes almacenada en cada entrada de muestra.
La Figura 35 es un diagrama que ilustra un ejemplo de la configuración de un aparato de conversión de archivos al cual se aplica la presente teenología.
La Figura 36 es un diagrama de flujo que ilustra un proceso de conversión de archivos.
La Figura 37 es un diagrama de bloque que ilustra un ejemplo de la configuración de un aparato de codificación, al cual se aplica la presente tecnología, de acuerdo con una tercera modalidad.
La Figura 38 es un diagrama de bloque que ilustra un ejemplo de la configuración de un codificador.
La Figura 39 es un diagrama de bloque que ilustra un ejemplo de la configuración de un aparato de descodificación, al cual se aplica la presente tecnología, de acuerdo con la tercera modalidad.
La Figura 40 es un diagrama de bloque que ilustra un ejemplo de la configuración de un descodificador.
La Figura 41 es un diagrama de bloque que ilustra un ejemplo de la configuración de una computadora.
La Figura 42 es un diagrama de bloque que ilustra un ejemplo de la configuración esquemática de un aparato de televisión.
La Figura 43 es un diagrama de bloque que ilustra un ejemplo de la configuración esquemática de un teléfono móvil.
La Figura 44 es un diagrama de bloque que ilustra un ejemplo de la configuración esquemática de un aparato de grabación/reproducción.
La Figura 45 es un diagrama de bloque que ilustra un ejemplo de la configuración esquemática de un aparato de formación de imágenes.
La Figura 46 es un diagrama de bloque que ilustra un ejemplo de la configuración esquemática de un aparato de video.
La Figura 47 es un diagrama de bloque que ilustra un ejemplo de la configuración esquemática de un procesador de video.
La Figura 48 es un diagrama de bloque que ilustra otro ejemplo de la configuración esquemática de un procesador de video.
MODO PARA LLEVAR A CABO LA INVENCIÓN
[0031] En adelante, las modalidades para realizar la presente descripción (en adelante, denominadas como modalidades) se describirán. La descripción se presentará en el orden siguiente. 1.Primera Modalidad (Aparato de Codificación y Aparato de Descodificación del Sistema de HEVC) 2. Segunda Modalidad (Aparato de Codificación de Imágenes y Aparato de Descodificación de Imágenes) 3. Tercera Modalidad (Estructura de Muestra de Video de MP4) 4.Cuarta Modalidad (Recuadro de Información de Formato de Corriente de Bytes) 5.Quinta Modalidad (Aparato de Conversión deArchivos) 6. Sexta Modalidad (Aparato de Codificación y Aparato de Descodificación del Sistema de AVC) 7. Ejemplo de Aplicación 8. Séptima Modalidad (Aparato/Unidad/Módulo/Procesador)
[0032] <1. Primera Modalidad> [Ejemplo de Configuración del Aparato de Codificación de Acuerdo con la Primera Modalidad] La Figura 1 es un diagrama de bloque que ilustra un ejemplo de la configuración de un aparato de codificación de acuerdo con una primera modalidad como dispositivo de procesamiento de imágenes al cual se aplica la presente teenología.
[0033] El aparato de codificación ilustrado en la Figura 1 se configura por un codificador 1 y una unidad 2 de generación de archivos y genera un archivo en el cual almacena una corriente codificada al codificar una imagen tal como una imagen capturada utilizando un sistema de HEVC.
[0034] Más específicamente, una imagen tal como una imagen capturada configurada en unidades de tramas se ingresa al codificador 1 del aparato de codificación como señal de entrada. Además, un SPS (Conjunto de Parámetros de Secuencia) y un PPS (Conjunto de Parámetros de Imagen) establecido en una fase previa del codificador 1 no ilustrado en la figura, VUI (Información de Utilidad de Video) que representa una característica (utilidad) de una imagen que corresponde a datos codificados para cada secuencia, SEI (Información de Mejora Complementaria), y similares se ingresan a la misma.
[0035] El codificador 1 codifica la señal de entrada utilizando parámetros incluidos en el SPS, el PPS, la VUI, y la SEI al utilizar el sistema de HEVC. Entonces, el codificador 1 genera una corriente codificada tal como una TS de MPEG-2 (Corriente de Transporte) basada en el SPS, el PPS, la VUI, y la SEI y datos codificados adquiridos como resultado del proceso de codificación y suministra la corriente codificada generada a la unidad 2 de generación de archivos.El codificador 1 se describirá posteriormente en detalle con referencia a la Figura 2.
[0036] La unidad 2 de generación de archivos genera un archivo (por ejemplo, un archivo de Parte 14 de MPEG-4 (ISO/IEC14496-14:2003, en adelante, denominado como MP4) que almacena la corriente codificada (una serie de datos de imagen codificados) suministrada desde el codificador 1. La unidad 2 de generación de archivos se describirá posteriormente en detalle con referencia a la Figura 3.
[0037] [Ejemplo de Configuración del Codificador] La Figura 2 es un diagrama de bloque que ilustra un ejemplo de la configuración del codificador 1 ilustrado en la Figura 1. Cada unidad del codificador 1 codifica una imagen que es una señal de entrada al utilizar parámetros incluidos en el SPS, el PPS, la VUI, y la SEI suministrados desde la fase previa no ilustrada en la figura, por lo que genera una corriente codificada.
[0038] El codificador 1 ilustrado en la Figura 2 se configura para incluir: un convertidor 11 de A/D; una memoria intermedia 12 de reorganización de pantalla; una unidad 13 de cálculo, una unidad 14 de transformada ortogonal; una unidad 15 de cuantificación; una unidad 16 de codificación sin pérdidas; una memoria intermedia 17 de acumulación; una unidad 18 de cuantificación inversa; una unidad 19 de transformada ortogonal inversa; una unidad 20 de adición; un filtro 21 de desbloqueo; una memoria 22 de tramas; un conmutador 23; una unidad 24 de intra-predicción; una unidad 25 de predicción/compensación de movimiento; una unidad 26 de selección de imagen prevista; y una unidad 27 de control de tasa.
[0039] Además, entre el filtro 21 de desbloqueo y la memoria 22 de tramas, se proporciona un filtro 41 de compensación adaptable y un filtro 42 de bucle adaptable.
[0040] Más específicamente, el convertidor 11 de A/D del codificador 1 realiza una conversión de A/D de una imagen, la cual se configura en unidades de tramas, ingresada como señal de entrada, y produce la imagen convertida en la memoria intermedia 12 de redisposición de pantalla para que se almacene en la misma. La memoria intermedia 12 de reorganización de pantalla reorganiza la imagen almacenada, la cual se configura en unidades de tramas en el orden de visualización, para codificar de acuerdo con una estructura de GOP (Grupo de Imágenes), y produce la imagen reorganizada en la unidad 13 de cálculo, la unidad 24 de intra-predicción, y la unidad 25 de predicción/compensación de movimiento.
[0041] La unidad 13 de cálculo realiza codificación al calcular una diferencia entre una imagen prevista suministrada desde la unidad 26 de selección de imagen prevista y una imagen de codificación actual producida a partir de la memoria intermedia 12 de reorganización de pantalla. Más específicamente, la unidad 13 de cálculo resta una imagen prevista suministrada dela unidad 26 de selección de imagen prevista de una imagen de codificación actual producida a partir de la memoria intermedia 12 de reorganización de pantalla. La unidad 13 de cálculo produce una imagen adquirida como resultado de la misma a la unidad 14 de transformada ortogonal como información diferencial. Además, en un caso donde una imagen prevista no se suministra desde la unidad 26 de selección de imagen prevista, la unidad 13 de cálculo produce la imagen leída de la memoria intermedia 12 de reorganización de pantalla en la unidad 14 de transformada ortogonal como información diferencial.
[0042] La unidad 14 de transformada ortogonal realiza una transformada ortogonal para la información diferencial suministrada desde la unidad 13 de cálculo y suministra los coeficientes adquiridos como resultado de la transformada ortogonal a la unidad 15 de cuantificación.
[0043] La unidad 15 de cuantificación cuantifica los coeficientes suministrados desde la unidad 14 de transformada ortogonal. Los coeficientes cuantificados se ingresan a la unidad 16 de codificación sin pérdidas.
[0044] La unidad 16 de codificación sin pérdida adquiere información (en adelante, denominada como información de modo de intra-predicción) que representa un modo de intra-predicción óptimo de la unidad 24 de intra predicción.Además, la unidad 16 de codificación sin pérdidas adquiere información que representa el modo de inter-predicción óptimo (en adelante denominado como información de modo de inter-predicción), un vector de movimiento, información utilizada para especificar una imagen de referencia, y similares a partir de la unidad 25 de predicción/compensación de movimiento. Además, la unidad 16 de codificación sin pérdidas adquiere indicadores almacenados, un índice o una compensación, y la información de tipo del filtro 41 de compensación adaptable como información de filtro de compensación y adquiere coeficientes de filtro del filtro 42 de bucle adaptable.
[0045] La unidad 16 de codificación sin pérdidas realiza codificación sin pérdidas, tal como codificación de longitud variable (por ejemplo, CAVLC (Codificación de Longitud Variable de Contexto Adaptable) o similares), codificación aritmética (CABAC (Codificación Aritmética Binaria de Contexto Adaptable), o similares), para los coeficientes cuantificados suministrados desde la unidad 15 de cuantificación.
[0046] Además, la unidad 16 de codificación sin pérdidas realiza codificación sin pérdidas de la información de modo de intra-predicción o la información de modo de inter-predicción, el vector de movimiento, la información que especifica una imagen de referencia, la información de filtro de compensación, los coeficientes de filtro, y similares como información de codificación que se relaciona con codificación. La unidad 16 de codificación sin pérdidas genera una corriente codificada basada en la información de codificación y los coeficientes que se han codificado en una forma sin pérdidas y suministra la corriente codificada generada a la memoria intermedia 17 de acumulación para acumularse en la misma.Aquí, la información de codificación que se codifica de una forma sin pérdidas puede considerarse como información de encabezado de los coeficientes que se codifican en una forma sin pérdidas.
[0047] La memoria intermedia 17 de acumulación almacena de manera temporal la corriente codificada suministrada desde la unidad 16 de codificación sin pérdidas. Además, la memoria intermedia 17 de acumulación suministra la corriente codificada almacenada a la unidad 2 de generación de archivos ilustrada en la Figura 1.
[0048] Además, los coeficientes cuantificados producidos a partir de la unidad 15 de cuantificación se ingresan también a la unidad 18 de cuantificación inversa, se cuantifican inversamente y después, se suministran a la unidad 19 de transformada ortogonal inversa.
[0049] La unidad 19 de transformada ortogonal inversa realiza una transformada ortogonal inversa para los coeficientes suministrados desde la unidad 18 de cuantificación inversa, y suministra la información diferencial adquirida como resultado de la misma a la unidad 20 de adición.
[0050] La unidad 20 de adición agrega la información diferencial como imagen de descodificación actual suministrada desde la unidad 19 de transformada ortogonal inversa y la imagen prevista suministrada desde la unidad 26 de selección de imagen prevista en conjunto, por lo que adquiere una imagen localmente descodificada. Además, en un caso donde una imagen prevista no se suministra desde la unidad 26 de selección de imagen prevista, la unidad 20 de adición establece la información diferencial suministrada desde la unidad 19 de transformada ortogonal inversa como imagen localmente descodificada. La unidad 20 de adición suministra la imagen localmente descodificada al filtro 21 de desbloqueo, y suministra la imagen localmente descodificada a la memoria 22 de tramas para que se acumule en la misma.
[0051] El filtro 21 de desbloqueo filtra la imagen, la cual se descodifica localmente, suministrada desde la unidad 20 de adición, por lo que elimina una distorsión de bloque. El filtro 21 de desbloqueo suministra una imagen adquirida como resultado de la misma al filtro 41 de compensación adaptable.
[0052] El filtro 41 de compensación adaptable realiza un proceso de filtrado de compensación adaptable (SAO:Compensación adaptable de muestra) para eliminar principalmente el sonido de la imagen para la cual se ha realizado el proceso de filtro de desbloqueo adaptable por el filtro 21 de desbloqueo.
[0053] Descrito en mayor detalle, el filtro 41 de compensación adaptable determina el tipo de proceso de filtro de compensación adaptable para cada LCU (Unidad de Codificación más Grande) que es una unidad de codificación máxima y adquiere una compensación que se utiliza para el proceso de filtro de compensación adaptable. El filtro 41 de compensación adaptable realiza el proceso de filtro de compensación adaptable del tipo determinado para la imagen adquirida después del proceso de filtro de desbloqueo adaptable al utilizar la compensación adquirida. Después, el filtro 41 de compensación adaptable suministra la imagen adquirida después del proceso de filtro de compensación adaptable al filtro 42 de bucle adaptable.
[0054] Además, el filtro 41 de compensación adaptable incluye una memoria intermedia que almacena una compensación. El filtro 41 de compensación adaptable determina si la compensación utilizada para el proceso de filtro de desbloqueo adaptable ya se ha almacenado o no en la memoria intermedia LCU.
[0055] En un caso donde la compensación utilizada por el proceso de filtro de desbloqueo adaptable se determina que ya se ha almacenado en la memoria intermedia, el filtro 41 de compensación adaptable establece un indicador de almacenamiento que representa si la compensación se almacena en la memoria intermedia, en un valor (aquí, 1) que representa que la compensación se almacena en la memoria intermedia.
[0056] Después, el filtro 41 de compensación adaptable suministra el indicador de almacenamiento establecido en "1", el indice representa una posición de almacenamiento de una compensación en la memoria intermedia, y la información de tipo que representa el tipo de proceso de filtro de compensación adaptable realizado en la unidad 16 de codificación sin pérdidas para cada LCU.
[0057] Por otro lado, en un caso donde la compensación utilizada para el proceso de filtro de desbloqueo adaptable no se almacena en la memoria intermedia aún, el filtro 41 de compensación adaptable almacena de manera secuencial la compensación en la memoria intermedia. Además, el filtro 41 de compensación adaptable establece el indicador de almacenamiento en un valor (aquí, "0") que representa que la compensación no se almacena en la memoria intermedia. Después, el filtro 41 de compensación adaptable suministra el indicador de almacenamiento establecido en "0", la compensación, y la información de tipo en la unidad 16 de codificación sin pérdidas para cada LCU.
[0058] El filtro 42 de bucle adaptable, por ejemplo, realiza un proceso de bucle adaptable (ALF) para la imagen, el cual se adquiere después del proceso de filtro de compensación adaptable, suministrado desde el filtro 41 de compensación adaptable para cada LCU. Como el proceso de filtro de bucle adaptable, por ejemplo, un proceso que utiliza un filtro Wiener bidimensional se utiliza.Es aparente que un filtro distinto al filtro de Wiener puede utilizarse.
[0059] Más específicamente, el filtro 42 de bucle adaptable calcula los coeficientes de filtro utilizados por el proceso de filtro de bucle adaptable para cada LCU de manera que una diferencia entre la imagen original que es una imagen producida a partir dela memoria intermedia 12 de reorganización de pantalla y una imagen adquirida después de que se minimiza el proceso de filtro de bucle adaptable. Después, el filtro 42 de bucle adaptable realiza un proceso de filtro de bucle adaptable para la imagen adquirida después del proceso de filtro de compensación adaptable al utilizar los coeficientes de filtro calculados para cada LCU.
[0060] El filtro 42 de bucle adaptable suministra la imagen adquirida después del proceso de filtro de bucle adaptable a la memoria 22 de tramas. Además, el filtro 42 de bucle adaptable suministra los coeficientes de filtro a la unidad 16 de codificación sin pérdidas.
[0061] Aquí, aunque el proceso de filtro de bucle adaptable se realiza para cada LCU, la unidad de procesamiento del proceso de filtro de bucle adaptable no se limita a la LCU. Sin embargo, al correlacionar las unidades de procesamiento del filtro 41 de compensación adaptable y el filtro 42 de bucle adaptable, el proceso puede realizarse de manera eficiente.
[0062] La imagen acumulada en la memoria 22 de trama se produce en la unidad 24 de intra-predicción o la unidad 25 de predicción/compensación de movimiento a través del conmutador 23 como imagen de referencia.
[0063] La unidad 24 de intra-predicción realiza un proceso de intra-predicción de cada uno de todos los modos de intra-predicción que son candidatos en unidades de mosaicos y secciones al utilizar la imagen de referencia, la cual no se ha filtrado por el filtro 21 de desbloqueo, leído de la memoria 22 de tramas a través del conmutador 23.
[0064] Además, la unidad 24 de intra-predicción calcula los valores de función de costo (que se describen posteriormente en detalle) para todos los modos de intra-predicción que son candidatos basándose en la imagen leída de la memoria intermedia 12 de reorganización de pantalla y la imagen prevista generada como resultado del proceso de intra-predicción. Después, la unidad 24 de intra-predicción determina un modo de intra-predicción del cual el valor de función de costo es más pequeño que un modo de intra-predicción óptimo.
[0065] La unidad 24 de intra-predicción suministra la imagen prevista generada en elmodo de intra-predicción óptimo y un valor de función de costo correspondiente a la unidad 26 de selección de imagen prevista. En un caso donde la unidad 24 de intra-predicción se notifica de la selección de la imagen prevista generada en el modo de intra-predicción óptimo a partir de la unidad 26 de selección de imagen prevista, la unidad 24 de intra-predicción suministra la información de modo de intra-predicción a la unidad 16 de codificación sin pérdidas.
[0066] El valor de función de costo también se denomina como el costo de RD (Distorsión de Tasa) y, por ejemplo, se calcula utilizando una téenica de uno de un modo de alta complejidad y un modo de baja complejidad como se define en un JM (Modelo Conjunto) que es un software de referencia en el sistema de H.264/AVC.
[0067] Más específicamente, en un caso donde el modo de alta complejidad se emplea como la técnica para calcular el valor de función de costo, para todos los modos de predicción que son candidatos, el proceso hasta la codificación sin pérdidas se realiza temporalmente, y un valor de función de costo representado en la siguiente Ecuación (1) se calcula para cada modo de predicción.
[0068] Costo (Modo) = D + l R (1)
[0069] Aquí, D es una diferencia entre la imagen original y una imagen descodificada, R es una cantidad de codificación generada que incluye hasta los coeficientes de la transformada ortogonal, y l es un multiplicador de Lagrange que se proporciona como función del parámetro de cuantificación QP.
[0070] Por otro lado, en un caso donde el modo de baja complejidad se emplea como la téenica para calcular el valor de función de costo, para cada uno de todos los modos de predicción que son candidatos, se genera una imagen descodificada y un bit de encabezado tal como información que representa un modo de predicción se calcula,y el valor de función de costo representado en la siguiente Ecuación (2) se calcula para cada modo de predicción.
[0071] Costo (Modo) = D + QPtoQuant (QP)-Header_Bit...(2)
[0072] Aquí, D es una diferencia (distorsión) entre la imagen original y una imagen descodificada, Header_Bit es un bit de encabezado para un modo de predicción, y QPtoQuant es una función dada como función de parámetro de cuantificación QP.
[0073] En el modo de baja complejidad, sólo imágenes descodificadas pueden generarse para todos los modos de predicción, y la codificación sin pérdidas no necesita realizarse, por lo que se reduce la cantidad de cálculo.
[0074] La unidad 25 de predicción/compensación de movimiento realiza un proceso de predicción/compensación de movimiento en cada uno de todos losmodos de inter-predicción que son candidatos en unidades de mosaicos y secciones. Más específicamente, la unidad 25 de predicción/compensación de movimiento detecta un vector de movimiento de cada uno de todos los modos de inter-predicción que son candidatos en unidades de mosaico y secciones basándose en la imagen suministrada de la memoria intermedia 12 de reorganización de pantalla y la imagen de referencia filtrada leída de la memoria 22 de trama a través del conmutador 23. Después, la unidad 25 de predicción/compensación de movimiento realiza un proceso de compensación para la imagen de referencia basándose en el vector de movimiento en unidades de mosaicos y secciones, por lo que se genera una imagen prevista.
[0075] En este tiempo,la unidad 25 de predicción/compensación de movimiento calcula un valor de función de costo para cada uno de todos los modos de inter-predicción que son candidatos basándose en la imagen suministrada desde la memoria intermedia 12 de reorganización de pantalla y la imagen prevista y determina un modo de inter-predicción del cual el valor de función de costo es el más pequeño que elmodo de inter-predicción óptimo.Después, la unidad 25 de predicción/compensación de movimiento suministra el valor de función de costo del modo de inter-predicción óptimo y una imagen prevista correspondiente a la unidad 26 de selección de imagen prevista. Además, en un caso donde la unidad 25 de predicción/compensación de movimiento se notifica de la selección de la imagen prevista generada en el modo de inter-predicción óptimo de la unidad 26 de selección de imagen prevista, la unidad 25 de predicción/compensación de movimiento produce la información de modo de inter-predicción, un vector de movimiento correspondiente, la información que especifica la imagen de referencia, y similares en la unidad 16 de codificación sin pérdidas.
[0076] La unidad 26 de selección de imagen prevista determina uno del modo de intra-predicción óptimo y el modo de inter-predicción óptimo que tiene un valor de función de costo más pequeño que el modo de predicción basado en los valores de función de costo suministrados desde la unidad 24 de intra-predicción y la unidad 25 de predicción/compensación de movimiento. Después, la unidad 26 de selección de imagen prevista suministra la imagen prevista del modo de predicción óptimo a la unidad 13 de cálculo y la unidad 20 de adición.Además, la unidad 26 de selección de imagen prevista notifica a la unidad 24 de intra-predicción o la unidad 25 de predicción/compensación de movimiento de la selección de la imagen prevista del modo de predicción óptimo.
[0077] La unidad 27 de control de tasa realiza el control de la operación de cuantificación realizada por la unidad 15 de cuantificación basándose en los datos codificados acumulados en la memoria intermedia 17 de acumulación de manera que no se produce un exceso de flujo o una reducción de flujo.
[0078] [Antecedentes y Problema] En un formato de archivo de AVC definido en ISO/IEC 14496-15, no se permite incluir el código de inicio y los datos de relleno en una corriente de bits (Corriente Elemental). Sin embargo, la carga de procesamiento al momento de manejar los datos de un formato de archivo de medios de base ISO, una TS de MPEG-2 (Corriente de Transporte), y similares se hace incrementar.
[0079] Además, para generar (convertir) una TS de MPEG-2 de la corriente de bits (Corriente Elemental), existen casos donde el valor de un parámetro que maneja la memoria intermedia de descodificador se vuelve diferente al eliminar el código de inicio y los datos de relleno (datos ficticios utilizados para ajustar el tamaño de datos). Por consiguiente, por ejemplo, es necesario restablecer la SEI de periodo de guardado en memoria intermedia (Información de mejora complementaria) que conduce a un incremento en la carga de procesamiento almomento de convertir la corriente de bits.
[0080] [Operación de la Unidad de Generación de Archivos] De esta manera, en un caso en donde se genera una corriente utilizada al momento de la transmisión o una corriente utilizada al momento de almacenar datos en un archivo, la unidad 2 de generación de archivo establece el código de inicio y los datos de relleno para un archivo que incluye una corriente de bits adquirida al codificar una imagen; y realiza controles del establecimiento del código de inicio y los datos de relleno de manera que el código de inicio y los datos de relleno, que se han establecido, configuran un archivo con la característica del parámetro que maneja la memoria intermedia de descodificador que se mantiene en los datos de medios del archivo.
[0081] Además, en un caso donde el código de inicio y los datos de relleno se eliminan de los datos de medios de un archivo que incluye una corriente de bits adquirida al codificar una imagen, la unidad 2 de generación de archivos establece recibe un archivo que se genera utilizando una característica del parámetro que maneja la memoria intermedia de descodificador y genera un archivo al utilizar la característica establecida.
[0082] Aquí, el parámetro que maneja la memoria intermedia de descodificador es un parámetro de HRD (Parámetro de Descodificador de Referencia Hipotético), en otras palabras, un parámetro que maneja un descodificador de referencia virtual. Este parámetro que maneja lamemoria intermedia de descodificador es un parámetro incluido en la VUI, un parámetro incluido en la SEI de periodo de guardado en memoria intermedia o un parámetro incluido en la SEI de tiempo de imagen.
[0083] Al configurar como en lo anterior, en un caso donde se genera una corriente al momento de la transmisión o al momento del almacenamiento de datos en un archivo (se convierte), el código de inicio y los datos de relleno no necesitan restablecerse, y la carga de procesamiento puede reducirse.
[0084] Además, los datos de relleno pueden responderse como sigue. En otras palabras, en el sistema de AVC o HEVC, los datos de relleno no son de VCL que se encuentran en una tabla de códigos de unidad de NAL y clases de tipo de unidad de NAL. Más específicamente, cuando nal_unit_type es 31, el Nombre de nal_ unit type es FD NUT, y el Contenido de la unidad de NAL y la estructura de sintaxis de RBSP son los datos de relleno y filler data rbsp (), la clase de tipo de unidad de NAL no es VCL. Al cambiar estos datos sin VCL a VCL, los datos de relleno pueden incluirse en los datos de medios del archivo, y por consiguiente, puede suprimirse que los datos de relleno se eliminen al momento de la conversión en una corriente de transmisión.
[0085] Más específicamente, la unidad 2 de generación de archivo realiza el establecimiento de código de inicio y los datos de relleno como sigue.
[0086] • Código de inicio y datos de relleno Por lo tanto, esta contribución propone permitir incluir el código de inicio de los datos de relleno en las corrientes elementales para nuevas marcas solamente.
En la versión original de ISO/IEC 14496-15, SPS/PPS no pueden incluirse en la corriente elemental. En ISO/IEC 14496-16 PDAM2, se permite incluir SPS/PPS ahora. Si se permite incluir el código de inicio y los datos de relleno en la corriente elemental, entonces la carga para el convertidor de corriente de bits se reduce significativamente. La reescritura de parámetros de HRD, por ejemplo, la SEI de periodo de guardado y memoria intermedia y la SEI de tiempo de imagen, no es necesaria en este caso.
Para asegurar la retrocompatiblidad, este cambio debe aplicarse a nuevas marcas, (nueva marca de AVC y HEVC).
[0087] • Indicación de que los parámetros de HRD son erróneos Cuando se eliminaron el código de inicio, datos de relleno, etc. de la corriente elemental para almacenar ISOMFF, no son correctos los parámetros de HRD, por ejemplo, SEI de periodo de guardado en memoria intermedia, SEI de tiempo de imagen, etc. Sin embargo, el descodificador no puede saber si los parámetros de HRD en la corriente elemental son correctos. Puede existir un id para indicar que los parámetros de HRD en la corriente elemental pueden ser erróneos.
[0088] • En HEVC o AVC se cambian los datos de relleno como datos de VCL Actualmente en HEVC y AVC, los datos de relleno se categorizan sin VCL. Esto significa que el bit para los datos de relleno se cuenta como sin VCL (información de encabezado). Sin embargo, si se especifican datos de relleno como datos de VCL, el bit para el relleno se cuenta como corriente e bits de video por si mismo.En este caso, los datos de relleno no son necesarios para eliminar de la corriente elemental y los parámetros de HRD no se cambian. La tabla para HEVC se anexa.
[0089] Además, en un caso donde el parámetro que maneja la memoria intermedia del descodificador es diferente (incorrecta), el descodificador no puede determinar si el parámetro que maneja la memoria intermedia del descodificador es el mismo (correcto). De esta manera, en un caso donde el código de inicio y los datos de relleno se eliminan de la corriente de bits, un parámetro de identificación utilizado para identificar si la característica del parámetro quemaneja la memoria intermedia del descodificador se cambia, se establece. Como ejemplo, un caso se representará, en el cual el parámetro de identificación se almacena en un recuadro opcional del formato de archivo.
Por ejemplo, en el caso de AVC, tal id puede definirse como recuadro opcional en AVCSampleEntry como sigue. (El mismo procedimiento puede aplicare a otras entradas de muestras de AVC y HEVCSampleEntry).
AVCSampleEntry() extiende VisualSampleEntry(type') { //type es 'avcl' o 'avc3' AVCConfigurationBox config; MPEG4BitRateBox (); //Optional MPEG4ExtensionDescriptorsBox();//Optional HRDConformanceBox(); //Optional } Agregar HRDConformanceBox en AVCSampleEntry y AVC2SVVSampleEntry en 5.4.2.1 Agregar HRDConformanceBox en AVCSVCSampleEntry, AVC2SVCSampleEntry y SVCSampleEntry en 6.5.3.1.
Agregar HRDConformanceBox en AVCMVCSampleEntry, AVC2MVCSampleEntry y MVCSampleEntry en la sección 7.6.3.3. Agregar HRDConformanceBox en HEVC SampleEntry en la sección 8.4.1.1.
HRDConformanceBox puede definirse como sigue clase HRDConformanceBox extiende Box('hrdc') { HRDConformanceData() HRDConformance; } aligned(8) class HRDConformanceData { unsigned int(7) reserved =0; unsigned int(l) HRDConformanceFlag; unsigned int (24) reserved; Box[] any_box;//Optional }
[0090] El parámetro de identificación, por ejemplo, se establece como sigue.
HRDConformanceFlag es el identificador si la característica de HRD se cambió al eliminar el código de inicio, datos de relleno, etc., de la corriente elemental. Cuando HRDConformanceFlag es igual a 1, los parámetros de HRD, por ejemplo, la SEI de período de guardado de memoria intermedia, la SEI de tiempo de imagen, se cambió al eliminar el código de inicio, datos de relleno, etc., de la corriente elemental.
[0091] La unidad 2 de generación de archivos, la cual se ilustra en la Figura 1, que realiza el proceso descrito en lo anterior se configura como se ilustra en la Figura 3.
[0092] [Ejemplo de Configuración de la Unidad de Generación de Archivos] La Figura 3 es un diagrama de bloque que ilustra un ejemplo de la configuración de la unidad de generación de archivos que realiza el proceso descrito en lo anterior.
[0093] En el ejemplo ilustrado en la Figura 3, la unidad 2 de generación de archivos se configura para incluir una unidad 31 de control, una unidad 32 de establecimiento, y una unidad 33 de escritura de archivo.
[0094] La unidad 31de control controla un proceso para generar datos de mdat, los cuales son una parte de los datos de VCL de un archivo, que se realizan por la unidad 32 de establecimiento basándose en si la característica del parámetro de HRD que es un parámetro que maneja la memoria intermedia de descodificador va a mantenerse o no. Además, la unidad 31 de control controla el establecimiento de la característica del parámetro de HRD o el establecimiento de parámetro de identificación de HRD en moov que es una parte de información de gestión del archivo basada en si el código de inicio o los datos de relleno se eliminan del conjunto de datos de mdat por la unidad 32 de establecimiento.
[0095] La unidad 32 de establecimiento genera los datos demdat del archivo al utilizar la corriente codificada suministrada desde el codificador 1 bajo el control de la unidad 31 de control y suministra los datos de mdat generados a la unidad 33 de escritura de archivo. Aunque se eliminen el código de inicio y los datos de relleno de acuerdo con una téenica convencional, de acuerdo con la técnica de la presente tecnología, los datos de mdat se generan con el código de inicio y los datos de relleno establecidos en la corriente codificada se establece.
[0096] Además, la unidad 32 de establecimiento re-establece la característica de parámetro de HRD o establece el parámetro de identificación del HRD en el moov del archivo bajo el control de la unidad 31 de control. Después, la unidad 32 de establecimiento genera moov del archivo y suministra el moov generado a la unidad 33 de escritura de archivo.
[0097] La unidad 33 de escritura de archivo escribe el moov suministrado desde la unidad 32 de establecimiento en un archivo y escribe el mdat en el archivo. El archivo de MP4 escrito por la unidad 33 de escritura de archivo se transmite a un aparato de descodificación que se describe posteriormente o similar y se lee y se descodifica por el aparato de descodificación. 0098 [Ejemplo del Proceso de Generación de Archivos] A continuación, el proceso de generación de archivos realizado por la unidad 2 de generación de archivos se describirá con referencia a un diagrama de flujo representado en la Figura 4.
[0099] En la etapa SI, la unidad 31 de control determina si la característica del parámetro de HRD es el parámetro que maneja la memoria intermedia de descodificador va a mantenerse o no. En la etapa SI, en un caso donde la característica del parámetro de HRD se determina que no se mantiene, el proceso procede a la etapa S2. En la etapa S2, la unidad 32 de establecimiento realiza un proceso de generación de datos de mdat convencional bajo el control de la unidad 31 de control. Este proceso se describirá posteriormente con referencia a la Figura 6.
[0100] En el proceso de la etapa S2, se detecta el código de inicio, se adquieren los datos de NAL, y se elimina el código de inicio. Después, la adición de un tamaño de Unidad, la acumulación de datos en la memoria intermedia, o el descarte de los datos se realiza basándose si los datos adquiridos son datos de VCL, datos de relleno, información de gestión, o similares, por lo que se generan datos de mdat.Los datos de mdat generados se suministran a la unidad 33 de escritura de archivo, y el proceso procede a la etapa S4.
[0101] Por otro lado, en la etapa SI, en un caso donde la característica del parámetro de HRD se determina que se mantiene, el proceso procede a la etapa S3. En la etapa S3, la unidad 32 de establecimiento realiza un proceso de generación de datos de mdat de acuerdo con la presente teenología bajo el control de la unidad 31 de control. Este proceso se describirá posteriormente con referencia a la Figura 7.
[0102] En el proceso de la etapa S3, se detecta el código de inicio, se adquieren los datos de NAL, se establecen los datos adquiridos como datos de VCL, se agrega un Tamaño de Unidad, y se acumulan datos resultantes en la memoria intermedia, por lo que se generan datos de mdat. Los datos de mdat generados se suministran a la unidad 33 de escritura de archivo, y el proceso procede a la etapa S4.
[0103] En la etapa S4, la unidad 31 de control determina si el código de inicio y los datos de relleno se han eliminado o no de los datos de mdat generados en la etapa S2 o S3.
[0104] En la etapa S4, en un caso donde el código de inicio y los datos de relleno se determina que se han eliminado, el proceso procede a la etapa S5. En la etapa S5, la unidad 32 de establecimiento establece la característica del parámetro de HRD. En otras palabras, puesto que la característica del parámetro de HRD es diferente, la característica del parámetro de HRD se vuelve a calcular y se establece nuevamente. Después, la SEI y la VUIde los datos de mdat se re-escriben por el parámetro de HRD establecido.
[0105] En la etapa S4, en un caso donde el código de inicio y los datos de relleno se determina que se han eliminado, el proceso de la etapa S5 se salta, y el proceso procede a la etapa S6.
[0106] En la etapa S6, la unidad 32 de establecimiento genera moov del archivo al utilizar la información de tamaño de los datos que se adquieren por el proceso de la etapa S2 o S3. Además, en un caso donde el proceso de la etapa S3 se realiza, la información de gestión y similar es acumulada en una memoria intermedia para el moov también se utilizan. El moov generado se suministra a la unidad 33 de escritura de archivo.
[0107] En la etapa S7, la unidad 33 de escritura de archivo escribe el moov generado en la etapa S6 en el archivo.
[0108] En la etapa S8, la unidad 33 de escritura de archivo escribe los mdat generados en la etapa S2 o S3 en el archivo.
[0109] El archivo de MP4 escrito por la unidad 33 de escritura de archivo, como se describe en lo anterior, se trasmite al aparato de descodificación que se describirá posteriormente o similar y se lee y descodifica por el aparato de descodificación. En ese tiempo, el archivo se genera sin cambiar la característica del parámetro de HRD. Además, aún cuando se han eliminado el código de inicio y los datos de relleno, el parámetro de HRD se establece nuevamente, y por consiguiente, por referencia al parámetro de HRD, el proceso de descodificación puede realizarse correctamente.
[0110] En la descripción de la Figura 4, aunque se ha descrito un ejemplo en el cual la característica del parámetro de HRD se establece nuevamente en un caso donde el código de inicio y los datos de relleno se eliminan, como se describirá a continuación, un parámetro de identificación que representa si la característica del parámetro de HRD es correcto o diferente puede establecerse.
[0111] [Otro Ejemplo del Proceso de Generación de Archivos] A continuación, el proceso de generación de archivos realizado por la unidad 2 de generación de archivos se describirá con referencia a un diagrama de flujo representado en la Figura 5.
[0112] En la etapa Sil, la unidad 31 de control determina si la característica del parámetro de HRD es el parámetro que maneja la memoria intermedia de descodificador va a mantenerse o no. En la etapa Sil, en un caso donde la característica del parámetro de HRD se determina que no se mantiene, el proceso procede a la etapa S12. En la etapa S12, la unidad 32 de establecimiento realiza un proceso de generación de datos de mdat convencional bajo el control de la unidad 31 de control. Este proceso se describirá posteriormente con referencia a la Figura 5.
[0113] En el proceso de la etapa S12, se detecta el código de inicio, se adquieren los datos de NAL, y se elimina el código de inicio. Después, la adición de un tamaño de Unidad, la acumulación de datos en la memoria intermedia, o el descarte de los datos se realiza basándose si los datos adquiridos son datos de VCL, datos de relleno, información de gestión, o similares, por lo que se generan datos de mdat.Los datos de mdat generados se suministran a la unidad 33 de escritura de archivo, y el proceso procede a la etapa S14.
[0114] Por otro lado, en la etapa Sil, en un caso donde la característica del parámetro de HRD se determina que se mantiene, el proceso procede a la etapa S13. En la etapa S13, la unidad 32 de establecimiento realiza un proceso de generación de datos de mdat de acuerdo con la presente teenología bajo el control de la unidad 31 de control. Este proceso se describirá posteriormente con referencia a la Figura 6.
[0115] En el proceso de la etapa S13, se detecta el código de inicio, se adquieren los datos de NAL, se establecen los datos adquiridos como datos de VCL, se agrega un Tamaño de Unidad, y se acumulan datos resultantes en la memoria intermedia, por lo que se generan datos de mdat. Los datos de mdat generados se suministran a la unidad 33 de escritura de archivo, y el proceso procede a la etapa S14.
[0116] En la etapa S14, la unidad 31 de control determina si el código de inicio y los datos de relleno se han eliminado o no de los datos de mdat generados en la etapa S12 o S13.
[0117] En la etapa S14, en un caso donde el código de inicio y los datos de relleno se determina que no se han eliminado, el proceso procede a la etapa S15. En la etapa S15, la unidad 32 de establecimiento establece el parámetro de identificación del HRD del moov en "1" y el proceso procede a la etapa S17. Por consiguiente, puede determinarse que el parámetro de HRD es correcto en el lado de descodificación.
[0118] En la etapa S14, en un caso donde el código de inicio y los datos de relleno se determina que se han eliminado, el proceso procede a la etapa S16. En la etapa S16, la unidad 32 de establecimiento establece el parámetro de identificación del HRD del moov en "0" y el proceso procede a la etapa S17. Por consiguiente, puede determinarse que el parámetro de HRD es erróneo (incorrecto) en el lado de descodificación.
[0119] En la etapa S17, la unidad 32 de establecimiento genera moov del archivo al utilizar la información de tamaño de los datos que se adquieren por el proceso de la etapa S12 o S13. Además, en un caso donde el proceso de la etapa S13 se realiza, la información de gestión y similar es acumulada en una memoria intermedia para el moov también se utilizan. El moov generado se suministra a la unidad 33 de escritura de archivo.
[0120] En la etapa S18, la unidad 33 de escritura de archivo escribe el moov generado en la etapa S17 en el archivo.
[0121] En la etapa S19, la unidad 33 de escritura de archivo escribe los mdat generados en la etapa S12 o S13 en el archivo.
[0122] El archivo de MP4 escrito por la unidad 33 de escritura de archivo, como se describe en lo anterior, se trasmite al aparato de descodificación que se describirá posteriormente o similar y se lee y descodifica por el aparato de descodificación. En ese tiempo,el archivo se genera sin cambiar la característica del parámetro de HRD. Además, puesto que el parámetro de identificación utilizado para identificar si el parámetro de HRD es correcto, se establece, por referencia al parámetro de HRD, puede determinarse claramente si se realiza o no la descodificación.
[0123] [Proceso de Generación de Datos de mdat Convencional] A continuación, el proceso de generación de datos de mdat convencional realizado en la etapa S2 (etapa S12 representada en la Figura 5) representada en la Figura 4 se describirá con referencia a un diagrama de flujo ilustrado en la Figura 6.
[0124] La unidad 32 de establecimiento detecta un código de inicio a partir de una corriente codificada suministrada desde el codificador 1 en la etapa S21 y adquiere datos de NAL del código de inicio detectado en la etapa S21 al siguiente código de inicio en la etapa S22.
[0125] En la etapa S23, la unidad 32 de establecimiento elimina el código de inicio que se ha detectado en la etapa S21. En la etapa S24, se determina si los datos adquiridos en la etapa S22 son o no datos de VCL.
[0126] En la etapa S24, en un caso donde los datos adquiridos en la etapa S22 se determina que son datos de VCL, el proceso procede a la etapa S25. En la etapa S25, la unidad 32 de establecimiento agrega un tamaño de unidad correspondiente a los datos adquiridos en la etapa S22 y establece los datos resultantes como unidad de acceso. Después, en la etapa S26, la unidad 32 de establecimiento acumula la unidad de acceso a la cual se ha agregado el tamaño de unidad en una memoria intermedia de mdat integrada, y el proceso procede a la etapa S30.
[0127] Por otro lado, en la etapa S24, en un caso donde los datos adquiridos en la etapa S22 se determina que no son los datos de VCL, el proceso procede a la etapa S27. En la etapa S27, la unidad 32 de establecimiento determina si los datos adquiridos en la etapa S22 son o no datos de relleno.
[0128] En la etapa S27, en un caso donde los datos adquiridos en la etapa S22 se determina que son datos de relleno, el proceso procede a la etapa S28. En la etapa S28, la unidad 32 de establecimiento descarta los datos de relleno, y el proceso procede a la etapa S30.
[0129] Por otro lado, en la etapa S27, en un caso donde los datos adquiridos en la etapa S22 se determina que no son datos de relleno, el proceso procede a la etapa S29.En tal caso,puesto que los datos adquiridos son información de gestión tal como SPS, un PPS, o similares, en la etapa S29, la unidad 32 de establecimiento acumula los datos adquiridos en una memoria intermedia de moov integrada, y el proceso procede a la etapa S30.
[0130] En la etapa S30,la unidad 32 de establecimiento detecta un código de inicio de una corriente codificada suministrada desde el codificador 1.
[0131] En la etapa S31, la unidad 32 de establecimiento determina si los datos actuales son o no datos finales del archivo. En un caso donde un código de inicio no se detecta en la etapa S30, en la etapa S31, los datos actuales se determinan como los datos finales del archivo, el proceso de generación de datos de mdat termina, y el proceso se regresa a la etapa S2 (o etapa S12 representada en la Figura 5), representada en la Figura 4 .
[0132] Por otro lado, en un caso donde se detecta un código de inicio en la etapa S30, en la etapa S31, en un caso donde los datos finales se determina que no son datos finales del archivo, el proceso procede a la etapa S22, y los procesos de las etapas S22 y subsiguientes a la misma se repiten.
[0133] [Ejemplo de Proceso de Generación de Datos de mdat de acuerdo con la Presente Teenología] En contraste a esto, un proceso de generación de datos de mdat de acuerdo con la presente tecnología que se realiza en la etapa S3 (etapa S13 representada en la Figura 5) representada en la Figura 4 se describirá con referencia a un diagrama de flujo ilustrado en la Figura 7.
[0134] La unidad 32 de establecimiento detecta un código de inicio a partir de una corriente codificada suministrada desde el codificador 1 en la etapa S41 y adquiere datos de NAL del código de inicio detectado en la etapa S41 al siguiente código de inicio en la etapa S42.En el ejemplo ilustrado en la Figura 7, el código de inicio no se elimina.
[0135] En la etapa S43, la unidad 32 de establecimiento determina si los datos adquiridos en la etapa S42 son o no los datos de relleno. En la etapa S43, en un caso donde los datos adquiridos en la etapa S42 se determina que son datos de relleno, el proceso procede a la etapa S44. En la etapa S44, la unidad 32 de establecimiento establece los datos de relleno como datos de VCL.
[0136] Por otro lado, en la etapa S43, en un caso donde los datos adquiridos en la etapa S42 se determina que no son datos de relleno, el proceso de la etapa S44 se salta, y el proceso procede a la etapa S45.
[0137] En la etapa S45, un tamaño de unidad correspondiente se agrega a los datos adquiridos en la etapa S42, los datos resultantes se establecen como unidad de acceso, y la unidad de acceso a la cual se ha agregado el tamaño de unidad en la etapa S46 se acumula en una memoria intermedia de mdat integrada.Aquí, en un caso donde los datos adquiridos son la información de gestión tal como un SPS o un PPS, los datos también se acumulan en una memoria intermedia de moov integrada y se almacenan en la Descripción de Muestra del moov como SPS o PPS por defecto en la etapa S6 representada en la Figura 4 o etapa S17 representada en la Figura 5.
[0138] Aquí, en el caso donde los datos adquiridos son la información de gestión tal como un SPS o un PPS, de manera similar al caso convencional, los datos adquiridos pueden almacenarse no en la memoria intermedia de mdat sino sólo en la memoria intermedia de moov integrada.
[0139] En la etapa S47,la unidad 32 de establecimiento detecta un código de inicio de una corriente codificada suministrada desde el codificador 1.
[0140] En la etapa S48, la unidad 32 de establecimiento determina si los datos actuales son o no datos finales del archivo. En un caso donde no se detecta un código de inicio en la etapa S47, en la etapa S48, los datos actuales se determinan que son los datos finales del archivo, el proceso de generación de datos de mdat termina, y el proceso se regresa a la etapa S3 (etapa S13 representada en la Figura 5), representada en la Figura 4.
[0141] En un caso donde se detecta un código de inicio en la etapa S47, en la etapa S48, en un caso donde los datos actuales se determina que no son los datos finales del archivo, el proceso procede a la etapa S42, y los procesos de las etapas S42 y subsiguientes a la misma se repiten.
[0142] Como en lo anterior, de acuerdo con la presente teenología, el establecimiento de código de inicio y los datos de relleno se controlan de manera que el archivo se configura con la característica del parámetro que maneja la memoria intermedia de descodificador que se mantiene. En otras palabras, el código de inicio y los datos de relleno no se eliminan, y el archivo se configura para incluir el código de inicio y los datos de relleno, y por consiguiente, la característica del parámetro que maneja la memoria intermedia de descodificador puede mantenerse.
[0143] Además, puesto que los datos de relleno se cambian a los datos de VCL, los datos de relleno pueden incluirse en los datos de medios del archivo, y puede suprimirse que los datos de relleno se eliminen al momento de la conversión en una corriente de transmisión.
[0144] Además, en un caso donde el código de inicio y los datos de relleno se eliminan de los datos de medios del archivo, la característica del parámetro que maneja la memoria intermedia de descodificador se establece, y un archivo se genera al utilizar el parámetro establecido. Por consiguiente, puede realizarse correctamente la descodificación.
[0145] Alternativamente, en un caso donde el código de inicio y los datos de relleno se eliminan de los datos de medios del archivo, se establece el parámetro de identificación que identifica que se ha cambiado la característica del parámetro, y se genera un archivo al utilizar el parámetro de identificación establecido. Por consiguiente,puede realizarse correctamente la descodificación.
[0146] [Ejemplos de Configuración del Aparato de Descodificación de Acuerdo con la Primera Modalidad] La Figura 8 es un diagrama de bloque que ilustra un ejemplo de la configuración de un aparato de descodificación, que descodifica una corriente codificada transmitida desde el aparato de codificación ilustrado en la Figura 1, de acuerdo con la primera modalidad como dispositivo de procesamiento de imágenes al cual se aplica la presente teenología.
[0147] El aparato de descodificación ilustrado en la Figura 8 se configura por una unidad 51 de lectura de archivo y un descodificador 52.
[0148] La unidad 51 de lectura de archivo del aparato de descodificación recibe un archivo de MP4 generado por el aparato de codificación ilustrado en la Figura 1 y lee un SPS, un PPS, VUI, SEI, datos codificados, y similares que configuran una corriente codificada que se codifica por el codificador 1 ilustrado en la Figura 1 del archivo recibido. La unidad 51 de lectura de archivo suministra el SPS, el PPS, la VUI, la SEI, y los datos codificados en el descodificador 52.
[0149] Más específicamente, la unidad 51 de lectura de archivo recibe un archivo que se controla para establecerse de manera que el código de inicio y los datos de relleno configuren el archivo con la característica del parámetro que maneja la memoria intermedia de descodificador que mantiene los datos de medios del archivo que incluye una corriente de bits adquirida al codificar una imagen.Alternativamente,en un caso donde el código de inicio y los datos de relleno se eliminan de los datos de medios de un archivo que incluye una corriente de bits adquirida al codificar una imagen, la unidad 51 de lectura de archivo recibe un archivo que se genera utilizando una característica establecida del parámetro que maneja la memoria intermedia de descodificador que se establece. Después, la unidad 51 de lectura de archivo lee el archivo recibido y provoca que el descodificador 52 descodifique los datos codificados de la corriente de bits.
[0150] El descodificador 52, bajo el control de la unidad 51 de lectura de archivo, se refiere al SPS, PPS, la VUI, la SEI, y similares, (particularmente, la característica del parámetro de HRD) suministrados desde la unidad 52 de lectura de archivo y descodifica los datos codificados suministrados desde la unidad 51 de lectura de archivo al utilizar el sistema de HEVC. El descodificador 52 suministra una imagen adquirida como resultado del proceso de descodificación a una fase posterior como una señal de salida.
[0151] [Ejemplo de Configuración de la Unidad de Lectura de Archivo La Figura 9 es un diagrama de bloque que ilustra un ejemplo de la configuración de una unidad 51 de lectura de archivo.
[0152] En el ejemplo ilustrado en la Figura 9, la unidad 51 de lectura de archivo se configura para incluir: una unidad 71 de recepción de archivo; una unidad 72 de adquisición de parámetro; una unidad 73 de control de descodificación; y una unidad 74 de lectura de datos.
[0153] La unidad 71 de recepción de archivo recibe un archivo de MP4 generado por la unidad 2 de generación de archivos ilustrada en la Figura 1 y suministra el archivo recibido a la unidad 72 de adquisición de parámetro.
[0154] La unidad 72 de adquisición de parámetro adquiere un moov que es la información de gestión del archivo de P4 y suministra el moov adquirido a la unidad 74 de lectura de datos.
Además, la unidad 72 de adquisición de parámetro provoca que la unidad 74 de lectura de datos lea datos de los mdat basándose en el moov adquirido.
[0155] Además, en el caso de un archivo generado por el proceso de generación de archivos ilustrado en la Figura 5, la unidad 72 de adquisición de parámetro adquiere un parámetro de identificación utilizado para determinar si la característica del parámetro de HRD es o no correcta del moov y suministra el parámetro de identificación a la unidad 73 de control de descodificación.
[0156] En un caso donde el parámetro de identificación del HRD suministrado desde la unidad 72 de adquisición de parámetro se presenta, la unidad 73 de control de descodificación determina si sigue el parámetro de HRD basándose en el parámetro de identificación del HRD y controla el descodificador 52, por lo que realiza un proceso de descodificación .
[0157] Mientras tanto, en el caso de un archivo generado por el proceso de generación de archivos ilustrado en la Figura 4, aunque el parámetro de identificación del HRD no se presente en el moov, incluso cuando el código de inicio y los datos de relleno del archivo de MP4 se eliminen, la característica del parámetro de HRD se establece nuevamente, y por consiguiente, la característica es correcta. De esta manera, en este caso, la unidad 73 de control de descodificación no realiza particularmente un operación.
[0158] La unidad 74 de lectura de datos, bajo el control de la unidad 72 de adquisición de parámetro, lee un SPS, un PPS, la VUI, SEI y similares del moov o los mdat del archivo y lee los datos codificados de los mdat del archivo. Después, la unidad 74 de lectura de datos suministra él SPS, el PPS, la VUI, la SEI, los datos codificados, y similares que se han leído al el descodificador 52.
[0159] [Ejemplo de Configuración de la Unidad de Descodificación] La Figura 10 es un diagrama de bloque que ilustra un ejemplo de la configuración del descodificador 52 ilustrado en la Figura 8. Cada unidad del descodificador 52 descodifica los datos codificados al utilizar parámetros incluidos en el SPS, el PPS, la VUI, y la SEI suministrados desde la unidad 51 de lectura de archivo, por lo que se genera una imagen.
[0160] El descodificador 52 ilustrado en la Figura 10 se configura por: una memoria intermedia 101 de acumulación; una unidad 102 de descodificación sin pérdidas; una unidad 103 de cuantificación inversa; una unidad 104 de transformada ortogonal inversa; una unidad 105 de adición; un filtro 106 de desbloqueo; una memoria intermedia 107 de reorganización de pantalla; un convertidor 108 de D/A; una memoria 109 de trama; un conmutador 110; una unidad 111 de intra-predicción; una unidad 112 de compensación de movimiento; y un conmutador 113.
[0161] Además, entre el filtro 106 de desbloqueo y la memoria intermedia 107 de reorganización de pantalla y la memoria 109 de tramas, un filtro 141 de compensación adaptable y un filtro 142 de bucle adaptable se proporcionan.
[0162] La memoria intermedia 101 de acumulación del descodificador 52 recibe los datos codificados de la unidad 51 de lectura de archivo ilustrada en la Figura 8 y acumula los datos codificados recibidos. La memoria intermedia 101 de acumulación suministra los datos codificados acumulados a la unidad 102 de descodificación sin pérdidas.
[0163] La unidad 102 de descodificación sin pérdidas realiza la descodificación sin pérdidas tal como la descodificación de longitud variable o descodificación aritmética, para los datos codificados suministrados desde la memoria intermedia 101 de acumulación, por lo que adquiere coeficientes cuantificados e información de codificación.La unidad 102 de descodificación sin pérdidas suministra los coeficientes cuantificados a la unidad 103 de cuantificación inversa. Además, la unidad 102 de descodificación sin pérdidas suministra la información de modo de intra-predicción y similares como información de codificación a la unidad 111 de intra-predicción, y suministra el vector de movimiento, la información utilizada para especificar la imagen de referencia, la información de modo de inter-predicción, y similares a la unidad 112 de compensación de movimiento.Además, la unidad 102 de descodificación sin pérdidas suministra la información de modo de intra-predicción o la información de modo de inter-predicción como información de codificación al conmutador 113.
[0164] La unidad 102 de descodificación sin pérdidas suministra la información de filtro de compensación como información de codificación al filtro 141 de compensación adaptable, y suministra los coeficientes de filtro al filtro 142 de bucle adaptable.
[0165] La unidad 103 de cuantificación inversa, la unidad 104 de transformada ortogonal inversa, la unidad 105 de adición, el filtro 106 de desbloqueo, la memoria 109 de trama, el conmutador 110, la unidad 111 de intra-predicción y la unidad 112 de compensación de movimiento realizan respectivamente procesos similares a aquellos de la unidad 18 de cuantificación inversa, la unidad 19 de transformada ortogonal inversa, la unidad 20 de adición, el filtro 21 de desbloqueo, la memoria 22 de trama, el conmutador 23, la unidad 24 de intra-predicción, y la unidad 25 de predicción/compensación de movimiento ilustradas en la Figura 2, por lo que se descodifica una imagen.
[0166] Más específicamente, la unidad 103 de cuantificación inversa realiza cuantificación inversa de coeficientes cuantificados suministrados desde la unidad 102 de descodificación sin pérdidas, y suministra los coeficientes adquiridos como resultado de la misma a la unidad 104 de transformación ortogonal inversa.
[0167] La unidad 104 de transformada ortogonal inversa realiza una transformada ortogonal inversa para los coeficientes suministrados desde la unidad 103 de cuantificación inversa, y suministra la información diferencial adquirida como resultado de la misma a la unidad 105 de adición.
[0168] La unidad 105 de adición agrega la información diferencial como imagen de descodificación actual suministrada desde la unidad 104 de transformada ortogonal inversa y una imagen prevista suministrada desde el conmutador 113 en conjunto, por lo que se realiza un proceso de descodificación. La unidad 105 de adición suministra una imagen adquirida como resultado del proceso de descodificación al filtro 106 de desbloqueo, y la memoria 109 de tramas. Además, en un caso donde una imagen prevista no se suministra desde el conmutador 113, la unidad 105 de adición suministra una imagen que es la información diferencial suministrada desde la unidad 104 de transformada ortogonal inversa como imagen adquirida como resultado del proceso de descodificación al filtro 106 de desbloqueo, y suministra la imagen a la memoria 109 de tramas para acumularse en la misma.
[0169] El filtro 106 de desbloqueo filtra una imagen suministrada desde la unidad 105 de adición, por lo que elimina una distorsión de bloque.El filtro 106 de desbloqueo suministra una imagen adquirida como resultado de la misma al filtro 141 de compensación adaptable.
[0170] El filtro 141 de compensación adaptable incluye una memoria intermedia que almacena de forma secuencial compensaciones suministradas de la unidad 102 de descodificación sin pérdidas. Además, el filtro 141 de compensación adaptable realiza un proceso de filtro de compensación adaptable para una imagen adquirida después del proceso de filtro de desbloqueo adaptable realizado por el filtro 106 de desbloqueo para cada LCD basándose en la información de filtro dé compensación suministrada desde la unidad 102 de descodificación sin pérdidas. [ 0171 ] Más específicamente, en un caso donde el indicador de almacenamiento incluido en la información de filtro de desbloqueo es "0",el filtro 141 de compensación adaptable realiza un proceso de filtro de compensación adaptable de un tipo que se representa por la información de tipo al utilizar una compensación incluida en la información de filtro de compensación para la imagen adquirida después del proceso de filtro de desbloqueo en unidades de LCU.
[0172] Por otro lado, en un caso donde el indicador de almacenamiento incluido en la información de filtro de compensación es "1", el filtro 141 de compensación adaptable, para la imagen adquirida después del proceso de filtro de desbloqueo en unidades de LCU, lee una compensación que se almacena en una posición representada por un índice incluido en la información de filtro de compensación. Después, el filtro 141 de compensación adaptable realiza un proceso de filtro de compensación adaptable de un tipo que se representa por la información de tipo al utilizar la compensación leída. El filtro 141 de compensación adaptable suministra una imagen adquirida después del proceso de filtro de compensación al filtro 142 de bucle adaptable.
[0173] El filtro 142 de bucle adaptable realiza un proceso de filtro de bucle adaptable para la imagen suministrada desde el filtro 141 de compensación adaptable para cada LCU al utilizar un coeficiente de filtro suministrado desde la unidad 102 de descodificación sin pérdidas. El filtro 142 de compensación adaptable suministra una imagen adquirida como resultado del mismo a la memoria 109 de tramas y la memoria intermedia 107 de reorganización de pantalla.
[0174] La imagen acumulada en la memoria 109 de trama se lee como una imagen de referencia a través del conmutador 110, y se suministra a la unidad 112 de compensación de movimiento o la unidad 111 de intra-predicción.
[0175] Lamemoria intermedia 107de reorganización de pantalla almacena la imagen suministrada desde el filtro 106 de desbloqueo en unidades de trama.La memoria intermedia 107 de reorganización de pantalla reorganiza la imagen almacenada, la cual se configura en unidades de tramas, dispuestas en el orden de codificación en el orden de visualización original y suministra la imagen reorganizada al convertidor 108 de D/A.
[0176] El convertidor 108 de D/A realiza una conversión de D/A de la imagen configurada en unidades de tramas suministradas desde la memoria intermedia 107 de reorganización de pantalla, y produce la imagen convertida en una fase posterior no ilustrada en la figura como señal de salida.
[0177] La unidad 111 de intra-predicción realiza un proceso de intra-predicción de un modo de intra-predicción representado por la información de modo de intra-predicción que se suministra desde la unidad 102 de descodificación sin pérdidas al utilizar la imagen de referencia, la cual no se ha filtrado por el filtro 106 de desbloqueo, leído de la memoria 109 de tramas a través del conmutador 110 en unidades de mosaicos y secciones.La unidad 111 de intra-predicción suministra una imagen prevista generada como resultado de la misma al conmutador 113.
[0178] La unidad 112 de compensación de movimiento lee la imagen de referencia, la cual se ha filtrado por el filtro 106 de desbloqueo,de la memoria 109 de tramas a través del conmutador 110 basándose en la información utilizada para especificar una imagen de referencia que se suministra desde la unidad 102 de descodificación sin pérdidas en unidades demosaicos y secciones. La unidad 112 de compensación de movimiento realiza un proceso de compensación de movimiento de un modo de inter-predicción óptimo representado por la información de modo de inter-predicción al utilizar el vector de movimiento y la imagen de referencia. La unidad 112 de compensación de movimiento suministra una imagen prevista generada como resultado de la misma al conmutador 113.
[0179] En un caso donde la información de modo de intra-predicción se suministra desde la unidad 102 de descodificación sin pérdidas, el conmutador 113 suministra la imagen prevista suministrada desde la unidad 111 de intra-predicción a la unidad 105 de adición. Por otro lado, en un caso donde la información de modo de inter-predicción suministrada desde la unidad 102 de descodificación sin pérdidas, el conmutador 113 suministra la imagen prevista suministrada desde la unidad 112 de compensación de movimiento a la unidad 105 de adición.
[0180] [Ejemplo del Proceso de Descodificación de Archivos] A continuación, se describirá un proceso de descodificación de archivos realizado por el aparato de descodificación ilustrado en la Figura 8 con referencia a un diagrama de flujo ilustrado en la Figura 11. Este proceso de descodificación de archivos es un proceso para un archivo gue se genera por el proceso de generación de archivos ilustrado en la figura 4. En otras palabras, aun cuando se eliminen el código de inicio y los datos de relleno, la característica del parámetro de HRD se establece nuevamente en un archivo.
[0181] En la etapa S71, la unidad 71 de recepción de archivos recibe un archivo de MP4 y suministra el archivo recibido a la unidad 72 de adquisición de parámetro.
[0182] En la etapa S72, la unidad 72 de adquisición de parámetro adquiere un moov que es la información de gestión del archivo de MP4 y suministra el moov adquirido a la unidad 74 de lectura de datos. La unidad 74 de lectura de datos adquiere un SPS y un PSS del moov en la etapa S73. En la etapa S74, la unidad 72 de adquisición de parámetro adquiere un tamaño de unidad de un mdat de descodificación actual basándose en el moov adquirido en la etapa S72.
[0183] En la etapa S75, la unidad 72 de adquisición de parámetros detecta una NAL basándose en el tamaño de unidad adquirido en la etapa S74. En ese tiempo, por ejemplo, el código de inicio también se adquiere y se menciona de acuerdo con una estructura de archivo que se describe posteriormente con referencia a las Figuras 17 y 18.
[0184] En la etapa S76, la unidad 74 de lectura de datos lee los datos de la NAL detectada en la etapa S75 y suministra los datos leídos al descodificador 52.Aquí, en un caso donde la NAL es un SPS o PPS, el SPS o el PPS del moov que se adquiere en una etapa S73 tiene un valor por defecto, y el SPS o el PPS de la NAL se utiliza.
[0185] En la etapa S77,el descodificador 52 realiza un proceso de descodificación. En ese tiempo, el descodificador 52 realiza el proceso de descodificación basándose en el parámetro de HRD.
[0186] Aquí,de acuerdo con la presente teenología,un archivo se configura con el código de inicio y los datos de relleno que se establecen sin que se eliminen de manera que la característica del parámetro de HRD se mantiene, y por consiguiente, el proceso de descodificación puede realizarse correctamente.
[0187] Además, aun cuando el código de inicio y los datos de relleno se eliminen, el parámetro de HRD se establece nuevamente en el proceso de generación de archivos ilustrado en la Figura 4, y por consiguiente, puede realizarse un proceso de descodificación correcto.
[0188] Por ejemplo, en el caso de un archivo de MP4, existe una designación de una tasa de transmisión de un VBR o un CBR desde el exterior.Aunque se produce una corriente en el descodificador 52 desde la unidad 74 de lectura de datos como se encuentra en el caso del VBR, en el caso del CBR, los datos de relleno o un bit de relleno se agregan para formar el CBR por la unidad 74 de lectura de datos, y el parámetro de HRD se reescribe. También en ese tiempo, el parámetro de HRD del archivo de MP4 es normal y puede sobre-escribirse para ser normal también en el lado de descodificación .
[0189] [Otro Ejemplo del Proceso de Descodificación de Archivos] A continuación, se describirá un proceso de descodificación de archivos realizado por el aparato de descodificación ilustrado en la Figura 8 con referencia a un diagrama de flujo ilustrado en la Figura 12. Este proceso de descodificación de archivos es un proceso para el archivo generado por el proceso de generación de archivos ilustrado en la figura 5. En otras palabras, en un moov de este archivo, un parámetro de identificación que identifica si la característica del parámetro de HRD es correcto o diferente se establece.
[0190] En la etapa S91, la unidad 71 de recepción de archivos recibe un archivo de MP4 y suministra el archivo recibido a la unidad 72 de adquisición de parámetro.
[0191] En la etapa S92, la unidad 72 de adquisición de parámetro adquiere un moov que es la información de gestión del archivo de MP4 y suministra el moov adquirido a la unidad 74 de lectura de datos. La unidad 74 de lectura de datos adquiere un SPS y un PSS del moov en la etapa S93. En la etapa S94, la unidad 72 de adquisición de parámetro adquiere el parámetro de identificación del HRD del moov que se adquiere en la etapa S92 y suministra el parámetro de identificación adquirido del HRD a la unidad 73 de control de descodificación. En la etapa S95, la unidad 72 de adquisición de parámetro adquiere un tamaño de unidad de un mdat de descodificación actual basándose en el moov adquirido en la etapa S92.
[0192] En la etapa S96, la unidad 72 de adquisición de parámetros detecta una NAL basándose en el tamaño de unidad adquirido en la etapa S95. En ese tiempo, por ejemplo, el código de inicio también se adquiere y se menciona de acuerdo con la estructura de archivo que se describe posteriormente con referencia a las Figuras 17 y 18.
[0193] En la etapa S97, la unidad 74 de lectura de datos lee los datos de la NAL detectada en la etapa S96 y suministra los datos leídos al descodificador 52.Aquí, en un caso donde la NAL es un SPS o PPS, el SPS o el PPS del moov que se adquiere en la etapa S93 tiene un valor por defecto, y el SPS o el PPS de la NAL se utiliza.
[0194] En la etapa S98, la unidad 73 de control de descodificación determine si el parámetro de identificación del HRD suministrado desde la unidad 72 de adquisición de parámetro es o no "1". En un caso donde el parámetro de identificación del HRD se determina que es "1" en la etapa S98, el proceso procede a la etapa S99.
[0195] En la etapa S99,el descodificador 52 realiza un proceso de descodificación de acuerdo con el parámetro de HRD bajo el control de la unidad 73 de control de descodificación.
[0196] Por otro lado, en un caso donde el parámetro de identificación del HRD se determina que no es "1" en la etapa S98, el proceso procede a la etapa S100.
[0197] En la etapa S100, el descodificador 52 realiza un proceso de descodificación con el parámetro de HRD que se ignora bajo el control de la unidad 73 de control de descodificación.
[0198] Aquí, de acuerdo con la presente teenología, el archivo se configura de manera que el código de inicio y los datos de relleno se establecen sin que se eliminen para mantener la característica del parámetro de HRD, y por consiguiente, el proceso de descodificación pueda realizarse correctamente.
[0199] Además, aun cuando el código de inicio y los datos de relleno se eliminen, en el proceso de generación de archivos ilustrado en la Figura 5, el parámetro de identificación que identifica si este parámetro de HRD es correcto o no se establece, y por consiguiente, el proceso de descodificación puede realizarse correctamente.
[0200] <2. Segunda modalidad> [Ejemplo de Configuración del Codificador] La Figura 13 es un diagrama de bloque que ilustra un ejemplo de la configuración de un aparato 201 de codificación de imágenes de acuerdo con una modalidad para generar el archivo antes descrito del MP4.Como se ilustra en la Figura 13,el aparato 201 de codificación de imágenes incluye una unidad 211 de codificación; una memoria intermedia 212 de VCL; una memoria intermedia 213 sin VCL; una unidad 214 de generación de archivos; y una unidad 215 de control.
[0201] La unidad 211 de codificación ilustrada en la Figura 13 corresponde al codificador 1 ilustrado en la Figura 1.Además, la memoria intermedia 212 de VCL, la memoria intermedia 213 sin VCL, la unidad 214 de generación de archivos, y la unidad 215 de control ilustradas en la Figura 13 corresponden a la unidad 2 de generación de archivos ilustrada en la Figura 1.
[0202] La unidad 211 de codificación es un codificador que opera de acuerdo con el sistema de HEVC. La unidad 211 de codificación adquiere secuencialmente imágenes que se codifican a partir de una fuente de video tal como una cámara o un sintonizador de televisión conectado al aparato 201 de codificación de imágenes. Después, la unidad 211 de codificación codifica las imágenes adquiridas al utilizar parámetros incluidos en el SPS, el PPS, y el APS, por lo que genera una corriente de bits de los datos de imagen. Además, la unidad 211 de codificación genera un SPS y un PPS como unidad de NAL sin VCL. Por otro lado, la unidad 211 de codificación genera los datos de relleno y la corriente de bits de los datos de imagen como unidad de NAL de VCL. La unidad 211 de codificación produce los datos de relleno y la corriente de bits de los datos de imagen en la unidad 214 de generación de archivos a través de la memoria intermedia 212 de VCL. Además, la unidad 211 de codificación produce el SPS y el PPS a la unidad 214 de generación de archivos a través de la memoria intermedia 213 sin VCL. La memoria intermedia 212 de VCL guarda en memoria intermedia la unidad de NAL de VCL. La memoria intermedia 213 sin VCL guarda en memoria intermedia la unidad de NAL sin VCL. La unidad 214 de generación de archivos genera un archivo 151 de HEVC que almacena una serie de datos de imagen codificados. Más específicamente, la unidad 214 de generación de archivos inserta los datos de relleno y la corriente de bits de los datos de imagen en una región de datos (por ejemplo, el recuadro de mdat) del archivo 151 de HEVC en el orden de descodificación como unidad de NAL de VCL. Además, la unidad 214 de generación de archivos inserta el SPS y el PPS en una región de encabezado (por ejemplo, el recuadro de moov) del archivo 151 de HEVC como unidad de NAL sin VCL. La unidad 215 de control controla el proceso de codificación realizado por el aparato 201 de codificación de imágenes.
[0203] Además, la unidad 215 de control puede controlar la generación de una corriente codificada al utilizar un modelo de descodificador virtual llamado HRD (Descodificador de Referencia Hipotética: descodificador de referencia virtual) de manera que la memoria intermedia del descodificador no falle. En el sistema de HEVC, como puntos de cumplimiento (puntos de comprobación para cumplimiento estándar) que se cumplen por una corriente codificada, se definen dos tipos de puntos de cumplimiento incluyendo el Tipo 1 y el Tipo 2. El punto de cumplimiento del Tipo 1 se aplica a una unidad de NAL de VCL y una unidad de NAL de datos de filtro pero no se aplica a una unidad de NAL sin VCL. El punto de cumplimiento del Tipo 2 se aplica a una unidad de NAL de VCL, una unidad de NAL de datos de filtro y una unidad de NAL sin VCL. En esta modalidad, los datos de relleno se definen no como la unidad de NAL sin VCL sino como la unidad de NAL de VCL. De esta manera, la unidad 215 de control puede realizar el control de la generación de una corriente codificada de manera que no sólo la corriente de bits de los datos de imagen sino también los datos de relleno cumplan con el punto de cumplimiento del Tipo 1.
[0204] [Ejemplo de Configuración de Descodificador] La Figura 14 es un diagrama de bloque que ilustra un ejemplo de la configuración de un aparato de descodificación de imágenes de acuerdo con una modalidad para descodificar una imagen del archivo del MP4 descrito en lo anterior. Como se ilustra en la Figura 14, el aparato 251 de descodificación de imágenes incluye: una memoria intermedia 261 de VCL; una memoria intermedia 262 sin VCL, una memoria 263 de parámetros; una unidad 264 de descodificación; y una unidad 265 de control.
[0205] Aquí, la memoria intermedia 261 de VCL, la memoria intermedia 262 sin VCL, la memoria 263 de parámetros, y la unidad 265 de control ilustrada en la Figura 14 corresponde a la unidad 51 de lectura de archivo ilustrada en la Figura 8. Además, la unidad 264 de descodificación ilustrada en la Figura 14 corresponde al descodificador 52 ilustrado en la Figura 8.
[0206] La memoria intermedia 261 de VCL guarda en memoria intermedia una corriente de bits de los datos de imagen y los datos de relleno leídos de la región de datos (por ejemplo, el recuadro de mdat) de un archivo. La memoria intermedia 262 sin VCL guarda en memoria intermedia los conjuntos de parámetros leídos de la región de encabezado (por ejemplo, el recuadro de moov) de un archivo. La memoria 263 de parámetros almacena conjuntos de parámetros dispuestos dentro de la región de encabezado del archivo adquirido a través de la memoria intermedia 262 sin VCL en conjunto. La unidad 264 de descodificación es un descodificador que opera de acuerdo con el sistema de HEVC. La unidad 264 de descodificación descodifica imágenes de las corrientes de bits que se adquieren secuencialmente de la región de datos del archivo a través de la memoria intermedia 261 de VCL. Cuando se descodifica una imagen, la unidad 264 de descodificación utiliza parámetros dispuestos dentro del SPS y el PPS almacenados en la memoria 263 de parámetros.La unidad 265 de control controla el proceso de descodificación realizado por el aparato 251 de descodificación de imágenes.
[0207] <3. Tercera modalidad> [Estructura de Muestra de Video de MP4 Convencional] La Figura 15 es un diagrama que ilustra un ejemplo de una estructura de muestra de video de MP4 convencional.Una unidad de NAL que configura la muestra de video se define como se ilustra en la Figura 15.
[0208] En el ejemplo ilustrado en la Figura 15, una corriente de AVC que se configura por una pluralidad de unidades de NAL se representa. En la corriente de AVC, se configura una imagen por una unidad de acceso.Como tipos de unidades de NAL que configuran la unidad de acceso, existen unidades tal como un SPS, un PPS, un delimitador de unidad de acceso, SEI, una imagen de IDR, una imagen sin IDR, un final de secuencia, y datos de relleno.
[0209] En una especificación de MP4 convencional, una unidad de acceso se almacena en una muestra de video.En otras palabras, un tamaño de unidad se agrega a cada unidad de NAL que configura una unidad de acceso, y una unidad de NAL resultante se almacena en una muestra de video. Sin embargo, en un caso donde una unidad de NAL del SPS, el PPS; o los datos de relleno se presenta en una unidad de NAL que configura una unidad de acceso, la unidad de NAL del SPS, el PPS; o los datos de relleno se excluye de una muestra de video.
[0210] Por ejemplo, aunque una unidad de acceso dispuesta primero desde un lado izquierdo se configura por unidades de NAL de un delimitador de unidad de acceso, un SPS, un PPS, SEI, y una imagen de IDR, las unidades de NAL del SPS y el PPS se excluyen cuando la unidad de acceso se almacena en la muestra.
[0211] Aunque una unidad de acceso dispuesta en segundo lugar desde el lado izquierdo se configura por unidades de NAL de un delimitador de unidad de acceso, un SPS, SEI, una imagen sin IDR, y datos de relleno, las unidades de NAL del SPS y los datos de relleno se excluyen cuando la unidad de acceso se almacena en una muestra.
[0212] Aunque una unidad de acceso dispuesta en tercer lugar desde el lado izquierdo se configura por unidades de NAL de un delimitador de unidad de acceso, un SPS, SEI, y una imagen sin IDR, la unidad de NAL del SPS se excluye cuando la unidad de acceso se almacena en una muestra.
[0213] [Ejemplo de Configuración de una Unidad de Acceso de Corrientes de AVC] La Figura 16 es un diagrama que ilustra un ejemplo de la configuración de una unidad de acceso de una corriente de AVC.
[0214] Como se ilustra en la Figura 16, realmente, un identificador (código de inicio) se agrega antes de cada unidad de NAL en una unidad de acceso de la corriente de AVC, convencionalmente, tales identificadores también se excluyen cuando la unidad de acceso se almacena en una muestra.
[0215] Cuando las unidades de NAL de este identificador (código de inicio) y los datos de relleno se excluyen, como se describe en lo anterior, la característica de parámetro de HRD no se mantiene. De esta manera, de acuerdo con la presente teenología, una unidad de acceso se almacena en una muestra de MP4 como es.
[0216] [Ejemplo de Almacenamiento de Unidad de Acceso de Acuerdo con la Presente Tecnología] Las Figuras 17 y 18 son diagramas que ilustran ejemplos de una estructura de muestra de video de MP4 de acuerdo con la presente teenología.
[0217] En el ejemplo de A de la Figura 17, un tamaño de unidad que describe el tamaño de una unidad de acceso se agrega al inicio de la unidad de acceso, y la unidad de acceso se almacena en una muestra de MP4 como es. Aquí, "como es" representa un estado en el cual el código de inicio se anexa, y, en un caso donde los datos de relleno se presentan, los datos de relleno no se eliminan. En otras palabras, "como es" representa un estado en el cual el código de inicio y los datos de relleno se establecen.
[0218] En el caso de A de la Figura 17, en la etapa S75 representada en la Figura 11 o la etapa S96 representada en la Figura 12 descritas en lo anterior, una unidad de acceso que corresponde a un tamaño de unidad se detecta, y NAL se detecta basándose en el código de inicio incluido en la unidad de acceso. Después, en la etapa S76 representada en la Figura 11 o etapa S97 representada en la Figura 12, los datos de la NAL hasta el siguiente código de inicio se adquieren.El caso de A de la Figura 17 representa una estructura muy simple.
[0219] En el caso de B de la Figura 17, un tamaño de unidad que describe el tamaño de cada unidad de NAL que incluye el código de inicio y se agrega al inicio de cada unidad de NAL que configura una unidad de acceso, y la unidad de acceso se almacena en una muestra de MP4 como es.
[0220] En el caso de B de la Figura 17, en la etapa S75 representada en la Figura 11 o la etapa S96 representada en la Figura 12 descrita en lo anterior, el código de inicio + NAL que corresponde al tamaño de unidad se detecta. Después, en la etapa S76 representada en la Figura 11 o etapa S97 representada en la Figura 12, entre las mismas, el código de inicio se descarta, y los datos de NAL se adquieren.En este caso, aunque la estructura se acerca a una estructura convencional de "tamaño + datos", y la integración es la misma que aquella de la misma, es necesario analizar el código de inicio basado en la estructura de datos adquiridos.
[0221] En el caso de C de la Figura 18, un tamaño de unidad que describe el tamaño de cada unidad de NAL se agrega al inicio de cada unidad de NAL que configura una unidad de acceso, y el tamaño de un código de inicio que incluye 0 datos, en otras palabras, un tamaño de compensación hasta que se agrega NAL. Después, la unidad de NAL a la cual se agregan el tamaño de unidad y el tamaño de compensación se almacena como es en una muestra de MP4.
[0222] En el caso de C de la Figura 18, en la etapa S75 representada en la Figura 11 o la etapa S96 representada en la Figura 12 descritas en lo anterior, se adquiere un tamaño de compensación, y una NAL se detecta de una posición adquirida al realizar el salto que corresponde a la compensación. Después, en la etapa S76 representada en la Figura 11 o etapa S97 representada en la Figura 12, los datos de NAL que corresponden al tamaño de unidad se adquieren.
[0223] Además, C de la Figura 18 es un ejemplo de un caso donde FixedStartCodeSizeFlag de un Recuadro de Cumplimiento de HRD ilustrado en la Figura 19que se describirá posteriormente es "0". En un caso donde el FixedStartCodeSizeFlag es "0", puesto que el tamaño de código de inicio no es fijo, el tamaño del código de inicio se almacena en un campo de tamaño de compensación.
[0224] En contraste a esto, en un caso donde el FixedStartCodeSizeFlag del Recuadro de Cumplimiento de HRD es "1", la muestra de MP4 tiene una estructura ilustrada en C' de la Figura 18.
[0225] En el ejemplo de C ilustrado en la Figura 18, un tamaño de unidad que describe el tamaño de cada unidad de NAL se agrega al inicio de cada unidad de NAL que configura una unidad de acceso, y la unidad de NAL se almacena en la muestra de MP4 como es.
[0226] En otras palabras, en un caso donde el FixedStartCodeSizeFlag es "1", puesto que el tamaño de código de inicio se fija como tamaño de código de inicio = 4 bytes, el campo de tamaño de compensación no necesita disponerse antes del código de inicio. [0227 En este caso,una nueva estructura de análisis se forma.
[0228] En el caso de D de la Figura 18, un tamaño de unidad que describe el tamaño de cada unidad de NAL, el tamaño de un código de inicio, y el código de inicio se agrega al inicio de cada unidad de NAL que configura una unidad de acceso, y el tamaño del código de inicio que incluye 0 datos, en otras palabras, un tamaño de compensación hasta que se agrega NAL.Después, la unidad de NAL a la cual se agregan el tamaño de unidad y el tamaño de compensación se almacena en la muestra de MP4 como es.
[0229] En el caso de D de la Figura 18, en la etapa S75 representada en la Figura 11 o la etapa S96 representada en la Figura 12 descritas en lo anterior, el "tamaño de compensación + código de inicio + NAL" que corresponde al tamaño de unidad se detecta, se adquiere un tamaño de compensación, y se detecta NAL de una posición adquirida al realizar el salto que corresponde a la compensación. Después, en la etapa S76 representada en la Figura 11 o etapa S97 representada en la Figura 12, los datos de NAL que corresponden a "tamaño de unidad - (tamaño de compensación + código de inicio) " se adquiere.
[0230] Además, D de la Figura 18 es un ejemplo de un caso donde FixedStartCodeSizeFlag del Recuadro de Cumplimiento de HRD es "0". En el caso donde el FixedStartCodeSizeFlag es "0", puesto que el tamaño de código de inicio no es fijo, el tamaño del código de inicio se almacena en el campo de tamaño de compensación.
[0231] En contraste a esto, en un caso donde el FixedStartCodeSizeFlag del Recuadro de Cumplimiento de HRD es "1", la muestra de MP4 tiene una estructura ilustrada en D' de la Figura 18.
[0232] En el ejemplo de D'ilustrado en la Figura 18, un tamaño de unidad que describe el tamaño de cada unidad de NAL que incluye un código de inicio se agrega al inicio de cada unidad NAL que configura una unidad de acceso, y la unidad de NAL se almacena en la muestra de MP4 como es.
[0233] En otras palabras, en un caso donde el FixedStartCodeSizeFlag es "1", puesto que el tamaño de código de inicio se fija como tamaño de código de inicio = 4 bytes, el campo de tamaño de compensación no necesita disponerse antes del código de inicio, y la estructura de D' de la Figura 18 es similar a aquella de B de la Figura 17 descrita en lo anterior.
[0234] En este caso, aunque la integración es la misma que aquella de la misma basándose en la estructura convencional del "tamaño + datos", una estructura de análisis se forma en la cual se realiza el salto que corresponde al tamaño de compensación dispuesto al inicio de la estructura de datos adquiridos.Además, en este caso, es necesario analizar el código de inicio.
[0235] [Ejemplo de Extensión de Recuadro de Cumplimiento de HRD] La Figura 19 es un diagrama que ilustra un ejemplo de una extensión de Recuadro de Conformación de HRD. En adelante, el ejemplo de la extensión de Recuadro de Cumplimiento de HRD se ilustrará de manera similar.
[0236] AVCSampleEntry() extiende VisualSampleEntry ('type') { // type es 'avc3' o 'avc4', (y todo el heve) AVCConfigurationBox config; MPEG4BitRateBox(); //Optional MPEG4ExtensionDescriptorsBox(); //Optional HRDConformanceBox(); //Optional } Agregar HRDConformanceBox en AVCSampleEntry y AVC2SVVSampleEntry en 5.4.2.1 Agregar HRDConformanceBox en AVCMVCSampleEntry , AVC2SVCSampleEntry y SVCSampleEntry en 6.5.3.1.
Agregar HRDConformanceBox en AVCMVCSampleEntry, AVC2MVCSampleEntry y MVCSampleEntry en la sección 7.6.3.3. Agregar HRDConformanceBox en HEVC SampleEntry en la sección 8.4.1.1.
Se utiliza la entrada de muestra sin HRDConformanceBox sólo para muestras sin códigos de inicio no rellenos HRDConformanceBox puede definirse como sigue. clase HRDConformanceBox extiende Box('hrdc') { HRDConformanceData() HRDConformance; } aligned(8) class HRDConformanceData { unsigned int(l) HRDConformanceFlag; unsigned int(l) FixedStartCodeSizeFlag; unsigned int(2) OffsetSizeMinusOne; unsigned int(4) reserved =0; unsigned int(24) reserved; Box[] any_box; //Optional } HRDConformanceFlag es el identificador si la característica de HRD se cambió al eliminar el código de inicio, datos de relleno, etc., de la corriente elemental. Cuando HRDConformanceFlag es igual a 1, los parámetros de HRD, por ejemplo, la SEI de periodo de guardado de memoria intermedia, la SEI de tiempo de imagen, se cambió al eliminar el código de inicio, datos de relleno, etc., de la corriente elemental.
FixedStartCodeSizeFlag es el identificador cuando el código de inicio en cada NAL tiene un tamaño fijo de 4 bytes. Cuando FixedStartCodeSizeFlag es igual a 1, ningún campo de compensación es para cada NAL en los datos demuestra para indicar el tamaño del Código de Inicio.
OffsetSizeMinusOne indica la longitud en bytes del campo de StartcodeLength en una muestra de video menos uno. Por ejemplo, un tamaño de un byte se indica con un valor de 0.El valor de ese campo debe ser uno de 0, 1, o 3 que corresponde a una longitud codificada con 1, 2, o 4 bytes, respectivamente.
HRDConformanceBox se utiliza para indicar el estado de cumplimiento de HRD incluso en las otras opciones.
[0237] En la Figura 19 y el ejemplo descrito en lo anterior, el FixedStartCodeSizeFlag que es un indicador se identifica si la información de tamaño del código de inicio se presenta o no se define adicionalmente en el recuadro de Cumplimiento de HRD. De esta manera, como se ilustra en C de la Figura 18 y D' de la Figura 18, en un caso donde el tamaño del código de inicio es fijo, la estructura de archivo puede configurarse para que sea simple.
[0238] [Ejemplo de Almacenamiento de la Unidad de Acceso de Acuerdo con la Presente Teenología] La Figura 20 es un diagrama que ilustra otro ejemplo de la estructura de muestra de video de MP4 de acuerdo con la presente teenología.
[0239] En el ejemplo ilustrado en E de la figura 20, el tamaño de unidad se elimina de mdat, y una corriente elemental en la cual se incluye el código de inicio se almacena (se reserva) sin que se cambie.
[0240] En el caso de E de la Figura 20, un nuevo recuadro utilizado para mantener una compensación de cada unidad de acceso, como se ilustra en la Figura 21 y como en lo siguiente, se agrega una tabla de muestras.
[0241] aligned(8) class NALunitOffsetBox extends FullBox('nalo', version=0, 0) { unsigned int(32) sample_count; for (i=l; i <= sample_count; i++){ unsigned int(8) offset_count; unsigned int(8) offset_size; for (j=l; j <= offset_count; j++){ unsigned int(offset_size*8) offset; } } sample_count es un entero que proporciona el número de entradas en la siguiente tabla. offset_count es un entero que proporciona el número de entradas en la siguiente subtabla. offset_size es un entero que proporciona el tamaño de bytes del campo de compensación en la siguiente subtabla. offset es un entero que proporciona la compensación del inicio de una unidad de NAL en su muestra de contención.
[0242] Además, como sustituto para el ejemplo representado en E de la Figura 20, como se ilustra en el ejemplo de E'de la Figura 22, una lista de compensaciones pueden configurarse para incluirse al inicio de cada muestra en lugar de la adición del recuadro descrito en lo anterior.
[0243] En el ejemplo representado en E' de la Figure 22, por ejemplo, una lista de cinco compensaciones de cinco unidades de acceso se incluye al inicio de la muestra.
[0244] Losarchivos de lasmuestras de video del MP4 ilustradas en las Figuras 17 y 18 se generan por la unidad 2 de generación de archivos que tiene la configuración ilustrada en la Figura 3 descrita en lo anterior a través del proceso de generación de archivos ilustrado en la Figura 4 ó 5 descritas en lo anterior. Además, los archivos de muestras de video del MP4 ilustrados en las Figuras 20 y 22 se generan por la unidad 2 de generación de archivos que tiene la configuración ilustrada en la Figura 3 descrita en lo anterior a través del proceso de generación de archivos ilustrado en la Figura 4 ó 5 descritas en lo anterior.
[0245] Además, los archivos de las muestras de video de MP4 ilustradas en las Figuras 17 y 18 se descodifican por la unidad 51 de lectura de archivo que tienen la configuración ilustrada en la Figura 9 descrita en lo anterior a través del proceso de descodificación de archivos ilustrado en las Figuras 11 ó 12 descritas en lo anterior. Además, los archivos de las muestras de video de MP4 ilustrados en las Figuras 20 a 22 se descodifican por la unidad 51 de lectura de archivo que tiene la configuración ilustrada en la Figura 9 descrita en lo anterior a través del proceso de descodificación de archivos ilustrado en las Figuras 11 ó 12 descritas en lo anterior.
[0246] [Otro Ejemplo Adicional de Almacenamiento de Unidad de Acceso de Acuerdo con la Presente Teenología] La Figura 23 es un diagrama que ilustra otro ejemplo adicional de la estructura de muestra de video de MP4 de acuerdo con la presente tecnología.
[0247] En el ejemplo ilustrado en F de la figura 23, el tamaño de unidad se elimina de mdat, y la corriente elemental en la cual se incluye el código de inicio se almacena (se reserva) como es sin ningún cambio.Además, para almacenar las longitudes de cada código de inicio (código de inicio)y la unidad de NAL, una función de información auxiliar de muestra definida en ISO/IEC 14496-12 se aplica.
[0248] Las longitudes de cada código de inicio y la unidad de NAL, aux_info_type = "nalz" y aux_info_type_jparameter = 0 se proporcionan como la función de información auxiliar de muestra. La función de información auxiliar de muestra se menciona por "saiz" que es un recuadro de tamaño de función de información auxiliar de muestra utilizado (SampleAuxiliarylnformationSizesBox)y "saio" que es un recuadro de compensación de función de información auxiliar de muestra.
[0249] [Ejemplo de Formato de Función de Información Auxiliar de Muestra] La Figura 24 es un diagrama que ilustra un ejemplo de un formato de la función de información auxiliar de muestra. En adelante, un ejemplo del formato de la función de información auxiliar de muestra se ilustrará de manera similar.
[0250] aligned(8) class NalsizeSampleAuxiliaryDataFormat unsigned int(2) StartcodeSizeMinusOne; unsigned int(2) NALunitSizeMinusOne; unsigned int(4) reserved; unsigned int(32) subsample count; for (i = 1; i <= subsample_count; i++){ switch (StartcodeSizeMinusOne){ case 0: unsigned int(8) Startcode Size; break; case 1: unsigned int(16) Startcode Size break; case 3: unsigned int(32) Startcode Size break; } switch (NALUnitSizeMinusOne){ case 0: unsigned int(8) NALUnit Size; break; case 1: unsigned int(16) NALUnit Size; break; case 3: unsigned int(32) NALUnit Size; break;.
} } StartcodeSizeMinusOne indica la longitud en bytes del campo de Tamaño de Código de Inicio menos uno. Por ejemplo, un tamaño de un byte se indica con un valor de 0. El valor de ese campo debe ser uno de 0, 1, o 3 que corresponde a una longitud codificada con 1, 2, o 4 bytes, respectivamente.
NALUnitSizeMinusOne indica la longitud en bytes del campo de Tamaño de Unidad de NAL menos uno.Por ejemplo, un tamaño de un byte se indica con un valor de 0.El valor de ese campo debe ser uno de 0, 1, o 3 que corresponde a una longitud codificada con 1, 2, o 4 bytes, respectivamente.
StartcodeSize indica la longitud en bytes del Código de Inicio de la submuestra en un sampleNALUnitSize indica la longitud en bytes del Código de Inicio de la submuestra en una muestra
[0251] StartcodeSizeMinusOne representaun valor adquirido al restar uno de la longitud de byte del campo del tamaño de código de inicio (Campo de Tamaño de Código de Inicio). Por ejemplo, en un caso donde la longitud de byte del campo de tamaño de código de inicio es un byte, el valor de StartcodeSizeMinusOne es "0". El valor del StartcodeSizeMinusOne es 0, 1,o 3 en correspondencia con la longitud de codificación de un byte, dos bytes, o cuatro bytes.
[0252] NALUnitSizeMinusOne representa un valor que se adquiere al restar uno de la longitud de byte del campo del tamaño de unidad de NAL (Campo de Tamaño de Unidad de NAL). Por ejemplo, en un caso donde la longitud de byte del campo de tamaño de unidad de NAL es un byte,elvalor de NALUnitSizeMinusOne es "0".El valor del NALUnitSizeMinusOne es 0, 1, o 3 en correspondencia con la longitud de codificación de un byte, dos bytes, o cuatro bytes.
[0253] StartcodeSize representa una longitud de byte del código de inicio (Código de inicio) de una submuestra dentro de la muestra.
[0254] NALUnitSize representa una longitud de byte de la unidad de NAL de una submuestra dentro de la muestra.
[0255] El formato puede configurarse como se describe en lo anterior. Además, el formato de la función de información auxiliar de muestra puede configurarse como sigue.
[0256] [Otro Ejemplo de Formato de la Función de Información Auxiliar de Muestra] La Figura 25 es un diagrama que ilustra otro ejemplo del formato de la función de información auxiliar de muestra. En adelante, otro ejemplo del formato de la función de información auxiliar de muestra se ilustrará de manera similar.
[0257] aligned(8) class NalsizeSampleAuxiliaryDataFormat { unsigned int(l) FixedStartCodeSizeFlag; unsigned int(2) StartcodeSizeMinusOne; unsigned int(2) NALUnitSizeMinusOne; unsigned int(3) reserved; unsigned int(32) Subsample_count; for (i = 1; i <= subsample_count; i++){ if (FixedStartCodeSizeFlag == 0){ switch (StartcodeSizeMinusOne){ case 0: unsigned int(8) Startcode Size; break; case 1: unsigned int(16) Startcode Size; break; case 3: unsigned int(32) Startcode Size; break; switch (NALUnitSizeMinusOne){ case 0: unsigned int(8) NALUnit Size; break; case 1: unsigned int(16) NALUnit Size; break; case 3: unsigned int(32) NALUnit Size; break; FixedStartCodeSizeFlag es el identificador cuando el código de inicio antes de cada unidad de NAL tiene un tamaño fijo de 4 bytes. Cuando FixedStartCodeSizeFlag es igual a 1.
StartcodeSizeMinusOne indica la longitud en bytes del campo de Tamaño de Código de Inicio menos uno. Por ejemplo, un tamaño de un byte se indica con un valor de 0. El valor de ese campo debe ser uno de 0, 1, o 3 que corresponde a una longitud codificada con 1, 2, o 4 bytes, respectivamente.
NALUnitSizeMinusOne indica la longitud en bytes del campo de Tamaño de Unidad de NAL menos uno.Por ejemplo, un tamaño de un byte se indica con un valor de 0.El valor de ese campo debe ser uno de 0, 1, o 3 que corresponde a una longitud codificada con 1, 2, o 4 bytes, respectivamente.
StartcodeSize indica la longitud en bytes del Código de Inicio de la submuestra en una muestra.
NALUnitSize indica la longitud en bytes del Código de Inicio de la submuestra en una muestra.
[0258] El FixedStartCodeSizeFlag es información de indicador. El FixedStartCodeSizeFlag es información de indicador que representa si el tamaño del código de inicio (código de inicio) dispuesto antes de cada unidad de NAL es cuatro bytes. El valor del FixedStartCodeSizeFlag se establece en "1" en un caso en donde el tamaño del código de inicio (código de inicio) dispuesto antes de cada unidad de NAL es cuatro bytes y se establece en "0" de otra manera. En otras palabras, en un caso donde el valor de FixedStartCodeSizeFlag es "1", representa que el tamaño del código de inicio (código de inicio)dispuesto antes de cada unidad de NAL es de cuatro bytes.Por otro lado, en un caso donde el valor de FixedStartCodeSizeFlag es "0", representa que el tamaño del código de inicio (código de inicio)dispuesto antes de cada unidad de NAL no es de cuatro bytes.
[0259] Cada parámetro del StartcodeSizeMinusOne, la NALUnitSizeMinusOne, el StartcodeSize, y la NALUnitSize es similar a aquel del caso ilustrado en la Figura 24.
[0260] En un caso donde el FixedStartCodeSizeFlag del recuadro de HRDConformanceData es "1", cuando el tamaño de cada uno de los códigos de inicio se incluye, existe la posibilidad de que la cantidad de datos se incremente de manera innecesaria. De esta manera, al configurar como en el ejemplo ilustrado en la Figura 25, en este caso, una estructura que tiene un tamaño de sólo las unidades de NAL puede formarse, por lo que un incremento innecesario en la cantidad de datos puede suprimirse.Además, en este caso, el HRDConformanceBox sólo tiene el HRDConformanceFlag.
[0261] Además, el archivo de la muestra de video de MP4 ilustrada en la Figura 23 se genera por la unidad 2 de generación de archivos de la configuración ilustrada en la Figura 3 descrita en lo anterior a través del proceso de generación de archivos ilustrado en las Figuras 4 ó 5.
[0262] Además, el archivo de la muestra de video de MP4 ilustrada en la Figura 23 se descodifica por la unidad 51 de lectura de archivo de la configuración ilustrada en la Figura 9 descrita en lo anterior a través del proceso de descodificación de archivos ilustrado en las Figuras 11 ó 12 descritas en lo anterior.
[0263] En esta opción, el tamaño de unidad se elimina de mdat, y la corriente elemental que incluye el código de inicio se almacena simplemente sin modificación. Y para almacenar la longitud de cada código de inicio y unidad de NAL, se propone utilizar la función de información auxiliar de muestra definida en ISO/IEC 14496-12. La Figura 23 muestra un ejemplo de una muestra de esta opción.
Cada longitud de código de inicio y unidad de NAL se proporciona como Información Auxiliar de Muestra con aux info type igual a 1nalz' y aux_inf o_type_parameter igual a 0.
La Información Auxiliar de Muestra se menciona al utilizar una SampleAuxiliarylnformationSizesBox ('saiz') y una SampleAuxiliarylnformationOffsetsBox ('saio').
El formato de la información auxiliar de muestra para las muestras con este tipo deberá ser: aligned(8) class NalsizeSampleAuxiliaryDataFormat { unsigned int(l) FixedStartCodeSizeFlag; unsigned int(2) StartcodeSizeMinusOne; unsigned int(2) NALunitSizeMinusOne; unsigned int(3) reserved; unsigned int(32) subsample_count; for (i = 1; i <= subsample_count; i++){ if (FixedStartCodeSizeFlag == 0){ switch (StartcodeSizeMinusOne)( case 0: unsigned int(8) Startcode Size; break; case 1: unsigned int (16) Startcode Size break; case 3: unsigned int(32) Startcode Size; break; switch (NALUnitSizeMinusOne){ case 0: unsigned int(8) NALUnit Size; break; case 1: unsigned int(16) NALUnit Size; break; case 3: unsigned int(32) NALUnit Size; break; } } FixedStartCodeSizeFlag es el identificador cuando el código de inicio antes de cada unidad de NAL tiene un tamaño fijo de 4 bytes. Cuando FixedStartCodeSizeFlag es igual a 1.
StartcodeSizeMinusOne indica la longitud en bytes del campo de Tamaño de Código de Inicio menos uno. Por ejemplo, un tamaño de un byte se indica con un valor de 0. El valor de ese campo debe ser uno de 0, 1, o 3 que corresponde a una longitud codificada con 1, 2, o 4 bytes, respectivamente.
NALUnitSizeMinusOne indica la longitud en bytes del campo de Tamaño de Unidad de NAL menos uno.Por ejemplo, un tamaño de un byte se indica con un valor de 0.El valor de ese campo debe ser uno de 0, 1, o 3 que corresponde a una longitud codificada con 1, 2, o 4 bytes, respectivamente.
StartcodeSize indica la longitud en bytes del Código de Inicio de la submuestra en una muestra.
NALUnitSize indica la longitud en bytes de la unidad de NAL de la submuestra en una muestra.
[0264] [Comparación de Estructura de Muestra de Video de MP4 de acuerdo con la Presente Teenología] En un ejemplo ilustrado en la Figura 26, una tabla utilizada para comparar las estructuras de muestra de video de MP4 descritas en lo anterior se representa.
[0265] En un ejemplo del almacenamiento de una unidad de acceso ilustrada en B de la Figura 17, existe una ventaja de acercarse a una estructura convencional (actualmente utilizada) de "tamaño + datos".
[0266] En un ejemplo del almacenamiento de una unidad de acceso ilustrada en C de la Figura 18 o C de la Figura 18, existen ventajas de acercarse a la estructura convencional (actualmente utilizada) de "tamaño + datos" y de no cambiar la semántica del tamaño de la unidad.Además, en un caso donde el tamaño de código de inicio es fijo,existe una ventaja de que la estructura de datos es similar a un diseño de formato de archivo convencional (actualmente utilizado).
[0267] En un ejemplo del almacenamiento de una unidad de acceso ilustrada en D de la Figura 18 o D' de la Figura 18, existe una ventaja de acercarse a la estructura convencional (actualmente utilizada) de "tamaño + datos".
[0268] En un ejemplo del almacenamiento de una unidad de acceso ilustrada en E de la Figura 20 o E' de la Figura 22, existe una ventaja de que el almacenamiento de la unidad de acceso en la corriente elemental es simple (en otras palabras, el código de inicio no necesita eliminarse, y el tamaño de unidad y el tamaño de código de inicio no necesitan agregarse).
[0269] En un caso donde la consistencia de diseño de la muestra es un factor significativo, C de la Figura 18 o C' de la Figura 18 es una mejor opción. Sin embargo, E de la Figura 20 o E' de la Figura 22 es un mejor método para almacenar la corriente elemental sin ningún cambio.
[0270] Todos los ejemplos antes descritos del almacenamiento de una unidad de acceso se han propuesto para almacenar el código de inicio en los mdat (En esta contribución, las siguientes opciones se proponen para almacenar el código de inicio en mdat (para ambos formatos de archivo de AVC y HEVC).
[0271] Además, la estructura de muestra de video de MP4 ilustrada en la Figura 23 descrita en lo anterior puede configurarse como se ilustra en la siguiente Figura 27.
[0272] [Otro Ejemplo de Almacenamiento de la Unidad de Acceso de Acuerdo con la Presente Teenología] La Figura 27 es un diagrama que ilustra otro ejemplo de la estructura de muestra de video de MP4 ilustrada en la Figura 23.
[0273] En el ejemplo de G de la Figura 27, de manera similar al ejemplo ilustrado en F de la Figura 23, el tamaño de unidad se elimina delmdat,y la corriente elemental en la cual se incluye el código de inicio se almacena (reserva) como es sin ningún cambio. Sin embargo, de manera diferente al ejemplo ilustrado en F de la Figura 23,en la corriente elemental,cada código de inicio (código de inicio) se incluye en una unidad de NAL, y, para almacenar la longitud de la unidad de NAL que incluye el código de inicio, la función de información auxiliar de muestra definida en ISO/IEC 14496-12 se aplica.
[0274] A la longitud de cada unidad de NAL, aux_info_type = "nalz" y aux_info_type_parameter = 0 se proporcionan como la función de información auxiliar de muestra. La función de información auxiliar de muestra se menciona por "saiz" que es un recuadro de tamaño de función de información auxiliar de muestra utilizado (SampleAuxiliarylnformationSizesBox) y "saio" que es un recuadro de compensación de función de información auxiliar de muestra.
[0275] En otras palabras, en el ejemplo ilustrado en G de la Figura 27, como la función de información auxiliar de muestra, la longitud del código de inicio no se almacena,y sólo la longitud de la unidad de NAL que incluye el código de inicio se almacena. Por consiguiente, el ejemplo de G de la Figura 27 es el mismo que el ejemplo ilustrado en F de la Figura 23 excepto que la longitud del código de inicio no se almacena.
[0276] El archivo de la muestra de video del MP4 ilustrada en la Figura 27 se genera por la unidad 2 de generación de archivos de la configuración ilustrada en la Figura 3 descrita en lo anterior a través del proceso de generación de archivos ilustrado en la Figura 4 ó 5 descritas en lo anterior.
[0277] Además, el archivo de la muestra de video de MP4 ilustrado en la Figura 27 se descodifica por la unidad 51 de lectura de archivo de la configuración ilustrada en la Figura 9 descrita en lo anterior a través del proceso de descodificación de archivos ilustrado en las Figuras 11 ó 12 descritas en lo anterior.
[0278] <4. Cuarta Modalidad> Aquí, de forma convencional, cuando una corriente elemental de MP4 va a almacenarse en MPEG2-PS, es necesario extraer un tamaño de unidad e insertar un código de inicio. Por el contrario, cuando una corriente elemental de MPEG2-PS va a almacenarse en MP4, es necesario extraer un código de inicio e insertar un tamaño de unidad. En otras palabras, al menos, dos tipos de corrientes se presentan,y, cuando se forma una corriente como archivo, la corriente necesita cambiarse, y un indicador que representa el cumplimiento/no cumplimiento con el cumplimento de HRD es necesario.
[0279] Además, en un caso donde existen diversas variaciones en la corriente de acuerdo con la presencia/no presencia del código de inicio, existe preocupación de que pueda perderse la compatibilidad.
[0280] En contraste a esto, un formato de corriente de byte, el cual es una corriente que incluye un código de inicio, que se almacena en un archivo del MPEG2-PS se define. Al permitir que la corriente se almacene en un archivo de MP4, la compatibilidad entre los dos archivos se mejora.
[0281] De acuerdo con la presente teenología, en una muestra, para identificar si una corriente de bytes se presenta o no, un recuadro de información de formato de corriente de bytes utilizado para almacenar información de un formato de corriente de bytes se define.
[0282] [Recuadro de Información de Formato de Corriente de Byte] A continuación, el recuadro de información de formato de corriente de byte se describirá con referencia a la Figura 28.
[0283] El recuadro de información de formato de corriente de byte se define para ser opcional para una entrada de muestra en la cual puede insertarse un conjunto de parámetros o similares. La entrada de muestra en la cual el conjunto de parámetros o similares puede insertarse puede almacenarse también como corriente de bytes. Además, en este tiempo, para indicar que la en¿rada de muestra es la corriente de bytes, se almacena este recuadro.
[0284] En un ejemplo ilustrado en la Figura 28, la especificación del recuadro de información de formato de corriente de bytes se ilustra.
[0285] El Recuadro de Información de Formato de Corriente de Byte puede almacenarse en la Entrada de Muestra 'avc3', avc4 , 'mvc31, 'mvc4' o 'hevl' (en el recuadro de entrada de Muestra de la guia de medios).
Este recuadro DEBERÁ almacenarse cuando los datos de muestra se estructuren por el Formato de Corriente de Bytes como se define en ISO/IEC 14496-10.
El Recuadro de Información de Sub-Muestra puede utilizarse para almacenar uno o más tamaños de unidad de NAL de corriente de Bytes contigua. una sub-muestra se define como una o más unidades de NAL de corriente de Bytes contigua como se define en ISO/IEC 14496-10.
Tipo de Recuadro: 'bsfi' Contenedor : Entrada de Muestra ('avc3',’avc4\ 'mvc3', 'mvc4' o ' hevl ' ) Obligatorio : No Cantidad: Cero o uno Class ByteStreamFormatlnformationBox extends Box('bsfi'){ ByteStreamFormatlnformation() ByteStreamlnformation; }
[0286] El recuadro de información de formato de corriente de bytes se almacena (aloja) en una entrada de muestra de "avc3 ", avc4", "mvc3", "mvc4", o "hevcl" en un recuadro de entrada de muestra de una guia de medios. La entrada de muestra de "avc3", Mavc4"; "mvc3", "mvc4", o "hevcl" es una entrada de muestra en la cual puede insertarse un conjunto de parámetros o similares.
[0287] Este recuadro se almacena (aloja) cuando los datos de muestra se configuran en un formato de corriente de bytes definido en ISO/IEC 14496-10.
[0288] Un recuadro de información de sub-muestra puede utilizarse para almacenar un tamaño de unidad de NAL que incluye uno o más códigos de inicio continuos.
[0289] Una sub-muestra se define como una o más unidades de NAL de corriente de Bytes contigua definidas en ISO/IEC 14496-10.
[0290] Un tipo de recuadro (Tipo de Recuadro) es "bsfi", y una entrada (Contenedor) incluida en la presente es una entrada de muestra de "avc3", "avc4", "mvc3", "mvc4", o "hevcl". No existe ningún punto obligatorio (punto esencial), y la cantidad (volumen) es "0" o "1".
[0291] El recuadro de información de formato de corriente de bytes extiende el recuadro de "bsfi" en el cual la información de formato de corriente de bytes se describe.
[0292] En el recuadro de información de formato de corriente de bytes configurado como se describe en lo anterior, como se ilustra en la Figura 29, al insertar solamente una entrada de muestra de "avc5", "avc6", "mvc5", "mvc6" o "hevc2", las cuales son nuevos formatos, la entrada de muestra puede extenderse.
[0293] La Figura 29 es un diagrama que ilustra otro ejemplo del recuadro de información de formato de corriente de bytes.
[0294] El Recuadro de Información de Formato de Corriente de Byte DEBERÁ almacenarse en la Entrada de Muestra 'avc5', avc6', 'mvc5', 'mvc6' o 'hev2' (en el recuadro de entrada de Muestra de la guia de medios).
Este recuadro DEBERÁ almacenarse cuando los datos de muestra se estructuren por el Formato de Corriente de Bytes como se define en ISO/IEC 14496-10.
El Recuadro de Información de Sub-Muestra puede utilizarse para almacenar uno o más tamaños de unidad de NAL de corriente de Bytes contigua. una sub-muestra se define como una o más unidades de NAL de corriente de Bytes contigua como se define en ISO/IEC 14496-10.
Tipo de Recuadro: 'bsfi' Contenedor: Entrada de Muestra ('avc5', 'avc6', 'mvc5', 'mvc6' o 'hev2' ) Obligatorio: No Cantidad: Cero o uno Class ByteStreamFormatlnformationBox extiende Box('bsfi') { ByteStreamFormatlnformation() ByteStreamlnformation;
[0295] Aunque "avc3", "avc4"/ "mvc3", "mvc4", o "hevcl" es un tipo de códec en el cual un conjunto de parámetros puede insertarse, en el caso de "avc3", "avc4", "mvc3", "mvc4", o "hevcl", existe un tiempo cuando se inserta un código de inicio en el mismo y un tiempo cuando no se inserta un código de inicio.
[0296] En contraste a esto, como se ilustra en la Figura 29, al extender la entrada de muestra a "avc5", ”avc6", "mvc5", "mvc6", "hev2", o similares, por ejemplo, como tipo de códec en el cual el código de inicio se inserta y con referencia a esta entrada de muestra, puede identificarse si se presenta o no una corriente de bytes dentro de la muestra.
[0297] Además, en un caso en donde la entrada de muestra es "avc3", "avc4, "mvc3", "mvc4", o "hevcl", al configurar la información de formato de corriente de bytes como sigue, puede identificarse si la corriente de bytes se presenta o no dentro de la muestra) en otras palabras, si se inserta o no un código de inicio en la misma).
[0298] Además, la estructura de corriente de bytes de la sub-muestra puede representarse.
[0299] Además, en el caso de "avc5", "avc6", "mvc5", "mvc6", o "hev2", al configurar la información de formato de corriente de bytes como sigue, la estructura de la corriente de bytes de la sub-muestra puede representarse.
[0300] [Ejemplo de Estructura de Datos de la Información de Formato de Corriente de Byte] La Figura 30 es un diagrama que ilustra un ejemplo de la estructura de datos de la información de formato de corriente de byte almacenada en cada entrada de muestra.
[0301] aligned(8) class ByteStreamFormatlnformation { unsigned int(l) StartcodePresentFlag; unsigned int(l) ZeroBytePresentFlag; unsigned int(l) LeadingZeroBytesPresentFlag; unsigned int(l) TrailingZeroBytesPresentFlag unsigned int(4) reserved =0; unsigned int(24) reserved; Box[] any box; //Optional
[0302] StartcodePresentFlag es un indicador que representa la presencia/no presencia del código de inicio en una muestra. En un caso donde cada una de todas las submuestras, las cuales se incluyen en una muestra, incluye un Código de inicio de tres bytes antes de una unidad de NAL, el StartcodePresentFlag es "1". ZeroBytePresentFlag es un indicador que representa la presencia/no presencia de datos nulos de un byte antes del Código de inicio, y, en un caso donde este indicador es "1", representa que el Código de inicio tiene cuatro bytes.
[0303] Además, en lugar de StartcodePresentFlag y ZeroBytePresentFlag, el Código de inicio puede representarse para tener tres bytes o cuatro bytes al utilizar un indicador de dos bits.
[0304] LeadingZeroBytePresentFlag es un indicador que representa la presencia/no presencia de datos nulos en una muestra. Entre las submuestras incluidas en la muestra,en un caso donde una pluralidad de 0x00 de un byte se incluyen antes de tres bytes o cuatro bytes de al menos una submuestra, el LeadingZeroBytePresentFlag es "1". En un caso donde LeadingZeroBytePresentFlag es "0",puede deducirse que el inicio de la submuestra es un código de inicio de longitud fija.
[0305] TrailingZeroBytePresentFlag es un indicador que representa la presencia/no presencia de datos nulos en una muestra. Entre las submuestras incluidas en la muestra,en un caso donde una pluralidad de 0x00 de un byte se incluyen después de una unidad de NAL de tres bytes de al menos una submuestra, TrailingZeroBytePresentFlag es "1".
[0306] Además, entre tales indicadores, aunque todos los indicadores pueden disponerse, todos los indicadores no son esenciales, y cualquier otro indicador puede agregarse.
[0307] [Ejemplo de Almacenamiento de Unidad de NAL de Acuerdo con la Presente Teenología] A continuación, un ejemplo del almacenamiento de una unidad de NAL de un caso donde la información de formato de corriente de byte antes descrita se utiliza se describirá. La Figura 31 es un diagrama que ilustra un ejemplo de la estructura de muestra de video de MP4 en el caso del Patrón 1 en el cual 0x00 (datos nulos) se presenta antes y después de la unidad de NAL.
En otras palabras, el ejemplo ilustrado en la Figura 31 es un ejemplo de la estructura de muestra de video de MP4 de un caso donde todos los StartcodePresentFlag, ZeroBytePresentFlag, LeadingZeroBytePresentFlag, y TrailingZeroBytePresentFlag, los cuales son los indicadores de la información de formato de corriente de byte descrita en lo anterior, son "l's".
[0308] En el caso del ejemplo ilustrado en la Figura 31, un ejemplo se ilustra en el cual una muestra se configura por cinco submuestras, y el tamaño de las cinco submuestras se almacena en el recuadro de tamaño de muestra como tamaño de muestra.
[0309] Una submuestra se configura por datos nulos delanteros (LeadingZeroBytes), un Código de inicio (4 bytes), una unidad de NAL, y datos nulos traseros (TrailingZeroBytes), y un tamaño de los datos nulos delanteros a los datos nulos traseros se almacenan en el recuadro de información de submuestra como tamaño de la submuestra. En otras palabras, puesto que el tamaño de una submuestra se presenta en el recuadro de información de la submuestra, puede adquirirse un límite de la submuestra.
[0310] En lugar del recuadro de información de submuestra, la estructura como se ilustra en el ejemplo de G de la Figura 27 puede emplearse también. Como la función de información auxiliar de muestra, aux_info_type = "bsfi" y aux_info_type_parameter = 0 se proporcionan. La función de información auxiliar de muestra se menciona por "saiz" que es el recuadro de tamaño de función de información auxiliar de muestra utilizado (SampleAuxiliarylnformationSizesBox)y "saio" que es el recuadro de compensación de función de información auxiliar de muestra.
[0311] Además, existen casos donde tal operación se realiza en una CBR (constant bitrate: tasa de bit constante) para negocios. Por consiguiente, este Patrón 1, por ejemplo, es adecuado para un caso donde todas las muestras para negocios se utilizan para corrientes configuradas por intra-imágenes.
[0312] Además, un limite entre LeadingZeroBytes y TrailingZeroBytes, por ejemplo, puede establecerse por la operación de una aplicación.
[0313] La Figura 32 es un diagrama que ilustra un ejemplo de la estructura de muestra de video de MP4 en el caso del Patrón 2 en el cual una submuestra inicia desde un Código de inicio, y 0x00 (datos nulos) no se presentan.En otras palabras, el ejemplo ilustrado en la Figura 32 ilustra un ejemplo de la estructura de muestra de video de MP4 de un caso donde StartcodePresentFlag y ZeroBytePresentFlag son l's, y LeadingZeroBytePresentFlag y TrailingZeroBytePresentFlag son 0's.
[0314] En el caso del ejemplo ilustrado en la Figura 32, un ejemplo se ilustra en el cual una muestra se configura por cinco submuestras, y el tamaño de las cinco submuestras se almacena en el recuadro de tamaño de muestra como tamaño de muestra.
[0315] Una submuestra se configura por un Código de inicio (cuatro bytes) y una unidad de NAL, y un tamaño del Código de inicio en la unidad de NAL se almacena en el recuadro de información de submuestra como el tamaño de submuestra. En otras palabras, puesto que el tamaño de la submuestra se presenta en el recuadro de información de submuestra, puede adquirirse un limite de la submuestra.
[0316] Este Patrón 2 es el ejemplo más simple.
[0317] La Figura 33 es un diagrama que ilustra un ejemplo de la estructura de muestra de video de MP4 en el caso del Patrón 3 en el cual se inicia una submuestra desde un Código de inicio, y 0x00 (datos nulos) se presentan después de NAL. En otras palabras, el ejemplo ilustrado en la Figura 33 ilustra un ejemplo de la estructura de muestra de video de MP4 de un caso donde StartcodePresentFlag, ZeroBytePresentFlag y TrailingZeroBytePresentFlag son l's, y LeadingZeroBytePresentFlages es 0's.
[0318] En el caso del ejemplo ilustrado en la Figura 33, un ejemplo se ilustra en el cual una muestra se configura por cinco submuestras, y el tamaño de las cinco submuestras se almacena en el recuadro de tamaño de muestra como tamaño de muestra.
[0319] Una submuestra se configura por un Código de inicio (4 bytes), una unidad de NAL, y datos nulos traseros (TrailingZeroBytes), y un tamaño del código de inicio a los datos nulos traseros se almacena en el recuadro de información de submuestra como el tamaño de la submuestra. En otras palabras, puesto que el tamaño de la submuestra se presenta en el recuadro de información de submuestra, puede adquirirse un limite de la submuestra.
[0320] Además, en el caso de este Patrón 3, por ejemplo, en un editor de corrientes en el cual todas las muestras para negocios se configuran por intra-imágenes, puede saberse que una longitud fija se establece por el TrailingZero, y por consiguiente, existe una ventaja de que puede editarse fácilmente la corriente.Además, existen casos donde un código de inicio de tres bytes también se utiliza para un sistema de conferencia por televisión o similares.
[0321] De esta manera, la información de formato de corriente de bytes se define al formar la información de formato de corriente de bytes como recuadro. Por ejemplo, puesto que una submuestra se configura como uno de los Patrones 1 a 3 descritos en lo anterior con referencia a las Figuras 31 a 33, puede identificarse si se incluye o no una corriente de byte dentro de una muestra.
[0322] Los archivos de las muestras de video de MP4 ilustradas en las Figuras 31 a 33 se generan por la unidad 2 de generación de archivos que tiene la configuración ilustrada en la Figura 3 descrita en lo anterior a través del proceso de generación de archivos ilustrado en las Figuras 4 ó 5 descritas en lo anterior.
[0323] Además, los archivos de las muestras de video de MP4 ilustradas en las Figuras 31 a 33 se descodifican por la unidad 51 de lectura de archivo que tiene la configuración ilustrada en la Figura 9 descrita en lo anterior a través del proceso de descodificación de archivos ilustrado en las Figuras 11 ó 12 descritas en lo anterior.
[0324] [Otro Ejemplo de Estructura de Datos de Información de Formato de Corriente de Byte] La Figura 34 es un diagrama que ilustra un ejemplo de la estructura de datos de la información de formato de corriente de byte almacenada en cada entrada de muestra.En otras palabras, en el ejemplo ilustrado en la Figura 34, otro ejemplo de la estructura de datos descrita en lo anterior con referencia a la Figura 30 se ilustra.
[0325] aligned(8) class ByteStreamFormatlnformation { unsigned int(2) StartcodePresentFlag; unsigned int(l) LeadingZeroBytesPresentFlag; unsigned int(l) TrailingZeroBytesPresentFlag; unsigned int(4) reserved =0; unsigned int(24) reserved; Box[] any_box; //Optional }
[0326] StartcodePresentFlag es un indicador de dos bits que ilustra la estructura del Código de inicio de cada una de todas las submuestras.
"StartcodePresentFlag = 00b" representa "reservado". "StartcodePresentFlag = 01b" representa que un Código de inicio de tres bytes se incluye antes de una unidad de NAL en cada una de todas las submuestras incluidas en una muestra.
"StartcodePresentFlag = 10b" representa que un Código de inicio de tres bytes y datos de ZeroByte de un byte (en otras palabras, que configuran cuatro bytes) se incluyen antes de una unidad de NAL en cada una de todas las submuestras incluidas en una muestra.
"StartcodePresentFlag = 11b" representa que, antes de una unidad de NAL en cada una de todas las submuestras incluidas en una muestra, se incluye un Código de inicio de tres bytes, y pueden incluirse datos de ZeroByte de un byte.En otras palabras, en este caso, puesto que existe una posibilidad de que un Código de inicio de tres bytes y un Código de inicio de cuatro bytes se mezclen, no puede asegurarse si StartcodePresentFlag es 01b o 10b.
[0327] Este ejemplo es otro ejemplo de la estructura descrita con referencia a la Figura 30 y es un ejemplo en el cual puede adquirirse el tamaño del código de inicio. Además, debido a un indicador de dos bits, tres bytes, cuatro bytes, o una mezcla de los mismos aparece.
[0328] LeadingZeroBytePresentFlag representa que, entre las submuestras incluidas en unamuestra,antes de un Código de inicio de tres bytes o cuatro bytes de al menos una submuestra, una pluralidad de 0x00 cada una se configura por un byte, se incluyen.
[0329] TrailingZeroBytePresentFlag representa que, entre las submuestras incluidas en una muestra, una pluralidad de 0x00 de un byte puede incluirse después de una unidad de NAL de al menos una submuestra.
[0330] Además, también en el ejemplo ilustrado en la Figura 34, aunque todos los indicadores pueden presentarse, los indicadores no son esenciales, y puede agregarse otro indicador.
[0331] <5. Quinta Modalidad> [Ejemplo de Configuración del Aparato de Conversión de Archivo] La Figura 35 es un diagrama de bloque que ilustra un ejemplo de la configuración de un aparato de conversión de archivos como dispositivo de procesamiento de imágenes al cual se aplica la presente teenología. El aparato 300 de conversión de archivos ilustrado en la Figura 35,por ejemplo, convierte una TS de MPEG-2 en un archivo de MP4.
[0332] En el ejemplo ilustrado en la Figura 35, el aparato 300 de conversión de archivo se configura para incluir una unidad 311 de análisis de corriente de video y la unidad 2 de generación de archivos ilustrada en la Figura 1.
[0333] La unidad 311de análisisde corrientesde video analiza el formato de una corriente de video de entrada. En un caso en donde el formato se analiza para que sea una TS de MPEG-2, la unidad 311 de análisis de corriente de video suministra la corriente de video a la unidad 2 de generación de archivos.
[0334] La unidad 2 de generación de archivos realiza un proceso para convertir una TS de MPEG-2 en un archivo de MP4. En otras palabras, la unidad 2 de generación de archivos,de manera similar al ejemplo ilustrado en la Figura 1, genera un archivo de MP4 en el cual se almacena una TS de MPEG-2.
[0335] [Ejemplo de Proceso de Conversión de Archivos] A continuación, el proceso de conversión de archivos realizado por el aparato 300 de conversión de archivos ilustrado en la Figura 35 se describirá con referencia a un diagrama de flujo ilustrado en la Figura 36.
[0336] La unidad 311 de análisis de corriente de video, en la etapa S311, analiza el formato de una corriente de video de entrada y, en un caso en donde el formato se analiza para ser una TS de MPEG-2, suministra la corriente de video a la unidad 2 de generación de archivos.
[0337] En la etapa S312, la unidad 2 de generación de archivos genera un archivo de MP4 en el cual se almacena la TS de MPEG-2. Este proceso de generación de archivos es el mismo que el proceso de generación de archivos descrito en lo anterior con referencia a la Figura 5, y de esta manera no se presentará una descripción duplicada del mismo.
[0338] El aparato 300 de conversión de archivos puede configurarse como se describe en lo anterior.
[0339] Aunque el aparato de codificación y el aparato de descodificación que utilizan el sistema de HEVC se han descrito como en lo anterior, la presente teenología, como se describe a continuación, también puede aplicarse a un aparato de codificación y un aparato de descodificación que utilizan el sistema de AVC.
[0340] <6. Sexta Modalidad> [Ejemplo de Configuración del Aparato de Codificación] La Figura 37 es un diagrama de bloque que ilustra otro ejemplo de la configuración del aparato de codificación como dispositivo de procesamiento de imágenes al cual se aplica la presente tecnología.
[0341] En la configuración ilustrada en la Figura 37, el mismo número de referencia se asigna a la misma configuración que aquella ilustrada en la Figura 1. Además, no se presentará una descripción duplicada cuando sea adecuado.
[0342] La configuración del aparato de codificación ilustrado en la Figura 37 es diferente de la configuración ilustrada en la Figura 1 en que un codificador 401 se dispone en lugar del codificador 1. La configuración del aparato de codificación ilustrado en la Figura 37 es común para la configuración ilustrada en la Figura 1 en que la unidad 2 de generación de archivos se dispone.
[0343] En otras palabras, una imagen tal como la imagen capturada configurada en unidades de tramas se ingresa al codificador 401 como señal de entrada.Además, un conjunto de SPS en una fase previa del codificador 401 no ilustrado en la figura, VUI que representa una característica de una imagen que corresponde a datos codificados para cada secuencia, SEI, y similares se ingresan a la misma.
[0344] El codificador 401 codifica la señal de entrada utilizando parámetros incluidos en el SPS, el PPS, la VUI, y la SEI al utilizar el sistema de AVC. Después, el codificador 401 genera una corriente codificada tal como una TS de MPEG-2 basándose en el SPS, el PPS, la VUI, y la SEI y los datos codificados adquiridos como resultado del proceso de codificación y suministra la corriente codificada generada a la unidad 2 de generación de archivos. El codificador 401 se describirá posteriormente en detalle con referencia a la Figura 38.
[0345] La unidad 2 de generación de archivos genera un archivo que almacena la corriente codificada (una serie de datos de imágenes codificados) suministrada desde el codificador 401.
[0346] En otraspalabras,el aparato de codificación ilustrado en la Figura 36es diferente del aparato de codificación ilustrado en la Figura 1 solamente en que se realiza el proceso de codificación utilizando el sistema de AVC.
[0347] [Ejemplo de Configuración de Unidad de Descodificación] La Figura 38 es un diagrama de bloque que ilustra un ejemplo de la configuración del codificador 401 ilustrado en la Figura 37.
[0348] En la configuración ilustrada en la Figura 38, el mismo número de referencia se asigna a la misma configuración que aquella ilustrada en la Figura 2. Además, no se presentará una descripción duplicada cuando sea adecuado.
[0349] El codificador 401 ilustrado en la Figura 38 se configura para incluir: un convertidor 11 de A/D; una memoria intermedia 12 de reorganización de pantalla; una unidad 13 de cálculo; una unidad 14 de transformada ortogonal; una unidad 15 de cuantificación; una unidad 16 de codificación sin pérdidas; una memoria intermedia 17 de acumulación; una unidad 18 de cuantificación inversa; una unidad 19 de transformada ortogonal inversa; una unidad 20 de adición; un filtro 21 de desbloqueo; una memoria 22 de tramas; un conmutador 23; una unidad 24 de intra-predicción; una unidad 25 de predicción/compensación de movimiento; una unidad 26 de selección de imagen prevista; y una unidad 27 de control de tasa.
[0350] En otraspalabras,la configuración del codificador 401 ilustrado en la Figura 38 es diferente de la configuración ilustrada en la Figura 2 solamente en que el filtro 141 de compensación adaptable y el filtro 142 de bucle adaptable se excluyen, y la unidad 16 de codificación sin pérdidas realiza la codificación utilizando no el sistema de HEVC sino el sistema de AVC. Por consiguiente, el codificador 401 realiza un proceso de codificación no en unidades de CU sino en unidades de bloques.
[0351] Un objetivo para el proceso de codificación realizado por la unidad 16 de codificación sin pérdidas básicamente es el mismo que aquel de la unidad 16 de codificación sin pérdidas ilustrado en la Figura 2 excepto por los parámetros del filtro de compensación adaptable y el filtro de bucle adaptable.En otras palabras, la unidad 16 de codificación sin pérdidas de manera similar a la unidad 16 de codificación sin pérdidas ilustrada en la Figura 2, adquiere la información de modo de intra-predicción de la unidad 24 de intra-predicción. Además, la unidad 16 de codificación sin pérdidas adquiere la información de modo de ínter-predicción, un vector de movimiento, información utilizada para especificar una imagen de referencia, y similares de la unidad 25 de predicción/compensación de movimiento.
[0352] La unidad 16 de codificación sin pérdidas, de manera similar a la unidad 16 de codificación sin pérdidas ilustrada en la Figura 2, realiza codificación sin pérdidas tal como una codificación de longitud variable (por ejemplo, CAVLC o similares), codificación aritmética (por ejemplo, CABAC o similares) para los coeficientes cuantificados suministrados desde la unidad 15 de cuantificación.
[0353] Además, la unidad 16 de codificación sin pérdidas de manera similar a la unidad 16 de codificación sin pérdidas ilustrada en la Figura 2, realiza codificación sin pérdidas de la información de modo de intra-predicción o la información de modo de inter-predicción,el vector de movimiento, la información que especifica una imagen de referencia, la información de filtro de compensación, los coeficientes de filtro, y similares como información de codificación con relación a la codificación. La unidad 16 de codificación sin pérdidas suministra la información de codificación y los coeficientes que se han codificado en una forma sin pérdidas a la memoria intermedia 17 de acumulación como datos codificados para que se acumulen en la misma. Aquí, la información de codificación que se codifica en una forma sin pérdidas puede considerarse como información de encabezado de los coeficientes que se codifican en una forma sin pérdidas.
[0354] El filtro 21 de desbloqueo filtra la imagen, la cual se descodifica localmente, suministrada desde la unidad 20 de adición, por lo que elimina una distorsión de bloque. El filtro 21 de desbloqueo suministra una imagen adquirida como resultado delmismo a la memoria 22 de tramaspara que se acumule en la misma.
[0355] La imagen acumulada en la memoria 22 de trama se produce en la unidad 24 de intra-predicción o la unidad 25 de predicción/compensación de movimiento a través del conmutador 23 como imagen de referencia.
[0356] La presente teenología puede aplicarse al aparato de codificación del sistema de AVC.
[0357] [Ejemplo de Configuración del Aparato de Descodificación] La Figura 39 es un diagrama de bloque que ilustra otro ejemplo de la configuración del aparato de descodificación, al cual se aplica la presente tecnología, que lee y descodifica un archivo generado por el aparato de codificación ilustrado en la Figura 37.
[0358] En la configuración ilustrada en la Figura 39, el mismo número de referencia se asigna a la misma configuración que aquella ilustrada en la Figura 8. Además, no se presentará una descripción duplicada cuando sea adecuado.
[0359] La configuración del aparato 251 de descodificación de imágenes ilustrado en la Figura 39 es diferente de la configuración ilustrada en la Figura 8 en que un descodificador 451 se dispone en lugar del codificador 52.La configuración del aparato 251 de descodificación de imágenes es común para la configuración ilustrada en la Figura 8 en que la unidad 51 de lectura de archivo se dispone.
[0360] La unidad 51 de lectura de archivo del aparato de descodificación recibe un archivo de MP4 generado por el aparato de codificación ilustrado en la Figura 37 y lee un SPS, un PPS, VUI, SEI, datos codificados, y similares que configuran una corriente codificada que se codifica por el codificador 401 ilustrado en la Figura 37 del archivo recibido. La unidad 51 de lectura de archivo suministra el SPS, el PPS, la VUI, la SEI, y los datos codificados en el descodificador 451.
[0361] El descodificador 451, bajo el control de la unidad 51 de lectura de archivos, se refiere al SPS, el PPS, la VUI, la SEI, y similares, suministrados desde la unidad 51 de lectura de archivo y descodifica los datos codificados suministrados desde la unidad 51 de lectura de archivo al utilizar el sistema de AVC. El descodificador 451 suministra una imagen adquirida como resultado del proceso de descodificación a una fase posterior como una señal de salida.
[0362] En otras palabras, el aparato de descodificación ilustrado en la Figura 39 es diferente del aparato de descodificación ilustrado en la Figura 8 solamente en que el proceso de descodificación que utiliza el sistema de AVC se realiza.
[0363] Ejemplo de Configuración de la Unidad de Descodificación La Figura 40 es un diagrama de bloque que ilustra un ejemplo de la configuración del descodificador 451 ilustrado en la Figura 39.
[0364] En la configuración ilustrada en la Figura 40, el mismo número de referencia se asigna a la misma configuración que aquella ilustrada en la Figura 10. Además, no se presentará una descripción duplicada cuando sea adecuado.
[0365] El descodificador 451 ilustrado en la Figura 40 se configura por: una memoria intermedia 101 de acumulación; una unidad 102 de descodificación sin pérdidas; una unidad 103 de cuantificación inversa; una unidad 104 de transformada ortogonal inversa; una unidad 105 de adición; un filtro 106 de desbloqueo; una memoria intermedia 107 de reorganización de pantalla; un convertidor 108 de D/A; una memoria 109 de tramas; un conmutador 110; una unidad 111 de intra-predicción; una unidad 112 de compensación de movimiento; y un conmutador 113.
[0366] La configuración del descodificador 451 ilustrado en la Figura 40 es diferente de la configuración ilustrada en la Figura 10 solamente en que el filtro 141 de compensación adaptable y el filtro 142 de bucle adaptable se excluyen, y la unidad 102 de descodificación sin pérdidas realiza la descodificación al utilizar no el sistema de HEVC sino el sistema de AVC. Por consiguiente, el descodificador 451 realiza el proceso de descodificación no en unidades de CU sino en unidades de bloques.
[0367] Un objetivo para el proceso de descodificación realizado por la unidad 102 de descodificación sin pérdidas básicamente es el mismo que aquel en el caso de la unidad 102 de descodificación sin pérdidas ilustrada en la Figura 10 excepto por los parámetros del filtro de compensación adaptable y el filtro de bucle adaptable. En otras palabras, la unidad 102 de descodificación sin pérdidas, de manera similar a la unidad 102 de descodificación sin pérdidas ilustrada en la Figura 10, realiza descodificación sin pérdidas tal como descodificación de longitud variable o descodificación aritmética para los datos codificados suministrados desde la memoria intermedia 101 de acumulación, por lo que adquiere coeficientes cuantificados y la información de codificación.La unidad 102 de descodificación sin pérdidas suministra los coeficientes cuantificados a la unidad 103 de cuantificación inversa.
[0368] Además, la unidad 102 de descodificación sin pérdidas, de manera similar a la unidad 102 de descodificación sin pérdidas ilustrada en la Figura 10, suministra la información de modo de intra-predicción y similares como información de codificación a la unidad 111 de intra-predicción y suministra el vector de movimiento, la información utilizada para especificar una imagen de referencia, la información de modo de inter-predicción, y similares a la unidad 112 de compensación de movimiento.Además, la unidad 102 de descodificación sin pérdidas suministra la información de modo de intra-predicción o la información de modo de inter-predicción como información de codificación al conmutador 113.
[0369] El filtro 106 de desbloqueo filtra una imagen suministrada desde la unidad 105 de adición, por lo que elimina una distorsión de bloque.El filtro 106 de desbloqueo suministra una imagen adquirida como resultado del mismo a la memoria 109 de tramas y la memoria intermedia 107 de reorganización de pantalla.
[0370] La presente teenología puede aplicarse también al aparato de descodificación del sistema de AVC.
[0371] En la descripción presentada en lo anterior, aungue el ejemplo del formato de archivo de MP4 se ha descrito, el formato de archivo no se limita al formato de archivo de MP4 o el formato de archivo de AVC. En un caso donde un objeto y una ventaja de acuerdo con la presente tecnología son los mismos, la presente tecnología puede aplicarse de manera similar a otro formato de archivo, una corriente utilizada al momento de la transmisión, o una corriente utilizada al momento de gue se almacene en un archivo.
[0372] Además, la presente descripción, por ejemplo, puede aplicarse a un aparato de codificación de imágenes y un aparato de descodificación de imágenes que se utilizan cuando la información de imagen (corrientes de bits) comprendidos utilizando una transformada ortogonal tal como una transformada de coseno discreto y compensación de movimiento, similar al sistema de HEVC o similares, se recibe a través de un medio de red tal como difusión satelital, televisión por cable, la Internet, o un teléfono móvil. Además, la presente descripción puede aplicarse a un aparato de codificación de imágenes y a un aparato de descodificación de imágenes que se utilizan cuando la información se procesa en un medio de almacenamiento tal como un disco óptico, un disco magnético, o una memoria flash.
[0373] Una serie de procesos descritos en lo anterior puede realizarse ya sea por hardware o software. En un caso donde la serie de procesos se realiza por software, se instala un programa que configura el software en una computadora. Aquí, la computadora incluye una computadora que se construye en el hardware dedicado, una computadora tal como una computadora personal de propósito general que puede ejecutar varias funciones al instalar varios programas en la misma, y similares.
[0374] La Figura 41 es un diagrama de bloque que ilustra un ejemplo de la configuración de hardware de una computadora que ejecuta la serie de procesos descrita en lo anterior al utilizar un programa.
[0375] En la computadora 800, una CPU 801 (Unidad de Procesamiento Central) una ROM 802 (Memoria de Solo Lectura) y una RAM 803 (Memoria de Acceso Aleatorio) se interconectan por un bus 804.
[0376] Además, una interfaz 805 de entrada/salida se conecta al bus 804. Una unidad 806 de entrada, una unidad 807 de salida, una unidad 808 de almacenamiento,una unidad 809 de comunicación, y una unidad 810 se conectan a la interfaz 805 de entrada/salida.
[0377] La unidad 806 de entrada se configura por un teclado, un ratón, un micrófono, y similares. La unidad 807 de salida se configura por una pantalla, un altavoz, y similares. La unidad 808 de almacenamiento se configura por un disco duro, una memoria no volátil y similares.La unidad 809de comunicación se configura por una interfaz de red y similares.La unidad 810 impulsa un disco magnético, un disco óptico, un disco magneto-óptico, o un medio 811 removible tal como una memoria de semiconductor.
[0378] En la computadora configurada como la anterior, la CPU 801, por ejemplo, carga un programa almacenado en la unidad 808 de almacenamiento en la RAM 803 a través de la interfaz 805 de entrada/salida y el bus 804 y ejecuta el programa cargado, por lo cual ejecuta la serie de procesos descrita en lo anterior.
[0379] El programa ejecutado por la computadora 800 (la CPU 801) por ejemplo,puede proporcionarse con un medio 811 removible grabado comomedio de paquete o similar.Además,el programa puede proporcionarse a través de un medio de transmisión alámbrica o inalámbrica tal como una red de área local, la Internet, o una difusión por satélite digital.
[0380] Al cargar el medio 811 removible en la unidad 810, el programa puede instalarse en la unidad 808 de almacenamiento a través de la interfaz 805 de entrada/salida.Además, el programa puede recibirse por la unidad 809 de comunicación a través de un medio de transmisión alámbrica o inalámbrica e instalarse en la unidad 808 de almacenamiento. Además, el programa pueden instalarse en la ROM 802 o la unidad 808 de almacenamiento con anticipación.
[0381] Además, el programa ejecutado por la computadora puede ser un programa que ejecute los procesos en una serie de tiempos a lo largo de la secuencia descrita en esta especificación o un programa que ejecuta los procesos en una forma paralela o en un tiempo necesario tal como el tiempo que se solicita.
[0382] Además, en esta especificación, una etapa que describe el programa grabado en un medio de grabación incluye no sólo un proceso realizado en una serie de tiempos a lo largo de la secuencia descrita sino también un proceso que se realiza en una forma paralela o en una forma individual sin que se procese necesariamente en una serie de tiempos.
[0383] Además, en esta especificación, un sistema representa todo un aparato que se configura por una pluralidad de dispositivos (aparatos).
[0384] Además, una configuración descrita en lo anterior como un dispositivo (o unidad de procesamiento) puede dividirse para configurarse como pluralidad de dispositivos (o unidades de procesamiento). Por el contrario, una configuración descrita en lo anterior como pluralidad de dispositivos (o unidades de procesamiento) puede organizarse para configurarse como dispositivo (o unidad de procesamiento). Además, una configuración que no se ha descrito en lo anterior puede agregarse a la configuración de cada dispositivo (o cada unidad de procesamiento). Siempre y cuando la configuración general y la operación general del sistema sean sustancialmente las mismas, una parte de la configuración de un dispositivo especifico (o una unidad de procesamiento especifica) puede configurarse para incluirse en una configuración de otro dispositivo (u otra unidad de procesamiento). En otras palabras, la presente teenología no se limita a las modalidades descritas en lo anterior, y varios cambios pueden hacerse en la misma en un margen sin apartarse del concepto de la presente tecnología.
[0385] En otras palabras, la presente tecnología no se limita a las modalidades descritas en lo anterior, y varios cambios pueden hacerse en la misma en un margen sin apartarse del concepto de la presente tecnología.
L0386] Por ejemplo, la presente teenología puede adoptar una configuración de informática en la nube en la cual una función se divide y procesa de forma comparativa por una pluralidad de aparatos a través de una red.
Además, cada etapa descrita en cada diagrama de flujo descrito en lo anterior puede ejecutarse por un aparato o ejecutarse por una pluralidad de aparatos en una forma compartida.
[0387] Además, en un caso donde una pluralidad de procesos se incluyen en una etapa, la pluralidad de procesos incluidos en una etapa pueden ejecutarse por un aparato o ejecutarse por una pluralidad de aparatos en forma compartida.
[0388] El aparato de codificación de imágenes y el aparato de descodificación de imágenes de acuerdo con las modalidades descritas en lo anterior pueden aplicarse a varios aparatos electrónicos tales como un transmisor o un receptor para difusión alámbrica tal como difusión satelital o TV por cable, distribución por Internet, distribución a una terminal k través de comunicación celular, o similares, o un aparato de grabación que graba una imagen en un medio tal como un disco óptico,un disco magnético o una memoria flash, o un aparato de reproducción que reproduce una imagen del medio de almacenamiento.En lo sucesivo, se describirán cuatro aplicaciones ejemplares
[0389] <7. Ejemplo de Aplicación> [Primer ejemplo de aplicación:Receptor de televisión] La Figura 42 ilustra un ejemplo de la configuración esquemática de un aparato de televisión al cual se aplica la modalidad antes descrita. El aparato 900 de televisión incluye una antena 901, un sintonizador 902, un desmultiplexor 903, un descodificador 904, una unidad 905 de procesamiento de señales de video, una unidad 906 de pantalla, una unidad 907 de procesamiento de señales de audio, un altavoz 908, una interfaz 909 externa, una unidad 910 de control, una interfaz 911 de usuario, y un bus 912.
[0390] El sintonizador 902 extrae una señal de un canal deseado de una señal de difusión recibida a través de la antena 901, y desmodula la señal extraída.Después, el sintonizador 902 produce una corriente de bits codificada adquirida a través de la desmodulación al desmultiplexor 903. En otras palabras, el sintonizador 902 sirve como medio de transmisión del aparato 900 de televisión que recibe una corriente codificada en la cual se codifica una imagen.
[0391] El desmultiplexor 903 separa una corriente de video y una corriente de audio de un programa que se ve a partir de la corriente de bits codificada, y se produce cada corriente separada en el descodificador 904.Además, el desmultiplexor 903 extrae datos auxiliares tales como EPG (Guia de Programación Electrónica) de la corriente de bits codificada, y suministra los datos extraídos a la unidad 910 de control. Además, el desmultiplexor 903 puede realizar desaleatorización en un caso donde la corriente de bits codificada se aleatoriza.
[0392] El descodificador 904 descodifica la corriente de video y la corriente de audio ingresada desde el desmultiplexor 903. Después, el descodificador 904 produce los datos de video generados por un proceso de descodificación en la unidad 905 de procesamiento de señales de video.Además, el descodificador 904 produce los datos de video generados por un proceso de descodificación en la unidad 907 de procesamiento de señales de audio.
[0393] La unidad 905 de procesamiento de señales de video reproduce la entrada de datos de video desde el descodificador 904 y provoca que la unidad 906 de visualización despliegue el video. La unidad 905 de procesamiento de señales de video también puede provocar que la unidad 906 de visualización despliegue una pantalla de aplicación suministrada a través de la red. Además, la unidad 905 de procesamiento de señales de video puede realizar un proceso adicional tal como eliminación de ruido para los datos de video de acuerdo con un ajuste. Además, la unidad 905 de procesamiento de señales de video puede generar una imagen de GUI (Interfaz de Usuario Gráfica) tal como un menú, un botón, y un cursor y superponer la imagen generada en una imagen producida.
[0394] La unidad 906 de visualización se excita a través de una señal de excitación suministrada desde la unidad 905 de procesamiento de señales de video para desplegar un video o imagen en una corriente de video de un dispositivo de visualización (una pantalla de cristal líquido, una pantalla de plasma una OELD (Pantalla de Electroluminiscencia Orgánica) (pantalla EL orgánica) o similares).
[0395] La unidad 907 de procesamiento de señales de audio realiza un proceso de reproducción tal como una conversión de D/A y amplificación para los datos de audio ingresados desde el descodificador 904 y provoca que el altavoz 908produzca el audio. Además, la unidad 907 de procesamiento de señales de audio puede realizar un proceso adicional tal como eliminación de ruido para los datos de audio.
[0396] La interfaz 909 externa es una interfaz para conectar el aparato 900 de televisión a un dispositivo externo o la red. Por ejemplo, una corriente de video o una corriente de audio recibidas a través de la interfaz 909 externa pueden descodificarse por el descodificador 904. En otras palabras, la interfaz 909 externa también sirve como medio de transmisión del aparato 900 de televisión que recibe una corriente codificada en la cual se codifica una imagen.
[0397] La unidad 910 de control incluye un procesador tal como una CPU, y una memoria tal como una RAM o ROM.La memoria almacena un programa ejecutado por la CPU, datos de programación, datos EPG, datos adquiridos a través de la red,y similares.El programa almacenado en la memoria, por ejemplo, se lee por la CPU o con la activación del aparato 900 de televisión y se ejecuta. La CPU controla la operación del aparato 900 de televisión,por ejemplo, de acuerdo con una señal de operación ingresada desde la interfaz 911 de usuario al ejecutar el programa.
[0398] La interfaz 911 de usuario se conecta a la unidad 910 de control. La interfaz 911 de usuario, por ejemplo, incluye un botón y un conmutador para un usuario para operar el aparato 900 de televisión, una unidad de recepción para una señal de control remoto, y similares. La interfaz 911 de usuario detecta la operación de un usuario a través de tales componentes, genera una señal de operación, y produce la señal de operación generada en la unidad 910 de control.
[0399] El bus 912 conecta el sintonizador 902, el desmultiplexor 903, el descodificador 904, la unidad 905 de procesamiento de señal de video, la unidad 907 de procesamiento de señal de audio, la interfaz 909 externa, y la unidad 910 de control entre si.
[0400] En el aparato 900 de televisión configurado de esta manera, el descodificador 904 tiene la función del aparato de descodificación de imágenes (por ejemplo, el aparato de descodificación configurado por la unidad 51 de lectura de archivo y el descodificador 52 ilustrado en la Figura 8) de acuerdo con la modalidad antes descrita. Por consiguiente, para descodificar una imagen que se realiza por el aparato 900 de televisión, una carga de procesamiento requerida cuando una corriente utilizada al momento de la transmisión o una corriente utilizada almomento que se almacena en un archivo se descodifica, puede reducirse.
[0401] [Segundo Ejemplo de Aplicación: Teléfono móvil] La Figura 43 ilustra un ejemplo de la configuración esquemática de un teléfono móvil al cual se aplica la modalidad antes descrita.El teléfono 920 móvil incluye una antena 921, una unidad 922 de comunicación, un códec 923 de audio, un altavoz 924, un micrófono 925, una unidad 926 de cámara, una unidad 927 de procesamiento de imágenes, una unidad 928 de muítiplexión/separación, una unidad 929 de grabación/reproducción, una unidad 930 de visualización, una unidad 931 de control, una unidad 932 de operación, y un bus 933.
[0402] La antena 921 se conecta a la unidad 922 de comunicación. El altavoz 924 y el micrófono 925 se conectan al códec 923 de audio. La unidad 932 de operación se conecta a la unidad 931 de control. El bus 933 conecta la unidad 922 de comunicación, el códec 923 de audio, la unidad 926 de cámara, la unidad 927 de procesamiento de imágenes, la unidad 928 de multiplexión/separación, la unidad 929 de grabación/reproducción, la unidad 930 de visualización, y la unidad 931 de control entre sí.
[0403] El teléfono 920 móvil realiza operación tal como transmisión/recepción de una señal de audio, transmisión/recepción de un correo electrónico o datos de imagen, captura de imágenes, y grabación de datos en varios modos de operación que incluyen un modo de llamada de voz, un modo de comunicación de datos,un modo de formación de imágenes, y un modo de televisión-teléfono.
[0404] En el modo de llamada de voz, una señal de audio análoga generada por elmicrófono 925 se suministra al códec 923 de audio. El códec 923 de audio convierte la señal de audio análoga en datos de audio, realiza la conversión de A/D de los datos de audio convertidos, y comprime los datos de audio.Después, el códec 923 de audio produce los datos de audio comprimidos de la unidad 922 de comunicación. La unidad 922 de comunicación codifica y modula los datos de audio para generar una señal de trasmisión. Después, la unidad 922 de comunicación transmite la señal de transmisión generada a una estación base (no ilustrada e la Figura) a través de la antena 921.Además, la unidad 922 de comunicación amplifica una señal inalámbrica recibida a través de la antena 921 y realiza conversión de frecuencia de la señal inalámbrica, por lo que adquiere una señal de recepción. Después, la unidad 922 de comunicación genera los datos de audio al desmodular y descodificar la señal de recepción, y produce los datos de audio generados en el códec 923 de audio.El códec 923 de audio realiza la descompresión y conversión de D/A de los datos de audio, por lo que genera una señal de audio análoga. Después, el códec 923 de audio suministra la señal de audio generada al altavoz 924 para provocar que se reproduzca el audio. (0405] En el modo de comunicación de datos, por ejemplo, la unidad 931 de control genera datos de caracteres que configuran un correo electrónico de acuerdo con la operación de un usuario realizada a través de la unidad 932 de operación. Además, la unidad 931 de control provoca que la unidad 930 de visualización despliegue caracteres. La unidad 931 de control genera datos de correo electrónico de acuerdo con una instrucción de transmisión del usuario a través de la unidad 932 de operación y produce los datos de correo electrónico generados en la unidad 922 de comunicación. La unidad 922 de comunicación codifica y modula los datos de correo electrónico, por lo que genera una señal de trasmisión. Después, la unidad 922 de comunicación transmite la señal de transmisión generada a una estación base (no ilustrada e la Figura) a través de la antena 921. Además, la unidad 922 de comunicación realiza amplificación y conversión de frecuencia de la señal inalámbrica recibida a través de la antena 921, por lo que adquiere una señal de recepción. Después, la unidad 922 de comunicación desmodula y descodifica la señal de recepción para reestablecer los datos de correo electrónico, y produce los datos de correo electrónico reestablecidos en la unidad 931 de control. La unidad 931 de control provoca que la unidad 930 de visualización despliegue contenido del correo electrónico y almacene los datos de correo electrónico en un medio de almacenamiento de la unidad 929 de grabación/reproducción.
[0406] La unidad 929 de grabación/reproducción incluye un medio de almacenamiento legible y regrabable arbitrario. Por ejemplo, el medio de almacenamiento puede ser un medio de almacenamiento integrado tal como una RAM y una memoria flash o puede ser un medio de almacenamiento tipo montaje externo tal como un disco duro, un disco magnético, un disco magneto-óptico, un disco óptico, una memoria USB (Bus de Serie Universal), o una tarjeta de memoria.
[0407] En el modo de formación de imágenes, por ejemplo, la unidad 926 de cámara forma la imagen de un objeto para generar datos de imagen y produce los datos de imagen generados en la unidad 927 de procesamiento de imágenes. La unidad 927 de procesamiento de imágenes codifica los datos de imagen ingresados desde la unidad 926 de cámara y almacenan la corriente codificada en un medio de almacenamiento de la unidad 929 de grabación/reproducción.
[0408] Además,en elmodo de televisión-teléfono,por ejemplo, la unidad 928 de multiplexión/separación multiplexa la corriente de video codificada por la unidad 927 de procesamiento de imágenes y la corriente de audio ingresada desde el códec 923 de audio y produce una corriente multiplexada resultante en la unidad 922 de comunicación. La unidad 922 de comunicación codifica y modula la corriente,por lo que genera una señal de transmisión.Después, la unidad 922 de comunicación transmite la señal de transmisión generada a una estación base (no ilustrada e la Figura) a través de la antena 921. Además, la unidad 922 de comunicación realiza la amplificación y conversión de frecuencia de una señal inalámbrica recibida a través de la antena 921, por lo que adquiere una señal de recepción. La señal de transmisión y la señal de recepción se adquieren con la corriente de bits codificada que se incluye en las mismas. Después, la unidad 922 de comunicación reestablece la corriente al desmodular y descodificar la señal de recepción y produce la corriente restaurada en la unidad 928 de multiplexión/separación.La unidad 928 de multiplexión/separación separa una corriente de audio y una corriente de video de la corriente de entrada y produce la corriente de video y la corriente de audio respectivamente en la unidad 927 de procesamiento de imágenes y el códec 923 de audio. La unidad 927 de procesamiento de imágenes descodifica la corriente de video para generar datos de video.Los datos de video se suministran a la unidad 930 de visualización, y una serie de imágenes se despliegan por la unidad 930 de visualización. El códec 923 de audio realiza descompresión y conversión de D/A de la corriente de audio, por lo que genera una señal de audio análoga. Después, el códec 923 de audio suministra la señal de audio generada al altavoz 924 para provocar que se reproduzca un audio.
[0409] En el teléfono 920 móvil configurado de esta manera, la unidad 927 de procesamiento de imágenes tiene las funciones del aparato de codificación de imágenes (por ejemplo, el aparato de codificación configurado por el codificador 1 y la unidad 2 de generación de archivos ilustrada en la Figura 1) y el aparato de descodificación de imágenes (por ejemplo, el aparato de descodificación configurado por la unidad 51 de lectura de archivo y el descodificador 52 ilustrado en la Figura 8) de acuerdo con las modalidades antes descritas. Por consiguiente, la codificación/descodificación de una imagen que se realiza por el teléfono 920 móvil, una carga de procesamiento requerida cuando una corriente utilizada al momento de la transmisión o una corriente utilizada al momento de que se almacena en un archivo se descodifica, puede reducirse.
[0410] [Tercer Ejemplo de Aplicación: Aparato de Grabación/Reproducción] La Figura 44 es un diagrama de bloque que ilustra un ejemplo de la configuración esquemática de un aparato de grabación/reproducción al cual se aplica la modalidad antes descrita. El aparato 940 de grabación/reproducción, por ejemplo, codifica los datos de audio y los datos de video de un programa de difusión recibido y graba los datos codificados en un medio de grabación.Además, el aparato 940 de grabación/reproducción, por ejemplo, puede codificar datos de audio y datos de video adquiridos de otro aparato y grabar los datos codificados en un medio de grabación. Además, el aparato 940 de grabación/reproducción, por ejemplo, reproduce los datos grabados en el medio de grabación utilizando el monitor y el altavoz de acuerdo con la instrucción de un usuario. En este momento, el aparato 940 de grabación/reproducción descodifica los datos de audio y los datos de video.
[0411] El aparato 940 de grabación/reproducción incluye un sintonizador 941, una interfaz 942 externa, un codificador 943, una HDD 944 (Unidad de Disco Duro), una unidad 945 de disco, un selector 946, un descodificador 947, una OSD 948 (Pantalla en Pantalla), una unidad 949 de control, y una interfaz 950 de usuario.
[0412] El sintonizador 941 extrae una señal de un canal deseado de una señal de difusión recibida a través de una antena (no ilustrada en la Figura), y desmodula la señal extraída. Después, el sintonizador 941 produce una corriente de bits codificada adquirida por el proceso de desmodulación en el selector 946. En otras palabras, el sintonizador 941 sirve como medio de transmisión del aparato 940 de grabación/reproducción.
[0413] La interfaz 942 externa es una interfaz utilizada para conectar el aparato 940 de grabación/reproducción y un dispositivo externo o la red. La interfaz 942 externa, por ejemplo, puede ser,una interfaz de IEEE1394, una interfaz de red, una interfaz de USB, una interfaz de memoria flash; o similares. Por ejemplo, los datos de video y los datos de audio recibidos a través de la interfaz 942 externa se ingresan al codificador 943. En otras palabras, la interfaz 942 externa sirve como el medio de transmisión del aparato 940 de grabación/reproducción.
[0414] En un caso donde los datos de video y los datos de audio ingresados desde la interfaz 942 externa no se codifican, el codificador 943 codifica los datos de video y los datos de audio. Después, el codificador 943 produce una corriente de bits codificada en el selector 946.
[0415] La HDD 944 graba la corriente de bits codificada en la cual se comprimen los datos de contenido tales como video o audio, varios programas, y otros datos en un disco duro interno. Cuando se reproducen video y audio. la HDD 944 lee los datos de la misma desde el disco duro.
[0416] La unidad 945 de disco graba y lee los datos en/desde un medio de grabación cargado. El medio de grabación cargado en la unidad 945 de disco, por ejemplo, puede ser un disco DVD (un DVD-Video, un DVD-RAM, un DVD-R, un DVD-RW, un DVD+R, DVD+RW, o similares) un disco Blu-ray (marca comercial registrada) o similares.
[0417] Cuando se graban un video y audio, el selector 946 selecciona una corriente de bits codificada ingresada desde el sintonizador 941 o el codificador 943 y produce la corriente de bits codificada seleccionada a la HDD 944 o la unidad 945 de disco. Además, cuando el video y el audio se reproducen, el selector 946 produce la corriente de bits codificada ingresada desde la HDD 944 o la unidad 945 de disco al descodificador 947.
[0418] El descodificador 947 descodifica la corriente de bits codificada para generar datos de video y datos de audio.Después, el descodificador 947 produce los datos de video generados en la OSD 948.Además, el descodificador 947 produce los datos de audio generados en un altavoz externo.
[0419] La OSD 948 reproduce los datos de video ingresadosdesde el descodificador 947, por lo que despliega el video. La OSD 948 puede superponer una imagen de una GUI tal como un menú, un botón, un cursor, o similares en el video desplegado.
[0420] La unidad 949 de control incluye un procesador tal como una CPU, y una memoria tal como una RAM o ROM.La memoria almacena un programa ejecutado por la CPU, datos de programación, y similares. El programa almacenado en la memoria, por ejemplo, se lee y se ejecuta por la CPU con la activación del aparato 940 de grabación/reproducción. La CPU controla la operación del aparato 940 de grabación/reproducción, por ejemplo, de acuerdo con una señal de operación ingresada desde la interfaz 950 de usuario al ejecutar el programa.
[0421] La interfaz 950 de usuario se conecta a la unidad 949 de control. La interfaz 950 de usuario, por ejemplo, incluye un botón y un conmutador para que el usuario opere el aparato 940 de grabación/reproducción y una unidad de recepción para una señal de control remoto. La interfaz 950 de usuario detecta la operación de un usuario a través de los elementos constituyentes para generar una señal de operación y produce la señal de operación generada en la unidad 949 de control.
[0422] En el aparato 940 de grabación/reproducción configurado de esta manera, el codificador 943 tiene la función del aparato de codificación de imágenes (por ejemplo, el aparato de codificación configurado por el codificador 1 y la unidad 2 de generación de archivos ilustrado en la Figura 1) de acuerdo con la modalidad antes descrita. Además, el descodificador 947 tiene la función del aparato de descodificación de imágenes (por ejemplo, el aparato de descodificación configurado por la unidad 51 de lectura de archivo y el descodificador 52 ilustrado en la Figura 8) de acuerdo con la modalidad antes descrita. Por consiguiente, la codificación/descodificación de una imagen que se realiza por el aparato 940 de grabación/reproducción, una carga de procesamiento requerida cuando una corriente utilizada al momento de la transmisión o una corriente utilizada al momento de que se almacena en un archivo se descodifica, puede reducirse.
[0423] [Cuarto Ejemplo de Aplicación:Aparato de Formación de Imágenes] La Figura 45 ilustra un ejemplo de la configuración esquemática de un aparato de formación de imágenes al cual se aplica la modalidad antes descrita. El aparato 960 de formación de imágenes forma la imagen de un objeto para generar una imagen, codifica los datos de imagen y graba los datos de imagen codificados en un medio de grabación.
[0424] El aparato 960 de formación de imágenes incluye un bloque 961 óptico, una unidad 962 de captura de imágenes, una unidad 963 de procesamiento de señales, una unidad 964 de procesamiento de imágenes, una unidad 965 de visualización, una interfaz 966 externa, una memoria 967, una unidad 968 de medios, una OSD 969,una unidad 970 de control,una interfaz 971 de usuario y un bus 972.
[0425] El bloque 961 óptico se conecta a la unidad 962 de captura de imágenes. La unidad 962 de captura de imágenes se conecta a la unidad 963 de procesamiento de señales. La unidad 965 de visualización se conecta a la unidad 964 de procesamiento de imágenes. La interfaz 971 de usuario se conecta a la unidad 970 de control. El bus 972 conecta la unidad 964 de procesamiento de imágenes, la interfaz 966 externa, la memoria 967, la unidad 968 de medios, la OSD 969, y la unidad 970 de control entre si.
[0426] El bloque 961 óptico incluye una lente focal, un mecanismo de diafragma, y similares. El bloque 961 óptico forma una imagen óptica del objeto en una superficie de imagen de la unidad 962 de captura de imágenes. La unidad 962 de captura de imágenes incluye un sensor de imágenes tal como un CCD (Dispositivo Acoplado por Carga) y un CMOS (Semiconductor de Óxido de Metal Complementario), y convierte la imagen óptica formada en la superficie de imagen en una señal de imagen como señal eléctrica a través de la conversión fotoeléctrica.Después, la unidad 962 de captura de imágenes produce la señal de imagen en la unidad 963 de procesamiento de señales.
[0427] La unidad 963 de procesamiento de señales realiza varios procesos de señal de cámara tales como una corrección knee, una corrección de gamma,una corrección de color,y similares para la señal de imagen ingresada desde la unidad 962 de captura de imágenes. La unidad 963 de procesamiento de señales produce los datos de imagen después de los procesos de señal de cámara en la unidad 964 de procesamiento de imágenes.
[0428] La unidad 964 de procesamiento de imágenes codifica los datos de imagen ingresados desde la unidad 963 de procesamiento de señales para generar datos codificados.Después, la unidad 964 de procesamiento de imágenes produce los datos codificados generados en la interfaz 966 externa o la unidad 968 de medios.
Además, la unidad 964 de procesamiento de imágenes descodifica los datos codificados ingresados desde la interfaz 966 externa o la unidad 968 de medios para generar datos de imagen. Después, la unidad 964 de procesamiento de imágenes produce los datos de imagen generados en la unidad 965 de visualización. Además, la unidad 964 de procesamiento de imágenes puede producir los datos de imagen ingresados desde la unidad 963 de procesamiento de señales en la unidad 965 de visualización para desplegar la imagen. Además, la unidad 964 de procesamiento de imágenes puede superponer los datos para la visualización que se adquiere de la OSD 969 en la imagen producida en la unidad 965 de visualización.
[0429] La OSD 969, por ejemplo, genera una imagen de una GUI tal como un menú, un botón, un cursor o similares y produce la imagen generada en la unidad 964 de procesamiento de imágenes.
[0430] La interfaz 966 externa,por ejemplo, se configura como terminal de entrada/salida de USB. La interfaz 966 externa, por ejemplo, conecta el aparato 960 de formación de imágenes y una impresora cuando se imprime una imagen. Además, una unidad se conecta a la interfaz 966 externa cuando es necesario. Un medio removible tal como un disco magnético o un disco óptico se carga en la unidad, y un programa leído del medio removible puede instalarse en el aparato 960 de formación de imágenes. Además, la interfaz 966 externa puede configurarse como interfaz de red que se conecta a una red tal como una LAN, la Internet, o similares. En otras palabras, la interfaz 966 externa sirve como medio de transmisión del aparato 960 de formación de imágenes.
[0431] El medio de grabación cargado en la unidad 968 de medios, por ejemplo, puede ser un medio removible grabable/regrabable arbitrario tal como un disco magnético, un disco magneto-óptico, un disco óptico, o una memoria de semiconductor. Además, puede configurarse de manera que un medio de grabación se monte fijamente a la unidad 968 de medios para configurar una unidad de almacenamiento no portátil tal como una unidad de disco duro integrado o una SSD (Unidad de Estado Solido).
[0432] La unidad 970 de control incluye un procesador tal como una CPU, y una memoria tal como una RAM o ROM.La memoria almacena un programa ejecutado por la CPU, datos de programación, y similares. El programa almacenado en la memoria se lee por la CPU, por ejemplo, con la activación del aparato 960 de formación de imágenes y se ejecuta. La CPU controla la operación del aparato 960 de formación de imágenes, por ejemplo, de acuerdo con una señal de operación ingresada desde la interfaz 971 de usuario al ejecutar el programa.
[0433] La interfaz 971 de usuario se conecta a la unidad 970 de control. La interfaz 971 de usuario, por ejemplo, incluye botones, conmutadores, y similares para que un usuario opere el aparato 960 de formación de imágenes. La interfaz 971 de usuario detecta la operación de un usuario a través de tales elementos constituyentes, genera una señal de operación, y produce la señal de operación generada en la unidad 970 de control.
[0434] En el aparato 960 de formación de imágenes configurado como tal, la unidad 964 de procesamiento de imágenes tiene las funciones del aparato de codificación de imágenes (por ejemplo, el aparato de codificación configurado por el codificador 1 y la unidad 2 de generación de archivos ilustrada en la Figura 1) y el aparato de descodificación de imágenes (por ejemplo, el aparato de descodificación configurado por la unidad 51 de lectura de archivo y el descodificador 52 ilustrado en la Figura 8) de acuerdo con las modalidades antes descritas. Por consiguiente, la codificación/descodificación de una imagen que se realiza por el aparato 960 de formación de imágenes, una carga de procesamiento requerida cuando una corriente utilizada al momento de la transmisión o una corriente utilizada al momento de que se almacena en un archivo se descodifica, puede reducirse.
[0435] <8. Séptima Modalidad> [Otros Ejemplos] Aunque los ejemplos del aparato,el sistema y similares a los cuales se aplica la presente teenología se han descrito como en lo anterior, la presente tecnología no se limita a los mismos. De esta manera, la presente tecnología también puede implementarse como todos los componentes montados en el aparato o un aparato que configura el sistema tal como un procesador como una LSI de sistema (integración a gran escala) o similares, un módulo que utiliza una pluralidad de procesadores y similares, una unidad que utiliza una pluralidad de módulos y similares, y un conjunto adquirido al agregar otra función a la unidad (en otras palabras, además de la configuración del aparato).
[0436] [Aparato de video] Un ejemplo de un caso donde la presente tecnología se implementa como un conjunto se describirá con referencia a la Figura 46. La Figura 46 ilustra un ejemplo de la configuración esquemática de un aparato de video al cual se aplica la presente tecnología.
[0437] Recientemente, la implementación de varias funciones en aparatos electrónicos se ha avanzado, y, en el desarrollo de la fabricación de cada aparato electrónico, en un caso en donde una parte de la configuración se ejecuta en ventas, la disposición o similares, frecuentemente, no solo existe un caso en donde la parte se ejecuta como configuración que tiene una función sino también un caso donde la parte se ejecuta como un conjunto que tiene varias funciones al combinar una pluralidad de configuraciones que tienen funciones relacionadas.
[0438] El aparato 1300 de video ilustrado en la Figura 46 tiene tal configuración que tiene varias funciones y se adquiere al combinar un dispositivo que tiene una función que se relaciona con la codificación/descodificación (una codificación y descodificación o ambas del mismo) de una imagen con dispositivos que tienen otras funciones con relación a la función.
[0439] Como se ilustra en la Figura 46,el aparato 1300 de video incluye: un grupo modular tal como un módulo 1311 de video, una memoria 1312 externa, un módulo 1313 de gestión de energía y un módulo 1314 de terminal de entrada y dispositivos que tienen funciones relacionadas tales como conectividad 1321, una cámara 1322 y un sensor 1323.
[0440] Un módulo es un componente que tiene funciones que tienen coherencia adquirida al reunir varias funciones de componente con relación entre sí. Una configuración física específica es arbitraria, y por ejemplo, una configuración puede considerarse en la cual una pluralidad de procesadores que tienen funciones respectivas, componentes de circuito electrónico tal como una resistencia y un condensador, y otros dispositivos se disponen para integrarse en una tarjeta de circuito similares.
Además, puede considerarse formar un nuevo módulo al combinar un módulo con otros módulos, un procesador, o similares.
[0441] En el caso del ejemplo ilustrado en la Figura 46, el módulo 1311 de video se forma al combinar configuraciones que tienen funciones con relación al procesamiento de imágenes e incluye: un procesador de aplicaciones, un procesador de video, un módem 1333 de banda ancha, y un módulo 1334 de RF.
[0442] Se forma un procesador al integrar una configuración que tiene una función predeterminada en un chip de semiconductor a través de un SoC (Sistema sobre Chip) y, por ejemplo, existe un procesador denominado LSI (Integración a Gran Escala) o similares. La configuración que tiene una función predeterminada puede ser un circuito lógico (configuración de hardware), una configuración que incluye una CPU, una ROM, una RAM, y similares y un programa (configuración de software) ejecutado utilizando los componentes, o una configuración adquirida al combinarlos. Por ejemplo, puede configurarse de manera que un procesador incluya circuitos lógicos,una CPU,una ROM,una RAM,y similares, ciertas funciones de losmismos se realizan por circuitos lógicos (configuración de hardware), y otras funciones se realizan por un programa (configuración de software) ejecutada por la CPU.
[0443] Un procesador 1331 de aplicaciones ilustrado en la Figura 46es un procesador que ejecuta una aplicación con relación al procesamiento de imágenes. Para realizar una función predeterminada, la aplicación ejecutada por este procesador 1331 de aplicaciones no sólo ejecuta un proceso de cálculo sino también puede controlar configuraciones del interior/exterior del módulo 1311 de video tal como un procesador 1332 de video y similares cuando es necesario.
[0444] El procesador 1332 de video es un procesador que tiene una función con relación a codificación/descodificación (una de codificación y descodificación o ambas codificación y descodificación) de una imagen.
[0445] El modem 1333 de banda ancha es un procesador (o un módulo) que realiza un proceso con relación a la comunicación de banda ancha alámbrica o inalámbrica (o alámbrica o inalámbrica) que se realiza a través de lineas de comunicación de banda ancha tal como la Internet o una red conmutada telefónica pública. Por ejemplo, el modem 1333 de banda ancha convierte datos (señal digital) que se transmiten en una señal análoga a través de un proceso de modulación digital o similares o convierte una señal análoga recibida en datos (señal digital) a través de un proceso de desmodulación. Por ejemplo, el módem 1333 de banda ancha puede realizar modulación/desmodulación digital de información arbitraria tal como datos de imagen procesados por el procesador 1332 de video, una corriente en la cual se codifican datos de imagen, un programa de aplicación, y datos de configuración.
[0446] El módulo 1334 de RF es un módulo que realiza conversión de frecuencia, modulación/desmodulación, amplificación, un proceso de filtro, y similares para una señal de RF (Radio Frecuencia) que se transmite o recibe a través de una antena. Por ejemplo, el módulo 1334 de RF realiza la conversión de frecuencia y similares para una señal de banda ancha generada por el módem 1333 de banda ancha, por lo que genera una señal de RF. Además, por ejemplo, el módulo 1334 de RF realiza la conversión de frecuencia y similares para una señal de RF recibida a través del módulo 1314 de terminal de entrada, por lo que genera una señal de banda base.
[0447] Como se indica por una línea 1341 punteada en la Figura 46, el procesador 1331 de aplicaciones y el procesador 1332 de video pueden integrarse para configurarse como procesador.
[0448] La memoria 1312 externa es un módulo que se dispone fuera del módulo 1311 de video y tiene un dispositivo de memoria utilizado por el módulo 1311 de video. Aunque el dispositivo de memoria de la memoria 1312 externa puede realizarse por cierta configuración física, generalmente, el dispositivo de memoria se utiliza frecuentemente para almacenar datos de un gran volumen tal como datos de imagen configurados en unidades de tramas. Por consiguiente, es preferible que el dispositivo de memoria se realice por una memoria de semiconductor de una gran capacidad tal como una DRAM (Memoria de Acceso Aleatorio Dinámica) a un costo relativamente bajo.
[0449] Elmódulo 1313 de gestión de energía gestiona y controla el suministro de energía en el módulo 1311 de video (cada configuración dispuesta dentro del módulo 1311 de video).
[0450] El módulo 1314 de terminal de entrada es un módulo que proporciona una función de terminal de entrada (un circuito en el extremo de transmisión/recepción en el lado de antena) para el módulo 1334 de RF. Como se ilustra en la Figura 46, el módulo 1314 de extremo frontal, por ejemplo, incluye una unidad 1351 de antena, un filtro 1352, y una unidad 1353 de amplificación.
[0451] La unidad 1351 de antena incluye una antena que transmite y recibe señales inalámbricas y configuraciones periféricas. La unidad 1351 de antena transmite una señal suministrada desde la unidad 1353 de amplificación como señal inalámbrica y suministra la señal inalámbrica recibida al filtro 1352 como señal eléctrica (señal de RF). El filtro 1352 realiza un proceso de filtro y similar para la señal de RF recibida a través de la unidad 1351 de antena y suministra la señal de RF después del proceso en el módulo 1334 de RF. La unidad 1353 de amplificación amplifica la señal de RF suministrada desde el módulo 1334 de RF y suministra la señal de RF amplificada a la unidad 1351 de antena.
[0452] La conectividad 1321 es un módulo que tiene una función con relación a una conexión con el exterior. La configuración física de la conectividad 1321 es arbitraria. Por ejemplo, la conectividad 1321 incluye una configuración que tiene una función de comunicación de acuerdo con un estándar de comunicación distinto a un estándar de comunicación con el cual es compatible el módem 1333 de banda ancha, una terminal de entrada/salida externa, y similares.
[0453] Por ejemplo, la conectividad 1321 puede configurarse para incluir un módulo que tiene una función de comunicación compatible con estándar de radiocomunicación tal como Bluetooth (marca comercial registrada), IEEE 802.11 (por ejemplo, Wi-Fi (Fidelidad Inalámbrica; marca comercial registrada)), NFC (Comunicación de Campo Cercano), y IrDA (Asociación de Datos por Infrarrojos), una antena que transmite y recibe señales compatibles con el estándar, y similares. Además, por ejemplo, la conectividad 1321 puede configurarse para incluir un módulo que tiene una función de comunicación compatible con un estándar de comunicación alámbrica tal como USB (Bus de Serie Universal) o HDMI (marca comercial registrada) (Interfaz de Multimedia de Alta Definición) y terminales compatibles con el estándar. Además, por ejemplo, la conectividad 1321puede configurarse para tener otra función de transmisión de datos (señal)de una terminal de entrada/salida análoga o similares.
[0454] Además, la conectividad 1321 puede configurarse para incluir un dispositivo del destino de transmisión de datos (señal). Por ejemplo, la conectividad 1321 puede configurarse para incluir una unidad (incluyendo no sólo una unidad de un medio removible sino también un disco duro, una SSD (Unidad de Estado Sólido), un ÑAS (Almacenamiento Conectado en Red), y similares) que lee/escribe datos de/en un medio de grabación tal como un disco magnético, un disco óptico, un disco magneto-óptico, o una memoria de semiconductor. Además, la conectividad 1321 puede configurarse para incluir un dispositivo de salida (un monitor, un altavoz, o similar) de una imagen o voz.
[0455] La cámara 1322 es un módulo que tiene una función para adquirir datos de imagen de un sujeto al capturar la imagen del sujeto. Los datos de imagen adquiridospor elproceso de formación de imágenes realizado por la cámara 1322, por ejemplo, se suministra al procesador 1332 de video y se codifica.
[0456] El sensor 1323 es un módulo que tiene la función de un sensor arbitrario tal como un sensor de sonido, un sensor ultrasónico, un sensor óptico, un sensor de iluminación, un sensor infrarrojo, un sensor de imagen, un sensor de rotación, un sensor de ángulo, un sensor de velocidad angular, un sensor de velocidad, un sensor de aceleración, un sensor de inclinación, un sensor de identificación magnética, un sensor de impacto, o un sensor de temperatura.Los datos detectados por el sensor 1323, por ejemplo, se suministran al procesador 1331 de aplicación y se utilizan por el sensor de aplicación y similares.
[0457] La configuración descrita en lo anterior como el módulo puede realizarse como el procesador. Por el contrario, la configuración descrita en lo anterior como el procesador puede realizarse como el módulo.
[0458] En el aparato 1300 de video que tiene la configuración antes descrita, como se describirá posteriormente, la presente teenología puede aplicarse al procesador 1332 de video. Por consiguiente, el aparato 1300 de video puede ejecutarse como un conjunto al cual se aplica la presente tecnología.
[0459] [Ejemplo de Configuración del Procesador de Video] La Figura 47 ilustra un ejemplo de la configuración esquemática del procesador 1332 de video (Figura 46) al que se aplica la presente tecnología.
[0460] En el caso del ejemplo ilustrado en la Figura 47, el procesador 1332 de video tiene una función para recibir entradas de una señal de video y una señal de audio y codificar la señal de video y la señal de audio de acuerdo con un sistema predeterminado y una función para descodificar datos de video codificados y datos de audio codificados y reproducir y producir una señal de video y señal de audio.
[0461] Como se ilustra en la Figura 47, el procesador 1332 de video incluye: una unidad 1401 de procesamiento de entrada de video; una primera unidad 1402 de ampliación/reducción de imagen; una segunda unidad 1403 de ampliación/reducción de imagen; una unidad 1404 de procesamiento de salida de video; una memoria 1405 de tramas; y una unidad 1406 de control de memoria. Además, el procesador 1332 de video incluye: un motor 1407 de codificación/descodificación; memorias intermedias 1408D y 1408B de ES de video (Corriente Elemental), y memorias intermedias 1409A y 1409B de ES de audio. Además, el procesador 1332 de video incluye: un codificador 1410 de audio; un descodificador 1411 de audio; un multiplexor 1412 (MUX (Multiplexor)); un desmultiplexor 1413 (DMUX (Desmultiplexor)); y una memoria intermedia 1414 de corriente.
[0462] La unidad 1401 de procesamiento de entrada de video, por ejemplo, adquiere una señal de video ingresada desde la conectividad 1321 (Figura 46) o similar y convierte la señal de video en datos de imagen digitales. La primera unidad 1402 de ampliación/reducción de imagen realiza una conversión de formato, un proceso de ampliación/reducción de imagen, y similares para los datos de imagen. La segunda unidad 1403 de ampliación/reducción de imagen realiza un proceso de ampliación/reducción de imagen de acuerdo con el formato del destino de salida a través de la unidad 1404 de procesamiento de salida de video, la misma conversión de formato que aquella de la primera unidad 1402 de ampliación/reducción de imagen, un proceso de ampliación/reducción de imagen, y similares para los datos de imagen. La unidad 1404 de procesamiento de salida de video realiza una conversión de formato, una conversión en una señal análoga, y similares para los datos de imagen y produce una señal resultante, por ejemplo, en la conectividad 1321 (Figura 46) o similares como señal de video reproducida.
[0463] La memoria 1405 de tramas es una memoria para datos de imagen que se comparte por la unidad 1401 de procesamiento de entrada de video, la primera unidad 1402 de ampliación/reducción de imagen, la segunda unidad 1403 de ampliación/reducción de imagen, la unidad 1404 de procesamiento de salida de video, y el motor 1407 de codificación/descodificación. La memoria 1405 de tramas, por ejemplo, se realiza por una memoria de semiconductor tal como una DRAM.
[0464] La unidad 1406 de control de memoria recibe una señal de sincronización del motor 1407 de codificación/descodificación y controla los accesos a la memoria 1405 de tramas para escritura/lectura de acuerdo con un programa de acceso para acceder a la memoria 1405 de tramas que se escribe en una tabla 1406A de gestión de acceso. La tabla 1406A de gestión de acceso se actualiza por la unidad 1406 de control de memoria de acuerdo con los procesos realizados por el motor 1407 de codificación/descodificación, la primera unidad 1402 de ampliación/reducción de imagen, la segunda unidad 1403 de ampliación/reducción de imagen, y similares. 0465 El motor 1407 de codificación/descodificación realiza un proceso de codificación de datos de imagen y un proceso de descodificación de una corriente de video que son datos adquiridos al codificar los datos de imagen.Por ejemplo,elmotor 1407 de codificación/descodificación codifica los datos de imagen leídos de la memoria 1405 de tramas y escribe de manera secuencial los datos de imagen en la memoria intermedia 1408A de ES de video como corriente de video.Además,por ejemplo, el motor 1407 de codificación/descodificación lee de manera secuencial y descodifica las corrientes de video suministradas desde la memoria intermedia 1408B de ES de video, y escribe de manera secuencial las corrientes de video descodificadas en la memoria 1405 de tramas como datos de imagen. El motor 1407 de codificación/descodificación utiliza la memoria 1405 de tramas como área de trabajo en tales procesos de codificación y descodificación. Además, el motor 1407 de codificación/descodificación produce una señal de sincronización en la unidad 1406 de control de memoria, por ejemplo, al momento cuando se inicia un proceso para cada macrobloque.
[0466] La memoria intermedia 1408A de ES de video guarda en memoria intermedia una corriente de video generada por el motor 1407 de codificación/descodificación y suministra la corriente de video guardada en memoria intermedia al multiplexor 1412 (MUX). La memoria intermedia 1408B de ES de video guarda en memoria intermedia una corriente de video suministrada desde el desmultiplexor 1413 (DMUX) y suministra la corriente de video guardada en memoria intermedia al motor 1407 de codificación/descodificación.
[0467] La memoria intermedia 1409A de ES de audio guarda en memoria intermedia una corriente de audio generada por el codificador 1410 de audio y suministra la corriente de audio guardada en memoria intermedia al multiplexor 1412 (MUX). La memoria intermedia 1409B de ES de audio guarda en memoria intermedia una corriente de audio suministrada desde el desmultiplexor 1413 (DMUX) y suministra la corriente de audio guardada en memoria intermedia al descodificador 1411 de audio.
[0468] El codificador 1410 de audio, por ejemplo, convierte una señal de audio, por ejemplo, ingresada desde la conectividad 1321 (Figura 46) o similares en una señal digital y codifica la señal digital convertida de acuerdo con un sistema predeterminado tal como un sistema de audio de MPEG o un sistema de AC3 (Código de audio número 3).El codificador 1410 de audio escribe de manera secuencial las corrientes de audio de cada una siendo adquirida al codificar una señal de audio en la memoria intermedia 1409A de ES de audio. El descodificador 1411 de audio descodifica la corriente de audio suministrada desde la memoria intermedia 1409B de ES de audio, por ejemplo, realiza una conversión en una señal análoga, y similares para la corriente de audio descodificada y suministra una señal resultante, por ejemplo, a la conectividad 1321 (Figura 46) o similares como señal de audio reproducida.
[0469] El multiplexor 1412 (MUX) multiplexa una corriente de video y una corriente de audio. Un método de este proceso de multiplexión (en otras palabras, el formato de una corriente de bits generada por el proceso de multiplexión) es arbitrario. Además, en el proceso de multiplexión, el multiplexor 1412 (MUX) puede agregar información de encabezado predeterminada y similares a la corriente de bits. En otras palabras, el multiplexor 1412 (MUX) puede convertir el formato de una corriente a través del proceso de multiplexión. Por ejemplo, al multiplexar una corriente de video y una corriente de audio, el multiplexor 1412 (MUX) convierte las corrientes en una corriente de transporte que es una corriente de bits de un formato de transmisión. Además, por ejemplo, al multiplexar la corriente de video y la corriente de audio,elmultiplexor 1412 (MUX)convierte las corrientes en datos (datos de archivo) de un formato de archivo de grabación.
[0470] El desmultiplexor 1413 (DMUX) desmultiplexa una corriente de bits en la cual una corriente de video y una corriente de audio se multiplexan utilizando un método que corresponde al proceso de multiplexión realizado por el multiplexor 1412 (MUX). En otras palabras, el desmultiplexor 1413 (DMUX) extrae una corriente de video y una corriente de audio de la corriente de bits leída de la memoria intermedia 1414 de corriente (separa la corriente de video y la corriente de audio entre sí). En otras palabras, el desmultiplexor 1413 (DMUX) puede convertir el formato de una corriente a través del proceso de desmultiplexión (una conversión inversa de la conversión realizada por el multiplexor 1412 (MUX)). Por ejemplo, el desmultiplexor 1413 (DMUX) adquiere una corriente de transporte suministrada, por ejemplo, de la conectividad 1321 (Figura 46), el módem 1333 de banda ancha (Figura 46), o similares a través de la memoria intermedia 1414 de corriente y desmultiplexa la corriente de transporte suministrada, por lo que convierte la corriente de transporte en una corriente de video y una corriente de audio. Además, por ejemplo, el desmultiplexor 1413 (DMUX) adquiere los datos de archivo, por ejemplo, leídos de varios medios de grabación, por la conectividad 1321 (Figura 46) a través de la memoria intermedia 1414 de corriente y desmultiplexa los datos de archivo adquiridos, por lo que convierte los datos de archivo en una corriente de video y una corriente de audio.
[0471] La memoria intermedia 1414 de corriente guarda en memoria intermedia la corriente de bits. Por ejemplo, la memoria intermedia 1414 de corriente guarda en memoria intermedia la corriente de transporte suministrada desde el multiplexor 1412 (MUX) y suministra la corriente de transporte guardada en memoria intermedia, por ejemplo, a la conectividad 1321 (Figura 46), el módem 1333 de banda ancha (Figura 46), o similares en un tiempo predeterminado o basándose en una solicitud del exterior, o similares.
[0472] Además, por ejemplo, la memoria intermedia 1414 de corriente guarda en memoria intermedia los datos de archivo suministrados desde el multiplexor 1412 (MUX) y suministra los datos de archivo guardados en memoria intermedia, por ejemplo, a la conectividad 1321 (Figura 46) o similares en un tiempo predeterminado, una solicitud desde el exterior,o similares para que se grabe en varios medios de grabación.
[0473] Además, la memoria intermedia 1414 de corriente guarda en memoria intermedia una corriente de transporte, por ejemplo, adquirida a través de la conectividad 1321 (Figura 46), el módem 1333 de banda ancha (Figura 46), o similares y suministra la corriente de transporte guardada en memoria intermedia al desmultiplexor 1413 (DMUX) en un tiempo predeterminado o basándose en una solicitud desde el exterior, o similares.
[0474] Además, la memoria intermedia 1414 de corriente guarda en memoria intermedia los datos de archivo leídos de varios medios de grabación, por la conectividad 1321 (Figura 46) o similares y suministra los datos de archivo guardados en memoria intermedia al desmultiplexor 1413 (DMUX) en un tiempo predeterminado o una solicitud desde el exterior o similares.
[0475] A continuación, un ejemplo de la operación del procesador 1332 de video que tiene tal configuración se describirá. Por ejemplo, una señal de video ingresada desde la conectividad 1321 (Figura 46) o similares al procesador 1332 de video se convierte en datos de imagen digitales de un sistema predeterminado tal como un sistema 4:2:2 Y/Cb/Cr en la unidad 1401 de procesamiento de entrada de video y se escribe secuencialmente en la memoria 1405 de tramas. Estos datos de imagen digitales se leen por la primera unidad 1402 de ampliación/reducción de imagen o la segunda unidad 1403 de ampliación/reducción de imagen, una conversión de formato en un sistema predeterminado tal como un sistema de 4:2:0 Y/Cb/Cr y un proceso de ampliación/reducción se realizan para los datos de imagen digitales leídos, y los datos de imagen digitales resultantes se reescriben en la memoria 1405 de tramas. Estos datos de imagen se codifican por el motor 1407 de codificación/descodificación y se escriben en la memoria intermedia 1408A de ES de video como una corriente de video.
[0476] Además, una señal de audio ingresada desde la conectividad 1321 (Figura 46) o similares en el procesador 1332 de video se codifica por el codificador 1410de audio y se escriben en la memoria intermedia 1409A de ES de audio como corriente de audio.
[0477] Una corriente de video guardada en memoria intermedia en la memoria intermedia 1408A de ES de video y una corriente de audio guardada en memoria intermedia en la memoria intermedia 1409A de ES de audio se leen y multiplexan por el multiplexor 1412 (MUX), y se convierten en una corriente de transporte, datos de archivo, o similares.La corriente de transporte generada por el multiplexor 1412 (MUX) se guarda en memoria intermedia en la memoria intermedia 1414 de corriente y después se producen en una red externa,por ejemplo,a travésde la conectividad 1321 (Figura 46), el módem 1333 de banda ancha (Figura 46), o similares. Además, los datos de archivo generados por el multiplexor 1412 (MUX) se guardan en memoria intermedia en la memoria intermedia 1414 de corriente y después, se producen, por ejemplo, a la conectividad 1321 (Figura 46) o similares, y se graban en varios medios de grabación.
[0478] Además, la corriente de transporte ingresada al procesador 1332 de video desde una red externa, por ejemplo, a través de la conectividad 1321 (Figura 46),el módem 1333 de banda ancha (Figura 46), o similares se guarda en memoria intermedia en la memoria intermedia 1414 de corriente y después, se desmultiplexan por el desmultiplexor 1413 (DMUX). Además, los datos de archivo que se leen de varios medios de grabación y se ingresan en el procesador 1332 de video, por ejemplo, por la conectividad 1321 (Figura 46) o similares se guarda en memoria intermedia en la memoria intermedia 1414 de corriente y después, se desmultiplexa por el desmultiplexor 1413 (DMUX). En otras palabras, la corriente de transporte o la entrada de datos de archivo para el procesador 1332 de video se separan en una corriente de video y una corriente de audio por el desmultiplexor 1413 (DMUX). [0479 La corriente de audio se suministra al descodificador 1411 de audio a través de la memoria intermedia 1409B de ES de audio y se descodifica, y una señal de audio se reproduce.Además, la corriente de video se escribe en la memoria intermedia 1408B de ES de video, y después se lee secuencialmente y descodifican por el motor 1407 de codificación/descodificación y se escriben en la memoria 1405 de tramas. Los datos de imagen descodificados se procesan para que se amplíen o reduzcan por la segunda unidad 1403 de ampliación/reducción de imagen y se escriban en la memoria 1405 de tramas. Después, los datos de imagen descodificados se leen por la unidad 1404 de procesamiento de salida de video, se convierten en otro formato de acuerdo con un sistema predeterminado tal como el sistema 4:2:2 Y/Cb/Cr o similares, y además se convierten en una señal análoga, y una señal de video se reproduce y produce.
[0480] En un caso donde la presente teenología se aplica al procesador 1332 de video configurado de manera que, la presente tecnología que se relaciona con cada modalidad descrita en lo anterior, pueda aplicarse al motor 1407 de codificación/descodificación.En otras palabras,por ejemplo, el motor 1407 de codificación/descodificación puede configurarse para tener las funciones del aparato de codificación de imágenes (Figura 1) configurado por el codificador 1 y la unidad 2 de generación de archivos de acuerdo con la primera modalidad y el aparato de descodificación de imágenes (Figura 8)configurado por la unidad 51 de lectura de archivo y el descodificador 52. Al configurar como tal, el procesador 1332 de video puede tener las mismas ventajas que aquellas descritas en lo anterior con referencia a las Figuras 1 a 36.
[0481] Además, en el motor 1407 de codificación/descodificación, la presente teenología (en otras palabras, las funciones del aparato de codificación de imágenes y el aparato de descodificación de imágenes de acuerdo con cada modalidad descrita en lo anterior) pueden realizarse por hardware, tal como circuitos lógicos o software tal como un programa integrado, o pueden realizarse hardware y software.
[0482] [Otro Ejemplo de Configuración del Procesador de Video] La Figura 48 ilustra otro ejemplo de la configuración esquemática de un procesador 1332 de video (Figura 46) al cual se aplica la presente tecnología.En el caso del ejemplo ilustrado en la Figura 48, el procesador 1332 de video tiene una función para codificar y descodificar datos de video de acuerdo con un sistema predeterminado.
[0483] De manera más específica, como se ilustra en la Figura 48, el procesador 1332 de video incluye: una unidad 1511 de control; una interfaz 1512 de visualización; un motor 1513 de visualización; un motor 1514 de procesamiento de imágenes; y una memoria 1515 interna. Además, el procesador 1332 de video incluye: un motor 1516 de códec; una interfaz 1517 de memoria; un multiplexor/desmultiplexor 1518 (MUX DMUX); una interfaz 1519 de red; y una interfaz 1520 de video.
[0484] La unidad 1511 de control controla las operaciones de las unidades de procesamiento dispuestas dentro del procesador 1332 de video tal como la interfaz 1512 de visualización, el motor 1513 de visualización, el motor 1514 de procesamiento de imágenes, y el motor 1516 de códec.
[0485] Como se ilustra en la Figura 48, la unidad 1511 de control, por ejemplo, incluye una CPU 1531 principal, una sub CPU 1532, y un controlador 1533 de sistema. La CPU 1531 principal ejecuta un programa utilizado para controlar la operación de cada unidad de procesamiento dispuesta dentro del procesador 1332 de video y similares. La CPU 1531 principal genera una señal de control de acuerdo con el programa o similares y suministra la señal de control a cada unidad de procesamiento (en otras palabras, controla la operación de cada unidad de procesamiento). La sub CPU 1532 logra una función auxiliar de la CPU 1531 principal. Por ejemplo, la sub CPU 1532 ejecuta un proceso hijo, una sub rutina, o similares de un programa ejecutado por la CPU 1531 principal. El controlador 1533 de sistema controla las operaciones de la CPU 1531 principal y la sub CPU 1532 al realizar la designación de programas que se ejecutan por la CPU 1531 principal y la sub CPU 1532 y similares.
[0486] La interfaz 1512 de visualización produce los datos de imagen, por ejemplo,en la conectividad 1321 (Figura 46) y similar bajo el control de la unidad 1511 de control. Por ejemplo, la interfaz 1512 de visualización convierte los datos de imagen que son datos de imagen digitales en una señal análoga y produce la señal análoga como señal de video reproducida o los datos de imagen que son los datos digitales en un dispositivo de monitor de la conectividad 1321 (Figura 46) o similares.
[0487] El motor 1513 de visualización, bajo el control de la unidad 1511 de control, realiza varios procesos de conversión tal como una conversión de formato, una conversión de tamaño, y una conversión de gama de color para los datos de imagen para correlacionar la especificación de hardware de un dispositivo de monitor que despliega la imagen y similares.
[0488] El motor 1514 de procesamiento de imágenes realiza procesamiento de imágenes predeterminado tal como un proceso de filtro utilizado para mejorar la calidad de imagen y similares para los datos de imagen bajo el control de la unidad 1511 de control.
La memoria 1515 interna es una memoria que se comparte por elmotor 1513 de visualización, el motor 1514 de procesamiento de imágenes y el motor 1516 de códec y se dispone dentro del procesador 1332 de video. La memoria 1515 interna, por ejemplo, se utiliza para transferencia de datos entre el motor 1513 de visualización, el motor 1514 de procesamiento de imágenes, y el motor 1516 de códec.Por ejemplo,la memoria 1515 interna almacena los datos suministrados desde el motor 1513 de visualización, el motor 1514 de procesamiento de imágenes, o el motor 1516 de códec y suministra los datos al motor 1513 de visualización, el motor 1514 de procesamiento de imágenes, o el motor 1516 de códec cuando es necesario (por ejemplo, de acuerdo con una solicitud). Esta memoria 1515 interna puede realizarse al utilizar cualquier tipo de dispositivo de memoria. Sin embargo, generalmente, la memoria interna se utiliza de manera frecuente para almacenar datos que tienen un pequeño volumen tal como datos de imagen en unidades de bloques o parámetros, y por consiguiente, es preferible realizar la memoria interna utilizando una memoria de semiconductor que tenga una capacidad relativamente pequeña (en comparación con la memoria 1312 externa) y que tenga alta velocidad de respuesta tal como una SRAM (Memoria de Acceso Aleatorio Estática).
[0490] El motor 1516 de códec realiza procesos que se relacionan con la codificación y descodificación de datos de imagen. El sistema de codificación/descodificación con el cual es compatible el motor 1516 de códec, es arbitrario, y el número de sistemas de codificación/descodificación puede ser uno o más. Por ejemplo, puede configurarse de manera que el motor 1516 de códec pueda tener una función de códec para una pluralidad de sistemas de codificación/descodificación y se configure para realizar la codificación de datos de imagen o la descodificación de datos codificados al utilizar el seleccionado de los sistemas de codificación/descodificación.
[0491] En el ejemplo ilustrado en la Figura 48, el motor 1516 de códec, por ejemplo, incluye Video 1541 de MPEG-2, AVC/H.264 1542, HEVC/H.2651543, HEVC/H.265 (Escalable) 1544, HEVC/H.265 (De varias vistas) 1545, y MPEG-DASH 1551 como bloques funcionales para el proceso con relación al códec.
[0492] El video 1541 de MPEG-2 es un bloque funcional que codifica o descodifica datos de imagen de acuerdo con el sistema de MPEG-2. El AVC/H.2641542 es un bloque funcional que codifica o descodifica datos de imagen de acuerdo con el sistema de AVC. El AVC/H.265 1543 es un bloque funcional que codifica o descodifica datos de imagen de acuerdo con el sistema de HEVC. El HEVC/H.265 (Escalable) 1544 es un bloque funcional que realiza codificación escalable o descodificación escalable de datos de imagen de acuerdo con el sistema de HEVC. El HEVC/H.265 (Varias vistas) 1545 es un bloque funcional que realiza codificación de varias vistas o descodificación de varias vistas de datos de imagen de acuerdo con el sistema de HEVC.
[0493] El MPEG-DASH 1551 es un bloque funcional que transmite y recibe datos de imagen de acuerdo con un sistema de MPEG-DASH (MPEG-Transmisión Continua Adaptable Dinámica sobre HTTP. El MPEG-DASH es una teenología para realizar transmisión continua de video utilizando un HTTP (Protocolo de Transferencia de Hipertexto) y una de las características del mismo es que los datos codificados adecuados entre una pluralidad de piezas de datos codificados que tienen resoluciones mutuamente diferentes y similares, que se preparan con anticipación, se seleccionan y transmiten en unidades de segmentos. El MPEG-DASH 1551 realiza la generación de una corriente que es compatible con el estándar, el control de transmisión de la corriente, y similares, y utiliza el video 1541 de MPEG-2 para HEVC/H.265 (Varias vistas) 1545 descrito en lo anterior para codificar y descodificar datos de imagen.
[0494] La interfaz 1517 de memoria es una interfaz utilizada para la memoria 1312 externa. Los datos suministrados desde el motor 1514 de procesamiento de imágenes o el motor 1516 de códec se suministran a la memoria 1312 externa a través de la interfaz 1517 de memoria. Además, los datos leídos desde la memoria 1312 externa se suministran al procesador 1332 de video (el motor 1514 de procesamiento de imágenes o el motor 1516 de codee) a través de la interfaz 1517 de memoria.
[0495] El multiplexor/desmultiplexor 1518 (MUX DMUX) realiza multiplexión y desmultiplexión de varios tipos de datos con respecto a una imagen tal como una corriente de bits de datos codificados, datos de imagen, y una señal de video. Un método de la multiplexión/desmultiplexión es arbitrario. Por ejemplo, al momento de realizar la multiplexión, el multiplexor/desmultiplexor 1518 (MUX DMUX) no sólo puede disponer una pluralidad de piezas de datos en una sino también puede agregar información de encabezado predeterminada o similares a los datos. Además, al momento de realizar la desmultiplexión, el multiplexor/desmultiplexor 1518 (MUX DMUX) no sólo puede dividir una pieza de datos en varias partes sino también agrega información de encabezado predeterminada o similar a cada parte de datos dividida. En otras palabras, el multiplexor/desmultiplexor 1518 (MUX DMUX) puede convertir el formato de datos a través del proceso de multiplexión/desmultiplexión. Por ejemplo, el multiplexor/desmultiplexor 1518 (MUX DMUX) puede convertir una corriente de bits en una corriente de transporte que es una corriente de bits del formato de transmisión o datos (datos de archivo) del formato de archivo de grabación al multiplexar la corriente de bits. Es aparente que una conversión inversa de la misma puede realizarse por el proceso de desmultiplexión.
[0496] La interfaz 1519 de red es una interfaz, por ejemplo, dedicada para el modem 1333 de banda ancha (Figura 46), la conectividad 1321 (Figura 46), o similares. La interfaz 1520 de video es una interfaz, por ejemplo, dedicada para la conectividad 1321 (Figura 46), la cámara 1322 (Figura 46), o similares.
[0497] A continuación, un ejemplo de la operación de tal procesador 1332 de video se describirá. Por ejemplo, cuando una corriente de transporte se recibe desde una red externa, por ejemplo, a través de la conectividad 1321 (Figura 46), el módem 1333 de banda ancha (Figura 46), o similares, la corriente de transporte se suministra almultiplexor/desmultiplexor 1518 (MUX DMUX) a través de la interfaz 1519 de red, se desmultiplexa, y se descodifica por el motor 1516 de códec.Para los datos de imagen adquiridos por el proceso de descodificación realizado por el motor 1516 de códec, el procesamiento de imágenes predeterminado se realiza, por ejemplo, por el motor 1514 de procesamiento de imágenes y una conversión predeterminada se realiza por el motor 1513 de visualización.Después, los datos de imágenes resultantes se suministran, por ejemplo, a la conectividad 1321 (Figura 46) o similares a través de la interfaz 1512 de visualización, y una imagen de la misma se despliega en un monitor.Además, los datos de imagen, por ejemplo, adquiridos por el proceso de descodificación realizado por el motor 1516 de códec se vuelve a codificar por el motor 1516 de códec, se multiplexan por el multiplexor/desmultiplexor 1518 (MUX DMUX), se convierten en datos de archivo, se producen, por ejemplo, en la conectividad 1321 (Figura 46)o similares a través de la interfaz 1520 de video, y se graban en varios medios de grabación.
[0498] Además, los datos de archivo de los datos adquiridos al codificar los datos de imagen, que se leen desde un medio de grabación no ilustrado en la figura, por ejemplo, por la conectividad 1321 (Figura 46) o similares se suministran al multiplexor/desmultiplexor 1518 (MUX DMUX) a través de la interfaz 1520 de video, se desmultiplexan, y se descodifican por el motor 1516 de códec. Para los datos de imagen adquiridos por el proceso de descodificación realizado por el motor 1516 de códec, el procesamiento de imágenes predeterminado se realiza por el motor 1514 de procesamiento de imágenes y una conversión predeterminada se realiza por el motor 1513 de visualización. Entonces, los datos de imagen resultantes se suministran, por ejemplo, a la conectividad 1321 (Figura 46) o similares a través de la interfaz 1512 de visualización, y una imagen de la misma se despliega en el monitor. Además, los datos de imagen, por ejemplo, adquiridos por el proceso de descodificación realizado por el motor 1516 de códec se graban por el motor 1516 de códec, se multiplexan por el multiplexor/desmultiplexor 1518 (MUX DMUX), se convierten en una corriente de transporte, se suministran, por ejemplo, a la conectividad 1321 (Figura 46), el módem 1333 de banda ancha (Figura 46), o similares a través de la interfaz 1519 de red, y se transmiten a otro aparato no ilustrado en la figura.
[0499] Aquí, la transmisión/recepción de los datos de imagen y los otros datos entre las unidades de procesamiento dispuestas dentro del procesador 1332 de video, por ejemplo, se realiza utilizando la memoria 1515 interna o la memoria 1312 externa. Además, el módulo 1313 de gestión de energía, por ejemplo, controla el suministro de energía a la unidad 1511 de control.
[0500] En un caso donde se aplica la presente teenología al procesador 1332 de video configurado como tal, la presente tecnología de acuerdo con cada modalidad descrita en lo anterior puede aplicarse al motor 1516 de códec. En otras palabras, por ejemplo, el motor 1516 de códec puede configurarse para incluir los bloques funcionales que realizan el aparato de codificación de imágenes (Figura 1) configurado por el codificador 1 y la unidad 2 de generación de archivos de acuerdo con la primera modalidad y el aparato de descodificación de imágenes (Figura 8) configurado por la unidad 51 de lectura de archivo y el descodificador 52.Al configurar como tal, el procesador 1332 de video puede tener las mismas ventajas que aquellas descritas en lo anterior con referencia a las Figuras 1 a 36.
[0501] Además, en el motor 1516 de códec, la presente teenología (en otras palabras, las funciones del aparato de codificación de imágenes y el aparato de descodificación de imágenes de acuerdo con cada modalidad descrita en lo anterior) pueden realizarse por hardware, tal como circuitos lógicos o software tal como un programa integrado, o pueden realizarse por hardware y software.
[0502] Aunque dos ejemplos de la configuración del procesador 1332 de video se han descrito en lo anterior, la configuración del procesador 1332 de video es arbitraria y puede ser una configuración distinta a los dos ejemplos descritos en lo anterior. Aquí, el procesador 1332 de video puede configurarse como un chip de semiconductor o una pluralidad de chips de semiconductor. Por ejemplo, el procesador de video puede configurarse como LSI apilada de manera tridimensional. Además, el procesador de video puede realizarse por una pluralidad de LSI.
[0503] [Ejemplo de Aplicación al Aparato] El aparato 1300 de video puede construirse en varios aparatos que procesan los datos de imagen. Por ejemplo, el conjunto 1300 de video puede integrarse en el aparato 900 de televisión (Figura 42), el teléfono 920 móvil (Figura 43), el dispositivo 940 de grabación/reproducción (Figura 44), el dispositivo 960 de formación de imágenes (Figura 45), y similares. Al construir el aparato 1300 de video en el mismo, el aparato puede adquirir ventajas similares a aquellas descritas en lo anterior con referencia a las Figuras 1 a 36.
[0504] Además, aunque una configuración es parte de las configuraciones del aparato 1300 de video descrito en lo anterior, en un caso donde la configuración incluye el procesador 1332 de video, la configuración puede ejecutarse como configuración a la cual se aplica la presente teenología. Por ejemplo, sólo el procesador 1332 de video puede ejecutarse como un procesador de video al cual se aplica la presente tecnología. Además, por ejemplo, como se describe en lo anterior, el procesador indicado por la línea 1341 punteada, el módulo 1311 de video, y similares pueden ejecutarse como un procesador, un módulo, y similares a los cuales la presente tecnología se aplica. Además, por ejemplo, el módulo 1311 de video, la memoria 1312 externa, el módulo 1313 de gestión de energía, y el módulo 1314 de terminal de entrada pueden combinarse para generarse como unidad 1361 de video a la cual se aplica la presente tecnología. De acuerdo con cualquiera de las configuraciones, ventajas similares para aquellas descritas en lo anterior con referencia a la Figura 1 a 36 pueden adquirirse.
[0505] En otras palabras, cualquier configuración puede construirse en diversos aparatos que procesan datos de imagen, de manera similar al caso del aparato 1300 de video, siempre y cuando la configuración incluye el procesador 1332 de video. Por ejemplo, el procesador 1332 de video, el procesador indicado por la línea 1341 punteada, el módulo 1311 de video, o la unidad 1361 de video pueden integrarse en el aparato 900 de televisión (Figura 42), el teléfono 920 móvil (Figura 43), el aparato 940 de grabación/reproducción (Figura 44), el aparato 960 de formación de imágenes (Figura 45), y similares. Al construir cualquier configuración a la cual se desea aplicar la presente teenología en un aparato,de manera similar al caso del aparato 1300 de video, el aparato puede adquirir ventajas similares a aquellas descritas en lo anterior con referencia a las Figuras 1 a 36.
[0506] En esta especificación, se ha descrito un ejemplo en el cual varios tipos de información tal como el código de inicio, los datos de relleno, el parámetro que maneja la memoria intermedia de descodificador, el parámetro de identificación, y el FixedStartCodeSizeFlag se multiplexan en la corriente codificada y se transmiten desde el lado de codificación hasta el lado de descodificación. Sin embargo, una técnica para transmitir tal información no se limita a tal técnica. Por ejemplo, tal información puede transmitirse o grabarse como datos individuales asociados con una corriente de bits codificada sin que se multiplexen en la corriente codificada. Aquí, el término "asociado" representa que una imagen (puede ser una parte de una imagen tal como una sección, bloque o similares) incluida en una corriente de bits e información que corresponde a la imagen se adquieren al enlazarse entre si al momento de descodificar la imagen y la información. En otras palabras, la información puede transmitirse en una linea de transmisión distinta a aquella para la imagen (o la corriente de bits).Además, la información puede grabarse en un medio de grabación distinto a aquel para la imagen (o la corriente de bits) (o una región de grabación diferente del mismo medio de grabación).Además, la información y la imagen (o la corriente de bits), por ejemplo, puede asociarse entre si en unidades de partes arbitrarias tales como múltiples tramas, una trama, o una parte de la trama.
[0507] Aunque modalidades preferidas de la presente descripción se han descrito en detalle con referencia a los dibujos anexos, la presente descripción no se limita a tales ejemplos. Es aparente que una persona que tiene conocimiento ordinario en el campo téenico de la presente descripción puede visualizar varios cambios o modificaciones dentro del alcance de la idea técnica descrita en las reivindicaciones,y naturalmente, se entiende que tales cambios y modificaciones pertenecen al alcance téenico de la presente descripción LISTA DE SIGNOS DE REFERENCIA
[0508] 1 Codificador 2 Unidad de generación de archivo 31 Unidad de control 32 Unidad de establecimiento 33 Unidad de escritura de archivo 51 Unidad de lectura de archivo 52 Descodificador 71 Unidad de recepción de archivo 72 Unidad de adquisición de parámetro 73 Unidad de control de descodificación 74 Unidad de lectura de datos 201 Aparato de codificación de imágenes 251 Aparato de descodificación de imágenes 300 Aparato de conversión de archivo 311 Unidad de análisis de corriente de video 401 Codificador 451 Descodificador

Claims (15)

REIVINDICACIONES
1. Un dispositivo de procesamiento de imágenes caracterizado porque comprende: una unidad de establecimiento que establece un código de inicio y datos de relleno para un archivo que incluye una corriente de bits adquirida al codificar una imagen; y una unidad de control que realiza control de la unidad de establecimiento de manera que el código de inicio y los datos de relleno establecidos por la unidad de establecimiento configuran un archivo con una característica de un parámetro que maneja una memoria intermedia de descodificador que se mantiene en datos de medios del archivo.
2. El dispositivo de procesamiento de imágenes de conformidad con la reivindicación 1, caracterizado porque el parámetro que maneja la memoria intermedia de descodificador es un parámetro incluido en VUI (Información de Utilidad de Video), o un parámetro incluido en SEI de período de memoria intermedia (Información de Mejora Complementaria), o un parámetro incluido en SEI de tiempo de imagen.
3. El dispositivo de procesamiento de imágenes de conformidad con la reivindicación 1, caracterizado porque la unidad de establecimiento establece los datos de relleno como datos de VCL.
4. Un método de procesamiento de imágenes que utiliza un dispositivo de procesamiento de imágenes, el método de procesamiento de imágenes caracterizado porque comprende: establecer un código de inicio y datos de relleno para un archivo que incluye una corriente de bits adquirida al codificar una imagen; y realizar el control del establecimiento del código de inicio y los datos de relleno de manera que el código de inicio y los datos de relleno que se establecen configuren un archivo con una característica de un parámetro que maneja una memoria intermedia de descodificador que se mantiene en datos de medios del archivo.
5. Un dispositivo de procesamiento de imágenes caracterizado porque comprende: una unidad de recepción que recibe un archivo que incluye una corriente de bits adquirida al codificar una imagen y se controla y se establece de manera que un código de inicio y datos de relleno configuren el archivo con una característica de un parámetro que maneja una memoria intermedia de descodificador que se mantiene en datos de medios del archivo; y una unidad de descodificación que lee el código de inicio y los datos de relleno del archivo recibido por la unidad de recepción y descodifica la corriente de bits al utilizar el parámetro que maneja la memoria intermedia de descodificador.
6. El dispositivo de procesamiento de imágenes de conformidad con la reivindicación 5, caracterizado porque el parámetro que maneja la memoria intermedia de descodificador es un parámetro incluido en VUI (Información de Utilidad de Video), un parámetro incluido en SEI de periodo de memoria intermedia (Información de Mejora Complementaria), o un parámetro incluido en SEI de tiempo de imagen.
7. El dispositivo de procesamiento de imágenes de conformidad con la reivindicación 5, caracterizado porque los datos de relleno se establecen como datos de VCL.
8. Un método de procesamiento de imágenes que utiliza un dispositivo de procesamiento de imágenes, el método de procesamiento de imágenes caracterizado porque comprende: recibir un archivo que incluye una corriente de bits adquirida al codificar una imagen y se controla y se establece de manera que un código de inicio y datos de relleno configuren el archivo con una característica de un parámetro que maneja una memoria intermedia de descodificador que se mantiene en datos de medios del archivo; y leer el código de inicio y los datos de relleno del archivo recibido, y descodificar la corriente de bits al utilizar el parámetro que maneja la memoria intermedia de descodificador.
9. Un dispositivo de procesamiento de imágenes caracterizado porque comprende: una unidad de establecimiento que establece una característica de un parámetro que maneja una memoria intermedia de descodificador en un caso donde un código de inicio y datos de relleno se eliminan de una corriente de bits en datos de medios de un archivo que incluye la corriente de bits adquirida al codificar una imagen; y una unidad de generación que genera el archivo al utilizar la característica establecida por la unidad de establecimiento.
10. El dispositivo de procesamiento de imágenes de conformidad con la reivindicación 9, caracterizado porque la unidad de establecimiento establece un parámetro de identificación que identifica que la característica del parámetro que maneja la memoria intermedia de descodificador se cambia.
11. El dispositivo de procesamiento de imágenes de conformidad con la reivindicación 10, caracterizado porque la unidad de establecimiento establece el parámetro de identificación como recuadro opcional en una entrada de muestra del archivo.
12. Un método de procesamiento de imágenes que utiliza un dispositivo de procesamiento de imágenes, el método de procesamiento de imágenes caracterizado porque comprende: establecer una característica de un parámetro que maneja una memoria intermedia de descodificador en un caso donde un código de inicio y datos de relleno se eliminan de una corriente de bits en datos de medios de un archivo que incluye la corriente de bits adquirida al codificar una imagen; y generar el archivo al utilizar la característica establecida.
13. Un dispositivo de procesamiento de imágenes caracterizado porque comprende: una unidad de recepción que recibe un archivo generado utilizando una característica establecida de un parámetro que maneja una memoria intermedia de descodificador que se establece en un caso donde un código de inicio y datos de relleno se eliminan de los datos de medios de un archivo que incluye una corriente de bits adquirida al codificar una imagen; y una unidad de descodificación que lee el parámetro que maneja la memoria intermedia de descodificador del archivo recibido por la unidad de recepción y descodifica la corriente de bits al utilizar el parámetro leído.
14. El dispositivo de procesamiento de imágenes de conformidad con la reivindicación 13, caracterizado porque un parámetro de identificación que identifica que la característica del parámetro que maneja la memoria intermedia de descodificador se cambia para establecerse en el archivo.
15. Un método de procesamiento de imágenes que utiliza un dispositivo de procesamiento de imágenes, el método de procesamiento de imágenes caracterizado porque comprende: recibir un archivo generado utilizando una característica establecida de un parámetro que maneja una memoria intermedia de descodificador que se establece en un caso donde se eliminan código de inicio y datos de relleno de los datos de medios de un archivo que incluye una corriente de bits adquirida al codificar una imagen; y leer el parámetro que maneja la memoria intermedia de descodificador del archivo recibido y descodificar la corriente de bits al utilizar el parámetro leído. RESUMEN DE LA INVENCIÓN La presente descripción se refiere a un dispositivo de procesamiento de imágenes y un método capaz de reducir la carga de procesamiento cuando se genera una corriente. Un generador de archivos establece un código de inicio y datos de relleno para un archivo que contiene la corriente de bits en la cual se codifica una imagen, y controla el establecimiento del código de inicio y los datos de relleno de manera que las propiedades de un parámetro para manejar una memoria intermedia de descodificador se mantengan y el archivo se configure en los datos de medios del archivo. La presente descripción puede aplicarse, por ejemplo, a un dispositivo de procesamiento de imágenes.
MX2015004140A 2012-10-09 2013-09-30 Dispositivo y metodo de procesamiento de imagenes. MX340964B (es)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
JP2012224597 2012-10-09
JP2012225159 2012-10-10
JP2012262803 2012-11-30
JP2013004988 2013-01-15
JP2013010585 2013-01-23
JP2013060438 2013-03-22
PCT/JP2013/076486 WO2014057832A1 (ja) 2012-10-09 2013-09-30 画像処理装置および方法

Publications (2)

Publication Number Publication Date
MX2015004140A true MX2015004140A (es) 2015-07-06
MX340964B MX340964B (es) 2016-08-01

Family

ID=50477300

Family Applications (2)

Application Number Title Priority Date Filing Date
MX2016009728A MX358606B (es) 2012-10-09 2013-09-30 Dispositivo y metodo de procesamiento de imagenes.
MX2015004140A MX340964B (es) 2012-10-09 2013-09-30 Dispositivo y metodo de procesamiento de imagenes.

Family Applications Before (1)

Application Number Title Priority Date Filing Date
MX2016009728A MX358606B (es) 2012-10-09 2013-09-30 Dispositivo y metodo de procesamiento de imagenes.

Country Status (13)

Country Link
US (1) US10313694B2 (es)
EP (2) EP3618434B1 (es)
JP (2) JP6492661B2 (es)
KR (1) KR102134049B1 (es)
CN (1) CN104704823B (es)
AU (3) AU2013327962A1 (es)
BR (1) BR112015007530A2 (es)
CA (1) CA2886943C (es)
MX (2) MX358606B (es)
MY (1) MY174138A (es)
RU (1) RU2653308C2 (es)
TW (1) TWI652938B (es)
WO (1) WO2014057832A1 (es)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102073030B1 (ko) 2014-03-14 2020-02-04 후아웨이 테크놀러지 컴퍼니 리미티드 이미지 디코딩 장치
WO2015178112A1 (ja) * 2014-05-19 2015-11-26 ソニー株式会社 情報処理装置、情報生成装置、情報記録媒体、および情報処理方法、並びにプログラム
JP6706784B2 (ja) * 2014-09-12 2020-06-10 パナソニックIpマネジメント株式会社 送信装置、受信装置、送信方法及び受信方法
KR102299573B1 (ko) * 2014-10-22 2021-09-07 삼성전자주식회사 실시간으로 인-루프 필터링을 수행할 수 있는 애플리케이션 프로세서, 이의 작동 방법, 및 이를 포함하는 시스템
WO2016132836A1 (ja) * 2015-02-16 2016-08-25 ソニー株式会社 情報処理装置、情報記録媒体、および情報処理方法、並びにプログラム
US10257107B1 (en) * 2016-06-30 2019-04-09 Amazon Technologies, Inc. Encoder-sensitive stream buffer management
EP4062319A4 (en) 2019-12-26 2023-01-11 ByteDance Inc. REPORTING DECODED FRAME BUFFER PARAMETERS IN LAYERED VIDEO
JP7431330B2 (ja) 2019-12-26 2024-02-14 バイトダンス インコーポレイテッド ビデオコーディングにおけるプロファイル、層及びレイヤの指示
CN114946174A (zh) 2020-01-09 2022-08-26 字节跳动有限公司 层间参考图片的存在的信令通知

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1253017C (zh) * 1997-12-15 2006-04-19 松下电器产业株式会社 用于把视频目标记录在光盘上的记录设备及其方法
JP2004079087A (ja) * 2002-08-20 2004-03-11 Sony Corp 記録装置および方法、記録媒体、並びにプログラム
RU2375839C2 (ru) * 2003-02-18 2009-12-10 Нокиа Корпорейшн Способ кодирования изображений
WO2005074295A1 (en) * 2004-01-16 2005-08-11 General Instrument Corporation Method, protocol, and apparatus for transporting advanced video coding content
CN102217309B (zh) * 2008-11-13 2014-04-09 汤姆逊许可证公司 使用hrd信息共享和比特分配等待的多线程视频编码
US9313512B2 (en) * 2009-11-25 2016-04-12 Vudu, Inc. Multiple bit rate encoding by segments
CN101800892B (zh) * 2010-03-04 2013-03-06 青岛海信信芯科技有限公司 多媒体码流识别的方法和装置
EP2752011B1 (en) * 2011-08-31 2020-05-20 Nokia Technologies Oy Multiview video coding and decoding
US20130195172A1 (en) * 2012-01-30 2013-08-01 Qualcomm Incorporated Method of coding video and storing video content

Also Published As

Publication number Publication date
TWI652938B (zh) 2019-03-01
JP6492661B2 (ja) 2019-04-03
US20150281713A1 (en) 2015-10-01
MY174138A (en) 2020-03-10
EP2908523A1 (en) 2015-08-19
CN104704823A (zh) 2015-06-10
US10313694B2 (en) 2019-06-04
WO2014057832A1 (ja) 2014-04-17
EP2908523A4 (en) 2016-09-21
KR102134049B1 (ko) 2020-07-14
CN104704823B (zh) 2019-01-29
CA2886943C (en) 2020-12-15
AU2017204793B2 (en) 2019-05-23
CA2886943A1 (en) 2014-04-17
JPWO2014057832A1 (ja) 2016-09-05
EP3618434A1 (en) 2020-03-04
TW201419872A (zh) 2014-05-16
AU2017204793A1 (en) 2017-07-27
AU2013327962A1 (en) 2015-04-02
BR112015007530A2 (pt) 2017-07-04
RU2015112109A (ru) 2016-10-20
MX340964B (es) 2016-08-01
JP2019110567A (ja) 2019-07-04
AU2019219782B2 (en) 2021-02-11
MX358606B (es) 2018-08-24
RU2653308C2 (ru) 2018-05-07
EP3618434B1 (en) 2021-04-14
EP2908523B1 (en) 2019-09-18
AU2019219782A1 (en) 2019-09-12
KR20150067147A (ko) 2015-06-17
JP6721069B2 (ja) 2020-07-08

Similar Documents

Publication Publication Date Title
JP6721069B2 (ja) 画像処理装置および方法
US11218710B2 (en) Image decoding device and method
US10779009B2 (en) Image decoding device and method
US20150195532A1 (en) Image coding apparatus and method
JP6287035B2 (ja) 復号装置および復号方法
CN105874801B (zh) 解码设备和解码方法、以及编码设备和编码方法
WO2015133325A1 (ja) 画像符号化装置および方法、並びに、画像処理装置および方法
WO2015056566A1 (ja) 画像処理装置および方法
KR102197557B1 (ko) 화상 처리 장치 및 방법
JP6150134B2 (ja) 画像符号化装置および方法、画像復号装置および方法、プログラム、並びに記録媒体
US10630989B2 (en) Image processing apparatus and image processing method
JP6402802B2 (ja) 画像処理装置および方法、プログラム、並びに記録媒体

Legal Events

Date Code Title Description
FG Grant or registration