[go: up one dir, main page]

ES2355816T3 - Procedimiento y aparato de especificación de temporización entre imágenes de precisión variable para la codificación de vídeo digital. - Google Patents

Procedimiento y aparato de especificación de temporización entre imágenes de precisión variable para la codificación de vídeo digital. Download PDF

Info

Publication number
ES2355816T3
ES2355816T3 ES03764499T ES03764499T ES2355816T3 ES 2355816 T3 ES2355816 T3 ES 2355816T3 ES 03764499 T ES03764499 T ES 03764499T ES 03764499 T ES03764499 T ES 03764499T ES 2355816 T3 ES2355816 T3 ES 2355816T3
Authority
ES
Spain
Prior art keywords
video image
video
order
value
encoded
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.)
Expired - Lifetime
Application number
ES03764499T
Other languages
English (en)
Inventor
Barin G. Haskell
David W. Singer
Adriana Dumitras
Atul Puri
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.)
Apple Inc
Original Assignee
Apple Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=30117972&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=ES2355816(T3) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Apple Inc filed Critical Apple Inc
Application granted granted Critical
Publication of ES2355816T3 publication Critical patent/ES2355816T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/005Statistical coding, e.g. Huffman, run length coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/587Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal sub-sampling or interpolation, e.g. decimation or subsequent interpolation of pictures in a video sequence
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • 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/43Hardware specially adapted for motion estimation or compensation
    • 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
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • 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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4305Synchronising client clock from received content stream, e.g. locking decoder clock with encoder clock, extraction of the PCR packets
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Reduction Or Emphasis Of Bandwidth Of Signals (AREA)
  • Television Signal Processing For Recording (AREA)
  • Studio Circuits (AREA)
  • Synchronizing For Television (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Image Processing (AREA)

Abstract

Un procedimiento para codificar una secuencia de imágenes de vídeo, comprendiendo dicho procedimiento: codificar una primera imagen de vídeo, una segunda imagen de vídeo, una tercera imagen de vídeo, un primer valor de orden de la primera imagen de vídeo, un segundo valor de orden de la segunda imagen de vídeo y un tercer valor de orden de la tercera imagen de vídeo, en donde cada valor de orden representa una posición de una imagen de vídeo en una secuencia de imágenes de vídeo; calcular un valor específico que sea inversamente proporcional a un primer valor de diferencia de orden y directamente proporcional a un segundo valor de diferencia de orden, en donde (i) el primer valor de diferencia de orden representa una diferencia entre el tercer valor de orden y el primer valor de orden y (ii) el segundo valor de diferencia de orden representa una diferencia entre el segundo valor de orden y el primer valor de orden; calcular un vector de movimiento de la segunda imagen de vídeo en base al valor específico y a un vector de movimiento de la tercera imagen de vídeo; y almacenar la primera imagen de vídeo codificada, la segunda imagen de vídeo codificada, la tercera imagen de vídeo codificada, el primer valor de orden codificado, el segundo valor de orden codificado y el tercer valor de orden codificado en un flujo de bits.

Description

CAMPO DE LA INVENCIÓN
La presente invención se refiere al campo de los sistemas de compresión multimedia. En particular, la presente invención divulga procedimientos y sistemas para especificar temporización entre imágenes de precisión variable. 5
ANTECEDENTES DE LA INVENCIÓN
Los formatos de medios electrónicos de base digital están finalmente a punto de reemplazar ampliamente los formatos de medios electrónicos analógicos. Los discos compactos digitales (CD) reemplazaron los registros analógicos de vinilo hace mucho tiempo. Las cintas de casete magnético analógico están volviéndose cada vez más raras. Los sistemas de audio digital de segunda y tercera generación, tales 10 como los Minidiscos y el MP3 (Audio MPEG – capa 3) están quitando ahora una porción del mercado al formato de audio digital de primera generación de los discos compactos.
Los medios de vídeo han sido más lentos para avanzar hacia formatos de almacenamiento y transmisión digitales que el audio. Esto se ha debido en gran medida a las enormes cantidades de información digital requeridas para representar con precisión el vídeo en forma digital. Las enormes cantidades de 15 información digital necesarias para representar con precisión el vídeo requieren sistemas de almacenamiento digital de muy alta capacidad y sistemas de transmisión de gran ancho de banda.
Sin embargo, el vídeo está avanzando ahora rápidamente hacia los formatos digitales de almacenamiento y transmisión. Los procesadores de ordenador más rápidos, los sistemas de almacenamiento de alta densidad y los nuevos algoritmos eficaces de compresión y codificación han hecho finalmente que el 20 vídeo digital sea práctico en los puntos de venta al consumidor. El DVD (Disco Versátil Digital), un sistema de vídeo digital, ha sido uno de los productos electrónicos de consumo de mayores ventas en varios años. Los DVD han estado suplantando rápidamente a los Grabadores de Videocasetes (VCR) como el sistema favorito de reproducción de vídeo pregrabado, debido a su alta calidad de vídeo, muy alta calidad de audio, comodidad y características adicionales. El anticuado sistema analógico NTSC (Comité de Estándares Nacionales de 25 Televisión) de transmisión de vídeo está actualmente en proceso de reemplazo por el sistema digital de transmisión de vídeo ATSC (Comité de Estándares Avanzados de Televisión).
Los sistemas informáticos han estado usando diversos formatos de codificación de vídeo digital durante un buen número de años. Entre los mejores sistemas de compresión y codificación de vídeo digital usados por los sistemas informáticos han estado los sistemas de vídeo digital respaldados por el Grupo de 30 Expertos en Películas, popularmente conocido por el acrónimo MPEG. Los tres formatos de vídeo digital mejor conocidos y más frecuentemente usados del MPEG se conocen sencillamente como MPEG–1, MPEG–2 y MPEG–4. Los CD de vídeo (VCD) y los primeros sistemas de edición de vídeo digital para el nivel de consumo usan el primer formato de codificación de vídeo digital MPEG–1. Los Discos Versátiles Digitales (DVD) y el sistema de difusión de televisión del Satélite de Difusión Directa (DBS) de marca Dish Network usan el sistema 35 de compresión y codificación de vídeo digital MPEG–2, de mayor calidad. El sistema de codificación MPEG–4 está siendo adoptado rápidamente por los más recientes codificadores de vídeo digital basados en ordenadores y los reproductores asociados de vídeo digital.
Los estándares MPEG–2 y MPEG–4 comprimen una serie de tramas de vídeo o campos de vídeo y luego codifican las tramas o campos comprimidos en un flujo de bits digital. Al codificar una trama o campo de 40 vídeo con los sistemas MPEG–2 y MPEG–4, la trama o campo de vídeo se divide en una rejilla rectangular de macrobloques. Cada macrobloque se comprime y codifica independientemente.
Al comprimir una trama o campo de vídeo, el estándar MPEG–4 puede comprimir la trama o campo en uno entre tres tipos de tramas o campos comprimidos: Intratramas (I–tramas), tramas Predichas Unidireccionales (P–tramas) o tramas Predichas Bidireccionales (B–tramas). Las intratramas codifican 45 independientemente por completo una trama de vídeo independiente, sin ninguna referencia a otras tramas de vídeo. Las P–tramas definen una trama de vídeo con referencia a una única trama de vídeo previamente exhibida. Las B–tramas definen una trama de vídeo con referencia tanto a una trama de vídeo exhibida antes de la trama actual como a una trama de vídeo a exhibir después de la trama actual. Debido a su utilización eficaz de información de vídeo redundante, las P–tramas y las B–tramas brindan generalmente la mejor compresión. 50
RESUMEN DE LA INVENCIÓN
Se revela un procedimiento y aparato para la especificación de temporización entre imágenes de precisión variable para la codificación de vídeo digital. Específicamente, la presente invención divulga un sistema que permite que la temporización relativa de imágenes de vídeo contiguas se codifique de manera muy eficaz. En una realización, se determina la diferencia de tiempo de exhibición entre una imagen de vídeo actual y una imagen de vídeo contigua. La diferencia de tiempo de exhibición se codifica luego en una representación 55 digital de la imagen de vídeo. En una realización preferida, la imagen de vídeo contigua es la imagen almacenada más recientemente transmitida.
Para la eficacia de la codificación, la diferencia de tiempo de exhibición puede codificarse usando un
sistema de codificación de longitud variable, o codificación aritmética. En una realización alternativa, la diferencia de tiempo de exhibición se codifica como una potencia de dos, a fin de reducir el número de bits transmitidos.
Otros objetos, características y ventajas de la presente invención serán evidentes a partir de los dibujos acompañantes y de la siguiente descripción detallada. 5
BREVE DESCRIPCIÓN DE LOS DIBUJOS
Los objetos, características y ventajas de la presente invención serán evidentes a alguien versado en la tecnología, a la vista de la siguiente descripción detallada, en la cual:
la Figura 1 ilustra un diagrama en bloques de alto nivel de un posible sistema codificador de vídeo digital. 10
la Figura 2 ilustra una serie de imágenes de vídeo en el orden en que deberían exhibirse las imágenes, en donde las flechas que conectan las distintas imágenes indican la dependencia entre imágenes creada usando la compensación de movimiento.
la Figura 3 ilustra las imágenes de vídeo de la Figura 2 enumeradas en un orden de transmisión preferido de las imágenes, en donde las flechas que conectan distintas imágenes indican la 15 dependencia entre imágenes creada usando la compensación de movimiento.
la Figura 4 ilustra gráficamente una serie de imágenes de vídeo en la cual las distancias entre imágenes de vídeo que mantienen referencias mutuas se escogen como potencias de dos.
DESCRIPCIÓN DETALLADA DE LA REALIZACIÓN PREFERIDA
Se divulga un procedimiento y sistema para especificar Temporización Entre Imágenes de Precisión 20 Variable en un sistema de compresión y codificación multimedia. En la siguiente descripción, con fines explicativos, se estipula una nomenclatura específica para proporcionar una comprensión exhaustiva de la presente invención. Sin embargo, será evidente a alguien versado en la tecnología que estos detalles específicos no se requieren a fin de poner en práctica la presente invención. Por ejemplo, la presente invención ha sido descrita con referencia al sistema MPEG–4 de compresión y codificación multimedia. Sin embargo, las 25 mismas técnicas pueden aplicarse fácilmente a otros tipos de sistemas de compresión y codificación.
Panorama General de la Compresión y Codificación Multimedia
La Figura 1 ilustra un diagrama en bloques de alto nivel de un típico codificador 100 de vídeo digital, bien conocido en la tecnología. El codificador 100 de vídeo digital recibe un flujo entrante de vídeo de tramas 105 de vídeo a la izquierda del diagrama en bloques. Cada trama de vídeo es procesada por una unidad 110 de 30 Transformación Discreta de Coseno (DCT). La trama puede procesarse independientemente (una intratrama) o con referencia a información de otras tramas recibidas desde la unidad de compensación de movimiento (una intertrama). Luego, una unidad 120 Cuantizadora (Q) cuantiza la información de la unidad 110 de Transformación Discreta de Coseno. Finalmente, la trama de vídeo cuantizada se codifica luego con una unidad 180 codificadora de entropía (H) para producir un flujo de bits codificado. La unidad 180 codificadora de entropía 35 (H) puede usar un sistema de codificación de longitud variable (VLC).
Dado que una trama de vídeo codificada como intertrama está definida con referencia a otras tramas de vídeo contiguas, el codificador 100 de vídeo digital necesita crear una copia del aspecto en que aparecerá cada trama descodificada dentro de un descodificador de vídeo digital, de forma tal que las intertramas puedan codificarse. Así, la porción inferior del codificador 100 de vídeo digital es efectivamente un sistema 40 descodificador de vídeo digital. Específicamente, una unidad 130 cuantizadora inversa (Q–1) invierte la cuantización de la información de trama de vídeo y una unidad 140 de Transformación inversa Discreta de Coseno (DCT–1) invierte la Transformación Discreta de Coseno de la información de la trama de vídeo. Una vez que todos los coeficientes de la DCT son reconstruidos a partir de la iDCT, la unidad de compensación de movimiento usará la información, junto con los vectores de movimiento, para reconstruir la trama codificada, que 45 se usa luego como la trama de referencia para la estimación de movimiento de la próxima trama.
La trama de vídeo descodificada puede usarse luego para codificar intertramas (P–tramas o B–tramas) que se definen con respecto a información en la trama de vídeo descodificada. Específicamente, se usan una unidad 150 de compensación de movimiento (MC) y una unidad 160 de estimación de movimiento (ME) para determinar vectores de movimiento y generar valores diferenciales, usados para codificar intertramas. 50
Un controlador 190 de velocidad recibe información desde muchos componentes distintos en un codificador 100 de vídeo digital, y usa la información para adjudicar un presupuesto de bits para cada trama de vídeo. El controlador 190 de velocidad debería adjudicar el presupuesto de bits de manera tal que genere el flujo de bits de vídeo digital de máxima calidad que cumpla un conjunto especificado de restricciones. Específicamente, el controlador 190 de velocidad intenta generar el flujo de vídeo comprimido de máxima 55 calidad sin desbordar los almacenes temporales (superar la cantidad de memoria disponible en un descodificador enviando más información de la que puede almacenarse) ni infrallenar los almacenes temporales (no enviar tramas de vídeo con la rapidez suficiente, de manera que a un descodificador se le acaben las
tramas de vídeo para exhibir).
Panorama General de la Compresión y Codificación Multimedia
En algunas señales de vídeo el tiempo entre imágenes (tramas o campos) sucesivas de vídeo puede no ser constante. (Observación: Este documento usará el término imágenes de vídeo para referirse genéricamente a tramas de vídeo o a campos de vídeo). Por ejemplo, algunas imágenes de vídeo pueden 5 perderse debido a restricciones del ancho de banda de transmisión. Además, la temporización de vídeo también puede variar debido a la irregularidad de la cámara o a efectos especiales, tales como la cámara lenta o la cámara rápida. En algunos flujos de vídeo, la fuente de vídeo original puede sencillamente tener tiempos no uniformes entre imágenes, por diseño. Por ejemplo, el vídeo sintetizado, tal como las animaciones gráficas por ordenador, pueden tener temporización no uniforme, ya que ninguna temporización arbitraria de vídeo es 10 creada por un sistema de captura uniforme de vídeo tal como un sistema de cámara de vídeo. Un sistema flexible de codificación de vídeo digital debería ser capaz de asimilar la temporización no uniforme.
Muchos sistemas de codificación de vídeo digital dividen las imágenes de vídeo en una rejilla rectangular de macrobloques. Cada macrobloque individual de la imagen de vídeo se comprime y codifica independientemente. En algunas realizaciones, se usan subbloques de los macrobloques, conocidos como 15 “bloques de píxeles”. Tales bloques de píxeles pueden tener sus propios vectores de movimiento, que pueden interpolarse. Este documento se referirá a macrobloques, aunque las revelaciones de la presente invención pueden aplicarse igualmente tanto a macrobloques como a bloques de píxeles.
Algunos estándares de codificación de vídeo, p. ej., los estándares ISO MPEG o el estándar ITU H.264, usan distintos tipos de macrobloques predichos para codificar imágenes de vídeo. En un escenario, un 20 macrobloque puede ser uno de entre tres tipos:
1. I–macrobloque – Un Intra (I) macrobloque no usa ninguna información de ninguna otra imagen de vídeo en su codificación (es completamente autodefinido);
2. P–macrobloque – Un macrobloque unidireccionalmente predicho (P) se refiere a información de imagen de una imagen precedente de vídeo; o 25
3. B–macrobloque – Un macrobloque bidireccional (B) predicho usa información de una imagen precedente y de una imagen futura de vídeo.
Si todos los macrobloques en una imagen de vídeo son Intra–macrobloques, entonces la imagen de vídeo es una Intratrama. Si una imagen de vídeo sólo incluye macrobloques predichos unidireccionales o intra–macrobloques, entonces la imagen de vídeo se conoce como una P–trama. Si la imagen de vídeo contiene 30 macrobloques bidireccionales predichos cualesquiera, entonces la imagen de vídeo se conoce como una B–trama. Para simplificar, este documento considerará el caso en que todos los macrobloques dentro de una imagen dada son del mismo tipo.
Un ejemplo de secuencia de imágenes de vídeo a codificar podría representarse como
I1 B2 B3 B4 P5 B6 B7 B8 B9 P10 B11 P12 B13 I14... 35
donde la letra (I, P o B) representa si la imagen de vídeo es una I–trama, P–trama o B–trama, y el número representa el orden de cámara de la imagen de vídeo en la secuencia de imágenes de vídeo. El orden de cámara es el orden en el cual una cámara registró las imágenes de vídeo y, por ello, también es el orden en el cual las imágenes de vídeo deberían exhibirse (el orden de exhibición).
El ejemplo previo de serie de imágenes de vídeo se ilustra gráficamente en la Figura 2. Con referencia 40 a la Figura 2, las flechas indican que los macrobloques de una imagen almacenada (I–trama o P–trama en este caso) se usan en la predicción compensada de movimiento de otras imágenes.
En el escenario de la Figura 2, no se usa ninguna información de otras imágenes en la codificación de la imagen I1 de vídeo de intratrama. La imagen P5 de vídeo es una P–trama que usa información de vídeo de la imagen I1 de vídeo previa en su codificación, por lo que se traza una flecha desde la imagen I1 de vídeo a la 45 imagen P5 de vídeo. La imagen B2 de vídeo, la imagen B3 de vídeo y la imagen B4 de vídeo usan todas información tanto de la imagen I1 de vídeo como de la imagen P5 de vídeo en su codificación, por lo que se trazan flechas desde la imagen I1 de vídeo y la imagen P5 de vídeo a la imagen B2 de vídeo, la imagen B3 de vídeo y la imagen B4 de vídeo. Como se ha afirmado anteriormente, los tiempos entre imágenes, en general, no son los mismos. 50
Como las imágenes B usan información de imágenes futuras (imágenes que se exhibirán más tarde), el orden de transmisión es usualmente distinto al orden de exhibición. Específicamente, las imágenes de vídeo que se necesitan para construir otras imágenes de vídeo deberían transmitirse en primer lugar. Para la secuencia anterior, el orden de transmisión podría ser
I1 P5 B2 B3 B4 P10 B6 B7 B8 B9 P12 B11 I14 B13... 55
La Figura 3 ilustra gráficamente el orden de transmisión anterior de las imágenes de vídeo de la Figura 2. Nuevamente, las flechas en la figura indican que los macrobloques de una imagen de vídeo almacenada (I o P en este caso) se usan en la predicción compensada de movimiento de otras imágenes de
vídeo.
Con referencia a la Figura 3, el sistema transmite primero la I–trama I1, que no depende de ninguna otra trama. Luego, el sistema transmite la imagen P5 de vídeo de P–trama, que depende de la imagen I1 de vídeo. Luego, el sistema transmite la imagen B2 de vídeo de B–trama después de la imagen P5 de vídeo, incluso aunque la imagen B2 de vídeo se exhibirá antes de la imagen P5 de vídeo. La razón para esto es que cuando 5 llega el momento de descodificar B2, el descodificador ya habrá recibido y almacenado la información en las imágenes I1 y P5 de vídeo, necesarias para descodificar la imagen B2 de vídeo. De manera similar, las imágenes I1 y P5 de vídeo están listas para ser usadas a fin de descodificar las siguientes imagen B3 de vídeo e imagen B4 de vídeo. El receptor / descodificador reordena la secuencia de imágenes de vídeo para su visualización adecuada. En esta operación, las imágenes I y P se denominan a menudo imágenes almacenadas. 10
La codificación de las imágenes de P–tramas utiliza habitualmente Compensación de Movimiento, en donde se calcula un Vector de Movimiento para cada macrobloque en la imagen. Usando el vector de movimiento calculado, puede formarse un macrobloque de predicción (P–macrobloque) por traslación de píxeles en la precitada imagen anterior. La diferencia entre el macrobloque real en la imagen de P–trama y el bloque de predicción se codifica luego para su transmisión. 15
Cada vector de movimiento también puede transmitirse mediante la codificación predictiva. Por ejemplo, una predicción de vector de movimiento puede formarse usando vectores de movimiento contiguos. En tal caso, luego la diferencia entre el vector de movimiento real y la predicción del vector de movimiento se codifica para su transmisión.
Cada B–macrobloque usa dos vectores de movimiento: un primer vector de movimiento que hace 20 referencia a la precitada imagen anterior de vídeo y un segundo vector de movimiento que hace referencia a la imagen futura de vídeo. A partir de estos dos vectores de movimiento se calculan dos macrobloques de predicción. Los dos macrobloques predichos se combinan luego entre sí, usando alguna función, para formar un macrobloque predicho final. Como antes, la diferencia entre el macrobloque efectivo en la imagen de B–trama y el macrobloque predicho final se codifica entonces para su transmisión. 25
Como con los P–macrobloques, cada vector de movimiento (MV) de un B–macrobloque puede transmitirse mediante codificación predictiva. Específicamente, un vector de movimiento predicho se forma usando vectores de movimiento contiguos. Luego, la diferencia entre el vector de movimiento efectivo y el predicho se codifica para su transmisión.
Sin embargo, con los B–macrobloques existe la oportunidad de interpolar vectores de movimiento a 30 partir de vectores de movimiento en el macrobloque de imagen almacenada más cercano. Tal interpolación se lleva a cabo tanto en el codificador de vídeo digital como en el descodificador de vídeo digital.
Esta interpolación de vectores de movimiento funciona especialmente bien en imágenes de vídeo de una secuencia de vídeo donde una cámara está desplazándose horizontalmente con lentitud sobre un fondo estático. De hecho, tal interpolación de vectores de movimiento puede ser bastante buena como para ser usada 35 por sí sola. Específicamente, esto significa que no se necesita calcular o transmitir ninguna información diferencial para estos vectores de movimiento de B–macrobloque, codificados usando interpolación.
Para ilustrar adicionalmente, en el escenario anterior representemos el tiempo de exhibición entre imágenes entre las imágenes i y j como Di,j, es decir, si los tiempos de exhibición de las imágenes son Ti y Tj, respectivamente, entonces 40
Di,j = Ti – Tj
de lo que se deduce que
Di,k = Di,j + Dj,k
Di,k = – Dk,i
Obsérvese que Di,j puede ser negativo en algunos casos. 45
Así, si MV5,1 es un vector de movimiento para un macrobloque P5 con referencia desde I1, entonces, para los correspondientes macrobloques en B2, B3 y B4, los vectores de movimiento con referencia desde I1 y P5, respectivamente, se interpolarían por
50
MV2,1 = MV5,1 * D2,1 / D5,1
MV5,2 = MV5,1 * D5,2 / D5,1
MV3,1 = MV5,1 * D3,1 / D5,1
MV5,3 = MV5,1 * D5,3 / D5,1
MV4,1 = MV5,1 * D4,1 / D5,1 55
MV5,4 = MV5,1 * D5,4 / D5,1
Obsérvese que, dado que se usan ratios de tiempos de exhibición para la predicción de vectores de movimiento, no se necesitan tiempos de exhibición absolutos. Por ello, pueden usarse tiempos de exhibición relativos para valores Di,j del tiempo de exhibición.
Este escenario puede generalizarse, como, por ejemplo, en el estándar H.264. En la generalización, una imagen P o B puede usar cualquier imagen previamente transmitida para su predicción de vector de 5 movimiento. Así, en el caso anterior, la imagen B3 puede usar la imagen I1 y la imagen B2 en su predicción. Además, los vectores de movimiento pueden extrapolarse, y no sólo interpolarse. Así, en este caso tendríamos.
MV3,1 = MV2,1 * D3,1 / D2,1
Tal extrapolación (o interpolación) de vectores de movimiento también puede usarse en el proceso de predicción para la codificación predictiva de vectores de movimiento. 10
En cualquier caso, el problema en el caso de tiempos no uniformes entre imágenes es transmitir los valores relativos del tiempo de exhibición Di,j al receptor, y ese el objeto de la presente invención. En una realización de la presente invención, para cada imagen después de la primera imagen transmitimos la diferencia de tiempo de exhibición entre la imagen actual y la imagen almacenada más recientemente transmitida. Para disponer de flexibilidad ante errores, la transmisión podría repetirse varias veces dentro de la imagen, p. ej., en 15 las llamadas cabeceras de tajada de los estándares MPEG o H.264. Si se pierden todas las cabeceras de tajada, entonces, supuestamente, otras imágenes que dependen de la imagen perdida para descodificar información tampoco pueden descodificarse.
Así, en el escenario anterior transmitiríamos lo siguiente:
D5,1 D2,5 D3,5 D4,5 D10,5 D6,10 D7,10 D8,10 D9,10 D12,10 D11,12 D14,12 D13,14... 20
Con fines de estimación de vectores de movimiento, los requisitos de precisión para Di,j pueden variar de imagen a imagen. Por ejemplo, si hay sólo una única imagen B6 de B–trama a medio camino entre las imágenes P5 y P7 de P–trama, entonces basta enviar sólo:
D7,5 = 2 y D6,7 = –1
donde los valores Di,j del tiempo de exhibición son valores de tiempos relativos. Si, en cambio, la imagen B6 de 25 vídeo está sólo a un cuarto de la distancia entre la imagen P5 de vídeo y la imagen P7 de vídeo, entonces los valores Di,j adecuados del tiempo de exhibición a enviar serían:
D7,5 = 4 y D6,7 = –1
Obsérvese que en ambos ejemplos precedentes, el tiempo de exhibición entre la imagen B6 de vídeo y la imagen P7 de vídeo se está usando como la “unidad” de tiempo de exhibición y que la diferencia de 30 tiempo de exhibición entre la imagen P5 de vídeo y la imagen P7 de vídeo es de cuatro “unidades” de tiempo de exhibición.
En general, la estimación de vectores de movimiento es menos compleja si los divisores son potencias de dos. Esto se logra fácilmente en nuestra realización si el valor de Di,j (el tiempo entre imágenes) entre dos imágenes almacenadas se escoge como una potencia de dos, según se ilustra gráficamente en la Figura 4. 35 Alternativamente, el procedimiento de estimación podría definirse para truncar o redondear todos los divisores a una potencia de dos.
En el caso en que un tiempo entre imágenes es una potencia de dos, el número de bits de datos puede reducirse si sólo se transmite la potencia entera (de dos) en lugar del valor completo del tiempo entre imágenes. La Figura 4 ilustra gráficamente un caso en el cual las distancias entre imágenes se escogen como 40 potencias de dos. En tal caso, el valor 2 del tiempo de exhibición D3,1 entre la imagen P1 de vídeo y la imagen P3 de vídeo se transmite como 1 (dado que 21 = 2) y el valor 4 del tiempo de exhibición D7,3 entre la imagen P7 de vídeo y la imagen P3 de vídeo puede transmitirse como 2 (dado que 22 = 4).
En algunos casos, la interpolación de vectores de movimiento no puede usarse. Sin embargo, aún es necesario transmitir el orden de exhibición de las imágenes de vídeo al sistema receptor / reproductor, a fin de 45 que el sistema receptor / reproductor exhiba las imágenes de vídeo en el orden adecuado. En este caso, bastan valores enteros sencillos con signo para Di,j, independientemente de los tiempos de exhibición efectivos. En algunas aplicaciones sólo puede necesitarse el signo.
Los tiempos Di,j entre imágenes pueden transmitirse simplemente como valores enteros sencillos con signo. Sin embargo, pueden usarse muchos procedimientos para codificar los valores Di,j a fin de lograr 50 compresión adicional. Por ejemplo, un bit de signo seguido por una magnitud codificada con longitud variable es relativamente fácil de implementar y brinda eficacia de codificación.
Un tal sistema de codificación de longitud variable que puede usarse se conoce como UVLC (Código Universal de Longitud Variable). El sistema UVLC de codificación de longitud variable está dado por las palabras de código: 55
1 = 1
2 = 0 1 0
3 = 0 1 1
4 = 0 0 1 0 0
5 = 0 0 1 0 1 5
6 = 0 0 1 1 0
7 = 0 0 1 1 1
8 = 0 0 0 1 0 0 0 ...
Otro procedimiento de codificación de los tiempos entre imágenes puede ser usar codificación 10 aritmética. Habitualmente, la codificación aritmética utiliza probabilidades condicionales para efectuar una muy alta compresión de los bits de datos.
Así, la presente invención introduce un procedimiento sencillo pero poderoso de codificación y transmisión de tiempos de exhibición entre imágenes. La codificación de los tiempos de exhibición entre imágenes puede hacerse muy eficaz usando codificación de longitud variable o codificación aritmética. Además, 15 puede escogerse una precisión deseada para satisfacer las necesidades del descodificador de vídeo, pero no más.
Lo precedente ha descrito un sistema para especificar temporización entre imágenes de precisión variable en un sistema de compresión y codificación multimedia. Se contempla que alguien medianamente versado en la tecnología puede hacer cambios y modificaciones a los materiales y disposiciones de elementos 20 de la presente invención, sin apartarse del alcance de la invención.

Claims (16)

  1. REIVINDICACIONES
    1. Un procedimiento para codificar una secuencia de imágenes de vídeo, comprendiendo dicho procedimiento:
    codificar una primera imagen de vídeo, una segunda imagen de vídeo, una tercera imagen de vídeo, un primer valor de orden de la primera imagen de vídeo, un segundo valor de orden de la segunda imagen de vídeo y un tercer valor de orden de la tercera imagen de vídeo, en donde 5 cada valor de orden representa una posición de una imagen de vídeo en una secuencia de imágenes de vídeo;
    calcular un valor específico que sea inversamente proporcional a un primer valor de diferencia de orden y directamente proporcional a un segundo valor de diferencia de orden, en donde (i) el primer valor de diferencia de orden representa una diferencia entre el tercer valor de orden y el 10 primer valor de orden y (ii) el segundo valor de diferencia de orden representa una diferencia entre el segundo valor de orden y el primer valor de orden;
    calcular un vector de movimiento de la segunda imagen de vídeo en base al valor específico y a un vector de movimiento de la tercera imagen de vídeo; y
    almacenar la primera imagen de vídeo codificada, la segunda imagen de vídeo codificada, la tercera 15 imagen de vídeo codificada, el primer valor de orden codificado, el segundo valor de orden codificado y el tercer valor de orden codificado en un flujo de bits.
  2. 2. El procedimiento de la reivindicación 1, en el cual dicho primer valor de orden se codifica en una cabecera de tajada del flujo de bits, asociada dicha cabecera de tajada con la primera imagen de vídeo.
  3. 3. El procedimiento de la reivindicación 1, en el cual dicho primer valor de orden se codifica más de una vez 20 en dicho flujo de bits.
  4. 4. El procedimiento de la reivindicación 1, en el cual un valor de orden específico representa un valor de tiempo.
  5. 5. El procedimiento de la reivindicación 1, en el cual un valor de orden específico se comprime usando codificación de longitud variable. 25
  6. 6. El procedimiento de la reivindicación 1, en el cual un valor de orden específico se comprime usando codificación aritmética.
  7. 7. El procedimiento de la reivindicación 1, en el cual dicho primer valor de orden comprende un entero con signo.
  8. 8. El procedimiento de la reivindicación 1, en el cual un valor de orden específico no representa un valor de 30 tiempo.
  9. 9. El procedimiento de la reivindicación 1, en el cual la secuencia de imágenes de vídeo es una secuencia para exhibir las imágenes de vídeo.
  10. 10. El procedimiento de la reivindicación 1, en el cual el cálculo del vector de movimiento comprende realizar una operación de interpolación basada en el vector de movimiento de dicha tercera imagen de vídeo. 35
  11. 11. El procedimiento de la reivindicación 1, en el cual el cálculo del vector de movimiento comprende realizar una operación de extrapolación basada en el vector de movimiento de dicha tercera imagen de vídeo.
  12. 12. El procedimiento de la reivindicación 1, en el cual el segundo valor de orden representa un valor de diferencia de orden entre dicha segunda imagen de vídeo y dicha primera imagen de vídeo.
  13. 13. El procedimiento de la reivindicación 12, en el cual la primera imagen de vídeo es una imagen de I–vídeo. 40
  14. 14. El procedimiento de la reivindicación 1, en el cual los valores de orden primero, segundo y tercero están en una secuencia no uniforme de valores de orden, en donde la secuencia de valores de orden no es uniforme cuando una diferencia de orden entre valores de orden de imágenes de vídeo contiguas no es uniforme.
  15. 15. Un medio legible por ordenador que almacena un programa de ordenador que es ejecutable por una o más 45 unidades de procesamiento, comprendiendo el programa de ordenador conjuntos de instrucciones adaptadas para implementar el procedimiento según cualquiera de las reivindicaciones 1 a 14.
  16. 16. Un sistema de ordenador que comprende una o más unidades de procesamiento adaptadas para implementar etapas según cualquiera de las reivindicaciones 1 a 14.
ES03764499T 2002-07-15 2003-07-11 Procedimiento y aparato de especificación de temporización entre imágenes de precisión variable para la codificación de vídeo digital. Expired - Lifetime ES2355816T3 (es)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US39636302P 2002-07-15 2002-07-15
US396363P 2002-07-15
US10/291,320 US7088776B2 (en) 2002-07-15 2002-11-08 Method and apparatus for variable accuracy inter-picture timing specification for digital video encoding
US291320 2002-11-08
PCT/US2003/021714 WO2004008654A1 (en) 2002-07-15 2003-07-11 Method and apparatus for variable accuracy inter-picture timing specification for digital video encoding

Publications (1)

Publication Number Publication Date
ES2355816T3 true ES2355816T3 (es) 2011-03-31

Family

ID=30117972

Family Applications (5)

Application Number Title Priority Date Filing Date
ES11155467T Expired - Lifetime ES2393969T3 (es) 2002-07-15 2003-07-11 Procedimiento y aparato de especificación de temporización entre imágenes de precisión variable para la codificación de video digital
ES11152174T Expired - Lifetime ES2393968T3 (es) 2002-07-15 2003-07-11 Procedimiento y aparato de especificación de temporización entre imágenes de precisión variable para la codificación de video digital
ES10177276T Expired - Lifetime ES2394188T3 (es) 2002-07-15 2003-07-11 Procedimiento y aparato de especificación de temporización entre imágenes de precisión variable para la codificación de video digital
ES11155441T Expired - Lifetime ES2393544T3 (es) 2002-07-15 2003-07-11 Procedimiento y aparato de especificación de temporización entre imágenes de precisión variable para la codificación de video digital
ES03764499T Expired - Lifetime ES2355816T3 (es) 2002-07-15 2003-07-11 Procedimiento y aparato de especificación de temporización entre imágenes de precisión variable para la codificación de vídeo digital.

Family Applications Before (4)

Application Number Title Priority Date Filing Date
ES11155467T Expired - Lifetime ES2393969T3 (es) 2002-07-15 2003-07-11 Procedimiento y aparato de especificación de temporización entre imágenes de precisión variable para la codificación de video digital
ES11152174T Expired - Lifetime ES2393968T3 (es) 2002-07-15 2003-07-11 Procedimiento y aparato de especificación de temporización entre imágenes de precisión variable para la codificación de video digital
ES10177276T Expired - Lifetime ES2394188T3 (es) 2002-07-15 2003-07-11 Procedimiento y aparato de especificación de temporización entre imágenes de precisión variable para la codificación de video digital
ES11155441T Expired - Lifetime ES2393544T3 (es) 2002-07-15 2003-07-11 Procedimiento y aparato de especificación de temporización entre imágenes de precisión variable para la codificación de video digital

Country Status (17)

Country Link
US (26) US7088776B2 (es)
EP (44) EP2276180B1 (es)
JP (6) JP4620586B2 (es)
KR (8) KR101210015B1 (es)
CN (10) CN102427536B (es)
AT (1) ATE487282T1 (es)
AU (1) AU2003256494B2 (es)
BR (2) BR0312659A (es)
CA (4) CA2931419C (es)
DE (1) DE60334804D1 (es)
DK (5) DK2328283T3 (es)
ES (5) ES2393969T3 (es)
HK (10) HK1076207A1 (es)
NO (3) NO338810B1 (es)
PT (5) PT2343829E (es)
SG (4) SG179316A1 (es)
WO (1) WO2004008654A1 (es)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7088776B2 (en) * 2002-07-15 2006-08-08 Apple Computer, Inc. Method and apparatus for variable accuracy inter-picture timing specification for digital video encoding
AU2013204651B2 (en) * 2002-07-15 2015-12-24 Apple Inc Method and apparatus for variable accuracy inter-picture timing specification for digital video encoding
US8254461B2 (en) * 2002-07-24 2012-08-28 Apple Inc. Method and apparatus for variable accuracy inter-picture timing specification for digital video encoding with reduced requirements for division operations
US6728315B2 (en) 2002-07-24 2004-04-27 Apple Computer, Inc. Method and apparatus for variable accuracy inter-picture timing specification for digital video encoding with reduced requirements for division operations
US7949101B2 (en) 2005-12-16 2011-05-24 Rapiscan Systems, Inc. X-ray scanners and X-ray sources therefor
US20050207490A1 (en) * 2004-03-18 2005-09-22 Wang Jason N Stored picture index for AVC coding
JP2006311366A (ja) * 2005-04-28 2006-11-09 Matsushita Electric Ind Co Ltd 画像記録装置及び画像記録装置の駆動方法
US20090201380A1 (en) * 2008-02-12 2009-08-13 Decisive Analytics Corporation Method and apparatus for streamlined wireless data transfer
JPWO2009128208A1 (ja) * 2008-04-16 2011-08-04 株式会社日立製作所 動画像符号化装置、動画像復号化装置、動画像符号化方法、および動画像復号化方法
US20100235314A1 (en) * 2009-02-12 2010-09-16 Decisive Analytics Corporation Method and apparatus for analyzing and interrelating video data
US8458105B2 (en) * 2009-02-12 2013-06-04 Decisive Analytics Corporation Method and apparatus for analyzing and interrelating data
US20100279418A1 (en) * 2009-05-04 2010-11-04 Loren Robert Larson Glucose meter adaptable for use with handheld devices, and associated communication network
US8976856B2 (en) * 2010-09-30 2015-03-10 Apple Inc. Optimized deblocking filters
US20130177084A1 (en) * 2012-01-10 2013-07-11 Qualcomm Incorporated Motion vector scaling in video coding
EP2880798A1 (en) * 2012-08-02 2015-06-10 Nokia Solutions and Networks Oy Dual codeword re-transmission
US9900316B2 (en) * 2013-12-04 2018-02-20 International Business Machines Corporation Accessing storage units of a dispersed storage network
US10199074B2 (en) * 2017-06-02 2019-02-05 Apple Inc. Techniques for selecting frames for decode in media player
GB2578629B (en) 2018-11-01 2022-02-23 Samsung Electronics Co Ltd Device and method for processing rendered frames
CN114979638A (zh) * 2018-12-29 2022-08-30 华为技术有限公司 编码器,解码器和使用压缩mv存储的对应方法

Family Cites Families (90)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US247031A (en) * 1881-09-13 Drier for paints
US202586A (en) * 1878-04-16 Improvement in flushing-boxes for water-closets
US5647049A (en) 1991-05-31 1997-07-08 Kabushiki Kaisha Toshiba Video recording/reproducing apparatus which uses a differential motion vector determined using two other motion vectors
US5467136A (en) 1991-05-31 1995-11-14 Kabushiki Kaisha Toshiba Video decoder for determining a motion vector from a scaled vector and a difference vector
CA2114028C (en) 1991-07-23 1998-04-28 Mark Andrew Shackleton Method and device for frame interpolation of a moving image
JP3092280B2 (ja) * 1991-07-30 2000-09-25 ソニー株式会社 画像信号の高能率符号化及び復号化装置
US5539466A (en) 1991-07-30 1996-07-23 Sony Corporation Efficient coding apparatus for picture signal and decoding apparatus therefor
US5227878A (en) 1991-11-15 1993-07-13 At&T Bell Laboratories Adaptive coding and decoding of frames and fields of video
US5842033A (en) * 1992-06-30 1998-11-24 Discovision Associates Padding apparatus for passing an arbitrary number of bits through a buffer in a pipeline system
KR940003404A (ko) 1992-07-23 1994-02-21 이헌조 프레임 간/프레임 내 움직임 보상 시스템
JPH0662389A (ja) * 1992-08-04 1994-03-04 Matsushita Electric Ind Co Ltd 映像信号符号化装置
FR2696026B1 (fr) * 1992-09-18 1994-12-30 Sgs Thomson Microelectronics Procédé de masquage d'erreurs de transmission d'image compressée en MPEG.
JP3264043B2 (ja) 1993-04-30 2002-03-11 ソニー株式会社 量子化コントロール装置および方法
US5398072A (en) * 1993-10-25 1995-03-14 Lsi Logic Corporation Management of channel buffer in video decoders
US5502493A (en) * 1994-05-19 1996-03-26 Matsushita Electric Corporation Of America Variable length data decoder for use with MPEG encoded video data
KR100287211B1 (ko) 1994-08-30 2001-04-16 윤종용 양방향 움직임 추정방법 및 장치
US5838380A (en) * 1994-09-30 1998-11-17 Cirrus Logic, Inc. Memory controller for decoding a compressed/encoded video data frame
US6608966B1 (en) * 1994-10-07 2003-08-19 Intel Corporation VCR-type controls for video server system
JPH08149416A (ja) * 1994-11-17 1996-06-07 Hitachi Ltd 動画像復号化方法並びにその装置
JPH08149479A (ja) 1994-11-24 1996-06-07 Matsushita Electric Ind Co Ltd 超低ビットレートビデオ符号化方法
US5724446A (en) * 1995-04-18 1998-03-03 Advanced Micro Devices, Inc. Video decoder apparatus using non-reference frame as an additional prediction source and method therefor
GB2301973B (en) 1995-06-06 1999-10-20 Sony Uk Ltd Motion compensated video processing
US5745183A (en) 1995-08-25 1998-04-28 Thomson Consumer Electronics, Inc. Image motion estimation system which derives candidate block from interpolated motion vectors
US5652629A (en) 1995-09-12 1997-07-29 International Business Machines Corporation Bidirectional motion estimation in a motion video compression system
US6057893A (en) 1995-12-28 2000-05-02 Sony Corporation Picture encoding method, picture encoding apparatus, picture transmitting method and picture recording medium
US5737023A (en) 1996-02-05 1998-04-07 International Business Machines Corporation Hierarchical motion estimation for interlaced video
JP3214705B2 (ja) 1996-05-17 2001-10-02 松下電器産業株式会社 画像復号化装置
DE69719828T2 (de) * 1996-07-05 2003-12-24 Matsushita Electric Industrial Co., Ltd. Verfahren zum Anzeigezeitstempeln und zur Synchronisation mehrerer Videoobjektebenen
US5812199A (en) 1996-07-11 1998-09-22 Apple Computer, Inc. System and method for estimating block motion in a video image sequence
JPH10174065A (ja) * 1996-12-06 1998-06-26 Matsushita Electric Ind Co Ltd 画像音声多重化データ編集方法およびその装置
JPH10174035A (ja) 1996-12-16 1998-06-26 Sharp Corp 画像情報処理装置
JP3223962B2 (ja) 1997-01-24 2001-10-29 松下電器産業株式会社 画像復号化方法
JP3304799B2 (ja) 1997-01-30 2002-07-22 株式会社日立製作所 信号処理方法及び装置
US6539120B1 (en) 1997-03-12 2003-03-25 Matsushita Electric Industrial Co., Ltd. MPEG decoder providing multiple standard output signals
US6404813B1 (en) 1997-03-27 2002-06-11 At&T Corp. Bidirectionally predicted pictures or video object planes for efficient and flexible video coding
JP3164031B2 (ja) 1997-05-30 2001-05-08 日本ビクター株式会社 動画像符号化復号化装置、動画像符号化復号化方法、及び動画像符号化記録媒体
US6018368A (en) 1997-07-11 2000-01-25 Samsung Electro-Mechanics Co., Ltd. Scalable encoding apparatus and method with improved function of scaling motion vector
KR100240770B1 (ko) 1997-07-11 2000-01-15 이형도 에너지보상/역보상기능을개선한스케러블부호화기및그방법
JP4010024B2 (ja) * 1997-09-02 2007-11-21 ソニー株式会社 圧縮動画像信号のデコード装置
US6040861A (en) * 1997-10-10 2000-03-21 International Business Machines Corporation Adaptive real-time encoding of video sequence employing image statistics
US5978029A (en) * 1997-10-10 1999-11-02 International Business Machines Corporation Real-time encoding of video sequence employing two encoders and statistical analysis
US6108047A (en) 1997-10-28 2000-08-22 Stream Machine Company Variable-size spatial and temporal video scaler
IT1297939B1 (it) 1997-12-23 1999-12-20 Fiatavio Spa Gruppo di trasmissione ad ingranaggi
JPH11275592A (ja) 1998-01-22 1999-10-08 Victor Co Of Japan Ltd 動画像符号列変換装置及びその方法
EP0935395A2 (en) * 1998-02-06 1999-08-11 Sony Corporation Video encoding methods and apparatus
CN1183778C (zh) * 1998-02-13 2005-01-05 松下电器产业株式会社 图象解码装置及记录媒体
JP3649370B2 (ja) 1998-02-25 2005-05-18 日本ビクター株式会社 動き補償符号化装置及び動き補償符号化方法
KR19990036646U (ko) 1998-02-26 1999-09-27 최종환 원예작물 가지 유인 밴드.
JPH11275580A (ja) 1998-03-24 1999-10-08 Sony Corp 画像データ処理装置、画像データ復号装置及び画像データ符号化装置並びにそれらの方法
US6317460B1 (en) 1998-05-12 2001-11-13 Sarnoff Corporation Motion vector generation by temporal interpolation
JP3104681B2 (ja) 1998-06-10 2000-10-30 日本電気株式会社 オーディオ・ビデオ同期再生方法および装置
JP2000013790A (ja) * 1998-06-19 2000-01-14 Sony Corp 画像符号化装置および画像符号化方法、画像復号装置および画像復号方法、並びに提供媒体
US6018386A (en) * 1998-07-03 2000-01-25 The United States Of America As Represented By The Secretary Of The Air Force Oscillatory, optically coupled measurement system
US6295377B1 (en) 1998-07-13 2001-09-25 Compaq Computer Corporation Combined spline and block based motion estimation for coding a sequence of video images
US6591015B1 (en) 1998-07-29 2003-07-08 Matsushita Electric Industrial Co., Ltd. Video coding method and apparatus with motion compensation and motion vector estimator
JP2000059790A (ja) 1998-08-05 2000-02-25 Victor Co Of Japan Ltd 動画像符号列変換装置及びその方法
ID24586A (id) * 1998-12-21 2000-07-27 Matsushita Electric Ind Co Ltd Perangkat dan metode penyelarasan waktu dengan menggunakan modul basis waktu dan resolusi peningkatan waktu
US6297852B1 (en) * 1998-12-30 2001-10-02 Ati International Srl Video display method and apparatus with synchronized video playback and weighted frame creation
US6552749B1 (en) 1999-01-29 2003-04-22 Intel Corporation Method and apparatus for video motion compensation, reduction and color formatting
US6625322B1 (en) * 1999-06-08 2003-09-23 Matsushita Electric Industrial Co., Ltd. Image coding apparatus
JP3264659B2 (ja) * 1999-06-17 2002-03-11 松下電器産業株式会社 ノイズリダクション装置および方法とその記録媒体
JP3609291B2 (ja) 1999-07-19 2005-01-12 日本電信電話株式会社 多地点通信用マルチキャスト中継装置
JP2001136528A (ja) 1999-11-10 2001-05-18 Matsushita Electric Ind Co Ltd 画像圧縮符号化装置
US20030043918A1 (en) 1999-12-20 2003-03-06 Jiang Hong H. Method and apparatus for performing video image decoding
US6859609B1 (en) * 2000-02-11 2005-02-22 Lsi Logic Corporation Portable digital recorder
JP3593944B2 (ja) 2000-03-08 2004-11-24 日本電気株式会社 画像データ処理装置及びそれに用いる動き補償処理方法
KR100349058B1 (ko) * 2000-06-15 2002-08-21 (주)씨앤에스 테크놀로지 영상압축복원장치
JP2001069530A (ja) 2000-07-28 2001-03-16 Fujitsu Ltd 立体映像高能率符号化装置
US7266150B2 (en) 2001-07-11 2007-09-04 Dolby Laboratories, Inc. Interpolation of video compression frames
US7257312B2 (en) 2001-10-23 2007-08-14 Thomson Licensing Fast motion trick mode using dummy predictive pictures
US20040247031A1 (en) 2002-03-14 2004-12-09 Makoto Hagai Motion vector detection method
KR100508798B1 (ko) * 2002-04-09 2005-08-19 엘지전자 주식회사 쌍방향 예측 블록 예측 방법
HUE053922T2 (hu) 2002-04-19 2021-07-28 Panasonic Ip Corp America Kép kódolási és dekódolási eljárás és rendszer
JP2004048632A (ja) * 2002-05-16 2004-02-12 Matsushita Electric Ind Co Ltd 動画像符号化方法および動画像復号化方法
JP2004023458A (ja) 2002-06-17 2004-01-22 Toshiba Corp 動画像符号化/復号化方法及び装置
CN1666532A (zh) 2002-07-02 2005-09-07 松下电器产业株式会社 图像编码方法和图像解码方法
JP3824268B2 (ja) * 2002-07-02 2006-09-20 松下電器産業株式会社 動きベクトル導出方法、および動きベクトル導出装置
JP2004088737A (ja) * 2002-07-02 2004-03-18 Matsushita Electric Ind Co Ltd 画像符号化方法および画像復号化方法
US7088776B2 (en) 2002-07-15 2006-08-08 Apple Computer, Inc. Method and apparatus for variable accuracy inter-picture timing specification for digital video encoding
AU2008201106C1 (en) 2002-07-15 2011-06-09 Apple Inc. Method and bitstream for variable accuracy inter-picture timing specification for digital video encoding
AU2013204651B2 (en) 2002-07-15 2015-12-24 Apple Inc Method and apparatus for variable accuracy inter-picture timing specification for digital video encoding
US6728315B2 (en) 2002-07-24 2004-04-27 Apple Computer, Inc. Method and apparatus for variable accuracy inter-picture timing specification for digital video encoding with reduced requirements for division operations
US8254461B2 (en) 2002-07-24 2012-08-28 Apple Inc. Method and apparatus for variable accuracy inter-picture timing specification for digital video encoding with reduced requirements for division operations
BR0314824A (pt) 2002-10-01 2005-08-02 Thomson Licensing Sa Ponderação implìcita de imagens de referência em decodificador de vìdeo
US7801217B2 (en) * 2002-10-01 2010-09-21 Thomson Licensing Implicit weighting of reference pictures in a video encoder
KR100506864B1 (ko) 2002-10-04 2005-08-05 엘지전자 주식회사 모션벡터 결정방법
AU2011265362A1 (en) 2002-12-06 2012-01-19 Apple Inc Method and apparatus for variable accuracy inter-picture timing specification for digital video encoding with reduced requirements for division operations
US6728615B1 (en) * 2003-02-03 2004-04-27 Visteon Global Technologies, Inc. System and method of controlling vehicle steer-by-wire systems with adjustable steering feel
TW200806217A (en) * 2006-05-08 2008-02-01 Korea Ind Fastener Corp Release buckle
US20080025408A1 (en) 2006-07-31 2008-01-31 Sam Liu Video encoding

Also Published As

Publication number Publication date
US8090026B2 (en) 2012-01-03
EP2346184A1 (en) 2011-07-20
CA2820164C (en) 2016-08-23
US20120099640A1 (en) 2012-04-26
CA2931419C (en) 2018-09-11
CN102427535B (zh) 2015-03-11
CN102892005A (zh) 2013-01-23
CN102420991A (zh) 2012-04-18
US20120093233A1 (en) 2012-04-19
EP2328283B1 (en) 2012-08-29
DK2328283T3 (da) 2012-12-10
JP2005533465A (ja) 2005-11-04
US20110085594A1 (en) 2011-04-14
EP2343826A1 (en) 2011-07-13
EP2276180A2 (en) 2011-01-19
US20070189379A1 (en) 2007-08-16
KR20120037030A (ko) 2012-04-18
US20120099653A1 (en) 2012-04-26
EP2343821A1 (en) 2011-07-13
SG168406A1 (en) 2011-02-28
US7292636B2 (en) 2007-11-06
EP2343830A1 (en) 2011-07-13
US20120093229A1 (en) 2012-04-19
DK2276180T3 (da) 2012-12-17
EP2326019A2 (en) 2011-05-25
JP2011097617A (ja) 2011-05-12
CN101262605B (zh) 2012-05-30
KR100850810B1 (ko) 2008-08-06
EP2328284A3 (en) 2011-07-13
JP4676450B2 (ja) 2011-04-27
EP2317662A2 (en) 2011-05-04
EP2328280A3 (en) 2011-07-13
US20120093224A1 (en) 2012-04-19
WO2004008654A1 (en) 2004-01-22
CN101262605A (zh) 2008-09-10
HK1181225A1 (zh) 2013-11-01
EP2328279A3 (en) 2011-07-13
US8837580B2 (en) 2014-09-16
CA2629246A1 (en) 2004-01-22
EP2363963A1 (en) 2011-09-07
CA2491741A1 (en) 2004-01-22
HK1156745A1 (en) 2012-06-15
US20160073128A1 (en) 2016-03-10
EP2328282A3 (en) 2011-07-13
EP2343829B1 (en) 2012-08-29
KR20100012060A (ko) 2010-02-04
US8837597B2 (en) 2014-09-16
US20040008776A1 (en) 2004-01-15
CN102892006A (zh) 2013-01-23
CN102892006B (zh) 2016-02-10
CN1669234A (zh) 2005-09-14
EP1976299A2 (en) 2008-10-01
CN102427536B (zh) 2015-10-21
CA2820164A1 (en) 2004-01-22
EP2326020A3 (en) 2011-07-13
EP1532746A4 (en) 2008-12-03
US8630339B2 (en) 2014-01-14
EP2343896A1 (en) 2011-07-13
US20120099649A1 (en) 2012-04-26
EP2317662A3 (en) 2011-07-13
NO20170550A1 (no) 2005-02-15
US20100183073A1 (en) 2010-07-22
KR101192559B1 (ko) 2012-10-17
EP2343820A1 (en) 2011-07-13
US8817883B2 (en) 2014-08-26
US7088776B2 (en) 2006-08-08
ES2394188T3 (es) 2013-01-23
CN102420993A (zh) 2012-04-18
US20070274395A1 (en) 2007-11-29
EP2328278A2 (en) 2011-06-01
EP2276180B1 (en) 2012-09-05
BR0312659A (pt) 2005-04-26
US7668240B2 (en) 2010-02-23
US20120099650A1 (en) 2012-04-26
US7903730B2 (en) 2011-03-08
EP2328281A3 (en) 2011-07-13
HK1076207A1 (en) 2006-01-06
EP2328277A2 (en) 2011-06-01
US20170054994A1 (en) 2017-02-23
US8737462B2 (en) 2014-05-27
CN1669234B (zh) 2013-08-14
ES2393969T3 (es) 2013-01-03
NO20050802L (no) 2005-02-15
KR20100128354A (ko) 2010-12-07
EP2326020A2 (en) 2011-05-25
EP2346179A1 (en) 2011-07-20
EP2328283A2 (en) 2011-06-01
EP2343824A1 (en) 2011-07-13
US8654857B2 (en) 2014-02-18
EP2343818A1 (en) 2011-07-13
EP2326019B1 (en) 2012-08-29
EP2346177A1 (en) 2011-07-20
KR100987894B1 (ko) 2010-10-13
EP1532746A1 (en) 2005-05-25
EP2343815A1 (en) 2011-07-13
EP2346182A1 (en) 2011-07-20
HK1159875A1 (en) 2012-08-03
US8094724B2 (en) 2012-01-10
JP2007181227A (ja) 2007-07-12
JP2011024245A (ja) 2011-02-03
JP2008187735A (ja) 2008-08-14
KR20110089378A (ko) 2011-08-05
US9516337B2 (en) 2016-12-06
EP2343827A1 (en) 2011-07-13
PT2328283E (pt) 2012-12-04
ES2393968T3 (es) 2013-01-03
JP5385414B2 (ja) 2014-01-08
KR100987911B1 (ko) 2010-10-13
JP5385251B2 (ja) 2014-01-08
EP2346186A1 (en) 2011-07-20
EP2328277A3 (en) 2011-07-13
SG10201607076UA (en) 2016-10-28
AU2003256494B2 (en) 2008-01-24
EP2328279A2 (en) 2011-06-01
CA2629246C (en) 2013-09-17
ES2393544T3 (es) 2012-12-26
NO20161327A1 (no) 2016-08-22
EP2328280A2 (en) 2011-06-01
US20040240557A1 (en) 2004-12-02
US8737484B2 (en) 2014-05-27
HK1169536A1 (zh) 2013-01-25
EP2328283A3 (en) 2011-07-13
US8711924B2 (en) 2014-04-29
US20120093230A1 (en) 2012-04-19
DK2326019T3 (da) 2012-12-10
CN102420993B (zh) 2015-09-09
EP2328282A2 (en) 2011-06-01
US9204161B2 (en) 2015-12-01
EP2346178A1 (en) 2011-07-20
US20120093228A1 (en) 2012-04-19
KR101210189B1 (ko) 2012-12-07
US20070189378A1 (en) 2007-08-16
US20070274394A1 (en) 2007-11-29
EP2328281A2 (en) 2011-06-01
CN102427535A (zh) 2012-04-25
EP2276180A3 (en) 2011-07-13
US9838707B2 (en) 2017-12-05
HK1169768A1 (zh) 2013-02-01
PT2276180E (pt) 2012-12-04
CN102427536A (zh) 2012-04-25
JP4620586B2 (ja) 2011-01-26
DK1532746T3 (da) 2011-02-21
KR20060015440A (ko) 2006-02-17
US7826528B2 (en) 2010-11-02
CN102420992A (zh) 2012-04-18
KR20070091036A (ko) 2007-09-06
KR101210015B1 (ko) 2012-12-07
PT2326019E (pt) 2012-12-05
PT1532746E (pt) 2011-02-09
JP2012135016A (ja) 2012-07-12
HK1169537A1 (zh) 2013-01-25
HK1153057A1 (en) 2012-03-16
US20070183492A1 (en) 2007-08-09
JP5385233B2 (ja) 2014-01-08
SG179316A1 (en) 2012-04-27
EP2326019A3 (en) 2011-07-13
HK1169535A1 (zh) 2013-01-25
WO2004008654A8 (en) 2004-06-24
US20120099647A1 (en) 2012-04-26
US8831106B2 (en) 2014-09-09
SG10201502256TA (en) 2015-07-30
EP2343816A1 (en) 2011-07-13
US20120093232A1 (en) 2012-04-19
EP2343819A1 (en) 2011-07-13
EP2343822A1 (en) 2011-07-13
EP2328278A3 (en) 2011-07-13
PT2343829E (pt) 2012-12-04
HK1156747A1 (en) 2012-06-15
EP2276181A2 (en) 2011-01-19
EP1532746B1 (en) 2010-11-03
EP2343817A1 (en) 2011-07-13
KR101194952B1 (ko) 2012-10-25
EP2343828A1 (en) 2011-07-13
NO338810B1 (no) 2016-10-24
EP1976299A3 (en) 2008-12-03
EP2328284A2 (en) 2011-06-01
US8737468B2 (en) 2014-05-27
KR20080015938A (ko) 2008-02-20
KR101005135B1 (ko) 2011-01-04
CA2491741C (en) 2010-06-29
US20070274677A1 (en) 2007-11-29
DK2343829T3 (da) 2012-11-26
KR20100005242A (ko) 2010-01-14
DE60334804D1 (de) 2010-12-16
NO341570B1 (no) 2017-12-04
AU2003256494A1 (en) 2004-02-02
EP2343829A1 (en) 2011-07-13
CN102420991B (zh) 2016-04-13
EP2346185A1 (en) 2011-07-20
EP2346180A1 (en) 2011-07-20
CN102420992B (zh) 2016-01-20
US8824559B2 (en) 2014-09-02
US7551674B2 (en) 2009-06-23
US20150049815A1 (en) 2015-02-19
NO342829B1 (no) 2018-08-13
BRPI0312659B1 (pt) 2019-04-16
US20070274678A1 (en) 2007-11-29
US7548584B2 (en) 2009-06-16
US20120093223A1 (en) 2012-04-19
EP2343823A1 (en) 2011-07-13
CA2931419A1 (en) 2004-01-22
US10154277B2 (en) 2018-12-11
EP2346183A1 (en) 2011-07-20
CN102892005B (zh) 2016-07-13
EP2343825A1 (en) 2011-07-13
EP2346187A1 (en) 2011-07-20
EP2276181A3 (en) 2011-07-13
EP2346181A1 (en) 2011-07-20
US8737483B2 (en) 2014-05-27
ATE487282T1 (de) 2010-11-15
US8743951B2 (en) 2014-06-03

Similar Documents

Publication Publication Date Title
ES2355816T3 (es) Procedimiento y aparato de especificación de temporización entre imágenes de precisión variable para la codificación de vídeo digital.
AU2013204690B2 (en) Method and apparatus for variable accuracy inter-picture timing specification for digital video encoding
AU2011202000B2 (en) Method and apparatus for variable accuracy inter-picture timing specification for digital video encoding