ES2835801T3 - Decisiones de filtro de desbloqueo de baja complejidad - Google Patents

Decisiones de filtro de desbloqueo de baja complejidad Download PDF

Info

Publication number
ES2835801T3
ES2835801T3 ES17203141T ES17203141T ES2835801T3 ES 2835801 T3 ES2835801 T3 ES 2835801T3 ES 17203141 T ES17203141 T ES 17203141T ES 17203141 T ES17203141 T ES 17203141T ES 2835801 T3 ES2835801 T3 ES 2835801T3
Authority
ES
Spain
Prior art keywords
block
pixels
lines
filter
boundary
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES17203141T
Other languages
English (en)
Inventor
Matthias Narroschke
Semih Esenlik
Thomas Wedi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sun Patent Trust Inc
Original Assignee
Sun Patent Trust Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sun Patent Trust Inc filed Critical Sun Patent Trust Inc
Application granted granted Critical
Publication of ES2835801T3 publication Critical patent/ES2835801T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
    • H04N19/865Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness with detection of the former encoding block subdivision in decompressed video
    • 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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/172Methods 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 picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness

Abstract

Un dispositivo de decodificación de bloques de decodificación de una trama, que comprende: un procesador (ex501); y una memoria (ex511) acoplada al procesador (ex501); en el que el procesador (ex501) está adaptado para realizar los siguientes procesos: dividir cada uno de un primer bloque y un segundo bloque que están separados por un primer límite (1810) en dos segmentos a lo largo de una línea (1700) que es perpendicular a dicho primer límite (1810), estando el primer bloque y el segundo bloque incluidos en la trama; y juzgar si se debe aplicar o no un filtro de desbloqueo (250) a los píxeles adyacentes al primer límite (1810) del primer y segundo bloque, en el que el juicio se realiza para cada par de segmentos adyacentes a ambos lados del primer límite (1810) utilizando píxeles de muestra (17601; 17602) en el par de segmentos adyacentes sin utilizar píxeles pertenecientes a otros segmentos, y si se juzga afirmativamente, seleccionar un filtro de desbloqueo que se aplicará a los píxeles de todas las líneas de los dos segmentos perpendiculares y adyacentes al primer límite (1810) utilizando solo píxeles de las líneas, incluidos los píxeles utilizados para juzgar si se debe aplicar o no el filtro de desbloqueo a los píxeles adyacentes al primer límite (1810); en el que el procedimiento de selección de los procesos de individualmente un filtro de desbloqueo que se seleccionará para cada uno de los números N de dichas líneas, en el que N es al menos uno y N es menor que el número total de líneas en los dos segmentos; seleccionar el filtro de desbloqueo único para todas las líneas de los dos de segmentos de acuerdo con una regla predeterminada basada en los resultados de dichas decisiones individuales; y la división del primer bloque y el segundo bloque en segmentos se realiza de tal manera que un segmento de uno de los primeros bloques y el segundo bloque incluye todos los píxeles de dicho uno del primer bloque y el segundo bloque necesario para: (i) juzgar si se aplica o no un filtro de desbloqueo (250) y (ii) seleccionar un filtro de desbloqueo (250) para desbloquear píxeles adyacentes a un segundo límite (1820), estando el segundo límite (1820) entre un tercer bloque y dicho uno del primer bloque y el segundo bloque, el tercer bloque es adyacente a dicho uno del primer bloque y el segundo bloque, el tercer bloque es diferente del uno del primer bloque y el segundo bloque, y el segundo límite (1820) es perpendicular al primer límite (1810).

Description

DESCRIPCIÓN
Decisiones de filtro de desbloqueo de baja complejidad
Antecedentes de la invención
1. Campo de la invención
La presente invención se refiere al filtrado de imágenes. En particular, la presente invención se refiere a filtrado de desbloqueo y a decisiones de si habilitar o deshabilitar el filtrado de desbloqueo para una región de imagen.
2. Descripción de la técnica relacionada
En la actualidad, la mayoría de algoritmos de codificación de video normalizados son a base de codificación de video híbrida. Procedimientos de codificación de video híbrida habitualmente combinan diferentes esquemas de compresión con y sin pérdidas para lograr la ganancia de compresión deseada. Codificación de video híbrida es también la base para normas de ITU-T (normas H.26x tales como H.261, H.263) así como normas de ISO/IEC (normas MPEG-X tales como MPEG-1, MPEG-2 y MPEG-4). La norma de codificación de video más avanzada y reciente es en la actualidad la norma representada como codificación de video avanzada (AVC) H.264/MPEG-4 que es un resultado de esfuerzos de normalización por equipo mixto de video (JVT), un equipo mixto de grupos de ITU-T y ISO/IEC MPEG. Este códec se está desarrollando adicionalmente por el Equipo de Colaboración Mixto sobre Codificación de Video (JCT-VC) con un nombre de Codificación de Video de Alta Eficiencia (HEVC), que tiene el objetivo en particular de mejorar de la eficiencia con respecto a la codificación de video de alta resolución.
Una entrada de señal de video a un codificador es una secuencia de imágenes llamadas fotogramas, siendo cada fotograma una matriz de dos dimensiones de píxeles. Todas las normas anteriormente mencionadas a base de codificación de video híbrida incluyen subdividir cada fotograma de video individual en bloques más pequeños que consisten en una pluralidad de píxeles. El tamaño de los bloques puede variar, por ejemplo, de acuerdo con el contenido de la imagen. La manera de codificación puede variarse habitualmente en una base por bloque. El tamaño más grande posible para un bloque de este tipo, por ejemplo, en HEVC, es de 64 x 64 píxeles. Entonces se llama la unidad de codificación más grande (LCU). En H.264/MPEG-4 AVC, un macrobloque (representando normalmente un bloque de 16 x 16 píxeles) fue el elemento de imagen básico, para el que se realiza la codificación, con una posibilidad de adicionalmente dividir el mismo en sub-bloques más pequeños a los que se aplicaron algunas de las etapas de codificación/decodificación.
Típicamente, las etapas de codificación de una codificación de video híbrida incluyen una predicción espacial y/o temporal. Por consiguiente, cada bloque a codificar se predice primero usando o bien los bloques en su vecindad espacial o bien bloques de su vecindad temporal, es decir a partir de fotogramas de video anteriormente codificados. Un bloque de diferencias entre el bloque a codificar y su predicción, también llamado bloque de residuos de predicción, se calcula a continuación. Otra etapa de codificación es una transformación de un bloque de residuos desde el dominio espacial (píxel) a un dominio de frecuencia. La transformación tiene el objetivo de reducir la correlación del boque de entrada. Etapa de codificación adicional es cuantificación de los coeficientes de transformada. En esta etapa tiene lugar la compresión (irreversible) con pérdida real. Normalmente, los valores de coeficiente de transformada comprimido se compactan adicionalmente (comprimidos sin pérdidas) por medio de una codificación por entropía. Además, se codifica y proporciona información secundaria necesaria para reconstrucción de la señal de video codificada junto con la señal de video codificada. Esto es por ejemplo información acerca de la predicción espacial y/o temporal, cantidad de cuantificación, etc.
La Figura 1 es un ejemplo de un codificador 100 de video H.264/MPEG-4 AVC y/o HEVC típico. Un restador 105 primero determina diferencias e entre un bloque actual a codificar de una imagen de video de entrada (señal de entrada s) y un correspondiente bloque de predicción s, que se usa como una predicción del bloque actual a codificar. La señal de predicción puede obtenerse mediante una predicción 180 temporal o espacial. El tipo de predicción puede variarse en una base por fotograma o en una base por bloque. Bloques y/o fotogramas predichos usando predicción temporal se llaman "inter"-codificados y bloques y/o fotogramas predichos usando predicción espacial se llaman "intra"-codificados. Señal de predicción usando predicción temporal se obtiene a partir de las imágenes anteriormente codificadas, que se almacenan en una memoria. La señal de predicción usando predicción espacial se obtiene a partir de los valores de píxeles de límite en los bloques vecinos, que anteriormente se han decodificado, codificado y almacenado en la memoria. La diferencia e entre la señal de entrada y la señal de predicción, representada como residuo o error de predicción, se transforma 110 resultando en coeficientes, que se cuantifican 120. El codificador 190 por entropía se aplica a continuación a los coeficientes cuantificados para reducir adicionalmente la cantidad de datos a almacenar y/o transmitir de una manera sin pérdida. Esto se logra principalmente aplicando un código con palabras de código de longitud variable en el que la longitud de una palabra de código se elige a base de la probabilidad de su ocurrencia.
Dentro del codificador 100 de video, se incorpora una unidad de decodificación de obtención de una señal s' de video (reconstruida) decodificada. De conformidad con las etapas de codificación, las etapas de decodificación incluyen decuantificación y transformación 130 inversa. La señal de error de predicción e' así obtenida difiere de la señal de error de predicción original debido al error de cuantificación, llamado también ruido de cuantificación. A continuación, se obtiene una señal de imagen reconstruida s' añadiendo 140 la señal de error de predicción decodificada e' a la señal de predicción s. Para mantener la compatibilidad entre el lado de codificador y el lado de decodificador, se obtiene la señal de predicción s a base de la seña de video codificada y posterior decodificada que se conoce a ambos lados del codificador y el decodificador.
Debido a la cuantificación, se superpone ruido de cuantificación a la señal de video reconstruida. Debido a la codificación de bloque, el ruido superpuesto a menudo tiene características de bloqueo, que resultan, en particular para cuantificación fuerte, en límites de bloques visibles en la imagen decodificada. Tales artefactos de bloqueo tienen un efecto negativo en la percepción visual humana. Para reducir estos artefactos, se aplica un filtro 150 de desbloqueo a cada bloque de imagen reconstruida. El filtro de desbloqueo se aplica a la señal reconstruida s'. Por ejemplo, el filtro de desbloqueo de H.264/MPEG-4 AVC tiene la capacidad de adaptación local. En el caso de un alto grado de ruido de bloqueo, se aplica un filtro de paso bajo (banda estrecha) fuerte, mientras que, para un grado bajo de ruido de bloqueo, se aplica un filtro de paso bajo (banda ancha) más débil. La resistencia del filtro de paso bajo se determina mediante la señal de predicción s y mediante la señal de error de predicción cuantificada e'. Filtro de desbloqueo generalmente suaviza los bordes de bloque conduciendo a una calidad subjetiva mejorada de las imágenes decodificadas. Además, ya que se usa la parte filtrada de una imagen para la predicción de movimiento compensado de imágenes adicionales, el filtrado también reduce los errores de predicción y, por lo tanto, habilita la mejora de eficiencia de codificación.
Después de un filtro de desbloqueo, puede aplicarse una compensación 155 adaptativa de muestra y/o filtro 160 de bucle adaptativo a la imagen que incluye la señal ya desbloqueada s". Mientras que el filtro de desbloqueo mejora la calidad subjetiva, compensación adaptativa de muestra (SAO) y ALF tienen por objetivo mejorar la fidelidad de píxel (calidad "objetiva"). En particular, SAO añade un desplazamiento de acuerdo con la vecindad inmediata de un píxel. El filtro de bucle adaptativo (ALF) se usa para compensar distorsión de imagen provocada por la compresión. Típicamente, el filtro de bucle adaptativo es un filtro de Wiener con coeficientes de filtro determinados de tal forma que se minimiza el error cuadrático medio (MSE) entre la s' reconstruida e imágenes de fuente s. Los coeficientes de ALF pueden calcularse y transmitirse en una base de fotograma. ALF puede aplicarse a todo el fotograma (imagen de la secuencia de video) o a áreas locales (bloques). Puede transmitirse una información secundaria adicional que indica qué áreas deben filtrarse (basada en bloque, basada en fotograma o basada en árbol cuádruple).
Para decodificarse, bloques inter-codificados requieren también almacenar las porciones de imagen(es) anteriormente codificada(s) y posteriormente decodificada(s) en la memoria 170 intermedia de fotograma de referencia. Un bloque inter-codificado se predice 180 empleando predicción de movimiento compensado. En primer lugar, un estimador de movimiento encuentra un bloque de mejor coincidencia para el bloque actual dentro de los fotogramas de video anteriormente codificados y decodificados. El bloque de mejor coincidencia a continuación se convierte en una señal de predicción y el desplazamiento relativo (movimiento) entre el bloque actual y su mejor coincidencia se señalizan a continuación como datos de movimiento en forma de vectores de movimiento en tres dimensiones dentro de la información secundaria proporcionada junto con los datos de video codificados. Las tres dimensiones consisten en dos dimensiones espaciales y una dimensión temporal. Para optimizar la precisión de predicción, pueden determinarse vectores de movimiento con una resolución sub-píxel espacial por ejemplo resolución de medio píxel o un cuarto de píxel. Un vector de movimiento con resolución sub-píxel espacial puede apuntar a una posición espacial dentro de un fotograma ya decodificado en el que no hay disponible ningún valor de píxel real, una posición de sub-píxel. Por lo tanto, se necesita interpolación espacial de tales valores de píxel para realizar predicción de movimiento compensado. Esto puede lograrse mediante un filtro de interpolación (en la Figura 1 integrado dentro del bloque 180 de predicción).
Para ambos, modos intra e inter de codificación, las diferencias e entre la señal de entrada actual y la señal de predicción se transforman 110 y cuantifican 120, resultando en los coeficientes cuantificados. En general, se emplea una transformación ortogonal tal como una Transformación de Coseno Discreta (DCT) en dos dimensiones o una versión entera de la misma ya que reduce la correlación de las imágenes de video naturales eficientemente. Después de la transformación, componentes de frecuencia más bajos normalmente son más importantes para calidad de imagen que componentes de frecuencia alta de modo que pueden gastarse más bits para la codificación de los componentes de frecuencia baja que los componentes de frecuencia alta. En el codificador por entropía, la matriz de dos dimensiones de coeficientes cuantificados se convierte en una matriz de una dimensión. Típicamente, esta conversión se realiza mediante un así llamado barrido en zigzag, que se inicia con el coeficiente DC en la esquina superior izquierda de la matriz de dos dimensiones y barre la matriz de dos dimensiones en una secuencia predeterminada finalizando con un coeficiente AC en la esquina inferior derecha. Como la energía se concentra habitualmente en la parte superior izquierda de la matriz de dos dimensiones de coeficientes, correspondiendo a las frecuencias más bajas, el barrido en zigzag resulta en una matriz en la que normalmente los últimos valores son cero. Esto permite codificación eficiente usando códigos de longitud de recorrido como una parte de/antes de la codificación por entropía real.
La H.264/MPEG-4 AVC H.264/MPEG-4 así como HEVC incluye dos capas funcionales, una Capa de Codificación de Video (VCL) y una Capa de Abstracción de Red (NAL). La VCL proporciona la funcionalidad de codificación como se describe brevemente anteriormente. La NAL encapsula elementos de información en unidades normalizadas llamadas unidades de NAL de acuerdo con sus aplicaciones adicionales tales como transmisión por un canal o almacenamiento en almacenamiento. Los elementos de información son, por ejemplo, la señal de error de predicción codificada u otra información necesaria para la decodificación de la señal de video tales como el tipo de predicción, parámetro de cuantificación, vectores de movimiento, etc. Existen unidades de NAL de VCL que contienen los datos de video comprimido y la información relacionada, así como unidades de no VCL que encapsulan datos adicionales tales como conjunto de parámetros con relación a una secuencia de video entera o una Información de Perfeccionamiento Complementaria (SEI) que proporciona información adicional que puede usarse para mejorar el rendimiento de decodificación.
La Figura 2 ilustra un decodificador 200 de ejemplo de acuerdo con la norma de codificación de video H.264/MPEG-4 AVC o HEVC. La señal de video codificada (señal de entrada al decodificador) primero pasa a decodificador 290 por entropía, que decodifica los coeficientes cuantificados, los elementos de información necesarios de decodificación de tales como datos de movimiento, modo de predicción etc. Los coeficientes cuantificados se barren inversamente para obtener una matriz de dos dimensiones, que a continuación se suministra a cuantificación inversa y transformación 230 inversa. Después de cuantificación inversa y transformación 230 inversa, se obtiene una señal de error de predicción decodificada (cuantificada) e', que corresponde a las diferencias obtenidas restando la señal de predicción de la entrada de señal al codificador en el caso de que no se introduzca ruido de cuantificación y no se produjo error.
La señal de predicción se obtiene a partir de o bien una predicción 280 temporal o bien espacial. Los elementos de información decodificados normalmente incluyen adicionalmente la información necesaria para la predicción tales como tipo de predicción en el caso de predicción intra y datos de movimiento en el caso de predicción de movimiento compensado. La señal de error de predicción cuantificada en el dominio espacial se añade a continuación con un sumador 240 a la señal de predicción obtenida de o bien la predicción de movimiento compensado o bien predicción 280 intra fotograma. La imagen reconstruida s' puede pasarse a través de un filtro 250 de desbloqueo, procesamiento 255 de compensación adaptativa de muestra y un filtro 260 de bucle adaptativo y la señal decodificada resultante se almacena en la memoria 270 a aplicar para predicción temporal o espacial de los siguientes bloques/imágenes.
Una ilustración adicional de un codificador de video híbrido ilustrativo se muestra en la Figura 3. El codificador de la Figura 3 difiere del codificador de la Figura 1 en que el filtro 150 de desbloqueo de la Figura 1 se ha subdividido en un filtro 350a para desbloqueo horizontal de bordes verticales y un filtro 350b para desbloqueo vertical de bordes horizontales. El filtro 350a se aplica a la señal reconstruida S' que es la salida del sumador 140. La salida del filtro 350b, es decir una imagen con bordes verticales desbloqueados se representa S'' e introduce en el filtro 350b. La señal de salida del filtro 350b, es decir una imagen desbloqueada vertical y horizontalmente, y se ha representado como S'''. Además, la Figura 3 muestra explícitamente el parámetro de cuantificación QP a introducir en el codificador 190 por entropía, filtro 350a de desbloqueo horizontal y filtro 350b de desbloqueo vertical.
Los bloques restantes de la Figura 3 corresponden a respectivos bloques de la Figura 1, y características similares se han representado con los mismos números de referencia en la Figura 3 y Figura 1. En la Figura 3, el filtro 160 de bucle adaptado se ha descrito explícitamente como un filtro de Wiener y los bloques 155 (SAO) y 160 (ALF) se han intercambiado. La secuencia de estas etapas no es, sin embargo, esencial para la presente invención. Además, la memoria 170 intermedia de fotograma de referencia no se ha mostrado explícitamente en la Figura 3.
En vista de la estrecha analogía de las respectivas características del codificador de la Figura 1 y el decodificador de la Figura 2, un experto en la materia es consciente de cómo modificar la Figura 2 para ilustrar un decodificador en el que se hace explícito el desbloqueo horizontal y vertical en dos etapas posteriores. Por lo tanto, se ha omitido una respectiva figura en el presente documento.
Cuando se comprime y descomprime una imagen, los artefactos de bloqueo habitualmente son los artefactos más molestos para el usuario. El filtrado de desbloqueo ayuda a mejorar la experiencia perceptiva del usuario suavizando los bordes entre los bloques en la imagen reconstruida. Una de las dificultades en el filtrado de desbloqueo es decidir correctamente entre un borde provocado por bloqueo debido a la aplicación de un cuantificador y entre bordes que son parte de la señal codificada. La aplicación del filtro de desbloqueo es únicamente deseable si el borde en el límite de bloque se debe a artefactos de compresión. En otros casos, mediante la aplicación del filtro de desbloqueo, la señal reconstruida puede desesperarse, distorsionarse. Otra dificultad es la selección de un filtro apropiado de filtrado de desbloqueo. Típicamente, la decisión se hace entre varios filtros de paso bajo con diferentes respuestas de frecuencia resultando en filtrado de paso bajo fuerte o débil. Para decidir si filtrado de desbloqueo debe aplicarse y para seleccionar un filtro apropiado, se consideran datos de imagen en la proximidad del límite de dos bloques.
Por ejemplo, pueden considerarse parámetros de cuantificación de los bloques vecinos. Como alternativa, o, además, pueden considerarse modos de predicción tales como intra o inter. Otra posibilidad es evaluar coeficientes de error de predicción cuantificados, por ejemplo, cuántos de los mismos se cuantifican a cero. Fotogramas de referencia usados para la predicción de movimiento compensado también pueden ser indicativos para la selección del filtro, por ejemplo, si se usan los mismos fotogramas de referencia para predicción del bloque actual y los bloques vecinos. La decisión también puede ser a base de vectores de movimiento usados para la predicción de movimiento compensado y sobre si los vectores de movimiento para el bloque actual y para los bloques vecinos son los mismos o mejor difieren. La decisión puede implicar posiciones espaciales de las muestras tales como distancia al parche de bloque.
Por ejemplo, H.264/MPEG-4 AVC evalúa los valores absolutos de la primera derivación (derivada) en cada uno de los dos bloques vecinos, cuyos límites deben desbloquearse. Además, se evalúan valores absolutos de la primera derivada a través del borde entre los dos bloques, como se describe, por ejemplo, en la norma H.264/MPEG-4 AVC, Sección 8.7.2.2. Un enfoque similar también se describe en el documento US 2007/854204 A. La decisión se toma para todos los píxeles a filtrar a base del mismo criterio y la selección se realiza para todo el bloque. HEVC emplea un mecanismo similar, sin embargo, usa también una segunda derivada.
De acuerdo con estos enfoques, para desbloqueo real, se toma una decisión de si desbloquear para todos los bordes de un bloque a desbloquear potencialmente. Además, si se habilita el desbloqueo, para cada línea individual, se toma una decisión con respecto a la clase de filtro a aplicar. Estas decisiones se toman a base de muestras de píxeles no desbloqueadas. Por lo tanto, las decisiones para ambas direcciones de desbloqueo tienen que tomarse antes de aplicar realmente los filtros de desbloqueo para tanto el filtrado horizontal de bordes verticales como el filtrado vertical de bordes horizontales. El resultado es un retardo del primer filtro de desbloqueo a aplicar (por ejemplo, filtrado horizontal). Además, el resultado de la decisión de filtro habilitado/filtro deshabilitado necesita almacenarse. Como alternativa, memoria de línea adicional se requeriría para retardar la toma de decisión para desbloqueo en la segunda dirección (por ejemplo, vertical). Ya que memoria de línea es muy cara, esto resulta en aumento de costes.
Sumario de la invención
Dada la existencia de estos problemas con la tecnología existente, sería ventajoso proporcionar un enfoque de filtrado de desbloqueo eficiente en el que se mejora la eficiencia de uso de memoria.
Esto se consigue mediante las características de las reivindicaciones independientes.
Es el enfoque particular de la presente invención realizar la decisión sobre si aplicar o saltar el filtro de desbloqueo para un límite entre dos bloques a base de una segmentación de cada bloque en al menos dos segmentos a lo largo de una línea que es perpendicular al límite de bloque, en lugar de a base de bloques completos. Los segmentos se definen de tal forma que un segmento incluye todos esos píxeles que se almacenan de todos modos ya que se necesitan para la decisión sobre si aplicar o saltar el filtrado de desbloqueo y/o la selección de un filtro apropiado para otro límite de bloque en una dirección perpendicular, adyacente al segmento respectivo.
La invención se expone en el conjunto de reivindicaciones anexas; los otros ejemplos llamados "realizaciones" en la descripción son ejemplos ilustrativos.
Breve descripción de los dibujos
Los dibujos adjuntos se incorporan en y forman una parte de una memoria descriptiva para ilustrar varias realizaciones de la presente invención. Estos dibujos junto con la descripción sirven para explicar los principios de la invención. Los dibujos son únicamente para el fin de ilustrar ejemplos preferidos y alternativos de cómo la invención puede hacerse y usarse y no deben interpretarse como que limitan la invención a únicamente las realizaciones ilustradas y descritas. Características adicionales y ventajas serán evidentes a partir de la siguiente y más particular descripción de las diversas realizaciones de la invención, como se ilustra en los dibujos adjuntos, en los que números de referencia similares se refieren a elementos similares y en los que:
la Figura 1 es un diagrama de bloques que ilustra un ejemplo de un codificador de video;
la Figura 2 es un diagrama de bloques que ilustra un ejemplo de un decodificador de video;
la Figura 3 es otro diagrama de bloques que ilustra un ejemplo de un codificador de video;
la Figura 4A es un dibujo esquemático que ilustra la aplicación de un filtro de desbloqueo horizontal;
la Figura 4B es un dibujo esquemático que ilustra la aplicación de un filtro de desbloqueo vertical;
la Figura 5 es un dibujo esquemático que ilustra una decisión de si aplicar o no aplicar desbloqueo y una selección de un filtro de desbloqueo;
la Figura 6A es un dibujo esquemático que ilustra operaciones de desbloqueo realizadas por un filtro fuerte;
la Figura 6B es un dibujo esquemático que ilustra operaciones de desbloqueo realizadas por un filtro débil;
la Figura 7 es un diagrama de flujo que ilustra una secuencia de decisiones de desbloqueo a tomar posteriormente a partir de un bloque ilustrativo de ocho filas/columnas;
la Figura 8 es un dibujo esquemático que ilustra muestras de píxeles usados para realizar una primera clase de decisiones en el diagrama de flujo de la Figura 7;
la Figura 9 es un dibujo esquemático que ilustra muestras de píxeles empleadas para realizar una segunda clase de decisiones en el diagrama de flujo de la Figura 7;
la Figura 10 es un dibujo esquemático que ilustra muestras de píxeles usados para realizar una tercera clase de decisiones en el diagrama de flujo de la Figura 7 para el caso de filtrado horizontal de bordes verticales; la Figura 11 es un dibujo esquemático que ilustra muestras de píxeles usados para realizar horizontal filtrado de desbloqueo para bordes verticales;
la Figura 12 es un dibujo esquemático que ilustra píxeles de muestra usados para realizar la tercera clase de decisiones en el diagrama de flujo de la Figura 7 para el caso de filtrado vertical de bordes horizontales;
la Figura 13 es un dibujo esquemático que ilustra píxeles de muestra usados para realizar el filtrado de desbloqueo vertical para bordes horizontales;
la Figura 14 es una ilustración de muestras, que pueden modificarse mediante el desbloqueo horizontal de bordes verticales;
la Figura 15 es una ilustración de muestras modificadas por el desbloqueo horizontal de bordes verticales; la Figura 16 es una ilustración de muestras modificadas por o bien el desbloque horizontal o bien vertical; las Figuras 17A-17D son dibujos esquemáticos que ilustran un problema que sucede en el rendimiento paralelo de la primera y segunda clase de decisiones del diagrama de flujo de la Figura 7 para filtrado horizontal y vertical, y la idea básica de superar el problema de acuerdo con la presente invención;
la Figura 18 es un esquema que ilustra que las dependencias en el desbloqueo de acuerdo con la presente invención se limitan a muestras de 8x8;
las Figuras 19A, 19B son dibujos esquemáticos que ilustran un ejemplo específico de una decisión sobre si aplicar o no aplicar un filtro de desbloqueo de acuerdo con una realización de la presente invención;
las Figuras 20A, 20B son dibujos esquemáticos que ilustran soluciones ilustrativas de la decisión de selección de un filtro de desbloqueo apropiado de acuerdo con una realización de la presente invención;
las Figuras 21A, 21B son dibujos esquemáticos que ilustran una solución ilustrativa alternativa de la decisión de selección de un filtro de desbloqueo apropiado de acuerdo con una realización de la presente invención;
las Figuras 22A, 22B son diagramas de bloque esquemáticos que ilustran un problema de acceso a memoria que sucede cuando se realiza la decisión de si aplicar o no aplicar un filtro de desbloqueo;
la Figura 23A, 23B son dibujos esquemáticos que ilustran una solución del problema de acceso a memoria ilustrado en las Figuras 22A y B;
la Figura 24 muestra una configuración global de un sistema de suministro de contenido de implementación de servicios de distribución de contenido;
la Figura 25 muestra una configuración global de un sistema de difusión digital;
la Figura 26 muestra un diagrama de bloques que ilustra un ejemplo de una configuración de una televisión; la Figura 27 muestra un diagrama de bloques que ilustra un ejemplo de una configuración de una unidad de reproducción/grabación de información que lee y escribe información de y en un medio de grabación que es un disco óptico;
la Figura 28 muestra un ejemplo de una configuración de un medio de grabación que es un disco óptico;
la Figura 29A muestra un ejemplo de un teléfono celular;
la Figura 29B es un diagrama de bloques que muestra un ejemplo de una configuración de un teléfono celular; la Figura 30 ilustra una estructura de datos multiplexados;
la Figura 31 muestra esquemáticamente como cada flujo se multiplexa en datos multiplexados;
la Figura 32 muestra cómo se almacena un flujo de video en el flujo de paquetes PES en más detalle;
la Figura 33 muestra una estructura de paquetes TS y paquetes de fuente en los datos multiplexados;
la Figura 34 muestra una estructura de datos de una PMT;
la Figura 35 muestra una estructura interna de información de datos multiplexados;
la Figura 36 muestra una estructura interna de información de atributo de flujo;
la Figura 37 muestra etapas de identificación de datos de video;
la Figura 38 muestra un ejemplo de una configuración de un circuito integrado de implementación del procedimiento de codificación de instantáneas en movimiento y el procedimiento de decodificación de instantáneas en movimiento de acuerdo con cada una de las realizaciones;
la Figura 39 muestra una configuración de conmutación entre frecuencias de accionamiento;
la Figura 40 muestra etapas de identificación de datos de video y conmutación entre frecuencias de accionamiento;
la Figura 41 muestra un ejemplo de una tabla de correspondencia en la que normas de datos de video se asocian con frecuencias de accionamiento;
la Figura 42A es un diagrama que muestra un ejemplo de una configuración para compartir un módulo de una unidad de procesamiento de señal; y
la Figura 42B es un diagrama que muestra otro ejemplo de una configuración para compartir un módulo de la unidad de procesamiento de señal.
Descripción detallada de la invención
El problema que subyace de la presente invención es a base de la observación de que las técnicas de decisión convencionales requieren una capacidad de memoria excesiva para realizar todas las decisiones y el procesamiento de filtrado actual en el orden deseado, como se detallará a continuación. Para disminuir el coste de memoria, de acuerdo con la presente invención, se realiza una segmentación de los bloques de realización del procesamiento de decisión, para minimizar requisitos de memoria MIC. De acuerdo con un aspecto particular adicional, también se abarca adicionalmente una complejidad de cálculo general decreciente.
La Figura 4 muestra un ejemplo de una aplicación de un filtro de desbloqueo (tales como 150, 250, 350a y 350b) referidos en la descripción de las Figuras 1, 2 y 3, respectivamente. Un filtro de desbloqueo de este tipo puede decidir si debe filtrarse o no para cada muestra en un límite de bloque. Cuando debe filtrarse, se aplica un filtro de paso bajo. El objetivo de esta decisión es filtrar únicamente esas muestras, para las que el gran cambio de señal en el límite de bloque resulta de la cuantificación aplicada en el procesamiento de bloque como se describe en la sección anterior de antecedentes de la técnica. El resultado de este filtrado es una señal suavizada en el límite de bloque. La señal suavizada es menos molesta para el espectador que el artefacto de bloqueo. Esas muestras, para las que el gran cambio de señal en el límite de bloque pertenece a la señal original a codificar, no deberían filtrarse para mantener frecuencias altas y por lo tanto la nitidez visual. En el caso de decisiones equivocadas, la imagen o bien se suaviza innecesariamente o permanece bloqueada.
La Figura 4A ilustra decisión sobre un límite vertical (para filtrar o no filtrar con un filtro de desbloqueo horizontal) y la Figura 4B ilustra decisión sobre un límite horizontal (para filtrar o no con un filtro de desbloqueo vertical). En particular, la Figura 4A muestra un bloque 340 actual a decodificar y sus bloques 310, 320 y 330 vecinos ya decodificados. Para los píxeles 360 en una línea, se realiza la decisión. De manera similar, la Figura 4B muestra el mismo bloque 340 actual y decisión realizada para los píxeles 370 en una columna.
La consideración sobre si aplicar el filtro de desbloqueo puede realizarse como se indica a continuación, de forma similar a H.264/MPEG-4 AVC. Tomemos una línea de seis píxeles 360, los primeros tres píxeles p2, p1, p0 de los que pertenecen a un bloque A 330 vecino izquierdo y los siguientes tres píxeles q0, q1, y q2 de los que pertenecen al bloque B 340 actual como también se ilustra en la Figura 5. La línea 410 ilustra un límite entre los bloques A y B. Los píxeles p0 y q0 son los píxeles del vecino de la izquierda A y del bloque actual B, respectivamente, ubicados directamente adyacentes entre sí. Los píxeles p0 y q0 se filtran mediante el filtro de desbloqueo, por ejemplo, se cumplen cuando las siguientes condiciones:
\Po - Q o l < a H 264 (Q ^ N ucvo) <
Figure imgf000007_0001
en las que, en general, fíH264(QPNuevo)<aH264(QPNuevo). Estas condiciones tienen por objetivo detectar si la diferencia entre p0 y q0 se deriva de artefactos de bloqueo. Corresponden a evaluación de la primera derivación dentro de cada uno de los bloques A y B y entre los mismos.
El píxel p1 se filtra si, además de lastres condiciones anteriores, también se cumple la siguiente condición:
|^2 Po| < P HJM^Q^Uucmo) ■
El píxel q1 se filtra, por ejemplo, si además de lastres primeras condiciones anteriores también se cumple la siguiente condición:
Figure imgf000008_0001
Estas condiciones corresponden a una primera derivación dentro del primer bloque y una primera derivación dentro del segundo bloque, respectivamente. En las condiciones anteriores, QP representa parámetro de cuantificación que indica la cantidad de cuantificación aplicada, y p,a son constantes escalares. En particular, QPNuevo es parámetro de cuantificación obtenido a base de parámetros de cuantificación QPa y QPb aplicados al respectivo primer y segundo bloque A y B como se indica a continuación:
f i ^ í ^ ü f i r D » ! .
en la que ">>n" representa desplazamiento a la derecha por n bits (en la fórmula anterior: un bit).
Las condiciones anteriores corresponden a evaluación de la primera derivada dentro de los bloques. La decisión puede realizarse únicamente para una línea seleccionada o líneas seleccionadas de un bloque, mientras el filtrado de píxeles por consiguiente se realiza a continuación para todas las líneas 360. Un ejemplo 420 de líneas 430 implicado en decisión de conformidad con HEVC se ilustra en la Figura 5. A base de las líneas 430, se efectúa la decisión de si filtrar todo el bloque.
Otro ejemplo de filtrado de desbloqueo en HEVC puede encontrarse en el documento JCTVC-E603, Sección 8.6.1, de JTC-VC, de ITU-T SG16 WP3 e ISO/IEC JTC1/SC29/WG11, disponible libremente en http://wftp3.itu.int/avarch/jctvcsite/.
Por consiguiente, en HEVC las dos líneas 430 se usan para decidir si y cómo debe aplicarse el filtrado de desbloqueo. Esta etapa de decisión se etiqueta primera etapa de decisión D1 a lo largo de esta memoria descriptiva. El ejemplo 420 supone que la evaluación de la tercera (con índice 2) y la sexta (con índice 5) línea para el fin de filtrado de bloqueo horizontalmente. En particular, la segunda derivada dentro de cada uno de los bloques se evalúa resultando en la obtención de medidas dp y dq como se indica a continuación:
Figure imgf000008_0002
Los píxeles p pertenecen al bloque A y píxeles q pertenecen al bloque B. El primer número después de p o q representa el índice de columna y en siguiente número en subíndice representa el número de fila dentro del bloque. El desbloqueo para todas las ocho líneas ilustradas en el ejemplo 420 se habilita cuando se cumple la siguiente condición:
Figure imgf000008_0003
d = d r d t < l 3 ( Q P ) .
Si la condición anterior no se cumple, no se aplica desbloqueo. En el caso de que se habilita desbloqueo, el filtro a usar para desbloqueo se determina en una etapa de decisión posterior etiquetada segunda etapa de decisión D2 a lo largo de toda la presente memoria descriptiva. Esta determinación es a base de la evaluación de la primera derivada entre los bloques A y B. En particular, para cada línea i, en la que i es un entero entre 0 y 7, se decide si debe aplicarse un filtro de paso bajo fuerte o débil. Se elige un filtro fuerte si se cumple la siguiente condición.
Figure imgf000008_0004
|í>0 ,-?0i|<((<c(G/))-5 l ) » l ) .
De conformidad con el modelo HEVC "el filtro fuerte" filtra muestras p2i, p1¡, p0¡, q0¡, q1¡, q2¡ usando p3¡, p2¡, p1¡, pü¡, q0¡, q1 i, q2¡, q3¡, mientras que un "filtro débil" filtra muestras p0i, p0i, q0¡, q1¡, usando p2i, p1 ¡, pü¡, q0i, q1 ¡, q2¡. En las condiciones anteriores, parámetros p y tc son ambos funciones del parámetro de cuantificación QPe que puede establecerse para un sector de la imagen o similar. Los valores de p y tc se obtienen habitualmente a base de QP usando tablas de consulta.
La Figura 6 explica en más detalle las soluciones ilustrativas para operaciones de filtro fuerte y operaciones de filtro débil de conformidad con la norma H264/MPEG-4 AVC (implementada en modelo de software HEVC HM4.0).
En la Figura 6A el dibujo de la izquierda ¡lustra las muestras usadas para filtrar horizontalmente un borde vertical en un filtro fuerte. El dibujo de la derecha de la Figura 6A ¡lustra las muestras que se modifican por el filtro. Como puede observarse a partir del dibujo, en el ejemplo dado las muestras que corresponden a los 4 píxeles más adyacentes a ambos lados del límite, representados mediante número de referencia 610, se usan para el filtrado. Realmente modificados están únicamente esos 3 píxeles más cercanos al límite de ambos lados representados mediante 620 en el dibujo de la izquierda de la Figura 6A. Realmente, se realiza filtrado de acuerdo con las siguientes fórmulas.
Figure imgf000009_0001
p2'i = Clip ((2 ■ p 3 ¿ + 3 • p 2 { + p \ + p0¡ q0¡ + 4 ) » 3)
q0'¡ = Clip((q2i 2-q\i 2- q0¡ + 2• p0¡ p2; 4 ) » 3)
ql'i = Clip((q2i q lt q0¡ p0i + 2 ) » 2)
q2\ = Clip((2 ■ qbi 3 • q2{ qli q0t p0 j 4 ) » 3)
La función Clip(x) se define como se indica a continuación:
Figure imgf000009_0002
Por la presente, max_allowed_value es un valor máximo, que puede tener x. En el caso de codificación PCM con muestras de k bits, el valor máximo sería max_allowed_value = 2k -1. Por ejemplo, en el caso de codificación PCM con muestras de 8 bits, el valor máximo sería max_allowed_value = 255. En el caso de codificación PCM con muestras de 10 bits, el valor máximo sería max_allowed_value = 1023.
Como puede observarse a partir de las ecuaciones anteriores, se realiza filtrado individualmente para cada línea (únicamente un único índice de línea i = 0, 1, 2, 3, 4, 5, 6, o 7) se emplea en cada una de fórmulas en las que píxeles se modifican mediante un filtro (indicado por un ' de primo después del número de filtro). Mientras no se calculan píxeles modificados para p3¡ y q3¡, respectivamente, puede observarse a partir de las ecuaciones para p2'¡ y q2'¡, respectivamente esas p3¡ y q3¡ suceden en los lados derechos de las respectivas ecuaciones de cálculo.
Como puede observarse a partir de la figura 6B, los tres píxeles más cercanos al límite de ambos lados se usan para filtrado por el filtro débil (muestras 630 en el esquema de la izquierda). Únicamente están realmente modificados los dos vecinos más cercanos al límite (muestras 640 en el lado derecho de la Figura 6B. El procesamiento de cálculo para el filtrado débil sustancialmente difiere del cálculo en el caso de filtrado fuerte e incluye decisiones adicionales. En primer lugar, se calcula un valor de discriminación A de acuerdo con la ecuación
A = (9 (qO, - p0, ) - 3 ■ (q\, - pl,)+ 8 ) » 4
sobre la que se basan las decisiones.
Posteriormente se decide si realizar filtrado en una tercera etapa de decisión D3. De acuerdo con la tercera decisión, el filtrado se aplica únicamente a muestras de píxeles 640, si se cumple la condición |A|<10 tc.
En el caso de que la condición se cumple, los píxeles más cercanos al límite en ambos lados se filtran de acuerdo con ecuaciones
Figure imgf000010_0001
en las que
Aj =Clip3(-tc,tc,A )
La función Clip(x) se define como anteriormente. La función Clip3(x) se define como se indica a continuación:
Figure imgf000010_0002
Después de filtrar las muestras p0 y q0, se realiza una cuarta decisión D4 en cuanto a si filtrar también las siguientes muestras más cercanas de píxeles desde el punto de vista del límite, p1 i y q1i. La cuarta decisión D4 se realiza de forma separada para ambos lados del límite, es decir para los píxeles p1¡ pertenecen al bloque A de la Figura 6B y píxeles q1i de bloque B de la Figura 6B.
La cuarta decisión para los píxeles p1 ¡ es a base del anterior parámetro introducido dp. Si se cumple la condición dp < (//6), se realiza filtrado de acuerdo con
p\\ = CHp(p\; + A2;1)
en el que A2P = Clip3(- tP2, tP2,(((p2i+p0i+i)>>i)-pii,+Ai)<<i).
La decisión D4 para píxeles qi de bloque B se realiza si se cumple la condición dq < (^/6). Se realiza filtrado de acuerdo con q l ’i = Clip(q1i +A2q), en la que
A 2? = C l ip 3 ( - t c2, t c2, ( ( ( q 2 i q 0 ¡ 1 ) » l ) - q \¡ - A { ) » l ) .
En lo anterior, parámetro tP2 se define de conformidad con tc2 = tc >> 1.
Se observa que el anterior procedimiento de filtrado, aunque se describe a modo de ejemplo para filtrado horizontal de bordes verticales es igualmente aplicable a filtrado vertical de bordes horizontales intercambiando respectivamente direcciones horizontales y verticales y filas con columnas. Además, a lo largo de toda la memoria descriptiva, se aplica una convención, de acuerdo con la que el término "línea" significa o bien columna o bien fila.
La Figura 7 en un diagrama de flujo general que ilustra la secuencia de las etapas de decisión D i, D2, D3 y D4 para el caso particular de bloques de 8 x 8, es decir bloques que tienen ocho líneas a filtrar.
Como puede observarse a partir de la figura 7, en la etapa S10 se decide en una única decisión para todas las ocho líneas si se aplica o no filtrado de desbloqueo. Si se toma la decisión de no aplicar desbloqueo (filtro DESACTIVADO), el procesamiento finaliza. Si se aplica desbloqueo (filtro ACTIVADO), el procesamiento de filtrado se realiza individualmente para cada una de las líneas (indicadas mediante un subíndice j, j =1, 2, ..., 8) para cada una de las siguientes etapas S20j a S45j. Por simplicidad, en la siguiente explicación el respectivo subíndice j se ha omitido. En primer lugar, en la etapa S20, se decide para cada línea individual j si aplicar un filtro fuerte o débil (decisión D2). Si se decide aplicar un filtro fuerte, en la siguiente etapa S35, se aplica un filtro fuerte, como se ha descrito con referencia a la Figura 6A. En el caso contrario, cuando se decide aplicar un filtro débil, el procesamiento avanza a la etapa de decisión adicional S30, en la que la decisión D3 se realiza para la línea individual j. Si se decide no aplicar filtrado en la decisión D3, el procesamiento finaliza. En el caso contrario, se realiza el filtrado de los píxeles de la respectiva línea j más cercana al límite, p0 y q0, en la etapa S38, como se ha descrito con referencia a la Figura 6B. Posteriormente, en la etapa S40, se decide adicionalmente si también deben filtrarse p1 y q i (siguientes más cercanos al límite). Si no, el procesamiento finaliza. Si la decisión es positiva, el procesamiento continúa a la etapa S45, en la que se calculan los píxeles modificados p1' y q i'. Detalles del procesamiento de las etapas S30, S38, S40 y S45 se describen de acuerdo con el presente ejemplo en conexión con la Figura 6B.
La Figura 8 ilustra a modo de ejemplo las muestras de píxeles usados para realizar las decisiones D i (es decir la decisión de si aplicar o no en absoluto desbloqueo a un límite particular entre dos bloques). El dibujo muestra dos filas de bloques. En cada fila, se ilustran un bloque 8 i0 anterior ya decodificado, un bloque 820 actual a decodificar y un siguiente bloque 830 a decodificar. Ya que la decisión D i se realiza en los bloques de imagen no desbloqueados, las muestras ilustradas corresponden a la señal S' de la Figura 3.
Como se ha descrito anteriormente, la tercera y sexta líneas (etiquetadas 2 y 5) en la dirección de filtrado perpendicular
i0
al borde a filtrar empleado para la decisión D1. Específicamente, las muestras 860a incluyen dos columnas usadas para realizar decisión D1 para decidir si filtrar el límite entre bloque 820 actual y el bloque verticalmente encima del bloque 820. La muestra 860b ilustra dos filas usadas para realizar la decisión D1 si filtrar horizontalmente o no el borde vertical entre bloque 820 actual y bloque 830 siguiente. De manera similar, la muestra 860c ilustra dos filas usadas para realizar la decisión D1 para un límite entre el bloque 810 anterior y bloque 820 actual. Como se ha explicado anteriormente, para realizar la decisión en cada una de las líneas de muestra se requieren tres píxeles, contados a partir de cada lado del límite.
La Figura 9 proporciona una vista general de todos los píxeles de muestra de la señal no desbloqueada S' usados para realizar las decisiones D2. Ya que estas decisiones se realizan individualmente por línea, píxeles de todas las líneas que son perpendicular al respectivo límite para el que la decisión debe tomarse, se incluyen en las muestras 960 ilustradas en la Figura 9. Como se ha explicado anteriormente, la decisión D2 requiere que se evalúen los primeros cuatro píxeles adyacentes al límite en ambos lados. Las muestras 960 muestran las muestras usadas para realizar las decisiones D2 para los mismos límites, para los que la Figura 8 ilustra las muestras usadas para realizar las decisiones D1.
En la Figura 10, las muestras 1060 se ilustran para usarse para realizar las decisiones D3 de filtrado horizontal de bordes verticales, es decir para los límites entre el bloque 820 actual y bloque 810 anterior y bloque 830 siguiente, respectivamente. Como se ha explicado anteriormente, se realiza la decisión individualmente para cada línea, pero únicamente dos píxeles de cada lado siguientes al límite se emplean para la decisión.
La Figura 11 ilustra las muestras 1160 usadas para realizar el filtrado de desbloqueo horizontal para bordes verticales. Como puede observarse a partir de las mismas, y contrario a la Figura 10, se requiere una "profundidad" de cuatro píxeles en ambos lados del límite para el filtrado en sí.
La Figura 12 ilustra las muestras 1260 usadas para realizar las decisiones D3 de filtrado vertical de límites horizontales. Ya que dicha decisión únicamente debe realizarse después de realizar desbloqueo horizontal de los bordes verticales, estas muestras se seleccionan de la señal desbloqueada horizontalmente S" de la Figura 3. Para visualizar la diferencia entre los bloques de la Figura 12 y los bloques ilustrados en las figuras anteriores, se ha añadido un apóstrofe a los números de referencia de cada uno de los bloques. Por lo tanto, los bloques previo, actual y siguiente en la Figura 12 se han representado como 810', 820' y 830', respectivamente.
La Figura 13 ilustra las muestras 1360 usadas para realizar el filtrado de desbloqueo vertical real para bordes horizontales. Por lo tanto, la Figura 13 difiere de la Figura 12 de la misma manera que la Figura 11 difiere de la Figura 10. En particular, se muestrean cuatro píxeles contados desde el límite de bloque en ambos lados del límite.
Las siguientes figuras, las Figuras 14 a 16 ilustran las muestras de píxeles que pueden modificarse (contrario a las muestras de píxeles a usar para la decisión y de realización del filtrado). Como en los ejemplos anteriores, se ilustra un bloque de 8 x 8 muestras (es decir ocho filas y 8 columnas u ocho líneas en cada dirección). Sin embargo, dicho tamaño de bloque es únicamente un ejemplo.
Específicamente, la Figura 14 proporciona una ilustración de muestras, que pueden modificarse mediante el desbloqueo horizontal de bordes verticales. Fuera de los píxeles de ocho líneas paralelas al límite a desbloquear para un bloque (representado "8 muestras" en el dibujo), se modifican un máximo de tres líneas en ambos lados del límite. Como consecuencia, se modifica una secuencia de seis muestras cerca del límite. Estas muestras están sombreadas en la Figura 14. En consecuencia, en un bloque de 8 x 8 general, dos muestras entre los bloques a modificar permanecen sin cambios en cada bloque.
La Figura 15 ilustra las muestras modificadas por el desbloqueo horizontal de bordes verticales. En consecuencia, la Figura 15 básicamente corresponde a la Figura 14, en la que, sin embargo, las porciones sombreadas se han rotado 90°.
La Figura 16 proporciona una ilustración general de muestras modificadas por o bien el desbloque horizontal o bien el vertical. Por lo tanto, la Figura 16 corresponde a una superposición de las Figuras 14 y 15.
A base de las explicaciones anteriores, el problema que subyace de la presente invención se detallará a continuación a modo de ejemplo a base de las Figuras 17A y 17B. La idea general de resolver dicho problema se ilustrará en la Figura 17C.
Se observa que el tamaño de bloque y en consecuencia los números de líneas almacenadas y líneas a usar para realizar la decisión se proporcionan en la siguiente descripción detallada a modo de ejemplo únicamente. La presente invención no se limita a bloques de 8 x 8 y, en consecuencia, el número de instantáneas de muestra no se limita a las detalladas a continuación. Otros tamaños de bloque y, en consecuencia, un número diferente de muestras a almacenar y seleccionar, son posibles dentro del marco de la presente invención, como se define mediante las reivindicaciones adjuntas. También, la presente invención no se limita al ejemplo del desbloqueo horizontal a realizar detallado primero en esta memoria descriptiva e ilustrada en la Figura 3. Una aplicación análoga de la invención del caso opuesto de realización de desbloqueo vertical antes de desbloqueo horizontal es sencilla.
La Figura 17A básicamente corresponde a la Figura 9. Además, el número de referencia 1770 indica una muestra de cuatro líneas que se requieren para realizar la decisión D2 (filtro fuerte o débil) del límite vertical entre el bloque encima del bloque 820 actual y bloque 820 actual.
Como se ha descrito anteriormente, las decisiones D1 y D2 deben realizarse en muestras no desbloqueadas. Por lo tanto, estas decisiones tienen que realizarse siempre que la señal no desbloqueada S' de la Figura 3 esté aún disponible, es decir antes de que se inicie realmente el filtrado vertical de los bordes horizontales en el filtro 350a. En otras palabras, el filtrado (en particular: el filtrado horizontal de bordes verticales a realizar primero de acuerdo con el diagrama de flujo de la Figura 3) se retarda por las decisiones D1 y D2, en particular, para el filtrado vertical de bordes horizontales. En consecuencia, las muestras de cuatro líneas indicadas mediante el número 1770 en la Figura 17A, cada una de una longitud que corresponde a la anchura de instantánea de la señal no desbloqueada requerida para realizar la decisión D2 de filtrado vertical está disponible en el momento de iniciar el filtrado horizontal retardado en límites verticales.
Una implementación de hardware puede conseguirse como se indica a continuación: muestras no desbloqueadas se almacenan en una memoria de línea y las decisiones D1 y D2 se realizan posteriormente para el filtrado horizontal de bordes verticales y para el filtrado vertical de bordes horizontales para el bloque actual, usando las muestras almacenadas no desbloqueadas. Posteriormente, se realiza un filtrado horizontal retardado de los bordes verticales para la región que incluye las cuatro líneas almacenadas.
Para este filtrado horizontal retardado, sin embargo, es necesario el resultado de la decisión D1 correspondiente de activado/desactivado anteriormente realizada. En consecuencia, el resultado de dicha decisión necesita o bien almacenarse o bien recalcularse. En caso de que dicho resultado no se almacene, el recálculo de acuerdo con el esquema convencional anteriormente descrito requiere píxeles de muestra de una línea que no pertenece a líneas 1770 almacenadas. En concreto, para el recálculo del resultado de decisión de la decisión D1, se requieren píxeles 1760 de muestra ilustrados en la Figura 17B (correspondiendo a muestras 430 en la Figura 5, es decir píxeles de la tercera y sexta línea (con subíndices 2 y 5 en la Figura 5). Mientras la sexta línea (con subíndice 5 en la Figura 5) pertenece a las líneas que se han almacenado de todas formas, este no es el caso para la tercera línea (con subíndice 2 en la Figura 5).
Por lo tanto, o bien el resultado de decisión de la decisión D1 anteriormente tomada para el filtrado horizontal retardado tiene que almacenarse o bien incluso datos de píxeles de una línea adicional (la línea superior de las líneas 1760 en la Figura 17B) tienen que almacenarse adicionalmente. Sin embargo, ya que memoria de línea es muy cara, la última alternativa se asociaría con mayores costes.
Aún como alternativa, el retardo del filtrado vertical podría evitarse mediante el uso de memoria de línea adicional. En concreto, si existen dos memorias de línea, una de las que mantiene la señal no desbloqueada y la otra que mantiene la señal desbloqueada horizontalmente, las decisiones D1 y D2 para el filtrado vertical podrían posponerse. Sin embargo, ya que memoria de línea es muy cara, dicha alternativa es incluso más desfavorable.
Por lo tanto, en el esquema convencional anteriormente descrito, el problema surge que o bien el resultado de decisión de decisión D1 o bien una línea adicional, no incluida en las líneas almacenadas (en este punto: cuatro líneas 1770) tiene que almacenarse para una operación de filtro retardado.
La presente invención tiene como objetivo superar el inconveniente del enfoque convencional provocado por el problema de almacenamiento descrito anteriormente.
De acuerdo con la presente invención, cada bloque (en el presente ejemplo: un bloque de ocho líneas (filas/columnas)) se separa en al menos dos segmentos. La segmentación se realiza de tal forma que es posible realizar todas las decisiones (D1: activado/desactivado y D2: fuerte/débil) para el filtrado horizontal de bordes verticales sobre la base de únicamente las líneas 1770 almacenadas (necesarias para la realización de las respectivas decisiones para el filtrado vertical de bordes horizontales) e independientemente de otras líneas. Como consecuencia, ya no se requiere memoria intermedia de decisión o memoria de línea adicional para un filtrado horizontal retardado de bordes verticales.
Dicha idea se ilustra en la Figura 17C. En concreto, por medio de segmentación se modificará la decisión D1 de filtrado horizontal retardado de bordes verticales de tal manera que la decisión se toma a base de únicamente esas muestras de la señal no desbloqueada S' incluida en la caja 1760a con trazo discontinuo de la Figura 17C. Como puede observarse fácilmente, todos esos píxeles pertenecen a las líneas 1770 almacenadas.
Más específicamente, la solución inventiva se describe con referencia a la Figura 17D. En concreto, a lo largo de todos los bloques implicados en el filtrado horizontal, se realiza segmentación dividiendo el bloque a lo largo de la línea de segmentación horizontal (es decir una línea perpendicular al límite a desbloquear). En aras de la simplicidad, en la Figura 17D, se ilustra segmentación únicamente para la fila superior de bloques. La línea 1700 de segmentación discontinua divide cada bloque en dos segmentos (lados) en una dirección vertical. Adicionalmente, el esquema de tomar la decisión D1 se modifica de tal forma que no se requieren muestras del respectivo otro lado para tomar la decisión D1 de desbloqueo horizontal de borde vertical dentro de la región de uno de los segmentos.
En otras palabras, la decisión D1 ya no se toma para el bloque como un todo, sino de forma separada para cada segmento (lado). Para tomar la decisión sobre el lado 1, únicamente se usan muestras del lado 1 (en particular: las muestras indicadas mediante el número 17601). Para tomar la decisión para la región del segmento del lado 2, únicamente se usan muestras en el lado 2 (en particular: las indicadas mediante el número 17602).
Viceversa, muestras situadas en el lado 1 no se usan para las decisiones requeridas para realizar el filtrado horizontal de bordes verticales en el lado 2 y muestras en el lado 2 no se usan para las decisiones requeridas para realizar el filtrado horizontal de bordes verticales en el lado 1.
En particular, en consecuencia, la decisión para el lado 2 puede tomarse sobre la base de las líneas 1770 almacenadas, sin referencia a ninguna línea no almacenada. Por lo tanto, no se requiere ni almacenar un resultado anteriormente determinado ni almacenar una línea adicional en una costosa memoria de línea.
Respecto al lado 1, puede tomarse una decisión separada en el momento cuando las respectivas líneas aún se almacenan de la decisión de vertical desbloqueo con respecto al límite entre la otra fila de bloques en la Figura 17 y los siguientes bloques por encima (no mostrados en la Figura 17).
Una ventaja importante del esquema de decisión de acuerdo con la presente invención es la limitación de las dependencias en el desbloqueo a áreas que tienen el tamaño de un bloque. Como consecuencia, si las áreas de muestras (bloques) para decidir se eligen apropiadamente, pueden desbloquearse en paralelo entre sí. Debe apreciarse que las áreas de muestras (bloques) para decidir generalmente son diferentes de los bloques a cuyos límites se aplica desbloqueo.
Dicho efecto técnico ventajoso se ilustra en la Figura 18 (para el ejemplo de bloques de 8x8).
La Figura 18 es generalmente a base de la Figura 17D y muestra seis bloques de 8x8 cuyos límites de bloque deben desbloquearse. Adicionalmente en la Figura 18, un área 1800 de 8x8 se ha enfatizado mediante un cuadrado con trazo discontinuo. Dentro de dicha área 1800, se ilustran las muestras necesarias para decidir el desbloqueo horizontal del borde vertical 1810 (de la misma manera que, por ejemplo, las muestras 17602 en la Figura 17D mediante rectángulos pequeños con trazo discontinuo). Además, se resaltan las respectivas muestras de filtrado de desbloqueo vertical de borde 1820 horizontal dentro del área 1800 (rectángulos pequeños con trazo discontinuo con orientación vertical).
Como puede observarse a partir de la figura 18, todas las decisiones pueden hacerse para el bloque 1800 de 8x8 sin la necesidad de referirse a ninguna muestra fuera de dicha área. Por lo tanto, el área 1800 (bloque) de 8x8 (y los respectivos bloques desplazados por múltiplos de 8 píxeles en dirección horizontal y/o vertical) son bloques de decisión apropiados para los que pueden procesarse mediante el filtrado de desbloqueo en paralelo.
Una ventaja de este tipo no puede lograrse en el esquema de decisión y filtrado convencional. Como puede observarse, por ejemplo, a partir de la Figura 8, en el esquema anterior no existe área (bloque) de 8x8 para la que se limitan las muestras de decisión de desbloqueo a dicha misma área, de tal forma que filtrado de decisiones de desbloqueo puede hacerse independientemente dentro de dicha área. Por lo tanto, se evita la paralelización mediante el esquema convencional
Una explicación aún más particular de una solución ilustrativa de realización de la decisión D1 (filtro de desbloqueo activado/desactivado) de un bloque de ocho líneas segmentado en dos segmentos de cuatro líneas se describirán a continuación con referencia a la Figura 19. La Figura 19A ilustra la decisión activado/desactivado para el segmento de cuatro líneas en el lado 1. Como puede observarse a partir de la figura 19A, la decisión se toma a base de la primera línea (con subíndice 0) y la cuarta línea (con subíndice 3) únicamente. Más específicamente, se calculan los siguientes parámetros:
d Pn = \P 2 o ~ 2 - P h P ° o
d P3 = \ P 23 ~ 2 - P 13 P%\
P p, ¡ado 1 ~ d pQ + d p?,
y
d qo ~ |£/2 o — 2 ■ q 10 <jOu|
d qi = |?23 — 2-£/ í 3 c/0 :J
El filtro se habilita si se cumple la siguiente condición:
Figure imgf000014_0001
La Figura 19B ilustra la respectiva toma de decisión para el lado 2, a base de las muestras 17602. Los respectivos cálculos son:
Figure imgf000014_0002
d Pi =|/'27-2-/? l7 p07
® p ,k d o 2 — ^ p4 d p l
y
dq4=\q24 - 2 - q l 4+q04
dql — |g27 - 2 - q\1 + q01
dqMol dq4 + dql
El filtro se habilita si la condición se cumple:
d q,lado2 d p.ledo2 < P
Como puede observarse a partir de los detalles anteriores, la modificación de la decisión D1, a base de segmentación de bloque, resulta en un leve aumento en el gasto de cálculo general. En concreto, en lugar de una única decisión de activado/desactivado convencional para un bloque de ocho líneas, requiriendo 20 operaciones, la decisión de activado/desactivado tiene que tomarse dos veces, para 4 líneas, requiriendo 40 operaciones. Por lo tanto, se ha doblado el número de operaciones requeridas para tomar solo la decisión D1.
Por lo tanto, es preferible modificar adicionalmente dentro de la presente invención también la implementación de decisión D2, es decir la decisión sobre si un filtro fuerte o débil es apropiado a aplicar, para compensar para el gasto de cálculo aumentado.
La Figura 20 ilustra una primera solución específica para una decisión D2 modificada, a base de la segmentación de acuerdo con la presente invención. Como se ha descrito anteriormente, en el ejemplo convencional, la decisión D2 se toma para cada línea individualmente. En contraste, de acuerdo con la presente invención, una decisión individual se toma únicamente para un subconjunto de líneas por segmento. Sobre la base de las decisiones individuales para el subconjunto de segmentos, se toma una única decisión de un filtro para todas las líneas del segmento.
Más específicamente, la Figura 20A muestra la decisión D2 modificada de acuerdo con el primer ejemplo específico para el lado 1. La decisión es a base de la primera línea (que tiene subíndice 0) y la cuarta línea (que tiene subíndice 3), que se indican mediante el número 19601 en la Figura 20A. Para cada una de las dos líneas con los subíndices 0 y 3, se realiza la decisión entre fuerte y filtro débil (preferentemente de la manera convencional descrita anteriormente). Si para ambas líneas se selecciona el filtro fuerte, todas las cuatro líneas (0, 1, 2, 3) se filtran fuertemente. De lo contrario, se selecciona el filtro débil.
El respectivo esquema de operación en el lado 2 se ilustra en la Figura 20B. La decisión D2 para el lado 2 es a base de las dos líneas con subíndices 4 y 7, indicados con el número de referencia 19602. Para cada una de las dos líneas 4 y 7, se realiza la decisión entre un filtro fuerte y débil. Si para ambas líneas se selecciona el filtro fuerte, todas las cuatro líneas 4, 5, 6, 7 se filtran fuertemente. De lo contrario, se selecciona el filtro débil.
Una simulación revela que la eficacia de codificación de acuerdo con la realización descrita de la presente invención se aumenta levemente con respecto al esquema convencional HM 4.0 descrito anteriormente.
La eficacia de codificación de la realización de la invención descrita anteriormente con referencia a las Figuras 19 y 20 se ha evaluado a base de las condiciones de codificación usadas comúnmente en las actividades de normalización en la ISO y la ITU, véase el documento JCTVC-E700 (http://phenix.intevry.fr/jct/doc_end_user/current_document.php?id=2454). La invención conduce a una reducción de tasa de bits media de aproximadamente el 0,15 % en el mismo error de cuantificación cuadrático medio.
Además, sobre la base de la modificación de ambas decisiones D1 y D2, también puede lograrse una disminución en el gasto de cálculo general. En concreto, de acuerdo con el esquema convencional anteriormente descrito, se requiere en siguiente número total de operaciones:
• decisión de activado/desactivado para 8 líneas: 20 operaciones
• 8 decisiones de fuerte/débil: 96 operaciones
• suma de cálculos: 116 operaciones
De acuerdo con la realización ilustrada de la presente invención, el número total de operaciones es como se indica a continuación:
• decisión de activado/desactivado 2 veces para 4 líneas: 40 operaciones
• 4 decisiones de fuerte/débil: 48 operaciones
• suma de cálculos: 96 operaciones
En consecuencia, la presente invención habilita el descenso del número total de cálculos en aproximadamente el 20 %.
La segunda solución ilustrativa de decisión D2 modificada es similar al primer ejemplo descrito anteriormente. De la misma manera que en el primer ejemplo, en el primer lado para cada una de las dos líneas 0 y 3 se realiza la decisión entre un filtro fuerte o débil. Si el filtro débil se selecciona para ambas líneas, todas las cuatro líneas 0, 1, 2, 3 se filtran débilmente. De lo contrario, se selecciona el filtro fuerte.
De la misma manera, en el lado 2, para cada una de las dos líneas 4 y 7, se realiza la decisión entre un filtro fuerte o débil. Si el filtro débil se selecciona para ambas líneas, todas las cuatro líneas 4, 5, 6, 7 se filtran débilmente. De lo contrario, se selecciona el filtro fuerte.
Por lo tanto, el segundo ejemplo ilustrado difiere del primer ejemplo en que, de acuerdo con el segundo ejemplo, en caso de una discrepancia entre las decisiones individuales para las dos líneas seleccionadas, se selecciona el filtro fuerte, mientras que de acuerdo con el primer ejemplo en caso de una discrepancia siempre se selecciona el filtro débil. Ya que la complejidad de cálculo del filtro débil es generalmente menor que para el filtro fuerte, el primer ejemplo habilita una disminución adicional en gasto de cálculo.
De acuerdo con un tercer ejemplo, la decisión D2 modificada también se realiza sobre la base de las líneas seleccionadas ilustradas en las Figuras 20A y 20B. Sin embargo, de acuerdo con el tercer ejemplo, la decisión D2 se combina con la decisión D3. En concreto, para cada una de las líneas seleccionadas, se realiza la decisión combinada entre un filtro fuerte, un filtro débil y ningún filtro. Las respectivas decisiones se toman sobre la base de una tabla de correspondencia.
Más específicamente, en el lado 1, para cada una de las dos líneas 0 y 3, se realiza la decisión entre un filtro fuerte, un filtro débil y ningún filtro. Los resultados de dos decisiones se usan para decidir para todas las cuatro líneas 0, 1, 2, 3 por medio de la siguiente tabla de consulta.
Figure imgf000015_0001
continuación
Figure imgf000016_0002
En el lado 2, para cada una de las dos líneas 4 y 7, se realiza la decisión entre un filtro fuerte, un filtro débil y ningún filtro. Los resultados de dos decisiones se usan para decidir para todas las cuatro líneas 4, 5, 6, 7 por medio de la siguiente tabla de consulta.
Figure imgf000016_0003
Como puede observarse a partir de las tablas anteriores, en el caso de que las decisiones para las dos líneas difieran, siempre se seleccionará la de menor complejidad. De este modo, se ahorra gasto de cálculo adicional.
Un cuarto ejemplo, ilustrado con referencia a la Figura 21, es generalmente similar al tercer ejemplo. Como puede observarse a partir de la figura 21 en el lado 1 (Figura 21A la segunda y tercera líneas con 1 y 2) se seleccionan para la decisión individual. En el lado 2, se seleccionan la sexta y séptima líneas (con 5 y 6). Tablas de consulta correspondientes se muestran a continuación:
Figure imgf000016_0001
y
Figure imgf000017_0001
Debe apreciarse que la solución particular de una decisión D2 modificada, realizada sobre una base de segmento en lugar de sobre una base de línea individual, no se limita a los cuatro ejemplos dados anteriormente. Modificaciones adicionales, así como combinaciones de elementos individual de estos ejemplos son posibles dentro del alcance de la presente invención como se define mediante las reivindicaciones adjuntas. En los ejemplos anteriores, una decisión D2 ha sido a base de muestras de dos líneas. La presente invención sin embargo no se limita a dicho número de líneas usadas para selección. La selección de filtro puede ser a base de únicamente una única línea o cualquier otro número de líneas que es menor que el número total de líneas en el respectivo par de segmentos a desbloquear.
A continuación, un primer problema de acceso a memoria que sucede al tomar la decisión D1 de activado/desactivado se describe y aborda con respecto a las Figuras 22 y 23. La Figura 22 ilustra el enfoque HEVC convencional de toma de decisión D1 para desbloqueo horizontal de un borde vertical.
Como se indica en el esquema superior de la Figura 22A, en una primera etapa se lee la línea 2 y se calculan los valores de decisión asociados dP2 y dq2. En una segunda etapa, se lee la línea 5 y se calculan los valores de decisión asociados dp5 y du5.
En una tercera etapa, se calcula el valor de decisión d5 = dq2 dP2 dq5 dP5, y se realiza la decisión D1 de activado/desactivado para todas las ocho líneas. La decisión de filtro fuerte/débil se realiza a continuación para la línea 5, se realizan desbloqueo y escritura de nuevo del resultado de desbloqueo para línea 5.
En una cuarta etapa posterior, para cada una de las restantes líneas, 0, 1,2, 3, 4, 6 y 7 se lee la respectiva línea, se decide filtrado fuerte/débil, se realiza desbloqueo y el resultado se escribe de nuevo. Como consecuencia, se produce el siguiente problema: para desbloqueo de ocho líneas, o bien la línea 2 o bien línea 5 necesita leerse dos veces: una vez para la decisión D1 y una vez para el desbloqueo. En total, necesitan realizarse 9 operaciones de lectura de línea, aunque únicamente hay 8 líneas por bloque.
Dicho problema puede resolverse ventajosamente con un esquema de desbloqueo modificado como se ilustra con referencia a la Figura 23. En una primera etapa, se lee la línea 2 (2362) y se calculan los valores de decisión asociados db2 y du2. Se calcula un valor de decisión modificado d2 = 2 x (dd2’ dp2) y la decisión D1 de activado/desactivado válida para esta línea es a base del criterio d2 < p. Posteriormente, se realiza la decisión D2 de filtro fuerte/débil, se desbloquea y el resultado se escribe de nuevo. En una segunda etapa, se lee la línea 5 (2365) de la misma manera y se calculan los valores de decisión asociados db5 y dq5. El valor de decisión modificado d5 = 2 x (dq5 db5) se calcula y se realiza la decisión D1 de activado/desactivado a base del criterio d5 < p válido para esta línea. Se realiza la decisión D2 de filtro fuerte/débil y se realiza individualmente desbloqueo y escritura de nuevo del resultado para línea la 5 (2365).
Posteriormente, se calcula el valor de decisión d = (d2 ds)/2 y se realiza la decisión de habilitar/deshabilitar d < p para las líneas 0, 1, 3, 4, 6 y 7 restantes como se ilustra mediante la referencia 2360 en la Figura 23B. En la cuarta etapa posterior, para las líneas 0, 1, 3, 4, 6 y 7 restantes se leen las muestras de píxeles, se realiza la decisión de filtro fuerte/débil, el desbloqueo se lleva a cabo a continuación y el resultado se escribe de nuevo.
De acuerdo con un ejemplo modificado del desbloqueo mejorado de resolver el problema de acceso a memoria, se realizan las etapas 1,2 y 4 como se ha descrito anteriormente. La etapa 3 descrita anteriormente se modifica en que no se calcula valor de decisión d común para las líneas restantes. Al contrario, la decisión de activado/desactivado en la etapa 3 para las líneas 0, 1, 3, 4, 6, 7 restantes se realiza sobre la base de la decisión (d2 < P)&(d5 < p).
Hablando más en general, un esquema de decisión modificado para la decisión D1 se realiza de tal forma que la decisión D1 no se toma para todo el bloque, sino de forma separada (individualmente) para esas líneas, cuyas muestras de píxel se usan para el cálculo y aplicación del criterio de decisión (en el presente ejemplo: líneas 2 y 5). Posteriormente, la decisión se toma para las líneas restantes.
El esquema de decisión para cada una de las líneas para las que se toma la decisión D1 individualmente tiene además que modificarse de tal manera que las muestras de píxeles usadas se separan, es decir la decisión D1 individual para una línea particular se toma únicamente a base de píxeles de muestra de dicha línea. El esquema de decisión para las líneas restantes del bloque puede ser o bien uno convencional tal como se ha descrito con referencia a las Figuras 4 y 5, o bien puede ser también modificado. La decisión para las líneas restantes puede ser a base de muestras de píxel de todas esas líneas para las que se toman una decisión individual.
Las siguientes ventajas se logran mediante ambas versiones de la decisión D1 modificada: en primer lugar, cada línea necesita leerse únicamente una vez y, como consecuencia, únicamente debe realizarse un número de operaciones de lectura de línea igual al número de líneas por bloque (en el presente caso: 8). Además, se logra una decisión más precisa para esas líneas para las que se realiza la decisión individualmente (en el presente caso: líneas 2 y 5).
El procesamiento descrito en cada una de las realizaciones puede implementarse simplemente en un sistema informático independiente, grabando, en un medio de grabación, un programa para implementar las configuraciones del procedimiento de codificación de instantáneas en movimiento (procedimiento de codificación de imagen) y el procedimiento de decodificación de instantáneas en movimiento (procedimiento de decodificación de imagen) descritos en cada una de las realizaciones. El medio de grabación puede ser cualquier medio de grabación siempre que el programa puede grabarse, tales como un disco magnético, un disco óptico, un disco óptico magnético, una tarjeta de CI y una memoria semiconductora.
En lo sucesivo, se describirán las aplicaciones del procedimiento de codificación de instantáneas en movimiento (procedimiento de codificación de imagen) y el procedimiento de decodificación de instantáneas en movimiento (procedimiento de decodificación de imagen) descritos en cada una de las realizaciones y sistemas usando los mismos. El sistema tiene una característica de tener un aparato de codificación y decodificación de imagen que incluye un aparato de codificación de imagen usando el procedimiento de codificación de imagen y un aparato de decodificación de imagen usando el procedimiento de decodificación de imagen. Otras configuraciones en el sistema pueden cambiarse como sea apropiado dependiendo de los casos.
(Realización A)
La Figura 24 ilustra una configuración global de un sistema ex100 de suministro de contenido de implementación de servicios de distribución de contenido. El área para proporcionar servicios de comunicación se divide en células de tamaño deseado y estaciones ex106, ex107, ex108, ex109 y ex110 base que son estaciones inalámbricas fijas se sitúan en cada una de las células.
El sistema ex100 de suministro de contenido se conecta a dispositivos, tales como un ordenador ex111, un asistente ex112 digital personal (PDA), una cámara ex113, un teléfono ex114 celular y una máquina ex115 de juegos, a través de la Internet ex101, un proveedor ex102 de servicio de Internet, una red ex104 de telefonía, así como las estaciones ex106 a ex110 base, respectivamente.
Sin embargo, la configuración del sistema ex100 de suministro de contenido no se limita a la configuración mostrada en la Figura 24, y es aceptable una combinación en la que se conecta cualquiera de los elementos. Además, cada dispositivo puede conectarse directamente a la red ex104 de telefonía, en lugar de a través de las estaciones ex106 a ex110 base que son las estaciones inalámbricas fijas. Adicionalmente, los dispositivos pueden interconectarse entre sí a través de una comunicación inalámbrica de corto alcance y otras.
La cámara ex113, tales como una cámara de video digital, es capaz de capturar video. Una cámara ex116, tales como una cámara digital, es capaz de capturar tanto imágenes fijas como video. Adicionalmente, el teléfono ex114 celular puede ser el que cumple alguna de las normas tales como Sistema Global para Comunicaciones Móviles (GSM) (marca registrada), Acceso Múltiple por División de Código (CDMA), Acceso Múltiple por División de Código de Banda Ancha (W-CDMA), Evolución a Largo Plazo (LTE) y Acceso de Alta Velocidad por Paquetes (HSPA). Como alternativa, el teléfono ex114 celular puede ser un Sistema de Teléfonos Personales (PHS).
En el sistema ex100 de suministro de contenido, un servidor ex103 de flujo continuo se conecta a la cámara ex113 y otras a través de la red ex104 de telefonía y la estación ex109 base, que habilita distribución de imágenes de un espectáculo en vivo y otros. En una distribución de este tipo, se codifica un contenido (por ejemplo, video de un espectáculo en vivo de música) capturado por el usuario usando la cámara ex113 como se ha descrito anteriormente en cada una de las realizaciones (es decir, la cámara funciona como el aparato de codificación de imagen de acuerdo con un aspecto de la presente invención) y el contenido codificado se transmite al servidor ex103 de flujo continuo. Por otra parte, el servidor ex103 de flujo continuo efectúa distribución en flujo del contenido datos transmitido a los clientes según sus peticiones. Los clientes incluyen el ordenador ex111, el PDA ex112, la cámara ex113, el teléfono ex114 celular y la máquina ex115 de juegos que son capaces de decodificar los datos codificados mencionados anteriormente. Cada uno de los dispositivos que han recibido los datos distribuidos decodifica y reproduce los datos codificados (es decir, funciona como el aparato de decodificación de imagen de acuerdo con un aspecto de la presente invención).
Los datos capturados pueden codificarse mediante la cámara ex113 o el servidor ex103 de flujo continuo que transmite los datos, o los procedimientos de codificación pueden compartirse entre la cámara ex113 y el servidor ex103 de flujo continuo. De manera similar, los datos distribuidos pueden decodificarse mediante los clientes o el servidor ex103 de flujo continuo, o los procedimientos de decodificación pueden compartirse entre los clientes y el servidor ex103 de flujo continuo. Adicionalmente, pueden transmitirse los datos de las imágenes fijas y video capturados mediante no únicamente la cámara ex113 sino también la cámara ex116 al servidor ex103 de flujo continuo a través del ordenador ex111. Los procedimientos de codificación pueden realizarse mediante la cámara ex116, el ordenador ex111 o el servidor ex103 de flujo continuo, o compartirse entre los mismos.
Adicionalmente, los procedimientos de codificación y decodificación pueden realizarse mediante un LSI ex500 generalmente incluido en cada uno del ordenador ex111 y los dispositivos. El LSI ex500 puede configurarse de un único chip o una pluralidad de chips. Software de codificación y decodificación de video puede integrarse en algunos tipos de un medio de grabación (tales como un CD-ROM, un disco flexible y un disco duro) que es legible mediante el ordenador ex111 y otros, y los procedimientos de codificación y decodificación puede realizarse usando el software. Adicionalmente, cuando el teléfono ex114 celular se equipa con una cámara, los datos de video obtenidos mediante la cámara pueden transmitirse. Los datos de video son datos codificados mediante el LSI ex500 incluido en el teléfono ex114 celular.
Adicionalmente, el servidor ex103 de flujo continuo puede componerse de servidores y ordenadores y puede descentralizar datos y procesar los datos descentralizados, grabar o distribuir datos.
Como se ha descrito anteriormente, los clientes pueden recibir y reproducir los datos codificados en el sistema ex100 de suministro de contenido. En otras palabras, los clientes pueden recibir y decodificar información transmitida por el usuario y reproducir los datos decodificados en tiempo real en el sistema ex100 de suministro de contenido, de modo que el usuario que no tiene ningún derecho particular y equipo puede implementar difusión personal.
Aparte del ejemplo del sistema ex100 de suministro de contenido, al menos uno del aparato de codificación de instantáneas en movimiento (aparato de codificación de imagen) y el aparato de decodificación de instantáneas en movimiento (aparato de decodificación de imagen) descritos en cada una de las realizaciones pueden implementarse en un sistema ex200 de difusión digital ilustrado en la Figura 25. Más específicamente, una estación ex201 de radiodifusión comunica o transmite, a través de ondas de radio a un satélite ex202 de radiodifusión, datos multiplexados obtenidos mediante multiplexación de datos de audio y otros en datos de video. Los datos de video son datos codificados por el procedimiento de codificación de instantáneas en movimiento descrito en cada una de las realizaciones (es decir, datos codificados por el aparato de codificación de imagen de acuerdo con un aspecto de la presente invención). Tras la recepción de los datos multiplexados, el satélite ex202 de radiodifusión transmite ondas de radio para radiodifusión. A continuación, una antena ex204 doméstica con una función de recepción de radiodifusión por satélite recibe las ondas de radio. A continuación, un dispositivo tales como una televisión ex300 (receptor) y un decodificador ex217 de salón (STB) decodifica los datos multiplexados recibidos y reproduce los datos decodificados (es decir, funciona como el aparato de decodificación de imagen de acuerdo con un aspecto de la presente invención).
Adicionalmente, un lector/grabador ex218 (i) lee y decodifica los datos multiplexados grabados en un medio ex215 de grabación, tales como un DVD y un BD, o (ii) codifica señales de video en el medio ex215 de grabación, y en algunos casos, escribe datos obtenidos mediante multiplexación de una señal de audio en los datos codificados. El lector/grabador ex218 puede incluir el aparato de decodificación de instantáneas en movimiento o el aparato de codificación de instantáneas en movimiento como se muestra en cada una de las realizaciones. En este caso, las señales de video reproducidas se visualizan en el monitor ex219 y pueden reproducirse mediante otro dispositivo o sistema usando el medio ex215 de grabación en el que se graban los datos multiplexados. También es posible implementar el aparato de decodificación de instantáneas en movimiento en el decodificador ex217 de salón conectado al cable ex203 para una televisión por cable o a la antena ex204 para radiodifusión por satélite y/o terrestre, para visualizar la señal de video s en el monitor ex219 de la televisión ex300. El aparato de decodificación de instantáneas en movimiento puede implementarse no en el decodificador de salón sino en la televisión ex300. La Figura 26 ilustra la televisión ex300 (receptor) que usa el procedimiento de codificación de instantáneas en movimiento y el procedimiento de decodificación de instantáneas en movimiento descritos en cada una de las realizaciones. La televisión ex300 incluye: un sintonizador ex301 que obtiene o proporciona datos multiplexados obtenidos mediante multiplexación de datos de audio en datos de video, a través de la antena ex204 o el cable ex203, etc. que recibe una difusión; una unidad ex302 de modulación/demodulación que demodula los datos multiplexados recibidos o modula datos en datos multiplexados a suministrar fuera; y una unidad ex303 de multiplexación/demultiplexación que demultiplexa los datos multiplexados modulados en datos de video y datos de audio, o multiplexa datos de video y datos de audio codificados mediante una unidad de procesamiento de señal ex306 en datos.
La televisión ex300 adicionalmente incluye: una unidad de procesamiento de señal ex306 que incluye una unidad ex304 de procesamiento de señal de audio y una unidad ex305 de procesamiento de señal de video que decodifican datos de audio y datos de video y codifican datos de audio y datos de video, respectivamente (que funcionan como el aparato de codificación de imagen y el aparato de decodificación de imagen de acuerdo con los aspectos de la presente invención); y una unidad ex309 de salida que incluye un altavoz ex307 que proporciona la señal de audio decodificada y una unidad ex308 de visualización que visualiza la señal de video decodificada, tal como una pantalla. Adicionalmente, la televisión ex300 incluye una unidad ex317 de interfaz que incluye una unidad ex312 de entrada de operación que recibe una entrada de una operación de usuario. Adicionalmente, la televisión ex300 incluye una unidad ex310 de control que controla en general cada elemento constitutivo de la televisión ex300 y una unidad ex311 de circuito de fuente de alimentación que suministra potencia a cada uno de los elementos. Además de la unidad ex312 de entrada de operación, la unidad ex317 de interfaz puede incluir: un puente ex313 que se conecta a un dispositivo externo, tales como el lector/grabador ex218; una unidad ex314 de ranura de habilitación de fijación del medio ex216 de grabación, tales como una tarjeta de SD; una controladora ex315 a conectar a un medio de grabación externo, tales como un disco duro; y un módem ex316 a conectar a una red de telefonía. En el presente documento, el medio ex216 de grabación puede grabar eléctricamente información usando a elemento de memoria semiconductora no volátil/volátil para almacenamiento. Los elementos constituyentes de la televisión ex300 se conectan entre sí a través de un bus síncrono.
En primer lugar, se describirá la configuración en la que la televisión ex300 decodifica datos multiplexados obtenidos desde fuera a través de la antena ex204 y otras y reproduce los datos decodificados. En la televisión ex300, tras una operación de usuario a través de un controlador ex220 remoto y otros, la unidad ex303 de multiplexación/demultiplexación demultiplexa los datos multiplexados demodulados por la unidad ex302 de modulación/demodulación, bajo el control de la unidad ex310 de control que incluye a CPU. Adicionalmente, la unidad ex304 de procesamiento de señal de audio decodifica los datos de audio multiplexados y la unidad ex305 de procesamiento de señal de video decodifica los datos de video multiplexados, usando el procedimiento de decodificación descrito en cada una de las realizaciones, en la televisión ex300. La unidad ex309 de salida proporciona la señal de video y señal de audio decodificadas fuera, respectivamente. Cuando la unidad ex309 de salida proporciona la señal de video y la señal de audio, las señales pueden almacenarse temporalmente en memorias ex318 y ex319 intermedias y otras de modo que las señales se reproducen en sincronización entre sí. Adicionalmente, la televisión ex300 puede leer datos multiplexados no a través de una radiodifusión y otras sino a partir del medio ex215 y ex216 de grabación, tales como un disco magnético, un disco óptico y una tarjeta SD. A continuación, se describirá una configuración en la que la televisión ex300 codifica una señal de audio y una señal de video, y transmite los datos fuera o escribe los datos en un medio de grabación. En la televisión ex300, tras una operación de usuario a través del controlador ex220 remoto y otros, la unidad ex304 de procesamiento de señal de audio codifica una señal de audio y la unidad ex305 de procesamiento de señal de video codifica una señal de video, bajo el control de la unidad ex310 de control usando el procedimiento de codificación descritos en cada una de las realizaciones. La unidad ex303 de multiplexación/demultiplexación multiplexa la señal de video y señal de audio codificadas y proporciona la señal resultante fuera. Cuando la unidad ex303 de multiplexación/demultiplexación multiplexa la señal de video y la señal de audio, las señales pueden almacenarse temporalmente en las memorias ex320 y ex321 intermedias y otras de modo que las señales se reproducen en sincronización entre sí. En el presente documento, las memorias intermedias ex318, ex319, ex320 y ex321 pueden ser plurales como se ilustra, o al menos una memoria intermedia puede compartirse en la televisión ex300. Adicionalmente, datos pueden almacenarse en una memoria intermedia de modo que el desbordamiento e infrautilización de sistema puede evitarse entre la unidad ex302 de modulación/demodulación y la unidad ex303 de multiplexación/demultiplexación, por ejemplo.
Adicionalmente, la televisión ex300 puede incluir una configuración de recepción de una entrada AV desde un micrófono o una cámara distinta de la configuración de obtención de datos de audio y video de una radiodifusión o un medio de grabación y puede codificar los datos obtenidos. Aunque la televisión ex300 puede codificar, multiplexar y proporcionar datos defuera en la descripción, puede ser capaz de únicamente recibir, decodificar y proporcionar datos de fuera pero no codificar, multiplexar y proporcionar datos de fuera.
Adicionalmente, cuando el lector/grabador ex218 lee o escribe datos multiplexados de o en un medio de grabación, uno de la televisión ex300 y el lector/grabador ex218 puede decodificar o codificar los datos multiplexados y la televisión ex300 y el lector/grabador ex218 puede compartir la decodificación o codificación.
Como un ejemplo, la Figura 27 ilustra una configuración de una unidad ex400 de reproducción/grabación de información cuando datos se leen o escriben de o en un disco óptico. La unidad ex400 de reproducción/grabación de información incluye elementos ex401, ex402, ex403, ex404, ex405, ex406 y ex407 constituyentes a describir en lo sucesivo. El cabezal ex401 óptico irradia un punto de láser en una superficie de grabación del medio ex215 de grabación que es un disco óptico para escribir información y detecta luz reflejada desde la superficie de grabación del medio ex215 de grabación para leer la información. La unidad ex402 de grabación de modulación acciona eléctricamente un láser semiconductor incluido en el cabezal ex401 óptico y modula la luz de láser de acuerdo con datos grabados. La unidad ex403 de demodulación de reproducción amplifica una señal de reproducción obtenida detectando eléctricamente la luz reflejada desde la superficie de grabación usando un detector óptico incluido en el cabezal ex401 óptico y demodula la señal de reproducción separando un componente de señal grabado en el medio ex215 de grabación para reproducir la información necesaria. La memoria ex404 intermedia mantiene temporalmente la información a grabar en el medio ex215 de grabación y la información reproducida desde el medio ex215 de grabación. El motor ex405 de disco gira el medio ex215 de grabación. La unidad ex406 de servocontrol mueve el cabezal ex401 óptico a una pista de información predeterminada mientras que controla la unidad de giro del disco motor ex405 para seguir el punto láser. La unidad ex407 de control de sistema controla en general la unidad ex400 de reproducción/grabación de información. Los procedimientos de lectura y escritura pueden implementarse mediante la unidad ex407 de control de sistema usando diversa información almacenada en la memoria ex404 intermedia y generando y añadiendo nueva información según sea necesaria y mediante la unidad ex402 de grabación de modulación, la unidad ex403 de demodulación de reproducción y la unidad ex406 de servocontrol que graba y reproduce información a través del cabezal ex401 óptico mientras se opera de una manera coordinada. La unidad ex407 de control de sistema incluye, por ejemplo, un microprocesador, y ejecuta procesamiento provocando que un ordenador ejecute un programa de lectura y escritura.
Aunque el cabezal ex401 óptico irradia un punto de láser en la descripción, puede realizar grabación de alta densidad usando luz de campo cercano. La Figura 28 ilustra el medio ex215 de grabación que es el disco óptico. En la superficie de grabación del medio ex215 de grabación, surcos de guía se forman en espiral y una pista ex230 de información graba, por adelantado, información de dirección que indica una posición absoluta en el disco de acuerdo con cambio en una forma de los surcos de guía. La información de dirección incluye información de determinación de positions de bloques ex231 de grabación que son una unidad para datos de grabación. Reproducir la pista ex230 de información y leer la información de dirección en un aparato que graba y reproduce datos puede llevar a la determinación de las particiones de los bloques de grabación. Adicionalmente, el medio ex215 de grabación incluye un área ex233 de grabación de datos, un área ex232 de circunferencia interna y un área ex234 de circunferencia externa. El área ex233 de grabación de datos es un área para su uso en grabación de los datos de usuario. El área ex232 de circunferencia interna y el área ex234 de circunferencia externa que están dentro y fuera del área ex233 de grabación de datos, respectivamente son para uso específico excepto para la grabación de los datos de usuario. La unidad de reproducción/grabación de información 400 lee y escribe audio codificado, datos de video codificados, o datos multiplexados obtenidos mediante multiplexación del audio codificado y datos de video, de y en el área ex233 de grabación de datos del medio ex215 de grabación.
Aunque un disco óptico que tiene una capa, tales como un DVD y un BD se describe como un ejemplo en la descripción, el disco óptico no se limita a tal, y puede ser un disco óptico que tiene a estructura multicapa y capaz de grabarse en una parte distinta de la superficie. Adicionalmente, el disco óptico puede tener una estructura para grabación/reproducción multidimensional, tales como grabación de información usando luz de colores con diferentes longitudes de onda en la misma porción del disco óptico y para la grabación de información que tiene diferentes capas desde diversos ángulos.
Adicionalmente, un coche ex210 que tiene una antena ex205 puede recibir datos desde el satélite ex202 y otros y reproducir video en un dispositivo de visualización tal como un sistema ex211 de navegación de coche establecido en el coche ex210, en el sistema ex200 de difusión digital. En el presente documento, una configuración del sistema ex211 de navegación de coche será una configuración, por ejemplo, incluyendo una unidad de recepción de GPS de la configuración ilustrada en la Figura 26. Lo mismo será cierto para la configuración del ordenador ex111, el teléfono ex114 celular y otros.
La Figura 29A ilustra el teléfono ex114 celular que usa el procedimiento de codificación de instantáneas en movimiento y el procedimiento de decodificación de instantáneas en movimiento descritos en realizaciones. El teléfono ex114 celular incluye: una antena ex350 de transmisión y recepción de ondas de radio a través de la estación ex110 base; una unidad ex365 de cámara capaz de capturar imágenes en movimiento y fijas; y una unidad ex358 de visualización tal como una pantalla de cristal líquido de visualización de los datos tal como video decodificado capturado por la unidad ex365 de cámara o recibido por la antena ex350. El teléfono ex114 celular adicionalmente incluye: una unidad de cuerpo principal que incluye una unidad ex366 de teclas de operación; una unidad ex357 de salida de audio tales como un altavoz para salida de audio; una unidad ex356 de entrada de audio tales como un micrófono para entrada de audio; una unidad ex367 de memoria de almacenamiento de video capturado o instantáneas fijas, audio grabado, datos codificados o decodificados del video recibido, las instantáneas fijas, correos electrónicos u otros; y una unidad ex364 de ranura que es una unidad de interfaz para un medio de grabación que almacena datos de la misma manera que la unidad ex367 de memoria.
A continuación, se describirá un ejemplo de una configuración del teléfono ex114 celular con referencia a la Figura 29B. En el teléfono ex114 celular, una unidad ex360 de control principal designada para controlar en general cada unidad del cuerpo principal que incluye la unidad ex358 de visualización así como la unidad ex366 de teclas de operación se conecta mutuamente, a través de un bus ex370 síncrono, a una unidad ex361 de circuito de fuente de alimentación, una unidad ex362 de control de entrada de operación, una unidad ex355 de procesamiento de señal de video, una unidad ex363 de interfaz de cámara, una unidad ex359 de control de pantalla de cristal líquido (LCD), una unidad ex352 de modulación/demodulación, una unidad ex353de multiplexación/demultiplexación, una unidad ex354 de procesamiento de señal de audio, la unidad ex364 de ranura y la unidad ex367 de memoria.
Cuando una tecla de fin de llamada o una tecla de encendido se ENCIENDE mediante una operación del usuario, la unidad ex361 de circuito de fuente de alimentación suministra las unidades respectivas con potencia de un conjunto de baterías para activar el teléfono ex114 celular.
En el teléfono ex114 celular, la unidad ex354 de procesamiento de señal de audio convierte las señales de audio recogidas por la unidad ex356 de entrada de audio en modo de conversación de voz en señales de audio digitales bajo el control de la unidad ex360 de control principal que incluye una CPU, ROM y RAM. A continuación, la unidad ex352 de modulación/demodulación realiza procesamiento de espectro extendido en las señales de audio digitales y la unidad ex351 de transmisión y recepción realiza conversión digital a analógico y conversión de frecuencia en los datos, para transmitir los datos resultantes a través de la antena ex350. También, en el teléfono ex114 celular, la unidad ex351 de transmisión y recepción amplifica los datos recibidos por la antena ex350 en modo de conversación de voz y realiza conversión de frecuencia y la conversión analógica a digital en los datos. A continuación, la unidad ex352 de modulación/demodulación realiza procesamiento de espectro extendido inverso en los datos y la unidad ex354 de procesamiento de señal de audio convierte la misma a señales de audio analógicas, para emitir las mismas a través de la unidad ex357 de salida de audio.
Adicionalmente, cuando se transmite un correo electrónico en modo de comunicación de datos, datos de texto del correo electrónico introducido operando la unidad ex366 de teclas de operación y otras del cuerpo principal se envían fuera a la unidad ex360 de control principal a través de la unidad ex362 de control de entrada de operación. La unidad ex360 de control principal provoca que la unidad ex352 de modulación/demodulación realice procesamiento de espectro extendido en los datos de texto, y la unidad ex351 de transmisión y recepción realiza la conversión digital a analógico y la conversión de frecuencia en los datos resultantes para transmitir los datos a la estación ex110 base a través de la antena ex350. Cuando se recibe un correo electrónico, se realiza procesamiento que es aproximadamente inverso al procesamiento de transmisión de un correo electrónico en los datos recibidos y los datos resultantes se proporcionan a la unidad ex358 de visualización.
Cuando video, imágenes fijas, o video y audio en modo de comunicación de datos se transmite o transmiten, la unidad ex355 de procesamiento de señal de video comprime y codifica señales de video suministradas desde la unidad ex365 de cámara usando el procedimiento de codificación de instantáneas en movimiento mostrado en cada una de las realizaciones (es decir, funciona como el aparato de codificación de imagen de acuerdo con el aspecto de la presente invención) y transmite los datos de video codificados a la unidad ex353 de multiplexación/demultiplexación. En contraste, durante cuando la unidad ex365 de cámara captura video, imágenes fijas y otras, la unidad ex354 de procesamiento de señal de audio codifica señales de audio recogidas por la unidad ex356 de entrada de audio y transmite los datos de audio codificados a la unidad ex353 de multiplexación/demultiplexación.
La unidad ex353 de multiplexación/demultiplexación multiplexa los datos de video codificados suministrados desde la unidad ex355 de procesamiento de señal de video y los datos de audio codificados suministrados desde la unidad ex354 de procesamiento de señal de audio, usando un procedimiento predeterminado. A continuación, la unidad ex352 de modulación/demodulación (unidad de circuito de modulación/demodulación) realiza procesamiento de espectro extendido en los datos multiplexados y la unidad ex351 de transmisión y recepción realiza conversión digital a analógico y conversión de frecuencia en los datos para transmitir los datos resultantes a través de la antena ex350.
Cuando se reciben datos de un archivo de video que está vinculado a una página web y otras en modo de comunicación de datos o cuando se recibe un correo electrónico con video y/o audio adjuntos, para decodificar los datos multiplexados recibidos a través de la antena ex350, la unidad ex353 de multiplexación/demultiplexación demultiplexa los datos multiplexados en una secuencia de bits de datos de video y una secuencia de bits de datos de audio y suministra la unidad ex355 de procesamiento de señal de video con los datos de video codificados y la unidad ex354 de procesamiento de señal de audio con los datos de audio codificados, a través del bus ex370 síncrono. La unidad ex355 de procesamiento de señal de video decodifica la señal de video usando un procedimiento de decodificación de instantáneas en movimiento que corresponde al procedimiento de codificación de instantáneas en movimiento mostrado en cada una de las realizaciones (es decir, funciona como el aparato de decodificación de imagen de acuerdo con el aspecto de la presente invención) y a continuación la unidad ex358 de visualización visualiza, por ejemplo, el video e imágenes fijas incluidas en el fichero de video vinculado a la página web a través de la unidad ex359 de control de LCD.
Adicionalmente, la unidad ex354 de procesamiento de señal de audio decodifica la señal de audio y la unidad ex357 de salida de audio proporciona el audio.
Adicionalmente, de forma similar a la televisión ex300, un terminal tal como el teléfono ex114 celular probablemente tiene 3 tipos de configuraciones de implementación que incluyen no únicamente (i) un terminal de transmisión y recepción que incluye tanto un aparato de codificación como un aparato de decodificación, sino también (ii) un terminal de transmisión que incluye únicamente un aparato de codificación y (iii) un terminal de recepción que incluye únicamente un aparato de decodificación. Aunque el sistema ex200 de difusión digital recibe y transmite los datos multiplexados obtenidos mediante multiplexación de datos de audio en datos de video en la descripción, los datos multiplexados pueden ser datos obtenidos mediante multiplexación no de datos de audio sino de datos de carácter relacionados con video en datos de video, y pueden no ser datos multiplexados sino datos de video en sí.
Como tal, el procedimiento de codificación de instantáneas en movimiento y el procedimiento de decodificación de instantáneas en movimiento en cada una de las realizaciones puede usarse en cualquiera de los dispositivos y sistemas descritos. Por lo tanto, pueden obtenerse las ventajas descritas en cada una de las realizaciones.
Adicionalmente, la presente invención no se limita a realizaciones, y diversas modificaciones y revisiones son posibles sin alejarse del ámbito de la presente invención.
(Realización B)
Datos de video pueden generarse conmutando, según sea necesario, entre (i) el procedimiento de codificación de instantáneas en movimiento o el aparato de codificación de instantáneas en movimiento mostrados en cada una de las realizaciones y (ii) un procedimiento de codificación de instantáneas en movimiento o un aparato de codificación de instantáneas en movimiento de conformidad con una norma diferente, tales como MPEG-2, MPEG-4 AVC y VC-1.
En el presente documento, cuando se genera una pluralidad de datos de video que se ajustan a las diferentes normas y a continuación se codifica, los procedimientos de decodificación necesitan seleccionarse para ajustarse a las diferentes normas. Sin embargo, ya que no puede seleccionarse a qué norma se ajusta cada uno de la pluralidad de los datos de video a decodificar, existe un problema de que un procedimiento de decodificación apropiado no puede seleccionarse.
Para resolver el problema, datos multiplexados obtenidos mediante multiplexación de datos de audio y otros en datos de video tiene una estructura que incluye información de identificación que indica a qué norma se ajustan los datos de video. La estructura específica de los datos multiplexados que incluyen los datos de video generados en el procedimiento de codificación de instantáneas en movimiento y mediante el aparato de codificación de instantáneas en movimiento mostrado en cada una de las realizaciones se describirán en lo sucesivo. Los datos multiplexados son un flujo digital en el formato Flujo de Transporte MPEG-2.
La Figura 30 ilustra una estructura de los datos multiplexados. Como se ilustra en la Figura 30, los datos multiplexados pueden obtenerse mediante multiplexación de al menos uno de un flujo de video, un flujo de audio, un flujo de gráficos de presentación (PG) y un flujo de gráficos interactivo. El flujo de video representa video primario y video secundario de una película, el flujo de audio (IG) representa una parte de audio primaria y una parte de audio secundaria a mezclar con la parte de audio principal y el flujo de gráficos de presentación representa subtítulos de la película. En el presente documento, el video primario es video normal a visualizar en una pantalla y el video secundario es video a visualizar en una ventana más pequeña en el video primario. Adicionalmente, el flujo de gráficos interactivo representa una pantalla interactiva a generar disponiendo los componentes GUI en una pantalla. El flujo de video se codifica en el procedimiento de codificación de instantáneas en movimiento o mediante el aparato de codificación de instantáneas en movimiento mostrados en cada una de las realizaciones, o en un procedimiento de codificación de instantáneas en movimiento o mediante un aparato de codificación de instantáneas en movimiento de conformidad con una norma convencional, tales como MPEG-2, MPEG-4 AVC y VC-1. El flujo de audio se codifica de acuerdo con una norma, tales como Dolby-AC-3, Dolby Digital Plus, MLP, d Ts , DTS-HD y PCM lineal.
Cada flujo incluido en los datos multiplexados se identifica mediante PID. Por ejemplo, se asigna 0x1011 al flujo de video a usar para video de una película, se asignan 0x1100 a 0x111F a los flujos de audio, se asignan 0x1200 a 0x121F a los flujos de gráficos de presentación, se asignan 0x1400 a 0x141F a los flujos de gráficos interactivos, se asignan 0x1B00 a 0x1B1F a los flujos de video a usar para video secundario de la película y se asignan 0x1A00 a 0x1A1F a los flujos de audio a usar para el audio secundario a mezclar con el audio principal.
La Figura 31 ilustra esquemáticamente cómo se multiplexan datos. En primer lugar, un flujo ex235 de video compuesto de fotogramas de video y un flujo ex238 de audio compuesto de fotogramas de audio se transforman en un flujo de paquetes ex236 PES y un flujo de paquetes ex239 PES, y adicionalmente en paquetes ex237 TS y paquetes ex240 TS, respectivamente. De manera similar, datos de un flujo ex241 de gráficos de presentación y datos de un flujo ex244 de gráficos interactivo se transforman en un flujo de paquetes ex242 PES y un flujo de paquetes ex245 PES, y adicionalmente en paquetes TS ex243 y paquetes ex246 TS, respectivamente. Estos paquetes TS se multiplexan en un flujo para obtener datos ex247 multiplexados.
La Figura 32 ilustra cómo se almacena un flujo de video en el flujo de paquetes PES en más detalle. La primera barra en la Figura 32 muestra un flujo de fotograma de video en un flujo de video. La segunda barra muestra el flujo de paquetes PES. Como se indica mediante flechas representadas como yy1, yy2, yy3 e yy4 en la Figura 32, el flujo de video se divide en instantáneas como instantáneas I, instantáneas B e instantáneas P cada una de las cuales es una unidad de presentación de video, y las instantáneas se almacenan en una cabida útil de cada de los paquetes de PES. Cada uno de los paquetes de p Es tiene un encabezamiento de PES y el encabezamiento de PES almacena una Indicación de Tiempo de Presentación (PTS) que indica un tiempo de visualización de la instantánea, y una Indicación de Tiempo de Decodificación (DTS) que indica un tiempo de decodificación de la instantánea.
La Figura 33 ilustra un formato de paquetes TS a escribir finalmente en los datos multiplexados. Cada uno de los paquetes de TS es un paquete de longitud fija de 188 bytes que incluye un encabezamiento TS de 4 bytes que tiene información, tales como un PID de identificación de un flujo y una cabida útil TS de 184 bytes de almacenamiento de datos. Los paquetes de PES se dividen y almacenan en las cabidas útiles TS, respectivamente. Cuando se usa un BD ROM, se proporciona a cada uno de los paquetes de TS un TP_Extra_Header de 4 bytes, resultando por lo tanto en paquetes de fuente de 192 bytes. Los paquetes de fuente se escriben en los datos multiplexados. El TP_Extra_Header almacena información tales como una Arrival_Time_Stamp (ATS). La ATS muestra un tiempo de inicio de transferencia en el que cada uno de los paquetes de TS debe transferirse a un filtro PID. Los paquetes de fuente se disponen en los datos multiplexados como se muestra en la parte inferior de la Figura 33. Los números que aumentan desde el encabezamiento de los datos multiplexados se llaman números de paquetes de fuente (SPN).
Cada uno de los paquetes de TS incluidos en los datos multiplexados incluye no únicamente flujos de audio, video, subtítulos y otros, sino también una Tabla de Asociación de Programas (PAT), una Tabla de Correspondencia de Programas (PMT) y una Referencia de Reloj de Programa (PCR). La PAT muestra lo que indica un PID en una PMT usada en los datos multiplexados y un PID de la propia PAT se registra como cero. La PMT almacena PID de los flujos de video, audio, subtítulos y otros incluidos en los datos multiplexados, e información de atributos de los flujos que corresponde a los PID. La PMT también tiene diversos descriptores relacionados con los datos multiplexados. Los descriptores tienen información tal como información de control de copia que muestra si se permite o no la copia de los datos multiplexados. La PCR almacena información de tiempo de STC que corresponde a una ATS que muestra cuándo se transfiere el paquete de PCR a un decodificador, para lograr sincronización entre un Reloj de Tiempo de Llegada (ATC) que es un eje de tiempo de ATS y un Reloj de Tiempo de Sistema (STC) que es un eje de tiempo de PTS y DTS.
La Figura 34 ilustra la estructura de datos de la PMT en detalle. Un encabezamiento de PMT se dispone en la parte superior de la PMT. El encabezamiento de PMT describe la longitud de datos incluidos en la PMT y otros. Una pluralidad de descriptores relacionados con los datos multiplexados se dispone después del encabezamiento de PMT. Información tal como la información de control de copia se describe en los descriptores. Después de los descriptores, se dispone una pluralidad de piezas de la información de flujo relacionada con los flujos incluidos en los datos multiplexados. Cada pieza de la información de flujo incluye descriptores de flujo, describiendo cada uno información, tales como un tipo de flujo de identificación de un códec de compresión de un flujo, un flujo PID e información de atributo de flujo (tales como una tasa de fotogramas o una relación de aspecto). Los descriptores de flujo son iguales en número al número de flujos en los datos multiplexados.
Cuando los datos multiplexados se graban en un medio de grabación y otros, se graban junto con archivos de información de datos multiplexados.
Cada uno de los archivos de información de datos multiplexados es información de gestión de los datos multiplexados como se muestra en la Figura 35. Los archivos de información de datos multiplexados están en correspondencia uno a uno con los datos multiplexados y cada uno de los ficheros incluye información de datos multiplexados, información de atributo de flujo y un mapa de entrada.
Como se ilustra en la Figura 35, la información de datos multiplexados incluye una tasa de sistema, un tiempo de inicio de reproducción y un tiempo de finalización de reproducción. La tasa de sistema indica la tasa de transferencia máxima a la que un decodificador objetivo de sistema a describir posteriormente transfiere los datos multiplexados a un filtro de PID. Los intervalos de las ATS incluidas en los datos multiplexados se establecen para no superar una tasa de sistema. El tiempo de inicio de reproducción indica una PTS en un fotograma de video en el encabezamiento de los datos multiplexados. Un intervalo de un fotograma se añade a una PTS en un fotograma de video al final de los datos multiplexados y la PTS se establece al tiempo de finalización de reproducción.
Como se muestra en la Figura 36, una pieza de información de atributos se registra en la información de atributo de flujo, para cada PID de cada flujo incluido en los datos multiplexados. Cada pieza de información de atributos tiene diferente información dependiendo de si el flujo correspondiente es un flujo de video, un flujo de audio, un flujo de gráficos de presentación o un flujo de gráficos interactivo. Cada pieza de información de atributo de flujo de video transporta información que incluye qué clase de códec de compresión se usa para la compresión del flujo de video, y la resolución, relación de aspecto y tasa de fotogramas de las piezas de datos de instantánea que se incluye en el flujo de video. Cada pieza de información de atributo de flujo de audio transporta información que incluye qué clase de códec de compresión se usa para la compresión del flujo de audio, cuántos canales se incluyen en el flujo de audio, qué idioma soporta el flujo de audio y cuánto de alta es la frecuencia de muestreo. La información de video de atributo de flujo y la información de audio de atributo de flujo se usan para la inicialización de un decodificador antes de que el reproductor reproduzca la información.
En la presente realización, los datos multiplexados a usar son de un tipo de flujo incluido en la PMT. Adicionalmente, cuando los datos multiplexados se graban en un medio de grabación, se usa la información de video de atributo de flujo incluida en la información de datos multiplexados. Más específicamente, el procedimiento de codificación de instantáneas en movimiento o el aparato de codificación de instantáneas en movimiento descritos en cada una de las realizaciones incluye una etapa o una unidad de asignación de información única que indica datos de video generados por el procedimiento de codificación de instantáneas en movimiento o el aparato de codificación de instantáneas en movimiento en cada una de las realizaciones, al tipo de flujo incluido en la PMT o la información de video de atributo de flujo. Con la configuración, los datos de video generados mediante el procedimiento de codificación de instantáneas en movimiento o el aparato de codificación de instantáneas en movimiento descritos en cada una de las realizaciones pueden distinguirse de datos de video que se ajustan a otra norma.
Adicionalmente, la Figura 37 ilustra etapas del procedimiento de decodificación de instantáneas en movimiento de acuerdo con la presente realización. En la etapa exS100, el tipo de flujo incluido en la PMT o la información de video de atributo de flujo incluida en la información de datos multiplexados se obtiene de los datos multiplexados. A continuación, en la etapa exS101, se determina si el tipo de flujo o la información de video de atributo de flujo indica o no que los datos multiplexados se generan mediante el procedimiento de codificación de instantáneas en movimiento o el aparato de codificación de instantáneas en movimiento en cada una de las realizaciones. Cuando se determina que el tipo de flujo o la información de video de atributo de flujo indica que los datos multiplexados se generan mediante el procedimiento de codificación de instantáneas en movimiento o el aparato de codificación de instantáneas en movimiento en cada una de las realizaciones, en la etapa exS102, se realiza decodificación mediante el procedimiento de decodificación de instantáneas en movimiento en cada una de las realizaciones. Adicionalmente, cuando el tipo de flujo o la información de video de atributo de flujo indica conformidad con las normas convencionales, tales como MPEG-2, MPEG-4 AVC y VC-1, en la etapa exS103, se realiza decodificación mediante un procedimiento de decodificación de instantáneas en movimiento de conformidad con las normas convencionales.
Como tal, asignar un valor único nuevo al tipo de flujo o la información de video de atributo de flujo habilita determinación de si el procedimiento de decodificación de instantáneas en movimiento o el aparato de decodificación de instantáneas en movimiento que se describe en cada una de las realizaciones puede realizar o no decodificación. Incluso cuando se introducen datos multiplexados que se ajustan a una norma diferente, puede seleccionarse un procedimiento de decodificación apropiado o aparato. Por lo tanto, es posible decodificar información sin ningún error. Adicionalmente, en los dispositivos y sistemas descritos anteriormente puede usarse el procedimiento de codificación de instantáneas en movimiento o aparato, o el procedimiento de decodificación de instantáneas en movimiento o aparato en la presente realización.
(Realización C)
Cada del procedimiento de codificación de instantáneas en movimiento, el aparato de codificación de instantáneas en movimiento, el procedimiento de decodificación de instantáneas en movimiento y el aparato de decodificación de instantáneas en movimiento en cada una de las realizaciones se logra habitualmente en forma de un circuito integrado o un circuito Integrado a Gran Escala (LSI). Como un ejemplo del LSI, la Figura 38 ilustra una configuración del LSI ex500 que se hace en un chip. El LSI ex500 incluye elementos ex501, ex502, ex503, ex504, ex505, ex506, ex507, ex508 y ex509 a describir a continuación y los elementos se conectan entre sí a través de un bus ex510. La unidad ex505 de circuito de fuente de alimentación se activa suministrando cada uno de los elementos con potencia cuando la unidad ex505 de circuito de fuente de alimentación se enciende.
Por ejemplo, cuando se realiza codificación, el LSI ex500 recibe una señal AV desde un micrófono sex117, una cámara sex113 y otros a través de un IO ex509 AV bajo control de una unidad ex501 de control que incluye una CPU ex502, un controlador ex503 de memoria, un controlador ex504 de flujo ex504 y una unidad ex512 de control de frecuencia de accionamiento. La señal AV recibida se almacena temporalmente en una memoria ex511 externa, tales como una SDRAM. Bajo el control de la unidad ex501 de control, los datos almacenados se segmentan en porciones de datos de acuerdo con la cantidad de procesamiento y velocidad a transmitir a una unidad ex507 de procesamiento de señal. A continuación, la unidad ex507 de procesamiento de señal codifica una señal de audio y/o una señal de video. En el presente documento, la codificación de la señal de video es la codificación descrita en cada una de las realizaciones. Adicionalmente, la unidad ex507 de procesamiento de señal en ocasiones multiplexa los datos de audio codificados y los datos de video codificados, y un IO ex506 de flujo proporciona los datos multiplexados fuera. Los datos multiplexados proporcionados se transmiten a la estación ex107 base o escriben en el medio ex215 de grabación. Cuando se multiplexan conjuntos de datos, los datos deberían almacenarse temporalmente en la memoria ex508 intermedia de modo que los conjuntos de datos se sincronizan entre sí.
Aunque la memoria ex511 es un elemento fuera del LSI ex500, puede incluirse en el LSI ex500. La memoria ex508 intermedia no se limita a una memoria intermedia, sino que puede componerse de memorias intermedias. Adicionalmente, el LSI ex500 puede fabricarse en un chip o una pluralidad de chips.
Adicionalmente, aunque la unidad ex501 de control incluye la CPU ex502, el controlador ex503 de memoria, el controlador ex504 de flujo ex504, la unidad ex512 de control de frecuencia de accionamiento, la configuración de la unidad ex501 de control no se limita a tal. Por ejemplo, la unidad ex507 de procesamiento de señal puede incluir adicionalmente una CPU. La inclusión de otra CPU en la unidad ex507 de procesamiento de señal puede mejorar la velocidad de procesamiento. Adicionalmente, como otro ejemplo, la CPU ex502 puede servir como o ser una parte de la unidad ex507 de procesamiento de señal y, por ejemplo, puede incluir una unidad de procesamiento de señal de audio. En un caso de este tipo, la unidad ex501 de control incluye la unidad ex507 de procesamiento de señal o la CPU ex502 que incluye una parte de la unidad ex507 de procesamiento de señal.
El nombre usado en este punto es LSI, pero también puede llamarse IC, sistema LSI, súper LSI o ultra LSI dependiendo del grado de integración.
Además, maneras para lograr la integración son se limitan al LSI, un circuito especial o un procesador de fin general y así sucesivamente también pueden lograr la integración. Campo de Matriz de Puertas Programables (FPGA) que puede programarse después de la fabricación de LSI o puede usarse un procesador reconfigurable que permite la reconfiguración de la conexión o configuración de un LSI para el mismo fin.
En el futuro, con los avances en la tecnología de semiconductores, una nueva tecnología puede sustituir a LSI. Los bloques funcionales pueden integrarse usando una tecnología de este tipo. La posibilidad es que la presente invención se aplique a biotecnología.
(Realización D)
Cuando se decodifican datos de video generados en el procedimiento de codificación de instantáneas en movimiento o mediante el aparato de codificación de instantáneas en movimiento descritos en cada una de las realizaciones, en comparación con cuando se decodifican datos de video que se ajustan a una norma convencional, tales como MPEG2, MPEG-4 AVC y VC-1, la cantidad de procesamiento probablemente aumenta. Por lo tanto, el LSI ex500 necesita establecerse a una frecuencia de accionamiento mayor que la de la CPU ex502 a usar cuando datos de video de conformidad con la norma convencional se decodifica. Sin embargo, cuando la frecuencia de accionamiento se establece más alta, existe un problema de que el consumo de potencia aumenta.
Para resolver el problema, el aparato de decodificación de instantáneas en movimiento, tales como la televisión ex300 y el LSI ex500, se configura para determinar a qué norma se ajustan los datos de video y conmutar entre las frecuencias de accionamiento de acuerdo con la norma determinada. La Figura 39 ilustra una configuración ex800 en la presente realización. Una unidad ex803 de conmutación de frecuencia de accionamiento establece una frecuencia de accionamiento a una frecuencia de accionamiento superior cuando datos de video se genera mediante el procedimiento de codificación de instantáneas en movimiento o el aparato de codificación de instantáneas en movimiento descritos en cada una de las realizaciones. A continuación, la unidad ex803 de conmutación de frecuencia de accionamiento ordena a una unidad ex801 de procesamiento de decodificación que ejecute el procedimiento de decodificación de instantáneas en movimiento descrito en cada una de las realizaciones para decodificar los datos de video. Cuando los datos de video se ajustan a la norma convencional, la unidad ex803 de conmutación de frecuencia de accionamiento establece una frecuencia de accionamiento a una frecuencia de accionamiento menor que la de los datos de video generados mediante el procedimiento de codificación de instantáneas en movimiento o el aparato de codificación de instantáneas en movimiento descritos en cada una de las realizaciones. A continuación, la unidad ex803 de conmutación de frecuencia de accionamiento ordena a la unidad ex802 de procesamiento de decodificación que se ajusta a la norma convencional para decodificar los datos de video.
Más específicamente, la unidad ex803 de conmutación de frecuencia de accionamiento incluye la CPU ex502 y la unidad ex512 de control de frecuencia de accionamiento en la Figura 38. En el presente documento, cada una de la unidad ex801 de procesamiento de decodificación que ejecuta el procedimiento de decodificación de instantáneas en movimiento descrito en cada una de las realizaciones y la unidad ex802 de procesamiento de decodificación que se ajusta a la norma convencional corresponde a la unidad ex507 de procesamiento de señal en la Figura 38. La CPU ex502 determina a qué norma se ajustan los datos de video. A continuación, la unidad ex512 de control de frecuencia de accionamiento determina una frecuencia de accionamiento a base de una señal desde la CPU ex502. Adicionalmente, la unidad ex507 de procesamiento de señal decodifica los datos de video a base de la señal desde la CPU ex502. Por ejemplo, la información de identificación descrita en la realización B se usa probablemente de identificación de los datos de video. La información de identificación no se limita a la descrita en la realización B, sino que puede ser cualquier información siempre que la información indica a qué norma se ajustan los datos de video. Por ejemplo, cuando puede determinarse a qué norma se ajustan los datos de video a base de una señal externa de determinación que los datos de video se usan para una televisión o un disco, etc., la consideración puede hacerse a base de una señal externa de este tipo. Adicionalmente, la CPU ex502 selecciona una frecuencia de accionamiento a base de, por ejemplo, una tabla de correspondencia en la que las normas de los datos de video se asocian con las frecuencias de accionamiento como se muestra en la Figura 41. La frecuencia de accionamiento puede seleccionarse almacenando la tabla de consulta en la memoria ex508 intermedia y en una memoria interna de un LSI, y con referencia a la tabla de consulta mediante la CPU ex502.
La Figura 40 ilustra etapas de ejecución de un procedimiento en la presente realización. En primer lugar, en la etapa exS200, la unidad ex507 de procesamiento de señal obtiene información de identificación a partir de los datos multiplexados. A continuación, en la etapa exS201, la CPU ex502 determina si los datos de video se generan o no mediante el procedimiento de codificación y el aparato de codificación descritos en cada una de las realizaciones, a base de la información de identificación. Cuando los datos de video se generan mediante el procedimiento de codificación de instantáneas en movimiento y el aparato de codificación de instantáneas en movimiento descritos en cada una de las realizaciones, en la etapa exS202, la CPU ex502 transmite una señal de establecimiento de la frecuencia de accionamiento a una frecuencia de accionamiento superior a la unidad ex512 de control de frecuencia de accionamiento. A continuación, la unidad ex512 de control de frecuencia de accionamiento establece la frecuencia de accionamiento a la frecuencia de accionamiento más alta. Por otra parte, cuando la información de identificación indica que los datos de video se ajustan a la norma convencional, tales como MPEG-2, MPEG-4 AVC y VC-1, en la etapa exS203, la CPU ex502 transmite una señal de establecimiento de la frecuencia de accionamiento a una frecuencia de accionamiento menor a la unidad ex512 de control de frecuencia de accionamiento. A continuación, la unidad ex512 de control de frecuencia de accionamiento establece la frecuencia de accionamiento a la frecuencia de accionamiento más baja que la de en el caso en el que los datos de video se generan mediante el procedimiento de codificación de instantáneas en movimiento y el aparato de codificación de instantáneas en movimiento descritos en cada de realización.
Adicionalmente, junto con la conmutación de las frecuencias de accionamiento, el efecto de conservación de potencia puede mejorarse cambiando la tensión a aplicar al LSI ex500 o un aparato que incluye el LSI ex500. Por ejemplo, cuando la frecuencia de accionamiento se establece más baja, la tensión a aplicar al LSI ex500 o el aparato que incluye el LSI ex500 probablemente se establece a una tensión más baja que la de en el caso en el que la frecuencia de accionamiento se establece más alta.
Adicionalmente, cuando la cantidad de procesamiento de decodificación de es mayor, la frecuencia de accionamiento puede establecerse más alta y cuando la cantidad de procesamiento de decodificación de es inferior, la frecuencia de accionamiento puede establecerse más baja como el procedimiento de establecimiento de la frecuencia de accionamiento. Por lo tanto, el procedimiento de establecimiento no se limita a los descritos anteriormente. Por ejemplo, cuando la cantidad de procesamiento de decodificación de datos de video de conformidad con MPEG-4 AVC es mayor que la cantidad de procesamiento de decodificación de datos de video generados mediante el procedimiento de codificación de instantáneas en movimiento y el aparato de codificación de instantáneas en movimiento descritos en cada una de las realizaciones, la frecuencia de accionamiento se establece probablemente en orden inverso al establecimiento descrito anteriormente.
Adicionalmente, el procedimiento de establecimiento de la frecuencia de accionamiento no se limita al procedimiento de establecimiento de la frecuencia de accionamiento inferior. Por ejemplo, cuando la información de identificación indica que los datos de video se generan mediante el procedimiento de codificación de instantáneas en movimiento y el aparato de codificación de instantáneas en movimiento descritos en cada una de las realizaciones, la tensión a aplicar al LSI ex500 o el aparato que incluye el LSI ex500 se establece probablemente más alta. Cuando la información de identificación indica que los datos de video se ajustan a la norma convencional, tales como MPEG-2, MPEG-4 AVC y VC-1, la tensión a aplicar al LSI ex500 o el aparato que incluye el LSI ex500 se establece probablemente más baja. Como otro ejemplo, cuando la información de identificación indica que los datos de video se generan mediante el procedimiento de codificación de instantáneas en movimiento y el aparato de codificación de instantáneas en movimiento descritos en cada una de las realizaciones, el accionamiento de la CPU ex502 probablemente no tiene que suspenderse. Cuando la información de identificación indica que los datos de video se ajustan a la norma convencional, tales como MPEG-2, MPEG-4 AVC y VC-1, el accionamiento de la CPU ex502 probablemente se suspende en un momento dado porque la CPU ex502 tiene capacidad de procesamiento adicional. Incluso cuando la información de identificación indica que los datos de video se generan mediante el procedimiento de codificación de instantáneas en movimiento y el aparato de codificación de instantáneas en movimiento descritos en cada una de las realizaciones, en el caso en el que la CPU ex502 tiene capacidad de procesamiento adicional, el accionamiento de la CPU ex502 probablemente se suspende en un momento dado. En un caso de este tipo, el tiempo de suspensión probablemente se establece más corto que el de en el caso en el que cuando la información de identificación indica que los datos de video se ajustan a la norma convencional, tales como MPEG-2, MPEG-4 AVC y VC-1.
Por consiguiente, el efecto de conservación de potencia puede mejorarse conmutando entre las frecuencias de accionamiento de acuerdo con la norma a la que se ajustan los datos de video. Adicionalmente, cuando el LSI ex500 o el aparato que incluye el LSI ex500 se acciona usando una batería, la duración de la batería puede extenderse con el efecto de conservación de potencia.
(Realización E)
Existen casos en los que una pluralidad de datos de video que se ajustan a normas diferentes, se proporciona a los dispositivos y sistemas, tales como una televisión y un teléfono celular. Para habilitar la codificación la pluralidad de datos de video que se ajustan a las diferentes normas, la unidad ex507 de procesamiento de señal del LSI ex500 necesita ajustarse a las diferentes normas. Sin embargo, los problemas de aumento en la escala del circuito del LSI ex500 y aumento en el coste surgen con el uso individual de las unidades ex507 de procesamiento de señal que se ajustan a las respectivas normas.
Para resolver el problema, lo que se concibe es una configuración en la que se comparten parcialmente la unidad de procesamiento de decodificación de implementación del procedimiento de decodificación de instantáneas en movimiento descrito en cada una de las realizaciones y la unidad de procesamiento de decodificación que se ajusta a la norma convencional, tales como MPEG-2, MPEG-4 AVC y VC-1. Ex900 en la Figura 42A muestra un ejemplo de la configuración. Por ejemplo, el procedimiento de decodificación de instantáneas en movimiento descrito en cada una de las realizaciones y el procedimiento de decodificación de instantáneas en movimiento que se ajusta a MPEG-4 AVC tienen, parcialmente en común, los detalles de procesamiento, tales como codificación por entropía, cuantificación inversa, filtrado de desbloqueo y predicción de movimiento compensado. Los detalles de procesamiento a compartir probablemente incluyen el uso de una unidad ex902 de procesamiento de decodificación que se ajusta a MPEG-4 AVC. En contraste, una unidad ex901 de procesamiento de decodificación especializada se usa probablemente para otro procesamiento único a un aspecto de la presente invención. Ya que el aspecto de la presente invención se caracteriza por cuantificación inversa en particular, por ejemplo, la unidad de procesamiento de decodificación especializada ex901 se usa para cuantificación inversa. De lo contrario, la unidad de procesamiento de decodificación probablemente se comparte para uno de la decodificación por entropía, filtrado de desbloqueo y compensación de movimiento, o todo el procesamiento. La unidad de procesamiento de decodificación de implementación del procedimiento de decodificación de instantáneas en movimiento descrito en cada una de las realizaciones puede compartirse para el procesamiento a compartir y puede usarse una unidad de procesamiento de decodificación especializada para procesamiento único al de MPEG-4 AVC.
Adicionalmente, ex1000 en la Figura 42B muestra otro ejemplo en el que procesamiento se comparte parcialmente. Este ejemplo usa una configuración que incluye una unidad de procesamiento de decodificación especializada ex1001 que soporta el procesamiento único a un aspecto de la presente invención, una unidad ex1002 de procesamiento de decodificación especializada que soporta el procesamiento único a otra norma convencional y una unidad ex1003 de procesamiento de decodificación que soporta procesamiento a compartir entre el procedimiento de decodificación de instantáneas en movimiento de acuerdo con el aspecto de la presente invención y el procedimiento de decodificación de instantáneas en movimiento convencional. En el presente documento, las unidades ex1001 y ex1002 de procesamiento de decodificación especializadas no necesariamente se especializan para el procesamiento de acuerdo con el aspecto de la presente invención y el procesamiento de la norma convencional, respectivamente, y pueden ser las capaces de implementar procesamiento general. Adicionalmente, la configuración de la presente realización puede implementarse mediante el LSI ex500.
Como tal, la reducción de la escala del circuito de un LSI y la reducción del coste son posibles compartiendo la unidad de procesamiento de decodificación para el procesamiento a compartir entre el procedimiento de decodificación de instantáneas en movimiento de acuerdo con el aspecto de la presente invención y el procedimiento de decodificación de instantáneas en movimiento en conformidad con la norma convencional.
A continuación, se resumen algunos otros aspectos y las realizaciones preferentes de la invención.
De acuerdo con un primer aspecto de la presente invención, se proporciona un procedimiento para filtrado de desbloqueo de bloques de imágenes de píxeles. El procedimiento comprende las etapas de dividir cada uno de un primer y un segundo bloque que están separados por el primer límite en al menos dos segmentos a lo largo de una línea perpendicular al primer límite, y juzgar si se debe aplicar o no un filtro de desbloqueo a los píxeles adyacentes al primer límite del primer y segundo bloque. El juicio se realiza individualmente para un par de segmentos adyacentes en ambos lados del primer límite utilizando píxeles de muestra en el par de segmentos adyacentes, de tal manera que no se utilizan píxeles pertenecientes a otros segmentos en el juicio. La división de los bloques en segmentos se realiza de tal manera que un segmento de un bloque incluye todos los píxeles del bloque necesarios para juzgar si se debe aplicar o no un filtro de desbloqueo y/o una selección del filtro de desbloqueo para desbloquear píxeles adyacentes a un segundo límite entre dicho bloque y un tercer bloque, en el que el segundo límite es perpendicular al primer límite.
Preferentemente, dicha etapa de juicio se basa en la cantidad de cuantización del primer bloque y la cantidad de cuantización del segundo bloque.
Preferentemente, el procedimiento de acuerdo con el primer aspecto comprende además una etapa de selección de una pluralidad de filtros de desbloqueo un filtro de desbloqueo que se aplicará a los píxeles de todas las líneas de dicho par de segmentos adyacentes, siendo las líneas perpendiculares al primer límite, en caso de que el juicio individual sea positivo para dicho par de segmentos.
Más preferentemente, la etapa de selección incluye las etapas de decidir individualmente un filtro de desbloqueo que se seleccionará para cada uno de los números N de dichas líneas, en el que N es al menos uno y N es menor que el número total de líneas en el par de segmentos y seleccionar el filtro de desbloqueo único para todas las líneas del par de segmentos de acuerdo con una regla predeterminada basada en los resultados de dichas decisiones individuales.
Aún más preferentemente, N es igual a dos y la regla predeterminada define seleccionar un filtro fuerte para todas las líneas del par de segmentos si se decide un filtro fuerte en dichas decisiones individuales para ambas líneas para las que se realiza la decisión individual, y define para seleccionar un filtro débil para todas las líneas del par de segmentos de lo contrario.
Preferentemente, el procedimiento de acuerdo con el primer aspecto comprende además una etapa de selección de una pluralidad de filtros de desbloqueo un filtro de desbloqueo que se aplicará a los píxeles de todas las líneas de dicho par de segmentos adyacentes, siendo las líneas perpendiculares al primer límite, o decidir que no se aplica ningún filtro de desbloqueo, en caso de que el juicio individual sea positivo para dicho par de segmentos.
Más preferentemente, la etapa de selección o decisión incluye las etapas de decidir individualmente un filtro de desbloqueo a seleccionar o decidir que no se aplicará ningún filtro de desbloqueo para cada uno de un número N de dichas líneas, en el que N es al menos uno y N es menor que el número total de líneas en el par de segmentos y seleccionar el filtro de desbloqueo único o decidir qué filtro único de desbloqueo se aplica para todas las líneas del par de segmentos de acuerdo con una regla predeterminada basada en los resultados de dichas decisiones individuales.
Aún más preferentemente, la regla predeterminada define que no se aplica ningún filtro de desbloqueo si al menos la decisión individual de una línea tiene el resultado de no aplicar un filtro de desbloqueo, y la regla predeterminada define seleccionar el filtro de desbloqueo que requiere la menor complejidad del esfuerzo de procesamiento de filtros de desbloqueo plurales diferentes resultantes de las etapas de decisión individuales de lo contrario.
De acuerdo con las realizaciones preferentes, la etapa de juzgar se basa en muestras de píxeles de las mismas N líneas, sobre el que se basa dicha etapa de selección y/o decisión.
Preferentemente, dichos dos segmentos son del mismo tamaño.
Más preferentemente, dichos dos segmentos son cada uno del tamaño de cuatro líneas.
De acuerdo con las realizaciones preferentes, los dos segmentos son cada uno del tamaño de cuatro líneas y N es igual a dos.
De acuerdo con un aspecto adicional de la presente invención, se proporciona un procedimiento para codificar un bloque actual de una imagen, incluida una pluralidad de píxeles. El procedimiento comprende las etapas para comprimir y reconstruir el bloque actual y aplicar todas las etapas de un procedimiento de acuerdo con el primer aspecto del bloque reconstruido.
De acuerdo con otro aspecto adicional de la presente invención, se proporciona un procedimiento de decodificación de un bloque actual codificado de una imagen, incluida una pluralidad de píxeles. El procedimiento comprende las etapas para reconstruir el bloque actual codificado y aplicar todas las etapas de un procedimiento de acuerdo con el primer aspecto del bloque reconstruido.
De acuerdo con otro aspecto de la invención, se proporciona un producto de programa informático que comprende un medio legible por ordenador que tiene un código de programa legible por ordenador incorporado en el mismo. El código de programa está adaptado para llevar a cabo un procedimiento de acuerdo con lo antes identificado primero, más y aún más aspectos.
De acuerdo con un segundo aspecto de la presente invención, se proporciona un aparato para filtrado de desbloqueo de bloques de imágenes de píxeles. El aparato comprende una unidad de segmentación para dividir cada uno de un primer y un segundo bloque que están separados por el primer límite en al menos dos segmentos a lo largo de una línea perpendicular al primer límite. El aparato comprende además una unidad de juicio para juzgar si se debe aplicar o no un filtro de desbloqueo a los píxeles adyacentes al primer límite del primer y segundo bloque. La unidad de juicio realiza el juicio individualmente para un par de segmentos adyacentes en ambos lados del primer límite utilizando píxeles de muestra en el par de segmentos adyacentes, de una tal manera que no se utilizan píxeles pertenecientes a otros segmentos en el juicio. La unidad de segmentación realiza la división de los bloques en segmentos de modo que un segmento de un bloque incluye todos los píxeles del bloque necesarios para juzgar si se debe aplicar o no un filtro de desbloqueo y/o una selección del filtro de desbloqueo para desbloquear píxeles adyacentes a un segundo límite entre el bloque y un tercer bloque, en el que el segundo límite es perpendicular al primer límite.
Preferentemente, en el aparato de acuerdo con el segundo aspecto, dicho juicio se basa en la cantidad de cuantización del primer bloque y la cantidad de cuantización del segundo bloque.
Preferentemente, el aparato comprende además una unidad de selección para seleccionar de una pluralidad de filtros de desbloqueo un filtro de desbloqueo que se aplicará a los píxeles de todas las líneas de dicho par de segmentos adyacentes, siendo las líneas perpendiculares al primer límite, en caso de que el juicio individual de la unidad de juicio sea positivo para dicho par de segmentos y una unidad de filtrado para aplicar el filtro de desbloqueo seleccionado.
Más preferentemente, la unidad de selección incluye una sección para decidir individualmente un filtro de desbloqueo que se seleccionará para cada uno de los números N de dichas líneas, en el que N es al menos uno y N es menor que el número total de líneas en el par de segmentos y la selección del filtro de desbloqueo único para todas las líneas del par de segmentos se realiza de acuerdo con una regla predeterminada basada en los resultados de las decisiones individuales.
Preferentemente, el aparato de acuerdo con el segundo aspecto comprende además una unidad de decisión de filtro para tanto seleccionar de una pluralidad de filtros de desbloqueo un filtro de desbloqueo que se aplicará a los píxeles de todas las líneas de dicho par de segmentos adyacentes, siendo las líneas perpendiculares al primer límite, o decidir que no se aplica ningún filtro de desbloqueo, en caso de que el juicio individual por la unidad de juicio sea positivo para dicho par de segmentos, y una unidad de filtrado para aplicar el filtro de desbloqueo seleccionado.
Más preferentemente, la unidad de decisión del filtro decide individualmente que se seleccionará un filtro de desbloqueo o decide que no se aplicará ningún filtro de desbloqueo para cada una de las N de dichas líneas, en el que N es al menos uno y N es menor que el número total de líneas en el par de segmentos y selecciona el filtro de desbloqueo único o decide que filtro único de desbloqueo se aplica para todas las líneas del par de segmentos de acuerdo con una regla predeterminada basada en los resultados de las decisiones individuales.
Aún más preferentemente, N es igual a dos y la regla predeterminada define seleccionar un filtro fuerte para todas las líneas del par de segmentos si la unidad de decisión de filtro decide un filtro fuerte en dichas decisiones individuales para ambas líneas para las que se realiza la decisión individual, y define para seleccionar un filtro débil para todas las líneas del par de segmentos de lo contrario.
También preferentemente, la regla predeterminada define que no se aplica ningún filtro de desbloqueo si al menos la decisión individual de una línea tiene el resultado de no aplicar un filtro de desbloqueo, y la regla predeterminada define seleccionar el filtro de desbloqueo que requiere la menor complejidad del esfuerzo de procesamiento de filtros de desbloqueo plurales diferentes resultantes de las etapas de decisión individuales de lo contrario.
También preferentemente, el juicio por la unidad de juicio se basa en muestras de píxeles de las mismas N líneas, sobre el que se basa la decisión de la sección decisión.
De acuerdo con las realizaciones preferentes, el juicio por la unidad de juicio se basa en muestras de píxeles de las mismas N líneas, sobre el que se basa dicha decisión por la unidad de decisión de filtro.
Preferentemente, en el aparato de acuerdo con el segundo aspecto, los dos segmentos son del mismo tamaño.
Más preferentemente, los dos segmentos son cada uno del tamaño de cuatro líneas.
De acuerdo con las realizaciones preferentes, los dos segmentos son cada uno del tamaño de cuatro líneas y N es igual a dos.
De acuerdo con otro aspecto adicional de la presente invención, se proporciona un aparato para codificar un bloque actual de una imagen, incluida una pluralidad de píxeles. El aparato comprende un codificador con un decodificador para comprimir y reconstruir el bloque actual y el aparato de acuerdo con el segundo aspecto para el filtrado de desbloqueo del bloque reconstruido.
De acuerdo con aún un aspecto adicional de la presente invención, un aparato de decodificación de un bloque actual codificado de una imagen, incluida una pluralidad de píxeles, comprendiendo el aparato el aparato un decodificador para reconstruir el bloque actual codificado y el aparato de acuerdo con el segundo aspecto para el filtrado de desbloqueo del bloque reconstruido.
De acuerdo con otro aspecto de la invención, se proporciona un circuito integrado para la incorporación de un aparato de acuerdo con el segundo o los aspectos anteriores aún más. El circuito integrado comprende además una memoria para almacenar los píxeles a filtrar.
En resumen, la presente invención se refiere al filtrado de desbloqueo, que puede aplicarse ventajosamente para la codificación y decodificación en bloque de imágenes o señales de vídeo. En particular, la presente invención se refiere a una mejor gestión de la memoria en una decisión automatizada sobre si aplicar u omitir el filtrado de desbloqueo para un bloque y la selección del filtro de desbloqueo. La decisión se realiza basándose en una segmentación de bloques de tal manera que se optimiza el uso de memoria. Preferentemente, se mejora la selección de filtros de desbloqueo adecuados para reducir los gastos computacionales.

Claims (2)

REIVINDICACIONES
1. Un dispositivo de decodificación de bloques de decodificación de una trama, que comprende:
un procesador (ex501); y
una memoria (ex511) acoplada al procesador (ex501);
en el que el procesador (ex501) está adaptado para realizar los siguientes procesos:
dividir cada uno de un primer bloque y un segundo bloque que están separados por un primer límite (1810) en dos segmentos a lo largo de una línea (1700) que es perpendicular a dicho primer límite (1810), estando el primer bloque y el segundo bloque incluidos en la trama; y
juzgar si se debe aplicar o no un filtro de desbloqueo (250) a los píxeles adyacentes al primer límite (1810) del primer y segundo bloque, en el que el juicio se realiza para cada par de segmentos adyacentes a ambos lados del primer límite (1810) utilizando píxeles de muestra (17601; 17602) en el par de segmentos adyacentes sin utilizar píxeles pertenecientes a otros segmentos, y
si se juzga afirmativamente, seleccionar un filtro de desbloqueo que se aplicará a los píxeles de todas las líneas de los dos segmentos perpendiculares y adyacentes al primer límite (1810) utilizando solo píxeles de las líneas, incluidos los píxeles utilizados para juzgar si se debe aplicar o no el filtro de desbloqueo a los píxeles adyacentes al primer límite (1810); en el que
el procedimiento de selección de los procesos de
individualmente un filtro de desbloqueo que se seleccionará para cada uno de los números N de dichas líneas, en el que N es al menos uno y N es menor que el número total de líneas en los dos segmentos; seleccionar el filtro de desbloqueo único para todas las líneas de los dos de segmentos de acuerdo con una regla predeterminada basada en los resultados de dichas decisiones individuales; y
la división del primer bloque y el segundo bloque en segmentos se realiza de tal manera que un segmento de uno de los primeros bloques y el segundo bloque incluye todos los píxeles de dicho uno del primer bloque y el segundo bloque necesario para:
(i) juzgar si se aplica o no un filtro de desbloqueo (250) y
(ii) seleccionar un filtro de desbloqueo (250)
para desbloquear píxeles adyacentes a un segundo límite (1820), estando el segundo límite (1820) entre un tercer bloque y dicho uno del primer bloque y el segundo bloque,
el tercer bloque es adyacente a dicho uno del primer bloque y el segundo bloque,
el tercer bloque es diferente del uno del primer bloque y el segundo bloque, y
el segundo límite (1820) es perpendicular al primer límite (1810).
2. Un procedimiento de decodificación para decodificar bloques de una trama, que comprende las etapas de:
dividir cada uno de un primer bloque y un segundo bloque que están separados por un primer límite (1810) en dos segmentos a lo largo de una línea (1700) que es perpendicular a dicho primer límite (1810), estando el primer bloque y el segundo bloque incluidos en la trama;
juzgar si se debe aplicar o no un filtro de desbloqueo (250) a los píxeles adyacentes al primer límite (1810) del primer y segundo bloque, en el que el juicio se realiza para cada par de segmentos adyacentes a ambos lados del primer límite (1810) utilizando píxeles de muestra (17601; 17602) en el par de segmentos adyacentes sin utilizar píxeles pertenecientes a otros segmentos, y
si se juzga afirmativamente, seleccionar un filtro de desbloqueo que se aplicará a los píxeles de todas las líneas de los dos segmentos perpendiculares y adyacentes al primer límite (1810) utilizando solo píxeles de las líneas, incluidos los píxeles utilizados para juzgar si se debe aplicar o no el filtro de desbloqueo a los píxeles adyacentes al primer límite (1810); en el que
la etapa de seleccionar, que incluye las etapas de
individualmente un filtro de desbloqueo que se seleccionará para cada uno de los números N de dichas líneas, en el que N es al menos uno y N es menor que el número total de líneas en los dos segmentos;
seleccionar el filtro de desbloqueo único para todas las líneas de los dos de segmentos de acuerdo con una regla predeterminada basada en los resultados de dichas decisiones individuales; y
la división del primer bloque y el segundo bloque en segmentos se realiza de tal manera que un segmento de uno de los primeros bloques y el segundo bloque incluye todos los píxeles de dicho uno del primer bloque y el segundo bloque necesario para:
(i) juzgar si se aplica o no un filtro de desbloqueo (250) y
(ii) seleccionar un filtro de desbloqueo (250)
para desbloquear píxeles adyacentes a un segundo límite (1820), estando el segundo límite (1820) entre un tercer bloque y dicho uno del primer bloque y el segundo bloque,
el tercer bloque es adyacente a dicho uno del primer bloque y el segundo bloque,
el tercer bloque es diferente del uno del primer bloque y el segundo bloque, y
el segundo límite (1820) es perpendicular al primer límite (1810).
ES17203141T 2011-09-09 2012-09-06 Decisiones de filtro de desbloqueo de baja complejidad Active ES2835801T3 (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US201161532793P 2011-09-09 2011-09-09

Publications (1)

Publication Number Publication Date
ES2835801T3 true ES2835801T3 (es) 2021-06-23

Family

ID=47008496

Family Applications (2)

Application Number Title Priority Date Filing Date
ES12769971.8T Active ES2664721T3 (es) 2011-09-09 2012-09-06 Decisiones de filtro de desbloqueo de baja complejidad
ES17203141T Active ES2835801T3 (es) 2011-09-09 2012-09-06 Decisiones de filtro de desbloqueo de baja complejidad

Family Applications Before (1)

Application Number Title Priority Date Filing Date
ES12769971.8T Active ES2664721T3 (es) 2011-09-09 2012-09-06 Decisiones de filtro de desbloqueo de baja complejidad

Country Status (13)

Country Link
US (9) US9143778B2 (es)
EP (2) EP2754295B1 (es)
JP (5) JP2014526818A (es)
KR (2) KR102039544B1 (es)
CN (3) CN103765889B (es)
BR (1) BR112014004920B8 (es)
CA (1) CA2841246C (es)
ES (2) ES2664721T3 (es)
MX (1) MX2014002529A (es)
MY (1) MY167341A (es)
PL (2) PL3306921T3 (es)
TW (1) TWI514852B (es)
WO (1) WO2013034649A1 (es)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5884313B2 (ja) 2011-01-18 2016-03-15 ソニー株式会社 画像処理装置、画像処理方法、プログラム及び記録媒体
JP6037064B2 (ja) * 2011-01-18 2016-11-30 ソニー株式会社 画像処理装置、画像処理方法、プログラム及び記録媒体
KR102039544B1 (ko) 2011-09-09 2019-11-01 선 페이턴트 트러스트 저복잡도 디블로킹 필터 결정
CN103947208B (zh) * 2011-09-13 2017-07-07 寰发股份有限公司 减少解块滤波器的方法及装置
CN104284199B (zh) * 2013-07-11 2019-02-01 Nxp股份有限公司 用降低复杂度的去块效应操作进行视频解码方法和装置
CN105745931B (zh) * 2013-11-24 2019-06-25 Lg电子株式会社 使用自适应采样编码和解码视频信号的方法和装置
US9838712B2 (en) 2014-03-17 2017-12-05 Hfi Innovation Inc. Method of signaling for depth-based block partitioning
CN104935940B (zh) * 2014-03-17 2018-02-16 寰发股份有限公司 基于深度的块分割的信号传递方法
WO2015165030A1 (en) 2014-04-29 2015-11-05 Microsoft Technology Licensing, Llc Encoder-side decisions for sample adaptive offset filtering
KR102294016B1 (ko) * 2014-12-05 2021-08-25 성균관대학교산학협력단 변환생략을 참조하는 디블록킹 필터링을 이용한 영상의 부호화/복호화 방법 및 이를 이용하는 장치
JP6396782B2 (ja) * 2014-12-11 2018-09-26 日本電信電話株式会社 デブロッキング処理方法、デブロッキング処理装置、コンピュータプログラム及び記録媒体
KR102437742B1 (ko) * 2016-08-21 2022-08-29 엘지전자 주식회사 영상 부호화/복호화 방법 및 이를 위한 장치
WO2018038523A1 (ko) * 2016-08-25 2018-03-01 엘지전자 주식회사 전방향 비디오를 전송하는 방법, 전방향 비디오를 수신하는 방법, 전방향 비디오 전송 장치, 전방향 비디오 수신 장치
US10999602B2 (en) 2016-12-23 2021-05-04 Apple Inc. Sphere projected motion estimation/compensation and mode decision
US11259046B2 (en) 2017-02-15 2022-02-22 Apple Inc. Processing of equirectangular object data to compensate for distortion by spherical projections
US10924747B2 (en) 2017-02-27 2021-02-16 Apple Inc. Video coding techniques for multi-view video
US11093752B2 (en) 2017-06-02 2021-08-17 Apple Inc. Object tracking in multi-view video
EP3739887A4 (en) * 2018-01-08 2021-10-06 Samsung Electronics Co., Ltd. CODING PROCESS AND ASSOCIATED APPARATUS, AND DECODING PROCESS AND ASSOCIATED APPARATUS
US11153607B2 (en) * 2018-01-29 2021-10-19 Mediatek Inc. Length-adaptive deblocking filtering in video coding
CN111656777B (zh) * 2018-03-09 2021-11-19 联发科技股份有限公司 一种用于重构的基于投影的帧的解块方法
CA3095549A1 (en) * 2018-03-30 2019-10-03 Sharp Kabushiki Kaisha Systems and methods for applying deblocking filters to reconstructed video data
CN112352435B (zh) * 2018-06-28 2022-02-18 华为技术有限公司 用于视频编解码的环内去块滤波器设备和方法
MX2021003365A (es) * 2018-09-24 2021-05-27 Huawei Tech Co Ltd Dispositivo de procesamiento de imagenes y metodo para ejecutar desbloqueo de calidad optimizada.
JP7418152B2 (ja) * 2018-12-17 2024-01-19 キヤノン株式会社 画像符号化装置、画像符号化方法、画像復号装置、画像復号方法
AU2020206823B2 (en) * 2019-01-10 2023-11-16 Huawei Technologies Co., Ltd. Deblocking filter for sub-partition boundaries caused by intra sub-partition coding tool
WO2020175146A1 (ja) * 2019-02-27 2020-09-03 ソニー株式会社 画像処理装置及び画像処理方法
CN111445427B (zh) * 2020-05-20 2022-03-25 青岛信芯微电子科技股份有限公司 视频图像处理方法以及显示设备
CN111862996B (zh) * 2020-07-14 2024-03-08 北京百瑞互联技术股份有限公司 一种音频编解码器均衡负载的方法、系统、存储介质

Family Cites Families (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5796875A (en) * 1996-08-13 1998-08-18 Sony Electronics, Inc. Selective de-blocking filter for DCT compressed images
FI103003B1 (fi) * 1997-06-13 1999-03-31 Nokia Mobile Phones Ltd Suodatusmenetelmä, suodatin ja matkaviestinpääte
KR100244290B1 (ko) * 1997-09-09 2000-02-01 구자홍 저속 전송에서의 동영상을 위한 디블록킹 필터링 방법
US6529635B1 (en) * 1997-12-15 2003-03-04 Intel Corporation Shape-based image compression/decompression using pattern matching
US6529638B1 (en) * 1999-02-01 2003-03-04 Sharp Laboratories Of America, Inc. Block boundary artifact reduction for block-based image compression
FI117533B (fi) * 2000-01-20 2006-11-15 Nokia Corp Menetelmä digitaalisten videokuvien suodattamiseksi
US7054503B2 (en) * 2001-02-23 2006-05-30 Seiko Epson Corporation Image processing system, image processing method, and image processing program
US7003174B2 (en) * 2001-07-02 2006-02-21 Corel Corporation Removal of block encoding artifacts
JP3756475B2 (ja) * 2001-09-12 2006-03-15 松下電器産業株式会社 画像符号化方法および画像復号化方法
CN100512441C (zh) * 2001-11-29 2009-07-08 松下电器产业株式会社 编码失真消除方法
PT1978747E (pt) * 2001-11-29 2014-07-24 Panasonic Ip Corp America Método de remoção de distorção de codificação
US7227901B2 (en) * 2002-11-21 2007-06-05 Ub Video Inc. Low-complexity deblocking filter
US6922492B2 (en) * 2002-12-27 2005-07-26 Motorola, Inc. Video deblocking method and apparatus
US20050013494A1 (en) * 2003-07-18 2005-01-20 Microsoft Corporation In-loop deblocking filter
US7724827B2 (en) * 2003-09-07 2010-05-25 Microsoft Corporation Multi-layer run level encoding and decoding
MXPA06002495A (es) 2003-09-07 2006-06-20 Microsoft Corp Capa de porcion en codificador/descodificador (codec) de video.
US7412109B2 (en) * 2003-11-07 2008-08-12 Mitsubishi Electric Research Laboratories, Inc. System and method for filtering artifacts in images
KR101000926B1 (ko) * 2004-03-11 2010-12-13 삼성전자주식회사 영상의 불연속성을 제거하기 위한 필터 및 필터링 방법
CN1870757B (zh) * 2004-05-21 2010-11-10 美国博通公司 多标准视频解码器
US8090028B2 (en) * 2004-05-21 2012-01-03 Broadcom Corporation Video deblocking memory utilization
US7680351B2 (en) * 2004-05-21 2010-03-16 Broadcom Corporation Video deblocking method and apparatus
US20050281339A1 (en) * 2004-06-22 2005-12-22 Samsung Electronics Co., Ltd. Filtering method of audio-visual codec and filtering apparatus
US20060013315A1 (en) * 2004-07-19 2006-01-19 Samsung Electronics Co., Ltd. Filtering method, apparatus, and medium used in audio-video codec
NO322722B1 (no) * 2004-10-13 2006-12-04 Tandberg Telecom As Fremgangsmate for videokoding gjennom reduksjon av blokkartefakter
US7778480B2 (en) * 2004-11-23 2010-08-17 Stmicroelectronics Asia Pacific Pte. Ltd. Block filtering system for reducing artifacts and method
JP4270125B2 (ja) * 2004-12-16 2009-05-27 ソニー株式会社 データ処理装置、画像処理装置、それらの方法およびプログラム
US7725691B2 (en) * 2005-01-28 2010-05-25 Analog Devices, Inc. Method and apparatus for accelerating processing of a non-sequential instruction stream on a processor with multiple compute units
CN1870752A (zh) * 2005-05-23 2006-11-29 其乐达科技股份有限公司 应用于视频编码/解码的解块滤波方法及其装置
US8537903B2 (en) * 2005-09-23 2013-09-17 Entropic Communications, Inc. De-blocking and de-ringing systems and methods
CN100484249C (zh) * 2005-09-25 2009-04-29 海信集团有限公司 视频帧间编码基于边缘方向的帧内预测方法
US8111760B2 (en) * 2006-11-16 2012-02-07 Texas Instruments Incorporated Deblocking filters
US8577168B2 (en) * 2006-12-28 2013-11-05 Vidyo, Inc. System and method for in-loop deblocking in scalable video coding
US7877430B2 (en) * 2007-03-26 2011-01-25 Analog Devices, Inc. Method and apparatus for accelerating processing of adaptive finite impulse response filtering
US20090080517A1 (en) * 2007-09-21 2009-03-26 Yu-Ling Ko Method and Related Device for Reducing Blocking Artifacts in Video Streams
CN101453651B (zh) * 2007-11-30 2012-02-01 华为技术有限公司 一种去块滤波方法和装置
WO2009123033A1 (ja) * 2008-03-31 2009-10-08 日本電気株式会社 デブロッキングフィルタ処理装置、デブロッキングフィルタ処理方法
US20090304086A1 (en) * 2008-06-06 2009-12-10 Apple Inc. Method and system for video coder and decoder joint optimization
KR20090129926A (ko) * 2008-06-13 2009-12-17 삼성전자주식회사 영상 부호화 방법 및 그 장치, 영상 복호화 방법 및 그 장치
WO2010001911A1 (ja) * 2008-07-03 2010-01-07 シャープ株式会社 フィルタ装置
CN101635849B (zh) * 2008-07-24 2011-11-16 青岛海信信芯科技有限公司 一种环路滤波方法及环路滤波器
US8326075B2 (en) * 2008-09-11 2012-12-04 Google Inc. System and method for video encoding using adaptive loop filter
WO2010035403A1 (ja) * 2008-09-25 2010-04-01 パナソニック株式会社 フィルタ装置およびフィルタ方法
US8761538B2 (en) * 2008-12-10 2014-06-24 Nvidia Corporation Measurement-based and scalable deblock filtering of image data
JP5087016B2 (ja) * 2009-01-19 2012-11-28 キヤノン株式会社 符号化装置及びその制御方法、コンピュータプログラム
CN101651829A (zh) * 2009-06-29 2010-02-17 北京中星微电子有限公司 一种环路滤波的方法、装置及一种移动多媒体终端芯片
JP5183664B2 (ja) * 2009-10-29 2013-04-17 財團法人工業技術研究院 ビデオ圧縮のためのデブロッキング装置及び方法
JP2011160359A (ja) * 2010-02-03 2011-08-18 Sharp Corp ブロックノイズ量予測装置、ブロックノイズ量予測方法、画像処理装置、プログラム、及び、記録媒体
US8787443B2 (en) * 2010-10-05 2014-07-22 Microsoft Corporation Content adaptive deblocking during video encoding and decoding
KR102007626B1 (ko) * 2010-12-07 2019-08-05 소니 주식회사 텔레비전 장치, 휴대 전화기, 재생 장치, 카메라 및 신호 처리 방법
JP5884313B2 (ja) * 2011-01-18 2016-03-15 ソニー株式会社 画像処理装置、画像処理方法、プログラム及び記録媒体
KR101863397B1 (ko) * 2011-02-25 2018-05-31 선 페이턴트 트러스트 디블로킹을 위한 효율적인 결정
KR102039544B1 (ko) * 2011-09-09 2019-11-01 선 페이턴트 트러스트 저복잡도 디블로킹 필터 결정

Also Published As

Publication number Publication date
JP6620995B2 (ja) 2019-12-18
MX2014002529A (es) 2014-05-13
US20160301951A1 (en) 2016-10-13
KR102039544B1 (ko) 2019-11-01
US10779010B2 (en) 2020-09-15
US20220086504A1 (en) 2022-03-17
US9948958B2 (en) 2018-04-17
US9143778B2 (en) 2015-09-22
JP2021177640A (ja) 2021-11-11
WO2013034649A1 (en) 2013-03-14
US20140185689A1 (en) 2014-07-03
KR102039076B1 (ko) 2019-10-31
US9648354B2 (en) 2017-05-09
CN107172427A (zh) 2017-09-15
EP2754295A1 (en) 2014-07-16
US11218736B2 (en) 2022-01-04
JP7361285B2 (ja) 2023-10-16
TW201325246A (zh) 2013-06-16
JP2023166602A (ja) 2023-11-21
CA2841246A1 (en) 2013-03-14
JP2014526818A (ja) 2014-10-06
TWI514852B (zh) 2015-12-21
US20150304687A1 (en) 2015-10-22
US20210120274A1 (en) 2021-04-22
EP3306921B1 (en) 2020-11-04
BR112014004920B8 (pt) 2022-09-27
CN103765889A (zh) 2014-04-30
CN107172427B (zh) 2021-01-05
EP3306921A1 (en) 2018-04-11
US20170208346A1 (en) 2017-07-20
CN103765889B (zh) 2017-05-24
BR112014004920A2 (pt) 2019-04-02
CN107197254A (zh) 2017-09-22
KR20140071316A (ko) 2014-06-11
EP2754295B1 (en) 2018-01-24
CN107197254B (zh) 2020-03-03
CA2841246C (en) 2019-09-24
PL3306921T3 (pl) 2021-05-04
ES2664721T3 (es) 2018-04-23
US20180262781A1 (en) 2018-09-13
US10237578B2 (en) 2019-03-19
US20200359056A1 (en) 2020-11-12
PL2754295T3 (pl) 2018-07-31
MY167341A (en) 2018-08-16
JP2017216690A (ja) 2017-12-07
KR20170106494A (ko) 2017-09-20
US10897634B2 (en) 2021-01-19
US9402088B2 (en) 2016-07-26
BR112014004920B1 (pt) 2022-06-07
JP2020022207A (ja) 2020-02-06
US20190158886A1 (en) 2019-05-23

Similar Documents

Publication Publication Date Title
JP7361285B2 (ja) 符号化方法および符号化装置
JP7246008B2 (ja) 復号装置および符号化装置
KR101784031B1 (ko) 주변 블록의 통계로부터 추론되는 인트라 예측을 위한 필터링 모드
KR102032000B1 (ko) 변경된 이미지 블록 경계 세기 유도에 의한 디블로킹 필터링
ES2831999T3 (es) Procedimiento de procesamiento de imágenes y dispositivo de procesamiento de imágenes
KR101863397B1 (ko) 디블로킹을 위한 효율적인 결정
WO2012175196A1 (en) Deblocking control by individual quantization parameters