BR122020018263B1 - Codificador, método para gerar um fluxo de bits codificado, transcodificador, método para transcodificar um fluxo de bits de entrada, decodificador e método para determinar um nível de confiança de um fluxo de bits codificado recebido - Google Patents

Codificador, método para gerar um fluxo de bits codificado, transcodificador, método para transcodificar um fluxo de bits de entrada, decodificador e método para determinar um nível de confiança de um fluxo de bits codificado recebido Download PDF

Info

Publication number
BR122020018263B1
BR122020018263B1 BR122020018263-6A BR122020018263A BR122020018263B1 BR 122020018263 B1 BR122020018263 B1 BR 122020018263B1 BR 122020018263 A BR122020018263 A BR 122020018263A BR 122020018263 B1 BR122020018263 B1 BR 122020018263B1
Authority
BR
Brazil
Prior art keywords
metadata
frame
input
encoder
pcm
Prior art date
Application number
BR122020018263-6A
Other languages
English (en)
Inventor
Andreas Schneider
Christof FERSCH
Martin Wolters
Jeffrey Riedmiller
Scott Gregory Norcross
Michael Grant
Original Assignee
Dolby International Ab
Dolby Laboratories Licensing Corporation
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 Dolby International Ab, Dolby Laboratories Licensing Corporation filed Critical Dolby International Ab
Publication of BR122020018263B1 publication Critical patent/BR122020018263B1/pt

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3242Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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/173Transcoding, i.e. converting between two coded representations avoiding cascaded coding-decoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H60/00Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
    • H04H60/68Systems specially adapted for using specific information, e.g. geographical or meteorological information
    • H04H60/73Systems specially adapted for using specific information, e.g. geographical or meteorological information using meta-information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/765Media network packet handling intermediate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • 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/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • H04N21/2355Processing of additional data, e.g. scrambling of additional data or processing content descriptors involving reformatting operations of additional data, e.g. HTML pages
    • 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/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • H04N21/4355Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream involving reformatting operations of additional data, e.g. HTML pages on a television screen

Abstract

O presente documento refere-se à transcodificação de metadados, e em particular a um método e sistema para a transcodificação de metadados com complexidade computacional reduzida. Um transcodificador configurado para transcodificar um fluxo de bits de entrada compreende um quadro de conteúdo (111) de entrada e de um quadro de metadados entrada de associados em um fluxo de bits de saída que compreende um quadro de conteúdo (111) de saída e um quadro de metadados de saída associado é descrito. O quadro de conteúdo (111) de entrada é indicativo de um sinal codificado de acordo com um primeiro sistema de codec e o quadro de conteúdo (111) de saída é indicativo do sinal codificado de acordo com um segundo sistema de codec. O transcodificador é configurado para identificar um bloco de entrada de metadados a partir do quadro de metadados de entrada, o bloco de entrada de metadados associado com um descritor de entrada indicativo de uma ou mais propriedades de metadados compreendidas dentro do bloco de entrada de metadados, e para gerar o quadro de metadados de saída a partir do quadro de metadados de entrada com base no descritor de entrada.

Description

REFERÊNCIA CRUZADA A PEDIDOS RELACIONADOS
[001] Este pedido reivindica prioridade para Pedido de Patente Provisório US 61/754.893, depositado em 21 de janeiro de 2013, que é aqui incorporado por referência na sua totalidade.
CAMPO TÉCNICO
[002] O presente documento refere-se à transcodificação de metadados. Em particular, o presente documento refere-se a um método e sistema para a transcodificação de metadados com complexidade computacional reduzida.
ANTECEDENTES
[003] Vários sistemas de renderização de áudio de canal único e/ou de multicanal, como sistemas de renderização de áudio multicanal 5.1, 7.1 ou 9.1 estão atualmente em uso. Os sistemas de renderi- zação de áudio permitem, por exemplo, a geração de um som surround proveniente de localizações de alto-falante 5+1, 7+1 ou 9+1, respectivamente. Para uma transmissão eficiente ou para um armazenamento eficiente dos correspondentes sinais de áudio de canal único ou multicanal, sistemas codec de áudio (codificador/decodificador), tais como Dolby Digital (DD) ou Dolby Digital Plus (DD+) estão sendo usados.
[004] Pode haver uma significativa base instalada de dispositivos de renderização de áudio que estão configurados para decodificar si- nais de áudio que foram codificados utilizando um sistema de codec de áudio em particular (por exemplo, Dolby Digital). O sistema de codec de áudio em particular, por exemplo, pode ser referido como um segundo codec de áudio. Por outro lado, a evolução dos sistemas de codec de áudio pode levar a um sistema de codec de áudio atualizado (por exemplo, Dolby Digital Plus), o que pode ser, por exemplo, referido como um primeiro sistema de codec de áudio. O sistema de codec de áudio atualizado pode fornecer funções adicionais (por exemplo, um aumento do número de canais) e/ou uma melhoria da qualidade da codificação. Como tal, os provedores de conteúdo podem estar inclinados a fornecer o seu conteúdo de acordo com o sistema de codec de áudio atualizado.
[005] No entanto, o usuário tendo dispositivo de renderização de áudio com um descodificador do segundo sistema de codec de áudio ainda deve ser capaz de renderizar o conteúdo de áudio, que tenha sido codificado de acordo com o primeiro sistema de codec de áudio. Isto pode ser conseguido através de um chamado transcodificador ou conversor, que está configurado para converter o conteúdo de áudio que é codificado de acordo com o primeiro sistema de codec de áudio em conteúdo de áudio modificado que é codificado de acordo com o segundo sistema de codec de áudio.
[006] Uma outra necessidade de transcodificação pode surgir ao longo da cadeia de distribuição de conteúdo de áudio. O conteúdo de áudio pode ser codificado por um fornecedor de conteúdos utilizando um codec de áudio, que é bem adequado para a produção e a difusão de conteúdo de áudio (tais como o codec de áudio Dolby E). O conteúdo de áudio pode ser distribuído usando este codec de áudio orientado para a produção, e o conteúdo de áudio podem ser transcodifica- dos de acordo com um segundo codec de áudio (como o codec lossless Dolby TrueHD ou como o Dolby Digital Plus ou o codec Dolby Di- gital).
[007] O conteúdo de áudio é tipicamente associado com metadados que é codificado no fluxo de bits que representa o conteúdo de áudio. Normalmente, o conteúdo de áudio é dividido em uma sequência de quadros, onde cada quadro de conteúdo de áudio compreende um número predeterminado de amostras (por exemplo, 1024 amostras). Um quadro da sequência de quadros pode ser associado com um respectivo reservatório ou quadro de metadados. O reservatório de metadados pode ser indicativo de informação que descreve o quadro de conteúdo de áudio que o reservatório está associado. Um exemplo de tal informação que descreve o quadro de dados pode ser de dados de sonoridade em relação a algumas ou a totalidade das amostras do quadro. Alternativamente ou em adição, o reservatório de metadados pode ser usado para transmitir dados auxiliares, que não podem ser diretamente associados com o quadro correspondente de conteúdo de áudio. Tais dados auxiliares podem, por exemplo, ser usados para fornecer um decodificador de um sistema de codec de áudio com uma atualização de firmware.
[008] Além de transcodificação de conteúdos de áudio a partir de um primeiro sistema de codec de áudio para um segundo sistema de codec de áudio, o transcodificador tipicamente também precisa trans- codificar os metadados associados. A fim de reduzir o custo de trans- codificadores/conversores (que são implementados, por exemplo, dentro de decodificadores), a complexidade computacional da conversão entre um primeiro sistema de codec de áudio e um segundo sistema de codec de áudio deve ser relativamente baixa. Isso também deve ser o caso para a transcodificação de metadados. No presente documento, métodos e sistemas para a transcodificação são descritos, que permitem a transcodificação de metadados com uma complexidade computacional reduzida.
SUMÁRIO
[009] De acordo com um aspecto um transcodificador configurado para transcodificar um fluxo de bits de entrada num fluxo de bits de saída é descrito. O fluxo de bits de entrada pode compreender um quadro de conteúdo de entrada e um quadro de metadados de entrada associado. O quadro de entrada de metadados associado pode ser compreendido dentro do fluxo de bits de entrada diretamente subsequente ou diretamente anterior ao quadro de conteúdo de entrada. Como tal, o termo "associado" pode indicar uma relação temporal entre um quadro de conteúdo e um quadro de metadados (por exemplo, o termo pode indicar que um quadro de conteúdo precede diretamente um quadro de metadados ou vice e versa). Deve notar-se que em algumas modalidades, o quadro de metadados de entrada associado pode ser compreendido dentro do quadro de conteúdo de entrada. Um quadro de conteúdo compreende tipicamente um primeiro elemento (por exemplo, um campo de sincronização) e um último elemento (por exemplo, um campo de correção de erro, tal como um campo de CRC). O quadro de metadados associado pode ser posicionado em um campo do quadro de conteúdo que está disposto subsequente ao primeiro elemento do quadro de conteúdo e antes do último elemento do quadro de conteúdo (por exemplo, em um campo de dados auxiliar do quadro de conteúdo).
[0010] O quadro de metadados pode ser assim chamado quadro de evolução. Tipicamente, o fluxo de bits de entrada compreende uma sequência de quadros de conteúdo de entrada e uma sequência associada de quadros de metadados de entrada. Os quadros de metadados de entrada são normalmente intercalados com os quadros de conteúdo de entrada, de modo que um quadro de conteúdo de entrada particular está diretamente seguido por seu quadro de metadados associado. De um modo semelhante o fluxo de bits de entrada (também referido como um fluxo de bits codificados de entrada), o fluxo de bits de saída (ou fluxo de bits codificados de saída) pode compreender um quadro de conteúdo de saída e um quadro de metadados de saída associado. Em particular, o fluxo de bits de saída pode compreender uma sequência de quadros de conteúdo de saída e uma sequência de quadros de saída de metadados que estão intercalados.
[0011] Os quadros de conteúdo podem ser indicativos de um sinal codificado de acordo com um esquema de codec em particular. Em particular, o quadro de conteúdo de entrada pode ser indicativo de um sinal codificado de acordo com um primeiro sistema de codec e o quadro de conteúdo de saída pode ser um indicativo do sinal codificado de acordo com um segundo sistema de codec. Os primeiro e segundo sistemas de codec de áudio podem ser iguais (no caso em que, o transcodificador pode ser configurado para proporcionar uma conversão de taxa de bits) ou o primeiro e o segundo sistemas de codec de áudio podem ser diferentes (no caso, o transcodificador pode ser con-figurado para proporcionar uma conversão de codec). O sinal pode compreender um sinal de áudio. Exemplos para o primeiro e segundo sistemas de codec são Dolby E, Dolby Digital Plus, Dolby Digital, Dolby TrueHD, Dolby Pulse, AAC (Advanced Audio Coding) e/ou HE-AAC (High Efficiency - AAC). No caso de diferentes primeiro e segundo sistemas de codec, o transcodificador pode ser configurado para transco- dificar o conteúdo do sinal a partir do primeiro sistema de codec para o segundo sistema de codec. Em alternativa, ou além disso, uma taxa de bits do fluxo de bits de saída podem ser diferentes a partir de uma taxa de bits do fluxo de bits de entrada, e o transcodificador pode ser configurado para executar uma transcodificação do conteúdo do sinal codificado a partir de uma primeira taxa de bits para uma segunda (diferente) taxa de bits.
[0012] O sinal é geralmente representado como uma sequência de quadros compreendendo um número predeterminado de amostras do sinal (por exemplo, 512 ou 1024 amostras do sinal). Como tal, o quadro de conteúdo de entrada pode ser indicativo de alguma ou todas as amostras de um quadro do sinal. O quadro de conteúdo de saída pode ser indicativo de algumas ou todas as amostras do mesmo quadro do sinal. Como tal, o transcodificador pode ser configurado para gerar um quadro de conteúdo de saída que é indicativo de pelo menos algumas das amostras do correspondente quadro de conteúdo de entrada.
[0013] Para a transcodificação do fluxo de bits de entrada para o fluxo de bits de saída, o transcodificador pode compreender um deco- dificador que é configurado para decodificar o fluxo de bits de entrada, em conformidade com o primeiro sistema de codec. Como resultado da descodificação, o decodificador pode proporcionar um conjunto de amostras PCM para cada quadro de conteúdo. Além disso, o decodifi- cador pode ser configurado para extrair os metadados a partir dos quadros de metadados. O fluxo de bits de entrada descodificado (por exemplo, os conjuntos de amostras PCM e os metadados extraídos) pode ser fornecido a um codificador, que está configurado para codificar o sinal de acordo com o segundo sistema de codec, proporcionando assim o fluxo de bits de saída. Como tal, o transcodificador pode ser configurado para gerar o quadro de conteúdo de saída a partir do quadro de conteúdo de entrada usando um decodificador do primeiro sistema de codec e um codificador do segundo sistema de codec. O transcodificador pode compreender um assim chamado transcodifica- dor conectado a PCM, onde o decodificador passa conjuntos de amostras PCM para o codificador do transcodificador. Como tal, o transcodi- ficador aqui descrito pode compreender as características descritas no contexto de um transcodificador conectado a PCM.
[0014] Deve notar-se que o conteúdo de quadro pode também ser indicativo de metadados de acordo com o sistema de codec subjacen- te. Em outras palavras, o quadro de conteúdo pode compreender metadados associados com o sinal compreendido dentro do quadro de conteúdo, em que os metadados compreendidos dentro do quadro de conteúdo são definidos pelo sistema de codec subjacente (ou seja, o primeiro ou o segundo sistema de codec). Em contraste com isto, os quadros de metadados permitem o transporte de metadados adicionais (em adição aos metadados especificados pelos sistemas de codec). Exemplos de tais metadados são parâmetros de sonoridade ou dialnorm ou dados auxiliares, tais como atualizações de firmware para um decodificador dentro de uma cadeia de distribuição de conteúdo de áudio.
[0015] Os quadros de metadados podem seguir uma sintaxe predeterminada. Em particular, o quadro de metadados de entrada e o quadro de saída de metadados pode seguir uma sintaxe comum. A sintaxe para quadros de metadados pode permitir que um quadro de metadados inclua zero, um ou mais blocos de metadados. Cada bloco de metadados pode compreender metadados de um tipo particular. Como tal, um quadro de metadados pode ter uma dimensão variável, dependendo da quantidade de metadados e/ou o número de blocos de metadados, que são incorporados no quadro de metadados. Cada bloco de metadados pode ser indicativo de (ou pode incluir) um descritor correspondente indicativo de uma ou mais propriedades do metadados compreendida dentro do correspondente bloco de metadados. Em particular, o descritor pode descrever as propriedades que indicam como os metadados do bloco podem ou devem ser manipulados. Como tal, o descritor de um bloco pode ser utilizado pelo transcodificador para transcodificar os blocos compreendidos no quadro de metadados de entrada de um modo computacional eficiente.
[0016] Para transcodificação de um quadro de metadados, o transcodificador pode ser configurado para identificar um bloco de en- trada de metadados a partir do quadro de entrada de metadados. Um bloco de entrada pode ser identificado utilizando um identificador de bloco. A título de exemplo, cada bloco de um quadro de metadados pode ser identificado utilizando um identificador de bloco. Além disso, o quadro de metadados pode compreender um identificador de bloco específico indicativo do fato de que o quadro de metadados não compreende quaisquer outros blocos (por exemplo, referido como um identificador de fim). O identificador de fim pode ser usado pelo transcodifi- cador para determinar o quadro de metadados não compreende quaisquer blocos de metadados.
[0017] Tal como indicado acima, o bloco de entrada de metadados pode ser associado com um descritor, referido como um descritor de entrada. O descritor de entrada pode ser indicativo de uma ou mais propriedades de metadados compreendida dentro do bloco de entrada de metadados. O descritor pode ser escrito em um campo de dados do bloco de metadados. Uma propriedade exemplar compreendida dentro do descritor é um parâmetro timestamp que é indicativo de uma amostra do sinal. Em particular, o parâmetro timestamp pode indicar que os metadados do bloco de entrada estão associados com (por exemplo, deve ser aplicado a) a amostra do sinal, que é identificado pelo parâmetro de timestamp. O parâmetro timestamp pode identificar a amostra, indicando a posição da amostra dentro de um quadro de conteúdo em relação ao fim ou em relação ao início do quadro de conteúdo. Um outro exemplo é um parâmetro de duração indicativo de um número de amostras do sinal. O parâmetro de duração pode indicar que os metadados do bloco de entrada estão associados com os números de amostras do sinal indicado pelo parâmetro de duração (começando a partir da amostra indicada pelo parâmetro timestamp). Em particular, o parâmetro de duração pode indicar que os metadados devem ser aplicados a um certo número de amostras subsequentes à amostra indi- cado pelo parâmetro timestamp, em que o número de amostras é indicado pelo parâmetro de duração. Os parâmetros de timestamp e/ou de duração podem ser utilizados, por exemplo, para indicar para quais amostras do sinal codificado na entrada de conteúdo associado, os metadados (por exemplo, um valor de sonoridade) do bloco de entrada são aplicáveis. A título de exemplo, o quadro de metadados de entrada pode compreender uma pluralidade de blocos de entrada indicativos de diferentes valores de sonoridade para os diferentes grupos de amostras do sinal codificado no quadro de conteúdo de entrada.
[0018] Outro exemplo de uma propriedade indicada (ou composta) dentro do descritor é um parâmetro indicativo do fato de transcodifica- ção ou não o bloco de entrada deve ser descodificado para o fluxo de bits de saída. A título de exemplo, o parâmetro transcodificador pode ser utilizado para indicar que os metadados compreendidos dentro do bloco de entrada são aplicáveis apenas para o primeiro sistema de codec. Como tal, o transcodificador pode ser configurado para deixar cair os metadados compreendidos dentro do bloco de entrada, se a fluxo de bits de saída é codificado de acordo com um segundo sistema de codec, que é diferente do primeiro sistema de codec.
[0019] Um outro exemplo de uma propriedade compreendida dentro do descritor é um parâmetro duplicado indicativo de se os metadados do bloco de entrada deve ser incluído em cada quadro de metadados de saída que é gerado a partir do quadro de metadados de entrada. De um modo semelhante, um parâmetro de-duplicado pode ser usado como uma propriedade que é indicativa do se os metadados do bloco de entrada devem ser descartados pelo transcodificador, se o quadro de metadados de saída é gerado a partir de uma pluralidade de quadros de metadados de entrada. Os parâmetros duplicados e/ou de-duplicados podem ser utilizados pelo transcodificador em situações nas quais o enquadramento de fluxo de bits de entrada e o fluxo de bits de saída difere.
[0020] Um outro exemplo de uma propriedade é um parâmetro de prioridade que é indicativo de uma importância dos metadados do bloco de entrada, em relação a um ou mais outros blocos de entrada de metadados. O parâmetro de prioridade pode ser utilizado pelo trans- codificador em situações, em que apenas uma quantidade reduzida de metadados pode ser inserida no fluxo de bits de saída em relação ao fluxo de bits de entrada. Outro exemplo de uma propriedade é um parâmetro de associação indicativo de se os metadados do bloco de entrada podem ser inseridos em um quadro de metadados de saída atrasado subsequente ao quadro de metadados de saída. Como tal, o pa-râmetro associação com o transcodificador fornece flexibilidade adicional no processo de transcodificação, como o transcodificador pode decidir, de modo eficiente em quais blocos de entrada podem ser atrasados e em quais os blocos de entrada devem ser mantidos em associação com os quadros de conteúdo associado.
[0021] Um outro exemplo para uma propriedade é um parâmetro de processamento de PCM indicativo de se ou não os metadados do bloco de entrada devem ser descartados pelo transcodificador, submetido a uma modificação de dados compreendidos dentro do quadro de conteúdo de entrada. Em particular, o parâmetro de processamento de PCM pode indicar para o transcodificador que os metadados do bloco de entrada devem ser incluídos no quadro de metadados de saída, mesmo se os dados do quadro de conteúdo de entrada (por exemplo, as amostras do sinal compreendido dentro do quadro de conteúdo de entrada) foram modificados. Este pode ser o caso, por exemplo, quando o bloco de entrada compreende uma carga útil, tal como dados binários ou como um fluxo de bits adicionais, que não está relacionada com os dados compreendidos no interior do quadro de conteúdo de entrada. O parâmetro de processamento de PCM é particularmente relevante para os chamados transcodificadores conectados à PCM.
[0022] Um descritor de entrada preferencial compreende, pelo menos, uma indicação do se de um parâmetro de timestamp e/ou um parâmetro de duração são compreendidos dentro do descritor. Além disso, um descritor de entrada preferencial compreende um parâmetro duplicado e um de-duplicado.
[0023] O transcodificador pode ser configurado para gerar o quadro de metadados de saída a partir do quadro de metadados de entrada com base no descritor de entrada. Em particular, o transcodificador pode ser configurado para gerar o quadro de metadados de saída a partir do quadro de metadados de entrada somente com base em uma ou mais das propriedades indicadas pelo descritor de entrada. Ainda mais particularmente, o transcodificador pode ser configurado para gerar o quadro de metadados de saída a partir do quadro de metadados de entrada sem analisar os metadados compreendidos dentro do bloco de entrada. Como tal, o transcodificador pode realizar transcodificação dos metadados compreendidos dentro de um quadro de metadados unicamente com base nos descritores dos blocos de metadados, sem a necessidade de analisar e/ou interpretar os metadados carreados pelos blocos de metadados. Isso resulta em um transcodificador tendo uma complexidade computacional significativamente reduzida.
[0024] O transcodificador pode ser configurado para gerar o quadro de metadados de saída a partir do quadro de metadados de entrada copiando os metadados a partir dos um ou mais blocos de entrada do quadro de metadados de entrada para correspondentes um ou mais blocos de saída. Os um ou mais blocos de saída podem ser inseridos dentro do quadro de metadados de saída. A cópia e inserção podem ser submetidos a uma ou mais das propriedades indicadas pelos descritores de entrada de um ou mais blocos de entrada. A título de exemplo, o parâmetro de associação pode indicar ao transcodificador que um bloco de entrada particular deve ser inserido no quadro de metadados de saída. Por outro lado, o parâmetro transcodificador pode indicar para o transcodificador que o bloco de entrada particular, deve ser retirado, se o segundo sistema de codec é diferente do primeiro sistema de codec.
[0025] O transcodificador pode ser configurado para gerar o quadro de metadados de saída através da geração de um descritor de saída do bloco de saída com base no descritor de entrada do bloco de entrada. Em particular, o descritor de saída pode compreender ou pode ser indicativo de alguma ou todas as propriedades indicadas pelo descritor de entrada. Algumas ou todas as propriedades do descritor de entrada podem ser copiadas para o descritor de saída. Por outro lado, o transcodificador pode ser configurado para modificar uma ou mais das propriedades indicadas pelo descritor de entrada para gerar o descritor de saída, em que o descritor de saída é indicativo de uma ou mais propriedades modificadas. A título de exemplo, o descritor de entrada pode ser indicativo de um parâmetro de timestamp. O parâmetro timestamp pode ser modificado pelo transcodificador de tal modo que o parâmetro timestamp modificado indica a mesma amostra do sinal como o parâmetro timestamp original, mesmo que o transcodifi- cador possa ter realizado um re-enquadramento da fluxo de bits de saída em relação ao fluxo de bits de entrada.
[0026] Tal como indicado acima, a uma ou mais propriedades do descritor de entrada podem compreender um parâmetro indicativo da timestamp de uma amostra do sinal, que os metadados do bloco de entrada estão associados. O parâmetro timestamp do descritor de entrada tipicamente indica a amostra do sinal em relação ao quadro de conteúdo de entrada. O transcodificador pode ser configurado para gerar um bloco de saída do bloco de entrada. Além disso, o transcodi- ficador pode ser configurado para gerar um descritor de saída do bloco de saída através da modificação do parâmetro timestamp do descritor de entrada de tal modo que o parâmetro timestamp correspondente do descritor de saída indica a amostra do sinal em relação ao quadro de conteúdo de saída (que pode ter um enquadramento diferente do que o de conteúdo de entrada). Como tal, o transcodificador pode ser configurado para assegurar que as uma ou mais propriedades indicadas pelo descritor de entrada permanecem válidas, mesmo quando o fluxo de bits de entrada é submetido a re-enquadramento.
[0027] O transcodificador pode ser configurado para inserir o bloco de saída (gerado a partir do bloco de entrada do quadro de metadados de entrada) para um quadro de metadados de saída atrasado. A título de exemplo, o parâmetro de associação do descritor de entrada pode indicar para o transcodificador que o bloco de entrada pode ser atrasado. O decodificador pode optar por inserir os metadados em um quadro de metadados de saída atrasado (por exemplo, devido a um taxa de bits limitada do segundo fluxo de bits). O quadro de metadados de saída atrasado pode ser associado com um quadro de conteúdo de saída atrasado que não compreende a amostra do sinal que está indicada pelo parâmetro timestamp do bloco de entrada. A fim de assegurar que, no entanto, o parâmetro timestamp do bloco de saída identifique a amostra correta do sinal, o transcodificador pode ser configurado para gerar o descritor de saída do bloco de saída através da modificação do parâmetro timestamp do bloco de entrada de tal modo que o parâmetro timestamp do descritor de saída indica a amostra do sinal em relação ao quadro de conteúdo de saída atrasado. A título de exemplo, o parâmetro timestamp modificado pode indicar um número de amostra que excede o número de amostras de quadro de conteúdo atrasado, indicando deste modo que a amostra do sinal encontra-se fora do quadro de conteúdo atrasado.
[0028] Tal como indicado acima, uma ou mais propriedades do descritor de entrada pode compreender um parâmetro duplicado indicativo de se os metadados do bloco de entrada correspondente devem ser incluídos em todos os quadros de saída de metadados que são gerados a partir do quadro de metadados de entrada. O transcodifica- dor pode ser configurado para gerar uma pluralidade de quadros de metadados de saída a partir do quadro de metadados de entrada, to-mando em consideração o parâmetro duplicado. Em particular, o transcodificador pode ser configurado para determinar que o parâmetro duplicado indica que os metadados do bloco de entrada devem ser incluídos em cada quadro de metadados de saída que é gerado a partir do quadro de metadados de entrada. Em tal caso, o transcodificador pode ser configurado para inserir os metadados do bloco de entrada em cada uma da pluralidade de quadros de saída de metadados. Em particular, o transcodificador pode ser configurado para gerar um bloco de saída do bloco de entrada para cada uma da pluralidade de quadros de saída de metadados. Além de gerar uma pluralidade de quadros de saída de metadados, o transcodificador pode ser configurado para gerar uma pluralidade de quadros de conteúdo de saída a partir do quadro de conteúdo de entrada, em que a pluralidade de quadros de conteúdo de saída pode ser associada com a pluralidade de quadros de saída de metadados, respectivamente.
[0029] O parâmetro duplicado pode compreender um flag que pode ser definido para indicar que os metadados do bloco de entrada devem ser incluídos em cada quadro de metadados de saída que é gerado a partir do quadro de metadados de entrada, ou vice-versa (por exemplo, o flag pode ser definido para indicar o contrário, em vez).
[0030] Tal como indicado acima, a uma ou mais propriedades do descritor de entrada podem compreender um parâmetro de-duplicado indicativo de se os metadados do bloco de entrada podem ser (ou devem ser) descartados pelo transcodificador, se o quadro de metadados de saída é gerado a partir de uma pluralidade de quadros de metadados de entrada. O transcodificador pode ser configurado para gerar o quadro de metadados de saída a partir de uma pluralidade de quadros de metadados de entrada de fluxo de bits de entrada, tomando em consideração o parâmetro de-duplicado. Em particular, a pluralidade de quadros de metadados de entrada pode compreender uma pluralidade de blocos de entrada de metadados, cada bloco de entrada está associado a um respectivo parâmetro de-duplicado indicando que os metadados do bloco de entrada podem ser descartados pelo transco- dificador. O transcodificador pode ser configurado para descartar os metadados da pluralidade de blocos de entrada para todos menos um da pluralidade de quadros de metadados de entrada (por exemplo, para todos menos o primeiro da pluralidade de quadros de metadados de entrada), para gerar o quadro de metadados de saída. Além de gerar o quadro de metadados de saída a partir de uma pluralidade de quadros de metadados de entrada, o transcodificador pode ser configurado para gerar o quadro de conteúdo de saída a partir de uma pluralidade de quadros de conteúdo de entrada, em que a pluralidade de quadros de conteúdo de entrada está associada com a pluralidade de quadros de metadados de entrada, respectivamente.
[0031] O parâmetro de-duplicado pode compreender um flag que pode ser definido para indicar que os metadados do bloco de entrada podem ser (ou devem ser) descartados pelo transcodificador, se o quadro de metadados de saída é gerado a partir de uma pluralidade de quadros de metadados de entrada, ou vice-versa (por exemplo, o flag pode ser definido para indicar o contrário, em vez).
[0032] Tal como indicado acima, a uma ou mais propriedades do descritor de entrada podem compreender um parâmetro de prioridade indicativo de uma importância relativa dos metadados do bloco de entrada relativa de um ou mais outros blocos de entrada de metadados. O quadro de metadados de entrada recebido no transcodificador pode compreender uma pluralidade de blocos de entrada com descritores que indicam valores diferentes para o parâmetro de prioridade. O transcodificador pode ser configurado para gerar o quadro de metadados de saída a partir da pluralidade de blocos de entrada, em conformidade com os parâmetros de prioridade da pluralidade de blocos de entrada. Em particular, o transcodificador pode selecionar primeiro os blocos de entradas que têm a mais alta prioridade relativa, e somente inserir os blocos de entrada de prioridade mais baixa, se a taxa de bits suficiente é disponível para o fluxo de bits de saída.
[0033] A pluralidade de blocos de entrada pode estar associada com os parâmetros de prioridade incrementais indicando as prioridades incrementais. A pluralidade de blocos de entrada pode compreender metadados incrementais, de tal modo que os metadados combinados da pluralidade de blocos de entrada fornecem metadados de alta qualidade que tais metadados do bloco de entrada tendo a máxima prioridade em relação à pluralidade de blocos de entrada fornece reduzida qualidade de metadados (ou seja, proporciona metadados com uma qualidade que é reduzida em comparação com os metadados de alta qualidade fornecidos pelo metadados combinados). O bloco de entrada com a seguinte prioridade inferior pode proporcionar um aumento da qualidade dos metadados, e assim por diante, até que a maior qualidade de metadados seja fornecida ao combinar a pluralidade completa de blocos de entrada. O transcodificador pode ser configurado para gerar o quadro de metadados de saída com base em, pelo menos, uma ou mais da pluralidade de blocos de entrada, permitindo assim uma degradação escalável da qualidade dos metadados compreendida no quadro de metadados de saída. O grau de degradação pode ser, por exemplo, com base na taxa de bits do fluxo de bits de saída disponível.
[0034] Tal como indicado acima, a uma ou mais propriedades do descritor de entrada pode compreender um parâmetro indicativo de associação de se ou não os metadados do bloco de entrada podem ser inseridos em um quadro de metadados de saída atrasado subsequente ao quadro de metadados de saída. O transcodificador pode ser configurado para inserir os metadados a partir do bloco de entrada para o quadro de metadados de saída, com base no parâmetro de associação e/ou com base em restrições de taxa de bits no fluxo de bits de saída. Em particular, o transcodificador pode ser configurado para inserir os metadados a partir do bloco de entrada para um quadro de metadados de saída atrasado subsequente ao quadro de metadados de saída, se o parâmetro indica que a associação de metadados do bloco de entrada pode ser atrasada.
[0035] De acordo com um aspecto adicional, um método para a transcodificação de um fluxo de bits de entrada que compreende um quadro de conteúdo de entrada e um quadro de metadados de entrada associado a um fluxo de bits de dados de saída é descrito. O fluxo de bits de saída pode compreender um quadro de conteúdo de saída e/ou um quadro de metadados de saída associado. O quadro de conteúdo de entrada pode ser indicativo de um sinal codificado de acordo com um primeiro sistema de codec e o quadro de conteúdo de saída pode ser um indicativo do sinal codificado de acordo com um segundo sistema de codec. Como indicado acima, os primeiro e segundo sistemas de codec podem o mesmo ou podem ser diferentes. O método pode compreender a identificação de um bloco de entrada de metadados a partir do quadro de metadados de entrada. O bloco de entrada de metadados pode ser associado com um descritor de entrada indicativo de uma ou mais propriedades de metadados compreendidas dentro do bloco de entrada de metadados. Além disso, o método pode compreender a geração do quadro de metadados de saída a partir do quadro de metadados de entrada com base no descritor de entrada. Em outras palavras, o quadro de metadados de saída pode ser determinado considerando o descritor de entrada, tipicamente, sem a necessidade de analisar ainda os metadados compreendidos no quadro de metadados de entrada.
[0036] De acordo com um outro aspecto, uma fluxo de bits codificado que compreende um quadro e um quadro de metadados associado é descrito. O quadro de conteúdo pode ser indicativo de um sinal codificado de acordo com um primeiro sistema de codec. O quadro de metadados pode compreender um bloco de metadados e o bloco de metadados pode ser associado com (ou pode compreender) um descritor indicativo de uma ou mais propriedades de metadados compreendidas dentro do bloco de metadados.
[0037] De acordo com um outro aspecto, um codificador configurado para gerar uma fluxo de bits codificado que compreende um quadro de conteúdo e um quadro de teor de metadados associados é descrito. O quadro de conteúdo pode ser indicativo de um sinal codificado de acordo com um sistema de codec. O codificador pode ser configurado para gerar um bloco de metadados. Além disso, o codificador pode ser configurado para determinar um descritor associado com o bloco de metadados. O descritor pode ser indicativo de uma ou mais propriedades do metadados compreendida dentro do bloco de metadados. Além disso, o codificador pode ser configurado para inserir o bloco de metadados para o quadro de metadados. Deve notar-se que as características descritas no presente documento, no contexto de um transcodificador, também são aplicáveis a um codificador correspondente.
[0038] Em particular, uma ou mais propriedades podem compreender um parâmetro timestamp indicativo de uma amostra do sinal, que os metadados compreendidos no bloco de metadados estão as- sociados. A amostra do sinal pode ser compreendida dentro do quadro de conteúdo. O codificador pode ser configurado para inserir o bloco a um quadro de metadados atrasado, em que o quadro de metadados atrasado está associado com uma área de conteúdo atrasado que não compreende a amostra do sinal. Além disso, o codificador pode ser configurado para gerar o descritor do bloco de metadados de tal modo que o parâmetro de timestamp do descritor indica que a amostra do sinal de relação de quadro de conteúdo atrasado. Como tal, o codificador pode ser configurado para atrasar a transmissão de metadados e para modificar o parâmetro timestamp conformidade, suavizando, assim, a taxa de bits do fluxo de bits gerado pelo codificador.
[0039] De acordo com um aspecto, um decodificador correspondente é descrito. O decodificador pode compreender qualquer um das características do decodificador relacionado descrito no presente documento. O decodificador pode ser configurado para decodificar um fluxo de bits codificado que compreende um quadro de conteúdo e um quadro de metadados associado. Como descrito acima, o quadro de conteúdo é indicativo de um sinal codificado de acordo com um primeiro sistema de codec. O quadro de metadados pode compreender um bloco de metadados, em que o bloco de metadados está associado com (ou compreende) um descritor indicativo de uma ou mais propriedades de metadados compreendidas dentro do bloco de metadados. O decodificador pode ser configurado para decodificar o sinal codificado compreendido dentro do quadro de conteúdo. Em especial, o decodifi- cador pode compreender um decodificador do primeiro sistema de codec para decodificar o sinal codificado. Como resultado, o decodifica- dor pode ser configurado para fornecer um conjunto de amostras PCM de um sinal codificado.
[0040] Além disso, o decodificador pode ser configurado para identificar o bloco de metadados a partir do quadro de metadados e para extrair o descritor do bloco de metadados. Além disso, o decodificador pode ser configurado para processar os metadados compreendidos dentro do bloco de metadados em dependência de uma ou mais das propriedades indicadas pelo descritor. Uma ou mais propriedades podem corresponder a qualquer uma ou mais das propriedades descritas no presente documento. O decodificador pode ser configurado para associar uma propriedade particular dos metadados correspondentes com o processamento dos metadados. A título de exemplo, o descritor pode ser indicativo de um parâmetro timestamp, informando deste modo o decodificador que os metadados do bloco de metadados deve ser aplicado a uma amostra particular do sinal. Como tal, o decodifica- dor pode ser configurado para aplicar os metadados para a amostra indicada pelo parâmetro de timestamp. Como outro exemplo, o descri-tor pode ser indicativo de um parâmetro de associação. Se o parâmetro associação indica que o bloco de metadados não está relacionado com o quadro de conteúdo, o decodificador pode ser configurado para transmitir os metadados compreendidos dentro do bloco de metadados para outra unidade de processamento (por exemplo, que lida com dados auxiliares compreendidos no bloco de metadados).
[0041] De acordo com um aspecto adicional, um método para decodificar um fluxo de bits codificado que compreende um quadro e um quadro de conteúdo de metadados associados é descrito. O quadro de conteúdo pode ser indicativo de um sinal codificado de acordo com um primeiro sistema de codec. O quadro de metadados pode compreender um bloco de metadados, em que o bloco de metadados pode ser associado com um descritor indicativo de uma ou mais propriedades de metadados compreendidas dentro do bloco de metadados. O método pode compreender decodificar o sinal codificado compreendido dentro do quadro de conteúdo. Além disso, o método pode compreender a identificação do bloco de metadados a partir do quadro de meta dados e extraindo o descritor do bloco de metadados. Além disso, o método pode compreender o processamento de metadados compreendidos dentro do bloco de metadados com base em uma ou mais das propriedades indicadas pelo descritor.
[0042] De acordo com um outro aspecto, um método para gerar um fluxo de bits codificado que compreende um quadro de conteúdo e um quadro de metadados associados é descrito. O quadro de conteúdo pode ser indicativo de um sinal codificado de acordo com um sistema de codec. O método pode compreender a geração de um bloco de metadados. Além disso, o método pode compreender a determinação de um descritor associado com o bloco de metadados, em que o descritor é indicativo de uma ou mais propriedades dos metadados compreendidas dentro do bloco de metadados. Além disso, o método pode compreender a inserção do bloco de metadados no quadro de metadados.
[0043] De acordo com um outro aspecto, um codificador configurado para gerar um fluxo de bits codificado que compreende um quadro de conteúdo e um quadro de metadados associados é descrito. O quadro de conteúdo pode ser indicativo de um sinal codificado de acordo com um primeiro sistema de codec. O codificador pode ser configurado para gerar um bloco de metadados. Numa modalidade preferencial, o bloco de metadados compreende um descritor como descrito no presente documento. O descritor pode ser indicativo de uma ou mais propriedades do metadados compreendidas dentro do bloco de metadados.
[0044] O codificador pode ser configurado para inserir o bloco de metadados para o quadro de metadados. Além disso, o codificador pode ser configurado para selecionar uma chave de segurança a partir de uma pluralidade de chaves seguras predeterminadas. A pluralidade de chaves de segurança predeterminadas pode ser configurada de modo a proporcionar diferentes níveis de confiança. Em particular, a pluralidade de chaves de segurança predeterminadas pode compreender uma chave conhecida altamente segura apenas para um desenvolvedor do codificador (ou de um decodificador correspondente ou de um transcodificador correspondente que compreende um decodifica- dor e um codificador). Além disso, a pluralidade de chaves de segurança predeterminada pode compreender uma chave de segurança moderada conhecida para um operador do codificador (ou de um de- codificador correspondente ou de um transcodificador correspondente que compreende um decodificador e um codificador).
[0045] O codificador pode ser configurado para gerar um valor de criptografia com base, pelo menos, no quadro de conteúdo, sobre o quadro de metadados associado e na chave de segurança selecionada. Em particular, o codificador pode ser configurado para calcular um valor de HMAC-MD5 ou um valor de HMAC-SHA256 (Secure Hash Algorithm, conforme especificado no Federal Information Processing Standard FIPS PUB 180-2) para gerar o valor de criptografia. Além disso, o codificador pode ser configurado para truncar o valor HMAC- MD5 ou HMAC-SHA256 para gerar o valor de criptografia. Por truncar o valor HMAC, a sobrecarga necessária para o valor criptográfico pode ser reduzida. O codificador pode ser configurado para inserir o valor gerado criptográfico para o quadro de metadados, garantindo assim que o quadro de conteúdo e/ou o quadro de metadados não possam ser modificados por uma pessoa não autorizada, sem ser detectado.
[0046] A utilização de diferentes chaves de segurança que proporcionam diferentes níveis de confiança garante que um decodificador correspondente (ou um transcodificador que compreende um decodifi- cador) pode verificar se o fluxo de bits recebido foi modificado e, se sim, qual parte modificou o fluxo de bits recebido. A título de exemplo, o codificador poderá ter inicialmente gerado o fluxo de bits utilizando a chave altamente segura. Uma parte intermediária pode ter alterado o fluxo de bits e pode ter usado a chave de segurança moderada para gerar um valor criptográfico modificado. Como tal, o decodificador está ciente de que o fluxo de bits recebido foi modificado por uma parte que tenha acesso à chave de segurança moderada. Deve notar-se que a pluralidade de chaves de segurança predeterminadas podem compreender mais do que dois níveis de confiança, proporcionando assim um decodificador com mais detalhes no que se refere à fiabilidade de um fluxo de bits recebido.
[0047] O codificador pode ser configurado para inserir a indicação da chave de segurança selecionada para o quadro de metadados, permitindo assim que o decodificador correspondente verifique facilmente se o fluxo de bits recebido foi modificado. Por outro lado, o de- codificador pode ser configurado para verificar a autenticidade do fluxo de dados recebido usando toda a pluralidade de chaves de segurança predeterminadas, sem que seja necessária para a indicação da chave de segurança selecionada para ser inserida no quadro de metadados.
[0048] O codificador pode ser configurado para gerar uma pluralidade de quadros de conteúdo sucedendo e quadros de metadados associados para um fluxo de bits codificado. Além disso, o codificador pode ser configurado para gerar um valor de criptografia de quadro com base num único quadro de conteúdo e seu quadro de metadados associado e com base na chave de segurança selecionada. O valor criptográfico de quadro pode ser inserido dentro do quadro de metadados associado e pode ser usado por um decodificador correspondente (ou transcodificador) para verificar a autenticidade de um quadro de conteúdo/metadados individuais. Além disso, o codificador pode ser configurado para gerar um valor histórico criptográfico com base em, pelo menos, alguns da pluralidade de quadros de conteúdo sucedendo, e seus quadros de metadados associados, e com base no valor seguro selecionado. O valor histórico criptográfico pode ser inserido em um de uma pluralidade de sucessivos quadros de metadados e pode ser usado pelo decodificador correspondente (ou transcodifica- dor) para verificar a ordem sequencial correta da pluralidade de quadros de conteúdo sucedendo e quadros de metadados.
[0049] De acordo com um aspecto adicional, um método para gerar um fluxo de bits codificado que compreende um quadro de conteúdo e um quadro de metadados associados é descrito. O quadro de conteúdo pode ser indicativo de um sinal codificado de acordo com um primeiro sistema de codec. O método pode compreender a geração de um bloco de metadados e inserir o bloco de metadados no quadro de metadados. Além disso, o método pode compreender a seleção de uma chave de segurança a partir de uma pluralidade de chaves de segurança predeterminadas, em que a pluralidade de chaves de segurança predeterminadas fornece diferentes níveis de confiança. Além disso, o método pode compreender a geração de um valor de criptografia baseado, pelo menos no quadro de conteúdo, sobre o quadro de metadados associado e na chave de segurança selecionada. O valor criptográfico gerado pode então ser inserido no quadro de metadados.
[0050] De acordo com um outro aspecto, um decodificador correspondente é descrito. O decodificador pode ser configurado para receber um fluxo de bits codificado que compreende um quadro de conteúdo e um quadro de metadados associado. O fluxo de bits codificado pode ter qualquer uma ou mais das propriedades descritas no presente documento. Em particular, o conteúdo de quadro pode ser indicativo de um sinal codificado de acordo com um primeiro sistema de codec (por exemplo, um codec de sistema, tal como referido no presente documento). O decodificador pode ser configurado para extrair um valor criptográfico do quadro de metadados. O valor criptográfico pode ter sido inserido no quadro por um codificador de metadados correspon- dente, como descrito no presente documento. Em particular, o valor criptográfico pode ter sido determinado utilizando uma de uma pluralidade de chaves de segurança predeterminadas. Como descrito acima, a pluralidade de chaves de segurança predeterminadas podem apresentar diferentes níveis de confiança. A título de exemplo, a pluralidade de chaves de segurança predeterminadas pode compreender uma chave altamente segura e uma chave de segurança moderada.
[0051] O decodificador pode ser configurado para determinar uma chave de segurança a partir da pluralidade de chaves de segurança predeterminadas. Em especial, o decodificador pode ser configurado para determinar a chave de segurança por extração da chave de segurança a partir do quadro de metadados (por exemplo, de um campo particular do quadro de metadados). Além disso, o decodificador pode ser configurado para gerar um valor de criptografia de verificação baseado pelo menos no quadro de conteúdo recebido, no quadro de metadados associado recebido e na chave de segurança determinado. Além disso, o decodificador pode ser configurado para comparar o valor de criptografia extraído e o valor de criptografia de verificação, a fim de determinar se o fluxo de bits codificado recebido é de confiança. A título de exemplo, se o valor de criptografia extraído e o valor criptográfico de verificação combinam, o decodificador pode determinar que o fluxo de bits codificado recebido é de confiança. Além disso, a chave de segurança utilizada para gerar o valor criptográfico de verificação pode indicar ao descodificador o nível de confiança, que está associado com o fluxo de bits codificado recebido. A título de exemplo, a chave altamente segura pode indicar um nível mais alto de confiança do que as chaves de segurança moderada.
[0052] O decodificador pode ser configurado para determinar que uma de entre a pluralidade de chaves de segurança predeterminadas foi utilizada para gerar o valor criptográfico extraído. Tal como indicado acima, a chave de segurança, que foi utilizada para gerar o valor criptográfico extraído, pode fornecer uma indicação do nível de confiança de fluxo de bits codificado recebido. Em especial, o decodificador pode ser configurado para gerar uma pluralidade de valores criptográficos de verificação para a pluralidade de chaves de segurança predeterminadas, respectivamente. Além disso, o decodificador pode ser configurado para comparar cada um da pluralidade de valores criptográficos de verificação com o valor criptográfico extraído. Além disso, o decodi- ficador pode ser configurado para determinar que uma de uma pluralidade de chaves de segurança predeterminadas foi utilizada para gerar o valor criptográfico extraído, se a comparação mostra que um de entre a pluralidade de valores criptográficos de verificação coincide com o valor criptográfico extraído.
[0053] De acordo com um aspecto adicional, um método para determinar um nível de confiança de um fluxo de bits codificado recebido que compreende um quadro de conteúdo e um quadro de metadados associados é descrito. O quadro de conteúdo pode ser indicativo de um sinal codificado de acordo com um primeiro sistema de codec. O método pode compreender a extração de um valor criptográfico do quadro de metadados. Além disso, o método pode compreender a determinação de uma chave de segurança a partir de uma pluralidade de chaves de segurança predeterminadas, em que a pluralidade de chaves de segurança predeterminadas fornece diferentes níveis de confiança. Além disso, o método pode compreender a geração de um valor criptográfico de verificação com base, pelo menos, no quadro de conteúdo, no quadro de metadados associados e na chave de segurança determinada. O método pode proceder na comparação do valor criptográfico extraído e o valor de criptografia de verificação para determinar um nível de confiança para o fluxo de bits codificado recebido, em que o nível de confiança pode ser indicado pela chave de segurança de- terminada.
[0054] De acordo com um outro aspecto, um transcodificador configurado para transcodificar um fluxo de bits de entrada que compreende um quadro de conteúdo de entrada e um quadro de metadados de entrada associado em um fluxo de bits de dados de saída é descrito. O transcodificador pode compreender qualquer uma das características relacionadas ao transcodificador descritas no presente documento. Como descrito acima, o fluxo de bits de entrada pode ser indicativo de um conjunto de amostras de um sinal, por exemplo, indicativo das amostras de um quadro do sinal. O transcodificador pode compreender um decodificador (para decodificar o fluxo de bits de entrada recebido) e um codificador (por re-codificar o fluxo de bits de entrada descodificado para fornecer o fluxo de bits de saída transcodificado). O transcodificador pode compreender um chamado decodificador conectado à PCM.
[0055] O decodificador do transcodificador pode ser configurado para converter o quadro de conteúdo de entrada para um conjunto de amostras de PCM descodificado do sinal. Além disso, o decodificador pode ser configurado para extrair os metadados a partir do quadro de metadados de entrada. Como tal, o decodificador pode ser configurado para converter o fluxo de bits de entrada numa sequência de amostras PCM descodificados e metadados associados. A sequência de amostras PCM descodificada e os metadados associados podem ser usados pelo codificador de transcodificador para gerar o fluxo de bits de saída (de acordo com o segundo sistema de codec). O decodificador pode ser configurado para gerar um valor de assinatura para o conjunto de amostras PCM descodificado e os metadados extraídos, utilizando uma chave de segurança de decodificador. O valor da assinatura pode ser gerado usando uma função hash HMAC-MD5 ou HMAC- SHA256. O valor resultante pode ser truncado para proporcionar o va lor da assinatura. Como tal, o decodificador pode ser configurado para fornecer um valor de assinatura, permitindo assim que o codificador verifique se as amostras PCM descodificadas e/ou os metadados foram modificados por uma entidade não autorizada (que não tem acesso à chave de segurança do decodificador) entre o decodificador e o codificador do transcodificador.
[0056] O codificador do transcodificador pode ser configurado para receber um conjunto de amostras PCM e metadados associados. O conjunto recebido de amostras PCM tipicamente corresponde ao conjunto de amostras PCM descodificado fornecido pelo decodificador e os metadados recebidos tipicamente corresponde aos metadados extraídos do decodificador. No entanto, as amostras PCM e/ou os metadados podem ter sido modificadas, de tal modo que o conjunto de amostras de PCM recebido e/ou os metadados recebidos podem ser diferentes a partir do conjunto de amostras de PCM descodificado e/ou os metadados extraídos.
[0057] O codificador pode ser configurado para receber um valor de assinatura. O valor da assinatura recebido pode corresponder ou pode ser igual ao valor de assinatura gerado pelo decodificador. Por outro lado, o valor da assinatura recebido pode ser diferente do valor de assinatura gerado pelo decodificador (por exemplo, se modificado por uma entidade autorizada, sujeita a modificação das amostras PCM e/ou os metadados). O codificador pode ser configurado para verificar se o valor da assinatura recebido é válido para o conjunto de amostras de PCM recebido e metadados associados, utilizando uma chave de segurança codificadora. Além disso, o codificador pode ser configurado para gerar um quadro de conteúdo de saída do fluxo de dados de saída a partir do conjunto de amostras PCM recebido e gerar um quadro de metadados de saída associado do fluxo de bits de saída dos metadados recebidos, se a assinatura recebida é válida. Por outro la- do, o codificador pode ser configurado para impedir a inserção do metadados recebidos para o fluxo de bits de saída, se a assinatura recebida não é válida. Como tal, o codificador do transcodificador pode ser configurado para impedir que a inserção do quadro de metadados para o fluxo de bits de saída, se os metadados ou as amostras PCM foram modificados por uma entidade não autorizada.
[0058] Deve notar-se que o decodificador e o codificador usados em um transcodificador são tipicamente fornecidos pelo desenvolvedor do respectivo sistema de codec de áudio. Como tal, a funcionalidade do decodificador e o codificador podem ser controlados pelo desenvolvedor, assegurando assim uma alta qualidade de conteúdo de áudio e metadados associados. Por outro lado, as amostras PCM e/ou metadados entre o decodificador e o codificador podem ser modificados por uma entidade autorizada, apresentando assim um risco de que a qualidade do conteúdo de áudio e/ou de metadados é reduzida. Ao fornecer um decodificador que gera valores de assinatura e ao proporcionar um codificador que verifica os valores de assinatura, pode ser assegurado que a modificação não autorizada de amostras PCM e/ou meta-dados pode ser detectada.
[0059] O codificador pode ser configurado para utilizar a chave de segurança de decodificador como o codificador de chaves seguras. Como tal, é assegurado que o codificador pode verificar se as amostras PCM recebidas e metadados correspondem às amostras PCM e metadados fornecidos pelo decodificador correspondente.
[0060] O transcodificador pode ainda compreender uma etapa de processamento de PCM que é configurada para modificar o conjunto de amostras PCM descodificado e/ou os metadados extraídos, obtendo-se assim um conjunto de segundas amostras PCM e segundos metadados associados. O segundo conjunto de amostras PCM pode corresponder ao conjunto de amostras PCM descodificado ou ao conjunto de amostras PCM modificados. De um modo semelhante, os segundos metadados podem corresponder aos metadados extraídos ou aos metadados extraídos modificados. Além disso, a fase de processamento PCM pode ser configurada para passar o conjunto de segundas amostras PCM e segundos metadados associados ao codificador. Usando o valor de assinatura recebido e o codificador de chave de segurança, o codificador pode ser configurado para detectar que as amostras PCM descodificadas e/ou os metadados extraídos foram modificados pela fase de processamento do PCM. Em outras palavras, o codificador pode ser configurado para detectar que as segundas amostras PCM (recebidas pelo codificador) e os segundos metadados (recebidos pelo codificador) não correspondem às amostras PCM descodificadas e os metadados extraídos (fornecidos pelo decodificador).
[0061] O transcodificador pode ainda compreender uma unidade de reassinatura que é configurada para determinar um valor de assinatura atualizado para o segundo conjunto de amostras PCM e segundos metadados associados, utilizando uma chave de segurança de reassi- natura. Além disso, a unidade de reassinatura pode ser configurada para transmitir o valor de assinatura atualizado para o codificador. A chave de segurança de reassinatura pode ser diferente da chave de segurança ao decodificador. O codificador pode ser configurado para utilizar a chave de segurança de reassinatura como o codificador de chave de segurança. Como tal, o codificador pode ser configurado para detectar que as amostras PCM e/ou metadados associados tenham sido modificados por uma etapa de processamento de PCM autorizado. De um modo semelhante aos valores criptográficos descritos no presente documento, as chaves de segurança para os valores de assinatura podem ser selecionadas a partir de uma pluralidade de chaves de segurança predeterminada. A título de exemplo, a chave de segurança de decodificador pode ser uma chave altamente segura, enquanto que a chave de segurança de reassinatura pode ser uma chave de segurança moderada, proporcionando desse modo diferentes níveis de confiança para as amostras PCM e/ou metadados associados recebidos no codificador do transcodificador.
[0062] O codificador do transcodificador pode compreender uma fase de processamento de PCM configurada para modificar o conjunto de amostras PCM recebidas e/ou os metadados recebidos. O conjunto de amostras PCM recebido pode corresponder ao conjunto de amostras de PCM decodificado ou para o conjunto de segundas amostras de PCM. De um modo semelhante, os metadados recebidos podem corresponder aos metadados extraídos ou aos segundos metadados. O codificador pode ser configurado para gerar o quadro de conteúdo de saída e/ou o quadro de metadados de saída com base no conjunto modificado de amostras PCM recebidas e/ou metadados recebidos modificados, que foram modificados pela fase de processamento de PCM do codificador. Ao fornecer o codificador do transcodificador com uma fase de processamento de PCM, pode ser assegurado que uma cadeia de confiança é mantida dentro do transcodificador (conforme o processamento de PCM é realizado no codificador fornecido por um desenvolvedor do codificador).
[0063] Tal como indicado acima, o transcodificador conectado a PCM pode compreender qualquer das características descritas no presente documento. Em especial, o decodificador da transcodificador pode ser configurado para identificar um bloco de entrada de metadados a partir do quadro de entrada de metadados. Tal como descrito no presente documento, o bloco de entrada de metadados pode ser associado com um descritor de entrada indicativo de uma ou mais propriedades de metadados compreendidas dentro do bloco de entrada de metadados. As uma ou mais propriedades podem ser qualquer uma ou mais das propriedades descritas no presente documento. O codifi- cador do transcodificador pode ser configurado para gerar o quadro de metadados de saída a partir do quadro de metadados de entrada, pelo menos, com base no descritor de entrada.
[0064] Em particular, as uma ou mais propriedades podem compreender um parâmetro de processamento de PCM que indica se ou não os metadados do bloco de entrada devem ser descartados pelo codificador, submetido a uma modificação do conjunto de amostras PCM e/ou dos metadados extraídos. Em tais casos, o codificador do transcodificador pode ser configurado para incluir ou não incluir o bloco de entrada para o quadro de metadados de saída com base no valor do parâmetro de processamento de PCM. Em particular, o codificador pode ser configurado para incluir os metadados do bloco de entra-da no quadro de metadados de saída, se o parâmetro de processamento de PCM indica que os metadados do bloco de entrada não devem ser descartados, mesmo se o conjunto de amostras PCM e/ou os metadados extraídos foi modificado. Isto pode ser útil, por exemplo, na situação em que os metadados compreendidos dentro do bloco de entrada é independente do conjunto de amostras de PCM (como é o caso, por exemplo, para os dados auxiliares ou dados binários).
[0065] O estágio de processamento PCM do transcodificador pode ser configurado para fornecer uma indicação de um ou mais condições de processamento de PCM para o codificador do transcodificador. As condições de processamento de um ou mais PCM podem indicar como o conjunto de amostras PCM e/ou como os metadados extraídos foram processados pelo estágio de processamento de PCM. A título de exemplo, as uma ou mais condições de processamento de PCM podem compreender um ou mais de: conversão de uma taxa de amostragem do conjunto de amostras PCM, a mistura das amostras PCM com um sistema de som, a modificação dos metadados extraídos, modificação de uma configuração de canal do conjunto de amostras PCM (no caso de um sinal de áudio), o nivelamento da sonoridade do conjunto de amostras PCM. O codificador pode então ser configurado para gerar o quadro de metadados de saída a partir do quadro de metadados de entrada também com base em uma ou mais das condições de processamento de PCM. Em particular, o codificador pode ser configurado para decidir se deseja incluir ou não incluir o bloco de entrada para o quadro de metadados de saída, com base no valor do parâmetro de processamento de PCM e com base em uma ou mais condições de processamento PCM. Em particular, o parâmetro de processamento de PCM pode indicar como processar o bloco de entrada, submetido a uma ou mais condições de processamento PCM.
[0066] De acordo com um aspecto adicional, um método para a transcodificação de um fluxo de bits de entrada que compreende um quadro de conteúdo de entrada e um quadro de metadados de entrada associado a um fluxo de bits de dados de saída é descrito. O fluxo de bits de entrada pode ser indicativo de um conjunto de amostras de um sinal. O método pode compreender a conversão de conteúdo de entrada, a um decodificador, para um conjunto de amostras PCM descodificado do sinal. Além disso, o método pode compreender extrair metadados, no decodificador, a partir do quadro de metadados de entrada. Além disso, um valor de assinatura para o conjunto de amostras PCM descodificado e os metadados extraídos pode ser gerado, usando uma chave de segurança de decodificador. O conjunto de amostras PCM descodificado, os metadados extraídos e o valor de assinatura gerado podem ser transmitidos para um codificador correspondente. Além disso, o método pode compreender a recepção de um conjunto de amostras PCM e metadados associados, e receber um valor de assinatura, no codificador. O método pode proceder para determinar se o valor da assinatura recebido é válido para o conjunto de amostras de PCM recebido e metadados associados, utilizando uma chave de se- gurança codificadora. Subsequentemente, um quadro de conteúdo de saída de fluxo de bits de saída pode ser gerado a partir do conjunto recebido de amostras PCM e um quadro de metadados de saída associado do fluxo de bits de saída podem ser gerados a partir dos metadados recebidos, se a assinatura recebida é válida.
[0067] De acordo com outros aspectos, o decodificador acima mencionado e codificador de um transcodificador conectado a PCM são descritos como autônomos. O decodificador e/ou o codificador pode compreender qualquer um ou mais das características relacionadas ao decodificador e/ou de codificador descritos no presente documento, respectivamente. O decodificador e/ou o codificador pode ser usado em um transcodificador (como descrito acima). Em alternativa, ou além disso, o decodificador e/ou o codificador pode ser usados sozinhos. Como tal, de acordo com um outro aspecto, um decodificador configurado para decodificar um fluxo de bits de entrada que compreende um quadro e um quadro de conteúdo de entrada de metadados de entrada associado é descrito. O fluxo de bits de entrada pode ser indicativo de um conjunto de amostras de um sinal. O decodificador pode ser configurado para converter o quadro de conteúdo de entrada em um conjunto de amostras de PCM descodificado de sinal. Além disso, o deco- dificador pode ser configurado para extrair os metadados a partir do quadro de metadados de entrada. Além disso, o decodificador pode ser configurado para gerar um valor de assinatura para o conjunto de amostras PCM descodificado e para os metadados extraídos, utilizando uma chave de segurança de decodificador. Como tal, o conjunto de amostras PCM descodificado e os metadados extraídos associados podem ser protegidos utilizando um valor de assinatura. O valor da assinatura pode ser utilizado por uma parte receptora do conjunto de amostras PCM descodificado e dos metadados extraídos associados para verificar se o conjunto de amostras PCM descodificado e/ou os metadados extraídos associados foi modificado de forma não autorizada. A parte receptora pode ser um codificador, que está configurado para re-codificar o conjunto de amostras PCM descodificado e os metadados extraídos associados num fluxo de bits de dados de saída. Assim, o decodificador pode ser configurado para enviar o conjunto de amostras PCM descodificado, os metadados extraídos e o valor da assinatura gerado a um codificador para a recodificação.
[0068] De acordo com um outro aspecto, um codificador configurado para codificar um fluxo de bits de saída que compreende um quadro de conteúdo de saída e um quadro de metadados de saída associado é descrito. O codificador pode ser configurado para receber um conjunto de amostras PCM e metadados associados, e para receber um valor de assinatura para o conjunto das amostras PCM e metadados associados. O conjunto recebido de amostras PCM pode corresponder (ou pode ter sido derivado de) ao conjunto acima indicado de amostras PCM decodificadas). De um modo semelhante, o conjun-to recebido de metadados associado pode corresponder a (ou pode ter sido derivado de) o conjunto acima mencionado de metadados extraídos. O valor da assinatura recebido pode ter sido determinado (por exemplo, em um decodificador) utilizando o acima mencionado conjunto de amostras PCM descodificado e os metadados extraídos.
[0069] O codificador pode ser configurado para verificar se o valor da assinatura recebido é válido para o conjunto recebido de amostras de PCM e metadados associados, utilizando uma chave de segurança codificadora. Além disso, o codificador pode ser configurado para gerar um quadro de conteúdo de saída do fluxo de dados de saída a partir do conjunto recebido de amostras PCM e para gerar um quadro de metadados de saída associado do fluxo de bits de saída dos metadados recebidos, se a assinatura recebida é válida.
[0070] De acordo com um outro aspecto, um método para decodi- ficar um fluxo de bits de entrada que compreende um quadro de conteúdo de entrada e um quadro de metadados de entrada associada é descrito. O fluxo de bits de entrada pode ser indicativo de um conjunto de amostras de um sinal. O método pode compreender a conversão de conteúdo de entrada para um conjunto de amostras PCM descodificado do sinal, e extrair os metadados a partir do quadro de metadados de entrada. Além disso, o método pode compreender a geração de um valor de assinatura para o conjunto das amostras PCM descodificado e para os metadados extraídos, utilizando uma chave de segurança decodificadora. Além disso, o método pode compreender o fornecimento do conjunto de amostras PCM descodificado, os metadados extraídos e o valor da assinatura gerado a um codificador para a reco- dificação.
[0071] De acordo com um aspecto adicional, um método para a codificação de um fluxo de bits de dados de saída que compreende um quadro de conteúdo de saída e um quadro de metadados de saída associado é descrito. O método pode compreender a recepção de um conjunto de amostras PCM e metadados associados, e receber um valor de assinatura para o conjunto das amostras PCM e metadados associados. Além disso, o método pode compreender a verificar se o valor da assinatura recebido é válido para o conjunto recebido de amostras PCM e metadados associados, utilizando uma chave de segurança codificadora. O método pode prosseguir na geração de um quadro de conteúdo de saída de fluxo de bits de saída do conjunto recebido de amostras PCM e na geração de um quadro de metadados de saída associado do fluxo de bits de saída a partir dos metadados recebidos, se a assinatura recebida é válida.
[0072] De acordo com um outro aspecto, um programa de software é descrito. O programa de software pode ser adaptado para a execução de um processador e para executar as etapas do processo des- critas no presente documento, quando realizadas no processador.
[0073] De acordo com um outro aspecto, um meio de armazenamento é descrito. O meio de armazenamento pode incluir um programa de software adaptado para a execução de um processador e para executar as etapas do processo descritas no presente documento, quando realizadas no processador.
[0074] De acordo com um outro aspecto, um produto de programa de computador é descrito. O programa de computador pode compreender instruções executáveis para realizar as etapas do processo descritas no presente documento, quando executadas em um computador.
[0075] Deve notar-se que os métodos e sistemas, incluindo as suas modalidades preferenciais como descritas no presente pedido de patente podem ser usados sozinhos ou em combinação com outros métodos e sistemas descritos no presente documento. Além disso, todos os aspectos dos métodos e sistemas descritos no presente pedido de patente podem ser arbitrariamente combinados. Em particular, as características das reivindicações podem ser combinadas uma com a outra de uma maneira arbitrária.
BREVE DESCRIÇÃO DAS FIGURAS
[0076] A invenção é explicada a seguir de uma forma exemplifica- tiva, com referência aos desenhos anexos, em que
[0077] Fig. 1a mostra um diagrama de blocos de um exemplo de cadeia de distribuição de conteúdo de áudio compreendendo um transcodificador;
[0078] Fig. 1b mostra um exemplo de estrutura de um quadro de metadados;
[0079] As Figuras 2a e 2b mostram exemplos de uma propriedade timestamp utilizada num quadro de metadados;
[0080] As Figuras 3a e 3b mostram exemplos de uma propriedade de-duplicação usada em um quadro de metadados;
[0081] Figuras 4a e 4b mostram exemplos de uma propriedade de duplicação usada num quadro de metadados; e
[0082] Figuras 5a a 5d e a Fig. 6 mostram exemplo de transcodifi- cador conectado a PCM.
DESCRIÇÃO DETALHADA
[0083] Tal como referido na seção dos fundamentos, o conteúdo de áudio é tipicamente associado com metadados e codificado num fluxo de bits de dados comum, compreendendo uma sequência de quadros de conteúdo codificado e uma sequência de reservatórios de metadados associados (também referidos como quadros de metadados). Fig. 1 mostra um diagrama de blocos de um sistema exemplifica- tivo de distribuição 100 para o conteúdo de áudio. Os métodos e sistemas descritos no presente documento são descritos no contexto de conteúdo de áudio. Deve notar-se, no entanto, que os métodos e sistemas são aplicáveis a outros tipos de conteúdos, tais como o conteúdo de vídeo. Em termos mais gerais, os métodos e sistemas descritos no presente documento são aplicáveis para o conteúdo multimídia, como áudio e/ou vídeo, em que o conteúdo multimídia está associado com metadados.
[0084] O sistema de distribuição 100 compreende um codificador 101 que está configurado para codificar o conteúdo de áudio e proporcionar um fluxo de bits codificado 110 (também referido como o primeiro fluxo de bits codificado 110 ou o fluxo de bits codificado de entrada 110). O primeiro fluxo de bits codificado 110 compreende tipicamente uma sequência de quadro de conteúdo codificado 111, em que um quadro de conteúdo codificado 111 pode ser associado com um quadro de metadados correspondente 112. O codificador 101 é configurado para proporcionar um primeiro fluxo de bits codificado 110 que é codificado de acordo com um primeiro sistema de codec de áudio. O primeiro sistema de codec de áudio pode, por exemplo, ser um de: Dolby E, Dolby Digital Plus, Dolby Digital Dolby True HD, Dolby Pulse, AAC e/ou HE-AAC. Os quadros de conteúdo 111 podem representar ou podem compreender um número predeterminado de amostras do conteúdo de áudio, por exemplo, 1536, 1024 ou 512 amostras do conteúdo de áudio.
[0085] O primeiro fluxo de bits codificado 110 é fornecido para um transcodificador 103 através de um meio de transmissão ou através de um meio de armazenamento 102. O transcodificador 103 está configurado para transcodificar ou converter o primeiro fluxo de bits codificado 110 para um segundo fluxo de bits codificado 120 (também referido como um fluxo de bits de saída 120), em que o segundo fluxo de bits codificado 120 é codificado de acordo com um segundo sistema de codec de áudio. O segundo sistema de codec de áudio pode ser diferente do primeiro sistema de codec de áudio. Por outro lado, o segundo sistema de codec de áudio pode ser o mesmo que o primeiro codec de áudio, mas utiliza uma configuração diferente, por exemplo, uma taxa de bits diferente, uma taxa de quadro diferente e/ou uma configu-ração de canal diferente. O segundo sistema de codec de áudio pode ser, por exemplo, um de: Dolby E, Dolby Digital Plus, Dolby Digital Dolby True HD, Dolby Pulse, AAC e/ou HE-AAC. De uma maneira semelhante à do primeiro fluxo de bits codificado 110, o segundo fluxo de bits codificado 120 compreende uma sequência de quadros de conteúdo 121 e uma correspondente sequência de quadros de metadados 122. Os quadros de conteúdo 121 do segundo fluxo de bits codificado 120 podem ter um tamanho de quadro que é diferente do tamanho do quadro dos quadros de conteúdo 111 do primeiro fluxo de bits codificado 110. O segundo fluxo de bits codificado 120 pode ser fornecido a um decodificador 104 para renderização do conteúdo de áudio.
[0086] Os quadros de metadados 112, 122 podem ter uma estrutu- ra predeterminada. Em outras palavras, os quadros de metadados 112, 122 podem seguir uma sintaxe predeterminada. A título de exemplo, os quadros de metadados 112, 122 podem seguir a chamada sintaxe de quadro de evolução ilustrada na Tabela 1. A sintaxe de quadro de evolução pode, por exemplo, ser utilizada no contexto de sistemas de codec de conteúdo multimídia padronizados, tais como o sistema de Digital Video Broadcast (DVB) e/ou um sistema de codec Moving Picture Expert Group (MPEG). Deve notar-se que a sintaxe de quadro de metadados mostrada na Tabela 1 e as seguintes tabelas é apenas um exemplo. As variações ou modificações da sintaxe são possíveis. Em particular, a sintaxe mostrada no presente documento pode ser estendida por campos adicionais, por exemplo, pelo fornecimento de funcionalidades adicionais.
Figure img0001
[0087] A semântica dos parâmetros do quadro de evolução mostrado na Tabela 1 pode ser a seguinte: • key_id pode ser um identificador da chave de criptografia usado para hashing (ou seja, utilizado para calcular os protection_bits do campo de proteção()). • payload_id pode ser um identificador de aplicação de carga seguinte; um payload_id END = "0000b" pode ter o significado que nenhuma outra carga está contida neste evo_frame (); • payload_size pode indicar o número de bytes no seguinte campo de carga útil.
[0088] A sintaxe de quadro de evolução especifica um quadro de metadados 112, 122 que pode compreender uma pluralidade de blocos de metadados, em que um bloco de metadados também é referido como um playload. Como tal, um quadro de metadados 112, 122 pode incluir zero, um ou mais blocos de metadados, em que cada bloco de metadados é indicativo de um tipo particular e/ou um aspecto particular de metadados. Exemplo para tipos de metadados são: • metadados descritivos que descrevem aspectos específicos do quadro de conteúdo 111 que o quadro de metadados 112 está associado com (por exemplo, informação de tempo e/ou harmônica); • metadados não relacionado que compreendem dados auxiliares, o que não está diretamente relacionado com o quadro de conteúdo 111 (tais como atualizações de firmware para um decodificador-alvo do conteúdo de áudio codificado); • metadados de controle que podem ser usados para controlar a ren- derização de uma ou mais amostras de quadro de conteúdo 111 que o quadro de metadados 112 está associado com (por exemplo, valores de sonoridade para uma ou mais amostras de quadro de conteúdo 111).
[0089] Como tal, o quadro de metadados 112 proporciona uma estrutura flexível que pode ser expandida por blocos de metadados adicionais, conforme necessário, a fim de descrever as características adicionais do conteúdo áudio codificado ou a fim de transmitir dados auxiliares adicionais dentro do fluxo de bits 110. No caso de nenhum metadados ser transmitido juntamente com um quadro de conteúdo 111, o quadro de metadados 112 pode compreender qualquer bloco de metadados, o que pode ser indicado na sintaxe do quadro de evolução da Tabela 1 por um payload_id o que corresponde a um ID de "FIM" predeterminado (identificador).
[0090] No presente documento, propõe-se adicionar um descritor para um bloco de metadados, em que o descritor descreve uma ou mais características ou propriedades dos metadados compreendidos dentro do bloco associado de metadados. Este descritor é referido como "payload_config ()" na sintaxe do quadro de evolução mostrado na Tabela 1. O descritor pode ser utilizado por um transcodificador para executar uma eficiente transcodificação do bloco de metadados, sem a necessidade de analisar os metadados compreendidos dentro do bloco associado de metadados. Como um resultado disto, a com-plexidade da transcodificação de metadados pode ser significativamente reduzida.
[0091] Em outras palavras, o presente documento descreve métodos de transcodificação de blocos de metadados (também referidos como cargas) dentro de um quadro de metadados 112 (por exemplo, dentro do quadro de evolução mostrado na Tabela 1) a partir de um fluxo de bits codificado para outro fluxo de bits. As operações de transcodificação podem ser guiadas por campos específicos dentro de cada carga útil (por exemplo, o campo "payload_config ()" de um bloco de metadados, como mostrado na Tabela 1). As operações de trans- codificação podem então ser especificadas de modo a que as cargas individuais possam ser adequadamente descodificadas a partir de um fluxo codificado para outro fluxo codificado, sem a necessidade de ex-trair ou interpretar a essência dos parâmetros de metadados subjacentes do bloco de metadados (isto é, sem a necessidade de extrair ou interpretar a essência das cargas úteis subjacentes).
[0092] Fig. 1b mostra um exemplo de quadro de metadados 130 (por exemplo, o quadro de metadados 112). O quadro de metadados 130 pode compreender um cabeçalho de quadro 131, que é indicativo de informações genéricas sobre a estrutura do quadro de metadados 130 e a associação do quadro de metadados 130 com um quadro de conteúdo 111 do fluxo de bits codificados 110. O cabeçalho de quadro 131 pode compreender alguns ou todos os campos do quadro de evolução da Tabela 1 que não estão relacionados com as cargas úteis da estrutura. Além disso, o quadro de metadados 130 pode compreender um ou mais blocos 140 de metadados (também referido como carga útil de metadados 140). Um bloco 140 de metadados pode compreender um cabeçalho de bloco 141, que pode ser indicativo do tamanho do bloco 140 de metadados (referido como payload_size na Tabela 1). Além disso, o bloco 140 de metadados pode compreender um descritor 142 (referido como payload_config () na Tabela 1), em que o descritor 142 pode ser indicativo do tipo de metadados e/ou de uma ou mais propriedades dos metadados, que é compreendida no campo de dados 143 (isto é, a payload() mostrado na Tabela 1) do bloco 140 de metadados.
[0093] Um descritor de exemplo 142 de um bloco 140 de metadados para um quadro de evolução, ou seja, um exemplo de campo "payload_config ()", é mostrado na Tabela 2. Pode ser visto que o descritor 142 pode compreender ou pode ser indicativo de uma ou mais propriedades dos metadados compreendidos dentro do bloco 140. No exemplo da Tabela 2, as propriedades são: • um parâmetro timestamp indicativo de uma amostra do conteúdo de áudio, ao qual os metadados do bloco 140 são aplicáveis. O timestamp pode indicar uma amostra que está compreendida dentro do quadro de conteúdo 111 que está associado com o quadro de metadados 112 do bloco 140. Em alternativa, ou em adição, o timestamp pode ser configurado para assumir valores suficientemente grandes, para indicar uma amostra que é composta dentro de um conteúdo de quadro que está sucedendo o quadro de conteúdo 111, que está associado com o quadro de metadados 112 do bloco 140. • um parâmetro de duração indicativo do número de amostras (a partir da amostra indicada pela timestamp), para o qual é os metadados do bloco 140 são aplicáveis. • um flag de transcodificação (referida como um flag que "não transco- difica" na Tabela 2) que fornece uma instrução para um transcodifica- dor sobre se deve ou não para transcodificar o bloco 140 de metadados. Se o flag "não transcodificar" estiver definida, o transcodificador pode simplesmente ignorar ou remover o bloco 140 de metadados quando transcodificar o fluxo de bits de entrada 110. Isto pode ser útil no caso de metadados que são relevantes apenas para o primeiro sistema de codec do fluxo de bits de entrada 110, e não faz sentido para qualquer outro sistema de codec para o qual o fluxo de bits 110 pode ser transcodificado (como é o caso, por exemplo, para uma verificação de redundância cíclica (CRC) que é gerada sobre os dados compreendidos no interior do fluxo de bits de entrada 110. Um CRC tipica-mente só faz sentido, se os dados codificados não são modificados, de modo que não há necessidade para transcodificar o CRC). Em termos mais gerais, o flag de transcodificação pode ser usado para identificar metadados que somente são úteis durante o processo de descodificação do fluxo de bits de entrada dentro do transcodificador (e, portanto, não é necessário para o processo de recodificar subsequente para gerar o fluxo de bits de saída). • um flag duplicado que proporciona uma instrução para um transcodi- ficador sobre se deve ou não duplicar os metadados compreendidos dentro do bloco 140, quando o tamanho do quadro de conteúdo 111 antes e após a transcodificação difere. • um flag de-duplicado que fornece uma instrução para um transcodifi- cador sobre se deve ou não remover duplicatas dos metadados compreendidos dentro do bloco 140, quando o tamanho do quadro de conteúdo 111 anterior e posterior à transcodificação difere, • um parâmetro de prioridade que fornece uma indicação da importân- cia relativa dos metadados compreendidos dentro do bloco 140. O transcodificador pode utilizar o parâmetro de prioridade para selecionar um ou mais blocos 140 a partir de um quadro de metadados 130, por exemplo, se a taxa de bits permitida do segundo fluxo de bits transcodificado 120 é reduzida no que diz respeito à taxa de bits do primeiro fluxo de bits 110. • um flag de associação (referida como o flag "now_or_never" na Tabela 2), que fornece uma indicação para o transcodificador sobre se ou não os metadados compreendidos dentro do bloco 140 estão associados com o quadro de conteúdo correspondente 111. Como tal, se o flag "now_or_never" é definido, o transcodificador está ciente do fato de que os metadados compreendidos dentro do bloco 140 devem ser ou transcodificados imediatamente ou devem ser retirados (como o flag "now_or_never" indica que o decodificador não pode utilizar os metadados se os metadados estão atrasados).
Figure img0002
[0094] Em outras palavras, a semântica dos parâmetros de propriedades do descritor 142 mostrado na Tabela 2 pode ser como segue: • um parâmetro timestamp indicando o deslocamento em amostras a partir do início do quadro de conteúdo 111 ao qual a carga 143 em questão pertence; • um parâmetro de duração indica o tempo em amostras para as quais a carga útil 143 em questão permanece válida; • um flag não_transcodificar que sinaliza se a carga útil 143 em questão deve ser descartada quando transcodificar (flag = 1) ou se trans- codificação pode ocorrer (flag = 0); • um flag duplicado que - quando definido como 1 - sinaliza de que a carga 143 em questão tem de ser repetida durante a transcodificação para que apareça nos blocos transcodificados 140 entre timestamp e timestamp + duração. O flag duplicado pode ser definido, por exemplo, para os dados de sonoridade para indicar que os quadros têm o mesmo dialnorm. Em termos mais gerais, o flag duplicado pode ser definida para metadados que não têm uma noção de tempo. O flag duplicado normalmente não está definido para dados que suportam o conceito de tempo, por si só, como por exemplo, o fluxo de bits de um codec. Em outras palavras, os metadados que são cronometrados internamente não podem ser fornecidos com um flag duplicado e/ou de- duplicado que é definido, em que o termo "cronometrado internamen-te" significa que apenas a sequência exata dos blocos de metadados é significativa, ou seja, uma repetição ou de-duplicação poderia invalidar os metadados. Um exemplo de metadados que é cronometrado internamente é um fluxo de bits diferente (diferente do conteúdo compreendido dentro dos quadros de conteúdo) que é embutido em uma sequência de blocos de metadados de uma sequência de quadros de metadados. A carga útil de um dito fluxo de bits nunca deve ser repetida ou de-duplicada. Caso contrário, o fluxo de bits seria repetido em partes ou parcialmente cortado. Outro exemplo para os dados cronometrados internamente é dados binários, como um programa executável. Se tais dados binários são transmitidos em vários blocos de metadados de vários quadros de metadados, em seguida, a duplicação ou a de-duplicação de blocos de metadados poderia invalidar o significado dos dados binários. • um flag de-duplicado: O flag de-duplicado pode assegurar que, durante a transcodificação, cada bloco de metadados de um ID particular dentro do mesmo quadro de metadados de saída além da primeira que tem esto flag definida como um pode ser excluído. O flag de-duplicado pode ser definido, por exemplo, para os dados de sonoridade como dialnorm que não precisa estar presente diversas vezes por quadro de metadados de saída 122. • um flag "now_or_never" que indica que uma carga útil não deve ser adiada enquanto transcodificando. • um parâmetro de processamento de PCM, referido como um parâmetro "tight_coupling" na Tabela 2. O parâmetro de processamento de PCM pode, por exemplo, ser utilizado no contexto de um transcodifi- cador conectado a PCM tal como descrito abaixo, a fim de informar o transcodificador conectado a PCM sobre a forma de lidar com os metadados de um quadro de metadados particular que está associado com um quadro de conteúdo em particular, no caso de uma alteração das amostras do sinal compreendida dentro do quadro de conteúdo. A função do parâmetro de processamento de PCM será descrita em maiores detalhes abaixo, ao descrever as funções de um transcodifi- cador conectado a PCM.
Figure img0003
[0095] A Tabela 3 mostra a sintaxe de um campo de dados de exemplo 143 de um bloco 140 de metadados.
[0096] Como descrito acima, a sintaxe de fluxo de bits para o transporte de metadados (ou seja, o quadro de metadados 130 que compreende um bloco 140 de metadados) pode definir propriedades de metadados genéricos (por exemplo, compreendida no descritor 142, isto é, no campo payload_config () mostrado na Tabela 2). Estas propriedades permitem uma simples cópia dos metadados de um fluxo de bits de entrada (ou seja, primeiro) 110 para um fluxo de saída de saída (isto é, segundo) 120, mesmo se o primeiro codec (utilizado para codificar o fluxo de bits de entrada 110) e o segundo codec (usado para codificação do fluxo de bits de saída 120) usar enquadramento diferente. A maneira que a cópia dos metadados é feita é guiada pelas propriedades compreendidas no descritor 142. A única coisa que pode ter de ser alterada durante o processo de transcodificação pode ser as próprias propriedades. No entanto, a modificação das propriedades compreendidas no descritor 142 não necessita de conhecimento sobre o significado real dos metadados compreendidos dentro do campo de dados 143 do bloco 140.
[0097] No que segue, as propriedades exemplares mostradas na Tabela 2 são descritas com mais detalhes. Em particular, descreve-se, como o transcodificador 103 pode fazer uso de uma ou mais das propriedades indicadas pelo descritor de 142 para a realização de uma eficiente transcodificação dos metadados compreendidos dentro de um bloco 140 de metadados.
[0098] As Figuras 2a e 2b ilustram o uso do parâmetro timestamp compreendido dentro do descritor 142 de um bloco 140 de metadados. Na Fig. 2a é ilustrado como o parâmetro de timestamp 201 pode ser atualizado por uma transcodificador 103, quando transcodificar metadados a partir do primeiro fluxo de bits 110 com o segundo fluxo de bits 120. No exemplo ilustrado, o parâmetro timestamp 201 indica a posição de uma determinada amostra 202 em relação ao fim do quadro de conteúdo associado 111 (ou seja, em relação à amostra mais recente). Como tal, o parâmetro timestamp 201 é indicativo de um "atraso" da amostra 202 com relação à amostra mais recente compreendida dentro do quadro de conteúdo 111. No exemplo ilustrado da Fig. 2, os quadros de conteúdo 121 do segundo fluxo de bits 120 têm uma forma diferente, em particular, maior, do que os quadros de conteúdo 111 do primeiro fluxo de bits 110. Como um resultado disso, a amostra particular 202 pode ser localizada numa posição relativa diferente dentro do quadro de conteúdo 121 do segundo fluxo de bits 120 em comparação à posição relativa dentro do quadro de conteúdo 111 do primeiro fluxo de bits 110. Em particular, a amostra particular 202 pode apresentar um "atraso" diferente com relação à amostra mais recente compreendida dentro do quadro de conteúdo de saída 121, que diz respeito à amostra mais recente compreendida dentro do quadro de conteúdo de entrada 111. Como um resultado disso, o parâmetro timestamp 201 compreendido no quadro de metadados 112 do primeiro fluxo de bits 110 pode ter de ser modificado, quando inserido no quadro de metadados 122 do segundo fluxo de bits 120, originando assim o parâmetro timestamp transcodificado 203.
[0099] Fig. 2b ilustra a possibilidade de mover os blocos de metadados 140 dentro do fluxo de bits 110, 120. Isto pode ser útil, a fim de suavizar a taxa de bits do fluxo de bits 120, subsequente a transcodifi- cação. A título de exemplo, os metadados de um determinado bloco 140 no quadro de metadados 112 podem ser associados com a amostra particular 202 no quadro de conteúdo 111 (indicado pelo parâmetro timestamp 211). Como descrito acima, a localização da amostra particular 202 pode ser indicada em relação à última, isto é, a mais recente, amostra do quadro de conteúdo de entrada 111. Se não é essencial que os metadados do bloco particular 140 chegue diretamente subsequente ao conteúdo 121 que compreende a amostra 202 (como pode ser indicado pelo flag de associação (referido como flag "now-or-never" na Tabela 2), o bloco particular 140 pode ser movido pelo transcodifi- cador para um quadro de metadados 222 de quadro de conteúdo 221 que é subsequente ao quadro de conteúdo 121 compreendendo a amostra 202. O transcodificador 103 pode atualizar o parâmetro timestamp 213 de tal modo que ele aponta para a amostra correta 202.
[00100] Em particular, o parâmetro timestamp 213 pode indicar o local da amostra de 202 em relação à última, isto é, a mais recente, amostra de quadro de conteúdo de saída 221 que o quadro de metadados de saída 222, que compreende o parâmetro timestamp 213 está associado. Para este fim, o parâmetro timestamp 213 pode assumir valores que excedem o número de amostras compreendido dentro de um quadro de conteúdo 221. De uma maneira semelhante, o parâmetro de timestamp 213 pode ser configurado para assumir valores negativos. Tais valores negativos poderiam ser usados para indicar uma amostra 202 que está compreendida num quadro de conteúdo futuro, isto é, num quadro de conteúdo que é subsequente ao quadro de con-teúdo 221 associado com o quadro de metadados 222 compreendendo o parâmetro timestamp 213. Ao fazer isso, os metadados podem ser transmitidos antes de uma ou mais amostras que estão associadas com (por exemplo, que devem ser aplicadas a).
[00101] Como tal, o parâmetro timestamp 211 (possivelmente em combinação com o flag de associação) permite um transcodificador 103 para transmitir os metadados associados com um timestamp 211 em um quadro de metadados subsequente ou anterior 222 e ajustar a timestamp 213 tal que se refere à mesma amostra de PCM 202 (ainda que após a transcodificação, a amostra 202 não é compreendida no quadro de conteúdo 221, que está associado com o quadro de metadados 222, que compreende o bloco particular 140). Como resultado disto, o transcodificador 103 é fornecido com alguma flexibilidade para suavizar a taxa de bit do segundo fluxo de bits 120.
[00102] Deve notar-se que - em um modo semelhante ao transcodi- ficador 103 - o codificador 101 pode ser configurado para incluir metadados para uma amostra em um quadro de metadados subsequente. Como tal, o codificador 101 pode ser configurado para gerar um timestamp 213, que aponta para uma amostra 202 que está compreendida em um quadro de conteúdo 121 que não é o quadro que o quadro de conteúdo do quadro de metadados compreendendo o timestamp 213 que está associado com.
[00103] As Figuras 3a e 3b ilustram possíveis casos de uso do flag de-duplicado indicado pelo descritor 142 de um bloco 140 de metadados. Nos casos ilustrados, os quadros de conteúdos 121 do segundo fluxo de bits 120 representam um número maior de amostras (isto é, têm um tamanho de quadro superior) do que os quadros de conteúdo 111 do primeiro fluxo de bits 110. Se os tamanhos de quadros diferem, podem ocorrer situações em que um único quadro de conteúdo 121 do segundo fluxo de bits 120 compreendia amostras de mais de um quadro de conteúdo 111 do primeiro fluxo de bits 110. Nesses casos, os blocos 140 de metadados podem estar disponíveis a partir de mais do que um quadro de metadados 112 associado com mais de um quadro de conteúdo 111 do primeiro fluxo de bits 110. O transcodificador 103 tem de decidir quais dos blocos 140 de metadados devem ser incluídos no único quadro de metadados 122 do quadro de conteúdo único 121 do segundo fluxo de bits 120. O flag de-duplicado de um bloco particular 140 pode indicar ao transcodificador 103 que o bloco particular 140 não precisa ser inserido em um quadro de metadados 122 do segundo fluxo de bits 120, se os blocos de metadados 140 de uma pluralidade de quadros de metadados 112 do primeiro fluxo de bits 110 devem ser mesclados. Como tal, o transcodificador 103 pode ser configurado para cair ou ignorar os blocos de metadados 140 de quadros de metadados adicionais 112, para o qual o flag de-duplicado está de- finido.
[00104] Isto é ilustrado na Fig. 3a, onde o quadro de conteúdo de saída 121 (isto é, o quadro de conteúdo 121 do fluxo de bits de saída 120) compreende as amostras dos quadros de conteúdo de entrada 111 e 311 (ou seja, quadros de conteúdo 111, 311 do fluxo de bits de entrada 110). O decodificador 103 tem de decidir quais dos blocos 140 dos quadros de metadados de entrado 112, 312 (ou seja, quadros de metadados 112, 312 do fluxo de bits de entrada 110) devem ser incluídos no quadro de metadados de saída 122 (ou seja, quadros de metadados 122 do fluxo de bits de saída 120) associados com o quadro de conteúdo de saída 121. No exemplo ilustrado da Fig. 3a, é assumido que o flag de-duplicado é definido pelo menos por um ou mais blocos 140 do quadro de metadados de entrada 312. Como tal, o transcodifi- cador 103 pode ser configurado para deixar cair os blocos 140 do quadro de metadados de entrada 312.
[00105] Deve notar-se que o flag de de-duplicação dos um ou mais blocos 140 do quadro de metadados de entrada 112 pode também ser definida. O decodificador 103 pode ser configurado apenas soltar os blocos 140 de um segundo (ou mais) quadro de metadados 312 usado para construir os quadros de metadados de saída 122. Em outras palavras, o transcodificador 103 pode ser configurado para considerar o flag de-duplicado apenas se mais do que um quadro de metadados de entrada 112 deve ser considerado para a geração de um quadro de metadados de saída 122. Como tal, o flag de-duplicado pode ser utilizado para prevenir "duplicadas" de um determinado tipo de bloco de metadados 140, e ainda garantir que pelo menos um bloco de metadados 140 do tipo particular está incluído.
[00106] Fig. 3b ilustra um exemplo de caso, onde o flag de- duplicado não está definido. Neste caso, o transcodificador 103 pode ser configurado para considerar os blocos 140 da pluralidade de qua- dros de metadados de entrada 112 e 312 para a construção do quadro de metadados de saída 122. Em particular, o transcodificador 103 pode ser configurado para inserir um bloco 140 a partir do quadro de entrada de metadados 312 no quadro de metadados de saída 122, se o flag de-duplicado não é definido (mesmo em situações, em que o quadro de metadados de saída 122 é gerado a partir de uma pluralidade de quadros de metadados de entrada 112, 312).
[00107] O flag de-duplicado pode, por exemplo, ser usado para identificar blocos de metadados 140, que são inseridos em uma pluralidade de quadros de metadados sucedendo 112, 312 (por exemplo, em cada quadro de metadados 112, 312 de um fluxo de bits 110). Como tal, o flag de-duplicada permite um transcodificador 103 para identificar facilmente blocos de metadados 140, que podem ser descartados (sem a necessidade de analisar os metadados armazenados no campo de dados 143 do bloco 140 de metadados). Como resultado, a complexidade computacional para transcodificação de metadados é reduzida. Por outro lado, um flag de-duplicado que não está definido indica que um bloco correspondente 140 de metadados não deve ser solicitado. Isto pode ser usado para dados auxiliares, a fim de assegurar que os dados auxiliares não são liberados, mesmo se uma pluralidade de quadros de metadados de entrada 112, 312 é transcodificada em um único quadro de metadados de saída 122.
[00108] As Figuras 4a e 4b ilustram um exemplo de uso do flag duplicado indicada no descritor 142 de um bloco 140 de metadados. No caso ilustrado, o quadro de conteúdo de entrada 111 compreende um número maior de amostras (isto é, tem um tamanho de quadro maior) do que o quadro de conteúdo de saída 121. Se os tamanhos de quadros diferem, podem ocorrer situações em que as amostras de um quadro de conteúdo de entrada única 111 estão compreendidas dentro de mais do que um quadro de conteúdo de saída 121, 321. Como uma consequência, o transcodificador 103 recebe um único quadro de metadados de entrada 112 e tem de decidir em qual de um de uma pluralidade de quadros de metadados de saída 122, 322 colocar um determinado bloco 140 de metadados. O flag duplicado pode ser usado para indicar para o transcodificador 130 se ou não duplicar um determinado bloco 140 a partir do quadro de metadados de entrada 112. Ao definir o flag duplicado, pode ser indicado que os metadados compreendidos dentro do bloco 140 devem ser compreendidos dentro cada quadro de metadados de saída 122, 322, como é mostrado na Fig. 4a. Por outro lado, um flag duplicado não definido indica que o bloco de metadados 140 deve ser apenas transmitido uma vez. Como tal, o transcodificador 103 insere o bloco 140 do quadro de entrada de metadados 112 apenas em uma única da pluralidade de quadros de metadados de saída 122, 322 (conforme ilustrado na Fig. 4b).
[00109] Como descrito acima, o descritor 142 de um bloco 140 de metadados pode ser indicativo de um flag de associação (referida como o flag "now_or_never" na Tabela 2). O flag de associação pode indicar que os metadados compreendidos dentro do bloco 140 podem ser atrasados sem afetar o conteúdo compreendido no quadro de conteúdo associado. Como tal, a sintaxe do descritor 142 pode permitir que um transcodificador 103 atrase os metadados por uma quantidade arbitrária de tempo, se esta é uma propriedade dos metadados. Isto pode ser indicado através da fixação do flag now_or_never a 0. O flag de associação permite ao transcodificador 103 transmitir os metadados que estão compreendidos dentro do bloco 140, por exemplo, quando o codec de áudio subjacente pode "gerar" a transmissão dos metadados, por exemplo, quando os quadros de conteúdo compreendem silêncio. Um exemplo de metadados que pode ser atrasado é o de dados auxiliares ou dados binários, uma atualização de firmware, que não necessita ser transmitida juntamente com um quadro de con- teúdo 121 particular.
[00110] Tal como descrito no contexto da Tabela 2, o descritor 142 de um bloco 140 de metadados pode ser indicativo de, ou pode compreender uma propriedade de prioridade ou um parâmetro de prioridade. O parâmetro de prioridade pode indicar uma importância relativa dos metadados de um bloco particular 140 (por exemplo, em relação à importância de outros blocos 140). Um transcodificador 103 pode decidir para apenas transcodificar um certo número de blocos de metadados 140 e descartar todos os outros blocos de metadados no quadro de metadados 112. Isto pode, por exemplo, ser necessário quando a transcodificação de uma taxa de bits mais elevada de entrada 110 a um menor taxa de bits do fluxo de bits de saída 120. O parâmetro de prioridade pode permitir que o transcodificador 103 selecione os blocos 140 de um quadro de metadados de entrada 112 que tem as maiores prioridades relativas e descartar (ou atrasar) os blocos 140 tendo prioridades relativas inferiores.
[00111] Aplicações e/ou codificadores 101 podem fornecer vários conjuntos de metadados no mesmo quadro de metadados 112, cada um com uma prioridade diferente. Os vários conjuntos de metadados podem ser associados com diferentes qualidades de metadados. A prioridade de mais elevada qualidade de metadados pode ser menor do que a prioridade de metadados de qualidade inferior. Como tal, o transcodificador 103 pode ser configurado para degradar a qualidade dos metadados, considerando o parâmetro de prioridade. A título de exemplo, se as prioridades são estabelecidas de um modo tal que a escalabilidade é possível, ou seja, a cada conjunto de metadados pode ser aplicado, se todos os conjuntos de metadados de uma mesma aplicação de uma prioridade mais elevada são transmitidos, em seguida, um transcodificador pode graciosamente degradar a qualidade do metadados sem ter que saber sobre o significado dos metadados. Em particular, os vários conjuntos de metadados podem incluir metadados incrementais, ou seja, cada conjunto de metadados pode adicionar um pouco de qualidade para o conjunto de metadados com a próxima prioridade mais alta. A mais alta qualidade de metadados pode então ser fornecida pela combinação de todos os conjuntos de metadados (da mais alta prioridade para a mais baixa prioridade). Como tal, um quadro de metadados de entrada 112 pode compreender uma pluralidade de blocos 140 de metadados incrementais, em que o bloco 140 de metadados com a prioridade mais elevada compreende uma versão dos metadados com qualidade mínima aceitável e em que os blocos 140 com sucessivamente menor prioridade compreendem versões incrementais de metadados que permitem aumentar incrementalmente a qualidade dos metadados. Como tal, o transcodificador 103 pode decidir sobre a qualidade dos metadados que está incluída no segundo fluxo de bits 120, considerando os parâmetros de prioridade da pluralidade de blocos 140 de metadados incrementais.
[00112] Tal como indicado no exemplo sintaxe de um quadro de metadados 112 mostrado na Tabela 1, o quadro de metadados 130 pode compreender um campo de proteção. O campo de proteção pode ser usado para permitir o decodificador 104 para verificar se o conteúdo do quadro de metadados 130 e/ou o conteúdo do quadro de conteúdo associado foi modificado e pode, portanto, ser inválido. Em outras palavras, o campo de proteção pode permitir um decodificador 104 para verificar se os metadados compreendidos dentro de um quadro de metadados 130 e/ou dentro de um conteúdo de quadro associado são de confiança ou não. A Tabela 4 mostra um exemplo da sintaxe de um campo de proteção de um quadro de metadados 130. O campo de proteção pode ser compreendido dentro do cabeçalho 131 do quadro de metadados 130.
Figure img0004
[00113] A semântica do campo de proteção pode ser a seguinte: • protection_bits_frame pode compreender a carga de proteção truncada do quadro atual (compreendendo o quadro de conteúdo e/ou o quadro de metadados associado). • protection_bits_history pode compreender a carga de proteção truncada do quadro atual e dos quadros antes do quadro atual (compreendendo o quadro de conteúdo e/ou o quadro de metadados associado). Um esquema de exemplo para garantir uma sequência de quadros está descrito no WO2011/015369, cujo conteúdo é aqui incorporado por referência.
[00114] Como tal, o campo de proteção pode compreender um ou mais valores de criptografia. Um dos valores criptográficos pode ser gerado com base nos metadados compreendidos dentro de um quadro de metadados atual (compreendendo o campo de proteção) e/ou com base no quadro de conteúdo associado com o quadro de metadados atual. Como tal, pode ser assegurado que um quadro de metadados isolado e/ou o quadro de conteúdo associado não são modificados. Outro dos valores criptográficos pode ser gerado com base nos metadados compreendidos dentro do quadro de metadados atual e dentro de um ou mais quadros de metadados anteriores (assim como nos respectivos quadros de conteúdo associado). Como tal, pode ser assegurado que as sequências de quadros de conteúdo e/ou quadros de metadados não são modificados.
[00115] Um valor criptográfico pode ser determinado em um codificador 101 através da aplicação de uma função de sentido único para um grupo de um ou mais quadros de metadados 112, 312 e/ou quadros de conteúdo associados 111, 311. Em particular, um valor criptográfico pode ser gerado usando um valor de chave e uma função hash criptográfica (a chamada função de um sentido). Em particular, o valor criptográfico pode ser gerado através do cálculo de um valor HMAC- MD5 (código de autenticação de mensagem hash) para os dados compreendidos dentro de um ou mais quadros de metadados 112, 312 e para os dados compreendidos dentro de um ou mais de quadros de conteúdo associados 111, 311. Além disso, a geração do valor criptográfico pode compreender o truncamento do valor HMAC-MD5, por exemplo, truncando a 16, 24, 32, 48, 64 ou 128 bits. O truncamento pode ser benéfico tendo em vista reduzir a sobrecarga necessária para o valor criptográfico no fluxo de bits codificado 110 compreendendo os quadros de metadados 112, 312. Deve notar-se que outras funções hash, como um SHA-1 ou SHA-256, pode ser tal utilizado em vez de MD5. Além disso, deve notar-se que o codificador 101 pode ser configurado para transmitir zero bit de um valor de criptografia, ou seja, pa ra transmitir nenhum valor criptográfico, por exemplo, na situação em que não é necessária qualquer proteção dos metadados.
[00116] Em mais detalhe, o valor criptográfico para um ou mais quadros de conteúdo 111, 311 e de um ou mais quadros de metadados 112, 312 pode ser determinado por meio de uma função hash criptográfica H(.) e uma chave K "secreta" (também referida como chave de segurança), que é normalmente acolchoada para a direita com zeros extras para o tamanho do bloco da função hash H(.) para determinar um código de autenticação de mensagens de hash (HMAC) de um ou mais quadros de conteúdo 111, 311 e de um ou mais quadros de metadados 112, 312. Deixar o sinal II denota uma concatenação e o sinal Φ denota um exclusivo ou, e o preenchimento exterior opad = 0x5c5c5c... 5c5c e o acolchoamento interior ipad = 0x363636... 3636 ser constantes do comprimento do tamanho do bloco da função hash H(.), em seguida, o valor HMAC do um ou mais quadros de conteúdo 111, 311 e de um ou mais quadros de metadados 112, 312 pode ser escrito como
Figure img0005
em que m é a sequência de bits combinada de um ou mais quadros de conteúdo 111, 311 e de um ou mais quadros de metadados 112, 312. O tamanho do bloco utilizado com funções hash MD5 ou SHA-1 ou SHA-256 são tipicamente 512 bits. O tamanho da saída da operação HMAC é a mesma que a da função hash subjacente, ou seja, 128 bits no caso de MD5 ou 160 bits no caso de SHA-1.
[00117] Como tal, o campo de proteção pode compreender, pelo menos, dois valores criptográficos • um valor criptográfico de quadro (referido como "protec- tion_bits_frame" na Tabela 4), que é indicativo da autenticidade de um quadro individual de conteúdo 111 e o seu quadro de metadados as- sociado 112. O valor criptográfico de quadro pode ser usado para identificar se os dados do conteúdo individuais 111 e seu quadro de metadados associados 112 foram alterados. O valor criptográfico de quadro pode ser determinado utilizando uma mensagem m que compreende a sequência de bits de conteúdo individual 111 e de seu quadro de metadados associados 112 (ou a carga compreendida dentro do quadro de conteúdo individual 111 e de seu quadro de metadados associados 112). • um valor criptográfico de história (referido como "protec- tion_bits_history" na Tabela 4), que é indicativo da autenticidade de uma sequência de pelo menos dois quadros de conteúdo 111, 311 e os seus associados pelo menos dois quadros de metadados 112, 312. O valor criptográfico de história pode ser usado para identificar se a sequência de pelo menos dois quadros de conteúdo 111, 311 e seus quadros de metadados associados 112, 312 foram alterados. O valor histórico criptográfico pode ser determinado utilizando uma mensagem m que compreende a sequência de bits de pelo menos dois quadros de conteúdo 111, 311 e os seus associados pelo menos dois quadros de metadados 112, 312 (ou da carga nela composto).
[00118] Como descrito acima, os valores de criptografia são determinados utilizando uma chave de segurança K, que é normalmente conhecida apenas pelo codificador 101 e o decodificador 104. No presente documento, propõe-se permitir que vários níveis de confiança, permitindo a utilização de diferentes chaves de segurança K proporcionando diferentes níveis de confiança. A título de exemplo, podem ser proporcionados, pelo menos, dois níveis de chaves de confiança • uma chave de alta segurança K1, que não pode ser divulgada a todas as partes fora da entidade que fornece os componentes 101, 103, 104 ao longo de uma cadeia de distribuição 100. Tal entidade pode ser um provedor de sistemas de codecs utilizados ao longo da cadeia de dis- tribuição 100 (por exemplo, Dolby Laboratories). Em particular, essa entidade poderá ser o fornecedor dos codificadores e os decodificado- res utilizados ao longo da cadeia de distribuição 100. Ao manter a chave de segurança altamente reservada, pode ser assegurado que um decodificador 104, que processa o sinal de áudio compreendido dentro do fluxo de bits recebido 120 pode estar certo de que os metadados compreendidos nos quadros de metadados 122, 322 do fluxo de bits recebido 120 são autênticos e não foi modificado de forma não autorizada ao longo da cadeia de distribuição 100. • uma chave de segurança moderada K2, que pode ser divulgada a outras partes, por exemplo, as partes operando alguns dos componentes 101, 103, 104 ao longo da cadeia de distribuição 100 (por exemplo, licenciados do fornecedor dos sistemas de codec). Se o decodificador 104 recebe um fluxo de bits 120, que foi protegido usando a chave de segurança moderada K2, o decodificador 104 sabe que o fluxo de bits 120 compreende metadados (nos quadros de metadados 122, 322), que foi tratado de acordo com algumas políticas do operador da cadeia de distribuição 100, que podem ser diferentes das políticas do fornecedor dos sistemas de codec (segurando a chave altamente segura K1).
[00119] Uma indicação da chave de segurança K utilizada pelo codificador 101 pode ser fornecida dentro de um quadro de metadados 130 (por exemplo, dentro do cabeçalho 131 do quadro de metadados 130). Isto é ilustrado na Tabela 1, que mostra o parâmetro key_id. O parâmetro key_id pode compreender um índice para um número predeterminado de chaves de segurança, permitindo assim que o decodi- ficador 104 determine a chave de segurança K, que foi utilizada para determinar os um ou mais valores criptográficos, em que o um ou mais valores de criptografia podem ser compreendidos no campo de proteção () do quadro de metadados 130, como mostrado na Tabela 4. O decodificador 104 pode, em seguida, utilizar a chave de segurança identificada para determinar os um ou mais valores criptográficos da mesma maneira como feito pelo codificador correspondente 101. Os valores criptográficos que são determinados pelo decodificador 104 podem ser referidos como os valores criptográficos de verificação. Os valores criptográficos de verificação são então comparados com os valores armazenados criptográficas no quadro de metadados 103. No caso de uma combinação, confirma-se que o quadro individual e/ou que a sequência de quadros não foi modificada. Por outro lado, em caso de uma incompatibilidade, confirma-se que o quadro individual e/ou que a sequência de quadros foi modificada.
[00120] Como alternativa ou em adição ao fornecimento de uma indicação da chave de segurança dentro do quadro de metadados 130, o decodificador 104 pode ser configurado para determinar uma pluralidade de conjuntos de valores criptográficos de verificação, usando uma pluralidade de chaves de segurança predeterminadas conhecidas para o decodificador 104. Se um dos conjuntos de valores criptográficos de verificação coincide com os valores criptográficos compreendidas no quadro de metadados 130, o decodificador 104 sabe que chave de segurança foi usada e que o quadro individual e/ou que a sequência de quadros não foi modificada. Por outro lado, uma incompatibilidade para todos os conjuntos de valores criptográficos de verificação indica que o quadro individual e/ou que a sequência de quadros foi modificada.
[00121] Ser capaz de detectar qual chave foi usada para garantir um fluxo de bits 110, 120 em decodificadores 104 e 103 e transcodifi- cadores permite que os aplicativos para tomar decisões mais finas de granulação sobre o que fazer com os dados de confiabilidade diferente. As decisões podem ser diferentes dependendo da chave de segurança detectada. Em particular, a chave de segurança alta pode ser detectada, a chave de segurança moderada pode ser detectada ou nenhuma chave válida pode ser detectada e a verificação de segurança não pode passar.
[00122] Como tal, os níveis de fiabilidade podem ser proporcionados quando se utiliza uma pluralidade de diferentes chaves de segurança (que estão ligadas a diferentes níveis de confiança), em comparação com uma solução que utiliza apenas uma única chave de segurança, em que apenas uma decisão binária pode ser feita em função dos dados pode ser confiável ou não.
[00123] Tal como descrito no contexto da Fig. 1, uma cadeia de distribuição 100 para o conteúdo de áudio pode compreender um trans- codificador 103 que é configurado para converter um fluxo de bits de entrada 110 para um fluxo de bits de saída 120. A transcodificação realizada pelo transcodificador 103 pode referir-se a transcodificação de um primeiro sistema de codec de áudio de um segundo, possivelmente diferente, sistema de codec de áudio. Alternativamente ou em adição, a transcodificação pode dizer respeito a uma mudança da taxa de bits do fluxo de bits de saída 120 no que diz respeito à taxa de bits do fluxo de bits de entrada 110. O transcodificador 103 pode compreender um decodificador para decodificar o fluxo de bits de entrada 110 num sinal de áudio PCM (pulso de código modulado). Além disso, o transcodifi- cador 103 pode compreender um codificador para codificar o sinal de áudio PCM para o fluxo de bits de saída 120. Um dito transcodificador 103 pode ser referido como um transcodificador "conectado a PCM", como o um ou mais decodificadores (para decodificar um ou mais fluxos de bits de entrada 110) estão ligados a um ou mais codificadores (para codificar os um ou mais fluxos de bits de saída 120) através de PCM linear.
[00124] O transcodificador 103 pode ser um chamado transcodifi- cador profissional, que é um dispositivo usado por provedores de con- teúdo profissional, como emissoras. Como descrito acima, o transcodi- ficador 103 pode ser configurado para aceitar o fluxo de bits de entrada 110 num primeiro formato (por exemplo, Dolby E) e para transcodi- ficar o fluxo de bits de entrada 110 para um formato diferente (por exemplo, Dolby Digital Plus). Tais transcodificadores 103 incorporam tipicamente um ou mais decodificadores (para decodificar o fluxo de bits de entrada 110) e um ou mais codificadores (para codificar o fluxo de bits de saída 120).
[00125] Um transcodificador conectado a PCM pode ter uma ou mais etapas de processamento de PCM entre o decodificador e o codificador. O nivelamento de sonoridade é um exemplo de tal processamento de PCM. Outros exemplos de processamento de PCM são conversão da taxa de amostra, downmixing de canal, e/ou upmixing de canal.
[00126] Tais transcodificadors conectado a PCM 103 possuem um desafio no que diz respeito a questões de autenticidade, de proteção e de confiança acima referidos. Como descrito acima, um fluxo de bits de entrada 110 pode compreender quadros de metadados 112, 312 que são protegidos usando um ou mais valores de criptografia (compreendido, por exemplo, no campo da proteção dos quadros de metadados 112, 312, como mostrado nas Tabelas 1 e 4). Um decodificador conectado a PCM 103 permite que um usuário modifique os dados de PCM derivados a partir dos quadros de conteúdo 111, 311, desse modo, possivelmente invalidando os metadados compreendidos nos quadros de metadados associados 112, 312, e, assim, possivelmente comprometendo a confiabilidade dos metadados.
[00127] No presente documento, um método e um sistema para assegurar a confiabilidade dos metadados em um transcodificador 103 são descritos. Em particular, o método e sistema descritos permitem a confiabilidade dos metadados incluídos em quadros de metadados 112, 312 para ser mantidos, mesmo quando se usa um transcodifica- dor conectado a PCM 103.
[00128] As Figuras 5a a 5d mostram exemplos de transcodificadors conectados a PCM 503, 513, 523, 533, respectivamente. Os transcodi- ficadores compreendem um decodificador 504, que está configurado para converter o fluxo de bits de entrada 110 (que compreende uma sequência de quadros de conteúdo 111 e uma sequência de quadros de metadados associados 112) nos dados PCM e metadados, respectivamente. O decodificador 504 pode ser configurado para verificar a regularidade do fluxo de bits de entrada 110 usando o esquema de proteção descrito acima. Para esta finalidade, o decodificador 504 pode estar ciente de algumas ou de todas as chaves de segurança predeterminadas.
[00129] Normalmente, um decodificador 504 fornece um conjunto desprotegido de dados PCM e metadados (por exemplo, em uma base de quadro a quadro). Em outras palavras, o decodificador 504 tipicamente descodifica cada quadro de conteúdo 111 e quadro de metadados associados 112 e fornece o respectivo conjunto de dados PCM e metadados sem proteção. Como tal, o decodificador 504 fornece uma sequência de conjuntos de dados PCM e de metadados de uma sequência correspondente dos quadros de conteúdo 111 e quadros de metadados 112. A sequência dos conjuntos de dados PCM e os metadados podem ser modificados pelo transcodificador e podem então ser passados para um codificador 501, que é configurado para converter a sequência de (possivelmente modificada) conjuntos de dados PCM e de metadados para o fluxo de bits de saída 120. Neste contexto, o codificador 501 não é tipicamente capaz de verificar se a sequência de conjuntos de (possivelmente modificados) dados PCM e metadados foi modificada de uma forma sensata. Em outras palavras, o codificador 501 pode não verificar a confiabilidade da sequência de (possivelmen- te modificada) conjuntos de dados PCM e metadados.
[00130] No presente documento, propõe-se permitir que o decodifi- cador 504 proporcione um ou mais valores de assinatura com base em um ou mais conjuntos de dados PCM e de metadados, permitindo assim, a proteção da conexão de PCM entre o decodificador 504 e o codificador 501. Os valores de assinatura podem ser determinados de um modo semelhante aos valores de criptografia, como descrito acima. No entanto, os valores de assinaturas podem fazer uso de uma mensagem m que compreende um ou mais conjuntos de dados PCM e de metadados (em contraste com um ou mais quadros de conteúdo e quadros de metadados associados). Em especial, o decodificador 504 pode ser configurado para determinar • um valor de assinatura de quadro com base em um conjunto individual de dados PCM e metadados associados; e • um valor de assinatura de história baseada em dois ou mais conjuntos sequenciais de dados PCM e metadados associados.
[00131] Em outras palavras, dentro do domínio PCM de um decodi- ficador conectado a PCM 503 (ou seja, entre o decodificador 504 e o codificador 501), a confiabilidade do conteúdo pode ser "protegida" utilizando uma ou mais assinaturas (também referidos como valores de assinatura). O decodificador 504 pode ser configurado para produzir um ou mais valores de assinatura como uma saída. Os um ou mais valores de assinatura podem ser calculados através da união de dados PCM e metadados regulares (retirados do quadro de conteúdo) e metadados adicionais (retirados do quadro de metadados associados), como produzido pelo decodificador 504. Como tal, para cada quadro do fluxo de dados de entrada 110, um ou mais valores de assinatura pode ser determinado com base nos conjuntos de dados descodificados de PCM e os metadados. Estes um ou mais valores de assinatura podem ser utilizados pelo codificador correspondente 501 para verifi- car se um conjunto de dados recebidos e de metadados de PCM foi modificado ou não, e/ou é de confiança ou não.
[00132] O codificador 501 aceita um ou mais valores de assinatura como uma entrada, juntamente com os dados PCM, metadados regulares e os metadados adicionais. O codificador 501 pode, então, verificar os valores de assinatura contra as outras entradas (ou seja, contra os conjuntos recebidos de dados PCM e metadados). Se as outras entradas foram modificadas/adulteradas, a verificação de assinatura irá falhar e o codificador vai tomar as medidas adequadas. A verificação de um ou mais valores de assinatura pode ser realizada no codificador 501 ao determinar os valores de assinatura de verificação com base em um ou mais conjuntos de dados PCM e de metadados recebidos (de um modo semelhante, tal como descrito para os valores criptográficos).
[00133] Como tal, a fiabilidade dos dados PCM descodificados (e os metadados associados) pode ser mantida dentro de um transcodifica- dor conectado a PCM 503, permitindo que o decodificador 504 determine um ou mais valores de assinatura com base nos dados PCM descodificados e os metadados associados e permitindo que o codificador correspondente 501 verifique a autenticidade dos dados PCM a serem codificados (e os metadados associados) com base em um ou mais valores de assinatura. A determinação de um ou mais valores de assinatura e a sua verificação pode ser realizada com base em uma única ou com base numa pluralidade de chaves de segurança nivelada K1 e K2, como descrito acima, em que as uma ou mais chaves de segurança só podem ser conhecidas para o decodificador 504 e o codificador 501, e são tipicamente desconhecidas para uma entidade exe-cutando o processamento de PCM na conexão entre o decodificador 504 e o codificador 501.
[00134] O uso de um ou mais valores de assinatura permite a exe- cução de vários casos de uso como ilustrado nas Figs. 5a a 5d. A Fig. 5a ilustra um transcodificador 503, onde nenhum processamento de PCM é realizado entre o decodificador 504 e o codificador 503. Por conseguinte, os dados protegidos 510 (que compreendem um ou mais conjuntos de dados PCM e metadados associados, bem como uma ou mais assinaturas associadas) não são modificados e a cadeia de confiança é mantida dentro do transcodificador 503. Como resultado, o transcodificador 503 da Fig. 5a está configurado para receber um fluxo de bits de entrada 110 que compreende uma sequência protegida e confiável quadros de conteúdo de entrada 111 e os quadros de metadados de entrada associados 112 (também referido como quadros de evolução), e para fornecer um fluxo de bits de dados de saída 120, que compreende uma sequência de proteção e de confiança dos quadros de conteúdo de saída 121 e os quadros de metadados de saída associados 122. Isto é assegurado por proteção dos dados PCM descodificados, os metadados regulares e os metadados adicionais (também referidos como metadados de evolução) utilizando uma ou mais assinaturas. O codificador 501 verifica as uma ou mais assinaturas e passa os metadados adicionais como quadros de metadados de saída 122 para o fluxo de bits de saída 120. O caso de utilização mostrado na Fig. 5a pode, por exemplo, ser aplicado para a transcodificação de um fluxo de bits a partir de uma primeira taxa de bits para uma segunda taxa de bits.
[00135] A Fig. 5b mostra um decodificador conectado a PCM 513, onde a cadeia de confiança é quebrada por uma fase de processamento de PCM não confiável 505. A fase de processamento de PCM 505 recebe os dados protegidos 510 e modifica os dados 510. A fase de processamento de PCM 505 é "não confiável" em que a fase de processamento de PCM 505 não tem conhecimento da chave de segurança K usada pelo decodificador 504. Por conseguinte, os dados mo- dificados 511 compreendem um ou mais conjuntos de dados PCM modificados e metadados associados, bem como uma ou mais assinaturas inválidas. O codificador 501 é configurado para determinar a invalidez das assinaturas e pode ser configurado para tomar as medidas adequadas. Em particular, o codificador 501 pode ser configurado para deixar cair os metadados adicionais a partir dos quadros de metadados de entrada 112, proporcionando assim um fluxo de bits de dados de saída 120, que compreende uma única sequência de quadros de conteúdo 121, mas que não compreende os quadros de metadados associados 122. Ao fazer este, é garantido que o transcodificador 513 não encaminha metadados adicionais não confiáveis. Além disso, devido ao fato de que o fluxo de bits 120 não compreende quadros de metadados 122, o fluxo de bits 120 não compreende os valores de criptografia mencionados acima (a partir dos campos de proteção dos quadros de metadados 122). Como tal, o fluxo de bits 120 pode ser identificado por um decodificador 104 como sendo não confiável.
[00136] Tal como indicado acima, o codificador 501 pode ser configurado para deixar cair os metadados adicionais a partir dos quadros de metadados de entrada 112, se um ou mais valores de assinatura não são válidos. Como ressaltado no contexto da Tabela 2, os blocos de metadados 140 de um quadro de metadados de entrada 112 podem ser indicativos de descritores respectivos 142 que descrevem uma ou mais propriedades dos blocos de metadados correspondentes 140. Uma destas propriedades pode ser o parâmetro de processamento de PCM (referido como parâmetro tight_coupling na Tabela 2). O codificador 501 pode ser configurado para usar o parâmetro de processamento de PCM de um bloco de metadados 142, a fim de decidir sobre se deve ou não incluir os metadados compreendidos dentro do bloco de metadados 142 no fluxo de bits saída 120. Em particular, o parâmetro de processamento de PCM pode indicar ao codificador 501 para incluir os metadados de um bloco 140 do quadro de metadados de entrada 112 para o fluxo de bits de saída 120, embora as amostras PCM do quadro de conteúdo associado 111 tenham sido modificadas.
[00137] A Tabela 5 mostra exemplos de semântica do parâmetro de processamento de PCM (isto é, o parâmetro de tight_coupling da Tabela 2). No exemplo ilustrado, um valor "0" do parâmetro de processamento de PCM indica que a carga 143 (isto é, os metadados) de um bloco 140 de metadados deve ser incluída dentro do fluxo de bits de saída 120 apenas se nenhum processamento de PCM ocorreu, por exemplo, apenas se o um ou mais valores de assinatura foram verificados pelo codificador 501. Por outro lado, um valor "3" do parâmetro de processamento de PCM pode indicar que a carga útil 143 do bloco 140 deve ser sempre incluída dentro do fluxo de bits de saída 120, mesmo se as amostras PCM foram modificadas, por exemplo, mesmo se os um ou mais valores de assinatura não foram verificados. Além disso, o parâmetro de processamento de PCM pode assumir valores que indicam situações intermediárias, ou seja, o parâmetro de processamento de PCM pode assumir valores que indicam as condições de processamento de PCM que precisam ser atendidas para carga útil 143 a ser incluída no fluxo de bits de saída 120 ou que indicam a condições de processamento PCM, em caso de que a carga 143 não está incluída no fluxo de bits de saída 120.
[00138] O estágio de processamento de PCM 505 pode ser configurado para informar o codificador 501 no processamento que foi realizado nas amostras PCM na etapa de processamento de PCM 505. Em outras palavras, a fase de processamento de PCM 505 pode ser configurada para informar o codificador 501 sobre as condições de processamento de PCM (por exemplo, conversão da taxa de amostragem das amostras PCM, a inclusão de um sistema de som para as amostras PCM, modificação dos metadados, a modificação de uma configu- ração de canal (por exemplo, modificação de um sinal mono para um sinal estéreo, ou de downmixing de um sinal de multicanal 5.1 para um sinal estéreo), o nivelamento de sonoridade, etc.). Como tal, o codificador 501 pode ser configurado para receber indicações das condições de processamento de PCM a partir da fase de processamento de PCM 505. Por outro lado, o codificador 501 pode ser configurado para processar os metadados de um bloco 140 de metadados, com base nas condições de processamento de PCM recebidas e com base no valor do parâmetro de processamento de PCM (por exemplo, de acordo com a semântica da Tabela 5).
Figure img0006
Tabela 5
[00139] Fig. 5c ilustra o caso de um transcodificador conectado a PCM 523, que está configurado para executar o processamento de PCM de confiança. Isto pode ser conseguido através da combinação da fase de processamento de PCM 506 com uma fase de reassinatura adicional 507. Para este fim, uma parte de confiança pode ser proporcionada com uma ou mais das chaves de segurança, permitindo assim que a parte de confiança reassine os modificados 511. A título de exemplo, a parte de confiança pode ser proporcionada com a chave de segurança moderada K2. Como resultado disto, os dados modificados 511 podem ser reassinados (isto é, um ou mais valores de assinatura podem ser determinados com base nos dados modificados 511 utilizando a chave de segurança moderada K2), proporcionando desse modo os dados modificados protegidos 512 (compreendendo uma sequência de conjuntos de dados modificados PCM e metadados associados, bem como a uma ou mais novas assinaturas). O codificador 501 pode ser configurado para verificar a nova assinatura e gerar o fluxo de bits de saída acreditado 120 que compreende a sequência de quadros de conteúdo 121 e a sequência de quadros de metadados associados 122. Por outro lado, o codificador 501 pode ser configurado para determinar que a cadeia de confiança foi quebrada e que uma nova cadeia foi criada, porque a fase de reassinatura 507 pode ter usado uma chave de segurança diferente (por exemplo, a chave de segurança moderada K2) do que o decodificador 504 (que podem ter usado a chave altamente seguro K1).
[00140] Fig. 5d mostra um diagrama de blocos de um transcodifica- dor conectado a PCM 533 com uma fase de processamento de PCM 509 compreendida no codificador 501. Em particular, o transcodifica- dor 533 está configurado para manter uma cadeia de confiança, assegurando que o processamento de PCM é realizado por uma entidade (por exemplo, o codificador 501), que tem conhecimento da chave de segurança utilizada pelo decodificador 504 para determinar um ou mais valores de assinatura. O codificador 501 é configurado para verificar as uma ou mais assinaturas dos dados protegidos 510. O estágio de processamento de PCM interno 508 pode então modificar os conjuntos recebidos de dados PCM e metadados associados. Além disso, o codificador 501 pode compreender uma unidade de atualização de metadados 509, que está configurada para atualizar os quadros de metadados, sujeito às modificações realizadas no estágio de proces-samento de PCM 508. Em particular, a unidade de atualização de metadados 509 pode ser configurada para determinar os valores cripto- gráficos atualizados com base no conteúdo de quadros transcodifica- dos 121 e quadros de metadados 122. Os valores criptográficos atualizados podem então ser incluídos nos quadros de metadados 122 para comunicação com o decodificador 104.
[00141] Fig. 6 fornece outra representação das transcodificadors 503, 513, 523 e 533, respectivamente.
[00142] No presente documento, métodos e sistemas para transco- dificação de metadados foram descritos. Os métodos e sistemas para permitir uma transcodificação de metadados com uma complexidade computacional reduzida. Em particular, propõe-se fornecer descritores para os blocos de metadados, permitindo, assim, um transcodificador para transcodificar os metadados com base apenas nos descritores, sem a necessidade de analisar os metadados reais compreendidos dentro de um bloco de metadados. Ao fazer isso, a complexidade de um transcodificador pode ser significativamente reduzida. Além disso, o presente documento apresenta métodos e sistemas para proteger os quadros de metadados e para proteger os dados de PCM em um de- codificador conectado à PCM. Como resultado, pode-se assegurar que um receptor de transcodificador de metadados é fornecido com uma indicação da confiabilidade dos metadados recebido.
[00143] Os métodos e sistemas descritos no presente documento podem ser implementados como software, firmware e/ou hardware. Alguns componentes podem, por exemplo, ser implementados como software rodando em um processador de sinal digital ou microprocessador. Outros componentes podem, por exemplo, ser implementados como hardware e ou como circuitos integrados de aplicação específica. Os sinais encontrados nos métodos e sistemas descritos podem ser armazenados em meios tais como a memória de acesso aleatório ou meio de armazenamento óptico. Eles podem ser transferidos através de redes, tais como redes de rádio, redes de satélites, redes celu- lares ou redes de telefonia fixa, por exemplo, a Internet. Os dispositivos típicos baseados na utilização dos métodos e sistemas descritos no presente documento são dispositivos eletrônicos portáteis ou outros equipamentos consumidores que são usados para armazenar e/ou processar os sinais de áudio.

Claims (15)

1. Codificador (101) configurado para gerar um fluxo de bits codificado (110) caracterizado pelo fato de que compreende um quadro de conteúdo (111) e um quadro de metadados associados (112); em que o quadro de conteúdo (111) é indicativo de um sinal codificado de acordo com um primeiro sistema de codec; em que o codificador (101) é configurado para: gerar um bloco (140) de metadados; inserir o bloco (140) de metadados para o quadro de metadados (112); selecionar uma chave de segurança de uma pluralidade de chaves de segurança predeterminadas; em que a pluralidade de chaves de segurança predeterminadas fornece diferentes níveis de confiança; gerar um valor de criptografia com base, pelo menos, no quadro de conteúdo (111), no quadro de metadados associados (112) e na chave de segurança selecionada; e inserir o valor de criptografia gerado no quadro de metadados (112).
2. Codificador (101), de acordo com a reivindicação 1, caracterizado pelo fato de que a pluralidade de chaves de segurança predeterminadas compreende: uma chave de alta segurança conhecida apenas por um desenvolvedor do codificador (101); e uma chave de segurança moderada conhecida para um operador do codificador (101).
3. Codificador (101), de acordo com a reivindicação 1 ou 2, caracterizado pelo fato de que o codificador (101) é configurado para: gerar uma pluralidade de quadros de conteúdo sucessivos (111, 311) e os quadros de metadados associados (112, 312) para o fluxo de bits codificado (110); gerar um valor de criptografia de quadro com base num único quadro de conteúdo (111) e o seu quadro de metadados associados (112) e com base na chave de segurança selecionada; e gerar um valor histórico criptográfico com base em, pelo menos, algumas da pluralidade de quadros de conteúdo sucessivos (111, 311), e seus quadros de metadados associados (112, 312), e com base no valor de segurança selecionado, e/ou em que o codificador (101) é configurado para inserir uma indicação da chave de segurança selecionada para o quadro de metadados (112).
4. Método para gerar um fluxo de bits codificado (110) que compreende um quadro de conteúdo (111) e um quadro de metadados associados (112); em que o quadro de conteúdo (111) é indicativo de um sinal codificado de acordo com um primeiro sistema de codec, caracterizado pelo fato de que compreende as etapas de: gerar um bloco (140) de metadados; inserir o bloco (140) de metadados para o quadro de metadados (112); selecionar uma chave de segurança a partir de uma pluralidade de chaves de segurança predeterminadas; em que a pluralidade de chaves de segurança predeterminadas fornece diferentes níveis de confiança; gerar um valor de criptografia com base, pelo menos, no quadro de conteúdo (111), no quadro de metadados associados (112) e na chave de segurança selecionada; e inserir o valor criptográfico gerado para o quadro de metadados (112).
5. Transcodificador (503) configurado para transcodificar um fluxo de bits de entrada (110), caracterizado pelo fato de que compreende um quadro de conteúdo de entrada (111) e um quadro de metadados de entrada associado (112) em um fluxo de bits de dados de saída (120); em que o fluxo de bits de entrada (110) é indicativo de um conjunto de amostras de um sinal; em que o transcodificador (103) compreende: um decodificador (504) configurado para: converter o quadro de conteúdo de entrada (111) em um conjunto de amostras PCM descodificado do sinal; extrair metadados a partir do quadro de metadados de entrada (112); e gerar um valor de assinatura para o conjunto de amostras de PCM decodificado e os metadados extraídos, usando uma chave de segurança decodificadora; e um codificador (501) configurado para receber um conjunto de amostras PCM e metadados associados; receber um valor de assinatura; verificar se o valor da assinatura recebido é válido para o conjunto recebido de amostras PCM e metadados associados, utilizando uma chave de segurança codificadora; e gerar um quadro de conteúdo de saída (121) do fluxo de bits de saída (120) do conjunto recebido de amostras PCM e gerar um quadro de metadados de saída associado (122) do fluxo de bits de saída (120) a partir dos metadados recebido, se a assinatura recebida é válida, em que o codificador (501) é opcionalmente configurado para impedir a inserção do metadados recebidos no fluxo de bits de saída (120), se a assinatura recebida não é válida.
6. Transcodificador (503), de acordo com a reivindicação 5, caracterizado pelo fato de que compreende ainda uma etapa de pro- cessamento de PCM (505, 506) configurada para: modificar o conjunto de segundas amostras de PCM decodificado e/ou os metadados extraídos, produzindo, assim, um conjunto de segundas amostras de PCM e segundos metadados; e passar o conjunto de segundas amostras PCM e segundos metadados para o codificador (501), em que o transcodificador (503) opcionalmente ainda compreende uma unidade de reassinatura 507 configurada para determinar um valor de assinatura atualizado para o conjunto de segundas amostras PCM e segundos metadados, usando um reassinatura de chave de segurança; e passar o valor da assinatura atualizado para o codificador (501).
7. Transcodificador (503), de acordo com a reivindicação 5 ou 6, caracterizado pelo fato de que o codificador (501) compreende uma fase de processamento de PCM (508) configurada para modificar o conjunto de amostras PCM recebido e/ou os metadados recebidos; e o codificador (501) é configurado para gerar o quadro de conteúdo de saída (121) e/ou o quadro de metadados de saída (122) com base no conjunto modificado de amostras de PCM recebidas e/ou metadados recebidos modificados.
8. Transcodificador (503), de acordo com qualquer uma das reivindicações 5 a 7, caracterizado pelo fato de que o decodificador (504) está configurado para identificar um bloco de entrada (140) de metadados a partir do quadro de metadados de entrada (112); em que o bloco de entrada (140) de metadados está associado com um descritor de entrada (142) indicativo de um ou mais propriedades de metadados compreendidos dentro do bloco de entrada (140) dos metadados; e o codificador (501) é configurado para gerar o quadro de metadados de saída (122) do quadro de metadados de entrada (112) com base no descritor de entrada (142).
9. Transcodificador (503), de acordo com a reivindicação 8, caracterizado pelo fato de que a uma ou mais propriedades compreendem um parâmetro de processamento de PCM indicativo de se ou não ou não os metadados do bloco de entrada (140) devem ser descartados pelo codificador (501), submetido a um modificação do conjunto de amostras PCM e/ou dos metadados extraídos, em que o codificador (501) é configurado para incluir os metadados do bloco de entrada (140) para o quadro de metadados de saída (122), se o parâmetro de processamento de PCM indica que os metadados do bloco de entrada (140) não devem ser descartados, mesmo que o conjunto de amostras PCM e/ou os metadados extraídos foi modificado.
10. Transcodificador (503), de acordo com a reivindicação 9, caracterizado pelo fato de que a etapa de processamento de PCM (505) é configurada para fornecer uma indicação de uma ou mais condições de processamento de PCM para o codificador (501); as condições de processamento um ou mais PCM indicam como o conjunto de amostras de PCM e/ou os metadados extraídos foram processados pelo estágio de processamento de PCM (505); e o codificador (501) é configurado para gerar o quadro de metadados de saída (122) do quadro de metadados de entrada (112) também com base em uma ou mais das condições de processamento PCM.
11. Método para transcodificar um fluxo de bits de entrada (110) caracterizado pelo fato de que compreende um quadro de conteúdo de entrada (111) e um quadro de metadados de entrada associado (112) para um fluxo de bits de dados de saída (120); em que o flu- xo de bits de entrada (110) é indicativo de um conjunto de amostras de um sinal; compreendendo: em um decodificador (504), converter o quadro de conteúdo de entrada (111) em um conjunto de amostras PCM descodificado do sinal; extrair metadados a partir do quadro de metadados de entrada (112); e gerar um valor de assinatura para o conjunto de amostras de PCM descodificado e metadados extraídos, usando chave de segurança decodificadora; passar o conjunto de amostras PCM descodificado, os metadados extraídos e o valor da assinatura gerada a um codificador correspondente (501); e no codificador (501) receber um conjunto de amostras PCM e metadados associados; receber um valor de assinatura; determinar se o valor da assinatura recebido é válido para o conjunto recebido de amostras PCM e metadados associados, utilizando uma chave de segurança codificadora; e gerar um quadro de conteúdo de saída (121) do fluxo de bits de saída (120) do conjunto recebido de amostras PCM e gerar um quadro de metadados de saída associado (122) do fluxo de bits de saída (120) a partir dos metadados recebido, se a assinatura recebida é válida.
12. Decodificador (104) configurado para receber um fluxo de bits codificado (110) caracterizado pelo fato de que compreende um quadro de conteúdo (111) e um quadro de metadados associados (112); em que o quadro de conteúdo (111) é indicativo de um sinal codificado de acordo com um primeiro sistema de codec; em que o de- codificador (104) está configurado para: extrair um valor de criptografia a partir do quadro de metadados (112); determinar uma chave de segurança a partir de uma pluralidade de chaves de segurança predeterminadas; em que a pluralidade de chaves de segurança predeterminadas fornece diferentes níveis de confiança; gerar um valor criptográfico de verificação baseado, pelo menos no quadro de conteúdo (111), no quadro de metadados associado (112) e na chave de segurança determinada; e comparar o valor criptográfico extraído e o valor de criptografia de verificação para determinar se o fluxo de bits codificado recebido (110) pode ser de confiança, em que o decodificador (104) está opcionalmente configurado para determinar a chave de segurança através da extração da chave de segurança a partir do quadro de metadados (112).
13. Decodificador (104), de acordo com a reivindicação 12, caracterizado pelo fato de que o decodificador (104) é ainda configurado para determinar qual de uma pluralidade de chaves de segurança predeterminadas foi utilizada para gerar o valor criptográfico extraído, de modo a determinar um nível de confiança do fluxo de bits codificado recebido (110).
14. Decodificador (104), de acordo com a reivindicação 12 ou 13, caracterizado pelo fato de que o decodificador (104) está configurado para gerar uma pluralidade de valores de criptografia de verificação para a pluralidade de chaves de segurança predeterminadas, respectivamente; comparar cada uma da pluralidade de valores de criptografia de verificação com o valor criptográfico extraído; e determinar que uma de uma pluralidade de chaves de segurança predeterminadas foi utilizada para gerar o valor criptográfico extraído, se uma de entre a pluralidade de valores criptográficos de verificação coincide com o valor criptográfico extraído.
15. Método para determinar um nível de confiança de um fluxo de bits codificado recebido (110) caracterizado pelo fato de que compreende um quadro de conteúdo (111) e um quadro de metadados associados (112); em que o quadro de conteúdo (111) é indicativo de um sinal codificado de acordo com um primeiro sistema de codec, compreendendo extrair um valor de criptografia a partir do quadro de metadados (112); determinar uma chave de segurança a partir de uma pluralidade de chaves de segurança predeterminadas; em que a pluralidade de chaves de segurança predeterminadas fornece diferentes níveis de confiança; gerar um valor de criptografia de verificação com base, pelo menos, no quadro de conteúdo (111), no quadro de metadados associado (112) e na chave de segurança determinada; e comparar o valor criptográfico extraído e valor de criptografia de verificação para determinar se o fluxo de bits codificado recebido (110) pode ser de confiança, de acordo com o nível de confiança da chave de segurança determinada.
BR122020018263-6A 2013-01-21 2014-01-15 Codificador, método para gerar um fluxo de bits codificado, transcodificador, método para transcodificar um fluxo de bits de entrada, decodificador e método para determinar um nível de confiança de um fluxo de bits codificado recebido BR122020018263B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201361754893P 2013-01-21 2013-01-21
US61/754,893 2013-01-21
PCT/US2014/011695 WO2014113478A1 (en) 2013-01-21 2014-01-15 Metadata transcoding

Publications (1)

Publication Number Publication Date
BR122020018263B1 true BR122020018263B1 (pt) 2022-09-27

Family

ID=50031614

Family Applications (2)

Application Number Title Priority Date Filing Date
BR112015017048-0A BR112015017048B1 (pt) 2013-01-21 2014-01-15 Dispositivo de codificação, método para gerar um fluxo de bits codificado, método para determinar um nível de confiança de um fluxo de bits codificado recebido, método para transcodificar um fluxo de bits de entrada
BR122020018263-6A BR122020018263B1 (pt) 2013-01-21 2014-01-15 Codificador, método para gerar um fluxo de bits codificado, transcodificador, método para transcodificar um fluxo de bits de entrada, decodificador e método para determinar um nível de confiança de um fluxo de bits codificado recebido

Family Applications Before (1)

Application Number Title Priority Date Filing Date
BR112015017048-0A BR112015017048B1 (pt) 2013-01-21 2014-01-15 Dispositivo de codificação, método para gerar um fluxo de bits codificado, método para determinar um nível de confiança de um fluxo de bits codificado recebido, método para transcodificar um fluxo de bits de entrada

Country Status (10)

Country Link
US (3) US9755835B2 (pt)
EP (1) EP2946495B1 (pt)
JP (2) JP6242916B2 (pt)
KR (1) KR101717928B1 (pt)
CN (3) CN105027478B (pt)
BR (2) BR112015017048B1 (pt)
ES (1) ES2629195T3 (pt)
IN (1) IN2015MN01633A (pt)
RU (1) RU2602332C1 (pt)
WO (1) WO2014113478A1 (pt)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9621963B2 (en) 2014-01-28 2017-04-11 Dolby Laboratories Licensing Corporation Enabling delivery and synchronization of auxiliary content associated with multimedia data using essence-and-version identifier
CN105532009B (zh) * 2014-07-18 2021-03-12 索尼公司 发送设备、发送方法、接收设备和接收方法
US10228751B2 (en) 2014-08-06 2019-03-12 Apple Inc. Low power mode
US9647489B2 (en) 2014-08-26 2017-05-09 Apple Inc. Brownout avoidance
US9774974B2 (en) 2014-09-24 2017-09-26 Electronics And Telecommunications Research Institute Audio metadata providing apparatus and method, and multichannel audio data playback apparatus and method to support dynamic format conversion
US10708391B1 (en) 2014-09-30 2020-07-07 Apple Inc. Delivery of apps in a media stream
US10231033B1 (en) 2014-09-30 2019-03-12 Apple Inc. Synchronizing out-of-band content with a media stream
JP6728154B2 (ja) * 2014-10-24 2020-07-22 ドルビー・インターナショナル・アーベー オーディオ信号のエンコードおよびデコード
US9769234B2 (en) * 2015-02-20 2017-09-19 Disney Enterprises, Inc. Algorithmic transcoding
TWI607655B (zh) * 2015-06-19 2017-12-01 Sony Corp Coding apparatus and method, decoding apparatus and method, and program
US20170055253A1 (en) * 2015-08-17 2017-02-23 Harman International Industries, Incorporated Metadata distribution in a network
WO2017193374A1 (en) * 2016-05-13 2017-11-16 SZ DJI Technology Co., Ltd. System and method for presenting a video via transcode
US10535355B2 (en) 2016-11-18 2020-01-14 Microsoft Technology Licensing, Llc Frame coding for spatial audio data
US10349097B2 (en) * 2017-10-27 2019-07-09 Mti Film, Llc Metadata editor for multimedia delivery
CN107682379A (zh) * 2017-11-22 2018-02-09 南京汽车集团有限公司 基于同态加密的信息安全传输装置、传输方法及存储方法
US11363133B1 (en) 2017-12-20 2022-06-14 Apple Inc. Battery health-based power management
US10817307B1 (en) 2017-12-20 2020-10-27 Apple Inc. API behavior modification based on power source health
CN110198474B (zh) * 2018-02-27 2022-03-15 中兴通讯股份有限公司 一种码流处理方法及装置
US11108552B1 (en) * 2018-05-02 2021-08-31 Amazon Technologies, Inc. Data encryption method and system
US11770260B1 (en) * 2019-03-28 2023-09-26 Amazon Technologies, Inc. Determining authenticity of digital content
US11449584B1 (en) 2019-03-28 2022-09-20 Amazon Technologies, Inc. Generating authenticable digital content
EP4055840A1 (en) * 2019-11-04 2022-09-14 Qualcomm Incorporated Signalling of audio effect metadata in a bitstream
CN112584156B (zh) * 2020-11-18 2022-08-02 卓旺(安徽)航空科技产业股份有限公司 一种基于2k视频数据深度学习转码4k视频算法
KR102500694B1 (ko) * 2020-11-24 2023-02-16 네이버 주식회사 사용자 맞춤형 현장감 실현을 위한 오디오 콘텐츠를 제작하는 컴퓨터 시스템 및 그의 방법
JP2022083443A (ja) 2020-11-24 2022-06-03 ネイバー コーポレーション オーディオと関連してユーザカスタム型臨場感を実現するためのコンピュータシステムおよびその方法
US11930349B2 (en) 2020-11-24 2024-03-12 Naver Corporation Computer system for producing audio content for realizing customized being-there and method thereof
EP4020998A1 (en) * 2020-12-23 2022-06-29 Axis AB Encoding of modified video

Family Cites Families (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5577209A (en) * 1991-07-11 1996-11-19 Itt Corporation Apparatus and method for providing multi-level security for communication among computers and terminals on a network
US5646997A (en) * 1994-12-14 1997-07-08 Barton; James M. Method and apparatus for embedding authentication information within digital data
JPH08297638A (ja) * 1995-04-26 1996-11-12 Nippon Telegr & Teleph Corp <Ntt> 利用者認証方式
JPH103256A (ja) * 1995-10-16 1998-01-06 Sony Corp 暗号化方法、暗号化装置、記録方法、復号化方法、復号化装置及び記録媒体
US7962413B2 (en) * 1998-08-13 2011-06-14 International Business Machines Corporation End-user system of preventing unauthorized rerecording of multimedia content
US6446037B1 (en) * 1999-08-09 2002-09-03 Dolby Laboratories Licensing Corporation Scalable coding method for high quality audio
US6856331B2 (en) * 1999-11-12 2005-02-15 International Business Machines Corporation System and method of enriching non-linkable media representations in a network by enabling an overlying hotlink canvas
JP2002184114A (ja) 2000-12-11 2002-06-28 Toshiba Corp 音楽データの記録再生システムおよび音楽データ記憶媒体
US6944770B2 (en) * 2001-05-17 2005-09-13 Intelli-Mark Technologies, Inc. Methods and systems for generating and validating value-bearing documents
EP1315148A1 (en) * 2001-11-17 2003-05-28 Deutsche Thomson-Brandt Gmbh Determination of the presence of ancillary data in an audio bitstream
AUPR960601A0 (en) 2001-12-18 2002-01-24 Canon Kabushiki Kaisha Image protection
AUPR970301A0 (en) * 2001-12-21 2002-01-24 Canon Kabushiki Kaisha Content authentication for digital media based recording devices
EP1349080A1 (en) * 2002-03-26 2003-10-01 Deutsche Thomson-Brandt Gmbh Methods and apparatus for using metadata from different sources
GB2387287B (en) 2002-04-05 2006-03-15 Snell & Wilcox Limited Video compression transcoding
US7167560B2 (en) * 2002-08-08 2007-01-23 Matsushita Electric Industrial Co., Ltd. Partial encryption of stream-formatted media
US7808920B2 (en) * 2002-10-28 2010-10-05 Qualcomm Incorporated Tandem-free vocoder operations between non-compatible communication systems
AU2003234420A1 (en) * 2002-12-27 2004-07-29 Nielsen Media Research, Inc. Methods and apparatus for transcoding metadata
US20060069550A1 (en) * 2003-02-06 2006-03-30 Dolby Laboratories Licensing Corporation Continuous backup audio
KR20100093142A (ko) * 2003-04-25 2010-08-24 애플 인크. 보안 네트워크를 통한 콘텐츠의 분배 방법 및 그 시스템
US20040267388A1 (en) * 2003-06-26 2004-12-30 Predictive Media Corporation Method and system for recording and processing of broadcast signals
KR100526189B1 (ko) 2004-02-14 2005-11-03 삼성전자주식회사 트랜스코딩 전후에 타이밍 파라미터를 일정하게유지시키는 트랜스코딩 시스템 및 방법
US20060005031A1 (en) * 2004-06-15 2006-01-05 Apostolopoulos John G Methods and systems for utilizing a single cryptographic integrity check to generate multiple cryptographic integrity check values for components of transcodable content
US7672743B2 (en) * 2005-04-25 2010-03-02 Microsoft Corporation Digital audio processing
US20060259781A1 (en) * 2005-04-29 2006-11-16 Sony Corporation/Sony Electronics Inc. Method and apparatus for detecting the falsification of metadata
US7177804B2 (en) * 2005-05-31 2007-02-13 Microsoft Corporation Sub-band voice codec with multi-stage codebooks and redundant coding
KR20050092688A (ko) * 2005-08-31 2005-09-22 한국정보통신대학교 산학협력단 통합 멀티미디어 파일 포맷 구조와 이를 기반으로 하는멀티미디어 서비스 제공 시스템 및 그 방법
JP4883342B2 (ja) * 2005-09-06 2012-02-22 ソニー株式会社 情報処理装置および方法、並びにプログラム
US7913277B1 (en) 2006-03-30 2011-03-22 Nortel Networks Limited Metadata extraction and re-insertion and improved transcoding in digital media systems
KR100781528B1 (ko) * 2006-06-29 2007-12-03 삼성전자주식회사 무결성을 보장하는 비디오 스트림을 제공하는 장치 및 그방법
US8107786B2 (en) * 2006-08-31 2012-01-31 Open Tv, Inc. Systems and methods to modify playout or playback
KR101267178B1 (ko) * 2006-09-30 2013-05-24 톰슨 라이센싱 비디오에 대하여 색 인핸스먼트 계층을 인코딩 및 디코딩하기 위한 방법 및 디바이스
KR101141086B1 (ko) * 2006-11-14 2012-05-03 퀄컴 인코포레이티드 채널 전환용 시스템 및 방법
JP4324244B2 (ja) * 2007-04-17 2009-09-02 パナソニック株式会社 通信システム
KR101432994B1 (ko) * 2007-08-13 2014-08-22 삼성전자주식회사 미디어 객체 기반 메타데이터의 생성 방법, 재생 방법 및그 장치
US8457958B2 (en) 2007-11-09 2013-06-04 Microsoft Corporation Audio transcoder using encoder-generated side information to transcode to target bit-rate
CN101547345A (zh) * 2008-03-25 2009-09-30 华为技术有限公司 流媒体转码的处理方法和系统
JP5049207B2 (ja) 2008-06-23 2012-10-17 ヤフー株式会社 地名表示態様調整方法、地名表示態様調整装置及び地名表示態様調整システム
US8798776B2 (en) * 2008-09-30 2014-08-05 Dolby International Ab Transcoding of audio metadata
US7738454B1 (en) * 2008-09-30 2010-06-15 Juniper Networks, Inc. Methods and apparatus related to packet classification based on range values
US8904184B2 (en) * 2008-12-10 2014-12-02 At&T Intellectual Property I, Lp Certification of authenticity of media signals
US8676822B2 (en) 2009-02-06 2014-03-18 Disney Enterprises, Inc. System and method for quality assured media file storage
US8687648B2 (en) 2009-07-17 2014-04-01 Qualcomm Incorporated Wireless transmission of data using an available channel of a spectrum
TWI501580B (zh) 2009-08-07 2015-09-21 Dolby Int Ab 資料串流的鑑別
WO2011035136A1 (en) * 2009-09-18 2011-03-24 Telesocial, Inc. Telecommunication service employing an electronic information repository storing social network user, developer, and mobile network operator information
TWI557723B (zh) * 2010-02-18 2016-11-11 杜比實驗室特許公司 解碼方法及系統
US9613142B2 (en) 2010-04-26 2017-04-04 Flash Networks Ltd Method and system for providing the download of transcoded files
CN102484791A (zh) * 2010-05-19 2012-05-30 三洋电机株式会社 基站装置
US8407808B2 (en) * 2010-05-27 2013-03-26 Media Rights Technologies, Inc. Security thread for protecting media content
US9549197B2 (en) 2010-08-16 2017-01-17 Dolby Laboratories Licensing Corporation Visual dynamic range timestamp to enhance data coherency and potential of metadata using delay information
US8521541B2 (en) 2010-11-02 2013-08-27 Google Inc. Adaptive audio transcoding
TWI716169B (zh) * 2010-12-03 2021-01-11 美商杜比實驗室特許公司 音頻解碼裝置、音頻解碼方法及音頻編碼方法
WO2012094487A2 (en) * 2011-01-05 2012-07-12 General Instrument Corporation Secure progressive download for media content playback
US9761229B2 (en) * 2012-07-20 2017-09-12 Qualcomm Incorporated Systems, methods, apparatus, and computer-readable media for audio object clustering
US9560392B2 (en) * 2012-09-07 2017-01-31 Google Inc. Dynamic bit rate encoding

Also Published As

Publication number Publication date
BR112015017048A2 (pt) 2017-07-11
US20200127846A1 (en) 2020-04-23
US20170373857A1 (en) 2017-12-28
WO2014113478A1 (en) 2014-07-24
IN2015MN01633A (pt) 2015-08-28
US9755835B2 (en) 2017-09-05
JP6505791B2 (ja) 2019-04-24
KR20150105955A (ko) 2015-09-18
ES2629195T3 (es) 2017-08-07
EP2946495B1 (en) 2017-05-17
JP2017229087A (ja) 2017-12-28
RU2602332C1 (ru) 2016-11-20
EP2946495A1 (en) 2015-11-25
CN105027478B (zh) 2018-09-21
CN105027478A (zh) 2015-11-04
CN109102815A (zh) 2018-12-28
CN109102815B (zh) 2023-09-19
CN117219100A (zh) 2023-12-12
JP2016510544A (ja) 2016-04-07
JP6242916B2 (ja) 2017-12-06
US20150372820A1 (en) 2015-12-24
US11075762B2 (en) 2021-07-27
US10554415B2 (en) 2020-02-04
BR112015017048B1 (pt) 2022-12-13
KR101717928B1 (ko) 2017-04-04

Similar Documents

Publication Publication Date Title
US11075762B2 (en) Metadata transcoding
JP5542205B2 (ja) データ・ストリームの認証
US11621825B2 (en) Blockchain digest augmentation of group-of-pictures video streams
TWI439093B (zh) 編碼聲頻訊號之編密碼方法及裝置
KR20140129178A (ko) 비보호 전송 서비스를 이용한 보호 콘텐츠 전송의 실현
US10284529B2 (en) Information processing apparatus and information processing method
US20230179787A1 (en) Method and device for signing an encoded video sequence
WO2023205025A2 (en) Multisource methods and systems for coded media
CN117528149A (zh) 秘钥更新方法、码流加密方法、码流解密方法及相关装置

Legal Events

Date Code Title Description
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 15/01/2014, OBSERVADAS AS CONDICOES LEGAIS

B25G Requested change of headquarter approved

Owner name: DOLBY INTERNATIONAL AB (IE) ; DOLBY LABORATORIES LICENSING CORPORATION (US)