ES2530218T3 - Método y aparato para desmultiplexar un flujo de video escalable - Google Patents

Método y aparato para desmultiplexar un flujo de video escalable Download PDF

Info

Publication number
ES2530218T3
ES2530218T3 ES09718316.4T ES09718316T ES2530218T3 ES 2530218 T3 ES2530218 T3 ES 2530218T3 ES 09718316 T ES09718316 T ES 09718316T ES 2530218 T3 ES2530218 T3 ES 2530218T3
Authority
ES
Spain
Prior art keywords
layer
syntactic structures
video
improvement
base layer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES09718316.4T
Other languages
English (en)
Inventor
Mandayam A. Narasimhan
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Arris Technology Inc
Original Assignee
Arris Technology Inc
General Instrument Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Arris Technology Inc, General Instrument Corp filed Critical Arris Technology Inc
Application granted granted Critical
Publication of ES2530218T3 publication Critical patent/ES2530218T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing 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/234327Processing 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/24Systems for the transmission of television signals using pulse code modulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/127Prioritisation of hardware or computational resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/187Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a scalable video layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8451Structuring of content, e.g. decomposing content into time segments using Advanced Video Coding [AVC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/24Systems for the transmission of television signals using pulse code modulation
    • H04N7/52Systems for transmission of a pulse code modulated video signal with one or more other pulse code modulated signals, e.g. an audio signal or a synchronizing signal

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Television Systems (AREA)

Abstract

Un método de desmultiplexar flujo de transporte multiplexado mejorado que comprende una sucesión de unidades de acceso mejoradas, comprendiendo cada unidad de acceso mejorada una unidad de acceso de capa de base y una unidad de acceso de capa de mejora, comprendiendo cada unidad de acceso una pluralidad de estructuras sintácticas, comprendiendo el citado método: pasar las estructuras sintácticas de las unidades de acceso de la capa de base a una memoria temporal de capa de base; pasar las estructuras sintácticas de las unidades de acceso de capa de mejora a una memoria temporal de capa de mejora, donde las estructuras sintácticas de las unidades de acceso de la capa de mejora comprenden estructuras sintácticas de capa de video y estructuras sintácticas no de capa de video; separar las estructuras sintácticas de las unidades de acceso de la capa de base de la sucesión de unidades de acceso mejoradas incluyendo separar las estructuras sintácticas no de capa de video de la unidades de acceso de capa de mejora de la sucesión; sacar las estructuras sintácticas pasadas a la memoria temporal de la capa de base en una secuencia predeterminada, sacar las estructuras sintácticas pasadas a la memoria temporal de la capa de mejora en una secuencia predeterminada, y recombinar las secuencias de estructuras sintácticas producidas por la memoria temporal de la capa de base y la memoria temporal de la capa de mejora respectivamente para formar una unidad de acceso mejorada completa, que comprende las estructuras sintácticas de la capa de base y las estructuras sintácticas de la capa de mejora en una secuencia predeterminada; caracterizado por que las estructuras sintácticas pasadas a la memoria temporal de capa de base incluyen estructuras sintácticas no de video de la capa de mejora; todas las estructuras sintácticas de la capa de video de las unidades de acceso de la capa de mejora pasan a la memoria temporal de la capa de mejora; y ninguna de las estructuras sintácticas no de video de la capa de mejora de la unidades de acceso de capa de mejora pasa a la memoria temporal de la capa de mejora.

Description

5
10
15
20
25
30
35
40
45
50
55
E09718316
10-02-2015
DESCRIPCIÓN
Método y aparato para desmultiplexar un flujo de video escalable
Antecedentes de la invención
Esta invención se refiere a un método y aparato para descodificar un flujo de video mejorado
En referencia a la FIG. 1 de los dibujos, un codificador de video 10 recibe datos de video sin procesar, típicamente en el formato de HD-SDI definido en SMPTE 292M, desde una fuente tal como una cámara. El codificador de video utiliza los datos de HD-SDI para generar un flujo elemental de video y suministra el flujo elemental de video a un empaquetador de video 14, que produce un flujo elemental en paquetes (PES -Packetized Elementary Stream, en inglés) de video compuesto de paquetes de longitud variable. Típicamente, cada paquete del PES de video contiene una o más tramas de video. De manera similar, un codificador de audio (no mostrado) recibe datos de audio sin procesar desde, por ejemplo, un micrófono y suministra un flujo elemental de audio a un empaquetador de audio, el cual crea un PES de audio compuesto de varios paquetes de longitud variable.
Los empaquetadores de video y de audio suministran los PESs de video y de audio a un multiplexador de flujo de transporte 18, el cual asigna diferentes identificadores de programa (PIDs -Program IDentifiers, en inglés) respectivos al PES de video y al PES de audio y organiza los paquetes de longitud variable de los PESs de video y de audio como paquetes de flujo de transporte (TS -Transport Stream, en inglés) de MPEG-2 de longitud fija que tienen cada uno una cabecera que incluye el PID del PES y una carga útil que contiene los datos de video (o audio) del PES.
El flujo de transporte de programa único (SPTS -Single Program Transport Stream, en inglés) que es obtenido mediante el multiplexador de flujo de transporte puede ser suministrado a un multiplexador de programa 22 que combina el SPTS con otros flujos de transporte, que contienen otros programas, para producir un flujo de transporte de múltiples programas (MPTS -Multi-Program Transport Stream, en inglés). El MPTS es transmitido sobre un canal a un receptor en el cual un desmultiplexador de programa 26 separa un SPTS seleccionado del MPTS y lo suministra a un desmultiplexador de flujo de transporte 30. Resultará evidente para los expertos en la materia que el SPTS que es producido por el multiplexador de flujo de transporte puede ser transmitido directamente al desmultiplexador de flujo de transporte sin ser primero combinado con otros flujos de transporte para crear el MPTS sino que en cualquier caso el desmultiplexador de flujo de transporte recibe los paquetes de flujo de transporte del SPTS seleccionados y los separa sobre la base del PID, desempaqueta los paquetes de flujo de transporte para crear de nuevo los paquetes de PES, y dirige el PES del video a un llamado descodificador de objetivo del sistema (T-STD -Video System Target Decoder, en inglés) de video 34 y el PES del audio a un T-STD de audio 38. El asunto de esta aplicación está relacionado con la descodificación de un flujo de bits de video y de acuerdo con esto no explicaremos el descodificador de audio con más detalle.
El T-STD de video 34 comprende una memoria temporal de descodificador de objetivo del sistema 40 y un descodificador de video 42. La memoria temporal de STD 40 es funcionalmente equivalente a una memoria temporal de transporte Tb, a una memoria temporal de multiplexación Mb, y a una memoria temporal de flujo elemental Eb. La memoria temporal de transporte Tb recibe los PES de video a una tasa de bits variable y saca los datos a una tasa de bits constante hacia la memoria temporal de multiplexación Mb, que desempaqueta los PES de video y suministra un flujo de bits codificados a una tasa de bits constante a la memoria temporal de flujo elemental Eb. La memoria temporal de flujo elemental, que en ocasiones se denomina la memoria temporal del descodificador o la memoria temporal de imagen codificada (CPB -Coded Picture Buffer, en inglés), recibe el flujo de bits de CBR y mantiene los bits para descodificar una imagen hasta que son todos eliminados instantáneamente por el descodificador de video en el tiempo de descodificación de imagen.
Es importante para una adecuada operación del descodificador que la memoria temporal del descodificador ni se exceda, de manera que se pierdan bits y una imagen no pueda ser descodificada, ni tenga un flujo inferior, de manera que el descodificador reciba pocos bits y no pueda descodificar una imagen en el tiempo adecuado. El suministro de bits a la memoria temporal del descodificador es controlado por una memoria temporal de datos comprimidos (CDB -Compressed Data Buffer, en inglés) 46 que recibe el flujo de bits del codificador de video 10. El codificador de video suministra bits al CDB a una velocidad que depende del llenado del CDB. El CDB suministra bits al empaquetador de video 14 a una velocidad constante y la memoria temporal de multiplexación suministra bits a la memoria temporal del descodificador a la misma velocidad, y de acuerdo con esto el llenado del CDB refleja el llenado de la memoria temporal del descodificador. Ajustando el suministro de bits al CDB con el fin de impedir el flujo excesivo / flujo inferior del CDB, evitamos el flujo excesivo / flujo inferior de la memoria temporal del descodificador.
El estándar de compresión de video que gobierna la operación del codificador puede especificar que el CDB no debe ser mayor que la memoria temporal de descodificador de un hipotético descodificador de referencia.
El flujo de transporte de MPEG-2 es ampliamente utilizado para el suministro de video codificado sobre un canal propenso a errores. La capa de sistema de MPEG-2 también proporciona transmisión de video codificado en el flujo de programa (PS -Program Stream, en inglés) en un entorno libre de errores. La FIG. 1 ilustra la transmisión de los
10
15
20
25
30
35
40
45
50
55
E09718316
10-02-2015
PES de video como un flujo de programa a un P-STD de video 50 como una alternativa al suministro como un flujo de transporte al T-STD de video 34.
El flujo de bits producido por el codificador de video 10 puede cumplir con el estándar de compresión de video que se especifica en el estándar ISO/IEC 14496-10 (MPEG-4 parte 10) Codificación Avanzada de Video (AVC -Advanced Video Coding, en inglés), denominado comúnmente H.264/AVC. El estándar H.264/AVC utiliza imagen como un término colectivo para una trama o campo. El estándar H.264/AVC define una unidad de acceso como un conjunto de unidades de capa de abstracción de red (NAL -Network Abstraction Layer, en inglés) y especifica que la descodificación de una unidad de acceso siempre resulta en una imagen descodificada. Una unidad de NAL de una unidad de acceso producida por un codificador de AVC puede ser una unidad de capa de codificación de video (VCL -Video Coding Layer, en inglés), que contiene información de imagen, o una unidad no de VCL, que contiene otra información, tal como subtitulación cerrada y temporización.
El Anexo G del estándar H.264/AVC prescribe una extensión del estándar H.264/AVC conocida como codificación de video escalable o SVC. La SVC proporciona mejoras escalables a la capa de base de la AVC, y la escalabilidad incluye escalabilidad espacial, escalabilidad temporal, escalabilidad de SNR y escalabilidad de profundidad de bit. Un codificador de SVC se espera que cree una capa de base que cumpla el estándar H.264/AVC y que añada una mejora a esa capa de base en una o más capas de mejora. Cada tipo de escalabilidad que se emplea en una implementación de SVC particular puede utilizar su propia capa de mejora. Por ejemplo, si los datos de video sin procesar están en el formato conocido como 1080 HD, compuesto de tramas de 1920 x 1088 píxeles, la capa de base puede estar contenida en un sub-flujo de bits compuesto de unidades de acceso que pueden ser descodificadas como imágenes que tienen 704 x 480 píxeles, mientras que la capa de mejora puede estar contenida en un sub-flujo de bits que está compuesto de unidades de acceso que permiten a un descodificador adecuado presentar imágenes que tienen 1920 x 1088 píxeles combinando las unidades de acceso de la capa de base con las unidades de acceso de la capa de mejora.
Un descodificador que tiene la capacidad de descodificar tanto una capa de base como una o más capas de mejora se denomina en esta memoria un descodificador de SVC, mientras que un descodificador que no puede reconocer una capa de mejora y es capaz de descodificar sólo las unidades de acceso de la capa de base, y por lo tanto no tiene capacidad de SVC, se denomina en esta memoria un descodificador de AVC.
Una unidad de acceso producida por un codificador de SVC comprende no sólo las unidades de NAL de la capa de base mencionadas anteriormente, que pueden ser convenientemente denominadas unidades de NAL de AVC, sino también unidades de NAL de VCL de SVC y unidades de NAL no de VCL de SVC. La FIG. 2 muestra la secuencia de unidades de NAL de AVC y de unidades de NAL de SVC en una unidad de acceso de SVC tal como prescribe el estándar de SVC. En el caso de que el codificador produzca, por ejemplo, dos capas de mejora, las unidades de NAL no de VCL para las dos capas de mejora están en bloques adyacentes de la secuencia mostrada en la FIG. 2, entre los bloques que contienen las unidades de NAL no de VCL de AVC y las unidades de NAL de VCL de AVC, y las unidades de NAL de VCL de SVC para las dos capas de mejora están en bloques adyacentes de la secuencia tras el bloque que contiene a las unidades de NAL de VCL de AVC.
Un descodificador de SVC que extrae las unidades de NAL de la capa de base de la unidad de acceso selecciona sólo las unidades de NAL no de VCL de AVC y las unidades de NAL de VCL de AVC.
El estándar H.264/AVC especifica un tipo_de_unidad_de_nal de parámetros de cinco bits, o NUT. Bajo el estándar H.264/AVC, las unidades de NAL de AVC tienen todas valores de NUT en el intervalo de 1-13. La SVC añade valores de NUT 14, 20 y 15. No obstante, una unidad de NAL que tiene NUT igual a 14 precediendo inmediatamente a las unidades de NAL que tienen NUT igual a 5 ó 1 señala cortes de la capa de base, tal como estas unidades de NAL, que son unidades de NAL no de VCL, son compatibles con AVC y pueden ser descodificadas mediante un descodificador de AVC.
En referencia a la FIG. 3, un codificador de SVC 10' genera un flujo de bits unitario que contiene la capa de base y, por ejemplo, dos capas de mejora ENH1 y ENH2. Dependiendo de sus capacidades, un descodificador podría esperar recibir, y descodificar, la capa de base sólo, o la capa de base y la capa de mejora ENH1, o la capa de base y tanto la capa de mejora ENH1 como la capa de mejora ENH2. Bajo el estándar de los sistemas de MPEG-2 y el caso de uso para SVC, el codificador puede no proporcionar tres flujos de bits, conteniendo respectivamente la capa de base solamente, la capa de base y la capa de mejora ENH1, y la capa de base y tanto la capa de mejora ENH1 como la capa de mejora ENH2 y permitir que el descodificador seleccione cualquier flujo de bits que sea capaz de descodificar. El codificador debe proporcionar las unidades de acceso de la capa de base y partes de cada capa de mejora en flujos de bits separados. Sería posible en principio cumplir el estándar de los sistemas de MPEG-2 utilizando un separador de NAL 48 para separar el flujo de bits unitario en tres sub-flujos de bits sobre la base de los valores de NUT de las unidades de NAL. Un sub-flujo de bits contendría las unidades de NAL de la capa de base y los otros dos sub-flujos de bits contendrían las unidades de NAL para las dos capas de mejora respectivamente. Los tres sub-flujos de bits pasarían a empaquetadores de video respectivos (designados de manera general como 14), que crean PESs de video respectivos. Los tres PESs de video serían suministrados a un multiplexador de flujo de transporte 18 que incluye una memoria temporal de T-STD equivalente a la memoria temporal que está incluida en
10
15
20
25
30
35
40
45
50
55
E09718316
10-02-2015
un T-STD de SVC, con el propósito de multiplexar juntas las salidas de los tres empaquetadores. El multiplexador 18 asignaría diferentes PIDs a los tres PESs y produce un flujo de transporte que contiene las tres capas.
El T-STD de video 34 mostrado en la FIG. 1 es incapaz de descodificar el flujo de bits contenido en el flujo de transporte producido por el multiplexador de flujo de transporte 18' mostrado en la FIG. 3 porque no proporciona ninguna capacidad de reensamblar las unidades de acceso de la capa de base y la capa de mejora para producir una unidad de acceso de SVC completa que puede ser descodificada mediante un descodificador de SVC. Ni el estándar H.264/AVC ni el estándar de los sistemas de MPEG-2 prescribe cómo deben ser reensambladas las unidades de acceso de la capa de base y la capa de mejora. Por lo tanto, la arquitectura mostrada en la FIG. 3 ha carecido hasta este momento de aplicación práctica.
BERTHELOT B ET AL: "Carriage of MPEG-4 SVC over MPEG-2 Systems", ITU STUDY GROUP 16 -VIDEO CODING EXPERTS GROUP-ISO/IEC MPEG & ITU-T VCEG (ISO/IEC JTCI/SC29/WG11 e ITU-T SG16 Q6), XX, XX, no. M14190, del 10 de Enero de 2007 (2007-01-10), XP030042846, presenta problemas de multiplexar contenidos escalables sobre TS de MPEG-2 con algunos ejemplos de escenarios que pueden operar y aprovechar los beneficios de la codificación escalable. Proporciona algunas propuestas para soportar flujos elementales de SVC de MPEG-4 en un Flujo de Transporte de MPEG-2. El documento WO 2007/110742 A2 describe el uso de un delimitador de imagen que está contenido en un valor de tipo de unidad de NAL que está reservado en la especificación de AVC o de SVC actual. Esto se dice que proporciona la información de escalabilidad para la capa de base de H.264/AVC de tal manera que los flujos de bits siguen siendo descodificables con descodificadores de H.264/AVC.
Compendio de la invención
De acuerdo con un primer aspecto del asunto descrito se proporciona un método de descodificar un flujo de video mejorado compuesto de unidades de acceso de video de capa de base y de unidades de acceso de video de capa de mejora, comprendiendo cada unidad de acceso una pluralidad de estructuras sintácticas, comprendiendo el citado método pasar las estructuras sintácticas de las unidades de acceso de la capa de base a una memoria temporal de capa de base, pasar las estructuras sintácticas de las unidades de acceso de la capa de mejora a una memoria temporal de capa de mejora, sacar las estructuras sintácticas pasadas a la memoria temporal de la capa de base en una secuencia predeterminada, sacar las estructuras sintácticas pasadas a la memoria temporal de la capa de mejora en una secuencia predeterminada, y recombinar las secuencias de estructuras sintácticas producidas por la memoria temporal de la capa de base y la memoria temporal de la capa de mejora respectivamente para formar una unidad de acceso mejorada completa, comprendiendo las estructuras sintácticas de la capa de base y las estructuras sintácticas de la capa de mejora en una secuencia predeterminada.
De acuerdo con un segundo aspecto del asunto descrito se proporciona un método de crear una señal de video mejorada que comprende recibir un flujo de bits unitario compuesto de unidades de acceso de capa de base y unidades de acceso de capa de mejora, separando un flujo de programa de capa de base y un flujo de programa de capa de mejora del flujo de bits unitario, e insertando una estructura sintáctica delimitadora en el flujo de programa de la capa de mejora.
De acuerdo con un tercer aspecto del asunto descrito se proporciona un método de crear una señal de video mejorada que comprende recibir un flujo de bits unitario compuesto de unidades de acceso de capa de base y unidades de acceso de capa de mejora, donde cada unidad de acceso de capa de mejora comprende estructuras sintácticas de capa de video y estructuras sintácticas de capa no de video, separando un flujo de programa de capa de base y un flujo de programa de capa de mejora del flujo de bits unitario, e incluyendo estructuras sintácticas de capa no de video de las unidades de acceso de capa de mejora en el flujo de programa de la capa de base, por lo que la señal de video mejorada comprende un componente de capa de base que incluye estructuras sintácticas de capa no de video de la unidades de acceso de capa de mejora y un componente de capa de mejora que incluye estructuras sintácticas de capa de video de las unidades de acceso de capa de mejora.
De acuerdo con un cuarto aspecto del asunto descrito se proporciona un aparato de descodificación para descodificar un flujo de programa de capa de base que contiene una sucesión de unidades de acceso de capa de base de un flujo de video mejorado y al menos un flujo de programa de capa de mejora que contiene una sucesión de unidades de acceso de capa de mejora del citado flujo de video mejorado, comprendiendo cada unidad de acceso una pluralidad de estructuras sintácticas, comprendiendo el aparato de descodificación una memoria temporal de capa de base conectada para recibir el flujo de programa de la capa de base y para sacar estructuras sintácticas de cada unidad de acceso de capa de base en una secuencia predeterminada, una memoria temporal de capa de mejora conectada para recibir el flujo de programa de la capa de mejora y para sacar las estructuras sintácticas de cada unidad de acceso de capa de mejora en una secuencia predeterminada, un elemento funcional de reensamblaje conectado para recibir las estructuras sintácticas sacadas por la memoria temporal de capa de base y la memoria temporal de capa de mejora respectivamente y formar una unidad de acceso mejorada completa, que comprende estructuras sintácticas de capa de base y estructuras sintácticas de capa de mejora en una secuencia predeterminada.
10
15
20
25
30
35
40
45
50
55
E09718316
10-02-2015
De acuerdo con un quinto aspecto del asunto descrito se proporciona un aparato para crear una señal de video mejorada, teniendo el aparato una entrada para recibir un flujo de bits unitario compuesto de unidades de acceso de capa de base y de unidades de acceso de capa de mejora y que comprende un separador para separar un flujo de programa de capa de base y un flujo de programa de capa de mejora del flujo de bits unitario, y un insertador para insertar una estructura sintáctica de delimitación en el flujo de programa de la capa de mejora.
De acuerdo con un sexto aspecto del asunto descrito se proporciona un aparato para crear una señal de video mejorada, teniendo el aparato una entrada para recibir un flujo de bits unitario compuesto de unidades de acceso de capa de base y de unidades de acceso de capa de mejora, donde cada unidad de acceso de capa de mejora comprende estructuras sintácticas de capa de video y estructuras sintácticas de capa no de video, y que comprende un separador para separar un flujo de programa de capa de base y un flujo de programa de capa de mejora del flujo de bits unitario y que incluye estructuras sintácticas de capa no de video de las unidades de acceso de capa de mejora en el flujo de programa de la capa de base, por lo que la señal de video mejorada comprende un componente de capa de base que incluye estructuras sintácticas de capa no de video de las unidades de acceso de capa de mejora y un componente de capa de mejora que incluye estructuras sintácticas de capa de video de la unidades de acceso de capa de mejora.
De acuerdo con un séptimo aspecto del asunto descrito se proporciona un medio legible por ordenador que contiene software que, cuando es ejecutado por un ordenador que tiene una entrada para recibir un flujo de video mejorado que contiene unidades de acceso de capa de base y unidades de acceso de capa de mejora, comprendiendo cada unidad de acceso una pluralidad de estructuras sintácticas, procesa el flujo de video mediante un método que comprende pasar las estructuras sintácticas de las unidades de acceso de la capa de base a una memoria temporal de capa de base, pasando las estructuras sintácticas de la unidades de acceso de capa de mejora a una memoria temporal de capa de mejora, sacando las estructuras sintácticas pasadas a la memoria temporal de capa de base en una secuencia predeterminada, sacando las estructuras sintácticas pasadas a la memoria temporal de la capa de mejora en una secuencia predeterminada, y recombinando las secuencias de estructuras sintácticas producidas por la memoria temporal de capa de base y la memoria temporal de capa de mejora respectivamente para formar una unidad de acceso mejorada completa, comprendiendo las estructuras sintácticas de capa de base y las estructuras sintácticas de capa de mejora en una secuencia predeterminada.
De acuerdo con un octavo aspecto del asunto descrito se proporciona un medio legible por ordenador que contiene software que, cuando es ejecutado por un ordenador que tiene una entrada para recibir un flujo de bits unitario compuesto de unidades de acceso de capa de base y unidades de acceso de capa de mejora, procesa el flujo de bits mediante un método que comprende separar un flujo de programa de capa de base y un flujo de programa de capa de mejora a partir del flujo de bits unitario, e insertar una estructura sintáctica delimitadora en el flujo de programa de la capa de mejora.
De acuerdo con un noveno aspecto del asunto descrito se proporciona un medio legible por ordenador que contiene software, el cual, cuando es ejecutado por un ordenador que tiene una entrada para recibir un flujo de bits unitario compuesto de unidades de acceso de capa de base y de unidades de acceso de capa de mejora, donde cada unidad de acceso de capa de mejora comprende estructuras sintácticas de capa de video y estructuras sintácticas no de capa de video, procesa el flujo de bits mediante un método que separa un flujo de programa de capa de base y un flujo de programa de capa de mejora del flujo de bits unitario, y que incluye estructuras sintácticas no de capa de video de las unidades de acceso de capa de mejora en el flujo de programa de capa de base, por lo que la señal de video mejorada comprende un componente de capa de base que incluye estructuras sintácticas no de capa de video de las unidades de acceso de capa de mejora y un componente de capa de mejora que incluye estructuras sintácticas de capa de video de las unidades de acceso de capa de mejora.
Breve descripción de los dibujos
Para una mejor comprensión de la invención, y para mostrar cómo puede la misma ser llevada a efecto, se hará ahora referencia, a modo de ejemplo, a los dibujos que se acompañan, en los cuales:
La FIG. 1 es una ilustración esquemática de bloques de la arquitectura de un primer sistema para suministrar material de video comprimido para presentación,
la FIG. 2 ilustra la estructura de una unidad de acceso de SVC con capa de base y one capa de mejora,
la FIG. 3 es una ilustración esquemática de bloques de la arquitectura y caso de uso para la transmisión de material de video de SVC comprimido para descodificación y presentación,
la FIG. 4 es una ilustración esquemática de bloques de la arquitectura de un segundo sistema de bloques para suministrar material de video comprimido para presentación,
la FIG. 5 es una ilustración esquemática de bloques de la arquitectura de un tercer sistema de bloques para suministrar material de video comprimido para presentación,
5
10
15
20
25
30
35
40
45
50
55
E09718316
10-02-2015
las FIG. 6A, 6B y 6C ilustran la estructura de las unidades de datos generadas en varios puntos en el sistema mostrado en la FIG. 5, y
la FIG. 7 es un diagrama de bloques esquemático de una máquina de cálculo que puede ser utilizada para implementar partes de los procesos descritos con referencia a las FIGS. 4 y 5.
En las diferentes Figuras de los dibujos, signos de referencia iguales se utilizan para designar elementos, funciones
o componentes iguales o equivalentes.
Descripción detallada
El codificador de SVC 10' mostrado en la FIG. 4 genera un flujo de bits que contiene la capa de base y una capa de mejora. El separador de NAL 52 divide el flujo de bits en dos sub-flujos de bits que contienen, respectivamente, las unidades de NAL de la capa de base y las unidades de NAL de la capa de mejora y los dos sub-flujos de bits pasan a un empaquetador de video 140 de la capa de base y a un empaquetador de video 141 de la capa de mejora. Como se describe con referencia a la FIG. 3, los dos empaquetadores crean PESs de video respectivos. El multiplexador de flujo de transporte 54 asigna diferentes PIDs a los dos PESs y produce un flujo de transporte que contiene las dos capas. El multiplexador de flujo de transporte 54 incluye una memoria temporal de T-STD que está de acuerdo con el modelo de T-STD de SVC. El flujo de transporte es transmitido bien como un SPTS directamente a un desmultiplexador de flujo de transporte 56 ó es multiplexado con otros flujos de transporte y es suministrado como parte de un MPTS al desmultiplexador de flujo de transporte 56 por medio de un desmultiplexador de programa (no mostrado).
Como es convencional, el desmultiplexador de flujo de transporte 56 separa los paquetes de flujo de transporte sobre la base del PID y desempaqueta los paquetes de flujo de transporte para crear de nuevo los paquetes de PES. De esta manera, el desmultiplexador de flujo de transporte produce un PES de capa de base y un PES de capa de mejora, así como uno o más PESs de audio. Como se muestra en la FIG. 4, el PES de la capa de base y el PES de la capa de mejora son suministrados a un T-STD de video 60, que comprende una memoria temporal de T-STD de capa de base 64 y una memoria temporal de T-STD de capa de mejora 68. La memoria temporal de T-STD de capa de base 64, de manera similar a la memoria temporal de T-STD 40 mostrada en la FIG. 1, incluye una memoria temporal de transporte Tb0 y una memoria temporal de multiplexación Mb0. La memoria temporal de multiplexación produce un flujo de bits codificado que contiene las unidades de acceso de la capa de base (las unidades de NAL no de VCL de AVC y las unidades de NAL de VCL de AVC) a un segmento de la memoria temporal de flujo elemental ESb0. El tamaño del segmento de la memoria temporal ESb0 puede no exceder el tamaño de la memoria temporal de flujo elemental Eb prescrito en el estándar H.264/AVC.
La memoria temporal de T-STD de la capa de mejora 68 también incluye una memoria temporal de transporte Tb1, una memoria temporal de multiplexación Mb1 y un segmento de memoria temporal de flujo elemental ESb1. De manera similar a la memoria temporal de multiplexación Mb0, la memoria temporal Mb1 produce un flujo de bits codificado que contiene a las unidades de acceso de capa de mejora (las unidades de NAL no de VCL de SVC y las unidades de NAL de VCL de SVC) que cuando son combinadas apropiadamente con unidades de acceso de capa de base produce una unidad de acceso de SVC tal como se define en el Anexo G del estándar H.264.
El tamaño combinado de los segmentos de memoria temporal ESb0 y ESb1 puede no exceder el tamaño de la memoria temporal de flujo elemental Eb prescrito en el Anexo G del estándar H.264/AVC para un descodificador de SVC que descodifica un programa que tiene una capa de base y una capa de mejora. No obstante, el tamaño total de la memoria temporal permitido puede ser asignado entre los segmentos de la memoria temporal para optimizar el rendimiento del descodificador, siempre que el tamaño del segmento de la memoria temporal ESb0 no exceda el tamaño de la memoria temporal de flujo elemental Eb prescrito en el estándar H.264/AVC para un descodificador de AVC.
Resultará evidente para los expertos en la materia que las unidades de NAL de una unidad de acceso recibidas por el desmultiplexador de flujo de transporte 56 podrían no estar en el orden requerido para descodificar la unidad de acceso. Los segmentos de la memoria temporal de flujo elemental, que reciben los flujos de bits codificados proporcionados por las memorias temporales de multiplexación, aseguran que las unidades de NAL de cada unidad de acceso sean proporcionadas en el orden apropiado para la descodificación. Una función de reensamblaje Re-A recibe las unidades de NAL de AVC y de SVC proporcionadas por las dos memorias temporales de T-STD respectivamente y combina las unidades de NAL en la secuencia adecuada para crear de nuevo la estructura de la unidad de acceso de SVC mostrada en la FIG. 2. La función de reensamblaje suministra las unidades de acceso de SVC al descodificador de SVC para su descodificación en los tiempos de descodificación respectivos adecuados. De esta manera, el T-STD 60 es capaz de producir imágenes que incluyen las mejoras soportadas por la SVC.
La gestión de la memoria temporal (es decir, los tamaños de la memoria temporal de transporte, la memoria temporal de multiplexación y los segmentos de la memoria temporal de flujo elemental combinados así como la tasa de transferencia entre las memorias temporales) es la misma que en un T-STD de MPEG-2 convencional. Los datos entran en los segmentos de memoria temporal de flujo elemental a la velocidad especificada para la salida de datos desde la memoria temporal de multiplexación en el modelo de T-STD de MPEG-2 y después tanto de las unidades
10
15
20
25
30
35
40
45
50
55
60
E09718316
10-02-2015
de NAL de la capa de base como de las unidades de NAL de la capa de mejora de una unidad de acceso de SVC dada están presentes en los respectivos segmentos de la memoria temporal de flujo elemental, son transferidos de manera instantánea a la función de reensamblaje donde son combinados y transferidos instantáneamente al descodificador de SVC. Así, los segmentos de la memoria temporal de flujo elemental y la función de reensamblaje no introducen ninguna latencia entre la memoria temporal de multiplexación y el descodificador de SVC.
El flujo de transporte producido por el multiplexador de flujo de transporte 54 puede ser también suministrado a un T-STD 34' de AVC por medio de un desmultiplexador de flujo de transporte 30. El multiplexador de flujo de transporte 30 separa el PES de la capa de base del flujo de transporte y suministra el PES de la capa de base al T-STD 34'. Puesto que el PES de la capa de mejora no es suministrado al T-STD 34', el T-STD 34' no es cargado con tener que procesar las unidades de NAL que no son necesarias para descodificar las unidades de acceso de la capa de base.
En referencia ahora a la FIG. 5, en otra realización el flujo de bits producido por el codificador de SVC 10' contiene una capa de base y dos capas de mejora ENH1 y ENH2. El separador de NAL 52 separa el flujo de bits en tres subflujos de bits sobre la base de los valores de NUT de las unidades de NAL, pero a diferencia del caso de la FIG. 4 el flujo de bits de la capa de base incluye no sólo las unidades de NAL de AVC sino también las unidades de NAL no de SVC (incluyendo las unidades de NAL que son compatibles con AVC, como se ha descrito anteriormente). El flujo de bits de la capa de base producido por el separador de NAL tiene la estructura mostrada en la FIG. 6A. Los dos sub-flujos de bits de la capa de mejora contienen cada uno las unidades de NAL de VCL de SVC para las respectivas unidades de acceso de SVC. El separador de NAL también inserta una unidad de NAL de delim de SVC al principio de cada unidad de acceso de cada sub-flujo de bits de la capa de mejora, como se muestra en la FIG. 6B. La unidad de NAL de delim de SVC puede ser muy pequeña y tener un valor de NUT reservado, tal como 23 ó
24. Esta unidad de NAL de delim de SVC es además del delimitador de la unidad de acceso que tiene NUT igual a 9, como es requerido por el estándar de sistema de MPEG-2.
Los tres sub-flujos de bits son suministrados a los empaquetadores 140, 141 y 142 respectivamente, los cuales crean PESs respectivos y suministran los PESs a un multiplexador de flujo de transporte 72. El multiplexador de flujo de transporte 72, que incluye una memoria temporal de acuerdo con el modelo de T-STD de SVC, asigna diferentes PIDs a los tres PESs y produce un flujo de transporte que contiene las tres capas. Resultará evidente que el PES de la capa de base contiene todas las unidades de NAL de AVC que se requieren para descodificar las unidades de acceso de la capa de base.
El flujo de transporte creado por el multiplexador de flujo de transporte 72 es suministrado a una función de descodificación de flujo de transporte 74. La función de descodificación de flujo de transporte incluye un desmultiplexador de flujo de transporte 76 que separa el PES de la capa de base y los dos PESs de capa de mejora sobre la base del PID y los suministra a respectivas memorias temporales de T-STD 80, 81 y 82. Cada memoria temporal de T-STD incluye una memoria temporal de transporte Tb, una memoria temporal de multiplexación Mb y un segmento de la memoria temporal de flujo elemental ESb. El tamaño combinado de los segmentos de memoria temporal ESb0, ESb1 y ESb2 puede no exceder el tamaño de la memoria temporal de flujo elemental Eb prescrito en el Anexo G del estándar H.264/AVC para un descodificador de SVC que descodifica un programa que tiene una capa de base y dos capas de mejora. No obstante, el tamaño de memoria temporal total permitido puede ser asignado entre los segmentos de memoria temporal para optimizar el rendimiento del descodificador, siempre que el tamaño combinado de los segmentos de la memoria temporal ESb0 y ESb1 no exceda el tamaño de la memoria temporal de flujo elemental Eb prescrito en el Anexo G del estándar H.264/AVC para un descodificador de SVC que descodifica un programa que tiene una capa de base y una capa de mejora y el tamaño del segmento de la memoria temporal ESb0 no exceda el tamaño de la memoria temporal de flujo elemental Eb prescrito en el estándar H.264/AVC para un descodificador de AVC.
Cada memoria temporal de T-STD procesa el flujo de bits que recibe de una manera similar a la descrita con referencia a la FIG. 4, de manera que la memoria temporal DRB0 produce unidades de acceso que tienen la estructura mostrada en la FIG. 6A y las memorias temporales DRB1 y DRB2 cada una producen unidades de acceso que tienen la estructura mostrada en la FIG. 6B. Las salidas de las estructuras de memoria temporal son concatenadas mediante una función de reensamblaje Re-A para crear la secuencia de unidades de NAL para cada unidad de acceso como se muestra en la FIG. 6C. La salida de la función de reensamblaje pasa a la memoria temporal de flujo elemental, como se describe con referencia a la FIG. 4.
La FIG. 5 muestra que la salida del flujo de transporte mediante el multiplexador 54 puede ser suministrada a un T-STD 34' de AVC por medio de un desmultiplexador de flujo de transporte 30, tal como se describe con referencia a la FIG. 4.
La FIG. 5 también ilustra los tres PESs de video que son suministrados sobre un medio sin errores a una función de descodificación de flujo de programa 90. El PES de la capa de base puede ser suministrado a un P-STD de AVC de capa de base, incluyendo una memoria temporal y un descodificador, mientras que el PES de la capa de base y los dos PESs de capa de mejora ENH1 y ENH2 son suministrados a un multiplexador de flujo de programa, que incluye una memoria temporal que está de acuerdo con el modelo de P-STD de SVC. El multiplexador de flujo de programa suministra el PES de la capa de base y el PES de la capa de mejora ENH1 a un descodificador de SVC 91, que incluye un desmultiplexador de flujo de programa que elimina las cabeceras de PES del PES de
10
15
20
25
30
35
40
45
50
55
60
E09718316
10-02-2015
la capa de base y del PES de la capa de mejora y dirige el flujo de bits de la capa de base a un segmento de la memoria temporal del flujo elemental ESb0 y el flujo de bits de la capa de mejora ENH1 a un segmento de la memoria temporal del flujo elemental ESb1. Las salidas de los segmentos de memoria temporal ESb0 y ESb1 pasan a una función de reensamblaje. Los tamaños de los segmentos de memoria temporal ESb0 y ESb1 son variables de una manera similar a los tamaños de los segmentos de la memoria temporal del flujo elemental en las memorias temporales 80 y 81. La operación del descodificador de SVC 91 corresponde por lo tanto, en el contexto del flujo de programa, a la operación de las memorias temporales 80 y 81 y a la función de reensamblaje en el contexto del flujo de transporte.
El multiplexador de flujo de programa suministra el PES de la capa de base y los dos PESs de la capa de mejora ENH1 y ENH2 a un descodificador de SVC 92, que es similar al descodificador 91 pero es aumentado mediante un segmento de la memoria temporal de flujo elemental ESb2 correspondiente a la memoria temporal de flujo elemental en la memoria temporal de T-STD 82. La función de descodificación del flujo de programa 90 es por lo tanto capaz de descodificar bien la capa de base sola, o la capa de base y la capa de mejora ENH 1, o la capa de base y tanto la capa de mejora ENH1 como la capa de mejora ENH2.
Tanto en la realización mostrada en la FIG. 4 como en la realización mostrada en la FIG. 5, el tamaño de la memoria temporal disponible, basado en las limitaciones en el estándar H.264/AVC, incluyendo el Anexo G, puede ser asignado dinámicamente, según sea necesario, a las diferentes capas del flujo de bits producido por el codificador. Permitiendo una asignación flexible dinámica del tamaño de la memoria temporal a las diferentes capas de esta manera, el descodificador puede reducir la asignación del tamaño de la memoria temporal a la capa de base y aumentar la asignación del tamaño de la memoria temporal a una o más de las capas de mejora sobre la base de, por ejemplo, la complejidad de las unidades de acceso, para facilitar una adecuada descodificación.
La unidad de NAL de delim de SVC es fácilmente detectada por el desmultiplexador de flujo de transporte 76 y facilita la separación de las unidades de NAL de VCL de SVC. La unidad de NAL de delim de SVC no es reconocida por el descodificador y por lo tanto no tiene ningún efecto sobre la descodificación de las unidades de acceso de la capa de mejora.
Como se describe en conexión con la FIG. 4, el separador de NAL puede separar tanto las unidades de NAL no de SVC como las unidades de NAL de VCL de SVC de la unidad de acceso de SVC, de manera que el PES de la capa de base incluya sólo las unidades de NAL de AVC de la estructura de la unidad de acceso mostrada en la FIG. 2, y el PES de la capa de mejora contiene todas las unidades de NAL de SVC mientras que en el caso de la FIG. 5 el separador de NAL agrupa a las unidades de NAL no de VCL de SVC con las unidades de NAL de AVC, de manera que el PES de la capa de base contiene a las unidades de NAL no de VCL de SVC. Este planteamiento resulta en un ligero incremento en el ancho de banda requerido para transmitir el PES de la capa de base, pero resultará evidente a partir de un examen de la estructura de la unidad de acceso de SVC mostrada en la FIG. 2 que incluyendo las unidades de NAL no de VCL de SVC en el PES de la capa de base, el reensamblaje de la unidad de acceso de SVC puede ser conseguido mediante simple concatenación de las unidades de NAL incluidas en el PES de la capa de base y el PES de la capa de mejora respectivamente. De lo contrario, se requerirá un análisis de los datos en la memoria temporal de reensamblaje, lo que podría añadir latencia y complejidad al proceso. La sencillez del reensamblaje por parte de la unidad de acceso de SVC desfasa la ligera desventaja de requerir un ancho de banda ligeramente mayor para transmitir el PES de la capa de base.
En referencia a la FIG. 6, el separador de NAL y los empaquetadores mostrados en la FIG. 4 ó 5, o el desmultiplexador de flujo de transporte 56 y el T-STD 60 de video mostrados en la FIG. 4 ó la función de descodificación de flujo de programa o de flujo de transporte mostrada en la FIG. 5, pueden ser implementados utilizando un ordenador que comprende al menos un procesador 161, una memoria de acceso aleatorio 162, una memoria de sólo lectura 163, dispositivos de I/O 164 (que incluyen adaptadores adecuados para recibir y transmitir flujos de bits), una interfaz de usuario 165, una unidad de CD ROM 166 y una unidad de disco duro 167, configurados en una arquitectura generalmente convencional. El ordenador opera de acuerdo con un programa que está almacenado en un medio legible por ordenador, tal como la unidad de disco duro 167 ó un CD ROM 168, y está cargado en la memoria de acceso aleatorio 162 para su ejecución. El programa está compuesto de instrucciones de manera que cuando el ordenador recibe un flujo de bits que contienen la señal de entrada particular implicada, por medio de un adaptador de entrada, el ordenador asigna memoria a memorias temporales apropiadas y utiliza otros recursos y funciones adecuados para ejecutar las diferentes operaciones que se han descrito anteriormente con referencia a las FIGS. 4 y 5 y transmite, por medio de un adaptador de salida, un flujo de bits que contiene la señal de salida particular.
Aunque se han explicado anteriormente flujos de video escalables en conexión con una o dos capas de mejora, resultará evidente para los expertos en la materia que el Anexo G al estándar H.264/AVC permite hasta siete capas de mejora. Resultará también evidente que aunque la anterior descripción de las capas de mejora ha sido en el contexto de video escalable, los otros tipos de mejora para la capa de base de AVC son posibles.
Resultará evidente que la invención no está restringida a la realización particular que ha sido descrita, y que pueden realizarse variaciones a la misma sin separarse del alcance de la invención tal como se define en las reivindicaciones adjuntas, según se interpreta de acuerdo con los principios de la ley prevalente, que incluye la
E09718316
10-02-2015
doctrina de equivalentes o cualquier otro principio que ensancha el alcance de cumplimiento de una reivindicación
más allá de su alcance literal. A menos que el contexto indique otra cosa, una referencia en una reivindicación al
número de instancias de un elemento, sea una referencia a una instancia o a más de una instancia, requiere al
menos el número de instancias establecido del elemento pero no pretende excluir del alcance de la reivindicación a
5 una estructura o método que tenga más instancias de ese elemento de las establecidas. La palabra "comprenden" o
un derivado de la misma, cuando se utiliza en una reivindicación, se utiliza en un sentido no excluyente que no
pretende excluir la presencia de otros elementos o etapas en una estructura o método reivindicados. Las
reivindicaciones adjuntas emplean términos (tales como estructura sintáctica) que son también utilizados en
documentos de referencia que pertenecen al estándar H.264/AVC, pero esto es según convenga al lector experto y 10 no pretende limitar el alcance de las reivindicaciones a los métodos, aparato y medio legible por ordenador que
dependen de la codificación de video particular descrita en el estándar H.264/AVC.

Claims (13)

  1. 5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    REIVINDICACIONES
    1. Un método de desmultiplexar flujo de transporte multiplexado mejorado que comprende una sucesión de unidades de acceso mejoradas, comprendiendo cada unidad de acceso mejorada una unidad de acceso de capa de base y una unidad de acceso de capa de mejora, comprendiendo cada unidad de acceso una pluralidad de estructuras sintácticas, comprendiendo el citado método:
    pasar las estructuras sintácticas de las unidades de acceso de la capa de base a una memoria temporal de capa de base;
    pasar las estructuras sintácticas de las unidades de acceso de capa de mejora a una memoria temporal de capa de mejora, donde las estructuras sintácticas de las unidades de acceso de la capa de mejora comprenden estructuras sintácticas de capa de video y estructuras sintácticas no de capa de video;
    separar las estructuras sintácticas de las unidades de acceso de la capa de base de la sucesión de unidades de acceso mejoradas incluyendo separar las estructuras sintácticas no de capa de video de la unidades de acceso de capa de mejora de la sucesión;
    sacar las estructuras sintácticas pasadas a la memoria temporal de la capa de base en una secuencia predeterminada,
    sacar las estructuras sintácticas pasadas a la memoria temporal de la capa de mejora en una secuencia predeterminada, y
    recombinar las secuencias de estructuras sintácticas producidas por la memoria temporal de la capa de base y la memoria temporal de la capa de mejora respectivamente para formar una unidad de acceso mejorada completa, que comprende las estructuras sintácticas de la capa de base y las estructuras sintácticas de la capa de mejora en una secuencia predeterminada; caracterizado por que
    las estructuras sintácticas pasadas a la memoria temporal de capa de base incluyen estructuras sintácticas no de video de la capa de mejora;
    todas las estructuras sintácticas de la capa de video de las unidades de acceso de la capa de mejora pasan a la memoria temporal de la capa de mejora; y
    ninguna de las estructuras sintácticas no de video de la capa de mejora de la unidades de acceso de capa de mejora pasa a la memoria temporal de la capa de mejora.
  2. 2.
    Un método de acuerdo con la reivindicación 1, en el que las estructuras sintácticas de una unidad de acceso de capa de mejora en la sucesión de unidades de acceso mejoradas comprenden estructuras sintácticas de capa de video, estructuras sintácticas no de capa de video, y una estructura sintáctica de delimitación que marcan una frontera de las estructuras sintácticas de capa de video de la unidad de acceso de capa de mejora, y la etapa de separar las estructuras sintácticas de las unidades de acceso de capa de base de la sucesión unitaria de unidades de acceso incluye pasar las estructuras sintácticas de antes de la estructura sintáctica de delimitación a la memoria temporal de capa de base y pasar las estructuras sintácticas de después de la estructura sintáctica de delimitación a la memoria temporal de la capa de mejora.
  3. 3.
    Un método de acuerdo con cualquier reivindicación precedente, que comprende recibir un flujo de transporte multiplexado que contiene, con diferentes identificadores de programa respectivos, las estructuras sintácticas de las unidades de acceso de la capa de base y desmultiplexar, las citadas estructuras sintácticas restantes, el flujo de transporte, para crear al menos dos flujos de programa sobre la base de los diferentes identificadores de programa respectivos, y pasar los dos flujos de programa a la memoria temporal de la capa de base y a la memoria temporal de la capa de mejora respectivamente.
  4. 4.
    Un método de acuerdo con cualquier reivindicación precedente, en el que la memoria temporal de la capa de base incluye un segmento de memoria temporal de flujo elemental y la memoria temporal de la capa de mejora incluye un segmento de memoria temporal de flujo elemental, y el método comprende ajustar dinámicamente los tamaños combinados de los segmentos de memoria temporal de flujo elemental para optimizar la desmultiplexación del flujo de transporte multiplexado mejorado aún restringiendo el tamaño máximo del segmento de memoria temporal de flujo elemental de la memoria temporal de la capa de base.
  5. 5.
    Un método de acuerdo con cualquier reivindicación precedente, que comprende pasar la unidad de acceso mejorada completa a un descodificador de video.
  6. 6.
    Un método de acuerdo con cualquier reivindicación precedente, en el que las unidades de acceso de la capa de mejora contienen estructuras sintácticas de al menos capas de mejora primera y segunda, y la etapa de pasar las estructuras sintácticas restantes a una memoria temporal de la capa de mejora incluye pasar las estructuras sintácticas a las capas de mejora primera y segunda y a las memorias temporales de mejora primera y segunda respectivamente.
    10 5
    10
    15
    20
    25
    30
    35
    40
    45
    50
  7. 7. Un método de crear una señal de video mejorada que comprende:
    recibir un flujo de bits unitario que comprende unidades de acceso de capa de base y unidades de acceso de capa de mejora, donde cada unidad de acceso de capa de mejora comprende estructuras sintácticas de capa de video y estructuras sintácticas no de capa de video,
    separar un flujo de programa de capa de base y un flujo de programa de capa de mejora del flujo de bits unitario, caracterizado por
    incluir estructuras sintácticas no de capa de video de la unidades de acceso de la capa de mejora en el flujo de programa de la capa de base,
    por lo que la señal de video mejorada comprende un componente de capa de base que incluye estructuras sintácticas no de capa de video de las unidades de acceso de la capa de mejora y un componente de la capa de mejora que incluye estructuras sintácticas de capa de video de la unidades de acceso de capa de mejora; y
    el componente de la capa de mejora no incluye estructuras sintácticas no de capa de video de las unidades de acceso de la capa de mejora.
  8. 8.
    Un método de acuerdo con la reivindicación 7, que comprende también insertar una estructura sintáctica de delimitación en el flujo de programa de la capa de mejora.
  9. 9.
    Un aparato de desmultiplexación para desmultiplexar un flujo de programa de capa de base que contiene una sucesión de unidades de acceso de capa de base de un flujo de transporte multiplexado mejorado y al menos un flujo de programa de capa de mejora que contiene una sucesión de unidades de acceso de capa de mejora del citado flujo de transporte multiplexado mejorado, comprendiendo cada unidad de acceso una pluralidad de estructuras sintácticas, comprendiendo cada capa de mejora estructuras sintácticas de capa de video y estructuras sintácticas no de capa de video, comprendiendo el aparato de desmultiplexación:
    una memoria temporal de capa de base conectada para recibir el flujo de programa de la capa de base y las estructuras sintácticas no de capa de video y configurada para producir estructuras sintácticas de cada unidad de acceso de capa de base y las estructuras sintácticas no de capa de video en una secuencia predeterminada,
    una memoria temporal de la capa de mejora conectada para recibir las estructuras sintácticas de capa de video de la capa de mejora y para producir las estructuras sintácticas de capa de video de cada unidad de acceso de capa de mejora en una secuencia predeterminada,
    un elemento funcional de reensamblaje conectado para recibir las estructuras sintácticas producidas por la memoria temporal de la capa de base y la memoria temporal de la capa de mejora respectivamente y para formar una unidad de acceso mejorada completa, comprendiendo las estructuras sintácticas de la capa de base y las estructuras sintácticas de la capa de mejora en una secuencia predeterminada; caracterizado por que
    ninguna estructura sintáctica no de capa de video es recibida por la memoria temporal de la capa de mejora.
  10. 10.
    Un aparato de desmultiplexación de acuerdo con la reivindicación 9, que comprende también un descodificador de video conectado para recibir la unidad de acceso mejorada completa, estando el descodificador de video operativo para descodificar la unidad de acceso mejorada para formar una unidad de presentación de video.
  11. 11.
    Un aparato de desmultiplexación de acuerdo con la reivindicación 9, en el que las estructuras sintácticas incluidas en cada unidad de acceso de la capa de mejora comprenden estructuras sintácticas de capa de video, cada unidad de acceso de la capa de mejora del flujo de programa de la capa de mejora contiene una estructura sintáctica de delimitación que marca una frontera de las estructuras sintácticas de capa de video incluidas en la unidad de acceso de capa de mejora, el flujo de programa de capa de base y el flujo de programa de capa de mejora están encapsulados en un flujo de transporte, y el aparato de desmultiplexación comprende un desmultiplexador de flujo de transporte para recibir el flujo de transporte, extraer las estructuras sintácticas de la capa de video de las unidades de acceso de la capa de mejora del flujo de transporte sobre la base de las unidades de acceso de delimitación, y sacar estructuras sintácticas del flujo de programa de capa de base a la memoria temporal de la capa de base y producir estructuras sintácticas de la capa de video del flujo de programa de la capa de mejora hacia la memoria temporal de la capa de mejora; donde
    extraer las estructuras sintácticas de la capa de video de las unidades de acceso de capa de mejora del flujo de transporte incluye pasar las estructuras sintácticas de antes de la estructura sintáctica de delimitación hacia la memoria temporal de la capa de base y pasar las estructuras sintácticas de después de la estructura sintáctica de delimitación hacia la memoria temporal de la capa de mejora.
  12. 12.
    Aparato para crear una señal de video mejorada, comprendiendo el aparato:
    al menos un procesador acoplado en comunicación a un adaptador de entrada para recibir un flujo de bits unitario compuesto de unidades de acceso de capa de base y de unidades de acceso de capa de mejora, donde cada
    11
    unidad de acceso de la capa de mejora comprende estructuras sintácticas de capa de video y estructuras sintácticas no de capa de video; caracterizado por que
    el al menos un procesador está configurado para proporcionar un módulo separador para separar un flujo de programa de capa de base y un flujo de programa de capa de mejora del flujo de bits unitario e incluir estructuras 5 sintácticas no de capa de video de la unidades de acceso de la capa de mejora en el flujo de programa de la capa de base, por lo que la señal de video mejorada comprende un componente de la capa de base que incluye estructuras sintácticas no de capa de video de la unidades de acceso de la capa de mejora y un componente de la capa de mejora que incluye estructuras sintácticas de capa de video de las unidades de acceso de la capa de mejora, por lo que el componente de la capa de mejora no incluye estructuras sintácticas no de capa de video de la
    10 unidades de acceso de capa de mejora.
  13. 13. Aparato de acuerdo con la reivindicación 12, que comprende un insertador para insertar una estructura sintáctica de delimitación en el flujo de programa de capa de mejora.
    12
ES09718316.4T 2008-03-06 2009-03-04 Método y aparato para desmultiplexar un flujo de video escalable Active ES2530218T3 (es)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US3437008P 2008-03-06 2008-03-06
US34370P 2008-03-06
US12/395,056 US8369415B2 (en) 2008-03-06 2009-02-27 Method and apparatus for decoding an enhanced video stream
US395056 2009-02-27
PCT/US2009/035945 WO2009111519A1 (en) 2008-03-06 2009-03-04 Method and apparatus for decoding an enhanced video stream

Publications (1)

Publication Number Publication Date
ES2530218T3 true ES2530218T3 (es) 2015-02-27

Family

ID=41053556

Family Applications (1)

Application Number Title Priority Date Filing Date
ES09718316.4T Active ES2530218T3 (es) 2008-03-06 2009-03-04 Método y aparato para desmultiplexar un flujo de video escalable

Country Status (7)

Country Link
US (1) US8369415B2 (es)
EP (2) EP2899972B1 (es)
JP (3) JP5238827B2 (es)
KR (2) KR101501333B1 (es)
CN (3) CN104202600B (es)
ES (1) ES2530218T3 (es)
WO (1) WO2009111519A1 (es)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9167246B2 (en) * 2008-03-06 2015-10-20 Arris Technology, Inc. Method and apparatus for decoding an enhanced video stream
EP2194717A2 (en) * 2008-12-08 2010-06-09 Electronics and Telecommunications Research Institute Method for generating and processing hierarchical PES packet for digital satellite broadcasting based on SVC video
KR101216329B1 (ko) * 2009-12-16 2012-12-27 한국전자통신연구원 복수 계층 영상의 품질 측정 방법 및 시스템
CN102860008B (zh) * 2010-01-06 2016-05-11 杜比实验室特许公司 用于多层视频系统的复杂度自适应可伸缩解码及流处理
CN102763408B (zh) * 2010-02-11 2020-01-17 上海诺基亚贝尔股份有限公司 基于svc的e-mbms流传输方法和设备
WO2011142569A2 (en) * 2010-05-10 2011-11-17 Samsung Electronics Co., Ltd. Method and apparatus for transmitting and receiving layered coded video
US8705616B2 (en) 2010-06-11 2014-04-22 Microsoft Corporation Parallel multiple bitrate video encoding to reduce latency and dependences between groups of pictures
JP2012095053A (ja) * 2010-10-26 2012-05-17 Toshiba Corp ストリーム伝送システム、送信装置、受信装置、ストリーム伝送方法及びプログラム
US9591318B2 (en) * 2011-09-16 2017-03-07 Microsoft Technology Licensing, Llc Multi-layer encoding and decoding
US11089343B2 (en) 2012-01-11 2021-08-10 Microsoft Technology Licensing, Llc Capability advertisement, configuration and control for video coding and decoding
KR20130085987A (ko) * 2012-01-20 2013-07-30 한국전자통신연구원 이종망 네트워크에서 미디어 프래그먼트 유닛으로 나누어진 액세스 유닛을 가지는 미디어 데이터를 전송하는 방법
EP2834970B1 (en) 2012-04-06 2017-07-05 Vidyo, Inc. Level signaling for layered video coding
JP5979949B2 (ja) 2012-04-11 2016-08-31 キヤノン株式会社 画像データ送信装置及び画像データ受信装置
JP5979948B2 (ja) * 2012-04-11 2016-08-31 キヤノン株式会社 画像データ送信装置及び画像データ受信装置
CN103533404B (zh) * 2012-07-04 2016-12-21 扬智电子科技(上海)有限公司 数字广播电视的接收方法
US9154785B2 (en) * 2012-10-08 2015-10-06 Qualcomm Incorporated Sub-bitstream applicability to nested SEI messages in video coding
US20140301436A1 (en) * 2013-04-05 2014-10-09 Qualcomm Incorporated Cross-layer alignment in multi-layer video coding
US10063868B2 (en) 2013-04-08 2018-08-28 Arris Enterprises Llc Signaling for addition or removal of layers in video coding
US20150016547A1 (en) * 2013-07-15 2015-01-15 Sony Corporation Layer based hrd buffer management for scalable hevc
KR102657916B1 (ko) * 2013-07-15 2024-04-15 지이 비디오 컴프레션, 엘엘씨 다계층식 비디오 코딩에서의 저지연 개념
CN103338410B (zh) * 2013-07-19 2016-05-11 西安电子科技大学 多路径并行传输下基于svc的实时流媒体重组算法
US10291922B2 (en) 2013-10-28 2019-05-14 Arris Enterprises Llc Method and apparatus for decoding an enhanced video stream
CA2949823C (en) * 2014-05-21 2020-12-08 Arris Enterprises Llc Individual buffer management in transport of scalable video
EP3146724A1 (en) 2014-05-21 2017-03-29 ARRIS Enterprises LLC Signaling and selection for the enhancement of layers in scalable video
MX2018002265A (es) 2015-08-25 2018-03-23 Sony Corp Aparato de transmision, metodo de transmision, aparato de recepcion, y metodo de recepcion.
GB2547442B (en) 2016-02-17 2022-01-12 V Nova Int Ltd Physical adapter, signal processing equipment, methods and computer programs
CA3051660A1 (en) * 2017-02-03 2018-08-09 Sony Corporation Transmission device, transmission method, reception device, and reception method

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5852565A (en) * 1996-01-30 1998-12-22 Demografx Temporal and resolution layering in advanced television
US7627184B2 (en) * 2003-11-21 2009-12-01 Nec Corporation Content distribution/reception device, content transmission/reception method, and content distribution/reception program
US20070201811A1 (en) * 2003-12-22 2007-08-30 Koninklijke Philips Electronics N.V. Disc Allocation/Scheduling For Layered Video
US8351514B2 (en) 2004-01-16 2013-01-08 General Instrument Corporation Method, protocol, and apparatus for transporting advanced video coding content
US20050201471A1 (en) * 2004-02-13 2005-09-15 Nokia Corporation Picture decoding method
US7852353B1 (en) * 2005-03-31 2010-12-14 Apple Inc. Encoding a transparency (alpha) channel in a video bitstream
US20060227871A1 (en) * 2005-03-31 2006-10-12 Madhukar Budagavi Video thumbnail method
KR100763181B1 (ko) * 2005-04-19 2007-10-05 삼성전자주식회사 기초계층과 향상계층의 데이터를 바탕으로 예측 정보를코딩하여 코딩율을 향상시키는 방법 및 장치
JP5082209B2 (ja) * 2005-06-27 2012-11-28 株式会社日立製作所 送信装置、受信装置、及び映像信号送受信システム
WO2007080223A1 (en) 2006-01-10 2007-07-19 Nokia Corporation Buffering of decoded reference pictures
CN101390399B (zh) * 2006-01-11 2010-12-01 诺基亚公司 可伸缩视频编码中的图片的后向兼容聚合
JP4660408B2 (ja) * 2006-03-27 2011-03-30 三洋電機株式会社 符号化方法
US8767836B2 (en) 2006-03-27 2014-07-01 Nokia Corporation Picture delimiter in scalable video coding
US20070230564A1 (en) * 2006-03-29 2007-10-04 Qualcomm Incorporated Video processing with scalability
US20080095228A1 (en) * 2006-10-20 2008-04-24 Nokia Corporation System and method for providing picture output indications in video coding
US8467449B2 (en) * 2007-01-08 2013-06-18 Qualcomm Incorporated CAVLC enhancements for SVC CGS enhancement layer coding
JP2009010649A (ja) * 2007-06-27 2009-01-15 Sharp Corp スケーラブルビデオストリーム復号装置およびスケーラブルビデオストリーム生成装置

Also Published As

Publication number Publication date
JP5748234B2 (ja) 2015-07-15
JP2013153523A (ja) 2013-08-08
CN101960726A (zh) 2011-01-26
KR101303480B1 (ko) 2013-09-05
JP6040282B2 (ja) 2016-12-07
JP2011514080A (ja) 2011-04-28
JP5238827B2 (ja) 2013-07-17
EP2899972A1 (en) 2015-07-29
CN101960726B (zh) 2015-07-01
CN104967869B (zh) 2018-06-05
KR20120125655A (ko) 2012-11-16
WO2009111519A1 (en) 2009-09-11
KR20100119002A (ko) 2010-11-08
JP2015144493A (ja) 2015-08-06
US20090225870A1 (en) 2009-09-10
EP2253070B1 (en) 2015-01-21
KR101501333B1 (ko) 2015-03-11
EP2253070A1 (en) 2010-11-24
US8369415B2 (en) 2013-02-05
EP2899972B1 (en) 2021-12-08
CN104967869A (zh) 2015-10-07
CN104202600B (zh) 2018-05-15
CN104202600A (zh) 2014-12-10
EP2253070A4 (en) 2011-07-27

Similar Documents

Publication Publication Date Title
ES2530218T3 (es) Método y aparato para desmultiplexar un flujo de video escalable
US11722702B2 (en) Method and apparatus for decoding an enhanced video stream
US20240205416A1 (en) Individual temporal layer buffer management in hevc transport
US10187646B2 (en) Encoding device, encoding method, transmission device, decoding device, decoding method, and reception device
US11722714B2 (en) Transmitting method, receiving method, transmitting device and receiving device
KR20120018281A (ko) 다계층 영상 부호화 및 복호화 방법 및 장치
US10291922B2 (en) Method and apparatus for decoding an enhanced video stream
ES2941610T3 (es) Dispositivo de transmisión, procedimiento de transmisión, dispositivo de recepción y procedimiento de recepción