MX2009001387A - Tecnicas para codificacion y descodificacion de resolucion variable de video digital. - Google Patents
Tecnicas para codificacion y descodificacion de resolucion variable de video digital.Info
- Publication number
- MX2009001387A MX2009001387A MX2009001387A MX2009001387A MX2009001387A MX 2009001387 A MX2009001387 A MX 2009001387A MX 2009001387 A MX2009001387 A MX 2009001387A MX 2009001387 A MX2009001387 A MX 2009001387A MX 2009001387 A MX2009001387 A MX 2009001387A
- Authority
- MX
- Mexico
- Prior art keywords
- video
- level
- layer
- resolution
- decoding
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 58
- 230000002123 temporal effect Effects 0.000 claims abstract description 32
- 230000006872 improvement Effects 0.000 claims description 31
- 238000012545 processing Methods 0.000 claims description 31
- 238000004590 computer program Methods 0.000 claims description 5
- 230000033001 locomotion Effects 0.000 description 30
- 238000004891 communication Methods 0.000 description 29
- 230000006835 compression Effects 0.000 description 25
- 238000007906 compression Methods 0.000 description 25
- 239000000872 buffer Substances 0.000 description 15
- 230000009466 transformation Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 238000013139 quantization Methods 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 9
- 229910003460 diamond Inorganic materials 0.000 description 9
- 239000010432 diamond Substances 0.000 description 9
- 230000003044 adaptive effect Effects 0.000 description 5
- 230000002441 reversible effect Effects 0.000 description 5
- 230000003595 spectral effect Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000000750 progressive effect Effects 0.000 description 4
- 238000000844 transformation Methods 0.000 description 4
- 239000013598 vector Substances 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 239000012634 fragment Substances 0.000 description 3
- 238000003780 insertion Methods 0.000 description 3
- 230000037431 insertion Effects 0.000 description 3
- 230000032258 transport Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 229920000642 polymer Polymers 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 229910052710 silicon Inorganic materials 0.000 description 2
- 239000010703 silicon Substances 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000004354 ROESY-TOCSY relay Methods 0.000 description 1
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 238000012940 design transfer Methods 0.000 description 1
- 238000009792 diffusion process Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 235000013372 meat Nutrition 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8451—Structuring of content, e.g. decomposing content into time segments using Advanced Video Coding [AVC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
- H04N19/31—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the temporal domain
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
- H04N19/33—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the spatial domain
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/587—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/59—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/234327—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by decomposing into layers, e.g. base layer and one or more enhancement layers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/234345—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements the reformatting operation being performed only on part of the stream, e.g. a region of the image or a time segment
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/234363—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the spatial resolution, e.g. for clients with a lower screen resolution
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/234381—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the temporal resolution, e.g. decreasing the frame rate by frame skipping
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2347—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving video stream encryption
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
Se describen técnicas para codificación y descodificación de resolución variable de vídeo digital. Un aparato puede comprender un codificador de vídeo para codificar información de vídeo en una corriente de vídeo con una capa base y una capa de mejora. La capa base puede tener un primer nivel de resolución espacial y un primer nivel de resolución temporal. La capa de mejora puede aumentar el primer nivel de resolución espacial o el primer nivel de resolución temporal. Se describen y reclaman otras modalidades.
Description
TECNICAS PARA CODIFICACION Y D ESC ODI Fl C AC I ON DE RESOLUCION VARIABLE DE VIDEO DIGITAL
ANTECEDENTES
El video digital consume grandes cantidades de almacenamiento y capacidad de transmisión. Una secuencia de video digital incompleta típica incluye 15, 30 o incluso 60 marcos por segundo (marco/segundo). Cada marco puede incluir cientos de miles de píxeles. Cada píxel o peí representa un elemento diminuto de la imagen. En una forma incompleta, una computadora comúnmente representa un pixel con 24 bits, por ejemplo. De esa forma una velocidad de bits o número de bits por segundo de una secuencia de vídeo digital incompleta típica puede estar en el orden de 5 millones de bits por segundo (bits/segundo) o más. La mayoría de los dispositivos de procesamiento de medios y redes de comunicación carecen de los recursos para procesar vídeo digital incompleto. Por esta razón, los ingenieros utilizan compresión (también llamada codificación o codificar) para reducir la velocidad de bits de vídeo digital. La descompresión (o descodificación) invierte la compresión. Típicamente existen transferencias de diseño al seleccionar un tipo particular de compresión de vídeo para un dispositivo de procesamiento dado y/o red de comunicación. Por ejemplo, la compresión puede ser sin pérdida en donde la calidad del vídeo
permanece alta al costo de una velocidad de bits superior, o con pérdida en donde la calidad de vídeo sufre pero las disminuciones en velocidad de bits son más dramáticas. La mayoría de los diseños de sistema hacen algunos compromisos entre calidad y velocidad de bits basándose en un grupo dado de limitaciones de diseño y requerimientos de desempeño. En consecuencia, una técnica de compresión de vídeo daba típicamente más adecuada para diferentes tipos de dispositivos de procesamiento de medios y/o redes de comunicación.
BREVE DESCRIPCION DE LA INVENCION
Esta breve descripción se proporciona para introducir una selección de conceptos en una forma simplificada que además se describe posteriormente en la descripción detallada. Esta breve descripción no pretende identificar características clave o características esenciales del tema reclamado, ni pretende utilizarse para limitar el alcance del tema reclamado. Varias modalidades generalmente se dirigen a codificación digital, descodificación y procesamiento de contenido de medios digitales, tal como vídeo, imágenes, ilustraciones, y asi sucesivamente. En algunas modalidades, la codificación, descodificación y procesamiento digital de contenido de medios digitales puede basarse en el estándar de la Sociedad de Imagen en movimientos y Ingenieros de televisión (SMPTE) 421M ("VC-1") de
las series de codificador/descodificador de vídeo de estándares y variantes. Más particularmente, algunas modalidades se dirigen a múltiples técnicas de codificación y descodificación de vídeo de resolución múltiple y como tales técnicas se habilitan en la corriente de bits de VC-1 sin dividir la compatibilidad posterior. En una modalidad, por ejemplo, un aparato puede incluir un codificador de vídeo distribuido para comprimir o codificar información de vídeo digital en una corriente de vídeo o corriente de bits VC-1 de SMPTE aumentada. El codificador de vídeo puede codificar la información de vídeo digital en la forma de múltiples capas. La capa base puede ofrecer un grado mínimo definido de resolución espacial y un nivel base de resolución temporal. Una o más capas de mejora pueden incluir información de vídeo codificada que puede utilizarse para aumentar el nivel base de resolución espacial y/o el nivel base de resolución temporal para la información de vídeo codificada en la capa base. Un descodifícador de vídeo puede descodificar selectivamente información de vídeo de la capa base y una o más capas de mejora para reproducir o mostrar la información de vídeo en un nivel de calidad deseado. De forma similar, una Unidad de control de punto múltiple de vídeo y audio (AVMCU) puede seleccionar dirigir información de vídeo de la capa base y una o más capas de mejora a un participante de conferencia basado en información tal como ancho de banda de red actualmente disponible y capacidad de descodificación de receptor. Otras modalidades se describen y reclaman.
BREVE DESCRIPCION DE LOS DIBUJOS
La Figura 1 ¡lustra una modalidad para un sistema de captura y reproducción de vídeo. La Figura 2 ilustra una modalidad para un sistema de codificador de vídeo general. La Figura 3 ilustra una modalidad para un sistema de descodificador de vídeo general. La Figura 4 ilustra una modalidad para una jerarquía de capa de video. La Figura 5 ilustra una modalidad para una primera corriente de vídeo. La Figura 6 ilustra una modalidad para una segunda corriente de vídeo. La Figura 7 ilustra una modalidad para una tercera corriente de vídeo. La Figura 8 ilustra una modalidad para una cuarta corriente de vídeo. La Figura 9 ilustra una modalidad para un flujo lógico. La Figura 10 ilustra una modalidad para un primer sistema de vídeo modificado. La Figura 11 ilustra una modalidad para un segundo sistema de vídeo modificado. La Figura 12 ¡lustra una modalidad para un ambiente de cómputo.
DESCRIPCION DETALLADA
Varios dispositivos de procesamiento de medios pueden implementar un codificador y/o descodificador de vídeo (colectivamente denominado como un "codif icador/descodificador") para realizar cierto nivel de compresión para contenido de medios digitales tal como vídeo digital. Un nivel seleccionado de compresión puede variar dependiendo de un número de factores, tal como un tipo de fuente de vídeo, un tipo de técnica de compresión de vídeo, un ancho de banda o protocolo disponible para un enlace de comunicación, procesamiento o recursos de memoria disponibles para un dispositivo de recepción dado, un tipo de dispositivo de presentación utilizado para reproducir el vídeo digital, y así sucesivamente. Una vez implementado, un dispositivo de procesamiento de medios típicamente se limita al nivel de compresión establecido por el codificador/descodif ¡cador de vídeo, para operaciones de codificación y descodificación. Esta solución típicamente proporciona muy poca flexibilidad. Si se desean diferentes niveles de compresión, un dispositivo de procesamiento de medios típicamente implementa un codif icador/descodificador de vídeo diferente para cada nivel de compresión. Esta solución puede requerir el uso de múltiples codificadores/descodificadores de vídeo por dispositivo de procesamiento de medios, con lo cual aumenta la complejidad y costo para el dispositivo de procesamiento de medios. Para resolver este y otros problemas, varias modalidades
pueden dirigirse a múltiples técnicas de codificación y descodificación de resolución. Un codificador de vídeo escalable puede codificar información de vídeo digital como múltiples capas de vídeo dentro de una corriente de vídeo común, en donde cada capa de vídeo ofrece uno o más niveles de resolución espacial y/o resolución temporal. El codificador de vídeo puede multiplexar información de vídeo digital para múltiples capas de vídeo, tal como una capa base y capas de mejora, en una corriente de vídeo común individual. Un descodif icador de vídeo puede desmultiplexar o descodificar selectivamente información de vídeo de la corriente de vídeo común para recuperar información de vídeo de la capa base y una o más capas de mejora para reproducir o presentar la información de vídeo con un nivel de calidad deseado, típicamente definido en términos de relación de señal a ruido (SNR) u otras métricas. El descodif icador de vídeo puede descodificar selectivamente la información de vídeo que utiliza varios códigos de inicio como se definió para cada capa de vídeo. De forma similar, un AVMCU puede seleccionar dirigir la capa base y sólo un subgrupo de la capa de mejoras a uno o más participantes basándose en la información similar a ancho de banda actual disponible y capacidad de descodif icador. El AVMCU selecciona las capas que utilizan códigos de inicio en la corriente de bits de vídeo. La resolución espacial puede referirse generalmente a una medida de exactitud con respecto a los detalles del espacio que se mide. En el contexto de vídeo digital, la resolución espacial puede
medirse o expresarse como un número de pixeles en un narco, ilustración o imagen. Por ejemplo, un tamaño de imagen digital de 640 x 480 pixeles igual a 326,688 pixeles individuales. En general, las imágenes que tienen resolución espacial superior se componen con un número mayor de pixeles que aquellos de resolución espacial inferior. La resolución espacial puede afectar, entre otras cosas, calidad de imagen para un marco de vídeo, ilustración, o imagen. La resolución temporal generalmente puede referirse a la exactitud de una medida particular con respecto a tiempo. En el contexto de vídeo digital, la resolución temporal puede medirse o expresarse como una velocidad de marco, o un número de marcos e información de ^video capturada por segundo, tal como 15 marcos/segundo, 30 marcos/segundo, 60 marcos/segundo, y así sucesivamente. En general, una resolución temporal superior se refiere a un mayor número de marcos/segundo que aquellos de resolución temporal inferior. La resolución temporal puede afectar, entre otras cosas, presentación de movimiento para una secuencia de imágenes de video o marcos. Una corriente de vídeo o corriente de bits puede referirse a una secuencia de segmentos continua (por ejemplo, bits, o bytes) que representan información de audio y/o vídeo . En una modalidad, por ejemplo, un codificador de vídeo escalable puede codificar información de vídeo digital como una capa base y una o más capaz de mejora temporal y/o espacial. La capa base puede proporcionar una base o nivel mínimo de resolución
espacial y/o resolución temporal para la información de vídeo digital. Las capas de mejora temporales y/o espaciales pueden proporcionar niveles mejorados escándalos de resolución espacial de video y/o nivel de resoluciones temporales para información de video digital varios tipos de puntos de entrada y códigos de inicio pueden definirse para delinear las diferentes capas de vídeo dentro de una corriente de vídeo. En esta forma, un codificador de vídeo escalable individual puede proporcionar y multiplexar múltiples niveles de resolución espacial y/o resolución temporal en una corriente de vídeo individual. En varias modalidades, un número de diferentes descodificadores de vídeo puede descodificar selectivamente información de video digital de una capa de vídeo dada de la corriente de vídeo codificada para proporcionar un nivel deseado de resolución espacial y/o resolución temporal para un dispositivo de procesamiento de medios dado. Por ejemplo, un tipo de descodifícador de vídeo puede ser capaz de descodificar una capa base de una corriente de vídeo, mientras otro tipo de descodifícador de vídeo puede ser capaz de descodificar capa base y una o más capas mejoradas de corriente de vídeo. Un dispositivo de procesamiento de medios puede combinar la información de vídeo digital descodificada de cada capa de vídeo en varias formas para proporcionar diferentes niveles de calidad de vídeo en términos de resolución espacial y/o resoluciones temporales. El dispositivo de procesamiento de medios entonces puede reproducir la información
de vídeo digital descodificada en el nivel seleccionado de resolución espacial y resolución temporal en una o más presentaciones. Un codificador y descodificador de vídeo de resolución múltiple o escalable puede proporcionar varias ventajas en codificadores y descodificadores de video convencionales. Por ejemplo, varios servicios de vídeo digitales escalados o diferenciados pueden ofrecerse al utilizar un codificador de vídeo escalable individual y uno o más tipos de descodificadores de vídeo. Los descodificadores de vídeo de legado pueden ser capaces de descodificar información de vídeo digital desde una capa base de la corriente de vídeo sin tener necesariamente que acceder a las capas de mejora, mientras los descodificadores de vídeo mejorados pueden ser capaces de acceder tanto a una capa base y una o más capas mejoradas dentro de la misma corriente de vídeo. En otro ejemplo, diferentes técnicas de codificación críptica pueden utilizarse para cada capa, con lo cual controlan el acceso a cada capa. Sim ilarmente, pueden asignarse diferentes derechos digitales a cada capa para autorizar acceso a cada capa. Incluso en otro ejemplo, un nivel de resolución espacial y/o temporal puede aumentar o disminuir basándose en un tipo de fuente de vídeo, o tipo de técnica de compresión de vídeo, un ancho de banda o protocolo disponible para un enlace y comunicación, procesamiento o recursos de memoria disponibles para un dispositivo de recepción dado, o tipo de dispositivo de presentación utilizado para reproducir el vídeo digital, y así sucesivamente. En particular, esta implementación de resolución de
codificación de vídeo o variable mejorada tiene la ventaja de transportar parámetros que especifican las dimensiones de la resolución de presentación dentro de la corriente de vídeo. Las resoluciones de codificación para una porción de vídeo se señalan en el nivel de punto entrada. Los puntos de entrada son adyacentes a, o adjuntos, a una o más subsecuencias o grupos de ilustraciones de la secuencia de vídeo que comienza con un marco i ntra-cod if icado (también denominado como un "l-marco"), y también puede contener uno o más marcos codificados predictivos (también denominados como un "E-marco" o "B-marco") que se codifican de forma predictiva con relación a ese marco intra-codificado. La resolución de codificación señalada en un punto de entrada dado de esa forma se aplica a un grupo de ilustraciones que incluyen un l-marco en la capa base y los E-marcos o B-marcos que hace referencia al l-marco. La siguiente descripción se dirige a implementaciones de una técnica de resolución de codificación variable mejorada que permite que las porciones de una secuencia de vídeo se codifiquen variablemente en diferentes resoluciones. Una aplicación ilustrativa de esta técnica es un sistema de codif icador/descodif icador de vídeo. Por consiguiente, la técnica de resolución de codificación variable se describe en el contexto de un codificador/descodificador de vídeo ilustrativo que utiliza una sintaxis de corriente de bits codificada. En particular, una implementación descrita de la técnica de resolución de codificación variable mejorada es un codificador/descodificador de vídeo que cumple con el perfil
avanzado de las series de codificador/descodificador de vídeo del estándar 421M de SMPTE (VC-1) de estándares y variantes. Alternativamente, la técnica puede incorporarse en varias implementaciones y estándares de codificador/descodificador de video que pueden variar en detalles del codificador/descodificador de video ilustrativo descrito y sintaxis posterior. La Figura 1 ¡lustra una im plementación para un sistema de captura y reproducción de vídeo 100. La Figura 1 ilustra el sistema de captura y reproducción de vídeo 100 que emplea un codificador/descodificador de vídeo en el cual la técnica de resolución de codificación variable se implementa en una aplicación típica o utiliza escenario. El sistema de captura y reproducción de vídeo 100 generalmente incluye una fuente/codificador de vídeo 120 que captura y codifica contenido de vídeo desde una fuente de vídeo digital de entrada 110 en una corriente de bits de vídeo comprimida en un canal de comunicación 140, y un reproductor/descodificador de vídeo 150 que recibe y descodifica el vídeo del canal y presenta el vídeo en una presentación de video 170. Algunos ejemplos de tales sistemas en los cuales el codificador/descodificador de video descrito posteriormente con resolución de codificación variable puede implementarse abarca sistemas en los cuales la captura, codificación, descodificación y reproducción de vídeo todos se realizan en una máquina individual, así como sistemas en los cuales estas operaciones se realizan por separado, máquinas geográficamente distantes. Por ejemplo, una grabadora de video
digital, o computadora personal con una tarjeta de sintonizador de TV, puede capturar una señal de vídeo y codificar el vídeo a unidad dura, asi como leer de nuevo, codificar y presentar el vídeo de la unidad dura en un monitor. Como otro ejemplo, un publicante comercial o difusor de vídeo puede utilizar un sistema de control de vídeo que incorpora el codificador -de vídeo para producir una transmisión de vídeo (por ejemplo, un canal de satélite digital, o corriente de vídeo web) o un dispositivo de almacenamiento (por ejemplo, es una cita o disco) que transporta el video codificado, que entonces se utiliza para distribuir el vídeo al descod if icador de usuario y máquinas de reproducción (por ejemplo, computadora personal, reproductor de vídeo, receptor de vídeo, etc.). En el sistema ilustrado 100, una fuente/codificador de vídeo 120 incluye un pre-procesador de fuente 122, un codificador de compresión de fuente 126, un multiplexor 126 y un codificador de canal 28. El pre-procesador 122 recibe vídeo digital no comprimido de una fuente de video digital 110, tal como una cámara de vídeo, captura de televisión analógica, u otras fuentes, y procesa el vídeo para ingreso al codificador de compresión 124. El codificador de compresión 124, un ejemplo del cual es el codificador de vídeo 200 como se describió con referencia a la Figura 2, realiza compresión y codificación del vídeo. El multiplexor 126 empaca y entrega la corriente de bits de vídeo comprimido resultante al codificador de cabal 128 para codificación en el canal de comunicación 140. El canal de comunicación 140 puede ser una transmisión de vídeo, tal
como difusión de televisión digital, satélite u otra transmisión al aire; o carne, teléfono u otra transmisión por cable, y así sucesivamente. El canal de comunicaciones 140 también pueden ser medios de vídeo grabados, tal como una unidad dura de computadora u otro disco de almacenamiento; cinta, disco óptico (DVD) u otro medio grabado removible. El codificador de canal 128 codifica la corriente de bits de video comprimida en un contenedor de archivado, señal de portador de transmisión o similares. En el reproductor/descodificador de vídeo 150, un descodificador de canal 152 descodifica la corriente de bits de vídeo comprimida en el canal de comunicación 140. Un desmultiplexor 154 desmultiplexa y entrega la corriente de bits de vídeo comprimida del descodificador de canal a un descodificador de compresión 156, un ejemplo de lo cual es el descodificador de vídeo 300 como se describió con referencia a la Figura 3. El descodificador de compresión entonces descodifica y reconstruye el video de la corriente de bits de vídeo comprimida. Finalmente, el postprocesador 158 procesa el vídeo para presentarse en una presentación de vídeo 170. Ejemplos de operaciones de postprocesamiento incluyen desbloquear, eliminar el sonido u otra de remoción de artefacto, volver a delinear el alcance, conversión de color y otras operaciones similares. La Figura 2 es un diagrama de bloques de un codificador de vídeo generalizado 200, y la Figura 3 es un diagrama de bloque de un descodificador de video generalizado 300, es en donde puede
incorporarse la técnica de resolución de codificación variable. Las relaciones mostradas entre módulos dentro del codificador y descodif icador indican el flujo principal de información en el codificador y descodificador, mientras emiten otras relaciones para la búsqueda de claridad. En particular, las Figuras 2 y 3 usualmente no muestran información lateral que indica las configuraciones de codificador, modos, cuadros, y así sucesivamente, como se utiliza para una secuencia de vídeo, marco, macrobloque, bloque, y así sucesivamente. Tal información lateral se envía en la corriente de bits de salida, típicamente después de codificación de entropía de la información lateral. El formato de la corriente de bits de salida, por ejemplo, puede ser un formato VC-1 de SMPTE un formato de VC-1 de SMPTE adaptado para comunicaciones de tiempo real, un formato de H.263, un formato de H.264 u otros formato de vídeo. En una modalidad, por ejemplo, el codificador 200 y descodificador 300 se basan en bloque y utilizan un formato de macrobloque 4:2:0 con cada macrobloque que incluye cuatro bloques de luminancia 8 (en tiempos tratados como un macrobloque 16 x 16) y dos bloques de crominancia 8 x 8. Alternativamente, el codificador 200 y descodificador 300 se basan en objeto, utilizan un macrobloque diferente o formato de bloque, o realizan operaciones en grupos de pixeles de diferentes tamaños o configuración que bloques 8 x 8 y macrobloque 16 x 16. El macrobloque puede utilizarse para representar cualquier contenido progresivo o vídeo entrelazado.
Las técnicas de codificación y descodificación de vídeo escalable y herramientas en las varias modalidades pueden implementarse en un codificador y/o descod if icador de vídeo. Codificadores y descodificadores de vídeo pueden contener dentro de ellos diferentes módulos, y los diferentes módulos pueden relacionarse y comunicarse entre sí en muchas formas diferentes. Los módulos y relaciones descritos posteriormente son a manera de ejemplo y no limitación. Dependiendo de la implementación y el tipo de compresión deseado, los módulos del codificador de vídeo o descodifícador de vídeo pueden agregarse, omitirse, dividirse en módulos múltiples, combinarse con otros módulos, y/o remplazarse con módulos similares. En modalidades alternativas, los codificadores de vídeo o descodificadores de vídeo con diferentes módulos y/u otras configuraciones de módulos pueden realizar una o más de las técnicas descritas. En general, las técnicas de compresión de vídeo incluyen compresión de intramarco y compresión de Intermarco. Las técnicas de compresión de intramarco comprimen marcos individuales, típicamente llamados l-marcos, marcos clave, o marcos de referencia. Las técnicas de compresión de Intermarco comprimen marcos con referencia a marcos precedentes y/o siguientes, y se llaman típicamente marcos previstos llamados. Ejemplos de marcos previstos incluyen un marco predictivo (P), un marco súper predictivo (SP), y un marco bí-predictivo o bi-direccional (B). Un marco previsto se representa en términos de predicción compensada por movimiento
(o diferencias) de uno o más otros marcos. Un residuo de predicciones a diferencia entre lo que se predijo y el marco original. En contraste, un l-marco un marco clave se comprime sin referencia a otros marcos. Un codificador de vídeo típicamente recibe una secuencia de marcos de vídeo que incluyen un marco actual y producen información de vídeo comprimida como salida. El codificador comprime marcos previstos y marcos clave. Muchos de los componentes del codificador se utilizan para comprimir tanto marcos clave como marcos previstos. Las operaciones exactas realizadas por esos componentes pueden variar dependiendo del tipo de información que se comprime. La Figura 2 es un diagrama de bloques de un sistema de codificador de vídeo general 200. El sistema de codificador 200 recibe una secuencia de marcos de vídeo que incluyen un marco actual 205, y produce información de vídeo comprimida 295 como salida. Modalidades particulares de codificadores de vídeo típicamente utilizan una variación o versión complementada del codificador generalizado 200. El sistema de codificador 200 comprime marcos previstos y marcos clave. Para la búsqueda de presentación, la Figura 2 muestra una ruta para marcos clave a través del sistema de codificador 200 y una ruta para marcos previstos hacia delante. Muchos de los componentes del sistema de codificador 200 se utilizan para comprimir tanto marcos clave como marcos previstos. Las
operaciones exactas realizadas por estos componentes puede variar dependiendo del tipo de información que se comprime. Un marco previsto (por ejemplo, P-marco, SP-marco, y B-marco) se representa en términos de predicción (o diferencias) de uno o más otros marcos. Un residuo de predicciones a diferencia de entre lo que se predijo y el marco original. En contraste, un marco clave (por ejemplo, I-Marcos) se comprime sin referencia a otros marcos. Si el marco actual 205 es un marco previsto hacia delante, un estimador de movimiento 210 estima movimiento de macrobloques u otros grupos de pixeles (por ejemplo, 16 x 8 , 8 x 16 u 8 x 8 bloques) del marco actual 205 con respecto a un marco de referencia, que es el marco previo reconstruido 225 guardado en el almacenamiento de marco 220. En modalidades alternativas, el marco de referencia es un marco posterior o el marco actual se predice bidireccionalmente. El estimador de movimiento 210 produce como información lateral información de movimiento 215 tal como vectores de movimiento. Un compensador de movimiento 230 aplica la información de movimiento 215 al marco previo reconstruido 225 para formar un marco actual compensado por movimiento 235. La predicción es raramente perfecta, sin embargo, y la diferencia entre el marco actual compensado por movimiento 235 y el marco actual original 205 es el residuo de predicción 245. Alternativamente, un estimador de movimiento y compensador de movimiento aplican otro tipo de estimación/compensación de movimiento.
Un transformador de secuencia 260 convierte la información de video de dominio espacial en datos de dominio de frecuencia (es decir, espectral). Los marcos de vídeo basados en bloque, el transformador de frecuencia 260 aplica una transformación descrita en las siguientes secciones que tiene propiedades similares a la transformación de coseno separado (DCT). En algunas modalidades, el transformador de frecuencia 260 aplica una transformación de frecuencia a bloques de residuo de predicción espacial para marcos clave. El transformador de frecuencia 260 puede aplicar transformaciones de 8 x 8, 8 x 4, 4 x 8, o transformaciones de frecuencia de otro tamaño. Un cuantificador 270 entonces cuantifica los bloques de coeficientes de datos espectrales. El cuantificador aplica cuantif icación uniforme, escalar a los datos espectrales con un tamaño de paso que varía en una base de marco por marco u otra base. Alternativamente, el cuantificador aplica otro tipo de cuantif icación a los coeficientes de datos espectrales, por ejemplo, una cuantificación no uniforme, de vector, o no adaptable, o directamente cuantifica datos de dominio espaciales en un sistema de codificador que no utiliza transformaciones de frecuencia. Además de cuantificación adaptable, el codificador 200 puede utilizar caída de marco, filtrado adaptable, u otras técnicas para control de velocidad. Cuando un marco actual reconstruido se necesita para estimación/compensación de movimiento subsecuente, un
cuantif icador inverso 276 realiza cuantificación inversa en los coeficientes de datos espectrales cuantif icados. Un transformador de frecuencia inversa 266 entonces realiza la inversa de las operaciones del transformador de frecuencia 260, que produce un residuo de predicción reconstruido (para un marco previsto) o un marco clave reconstruido. Si el marco actual 205 fue un marco clave, el marco clave reconstruido se tomó como el marco actual reconstruido. Sí el marco actual 205 fue un marco previsto, el residuo de predicción reconstruido se agrega al marco actual compensado por movimiento 235 para formar el marco actual reconstruido. El almacenamiento de marco 220 almacena en memoria intermedia el marco actual reconstruido para usarse en. predecir el siguiente marco. En algunas modalidades, el codificador aplica un filtro del desbloqueo al marco reconstruido para suavizar adaptivamente discontinuidades en los bloques del marco. El codificador de entropía 280 comprime la salida del cuantif icador 270 así como cierta información lateral (por ejemplo, información de movimiento 215, tamaño de paso de cuantificación). Las técnicas de codificación de entropía típicas incluyen codificación aritmética, codificación diferencial, codificación de Hoffman, codificación de longitud de funcionamiento, codificación de LZ, codificación de diccionario, y combinaciones de las anteriores. El codificador de entropía 280 típicamente utiliza diferentes técnicas de codificación para diferentes clases de información (por ejemplo, coeficientes DC, coeficientes AC, diferentes clases de información
lateral), y pueden elegir de entre múltiples cuadros de código dentro de una técnica de codificación particular. El codificador de entropía 280 coloca información de video comprimida 295 en la memoria intermedia 290. Un indicador de nivel de memoria intermedia se retroalimenta a módulos adaptivos de velocidad de bits. La información de vídeo comprimida 295 se agota de la memoria intermedia 290 a una velocidad de bits constante o relativamente constante y se almacena para dirección subsecuente en esa velocidad de bits. Alternativamente, el codificador 200 dirige información de vídeo comprimida inmediatamente al seguir la compresión. Antes o después de la memoria intermedia 290, la información de vídeo comprimida 295 puede codificarse por canal para transmisión en la red. La codificación de canal puede aplicar detección y corrección de error de datos a la información de vídeo comprimida 295. La Figura 3 es un diagrama de bloques de un sistema de descodificador de vídeo general 300. El sistema de descodificador 300 recibe información 395 para una secuencia comprimida de marcos de video y produce resultado que incluye un marco reconstruido 305. Modalidades particulares de descodificadores de vídeo típicamente utilizan una variación o versión complementada del descodificador generalizado 300. El sistema de descodificador 300 descomprime marcos previstos y marcos clave. Para la búsqueda de presentación, la
Figura 3 muestra una ruta para marcos clave a través del sistema de descodificador 300 y una ruta para marcos previstos hacia delante. Muchos de los componentes de sistema de descodificador 300 se utilizan para comprimir tanto marcos clave como marcos previstos. Las operaciones exactas realizadas por aquellos componentes puede variar dependiendo del tipo de información que se comprime. Una memoria intermedia 390 recibe la información 395 para la secuencia de vídeo comprimida y hace la información recibida disponible para el descodificador de entropía 380. La memoria intermedia 390 típicamente recibe la información a una velocidad que es bastante constante en el tiempo, e incluye una memoria intermedia de inestabilidad para suavizar variaciones de corto plazo en ancho de banda o transmisión. La memoria intermedia 390 puede incluir una memoria intermedia de reproducción y otras memorias intermedias también. Alternativamente, la memoria intermedia 390 recibe información a una velocidad variante. Antes o después de la memoria intermedia 390, la información de vídeo comprimida puede descodificarse y procesarse por canal para detección y corrección de error. El descodificador de entropía 380 descodifica datos cuantif icados codificados por entropía así como información lateral codificada por entropía (por ejemplo, información de movimiento, tamaño de paso de cuantificación), aplicar típicamente la inversa de la codificación de entropía realizada en el codificador. Las técnicas de descodificación de entropía incluyen descodificación aritmética,
descodificación diferencial, descodificación de Hoffman, descodificación de longitud de funcionamiento, descodificación LZ, descodificación de diccionario, y combinaciones de los anteriores. El descodificador de entropía 380 frecuentemente utiliza diferentes técnicas de descodificación para diferentes clases de información (por ejemplo, coeficientes DC, coeficientes AC diferentes clases de información lateral), y pueden elegir de entre múltiples cuadros de código dentro de una técnica de descodificación particular. En el marco 305 para reconstruirse está un marco previsto hacia delante, un compensador de movimiento 330 aplica información de movimiento 315 a un marco de referencia 325 para formar una predicción 335 del marco 305 que se reconstruye. Por ejemplo, el compensador de movimiento 330 utiliza un vector de movimiento de macrobloque para encontrar un macrobloque correspondiente en el marco de referencia 325. La predicción 335 por lo tanto es un grupo de bloques de vídeo compensados por movimiento para el marco de vídeo previamente descodificado. Una memoria intermedia de marco 320 almacena marcos reconstruidos previos para uso como marcos de referencia. Alternativamente, un compensador de movimiento aplica otro tipo de compensación de movimiento. La predicción por el compensador de movimiento es raramente perfecta, así el descodificador 300 también reconstruye residuos de predicción. Cuando el descodificador necesita un marco reconstruido para compensación de movimiento subsecuente, el almacenamiento de marco 320 guarda en la memoria intermedia el marco reconstruido
para usarse en predecir el siguiente marco. En algunas modalidades, el codificador aplica un filtro del desbloqueo al marco reconstruido para suavizar adaptablemente discontinuidades en los bloques del marco. Un cuantificador inverso 370 invierte datos descodificados de entropía de cuantificación. En general, el cuantificador inverso aplica cuantif icación inversa uniforme, escalar a los datos descodificados de entropía con un tamaño de paso que varía en una base de marco por marco u otra base. Alternativamente, el cuantificador inverso aplica otro tipo de cuantificación inversa a los datos, por ejemplo, una cuantificación no uniforme, de vector, o no adaptable, o directamente cuantifica de forma inversa datos de dominios espaciales en un sistema de descodificador que no utiliza transformaciones de frecuencia inversa. Un transformador de frecuencia inversa 360 convierte los datos de dominio de frecuencia cuantificados en la información de vídeo de dominio espacial. Para marcos de vídeo basados en bloque, el transformador de frecuencia inverso 360 aplica una transformación inversa descrita en las siguientes secciones. En algunas modalidades, el transformador de frecuencia inversa 360 aplica una transformación de frecuencia inversa a bloques de residuos de predicción espacial para marcos clave. El transformador de frecuencia inversa 360 puede aplicar una transformación de 8 x 8, 8 x 4, 4 x 8, u otras transformaciones de frecuencia inversa de tamaño. La técnica de resolución de codificación variable permite al
descodificador mantener una resolución de presentación de video deseada, mientras permite al codificador la flexibilidad de elegir codificar alguna porción a porciones del vídeo en múltiples niveles de resolución codificada que puede ser diferente de la resolución de presentación. El codificador puede codificar algunas imágenes de la secuencia de vídeo en resoluciones codificadas inferiores para lograr una velocidad de bits codificada inferior, tamaño de presentación o calidad de presentación. Cuando se desea utilizar la resolución de codificación inferior, el codificador filtra y muestrea hacia abajo la ilustración(es) a la resolución inferior. En la descodificación, el descodificador selectivamente descodifica aquellas porciones de la corriente de vídeo con la resolución de codificación inferior para presentación en la resolución de presentación. El descodificador puede también muestrear hacia arriba la resolución inferior del vídeo antes que se presente en una pantalla con dirección de pixel grande. Similarmente, el codificador puede codificar algunas imágenes de la secuencia de vídeo en resoluciones codificadas superiores para lograr una velocidad de bits codificada superior, tamaño de presentación o calidad de presentación. Cuando se desea utilizar la resolución de codificación superior, el filtro de codificador retiene una porción mayor de la resolución de vídeo original. Esto típicamente se hace al codificar una capa adicional que representa la diferencia entre el vídeo con mayor resolución y la versión de la capa de resolución inferior interpolada para coincidir con el tamaño de vídeo de resolución mayor. Por ejemplo, un vídeo original puede
tener una resolución de pixel horizontal y vertical de 640 y 480 pixeles, respectivamente. La capa base codificada puede tener 160 x 120 pixeles. La primera capa de mejora espacial puede proporcionar una resolución de 320 x 240 pixeles. La capa de mejora espacial puede obtenerse al muestrear hacia abajo el vídeo original por un factor de 2 a lo largo de la resolución horizontal y vertical. Esto se codifica al calcular la diferencia entre el vídeo de 320 x 240 y la capa base 160 x 120 interpolada por un factor de 2 horizontal y verticalmente para coincidir con la resolución 320 x 240 de la primera capa de mejora. En la descodificación, el descodif icador descodifica selectivamente aquellas porciones de la corriente de video con la base y la resolución de codificación espacial superior para presentación en la resolución de presentación o para proporcionar un mayor grado de detalles en el vídeo, sin importar la resolución para la presentación. En varias modalidades, el codificador de vídeo 200 puede proporcionar resoluciones de codificación variable en un marco por marco u otra base. Los varios niveles de resoluciones de codificación pueden organizarse en la forma de múltiples capas de vídeo, con cada capa de vídeo que proporciona un nivel diferente de resolución espacial y/o resolución temporal para un grupo datos la información de vídeo. Por ejemplo, el codificador de vídeo 200 puede distribuirse para codificar información de vídeo en una corriente de vídeo con una capa base y una capa de mejora. La información de vídeo puede comprender, por ejemplo, una o más secuencias de marco, marcos,
ilustraciones, imágenes, fijos, bloques, macrobloques, grupos de pixeles, u otro grupo definido del datos de vídeo (colectivamente denominados como "marcos"). La capa base puede tener un primer nivel de resolución espacial y un primer nivel de resolución temporal. La capa de mejora puede aumentar el primer nivel de resolución espacial, el primer nivel de resolución temporal, o ambos. Existen múltiples capas de mejora para proporcionar un nivel de granularidad deseando cuando se mejora la resolución espacial o resolución temporal para un grupo dado de información de video. Las capas de vídeo pueden describirse en mayor detalle con referencia a la Figura 4. La Figura 4 ilustra una modalidad ilustrativa de una jerarquía de capa de vídeo. La Figura 4 ilustra una representación jerárquica de múltiples capas de vídeo independientes 400 de vídeo digital codificado dentro de una corriente de vídeo. Como se muestra en la Figura 4, las capas de video 400 pueden comprender una capa base (BL). La BL puede representar un nivel base de resolución espacial y un nivel base de resolución temporal (por ejemplo, velocidad de marco) de corriente de vídeo. En una modalidad, por ejemplo, un nivel base de resolución temporal puede comprender T marco/segundo, en donde T = 15 marcos. La codificación del vídeo es tal que la descodificación de marcos de vídeo BL subsecuentes sólo depende de marcos de vídeo previos de la misma capa (por ejemplo, uno o más marcos P, SP o B en la capa base). Las capas de vídeo 400 también puede comprender una o más
capas mejoradas. Por ejemplo, las capas mejoradas pueden incluir una o más capas de mejora espacial, tal como una primera capa de de mejora espacial (SLO), una segunda capas de mejora espacial (SL1), y una tercera capa de mejora espacial (SL2). SLO representa una capa de mejora espacial que puede agregarse a BL para proporcionar un vídeo de resolución superior en la misma velocidad de marco que la secuencia BL (por ejemplo, 15 marcos/segundo). SL1 representa una capa de mejora espacial que puede agregarse a BL para proporcionar un vídeo de resolución superior a una velocidad de marco media que es superior que la secuencia BL. En una modalidad, por ejemplo, una velocidad de marco medio puede comprender T/2 marcos/segundo, en donde T = 30 marcos. SL2 es una capa de mejora espacial que puede agregarse a BL para proporcionar un vídeo de resolución superior a una velocidad de marco superior que es incluso superior que la secuencia BL. En una modalidad, por ejemplo, una velocidad de marco superior puede comprender T marcos/segundo, en donde T = 60 marcos. Se puede apreciar que los valores dados por T son a manera de ejemplo solamente y no de limitación. Las capas mejoradas también pueden incluir una o más capas de mejora temporal, tal como una primera capa de mejora temporal (TL1) y una segunda capa de mejora temporal (TL2). TL1 representa una capa de mejora temporal que puede agregarse a BL para producir el mismo vídeo de resolución inferior que BL pero a una velocidad de marco que es el doble que la velocidad de marco para
marcos BL. Como un resultado, la presentación de movimiento se mejora en esta secuencia. TL2 representa una capa de mejora temporal que duplica la velocidad de marco de BL y TL1. La presentación de movimiento en este nivel es mejor que BL o TL1. Existen muchas combinaciones disponibles para utilizar la capa base y capas de mejora, como se indica por las letras punteadas en la Figura 4. Algunas combinaciones pueden incluir, a manera de ejemplo y no de limitación, las siguientes combinaciones: • BL BL+SLO BL+TL1 BL+TL1 +TL2 • BL+SL0+TL1 +SL1 BL+SL0+TL1 +SL1+TL2+SL2 Estas y otras combinaciones de capa de vídeo pueden asegurar que la calidad de vídeo es consistente en tiempo. En algunos casos, puede ser deseable seleccionar el mismo número de capas de mejora espacial para todas las capas temporales para que la calidad de vídeo sea consistente en tiempo. Como se describe más completamente posteriormente, el codificador 200 especifica la resolución máxima en un encabezado de secuencia dentro de la corriente de bits de video comprimida 295 (Figura 2). El codificar el nivel de resolución de codificación en el encabezado de secuencia de la corriente de bits de vídeo cuando se compara con información de encabezado transportada fuera de la
corriente de bits, tal como en información de encabezado del formato de archivo de contenedor, o formato de portador de transmisión, tiene la ventaja que la resolución máxima se puede descodificar directamente por el descodificador de vídeo. La resolución máxima no tiene que pasarse de forma separada al descodificador de vídeo por el archivo de contenedor o descodificador de portador de transmisión (por ejemplo, descodificador de canal 152). El codificador 200 además señala que un grupo de una o más ilustraciones que siguen un punto de entrada en la corriente de bits de vídeo se codifica en una resolución inferior que utiliza una marca definida o código de inicio en el encabezado de punto de entrada. En algunas modalidades, si la marca indica una resolución de codificación inferior o superior, el tamaño codificado también puede codificarse en el encabezado de punto de entrada. La corriente de bits de vídeo comprimida 295 (Figura 2) incluye información para una secuencia de marcos de video progresivos comprimidos u otras ilustraciones (por ejemplo, un marco de entrelazamiento o ilustraciones de formato de campo de entrelazamiento). La corriente de bits 295 se organiza en varias capas jerárquicas que se codifican por un descodificador tal como el descodificador 300 de la Figura 3. La capa superior es la capa de secuencia, que tiene información para la secuencia total de marcos. Adicionalmente, cada marco de vídeo comprimido se forma de datos que se estructuran en tres capas jerárquicas: ilustración, macrobloque, y bloque (de arriba a abajo). I mplementaciones de
vídeo alternativas que emplean la técnica de resolución de codificación variable pueden utilizar otras estructuras de sintaxis que tienen varias diferentes composiciones de elementos de sintaxis. Además, la corriente de bits de vídeo comprimida puede contener uno o más de entrada. Los puntos de entrada válidos en una corriente de bits son ubicaciones en una corriente de bits elemental de la cual el sistema de procesamiento de medios puede descodificar o procesar la corriente de bits sin la necesidad de ninguna información precedente (bits) en la corriente de bits. El encabezado de punto entrada (también llamado encabezado de Grupo de imágenes) típicamente contiene información de inicio de descodificador crítico tal como tamaños horizontales y verticales de marcos de vídeo, estados de memoria intermedia de corriente elemental requeridos y parámetros de cuantificador, por ejemplo. Marcos que pueden descodificarse sin referencia a marcos precedentes se denominan como marcos independientes o claves. Un punto de entrada se señala en una corriente de bits por un indicador de punto de entrada. El propósito de un indicador de punto de entrada es señalar la presencia de una ubicación especial en una corriente de bits para comenzar o resumir descodificación, por ejemplo, en donde no hay dependencia en campos o marcos de vídeo descodificados pasados para descodificar el marco de vídeo que sigue inmediatamente al indicador de punto de entrada. Los indicadores de punto de entrada y estructuras de punto de entrada asociados pueden insertarse en intervalos regulares o irregulares en
una corriente de bits. Por lo tanto, un codificador puede adoptar diferentes políticas para regir la inserción de indicadores de punto de entrada en una corriente de bits. El comportamiento típico es insertar indicadores y estructuras de punto de entrada en ubicaciones de marco regulares en una corriente de bits de vídeo, pero algunos escenarios (por ejemplo, recuperación de error o cambio de canal rápido) pueden alterar la naturaleza periódica de la inserción de punto de entrada. Como un ejemplo, ver Cuadro posterior para la estructura de un punto de entrada en una corriente elemental de vídeo VC-1, como sigue:
CUADRO 1 Corriente de bits de capa de punto de entrada para perfil avanzado
CAPA DE PUNTO DE ENTRADA (){ Número de bits Descriptor
ENLACE_ROTO 1 uimsbf
ENTRADA _C ERRADA 1 uimsbf
MARCA.ESCANEOPAN uimsbf
REFDIST_MARCA 1 uimsbf
FILTRO DE GIRO 1 uimsbf
UVMC RAPIDO uimsbf
MV EXTENDIDO 1 uimsbf
DCUANT uimsbf
TRANSFORMACION VS 1 uimsbf
TRASLAPE 1 uimsbf
CUANTIFICADOR 2 uimsbf
si (HRD_PARAM_MARCA— 1 ){ HRD_TOTALIDAD() } MARCA_TAMAÑO_CODIFICADO 1 u i msbf si (MARCA_TAMAÑO_CODIFICADO = = 1 ){ ANCHO CODIFICADO 12 uimsbf
ALTURA_CODIFICADA 12 uimsbf
} si (MV_EXTENDIDO-11 ){ DMV EXTENDIDO 1 uimsbf
} MARCA_MAPA_ALCANCE 1 uimsbf si (MARCA MAPA ALCANCE = = 1){ MAPA DE ALCANCE 3 uimsbf
} MARCA_MAPAUV_ALCANCE 1 uimsbf si (MARCA_MAPAUV_ALCANCE = = 1){ MAPAUV_ALCANCE 3 uimsbf
} }
En varias modalidades, los indicadores de punto de entrada pueden definirse de acuerdo con un estándar, protocolo o arquitectura dado. En algunos casos, los indicadores de punto de entrada pueden definirse para extender un protocolo, estándar o arquitectura dado. En los siguientes Cuadros 1 y 2, varios indicadores de punto de entrada se definen como subfijos de código de inicio y sus significados correspondientes adecuados para segmentos de corriente de bits insertados en una corriente de bits SMPTE 421M (VC- ). Los códigos de inicio únicamente deben ser
¡dentificables, con diferentes códigos de inicio para diferentes capas de vídeo, tal como una capa base y una o más capas de mejora. Los códigos de inicio, sin embargo, pueden utilizar identif icadores de estructuras similares entre capas de vídeo para hacer análisis e identificación más fáciles. Ejemplos de identif icadores de estructura pueden incluir, pero no se limitan a, encabezados de secuencia, encabezados de punto de entrada, encabezados de marco, encabezados de campo, encabezados de rebanada, y así sucesivamente. Además, las técnicas de emulación de código de inicio pueden utilizarse para reducir la posibilidad de códigos de inicio para una capa de vídeo dada que ocurre aleatoriamente en la corriente de vídeo. Dependiendo de un código de inicio particular, un analizador y descodificador de estructura específico para cada capa de vídeo puede invocarse o iniciarse para descodificar información de vídeo de la corriente de vídeo. El analizador y descodificador de estructura específico puede implementar un grupo específico de herramientas de descodificador, tal como marcos de referencia necesarios, cuantificadores, control de velocidad, modo de compensación de movimiento, y así sucesivamente apropiados para una capa de vídeo dada. Las modalidades no se limitan en este contexto. En varias modalidades, los subfijos de código de inicio pueden ser compatibles con versiones pasadas con la corriente de bits VC-1 actual, para que los descodif icadores VC-1 de legado deban ser capaces de continuar trabajando incluso si la corriente de bits VC-1
incluye nuevos segmentos. Los subfijos de código de inicio pueden utilizarse para extender y construir formato actual de una corriente de bits de vídeo o SMPTE 421M para soportar representación de vídeo escalable.
CUADRO 2
Los subfijos de código de inicio mostrados en el Cuadro 2 pueden anexarse al final de una secuencia de 3 bytes 0 x 000001 para hacer varios códigos de inicio. Tales códigos de inicio se integran en la corriente de bits VC-1 para permitir que los descodificadores de vídeo determinen que porción de la corriente de
bits analizan. Por ejemplo, un código de inicio de secuencia anuncia la ocurrencia de un encabezado de secuencia en la corriente de bits VC-1. Las ocurrencias de las secuencias de bit que parecen códigos de inicio deben eliminarse a través de prevención de emulación de código de inicio que divide tales secuencias en varias piezas de corriente de bits que ya no emulan un código de inicio. En varias modalidades, agregar fragmentos de corriente de bits de representan capas de vídeo adicionales se logra al agregar nuevos códigos de inicio para identificar y señalar la presencia de los fragmentos de capas de mejora en la corriente de bits. Por ejemplo, con las dos capas espaciales y tres capas temporales ¡lustradas en la Figura 4, uno puede asignar los subfijos siguientes para señalar los varios segmentos de corriente de bits de capa con relación a los contenidos que transportan, como se muestra en el cuadro 3 como sigue:
CUADRO 3
Sufijo de código de inicio Significado 0x00 SMPTE Reservado 0x01 -0x09 SMPTE Reservado OxOA Fin De Secuencia OxOB Rebanada OxOC Campo OxOD Marco OxOE Encabezado De Punto De Entrada
OxOF Encabezado De Secuencia x10-0x1 A SMPTE reservado 0x1 B Datos De Usuario De Nivel De Rebanada
0x1 C Datos De Usuario De Nivel De Campo
0x1 D Datos De Usuario De Nivel De Marco 0x1 E Datos De Usuario De Nivel De Punto De Entrada 0x1 F Datos De Usuario De Nivel De Secuencia
0x20 Nivel de Rebanada-SLO 0x21 Nivel de Rebanada-TL1 0x22 Nivel de Rebanada-SL1 0x23 Nivel de Rebanada-TL2 0x24 Nivel de Rebanada-SL2 0x30 Nivel de Campo-SLO 0x31 Nivel de Campo-TL1 0x32 Nivel de Campo-SL 1 0x33 Nivel de Campo-TL2 0x34 Nivel de Campo-SL2 0x40 Nivel de Marco-SLO 0x41 Nivel de Marco-TL1 0x42 Nivel de Marco-SL1 0x43 Nivel de Marco-TL2 0x44 Nivel de Marco-SL2 0x50 Nivel de Punto de Entada-SLO 0x51 Nivel de Punto de Entada-TL1 0x52 Nivel de Punto de Entada-SL1 0x53 Nivel de Punto de Entada-TL2 0x54 Nivel de Punto de Entada-SL2 0x60 Nivel de Secuencia-SLO 0x61 Nivel de Secuencia-TL1 0x62 Nivel de Secuencia-SL1 0x63 Nivel de Secuencia-TL2 0x64 Nivel de Secuencia-SL2 x80-0xFF Prohibido
La inserción de los fragmentos debe seguir un grupo de reglas de alcance definidas. Por ejemplo, la información de nivel de secuencia SLO debe seguir la información de nivel de secuencia BL y así sucesivamente. Esto puede describirse en más detalle con referencia a las Figuras 5-8, en donde la corriente de bits VC-1 original es la capa BL del vídeo solamente, a manera el ejemplo. La Figura 5 es un diagrama de sintaxis para una corriente de video 500. La Figura 5 ¡lustra una corriente de video 500 que representa una corriente de bits VC-1 que tiene sólo marcos de vídeo, que significa que el contenido es vídeo progresivo y no video entrelazado. Esto es típico de varios escenarios de comunicación de tiempo real en donde las fuentes de vídeo producen vídeo progresivo solamente, tal como cámaras web y así sucesivamente. Como se muestra en la Figura 5, la corriente de vídeo 500 puede comprender un primer bloque que contiene un código de inicio de secuencia y encabezado de secuencia para una secuencia de marcos de vídeo. El segundo bloque puede contener un código de inicio de punto entrada y un encabezado de punto entrada. El tercer bloque puede contener un código de inicio de marco y un encabezado de marco para un primer marco de vídeo. El cuarto bloque puede contener la carga útil de marco real. El quinto bloque puede contener el código de inicio de marco y el encabezado de marco para un segundo marco de vídeo. Esto puede continuar para cada marco dentro de la secuencia de marcos para un grupo grado de contenido de vídeo digital.
Para implementar múltiples codificaciones de resolución que utilizan diferentes capas de vídeo, uno o más códigos de inicio del Cuadro 2 y/o Cuadro 3 pueden insertarse en la corriente de vídeo 500 para indicar o delinear un segmento de vídeo BL y capa mejorada (por ejemplo, SLO, SL1, SL2, TL1, TL2, y así sucesivamente) segmentos de vídeo. Las flechas inferiores muestran la ubicación en donde los encabezados de secuencia adicionales, encabezados de punto de entrada, encabezados de marco y cargas útiles relativas a otras capas de vídeo se insertan en la corriente de bits BL VC-1. La Figura 6 es un diagrama de sintaxis para una corriente de vídeo 600. La Figura 6 ilustra corriente de video 600 que representa una corriente de bits VC-1 similar a la corriente de vídeo 500, excepto en donde cada marco se codifica como un grupo de rebanadas independientes. La codificación de rebanada se utiliza para proporcionar residencia a error en redes de comunicación en donde es probable la pérdida de paquete. Con codificación de rebanada, sólo una porción de los marcos de vídeo se afectan por una pérdida de paquete como opuesto al marco completo. Como se muestra en la Figura 6, varias ubicaciones dentro de la corriente de vídeo 600 para códigos de inicio de rebanada y encabezados de rebanada se indican por las flechas superiores las flechas inferiores indican ubicaciones en donde capas de vídeo adicionales pueden insertarse con relación a los encabezados de rebanada y cargas útiles de rebanada.
La Figura 7 es un diagrama de sintaxis para una corriente de vídeo 700. La Figura 7 ilustra corriente de vídeo 700 que representa una corriente de bits VC-1 que tiene vídeo entrelazado. En este caso, un marco de vídeo se hace de dos campo de vídeo. Los códigos de inicio, encabezados y cargas útiles de video de las escalas con relación al primer campo BL se insertan en la corriente de bits VC-1 antes que el código de inicio y encabezado del segundo campo del BL. Los códigos de inicio, encabezados y las cargas útiles de vídeo de las escalas relativas al segundo campo del BL se insertan en la corriente de bits VC-1 antes del inicio del siguiente marco de vídeo. La Figura 8 es un diagrama de sintaxis para una corriente de video 800. La Figura 8 ilustra corriente de vídeo 800 que representa una corriente de bits VC-1 similar a la corriente de vídeo 700, excepto en donde cada marco entrelazado se codifica como un grupo de rebanadas independientes. Los códigos de inicio, encabezados y cargas útiles de vídeo de la rebanadas que pertenecen a las capas de vídeo adicionales se muestran por las flechas al fondo de la Figura 8. El encabezado de campo del segundo campo de BL marca el BL y cualquier dato de capa de vídeo adicional del primer campo de BL del BL y cualquier dato de capa de video adicional del segundo campo de BL. Operaciones para las modalidades anteriores además pueden describirse con referencia a las siguientes figuras y ejemplos anexos. Algunas de las figuras pueden incluir un flujo de lógica.
Aunque tales figuras aquí presentadas pueden incluir un flujo de lógica particular, se puede apreciar que el flujo lógico simplemente proporciona un ejemplo de cómo la funcionalidad general como' se describe aquí puede implementarse. Además, en flujo lógico dados no necesariamente tiene que ejecutarse en el orden presentado a menos que se indique de otra forma. Además, el flujo lógico dado puede implementarse por un elemento de hardware, un elemento de software ejecutado por un procesador, o cualquier combinación de los mismos. Las modalidades no se limitan en este contexto. La Figura 9 ilustra una modalidad de un flujo de descodificador lógico 900. El flujo lógico 900 puede ser representativo de las operaciones ejecutadas por una o más modalidades aquí descritas, tal como el sistema de captura y reproducción de vídeo 100, el descodificador de vídeo 200 ó el descodificador de vídeo 300. Como se muestra en la Figura 9, un analizador para el descodificador de vídeo 300 monitorea una corriente de vídeo para un código de inicio BL en diamante 902. Si el analizador no reconoce un código de inicio BL, continúa el giro a través de diamante 902 hasta que se reconoce uno. Una vez que el analizador reconoce un código de inicio de BL, adquiere el encabezado o encabezado más carga útil asociado con el código de inicio en el bloque 904. Una vez que esto se hace, el analizador revisa la presencia de códigos de inicio para capas de videos adicionales en diamante 906. Si el analizador no reconoce ninguno de los códigos de inicio para capas de vídeo adicionales dentro de una corriente de vídeo dada o periodo de tiempo, el control
se pasa al diamante 902. Si el analizador no reconoce un código de inicio para una capa de vídeo adicional en el diamante 906, adquiere el encabezado o encabezado más carga útil asociada con la capa de vídeo adicional en el bloque 908, y el control se pasa de regreso al diamante 906. El giro de control entre el diamante 906 y el bloque 908 continúa para tantas capas de vídeo como las que se utilizan en la corriente de bits VC-1 dada. Cuando se reconoce un código de inicio como ya no uno de una escala de vídeo adicional en diamante 906, el analizador regresa y comienza a buscar un código de inicio que pertenece a la capa base VC-1 en diamante 902. La Figura 10 ilustra un diagrama de bloques de un primer sistema de captura y reproducción de vídeo modificado 100, modificado en donde la fuente/codificador de vídeo 120 incluye un módulo de codificación críptica 1002, y reproductores/descodif icadores de vídeo múltiples 150-1-p Cada uno que incluye un módulo de descodificación críptica 1004. El módulo de codificación críptica 1002 puede utilizarse para codificar crípticamente cada capa de vídeo independientemente con una clave de codificación críptica diferente. El módulo de codificación críptica 1002 puede proporcionar la información de codificación críptica 1012 (por ejemplo, clave de codificación críptica y cifras) para cada capa de vídeo. La entrega de esta información se hace en banda o por otros canales de comunicación externos. Además, la información de codificación críptica 1012 puede ser dinámica y variar con el tiempo para mejorar la seguridad. Como se muestra en la Figura 10, las
flechas 1006-1-q pueden representar la capa base, flechas 1008-1 -r pueden representar la capa de mejora espacial, y flechas 010-1-s pueden representar la capa de mejora temporal. Basándose en la información de descodificación críptica 1012 recibida del módulo de codificación críptica 1002, el módulo de descodificación críptica 1004 para cada receptor es capaz (o no es capaz) de descodificar crípticamente cada capa de vídeo. La disponibilidad de las claves de descodificación críptica usualmente se une a políticas de seguridad o a derechos otorgados por un servicio de suscripción/compra. Por ejemplo, el reproductor/descodificador de vídeo 150-2 sólo es capaz de recibir y descodificar crípticamente la capa base y la capa de mejora espacial de la corriente de vídeo, mientras el reproductor/descodificador de vídeo 150-1 puede descodificar la capa base solamente. Cualquier intento por un reproductor/descodificador de vídeo 150-1-p para recibir y descodificar crípticamente una capa de vídeo que no está autorizada como se representó por las flechas punteadas fallará. De esta forma, la fuente/codificador de vídeo 120 puede enviar una corriente de vídeo de resolución inferior y una corriente de vídeo de resolución superior unida a diferentes pagos de servicio o derechos de acceso. Por ejemplo, la disponibilidad de una corriente de video de resolución superior (por ejemplo, para una llamada de conferencia de vídeo) puede unirse al pago de un premio de servicio. La Figura 11 ilustra un diagrama de bloque de un segundo sistema de captura y reproducción de vídeo modificado 100,
modificado en donde la fuente/codificador de vídeo 120 incluye un servidor de manejo de derechos digitales (DRM) 1102, y múltiples reproductores/descodificadores de vídeo 150-1-p cada uno que incluye un módulo de DRM 1104. El servidor de DRM 1102 puede utilizarse para asignar cada capa de vídeo con un grupo diferente de derechos digitales. Para ¡mplementaciones que incluyen un enrutador de conferencia multimedia 1114, cada capa de vídeo puede asociarse con un grupo particular de guías o políticas de DRM. Bajo el control del servidor de DRM 1102, el enrutador de conferencia multimedia 1114 dirige capas de vídeo de acuerdo con los derechos que se otorgaron a cada reproductor/descodificador de vídeo 150-1-p. El servidor de DRM 1102 puede proporcionar la información de DRM 1112 para cada capa de vídeo para reproductores/descodificadores de vídeo 150-1-p. Como se mostró en la Figura 11, las flechas 1106- -q pueden representar la capa base, flechas 1108- -r pueden representar la capa de mejora espacial, y flechas 1110-1-s pueden representar la capa de mejora temporal. Basándose en la información de DRM 1112 recibida del servidor de DRM 1102, el módulo de DRM 1104 para cada receptor se autoriza (o no se autoriza) para recibir o acceder a cada capa de vídeo. La disponibilidad a la información de DRM 1112 usualmente se une a políticas de DRM. Por ejemplo, el reproductor/descodificador de vídeo 150-2 es capaz de recibir y acceder a la capa base y la capa de mejora espacial de la corriente de vídeo, mientras el reproductor/descodificador de vídeo 151 puede no recibir y acceder a la capa base solamente. Cualquier intento por
un reproductor/descodificador de vídeo 150-1-p para recibir y acceder a una capa de vídeo que no está autorizada como se representó por las fechas punteadas fallará. El enrutador de medios 1114 envía las corrientes de vídeo de acuerdo con las políticas de DRM establecidas para cada uno de los reproductores/descodificadores de vídeo 150-1-p. Las múltiples resoluciones de codificación proporcionadas por la fuente/codificador de vídeo 120 permiten al control y manejo de diversidad en los derechos de acceso que los participantes pueden tener en una conferencia de tiempo real. La Figura 12 ilustra un diagrama de bloques para un ambiente de cómputo 1200. El ambiente de cómputo 1200 puede representar una arquitectura de sistema general adecuada para implementar varias modalidades. El ambiente de cómputo 1200 puede incluir múltiples elementos. Un elemento puede comprender cualquier estructura física o lógica distribuida para realizar ciertas operaciones. Cada elemento puede implementarse como hardware, software o cualquier combinación de los mismos, como se desea para un grupo dado de parámetros de diseño o limitaciones de desempeño. Ejemplos de elementos de hardware pueden incluir dispositivos, componentes, procesadores, microprocesadores, circuitos, elementos de circuito (por ejemplo, transistores, resistencias, condensadores, inductores, y así sucesi amente), circuitos integrados, circuitos integrados específicos de aplicación (ASIC), dispositivos de lógica programable (PLD), procesadores de
señal digital (DSP), orden de acceso programable del campo (FPGA), unidades de memoria, accesos de lógica, registros, dispositivos de semiconductor, chips, microchips, conjuntos de chip, y así sucesivamente. Ejemplos de software pueden incluir cualquiera de los componentes de software, programas, aplicaciones, programas de computadora, programas de aplicación, programas de sistema, programas de máquina, software de sistema operativo, software intermedio, firmware, módulos de software, rutinas, subrutinas, funciones, métodos, interfases, interfases de software, interfases de programa de aplicación (API), grupos de instrucciones, código de cómputo, códigos de computadora, segmentos de código, segmentos de código de computadora, palabras, valores, símbolos, objetos de software, o cualquier combinación de los mismos. Aunque el dispositivo de cómputo 1200 como se mostró en la Figura 1 tiene un número limitado de elementos en cierta topología, se puede apreciar que el ambiente de cómputo 1200 puede incluir más o menos elementos en topologías alternas como se desea para una implementación dada. Las modalidades no se limitan en este contexto. En varias modalidades, el ambiente de cómputo 1200 puede implementarse como parte de un dispositivo objetivo adecuado para procesamiento de información de medios. Ejemplos de dispositivos objetivo pueden incluir, pero no se limitan a, una computadora, un sistema de computadora, un subsistema de computadora, una estación de trabajo, una terminal, un servidor, un servidor web, un
servidor virtual, una computadora personal (PC), una computadora de escritorio, una computadora portátil, una computadora ultraportátil, una computadora portátil, una computadora móvil, un asistente digital personal (PDA), un dispositivo de cómputo móvil, un teléfono celular, un dispositivo de medios (por ejemplo, dispositivo de audio, dispositivo de video, dispositivo de texto, y así sucesivamente), un reproductor de medios, un dispositivo de procesamiento de medios, un servidor de medios, un sistema entretenimiento de hogar, electrónica de consumidor, un dispositivo de Disco versátil digital (DVD), un dispositivo de sistema de hogar de vídeo (VHS), un dispositivo de VHS digital, una grabadora de video personal, una consola de juegos, un reproductor de Disco compacto (CD), una cámara digital, una videograbadora digital, un sistema de vigilancia de vídeo, un sistema de conferencia de vídeo, un sistema de teléfono de vídeo, y cualquier otro dispositivo electrónico, electromecánico, o eléctrico. Las modalidades no se limitan en este contexto. Cuando se implementa como un dispositivo de procesamiento de medios, el ambiente de cómputo 1200 también puede distribuirse para operar de acuerdo con varios estándares y/o protocolos para procesamiento de medios. Ejemplos de estándares de procesamiento de medios incluyen, sin limitación, el estándar de SMTPE 421M (VC-1), VC-1 implementado para Comunicaciones de tiempo real, VC-1 ¡mplementado como WMV-9 y variantes, estándar de difusión Terrestre de Difusión de video digital (DVB-T), el estándar ITU/IEC H.263, Codificación de vídeo para Comunicación de velocidad de bits
baja, Recomendación de ITU-T H.263v3, publicaba en noviembre 2000 y/o el estándar ITU-IS H.264. La Codificación de vídeo para Comunicación de velocidad de bits muy baja, Recomendación ITU-T H.264, publicado en mayo 2003, estándares de Grupo de expertos de imagen en movimiento (MPEG) (por ejemplo, MPEG-1, MPEG-2, MPEG-4), y/o estándares de Red de área local de radio de alto desempeño (HiperLAN). Ejemplos de protocolos de procesamiento de medios incluyen, sin limitación, Protocolo de descripción de sesión (SDP), Protocolo de flujo de tiempo real (RTSP), Protocolo de transporte de tiempo real (RTP), protocolo de Lenguaje de integración multimedia sincronizado (SMIL), corrientes de Transporte MPEG-2 y Programa MPEG-2, y/o protocolo de Alianza de medios de flujo de Internet (ISMA). Una implementación de las técnicas de codificación y descodificación de vídeo de resolución múltiple como se describe aquí pueden incorporarse en el Perfil avanzado del codificador/descodificador de vídeo versión 9 de WINDOWS® MEDIA VIDEO (WMV-9) distribuidos y con licencia de Microsoft® Corporation de Redmond, Washington, E.U.A., que incluye revisiones y variantes subsecuentes, por ejemplo. Las modalidades no se limitan en este contexto. Con referencia a la Figura 12, el ambiente de cómputo 1200 incluye al menos una unidad de procesamiento 1210 y memoria 1220. En la Figura 12, esta configuración muy básica 1230 se incluye dentro de una línea punteada. La unidad de procesamiento 1210 puede ser cualquier tipo procesador capaz de ejecutar software, tal
como procesador de propósito general, un procesador dedicado, un procesador de medios, un controlador, un m icrocontrolador, un procesador insertado, un procesador de señal digital (DSP), y asi sucesivamente. La unidad de procesamiento 1210 ejecuta instrucciones ejecutadas por computadora y puede ser un procesador real o virtual. En un sistema de procesamiento múltiple, las unidades de procesamiento múltiple ejecutan instrucciones ejecutables por computadora para aumentar energía en el procesamiento. La memoria 1220 puede incrementarse al utilizar cualquier medio legible por máquina o legible por computadora capaz de almacenar datos, que incluye tanto memoria volátil como no volátil. Por ejemplo, la memoria 1220 puede incluir memoria sólo de lectura (ROM), memoria de acceso aleatorio (RAM), es RAM dinámica (DRAM), DRAM de Velocidad de datos doble (DDRAM), DRAM sincrónica (SDRAM), RAM estática (SRAM), ROM programable (PROM), ROM programable borrable (EEPROM), ROM programable eléctricamente borrable (EEPROM), memoria flash, memoria de polímero tal como memoria de polímero termoeléctrico, memoria ovónica, cambio de fase o memoria termoeléctrica, memoria de silicio-oxido-nitruro-óxido-silício (SONOS), tarjetas magnética u ópticas, o cualquier otro tipo de medios adecuado para almacenar información. En varias modalidades, la memoria 1220 almacena software 1280 que implementa técnicas de codificación y/o descodificación de video escalable. Un ambiente de cómputo puede tener características
adicionales. Por ejemplo, el ambiente de cómputo 1200 incluye almacenamiento 1240, uno o más dispositivos de entrada 1250, uno o más dispositivo de salida 1260, y una o más conexiones de comunicación 1270. Un mecanismo de interconexión tal como un conductor común, controlador, o red interconecta los componentes del ambiente de cómputo 1200. Típicamente, el software de sistema operativo proporciona un ambiente operativo para otro software que se ejecuta en el ambiente de cómputo 1200, y coordina actividades de los componentes del ambiente de cómputo 1200. El almacenamiento 1240 puede ser removible o no removible, e incluye discos magnéticos, cintas o cassettes magnéticos, disco compacto de memoria sólo de lectura (CD-ROM), disco compacto gravable (CD-R.), disco compacto reescribible (CD-RW), disco óptico, medios magnéticos, medios magneto-ópticos, tarjetas de memoria removibles o discos, varios tipos de Disco versátil digital (DVD), o cualquier otro medio que puede utilizarse para almacenar información y que puede accederse dentro del ambiente de cómputo 1200. El almacenamiento 1240 almacena instrucciones para el software 1280 que implementa las técnicas de codificación y/o descodificación de resolución multiespacial. El dispositivo(s) de entrada 1250 puede ser un dispositivo de entrada táctil tal como un teclado, ratón, pluma, o seguibola, un dispositivo de entrada por voz, un dispositivo de escaneo, adaptador de red, u otro dispositivo que proporciona entrada al ambiente de cómputo 1200. Para vídeo, el dispositivo(s) de entrada 1250 puede
ser una tarjeta de sintonizador de TV, cámara web o interfase de video de cámara, o dispositivo similar cassette de entrada de vídeo en forma analógico digital, o un lector de CD-ROM/DVD que proporciona entrada de vídeo al ambiente de cómputo. El dispositivo(s) de salida 1260 puede ser una presentación, proyector, impresora, bocina, escritor de CD/DVD, adaptador de red, u otro dispositivo que proporciona salida del ambiente de cómputo 1200. En varias modalidades, el ambiente de cómputo 1200 además puede incluir una o más conexiones de comunicaciones 1270 que permiten al ambiente de cómputo 1200 comunicarse con otros dispositivos a través de medios de comunicación 1290. Las conexiones de comunicación 1270 pueden incluir varios tipos de elementos de comunicación estándares, tal como una o más interfases de comunicaciones, interfases de red, tarjetas de interfase de red (NIC), radios, transmisores/receptores inalámbricos (transceptores), medios de comunicación por cable y/o inalámbrica, conectores físicos, y así sucesivamente. Los medios de comunicación 1290 típicamente representan instrucciones legibles por computadora, estructuras de datos, módulos de programa u otros datos en una señal de datos modulada tal como una onda portadora u otro mecanismo de transporte e incluye cualquier medio de entrega de información. El término "señal de datos modulada" significa una señal que tiene una o más de sus características establecidas o cambiadas de tal forma para codificar información en la señal. A manera ejemplo, y no de limitación, los medios de comunicación
1290 incluyen medios de comunicaciones por cable y medios de comunicaciones inalámbricas. Ejemplos de medios de comunicaciones por cable pueden incluir un alambre, cable, guías metálicas, tableros de circuito impreso (PCB), placas madre, tejidos de interruptor, material semiconductor, cable de par torcido, cable coaxial, fibras ópticas, una señal propaganda, y asi sucesivamente. Ejemplos de medios de comunicaciones inalámbricas pueden incluir medios acústicos, espectro de radiofrecuencia (RF, infrarrojos y otros medios inalámbricos. Los términos medios legibles por máquina y medios legibles por computadora como se utilizan aquí significan que incluyen, a manera de ejemplo y no de limitación, memoria 1220, almacenamiento 1240, medios de comunicaciones 1290, y combinaciones de cualquiera de los anteriores. Algunas modalidades pueden describirse en el contexto general de instrucciones ejecutables por computadora, tal como aquellas incluidas en módulos de programa, que se ejecutan en un ambiente de cómputo en un procesador de objetivo real o virtual. Generalmente, los módulos de programa incluyen rutinas, programas, bibliotecas, objetos, clases, componentes, estructuras de datos, y así sucesivamente que realizan tareas particulares o implementa tipos de datos abstractos particulares. La funcionalidad de los módulos de programa puede combinaciones o dividirse entre módulos de programa como se desea en varias modalidades. Instrucciones ejecutables por computadora para módulos de programa pueden ejecutarse dentro de un ambiente de cómputo local o distribuido.
Numerosos detalles específicos se mencionaron aquí para proporcionar un entendimiento completo de las modalidades. Se entenderá por aquellos expertos en la técnica, sin embargo, que las modalidades pueden practicarse sin estos detalles específicos. En otros casos, operaciones, componentes y circuitos bien conocidos no se describieron en detalle para no oscurecer las modalidades. Se puede apreciar que los detalles estructurales y funcionales aquí descritos pueden ser representati os y no necesariamente limitan el alcance de las modalidades. También es valioso notar que cualquier referencia a "una modalidad" o "modalidad" significa que una característica, estructura, o aspecto particular descrito en interconexión con la modalidad se incluye en al menos una modalidad. Las apariciones de la frase "en una modalidad" en varios lugares en la especificación no necesariamente todas hacen referencia a la misma modalidad. Algunas modalidades pueden describirse al utilizar la expresión "acoplada" y "conectada" a lo largo de sus derivados. Se debe entender que estos términos no pretenden ser sinónimos entre sí. Por ejemplo, algunas modalidades pueden describirse al utilizar el término "conectado" para indicar que dos o más elementos están en contacto físico o eléctrico directo entre sí. En otro ejemplo, algunas modalidades pueden describirse al utilizar el término "acoplado" para indicar que dos o más elementos están en contacto físico o eléctrico directo. El término "acoplado", sin embargo, también puede significar que dos o más elementos no están en contacto directo entre sí, pero
aún cooperan o interactúan entre si. Las modalidades no se limitan en este contexto. Algunas modalidades pueden implementarse, por ejemplo, al utilizar un medio o artículo legible por máquina que puede almacenar una instrucción o un grupo de instrucciones que, si se ejecutan por una máquina, pueden causar que la máquina realice un método y/o operaciones de acuerdo con las modalidades. Tal máquina puede incluir, por ejemplo, cualquier plataforma de procesamiento adecuada, plataforma de cómputo, dispositivo de cómputo, dispositivo de cómputo, sistema de cómputo, sistema de procesamiento, computadora, procesador, o similares, y puede implementarse al utilizar cualquier combinación adecuada de hardware y/o software. El medio o artículo legible por máquina puede incluir, por ejemplo, cualquier tipo adecuado de unidad de memoria, dispositivo de memoria, artículo de memoria, medio de memoria, dispositivo de almacenamiento, artículo de almacenamiento, medio de almacenamiento y/o unidad de almacenamiento, por ejemplo, memoria, medio removible o no removible, medio borrable o no borrable, medio escribible o reescribible, medio digital o analógico, disco duro, disco flexible, CD-ROM, CD-R, CD-RW, disco óptico, medio magnético, medio magneto-óptico, tarjetas o discos de memoria removible, varios tipos de DVD, una cinta, un cassette, o similares. Aunque el tema se describió en lenguaje específico a características estructurales y/o actos metodológicos, se debe
entender que el tema definido en las reivindicaciones anexas no necesariamente se limitan a las características o actos específicos descritos anteriormente. El lugar de esto, las características y actos específicos descritos anteriormente se describen como formas ilustrativas de implementar las reivindicaciones.
Claims (1)
- REIVINDICACIONES 1.- Un método, que comprende: recibir información de vídeo; y codificar dicha información de vídeo en una corriente de vídeo con diferentes capas de vídeo que incluyen una capa base y una capa de mejora, dicha capa base teniendo un primer nivel de resolución espacial y un primer nivel de resolución temporal, y dicha capa de mejora aumentando dicho primer nivel de resolución espacial o dicho primer nivel de resolución temporal. 2 - El método de acuerdo con la reivindicación 1, que comprende codificar información de vídeo en dicha corriente de vídeo como una primera capa de mejora temporal a un segundo nivel de resolución temporal. 3.- El método de acuerdo con la reivindicación 1 ó 2, que comprende codificar información de vídeo en dicha corriente de vídeo como una primera capa de mejora espacial a un segundo nivel de resolución espacial. 4. - El método de acuerdo con cualquiera de las reivindicaciones 1 a 3, que comprende insertar un código de inicio únicamente identificable para indicar un punto de inicio en dicha corriente de vídeo para dicha capa de mejora. 5. - El método de acuerdo con cualquiera de las reivindicaciones 1 a 4, que comprende multiplexar varios identificadores de estructura y cargas útiles para dicha capa de mejora con varios identif icadores de estructura y cargas útiles para dicha capa base. 6. - El método de acuerdo con cualquiera de las reivindicaciones 1 a 5, que comprende codificar crípticamente cada capa de vídeo con una clave de codificación críptica diferente. 7. - El método de acuerdo con cualquiera de las reivindicaciones 1 a 6, que comprende asignar a cada capa de vídeo un grupo diferente de derechos digitales. 8. - Un método, que comprende: recibir una corriente de vídeo codificada; y descodificar información de vídeo de diferentes capas de vídeo que incluyen una capa base y una capa de mejora de dicha corriente de vídeo codificada, dicha capa base teniendo un primer nivel de resolución espacial y un primer nivel de resolución temporal, y dicha capa de mejora aumentando dicho primer nivel de resolución espacial y dicho primer nivel de resolución temporal. 9. - El método de acuerdo con la reivindicación 8, que comprende descodificar información de video de una primera capa de mejora temporal a un segundo nivel de resolución temporal. 10.- El método de acuerdo con la reivindicación 8 ó 9, que comprende descodificar información de vídeo de una primera capa de mejora espacial a un segundo nivel de resolución espacial. 11.- El método de acuerdo con cualquiera de las reivindicaciones 8 a 10, que comprende: analizar dicha corriente de vídeo; y recuperar un código de inicio para indicar un punto de inicio en dicha corriente de vídeo para dicha capa de mejora. 12. - El método de acuerdo con cualquiera de las reivindicaciones 8 a 11, que comprende invocar un analizador y descodif icador de estructura especifico para dicha capa de mejora basado en un valor para un código de inicio de capa de mejora. 13. - El método de acuerdo con cualquiera de las reivindicaciones 8 a 12, que comprende reconocer un código de inicio asociado con dicha capa de mejora para invocar un grupo de herramientas de descodificación para dicha capa de mejora. 14. - El método de acuerdo con cualquiera de las reivindicaciones 8 a 13, que comprende descodificar crípticamente cada capa de vídeo con una clave de codificación críptica diferente. 15. - El método de acuerdo con cualquiera de las reivindicaciones 8 a 14, que comprende: recuperar un grupo diferente de derechos digitales para cada capa de vídeo; y controlar acceso a información de vídeo de cada capa de video de acuerdo con cada grupo de derechos digitales. 16.- El método de acuerdo con cualquiera de las reivindicaciones 8 a 15, que comprende reproducir información de video de dicha capa base e información de vídeo de dicha capa de mejora para aumentar dicho primer nivel de resolución espacial o dicho primer nivel de resolución temporal en una presentación. 17.- Un aparato, que comprende un codificador de vídeo (200) para codificar información de vídeo en una corriente de vídeo con una capa base y una capa de mejora, dicha capa base teniendo un primer nivel de resolución espacial y un primer nivel de resolución temporal, y dicha capa de mejora aumentando dicho primer nivel de resolución espacial o dicho primer nivel de resolución temporal. 18.- El aparato de acuerdo con la reivindicación 17, en donde dicho codificador de vídeo codifica información de vídeo en dicha corriente de vídeo como una capa de mejora temporal a un segundo nivel de resolución temporal o un tercer nivel de resolución temporal. 19.- El aparato de acuerdo con la reivindicación 17 ó 18, en donde dicho codificador de vídeo codifica información de vídeo en dicha corriente de vídeo como una capa de mejora espacial a un segundo nivel de resolución espacial y dicho primer nivel de resolución temporal, un segundo nivel de resolución temporal, o un tercer nivel de resolución temporal. 20. - El aparato de acuerdo con cualquiera de las reivindicaciones 17 a 19, que comprende un módulo de codificación críptica (1002) acoplado al codificador de vídeo, dicho módulo de codificación críptica para codificar crípticamente cada capa con una clave de codificación críptica diferente. 21. - El aparato de acuerdo con cualquiera de las reivindicaciones 17 a 20, que comprende un módulo de manejo de derechos digitales (1102) acoplado a dicho codificador de vídeo, dicho módulo de manejo de derechos digitales para asignar cada capa con un grupo diferente de derechos digitales. 22 - Un aparato que comprende un descodificador de vídeo (300) para descodificar información de vídeo de una capa base y una capa de mejora de una corriente de vídeo codificada, dicha capa base teniendo un primer nivel de resolución espacial y un primer nivel de resolución temporal, y dicha capa de mejora aumentando dicho primer nivel de resolución espacial o dicho primer nivel de resolución temporal. 23. - El aparato de acuerdo con la reivindicación 22, en donde dicho descodificador de video descodifica información de vídeo de una capa de mejora temporal a un segundo nivel de resolución temporal o un tercer nivel de resolución temporal. 24. - El aparato de acuerdo con la reivindicación 22 ó 23, en donde dicho descodificador de vídeo descodífica información de vídeo de una capa de mejora espacial a un segundo nivel de resolución espacial y dicho primer nivel de resolución temporal, un segundo nivel de resolución temporal, o un tercer nivel de resolución temporal. 25. - El aparato de acuerdo con cualquiera de las reivindicaciones 22 a 24, que comprende un módulo de descodificación críptica (1004) acoplado a dicho descodificador de vídeo, dicho módulo de descodificación críptica para descodificar crípticamente cada capa con una clave de descodificación críptica diferente. 26. - El aparato de acuerdo con cualquiera de las reivindicaciones 22 a 25, que comprende un módulo de manejo de derechos digitales (1104) acoplado a dicho descodif icador de video, dicho módulo de manejo de derechos digitales para controlar acceso a información de vídeo de cada capa utilizando un grupo diferente de derechos digitales asignados a cada capa. 27.- El aparato de acuerdo con cualquiera de las reivindicaciones 22 a 26, que comprende un dispositivo de presentación (1260) acoplado a dicho descodif icador de vídeo, dicho dispositivo de presentación para presentar información de video de dicha capa base e información de vídeo de dicha capa de mejora para aumentar dicho primer nivel de resolución espacial y dicho primer nivel de resolución temporal en una presentación. 28. - Un programa de computadora, que comprende elementos de programa de computadora cuando se ejecutan en un aparato de procesamiento de datos para implementar el método de acuerdo con cualquiera de las reivindicaciones 1 a 16, y/o para implementar el codificador de vídeo de cualquiera de las reivindicaciones 17 a 21, y/o para implementar el descodificador de vídeo de cualquiera de las reivindicaciones 22 a 27. 29. - Un medio de portador de programa de computadora, que transporta un programa de computadora de acuerdo con la reivindicación 28.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/504,843 US20080043832A1 (en) | 2006-08-16 | 2006-08-16 | Techniques for variable resolution encoding and decoding of digital video |
PCT/US2007/075907 WO2008060732A2 (en) | 2006-08-16 | 2007-08-14 | Techniques for variable resolution encoding and decoding of digital video |
Publications (1)
Publication Number | Publication Date |
---|---|
MX2009001387A true MX2009001387A (es) | 2009-02-13 |
Family
ID=39101362
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
MX2009001387A MX2009001387A (es) | 2006-08-16 | 2007-08-14 | Tecnicas para codificacion y descodificacion de resolucion variable de video digital. |
Country Status (10)
Country | Link |
---|---|
US (1) | US20080043832A1 (es) |
EP (1) | EP2055106B1 (es) |
JP (1) | JP2010501141A (es) |
KR (1) | KR101354833B1 (es) |
CN (1) | CN101507278B (es) |
AU (1) | AU2007319699B2 (es) |
BR (1) | BRPI0714235A2 (es) |
MX (1) | MX2009001387A (es) |
RU (1) | RU2497302C2 (es) |
WO (1) | WO2008060732A2 (es) |
Families Citing this family (91)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7876978B2 (en) * | 2005-10-13 | 2011-01-25 | Penthera Technologies, Inc. | Regions of interest in video frames |
US8665967B2 (en) * | 2006-02-15 | 2014-03-04 | Samsung Electronics Co., Ltd. | Method and system for bit reorganization and packetization of uncompressed video for transmission over wireless communication channels |
JP5200204B2 (ja) | 2006-03-14 | 2013-06-05 | ディブエックス リミテッド ライアビリティー カンパニー | 高信頼性システムを含む連合型デジタル権限管理機構 |
US8773494B2 (en) * | 2006-08-29 | 2014-07-08 | Microsoft Corporation | Techniques for managing visual compositions for a multimedia conference call |
US8175041B2 (en) * | 2006-12-14 | 2012-05-08 | Samsung Electronics Co., Ltd. | System and method for wireless communication of audiovisual data having data size adaptation |
US8630355B2 (en) * | 2006-12-22 | 2014-01-14 | Qualcomm Incorporated | Multimedia data reorganization between base layer and enhancement layer |
US8566695B2 (en) * | 2007-03-30 | 2013-10-22 | Sandisk Technologies Inc. | Controlling access to digital content |
US8237776B2 (en) * | 2007-10-19 | 2012-08-07 | Warner Bros. Entertainment Inc. | Method and apparatus for generating stereoscopic images from a DVD disc |
US8068608B2 (en) * | 2007-12-17 | 2011-11-29 | Broadcom Corporation | Video processing system for scrambling video streams with dependent portions and methods for use therewith |
US9872066B2 (en) * | 2007-12-18 | 2018-01-16 | Ibiquity Digital Corporation | Method for streaming through a data service over a radio link subsystem |
US8130823B2 (en) * | 2007-12-19 | 2012-03-06 | Broadcom Corporation | Channel adaptive video transmission system for use with layered video coding and methods for use therewith |
US9143731B2 (en) * | 2008-01-02 | 2015-09-22 | Broadcom Corporation | Mobile video device for use with layered video coding and methods for use therewith |
US8176524B2 (en) * | 2008-04-22 | 2012-05-08 | Samsung Electronics Co., Ltd. | System and method for wireless communication of video data having partial data compression |
US8179983B2 (en) * | 2008-05-20 | 2012-05-15 | Broadcom Corporation | Video processing system with layered video coding for fast channel change and methods for use therewith |
JP5369893B2 (ja) * | 2008-05-30 | 2013-12-18 | 株式会社Jvcケンウッド | 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、動画像復号装置、動画像復号方法、動画像復号プログラム、動画像再符号化装置、動画像再符号化方法、動画像再符号化プログラム |
US8488680B2 (en) * | 2008-07-30 | 2013-07-16 | Stmicroelectronics S.R.L. | Encoding and decoding methods and apparatus, signal and computer program product therefor |
US20100064315A1 (en) * | 2008-09-08 | 2010-03-11 | Jeyhan Karaoguz | Television system and method for providing computer network-based video |
JP2012503416A (ja) * | 2008-09-18 | 2012-02-02 | トムソン ライセンシング | ビデオ画像の刈り取り方法及び装置 |
US9342663B2 (en) * | 2008-10-09 | 2016-05-17 | Adobe Systems Incorporated | Distributing media with variable resolution and format |
US8300082B2 (en) * | 2008-12-15 | 2012-10-30 | At&T Intellectual Property I, Lp | Apparatus and method for video conferencing |
CA2749170C (en) | 2009-01-07 | 2016-06-21 | Divx, Inc. | Singular, collective and automated creation of a media guide for online content |
US20100262708A1 (en) * | 2009-04-08 | 2010-10-14 | Nokia Corporation | Method and apparatus for delivery of scalable media data |
US20110075537A1 (en) * | 2009-09-25 | 2011-03-31 | General Electric Company | Holographic disc with improved features and method for the same |
EP2507995A4 (en) | 2009-12-04 | 2014-07-09 | Sonic Ip Inc | SYSTEMS AND METHODS FOR TRANSPORTING ELEMENTARY BIT TRAIN CRYPTOGRAPHIC MATERIAL |
KR20110071707A (ko) * | 2009-12-21 | 2011-06-29 | 삼성전자주식회사 | 동영상 컨텐트 제공 방법 및 그 장치, 동영상 컨텐트 재생 방법 및 그 장치 |
US8838954B2 (en) * | 2010-02-02 | 2014-09-16 | Futurewei Technologies, Inc. | Media processing devices for adaptive delivery of on-demand media, and methods thereof |
US20110191587A1 (en) * | 2010-02-02 | 2011-08-04 | Futurewei Technologies, Inc. | Media Processing Devices With Joint Encryption-Compression, Joint Decryption-Decompression, And Methods Thereof |
US8908774B2 (en) * | 2010-02-11 | 2014-12-09 | Mediatek Inc. | Method and video receiving system for adaptively decoding embedded video bitstream |
US8544103B2 (en) * | 2010-05-04 | 2013-09-24 | Intertrust Technologies Corporation | Policy determined accuracy of transmitted information |
US8731152B2 (en) | 2010-06-18 | 2014-05-20 | Microsoft Corporation | Reducing use of periodic key frames in video conferencing |
US20120233345A1 (en) * | 2010-09-10 | 2012-09-13 | Nokia Corporation | Method and apparatus for adaptive streaming |
US10104391B2 (en) | 2010-10-01 | 2018-10-16 | Dolby International Ab | System for nested entropy encoding |
US20120082228A1 (en) * | 2010-10-01 | 2012-04-05 | Yeping Su | Nested entropy encoding |
CN101951518B (zh) * | 2010-10-12 | 2012-05-16 | 高斯贝尔数码科技股份有限公司 | 一种低码率情形下的数字电视图像修正***及修正方法 |
US9247312B2 (en) | 2011-01-05 | 2016-01-26 | Sonic Ip, Inc. | Systems and methods for encoding source media in matroska container files for adaptive bitrate streaming using hypertext transfer protocol |
US8838680B1 (en) | 2011-02-08 | 2014-09-16 | Google Inc. | Buffer objects for web-based configurable pipeline media processing |
US8681866B1 (en) | 2011-04-28 | 2014-03-25 | Google Inc. | Method and apparatus for encoding video by downsampling frame resolution |
US9106787B1 (en) | 2011-05-09 | 2015-08-11 | Google Inc. | Apparatus and method for media transmission bandwidth control using bandwidth estimation |
EP2716041A4 (en) | 2011-05-31 | 2014-10-15 | Dolby Lab Licensing Corp | VIDEO COMPRESSION WITH RESOLUTION COMPENSATION AND OPTIMIZATION |
US10873772B2 (en) | 2011-07-21 | 2020-12-22 | V-Nova International Limited | Transmission of reconstruction data in a tiered signal quality hierarchy |
US10045089B2 (en) | 2011-08-02 | 2018-08-07 | Apple Inc. | Selection of encoder and decoder for a video communications session |
US9467708B2 (en) | 2011-08-30 | 2016-10-11 | Sonic Ip, Inc. | Selection of resolutions for seamless resolution switching of multimedia content |
US8964977B2 (en) | 2011-09-01 | 2015-02-24 | Sonic Ip, Inc. | Systems and methods for saving encoded media streamed using adaptive bitrate streaming |
US8909922B2 (en) | 2011-09-01 | 2014-12-09 | Sonic Ip, Inc. | Systems and methods for playing back alternative streams of protected content protected using common cryptographic information |
EP2645724A4 (en) | 2011-11-11 | 2014-08-06 | Sony Corp | SENDING DEVICE, TRANSMISSION PROCEDURE, RECEPTION DEVICE AND RECEPTION PROCEDURE |
JP6192902B2 (ja) * | 2011-11-11 | 2017-09-06 | サターン ライセンシング エルエルシーSaturn Licensing LLC | 画像データ送信装置、画像データ送信方法、画像データ受信装置および画像データ受信方法 |
US9014263B2 (en) * | 2011-12-17 | 2015-04-21 | Dolby Laboratories Licensing Corporation | Multi-layer interlace frame-compatible enhanced resolution video delivery |
CN104041031B (zh) * | 2011-12-29 | 2018-04-24 | Lg电子株式会社 | 视频编码和解码方法和使用该方法的装置 |
US9185429B1 (en) | 2012-04-30 | 2015-11-10 | Google Inc. | Video encoding and decoding using un-equal error protection |
US9762903B2 (en) * | 2012-06-01 | 2017-09-12 | Qualcomm Incorporated | External pictures in video coding |
EP2813079B1 (en) * | 2012-06-20 | 2019-08-07 | HFI Innovation Inc. | Method and apparatus of inter-layer prediction for scalable video coding |
RU2737038C2 (ru) * | 2012-06-22 | 2020-11-24 | Сони Корпорейшн | Устройство и способ обработки изображений |
US9197685B2 (en) * | 2012-06-28 | 2015-11-24 | Sonic Ip, Inc. | Systems and methods for fast video startup using trick play streams |
US9804668B2 (en) | 2012-07-18 | 2017-10-31 | Verimatrix, Inc. | Systems and methods for rapid content switching to provide a linear TV experience using streaming content distribution |
WO2014015110A1 (en) | 2012-07-18 | 2014-01-23 | Verimatrix, Inc. | Systems and methods for rapid content switching to provide a linear tv experience using streaming content distribution |
WO2014025213A1 (ko) | 2012-08-10 | 2014-02-13 | 엘지전자 주식회사 | 신호 송수신 장치 및 신호 송수신 방법 |
RU2651225C2 (ru) * | 2012-09-12 | 2018-04-18 | Конинклейке Филипс Н.В. | Выполнение просмотра hdr как процесса, согласованного с владельцем контента |
US20140086328A1 (en) * | 2012-09-25 | 2014-03-27 | Qualcomm Incorporated | Scalable video coding in hevc |
US9191457B2 (en) | 2012-12-31 | 2015-11-17 | Sonic Ip, Inc. | Systems, methods, and media for controlling delivery of content |
US9313510B2 (en) | 2012-12-31 | 2016-04-12 | Sonic Ip, Inc. | Use of objective quality measures of streamed content to reduce streaming bandwidth |
US9172740B1 (en) | 2013-01-15 | 2015-10-27 | Google Inc. | Adjustable buffer remote access |
US9311692B1 (en) | 2013-01-25 | 2016-04-12 | Google Inc. | Scalable buffer remote access |
US9225979B1 (en) | 2013-01-30 | 2015-12-29 | Google Inc. | Remote access encoding |
US10397292B2 (en) | 2013-03-15 | 2019-08-27 | Divx, Llc | Systems, methods, and media for delivery of content |
US9906785B2 (en) | 2013-03-15 | 2018-02-27 | Sonic Ip, Inc. | Systems, methods, and media for transcoding video data according to encoding parameters indicated by received metadata |
TWI557727B (zh) | 2013-04-05 | 2016-11-11 | 杜比國際公司 | 音訊處理系統、多媒體處理系統、處理音訊位元流的方法以及電腦程式產品 |
WO2014168893A1 (en) * | 2013-04-08 | 2014-10-16 | General Instrument Corporation | Signaling for addition or removal of layers in video coding |
SG11201508427YA (en) * | 2013-04-15 | 2015-11-27 | Luca Rossato | Hybrid backward-compatible signal encoding and decoding |
US9247317B2 (en) | 2013-05-30 | 2016-01-26 | Sonic Ip, Inc. | Content streaming with client device trick play index |
US9094737B2 (en) | 2013-05-30 | 2015-07-28 | Sonic Ip, Inc. | Network video streaming with trick play based on separate trick play files |
US9967305B2 (en) | 2013-06-28 | 2018-05-08 | Divx, Llc | Systems, methods, and media for streaming media content |
CN103686177B (zh) * | 2013-12-19 | 2018-02-09 | 中国科学院深圳先进技术研究院 | 一种图像压缩、解压的方法、装置及图像*** |
US9432624B2 (en) * | 2014-01-03 | 2016-08-30 | Clearone Communications Hong Kong Ltd. | Method for improving an MCU's performance using common properties of the H.264 codec standard |
CN104281427B (zh) * | 2014-03-10 | 2018-04-27 | 深圳深讯和科技有限公司 | 交互应用中的视频数据处理方法和*** |
US9866878B2 (en) | 2014-04-05 | 2018-01-09 | Sonic Ip, Inc. | Systems and methods for encoding and playing back video at different frame rates using enhancement layers |
CN105474642B (zh) | 2014-05-22 | 2018-10-26 | 微软技术许可有限责任公司 | 使用频域差对图像集合重新编码的方法、***以及介质 |
CN104902275B (zh) * | 2015-05-29 | 2018-04-20 | 宁波菊风***软件有限公司 | 一种控制视频通信质量甜点的方法 |
CN105739935B (zh) * | 2016-01-22 | 2019-06-04 | 厦门美图移动科技有限公司 | 一种多终端联合显示方法、装置及*** |
GB2598255B (en) * | 2016-02-17 | 2022-07-27 | V Nova Int Ltd | Physical adapter, signal processing equipment, methods and computer programs |
US10075292B2 (en) | 2016-03-30 | 2018-09-11 | Divx, Llc | Systems and methods for quick start-up of playback |
US10178394B2 (en) * | 2016-06-10 | 2019-01-08 | Apple Inc. | Transcoding techniques for alternate displays |
KR102310040B1 (ko) | 2016-10-12 | 2021-10-06 | 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. | 공간적으로 불균등한 스트리밍 |
US10498795B2 (en) | 2017-02-17 | 2019-12-03 | Divx, Llc | Systems and methods for adaptive switching between multiple content delivery networks during adaptive bitrate streaming |
US11153585B2 (en) | 2017-02-23 | 2021-10-19 | Netflix, Inc. | Optimizing encoding operations when generating encoded versions of a media title |
US10742708B2 (en) | 2017-02-23 | 2020-08-11 | Netflix, Inc. | Iterative techniques for generating multiple encoded versions of a media title |
US11178204B1 (en) * | 2017-02-23 | 2021-11-16 | Cox Communications, Inc. | Video processor to enhance color space and/or bit-depth |
US11166034B2 (en) | 2017-02-23 | 2021-11-02 | Netflix, Inc. | Comparing video encoders/decoders using shot-based encoding and a perceptual visual quality metric |
US10917644B2 (en) | 2017-02-23 | 2021-02-09 | Netflix, Inc. | Iterative techniques for encoding video content |
US10666992B2 (en) | 2017-07-18 | 2020-05-26 | Netflix, Inc. | Encoding techniques for optimizing distortion and bitrate |
CN111917558B (zh) * | 2020-08-13 | 2021-03-23 | 南开大学 | 一种基于区块链的视频帧数据双认证与分级加密方法 |
CN114650426A (zh) * | 2020-12-17 | 2022-06-21 | 华为技术有限公司 | 一种视频处理方法、装置以及设备 |
Family Cites Families (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5253055A (en) * | 1992-07-02 | 1993-10-12 | At&T Bell Laboratories | Efficient frequency scalable video encoding with coefficient selection |
JP3363668B2 (ja) * | 1995-07-25 | 2003-01-08 | キヤノン株式会社 | 画像伝送装置及び画像伝送システム |
FR2756399B1 (fr) * | 1996-11-28 | 1999-06-25 | Thomson Multimedia Sa | Procede et dispositif de compression video pour images de synthese |
KR100417932B1 (ko) * | 1997-04-01 | 2004-02-11 | 소니 가부시끼 가이샤 | 영상 인코더, 영상 부호화 방법, 영상 디코더 및 영상 복호화 방법 |
US6057884A (en) * | 1997-06-05 | 2000-05-02 | General Instrument Corporation | Temporal and spatial scaleable coding for video object planes |
US6233356B1 (en) * | 1997-07-08 | 2001-05-15 | At&T Corp. | Generalized scalability for video coder based on video objects |
US6993201B1 (en) * | 1997-07-08 | 2006-01-31 | At&T Corp. | Generalized scalability for video coder based on video objects |
RU2201654C2 (ru) * | 1997-12-23 | 2003-03-27 | Томсон Лайсенсинг С.А. | Способ низкошумового кодирования и декодирования |
JP2000032393A (ja) * | 1998-07-09 | 2000-01-28 | Sony Corp | 画像情報処理装置および方法、並びに提供媒体 |
US6639943B1 (en) * | 1999-11-23 | 2003-10-28 | Koninklijke Philips Electronics N.V. | Hybrid temporal-SNR fine granular scalability video coding |
JP4018335B2 (ja) * | 2000-01-05 | 2007-12-05 | キヤノン株式会社 | 画像復号装置及び画像復号方法 |
US20020126759A1 (en) * | 2001-01-10 | 2002-09-12 | Wen-Hsiao Peng | Method and apparatus for providing prediction mode fine granularity scalability |
KR100783396B1 (ko) * | 2001-04-19 | 2007-12-10 | 엘지전자 주식회사 | 부호기의 서브밴드 분할을 이용한 시공간 스케일러빌러티방법 |
DE60311231T2 (de) * | 2002-01-22 | 2007-11-15 | Microsoft Corp., Redmond | Verfahren zum ermöglichen von direktzugriff und spleissen in einem verschlüsselten videostrom |
US20030215011A1 (en) * | 2002-05-17 | 2003-11-20 | General Instrument Corporation | Method and apparatus for transcoding compressed video bitstreams |
AU2003237279A1 (en) * | 2002-05-29 | 2003-12-19 | Pixonics, Inc. | Classifying image areas of a video signal |
JP2004140667A (ja) * | 2002-10-18 | 2004-05-13 | Canon Inc | 情報処理方法 |
US20040086041A1 (en) * | 2002-10-30 | 2004-05-06 | Koninklijke Philips Electronics N.V. | System and method for advanced data partitioning for robust video transmission |
AU2003285634A1 (en) * | 2002-12-16 | 2004-07-09 | Koninklijke Philips Electronics N.V. | Method and apparatus to encrypt video data streams |
WO2004057613A1 (en) * | 2002-12-19 | 2004-07-08 | Koninklijke Philips Electronics N.V. | Characteristic point information (cpi) for multilayer video |
US7406176B2 (en) * | 2003-04-01 | 2008-07-29 | Microsoft Corporation | Fully scalable encryption for scalable multimedia |
US7313814B2 (en) * | 2003-04-01 | 2007-12-25 | Microsoft Corporation | Scalable, error resilient DRM for scalable media |
JP2006525731A (ja) * | 2003-05-02 | 2006-11-09 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 新標準への移行をサポートする多階層符号化 |
KR100965881B1 (ko) * | 2003-10-10 | 2010-06-24 | 삼성전자주식회사 | 비디오 데이터 인코딩 시스템 및 디코딩 시스템 |
US7797454B2 (en) * | 2004-02-13 | 2010-09-14 | Hewlett-Packard Development Company, L.P. | Media data transcoding devices |
US20050254575A1 (en) * | 2004-05-12 | 2005-11-17 | Nokia Corporation | Multiple interoperability points for scalable media coding and transmission |
KR100662350B1 (ko) * | 2004-08-23 | 2007-01-02 | 엘지전자 주식회사 | 영상 전송 장치 및 방법 |
KR100668345B1 (ko) * | 2004-10-05 | 2007-01-12 | 삼성전자주식회사 | 움직임 보상된 계층 생성장치 및 방법 |
US20060078049A1 (en) * | 2004-10-13 | 2006-04-13 | Nokia Corporation | Method and system for entropy coding/decoding of a video bit stream for fine granularity scalability |
KR100714689B1 (ko) * | 2005-01-21 | 2007-05-04 | 삼성전자주식회사 | 다 계층 구조 기반의 스케일러블 비디오 코딩 및 디코딩방법, 이를 위한 장치 |
US7668962B2 (en) * | 2005-02-07 | 2010-02-23 | Symantec Operating Corporation | System and method for connection failover using redirection |
US20060212542A1 (en) * | 2005-03-15 | 2006-09-21 | 1000 Oaks Hu Lian Technology Development Co., Ltd. | Method and computer-readable medium for file downloading in a peer-to-peer network |
CN1319382C (zh) * | 2005-04-07 | 2007-05-30 | 西安交通大学 | 可伸缩视频编解码器体系结构设计方法 |
US7953224B2 (en) * | 2005-05-20 | 2011-05-31 | Microsoft Corporation | MPEG-4 encryption enabling transcoding without decryption |
CN100358364C (zh) * | 2005-05-27 | 2007-12-26 | 上海大学 | 基于h.264的精细颗粒可伸缩编码的码率控制方法 |
-
2006
- 2006-08-16 US US11/504,843 patent/US20080043832A1/en not_active Abandoned
-
2007
- 2007-08-14 MX MX2009001387A patent/MX2009001387A/es active IP Right Grant
- 2007-08-14 KR KR1020097002603A patent/KR101354833B1/ko not_active IP Right Cessation
- 2007-08-14 JP JP2009524766A patent/JP2010501141A/ja active Pending
- 2007-08-14 EP EP07868329.9A patent/EP2055106B1/en not_active Not-in-force
- 2007-08-14 RU RU2009105072/07A patent/RU2497302C2/ru not_active IP Right Cessation
- 2007-08-14 WO PCT/US2007/075907 patent/WO2008060732A2/en active Application Filing
- 2007-08-14 CN CN2007800304819A patent/CN101507278B/zh not_active Expired - Fee Related
- 2007-08-14 AU AU2007319699A patent/AU2007319699B2/en not_active Ceased
- 2007-08-14 BR BRPI0714235-8A patent/BRPI0714235A2/pt not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR101354833B1 (ko) | 2014-01-23 |
WO2008060732A2 (en) | 2008-05-22 |
CN101507278B (zh) | 2011-08-03 |
RU2497302C2 (ru) | 2013-10-27 |
WO2008060732A3 (en) | 2008-07-31 |
RU2009105072A (ru) | 2010-08-20 |
CN101507278A (zh) | 2009-08-12 |
EP2055106A2 (en) | 2009-05-06 |
US20080043832A1 (en) | 2008-02-21 |
AU2007319699B2 (en) | 2011-06-09 |
EP2055106B1 (en) | 2015-06-17 |
AU2007319699A1 (en) | 2008-05-22 |
BRPI0714235A2 (pt) | 2013-04-02 |
KR20090051042A (ko) | 2009-05-20 |
EP2055106A4 (en) | 2013-01-30 |
JP2010501141A (ja) | 2010-01-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2007319699B2 (en) | Techniques for variable resolution encoding and decoding of digital video | |
US10630938B2 (en) | Techniques for managing visual compositions for a multimedia conference call | |
US7738550B2 (en) | Method and apparatus for generating compact transcoding hints metadata | |
AU2005202313B2 (en) | Method and apparatus for generating compact transcoding hints metadata | |
RU2573778C2 (ru) | Устройство декодирования сигнала изображения, способ декодирования сигнала изображения, устройство кодирования сигнала изображения, способ кодирования сигнала изображения и программа | |
CN113557741B (zh) | 用于点云的自适应流式传输的方法和装置 | |
US20150312575A1 (en) | Advanced video coding method, system, apparatus, and storage medium | |
US20160127728A1 (en) | Video compression apparatus, video playback apparatus and video delivery system | |
JP2005323353A (ja) | 高忠実度のトランスコーディング | |
US20200128262A1 (en) | Advanced video coding method, system, apparatus, and storage medium | |
US20100239001A1 (en) | Video streaming system, transcoding device, and video streaming method | |
US20160065982A1 (en) | Method for determining whether or not present image is reference image, and apparatus therefor | |
Furht | A survey of multimedia compression techniques and standards. Part II: Video compression | |
US20110080944A1 (en) | Real-time video transcoder and methods for use therewith | |
KR20060024391A (ko) | 화상들의 그룹 내로의 임의 접근을 제공하도록 화상들의그룹을 재구성하는 방법 | |
Moiron et al. | Video transcoding techniques | |
KR20230053229A (ko) | 분산형 병렬 트랜스코딩 방법 및 장치 | |
KR20230053210A (ko) | 분산형 병렬 트랜스코딩 방법 및 장치 | |
Roy | Implementation of a Personal Digital Radio Recorder for Digital Multimedia Broadcasting by Adapting the Open-Source Personal Digital Video Recorder Software MythTV | |
Hosur et al. | Enhanced Frame-based Video Coding to Support Content-based Functionalities |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FG | Grant or registration |