MX2014012452A - Metodo y aparato para determinar imagenes de referencia para inter-prediccion. - Google Patents

Metodo y aparato para determinar imagenes de referencia para inter-prediccion.

Info

Publication number
MX2014012452A
MX2014012452A MX2014012452A MX2014012452A MX2014012452A MX 2014012452 A MX2014012452 A MX 2014012452A MX 2014012452 A MX2014012452 A MX 2014012452A MX 2014012452 A MX2014012452 A MX 2014012452A MX 2014012452 A MX2014012452 A MX 2014012452A
Authority
MX
Mexico
Prior art keywords
prediction
information
inter
address
image
Prior art date
Application number
MX2014012452A
Other languages
English (en)
Inventor
Tammy Lee
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of MX2014012452A publication Critical patent/MX2014012452A/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

La presente invención se refiere a un método para determinar una imagen de referencia para inter-predicción, y a un método de inter-predicción de conformidad con la misma. El método para determinar una imagen de referencia incluye: confirmar el tipo de fragmento de un bloque; si el tipo de fragmento es un tipo de fragmento B capaz de realizar predicción unidireccional o predicción bidireccional, determinar la dirección de inter-predicción del bloque como una primera dirección, una segunda dirección, o ambas direcciones; si la dirección de inter-predicción no es la segunda dirección, determinar un índice de referencia para un bloque como un índice de referencia de primera dirección a partir de una lista de imagen de referencia de primera dirección; y, si la dirección de inter-predicción no es la primera dirección, determinar un índice de referencia para el bloque como un índice de segunda dirección a partir de una lista de imagen de referencia de segunda dirección.

Description

METODO Y APARATO PARA DETERMINAR IMAGENES DE REFERENCIA PARA INTER-PREDICCION Campo DE LA INVENCION La presente invención se refiere a ínter-predicción y codificación y decodificación de video que involucran Ínte -predicción .
ANTECEDENTES DE LA INVENCION A medida que se está desarrollando y suministrando hardware para reproducir y almacenar contenido de video de alta resolución o alta calidad, ha aumentado una necesidad de un códec (codificador/decodificador) de video para codificar o decodificar efectivamente video de alta resolución o alta calidad. En un códec de video convencional, se codifica un video de conformidad con un método de codificación limitada con base en un macrobloque que tiene un tamaño predeterminado.
En un códec de video, se reduce cantidad de datos al utilizar una técnica de predicción que utiliza una característica que las imágenes de un video tienen una correlación espacial o temporal alta. De conformidad con la técnica de predicción, con el fin de predecir una imagen actual al utilizar una imagen adyacente, se registra información de imagen al utilizar distancia temporal o espacial entre imágenes, un error de predicción, y así sucesivamente.
Ref. 251832 BREVE DESCRIPCION DE LA INVENCION Problema Técnico La presente invención proporciona un método para determinar una imagen de referencia para inter-predicción, y un método de inter-predicción del mismo. La presente invención también proporciona un método para codificar y transmitir eficientemente, y recibir y leer información de índice de referencia que indica una imagen de referencia en la lista de imagen de referencia.
Solución Técnica De conformidad con un aspecto de la presente invención, se proporciona un método para determinar una imagen de referencia para inter-predicción, el método incluye: determinar un tipo de fragmento de un fragmento que incluye un bloque; si se determina que el tipo de fragmento es un tipo de fragmento B capaz de predicción unidireccional o predicción bidireccional, que determina una dirección de inter-predicción de bloque para ser una de una primera dirección, una segunda dirección, y una bidirección; si la dirección de inter-predicción no es la segunda dirección, determinar un índice de referencia de primera dirección entre una lista de imagen de referencia de primera dirección para ser un índice de referencia para el bloque; y si la dirección de inter-predicción no es la primera dirección, determinar que un índice de referencia de segunda dirección entre una lista de imagen de referencia de segunda dirección es un índice de referencia para el bloque.
Efectos Ventajosos Al utilizar un aparato de predicción de movimiento o un aparato de compensación de movimiento para determinar una imagen de referencia de conformidad con la presente invención, puede determinarse una imagen de referencia para predicción unidireccional y predicción bidireccional a través de procedimientos más simple ya que una nueva lista de imagen de referencia no necesita formarse o un nuevo índice de referencia no necesita buscarse además de una lista LO y una lista Ll incluso durante inter-predicción bidireccional. También, ya que no se requiere codificación de símbolo en una combinación de lista de imagen de referencia, se omite un proceso para transmitir información relacionada con lista de imagen de referencia innecesaria, y de esa forma puede reducirse una cantidad de bit de transmisión. Similarmente, ya que se omite un proceso para analizar la información relacionada con lista de imagen de referencia innecesaria, puede acortarse un proceso de análisis de datos.
BREVE DESCRIPCION DE LAS FIGURAS La Figura 1A es un diagrama de bloque de un aparato para determinar una imagen de referencia, de conformidad con una modalidad de la presente invención.
La Figura IB es un cuadro de flujo de un método para determinar una imagen de referencia, de conformidad con una modalidad de la presente invención.
La Figura 2A es un diagrama de bloque de un aparato de predicción de movimiento que incluye un aparato para determinar una imagen de referencia, de conformidad con una modalidad de la presente invención.
La Figura 2B es un cuadro de flujo de un método de predicción de movimiento de conformidad con una modalidad de la presente invención.
La Figura 3A es un diagrama de bloque de un aparato de compensación de movimiento que incluye un aparato para determinar una imagen de referencia, de conformidad con una modalidad de la presente invención.
La Figura 3B es un cuadro de flujo de un método de compensación de movimiento de conformidad con una modalidad de la presente invención.
La Figura 4 ilustra dos modalidades de información de dirección de intra-predicción.
La Figura 5 ilustra sintaxis de una porción de un encabezado de fragmento modificado de conformidad con una modalidad de la presente invención.
La Figura 6 ilustra sintaxis de un grupo de parámetro de una combinación de lista de imagen de referencia eliminada de conformidad con una modalidad de la presente invención.
La Figura 7 ilustra sintaxis de una tabla de peso de predicción modificada de conformidad con una modalidad de la presente invención.
La Figura 8 ilustra sintaxis de una región de unidad de predicción modificada de conformidad con una modalidad de la presente invención.
La Figura 9 ilustra sintaxis de un grupo de parámetro de imagen de conformidad con una modalidad de la presente invención.
La Figura 10 ilustra sintaxis de otra porción del encabezado de fragmento modificado de conformidad con una modalidad de la presente invención.
La Figura 11 es un diagrama de bloque de un aparato de codificación de video que involucra predicción de video con base en unidades de codificación de conformidad con una estructura de árbol, de conformidad con una modalidad de la presente invención.
La Figura 12 es un diagrama de bloque de un aparato de decodificación de video que involucra predicción de video con base en unidades de codificación de conformidad con una estructura de árbol, de conformidad con una modalidad de la presente invención.
La Figura 13 es un diagrama que ilustra un concepto de unidades de codificación de conformidad con una modalidad de la presente invención.
La Figura 14 es un diagrama de bloque de un codificador de imagen con base en unidades de codificación, de conformidad con una modalidad de la presente invención.
La Figura 15 es un diagrama de bloque de un decodificador de imagen con base en unidades de codificación, de conformidad con una modalidad de la presente invención.
La Figura 16 es un diagrama que ilustra unidades de codificación más profunda de conformidad con profundidades, y divisiones de conformidad con una modalidad de la presente invención.
La Figura 17 es un diagrama que ilustra una relación entre una unidad de codificación y unidades de transformación, de conformidad con una modalidad de la presente invención.
La Figura 18 es un diagrama que ilustra información de codificación de unidades de codificación correspondientes a una profundidad codificada, de conformidad con una modalidad de la presente invención.
La Figura 19 es un diagrama de unidades de codificación más profunda de conformidad con profundidades, de conformidad con una modalidad de la presente invención.
Las Figuras 20, 21, y 22 son diagrama que ilustran una relación entre unidades de codificación, unidades de predicción, y unidades de transformación, de conformidad con una modalidad de la presente invención.
La Figura 23 es un diagrama que ilustra una relación entre una unidad de codificación, una unidad de predicción, y una unidad de transformación, de conformidad con información de modo de codificación de la Tabla 1.
La Figura 24 es un diagrama de una estructura física de un disco en el cual se almacena un programa, de conformidad con una modalidad de la presente invención.
La Figura 25 es un diagrama de una unidad de disco para grabar y leer un programa el utilizar un disco; la Figura 26 es un diagrama de una estructura general de un sistema de suministro contenido para proporcionar un servicio distribución de contenido.
Las Figuras 27 y 28 son diagramas respectivamente de una estructura externa y una estructura interna de un teléfono móvil al cual se aplican un método de codificación de video y un método de decodificación de video, de conformidad con una modalidad de la presente invención.
La Figura 29 es un diagrama de un sistema de difusión digital al cual se aplica un sistema de comunicación, de conformidad con una modalidad de la presente invención.
La Figura 30 es un diagrama que ilustra una estructura de red de un sistema de cómputo de nube que utiliza un aparato de codificación de video y un aparato de decodificación de video, de conformidad con una modalidad de la presente invención.
DESCRIPCION DETALLADA DE LA INVENCION De conformidad con un aspecto de la presente invención, se proporciona un método para determinar una imagen de referencia para inter-predicción, el método incluye: determinar un tipo de fragmento de un fragmento que incluye un bloque; si se determina que el tipo de fragmento es un tipo de fragmento B capaz de predicción unidireccional o predicción bidireccional , determinar una dirección de inter-predicción del bloque para ser una de una primera dirección, una segunda dirección, y una bidirección; si la dirección de inter-predicción no es la segunda dirección, determinar un índice de referencia de primera dirección entre una lista de imagen de referencia de primera dirección para ser un índice de referencia para el bloque; y si la dirección de inter-predicción no es la primera dirección, determinar que un índice de referencia de segunda dirección entre una lista de imagen de referencia de segunda dirección es un índice de referencia para el bloque.
Si la dirección de inter-predicción es la predicción bidireccional, puede determinarse el índice de referencia de primera dirección a partir de la lista de imagen de referencia de primera dirección y puede determinarse el índice de referencia de segunda dirección a partir de la lista de imágenes de referencia de segunda dirección .
El método además puede incluir: determinar información de modo de inter-predicción que indica que la dirección de inter-predicción está en dos bits; seleccionar uno o de cuatro índices de modelo de contexto con base en una profundidad de una unidad de codificación de un bloque actual, para un modelo de contexto de un primer binario de entre dos binarios correspondientes a la información de modo de inter-predicción en dos bits; y seleccionar un índice de modelo de contexto independientemente de otros símbolo, para un modelo de contexto de un segundo binario de entre los dos binarios, en donde el primer binario puede indicar si la dirección de inter-predicción es una unidirección o una bidirección, y el segundo binario puede indicar si la unidad de dirección es la primera dirección o la segunda dirección.
El método además puede incluir determinar si existe una imagen que incluya un bloque colocado en la lista de imagen de referencia de primera dirección, si una imagen que incluye el fragmento es capaz de utilizar un pronosticador de vector de movimiento temporal y el tipo de fragmento es un tipo de fragmento B.
De conformidad con otro aspecto de la presente invención, se proporciona un aparato para determinar una imagen de referencia, el aparato incluye: un determinador de dirección de inter-predicción que determina un tipo de fragmento de un fragmento que incluye un bloque, y si el tipo de fragmento es un tipo de fragmento B capaz de predicción unidireccional o predicción bidireccional determina una dirección de inter-predicción del bloque para ser una de una primera dirección, una segunda dirección, y una bidirección; y un determinador de índice de referencia que determina un índice de referencia de primera dirección a partir de una lista de imagen de referencia de primera dirección como un índice de referencia para el bloque si en la dirección de inter-predicción no es la segunda dirección, y determina un índice de referencia de segunda dirección a partir de una lista de imagen de referencia de segunda dirección como un índice de referencia para el bloque si la dirección de inter-predicción no es la primera dirección.
De conformidad con otro aspecto de la presente invención, se proporciona un medio de grabación legible por computadora que tiene grabado en él un programa para ejecutar el método para determinar una imagen de referencia.
Modo de la Invención En lo sucesivo, se describirán un método y aparato para determinar una imagen de referencia capaz de predicción unidireccional o predicción bidireccional , método y aparato de predicción de movimiento correspondientes, y método y aparato de compensación de movimiento correspondientes con referencia a las Figuras 1A a 10 de conformidad con modalidades de la presente invención. También, se describirán aparatos de codificación y de decodificación de video y métodos de codificación y de decodificación de video con base en unidades de codificación de conformidad con una estructura de árbol con referencia a las Figuras 11 a 23 de conformidad con modalidades de la presente invención. También, se describirán varias modalidades a los cuales son aplicables un método de codificación de video y un aparato de decodificación de video de conformidad con modalidades con referencia a las Figuras 24 a 30. En lo sucesivo, una 'imagen' puede denotar una imagen fija, una imagen en movimiento de un video, o un video por sí mismo.
La Figura 1A es un diagrama de bloque de un aparato 10 para determinar una imagen de referencia, de conformidad con una modalidad. La Figura IB es un cuadro de flujo de un método para determinar una imagen de referencia, de conformidad con una modalidad de la presente invención.
El aparato 10 de conformidad con una modalidad incluye un determinador de dirección de inter-predicción 12 y un determinador de índice de referencia 14.
El aparto 10 también puede incluir un procesador central (no mostrado) para controlar el determinador de dirección de inter-predicción 12 y el determinador de índice de referencia 14. Alternativamente, el determinador de dirección de inter-predicción 12 y el determinador de índice de referencia 14 pueden ser operados por procesadores individuales (no mostrados) , y el aparato 10 puede operar como los procesadores individuales operan sistemáticamente entre sí. Alternativamente, el determinador de dirección de inter-predicción 12 y el determinador de índice de referencia 14 pueden ser controlados de conformidad con un control de un procesador externo (no mostrado) del aparato 10 de conformidad con una modalidad.
El aparato 10 de conformidad con una modalidad puede incluir al menos una unidad de almacenamiento de datos (no mostrada) que almacenan datos de entrada y salida del determinador de lista de imagen de referencia 12 y el inter-pronosticador 14. El aparato 10 también puede incluir un controlador de memoria (no mostrado) para manejar entrada y salida de datos de la unidad de almacenamiento de datos (no mostrada) .
El aparato 10 determina una imagen de referencia utilizada para predicción temporal con respecto a imágenes de un video. El aparato 10 puede determinar información de predicción que indica una diferencia de posición entre una imagen actual y una imagen de referencia, un residuo, etc. Por consiguiente, puede grabarse información de imagen al utilizar la información de predicción en lugar de todos los datos de una imagen.
De conformidad con codificación de predicción temporal, puede predecirse una imagen actual al hacer referencia a una imagen previa y a una imagen subsecuente de conformidad con un tiempo de reproducción. Puede hacerse referencia a imágenes que son codificadas o restauradas antes de la imagen actual de conformidad con un orden de codificación u orden de restauración sin importar el tiempo de reproducción para codificación de predicción de la imagen actual. La imagen actual y la imagen de referencia pueden ser unidades de datos de imagen, por ejemplo, imágenes, cuadros, campos, o fragmentos.
Para cálculo rápido de inter-predicción, el aparato 10 de conformidad con una modalidad puede dividir la imagen actual en una pluralidad de bloques y realizar inter-predicción en los bloques. En otras palabras, uno de la pluralidad de bloques dividido de la imagen actual puede utilizarse como la imagen de referencia para realizar inter-predicción en el bloque actual.
Listas de imagen de referencia pueden dividirse en una lista LO y una lista Ll con base en una dirección de referencia. Por ejemplo, una lista de imagen de referencia para predicción hacia adelante de una imagen tipo de fragmento P puede incluir la lista LO para predicción de lista 0. Una lista de imagen de referencia para una imagen tipo de fragmento B y al de capaz de bidirección incluyendo predicción hacia adelante, predicción hacia atrás, y predicción bidireccional , puede no incluir solamente la lista LO sino también la lista Ll para la predicción de lista Ll .
Cada una de la lista LO y la lista Ll puede incluir un índice que indica al menos una imagen de referencia, e información de orden de referencia. Un número predeterminado de imágenes de referencia activas asignadas a una lista de imagen de referencia puede estar pre-limitado . Sin embargo, el número de imágenes de referencia o un orden de referencia para hacer referencia a imágenes de referencia puede ser alterado para cada imagen como demandas de ocasión. De esa forma, el aparato 10 puede establecer información sobre un número predeterminado de imágenes de referencia activas de una lista de imagen de referencia, información sobre un cambio en el número de imágenes de referencia, información sobre un cambio en imágenes de referencia, e información sobre un cambio en un orden de referencia.
El determinador de dirección de inter-predicción 12 de conformidad con una modalidad puede determinar si una imagen a la que se va a hacer referencia para inter-predicción de la imagen actual precede (dirección hacia adelante) la imagen actual o sigue (dirección hacia atrás) la imagen actual. Cuando se determina la imagen de referencia para la imagen actual, la imagen de referencia puede determinarse a partir de al menos cualquier lista de imagen de referencia de entre la lista LO y la lista Ll con base en una dirección de la imagen de referencia.
La lista de imagen de referencia puede incluir información sobre las imágenes de referencia y el orden de referencia en las imágenes de referencia. Por ejemplo, la lista LO puede incluir principalmente un índice para una imagen de referencia para dirección hacia adelante, y la lista Ll puede incluir principalmente un índice para una imagen de referencia para predicción hacia atrás. Sin embargo, las listas LO y Ll no están limitadas para incluir únicamente información de referencia respectivamente para predicción hacia adelante y predicción hacia atrás.
El aparato 10 de conformidad con una modalidad puede determinar un orden de referencia de imágenes de referencia asignadas a cada lista de imagen de referencia. Por ejemplo, el orden de referencia puede determinarse de tal forma que una imagen de referencia de entre imágenes de referencia asignadas a una lista imagen de referencia y que es adyacente a una imagen actual con base en un orden de presentación se indique primero.
El aparato 10 de conformidad con una modalidad puede establecer atributos relacionados con lista de imagen de referencia, tal como un número predeterminado de imágenes de referencia activas asignadas a una lista de imagen de referencia y cambios en la lista de imagen de referencia.
De conformidad con una modalidad, atributos relacionados con los cambios en la lista de imagen de referencia pueden incluir un método para cambiar el número de imágenes de referencia, un método que cambie imágenes de referencia asignadas a la lista de imagen de referencia, y un método para cambiar un orden de referencia.
El determinador de dirección de inter-predicción 12 de conformidad con una modalidad puede determinar un tipo de fragmento de un fragmento que incluye un bloque, y determinar una dirección de inter-predicción con base en el tipo de fragmento .
Si el fragmento es un tipo de fragmento B capaz de predicción unidireccional o predicción bidireccional , el determinador de dirección de inter-predicción 12 de conformidad con una modalidad puede determinar la dirección de inter-predicción del bloque para ser una de una primera dirección, una segunda dirección, y una bidirección. La primera dirección y la segunda dirección pueden ser respectivamente una dirección hacia adelante y una dirección hacia atrás.
El determinador de índice de referencia 14 de conformidad con una modalidad puede determinar un índice de referencia que indica una imagen de referencia de una lista de imagen de referencia, con base en la dirección de inter-predicción.
Por ejemplo, el determinador de índice de referencia 14 puede determinar un índice de referencia de primera dirección a partir de una lista de imagen de referencia de primera dirección o un índice de referencia de segunda dirección a partir de una lista de imagen de referencia de segunda dirección, como un índice de referencia para el bloque. La lista de imagen de referencia de primera dirección y la lista de imagen de referencia de segunda dirección pueden denotar respectivamente la lista LO y la lista Ll.
En lo sucesivo, se describirá un proceso para determinar, mediante el aparato 10 de conformidad con una modalidad, una imagen de referencia para inter-predicción con referencia a la Figura IB.
En operación 11, el determinador de dirección de inter-predicción 12 puede determinar un tipo de fragmento de un fragmento incluyendo un bloque. En operación 13, si un tipo de fragmento actual es un tipo de fragmento B, el determinador de dirección de inter-predicción 12 puede determinar una dirección de inter-predicción del bloque para ser una de una primera dirección, una segunda dirección, y una bidirección.
En operación 15, si la dirección de inter-predicción determinada por el determinador de dirección de inter-predicción 12 no es la segunda dirección, el determinador de índice de referencia 14 puede determinar un índice de referencia de primera dirección entre una lista de imagen de referencia de primera dirección, como un índice de referencia para el bloque. En otras palabras, si la dirección de inter-predicción es la primera dirección o la bidirección, puede seleccionarse al menos un índice de referencia de la lista de imagen de referencia de primera dirección.
Si la dirección de inter-predicción determinada por el determinador de dirección de inter-predicción 12 es la segunda dirección, no se determina el índice de referencia de primera dirección y se realiza la operación 17.
En operación 17, si la dirección inter-predicción determinada por el determinador de dirección de inter-predicción 12 no es la primera dirección, el determinador de índice de referencia 14 puede determinar un índice de referencia de segunda dirección entre una lista de imagen de referencia de segunda dirección, como el índice de referencia para el bloque. En otras palabras, si la dirección de inter-predicción es la segunda dirección o la bidirección, puede seleccionarse al menos un índice de referencia a partir de la lista de imagen de referencia de segunda dirección.
Si la dirección de inter-predicción determinada por el determinador de dirección de inter-predicción 12 es la primera dirección, no se determina el índice de referencia de segunda dirección y se realiza la operación 17.
Por consiguiente, si la dirección de inter-predicción es la bidirección, se determina al menos un índice de referencia de primera dirección entre la lista de imagen de referencia de primera dirección y se determina al menos un índice de referencia de segunda dirección entre la lista de imagen de referencia de segunda dirección a través de operaciones 15 y 17.
En operación 15, el determinador de índice de referencia 14 puede determinar el índice de referencia de primera dirección y también determinar un valor de diferencia de un vector de movimiento que indica un bloque de referencia en una imagen de referencia indicada por el índice de referencia de primera dirección.
En operación 17, el determinador de índice de referencia 14 puede determinar el índice de referencia de segunda dirección y también determinar un valor de diferencia de un segundo vector de movimiento que indica un bloque de referencia en una imagen de referencia indicada por el índice de referencia de segunda dirección.
Un índice de referencia puede indicar un orden entre imágenes de referencia en una lista de imagen de referencia, y un vector de movimiento puede denotar una posición de un bloque de referencia en una imagen de referencia predeterminada. De esa forma, una imagen de referencia y un bloque de referencia para inter-predicción de un bloque pueden determinarse con base en un índice de referencia y un vector de movimiento.
El aparto 10 de conformidad con una modalidad puede utilizar información de modo de inter-predicción en 2 bits, como información que indica una dirección de inter-predicción.
Con el fin de realizar codificación por entropía o decodificación por entropía con base en contexto con respecto a la información de modo de inter-predicción en 2 bits de conformidad con una modalidad, puede utilizarse un modelo de contexto que incluye información de probabilidad de un símbolo que indica la información de modo de inter-predicción. En detalle, ya que se determina un modelo de contexto por binario de un símbolo, puede determinarse un modelo de contexto para cada uno de dos binarios que corresponden respectivamente a los 2 bits de la información de modo de inter-predicción.
Un primer binario de binarios de la información de modo de inter-predicción de conformidad con una modalidad puede indicar si la dirección de inter-predicción es una unidirección o una bidirección. Si el primer binario indica inter-predicción bidireccional, puede no definirse un segundo binario. Sin embargo, si el primer binario indica inter-predicción unidireccional, el segundo binario puede indicar si una unidirección es la primera dirección o la segunda dirección .
En detalle, en casos de un tipo de fragmento P y un tipo de fragmento B, la información de modo de inter-predicción puede indicar comúnmente si inter-predicción es predicción hacia adelante (predicción LO) o predicción hacia atrás (predicción Ll) . En un modo de inter-predicción de conformes con una modalidad, un tipo de una dirección de predicción puede estar limitado de conformidad con un tamaño de un bloque. Por ejemplo, si una suma de ancho y altura de un bloque es 12, como cuando un tamaño de un bloque es 4x8 u 8x4, puede no permitirse inter-predicción bidireccional incluso para un bloque de tipo de fragmento B. De esa forma, si la suma de ancho y altura de bloque es 12, información de modo de inter-predicción del bloque de tipo de fragmento B puede indicar predicción hacia adelante o predicción hacia atrás.
Si la suma de ancho y altura no es 12, información de modo de inter-predicción que indica cualquiera de predicción hacia adelante, predicción hacia atrás, y predicción bidireccional puede determinarse para el bloque de tipo de fragmento B.
El aparato 10 de conformidad con una modalidad puede codificar (decodificar) por entropía la información de modo de inter-predicción al utilizar uno seleccionado de al menos un modo de contexto. Un índice de modelo de contexto puede ser asignado a cada uno de modelos de contexto seleccionables .
El aparato 10 de conformidad con una modalidad puede seleccionar uno de cuatro índices de modelo de contexto, para un modelo de contexto del primer binario de la información de modo de inter-predicción. También, el aparato 10 puede seleccionar un índice de modelo de contexto para un modelo de contexto del segundo binario de la información de modo de inter-predicción.
En detalle, uno de los cuatro índices de modelo de contexto puede seleccionarse con base en una profundidad de una unidad de codificación de un bloque actual, para el modelo de contexto del primer binario entre los dos binarios correspondientes a la información de modo de inter-predicción en 2 bits. Un índice de modelo de contexto puede determinarse independientemente sin tener que considerar otro símbolo, para el modelo de contexto del segundo binario entre los dos binarios .
El aparto 10 de conformidad con otra modalidad puede seleccionar uno de tres índices de modelo de contexto, para el modelo de contexto del primer binario de la información de modo de inter-predicción. El aparato 10 puede seleccionar tres índices de modelo de contexto, para el modelo de contexto del segundo binario de la información de modo de inter-predicción.
Alternativamente, si una lista LO y una lista Ll coinciden entre sí, el segundo binario de la información de modo de inter-predicción puede codificarse y puede inferirse para ser 0. Si la lista LO y la lista Ll coinciden entre sí, el primer binario de la información de modo de inter-predicción puede indicar predicción unidireccional, y como un resultado, puede determinarse predicción unidireccional LO.
Alternativamente, el índice de modelo de contexto para el primer binario de la información de modo de ínter- predicción del bloque actual puede codificarse al utilizar un valor de un primer binario de información de modo de inter-predicción de un bloque vecino izquierdo, superior, o izquierdo superior del bloque actual.
Alternativamente, el índice de modelo de contexto para el primer binario de la información de modo de inter-predicción del bloque actual puede codificarse al utilizar un valor de profundidad de una unidad de codificación actual. Una profundidad de una unidad de codificación denota un número de veces que se divide una unidad de codificación máxima a una unidad de codificación actual.
Alternativamente, el índice de modelo de contexto del primer binario de la información de modo de inter-predicción del bloque actual puede establecerse y codificarse en una constante.
Alternativamente, el índice modelo de contexto para el segundo binario de la información de modo de inter-predicción del bloque actual puede codificarse al utilizar un valor de un segundo binario de la información de modo de inter-predicción del bloque vecino izquierdo, superior, o izquierdo superior del bloque actual.
Alternativamente, el índice de modelo de contexto para el segundo binario de la información de modo de inter-predicción del bloque actual puede codificarse al utilizar el valor de profundidad de la unidad de codificación actual.
Alternativamente, el índice de modelo de contexto del segundo binario de la información de modo de inter-predicción del bloque actual puede establecerse y codificarse en una constante .
El aparato 10 de conformidad con otra modalidad puede determinar si se puede utilizar un pronosticador de vector de movimiento temporal (tmvp, por sus siglas en inglés) en una imagen incluyen un fragmento. También, el aparato 10 de conformidad con otra modalidad puede determinar si existe una imagen que incluya un bloque colocado en la lista de imagen de referencia de primera dirección para un fragmento actual de tipo de fragmento B.
Un bloque colocado no es un bloque de referencia real localizado en una imagen de referencia real, sino que es un bloque localizado en una imagen colocada que es una imagen diferente de la imagen de referencia real. Una posición de un bloque de referencia en una imagen de referencia y una posición de un bloque colocado en una imagen colocada son iguales. Por consiguiente, puede determinarse un bloque de referencia al estimar un vector de movimiento indicando el bloque de referencia al hacer referencia a un vector de movimiento que indica un bloque colocado.
El aparato 10 de conformidad con otra modalidad puede determinar la imagen incluyendo el bloque colocado entre la lista de imagen de referencia de primera dirección, con respecto a un fragmento de tipo de fragmento B de entre fragmentos en la imagen capaz de utilizar el tmv . Por consiguiente, puede determinarse un bloque de referencia de un bloque actual al utilizar el bloque colocado incluido en la imagen seleccionada de entre la lista de imagen de referencia de primera dirección.
El aparato 10 de conformidad con otra modalidad puede determinar información de índice de una imagen incluyendo un bloque colocado entre una lista de imagen de referencia predeterminada, cuando un fragmento actual es capaz de utilizar un tmvp. En otras palabras, cuando se predetermina que existe una imagen que incluye un bloque colocado en una lista de imagen de referencia de dirección predeterminada con respecto a un fragmento de tipo de fragmento B, puede determinarse información de índice (un índice de referencia colocado) que incluye el bloque colocado entre la lista de imagen de referencia de dirección predeterminada. Alternativamente, ya que únicamente se permite una imagen de referencia para dirección hacia adelante para un fragmento de tipo de fragmento P, puede determinarse una imagen de referencia correspondiente a un índice de referencia colocado a partir de la lista de imagen de referencia de primera dirección.
Cuando se determina un pronosticador de vector de movimiento de un bloque actual al utilizar un vector de movimiento de un bloque colocado, se determina un vector de movimiento del bloque actual al utilizar el pronosticador de vector de movimiento del bloque actual, y puede determinarse un bloque de referencia del bloque actual al utilizar el vector de movimiento determinado.
En lo sucesivo, se describirá un proceso para realizar predicción de movimiento al utilizar la imagen de referencia determinada por el aparato 10 de conformidad con una modalidad con referencia a las Figuras 2A y 2B. También, se describirá un proceso para realizar compensación de movimiento al utilizar la imagen de referencia determinada por el aparto 10 de conformidad con una modalidad con referencia a las Figuras 3A y 3B.
La Figura 2A es un diagrama de bloque de un aparato de predicción de movimiento 20 correspondiente al aparato 10, de conformidad con una modalidad de la presente invención. La Figura 2B es un cuadro de flujo de un método de predicción en movimiento que realiza un método para determinar una imagen de referencia, de conformidad con una modalidad de la presente invención.
El aparato de predicción de movimiento 20 de conformidad con una modalidad incluye un pronosticador de movimiento 12 y un transmisor de información de inter-predicción 24.
En operación 21, el pronosticador de movimiento 12 de conformidad con una modalidad puede determinar un tipo de fragmento de un bloque actual. Con base en si el tipo de fragmento del bloque actual es un tipo de fragmento B o P, puede determinarse si una dirección de inter-predicción del bloque actual es una unidirección o una bidirección.
En operación 23, el pronosticador de movimiento 12 de conformidad con una modalidad puede realizar predicción de movimiento en un bloque al utilizar imágenes de referencia incluidas al menos en una de una lista de imagen de referencia de primera dirección y una lista de imagen de referencia de segunda dirección. El pronosticador de movimiento 24 de conformidad con una modalidad puede determinar una imagen de referencia para el bloque actual de entre imágenes de referencia asignadas a una lista de imagen de referencia determinada por el determinador de lista de imagen de referencia 12.
El pronosticador de movimiento 12 de conformidad con una modalidad detecta un bloque que tiene un error mínimo con respecto al bloque actual al determinar una similitud entre bloques de la imagen de referencia determinada y el bloque actual de la imagen actual. En otras palabras, se detecta un bloque muy similar a través de predicción de movimiento, y el bloque muy similar detectado puede determinarse como un bloque de referencia. También, puede determinarse de imagen que incluye el bloque de referencia detectado como una imagen de referencia. Cuando se determina al menos un bloque de referencia muy similar al bloque actual, puede determinarse al menos una imagen de referencia.
Ya que se determinan el bloque de referencia y la imagen de referencia por el pronosticador de movimiento 12 en operación 23, puede determinarse información que indica la imagen de referencia, por ejemplo, un número de la imagen de referencia en imágenes de una lista de imagen de referencia, es decir, un índice de referencia en operación 25.
El pronosticador de movimiento 12 de conformidad con una modalidad puede determinar el índice de referencia que indica la imagen de referencia determinada en operación 21, entre al menos una de las listas de imagen de referencia de primer y segunda dirección. En otras palabras, si la imagen de referencia pertenece a la lista de imagen de referencia de primera dirección, puede determinarse un índice de referencia de primera dirección. Si la imagen de referencia pertenece a la lista de imagen de referencia de segunda dirección, puede determinarse un índice de referencia de segunda dirección.
En operación 27, el transmisor de información de inter-predicción 24 de conformidad con una modalidad puede codificar información de índice de referencia.
El transmisor de información de inter-predicción 24 puede codificar el índice de referencia de primera dirección cuando la imagen de referencia determinada por el pronosticador de movimiento 12 no pertenece a la lista de referencia de segunda dirección. También, el transmisor de información de inter-predicción 24 puede codificar el índice de referencia de segunda dirección cuando la imagen de referencia determinada por el pronosticador de movimiento 12 no pertenece a la lista de referencia de primera dirección.
También, el pronosticador de movimiento 12 puede determinar un vector de movimiento que indica el bloque de referencia de entre bloques de la imagen de referencia. El pronosticador de movimiento 24 puede determinar un residuo entre el bloque de referencia y el bloque actual. Por consiguiente, el transmisor de información de inter-predicción 24 puede codificar el vector de movimiento que indica la imagen de referencia, y el residuo, una dirección de inter-predicción, y el índice de referencia. Puede transmitirse información de predicción codificada después de insertarse en una región de bloque de un flujo de bits.
El transmisor de información de inter-predicción 24 conformidad con una modalidad puede insertar información de tipo de fragmento que indica el tipo de fragmento en un encabezado de fragmento para el fragmento actual entre el flujo de bits.
El bloque actual en el cual se realiza inter-predicción puede indicarse como una unidad de predicción.
El transmisor información de modo de inter-predicción 24 puede insertar información de modo de inter-predicción que indica cualquiera de predicción de primera dirección, predicción de segunda dirección, y predicción bidireccional en una región de unidad de predicción que incluye información de predicción de un bloque de entre el flujo de bits.
También, si la información de modo de inter-predicción no indica la predicción de segunda dirección, el transmisor de información de modo de inter-predicción 24 puede insertar información de índice de referencia de primera dirección e información de valor de diferencia de un primer vector de movimiento en la región de unidad de predicción. Si se aprueba utilidad de tmvp en un grupo de parámetro de imagen, información sobre qué pronosticador de vector de movimiento es un mvp de primera dirección en una unidad de predicción actual también puede insertarse en la región de unidad de predicción.
Información sobre un pronosticador de vector de movimiento, de conformidad con una modalidad puede expresarse en un índice que indica uno de un número predeterminado de pronosticadores de vector de movimiento. Por ejemplo, ya que información sobre un pronosticador de vector de movimiento que indica uno de dos pronosticadores de vector de movimiento puede expresarse en un índice de 0 ó 1, puede utilizarse una forma de indicador. Por consiguiente, un índice de pronosticador de vector de movimiento de una lista LO para una unidad de predicción actual puede insertarse en una región de unidad de predicción. También, si información de modo de inter-predicción no indica predicción de primera dirección, el transmisor de información de modo de inter-predicción 24 puede insertar información de índice de referencia de segunda dirección e información de valor de diferencia de un segundo vector de movimiento dentro de la región de unidad de predicción. Si se aprueba utilidad de tmvp en un grupo de parámetro de imagen, información sobre que pronosticador de vector de movimiento es un mvp de segunda dirección en la unidad de dirección actual también puede insertarse dentro de la región de unidad de predicción. Un índice pronosticador de vector de movimiento de una lista LO para la unidad de predicción actual puede insertarse dentro de la región de unidad de predicción.
Por consiguiente, el transmisor de información de modo de inter-predicción 24 de conformidad con una modalidad puede insertar información generada como resultados de inter-predicción dentro del encabezado de fragmento y la región de unidad de predicción, y puede transmitir el flujo de bits incluyendo el encabezado de fragmento y la unidad de predicción.
El transmisor de información de modo de inter-predicción 24 de conformidad con otra modalidad puede insertar información que indica utilidad de un tmvp dentro de un grupo de parámetro de imagen de una imagen. Sí información de tipo de fragmento insertada dentro del encabezado de fragmento indica un tipo de fragmento B en la imagen capaz de utilizar el tmvp, el transmisor de información de modo de inter-predicción 24 puede insertar información que indica si existe una imagen incluyendo un bloque colocado entre la vista de imagen de referencia de primera dirección dentro del encabezado de fragmento.
También, el transmisor de información de modo de inter-predicción 24 de conformidad con otra modalidad puede insertar información de índice de referencia colocada dentro del encabezado de fragmento sin importar un tipo de fragmento P o un tipo de fragmento B.
El transmisor de información de modo de inter-predicción 24 de conformidad con una modalidad puede codificar por entropía información de modo de inter-predicción al utilizar un modelo de contexto determinado para cada binario de la información de modo de inter-predicción. El transmisor de información de modo inter-predicción 24 puede transmitir una secuencia de bits generada al realizar codificación por entropía no sólo en varios símbolo generados como resultados de inter-predicción, es decir, la información de modo de inter-predicción, sino también en información de valor de diferencia de un vector de movimiento e información de índice de referencia.
La Figura 3A es un diagrama de bloque de un aparato de compensación de movimiento 30 correspondiente al aparato 10 para determinar una imagen de referencia, de conformidad con una modalidad de la presente invención. La Figura 3B es un cuadro de flujo de un método de compensación de movimiento que realiza un método para determinar una imagen de referencia, de conformidad con una modalidad de la presente invención.
El aparato de condensación de movimiento 30 de conformidad con una modalidad incluye un receptor de información de modo de inter-predicción 32 y un compensador de movimiento 34.
Generalmente, pueden realizarse predicción de movimiento y compensación de movimiento durante un proceso de codificación de video. También, puede realizarse compensación de movimiento durante un proceso de decodificación de video. Con el fin de generar una imagen restaurada idéntica a una imagen original a través de compensación de movimiento después de predicción de movimiento realizada en la imagen original, se realiza compensación de movimiento al utilizar información de referencia y un residuo generado a través de la predicción de movimiento. Por consiguiente, con el fin de codificar y decodificar un bloque de inter-modo durante el proceso de codificación de video y el proceso de decodificación de video, la información de referencia (un índice de referencia y un vector de movimiento) e información sobre el residuo se transfieren.
En operación 31, el receptor de información de modo de inter-predicción 32 de conformidad con una modalidad puede analizar información de tipo de fragmento a partir de un encabezado de fragmento entre un flujo de bits recibido. Un tipo de fragmento de un fragmento actual puede determinarse al utilizar la información de tipo de fragmento analizada.
En operación 33, el receptor de información de modo de inter-predicción 32 de conformidad con una modalidad puede analizar información de código de inter-predicción que indica una dirección de inter-predicción de un bloque actual (unidad de predicción) a partir de una región de unidad de predicción, entre el flujo de bits recibido. Por consciente, el compensador de movimiento 34 puede leer a partir de la información de modo de inter-predicción analizada cual de una predicción de primera dirección, una predicción de segunda dirección, y una predicción bidireccional se indica por información de modo de inter-predicción del bloque actual.
El receptor de información de modo de inter-predicción 34 de conformidad con una modalidad puede restaurar la información de modo de inter-predicción al realizar decodificación por entropía utilizando un modelo de contexto determinado por binario, en una secuencia de bits que incluye la información de modo de inter-predicción entre el flujo de bits.
El receptor de información de modo de inter-predicción 32 de conformidad con una modalidad puede analizar información de índice de referencia de primera dirección e información de valor de diferencia de un primer vector de movimiento, a partir de una región de unidad de predicción incluyendo información de predicción de un bloque entre el flujo de bits recibido. También, información de índice de referencia de segunda dirección e información de valor de diferencia de un segundo vector de movimiento pueden analizarse a partir de la región de unidad de predicción.
Por consiguiente, en operación 35, el receptor de información de modo de inter-predicción 32 de conformidad con una modalidad puede analizar información de índice de referencia primera dirección a partir de la región de unidad de predicción cuando una dirección de inter-predicción leída a partir de la información de modo de inter-predicción no es una segunda dirección. Puede determinarse una imagen de referencia de primera dirección entre una lista de imagen de referencia de primera dirección, con base en la información de índice de referencia de primera dirección analizada. Si la dirección de inter-predicción no es la segunda dirección, la información de valor de diferencia del primer vector de movimiento puede analizarse junto con el índice de referencia de primera dirección, a partir de la región de unidad de predicción. Si se aprueba utilidad de tmvp en un grupo de parámetro de imagen, puede analizarse información sobre si se utiliza un mvp de primera dirección en una unidad de predicción actual a partir de la región unidad de predicción.
También, en operación 37, el receptor de información de modo de inter-predicción 32 de conformidad con una modalidad puede analizar información de índice de referencia de segunda dirección a partir de la región de unidad de predicción, si la dirección de inter-predicción leída a partir de la información de modo de inter-predicción no es una primera dirección. Puede determinarse una imagen de referencia de segunda dirección entre una lista de imagen de referencia de segunda dirección, con base en la información de índice de referencia de segunda dirección analizada. Si la dirección de inter-predicción no es la primera dirección, la información de valor de diferencia del segundo vector de movimiento puede analizarse junto con el índice de referencia de segunda dirección, a partir de la región de unidad de predicción. SI se aprueba utilidad de tmvp en el grupo de parámetro de imagen, puede analizarse información sobre si se utiliza un mvp de segunda dirección en la unidad de predicción actual a partir de la región de unidad de predicción.
En otras palabras, si la dirección de inter-predicción leída partir de la información de modo de inter-predicción es una bidirección, el receptor de información de modo de inter-predicción 32 de conformidad con una modalidad puede leer un índice de referencia bidireccional, un valor de diferencia de vector de movimiento, e información de uso de tmvp al analizar la información de índice de referencia de primera dirección y la información de valor de diferencia del primer vector de movimiento, y la información de índice de referencia de segunda dirección y la información de valor de diferencia del segundo vector de movimiento a partir de la región de unidad de predicción.
El receptor de información de modo de inter-predicción 32 de conformidad con otra modalidad puede analizar información que indica utilidad de un tmvp a partir del grupo de parámetro de imagen con respecto a la imagen actual entre el flujo de bits recibido. Si se puede utilizar el tmvp, el receptor de información de modo de inter-predicción 32 de conformidad con otra modalidad puede analizar información a partir del encabezado de fragmento, la información indica si existe una imagen que incluya una imagen colocada en la lista de imagen de referencia de primera dirección.
También, si se puede utilizar el tmvp, el receptor de información de modo de inter-predicción 32 de conformidad con otra modalidad puede analizar información de índice de una imagen incluyendo un bloque colocado entre una lista de imagen de referencia predeterminada, a partir del encabezado de fragmento. Información de índice de referencia colocada puede analizarse a partir del encabezado de fragmento sin importar si un fragmento es un tipo de fragmento P o un tipo de fragmento B.
El receptor de información de modo de inter-predicción 32 de conformidad con una modalidad puede analizar información de índice de referencia, un valor de referencia de un vector de movimiento, y un residuo de conformidad con bloques de inter-modo incluidos en un fragmento, a partir del flujo de bits recibido.
En operación 39, el compensador de movimiento 34 de conformidad con una modalidad puede realizar compensación de movimiento después de determinar una imagen de referencia por bloque de una imagen actual .
El compensador de movimiento 34 de conformidad con una modalidad puede determinar una imagen de referencia indicada por un índice de referencia de entre una lista de imagen de referencia. Un vector de movimiento de un bloque actual puede determinarse al utilizar un vector de movimiento previo y un valor de diferencia del vector de movimiento, y un bloque de referencia indicado por el vector de movimiento puede determinarse de entre bloques de una imagen de referencia. El compensador de movimiento 34 puede restaurar el bloque actual al compensar el bloque de referencia por un residuo.
Por consiguiente, el compensador de movimiento 34 de conformidad con una modalidad puede realizar compensación de movimiento al utilizar la imagen de referencia determinada por bloque, el vector de movimiento, y el residuo, y generar una imagen restaurada.
El aparto de predicción de movimiento 20 de conformidad con una modalidad puede ser capaz de expresar una imagen al utilizar información de predicción en lugar de todos los datos de imagen, y de esa forma puede utilizarse para realizar codificación de video para codificación de compresión de video para reducir la cantidad de datos de video.
En detalle, el aparato de predicción de movimiento 20 de conformidad con una modalidad puede incluirse en u operar interactivamente con un codificador de video que codifica un video con base en unidades de codificación obtenidas al dividir espacialmente una imagen del video con el fin de realizar inter-predicción para codificación de video. También, cada una de las unidades de codificación puede dividirse en unidades de predicción y divisiones para inter-predicción de las unidades de codificación, y puede realizarse inter-predicción con base en las unidades de predicción y las divisiones.
Ejemplos de una unidad de codificación de conformidad con una modalidad pueden incluir no sólo bloques cada uno que tiene una forma fijamente determinada sino también unidades de codificación de conformidad con una estructura de árbol de conformidad con una modalidad. Unidades de codificación de conformidad con una estructura de árbol y unidades de predicción y divisiones de las mismas de conformidad con una modalidad se describen en detalle con referencia a las Figuras 11 a 23 a continuación.
El aparato de predicción de movimiento 20 de conformidad con una modalidad puede enviar un error de predicción, es decir, un residuo, con respecto a una imagen de referencia al realizar inter-predicción en datos de imagen de bloques de imagen o unidades de codificación. El aparato de predicción de movimiento 20 puede realizar transformación y cuantificación en el residuo para generar un coeficiente de transformación cuantificado, realizar codificación por entropía en símbolos, tal como el coeficiente de transformación, información de referencia, e información de codificación, y entonces enviar un flujo de bits. El aparato de predicción de movimiento 20 de conformidad con una modalidad también puede codificar y enviar símbolos incluyendo información relacionada con lista LO e información relacionada con lista Ll, que incluye información sobre un orden de referencia o número de imágenes incluidas en cada lista de imagen de referencia, e información relacionada con lista de imagen de referencia, tal como información relacionada con cambios de una lista de imagen de referencia.
El aparato de predicción de movimiento 20 puede restaurar una imagen en un dominio espacial al realizar cuantificación inversa, transformación inversa, y compensación de predicción de nuevo en el coeficiente de transformación, y realizar filtración en circuito para generar una imagen restaurada. En otras palabras, el aparato de predicción de movimiento 20 de conformidad con una modalidad puede hacer referencia a una imagen restaurada generada por un codificador de video, al utilizar al menos una de la lista LO y la lista Ll, para realizar inter-predicción en una imagen actual que es un fragmento B. Ya que la imagen restaurada generada como tal se utiliza como una imagen de referencia para predicción de movimiento de una imagen de salida subsecuente, el aparato de predicción de movimiento 20 puede determinar información de referencia y un residuo realizar inter-predicción de nuevo en la imagen de entrada subsecuente.
De esa forma, el aparato de predicción de movimiento 20 puede realizar codificación de compresión de video a través de predicción de movimiento.
El aparato de predicción de movimiento 20 de conformidad con una modalidad puede realizar una operación de codificación de video incluyendo predicción de movimiento al operarse de manera interactiva con un procesador de codificación de video ahí montado o un procesador de codificación de video externo para enviar un resultado de codificación de video. El procesador de codificación de video incluido en el aparato de predicción de movimiento 20 de conformidad con una modalidad puede ser un procesador adicional, o una unidad de procesamiento central (CPU, por sus siglas en inglés) o una unidad de procesamiento gráfico puede impulsar un módulo de procesamiento de codificación de video para realizar una operación de codificación de video básica .
Después, se describirá un proceso de decodificación de video.
El aparato de compensación de movimiento 30 de conformidad con una modalidad puede restaurar una imagen al utilizar información de predicción en lugar de todos los datos de imagen, al recibir un flujo de bits comprimido a través de predicción en movimiento.
El aparato de compensación de movimiento 30 de conformidad con una modalidad puede analizar un índice de referencia que indica una imagen de referencia para un bloque actual, un vector de movimiento, y un residuo desde una región de bloque de flujo de bits.
El aparato de compensación de movimiento 30 de conformidad con una modalidad puede realizar compensación de movimiento para decodificación de video al incluirse en, operar en, u operar interactivamente con un decodificador de video que codifica un video con base en unidades de codificación obtenidas al dividir una imagen de un video de conformidad con dominios espaciales. También, una unidad de codificación para compensación de movimiento puede incluir unidades de predicción y divisiones, y compensación de movimiento puede realizarse con base en las unidades de predicción y las divisiones. Como se describió anteriormente, una unidad de codificación de conformidad con una modalidad puede no incluir sólo bloques, cada uno que tiene una forma fijamente predeterminada sino también unidades de codificación de conformidad con una estructura de árbol de conformidad con una modalidad.
El aparato de compensación de movimiento 30 de conformidad con una modalidad puede analizar símbolos de un coeficiente de transformación, información de referencia, información de codificación, etc., al realizar decodificación por entropía en el flujo de bits recibidos. El aparato de compensación de movimiento 30 de conformidad con una modalidad puede analizar símbolos incluyendo información relacionada con lista de imagen de referencia.
El aparato de compensación de movimiento 30 de conformidad con una modalidad puede restaurar un residuo en un dominio espacial al realizar cuantificación inversa y transformación inversa en el coeficiente de transformación analizado de conformidad con unidades de transformación.
El aparato de compensación de movimiento 30 de conformidad con una modalidad puede restaurar una imagen en un dominio espacial a través de compensación de movimiento para compensar un bloque de referencia para un residuo de conformidad con divisiones. De conformidad con una modalidad, el aparato de compensación de movimiento 30 puede determinar un imagen de referencia y un bloque de referencia indicado por un vector de movimiento en la imagen de referencia al hacer referencia a una imagen pre-restaurada incluida al menos en una de una lista LO y una lista Ll para realizar compensación de movimiento en una división actual de fragmento B. Al agregar un residuo al bloque de referencia determinado como tal, puede generarse el bloque restaurado.
El aparato de compensación de movimiento 30 de conformidad con una modalidad puede minimizar un error entre el bloque restaurado y un bloque original al realizar filtración de desbloqueo y filtración de desplazamiento adaptable de muestra (SAO, por sus siglas en inglés) y el bloque restaurado en el dominio espacial. El bloque restaurado puede utilizarse como un bloque de referencia para predicción de un bloque subsecuente.
Por consiguiente, puede realizarse decodificación de compresión de video a través de compensación de movimiento del aparato de compensación de movimiento 30.
El aparato de compensación de movimiento 30 de conformidad con una modalidad puede realizar una operación de decodificación de video incluyendo compensación de movimiento al operarse interactivamente con un procesador de decodificación de video montado ahí o un procesador de decodificación de video o externo para enviar un resultado de decodificación de video. El procesador de decodi icación de video incluido en el aparato de compensación de movimiento 30 de conformidad con una modalidad puede ser un procesador adicional, o una CPU o una unidad de procesamiento gráfico puede impulsar un módulo de procesamiento de decodificación de video para realizar una operación de decodificación de video básica.
En lo sucesivo, se describirá sintaxis de información relacionada con inter-predicción, que se transmite mediante el aparato de predicción de movimiento 20 y analizada mediante el aparato de compensación de movimiento 30, de conformidad con una modalidad, con referencia a las Figuras 4 a 10.
La Figura 4 ilustra dos modalidades de información de dirección de inter-predicción.
La información de modo de inter-predicción inter_pred_flag 40 de conformidad con una primera modalidad no se define de manera separada en caso de un tipo de fragmento P. En el caso de un tipo de fragmento P, incluso cuando no se define la información de modo de inter-predicción 40, puede inferirse que inter-predicción es predicción hacia adelante utilizado una lista LO. Sin embargo, únicamente en el caso de un tipo de fragmento B, la información de modo de inter-predicción inter_pred_flag 40 puede indicar si inter-predicción es dirección de bi-predicción Pred_LC o predicción bidireccional Pred_BI de conformidad con una combinación de lista de imagen de referencia .
De conformidad con la información de modo de inter-predicción 40 de la primera modalidad, incluso cuando una dirección de inter-predicción es una dirección de bi-predicción en el caso de un tipo de fragmento B, una imagen de referencia es realmente una imagen incluida en una de una lista LO y una lista Ll . Sin embargo, ya que información de índice de referencia proporcionada con base en la información de modo de inter-predicción 40 en la dirección de bi-predicción es un índice de referencia en la combinación de lista de imagen de referencia, puede aumentar la inconveniencia de combinar listas de imagen de referencia al utilizar la lista LO y la lista Ll y entonces al redistribuir índices de las minas.
Información de modo de inter-predicción inter_pred_idc 45 de conformidad con una segunda modalidad no utiliza un índice de referencia de conformidad con una combinación de lista de imagen de referencia. De esa forma, puede no combinarse una lista LO y una lista Ll .
La inter_pred_idc 45 puede indicar si una dirección inter-predicción de un bloque de tipo de fragmento B es una dirección de predicción de LO Pred_L0 o una dirección de predicción de LO Pred_Ll. Ya que únicamente se permite una dirección hacia adelante PRED_L0 en un fragmento P, la inter_pred_idc 45 no se utiliza. En otras palabras, la inter_pred_idc 45 puede no ser determinada para indicar una dirección de inter-predicción de un tipo de fragmento P. Por consiguiente, inter-predicción de un tipo de fragmento P puede inferirse para ser predicción hacia adelante incluso si la inter_pred_idc 45 no existe de manera separada.
La información de modo de inter-predicción inter_pred_idc 45 de conformidad con la segunda modalidad puede determinarse únicamente para inter-predicción de una unidad de predicción de tipo de fragmento B. En detalle, nPbW y nPbH respectivamente denotan un ancho y una altura de una unidad de predicción actual. Por consiguiente, si una suma (nPbW+nPbH) del ancho y la altura de la unidad de predicción es 12, por ejemplo, si un tamaño de la unidad de predicción es 4x8 u 8x4, puede no permitirse inter-predicción bidireccional incluso para la unidad de predicción de tipo de fragmento B. Si la suma del ancho y la altura no es 12, información de modo de inter-predicción 45 que indica cualquiera de predicción hacia adelante Pred_L0, predicción hacia atrás Pred_Ll, y predicción bidireccional Pred_BI puede determinarse para la unidad de predicción de tipo de fragmento B .
Por consiguiente, si una suma de un ancho y una altura de unidad de predicción actual de tipo de fragmento B no es 12, el aparto de predicción de movimiento 20 puede insertar la información de modo de inter-predicción 45 indicando cualquiera de predicción hacia adelante Pred_L0, predicción hacia atrás Pred_Ll, y predicción bidireccional Pred_BI dentro de una región de unidad de predicción entre un flujo de bits. Por otro lado, si una suma de un ancho y una altura de una unidad de predicción actual es 12, la información de modo de inter-predicción 45 que indica cualquiera de predicción hacia adelante Pred_L0 y predicción hacia atrás Pred_Ll puede leerse a partir de una región de unidad de predicción entre un flujo de bits.
El aparato de compensación de movimiento 30 puede no analizar la inter_pred_idc 45 con respecto a una unidad de predicción de tipo de fragmento P. La inter-predicción de un tipo de fragmento P puede inferirse para ser predicción hacia adelante incluso cuando la inter_pred_idc 45 no existe de manera separada.
Por consiguiente, si la información de modo de inter-predicción 45 de conformidad con la segunda modalidad se analiza a partir de la región de unidad de predicción del flujo de bits y la suma del ancho y la altura de la unidad de predicción actual no es 12, el aparato de compensación de movimiento 30 puede leer cualquiera de la predicción hacia adelante Pred_L0, la predicción hacia atrás Pred_Ll, y la predicción bidireccional Pred_BI a partir de la información de modo de inter-predicción 45. Sin embargo, si la suma del ancho y la altura de la unidad de predicción actual es 12, cualquiera de la predicción hacia adelante Pred_L0 y la predicción hacia atrás Pred_Ll puede leerse a partir de la información de modo de inter-predicción 45.
Consecuentemente, de conformidad con la información de modo de inter-predicción 45 de la segunda modalidad, no se forma una nueva lista de imagen de referencia o no se busca un nuevo índice de referencia incluso para predicción bidireccional , y de esa forma puede determinarse una imagen de referencia a través de un procedimiento más simple.
La Figura 5 ilustra sintaxis de una porción de un encabezado de fragmento 50 modificado de conformidad con una modalidad de la presente invención. La Figura 6 ilustra sintaxis de un grupo de parámetro de una combinación de lista de imagen de referencia eliminada de conformidad con una modalidad de la presente invención. ' slice_header ( ) ' 50 indica un encabezado de fragmento. x ref_pic_list_combination ( ) ' 60 indica un grupo de parámetro relacionado con una combinación de lista de imagen de referencia. xref_pic_list_modification( ) ' 54 indica un grupo de parámetro relacionado con modificación de lista de imagen de referencia.
El aparato de predicción de movimiento 20 puede codificar parámetros relacionados con fragmento al incluir varios tipos de información requerida para decodificar un fragmento actual a 4 slice_header ( ) ' 50. El aparato de compensación movimiento 30 puede analizar los parámetros relacionados con fragmento a partir de ' slice_header ( ) ' 50 para leer los varios tipos de información requeridos para decodificar el fragmento actual.
Puede determinarse una lista de imagen de referencia por fragmento, de conformidad con tipos de fragmento.
Sí * lists_modifications_present_flag' 52 incluida en un grupo de parámetro de secuencia indica que es posible modificar listas de imagen de referencia determinadas en una secuencia actual, el aparato de predicción de movimiento 20 de conformidad con una modalidad puede insertar ' ref_j?ic_list_modification ( ) ' 54 incluyendo información detallada sobre un método para modificar una lista de imagen de referencia en ? slice_header ( ) ' 60.
Ya que no se utiliza una combinación de lista de imagen de referencia incluso para predicción bidireccional de tipo de fragmento BI de conformidad con la información de modo de inter-predicción 45 de conformidad con la segunda modalidad, ' ref_pic_list_combination ( ) ' 60 puede no insertarse dentro de slice_header ( ) ' 50.
Sí ' lists_modifications_present_flag' 52 leído del grupo de parámetro de secuencia indica que es posible modificar las listas de imagen de referencia determinadas en la secuencia actual, el aparato de compensación de movimiento 30 de conformidad con una modalidad puede analizar 4 ref_pic_list_modif ication ( ) ' 54 incluyendo información detallada sobre un método para modificar una lista de imagen de referencia a partir de ' slice_header ( ) ' 50.
También, ya que la combinación de lista de imagen de referencia no se utiliza incluso para predicción bidireccional de tipo de fragmento B de conformidad con la información de modo de inter-predicción 45 de conformidad con la segunda modalidad, 4 ref_pic_list_combination ( ) ' 60 no se analiza a partir de 4 slice_header ( ) ' 50.
La Figura 7 ilustra sintaxis de una tabla de peso de predicción 70 modificada de conformidad con una modalidad de la presente invención.
La Tabla de peso de predicción 70 de conformidad con una modalidad incluye información relacionada con un peso aplicado a un parámetro relacionado con predicción de conformidad con componentes luma y componentes croma en un fragmento actual .
En detalle, si un tipo de fragmento actual es un tipo de fragmento B 71, puede determinarse información de peso 73 de un parámetro relacionado con predicción para predicción Ll . Sin embargo, ya que no se utiliza una combinación de lista de imagen de referencia incluso para predicción bidireccional de tipo de fragmento B de conformidad con la información de modo de inter-predicción 45 de la segunda modalidad, el aparato de predicción de movimiento 20 de conformidad con una modalidad puede incluir la información de peso 73 del parámetro relacionado con predicción para predicción de Ll en la tabla de peso de predicción 70 sin tener que realizar un proceso para determinar si existe una combinación de lista de imagen de referencia actual. También, información de peso 75 de un parámetro relacionado con predicción que utiliza una combinación de lista de imagen de referencia no se incluirá adicionalmente en la tabla de peso de predicción 70.
Similarmente , el aparato de compensación de movimiento 30 de conformidad con una modalidad puede analizar la tabla de peso de predicción 70 desde un encabezado de fragmento de un flujo de bits. También, cuando un fragmento actual es un tipo de fragmento B, la información de peso 70 del parámetro relacionado con predicción para predicción de Ll puede analizarse a partir de la tabla de peso de predicción 70 sin tener que determinar si existe una combinación de lista de imagen de referencia actual. También, puede omitirse un proceso de analizar la información de peso 75 del parámetro relacionado con predicción utilizando una combinación de lista de imagen de referencia a partir de la tabla de peso de predicción 70.
La Figura 8 ilustra sintaxis de una región de unidad de predicción 80 modificada de conformidad con una modalidad de la presente invención.
La región de unidad de predicción 80 de conformidad con una modalidad incluye información de predicción incluyendo índices de referencia ? ref_idx_I0 ' y ,ref_idx_Il' e información relacionada con vector de movimiento ,mvd_I0', ^??_?1', 4mvp_I0_flag' , y *mvd_Il_flag' que se determinan de conformidad con una dirección de predicción en una unidad de predicción actual .
Si un tipo de fragmento actual ' slice_type' es un tipo de fragmento B 81, el aparato de predicción en movimiento 20 de conformidad con una modalidad puede insertar una dirección de inter-predicción 1 inter_pred_flag' 82 de la unidad de predicción actual en la región de unidad de predicción 80. Sin embargo, ya que la predicción bidireccional que utiliza una combinación de lista de imagen de referencia no se utiliza también para un tipo de fragmento B de conformidad con la información de modo de inter-predicción 45 de conformidad con la segunda modalidad, el aparato de predicción en movimiento 20 de conformidad con una modalidad puede no insertar información de predicción 83 relacionada con una combinación de lista de imagen de referencia dentro de la región unidad de predicción 80. El aparato de predicción de movimiento 20 de conformidad con una modalidad puede no insertar la información de predicción 82 relacionada con una combinación de lista de imagen de referencia dentro de la región de unidad de predicción 80.
Sí inter-predicción de la unidad de predicción actual no es predicción de Ll como en sintaxis 84 y existe una imagen de referencia activa en una l ista LO como en sintaxis 85 , el aparato de predicción en movimiento 20 de conformidad con una modal idad puede incluir información de predicción 86 de conformidad con predicción de LO a la región de unidad de predicción 80 . También, si la inter-predicción no es predicción de LO como en sintaxis 88 y existe una imagen de referencia activa en una lista Ll como en sintaxis 89 sin tener que determinar si la inter-predicción de la unidad de predicción actual es predicción bidireccional como en sintaxis 87 , puede incluirse información de predicción 80 de conformidad con predicción de Ll en la región de unidad de predicción 80.
Si el tipo de fragmento actual v slice_type' es el tipo de fragmento B 81, el aparto de compensación de movimiento 30 de conformidad con una modalidad puede analizar la dirección de inter-predicción , inter_pred_flag' 82 de la unión de predicción actual a partir de la región de unidad de predicción 80 . Sin embargo , el aparato de compensación de movimiento 30 de conformidad con una modal idad puede no anali zar la información de predicción 83 relacionada con una combinación de l ista de imagen de referencia a partir de la región de unidad de predicción 80 .
Si la inter-predicción de la unidad de predicción actual no es predicción de Ll como en sintaxis 84 y la imagen de referencia activa existe en la lista Ll como en sintaxis 85, el aparato de compensación de movimiento 30 de conformidad con una modalidad puede analizar la información de predicción 86 de conformidad con predicción de LO a partir de la región de unidad de predicción 80. También, si la inter-predicción no es predicción de LO como en sintaxis 88 y la imagen de referencia activa existe en la lista Ll como en sintaxis 89 sin tener que determinar si la inter-predicción de la unidad de predicción actual es predicción bidireccional como en sintaxis 87, la información de predicción 90 de conformidad con predicción de Ll puede analizarse a partir de la región de unidad de predicción 80.
La Figura 9 ilustra sintaxis de un grupo de parámetro de imagen de conformidad con una modalidad de la presente invención. El encabezado de fragmento puede corresponder a un encabezado de segmento de fragmento de un segmento de fragmento independiente.
El aparato de predicción de movimiento 20 de conformidad con una modalidad puede determinar si pronosticador de vector de movimiento de tiempo tmvp se puede utilizar en una imagen actual. Por consiguiente, el aparato de predicción de movimiento 20 de conformidad con una modalidad puede insertar información de utilidad de tmvp ¾ slice_temporal_mvp_enabled_flag' 93 dentro de un encabezado de fragmento 91. El pronosticador de vector de movimiento temporal de conformidad con una modalidad puede utilizarse para predecir un vector de movimiento de un bloque actual al utilizar un vector de movimiento de una imagen colocada. Ya que se incluye la información de utilidad de tmvp 93 de conformidad con el encabezado de fragmento 81, puede determinarse utilidad de un tmvp por fragmento.
La información de utilidad slice_temporal_mvp_enabled_flag' 93 de un pronosticador de vector de movimiento temporal indica si el tmvp se puede utilizar para inter-predicción en una imagen actual. El tmvp puede utilizarse para determinar un vector de movimiento actual al utilizar un vector de movimiento en una imagen de referencia. Si la slice_temporal_mvp_enabled_flag' 93 es aprobada en una imagen, puede utilizarse un mvp al menos en un fragmento incluido en la imagen actual .
Similarmente , el aparato de compensación de movimiento 30 de conformidad con una modalidad puede analizar la información de utilidad slice_temporal_mvp_enabled_flag' 93 de un pronosticador de vector de movimiento temporal a partir del encabezado de fragmento 91. Se determina sí se puede predecir el vector de movimiento actual al utilizar el pronosticador de vector movimiento temporal en la imagen actual al leer la información de utilidad analizada 93 del pronosticador de vector movimiento temporal. Ya que la información de utilidad de tmvp 93 es analizada por el encabezado de fragmento 91, puede determinarse utilidad de un tmvp por fragmento.
La Figura 10 ilustra sintaxis y otra porción del encabezado de fragmento modificado de conformidad con una modalidad de la presente invención.
Puede determinarse si se puede utilizar una imagen de referencia colocada en un fragmento actual, con base en la información de utilidad de tmvp slice_temporal_mvp_enabled_flag' 93 utilizada en el encabezado de fragmento 91 de la Figura 9.
Si se puede utilizar un pronosticador de vector de movimiento temporal en una secuencia actual como en sintaxis 101, el aparato de predicción de movimiento 20 de conformidad con otra modalidad puede insertar información relacionada con imagen colocada 105 para un fragmento actual en el encabezado de fragmento actual 91.
Por ejemplo, si un tipo de fragmento actual ¾ slice_type' es un tipo de fragmento B 103, la información relacionada con imagen colocada 105 puede incluir información ? collocated_from_I0_flag' que indica si existe un bloque colocado entre imágenes de referencia incluidas en una lista LO, para el encabezado de fragmento actual 91. También, información de índice de referencia 1 collocated_ref_idx' de una imagen colocada puede incluirse sin importar un tipo de fragmento P o un tipo de fragmento B. Por ejemplo, la información de índice de referencia 1 collocated_ref_idx' puede indicar un índice de una imagen de referencia actual de entre imágenes de referencia colocadas en una dirección predeterminada .
Si se determina que un pronosticador de vector de movimiento temporal se puede utilizar en un grupo de parámetro de secuencia actual 91 como en sintaxis 101, el aparto de compensación de movimiento 30 de conformidad con otra modalidad puede analizar la información relacionada con imagen colocada 105 para el fragmento actual a partir del encabezado de fragmento actual 91. Si el tipo de fragmento actual ' slice_type' es un tipo de fragmento B 103, puede analizarse información que indica si existe un bloque colocado entre imágenes de referencia incluidas en una lista LO y también información de índice de referencia de una imagen colocada a partir de la información relacionada con imagen colocada 105.
En detalle, si se utiliza un pronosticador de vector de movimiento temporal y un fragmento es un tipo de fragmento B, puede determinarse una dirección de un bloque colocado que se va a utilizar a partir de ,collocated_from_10_flag' .
También, si se utiliza un pronosticador de vector de movimiento temporal, puede leerse qué imagen de referencia se utiliza para determinar un bloque colocado a partir de un bloque colocado de entre imágenes de referencia colocadas en una dirección predeterminada a partir de 1 collocated_ref_idx' . ' collocated_ref_idx' también puede utilizarse en caso de un tipo de fragmento P.
Ya que ? collocated_from_I0_flag' que indica sí existe una imagen colocada en una dirección predeterminada y la información de índice de referencia ? collocated_ref_idx' de la imagen colocada se incluyen en el encabezado de fragmento actual únicamente cuando se utiliza el pronosticador de vector de movimiento temporal, puede señalarse información de similitud relacionada con la imagen colocada únicamente cuando se utiliza el pronosticador de vector de movimiento temporal en el fragmento actual .
Como se describió anteriormente, puede determinarse una imagen de referencia para predicción unidireccional y predicción bidireccional a través de un procedimiento más simple ya que no se requiere una nueva lista de imagen de referencia para formarse además de una lista LO y una lista Ll o no se requiere buscar un nuevo índice de referencia incluso para inter-predicción bidireccional, al utilizar al menos uno del aparato 10, el aparato de predicción de movimiento 20, y el aparto de compensación de movimiento 30 de conformidad con varias modalidades. También, ya que no se requiere codificación de símbolo en una combinación de lista de imagen de referencia, se omite un proceso para transmitir información relacionada con lista de imagen de referencia necesaria, y de esa forma puede reducirse una cantidad de bit de transmisión. Similarmente, ya que se omite un proceso para analizar la información relacionada con lista de imagen de referencia innecesaria, también puede acortarse un proceso de análisis de datos.
Como se describió anteriormente, el aparato 10, el aparato de predicción de movimiento 20, y el aparto de compensación de movimiento 30 de conformidad con varias modalidades descritas anteriormente con referencia a las Figuras 1A a 10 realizar predicción de movimiento y compensación de movimiento de conformidad con divisiones determinadas en unidades de codificación de conformidad con una estructura de árbol. En lo sucesivo, se describirán un método de codificación de video y un método de decodificación de video con base en unidades de codificación de conformidad con la estructura de árbol, de conformidad con modalidades de la presente invención, con referencia a las Figuras 11 a 23.
La Figura 11 es un diagrama de bloque de un aparato de codificación de video 100 con base en unidades de codificación de conformidad con una estructura de árbol, de conformidad con una modalidad de la presente invención.
El aparato de codificación de video 100 que involucra predicción de video con base en unidades de codificación de conformidad con una estructura de árbol, de conformidad con una modalidad, incluye un determinador de unidad de codificación 120 y una unidad de salida 130. El determinador de unidad de codificación 120 puede dividir una imagen actual con base en una unidad de codificación máxima que es una unidad de codificación que tiene un tamaño máximo para una imagen actual de una imagen. Si la imagen actual es más grande que la unidad de codificación máxima, pueden dividirse datos de imagen de la imagen actual en al menos una unidad de codificación máxima. La unidad de codificación máxima de conformidad con una modalidad puede ser una unidad de datos que tiene un tamaño de 32x32, 64x64, 128x128, 256x256, etc., en donde una forma de la unidad de datos es un cuadrado que tiene un ancho y altura en cuadrados de 2.
Una unidad de codificación de conformidad con una modalidad puede caracterizarse por un tamaño máximo y una profundidad. La profundidad denota el número de veces que la unión de codificación se divide espacialmente a partir de la unidad de codificación máxima, y a medida que se intensifica la profundidad, unidades de codificación más profundas de conformidad con profundidades pueden dividirse de la unidad de codificación máxima a una unidad de codificación mínima. Una profundidad de la unidad de codificación máxima es una profundidad superior y la profundidad de la unidad de codificación mínima es una profundidad inferior. Ya que un tamaño de una unidad de codificación correspondiente a cada profundidad disminuye a medida que se intensifica la profundidad de la unidad de codificación máxima, una unidad de codificación correspondiente a una profundidad superior por incluir una pluralidad de unidades de codificación correspondientes a profundidades inferiores.
Como se describió anteriormente, los datos de imagen de la imagen actual se dividen en unidades de codificación máxima de conformidad con un tamaño máximo de la unidad de codificación, y cada una de las unidades de codificación máxima puede incluir unidades de codificación más profunda que se dividen de conformidad con profundidades. Ya que la unidad de codificación máxima de conformidad con una modalidad se divide de conformidad con profundidades, los datos de imagen de un dominio espacial incluidos en la unidad de codificación máxima pueden clasificarse jerárquicamente de conformidad con profundidades .
Una profundidad máxima y un tamaño máximo de una unidad de codificación, que limitan el número total de veces que se divide jerárquicamente una altura y un ancho de la unidad de codificación máxima, pueden predeterminarse.
El determinador de unidad de codificación 120 codifica al menos una región dividida obtenida al dividir una región de la unidad de codificación máxima de conformidad con profundidades, y determina una profundidad para enviar datos de imagen finalmente codificados de conformidad con la por lo menos una región dividida. En otras palabras, el determinador de unidad de codificación 120 determina una profundidad codificada al codificar los datos de imagen en las unidades de codificación más profunda de conformidad con profundidades, de conformidad con la unidad de codificación máxima de la imagen actual, y al seleccionar una profundidad que tiene el error de codificación mínimo. La profundidad codificada determinada y los datos de imagen codificados de conformidad con la profundidad codificada determinada se envían a la unidad de salida 130.
Los datos de imagen en la unidad de codificación máxima se codifican con base en las unidades de codificación más profunda correspondientes al menos a una profundidad igual a o por debajo de la profundidad máxima, y resultados de codificar los datos de imagen se comparan con base en cada una de las unidades de codificación más profunda. Puede seleccionarse una profundidad que tiene el error de codificación mínimo después de comparar errores de codificación de las unidades de codificación más profunda. Al menos una profundidad codificada puede seleccionarse para cada unidad de codificación máxima.
El tamaño de la unidad de codificación máxima se divide a medida que una unidad de codificación se divide jerárquicamente de conformidad con profundidades, y a medida que aumenta el número de unidades de codificación. También, incluso si unidades de codificación corresponden a la misma profundidad en una unidad de codificación máxima, se determina si se divide cada una de las unidades de codificación correspondientes a la misma profundidad a una profundidad inferior al medir un error de codificación de los datos de cada unidad de codificación, de manera separada. Por consiguiente, incluso cuando se incluyen datos de imagen en una unidad de codificación máxima, los errores de codificación pueden diferir de conformidad con regiones en una unidad de codificación máxima, y de esa forma las profundidades codificadas pueden diferir de conformidad con regiones en los datos de imagen. De esa forma, pueden determinarse una o más profundidades codificadas en una unidad de codificación máxima, y pueden dividirse los datos de imagen de la unidad de codificación máxima de conformidad con unidades de codificación de al menos una profundidad codificada.
Por consiguiente, el determinador de unidad de codificación 120 de conformidad con una modalidad puede determinar unidades de codificación de conformidad con una estructura de árbol incluida en la unidad de codificación máxima actual. Las 'unidades de codificación de conformidad con una estructura de árbol' de conformidad con una modalidad incluyen unidades de codificación correspondientes a una profundidad determinada para ser la profundidad codificada, de entre todas las unidades de codificación más profunda incluidas en la unidad de codificación máxima actual. Una unidad de codificación de una profundidad codificada puede determinarse jerárquicamente de conformidad con profundidades en la misma región de la unidad de codificación máxima, y puede determinarse independientemente en diferentes regiones. Similarmente , una profundidad codificada en una región actual puede determinarse independientemente de una profundidad codificada en otra región.
Una profundidad máxima de conformidad con una modalidad es un índice relacionado con el número de veces de división de una unidad de codificación máxima a una unidad de codificación mínima. Una primera profundidad máxima de conformidad con una modalidad puede denotar el número total de veces de división de la unidad de codificación máxima a la unión de codificación mínima. Una segunda profundidad máxima de conformidad con una modalidad puede denotar el número total de niveles de profundidad de la unidad de codificación máxima a la unidad de codificación mínima. Por ejemplo, si una unidad de codificación máxima es 0, una profundidad de una unidad de codificación, en la cual la unidad de codificación máxima es dividida una vez, puede establecerse a 1, y una profundidad de una unidad de codificación, en la cual la unidad de codificación máxima se divide dos veces, puede establecerse a 2. Aquí, si la unidad de codificación mínima es una unidad de codificación en la cual la unidad de codificación máxima es dividida cuatro veces, existen cinco niveles de profundidad de profundidades 0, 1, 2, 3, y 4, y de esa forma la primera profundidad máxima puede establecerse a 4, y la segunda profundidad máxima puede establecerse a 5.
Pueden realizarse codificación por predicción y transformación de conformidad con la unidad de codificación máxima. La codificación por predicción y la transformación también se realizan con base en las unidades de codificación más profunda de conformidad con una profundidad igual a o profundidades menores que la profundidad máxima, de conformidad con la unidad de codificación máxima.
Ya que el número de unidades de codificación más profunda aumenta en cualquier momento que se divide la unidad de codificación máxima de conformidad con profundidades, codificación, incluyendo la codificación por predicción y la transformación, se realiza en todas las unidades de codificación más profunda generadas a medida que se intensifica la profundidad. Para conveniencia de descripción, la codificación por predicción y la transformación ahora se describirán con base en una unidad de codificación de una profundidad actual, en al menos una unidad de codificación máxima .
El aparto de codificación de video 100 de conformidad con una modalidad puede seleccionar de manera variada un tamaño o forma de una unidad de datos para codificar los datos de imagen. Con el fin de codificar los datos de imagen, operaciones, tal como codificación por predicción, transformación, y codificación por entropía, se realizan, y en ese momento, puede utilizarse la misma unidad de datos para todas las operaciones o pueden utilizarse diferentes unidades de datos para cada operación.
Por ejemplo, el aparato de codificación de video 100 puede seleccionar no solamente una unidad de codificación para codificar los datos de imagen, sino también una unidad de datos diferente de la unidad de codificación para realizar la codificación por predicción en los datos de imagen en la unidad de codificación.
Con el fin de realizar codificación por predicción en la unidad de codificación máxima, la codificación por predicción puede realizarse con base en una unidad de codificación de una profundidad codificada de conformidad con una modalidad, es decir, con base en una unidad de codificación que ya no se divide. En lo sucesivo, la unidad de codificación que ya no se divide y se vuelve una base para codificación por predicción se indicará ahora como una 'unidad de predicción' . Una división obtenida al dividir la unidad de predicción puede incluir una unidad de datos obtenida al dividir al menos uno de una altura y un ancho de la unidad de predicción. Una división es una unidad de datos en donde una unidad de predicción de una unidad de codificación se divide, y una unidad de predicción puede ser una división que tiene el mismo tamaño que una unidad de codificación .
Por ejemplo, si una unidad de codificación de 2Nx2N (en donde N es un número entero positivo) ya no se divide y se vuelve una unidad de predicción de 2Nx2N, y un tamaño de una división puede ser 2Nx2N, 2NxN( Nx2N, o NxN. Ejemplos de un tipo de división de conformidad con una modalidad incluyen divisiones simétricas que se obtienen al dividir simétricamente una altura o ancho de la unidad de predicción, divisiones obtenidas al dividir asimétricamente la altura o ancho de la unidad de predicción, tal como l:n o n:l, divisiones que se obtienen al dividir geométricamente la unidad de predicción, y divisiones que tienen formas arbitrarias .
Un modo de predicción de la unidad de predicción puede ser al menos uno de un intra modo, un ínter modo, y un modo de salto. Por ejemplo, el intra modo o el ínter modo pueden realizarse en la división de 2Nx2N, 2Nx , Nx2N, o NxN. También, el modo de salto puede realizarse únicamente en la división de 2Nx2N. La codificación se realiza independientemente en una unidad de predicción en una unidad de codificación, seleccionando consecuentemente un modo de predicción que tiene un error de codificación mínimo.
El aparato de codificación de video 100 de conformidad con una modalidad también puede realizar la transformación en los datos de imagen en una unidad de codificación con base no solamente en la unidad de codificación para codificar los datos de imagen, sino también con base en una unidad de datos que es diferente de la unidad de codificación. Con el fin de realizar la transformación en la unidad de codificación, la transformación puede realizarse con base en una unidad de transformación que tiene un tamaño más pequeño que o igual a la unidad de codificación. Por ejemplo, la unidad de transformación puede incluir una unidad de datos para un intra modo y una unidad de transformación para un inter modo.
La unidad de transformación en la unidad de codificación puede dividirse de manera recursiva en unidades de transformación de tamaño más pequeño en forma similar a la unidad de codificación de conformidad con la estructura de árbol, de conformidad con una modalidad. De esa forma, pueden dividirse datos residuales en la unidad de codificación e conformidad con las unidades de transformación de conformidad con la estructura de árbol, de conformidad con profundidades de transformación.
Una profundidad de transformación que indica el número de veces de división para alcanzar la unidad de transformación al dividir la altura y ancho de la unidad de codificación también puede establecerse en la unidad de transformación de conformidad con una modalidad. Por ejemplo, en una unidad de codificación actual de 2Nx2N, una profundidad de transformación puede ser 0 cuando el tamaño de una unidad de transformación es 2Nx2N, puede ser 1 cuando el tamaño de la unidad de transformación es Nx , y puede ser 2 cuando el tamaño de la unidad de transformación es N/2xN/2. En otras palabras, la unidad de transformación de conformidad con la estructura de árbol puede establecerse de conformidad con las profundidades de transformación.
Información de codificación de conformidad con una profundidad codificada requiere no solamente información sobre la profundidad codificada, sino también información relacionada con predicción e información relacionada con transformación. Por consiguiente, el determinador de unidad de codificación 120 no solamente determina una profundidad codificada que tiene un error de codificación mínimo, sino también determina un tipo de división de divisiones obtenidas al dividir una unidad de predicción, un modo de predicción de conformidad con unidades de predicción, y un tamaño de una unidad de transformación para transformación.
Unidades de codificación de conformidad con una estructura de árbol en una unidad de codificación máxima y métodos para determinar una unidad/división de predicción, y una unidad de transformación, de conformidad con modalidades de la presente invención, se describirán en detalle posteriormente con referencia a las Figuras 13 a 23.
El determinador de unidad de codificación 120 puede medir un error de codificación de unidades de codificación más profunda de conformidad con profundidades al utilizar Optimización de Distorsión de Indice con base en multiplicadores Lagrangianos .
La unidad de salida 130 envía los datos de imagen de la unidad de codificación máxima, que se codifican con base al menos en una profundidad codificada determinada mediante el determinador de unidad de codificación 120, e información sobre el modo de codificación de conformidad con la profundidad codificada, en flujos de bits.
Los datos de imagen codificados pueden obtenerse al codificar datos residuales de una imagen.
La información sobre el modo de codificación de conformidad con profundidad codificada puede incluir información sobre la profundidad codificada, sobre el tipo de división en la unidad de predicción, el modo de predicción, y el tamaño de la unidad de transformación.
La información sobre la profundidad codificada puede definirse al utilizar información dividida de conformidad con profundidades, que indica si se realiza codificación en unidades de codificación de una profundidad inferior en lugar de una profundidad actual . Si la profundidad actual de la unidad de codificación actual es la profundidad codificada, se codifica la unidad de codificación actual en una unidad de codificación de la profundidad actual, y de esa forma puede definirse la información dividida de la profundidad actual no para dividir la unidad de codificación actual a una profundidad inferior. Alternativamente, si la profundidad actual de la unidad de codificación actual no es la profundidad codificada, se realiza la codificación de la unidad de codificación de la profundidad inferior, y de esa forma puede definirse la información dividida para dividir la unidad de codificación actual para obtener las unidades de codificación de la profundidad inferior.
Si la profundidad actual no es la profundidad codificada, se realiza codificación en la unidad de codificación que se divide en la unidad de codificación de la profundidad inferior. Ya que al menos existe una unidad de codificación de la profundidad inferior en una unidad de codificación de la profundidad actual, la codificación se realiza de manera repetida en cada unidad de codificación de la profundidad inferior, y de esa forma la codificación puede realizarse de manera recursiva para las unidades de codificación que tienen la misma profundidad.
Ya que las unidades de codificación que tienen una estructura de árbol se determinan para una unidad de codificación máxima, y se determina información sobre al menos un modo de codificación para una unidad de codificación de una profunda codificada, puede determinarse información sobre al menos un modo de codificación para una unidad de codificación máxima. También, una profundidad codificada de los datos de la unidad de codificación máxima puede ser diferente de conformidad con ubicaciones ya que los datos son divididos jerárquicamente de conformidad con profundidades, y de esa forma puede establecerse información sobre la profundidad codificada y el modo de codificación para los datos .
Por consiguiente, la unidad de salida 130 de conformidad con una modalidad puede asignar información de codificación sobre una profundidad codificada correspondiente y un modo de codificación para al menos una de la unidad de codificación, la unidad de predicción, y una unidad mínima incluida en la unidad de codificación máxima.
La unidad mínima de conformidad con una modalidad es una unidad de datos cuadrada obtenida al dividir la unidad de codificación mínima que constituye la profundidad inferior por 4. Alternativamente, la unidad mínima de conformidad con una modalidad puede ser una unidad de datos cuadrada máxima que puede incluirse en todas las unidades de codificación, unidades de predicción, unidades de división, y unidades de transformación incluidas en la unidad de codificación máxima.
Por ejemplo, la información de codificación enviada por la unidad de salida 130 puede clasificarse en información de codificación de conformidad con unidades de codificación más profunda, e información de codificación de conformidad con unidades de predicción. La información de codificación de conformidad con las unidades de codificación más profunda pueden incluir información de modo de predicción e información de tamaño de división. La información de codificación transmitida de conformidad con las unidades de predicción puede incluir información sobre una dirección estimada de un ínter modo, sobre un índice de imagen de referencia del ínter modo, sobre un vector de movimiento, sobre un componente croma de un intra modo, y sobre un método de interpolación del intra modo.
Información sobre un tamaño máximo de la unidad de codificación definida de conformidad con imágenes, fragmentos, o GOP, e información sobre una profundidad máxima pueden insertarse en un encabezado de un flujo de bits, un grupo de parámetro de secuencia, o un grupo de parámetro de imagen .
También, información sobre un tamaño máximo de la unidad de transformación permitida con respecto a un video actual, e información sobre un tamaño máximo de la unidad de transformación también pueden enviarse a través de un encabezado de un flujo de bits, un grupo de parámetro de secuencia, o un grupo de parámetro de imagen. La unidad de salida 130 puede codificar y enviar información de referencia relacionada con predicción, información de predicción, e información de tipo de fragmento.
De conformidad con una modalidad muy simple del aparato de codificación de video 100, la unidad de codificación más profunda puede ser una unidad de codificación obtenida al dividir una altura o ancho de una unidad de codificación de una profundidad superior, que es una capa encima, por dos. En otras palabras, cuando el tamaño de la unidad de codificación de la profundidad actual es 2Nx2N, el tamaño de la unidad de codificación de la profundidad inferior es NxN. También, la unidad de codificación actual que tiene un tamaño de 2Nx2N puede incluir un máximo de 4 de las unidades de codificación de la profundidad inferior que tiene un tamaño de NxN.
Por consiguiente, el aparato de codificación de video 100 puede formar las unidades de codificación de conformidad con la estructura de árbol al determinar unidades de codificación que tienen una forma óptima y un tamaño óptimo para cada unidad de codificación máxima, con base en el tamaño de la unidad de codificación máxima y la profundidad máxima determinados considerando características de la imagen actual. También, ya que puede realizarse codificación en cada unidad de codificación máxima al utilizar cualquiera de varios modos de predicción y métodos de transformación, puede determinarse un modo de codificación óptimo considerando características de la unidad de codificación de varios tamaños de imagen.
De esa forma, si se codifica una imagen que tiene una resolución muy alta o una cantidad de datos muy grande en un macrobloque convencional, el número de macrobloques por imagen aumenta excesivamente. Por consiguiente, el número de piezas de información comprimida generadas para cada macrobloque aumenta, y de esa forma es difícil transmitir la información comprimida y disminuye la eficiencia de compresión de datos. Sin embargo, al utilizar un aparato de codificación de video de conformidad con una modalidad, puede aumentar eficiencia de compresión de imagen ya que se ajusta una unidad de codificación mientras se consideran características de una imagen mientras se aumenta un tamaño máximo de una unidad de codificación mientras se considera un tamaño de una imagen.
El aparato de codificación de video 100 puede realizar inter-predicción al determinar una lista de imagen de referencia, de conformidad con el método de predicción de movimiento descrito anteriormente con referencia a las Figuras 2A y 2B.
El determinador de unidad de codificación 120 puede determinar una unidad de predicción para inter-predicción de conformidad con unidades de codificación de conformidad con una estructura de árbol por unidad de codificación máxima, y realizar inter-predicción por unidad de predicción y división de la misma.
El determinador de unidad de codificación 120 determina una imagen de referencia utilizada para predicción temporal con respecto a imágenes de un video. El aparato 10 determina información de predicción que indica una distancia temporal entre una imagen actual y una imagen adyacente, y un residuo. Por consiguiente, puede grabarse información de imagen al utilizar la información de predicción en lugar de todos los datos de una imagen.
El determinador de unidad de codificación 120 de conformidad con una modalidad puede determinar si imagen a la que se va a hacer referencia para inter-predicción de la imagen actual precede la imagen actual (primera dirección) o sigue la imagen actual (segunda dirección) . Mientras se determina una imagen de referencia de la imagen actual, puede determinarse la imagen de referencia a partir de al menos cualquier lista de imagen de referencia dentro una lista LO y una lista Ll con base en una dirección de la imagen de referencia.
El determinador de unidad de codificación 120 de conformidad con una modalidad puede determinar un orden de referencia de imágenes de referencia asignadas a cada lista de imagen de referencia. Por ejemplo, puede determinarse un orden de referencia de manera que se haga referencia primero a una imagen de referencia más cerca de la imagen actual en un orden de presentación de entre las imágenes de referencia asignadas a la lista de imagen de referencia.
El determinador de unidad de codificación 120 de conformidad con una modalidad puede determinar un tipo de fragmento de un fragmento incluyendo un bloque, y determinar una dirección de inter-predicción con base en el tipo de fragmento .
Si el fragmento es un tipo de fragmento B capaz de predicción unidireccional o predicción bidireccional , el determinador de unidad de codificación 120 de conformidad con una modalidad puede determinar la dirección de inter-predicción del bloque para ser una de una primera dirección, una segunda dirección, y una bidirección. La primera y segunda direcciones pueden ser respectivamente direcciones hacia adelante y hacia atrás.
El determinador de unidad de codificación 120 de conformidad con una modalidad puede determinar un índice de referencia que indica la imagen de referencia en la lista de imagen de referencia, con base en la dirección de inter-predicción .
Por ejemplo, el determinador de unidad de codificación 120 puede determinar un índice de referencia de primera dirección a partir de una lista de imagen de referencia de primera dirección, como un índice de referencia para el bloque, y determinar un índice de referencia de segunda dirección a partir de una lista de imagen de referencia de segunda dirección. Las listas de imagen de primera y segunda referencia pueden denotar respectivamente una lista LO y una lista Ll .
El determinador de unidad de codificación 120 determina información de predicción que indica el índice de referencia, junto con la distancia temporal entre la imagen actual y la imagen adyacente, y el residuo.
La unidad de salida 130 de conformidad con una modalidad puede codificar y enviar información de modo de inter-predicción que indica la dirección de inter-predicción del bloque, el índice de referencia, un vector de movimiento, etc.
La Figura 12 es un diagrama de bloque de un aparato de decodificación de video 200 con base en unidades de codificación de conformidad con una estructura de árbol, de conformidad con una modalidad de la presente invención.
El aparato de decodificación de video 200 que involucra predicción de video con base en unidades de codificación de conformidad con la estructura de árbol, de conformidad con una modalidad, incluye un receptor 210, un extractor de datos de imagen y de información de codificación 220, y un decodificador de datos de imagen 230. Para conveniencia de descripción, el aparato de decodificación de video 200 que involucra predicción de video con base en unidades de codificación de conformidad con la estructura de árbol, de conformidad con una modalidad, se abreviará ahora al 'aparato de decodificación de video 200' .
Definiciones de varios términos tal como una unidad de codificación, una profundidad, una unidad de predicción, una unidad de transformación, e información sobre varios modos de codificación para operaciones de decodificación del aparato de decodificación de video 200 de conformidad con una modalidad son idénticos a aquellos descritos con referencia a la Figura 8 y al aparato de codificación de video 100.
El receptor 210 recibe y analiza un flujo de bits de un video codificado. El extractor de datos de imagen y de información de codificación 220 extrae datos de imagen codificados para cada unidad de codificación a partir del flujo de bits analizado, en donde las unidades de codificación tienen una estructura de árbol de conformidad con cada unidad de codificación máxima, y envía los datos de imagen extraídos al decodificador de datos imagen 230. El extractor de datos de imagen y de información de codificación 220 puede extraer información sobre un tamaño máximo de una unidad de codificación de una imagen actual, a partir de un encabezado sobre la imagen actual, un grupo de parámetro de secuencia, o un grupo de parámetro de imagen.
También, el extractor de datos de imagen y de información de codificación 220 extrae información sobre una profundidad codificada y un modo de codificación para las unidades de codificación de conformidad con una estructura de árbol de conformidad con cada unidad de codificación máxima, a partir del flujo de bits analizado. La información extraída sobre la profundidad codificada y el modo de codificación se envía al decodificador de datos de imagen 230. En otras palabras, los datos de imagen en una secuencia de bit se dividen en la unidad de codificación máxima de manera que el decodificador de datos de imagen 230 decodifica los datos de imagen para cada unidad de codificación máxima.
La información sobre la profundidad codificada y el modo de codificación de conformidad con la unidad de codificación máxima puede establecerse para al menos una pieza de información de profunda codificada, e información sobre un modo de codificación de conformidad con profundidades codificadas puede incluir información sobre un tipo de división de una unidad de codificación correspondiente, sobre un modo de predicción, y un tamaño de una unidad de transformación. También, puede extraerse información de división de conformidad con profundidades como la información de profundidad codificada.
La información sobre la profundidad codificada y el modo de codificación de conformidad con cada unidad de codificación máxima extraída por el extractor de datos de imagen y de información de codificación 220 es información sobre una profundidad codificada y un modo de codificación determinado para generar un error de codificación mínimo cuando un codificador, tal como el aparato de codificación de video 100 de conformidad con una modalidad, realiza de manera repetida codificación para cada unidad de codificación más profunda de conformidad con profundidades de conformidad con cada unidad de codificación máxima. Por consiguiente, el aparato de decodificación de video 200 puede restaurar una imagen al decodificar datos de conformidad con un método de codificación que genera el error de codificación mínimo.
Ya que información de codificación sobre la profundidad codificada y el modo de codificación, de conformidad con una modalidad, puede asignarse a una unidad de datos predeterminada de entre una unidad de codificación correspondiente, una unidad de predicción, y una unidad mínima, el extractor de datos de imagen y de información de codificación 220 puede extraer la información sobre la profunda codificada y el modo de codificación de conformidad con las unidades de datos predeterminadas. Si se graba información sobre una profundidad codificada y modo de codificación de una unidad de codificación máxima correspondiente de conformidad con unidades de datos predeterminadas, las unidades de datos predeterminadas a las cuales se asigna la misma información sobre la profundidad codificada y el modo de codificación pueden inferirse para ser las unidades de datos incluidas en la misma unidad de codificación máxima.
El decodificador de datos de imagen 230 restaura la imagen actual al decodificar los datos de imagen en cada unidad de codificación máxima con base en la información sobre la profundidad codificada y el modo de codificación de conformidad con las unidades de codificación máxima. En otras palabras, el decodificador de datos de imagen 230 puede decodificar los datos de imagen codificados con base en el tipo de división leído, el modo de predicción leído, y la unidad de transformación leída para cada unidad de codificación de entre las unidades de codificación de conformidad con la estructura de árbol incluida en cada unidad de codificación máxima. Un proceso de decodificación puede incluir una predicción que incluye intra-predicción y compensación de movimiento, y una transformación inversa.
El decodificador de datos de imagen 230 puede realizar intra-predicción o compensación de movimiento de conformidad con una división y un modo de predicción de cada unidad de codificación, con base en la información de tipo de división e información de modo de predicción de la unidad de predicción de la unidad de codificación de conformidad con profundidades codificadas.
Además, el decodificador de datos de imagen 230 puede leer información de unidad de transformación de conformidad con la estructura de árbol para cada unidad de codificación para realizar transformación inversa con base en unidades de transformación para cada unidad de codificación, para transformación inversa para cada unidad de codificación máxima. A través de la transformación inversa, puede restaurarse un valor de píxel de un dominio espacial de la unidad de codificación.
El decodificador de datos de imagen 230 puede determinar una profundidad codificada de una unidad de codificación máxima actual al utilizar información dividida de conformidad con profundidades. Si la información dividida indica que datos de imagen ya no se dividen en la profundidad actual, la profundidad actual es una profundidad codificada. Por consiguiente, el decodificador de datos de imagen 230 puede decodificar unidad de codificación de la profundidad actual con respecto a datos de imagen de la unidad de codificación máxima actual al utilizar la información sobre el tipo de división de la unidad de predicción, el modo de predicción, y el tamaño de la unidad de transformación.
En otras palabras, unidades de datos que contienen la información de codificación incluyendo la misma información dividida pueden recolectarse al observar el grupo de información de codificación para la unidad de datos predeterminada de entre la unidad de codificación, la unidad de predicción, y la unidad mínima, y las unidades de datos recolectadas pueden considerarse para ser una unidad de datos que se va a decodificar mediante el decodificador de datos de imagen 230 en el mismo modo de codificación. Como tal, la unidad de codificación actual puede ser decodificada al obtener la información sobre el modo de codificación para cada unidad de codificación.
También, el aparato de decodificación de video 200 puede realizar compensación de movimiento al determinar un índice de referencia entre una lista de imagen de referencia, de conformidad con el método de compensación de movimiento descrito anteriormente con referencia a las Figuras 3A y 3B.
El extractor 210 de conformidad con una modalidad puede analizar información de modo de inter-predicción que indica una dirección de inter-predicción de un bloque, un índice de referencia, y un vector de movimiento de un flujo de bits.
El decodificador de datos de imagen 230 puede determinar una unidad de predicción para compensación de movimiento de conformidad con unidades de codificación de conformidad con una estructura de árbol para cada unidad de codificación máxima, y realizar compensación de movimiento por unidad de predicción y división de la misma.
El decodificador de datos de imagen 230 determina una imagen de referencia utilizada para predicción temporal con respecto a imágenes de un video. El decodificador de datos de imagen 230 puede determinar si una imagen a la que se va a hacer referencia para inter-predicción de una imagen actual precede la imagen actual (primera dirección) o si la imagen actual (en una dirección) , con base en la información de modo de inter-predicción. Puede determinarse una imagen de referencia a partir de al menos cualquier lista de imagen de referencia en una lista LO y una lista Ll con base en una dirección de la imagen de referencia, mientras se determina la imagen de referencia a partir de la imagen actual.
El decodif icador de datos de imagen 230 de conformidad con una modalidad puede determinar un tipo de fragmento de un fragmento incluyendo un bloque, y determinar una dirección de inter-predicción con base en el tipo de fragmento. Si el fragmento es un tipo de fragmento B capaz de predicción unidireccional o predicción bidireccional , el decodificador de datos de imagen 230 de conformidad con una modalidad puede determinar la dirección inter-predicción del bloque para ser una de la primera dirección, la segunda dirección, y una bidirección. La primera y segunda direcciones respectivamente pueden ser direcciones hacia adelante y hacia atrás.
El decodif icador de datos de imagen 230 de conformidad con una modalidad puede determinar un índice de referencia que indica la imagen de referencia a partir de la lista de imagen de referencia, con base en la dirección de inter-predicción determinada.
Por ejemplo, el decodificador de datos de imagen 230 puede determinar un índice de referencia de primera dirección a partir de una lista de imagen de referencia de primera dirección, como el índice de referencia para el bloque, y determinar un índice de referencia de segunda dirección a partir de una lista de imagen de referencia de segunda dirección. Las listas de imagen de referencia de primera y segunda direcciones pueden denotar respectivamente las listas LO y Ll.
El decodificador de datos de imagen 230 puede terminar una imagen de referencia indicada por el índice de referencia de entre imágenes de referencia incluidas en la lista de imagen de referencia, y determinar un bloque de referencia indicado por un vector de movimiento en la imagen de referencia. El decodif icador de datos de imagen 230 puede restaurar el bloque actual al compensar el bloque de referencia para un residuo.
La Figura 13 es un diagrama para describir un concepto de unidades de codificación de conformidad con una modalidad de la presente invención.
Puede expresarse un tamaño de una unidad de codificación por ancho por altura, y puede ser 64x64, 32x32, 16x16, y 8x8. Una unidad de codificación de 64x64 puede dividirse en divisiones de 64x64, 64x32, 32x64, o 32x32, y una unidad de codificación de 32x32 puede dividirse en divisiones de 32x32, 32x16, 16x32, o 16x16, una unidad de codificación de 16x16 puede dividirse en divisiones de 16x16, 16x8, 8x16, 8x8, y una unidad de codificación de 8x8 puede dividirse en divisiones de 8x8, 8x4, 4x8, o 4x4.
Una división para inter-predicción de conformidad con una modalidad puede no incluir una división de 4x4.
En datos de video 310, una resolución es 1920x1080, un tamaño máximo de una unidad de codificación es 64, y una profundidad máxima es 2. En datos de video 320, una resolución es 1920x1080, un tamaño máximo de una unidad de codificación es 64, y una profundidad máxima es 3. En datos de video 330, una resolución es 352x280, un tamaño máximo de una unidad de codificación es 180, y una profundidad máxima es 1. La profundidad máxima mostrada en la Figura 13 denota un número total de divisiones de una unidad de codificación máxima a una unidad de decodificación mínima.
Si una resolución es alta o una cantidad de datos es grande, un tamaño máximo de una unidad de codificación pues ser relativamente grande para no sólo aumentar eficiencia de codificación sino también para reflejar de manera precisa características de una imagen. Por consiguiente, el tamaño máximo de la unidad de codificación de los datos de video 310 y 320 que tiene una resolución superior a los datos de video 330 puede ser 64.
Ya que la profundidad máxima de los datos de video 310 es 2, unidades de codificación 315 de los datos de video 310 pueden incluir una unidad de codificación máxima que tiene un tamaño de eje largo de 64, y unidades de codificación que tienen tamaños de eje largo de 32 y 16 ya que se intensifican profundidades a dos capas al dividir la unidad de codificación máxima dos veces. Ya que la profundidad máxima de los datos de video 330 es 1, codificación 335 de los datos de video 330 pueden incluir una unidad de codificación máxima que tiene un tamaño de eje largo de 16, y unidades de codificación que tienen un tamaño de eje largo de 8 ya que se intensifican profundidades a una capa al dividir la unidad de codificación máxima una vez.
Ya que la profundidad máxima de los datos de video 320 es 3, unidades de codificación 325 de los datos de video 320 pueden incluir una unidad de codificación máxima que tiene un tamaño de eje largo de 64, y unidades de codificación que tienen tamaños de eje largo de 32, 16, y 8 ya que se intensifican las profundidades a tres capas al dividir la unidad de codificación máxima tres veces. A medida que se intensifica una profundidad, puede expresarse de manera precisa información detallada.
La Figura 14 es un diagrama de bloque de un codificador de imagen 400 con base en unidades de codificación, de conformidad con una modalidad de la presente invención .
El codificador de imagen 400 de conformidad con una modalidad realiza operaciones del determinador de unidad de codificación 120 del aparato de codificación de video 100 para codificar datos de imagen. En otras palabras, un intra pronosticador 410 realiza intra-predicción en unidades de codificación en un intra modo, de entre un cuadro actual 405, y un estimador de movimiento 420 y un compensador de movimiento 425 respectivamente realizan inter-estimado y compensación de movimiento al utilizar el cuadro actual 405 y un cuadro de referencia 495 en un inter modo.
Datos enviados desde el intra pronosticador 410, el estimador de movimiento 420, y el compensador de movimiento 425 se envían como un coeficiente de transformación cuantificado a través de un transformador 430 y un cuantificador 440. El coeficiente de transformación cuantificado es restaurado como datos en un dominio espacial a través de un cuantificador inverso 460 y un transformador inverso 470, y los datos restaurados en el dominio espacial se envían como el cuadro de referencia 495 después de ser pos -procesados a través de una unidad de desbloqueo 480 y una unidad de ajuste de desplazamiento 490. El coeficiente de transformación cuantificado puede ser enviado como un flujo de bits 455 a través de un codificador de entropía 450.
Con el fin de que se aplique el codificador de imagen 400 en el aparato de codificación de video 100 de conformidad con una modalidad, todos los elementos del codificador de imagen 400, es decir, el intra pronosticador 410, el estimador de movimiento 420, el compensador de movimiento 425, el transformador 430, el cuantificador 440, el codificador de entropía 450, el cuantificador inverso 460, el transformar inverso 470, la unidad de desbloqueo 480, y la unidad de ajuste de desplazamiento 490 realizan operaciones con base en cada unidad de codificación entre unidades de codificación de conformidad con una estructura de árbol mientras consideran la profundidad máxima de cada unidad de codificación máxima.
Específicamente, el intra pronosticador 410, el estimador de movimiento 420, y el compresor de movimiento 425 determinan divisiones y un modo de predicción de cada unidad de codificación de entre las unidades de codificación de conformidad con una estructura de árbol mientras considera el tamaño máximo y la profundidad máxima de una unidad de codificación máxima actual, y el transformador 430 determina el tamaño de la unidad de transformación en cada unidad de codificación de entre las unidades de codificación de conformidad con una estructura de árbol .
El estimador de movimiento 420 y el compensador de movimiento 425 pueden determinar un índice de referencia con base en el método de inter-predicción descrito anteriormente con referencia a las Figuras 1A y IB, y realizan inter-predicción al utilizar una imagen de referencia correspondiente al índice de referencia de entre una lista de imagen de referencia.
La Figura 15 es un diagrama de bloque de un decodificador de imagen 500 con base en unidades de codificación, de conformidad con una modalidad de la presente invención .
Un analizador 510 analiza datos de imagen codificados para decodificarse e información sobre codificación requerida para decodificación a partir de un flujo de bits 505. Los datos de imagen codificados se envían como datos cuantificados a la inversa a través de un decodificador de entropía 520 y un cuantificador inverso 530, y datos de imagen en un dominio espacial son restaurados a través de un transformador inverso 540.
Un intra pronosticador 550 realiza intra-predicción en unidades de codificación en un intra modo con respecto a los datos de imagen en el dominio espacial, y un compensador de movimiento 560 realiza compensación de movimiento en unidades de codificación en un ínter modo al utilizar un cuadro de referencia 585.
Los datos que pasan a través del intra pronosticador 550 y el compensador de movimiento 560 y están en el dominio espacial, pueden ser enviados como un cuadro restaurado 595 después de ser pos-procesados a través de una unidad de desbloqueo 570 y una unidad de ajuste de desplazamiento 580. También, los datos que son pos-procesados a través de la unidad de desbloqueo 570 y la unidad de filtración de circuito 580 pueden ser enviados como el cuadro de referencia 585.
Con el fin de decodificar los datos de imagen en el decodificador de datos de imagen 230 del aparato de decodificación de video 200, el decodificador de imagen 500 de conformidad con una modalidad puede revisar operaciones que son realizadas después del analizador 510.
Con el fin de que el decodificador de imagen 500 sea aplicado en el aparato de decodificación de video 200 de conformidad con una modalidad, todos los elementos del decodificador de imagen 500, es decir, el analizador 510, el decodificador de entropía 520, el cuantificador inverso 530, el transformador inverso 540, el intra pronosticador 550, el compensador de movimiento 560, la unidad de desbloqueo 570, y la unidad de ajuste de desplazamiento 580 realizan operaciones con base en unidades de codificación de conformidad con una estructura de árbol para cada unidad de codificación máxima.
Específicamente, la intra-predicción 550 y el compensador de movimiento 560 determinan divisiones y un modo de predicción para cada una de las unidades de codificación de conformidad con una estructura de árbol, y el transformador inverso 540 determina un tamaño de una unidad de transformación para cada unidad de codificación.
El compensador de movimiento 560 puede determinar un índice de referencia con base en el método de inter-predicción descrito anteriormente con referencia a las Figuras 1A y IB, y realizan compensación de movimiento al utilizar una imagen de referencia correspondiente al índice de referencia de entre una lista de imagen de referencia.
La Figura 16 es un diagrama que ilustra unidades de codificación más profundas de conformidad con profundidades, y divisiones de conformidad con una modalidad de la presente invención .
El aparato de codificación de video 100 de conformidad con una modalidad y el aparto de decodificación de video 200 de conformidad con una modalidad utilizan unidades de codificación jerárquica para considerar características de una imagen. Una altura máxima, un ancho máximo, y una profundidad máxima de unidades de codificación pueden determinarse de manera adaptable de conformidad con las características de la imagen, o pueden establecerse de manera diferente por un usuario. Pueden determinarse tamaños de unidades de codificación más profunda de conformidad con profundidades, de conformidad con el tamaño máximo predeterminado de la unidad de codificación.
Una estructura jerárquica 600 de unidades de codificación, de conformidad con una modalidad, la altura máxima y el ancho máximo de las unidades de codificación son cada uno 64, y la profundidad máxima es 3. En este caso, la profundidad máxima se refiere a un número total de veces que se divide la unidad de codificación a partir de la unidad de codificación máxima a la unidad de codificación mínima. Ya que una profundidad se intensifica a lo largo de un eje vertical de la estructura jerárquica 600 de conformidad con una modalidad, se divide cada uno de una altura y un ancho de la unidad de codificación más profunda. También, una unidad de predicción y divisiones, que son bases para codificación de predicción de cada unidad de codificación más profunda, se muestran a lo largo de un eje horizontal de la estructura jerárquica 600.
En otras palabras, una unidad de codificación 610 es una unidad de codificación máxima en la estructura jerárquica 600, en donde una profundidad es 0 y un tamaño, es decir, una altura por ancho, es 64x64. La profundidad se intensifica a lo largo del eje vertical, y una unidad de codificación 620 que tiene un tamaño de 32x32 y una profundidad de 1, una unidad de codificación 630 que tiene un tamaño de 16x16 y una profundidad de 2 , y una unidad de codificación 640 que tiene un tamaño de 8x8 y una profundidad de 3. La unidad de codificación 640 que tiene un tamaño de 4x4 y una profundidad de 3 es una unidad de codificación mínima .
La unidad de predicción y las divisiones de una unidad de codificación se disponen a lo largo del eje horizontal de conformidad con cada profundidad. En otras palabras, si la unidad de codificación 610 que tiene un tamaño de 64x64 y una profundidad de 0 es una unidad de predicción, la unidad de predicción puede dividirse en divisiones incluidas en la unidad de codificación 610, es decir, una división 610 que tiene un tamaño de 64x64, divisiones 612 que tienen el tamaño de 64x32, divisiones 614 que tienen el tamaño de 32x64, o divisiones 610 que tienen el tamaño de 32x32.
Similarmente , una unidad de predicción de la unidad de codificación 620 que tiene el tamaño de 32x32 y la profundidad de 1 puede dividirse en divisiones incluidas en la unidad de codificación 620, es decir una división 620 que tiene un tamaño de 32x32, divisiones 622 que tienen un tamaño de 32x16, divisiones 624 que tienen un tamaño de 16x32, y divisiones 626 que tienen un tamaño de 16x16.
Similarmente, una unidad de predicción de la unidad de codificación 630 que tiene el tamaño de 16x16 y la profundidad de 2 puede dividirse en divisiones incluidas en la unidad de codificación 630, es decir una división que tiene un tamaño de 16x16 incluida en la unidad de codificación 630, divisiones 632 que tienen un tamaño de 16x8, divisiones 634 que tienen un tamaño de 8x16, y divisiones 636 que tienen un tamaño de 8x8.
Similarmente , una unidad de predicción de la unidad de codificación 640 que tiene el tamaño de 8x8 y la profundidad de 3 puede dividirse en divisiones incluidas en la unidad de codificación 640, es decir una división que tiene un tamaño de 8x8 incluida en la unidad de codificación 640, divisiones 642 que tienen un tamaño de 8x4, divisiones 644 que tienen un tamaño de 8x8, y divisiones 646 que tienen un tamaño de 4x4.
Una división para inter-predicción de conformidad con una modalidad puede no incluir las divisiones 646 que tienen un tamaño de 4x4.
Con el fin de determinar la profundidad codificada de la unidad de codificación máxima 610, el determinador de unidad de codificación 120 del aparato de codificación de video 100 de conformidad con una modalidad realiza codificación para unidades de codificación correspondientes a cada profundidad incluida en la unidad de codificación máxima 610.
Un número de unidades de codificación más profunda de conformidad con profundidades incluyendo datos en el mismo rango y el mismo tamaño aumenta a medida que aumenta la profundidad. Por ejemplo, se requieren cuatro unidades de codificación correspondientes a una profundidad de 2 para cubrir datos que se incluyen en una unidad de codificación correspondiente a una profundidad de 1. Por consiguiente, con el fin de comparar resultados de codificación de los mismos datos de conformidad con profundidades, se codifica cada una de la unidad de codificación correspondiente a la profundidad de 1 y cuatro unidades de codificación correspondientes a la profundidad de 2.
Con el fin de realizar codificación de conformidad con profundidades, puede seleccionarse un error de codificación mínimo como un error de codificación representativo para una profundidad correspondiente al realizar codificación para cada unidad de predicción en la unidad de codificación más profunda a lo largo del eje horizontal de la estructura jerárquica 600. Alternativamente, puede buscarse el error de codificación mínimo al comparar los errores de codificación representativos de conformidad con profundidades, al realizar codificación para cada profundidad a medida que se intensifica la profundidad a lo largo del eje vertical de la estructura jerárquica 600. Una profundidad y una división que tienen el error de codificación mínimo en la unidad de codificación máxima 610 pueden seleccionarse como la profundidad codificada y un tipo de división de la unidad de codificación máxima 610.
La Figura 17 es un diagrama que ilustra una relación entre una unidad de codificación y unidades de transformación, de conformidad con una modalidad de la presente invención.
El aparato de codificación de video 100 de conformidad con una modalidad o el aparato de decodificación de video 200 de conformidad con una modalidad codifica o decodifica una imagen de conformidad con unidades de codificación que tienen tamaños más pequeños o iguales a una unidad de codificación máxima para cada unidad de codificación máxima. Pueden seleccionarse tamaños de unidades de transformación para transformación durante codificación con base en unidades de datos que no son más grandes que una unidad de codificación correspondiente.
Por ejemplo, en el aparato de codificación de video 100 de conformidad con una modalidad o el aparato de decodificación de video 200 de conformidad con una modalidad, si un tamaño de una unidad de codificación actual 710 es 64x64, la transformación puede realizarse al utilizar una unidad de transformación 720 que tiene un tamaño de 32x32.
También, pueden codificarse datos de la unidad de codificación 710 que tienen el tamaño de 64x64 al realizar la transformación en cada una de las unidades de transformación que tienen el tamaño de 32x32, 16x16, 8x8, y 4x4, que son más pequeñas que 64x64, y entonces puede seleccionarse una unidad de transformación que tiene el error de codificación mínimo.
La Figura 18 es un diagrama que ilustra información de codificación de unidades de codificación correspondientes a una profundidad codificada, de conformidad con una modalidad de la presente invención.
La unidad de salida 130 del aparato de codificación de video 100 de conformidad con una modalidad puede codificar y transmitir información 100 sobre un tipo de división, información 810 sobre un modo de predicción, e información 820 sobre un tamaño de una unidad de transformación para cada unidad de codificación correspondiente a una profundidad codificada, como información sobre un modo de codificación.
La información 900 indica información sobre una forma de una división obtenida al dividir una unidad de predicción de una unidad de codificación actual, en donde la división es una unidad de datos para codificar por predicción la unidad de codificación actual. Por ejemplo, una unidad de codificación actual CU_0 que tiene un tamaño de 2Nx2N puede dividirse en cualquiera de una división 802 que tiene un tamaño de 2Nx2N, una división 804 que tiene un tamaño de 2NxN, una división 806 que tirón tamaño de Nx2N, y una división 808 que tiene un tamaño de NxN. Aquí, la información 800 sobre un tipo de división se establece para indicar una de la división 804 que tiene un tamaño de 2NxN, la división 806 que tiene un tamaño de Nx2N, y la división 808 que tiene un tamaño de NxN.
La información 810 indica un modo de predicción de cada división. Por ejemplo, la información 810 puede indicar un modo de codificación por predicción realizado en una división indicada por la información 800, es decir, un intra modo 812, un inter modo 814, o un modo de salto 816.
La información 820 indica una unidad de transformación para basarse en cuando se realiza la transformación en una unidad de codificación actual. Por ejemplo, la unidad de transformación puede ser una primera unidad de intra transformación 822, una segunda unidad de intra transformación 824, una primera unidad de inter transformación 826, una segunda unidad de intra transformación 828.
El extractor de datos de imagen y de información de codificación 210 del aparato de decodificación de video 200 de conformidad con una modalidad puede extraer y utilizar la información 800, 810, y 820 para decodificación, de conformidad con cada unidad de codificación más profunda.
La Figura 19 es un diagrama de unidades de codificación más profunda de conformidad con profundidades, de conformidad con una modalidad de la presente invención.
Puede utilizarse información dividida para indicar un cambio de una profundidad. La información dividida indica si una unidad de codificación de una profundidad actual está dividida en unidades de codificación de una profundidad inferior .
Una unidad de predicción 910 para codificación por predicción de una unidad de codificación 900 que tiene una profundidad de 0 y un tamaño de 2N_0x2N_0 puede incluir divisiones de un tipo de división 912 que tienen un tamaño de 2N_0x2N_0 , un tipo de división 914 que tiene un tamaño de 2N_0xN_0, un tipo de división 916 que tiene tamaño de N_0x2N_0 , y un tipo de división 918 que tiene un tamaño de N_0xN_0. La Figura 19 únicamente ilustra los tipos de división 912 a 918 que se obtienen al dividir simétricamente la unidad de predicción 910, pero un tipo de división no está limitado a esto, y las divisiones de la unidad de predicción 910 pueden incluir divisiones asimétricas, divisiones que tienen una forma predeterminada, y divisiones que tienen una forma geométrica.
Codificación por predicción se realiza repetidamente en una división que tiene un tamaño de 2N_0x2N_0 , dos divisiones que tienen un tamaño de 2N_0x _0, dos divisiones que tienen un tamaño de N_0x2N_0, y cuatro divisiones que tienen un tamaño de N_0xN_0, de conformidad con cada tipo de división. La codificación por predicción en un intra modo y un inter modo puede realizarse en las divisiones que tienen los tamaños de 2N_0x2N_0 , N_0x2N_0, 2N_0x _0, y N_0x _0. La codificación por predicción en un modo de salto se realiza únicamente en la división que tiene el tamaño de 2N_0x2N_0.
Si un error de codificación es más pequeño en uno de los tipos de división 912 a 916 que tienen los tamaños de 2N_0x2N_0, 2N_0xN_0, y N_0x2N_0 , la unidad de predicción 910 puede no estar dividida en una profundidad inferior.
Si el error de codificación es el más pequeño en el tipo de división 918 que tiene el tamaño de N_0xN_0, se cambia una profundidad de 0 a 1 para dividir el tipo de división 918 en operación 920, y la codificación se realiza repetidamente en unidades de codificación 930 que tienen una profundidad de 2 y un tipo de división de N_0x _0 para buscar un error de codificación mínimo.
Una unidad de predicción 940 para codificar por predicción la unidad de codificación 930 que tiene una profundidad de 1 y un tamaño de 2N_lx2N_l (=N_0x _0) puede incluir divisiones de un tipo división 942 que tiene un tamaño de 2N_lx2N_l, un tipo de división 944 que tiene un tamaño de 2N_lx _l, un tipo de división 946 que tiene un tamaño de N_lx2N_l , y un tipo de división 948 que tiene un tamaño de N_lxN_l .
Si un error de codificación es el más pequeño en el tipo de división 948 que tiene el tamaño de N_lxN_l, se cambia a una profundidad de 1 a 2 para dividir el tipo de división 948 en operación 950, y se realiza repetidamente codificación en unidades de codificación 960, que tiene una profundidad de 2 y un tamaño de N_2x _2 para buscar un error de codificación mínimo.
Cuando una profundidad máxima es de, puede configurarse una unidad de codificación más profunda a cuando una profundidad es d-1, y puede configurarse información dividida a cuando una profundidad es d-2. En otras palabras, cuando se realiza codificación hasta cuando la profundidad es d-1 después que una unidad de codificación correspondiente a una profundidad de d-2 se divide en la operación 970, una unidad de predicción 990 para codificar por predicción una unidad de codificación 980 que tiene una profundidad de d-1 y un tamaño de 2N_ (d-1) x2N_ (d-1) puede incluir divisiones de un tipo de división 992 que tienen un tamaño de 2N_ (d-1) x2N_ (d-1), un tipo de división 994 que tiene un tamaño de 2N_(d-l)xN_(d-l), un tipo de división 996 que tiene un tamaño de N_ (d-1) x2N_ (d- 1) , y un tipo de división 998 que tiene un tamaño de N_(d-l)xN_(d-l) .
Codificación por predicción puede realizarse repetidamente en una división que tiene un tamaño de 2N_(d-1) x2N_ (d-1) , dos divisiones que tienen un tamaño de 2N_(d-l)xN_(d-l), dos divisiones que tienen un tamaño de N_(d-l)x2N_(d-l), cuatro divisiones que tienen un tamaño de N_(d-l)x _(d-l) de entre los tipos de división para buscar un tipo de división que tenga un error de codificación mínimo.
Incluso cuando el tipo de división 998 que tiene el tamaño de N_ (d- 1 ) N_ (d- 1 ) tiene el error de codificación mínimo, ya que una profundidad máxima es de, una unidad de codificación CU_(d-l) que tiene una profundidad de d-1 ya no se divide a una profundidad inferior, y una profundidad codificada para una unidad de codificación máxima actual 900 se determina para ser d-1 y un tipo de división de la unidad de codificación máxima actual 900 puede determinarse para ser N_(d-1) xN_(d-l) . También, cuando la profundidad máxima es d, información dividida ya no se establece para una unidad de codificación 952 que tiene la profundidad de d-1.
Una unidad de datos 999 puede ser una 'unidad mínima' para la unidad de codificación máxima actual. Una unidad mínima de conformidad con una modalidad puede ser una unidad de datos cuadrada obtenida al dividir una unidad de codificación mínima que tiene una profundidad codificada más baja por 4. Al realizar la codificación repetidamente, el aparato de codificación de video 100 de conformidad con una modalidad puede seleccionar una profundidad que tiene el error de codificación mínimo al comparar errores de codificación de conformidad con profundidades de la unidad de codificación 900 para determinar una profundidad codificada, y establecer un tipo de división correspondiente y un modo de predicción como un modo de codificación de la profundidad codificada.
Como tal, los errores de codificación mínimos de conformidad con profundidades se comparan en todas las profundidades de 1 a d, y puede determinarse una profundidad que tiene el error de codificación mínimo como una profundidad codif icada . La profundidad codi f icada , el tipo de división de la unidad de predicción , y el modo de predicción pueden codif icarse y transmitirse como información sobre un modo de codi f icación . También , ya que se divide una unidad de codif icación de una profundidad de 0 a una profundidad codificada, únicamente información dividida de la profundidad codificada se establece a 0, e información dividida de profundidades excluyendo la profundidad codificada se establece a 1.
El extractor de datos de imagen y de información de codificación 220 del aparato de decodificación de video 200 de conformidad con una modalidad puede extraer y utilizar la información sobre la unidad codificada y la unidad de predicción de la unidad de codificación 900 para decodificar la división 912 . El aparato de decodificación de video 200 de conformidad con una modalidad puede determinar una profundidad, en la cual la información dividida es 0, como una profundidad codificada al utilizar información dividida de conformidad con profundidades , y puede util izar información sobre un modo de codif icación de la profundidad correspondiente para decodif icación .
Las Figuras 20 , 21 , y 22 son diagramas que i lustran una relación entre unidades de codif icación, unidades de predicción, unidades de transformación, de conformidad con una modal idad de la presente invención .
Unidades de codif icación 1010 son unidades de codif icación correspondientes a profundidades codif icadas determinadas por el aparato de codificación de video 100 de conformidad con una modalidad, en una unidad de codificación máxima. Unidades de predicción 1060 son divisiones de unidades de predicción de cada unidad de codificación correspondientes a profundidades codificadas de entre las unidades de codificación 1010, y unidades de transformación 1070 son unidades de transformación de cada unidad de codificación correspondientes a profundidades codificadas.
Cuando una profundidad de una unidad de codificación máxima es 0 en las unidades de codificación 1010, profundidades de unidades de codificación 1012 y 1054 son 1, profundidades de unidades de codificación 1014, 1016, 1018, 1028, 1050, y 1052 son 2, profundidades de unidades de codificación 1020, 1022, 1024, 1026, 1030, 1032, y 1048 son 3, y profundidades de unidades de codificación 1040, 1042, 1044, y 1046 son 4.
En las unidades de predicción 1060, algunas divisiones 1014, 1016, 1022, 1032, 1048, 1050, 1052, y 1054 se obtienen al dividir las unidades de codificación. En otras palabras, tipos de división en las divisiones 1014, 1022, 1050, y 1054 tienen un tamaño de 2Nx , tipos de división en las divisiones 1016, 1048, y 1052 tienen un tamaño de Nx2N, y un tipo de división de la división 1032 tiene un tamaño de Nx . Unidades de predicción y divisiones de las unidades de codificación 1010 son más pequeñas que o iguales a cada unidad de codificación.
Se realiza transformación o transformación inversa en datos de imagen de la parte 1052 en las unidades de transformación 1070 en una unidad de datos que es más pequeña que la unidad de codificación. También, las unidades de codificación 1014, 1016, 1022, 1032, 1048, 1050, 1052, y 1054 son diferentes de aquellas en las unidades de predicción 1060 en términos de tamaños y formas. En otras palabras, el aparato de codificación de video 100 de conformidad con una modalidad y el aparato de decodificación de video 200 de conformidad con una modalidad pueden realizar intra-predicción, estimado de movimiento, compensación de movimiento, transformación, y transformación inversa individualmente en una unidad de datos en la misma unidad de codificación .
Por consiguiente, la codificación se realiza de manera recursiva en cada una de unidades de codificación que tienen una estructura jerárquica en cada región de una unidad de codificación máxima para determinar una unidad de codificación óptima, y de esa forma pueden obtenerse unidades de codificación de conformidad con una estructura de árbol repulsiva. Información de codificación puede incluir información dividida sobre una unidad de codificación, información de tipo de división, información de modo de predicción, e información de tamaño de unidad de transformación. La Tabla 1 a continuación muestra la información de codificación que puede establecerse por el aparato de codificación de video 100 de conformidad con una modalidad y el aparato de decodificación de video 200 de conformidad con una modalidad.
Tabla 1 La unidad de salida 130 del aparato de codificación de video 100 de conformidad con una modalidad puede enviar la información de codificación sobre las unidades de codificación de conformidad con una estructura de árbol, y el extractor de datos de imagen y de información de codificación 220 del aparato de decodificación de video 200 de conformidad con una modalidad puede extraer la información de codificación sobre las unidades de codificación de conformidad con la estructura de árbol a partir de un flujo de bits recibido.
Información dividida indica si una unidad de codificación actual está dividida en unidades de codificación de una profundidad inferior. Si información dividida de una profundidad actual d es 0, una profundidad a la cual una unidad de codificación actual ya no se divide en una profundidad inferior es una profundidad codificada, y de esa forma información de tipo de división, un modo de predicción, e información de tamaño de unidad de transformación pueden definirse para la profundidad codificada. Si la unidad de codificación actual es dividir adicionalmente de conformidad con la información dividida, se realiza independientemente codificación en cuatro unidades de codificación divididas de una profundidad inferior.
Un modo de predicción puede ser uno de un intra modo, un ínter modo, y un modo de salto. El intra modo y el inter modo pueden definirse en todos los tipos de división, y el modo de salto es definido únicamente en un tipo de división que tiene un tamaño de 2Nx2N.
La información de tipo de división puede indicar tipos de división simétrica que tienen tamaños de 2Nx2N, 2NxN, Nx2N, y NxN, que se obtienen al dividir simétricamente una altura o un ancho de una unidad de predicción, y tipos de división asimétricos que tienen tamaños de 2NxnU, 2NxnD, nlx2N, y nRx2N, que se obtienen al dividir asimétricamente la altura o ancho de la unidad de predicción. Los tipos de división asimétrica que tienen los tamaños de 2NxnU y 2NxnD pueden obtenerse respectivamente al dividir la altura de la unidad de predicción en 1:3 y 3:1, y los tipos de división asimétrica que tienen los tamaños de nLx2N y nRx2N pueden obtenerse respectivamente al dividir el ancho de la unidad de predicción en 1:3 y 3:1.
El tamaño de la unidad de transformación puede establecerse para ser dos tipos en el intra modo y dos tipos en el inter modo. En otras palabras, si la información dividida de la unidad de transformación es 0, el tamaño de la unidad de transformación puede ser 2Nx2N, que es el tamaño de la unidad de codificación actual. Si la información dividida de la unidad de transformación es 1, pueden obtenerse las unidades de transformación al dividir la unidad de codificación actual. También, si un tipo de división de la unidad de codificación actual que tiene el tamaño de 2Nx2N es un tipo de división simétrica, un tamaño de una unidad de transformación pude ser NxN, y si el tipo de división de la unidad de codificación actual es un tipo de división asimétrica, el tamaño de la unidad de transformación puede ser N/2x /2.
La información de codificación sobre unidad de codificación de conformidad con una estructura de árbol, de conformes con una modalidad, puede asignarse con respecto al menos a una de una unidad de codificación de una profundidad codificada, y una unidad de predicción, y una unidad mínima. La unidad de codificación de la profundidad codificada puede incluir al menos una de una unidad de predicción y una unidad mínima que contiene la misma información de codificación.
Por consiguiente, se determina si se incluyen unidades de datos adyacentes en la misma unidad de codificación de la profundidad codificada al comparar información de codificación de las unidades de datos adyacentes. También, se determina una unidad de codificación correspondiente de una profundidad codificada al utilizar información de codificación de una unidad de datos, y de esa forma puede determinarse una distribución de profundidades codificadas en una unidad de codificación máxima.
Por consiguiente, si se predice una unidad de codificación actual al hacer referencia a unidades de datos adyacentes, puede indicarse y utilizarse directamente información de codificación de unidades de datos en unidades de codificación más profunda adyacentes a la unidad de codificación actual.
Alternativamente, cuando se realiza codificación por predicción en una unidad de codificación actual al hacer referencia a unidades de datos adyacentes, se buscan datos adyacentes a la unidad de codificación actual en una unidad de codificación más profunda al utilizar información de codificación de una unidad de codificación más profunda adyacente, y de esa forma puede hacerse referencia a las unidades de codificación adyacentes.
La Figura 23 es un diagrama que ilustra una relación entre una unidad de codificación, una unidad de predicción, y una unidad de transformación, de conformidad con información de modo de codificación de la Tabla 1.
Una unidad de codificación máxima 1300 incluye unidades de codificación 1302, 1304, 1306, 1312, 1314, 1316, y 1318 de profundidades codificadas. Aquí, ya que la unidad de codificación 1318 es una unidad de codificación de una profundidad codificada, la información dividida puede establecerse a 0. Información de tipo de división de la unidad de codificación 1380 que tiene un tamaño de 2Nx2N puede establecerse a uno de un tipo de división 1322 que tiene un tamaño de 2Nx2N, un tipo de división 1324 que tiene un tamaño de 2NxN, un tipo de división 1324 que tiene un tamaño de Nx2N, un tipo de división 1328 que tiene un tamaño de NxN, un tipo de división 1332 que tiene un tamaño de 2NxnU, un tipo de división 1334 que tiene un tamaño de 2NxnD, un tipo de división 1336 que tiene un tamaño de nLx2N, y un tipo de división 1338 que tiene un tamaño de nRx2N.
Información dividida de la unidad de transformación (indicador de tamaño de TU) es un tipo de un índice de transformación. El tamaño de la unidad de transformación correspondiente al índice de transformación puede cambiar de conformidad con un tipo de unidad de predicción o tipo de división de la unidad de codificación.
Por ejemplo, cuando la información de tipo de división se establece para ser uno de simétrico para los tipos de división 2Nx2N 1322, 2Nx 1324, Nx2N 1326, Nx 1328, una unidad de transformación 1342 que tiene un tamaño de 2Nx2N se establece si la información dividida de unidad de transformación es 0, y una unidad de transformación 1344 que tiene un tamaño de NxN se establece sí la información dividida de unidad de transformaciones 1.
Cuando se establece la información de tipo de división para ser uno de tipos de división asimétrica 2NxnU 1332, 2NxnD 1334, nLx2N 1336, y nRx2N 1338, se establece una unidad de transformación 1352 que tiene un tamaño de 2Nx2N sí la información dividida de unidad de transformación (indicador de tamaño de TU) es 0, y se establece una unidad de transformación 1354 que tiene un tamaño de N/2xN/2 sí la información dividida de unidad de transformación es 1.
La información dividida de unidad de transformación (indicador de tamaño de TU) descrito anteriormente con referencia a la Figura 21 es un indicador que tiene un valor de 0 ó 1, pero la información dividida de unidad de transformación de conformidad con una modalidad no está limitada a un indicador de 1 bit, y una unidad de transformación puede dividirse jerárquicamente mientras la información dividida de unidad de transformación aumenta desde 0 de conformidad con la configuración. La información dividida de unidad de transformación puede ser un ejemplo de un índice de transformación.
En este caso, un tamaño de una unidad de transformación que realmente se ha utilizado puede expresarse al utilizar información dividida de unidad de transformación de conformidad con una modalidad, junto con un tamaño máximo y tamaño mínimo de la unidad de transformación. El aparato de codificación de video 100 de conformidad con una modalidad es capaz de codificar información de tamaño de unidad de transformación máxima, información de tamaño de unidad de transformación mínima, e información dividida de unidad de transformación máxima. El resultado de codificar la información de tamaño de unidad de transformación máxima, la información de tamaño de unidad de transformación mínima, y la información dividida de unidad de transformación máxima puede insertarse en un SPS . El aparato de decodificación de video 200 de conformidad con una modalidad puede utilizarse para decodificar un video al utilizar la información de tamaño de unidad de transformación máxima, la información tamaño de unidad de transformación mínima, y la información dividida de unidad de transformación máxima.
Por ejemplo, (a) y el tamaño de una unidad de codificación actual es 64x64 y un tamaño de unidad de transformación máximo es 32x32, (a-1) entonces el tamaño de una unidad de transformación puede ser 32x32 cuando la información dividida de unidad de transformación es 0, (a-2) puede ser 16x16 cuando la información dividida de unidad de transformación es 1, y (a-3) puede ser 8x8 cuando la información dividida de unidad de transformación es 2.
Como otro ejemplo, (b) si el tamaño de la unidad de codificación actual es 32x32 y un tamaño de unidad de transformación mínimo es 32x32, (b-1) entonces el tamaño de la unidad de transformación puede ser 32x32 cuando la información dividida de unidad de transformación es 0. Aquí, la información dividida de unidad de transformación no puede establecerse a un valor diferente a 0, ya que el tamaño de la unidad de transformación no puede ser menor que 32x32.
Como otro ejemplo, (c) y el tamaño de la unidad de codificación actual es 64x64 y la información dividida de unidad de transformación máxima es 1, entonces la información dividida de unidad de transformación puede ser 0 ó 1, y no puede establecerse otra información dividida de unidad de transformación .
De esa forma, si se define que la información dividida de la unidad de transformación máxima es 'MaxTransformSizelndex' , un tamaño de unidad de transformación mínimo es 'MinTransformSize' , y un tamaño de unidad de transformación es ' RootTuSize' cuando la información dividida de unidad de transformación es 0, entonces un tamaño de unidad de transformación mínimo actual 'CurrMinTuSize' que puede determinarse en una unidad de codificación actual, puede definirse por la Ecuación (1) : CurrMinTuSize =max (MinTranformSize, RootTuSize/ (2^MaxTransformSizeIndex) ) ... (1) Comparado con el tamaño de unidad de transformación mínimo 'CurrMinTuSize' que puede de terminarse en la unidad de codificación actual, un tamaño de unidad de transformación 'RootTuSize' cuando la información dividida de unidad de transformación es 0 puede denotar un tamaño de unidad de transformación máximo que puede seleccionarse en el sistema. En otras palabras, de conformidad con la Ecuación (1), 'RootTuSize/ (2AMaxTransformSizeIndex) ' denota un tamaño de unidad de transformación cuando el tamaño de unidad de transformación 'RootTuSize', cuando la información dividida de unidad de transformación es 0, se divide un número de veces correspondiente a la información dividida de unidad de transformación máxima, y 'MinTranformSize' denota un tamaño de transformación mínimo. De esa forma, un valor más pequeño de entre 'RootTuSize/ (2AMaxTransformSizeIndex) ' y 'MinTranformSize' puede ser un tamaño de unidad de transformación mínimo 'CurrMinTuSize' que puede determinarse en la unidad de codificación actual.
De conformidad con una modalidad, el tamaño de unidad de transformación máximo RootTuSize puede variar de conformidad con modos de predicción.
Por ejemplo, si un modo de predicción actual es un ínter modo, entonces 'RootTuSize' puede determinarse al utilizar la Ecuación (2) a continuación. En la Ecuación (2) , 'MaxTranformSize' denota un tamaño de unidad de transformación máximo, y 'PUSize' denota un tamaño de unidad de predicción actual.
RootTuSize = min (MaxTranformSize , PUSize) (2) Es decir, si el modo de predicción actual es el ínter modo, el tamaño de unidad de transformación 'RootTuSize' , cuando la información dividida de unidad de transformación es 0, puede ser un valor más pequeño de entre el tamaño de unidad de transformación máximo y el tamaño de unidad de predicción actual.
Si un modo de predicción de una unidad de división actual es un intra modo, 'RootTuSize' puede determinarse al utilizar la Ecuación (3) a continuación. En la Ecuación (3) , 'PartitionSize' denota el tamaño de la unidad de división actual.
RootTuSize = min(MaxTranformSize, PartitionSize) (3) Es decir, si el modo de predicción actual es el intra modo, el tamaño de unidad de transformación 'RootTuSize' cuando la información dividida de unidad de transformación es 0 puede ser un valor más pequeño de entre el tamaño de unidad de transformación máximo y el tamaño de la unidad de división actual.
Sin embargo, el tamaño de unidad de transformación máximo actual 'RootTuSize' de conformidad con una modalidad, que varía de conformidad con modos de predicción en una unidad de división solo es un ejemplo y no se limitan a esto factores para determinar un tamaño de unidad de transformación máximo actual .
De conformidad con la técnica de codificación de video con base en unidades de codificación que tienen una estructura de árbol como se describió con referencia a las Figuras 3 a 20, se codifican datos de imagen de un dominio espacial para cada unidad de codificación de una estructura de árbol. De conformidad con la técnica de decodificación de video con base en unidades de codificación que tienen una estructura de árbol, se realiza decodificación para cada unidad de codificación máxima para restaurar datos de imagen de un dominio espacial. De esa forma, puede restaurarse una imagen y un video que es una secuencia de imagen. El video restaurado puede reproducirse mediante un aparato de reproducción, almacenado en un medio de almacenamiento, o transmitido a través de una red.
Las modalidades de conformidad con la presente invención pueden escribirse como programas de computadora y pueden implementarse en computadoras digitales de uso general que ejecutan los programas utilizando un medio de grabación legible por computadora. Ejemplos del medio de grabación legible por computadora incluyen medios de almacenamiento magnético (por ejemplo, ROM, discos flexibles, discos duros, etc.) y medios de grabación ópticos (por ejemplo, CD-ROM o DVD) .
Para conveniencia de descripción, el método de codificación de video de conformidad con el método de inter-predicción, el método de predicción de movimiento, y el método de compensación de movimiento descrito anteriormente con referencia a las Figuras 1A a 21 se indicarán colectivamente como un 'método de codificación de video de conformidad con la presente invención' . Además, el método de decodificación de video de conformidad con el método de inter-predicción y el método de compensación de movimiento descritos anteriormente con referencia a las Figuras 1A a 20 se indicarán como un 'método de decodificación de video de conformidad con la presente invención' .
También, un aparato de codificación de video que incluye el aparato 10, el aparto de predicción de movimiento 20, el aparato de compensación de movimiento 30, y el aparato de codificación de video 100, o el decodificador de imagen 400, que se ha descrito anteriormente con referencia a las Figuras 1A a 23, se indicará como un 'aparato de codificación de video de conformidad con la presente invención' . Además, un aparato de decodificación de video que incluye el aparato 10, el aparto de compensación de movimiento 30, el aparato de decodificación de video 200, o el decodificador de imagen 500, que se ha descrito anteriormente con referencia a las Figuras 1A a 23, se indicará como un 4 aparato de decodificación de video de conformidad con la presente invención' .
Un medio de grabación legible por computadora que almacena un programa, por ejemplo, un disco 26000, de conformidad con una modalidad de la presente invención se describirá ahora en detalle.
La Figura 24 es un diagrama de una estructura física del disco 26000 en el cual se almacena un programa, de conformidad con una modalidad de la presente invención. El disco 26000, que es un medio de almacenamiento, puede ser una unidad dura, un disco CD-ROM, un disco Blu-ray, o un DVD. El disco 26000 incluye una pluralidad de pistas concéntricas Tr cada una que se divide en un número específico de sectores Se en una dirección circunferencial del disco 26000. En una región específica del disco 26000 que almacena el programa de conformidad con una modalidad, un programa que ejecuta el método de determinación de parámetro de cuantificación, el método de codificación de video, y el método de decodificación de video descritos anteriormente puede asignarse y almacenarse.
Un sistema de computadora representado utilizando un medio de almacenamiento que almacena un programa para ejecutar el método de codificación de video y el método de decodificación de video como se describió anteriormente se describirá posteriormente con referencia a la Figura 25.
La Figura 25 es un diagrama de una unidad de disco 26800 para grabar y leer un programa al utilizar el disco 26000. Un sistema de computadora 26700 puede almacenar un programa que ejecuta al menos uno de un método de codificación de video y un método de decodificación de video de la presente invención, en el disco 26000 a través de la unidad de disco 26800. Para ejecutar el programa almacenado en el disco 26000 en el sistema computadora 26700, puede leerse el programa a partir del disco 26000 y transmitirse al sistema de computadora 26700 al utilizar la unidad de disco 26800.
El programa que ejecuta al menos uno de un método de codificación de video y un método de decodificación de video de la presente invención puede almacenarse no solamente en el disco 26000 ilustrado en las Figuras 24 ó 25 sino también en una tarjeta de memoria, un cásete de ROM, o una unidad de estado sólido (SSD, por sus siglas en inglés) .
Un sistema al cual se aplica el método de codificación de video y un método de decodificación de video descritos anteriormente se describirá a continuación.
La Figura 26 es un diagrama de una estructura general de un sistema de suministro de contenido 11000 para proporcionar un servicio de distribución de contenido. Un área de servicio en un sistema de comunicación se divide en celdas de tamaño predeterminado, y estaciones base inalámbricas 11700, 11800, 11900, y 12000 se instalan en estás celdas, respectivamente.
El sistema de suministro de contenido 11000 incluye una pluralidad de dispositivos independientes. Por ejemplo, la pluralidad de dispositivos independientes, tal como una computadora 12100, un asistente digital personal (PDA, por sus siglas en inglés) 12200, una cámara 12300, y un teléfono movimiento 12500, se conectan a internet 11100 a través de un probador de servicio de internet 11200, una red de comunicaciones 11400, y las estaciones base inalámbricas 11700, 11800, 11900, y 12000.
Sin embargo, el sistema de suministro contenido 11000 no está limitado a como se ilustra en la Figura 26, y dispositivos pueden conectarse selectivamente a éste. La pluralidad de dispositivos independientes puede conectarse directamente a la red de comunicación 11400, no a través de las estaciones base inalámbricas 1170, 11800, 11900, y 12000.
La cámara de video 12300 es un dispositivo de creación de imágenes, por ejemplo, una cámara de video digital, que es capaz de capturar imágenes de video. El teléfono móvil 12500 puede emplear al menos un método de comunicación de entre varios protocolos, por ejemplo, Comunicaciones Digitales Personales (PDC, por sus siglas en inglés) , Acceso Múltiple de División por Código (CDMA, por sus siglas en inglés) , Acceso Múltiple de División por Código de Banda Ancha (W-CDMA, por sus siglas en inglés) , Sistema Global para Comunicaciones Móviles (GSM, por sus siglas en inglés) , y Sistema de Teléfono Portátil Personal (PHS, por sus siglas en inglés) .
La cámara de video 12300 puede conectarse a un servidor de transmisión continuo 11300 a través de la estación base inalámbrica 11900 y la red de comunicación 11400. El servidor de transmisión continuo 11300 permite que se transmita continuamente contenido recibido desde un usuario a través de la cámara de video 12300 a través de una difusión en tiempo real. El contenido recibido de la cámara de video 12300 puede ser codificado utilizando la cámara de video 11300 o el servidor de transmisión continuo 11300. Los datos de video capturados por la cámara de video 12300 pueden ser transmitidos al servidor de transmisión continuo 11300 a través de la computadora 12100.
Datos de video capturados por una cámara 12600 también pueden ser transmitidos al servidor de transmisión continuo 11300 a través de la computadora 12100. La cámara 12600 es un dispositivo de creación de imágenes capaz de capturar tanto imágenes fijas como imágenes de video, similar una cámara digital . Los datos de video capturados por la cámara 12600 pueden ser codificados utilizando la cámara 12600 o la computadora 12100. Puede almacenarse software para codificación y decodificación de video en un medio de grabación legible por computadora, por ejemplo, un disco CD-ROM, un disco flexible, una unidad de disco duro, una SSD, o una tarjeta de memoria, que puede ser accesible por la computadora 12100.
Si se captura un video por una cámara incorporada en el teléfono móvil 12500, pueden recibirse datos de video desde el teléfono móvil 12500.
Datos de video también pueden ser codificados por un sistema de circuito integrado a gran escala (LSI, por sus siglas en inglés) instalado en la cámara de video 12300, el teléfono móvil 12500, o la cámara 12600.
El sistema de suministro de contenido 11000 de conformidad con una modalidad puede codificar contenido grabado por un usuario utilizando la cámara de video 12300, la cámara 12600, el teléfono móvil 12500, u otro dispositivo de creación de imágenes, por ejemplo, contenido grabado durante un concierto, y transmitir el contenido codificado al servidor de transmisión continuo 11300. El servidor de transmisión continuo 11300 puede transmitir datos de contenido a otros clientes que solicitaron los datos de contenido .
Los clientes son dispositivos capaces de decodificar datos de contenido codificados, por ejemplo, la computadora 12100, el PDA 12200, la cámara de video 12300, o el teléfono móvil 12500. De esa forma, el sistema de suministro contenido 11000 permite a los dientes recibir y reproducir los datos de contenido codificados. También, el sistema de suministro de contenido 11000 permite a los clientes recibir los datos de contenido codificados y decodificar y reproducir los datos de contenido codificados en tiempo real, permitiendo con ello difusión personal.
Operaciones de codificación y de decodificación de los dispositivos independientes incluidos en el sistema de suministro de contenido 11000 pueden ser similares a aquellas de un aparato de codificación de video y un aparato de decodificación de video de la presente invención.
El teléfono móvil 12500 incluido en el sistema de suministro de contenido 11000 de conformidad con una modalidad de la presente invención se describirá ahora en mayor detalle con referencia a las Figuras 27 y 28.
La Figura 27 ilustra una estructura externa del teléfono móvil 12500 al cual se aplican un método de codificación de video y un método de decodificación de video de la presente invención de conformidad con modalidades. El teléfono móvil 12500 puede ser un teléfono inteligente, cuyas funciones no están limitadas y del cual pueden cambiarse o expandirse un gran número de las funciones.
El teléfono móvil 12500 incluye una antena interna 12510 a través de la cual puede intercambiarse una señal de RF con la estación base inalámbrica 12000, e incluye una pantalla de presentación 12520 para presentar imágenes capturadas por la cámara 12530 o imágenes que se reciben a través de la antena 12510 y decodificadas , por ejemplo, una pantalla de cristal líquido (LCD, por sus siglas en inglés) o una pantalla de diodo emisor de luz orgánico (OLED, por sus siglas en inglés) . El teléfono inteligente 12510 incluye un panel de operación 12540 que incluye un botón de control y un panel táctil. Si la pantalla de presentación 12520 es una pantalla táctil, el panel de operación 12540 además incluye un panel de detección de contacto de la pantalla de presentación 12520. El teléfono inteligente 12510 incluye una bocina 12580 para enviar voz y sonido u otro tipo de unidad de salida de sonido, y un micrófono 12150 para ingresar voz y sonido u otro tipo de unidad de entrada de sonido. El teléfono inteligente 12510 además incluye la cámara 12530, tal como una cámara CCD, para capturar imágenes de video y fijas. El teléfono inteligente 12510 además puede incluir un área de almacenamiento 12570 para almacenar datos codificados o decodificados , por ejemplo, imágenes de video o fijas capturadas por la cámara 12530, recibidos a través de correo electrónico, u obtenidos de conformidad con varias formas; y una ranura 12560 a través de la cual se carga el medio de almacenamiento 12570 en el teléfono móvil 12500. El medio de almacenamiento 12570 puede ser una memoria flash, por ejemplo, una tarjeta SD o una memoria de sólo lectura eléctricamente borrable y programable (EEPROM, por sus siglas en inglés) incluida en una funda de plástico.
La Figura 28 ilustra una estructura interna del teléfono móvil 12500. Para controlar sistemáticamente partes del teléfono móvil 12500 incluye una pantalla de presentación 12520 y el panel de operación 12540, un circuito de suministro de energía 12700, un controlador de entrada de operación 12640, una unidad de codificación de imagen 12720, una interfaz de cámara 12630, un controlador de LCD 12620, una unidad de decodificación de imagen 12690, un multiplexor/demultiplexor 12680, una unidad de grabación/lectura 12670, una unidad de modulación/desmodulación 12660, y un productor de sonido 12650 se conectan a un controlador central 12710 a través de un conductor común de sincronización 12730.
Si un usuario opera un botón de energía y establece de un estado 'apagado' a un estado 'encendido', el circuito de suministro de energía 12700 suministra energía a todas las partes del teléfono móvil 12500 de un paquete de baterías, estableciendo con ello el teléfono móvil 12500 en un modo de operación.
El controlador central 12710 incluye una CPU, una memoria de sólo lectura (ROM, por sus siglas en inglés) , y una memoria de acceso aleatorio (RAM, por sus siglas en inglés) .
Aunque el teléfono móvil 12500 transmite datos de comunicación al exterior, se genera una señal digital mediante el teléfono móvil 12500 bajo el control del controlador central 12710. Por ejemplo, el procesador de sonido 12650 puede generar una señal de sonido digital, la unidad de codificación de imagen 12720 puede generar una señal de imagen digital, y datos de texto de un mensaje pueden generarse a través del panel de operación 12540 y el controlador de entrada de operación 12640. Cuando se transmite una señal digital a la unidad de modulación/desmodulación 12660 bajo control del controlador central 12710, la unidad de modulación/desmodulación 12660 modula una banda de frecuencia de la señal digital, y un circuito de comunicación 12610 realiza conversión digital a analógica (DAC, por sus siglas en inglés) y conversión de frecuencia en la señal de sonido digital modulada por banda de frecuencia. Una señal de transmisión enviada desde el circuito de comunicación 12610 puede transmitirse a una estación base de comunicación de voz o la estación base inalámbrica 12000 a través de la antena 12510.
Por ejemplo, cuando el teléfono móvil 12500 es un modo de conversación, una señal de sonido obtenida a través del micrófono 12550 se transforma en una señal de sonido digital mediante el procesar de sonido 12650, bajo el control del controlador central 12710. La señal de sonido digital generada puede ser transformada en una señal de transmisión a través de la unidad de modulación/desmodulación 12660 y el circuito de comunicación 12610, y puede transmitirse a través de la antena 12510.
Cuando se transmite un mensaje de texto, por ejemplo, el correo electrónico, en un modo de comunicación de datos, se ingresan datos de texto del mensaje a través del panel de operación 12540 y se transmiten al controlador central 12710 a través del controlador de entrada de operación 12640. Bajo el control del controlador central 12710, se transforman los datos de texto en una señal de transmisión a través de la unidad de modulación/desmodulación 12660 y el circuito de comunicación 12610 y se transmiten a la estación base inalámbrica 12000 a través de la antena 12510.
Para transmitir datos de imagen en el modo de comunicación de datos, se proporcionan datos de imagen capturados mediante la cámara 12530 a la unidad de codificación de imagen 12720 a través de la interfaz de cámara 12630. Los datos de imagen capturados mediante la cámara 12530 pueden presentarse directamente en la pantalla de presentación 12520 a través de la interfaz de cámara 12630 y el controlador de LCD 12620.
Una estructura de la unidad de codificación de imagen 12720 puede corresponder a aquella del aparato de codificación de video de la presente invención descrito anteriormente. La unidad de codificación de imagen 12720 puede transformar los datos de imagen recibidos de la cámara 12530 en datos de imagen comprimidos y codificados de conformidad con el método de codificación de video de la presente invención descrito anteriormente, y entonces enviar los datos de imagen codificados al multiplexor/demultiplexor 12680. Durante una operación de grabación de la cámara 12530, puede transformarse una señal de sonido obtenida por el micrófono 12550 del teléfono móvil 12500 en datos de sonido digital a través del procesador de sonido 12650, y los datos de sonido digital pueden transmitirse al multiplexor/demultiplexor 12,680.
El multiplexor/demultiplexor 12680 multiplexa los datos de imagen codificados recibidos desde la unidad de codificación de imagen 12720, junto con los datos de sonido recibidos desde el procesador de sonido 12650. Los datos multiplexados pueden ser transformados en una señal de transmisión a través de la unidad de modulación/desmodulación 12660 y el circuito de comunicación 12610, y entonces pueden transmitirse a través de la antena 12510.
Mientras el teléfono móvil 12500 recibe datos de comunicación desde el exterior, se realiza recuperación de frecuencia y conversión analógica-digital (en una señal recibida a través de la antena 12510 para transformar la señal en una señal digital . La unidad de modulación/desmodulación 12660 modula una banda de frecuencia de la señal digital. La señal digital modulada por banda de frecuencia se transmite a la unidad de decodificación de video 12690, el procesador de sonido 12650, o el controlador de LCD 12620, de conformidad con el tipo de la señal digital.
En el modo de conversación, el teléfono móvil 12500 amplifica una señal recibida a través de la antena 12510, y genera una señal de sonido digital al realizar conversión de frecuencia y conversión analógica-digital en la señal amplificada. Una señal de sonido digital recibida se transforma en una señal de sonido analógica a través de la unidad de modulación/desmodulación 12660 y el procesador de sonido 12650, y la señal de sonido analógica se envía a través de la bocina 12580, bajo control del controlador central 12710.
Cuando está en el modo de comunicación de datos, se reciben datos de un archivo de video accedido en un sitio web de Internet, se envía una señal recibida desde la estación base inalámbrica 12000 a través de la antena 12510 como datos multiplexados a través de la unidad de modulación/desmodulación 12660, y se transmiten los datos multiplexados al multiplexor/demultiplexor 12680.
Para codificar los datos multiplexados recibidos a través de la antena 12510, el multiplexor/demultiplexor 12680 demultiplexa los datos multiplexados en un flujo de datos de video codificado y un flujo de datos de audio codificado. A través del conductor común de sincronización 12730, el flujo de datos de video codificado y el flujo de datos de audio codificados se proporcionan a la unidad de decodificación de video 12690 y al procesador de sonido 12650, respectivamente.
Una estructura de la unidad de decodificación de imagen 12690 puede corresponder a aquella del aparato de decodificación de video de la presente invención descrita anteriormente. La unidad de decodificación de imagen 12690 puede decodificar los datos de video codificados para obtener datos de video restaurados y proporcionar los datos de video restaurados a la pantalla de presentación 12520 a través del controlador de LCD 12620, de conformidad con el método de decodificación de video de la presente invención descrito anteriormente .
De esa forma, los datos de video del archivo de video accedido en el sitio web de internet pueden presentarse en la pantalla de presentación 12520. Al mismo tiempo, el procesador de sonido 12650 puede transformar datos de audio en una señal de sonido analógica, y proporcionar la señal de sonido analógica a la bocina 12580. De esa forma, datos de audio contenidos en el archivo de video accedido en el sitio web de Internet también pueden reproducirse a través de la bocina 12580.
El teléfono móvil 12500 u otro tipo de terminal de comunicación puede ser una terminal transceptora incluyendo tanto el aparato de codificación de video como el aparato de decodificación de video de la presente invención, puede ser una terminal transceptora incluyendo únicamente el aparato de codificación de video de la presente invención descrito anteriormente, o puede ser una terminal transceptora incluyendo únicamente el aparato de decodificación de video de la presente invención.
Un sistema de comunicación de la presente invención no está limitado al sistema de comunicación descrito anteriormente con referencia a la Figura 26. Por ejemplo, la Figura 29 ilustra un sistema de difusión digital que emplea un sistema de comunicación de conformidad con la presente invención. El sistema de difusión digital de la Figura 29 de conformidad con una modalidad puede recibir una difusión digital transmitida a través de un satélite o una red terrestre al utilizar el aparato de codificación de video y el aparato de decodificación de video de la presente invención.
Específicamente, una estación de difusión 12890 transmite un flujo de datos de video a un satélite de comunicación o un satélite de difusión 12900 al utilizar ondas de radio. El satélite de difusión 12900 transmite una señal de difusión, y la señal de difusión se transmite a un receptor de difusión de satélite a través de una antena doméstica 12860. En cada casa, puede decodificarse un flujo de video codificado y reproducirse mediante un receptor de TV 12810, un decodificador de televisión 12870, u otro dispositivo .
Cuando el aparato de decodificación de video de la presente invención se implementa en un aparato de reproducción 12830, el aparato de reproducción 12830 puede analizar y decodificar un flujo de video codificado grabado en un medio de almacenamiento 12820, tal como un disco o una tarjeta de memoria para restaurar señales digitales. De esa forma, la señal de video restaurada puede ser reproducida, por ejemplo, en un monitor 12840.
En el decodif icador de televisión 12870 conectado a la antena 12860 para una difusión de satélite/terrestre o una antena de cable 12850 para recibir una difusión de televisión por cable, el aparato de decodificación de video de la presente invención puede ser instalado. Datos enviados desde el decodif icador de televisión 12870 también pueden reproducirse en un monitor de televisión 12880.
Como otro ejemplo, el aparato de decodificación de video de la presente invención puede instalarse en el receptor de televisión 12810 en lugar del decodificador de televisión 12870.
Un automóvil 12920 que tiene una antena apropiada 12910 puede recibir una señal transmitida desde el satélite 12900 o la estación base inalámbrica 11700. Un video decodificado puede reproducirse en una pantalla de presentación de un sistema de navegación de automóvil 12930 instalado en el automóvil 12920.
Puede codificarse una señal de video mediante el aparato de codificación de video de la presente invención y puede grabarse y almacenarse en un medio de almacenamiento. En detalle, una señal de imagen puede almacenarse en un disco DVD 12960 mediante una grabadora de DVD o puede almacenarse en un disco duro mediante una grabadora de disco duro 12950. Como otro ejemplo, la señal de video puede ser almacenada en la tarjeta SD 12970. Si la grabadora de disco duro 12950 incluye el aparato de decodificación de video de la presente invención, una señal de video grabado en el disco DVD 12960, la tarjeta SD 12970, u otro medio de almacenamiento puede reproducirse en el monitor 12880.
El sistema de navegación de automóvil 12930 puede no incluir la cámara 12530, la interfaz de cámara 12630, y la unidad de codificación de imagen 12720 de la Figura 26. Por ejemplo, la computadora 12100 y el receptor de televisión 12810 pueden no incluir la cámara 12530, la interfaz de cámara 12630, y la unidad de codificación de imagen 12720 de la Figura 26.
La Figura 30 es un diagrama que ilustra una estructura de red de un sistema de cómputo de nube que utiliza un aparato de codificación de video y un aparato de decodificación de video, de conformidad con una modalidad de la presente invención.
El sistema de cómputo de nube puede incluir un servidor de cómputo de nube 14000, una DB de usuario 14100, recursos de cómputo 14200, y una terminal de usuario.
El sistema de cómputo de nube proporciona un servicio de subcontratación a demanda de los recursos de cómputo a través de una red de comunicación de información, por ejemplo, Internet, en respuesta a una solicitud de la terminal de usuario. Bajo un ambiente de cómputo de nube, un proveedor de servicio proporciona a usuarios con servicios deseados al combinar recursos de cómputo en centros de datos localizados en ubicaciones físicamente diferentes al utilizar tecnología de virtualización . Un usuario de servicio no tiene que instalar recursos de cómputo, por ejemplo, una aplicación, un almacenamiento, un sistema operativo (OS, por sus siglas en inglés) y seguridad, en su propia terminal con el fin de utilizarlos, pero puede seleccionar y utilizar servicios deseados de entre servicios en un espacio virtual generado a través de la tecnología de virtualización, en un punto en el tiempo deseado.
Una terminal de usuario de un usuario de servicio especificado se conecta al servidor de cómputo de nube 14000 a través de una red de comunicación de información que incluye Internet y una red de telecomunicación móvil. Pueden proporcionarse terminales de usuario con servicios de cómputo de nube, y particularmente servicios de reproducción de video, desde el servidor de cómputo de nube 14000. Las terminales de usuario pueden ser varios tipos de dispositivos electrónicos capaces de conectarse al Internet, por ejemplo, una PC de escritorio 14300, una televisión inteligente 14400, un teléfono inteligente 14500, una computadora portátil 14600, un reproductor multimedia portátil (PMP, por sus siglas en inglés) 14700, una PC de tableta 14800, y similares .
El servidor de cómputo de nube 14000 puede combinar la pluralidad de recursos de cómputo 14200 distribuidos en una red de nube y proporcionar terminales de usuario de usuario con un resultado de combinación. La pluralidad de recursos de cómputo 14200 puede incluir varios servicios de datos, y puede incluir datos cargados desde terminales de usuario. Como se describió anteriormente, el servidor de cómputo de nube 14000 puede proporcionar terminales de usuario con servicios deseados al combinar base de datos de video distribuida en diferentes regiones de conformidad con la tecnología de virtualización .
Información de usuario sobre usuarios que se han suscrito a un servicio de cómputo de nube se almacena en la DB de usuario 14100. La información de usuario puede incluir información de registro e información de crédito personal, tal como direcciones, nombres, etc. La información de usuario por incluir además índices de videos. Aquí, los índices pueden incluir una lista de videos que ya se han reproducido, una lista de videos que se están reproduciendo, un punto de pausa de un video que se estaba reproduciendo, y similares.
Puede compartirse información sobre un video almacenado en la DB de usuario 14600 entre dispositivos de usuario. Por consiguiente, por ejemplo, cuando se proporciona un servicio de video predeterminado a la computadora 14600 en respuesta a una solicitud desde la computadora portátil 14600, se almacena un historial de reproducción del servicio de video predeterminado en la DB de usuario 14100. Cuando se recibe una solicitud para reproducir el mismo servicio de video a partir del teléfono inteligente 14500, el servidor de cómputo de nube 14000 busca y reproduce el servicio de video predeterminado, con base en la DB de usuario 14100. Cuando el teléfono inteligente 14500 recibe un flujo de datos de video desde el servidor de cómputo de nube 14000, un proceso para reproducir un video al decodificar el flujo de datos de video es similar a una operación del teléfono móvil 12500 descrito anteriormente con referencia a la Figura 24.
El servidor de cómputo de nube 14000 puede hacer referencia a un historial de reproducción o un servicio de video predeterminado, almacenado en la DB de usuario 14100. Por ejemplo, el servidor de cómputo de nube 14000 recibe una solicitud para reproducir un video almacenado en la DB de usuario 14100, desde una terminal de usuario. Si se está reproduciendo este video, entonces un método de transmisión continuo del servidor de cómputo de nube 14000 puede variar con base en sí el video se va a reproducir partiendo desde un inicio del mismo o punto de pausa del mismo de conformidad con una selección de la terminal de usuario. Por ejemplo, si la terminal de usuario solicita reproducir el video partiendo desde el inicio del mismo, el servidor de cómputo de nube 14000 transmite datos de transmisión continua del video partiendo desde un primer cuadro del mismo hacia la terminal de usuario. Si la terminal solicita reproducir el video partiendo del punto de pausa del mismo, el servidor de cómputo de nube 14000 transmite datos de transmisión continua del video partiendo desde un cuadro correspondiente al punto de pausa, hacia la terminal de usuario.
En este caso, la terminal de usuario puede incluir el aparato de decodificación de video de la presente invención descrito anteriormente con referencia a las Figuras 1A a 23. Como otro ejemplo, la terminal de usuario puede incluir el aparato de codificación de video de la presente invención descrito anteriormente con referencia a las Figuras 1A a 23. Alternativamente, la terminal de usuario puede incluir tanto el aparato de decodificación de video como el aparato de codificación de vídeo de la presente invención descritos anteriormente con referencia a las Figuras 1A a 23.
Varias aplicaciones del método de codificación de video, el método de decodificación de video, el aparato de codificación de video, y el aparato de decodificación de video de la presente invención descritos anteriormente con referencia a las Figuras 1A a 23 han sido descritos anteriormente con referencia a las Figuras 24 a 30. Sin embargo, métodos para almacenar el método de codificación de video y el método de decodificación de video de la presente invención descritos anteriormente con referencia a las Figuras 1A a 23 en un medio de almacenamiento o métodos para implementar el aparato de codificación de video y el aparto de decodificación de video de la presente invención en un dispositivo, de conformidad con varias modalidades de la presente invención, no están limitados a las modalidades descritas anteriormente con referencia a las Figuras 24 a 30.
Aunque esta invención ha sido particularmente mostrada y descrita con referencia a modalidades preferidas de la misma, se entenderá por aquellos técnicos en la materia con conocimientos básicos que pueden hacerse ahí varios cambios en forma y detalles sin apartarse del espíritu y alcance de la invención como se definió por las reivindicaciones anexas. Las modalidades preferidas deben ser consideradas en sentido descriptivo únicamente y no para propósitos de limitación. Por lo tanto, el alcance de la invención no se define por la descripción detallada de la invención sino por las reivindicaciones anexas, y todas las diferencias dentro del alcance se interpretarán como estando incluidas en la presente descripción.
Se hace constar que con relación a esta fecha, el mejor método conocido por la solicitante para llevar a la práctica la citada invención, es el que resulta claro de la presente descripción de la invención.

Claims (15)

REIVINDICACIONES Habiéndose descrito la invención como antecede, se reclama como propiedad lo contenido en las siguientes reivindicaciones :
1. - Un método para determinar una imagen de referencia para inter-predicción, caracterizado porque comprende : determinar un tipo de fragmento de un fragmento que comprende un bloque; si se determina que el tipo de fragmento es un tipo de fragmento B capaz de predicción unidireccional o predicción bidireccional , determinar una dirección de inter-predicción del bloque para ser una de una primera dirección, una segunda dirección, y una bidirección; si la dirección de inter-predicción no es la segunda dirección, determinar un índice de referencia de primera dirección entre una lista de imagen de referencia de primera dirección para ser un índice de referencia para el bloque; y si la dirección de inter-predicción no es la primera dirección, determinar que un índice de referencia de segunda dirección entre una lista de imagen de referencia segunda dirección es un índice de referencia para el bloque.
2. - El método de conformidad con la reivindicación 1, caracterizado porque, si la dirección de inter-predicción es la predicción bidireccional , se determina el índice de referencia de primera dirección a partir de la lista de imagen de referencia de primera dirección y se determina el índice de referencia de segunda dirección a partir de la lista de imagen de referencia de segunda dirección.
3. - El método de conformidad con la reivindicación 1, caracterizado porque la determinación del índice de referencia de primera dirección comprende: determinar un valor de diferencia de un primer vector de movimiento que indica una imagen de referencia indicada por el índice de referencia de primera dirección; y determinar un pronosticador de vector de movimiento del cual se utiliza una imagen a partir del índice de referencia de primera dirección, y la determinación del índice de referencia de segunda dirección comprende: determinar un valor de diferencia de un segundo vector de movimiento que indica una imagen de referencia indicada por el índice de referencia de segunda dirección; y determinar un pronosticador de vector movimiento del cual se utiliza una imagen a partir del índice de referencia de segunda dirección.
4. - El método de conformidad con la reivindicación 1, caracterizado porque además comprende: determinar información de modo de inter-predicción que indica que la dirección de inter-predicción está en 2 bits ; seleccionar uno de cuatro índices de modelo de contexto con base en una profundidad de una unidad de codificación de un bloque actual, para un modelo de contexto de un primer binario de entre dos binarios correspondientes a la información de modo de inter-predicción en dos bits; y seleccionar un índice de modelo de contexto independientemente de otro símbolo, para un modelo de contexto de un segundo binario de entre los dos binarios, en donde el primer binario indica si la dirección de inter-predicción es una unidirección o una bidirección, y el segundo binario indica si la unidirección es la primera dirección o la segunda dirección.
5. - El método de conformidad con la reivindicación 1, caracterizado porque la determinación del tipo de fragmento comprende analizar información de un tipo de fragmento del fragmento a partir de un encabezado de fragmento en un flujo de bits recibido, la determinación de la dirección de inter-predicción comprende: analizar información de modo de inter-predicción que indica la dirección de inter-predicción a partir de una región de unidad de predicción que comprende información de predicción del bloque en el flujo de bits recibido; y leer la predicción de la primera dirección, predicción de segunda dirección, y predicción bidireccional se indica por la información de modo de inter-predicción, determinación del índice de referencia de primera dirección comprende: analizar la información de índice de referencia de primera dirección e información de valor de diferencia del primer vector de movimiento a partir de la región de unidad de predicción que comprende la información de predicción del bloque en el flujo de bits recibido; y analizar información que indica un pronosticador de vector de movimiento del cual se utiliza una imagen a partir del índice de referencia de primera dirección, y la determinación del índice de referencia de segunda dirección comprende analizar la información de índice de referencia de segunda dirección e información de valor de diferencia del segundo vector de movimiento a partir de la región de unidad de predicción en el flujo de bits recibido.
6.- El método de conformidad con la reivindicación 4, caracterizado porque además comprende restaurar la información de modo de inter-predicción al realizar la decodificación por entropía utilizando un modelo de contexto determinado para cada binario en una secuencia de bits en un flujo de bits recibido, la secuencia de bits comprende la información de modo de inter-predicción .
7. - El método de conformidad con la reivindicación 5, caracterizado porque además comprende: analizar un índice de referencia, un vector de movimiento, y un residuo por bloque de inter modo en el fragmento, a partir del flujo de bits recibido; determinar una imagen de referencia indicada por el índice de referencia en al menos una de la lista de imagen de referencia de primera dirección y la lista de imagen de referencia de segunda dirección; y realizar compensación de movimiento y generar una imagen restaurada al utilizar la imagen de referencia determinada, el vector de movimiento, y el residuo por bloque de inter modo.
8.- El método de conformidad con la reivindicación 1, caracterizado porque además comprende: insertar información de tipo de fragmento que indica el tipo de fragmento en un encabezado de fragmento del fragmento ,- insertar información de modo de inter-predicción que indica cualquiera de predicción de primera dirección, predicción de segunda dirección, y predicción bidireccional en una región de unidad de predicción que comprende información de predicción del bloque; insertar la información de índice de referencia de primera dirección e información de valor de diferencia del primer vector de movimiento dentro de la región de unidad de predicción; insertar la información de índice de referencia de segunda dirección e información de valor de diferencia del segundo vector de movimiento dentro de la región de unidad de predicción; y transmitir un flujo de bits que comprende el encabezado de fragmento y la región de unidad de predicción.
9. - El método de conformidad con la reivindicación 4, caracterizado porque además comprende transmitir una secuencia de bits generada al realizar decodificación por entropía al utilizar un modelo de contexto determinado para cada binario de la información de modo de inter-predicción.
10.- El método de conformidad con la reivindicación 8, caracterizado porque además comprende: realizar predicción de movimiento en el bloque al utilizar imágenes de referencia en al menos una de la lista de imagen de referencia de primera dirección y la lista de imagen de referencia de segunda dirección; determinar al menos una imagen de referencia que comprende un bloque de referencia muy similar con base en un resultado de la predicción de movimiento; determinar el índice de referencia que indica la por lo menos una imagen de referencia determinada de entre la lista de imagen de referencia de primera dirección y la lista de imagen de referencia de segunda dirección,- determinar un pronosticador de vector de movimiento del cual se utiliza una imagen a partir de los índices de referencia de primera y segunda dirección; y insertar un vector de movimiento y un residuo que indica la por lo menos una imagen de referencia determinada, y una dirección de inter-predicción y un índice de referencia que indica la por lo menos una imagen de referencia determinada en una región de bloque del flujo de bits, en donde la determinación del índice de referencia de primera dirección comprende codificar el índice de referencia de primera dirección cuando la por lo menos una imagen de referencia determinada no pertenece a la lista de referencia de segunda dirección, y determinación del índice de referencia de segunda dirección comprende codificar el índice de referencia de una dirección cuando la por lo menos una imagen de referencia determinada no pertenece a la lista de referencia de primera dirección.
11.- Un aparato para determinar una imagen de referencia, caracterizado porque comprende: un determinador de dirección de inter-predicción que determina un tipo de fragmento de un fragmento que comprende un bloque, y si el tipo de fragmento es un tipo de fragmento B capaz de predicción unidireccional o predicción bidireccional determina una dirección de inter-predicción del bloque para ser una de una primera dirección, una segunda dirección, y una bidirección; y un determinador de índice de referencia que determina un índice de referencia de primera dirección a partir de una lista de imagen de referencia de primera dirección como un índice de referencia para el bloque si la dirección de inter-predicción no es la una dirección, y determina un índice de referencia de segunda dirección a partir de una lista de imagen de referencia de segunda dirección como un índice de referencia para el bloque si la dirección de inter-predicción no es la primera dirección.
12. - Un método para determinar una imagen de referencia para inter-predicción, caracterizado porque comprende : determinar si un pronosticador de movimiento temporal se puede utilizar para un fragmento actual de una imagen; si el pronosticador de vector de movimiento temporal se puede utilizar en el fragmento actual y el tipo de fragmento es un tipo de fragmento B capaz de predicción unidireccional o predicción bidireccional, determinar si una imagen que comprende un bloque colocado existe en una lista de imagen de referencia de primera dirección; si el pronosticador de vector de movimiento temporal no se puede utilizar en el fragmento actual, determinar información de índice de la imagen que comprende el bloque colocado a partir de una lista de imagen de referencia predeterminada; y determinar un pronosticador de vector de movimiento de un bloque actual al utilizar un vector de movimiento del bloque colocado.
13. - El método de conformidad con la reivindicación 12, caracterizado porque además comprende: determinar una imagen colocada a partir del índice de imagen determinado, y determinar un pronosticador de vector de movimiento del bloque actual con base en un vector de movimiento del bloque colocado; determinar un vector de movimiento del bloque actual al utilizar el pronosticador de vector de movimiento; y determinar un bloque de referencia del bloque actual al utilizar el vector de movimiento.
14. - El método de conformidad con la reivindicación 12, caracterizado porque la determinación de si existe la imagen que comprende el bloque colocado en la lista de imagen de referencia de primera dirección comprende: analizar información que indica utilidad del pronosticador de vector de movimiento temporal a partir de un encabezado de fragmento del fragmento actual; si se puede utilizar el pronosticador de vector de movimiento temporal, analizar información a partir del encabezado de fragmento, la información indica si existe una imagen que comprende un bloque colocado en la lista de imagen de referencia de primera dirección y si existe información de índice de la imagen que comprende el bloque colocado en una lista de imagen de referencia predeterminada.
15.- El método de conformidad con la reivindicación 12, caracterizado porque la determinación de si existe la imagen que comprende el bloque colocado en la lista de imagen de referencia de primera dirección comprende: insertar información que indica utilidad del pronosticador de vector de movimiento temporal dentro de un encabezado de fragmento del fragmento actual; y si se puede utilizar el pronosticador de vector movimiento temporal, insertar información dentro del encabezado de fragmento, la información indica si existe una imagen que comprende un bloque colocado en la lista de imagen de referencia de primera dirección y si existe información de índice de la imagen que comprende el bloque colocado en una lista de imagen de referencia predeterminada.
MX2014012452A 2012-04-15 2013-04-15 Metodo y aparato para determinar imagenes de referencia para inter-prediccion. MX2014012452A (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201261624354P 2012-04-15 2012-04-15
PCT/KR2013/003142 WO2013157791A1 (ko) 2012-04-15 2013-04-15 인터 예측의 참조영상을 결정하는 방법과 그 장치

Publications (1)

Publication Number Publication Date
MX2014012452A true MX2014012452A (es) 2015-01-12

Family

ID=49383687

Family Applications (3)

Application Number Title Priority Date Filing Date
MX2015016232A MX340383B (es) 2012-04-15 2013-04-15 Metodo y aparato para determinar imagenes de referencia para inter-prediccion.
MX2016008836A MX354306B (es) 2012-04-15 2013-04-15 Metodo y aparato para determinar imagenes de referencia para inter-prediccion.
MX2014012452A MX2014012452A (es) 2012-04-15 2013-04-15 Metodo y aparato para determinar imagenes de referencia para inter-prediccion.

Family Applications Before (2)

Application Number Title Priority Date Filing Date
MX2015016232A MX340383B (es) 2012-04-15 2013-04-15 Metodo y aparato para determinar imagenes de referencia para inter-prediccion.
MX2016008836A MX354306B (es) 2012-04-15 2013-04-15 Metodo y aparato para determinar imagenes de referencia para inter-prediccion.

Country Status (14)

Country Link
US (5) US20150103911A1 (es)
EP (1) EP2840793A4 (es)
JP (3) JP5997363B2 (es)
KR (2) KR20130116216A (es)
CN (1) CN104365101B (es)
AU (3) AU2013250105B2 (es)
BR (1) BR112014025617A2 (es)
CA (1) CA2870529C (es)
MX (3) MX340383B (es)
MY (1) MY172302A (es)
PH (5) PH12014502273B1 (es)
RU (2) RU2666233C1 (es)
SG (2) SG10201706678RA (es)
WO (1) WO2013157791A1 (es)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SI2744204T1 (sl) * 2011-09-14 2019-02-28 Samsung Electronics Co., Ltd., Postopek dekodiranja enote za napovedovanje (PU) na podlagi njene velikosti
JP5997363B2 (ja) * 2012-04-15 2016-09-28 サムスン エレクトロニクス カンパニー リミテッド ビデオ復号化方法及びビデオ復号化装置
US10721487B2 (en) * 2012-04-17 2020-07-21 Texas Instruments Incorporated Converting a bi-predicted merging candidate in a merging candidate list for a prediction unit of a picture
US9591312B2 (en) * 2012-04-17 2017-03-07 Texas Instruments Incorporated Memory bandwidth reduction for motion compensation in video coding
CA2878206C (en) * 2012-07-02 2016-05-17 Samsung Electronics Co., Ltd. Method and apparatus for encoding video and method and apparatus for decoding video determining inter-prediction reference picture list depending on block size
US10110916B2 (en) 2014-04-22 2018-10-23 Sony Corporation Encoding device and encoding method
CN112188207B (zh) * 2014-10-31 2023-10-20 三星电子株式会社 使用高精度跳过编码的视频编码设备和视频解码设备及其方法
WO2016143972A1 (ko) * 2015-03-11 2016-09-15 엘지전자(주) 비디오 신호의 인코딩/디코딩 방법 및 장치
CN104717513B (zh) * 2015-03-31 2018-02-09 北京奇艺世纪科技有限公司 一种双向帧间预测方法及装置
CN115134591A (zh) * 2015-06-05 2022-09-30 杜比实验室特许公司 图像编解码方法、比特流存储方法
CN116781932A (zh) * 2017-03-13 2023-09-19 韩国电子通信研究院 基于非典型块的运动预测和补偿的方法及其装置
US20180332298A1 (en) * 2017-05-10 2018-11-15 Futurewei Technologies, Inc. Bidirectional Prediction In Video Compression
CN117560505A (zh) 2018-03-29 2024-02-13 华为技术有限公司 一种双向帧间预测方法及装置
US11470346B2 (en) 2018-05-09 2022-10-11 Sharp Kabushiki Kaisha Systems and methods for performing motion vector prediction using a derived set of motion vectors
WO2019216736A1 (ko) * 2018-05-11 2019-11-14 엘지전자 주식회사 인터 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
MX2021002488A (es) * 2018-09-04 2021-07-16 Huawei Tech Co Ltd Método de obtención de trama de referencia y aparato aplicado a la interpredicción bidireccional.
EP3788779A4 (en) * 2018-10-23 2022-03-02 Tencent America LLC VIDEO CODING METHOD AND APPARATUS
CN111263147B (zh) * 2018-12-03 2023-02-14 华为技术有限公司 帧间预测方法和相关装置
MX2021007752A (es) 2018-12-28 2021-08-05 Godo Kaisha Ip Bridge 1 Dispositivo de decodificacion de imagenes, metodo de decodificacion de imagenes y programa de computadora.
US11431986B2 (en) 2018-12-28 2022-08-30 Godo Kaisha Ip Bridge 1 Picture coding device, picture coding method, and picture coding program, picture decoding device, picture decoding method and picture decoding program
CN111385575A (zh) * 2018-12-29 2020-07-07 华为技术有限公司 帧间预测方法、装置以及相应的编码器和解码器
US11032574B2 (en) 2018-12-31 2021-06-08 Tencent America LLC Method and apparatus for video coding
CN111164976A (zh) * 2019-01-03 2020-05-15 北京大学 视频处理方法和装置
CN111510726B (zh) * 2019-01-30 2023-01-24 杭州海康威视数字技术股份有限公司 一种编解码方法及其设备
CN114303380B (zh) * 2019-08-27 2024-04-09 华为技术有限公司 用于几何划分标志的索引的cabac译码的编码器、解码器及对应方法
CN114788274A (zh) * 2019-10-10 2022-07-22 北京达佳互联信息技术有限公司 利用三角分区的视频编解码方法和装置
CN114470750B (zh) * 2021-07-06 2022-12-30 荣耀终端有限公司 图像帧流的显示方法、电子设备和存储介质
WO2023080464A1 (ko) * 2021-11-05 2023-05-11 삼성전자 주식회사 Ai 기반 필터링을 위한 영상 처리 방법 및 장치

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11298902A (ja) * 1998-04-08 1999-10-29 Sony Corp 画像符号化装置および方法
KR100488043B1 (ko) * 2002-05-03 2005-05-06 엘지전자 주식회사 Mh 픽쳐의 매크로블록 코딩정보 생성 방법
KR100506864B1 (ko) * 2002-10-04 2005-08-05 엘지전자 주식회사 모션벡터 결정방법
WO2006052577A2 (en) * 2004-11-04 2006-05-18 Thomson Licensing Method and apparatus for fast mode decision of b-frames in a video encoder
KR100703773B1 (ko) * 2005-04-13 2007-04-06 삼성전자주식회사 향상된 코딩 효율을 갖는 엔트로피 코딩 및 디코딩 방법과이를 위한 장치, 이를 포함하는 비디오 코딩 및 디코딩방법과 이를 위한 장치
RU2395174C1 (ru) * 2006-03-30 2010-07-20 ЭлДжи ЭЛЕКТРОНИКС ИНК. Способ и устройство для декодирования/кодирования сигнала видео
US8488668B2 (en) * 2007-06-15 2013-07-16 Qualcomm Incorporated Adaptive coefficient scanning for video coding
CN100562114C (zh) * 2007-08-30 2009-11-18 上海交通大学 视频解码方法与解码装置
KR101356448B1 (ko) * 2008-10-01 2014-02-06 한국전자통신연구원 예측 모드를 이용한 복호화 장치
KR101768207B1 (ko) * 2010-01-19 2017-08-16 삼성전자주식회사 축소된 예측 움직임 벡터의 후보들에 기초해 움직임 벡터를 부호화, 복호화하는 방법 및 장치
US8995527B2 (en) * 2010-02-19 2015-03-31 Qualcomm Incorporated Block type signalling in video coding
CN101854554A (zh) * 2010-06-13 2010-10-06 上海交通大学 基于图像修复预测的视频编解码系统
US9357229B2 (en) * 2010-07-28 2016-05-31 Qualcomm Incorporated Coding motion vectors in video coding
US8995523B2 (en) * 2011-06-03 2015-03-31 Qualcomm Incorporated Memory efficient context modeling
RU2603552C2 (ru) * 2011-06-24 2016-11-27 Сан Пэтент Траст Способ декодирования изображения, способ кодирования изображения, устройство декодирования изображения, устройство кодирования изображения и устройство кодирования и декодирования изображения
US9237358B2 (en) * 2011-11-08 2016-01-12 Qualcomm Incorporated Context reduction for context adaptive binary arithmetic coding
CN107396101B (zh) * 2012-02-03 2019-12-20 太阳专利托管公司 图像编码方法及图像编码装置
US9451277B2 (en) * 2012-02-08 2016-09-20 Qualcomm Incorporated Restriction of prediction units in B slices to uni-directional inter prediction
JP5997363B2 (ja) * 2012-04-15 2016-09-28 サムスン エレクトロニクス カンパニー リミテッド ビデオ復号化方法及びビデオ復号化装置

Also Published As

Publication number Publication date
BR112014025617A2 (pt) 2017-09-19
US20150103911A1 (en) 2015-04-16
PH12014502273A1 (en) 2014-12-10
RU2014145820A (ru) 2016-06-10
SG11201406617YA (en) 2014-12-30
JP2018137812A (ja) 2018-08-30
AU2016231650A1 (en) 2016-10-20
JP2015516753A (ja) 2015-06-11
US20160044334A1 (en) 2016-02-11
MY172302A (en) 2019-11-21
EP2840793A1 (en) 2015-02-25
KR20130116216A (ko) 2013-10-23
AU2018203530A1 (en) 2018-06-07
RU2666233C1 (ru) 2018-09-06
JP5997363B2 (ja) 2016-09-28
KR20170101872A (ko) 2017-09-06
US20160050433A1 (en) 2016-02-18
PH12018501500A1 (en) 2019-09-09
CN104365101A (zh) 2015-02-18
CN104365101B (zh) 2019-04-19
AU2016231650B2 (en) 2018-03-01
CA2870529C (en) 2018-09-18
WO2013157791A1 (ko) 2013-10-24
PH12018501497A1 (en) 2019-09-09
AU2013250105A1 (en) 2014-11-20
US20160065987A1 (en) 2016-03-03
EP2840793A4 (en) 2016-01-27
SG10201706678RA (en) 2017-09-28
PH12018501498A1 (en) 2019-09-09
JP6334622B2 (ja) 2018-05-30
RU2628319C2 (ru) 2017-08-15
AU2013250105B2 (en) 2016-07-07
CA2870529A1 (en) 2013-10-24
MX340383B (es) 2016-07-07
JP2017022734A (ja) 2017-01-26
AU2018203530B2 (en) 2018-11-22
US20160044335A1 (en) 2016-02-11
MX354306B (es) 2018-02-23
PH12014502273B1 (en) 2014-12-10
PH12018501499A1 (en) 2019-09-09

Similar Documents

Publication Publication Date Title
AU2018203530B2 (en) Method and apparatus for determining reference images for inter prediction
AU2017279589B2 (en) Method for inter prediction and device therefor, and method for motion compensation and device therefor
AU2016225775B2 (en) Method and apparatus for predicting motion vector for coding video or decoding video
AU2015275328C1 (en) Method and apparatus for encoding video and method and apparatus for decoding video determining inter-prediction reference picture list depending on block size
CA2883050C (en) Method and apparatus for motion vector determination in video encoding or decoding

Legal Events

Date Code Title Description
FG Grant or registration