ES2379321T3 - Método y aparato para generar o cortar o cambiar un archivo de formato de flujo de bits basado en tramas que incluye al menos una sección de cabecera, y una estructura de datos correspondiente - Google Patents

Método y aparato para generar o cortar o cambiar un archivo de formato de flujo de bits basado en tramas que incluye al menos una sección de cabecera, y una estructura de datos correspondiente Download PDF

Info

Publication number
ES2379321T3
ES2379321T3 ES09757381T ES09757381T ES2379321T3 ES 2379321 T3 ES2379321 T3 ES 2379321T3 ES 09757381 T ES09757381 T ES 09757381T ES 09757381 T ES09757381 T ES 09757381T ES 2379321 T3 ES2379321 T3 ES 2379321T3
Authority
ES
Spain
Prior art keywords
frames
frame
file
decoding
superframe
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
ES09757381T
Other languages
English (en)
Inventor
Sven Kordon
Peter Jax
Johannes Boehm
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.)
Thomson Licensing SAS
Original Assignee
Thomson Licensing SAS
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 Thomson Licensing SAS filed Critical Thomson Licensing SAS
Application granted granted Critical
Publication of ES2379321T3 publication Critical patent/ES2379321T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16Vocoder architecture
    • G10L19/167Audio streaming, i.e. formatting and decoding of an encoded audio signal representation into a data stream for transmission or storage purposes
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/005Correction of errors induced by the transmission channel, if related to the coding algorithm
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/00166Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which result in a restriction to authorised contents recorded on or reproduced from a record carrier, e.g. music or software
    • G11B20/00181Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which result in a restriction to authorised contents recorded on or reproduced from a record carrier, e.g. music or software using a content identifier, e.g. an international standard recording code [ISRC] or a digital object identifier [DOI]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B20/1262Formatting, e.g. arrangement of data block or words on the record carriers with more than one format/standard, e.g. conversion from CD-audio format to R-DAT format
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00007Time or data compression or expansion
    • G11B2020/00014Time or data compression or expansion the compressed signal being an audio signal
    • G11B2020/00021Time or data compression or expansion the compressed signal being an audio signal lossless audio compression
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00007Time or data compression or expansion
    • G11B2020/00014Time or data compression or expansion the compressed signal being an audio signal
    • G11B2020/00057MPEG-1 or MPEG-2 audio layer III [MP3]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Acoustics & Sound (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Television Signal Processing For Recording (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Time-Division Multiplex Systems (AREA)
  • Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Communication Control (AREA)

Abstract

Método para generar un archivo de formato de flujo de bits de audio basado en tramas que incluye al menos una sección de cabecera de flujo de bits (Cabecera), incluyendo dichas tramas datos de señal codificados, en el que los datos requeridos para una decodificación o una evaluación de los datos de una trama actual (Trama0, Traman) pueden estar contenidos en una o más tramas previas (Traman-5, Traman-5 4), caracterizado por disponer en dicha cabecera elementos de información que representan: - número total de muestras por canal (OFL) para dicho archivo; - un "modo de archivado" o un "modo de flujo continuo" (ModoArchivo) para dicho archivo; - si una decodificación de dichos datos de señal codificados puede empezar o no en la primera trama de dicho archivo (SilenciarSiPrimeraSuperTrama); - si una decodificación de dichos datos de señal codificados no debe empezar en dicha primera trama de dicho archivo, se inicializa el número de tramas iniciales que deben silenciarse (TramasSilenciadas) mientras se decodifican estados, y opcionalmente, para una característica de corte exacto por muestra, el número de muestras que deben silenciarse (MuestrasSilenciadas) en la trama correspondiente; - en dicho modo de flujo continuo, un valor (SumaComprobaciónFlujoContinuo) para identificar una supertrama previa para una comprobación de consistencia, en el que, en dicho modo de archivado, dicho archivo incluye una única sección de cabecera de flujo de bits (Cabecera) y sucesivas dichas tramas (Trama0, Trama1, ..., Traman), y una decodificación de dichos datos de señal codificados debe empezar con la primera (Trama0) de dichas tramas, y en el que, en dicho modo de flujo continuo, dicho flujo de bits contiene más de una supertrama, empezando cada una de dichas supertramas con una única sección de cabecera de flujo de bits (Cabecera) seguida por varias de dichas tramas, y una decodificación de dichos datos de señal codificados puede inicializarse en cada una de dichas supertramas, y en el que dicho elemento de información relativo al número de tramas iniciales que deben silenciarse (TramasSilenciadas) señaliza cuántas tramas iniciales en una supertrama actual se requieren para establecer datos para inicializar estados de una decodificación de dichos datos de señal antes de empezar realmente a decodificar datos de señal codificados a partir de las siguientes trama o tramas de dicha supertrama actual, no usándose tales tramas iniciales para decodificar los datos de señal codificados contenidos en las mismas.

Description

Método y aparato para generar o cortar o cambiar un archivo de formato de flujo de bits basado en tramas que incluye al menos una sección de cabecera, y una estructura de datos correspondiente
La invención se refiere a un formato de datos basado en tramas con formato cambiable, conteniendo las tramas datos de señal codificados que para decodificar una trama actual requieren acceder a datos de trama previos.
Antecedentes
En los formatos de flujo de bits basados en tramas los datos requeridos para decodificar una trama actual se almacenan habitualmente en la sección de datos para esa trama.
Una excepción es el flujo de bits de MPEG1 Audio Layer III con su técnica de reserva de bits, en la que los datos para una trama actual se almacenan en tramas previas. La posición de los datos se indica en el flujo de bits mediante un puntero a la posición en byte del comienzo de los datos principales en la trama previa. Si el decodificador no recibió la trama previa requerida, se omite la decodificación de la trama de mp3 actual.
Invención
El flujo de bits de MPEG1 Audio Layer III no tiene un campo de cabecera de flujo de bits para permitir un corte exacto por muestra.
La presente invención puede aplicarse para un formato o estructura de datos en el que un flujo de datos de extensión proporciona extensión sin pérdidas para un flujo de datos de capa base con pérdidas para, por ejemplo, una señal de audio, por ejemplo el formato de archivo de audio hd3 para extensión sin pérdidas de un flujo de bits mp3, en el que la decodificación de una trama requiere decodificar más de una trama previa y el formato de flujo de bits ofrece un modo de archivado y un modo de flujo continuo, así como una característica de corte exacto por muestra del flujo de bits.
El “modo de archivado” significa que un archivo incluye una única cabecera de flujo de bits y tramas sucesivas de coeficientes o muestras de señal codificadas o decodificadas (en particular muestras de audio), por lo que la decodificación debe empezar al comienzo del archivo, es decir con la trama que sigue a la cabecera de flujo de bits. El “modo de flujo continuo” significa que un flujo de bits coherente se separa en más de un paquete de datos, empezando cada paquete con una única cabecera de flujo de bits seguida por varias tramas, por lo que la decodificación puede empezar en cada paquete.
El corte exacto por muestra significa generar como un nuevo flujo de bits una sección parcial a partir de un flujo de bits existente, codificando o decodificando de ese modo sólo un subconjunto de muestras de ese flujo de bits existente, pudiendo elegirse de manera arbitraria la primera y la última muestra decodificable.
El problema que va a resolver la invención es dar a conocer un formato de flujo de bits que facilita la inicialización de los estados de decodificador al comienzo de un archivo cortado o un paquete de flujo continuo. Dependiendo de la trama, el número de tramas previas implicadas en la recuperación de estados de decodificador es diferente. Un archivo de modo de flujo continuo o un archivo cortado puede empezar en cada trama y por tanto falta el número de tramas previas requerido para la recuperación de estado del decodificador.
Este problema se resuelve mediante los métodos dados a conocer en las reivindicaciones 1 y 3 y mediante la estructura de datos dada a conocer en la reivindicación 2. Un aparato que usa el método según la reivindicación 3 se da a conocer en la reivindicación 4.
El formato de flujo de bits de la invención puede generarse o usarse en el lado del codificador así como en el lado del decodificador. En relación con el lado del decodificador, la invención se refiere a un correspondiente procesamiento de decodificador y los campos de cabecera de flujo de bits requeridos para inicializar los estados de decodificador al comienzo del archivo cortado o del paquete de flujo.
Según la invención, se señaliza en el flujo de bits cuántas tramas se requieren para inicializar los estados de decodificador. Esto se realiza señalizando explícitamente en la cabecera de flujo de bits el número de tramas requeridas para la recuperación del estatus del decodificador. Estas tramas se usan para la inicialización del decodificador pero no para decodificar muestras o coeficientes. Para el corte exacto por muestra, para la trama en la que se producirá el corte, el número de muestras o coeficientes que deben silenciarse se indica en la cabecera de flujo de bits, para permitir un corte exacto por muestra más allá de los límites de trama.
La invención puede usarse, por ejemplo, en un codificador hd3 con el fin de permitir dos modos de flujo de bits y corte exacto por muestra del flujo de bits. Se trata de una solución específica porque la decodificación de una trama de la segunda capa del flujo de bits del codificador hd3 requiere más de una trama decodificada de la primera capa, mientras que en la mayoría de formatos de audio basados en tramas conocidos cada trama puede decodificarse independientemente de las demás tramas.
Los codificadores que hacen uso de técnicas de predicción adaptativa hacia atrás no pueden usar el procesamiento de la invención porque éste requiere que se conozcan todas las muestras previamente decodificadas para recuperar los estados de predicción. Por tanto tales flujos de bits conocidos incluyen los estados de predicción para la inicialización del decodificador después de un número definido de muestras codificadas, lo que no es cierto para la presente invención.
En principio, el método de la invención es adecuado para generar un archivo de formato de flujo de bits basado en tramas que incluye al menos una sección de cabecera de flujo de bits, incluyendo dichas tramas datos de señal codificados, en el que los datos requeridos para una decodificación o una evaluación de datos de una trama actual pueden estar contenidos en una o más tramas previas, y en el que, en dicha cabecera, se disponen elementos de información que representan:
-
número total de muestras por canal para dicho archivo;
-
un “modo de archivado” o un “modo de flujo continuo” para dicho archivo;
-
si una decodificación de dichos datos de señal codificados puede empezar o no en la primera trama de dicho archivo;
-
si una decodificación de dichos datos de señal codificados no debe empezar en dicha primera trama de dicho archivo, se inicializa el número de tramas iniciales que deben silenciarse mientras se decodifican estados, y opcionalmente, para una característica de corte exacto por muestra, el número de muestras que deben silenciarse en la trama correspondiente;
-
en dicho modo de flujo continuo, un valor para identificar una supertrama previa para una comprobación de consistencia,
en el que, en dicho modo de archivado, dicho archivo incluye una única sección de cabecera de flujo de bits y sucesivas dichas tramas, y una decodificación de dichos datos de señal codificados debe empezar con la primera de dichas tramas,
y en el que, en dicho modo de flujo continuo, dicho flujo de bits contiene más de una supertrama, empezando cada una de dichas supertramas con una única sección de cabecera de flujo de bits seguida de varias de dichas tramas, y una decodificación de dichos datos de señal codificados puede inicializarse en cada una de dichas supertramas,
y en el que dicho elemento de información relativo al número de tramas iniciales que deben silenciarse señaliza cuántas tramas iniciales en una supertrama actual se requieren para establecer datos para inicializar estados de una decodificación de dichos datos de señal antes de empezar realmente a decodificar datos de señal codificados a partir de las siguientes trama o tramas de dicha supertrama actual, no usándose tales tramas iniciales para decodificar los datos de señal codificados contenidos en las mismas.
En principio, la estructura de datos de la invención es adecuada para un archivo de formato de flujo de bits basado en tramas que incluye al menos una sección de cabecera de flujo de bits, incluyendo dichas tramas datos de señal codificados, en la que los datos requeridos para una decodificación o una evaluación de datos de una trama actual pueden estar contenidos en una o más tramas previas, y en la que, en dicha cabecera se disponen elementos de información que representan:
-
número total de muestras por canal para dicho archivo;
-
un “modo de archivado” o un “modo de flujo continuo” para dicho archivo;
-
si una decodificación de dichos datos de señal codificados puede empezar o no en la primera trama de dicho archivo;
-
si una decodificación de dichos datos de señal codificados no debe empezar en dicha primera trama de dicho archivo, se inicializa el número de tramas iniciales que deben silenciarse mientras se decodifican estados, y opcionalmente, para una característica de corte exacto por muestra, el número de muestras que deben silenciarse en la trama correspondiente;
-
en dicho modo de flujo continuo, un valor para identificar una supertrama previa para una comprobación de consistencia,
en la que, en dicho modo de archivado, dicho archivo incluye una única sección de cabecera de flujo de bits y sucesivas dichas tramas, y una decodificación de dichos datos de señal codificados debe empezar con la primera de dichas tramas,
y la que, en dicho modo de flujo continuo, dicho flujo de bits contiene más de una supertrama, empezando cada una de dichas supertramas con una única sección de cabecera de flujo de bits seguida de varias de dichas tramas, y una decodificación de dichos datos de señal codificados puede inicializarse en cada una de dichas supertramas,
y en la que dicho elemento de información relativo al número de tramas iniciales que deben silenciarse señaliza cuántas tramas iniciales en una supertrama actual se requieren para establecer datos para inicializar estados de una decodificación de dichos datos de señal antes de empezar realmente a decodificar datos de señal codificados a partir de las siguientes trama o tramas de dicha supertrama actual, no usándose tales tramas iniciales para decodificar los datos de señal codificados contenidos en las mismas.
En principio, un método de la invención es adecuado para cortar una sección a partir de un archivo de formato de flujo de bits basado en tramas que incluye una sección de cabecera de flujo de bits, incluyendo dichas tramas datos de señal codificados, en el que los datos requeridos para una decodificación o una evaluación de datos de una trama actual pueden estar contenidos en una o más tramas previas, y en el que dicha cabecera incluye elementos de información que representan:
-
número total de muestras por canal para dicho archivo;
-
un “modo de archivado” para dicho archivo;
-
una decodificación de dichos datos de señal codificados debe empezar en la primera trama de dicho archivo,
en el que, en dicho modo de archivado, dicho archivo incluye una única sección de cabecera de flujo de bits y sucesivas dichas tramas,
incluyendo dicho método la etapa de formar un archivo de corte tomando los datos de tramas requeridos de dicho flujo de bits y disponiendo una cabecera de corte delante de estos datos de tramas,
en el que dicha cabecera de corte se deriva de dicha cabecera y, en dicha cabecera de corte:
-
dicho número total de muestras por canal para dicho archivo se sustituye por el número de muestras por canal para dicho archivo de corte;
-
se mantiene dicho modo de archivado;
-
dicho elemento de información relativo a que la decodificación de dichos datos de señal codificados debe empezar en la primera trama de dicho archivo se cambia a que la decodificación de dichos datos de señal codificados debe empezar más tarde en dicho archivo;
-
se añade un elemento de información relativo a que se inicializa el número de tramas iniciales que deben silenciarse mientras se decodifican estados.
En principio, un aparato de la invención es adecuado para cortar una sección a partir de un archivo de formato de flujo de bits basado en tramas que incluye una sección de cabecera de flujo de bits, incluyendo dichas tramas datos de señal codificados, en el que los datos requeridos para una decodificación o una evaluación de datos de una trama actual pueden estar contenidos en una o más tramas previas, y en el que dicha cabecera incluye elementos de información que representan:
-
número total de muestras por canal para dicho archivo;
un “modo de archivado” para dicho archivo;
una decodificación de dichos datos de señal codificados debe empezar en la primera trama de dicho archivo,
en el que, en dicho modo de archivado, dicho archivo incluye una única sección de cabecera de flujo de bits y sucesivas dichas tramas,
incluyendo dicho aparato medios que están adaptados para formar un archivo de corte tomando los datos de tramas requeridos de dicho flujo de bits y disponiendo una cabecera de corte delante de estos datos de tramas, en el que dicha cabecera de corte se deriva de dicha cabecera, y, en dicha cabecera de corte:
-
dicho número total de muestras por canal para dicho archivo se sustituye por el número de muestras por canal para dicho archivo de corte;
-
se mantiene dicho modo de archivado;
-
dicho elemento de información relativo a que la decodificación de dichos datos de señal codificados debe empezar en la primera trama de dicho archivo se cambia a que la decodificación de dichos datos de señal codificados debe empezar más tarde en dicho archivo;
-
se añade un elemento de información relativo a que se inicializa el número de tramas iniciales que deben silenciarse mientras se decodifican estados.
En principio, un método de la invención es adecuado para cambiar un archivo de formato de flujo de bits basado en tramas, incluyendo dicho flujo de bits una sección de cabecera, incluyendo dichas tramas datos de señal codificados, en el que los datos requeridos para una decodificación o una evaluación de datos de una trama actual pueden estar contenidos en una o más tramas previas, y en el que dicha cabecera incluye elementos de información que representan:
-
número total de muestras por canal para dicho archivo;
-
un “modo de archivado” para dicho archivo;
-
una decodificación de dichos datos de señal codificados debe empezar en la primera trama de dicho archivo,
en el que, en dicho modo de archivado, dicho archivo incluye una única sección de cabecera de flujo de bits y sucesivas dichas tramas,
incluyendo dicho método la etapa de generar a partir de dicho archivo de modo de archivado un flujo de bits de “modo de flujo continuo” formando a partir de cada grupo sucesivo de tramas de dicho archivo de modo de archivado una supertrama de dicho flujo de bits de modo de flujo continuo tomando los datos de trama requeridos de dicho archivo de modo de archivado y disponiendo una cabecera de supertrama al comienzo de cada supertrama, en el que estas cabeceras de supertrama se derivan de dicha cabecera y, en la primera de dichas cabeceras de supertrama:
-
dicho número total de muestras por canal para dicho archivo se sustituye por un primer número de muestras adaptado por canal;
-
se proporciona un elemento de información para “modo de flujo continuo” en lugar de “modo de archivado”;
-
se mantiene dicho elemento de información relativo a que la decodificación de dichos datos de señal codificados debe empezar en la primera trama de dicho archivo,
y en las siguientes de dichas cabeceras de supertrama:
-
dicho número total de muestras por canal para dicho archivo se sustituye por un segundo número de muestras adaptado por canal;
-
dicho elemento de información para “modo de archivado” se sustituye por un elemento de información para “modo de flujo continuo”;
-
dicho elemento de información relativo a que la decodificación de dichos datos de señal codificados debe empezar en la primera trama de dicho archivo se sustituye por un elemento de información relativo a que la decodificación de dichos datos de señal codificados no debe empezar en dicha primera trama;
-
se añade un elemento de información relativo a que se inicializa el número de tramas iniciales que deben silenciarse mientras se decodifican estados;
- opcionalmente, se añade un elemento de información relativo al número de muestras que deben silenciarse en la trama en la que debe comenzar la decodificación de dichos datos de señal codificados, siendo el número “0”;
-
se añade un elemento de información relativo a datos de comprobación de consistencia, cuyo valor se deriva de los datos de la supertrama previa.
En principio, un aparato de la invención es adecuado para cambiar un archivo de formato de flujo de bits basado en tramas, incluyendo dicho flujo de bits una sección de cabecera, incluyendo dichas tramas datos de señal codificados, en el que los datos requeridos para una decodificación o una evaluación de datos de una trama actual pueden estar contenidos en una o más tramas previas, y en el que dicha cabecera incluye elementos de información que representan:
-
número total de muestras por canal para dicho archivo;
-
un “modo de archivado” para dicho archivo;
-
una decodificación de dichos datos de señal codificados debe empezar en la primera trama de dicho archivo,
en el que, en dicho modo de archivado, dicho archivo incluye una única sección de cabecera de flujo de bits y sucesivas dichas tramas,
incluyendo dicho aparato medios que están adaptados para generar a partir de dicho archivo de modo de archivado un flujo de bits de “modo de flujo continuo” formando a partir de cada grupo sucesivo de tramas de dicho archivo de modo de archivado una supertrama de dicho flujo de bits de modo de flujo continuo tomando los datos de trama requeridos de dicho archivo de modo de archivado y disponiendo una cabecera de supertrama al comienzo de cada supertrama, en el que estas cabeceras de supertrama se derivan de dicha cabecera y, en la primera de dichas cabeceras de supertrama:
-
dicho número total de muestras por canal para dicho archivo se sustituye por un primer número de muestras adaptado por canal;
-
se proporciona un elemento de información para “modo de flujo continuo” en lugar de “modo de archivado”;
-
se mantiene dicho elemento de información relativo a que la decodificación de dichos datos de señal codificados debe empezar en la primera trama de dicho archivo,
y en las siguientes de dichas cabeceras de supertrama:
-
dicho número total de muestras por canal para dicho archivo se sustituye por un segundo número de muestras adaptado por canal;
-
dicho elemento de información para “modo de archivado” se sustituye por un elemento de información para “modo de flujo continuo”;
-
dicho elemento de información relativo a que la decodificación de dichos datos de señal codificados debe empezar en la primera trama de dicho archivo se sustituye por un elemento de información relativo a que la decodificación de dichos datos de señal codificados no debe empezar en dicha primera trama;
-
se añade un elemento de información relativo a que se inicializa el número de tramas iniciales que deben silenciarse mientras se decodifican estados;
- opcionalmente, se añade un elemento de información relativo al número de muestras que deben silenciarse en la trama en la que debe comenzar la decodificación de dichos datos de señal codificados, siendo el número “0”;
-
se añade un elemento de información relativo a datos de comprobación de consistencia, cuyo valor se deriva de los datos de la supertrama previa.
En principio, el último método mencionado puede usarse para decodificar dicho flujo de bits de modo de flujo continuo, incluyendo además las etapas de:
-
cuando se empieza a decodificar dicho flujo de bits de modo de flujo continuo en dicha primera supertrama, la decodificación de los datos de señal codificados empieza en la primera trama de esa supertrama usando estados de decodificador por defecto;
-
cuando no se empieza a decodificar dicho flujo de bits de modo de flujo continuo en dicha primera supertrama, tras una inicialización o puesta a cero de la decodificación, se usa un número de tramas “TramasSilenciadas” correspondiente a dicho elemento de información relativo al número de tramas iniciales que deben silenciarse para inicializar los estados de decodificación, y la decodificación de datos de señal codificados empieza en el número de trama TramasSilenciadas+1 de la supertrama actual usando estos estados de decodificación;
-
cuando no se empieza a decodificar dicho flujo de bits de modo de flujo continuo en dicha primera supertrama, y los datos de comprobación de consistencia que se calcularon a partir de los datos de supertrama previa no son consistentes con correspondientes datos de comprobación de consistencia calculados a partir de la supertrama actual, usar un número de tramas “TramasSilenciadas” de la siguiente supertrama para reinicializar los estados de decodificación empezando la decodificación de datos de señal codificados en el número de trama “TramasSilenciadas”+1 de esa siguiente supertrama usando estos estados de decodificación;
cuando no se empieza a decodificar dicho flujo de bits de modo de flujo continuo en dicha primera supertrama, y una supertrama se decodificó antes y dichos datos de comprobación de consistencia son válidos, usar los estados de decodificador de la supertrama previamente decodificada para decodificar los datos de señal codificados de las tramas de la supertrama actual.
Realizaciones ventajosas adicionales de la invención se dan a conocer en las respectivas reivindicaciones dependientes.
La siguiente descripción proporciona la correspondiente información de flujo de bits y el procesamiento de decodificador para tener un formato de flujo de bits que soporta un modo de flujo continuo así como un modo de archivado y que facilita el corte exacto por muestra.
Dibujos
Realizaciones a modo de ejemplo de la invención se describen con referencia a los dibujos adjuntos, que muestran en:
la figura 1: la estructura de un flujo de bits de modo de archivado; la figura 2: la estructura de un flujo de bits de modo de archivado cortado;
la figura 3: la estructura del flujo de bits de modo de flujo continuo;
la figura 4: dependencias de la n-ésima trama, de modo que la decodificación de la traman-4 requiere datos almacenados en una supertrama previa, y por tanto es inválida para una decodificación autónoma de la supertrama. Se requieren la traman-3, la traman-2 y la traman-1 para inicializar los estados de decodificador de la traman;
la figura 5: diagrama de flujo del decodificador para el procesamiento de modo de archivado, modo de corte y modo de flujo continuo del formato de flujo de bits de la invención;
la figura 6: formato de archivo HD3 simplificado.
Realizaciones a modo de ejemplo
La invención se realizó durante el desarrollo del códec hd3. Por tanto, la descripción es aplicable a la versión actual del formato de flujo de bits hd3. Sin embargo, la invención puede aplicarse de manera correspondiente a todos los formatos de archivo basados en tramas que requieren conocer varias tramas previas para decodificar una trama y en el que el número está escrito en la cabecera de flujo de bits para inicializar los estados de decodificador, o para lograr un corte exacto por muestra indicando el número de muestras que deben silenciarse de la trama decodificada.
El procesamiento del códec hd3 permite almacenar, en un único archivo, un archivo mp3 más datos de extensión para la representación exacta por bits de la fuente del archivo mp3. La primera versión del formato de flujo de bits hd3 era un formato de archivado con una cabecera de archivo y sucesivas tramas de datos Trama0, Trama1, ... Traman, tal como se muestra en la figura 1. Para una mejor comprensión, las diferentes capas del códec hd3 no se representan en este caso, y se supone que el códec descrito requiere varias tramas previamente decodificadas para decodificar la trama actual.
Para diferentes aplicaciones puede ser útil transformar el formato de archivado en el lado del decodificador en un formato de flujo continuo, o cortar una secuencia corta a partir del formato de archivado. Por ejemplo, el corte permite la rápida generación de vistas previas cortas y el formato de flujo continuo permite empezar a decodificar sin haber recibido el archivo completo.
Sin embargo, un problema para solucionar el corte exacto por muestra y para el funcionamiento en modo de flujo continuo y modo de archivado es la inicialización de los estados de decodificador en caso de que falten las tramas previas. La siguiente descripción explica la información de flujo de bits requerida y el procesamiento del decodificador.
Modo de archivado
El flujo de bits de modo de archivado tal como se muestra en la figura 1 consiste en una cabecera de archivo al comienzo del archivo, seguida de datos de señal divididos en tramas, en el que cada trama representa un código que representa un segmento de L coeficientes o muestras de señal codificada.
La decodificación del flujo de bits de modo de archivado sólo puede empezar en la primera trama porque sólo allí se conocen los estados de decodificador (se definen en cada norma de decodificación). Por ejemplo, el Main_Data_Begin_Pointer (puntero de comienzo de datos principales) mencionado más adelante en mp3 se ajusta a cero para la primera trama. Al decodificar de manera continua las siguientes tramas, los estados de decodificador se inicializan y se obtiene una decodificación correcta de las muestras. Una característica principal del formato descrito es que no todas, sino sólo k, siendo 0ik<K, tramas previamente decodificadas se requieren para conseguir resultados correctos, siendo K el numero maximo de tramas decodificadas requeridas y siendo K un valor constante que se conoce en el codificador y en el decodificador. Sin embargo, la decodificación de la información requerida de las tramas previas sin conocer las demás tramas tiene que ser viable.
El códec hd3 proporciona tal característica mediante las tramas mp3 que pueden decodificarse de manera independiente. Sin embargo, la reconstrucción de la réplica exacta por bits (es decir, reconstrucción sin pérdidas) requiere, debido al procesamiento de mapeo, información de estatus de tres tramas mp3 decodificadas previamente, tal como se describe en la solicitud EP 08102308.7.
Además, la norma MPEG1 Audio Layer III, ISO/IEC 11172-3, incluye la técnica de reserva de bits anteriormente mencionada que permite almacenar los datos principales en tramas previas. Se usa un puntero de comienzo de datos principales que apunta al comienzo de los datos principales ubicados en una trama previa. Por tanto, la decodificación de tramas mp3 individuales requiere información de tramas previas también.
Estas cuestiones complican el corte o flujo continuo de dicho formato de flujo de bits debido al hecho de que la información requerida de tramas previas falta al comienzo del archivo en modo de flujo continuo o el archivo cortado. La figura 4 ilustra cuestiones relacionadas que afectan al corte o flujo continuo en el lado de decodificación del formato de archivado en el lado de codificación (o transmitido, o grabado, u original). Cuando se empieza a decodificar en la cabecera del flujo de bits sin los datos de la Traman-5, la Traman-4 no puede decodificarse porque su Main_Data_Begin_Pointer apunta a datos de Traman-5 no disponibles. Asimismo, las tramas n-3 a n-1 no pueden decodificarse correctamente porque sus estados de decodificador no se inicializan correctamente debido a los datos que faltan de las tramas previas.
Sin embargo, tras la disponibilidad de datos (por ejemplo, valores espectrales) de tres tramas previas, aunque las
5 tramas n-3 a n-1 no estén decodificadas, pueden reconstruirse los estados de decodificador correctos de la siguiente trama en una etapa/fase de inicialización de estados de decodificador DSI realizando el proceso de mapeo descrito en el documento EP08102308.7. La primera trama con estados de decodificador correctamente inicializados es la Traman.
Para superar estos problemas, según la invención, se añaden algunos elementos de información adicionales a la
10 cabecera de flujo de bits representada en la siguiente tabla. Basándose en estos elementos de información adicionales, el decodificador puede decidir si el procesamiento empezará con estados de decodificador por defecto conocidos o con estados de decodificador desconocidos:
Datos campo
Longitud de bits Contenido
OFL (longitud archivo original)
X Número total de muestras por canal correspondiente a la carga útil de los siguientes datos.
ModoArchivo
1 “0”: Modo de archivado “1”: Modo de flujo continuo
SilenciarSiPrimeraSuperTrama
1 “0”: La decodificación empieza al comienzo (es decir, con la primera trama o con el primer paquete) del archivo, es decir, los estados de decodificación tienen sus valores por defecto “1”: La decodificación empieza más tarde en el archivo (o en un paquete posterior)
si(SilenciarSiPrimeraSuperTrama) {
La información requerida para empezar a decodificar más tarde en el flujo o al comienzo de un archivo cortado
TramasSilenciadas
X Número de tramas que deben silenciarse mientras se inicializan los estados de decodificador
MuestrasSilenciadas
X Número de muestras que deben silenciarse en la trama correspondiente para el corte exacto por muestra
si(ModoArchivo) {
Información requerida en modo de flujo continuo
SumaComprobaciónFlujoContinuo } }
X Valor para identificar la supertrama previa para una comprobación de consistencia
15 Tabla 1: Sección de la cabecera del formato de flujo de bits de la invención
El campo “SilenciarSiPrimeraSuperTrama” de la cabecera de flujo de bits indica si la decodificación de las siguientes tramas requiere o no una inicialización adicional de los estados de decodificador.
Si es así (es decir, el indicador está activado), se insertan elementos de información adicionales en la cabecera de flujo de bits, que se comentarán en los siguientes ejemplos para corte y flujo continuo.
La cabecera de flujo de bits para el modo de archivado usa solamente los campos de datos “OFL”, “ModoArchivo” y “SilenciarSiPrimeraSuperTrama”, ajustándose los valores de “ModoArchivo” y “SilenciarSiPrimeraSuperTrama” a 5 cero (o desactivándose los correspondientes indicadores) para indicar un archivo de archivado no cortado.
Corte del flujo de bits de modo de archivado
El corte se usa en el lado de decodificación para separar una subsección corta a partir de un flujo de bits coherente completo, recibido o reproducido, en modo de archivado. El modo de flujo de bits del archivo cortado es igual al del formato de modo de archivado. La figura 2 representa un archivo cortado producido a partir del formato de archivo
10 de modo de archivado mostrado en la figura 1. El corte puede usarse, por ejemplo, para obtener una vista previa corta del archivo completo. En lugar de decodificar y volver a codificar la sección deseada, las tramas requeridas simplemente se cortan a partir del archivo de entrada y se inserta una nueva cabecera delante de estas tramas de datos cortadas.
El problema con el corte es que para la decodificación de la primera trama de las tramas de datos cortadas, faltan
15 los datos de las tramas previas requeridas en caso de que la vista previa o la sección cortada, respectivamente, no empiece al comienzo del flujo de bits completo. Por tanto, el archivo cortado evalúa el campo de datos “SilenciarSiPrimeraSuperTrama” de la cabecera de flujo de bits que indica que el procesamiento de las primeras tramas simplemente inicializa los estados de decodificador y que las muestra decodificadas de estas tramas deben silenciarse. El número de tramas que deben silenciarse se indica en la cabecera de flujo de bits en el campo
20 “TramasSilenciadas”, y el número de muestras “MuestrasSilenciadas” que deben silenciarse se indica en la cabecera para permitir el corte exacto por muestra en lugar de un mero corte exacto por trama.
El siguiente ejemplo explica en más detalle cómo crear un archivo cortado a partir de un archivo de archivado:
Valores dados
L: Número de muestras decodificadas por trama OFLorig: Longitud total del archivo de entrada en muestras por canal Xinicio: Número de la primera muestra del archivo de archivado que debe decodificarse para el archivo
cortado Xfin: Número de la última muestra del archivo de archivado que debe decodificarse para el archivo cortado
Valores que deben determinarse
OFLcortado: Longitud total del archivo cortado en muestras por canal Tramaválida: Primera trama que puede decodificarse con estados de decodificador conocidos Tramainicio: Primera trama decodificada del archivo cortado Tramafin: Última trama decodificada del archivo cortado kmapeo: Número de tramas requeridas para la inicialización del estatus de mapeo, es decir el
número de tramas requeridas para recuperar los estados de decodificador de Tramaválida kmp3: Número de tramas mp3 inválidas Obtener número de tramas previas requeridas Tramaválida = piso (Xinicio/L) Obtener kmapeo (que es el número de tramas previas requeridas para una decodificación válida del número de trama Tramaválida, número que se conoce pero puede variar de una trama a otra) y leer el Main_Data_Begin_Pointer del número de trama (mp3) Tramaválida. Ajustar kmp3 igual al número de tramas que deben añadirse para obtener un Main_Data_Begin_Pointer válido. Por ejemplo, si el Main_Data_Begin_Pointer apunta a la trama previa de Tramaválida, ajustar kmp3 a “1”.
Calcular valores de cabecera
TramasSilenciadas = kmp3 + kmapeo OFLcortado = Xfin - Xinicio +1 + L*TramasSilenciadas Tramainicio = max (0, Tramaválida - TramasSilenciadas) Tramafin = min (techo (OFLorig/L), techo (Xfin/L)) -1 MuestrasSilenciadas = Xinicio - L*Tramainicio donde “piso” redondea un número decimal especificado al entero más próximo hacia infinito negativo, y “techo”
devuelve un valor que representa el entero más pequeño que es mayor igual que el argumento de la función techo
Establecer la cabecera correspondiente
Campo de datos
Valor
OFL
OFLcortado
ModoArchivo
0
SilenciarSiPrimeraSupertrama
1
TramasSilenciadas
TramasSilenciadas
MuestrasSilenciadas
MuestrasSilenciadas
Crear el archivo cortado
Copiar la cabecera seguida de las tramas desde Tramainicio hasta Tramafin
Para la identificación de un archivo de modo de archivado cortado, “ModoArchivo” se ajusta a “0” y “SilenciarSiPrimeraSuperTrama” se ajusta a “1”. Estas propiedades indicarán al decodificador que los estados de decodificador deben inicializarse usando el primer parámetro de tramas “TramasSilenciadas”, y que las muestras
5 decodificadas de estas tramas son inválidas.
Tienen que averiguarse varios valores dependientes de trama para realizar un corte del archivo de flujo de bits de archivado. Sin embargo, la primera etapa es encontrar la trama “Tramaválida” en la que está almacenada la primera muestra del archivo cortado. Para el cálculo de esa primera trama, pueden introducirse retardos correspondientes en el procesamiento de códec de núcleo que, para una mejor compresión, no se consideran en el ejemplo. A
10 continuación debe obtenerse el número de tramas previas requeridas para recuperar los estados de decodificador. Por tanto, el archivo cortado debe empezar con la trama que contiene los datos de la primera trama implicada en la recuperación de estados del decodificador de “Tramaválida”.
El número obtenido de tramas previas se escribe en el campo “TramasSilenciadas” de la cabecera de flujo de bits, de manera que el decodificador sabe que estas tramas sólo deben usarse para la inicialización de los estados de
15 decodificador y no para decodificar muestras.
Para permitir un corte exacto por muestra, también puede indicarse un número adicional de “muestras por canal que deben silenciarse” (“MuestrasSilenciadas”) en la cabecera. Estas muestras se decodificarán correctamente por el decodificador pero no se presentarán al usuario. Por tanto, la señal presentada decodificada puede empezar con una muestra ubicada en cualquier parte dentro de la trama, en lugar de empezar al comienzo de la trama.
20 En cada caso, “OFL” es el número de muestras por canal que pueden decodificarse con estados de decodificador conocidos. Esto se explica en más detalle en la siguiente sección de modo de flujo de bits de flujo continuo. Por tanto, las muestras de las tramas de inicialización deben añadirse al número real de muestras del archivo cortado. El decodificador sustraerá automáticamente estas muestras adicionales del valor de “OFL” en el proceso del decodificador. Detalles adicionales se describen en la sección de procesamiento de decodificación.
25 Modo de flujo continuo
Usando elementos de información de la cabecera de flujo de bits representada en la tabla 1, el modo de flujo de bits de archivado puede transformarse en el lado de decodificación en un modo de flujo de bits de flujo continuo. El “modo de flujo continuo” significa que las tramas del flujo de bits de archivado están separadas en paquetes sucesivos, por lo que cada uno de estos paquetes se denomina “supertrama” (SF) y tiene la misma estructura que un flujo de bits de archivado. Una supertrama empieza con la correspondiente cabecera de sección de flujo de bits (es decir, una cabecera de supertrama) seguida de tramas de datos.
Es decir, en comparación con el modo de archivado, en el modo de flujo continuo, supertramas que tienen, cada una, una cabecera se disponen de manera repetida en el flujo de bits. Un ejemplo de un flujo de bits de modo de flujo continuo de este tipo se representa en la figura 3.
El campo de datos “ModoArchivo” de la cabecera de flujo de bits de cada supertrama lleva el valor “1” que indica el modo de flujo continuo, en el que el decodificador debe decodificar varias supertramas sucesivas con el fin de reconstruir todas las muestras del archivo codificado. La primera supertrama de un flujo de modo de flujo continuo es, básicamente, idéntica al comienzo de un archivo de modo de archivado, pero en la cabecera del flujo de bits los campos de datos “ModoArchivo” y “OFL” llevan valores diferentes a los de la cabecera de modo de archivado. Cuando el decodificador empieza a decodificar la primera supertrama, se usan los estados de decodificador por defecto y la primera trama puede decodificarse directamente sin requerir elementos de información adicionales.
Sin embargo, un flujo de bits de modo de flujo continuo puede reproducirse o decodificarse empezando en cada una de sus supertramas. Pero en ese caso, faltan los datos requeridos de tramas previas para inicializar los estados de decodificador. Por tanto todas las supertramas de un flujo salvo la primera supertrama deben indicar en el campo de datos “SilenciarSiPrimeraSuperTrama” que su primer número de tramas “TramasSilenciadas” deben usarse sólo para la recuperación de estado del decodificador.
En modo de flujo continuo debe distinguirse la fase de inicialización de decodificación, en la que los estados de decodificación se desconocen, de la fase de decodificación, en la que los estados de decodificación se conocen a partir de supertramas previamente decodificadas. El correspondiente tipo de fase se obtiene al comienzo de cada supertrama usando la información de cabecera de la supertrama. Las propiedades de cabecera para ambas fases se muestran a continuación.
Fase de inicialización de decodificación
ModoArchivo = 1
SilenciarSiPrimeraSuperTrama = 0
Y la decodificación empieza al comienzo de un nuevo flujo de bits coherente en modo de flujo continuo.
Se usan los estados de decodificador por defecto y la decodificación de las muestras puede empezar directamente en la primera trama de la supertrama.
ModoArchivo = 1
SilenciarSiPrimeraSuperTrama = 1
Y es la primera supertrama que debe decodificarse tras la inicialización o puesta a cero de un decodificador.
Se usan las primeras tramas “TramasSilenciadas” de la supertrama actual para inicializar los estados de decodificador, y la decodificación de muestras puede empezar en el número de trama (“TramasSilenciadas”+1).
ModoArchivo = 1
SilenciarSiPrimeraSuperTrama = 1
Y no es la primera supertrama decodificada y la comprobación de consistencia de las supertramas previa y la actual ha fallado.
Para la comprobación de consistencia se usa el campo de datos “SumaComprobaciónFlujoContinuo” de la cabecera. Su valor se obtiene a partir de los datos de la supertrama previa y se escribe en el campo de datos “SumaComprobaciónFlujoContinuo” de la siguiente supertrama, de modo que puedan identificarse supertramas sucesivas. Por ejemplo, puede usarse una suma de comprobación de redundancia cíclica (CRC) o un valor hash de tramas, por ejemplo la última trama, de la supertrama previa. El decodificador calcula la CRC de la supertrama previa y la compara con el valor almacenado en la cabecera de la supertrama actual. Si esta comparación falla, los estados de decodificador actuales no son válidos para la decodificación de la siguiente supertrama. Por tanto, los estados de decodificador deben reinicializarse usando el primer número de tramas “TramasSilenciadas” de la siguiente supertrama. La decodificación de muestra empieza en el número de trama (“TramasSilenciadas”+1).
El campo de datos “SumaComprobaciónFlujoContinuo” no se usa en la primera supertrama de un flujo de bits de modo de flujo continuo coherente porque las tramas previas no se requieren y por tanto la comprobación de consistencia es superflua.
Fase de decodificación
ModoArchivo = 1
SilenciarSiPrimeraSuperTrama = 1
Y una supertrama se decodificó antes y la comprobación de consistencia es válida.
5 Por tanto, el estatus del decodificador de la supertrama previamente decodificada puede usarse para decodificar las tramas de la siguiente supertrama.
Un procesamiento de flujo continuo típico empieza con una fase de inicialización seguida de varias fases de decodificación. En la fase de decodificación no se usa la información “TramasSilenciadas” porque los estados de decodificador están inicializados correctamente mediante datos correspondientes de la supertrama previa, y los
10 datos a los que apunta el “Main_Data_Begin_Pointer” están disponibles en la supertrama previa. El decodificador sólo volverá a la fase de inicialización si empieza un nuevo flujo de bits coherente (SilenciarSiPrimeraSuperTrama =0) o la “SumaComprobaciónFlujoContinuo” es incorrecta. En ambos casos, los estados de decodificador se vuelven inválidos y deben reinicializarse.
El siguiente ejemplo muestra cómo crear un flujo de bits de modo de flujo continuo a partir de un flujo de bits de 15 modo de archivado ya existente:
Valores dados
L: Número de muestras decodificadas por trama OFLorig: Longitud total del archivo de entrada en muestras por canal
M: Número de supertramas con M i techo (OFLorig/L)
Valores que deben determinarse
NumTramas: Número total de tramas Mmedia: Número promedio de tramas por supertrama Tramasinicio: Primera trama de una supertrama Tramasfin: Última trama de una supertrama TramasSilenciadasSF: Número de tramas para la inicialización de los estados de decodificador de la supertrama SumaComprobación FlujoContinuoSF: Valor para la comprobación de consistencia de la supertrama
m: Número de supertramas actualmente escritas con 0 i m < M
Calcular número total de tramas
NumTramas = techo(OFLorig/L), donde “techo” devuelve un valor que representa el entero más pequeño que es mayor igual que el argumento de la función techo.
Calcular número de tramas por supertrama
Mmedia = techo (OFLorig/ (M*L))
Crear primera supertrama (m=0)
Establecer la cabecera correspondiente:
Campo de datos Valor
OFL
Mmedia*L
ModoArchivo 1 SilenciarSiPrimeraSuperTrama
Copiar número de tramas “0” a (Mmedia-1)
Crear siguientes supertramas (1Sm<M)
Calcular “SumaComprobaciónFlujoContinuo”: calcular la suma de comprobación de redundancia cíclica de una parte definida de la supertrama previa y almacenar el resultado en el campo de datos “SumaComprobaciónFlujoContinuoSF”.
Obtener “TramasSilenciadas”: encontrar todas las tramas con un Main_Data_Begin_Pointer inválido que apunta a datos no ubicados en la supertrama actual y sumar el número de tramas para recuperar los estados de decodificador. Ajustar “TramasSilenciadasSF” al resultado de esta suma.
Establecer la cabecera correspondiente:
Campo de datos
Valor
OFL
min((Mmedia*L), (OFLorig – m*L*Mmedia))
ModoArchivo
1
SilenciarSiPrimeraSuperTrama
1
TramasSilenciadas
TramasSilenciadasSF
MuestrasSilenciadas
0
SumaComprobaciónFlujoContinuo
SumaComprobaciónFlujoContinuoSF
Copiar número de tramas (m*Mmedia) a min (((m+1)*Mmedia)-1, NumTramas-1), donde la función min se requiere para la última supertrama porque la última supertrama podría llevar un número diferente de tramas y muestras.
Procesamiento de decodificación para el archivo o flujo de bits
El diagrama de flujo del procesamiento de decodificación de la figura 5 describe el proceso de decodificación para archivos de modo de archivado y para flujos de bits de modo de flujo continuo. Al comienzo del proceso de
5 decodificación, los estados de decodificador se ajustan a sus valores por defecto (por ejemplo, una memoria intermedia de mapeo se ajusta a cero y valores previamente decodificados se ajustan a cero). En la etapa/fase 1 el archivo o flujo de bits de entrada está disponible para leer los datos requeridos. La etapa/fase 2 encuentra y lee la primera cabecera del archivo o flujo de bits, es decir los elementos de información de cabecera de la tabla 1 se ajustan, almacenan o cargan. La etapa/fase 3 ajusta la variable “MuestrasASilenciar” a su valor cero por defecto.
10 En la etapa/fase 4 el campo de datos “SilenciarSiPrimeraSuperTrama” del archivo o cabecera de flujo de bits se comprueba para decidir si los estados de decodificador se conocen (SilenciarSiPrimeraSuperTrama = 0), o los estados de decodificador deben reinicializarse y debe ignorarse varias muestras. El número de muestras ignoradas (silenciadas) se calcula en la etapa/fase 5 como MuestrasASilenciar = TramasSilenciadas*L + MuestrasSilenciadas a partir del número de tramas “TramasSilenciadas” que deben silenciarse y el número de muestras
15 “MuestrasSilenciadas” que deben silenciarse recibidos desde el archivo o cabecera de flujo de bits. “L” es el número de muestras que se decodifican a partir de una trama, que es una constante de decodificador conocida. La etapa/fase 6 decodifica todas las tramas recibidas lo que incluye también las primeras tramas “TramasSilenciadas”. Por tanto, “OFL” muestras decodificas se pasan a la siguiente etapa/fase. Aunque las primeras muestras “MuestrasASilenciar” son inválidas, se usan para inicializar los estados de decodificador. Por tanto, la siguiente
20 etapa/fase 7 elimina las muestras “MuestrasASilenciar” inválidas y devuelve sólo las muestras restantes a la etapa/fase 8. El número de muestras restantes es la diferencia entre el valor “MuestrasASilenciar” y el número total OFL de muestras decodificadas. En caso de que “MuestrasASilenciar” sea mayor que OFL, se devuelven cero muestras a la etapa/fase 8. Esto puede suceder en el modo de flujo continuo si el número de tramas por supertrama es menor que el número de tramas que deben silenciarse.
Por tanto, el retardo restante debe transferirse a la siguiente supertrama. Una correspondiente variable SiguienteSFSilenciada = MuestrasASilenciar - OFL se calcula en la etapa/fase 9 con el fin de almacenar el número de muestras que deben silenciarse en la siguiente supertrama.
En la etapa/fase 10 el procesamiento de decodificación termina 11 para un archivo o flujo de bits de modo de archivado o un flujo de bits de archivo cortado porque todas las OFL muestras del archivo se han decodificado.
Por tanto, la etapa/fase 10 comprueba el “ModoArchivo” y avanza a la etapa FIN 11 para detener el proceso de decodificación de modo de archivado. De lo contrario, la decodificación del flujo de bits de modo de flujo continuo debe continuar.
Por tanto, la “SumaComprobaciónFlujoContinuo”, por ejemplo una CRC, se calcula a partir de los datos de trama de la trama actualmente decodificada en la etapa/fase 12. El procesamiento y los datos usados para el cálculo de “SumaComprobaciónFlujoContinuo” deben producir resultados idénticos en el codificador y el decodificador. Además, la “SumaComprobaciónFlujoContinuo” debe representar una clara identificación de la trama actual porque se usa para verificar la consistencia de los estados de decodificador de la siguiente supertrama. Por tanto, los datos usados deben diversificarse de una supertrama a otra y representan los datos codificados de la supertrama.
Tras cambiar a la siguiente supertrama, la etapa/fase 13 busca y lee la cabecera de la siguiente supertrama. Esta etapa/fase reinicializa todas las variables de cabecera de flujo de bits de modo que se pierde la antigua información de cabecera. Tras alcanzar el fin del archivo, o en caso de que no se encuentre ninguna cabecera de flujo de bits válida, el decodificador avanzará a la etapa 11 y detendrá la decodificación.
De lo contrario debe comprobarse para decodificar la siguiente supertrama si los estados de decodificador actuales son válidos.
Un archivo de flujo de bits de modo de flujo continuo puede consistir en dos o más flujos de bits coherentes sucesivos. Por tanto, debe comprobarse si la siguiente supertrama es la primera supertrama de un nuevo flujo de bits coherente, porque en tal caso los estados de decodificador actuales pertenecen a un flujo de bits diferente y deben ponerse a cero en los valores por defecto. La primera supertrama de un flujo de bits coherente tiene un valor “SilenciarSiPrimeraSuperTrama” de cero. Por tanto, el valor “SilenciarSiPrimeraSuperTrama” se invierte en la etapa/fase 14 y se asigna a la variable “PrimeraSuperTrama”, es decir PrimeraSuperTrama = NO(SilenciarSiPrimeraSuperTrama).
La etapa/fase 15 comprueba en la variable “PrimeraSuperTrama” si está empezando un nuevo flujo de bits coherente. Si es así, la etapa/fase 17 pone a cero los estados de decodificador y empieza a decodificar la siguiente supertrama en la etapa/fase 3. Esto es idéntico a empezar a decodificar un nuevo archivo, y también es idéntico a la fase 1 de inicialización de decodificador de la sección de modo de flujo continuo en esta descripción. De lo contrario, la siguiente supertrama pertenece al mismo flujo de bits coherente y el procesamiento continúa en la etapa/fase 16.
En este caso, el valor “SumaComprobaciónFlujoContinuo” de la cabecera de flujo de bits de supertrama actual se compara con el valor “SumaComprobaciónFlujoContinuo” calculado a partir de los datos de la supertrama previa en la etapa/fase 12, es decir ¿es CRC == CRCFlujoContinuo?
Esto es necesario porque podría faltar una supertrama del actual flujo de bits coherente, o estar empezando un nuevo flujo de bits coherente pero no en su primera supertrama.
En caso de que la comprobación de consistencia de la etapa/fase 16 falle, la etapa/fase 17 se usa para poner a cero los estados de decodificador y decodificar así la siguiente supertrama en la etapa/fase 3. Por tanto, el procesamiento está en la fase 3 de inicialización de decodificador de la sección de modo de flujo continuo en esta descripción y la decodificación empieza con estados de decodificador por defecto, lo que lleva a la fase 2 de inicialización de decodificador en la etapa/fase 4.
De lo contrario, los estados de decodificador actuales son válidos para la decodificación de la supertrama actual y el actual procesamiento está en la fase 1 de decodificación de la sección de modo de flujo continuo en esta descripción. Por consiguiente, el valor “TramasSilenciadas” de la cabecera de flujo de bits actual no tiene que evaluarse. Esto se garantiza por la etapa/fase 18 que ajusta la variable “SilenciarSiPrimeraSuperTrama” a cero. Por tanto la etapa/fase 4 no llevará a la etapa/fase 8 y el valor “TramasSilenciadas” de la supertrama actual no se usará.
La decisión de la etapa/fase 19 se realiza para transferir un retardo restante de la supertrama previa a la supertrama actual. Si “SiguienteSFSilenciada” > 0, el número de muestras que deben silenciarse de la supertrama previa era mayor que el valor “OFL” de la supertrama previa. Por consiguiente, el número de muestras “MuestrasASilenciar” que deben silenciarse de la supertrama actual es igual al número de muestras “SiguienteSFSilenciada” restantes que deben silenciarse de la supertrama previa. Por tanto la etapa/fase 20 ajusta MuestrasASilenciar = SiguienteSFSilenciada. Por consiguiente, la decodificación de la supertrama actual debe empezar en la etapa/fase 4 con el fin de omitir la reinicialización de “MuestrasASilenciar” en la etapa/fase 3.
Si en la etapa/fase 19 el parámetro SiguienteSFSilenciada i 0, no hay muestras restantes que deben silenciarse y los estados de decodificador son correctos y la decodificación de la supertrama actual puede empezar directamente con la primera trama. El número de muestras que deben silenciarse se ajusta a cero en la etapa/fase 3.
En el modo de flujo continuo la decodificación de supertramas sucesivas se repite hasta que la etapa/fase 13 ya no encuentra ninguna cabecera de flujo de bits, y el procesamiento de decodificación se detiene en la etapa 11.
Por tanto, la invención facilita el procesamiento de un formato de flujo de bits basado en tramas en flujo de bits de modo de archivado o flujo de bits de modo de flujo continuo, y permite un corte exacto por muestra del flujo de bits de modo de archivado, incluso si la decodificación de una trama requiera información de tramas previas. Tal como se mencionó anteriormente, el procesamiento de decodificación de la invención se usa en una implementación de decodificador hd3 y se ha probado satisfactoriamente.
Un archivo HD3 en su formato más simple tiene tres secciones de datos obligatorias mostradas en la figura 6, y hasta cuatro secciones de datos opcionales. La sección de datos hd3ID obligatoria proporciona modo de archivo, longitud e información de CRC. Esta sección hd3ID se encapsula en una sección de datos auxiliar (silenciar PCM) de una trama mp3. Tal sección de datos auxiliar de una trama mp3 también puede contener una cabecera de tasa de transmisión de bits variable compatible con Xing o VBRi delante de la información hd3ID.
La sección de datos mp3 obligatoria encapsula el flujo de datos mp3 o partes del mismo. Las palabras de sincronización del flujo mp3 pueden cifrarse.
La sección de datos cd obligatoria proporciona la extensión sin pérdidas para los datos mp3 para reconstruir una copia matemáticamente sin pérdidas de la música original con uno o dos canales de audio con una resolución temporal correspondiente a 32 kHz, 44,1 kHz ó 48 kHz y una resolución de amplitud de 16 bits/muestra. Puede usarse un esquema de desincronización que evite que aparezcan cabeceras de sinc. mp3.
Una sección de datos hd opcional (no representada) permite una reconstrucción sin pérdidas de formatos de estudio de alta definición con hasta 24 bits/muestra y tasas de muestreo de 192 kHz.
La sección de datos ID3/ID3v2 opcional almacena metadatos relativos a la música codificada mediante reconstrucción sin pérdidas y codificada mediante mp3 incrustado. También puede haber una etiqueta ID3v1 opcional en cada extremo del archivo HD3 (no representado).
La invención también puede usarse para otros códecs o flujos de bits tales como AAC, y en mp3 cuando los datos adicionales (por ejemplo, las cabeceras) se disponen en campos de datos mp3 auxiliares, que un correspondiente decodificador mp3 puede evaluar.

Claims (9)

  1. REIVINDICACIONES
    1. Método para generar un archivo de formato de flujo de bits de audio basado en tramas que incluye al menos una sección de cabecera de flujo de bits (Cabecera), incluyendo dichas tramas datos de señal codificados, en el que los datos requeridos para una decodificación o una evaluación de los datos de una trama actual (Trama0, Traman) pueden estar contenidos en una o más tramas previas (Traman-5, Traman-4), caracterizado por disponer en dicha cabecera elementos de información que representan:
    -
    número total de muestras por canal (OFL) para dicho archivo;
    -
    un “modo de archivado” o un “modo de flujo continuo” (ModoArchivo) para dicho archivo;
    -
    si una decodificación de dichos datos de señal codificados puede empezar o no en la primera trama de dicho archivo (SilenciarSiPrimeraSuperTrama);
    -
    si una decodificación de dichos datos de señal codificados no debe empezar en dicha primera trama de dicho archivo, se inicializa el número de tramas iniciales que deben silenciarse (TramasSilenciadas) mientras se decodifican estados, y opcionalmente, para una característica de corte exacto por muestra, el número de muestras que deben silenciarse (MuestrasSilenciadas) en la trama correspondiente;
    -
    en dicho modo de flujo continuo, un valor (SumaComprobaciónFlujoContinuo) para identificar una supertrama previa para una comprobación de consistencia,
    en el que, en dicho modo de archivado, dicho archivo incluye una única sección de cabecera de flujo de bits (Cabecera) y sucesivas dichas tramas (Trama0, Trama1, ..., Traman), y una decodificación de dichos datos de señal codificados debe empezar con la primera (Trama0) de dichas tramas,
    y en el que, en dicho modo de flujo continuo, dicho flujo de bits contiene más de una supertrama, empezando cada una de dichas supertramas con una única sección de cabecera de flujo de bits (Cabecera) seguida por varias de dichas tramas, y una decodificación de dichos datos de señal codificados puede inicializarse en cada una de dichas supertramas,
    y en el que dicho elemento de información relativo al número de tramas iniciales que deben silenciarse (TramasSilenciadas) señaliza cuántas tramas iniciales en una supertrama actual se requieren para establecer datos para inicializar estados de una decodificación de dichos datos de señal antes de empezar realmente a decodificar datos de señal codificados a partir de las siguientes trama o tramas de dicha supertrama actual, no usándose tales tramas iniciales para decodificar los datos de señal codificados contenidos en las mismas.
  2. 2. Estructura de datos para un archivo de formato de flujo de bits de audio basado en tramas que incluye al menos una sección de cabecera de flujo de bits (Cabecera), incluyendo dichas tramas datos de señal codificados, en la que los datos requeridos para una decodificación o una evaluación de datos de una trama actual (Trama0, Traman) pueden estar contenidos en una o más tramas previas (Traman-5, Traman-4), caracterizada por tener en dicha cabecera elementos de información que representan:
    -
    número total de muestras por canal (OFL) para dicho archivo;
    -
    un “modo de archivado” o un “modo de flujo continuo” (ModoArchivo) para dicho archivo;
    -
    si una decodificación de dichos datos de señal codificados puede empezar o no en la primera trama de dicho archivo (SilenciarSiPrimeraSuperTrama);
    -
    si una decodificación de dichos datos de señal codificados no debe empezar en dicha primera trama de dicho archivo, se inicializa el número de tramas iniciales que deben silenciarse (TramasSilenciadas) mientras se decodifican estados, y opcionalmente, para una característica de corte exacto por muestra, el número de muestras que deben silenciarse (MuestrasSilenciadas) en la trama correspondiente;
    -
    en dicho modo de flujo continuo, un valor (SumaComprobaciónFlujoContinuo) para identificar una supertrama previa para una comprobación de consistencia,
    en la que, en dicho modo de archivado, dicho archivo incluye una única sección de cabecera de flujo de bits (Cabecera) y sucesivas dichas tramas (Trama0, Trama1, ..., Traman), y una decodificación de dichos datos de señal codificados debe empezar con la primera (Trama0) de dichas tramas,
    y en la que, en dicho modo de flujo continuo, dicho flujo de bits contiene más de una supertrama, empezando cada una de dichas supertramas con una única sección de cabecera de flujo de bits (Cabecera) seguida de varias de dichas tramas, y una decodificación de dichos datos de señal codificados puede inicializarse en cada una de dichas supertramas,
    y en la que dicho elemento de información relativo al número de tramas iniciales que deben silenciarse (TramasSilenciadas) señaliza cuántas tramas iniciales en una supertrama actual se requieren para establecer datos para inicializar estados de una decodificación de dichos datos de señal antes de empezar realmente a decodificar datos de señal codificados a partir de las siguientes trama o tramas de dicha supertrama actual, no usándose tales tramas iniciales para decodificar los datos de señal codificados contenidos en las mismas.
  3. 3. Método para cambiar un formato de archivo de flujo de bits de audio basado en tramas, incluyendo dicho flujo de bits una sección de cabecera (Cabecera), incluyendo dichas tramas datos de señal codificados, en el que los datos requeridos para una decodificación o una evaluación de datos de una trama actual (Trama0, Traman) pueden estar contenidos en una o más tramas previas (Traman-5, Traman-4), y en el que dicha cabecera incluye elementos de información que representan:
    -
    número total de muestras por canal (OFL) para dicho archivo;
    -
    un “modo de archivado” (ModoArchivo) para dicho archivo;
    -
    una decodificación de dichos datos de señal codificados debe empezar en la primera trama de dicho archivo (SilenciarSiPrimeraSuperTrama),
    en el que, en dicho modo de archivado, dicho archivo incluye una única sección de cabecera de flujo de bits (Cabecera) y sucesivas dichas tramas (Trama0, Trama1, ..., Traman), incluyendo dicho método la etapa de generar a partir de dicho archivo de modo de archivado un flujo de bits de “modo de flujo continuo” formando a partir de cada grupo sucesivo de tramas de dicho archivo de modo de archivado una supertrama de dicho flujo de bits de modo de flujo continuo tomando los datos de trama requeridos de dicho archivo de modo de archivado y disponiendo una cabecera de supertrama al comienzo de cada supertrama, en el que estas cabeceras de supertrama se derivan de dicha cabecera y, en la primera de dichas cabeceras de supertrama:
    -
    dicho número total de muestras por canal (OFL) para dicho archivo se sustituye por un primer número de muestras adaptado por canal;
    -
    se proporciona un elemento de información para “modo de flujo continuo” en lugar de “modo de archivado”;
    -
    se mantiene dicho elemento de información (SilenciarSiPrimeraSuperTrama) relativo a que la decodificación de dichos datos de señal codificados debe empezar en la primera trama de dicho archivo,
    y en las siguientes de dichas cabeceras de supertrama:
    -
    dicho número total de muestras por canal (OFL) para dicho archivo se sustituye por un segundo número de muestras adaptado por canal;
    -
    dicho elemento de información para “modo de archivado” (ModoArchivo) se sustituye por un elemento de información para “modo de flujo continuo”;
    -
    dicho elemento de información (SilenciarSiPrimeraSuperTrama) relativo a que la decodificación de dichos datos de señal codificados debe empezar en la primera trama de dicho archivo se sustituye por un elemento de información relativo a que la decodificación de dichos datos de señal codificados no debe empezar en dicha primera trama;
    -
    se añade un elemento de información relativo a que se inicializa el número de tramas iniciales que deben silenciarse (TramasSilenciadas) mientras se decodifican estados;
    - opcionalmente, se añade un elemento de información (MuestrasSilenciadas) relativo al número de muestras que deben silenciarse en la trama en la que debe comenzar la decodificación de dichos datos de señal codificados, siendo el número “0”;
    -
    se añade un elemento de información (SumaComprobaciónFlujoContinuo) relativo a datos de comprobación de consistencia, cuyo valor se deriva de los datos de la supertrama previa.
  4. 4. Aparato para cambiar un formato de archivo de flujo de bits de audio basado en tramas, incluyendo dicho flujo de bits una sección de cabecera (Cabecera), incluyendo dichas tramas datos de señal codificados, en el que los datos requeridos para una decodificación o una evaluación de datos de una trama actual (Trama0, Traman) pueden estar contenidos en una o más tramas previas (Traman-5, Traman-4), y en el que dicha cabecera incluye elementos de información que representan:
    -
    número total de muestras por canal (OFL) para dicho archivo;
    -
    un “modo de archivado” (ModoArchivo) para dicho archivo;
    -
    una decodificación de dichos datos de señal codificados debe empezar en la primera trama de dicho archivo (SilenciarSiPrimeraSuperTrama),
    en el que, en dicho modo de archivado, dicho archivo incluye una única sección de cabecera de flujo de bits (Cabecera) y sucesivas dichas tramas (Trama0, Trama1, ..., Traman), incluyendo dicho aparato medios que están adaptados para generar a partir de dicho archivo de modo de archivado un flujo de bits de “modo de flujo continuo” formando a partir de cada grupo sucesivo de tramas de dicho archivo de modo de archivado una supertrama de dicho flujo de bits de modo de flujo continuo tomando los datos de trama requeridos de dicho archivo de modo de archivado y disponiendo una cabecera de supertrama al comienzo de cada supertrama, en el que estas cabeceras de supertrama se derivan de dicha cabecera y, en la primera de dichas cabeceras de supertrama:
    -
    dicho número total de muestras por canal (OFL) para dicho archivo se sustituye por un primer número de muestras adaptado por canal;
    -
    se proporciona un elemento de información para “modo de flujo continuo” en lugar de “modo de archivado”;
    -
    se mantiene dicho elemento de información (SilenciarSiPrimeraSuperTrama) relativo a que la decodificación de dichos datos de señal codificados debe empezar en la primera trama de dicho archivo,
    y en las siguientes de dichas cabeceras de supertrama:
    -
    dicho número total de muestras por canal (OFL) para dicho archivo se sustituye por un segundo número de muestras adaptado por canal;
    -
    dicho elemento de información para “modo de archivado” (ModoArchivo) se sustituye por un elemento de información para “modo de flujo continuo”;
    -
    dicho elemento de información (SilenciarSiPrimeraSuperTrama) relativo a que la decodificación de dichos datos de señal codificados debe empezar en la primera trama de dicho archivo se sustituye por un elemento de información relativo a que la decodificación de dichos datos de señal codificados no debe empezar en dicha primera trama;
    -
    se añade un elemento de información relativo a que se inicializa el número de tramas iniciales que deben silenciarse (TramasSilenciadas) mientras se decodifican estados;
    - opcionalmente, se añade un elemento de información (MuestrasSilenciadas) relativo al número de muestras que deben silenciarse en la trama en la que debe comenzar la decodificación de dichos datos de señal codificados, siendo el número “0”;
    -
    se añade un elemento de información (SumaComprobaciónFlujoContinuo) relativo a datos de comprobación de consistencia, cuyo valor se deriva de los datos de la supertrama previa.
  5. 5.
    Método según la reivindicación 3, o aparato según la reivindicación 4, en el que dicho primer número de muestras adaptado por canal es OFL = Mmedia*L, donde L es el número de muestras decodificadas por trama, OFLorig es la longitud total de dicho archivo en muestras por canal, M es el número de supertramas con M i techo(OFLorig/L), y Mmedia = techo(OFLorig/(M*L)).
  6. 6.
    Método según la reivindicación 5, o aparato según la reivindicación 5, en el que “m” es el número de una supertrama actual y dicho segundo número de muestras adaptado por canal es OFL = min((Mmedia*L), (OFLorig -m*L*Mmedia)).
  7. 7.
    Método según la reivindicación 6, o aparato según la reivindicación 6, en el que dicho elemento de información (SumaComprobaciónFlujoContinuo) relativo a datos de comprobación de consistencia es la suma de comprobación de redundancia cíclica de una sección predefinida de la supertrama previa.
  8. 8.
    Método según la reivindicación 6, o aparato según la reivindicación 6, en el que dicho elemento de información (SumaComprobaciónFlujoContinuo) relativo a datos de comprobación de consistencia es el valor hash de tramas, por ejemplo la última trama, de la supertrama previa.
  9. 9.
    Uso del método según una de las reivindicaciones 3, 5 y 6 para decodificar dicho flujo de bits de modo de flujo continuo, que incluye además las etapas de:
    -
    cuando se empieza a decodificar dicho flujo de bits de modo de flujo continuo en dicha primera supertrama, la decodificación de los datos de señal codificados empieza en la primera trama de esa supertrama usando estados de decodificador por defecto;
    -
    cuando no se empieza a decodificar dicho flujo de bits de modo de flujo continuo en dicha primera supertrama, tras una inicialización o puesta a cero de la decodificación, se usa un número de tramas “TramasSilenciadas” correspondiente a dicho elemento de información relativo al número de tramas iniciales que deben silenciarse (TramasSilenciadas) para inicializar los estados de decodificación, y la decodificación de datos de señal codificados empieza en el número de trama TramasSilenciadas+1 de la supertrama actual usando estos estados de decodificación;
    -
    cuando no se empieza a decodificar dicho flujo de bits de modo de flujo continuo en dicha primera supertrama, y los datos de comprobación de consistencia que se calcularon a partir de los datos de la supertrama previa no son consistentes con correspondientes datos de comprobación de consistencia calculados a partir de la supertrama actual, usar un número de tramas “TramasSilenciadas” de la siguiente supertrama para reinicializar los estados de
    5 decodificación empezando la decodificación de datos de señal codificados en la trama número “TramasSilenciadas”+1 de esa siguiente supertrama usando estos estados de decodificación;
    -
    cuando no se empieza a decodificar dicho flujo de bits de modo de flujo continuo en dicha primera supertrama, y una supertrama se decodificó antes y dichos datos de comprobación de consistencia son válidos, usar los estados de decodificador de la supertrama previamente decodificada para decodificar los datos de señal codificados de las
    10 tramas de la supertrama actual.
ES09757381T 2008-06-02 2009-05-11 Método y aparato para generar o cortar o cambiar un archivo de formato de flujo de bits basado en tramas que incluye al menos una sección de cabecera, y una estructura de datos correspondiente Active ES2379321T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP08157417 2008-06-02
EP08157417A EP2131590A1 (en) 2008-06-02 2008-06-02 Method and apparatus for generating or cutting or changing a frame based bit stream format file including at least one header section, and a corresponding data structure
PCT/EP2009/055663 WO2009146998A1 (en) 2008-06-02 2009-05-11 Method and apparatus for generating or cutting or changing a frame based bit stream format file including at least one header section, and a corresponding data structure

Publications (1)

Publication Number Publication Date
ES2379321T3 true ES2379321T3 (es) 2012-04-24

Family

ID=40193935

Family Applications (1)

Application Number Title Priority Date Filing Date
ES09757381T Active ES2379321T3 (es) 2008-06-02 2009-05-11 Método y aparato para generar o cortar o cambiar un archivo de formato de flujo de bits basado en tramas que incluye al menos una sección de cabecera, y una estructura de datos correspondiente

Country Status (10)

Country Link
US (1) US8731946B2 (es)
EP (2) EP2131590A1 (es)
JP (1) JP5774983B2 (es)
KR (1) KR20110026445A (es)
CN (1) CN102047336B (es)
AT (1) ATE545281T1 (es)
ES (1) ES2379321T3 (es)
PL (1) PL2289245T3 (es)
TW (1) TWI469134B (es)
WO (1) WO2009146998A1 (es)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1881485A1 (en) * 2006-07-18 2008-01-23 Deutsche Thomson-Brandt Gmbh Audio bitstream data structure arrangement of a lossy encoded signal together with lossless encoded extension data for said signal
EP2395505A1 (en) 2010-06-11 2011-12-14 Thomson Licensing Method and apparatus for searching in a layered hierarchical bit stream followed by replay, said bit stream including a base layer and at least one enhancement layer
JP5749462B2 (ja) * 2010-08-13 2015-07-15 株式会社Nttドコモ オーディオ復号装置、オーディオ復号方法、オーディオ復号プログラム、オーディオ符号化装置、オーディオ符号化方法、及び、オーディオ符号化プログラム
KR20120074059A (ko) * 2010-12-27 2012-07-05 삼성전자주식회사 오디오 데이터 출력 방법 및 장치
CN102522088B (zh) * 2011-11-25 2013-10-23 展讯通信(上海)有限公司 音频的解码方法及装置
EP2863386A1 (en) * 2013-10-18 2015-04-22 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio decoder, apparatus for generating encoded audio output data and methods permitting initializing a decoder
CA3057088C (en) * 2015-01-20 2021-04-20 Sharp Kabushiki Kaisha Service guide encapsulation
WO2017169890A1 (ja) * 2016-03-31 2017-10-05 ソニー株式会社 情報処理装置および方法
US10135899B1 (en) * 2016-12-16 2018-11-20 Amazon Technologies, Inc. Dynamic archiving of streaming content
CN109584891B (zh) * 2019-01-29 2023-04-25 乐鑫信息科技(上海)股份有限公司 嵌入式环境下的音频解码方法、装置、设备及介质

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5677918A (en) * 1995-07-28 1997-10-14 Motorola, Inc. Method and device for efficient error correction in a packet-switched communication system
GB0007870D0 (en) * 2000-03-31 2000-05-17 Koninkl Philips Electronics Nv Methods and apparatus for making and replauing digital video recordings, and recordings made by such methods
EP1215663A1 (en) * 2000-12-15 2002-06-19 BRITISH TELECOMMUNICATIONS public limited company Encoding audio signals
JP3932546B2 (ja) * 2001-01-24 2007-06-20 日本電気株式会社 Mpegビデオ編集装置及びmpegビデオ編集方法
US6707984B2 (en) * 2001-10-31 2004-03-16 Thomson Licensing S.A. Changing a playback speed for video presentation recorded in a modified film format
JP3871210B2 (ja) * 2002-09-19 2007-01-24 ソニー株式会社 変換装置および変換方法、プログラム、並びにデータ構造
CA2533056C (en) * 2003-07-21 2012-04-17 Stefan Geyersberger Audio file format conversion
US8233462B2 (en) * 2003-10-15 2012-07-31 Qualcomm Incorporated High speed media access control and direct link protocol
US8131134B2 (en) * 2004-04-14 2012-03-06 Microsoft Corporation Digital media universal elementary stream
KR100846781B1 (ko) * 2004-06-01 2008-10-27 삼성전자주식회사 고속정보채널(fic)을 이용한 dab 수신장치의 서비스디스플레이 제어방법 및 그 장치
US7672743B2 (en) * 2005-04-25 2010-03-02 Microsoft Corporation Digital audio processing
JP2006317575A (ja) * 2005-05-11 2006-11-24 Matsushita Electric Ind Co Ltd オーディオ復号装置
KR100754197B1 (ko) * 2005-12-10 2007-09-03 삼성전자주식회사 디지털 오디오 방송(dab)에서의 비디오 서비스 제공및 수신방법 및 그 장치
JP4720543B2 (ja) * 2006-03-01 2011-07-13 ソニー株式会社 データ処理装置、データ処理方法およびデータ処理プログラム、記録媒体、ならびに、再生装置、再生方法および再生プログラム
EP1855436A1 (en) * 2006-05-12 2007-11-14 Deutsche Thomson-Brandt Gmbh Method and apparatus for encrypting encoded audio signal
US20070280438A1 (en) * 2006-05-17 2007-12-06 Recording For The Blind & Dyslexic, Incorporated Method and apparatus for converting a daisy format file into a digital streaming media file
JP2008135135A (ja) * 2006-11-29 2008-06-12 Matsushita Electric Ind Co Ltd データ管理方法およびテーブル作成方法、データ管理装置、データ管理プログラムならびにこれを利用したデジタル音響機器
JP2008185769A (ja) * 2007-01-30 2008-08-14 Oki Electric Ind Co Ltd 圧縮オーディオ再生装置
US7778839B2 (en) * 2007-04-27 2010-08-17 Sony Ericsson Mobile Communications Ab Method and apparatus for processing encoded audio data

Also Published As

Publication number Publication date
JP5774983B2 (ja) 2015-09-09
WO2009146998A1 (en) 2009-12-10
US8731946B2 (en) 2014-05-20
PL2289245T3 (pl) 2012-05-31
CN102047336B (zh) 2014-05-07
TW200951941A (en) 2009-12-16
EP2289245B1 (en) 2012-02-08
KR20110026445A (ko) 2011-03-15
JP2011523090A (ja) 2011-08-04
US20110158326A1 (en) 2011-06-30
ATE545281T1 (de) 2012-02-15
CN102047336A (zh) 2011-05-04
EP2131590A1 (en) 2009-12-09
TWI469134B (zh) 2015-01-11
EP2289245A1 (en) 2011-03-02

Similar Documents

Publication Publication Date Title
ES2379321T3 (es) Método y aparato para generar o cortar o cambiar un archivo de formato de flujo de bits basado en tramas que incluye al menos una sección de cabecera, y una estructura de datos correspondiente
ES2700139T3 (es) Códec de audio multicanal sin pérdida que usa segmentación adaptativa con capacidad de punto de acceso aleatorio (RAP)
US7769477B2 (en) Audio file format conversion
ES2644370T3 (es) Decodificador de audio, aparato para generar datos de salida de audio codificados y procedimientos que permiten inicializar un decodificador
ES2881076T3 (es) Aparato y método para la codificación eficiente de metadatos de objetos
ES2363932T3 (es) Codec audio sin pérdida escalable y herramienta de autoría.
BRPI0716308B1 (pt) “dispositivo e método para pós-processamento de valores espectrais e codificador e decodificador de sinais de áudio&#34;
BRPI0910796B1 (pt) Codificador de áudio e decodificador de áudio
CZ20003235A3 (cs) Zařízení a způsob pro kódování digitálního informačního signálu, zařízení pro dekódování a nosič záznamu
BR112020016948A2 (pt) Métodos e dispositivos para gerar ou decodificar um fluxo de bits compreendendo sinais de áudio imersivos
BRPI0012182B1 (pt) método e sistema para melhorar a eficiência da codificação de um sinal de áudio
BR122022025233B1 (pt) Método, aparelho e mídia portadora não transitória para codificação em camadas e estrutura de dados para representações sonoras ou de campo sonoro ambissônica de ordem superior compactadas
BRPI0611546A2 (pt) codificação sem perdas de informações com taxa de bits máxima garantida
JP2003332914A (ja) ディジタル信号符号化方法、復号化方法、これらの装置及びプログラム
KR20110061528A (ko) 스케일러블 데이터 산술 복호화 방법
KR100300887B1 (ko) 디지털 오디오 데이터의 역방향 디코딩 방법
ES2972833T3 (es) Métodos y aparatos para mejoras de descodificación unificada de habla y de audio
JP2002368722A (ja) 符号化装置及び復号化装置
KR101001746B1 (ko) 스케일러블 오디오 데이터 산술 복호화 방법 및 장치