ES2914608T3 - Método y sistema para romper selectivamente la predicción en la codificación de video - Google Patents

Método y sistema para romper selectivamente la predicción en la codificación de video Download PDF

Info

Publication number
ES2914608T3
ES2914608T3 ES18197423T ES18197423T ES2914608T3 ES 2914608 T3 ES2914608 T3 ES 2914608T3 ES 18197423 T ES18197423 T ES 18197423T ES 18197423 T ES18197423 T ES 18197423T ES 2914608 T3 ES2914608 T3 ES 2914608T3
Authority
ES
Spain
Prior art keywords
indication
slice
prediction
image
header
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
ES18197423T
Other languages
English (en)
Inventor
Michael Horowitz
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.)
Dolby International AB
Original Assignee
Dolby International AB
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=46316772&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=ES2914608(T3) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Dolby International AB filed Critical Dolby International AB
Application granted granted Critical
Publication of ES2914608T3 publication Critical patent/ES2914608T3/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/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • CCHEMISTRY; METALLURGY
    • C12BIOCHEMISTRY; BEER; SPIRITS; WINE; VINEGAR; MICROBIOLOGY; ENZYMOLOGY; MUTATION OR GENETIC ENGINEERING
    • C12NMICROORGANISMS OR ENZYMES; COMPOSITIONS THEREOF; PROPAGATING, PRESERVING, OR MAINTAINING MICROORGANISMS; MUTATION OR GENETIC ENGINEERING; CULTURE MEDIA
    • C12N9/00Enzymes; Proenzymes; Compositions thereof; Processes for preparing, activating, inhibiting, separating or purifying enzymes
    • C12N9/0004Oxidoreductases (1.)
    • C12N9/0071Oxidoreductases (1.) acting on paired donors with incorporation of molecular oxygen (1.14)
    • CCHEMISTRY; METALLURGY
    • C12BIOCHEMISTRY; BEER; SPIRITS; WINE; VINEGAR; MICROBIOLOGY; ENZYMOLOGY; MUTATION OR GENETIC ENGINEERING
    • C12PFERMENTATION OR ENZYME-USING PROCESSES TO SYNTHESISE A DESIRED CHEMICAL COMPOUND OR COMPOSITION OR TO SEPARATE OPTICAL ISOMERS FROM A RACEMIC MIXTURE
    • C12P17/00Preparation of heterocyclic carbon compounds with only O, N, S, Se or Te as ring hetero atoms
    • C12P17/14Nitrogen or oxygen as hetero atom and at least one other diverse hetero ring atom in the same ring
    • CCHEMISTRY; METALLURGY
    • C12BIOCHEMISTRY; BEER; SPIRITS; WINE; VINEGAR; MICROBIOLOGY; ENZYMOLOGY; MUTATION OR GENETIC ENGINEERING
    • C12PFERMENTATION OR ENZYME-USING PROCESSES TO SYNTHESISE A DESIRED CHEMICAL COMPOUND OR COMPOSITION OR TO SEPARATE OPTICAL ISOMERS FROM A RACEMIC MIXTURE
    • C12P7/00Preparation of oxygen-containing organic compounds
    • C12P7/02Preparation of oxygen-containing organic compounds containing a hydroxy group
    • C12P7/04Preparation of oxygen-containing organic compounds containing a hydroxy group acyclic
    • C12P7/06Ethanol, i.e. non-beverage
    • C12P7/14Multiple stages of fermentation; Multiple types of microorganisms or re-use of microorganisms
    • CCHEMISTRY; METALLURGY
    • C12BIOCHEMISTRY; BEER; SPIRITS; WINE; VINEGAR; MICROBIOLOGY; ENZYMOLOGY; MUTATION OR GENETIC ENGINEERING
    • C12YENZYMES
    • C12Y114/00Oxidoreductases acting on paired donors, with incorporation or reduction of molecular oxygen (1.14)
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/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/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • 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/436Methods 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 using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • 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/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Chemical & Material Sciences (AREA)
  • Organic Chemistry (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Zoology (AREA)
  • Wood Science & Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Genetics & Genomics (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Biochemistry (AREA)
  • General Engineering & Computer Science (AREA)
  • Biotechnology (AREA)
  • Microbiology (AREA)
  • General Chemical & Material Sciences (AREA)
  • Chemical Kinetics & Catalysis (AREA)
  • Medicinal Chemistry (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Color Television Systems (AREA)
  • Image Processing (AREA)
  • Image Analysis (AREA)

Abstract

Un método para decodificar un flujo (206, 301, 401, 501) de bits correspondiente a una imagen (201) de video codificada que comprende una pluralidad de segmentos (202, 203) de mosaico que coexisten con porciones dentro de la imagen de video codificada de modo que la imagen (201, 301) de video codificada se divide en segmentos de mosaico por límites (204) de segmento de mosaico y en porciones por límites de porción, comprendiendo el método: con respecto a al menos un segmento de mosaico de la imagen de video codificada que no tiene un encabezado de segmento de mosaico asociado, obtener de un conjunto (207) de parámetros contenido en el flujo (206, 301, 401, 501) de bits una indicación (313, 414) sobre la que se va a aplicar una operación de compensación adaptativa de muestra a través de los límites de segmento de mosaico de la imagen de video codificada, donde la indicación del conjunto de parámetros se define individualmente para la operación de compensación adaptativa de muestra y se define una segunda indicación en el conjunto de parámetros para una herramienta de predicción, de tal manera que la indicación para la operación de compensación adaptativa de muestra esté separada de la segunda indicación para la herramienta de predicción; con respecto a al menos una porción, obtener de un encabezado (405) de porción una indicación sobre la que se va a aplicar una operación de compensación adaptativa de muestra a través de un límite de porción, donde la indicación en el encabezado de porción se define individualmente para la operación de compensación adaptativa de muestra y se define una segunda indicación en el encabezado de porción para una herramienta de predicción, de modo que la indicación para la operación de compensación adaptativa de muestra está separada de la segunda indicación para la herramienta de predicción; y controlar la operación de compensación adaptativa de muestra a través de un límite de segmento de mosaico entre segmentos de mosaico en respuesta a la indicación del conjunto (207) de parámetros y controlar la operación de compensación adaptativa de muestra a través del límite de porción en respuesta a la indicación del encabezado (405) de porción, en el que la imagen de vídeo codificada contiene al menos dos segmentos de mosaico sin un encabezado de segmento asociado.

Description

DESCRIPCIÓN
Método y sistema para romper selectivamente la predicción en la codificación de video
Referencia cruzada con aplicaciones relacionadas
Esta solicitud reivindica la prioridad de la solicitud de patente provisional de los Estados Unidos número de serie.
61/427.569, presentada el 28 de diciembre de 2010, titulada "SEGMENTACIÓN DE IMAGEN USANDO PORCIONES GENERALIZADAS", y de la solicitud de patente de los Estados Unidos con el número de serie. 13/336.475, presentada el 23 de diciembre de 2011, titulada “MÉTODO Y SISTEMA PARA ROMPER SELECTIVAMENTE LA PREDICCIÓN EN LA CODIFICACIÓN DE VÍDEO”.
Campo
La invención se expone en el conjunto de reivindicaciones adjunto; los ejemplos adicionales denominados realizaciones en la descripción son ejemplos ilustrativos. Las realizaciones de la invención se refieren a la compresión de vídeo y, más específicamente, al uso selectivo de mecanismos de predicción y filtrado en bucle en los límites de segmento de imagen de las imágenes de vídeo.
Antecedentes
Las capacidades de video digital se pueden incorporar en una amplia gama de dispositivos, incluidos televisores digitales, sistemas de difusión directa digital, sistemas de difusión inalámbricos, asistentes digitales personales (PDA), computadoras portátiles o de escritorio, cámaras de video, dispositivos de grabación digital, dispositivos de videojuegos, consolas de videojuegos, teléfonos celulares o de radiosatélite, y similares. Los dispositivos de video digital pueden implementar técnicas de compresión de video, como las descritas en estándares como MPEG-2, MPEG-4, ambos disponibles de la Organización Internacional para la Estandarización ("ISO") 1, ch. de la Voie-Creuse, Case postale 56, CH-1211 Ginebra 20, Suiza, o www.iso.org, o UIT-T H.264/MPEG-4, Parte 10, codificación avanzada de video ("AVC"), disponible de la Unión Internacional de Telecomunicaciones ("UIT"), Place de Nations, CH-1211 Ginebra 20, Suiza o www.itu.int, o de acuerdo con otras especificaciones estándar o no estándar, para codificar y/o decodificar información de video digital de manera eficiente. Todavía otras técnicas de compresión pueden desarrollarse en el futuro o están actualmente en desarrollo. Por ejemplo, el comité JCT-VC está desarrollando un nuevo estándar de compresión de video conocido como HEVC/H.265. El borrador de trabajo HEVC/H.265 se establece en " Wiegand et. al., "WD3: Borrador de trabajo 3 de codificación de video de alta eficiencia, JCTVC-E603", marzo de 2011, en adelante denominado "WD3".
Un codificador de video puede recibir información de video no codificada para su procesamiento en cualquier formato adecuado, que puede ser un formato digital conforme a UIT-R BT 601 (disponible en la Unión Internacional de Telecomunicaciones, Place des Nations, 1211 Ginebra 20, Suiza, www.itu.int) o en algún otro formato digital. El video no codificado puede organizarse tanto espacialmente en valores de píxeles dispuestos en una o más matrices bidimensionales como temporalmente en una serie de imágenes no codificadas, donde cada imagen no codificada comprende una o más de las matrices bidimensionales mencionadas anteriormente de valores de píxeles. Además, cada píxel puede comprender una serie de componentes separados usados para representar el color en formato digital. Un formato común para video no codificado que se introduce a un codificador de video tiene, para cada grupo de cuatro píxeles, cuatro muestras de luminancia que contienen información sobre el brillo/luminosidad u oscuridad de los píxeles, y dos muestras de crominancia que contienen información de color (por ejemplo, YCrCb 4:2:0).
Una función de los codificadores de video es traducir (más generalmente "transformar") imágenes no codificadas en un flujo de bits, flujo de paquetes, flujo de unidad NAL u otro formato de transmisión adecuado (todos denominados "flujo de bits" en adelante), con objetivos tales como reducir la cantidad de redundancia codificada en el flujo de bits para aumentar así las tasas de transmisión, aumentando la resiliencia del flujo de bits para suprimir errores de bits o borrados de paquetes que pueden ocurrir durante la transmisión (conocidos colectivamente como "resiliencia de error"), u otros objetivos específicos de la aplicación. Las realizaciones de la presente invención proporcionan al menos uno de la eliminación o reducción de la redundancia, el aumento de la resiliencia de error y la implementabilidad de codificadores de video y/o decodificadores asociados en arquitecturas de procesamiento en paralelo.
Una función de los decodificadores de video es recibir como entrada un video codificado en forma de flujo de bits que puede haber sido producido por un codificador de video conforme al mismo estándar de compresión de video. A continuación, el codificador de vídeo traduce (más generalmente "transforma") el flujo de bits codificado recibido en información de vídeo no codificada que puede visualizarse, almacenarse o gestionarse de otro modo.
Tanto los codificadores de video como los decodificadores de video pueden implementarse usando configuraciones de hardware y/o software, incluidas combinaciones de hardware y software. Las implementaciones de uno o ambos pueden incluir el uso de componentes de hardware programables, como unidades centrales de procesamiento (CPU) de propósito general, como las que se encuentran en computadoras personales (PC), procesadores integrados, procesadores de tarjetas gráficas, procesadores de señales digitales (DSP), matrices de puertas programable en campo (FPGA), u otros. Para implementar al menos partes de la codificación o decodificación de video, pueden ser necesarias instrucciones, y esas instrucciones pueden almacenarse y distribuirse usando uno o más medios legibles por computadora no transitorios. Las opciones de medios legibles por computadora incluyen memoria de solo lectura de disco compacto (CD-ROM), memoria de solo lectura de videodisco digital (DVD-ROM), tarjeta de memoria, ROM integrada u otros.
La compresión y descompresión de video se refieren a ciertas operaciones realizadas en un codificador y/o decodificador de video. Un decodificador de video puede realizar todas o un subconjunto de las operaciones inversas de las operaciones de codificación. A menos que se indique lo contrario, las técnicas de codificación de video descritas en el presente documento también pretenden abarcar lo contrario de las técnicas de codificación de video descritas (a saber, técnicas de decodificación de video asociadas).
La representación digital sin comprimir de video puede verse como un flujo de muestra, donde las muestras pueden ser procesadas por la pantalla de video en orden de exploración. Un tipo de límite que ocurre a menudo en este flujo de muestra es el límite entre imágenes en el flujo de muestra. Muchos estándares de compresión de video reconocen este límite y, a menudo, dividen el flujo de bits codificado en estos límites, por ejemplo, mediante la inserción de un encabezado de imagen u otros metadatos al comienzo de cada imagen no codificada. Otros límites que pueden ocurrir en el flujo de muestra incluyen los límites de porción y mosaico, que pueden ocurrir dentro de una imagen no codificada, como se describe a continuación.
La predicción en la codificación de video puede ocurrir en muchos niveles.
En lo sucesivo, se hará referencia a un nivel como el "nivel de codificación de entropía" y la predicción en ese nivel se denominará "predicción de codificación". En este nivel, la decodificación de un símbolo codificado de entropía puede requerir la decodificación satisfactoria de símbolos codificados de entropía anteriores. Todos o casi todos los estándares actuales de compresión de video rompen la predicción de codificación tanto a nivel de imagen como de segmento. Es decir, en la detección de una imagen o encabezado de segmento en el flujo de bits (o equivalente), los estados relacionados con la codificación de entropía usados en la codificación de entropía se restablecen a un estado de inicialización. Un ejemplo de predicción codificada de entropía es el restablecimiento de los estados CABAC en la Rec. UIT-T. H.264.
Además, puede haber mecanismos de codificación que no caigan en el entendimiento común de la predicción relacionada con la codificación de entropía, como se definió anteriormente, pero que todavía están relacionados con la información de control de reconstrucción asociada con el flujo de bits, en lugar de valores de píxeles. Como ejemplo, incluso algunos estándares más antiguos, como la Rec. UIT-T. El estándar H.261 permite la codificación de vectores de movimiento en relación con uno o más vectores de movimiento codificados previamente. La detección de un grupo de bloques (GOB), porción o encabezado de imagen restablece este vector de predicción a (0, 0).
También hay mecanismos de predicción que abarcan varias imágenes. Por ejemplo, la compensación de movimiento puede usar valores de píxeles (posiblemente compensados por movimiento) de una o más imágenes de referencia para la predicción. Este tipo de predicción se rompe a través del tipo macrobloque (o equivalente). Por ejemplo, los intramacrobloques generalmente no usan la predicción a partir de imágenes de referencia, mientras que los intermacrobloques sí pueden hacerlo. Las intra e interporciones, en este sentido, son simplemente acumulaciones de macrobloques que pertenecen a esos diferentes tipos de macrobloques.
También hay niveles de predicción que incluyen predicción basada en valores de píxeles que ya se han reconstruido durante el proceso de reconstrucción de la imagen que se está codificando. Un ejemplo son los mecanismos de intrapredicción, como los descritos en el Anexo I de la Rec. UIT-T. H.263. (Mecanismos similares también están disponibles en otros estándares de codificación de video).
Además de los mecanismos de predicción, varios estándares de codificación de video especifican filtros para realizar el filtrado en bucle. Un ejemplo es el filtro en bucle especificado en el Anexo J de la Rec. UIT-T. H.263.
Para algunas aplicaciones, puede ser ventajoso segmentar la imagen que se codifica en bloques de datos más pequeños, cuya segmentación puede ocurrir antes o durante la codificación. A continuación se describen dos casos de uso para los que la segmentación de imágenes puede resultar ventajosa.
El primer caso de uso de este tipo implica el procesamiento en paralelo. Previamente, el video de definición estándar (por ejemplo, 720 x 480 o 720 x 576 píxeles) era el formato más grande de uso comercial generalizado. Más recientemente, los formatos HD (hasta 1920 x 1080 píxeles), así como los formatos 4k (4096 x 2048 píxeles), 8k (8192 x 4096 píxeles) y formatos aún más grandes están emergiendo y encontrando uso en una variedad de espacios de aplicación. A pesar del aumento de la potencia informática asequible a lo largo de los años, como resultado de los tamaños de imagen muy grandes asociados con algunos de estos formatos más nuevos y más grandes, a menudo es ventajoso aprovechar la eficiencia del procesamiento paralelo a los procesos de codificación y decodificación. La codificación y decodificación en paralelo pueden ocurrir, por ejemplo, en el nivel de instrucción (por ejemplo, usando SIMD), en un canal donde varias unidades de codificación de video pueden procesarse en diferentes etapas simultáneamente, o en una gran estructura donde las colecciones de subunidades de codificación de video son procesadas por motores informáticos separados como entidades separadas (por ejemplo, un procesador multinúcleo de propósito general). La última forma de procesamiento paralelo puede requerir la segmentación de imágenes.
El segundo caso de uso implica la segmentación de imágenes para crear un flujo de bits adecuado para el transporte eficiente a través de redes de paquetes. Los códecs cuyo video codificado se transporta a través de IP y otras redes de paquetes pueden estar sujetos a una restricción de tamaño de unidad de transmisión máxima ("MTU"). A veces es ventajoso que el tamaño del segmento codificado sea tal que el paquete resultante que contiene el segmento codificado sea lo más cercano posible al tamaño de la MTU sin exceder ese tamaño, a fin de mantener alta la relación de sobrecarga de carga útil/paquetización, al tiempo que se evita la fragmentación (y la mayor probabilidad de pérdida resultante) por la red.
El tamaño de la MTU difiere mucho de una red a otra. Por ejemplo, el tamaño de MTU de muchas conexiones a Internet puede establecerse por el tamaño de MTU más pequeño de la infraestructura de red comúnmente usada en Internet, que a menudo corresponde a las limitaciones de Ethernet y puede ser de aproximadamente 1500 bytes.
El número de bits en una imagen codificada depende de muchos factores, como las dimensiones de la imagen fuente, la calidad deseada, la complejidad del contenido en términos de idoneidad para la predicción y otros factores. Sin embargo, incluso con configuraciones de calidad y complejidad de contenido moderadas, para secuencias de resolución HD y superiores, el tamaño de una imagen codificada promedio excede fácilmente el tamaño de MTU. Por ejemplo, un codificador de videoconferencia puede requerir alrededor de 2 MBit/s para codificar una secuencia de video de 720p60. Esto da como resultado un tamaño de imagen codificada promedio de aproximadamente 33333 bits o 4167 bytes, que es considerablemente más que los 1500 bytes del tamaño de MTU de Internet. A resoluciones más altas, el tamaño de imagen promedio aumenta a valores significativamente superiores al tamaño de MTU de Internet. Suponiendo una relación de compresión similar a la del ejemplo anterior de 720p60, un video de 4096 x 2048 (4k) a 60 fps (4kp60) puede requerir más de 300.000 bits o paquetes del tamaño de 25 MTU para cada imagen de video codificada.
En muchos estándares de codificación de video anteriores (por ejemplo, hasta WD3 inclusive), un segmento de imagen (o, al menos, una forma de segmento de imagen) se conoce como "porción". En la siguiente descripción, cualquier tipo de fragmentación de imagen (por ejemplo, basada en codificación de video) que rompa al menos una forma de predicción en la imagen, filtrado en bucle u otro mecanismo de codificación, se puede denominar generalmente como "porción". Como tal, estructuras como el grupo de bloques ("GOB") en la Rec. UIT.T. H.261 o Rec. UIT. H.263 (disponible en la UIT; véase más arriba para H.264), las porciones en H.264 o la familia de estándares MPEG, pueden constituir cada una una "porción" como se usa este término en el presente documento. Sin embargo, es posible que las unidades de fragmentación de RFC3984 o las particiones de datos de H.264 no constituyan una "porción", ya que este término se usa en el presente documento, porque subdividen el flujo de bits de una imagen codificada y no rompen la predicción en la imagen, filtrado en bucle u otro mecanismo de codificación.
En referencia a la figura 1, se muestra un ejemplo 100 de segmentación de imágenes usando porciones. Una imagen 101 es rota en dos porciones 102, 103 de orden de exploración. El límite de corte se muestra como una línea 104 en negrita. El primer macrobloque 105 de la segunda porción 103 tiene la dirección 11. El flujo 106 de bits correspondiente para transmitir la imagen 101, por ejemplo, cuando se genera usando el estándar H.264, puede contener uno o más conjuntos 107 de parámetros que no contienen información sobre los límites de porción, seguidos por los encabezados 108, 110 de porción y datos 109,111 de porción de las dos porciones 102, 103. El encabezado 110 de porción de la segunda porción 103 se muestra ampliado. Las dimensiones de la porción no codificada 103, por ejemplo, las determina un decodificador mediante una combinación de al menos dos factores. Primero, el encabezado 110 de porción contiene la dirección del primer macrobloque 105 de la porción 103. En segundo lugar, el final de la porción está determinado, por ejemplo, por la detección de un nuevo encabezado de porción en el flujo de bits o, en el ejemplo representado, por el final de la imagen codificada en el flujo 112 de bits, es decir, después del macrobloque 24. Todos los macrobloques entre el primer macrobloque y el final de la porción forman la porción. Se observa que las modificaciones del orden de exploración, como el ordenamiento flexible de macrobloques de H.264, pueden cambiar el número de macrobloques en la porción al crear espacios.
Una ventaja de usar porciones sobre mecanismos de segmentación que no reconocen los medios, como, por ejemplo, los proporcionados por IP en la capa de enrutamiento, es que las porciones son, al menos hasta cierto punto, decodificables de forma independiente (como se analiza más adelante con más detalle), al romper ciertos tipos de predicción en los límites entre porciones. Por lo tanto, la pérdida de una porción no hace necesariamente que las otras porciones de una imagen codificada queden inutilizables o no decodificables. Dependiendo de la implementación de un mecanismo de fragmentación, la pérdida de un fragmento, por el contrario, bien puede hacer que muchos otros fragmentos queden inutilizables porque la fragmentación, como se usa este término en el presente documento, no rompe ninguna forma de predicción.
WD4 (B. Bross et. al., "WD4: Borrador de trabajo 4 de codificador de video de alta eficiencia", disponible en http://wftp3.itu.int/av-arch/jctvc-site/2011_07_F_Torino/) es una especificación de borrador relacionada con un estándar de codificación de video digital en desarrollo, que puede denominarse codificación de video de alta eficiencia (HEVC) o H.265. Además de las porciones, WD4 también incluye un mecanismo de segmentación de imágenes conocido como "mosaicos". De acuerdo con WD4, una imagen de origen se puede dividir en unidades rectangulares llamadas mosaicos, de modo que cada píxel de la imagen de origen sea parte de un mosaico (también pueden aplicarse otras restricciones). Un mosaico es, por tanto, una parte rectangular de una imagen. Los límites de mosaico están determinados por las coordenadas disponibles en las estructuras de sintaxis de alto nivel, que se conocen en WD4 como conjuntos de parámetros. Los mosaicos se describen con más detalle a continuación.
Con la posible excepción de la predicción entre imágenes, cada uno de los mecanismos de predicción o de codificación dentro de la imagen descritos anteriormente puede romperse mediante la decodificación de un encabezado de imagen (o equivalente, como la decodificación de una porción con un número de trama diferente de la porción anterior). El hecho de que esos mecanismos de predicción se rompan a través de los límites de la porción o del mosaico depende del estándar de compresión de video y del tipo de porción en uso.
En H.264, las porciones se pueden decodificar de forma independiente con respecto a la predicción del vector de movimiento, la intrapredicción, los estados CA-VLC y CABAC y otros aspectos del estándar H.264. Solo se permite la predicción entre imágenes (incluida la importación de datos de píxeles fuera de los límites de porción a través de la compensación de movimiento). Si bien esta independencia de decodificación aumenta la resiliencia de error, no permitir la predicción antes mencionada a través de los límites de porción reduce la eficiencia de la codificación.
En H.263, un codificador de video tiene más flexibilidad para seleccionar qué mecanismos de predicción se rompen mediante el uso de porciones o GOB con encabezados GOB no vacíos. Por ejemplo, hay un bit incluido en el encabezado de imagen, seleccionable cuando se usa el anexo R, que indica al decodificador que no se produce ninguna predicción o filtrado a través de los límites de porción/GOB (con encabezados no vacíos). Ciertos mecanismos de predicción, como la predicción del vector de movimiento, se dividen en los GOB con encabezados no vacíos y en los límites de porción, independientemente del estado del Anexo R. Otros están controlados por el Anexo R. Por ejemplo, si el bit no está establecido, los vectores de movimiento pueden apuntar fuera del área espacial coubicada con la porción/GOB actual con un encabezado no vacío en las imágenes de referencia, lo que podría "importar" valores de muestra que se usan para la compensación de movimiento en la porción actual desde un área que no está dentro del área geométrica de la porción/GOB en la imagen de referencia. Además, a menos que el Anexo R esté activo, el filtrado de bucle puede incorporar valores de muestra fuera de la porción/GOB. De manera similar, hay otro bit en el encabezado de imagen que habilita o deshabilita la intrapredicción.
Sin embargo, en la mayoría de los estándares, la decisión de romper la predicción de imágenes se toma al menos en la granularidad de la imagen y, en algunos casos, en la granularidad de la secuencia. En otras palabras, usando H.263 como ejemplo, no es posible mezclar porciones en una imagen determinada que tenga el filtro de desbloqueo habilitado o deshabilitado (respectivamente), ni es posible habilitar/deshabilitar la intrapredicción a nivel de porción.
Como ya se ha descrito, la segmentación de imágenes permite romper una imagen en áreas espaciales más pequeñas que una imagen completa. Si bien las aplicaciones más comunes para la segmentación de imágenes, como se describe, parecen ser la paralelización y la coincidencia de tamaño de MTU, la segmentación de imágenes también se puede usar para muchos otros fines, incluidos aquellos que adaptan el tamaño y la forma del segmento al contenido. La codificación de región de interés es uno de varios ejemplos. En tales casos, es posible que ciertas partes de una imagen se codifiquen de manera más eficiente que otras (en el sentido de que gastar una menor cantidad de bits para codificar produzca una experiencia visual comparable) cuando se aplican diferentes herramientas de codificación, incluidos diferentes mecanismos de predicción. Por ejemplo, algunos contenidos pueden beneficiarse del filtrado de desbloqueo y pueden no responder bien a la intrapredicción, mientras que otros contenidos en la misma imagen pueden codificarse mejor sin filtrado de desbloqueo, pero podrían beneficiarse de la intrapredicción. Se puede codificar mejor un tercer contenido con el filtrado de desbloqueo y la intrapredicción habilitados. Todo este contenido se puede ubicar en la misma imagen cuando la imagen está en mosaico, lo que ocurre, por ejemplo, en situaciones de entrevistas o en videoconferencias.
Una deficiencia de los mecanismos existentes para romper la predicción en los límites de segmento es que la habilitación y/o deshabilitación de la ruptura de la predicción generalmente está codificada en los estándares de codificación de video existentes, lo que dificulta o imposibilita romper selectivamente los mecanismos de predicción en los límites de segmento basándose, por ejemplo, en las características del contenido a codificar.
Por lo tanto, existe la necesidad de un método y un sistema mejorados para habilitar o deshabilitar, por porción, los mecanismos de predicción y filtrado en bucle de forma individual o como grupo. En consecuencia, se desea una solución que aborde, al menos en parte, las deficiencias anteriores y otras.
Además, existe una necesidad por imagen (o grupo de imágenes, secuencias, etc.) para habilitar o deshabilitar mecanismos de predicción y/o mecanismos de filtrado en bucle a través de límites de segmento de imagen sin encabezado (o equivalente) (como límites de mosaico) de forma individual o en grupo. En consecuencia, se desea una solución que aborde, al menos en parte, las deficiencias anteriores y otras.
El documento US 2010/0189181 describe un método y un dispositivo para codificar y decodificar. El método incluye: dividir una imagen a codificar en varias porciones, cada una de las cuales contiene macrobloques continuos en una secuencia de exploración designada en la imagen; dividir porciones de la imagen en uno o más conjuntos de porciones de acuerdo con la información de atributos de las porciones, conteniendo cada conjunto de porciones una o más porciones; y codificar las porciones en los conjuntos de porciones de acuerdo con la información de división de porciones y conjuntos de porciones para obtener un flujo de bits codificado de la imagen. El método de decodificación incluye: obtener información de división de porciones y conjuntos de porciones a partir de un flujo de bits a decodificar y decodificar el flujo de bits de acuerdo con la información de división de porciones y conjuntos de porciones obtenida. El documento Y-K WANG ET AL: "AHG4: Dependencia y control de filtrado de bucles sobre los límites de mosaico",?. REUNIÓN JCT-VC; 98. REUNIÓN MPEG; 21-11-2011 - 30-11-2011; GINEBRA; (EQUIPO DE COLABORACIÓN CONJUNTO SOBRE CODIFICACIÓN DE VÍDEO DE ISO/IEC JTC1/SC29/WG11 Y UIT-T SG.16); URL: HTTP:// WFTP3.ITU.INT/AV-ARCH/JCTVC-SITE/,, no. JCTVC-G317, 9 de noviembre de 2011 (09-11-2011) divulga un elemento de sintaxis para habilitar/deshabilitar el filtrado en bucle, incluido SAO, entre mosaicos.
Sumario
Las realizaciones de la presente invención proporcionan métodos y sistemas para codificar y/o decodificar imágenes de vídeo en las que una pluralidad de herramientas de predicción y filtrado en bucle para un segmento de imagen pueden habilitarse o deshabilitarse selectivamente.
De acuerdo con un aspecto de la invención, un codificador puede indicar para una o más herramientas de predicción si esa herramienta puede tomar información de fuera del segmento de imagen que se está procesando actualmente como información de referencia para procesar dentro de ese segmento de imagen. El codificador puede proporcionar dicha indicación para una sola herramienta de predicción (por ejemplo, predicción de entropía, intrapredicción, predicción compensada de movimiento, predicción de vector de movimiento, en lo sucesivo denominadas herramientas de predicción) y/o una sola herramienta de filtrado (por ejemplo, filtrado de interpolación adaptativa, filtrado de bucle adaptativo, desbloqueo, filtrado, compensación adaptativa de muestra, en lo sucesivo denominadas herramientas de filtro de bucle), entre otras. Alternativamente, el codificador puede proporcionar tal indicación para una pluralidad de herramientas predefinidas o grupos predefinidos de herramientas que pueden incluir cualquiera de las herramientas de filtro de bucle y predicción mencionadas anteriormente, así como otras. Hacerlo puede ser útil para respaldar la paralelización de codificadores y decodificadores, así como para ciertos escenarios de aplicación, como la presencia continua suave (unir imágenes codificadas en el dominio comprimido).
De acuerdo con un aspecto de la invención, cuando se usa la segmentación de imágenes sin encabezado (como mosaicos), el codificador puede indicar a la herramienta de predicción, la herramienta de filtro de bucle o una pluralidad de grupos predefinidos de herramientas, si esa herramienta puede tomar la información a través de los límites de mosaico horizontales, verticales o tanto horizontales como verticales para usarla como información de referencia.
En el caso particular de H.264 o HEVC, como ejemplo, el codificador puede establecer valores para los indicadores de "indicación de interrupción de codificación" que se usan para las herramientas de predicción y filtrado en bucle, tales como: intrapredicción que hace referencia a valores de muestra fuera del límite de porción/mosaico; vectores que hacen referencia a valores de muestra fuera del límite de porción/mosaico (es decir, mediante compensación de movimiento); uso de estados CABAC fuera del límite de porción/mosaico; uso de estados CA-VLC fuera del límite de porción/mosaico; uso de PIPE o estados de codificación de entropía V2V similares fuera del límite de porción/mosaico (solo HEVC); y el uso de estados y valores de muestra fuera del límite de porción/mosaico de filtros en bucle tales como filtros de interpolación adaptativas, filtros de bucle adaptativos, filtros de bucle de desbloqueo o desplazamiento adaptativo de muestra.
De acuerdo con un aspecto de la invención, el uso u otra habilitación de herramientas de codificación pueden no indicarse en forma de indicadores, sino mediante la manipulación de otras estructuras de datos, como enteros de "indicación de interrupción de codificación" que pueden, en algunos casos, combinar una pluralidad de los indicadores antes mencionados, o permutaciones preferidas de esos indicadores, en un solo símbolo.
De acuerdo con un aspecto de la invención, la longitud máxima de un vector de movimiento que apunta fuera de un límite de porción puede codificarse en una representación de codificación de entropía adecuada de un número entero, lo que indica no solo el no uso de la compensación de movimiento hasta la distancia permitida por el nivel en uso, sino también por el máximo permitido, lo que puede, por ejemplo, ayudar a la asignación de recursos en la implementación de un decodificador.
De acuerdo con un aspecto de la invención, al menos uno de los indicadores de indicación de interrupción de codificación mencionados u otras estructuras de indicación de interrupción de codificación de datos pueden almacenarse en el encabezado de porción, encabezado de imagen, conjunto de parámetros o equivalente.
De acuerdo con un aspecto de la invención, un decodificador puede reaccionar ante la presencia de indicadores u otras estructuras de datos rompiendo las herramientas de predicción indicadas a través de los límites de porción/mosaico en oposición a otros límites potencialmente adecuados.
En un aspecto amplio, se proporciona un método para decodificar una imagen de video codificada que comprende una pluralidad de segmentos. El método puede incluir, con respecto a al menos un segmento de la imagen de video codificada que no tiene un encabezado de segmento asociado, obtener de la imagen de video codificada al menos una indicación de al menos una predicción o una operación de filtrado en bucle para aplicar a la imagen de video codificada, y controlar al menos dicha predicción o la operación de filtrado en bucle en respuesta a al menos dicha indicación. En algunos casos, la imagen de video codificada puede contener al menos dos segmentos sin un encabezado de segmento asociado.
En otro aspecto amplio, se proporciona un método para codificar una imagen de video que comprende una pluralidad de segmentos. El método puede incluir, con respecto a al menos un segmento de la imagen de video que no tiene un encabezado de segmento asociado, obtener al menos una indicación de al menos una predicción o una operación de filtrado en bucle para aplicar a al menos dicho segmento que no tiene un encabezado de segmento asociado, y controlar al menos una predicción o la operación de filtrado en bucle durante la codificación de la imagen de vídeo en respuesta a al menos dicha indicación. En algunos casos, la imagen de video puede contener al menos dos segmentos sin un encabezado de segmento asociado.
En otro aspecto amplio más, se proporciona un medio legible por computadora no transitorio que tiene almacenadas instrucciones ejecutables por computadora para programar uno o más procesadores para realizar un método de decodificación de una imagen de video codificada que comprende una pluralidad de segmentos. El método puede incluir, con respecto a al menos un segmento de la imagen de video codificada que no tiene un encabezado de segmento asociado, obtener de la imagen de video codificada al menos una indicación de al menos una predicción o una operación de filtrado en bucle para aplicar a la imagen de video codificada, y controlar al menos dicha predicción o la operación de filtrado en bucle en respuesta a al menos dicha indicación. En algunos casos, la imagen de video codificada puede incluir al menos dos segmentos sin un encabezado de segmento asociado.
En otro aspecto amplio más, se proporciona un medio legible por computadora no transitorio que tiene almacenadas instrucciones ejecutables por computadora para programar uno o más procesadores para realizar un método de codificación de una imagen de video que comprende una pluralidad de segmentos. El método puede incluir, con respecto a al menos un segmento de la imagen de video que no tiene un encabezado de segmento asociado, obtener al menos una indicación de al menos una predicción o una operación de filtrado en bucle para aplicar a al menos dicho segmento que no tiene un encabezado de segmento asociado, y controlar al menos una predicción o la operación de filtrado en bucle durante la codificación de la imagen de vídeo en respuesta a al menos una indicación. En algunos casos, la imagen de video contiene al menos dos segmentos sin un encabezado de segmento asociado.
En otro aspecto amplio más, se proporciona un sistema de procesamiento de datos que incluye al menos uno de un procesador y hardware acelerador configurado para ejecutar un método de decodificación de una imagen de video codificada que comprende una pluralidad de segmentos. El método puede incluir, con respecto a al menos un segmento de la imagen de video codificada que no tiene un encabezado de segmento asociado, obtener de la imagen de video codificada al menos una indicación de al menos una predicción o una operación de filtrado en bucle para aplicar a la imagen de video codificada, y controlar al menos dicha predicción o la operación de filtrado en bucle en respuesta a al menos dicha indicación. En algunos casos, la imagen de video codificada contiene al menos dos segmentos sin un encabezado de segmento asociado.
En todavía otro aspecto amplio, se proporciona un sistema de procesamiento de datos que incluye al menos uno de un hardware de procesador y acelerador configurado para ejecutar un método de codificación de imágenes de video que comprende una pluralidad de segmentos. El método puede incluir, con respecto a al menos un segmento de la imagen de video que no tiene un encabezado de segmento asociado, obtener al menos una indicación de al menos una predicción o una operación de filtrado en bucle para aplicar a al menos dicho segmento que no tiene un encabezado de segmento asociado, y controlar al menos una predicción o la operación de filtrado en bucle durante la codificación de la imagen de vídeo en respuesta a al menos una indicación. En algunos casos, la imagen de video contiene al menos dos segmentos sin un encabezado de segmento asociado.
En algunas realizaciones, de acuerdo con cualquiera de los aspectos anteriores, al menos dicha operación de predicción o filtrado en bucle puede incluir al menos uno de predicción de entropía, intrapredicción, predicción de vector de movimiento, predicción compensada de movimiento, filtrado de bucle adaptativo, filtrado de interpolación adaptativa, filtrado de desbloqueo o desplazamiento adaptativo de muestra.
En algunas realizaciones, de acuerdo con cualquiera de los aspectos anteriores, al menos una de una pluralidad de indicaciones puede derivarse de al menos una combinación de indicaciones.
En algunas realizaciones, de acuerdo con cualquiera de los aspectos anteriores, al menos dicha indicación puede codificarse como un vector indicativo de la longitud máxima de un vector de movimiento.
En algunas realizaciones, de acuerdo con cualquiera de los aspectos anteriores, al menos dicha indicación puede estar codificada en un conjunto de parámetros.
De acuerdo con aspectos adicionales de la presente invención, se proporciona un aparato tal como un sistema de procesamiento de datos, un método para adaptar este aparato, así como artículos de fabricación tales como un medio legible por computadora no transitorio o un producto que tiene instrucciones de programa grabadas y/o almacenadas en el mismo para realizar cualquiera de los métodos descritos en el presente documento.
Breve descripción de los dibujos
Otras características y ventajas de las realizaciones de la presente invención se harán evidentes a partir de la siguiente descripción detallada, tomada en combinación con los dibujos adjuntos, en los que:
la figura 1 es un diagrama que ilustra una imagen de ejemplo que tiene porciones de orden de exploración y un flujo de bits que representa la imagen codificada de acuerdo con una realización de la invención;
la figura 2 es un diagrama que ilustra mosaicos y porciones de acuerdo con una realización de la invención;
la figura 3 es un diagrama de bloques que ilustra un flujo de bits codificado de acuerdo con una realización de la invención;
la figura 4 es un diagrama de bloques que ilustra un flujo de bits codificado de acuerdo con una realización de la invención;
la figura 5 es un diagrama de bloques que ilustra un flujo de bits codificado de acuerdo con una realización de la invención;
la figura 6 es un diagrama de flujo que ilustra el funcionamiento de un decodificador de ejemplo de acuerdo con una realización de la invención;
la figura 7 es un diagrama de flujo que ilustra el funcionamiento de un decodificador de ejemplo cuando decodifica una porción de acuerdo con una realización de la invención; y,
la figura 8 es un diagrama de bloques que ilustra una implementación basada en un sistema de procesamiento de datos (por ejemplo, una computadora personal ("PC")) de acuerdo con una realización de la invención.
Se observará que a lo largo de los dibujos adjuntos, las características similares se identifican mediante números de referencia similares.
Descripción detallada de realizaciones
En la siguiente descripción, se exponen detalles para facilitar la comprensión de la invención. En algunos casos, cierto software, circuitos, estructuras y métodos no se han descrito o mostrado en detalle para no complicar la invención. El término "sistema de procesamiento de datos" se usa en el presente documento para referirse a cualquier máquina para procesar datos, incluidos los sistemas informáticos, los dispositivos inalámbricos y las disposiciones de red que se describen en el presente documento. Las realizaciones de la presente invención pueden implementarse en cualquier lenguaje de programación informático siempre que el sistema operativo del sistema de procesamiento de datos proporcione las instalaciones que puedan soportar los requisitos de estas realizaciones. Las realizaciones de la presente invención también pueden implementarse en hardware o en una combinación de hardware y software.
Al menos algunas realizaciones de la presente invención se refieren a romper selectivamente los mecanismos de predicción y/o deshabilitar selectivamente los mecanismos de filtrado en bucle junto con la segmentación de imágenes en la compresión de vídeo.
Términos como "segmento" o "segmento de imagen" se usan en adelante en referencia a uno o más macrobloques o equivalentes (por ejemplo, bloques de árbol en WD4) que son más pequeños que la imagen completa y en cuyos límites al menos una forma de predicción está rota y/o al menos una forma de filtrado en bucle está deshabilitada. Las porciones similares a H.264, así como los mosaicos similares a WD4, como se describe a continuación (con tile_boundary_independence_idc igual a 1) son ejemplos no limitantes de segmentos.
La figura 2 muestra un ejemplo 200, donde una imagen 201 se divide en dos mosaicos 202, 203 por un límite 204 de mosaico divisorio vertical, representado como una línea continua en negrita. Los mosaicos pueden coexistir con porciones dentro de la imagen 201. Por ejemplo, la imagen 201 se divide en dos porciones por el límite 205 de porción al mismo tiempo que se divide en los mosaicos 202, 203 por el límite 204 de mosaico. Los mosaicos (con tile_boundary_independence_idc igual a 1), como se describe en WD4, pueden generalizar en uno o más aspectos otro tipo de segmento de imagen, denominado columnas, que se describe con más detalle en la solicitud de patente de Estados Unidos en tramitación junto con la presente, número de serie 13/336.675, presentada el 23 de diciembre de 2011, titulada "MÉTODO Y SISTEMA PARA LA SEGMENTACIÓN DE IMÁGENES MEDIANTE COLUMNAS".
El flujo 206 de bits correspondiente a la transmisión de la imagen 201 puede contener, por ejemplo, conjuntos 207 de parámetros u otros elementos de sintaxis de capa alta que incluyen información 208 de límite de mosaico para identificar el límite 204 de mosaico. Las partes del flujo de bits que no sean los conjuntos 207 de parámetros, sin embargo, no incluyen ninguna información sobre los límites de mosaico. Un decodificador puede identificar el mosaico al que pertenece un macrobloque codificado (también conocido como unidad de codificación más grande (LCU) o (en WD4) bloque de árbol) asociando su información de estado interno del macrobloque que se está procesando actualmente y la información de las dimensiones de los mosaicos conocidas del conjunto 207 de parámetros.
Una diferencia entre los mosaicos y otros mecanismos de segmentación de imágenes rectangulares, como las porciones rectangulares (un submodo del Anexo K de la Rec. UIT-T. H.263) es que un mosaico (a diferencia de las porciones rectangulares) no requiere un encabezado. En cambio, las dimensiones físicas de un mosaico se pueden definir en el conjunto de parámetros sin incluir un encabezado. En ciertos casos (con tile_boundary_independence_idc igual a 1), los límites de mosaico de acuerdo con WD4 interrumpen todos los mecanismos de predicción en la imagen, pero permiten la referencia de muestras en imágenes de referencia que no están coubicadas con las muestras asociadas con el mosaico para el cual la compensación de movimiento está siendo realizada. Además, los límites de mosaico no interrumpen el filtrado en bucle, incluido el filtro de desbloqueo, el filtro de compensación adaptativa de muestra y el filtro de bucle adaptativo.
Sin embargo, también puede ser conveniente o deseable que un codificador o decodificador rompa un conjunto diferente de mecanismos de predicción usando mosaicos. Por ejemplo, a una resolución extremadamente alta, puede ser ventajoso dividir las imágenes de video en mosaicos sujetos a los requisitos de que los vectores de movimiento no pueden apuntar fuera de los límites de mosaico, y/o que el codificador y decodificador trata un límite de mosaico como un límite de imagen (similar a H.263 anexo R), o similar, evitando así, por ejemplo, no solo la compensación de movimiento a través de los límites de mosaico sino también el filtrado en bucle.
En otros casos, puede ser conveniente o deseable que el codificador o decodificador pueda manejar la codificación de video de resolución completa excepto la codificación de entropía de símbolos. Tal codificador o decodificador podría, por ejemplo, involucrar hardware de procesamiento de señal dedicado para el procesamiento basado en muestras, pero puede usar una CPU multinúcleo de propósito general para la codificación y/o decodificación de entropía, donde un solo núcleo no podría manejar la carga (en HEVC, se sabe que especialmente la codificación de entropía CABAC es computacionalmente exigente). En consecuencia, para soportar este caso de uso, puede ser necesario romper la codificación de entropía en los límites de mosaico, mientras que otros mecanismos de predicción en la imagen o entre imágenes pueden ser capaces de cruzar los límites de porción y/o mosaico.
En otros casos, puede ser conveniente o deseable que el codificador o decodificador permita una coordinación limitada entre procesadores a través de los límites de mosaico. En tales casos, las referencias a los valores de los píxeles pueden no ser posibles, mientras que la referencia a la información de control (como la información necesaria para la predicción del vector de movimiento) puede estar disponible en el canal de comunicación entre los procesadores. En tal caso, la intrapredicción puede no ser posible, pero podría usarse la predicción del vector de movimiento.
Puede haber herramientas de codificación que no estén directamente relacionadas con la predicción, pero que aun así pueden ser interrumpidas de manera ventajosa a través de los límites de porción o mosaico. Por ejemplo, la solicitud de patente de los Estados Unidos en trámite junto con la presente, número de serie. 13/286.828, presentada el 1 de noviembre de 2011, titulada "INTERPOLACIÓN ADAPTATIVA EN LA CODIFICACIÓN DE VÍDEO DIGITAL", divulga un filtro de interpolación adaptativa cuya naturaleza y coeficientes pueden ser seleccionables por codificador. Puede resultar ventajoso limitar el uso de muestras fuera de una porción para el filtrado de interpolación. De manera similar, WD4 incluye un filtro de interpolación adaptativa, cuyo control se deriva, al menos en parte, de ciertos píxeles. Puede ser ventajoso limitar esta derivación a píxeles solo dentro del límite de porción o mosaico. También puede ser ventajoso limitar el filtrado en sí mismo (en contraste con la derivación de la información de control del filtro) a los píxeles dentro de los límites de porción o mosaico. Además, WD4 incluye otros filtros de bucle, como el filtro de bucle adaptativo (que se ocupa de filtrar todas las muestras), un filtro de desbloqueo (que se ocupa de filtrar los límites de bloque) y un mecanismo de filtrado conocido como desplazamiento adaptativo de muestra. Todos estos filtros pueden compartir propiedades similares a AIF. Por ejemplo, en el caso del filtro de bucle adaptativo, como se especifica en WD4, puede ser ventajoso (posiblemente de forma independiente) deshabilitar el acceso a la información usada para derivar las derivaciones del filtro a través de los límites de mosaico, así como deshabilitar el filtrado a través de los límites de mosaico.
Los límites de los segmentos pueden estar definidos por estructuras de sintaxis de nivel de imagen (o superior), como, por ejemplo, conjuntos de parámetros cuando se usan mosaicos WD4, por información de encabezado de segmento (como, por ejemplo, porciones rectangulares H.263 Anexo K), mediante una combinación de colocación de un encabezado de segmento en el flujo de bits y el estado del codificador/decodificador (como, por ejemplo, porciones H.264 cuando no se usa el ordenamiento de macrobloques flexible (FMO)), o una combinación de dos o más de los mecanismos antes mencionados (es decir, FMO define grupos de porciones, y el segmento de imagen se define dentro del grupo de porciones a través de una combinación de ubicaciones de encabezados de segmento en el flujo de bits (identificando el primer macrobloque de la porción por su dirección) y ascendencia implícita de direcciones de macrobloque dentro del grupo de porciones hasta que se detecte el final de la porción a través del análisis de flujo de bits u otros medios).
Ahora se describen los primeros mecanismos que permiten la selección de herramientas de predicción para los límites de mosaico, seguidos de los mecanismos que permiten la selección de herramientas de predicción para los límites de porción. Finalmente, se describe el interfuncionamiento de los dos mecanismos.
En referencia a un ejemplo 300 en la figura 3, se muestra un flujo 301 de bits codificado que comprende un conjunto 302 de parámetros y dos porciones codificadas 304, 305. Las porciones codificadas 304, 305 pueden pertenecer a una o dos imágenes codificadas. En WD4, un límite de imagen se puede identificar mediante un encabezado de porción con una dirección LCU de 0. El conjunto 302 de parámetros puede incluir información 303 de control de mosaico (como los límites de mosaico) y, en este ejemplo, se supone que la información en el conjunto 302 de parámetros pertenece a ambas porciones codificadas (es decir, la referencia del conjunto de parámetros en el encabezado de porción contiene el mismo índice). En muchos sistemas basados en WD4 y H.264, un conjunto de parámetros se refiere a decenas, centenas o más porciones.
De acuerdo con una realización, el conjunto 302 de parámetros puede contener una pluralidad de indicadores de indicación de herramienta de predicción (PTI). Cuando las PTI están establecidas (es decir, habilitadas), por ejemplo, se puede permitir la predicción a través de los límites de segmento, cualquiera que sea la herramienta de codificación o decodificación que esté asociada con la bandera; de lo contrario, cuando las PTI no están configuradas (es decir, deshabilitadas), tal predicción puede estar prohibida. Se pueden definir indicadores, por ejemplo, para predicción 306 de codificación de entropía, intrapredicción 307, predicción 308 de vector de movimiento, predicción 309 de movimiento compensado, filtrado 310 de bucle adaptativo, filtrado 311 de interpolación adaptativa, filtrado 312 de desbloqueo, desplazamiento adaptativo 313 de muestra y posiblemente otras herramientas de predicción y filtrado en bucle definidas en el mecanismo de codificación de vídeo.
La inclusión de PTI para la predicción individual y los mecanismos de filtrado en bucle, que pertenecen a todas las porciones e imágenes que hacen referencia al conjunto de parámetros, puede ayudar a adaptar el flujo de bits al entorno de codificación y/o decodificación, como la arquitectura de hardware del codificador o decodificador. Dado que los indicadores pueden ser parte de un conjunto de parámetros, que puede aplicarse a muchos porciones o imágenes, la sobrecarga de las PTI en el conjunto de parámetros puede ser insignificante en comparación con los beneficios que brindan.
En referencia al ejemplo 400 representado en la figura 4, se muestra un flujo 401 de bits codificado que comprende un conjunto 402 de parámetros y una imagen codificada que contiene dos porciones 403, 404. Cada porción comienza con un encabezado 405, 406 de porción. El encabezado 405 de porción se amplía para mostrar partes de su información.
De acuerdo con una realización, el encabezado 405 de porción puede contener una pluralidad de indicadores de indicación de herramienta de predicción (PTI). Cuando se establecen uno o más de las PTI, por ejemplo, se puede permitir la predicción y/o el filtrado en bucle a través de los límites de segmento mediante cualquier herramienta de codificación o decodificación asociada con la bandera; de lo contrario, cuando no se establecen las PTI, tal predicción puede estar prohibida. Las PTI pueden definirse, por ejemplo, para la predicción 407 de entropía, la intrapredicción 408, la predicción 409 del vector de movimiento, la predicción 410 de movimiento compensado, el filtrado 411 de bucle adaptativo, el filtrado 412 de interpolación adaptativa, el filtrado 413 de desbloqueo, la compensación adaptativa 414 de muestra y posiblemente otra predicción y herramientas de filtrado en bucle definidas en el mecanismo de codificación de vídeo.
La inclusión de PTI para la predicción individual y los mecanismos de filtrado en bucle que pertenecen a una porción determinada pueden ayudar a adaptar el flujo de bits al contenido, mejorando así la eficiencia de la codificación.
Ahora se describe cómo pueden interactuar los dos mecanismos descritos anteriormente.
En referencia a un ejemplo 500 mostrado en la figura 5, se muestra un flujo 501 de bits codificado que contiene un conjunto 502 de parámetros y dos porciones 503, 504, cada uno comenzando con un encabezado 505, 506 de porción correspondiente.
El conjunto 502 de parámetros, que se muestra ampliado en 507, por ejemplo, incluye información 508 de control de mosaico u otra información relacionada con los límites de segmento sin encabezado que, por ejemplo, podría indicar un límite 204 de mosaico vertical como se muestra en la figura 2. Además, el conjunto 502 de parámetros puede contener una o más PTI. Aquí se muestran tres PTI, una asociad con la predicción 509 de entropía, una con la intrapredicción 510 y una con la compensación 511 de movimiento. Estos indicadores pueden controlar la predicción del decodificador en el límite 204 de mosaico. El límite 204 de mosaico puede, por ejemplo, establecerse mediante la información 508 de control de mosaico de modo que la imagen 201 se divida verticalmente en dos mosaicos 202, 203. El mecanismo descrito aquí también puede funcionar con otras disposiciones de límites de mosaico, incluida una combinación de límites verticales y horizontales.
La imagen codificada puede, por ejemplo, contener también dos porciones codificadas 503, 504, cada una comenzando con un encabezado 505, 506 de porción correspondiente. Como se muestra en la figura 2, las porciones (no codificadas) correspondientes a las porciones codificadas 503, 504 pueden, por ejemplo, abarcar el área espacial de las direcciones 1 a 14 y 15 a 24 de macrobloque, respectivamente. El encabezado 506 de porción se muestra ampliado en 512 y puede contener una pluralidad de PTI. Se muestran dos PTI, una asociada con la intrapredicción 513, la otra con el filtrado 514 de bucle adaptativo (ALF). Sin embargo, se observa que puede haber, pero no es un requisito, una superposición entre las PTI del conjunto 502 de parámetros o el encabezado 506 de porción.
De acuerdo con una realización, las PTI 509, 510, 511 del conjunto 502 de parámetros controlan la predicción y el filtrado en bucle a través del límite 204 de mosaico según lo definido por la información 508 de control de mosaico.
De acuerdo con una realización, las PTI 513, 514 del encabezado 512 de porción controlan la predicción y el filtrado en bucle a través de los límites entre las porciones 503, 504. Por ejemplo, los límites de porción de la porción 504 tienen un límite distinto del límite de la imagen, que está marcado por la línea 205 de límite de porción en negrita discontinua.
Como resultado, en el ejemplo 200, algunos mecanismos de predicción y filtro en bucle son interrumpidos por los límites de mosaico (para permitir la distribución del esfuerzo de codificación de imágenes entre varios procesadores), mientras que otros mecanismos de predicción y filtro en bucle se interrumpen selectivamente, y bajo el control del encabezado 506 de porción, en los límites de porción (lo que le da al codificador control total sobre la predicción y los mecanismos de filtrado en bucle que se rompen, para poder seleccionar cualquier combinación particular de predicción y mecanismos de filtrado en bucle para el contenido que está siendo codificado, incluidas las combinaciones que pueden ser deseables o convenientes para una determinada aplicación o uso).
Si una PTI perteneciente a la misma predicción o mecanismo de filtrado en bucle está presente tanto en el conjunto 502 de parámetros como en un encabezado 506 de porción, y en la situación en la que los límites de mosaico y porción correspondientes están alineados, al menos dos reacciones del decodificador pueden ser posibles. Estas elecciones pueden especificarse estáticamente en el estándar, a través de una selección de perfil/nivel, o basarse dinámicamente en la información de control en un conjunto de parámetros u otros elementos de sintaxis de capa superior.
Una opción es que las PTI en el conjunto 502 de parámetros sobrescriban información contradictoria en el encabezado 506 de porción. Esta elección puede tener la ventaja de proporcionar a un decodificador la certeza de que puede distribuir segmentos a varios procesadores o núcleos, sin tener que implementar mecanismos que permitan compartir información entre esos segmentos.
Otra elección es que las PTI en el encabezado 508 de porción sobrescriban la información contradictoria en el conjunto 502 de parámetros. Esta elección puede permitir una mayor flexibilidad del codificador al elegir sus herramientas. También pueden ser posibles otras reacciones.
Para optimizar la codificación de los indicadores (ya sea que estén ubicados en el encabezado 508 de porción o en el conjunto 502 de parámetros), en algunos casos, puede ser beneficioso especificar en un estándar cualquiera de los siguientes:
(1) algunas PTI pueden no ser parte de un conjunto de parámetros o encabezado de porción si se indica un cierto perfil y/o nivel, ya que la herramienta de predicción o filtrado en bucle no está disponible en este perfil/nivel.
(2) dos o más PTI pueden "agruparse" en una única combinación de PTI si, por ejemplo, en un determinado perfil, se determina que la flexibilidad de encender/apagar esas PTI individuales de forma independiente es innecesaria o incluso indeseable.
(3) en algunos casos, es posible que una PTI no se codifique mejor como un parámetro booleano (es decir, binario). Por ejemplo, la necesidad de coordinación entre procesadores en caso de compensación de movimiento puede estar determinada, al menos en parte, por la longitud del vector de movimiento que apunta fuera del área espacial coubicada cubierta por la porción o mosaico. En consecuencia, en una realización, la información de PTI también puede codificarse como un número entero u otro parámetro no booleano, para indicar rangos de valores adecuados para la predicción, como la longitud máxima de un vector de movimiento que apunta fuera de un límite de segmento.
(4) en algunos casos, puede que no sea necesario que los valores de PTI estén físicamente presentes en el flujo de bits, ya que sus valores pueden derivarse de otras propiedades del flujo de bits. Por ejemplo, es posible que una intraporción no necesite contener una PTI relacionada con la compensación de movimiento, porque la compensación de movimiento puede, por diseño del estándar, no ocurrir en un intraporción.
Ahora se describe el funcionamiento de un codificador que, de acuerdo con las realizaciones, puede ser adecuado para usar con cualquiera de las configuraciones de información PTI descritas anteriormente.
En referencia a la figura 6, en una realización, un codificador puede funcionar de acuerdo con el diagrama 600 de flujo. Antes de codificar una primera porción de una secuencia de video, el codificador puede determinar (601) los ajustes relacionados con la secuencia para las PTI, así como una disposición de mosaico de las imágenes de video en la secuencia de video. Esta determinación puede tener en cuenta la arquitectura de hardware del codificador, la arquitectura de hardware de un decodificador, una posible disposición de mosaico sugerido o dictado por las arquitecturas de hardware, el conocimiento sobre una red de transmisión (si existe), como el tamaño de MTU, y demás. En algunos casos, los valores de PTI pueden ser exigidos por un estándar a nivel del sistema, que el codificador puede tener en cuenta en la determinación. Por ejemplo, es posible que un futuro estándar de televisión digital requiera que se use una cierta disposición de mosaico y ciertas configuraciones de PTI que controlen la predicción y el filtrado en bucle a través de los límites de mosaico para ciertas (altas) resoluciones, para permitir implementaciones rentables de multiprocesador/multinúcleo. Es posible que solo sea necesario fijar un subconjunto de todas las PTI a nivel de secuencia.
Varias opciones para esos ajustes ya se han descrito antes.
Después de la determinación, el codificador puede codificar (602) las PTI relacionadas con la secuencia en una estructura de sintaxis de alto nivel apropiada, como un conjunto de parámetros de secuencia o imagen, secuencia, GOP o encabezado de imagen. El codificador también puede tener la opción (a través de la estructura sintáctica del estándar de codificación de video) para dejar las PTI sin definir durante esta codificación.
Las PTI relacionadas con la secuencia pueden permanecer constantes al menos durante una imagen de video completa (a menos que las PTI basadas en encabezados de porción los sobrescriban, como se describe más adelante), pero, en muchos casos, pueden permanecer constantes durante al menos una "secuencia" (por ejemplo, todas las imágenes entre dos imágenes IDR y la imagen IDR principal en el flujo de video), y quizás durante una sesión de codificación de video completa. Por ejemplo, las PTI relacionadas con la secuencia pueden ser accionadas, al menos en parte, por restricciones de hardware, que es poco probable que cambien durante una sesión. De ahora en adelante se asume por conveniencia este último caso.
El codificador continúa codificando porciones. Para hacerlo, el codificador puede determinar 603 las PTI a nivel de segmento, que pueden interactuar con las PTI relacionadas con la secuencia, como ya se ha descrito. Las PTI a nivel de porción pueden codificarse 604 como parte de la codificación del encabezado de porción.
Luego, la porción se puede codificar 605 de acuerdo con cualquier estándar de codificación que se esté aplicando, como WD4 o H.264, teniendo en cuenta la ruptura de la predicción y/o los mecanismos de filtrado en bucle a través de los límites de porción y de mosaico, como se indica por las PTI.
La codificación continúa 606 con la siguiente porción.
Ahora se describe el funcionamiento de un decodificador que, de acuerdo con las realizaciones, puede ser adecuado para usar con cualquiera de las configuraciones de información PTI descritas anteriormente.
La figura 7 es un diagrama 700 de flujo de un decodificador que puede usarse en una realización de la invención. El decodificador puede recibir 701 una unidad NAL del flujo de bits y determinar su tipo. Si el tipo de unidad NAL es indicativo de un conjunto 702 de parámetros, el decodificador puede realizar el análisis y almacenamiento 703 del conjunto de parámetros de acuerdo con el estándar de codificación de video empleado. (Otras estructuras de sintaxis de alto nivel, como secuencias, GOP o encabezados de imagen, también se pueden usar para este propósito).
Si el tipo de unidad NAL es indicativo de datos 704 de porción (otros casos no representados), el decodificador puede analizar el encabezado 705 de porción y luego responder de acuerdo con la información, tal como información PTI, codificada allí. Por ejemplo, el encabezado de porción puede contener una referencia de conjunto de parámetros, y este conjunto de parámetros puede "activarse" 706 como se describe en el estándar de codificación de video, es decir, los valores del conjunto de parámetros con la referencia indicada se vuelven válidos. Como las PTI pueden ser parte del conjunto de parámetros, a través de la activación 706, sus valores también pueden volverse válidos.
El encabezado de porción puede incluir además sus propias PTI, como ya se ha descrito, que pueden ser diferentes de las PTI incluidas en el conjunto de parámetros. Ya se han descrito las opciones sobre cómo arbitrar entre la información de PTI codificada en el encabezado de porción y la información de PTI codificada en el conjunto de parámetros. Por ejemplo, al correlacionar las PTI basadas en encabezados de porción (si están presentes) con las PTI del encabezado del conjunto de parámetros (si están presentes), y teniendo en cuenta cualquier restricción que pueda estar presente en otras partes de los estándares de codificación de video (como restricciones y/o ajustes predeterminados de PTI por perfiles y niveles), el decodificador puede determinar 707 los ajustes finales de PTI que se usarán para decodificar la porción sujeto. Se observa que las PTI pueden ser diferentes para diferentes bordes de la porción, dependiendo de la configuración de PTI del conjunto de parámetros y la configuración de PTI del encabezado de porción, incluido el caso particular de cuando un límite de porción está alineado con un límite de mosaico.
Teniendo en cuenta los ajustes finales de PTI, el decodificador puede decodificar 708 la porción usando técnicas de predicción y/o filtrado en bucle a través de los límites de porción o mosaico como indica la información codificada en las PTI.
El proceso continúa 709 con la siguiente unidad NAL.
No se muestra en la figura 7 es el procesamiento de unidades NAL que no sean unidades NAL de porción o conjunto de parámetros.
La figura 8 es un diagrama de bloques que ilustra una implementación basada en un sistema 800 de procesamiento de datos (por ejemplo, una computadora personal ("PC")) de acuerdo con una realización de la invención. Hasta este punto, por conveniencia, la descripción no se ha relacionado explícitamente con posibles implementaciones físicas del codificador y/o decodificador en detalle. Son posibles muchas implementaciones físicas diferentes basadas en combinaciones de software y/o componentes. Por ejemplo, en algunas realizaciones, los codificadores y/o decodificadores de video pueden implementarse usando circuitos integrados personalizados o de matriz de puertas, en muchos casos, por razones relacionadas con la rentabilidad y/o la eficiencia del consumo de energía.
Además, las implementaciones basadas en software son posibles usando arquitecturas de procesamiento de propósito general, un ejemplo de las cuales es el sistema 800 de procesamiento de datos. Por ejemplo, usando una computadora personal o dispositivo similar (por ejemplo, decodificador, computadora portátil, dispositivo móvil), tal estrategia de implementación puede ser posible como se describe a continuación. Como se muestra en la figura 8, de acuerdo con las realizaciones descritas, el codificador y/o el decodificador para PC o dispositivo similar 800 puede proporcionarse en forma de un medio legible por computadora 801 (por ejemplo, CD-ROM, semiconductor-ROM, tarjeta de memoria) que contiene instrucciones configuradas para habilitar un procesador 802, solo o en combinación con hardware acelerador (por ejemplo, procesador de gráficos) 803, junto con memoria 804 acoplada al procesador 802 y/o el hardware acelerador 803 para realizar la codificación o decodificación. El procesador 802, la memoria 804 y el hardware acelerador 803 se pueden acoplar a un bus 805 que se puede usar para entregar el flujo de bits y el video sin comprimir a/desde los dispositivos antes mencionados. Dependiendo de la aplicación, los periféricos para la entrada/salida del flujo de bits o el video sin comprimir pueden acoplarse al bus 805. Por ejemplo, se puede conectar una cámara 806 a través de una interfaz adecuada, como un capturador 807 de tramas o un enlace 808 de USB, al bus 805 para la entrada en tiempo real de vídeo sin comprimir. Se puede usar una interfaz similar para dispositivos de almacenamiento de video sin comprimir como VTR. El video sin comprimir puede salir a través de un dispositivo de visualización como un monitor de computadora o una pantalla 809 de TV. Se puede usar una unidad de DVD RW o equivalente (por ejemplo, CD ROM, CD-RW Blue Ray, tarjeta de memoria) 810 para introducir y/o enviar el flujo de bits. Finalmente, para la transmisión en tiempo real a través de una red 812, se puede usar una interfaz 811 de red para transmitir el flujo de bits y/o el video sin comprimir, dependiendo de la capacidad del enlace de acceso a la red 812 y la propia red 812.
De acuerdo con diversas realizaciones, el método o métodos descritos anteriormente pueden implementarse mediante un módulo de software respectivo. De acuerdo con otras realizaciones, los métodos descritos anteriormente pueden implementarse mediante un módulo de hardware respectivo. De acuerdo con otras realizaciones más, el método o métodos descritos anteriormente pueden implementarse mediante una combinación de módulos de software y/o hardware.
Si bien las realizaciones, por conveniencia, se han descrito principalmente en referencia a un método de ejemplo, el aparato discutido anteriormente en referencia a un sistema 800 de procesamiento de datos puede, de acuerdo con las realizaciones descritas, programarse para permitir la práctica del método o métodos descritos. Además, un artículo de fabricación para su uso con un sistema 800 de procesamiento de datos, como un dispositivo de almacenamiento pregrabado u otro medio o producto legible por computadora similar que incluye instrucciones de programa grabadas en el mismo, puede dirigir el sistema 800 de procesamiento de datos para facilitar la práctica del método o métodos descritos. Se entiende que dichos aparatos y artículos de fabricación, además de los métodos descritos, caen todos dentro del alcance de las realizaciones descritas.
En particular, las secuencias de instrucciones que, cuando se ejecutan, provocan que el sistema 800 de procesamiento de datos realice el método descrito en el presente documento, pueden estar contenidas en un producto de soporte de datos de acuerdo con una realización de la invención. Este producto de soporte de datos puede cargarse y ejecutarse mediante el sistema 800 de procesamiento de datos. Además, las secuencias de instrucciones que, cuando se ejecutan, provocan que el sistema 800 de procesamiento de datos realice el método descrito en el presente documento pueden estar contenidas en un programa informático o producto de software de acuerdo con una realización de la invención. Este programa informático o producto de software puede cargarse y ejecutarse mediante el sistema 800 de procesamiento de datos. Además, las secuencias de instrucciones que, cuando se ejecutan, hacen que el sistema 800 de procesamiento de datos realice el método descrito en el presente documento pueden estar contenidas en un producto de circuito integrado (por ejemplo, un módulo o módulos de hardware) que puede incluir un coprocesador o una memoria de acuerdo con una realización de la invención. Este producto de circuito integrado se puede instalar en el sistema 800 de procesamiento de datos.
Las realizaciones anteriores pueden contribuir a un sistema y método mejorados para romper selectivamente la predicción y/o el filtrado en bucle en la codificación de vídeo y pueden proporcionar una o más ventajas. Por ejemplo, la inclusión de PTI para predicción individual y/o mecanismos de filtrado en bucle, que pertenecen a todas las porciones e imágenes que hacen referencia al conjunto de parámetros, puede ayudar a adaptar el flujo de bits al entorno de codificación y/o decodificación, como la arquitectura de hardware del codificador o decodificador. Además, la inclusión de PTI para predicción individual y/o mecanismos de filtrado en bucle que pertenecen a una porción determinada puede ayudar a adaptar el flujo de bits al contenido, mejorando así la eficiencia de la codificación.

Claims (3)

REIVINDICACIONES
1. - Un método para decodificar un flujo (206, 301, 401, 501) de bits correspondiente a una imagen (201) de video codificada que comprende una pluralidad de segmentos (202, 203) de mosaico que coexisten con porciones dentro de la imagen de video codificada de modo que la imagen (201, 301) de video codificada se divide en segmentos de mosaico por límites (204) de segmento de mosaico y en porciones por límites de porción, comprendiendo el método:
con respecto a al menos un segmento de mosaico de la imagen de video codificada que no tiene un encabezado de segmento de mosaico asociado, obtener de un conjunto (207) de parámetros contenido en el flujo (206, 301,401, 501) de bits una indicación (313, 414) sobre la que se va a aplicar una operación de compensación adaptativa de muestra a través de los límites de segmento de mosaico de la imagen de video codificada, donde la indicación del conjunto de parámetros se define individualmente para la operación de compensación adaptativa de muestra y se define una segunda indicación en el conjunto de parámetros para una herramienta de predicción, de tal manera que la indicación para la operación de compensación adaptativa de muestra esté separada de la segunda indicación para la herramienta de predicción;
con respecto a al menos una porción, obtener de un encabezado (405) de porción una indicación sobre la que se va a aplicar una operación de compensación adaptativa de muestra a través de un límite de porción, donde la indicación en el encabezado de porción se define individualmente para la operación de compensación adaptativa de muestra y se define una segunda indicación en el encabezado de porción para una herramienta de predicción, de modo que la indicación para la operación de compensación adaptativa de muestra está separada de la segunda indicación para la herramienta de predicción; y
controlar la operación de compensación adaptativa de muestra a través de un límite de segmento de mosaico entre segmentos de mosaico en respuesta a la indicación del conjunto (207) de parámetros y controlar la operación de compensación adaptativa de muestra a través del límite de porción en respuesta a la indicación del encabezado (405) de porción,
en el que la imagen de vídeo codificada contiene al menos dos segmentos de mosaico sin un encabezado de segmento asociado.
2. - El método de la reivindicación 1, en el que si un límite de segmento de mosaico y un límite de porción están alineados y la indicación del conjunto de parámetros contradice la indicación del encabezado de porción, la indicación del conjunto de parámetros sobrescribe la indicación del encabezado de porción.
3. - El método de la reivindicación 1, en el que si un límite de segmento de mosaico y un límite de porción están alineados y la indicación del conjunto de parámetros contradice la indicación del encabezado de porción, la indicación del encabezado de porción sobrescribe la indicación del conjunto de parámetros.
ES18197423T 2010-12-28 2011-12-28 Método y sistema para romper selectivamente la predicción en la codificación de video Active ES2914608T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201061427569P 2010-12-28 2010-12-28
US13/336,475 US9060174B2 (en) 2010-12-28 2011-12-23 Method and system for selectively breaking prediction in video coding

Publications (1)

Publication Number Publication Date
ES2914608T3 true ES2914608T3 (es) 2022-06-14

Family

ID=46316772

Family Applications (4)

Application Number Title Priority Date Filing Date
ES11852303T Active ES2698438T3 (es) 2010-12-28 2011-12-28 Procedimiento para interrumpir de manera selectiva la predicción en la codificación de vídeo
ES11853888T Active ES2811234T3 (es) 2010-12-28 2011-12-28 Método para segmentación de imágenes usando columnas
ES18197423T Active ES2914608T3 (es) 2010-12-28 2011-12-28 Método y sistema para romper selectivamente la predicción en la codificación de video
ES22159870T Active ES3033855T3 (en) 2010-12-28 2011-12-28 System for selectively breaking prediction in video decoding

Family Applications Before (2)

Application Number Title Priority Date Filing Date
ES11852303T Active ES2698438T3 (es) 2010-12-28 2011-12-28 Procedimiento para interrumpir de manera selectiva la predicción en la codificación de vídeo
ES11853888T Active ES2811234T3 (es) 2010-12-28 2011-12-28 Método para segmentación de imágenes usando columnas

Family Applications After (1)

Application Number Title Priority Date Filing Date
ES22159870T Active ES3033855T3 (en) 2010-12-28 2011-12-28 System for selectively breaking prediction in video decoding

Country Status (15)

Country Link
US (17) US9060174B2 (es)
EP (7) EP3697087A1 (es)
CN (17) CN106488228B (es)
CY (2) CY1121428T1 (es)
DK (3) DK3445051T3 (es)
ES (4) ES2698438T3 (es)
HR (4) HRP20181962T1 (es)
HU (3) HUE072071T2 (es)
LT (3) LT2659675T (es)
PL (4) PL2659679T3 (es)
PT (3) PT2659679T (es)
RS (4) RS67041B1 (es)
SI (3) SI3445051T1 (es)
SM (4) SMT202200200T1 (es)
WO (2) WO2012088594A1 (es)

Families Citing this family (105)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9060174B2 (en) 2010-12-28 2015-06-16 Fish Dive, Inc. Method and system for selectively breaking prediction in video coding
US9215473B2 (en) 2011-01-26 2015-12-15 Qualcomm Incorporated Sub-slices in video coding
FR2972588A1 (fr) 2011-03-07 2012-09-14 France Telecom Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants
US20120230398A1 (en) * 2011-03-10 2012-09-13 Christopher Andrew Segall Video decoder parallelization including slices
US20120230399A1 (en) * 2011-03-10 2012-09-13 Christopher Andrew Segall Video decoder parallelization including a bitstream signal
WO2012142966A1 (en) * 2011-04-21 2012-10-26 Mediatek Inc. Method and apparatus for improved in-loop filtering
KR20140005296A (ko) * 2011-06-10 2014-01-14 미디어텍 인크. 스케일러블 비디오 코딩의 방법 및 장치
FR2977111A1 (fr) 2011-06-24 2012-12-28 France Telecom Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants
US9398307B2 (en) * 2011-07-11 2016-07-19 Sharp Kabushiki Kaisha Video decoder for tiles
US8767824B2 (en) 2011-07-11 2014-07-01 Sharp Kabushiki Kaisha Video decoder parallelization for tiles
PH12013501696A1 (en) * 2011-08-11 2013-10-07 Sun Patent Trust Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus
EP2749029A4 (en) * 2011-08-25 2015-01-21 Panasonic Ip Corp America METHOD AND DEVICES FOR CODING, EXTRACTION AND DECODING VIDEO CONTENT BY MEANS OF A TILE CODING SCHEME
JPWO2013046504A1 (ja) * 2011-09-29 2015-03-26 パナソニックIpマネジメント株式会社 算術復号装置、画像復号装置、および算術復号方法
US9584819B2 (en) * 2011-10-24 2017-02-28 Qualcomm Incorporated Grouping of tiles for video coding
US20130107973A1 (en) * 2011-10-28 2013-05-02 Qualcomm Incorporated Loop filtering control over tile boundaries
US9077998B2 (en) 2011-11-04 2015-07-07 Qualcomm Incorporated Padding of segments in coded slice NAL units
US9124895B2 (en) 2011-11-04 2015-09-01 Qualcomm Incorporated Video coding with network abstraction layer units that include multiple encoded picture partitions
CN108337512B (zh) * 2011-12-29 2020-10-27 Lg 电子株式会社 视频编码和解码方法和使用该方法的装置
US9154787B2 (en) 2012-01-19 2015-10-06 Qualcomm Incorporated Sub-block level parallel video coding
CA2868088A1 (en) * 2012-01-20 2013-07-25 Samsung Electronics Co., Ltd. Video encoding method and apparatus and video decoding method and apparatus using unified syntax for parallel processing
CN107257490B (zh) * 2012-01-27 2019-12-17 太阳专利托管公司 图像编码方法及图像编码装置
US10244246B2 (en) * 2012-02-02 2019-03-26 Texas Instruments Incorporated Sub-pictures for pixel rate balancing on multi-core platforms
EP4274227A3 (en) * 2012-02-04 2023-11-29 LG Electronics Inc. Video encoding method, video decoding method, and device using same
JP5979406B2 (ja) * 2012-02-22 2016-08-24 ソニー株式会社 画像処理装置、画像処理方法、および画像処理システム
WO2013140722A1 (ja) * 2012-03-21 2013-09-26 パナソニック株式会社 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、および画像符号化復号装置
WO2013173721A1 (en) 2012-05-18 2013-11-21 Home Box Office, Inc. Audio-visual content delivery
CA2841112C (en) 2012-05-25 2019-09-17 Panasonic Corporation Moving picture coding and decoding using context adaptive binary arithmetic coding with fixed probability for some sample adaptive offset parameters
PL2858357T3 (pl) 2012-06-04 2022-11-21 Sun Patent Trust Sposób kodowania obrazów wideo, sposób dekodowania obrazów wideo
US9386307B2 (en) 2012-06-14 2016-07-05 Qualcomm Incorporated Grouping of bypass-coded bins for SAO syntax elements
WO2014003428A1 (ko) 2012-06-26 2014-01-03 엘지전자 주식회사 비디오 인코딩 방법, 비디오 디코딩 방법 및 이를 이용하는 장치
JP6080405B2 (ja) * 2012-06-29 2017-02-15 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
US9554133B2 (en) * 2012-09-18 2017-01-24 Vid Scale, Inc. Method and apparatus for region of interest video coding using tiles and tile groups
US9992490B2 (en) 2012-09-26 2018-06-05 Sony Corporation Video parameter set (VPS) syntax re-ordering for easy access of extension parameters
MY182530A (en) 2012-09-26 2021-01-25 Sun Patent Trust Image decoding method, image coding method, image decoding apparatus, image coding apparatus, and image coding and decoding apparatus
US20140092961A1 (en) * 2012-09-28 2014-04-03 Sharp Laboratories Of America, Inc. Signaling decoder picture buffer information
US20140092985A1 (en) * 2012-09-28 2014-04-03 Sharp Laboratories Of America, Inc. Content initialization for enhancement layer coding
JP6327153B2 (ja) * 2012-12-06 2018-05-23 ソニー株式会社 画像処理装置、画像処理方法、およびプログラム
US10419778B2 (en) 2013-01-04 2019-09-17 Sony Corporation JCTVC-L0227: VPS_extension with updates of profile-tier-level syntax structure
US10219006B2 (en) * 2013-01-04 2019-02-26 Sony Corporation JCTVC-L0226: VPS and VPS_extension updates
US20140254659A1 (en) 2013-03-11 2014-09-11 Mediatek Inc. Video coding method using at least evaluated visual quality and related video coding apparatus
EP3008896B1 (en) 2013-07-15 2021-03-31 Sony Corporation Extensions of motion-constrained tile sets sei message for interactivity
US20150049099A1 (en) * 2013-08-13 2015-02-19 Mediatek Inc. Data processing apparatus for transmitting/receiving compressed pixel data groups of picture over display interface and related data processing method
US10313682B2 (en) * 2013-08-26 2019-06-04 Qualcomm Incorporated Determining regions when performing intra block copying
KR20160054530A (ko) * 2013-09-06 2016-05-16 미쓰비시덴키 가부시키가이샤 동화상 부호화 장치, 동화상 트랜스코드 장치, 동화상 부호화 방법, 동화상 트랜스코드 방법 및 동화상 스트림 전송 시스템
US9270999B2 (en) 2013-09-25 2016-02-23 Apple Inc. Delayed chroma processing in block processing pipelines
CN110225349B (zh) * 2013-10-14 2023-06-02 韩国电子通信研究院 用于支持多层的视频编码/解码方法和计算机可读记录介质
WO2015127581A1 (en) * 2014-02-25 2015-09-03 Mediatek Singapore Pte. Ltd. Methods for switching off the intra prediction filters
JP6129759B2 (ja) * 2014-02-03 2017-05-17 満男 江口 Simd型超並列演算処理装置向け超解像処理方法、装置、プログラム及び記憶媒体
GB2524249B (en) * 2014-03-17 2021-01-20 Sony Interactive Entertainment Inc Image Processing
US9800898B2 (en) * 2014-10-06 2017-10-24 Microsoft Technology Licensing, Llc Syntax structures indicating completion of coded regions
US11146788B2 (en) 2015-06-12 2021-10-12 Qualcomm Incorporated Grouping palette bypass bins for video coding
US9794574B2 (en) * 2016-01-11 2017-10-17 Google Inc. Adaptive tile data size coding for video and image compression
EP3429204B1 (en) * 2016-03-07 2020-04-15 Sony Corporation Encoding device and encoding method
US10805635B1 (en) * 2016-03-22 2020-10-13 NGCodec Inc. Apparatus and method for coding tree unit bit size limit management
US10694202B2 (en) * 2016-12-01 2020-06-23 Qualcomm Incorporated Indication of bilateral filter usage in video coding
JP6565885B2 (ja) * 2016-12-06 2019-08-28 株式会社Jvcケンウッド 画像符号化装置、画像符号化方法及び画像符号化プログラム、並びに画像復号化装置、画像復号化方法及び画像復号化プログラム
JP2018107500A (ja) * 2016-12-22 2018-07-05 キヤノン株式会社 符号化装置、符号化方法及びプログラム、復号装置、復号方法及びプログラム
CN110574069B (zh) * 2017-04-27 2023-02-03 联发科技股份有限公司 用于将虚拟现实图像映射成分段球面投影格式的方法以及装置
CN109426629B (zh) * 2017-08-30 2025-10-31 英特尔公司 用于通过预测位流来预配置加速器的技术
US10552988B2 (en) * 2017-12-22 2020-02-04 Intel Corporation Ordering segments of an image for encoding and transmission to a display device
EP3791582A1 (en) * 2018-05-30 2021-03-17 Huawei Technologies Co., Ltd. Method and apparatus for boundary partition
EP3804319B1 (en) 2018-06-26 2024-10-30 Huawei Technologies Co., Ltd. High-level syntax designs for point cloud coding
US10841602B2 (en) 2018-07-16 2020-11-17 Tencent America LLC Hierarchical tiles
US10375416B1 (en) * 2018-09-05 2019-08-06 Tencent America LLC Segment types in video coding
MX2021003854A (es) * 2018-10-01 2021-05-27 Op Solutions Llc Métodos y sistemas de partición exponencial.
US11785236B2 (en) 2018-11-06 2023-10-10 InterDigital Madision Patent Holdings, SAS Parameter grouping among plural coding units for video encoding and decoding
BR112021008659A2 (pt) 2018-11-07 2021-08-31 Huawei Technologies Co., Ltd. Codificador de vídeo, decodificador de vídeo e métodos correspondentes
KR102154407B1 (ko) * 2018-11-15 2020-09-09 한국전자기술연구원 타일 기반 스트리밍을 위한 모션 제한 av1 영상 부호화 방법 및 장치
EP3900338B1 (en) 2018-12-20 2025-10-15 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for video coding using uniform segment split in pictures
EP3868103A4 (en) * 2018-12-28 2022-03-23 Huawei Technologies Co., Ltd. APPARATUS AND METHODS FOR ENCODING AN IMAGE BY DIVIDING THE SAME INTO SLICES WITH TILES
EP4529174B1 (en) * 2019-01-16 2025-12-31 Telefonaktiebolaget LM Ericsson (publ) VIDEO ENCODING INCLUDING A UNIFORM DIVISION OF PLOTS WITH REMAINDER
CN120455659A (zh) 2019-03-08 2025-08-08 瑞典爱立信有限公司 提供相关/独立分区编码/解码的方法和有关装置
US11910024B2 (en) * 2019-03-11 2024-02-20 Qualcomm Incorporated Boundary handling for adaptive loop filtering
JP7485689B2 (ja) * 2019-03-11 2024-05-16 華為技術有限公司 エンコーダ、デコーダ及び対応する方法
AU2020237053B2 (en) * 2019-03-11 2022-12-15 Tencent America LLC Tile and sub-picture partitioning
EP3734972A1 (en) * 2019-05-03 2020-11-04 InterDigital VC Holdings, Inc. High level syntax simplified video coding tool set for small blocks
WO2020226930A1 (en) * 2019-05-03 2020-11-12 Futurewei Technologies, Inc. Wavefront parallel processing for tile, brick, and slice
US11575504B2 (en) 2019-06-29 2023-02-07 Intel Corporation Cryptographic computing engine for memory load and store units of a microarchitecture pipeline
US11403234B2 (en) 2019-06-29 2022-08-02 Intel Corporation Cryptographic computing using encrypted base addresses and used in multi-tenant environments
US12282567B2 (en) 2019-06-29 2025-04-22 Intel Corporation Cryptographic computing using encrypted base addresses and used in multi-tenant environments
US11580234B2 (en) 2019-06-29 2023-02-14 Intel Corporation Implicit integrity for cryptographic computing
WO2021025165A1 (en) * 2019-08-08 2021-02-11 Panasonic Intellectual Property Corporation Of America System and method for video coding
WO2021025167A1 (en) * 2019-08-08 2021-02-11 Panasonic Intellectual Property Corporation Of America System and method for video coding
CN120017829A (zh) * 2019-08-08 2025-05-16 松下电器(美国)知识产权公司 用于视频编码的系统和方法
WO2021025168A1 (en) 2019-08-08 2021-02-11 Panasonic Intellectual Property Corporation Of America System and method for video coding
CN120302049A (zh) 2019-08-08 2025-07-11 松下电器(美国)知识产权公司 用于视频编码的系统和方法
US12375723B2 (en) * 2019-08-22 2025-07-29 Sharp Kabushiki Kaisha Systems and methods for signaling picture information in video coding
WO2021045130A1 (en) 2019-09-03 2021-03-11 Panasonic Intellectual Property Corporation Of America System and method for video coding
WO2021049593A1 (en) 2019-09-11 2021-03-18 Panasonic Intellectual Property Corporation Of America System and method for video coding
US12143601B2 (en) * 2019-12-05 2024-11-12 Hfi Innovation Inc. Specifying layout in video pictures
KR102842990B1 (ko) * 2020-01-09 2025-08-05 텔레폰악티에볼라겟엘엠에릭슨(펍) 화상 헤더 존재
WO2021170096A1 (en) 2020-02-29 2021-09-02 Beijing Bytedance Network Technology Co., Ltd. Constrains for different coding tools
CN115462085B (zh) * 2020-04-05 2025-06-20 字节跳动有限公司 视频处理方法、装置及可读记录介质
CN115643821B (zh) 2020-04-13 2026-04-14 抖音视界有限公司 视频编解码中的通用约束信息
WO2021233449A1 (en) 2020-05-22 2021-11-25 Beijing Bytedance Network Technology Co., Ltd. Reserved bits in general constraint information of a video
CN116250239B (zh) * 2020-07-27 2025-12-05 字节跳动有限公司 去方块滤波改进
US11580035B2 (en) 2020-12-26 2023-02-14 Intel Corporation Fine-grained stack protection using cryptographic computing
US11669625B2 (en) 2020-12-26 2023-06-06 Intel Corporation Data type based cryptographic computing
US12167008B2 (en) 2021-04-20 2024-12-10 Samsung Electronics Co., Ltd. Operation of video decoding engine for EVC
KR20230022061A (ko) 2021-08-06 2023-02-14 삼성전자주식회사 디코딩 장치 및 그의 동작 방법
CN117882375A (zh) * 2021-08-24 2024-04-12 抖音视界有限公司 用于视频处理的方法、装置和介质
US12321467B2 (en) 2022-06-30 2025-06-03 Intel Corporation Cryptographic computing isolation for multi-tenancy and secure software components
US12306998B2 (en) 2022-06-30 2025-05-20 Intel Corporation Stateless and low-overhead domain isolation using cryptographic computing
US12063367B2 (en) * 2022-07-27 2024-08-13 Qualcomm Incorporated Tracking sample completion in video coding
CN119672589B (zh) * 2024-10-24 2025-10-17 杭州电子科技大学 一种基于卡方过滤的双分支网络视频分割方法

Family Cites Families (77)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4949388A (en) 1987-02-19 1990-08-14 Gtx Corporation Method and apparatus for recognition of graphic symbols
KR960013055A (ko) * 1994-09-27 1996-04-20 김광호 조건부 퀴드트리 분할방식의 화상압축방법 및 장치
US5638128A (en) 1994-11-08 1997-06-10 General Instrument Corporation Of Delaware Pixel interpolation filters for video decompression processor
JPH10143131A (ja) 1996-11-06 1998-05-29 Toshiba Corp 復号画像表示装置とその表示メモリ制御方法
US6263023B1 (en) 1998-10-15 2001-07-17 International Business Machines Corporation High definition television decoder
KR100611999B1 (ko) 1999-08-27 2006-08-11 삼성전자주식회사 그리디 알고리듬을 이용한 객체 기반 콰드 트리 메쉬 움직임 보상방법
US20020114388A1 (en) * 2000-04-14 2002-08-22 Mamoru Ueda Decoder and decoding method, recorded medium, and program
CA2314333A1 (en) 2000-07-21 2002-01-21 University Of British Columbia Computer modelling of fallen snow
CN1254974C (zh) 2000-11-23 2006-05-03 皇家菲利浦电子有限公司 视频编码方法和相应的编码器
US20040062310A1 (en) 2002-01-17 2004-04-01 Zhong Xue Coding distortion removal method, video encoding method, video decoding method, and apparatus and program for the same
FI114679B (fi) 2002-04-29 2004-11-30 Nokia Corp Satunnaisaloituspisteet videokoodauksessa
JP4035717B2 (ja) 2002-08-23 2008-01-23 富士ゼロックス株式会社 画像処理装置及び画像処理方法
CN1482808A (zh) 2002-09-13 2004-03-17 中国科学院计算技术研究所 Mpeg-4视频并行编码中的形状自适应的启发式数据划分方法
US7227901B2 (en) 2002-11-21 2007-06-05 Ub Video Inc. Low-complexity deblocking filter
KR100543700B1 (ko) * 2003-01-30 2006-01-20 삼성전자주식회사 영상의 중복 부호화 및 복호화 방법 및 장치
US20050008240A1 (en) 2003-05-02 2005-01-13 Ashish Banerji Stitching of video for continuous presence multipoint video conferencing
JP2005033336A (ja) 2003-07-08 2005-02-03 Ntt Docomo Inc 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム
US7289562B2 (en) * 2003-08-01 2007-10-30 Polycom, Inc. Adaptive filter to improve H-264 video quality
MXPA06002495A (es) * 2003-09-07 2006-06-20 Microsoft Corp Capa de porcion en codificador/descodificador (codec) de video.
US7724827B2 (en) 2003-09-07 2010-05-25 Microsoft Corporation Multi-layer run level encoding and decoding
JP2005124091A (ja) 2003-10-20 2005-05-12 Sony Corp 復号装置及び復号方法
US7852916B2 (en) 2004-06-27 2010-12-14 Apple Inc. Efficient use of storage in encoding and decoding video data streams
CN2726480Y (zh) 2004-08-12 2005-09-21 巫嘉雄 多功能温煮膳食器
US9560367B2 (en) 2004-09-03 2017-01-31 Nokia Technologies Oy Parameter set and picture header in video coding
FR2875974A1 (fr) * 2004-09-28 2006-03-31 Thomson Licensing Sa Procede et dispositif de codage d'une sequence d'images sources
US20060146734A1 (en) * 2005-01-04 2006-07-06 Nokia Corporation Method and system for low-delay video mixing
CN101371584B (zh) 2006-01-09 2011-12-14 汤姆森特许公司 提供用于多视图视频编码的降低分辨率的更新模式的方法和装置
CN100458932C (zh) * 2006-05-10 2009-02-04 建兴电子科技股份有限公司 学习式写入策略调整方法及其装置
US7949054B2 (en) 2006-06-01 2011-05-24 Microsoft Corporation Flexible data organization for images
KR101213161B1 (ko) 2006-06-14 2012-12-17 삼성전자주식회사 압축영역에서의 비디오 워터마킹 장치 및 그 방법
US8000388B2 (en) 2006-07-17 2011-08-16 Sony Corporation Parallel processing apparatus for video compression
CN101115195B (zh) * 2006-07-24 2010-08-18 同济大学 视频码流的宏块级耦合的解码和环路滤波方法和装置
GB0615068D0 (en) * 2006-07-28 2006-09-06 Ttp Communications Ltd Digital radio systems
US7991236B2 (en) * 2006-10-16 2011-08-02 Nokia Corporation Discardable lower layer adaptations in scalable video coding
CN105430398B (zh) 2006-11-08 2019-06-28 汤姆逊许可证公司 用于环内去伪影滤波的方法和设备
US7742524B2 (en) 2006-11-17 2010-06-22 Lg Electronics Inc. Method and apparatus for decoding/encoding a video signal using inter-layer prediction
US8428125B2 (en) 2006-12-22 2013-04-23 Qualcomm Incorporated Techniques for content adaptive video frame slicing and non-uniform access unit coding
WO2008084996A1 (en) 2007-01-11 2008-07-17 Samsung Electronics Co, . Ltd. Method and apparatus for deblocking-filtering video data
CN101004641A (zh) * 2007-01-23 2007-07-25 张克坚 计算机拼音汉字的输入方法
WO2008129500A2 (en) 2007-04-24 2008-10-30 Nokia Corporation System and method for implementing fast tune-in with intra-coded redundant pictures
KR101482642B1 (ko) * 2007-05-16 2015-01-15 톰슨 라이센싱 다중-뷰 비디오 코딩(mvc) 정보의 디코딩에 슬라이스 그룹들을 이용하기 위한 방법 및 장치
US20100128803A1 (en) 2007-06-08 2010-05-27 Oscar Divorra Escoda Methods and apparatus for in-loop de-artifacting filtering based on multi-lattice sparsity-based filtering
KR101345295B1 (ko) 2007-06-11 2013-12-27 삼성전자주식회사 인트라 픽처만을 이용한 동영상 시퀀스의 부호화시의비트율 제어 방법 및 장치
KR101367659B1 (ko) * 2007-07-12 2014-02-25 삼성전자주식회사 읽기 에러를 줄일 수 있는 멀티 레벨 상 변화 메모리 장치및 그것의 읽기 방법
GB2451434B (en) 2007-07-27 2012-09-19 Hewlett Packard Development Co A method of generating a sequence of display frames for display on a display device
JP2009049460A (ja) * 2007-08-13 2009-03-05 Sony Corp 画像処理装置およびその方法、並びにプログラム
CN101389021B (zh) 2007-09-14 2010-12-22 华为技术有限公司 视频编解码方法及装置
US8619880B2 (en) * 2007-10-10 2013-12-31 Qualcomm Incorporated Universal blockiness correction
DE102007049351A1 (de) 2007-10-15 2009-04-16 Siemens Ag Verfahren und Vorrichtung zum Erstellen eines kodierten Ausgangsvideostroms aus mindestens zwei kodierten Eingangsvideoströmen, sowie Verwendung der Vorrichtung und kodierter Eingangsvideostrom
WO2009069316A1 (ja) * 2007-11-28 2009-06-04 Panasonic Corporation 画像符号化方法および画像符号化装置
US8542748B2 (en) 2008-03-28 2013-09-24 Sharp Laboratories Of America, Inc. Methods and systems for parallel video encoding and decoding
CN101252694B (zh) * 2008-03-31 2011-08-17 清华大学 基于块的视频解码的帧存储压缩和地址映射系统
HUE024173T2 (en) 2008-04-16 2016-05-30 Ge Video Compression Llc Bit-depth scalability
US20090304086A1 (en) 2008-06-06 2009-12-10 Apple Inc. Method and system for video coder and decoder joint optimization
US20090316793A1 (en) 2008-06-20 2009-12-24 Yang Zhijie Michael Method and system for adaptive deblocking for avs1-p2
US8908763B2 (en) * 2008-06-25 2014-12-09 Qualcomm Incorporated Fragmented reference in temporal compression for video coding
US8619856B2 (en) 2008-10-03 2013-12-31 Qualcomm Incorporated Video coding with large macroblocks
US20100128797A1 (en) * 2008-11-24 2010-05-27 Nvidia Corporation Encoding Of An Image Frame As Independent Regions
US9467699B2 (en) 2008-12-03 2016-10-11 Hfi Innovation Inc. Method for performing parallel coding with ordered entropy slices, and associated apparatus
JP5340091B2 (ja) * 2008-12-19 2013-11-13 キヤノン株式会社 画像符号化装置及びその制御方法
DK3567853T3 (da) 2009-03-23 2024-01-02 Ntt Docomo Inc Billedsforudsigelsesafkodningsindretning og billedsforudsigelsesafkodingsfremgangsmåde
JP5343703B2 (ja) * 2009-05-22 2013-11-13 ソニー株式会社 復号処理装置、復号処理方法、およびプログラム
CN104822066A (zh) * 2009-07-01 2015-08-05 汤姆森特许公司 用于视频编码器和解码器的方法和装置
JP5344238B2 (ja) * 2009-07-31 2013-11-20 ソニー株式会社 画像符号化装置および方法、記録媒体、並びにプログラム
KR101456498B1 (ko) * 2009-08-14 2014-10-31 삼성전자주식회사 계층적 부호화 단위의 스캔 순서를 고려한 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
US20110116545A1 (en) 2009-11-17 2011-05-19 Jinwen Zan Methods and devices for in-loop video deblocking
CN101740082A (zh) 2009-11-30 2010-06-16 孟智平 一种基于浏览器的视频剪辑方法及系统
WO2011089798A1 (ja) 2010-01-19 2011-07-28 ルネサスエレクトロニクス株式会社 動画像符号化方法、動画像復号化方法、動画像符号化装置および動画像復号化装置
CN101924938B (zh) * 2010-08-11 2012-09-05 上海交通大学 视频解码宏块预测与边界滤波中相邻块信息的处理方法
WO2012042884A1 (ja) * 2010-09-29 2012-04-05 パナソニック株式会社 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置、プログラムおよび集積回路
US8861617B2 (en) * 2010-10-05 2014-10-14 Mediatek Inc Method and apparatus of region-based adaptive loop filtering
US20120106622A1 (en) * 2010-11-03 2012-05-03 Mediatek Inc. Method and Apparatus of Slice Grouping for High Efficiency Video Coding
US20120134425A1 (en) 2010-11-29 2012-05-31 Faouzi Kossentini Method and System for Adaptive Interpolation in Digital Video Coding
US9060174B2 (en) 2010-12-28 2015-06-16 Fish Dive, Inc. Method and system for selectively breaking prediction in video coding
US9300976B2 (en) 2011-01-14 2016-03-29 Cisco Technology, Inc. Video encoder/decoder, method and computer program product that process tiles of video data
WO2013060250A1 (en) * 2011-10-24 2013-05-02 Mediatek Inc. Method and apparatus for non-cross-tile loop filtering
CN107197259B (zh) * 2012-02-03 2019-11-19 寰发股份有限公司 贯穿图块或条带边界的环路滤波方法及其装置

Also Published As

Publication number Publication date
EP3445051A1 (en) 2019-02-20
CN107105230A (zh) 2017-08-29
EP2659675A4 (en) 2015-07-01
EP4047932A1 (en) 2022-08-24
EP3697087A1 (en) 2020-08-19
EP2659675B1 (en) 2020-07-22
CN106454340A (zh) 2017-02-22
EP2659679B1 (en) 2018-10-03
CN106488228B (zh) 2019-08-13
EP2659675A1 (en) 2013-11-06
WO2012088595A1 (en) 2012-07-05
CY1123166T1 (el) 2021-10-29
SI2659679T1 (sl) 2018-12-31
US20220394271A1 (en) 2022-12-08
EP2659679A1 (en) 2013-11-06
PT2659675T (pt) 2020-08-31
RS57975B1 (sr) 2019-01-31
CN106412578A (zh) 2017-02-15
CN106534848A (zh) 2017-03-22
US20230242954A1 (en) 2023-08-03
DK3445051T3 (da) 2022-05-09
DK2659675T3 (da) 2020-08-24
US20150092842A1 (en) 2015-04-02
SI2659675T1 (sl) 2020-12-31
US11178400B2 (en) 2021-11-16
CN106412577B (zh) 2019-04-12
PL2659679T3 (pl) 2019-01-31
US10104377B2 (en) 2018-10-16
CY1121428T1 (el) 2020-05-29
US20160142725A1 (en) 2016-05-19
RS63227B1 (sr) 2022-06-30
PT2659679T (pt) 2018-11-29
SMT202200200T1 (it) 2022-07-21
SMT202000431T1 (it) 2020-09-10
LT2659675T (lt) 2020-09-10
CN106454340B (zh) 2019-08-06
HK1243570A1 (zh) 2018-07-13
US20160309155A1 (en) 2016-10-20
CN106658000A (zh) 2017-05-10
US20190208212A1 (en) 2019-07-04
PT3445051T (pt) 2022-05-11
CN106534847B (zh) 2019-07-23
US9060174B2 (en) 2015-06-16
CN106534848B (zh) 2019-06-28
LT2659679T (lt) 2018-12-10
EP4047932C0 (en) 2025-05-21
US20240364894A1 (en) 2024-10-31
PL3445051T3 (pl) 2022-08-08
HRP20201314T1 (hr) 2021-03-05
CN106791831A (zh) 2017-05-31
CN103314581A (zh) 2013-09-18
EP3445051B1 (en) 2022-03-16
US20150237352A1 (en) 2015-08-20
CN103314592A (zh) 2013-09-18
CN106412577A (zh) 2017-02-15
CN106488228A (zh) 2017-03-08
HRP20250752T1 (hr) 2025-10-24
CN106791830A (zh) 2017-05-31
SI3445051T1 (sl) 2022-09-30
US20250337914A1 (en) 2025-10-30
WO2012088594A1 (en) 2012-07-05
US9313505B2 (en) 2016-04-12
US20180367798A1 (en) 2018-12-20
CN106658001B (zh) 2019-12-24
HRP20181962T1 (hr) 2019-02-08
CN106454339A (zh) 2017-02-22
CN106412578B (zh) 2019-12-13
US11949878B2 (en) 2024-04-02
RS67041B1 (sr) 2025-08-29
EP4047932B1 (en) 2025-05-21
US11356670B2 (en) 2022-06-07
CN106658000B (zh) 2019-11-05
US20210243449A1 (en) 2021-08-05
SMT202500226T1 (it) 2025-09-12
EP2659679A4 (en) 2015-07-01
HUE051603T2 (hu) 2021-03-01
LT3445051T (lt) 2022-05-25
US20220078444A1 (en) 2022-03-10
CN106454339B (zh) 2019-07-12
US9794573B2 (en) 2017-10-17
CN107105230B (zh) 2020-03-10
CN107071407B (zh) 2020-04-03
CN106851268B (zh) 2019-12-17
RS60712B1 (sr) 2020-09-30
CN106791831B (zh) 2019-11-22
EP4492784A2 (en) 2025-01-15
PL4047932T3 (pl) 2025-07-21
ES2698438T3 (es) 2019-02-04
US10225558B2 (en) 2019-03-05
ES2811234T3 (es) 2021-03-11
US10986344B2 (en) 2021-04-20
US10244239B2 (en) 2019-03-26
EP4027642A1 (en) 2022-07-13
US20250317572A1 (en) 2025-10-09
CN103314592B (zh) 2017-02-15
CN106658001A (zh) 2017-05-10
PL2659675T3 (pl) 2020-11-16
US11582459B2 (en) 2023-02-14
HRP20220632T1 (hr) 2022-07-08
CN106791830B (zh) 2019-11-22
CN107071407A (zh) 2017-08-18
SMT201800634T1 (it) 2019-01-11
US11871000B2 (en) 2024-01-09
CN103314581B (zh) 2016-12-21
US20120163453A1 (en) 2012-06-28
US20120163452A1 (en) 2012-06-28
US12368862B2 (en) 2025-07-22
CN107071408A (zh) 2017-08-18
US20240179322A1 (en) 2024-05-30
EP4492784A3 (en) 2025-04-02
CN106534847A (zh) 2017-03-22
US9369722B2 (en) 2016-06-14
US12382059B2 (en) 2025-08-05
HUE058729T2 (hu) 2022-09-28
CN107071408B (zh) 2020-02-14
US20150245025A1 (en) 2015-08-27
CN106851268A (zh) 2017-06-13
HUE072071T2 (hu) 2025-10-28
ES3033855T3 (en) 2025-08-08
DK2659679T3 (da) 2019-01-02

Similar Documents

Publication Publication Date Title
ES2914608T3 (es) Método y sistema para romper selectivamente la predicción en la codificación de video
HK1234564A1 (en) Method and system for selectively breaking prediction in video coding
HK1234565A1 (en) Method and system for selectively breaking prediction in video coding
HK1235589A1 (en) Method and device for encoding or decoding, and storage medium
HK1234559A1 (en) Method and system for selectively breaking prediction in video coding
HK1235947A1 (en) Method and device for encoding or decoding, and storage medium
HK1237569A1 (en) Method and system for selectively breaking prediction in video coding
HK1234566A1 (en) Method and system for selectively breaking prediction in video coding
HK1237571A1 (en) Method and system for selectively breaking prediction in video coding
HK1237569B (zh) 用於选择性地破坏视频编码中的预测的方法和系统
HK1234565B (zh) 用於选择性地破坏视频编码中的预测的方法和系统
HK1234566B (zh) 用於选择性地破坏视频编码中的预测的方法和系统
HK1234564B (zh) 用於选择性地破坏视频编码中的预测的方法和系统
HK1235589B (zh) 编码方法、解码方法、编码或解码设备、存储介质
HK1235947B (zh) 编码方法、解码方法、编码或解码设备、存储介质