BR112012002831A2 - autenticação de fluxos de dados - Google Patents

autenticação de fluxos de dados Download PDF

Info

Publication number
BR112012002831A2
BR112012002831A2 BR112012002831-6A BR112012002831A BR112012002831A2 BR 112012002831 A2 BR112012002831 A2 BR 112012002831A2 BR 112012002831 A BR112012002831 A BR 112012002831A BR 112012002831 A2 BR112012002831 A2 BR 112012002831A2
Authority
BR
Brazil
Prior art keywords
frames
data
cryptographic value
value
identifier
Prior art date
Application number
BR112012002831-6A
Other languages
English (en)
Other versions
BR112012002831B1 (pt
Inventor
Reinhold Boehm
Alexander Groeschel
Holger Hoerich
Daniel Homm
Wolfgang A. Schildbach
Michael Schug
Oliver Watzke
Martin Wolters
Thomas Ziegler
Original Assignee
Dolby International Ab
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 filed Critical Dolby International Ab
Publication of BR112012002831A2 publication Critical patent/BR112012002831A2/pt
Publication of BR112012002831B1 publication Critical patent/BR112012002831B1/pt

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2347Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving video stream encryption
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/00166Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which result in a restriction to authorised contents recorded on or reproduced from a record carrier, e.g. music or software
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/00166Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which result in a restriction to authorised contents recorded on or reproduced from a record carrier, e.g. music or software
    • G11B20/00173Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which result in a restriction to authorised contents recorded on or reproduced from a record carrier, e.g. music or software wherein the origin of the content is checked, e.g. determining whether the content has originally been retrieved from a legal disc copy or another trusted source
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/00188Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which result in a restriction to authorised devices recording or reproducing contents to/from a record carrier
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/0021Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H20/00Arrangements for broadcast or for distribution combined with broadcast
    • H04H20/28Arrangements for simultaneous broadcast of plural pieces of information
    • H04H20/30Arrangements for simultaneous broadcast of plural pieces of information by a single channel
    • H04H20/31Arrangements for simultaneous broadcast of plural pieces of information by a single channel using in-band signals, e.g. subsonic or cue signal
    • 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/35Arrangements for identifying or recognising characteristics with a direct linkage to broadcast information or to broadcast space-time, e.g. for identifying broadcast stations or for identifying users
    • H04H60/37Arrangements for identifying or recognising characteristics with a direct linkage to broadcast information or to broadcast space-time, e.g. for identifying broadcast stations or for identifying users for identifying segments of broadcast information, e.g. scenes or extracting programme ID
    • 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
    • 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/762Media network packet handling at the source 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/23424Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving splicing one content stream with another content stream, e.g. for inserting or substituting an advertisement
    • 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
    • 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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/254Management at additional data server, e.g. shopping server, rights management server
    • H04N21/2541Rights Management
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/44016Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving splicing one content stream with another content stream, e.g. for substituting a video clip
    • 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/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/633Control signals issued by server directed to the network components or client
    • H04N21/6332Control signals issued by server directed to the network components or client directed to client
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/654Transmission by server directed to the client
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8106Monomedia components thereof involving special audio data, e.g. different tracks for different languages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/835Generation of protective data, e.g. certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/835Generation of protective data, e.g. certificates
    • H04N21/8352Generation of protective data, e.g. certificates involving content or source identification data, e.g. Unique Material Identifier [UMID]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/24Systems for the transmission of television signals using pulse code modulation
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00007Time or data compression or expansion
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00007Time or data compression or expansion
    • G11B2020/00014Time or data compression or expansion the compressed signal being an audio signal
    • G11B2020/00028Advanced audio coding [AAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H2201/00Aspects of broadcast communication
    • H04H2201/50Aspects of broadcast communication characterised by the use of watermarks

Abstract

AUTENTICAÇÃO DE FLUXOS DE DADOS. A presente invenção refere-se às técnicas para autenticação e verificação de fluxos de dados. Especificamente, a invenção refere-se à inserção de identificadores em um fluxo de dados, tal como um fluxo de bits Dolby Pulse, AAC ou HE AAC, e as autenticação e verificação do fluxo de dados baseadas nesses identificadores. Um método e um sistema para codificar um fluxo de dados, compreendendo uma pluralidade de quadros de dados, são descritos. O método compreende a etapa de gerar um valor criptográfico de um número N de quadros de dados sucessivos e informações de configuração, em que as informações de configuração compreendem informações para sintetizar o fluxo de dados. O método, então, insere o valor criptográfico no fluxo de dados, subsequente aos N sucessivos quadros de dados.

Description

7 Relatório Descritivo da Patente de Invenção para "AUTENTI- " CAÇÃO DE FLUXOS DE DADOS".
CAMPO TÉCNICO A presente invenção refere-se às técnicas para autenticação e verificação de fluxos de dados. Especificamente, a invenção refere-se à in- serção de identificadores em um fluxo de dados, tal como um fluxo de bits Dolby Pulse, AAC ou HE AAC, e as autenticação e verificação do fluxo de dados baseadas nesse identificador.
ANTECEDENTES Ú 10 Com a proliferação crescente de sistemas de rádio e TV digitais, ss os fluxos de dados, compreendendo, por exemplo, dados de vídeo e/ou da- ' dos de áudio, são difundidos mais e mais frequentemente. Além do conteúdo 1 efetivo de vídeo e/ou áudio, esses fluxos de dados compreendem ainda me- tadados, o que propicia, por exemplo, o controle no lado do receptor de vo- lume e variação dinâmica, bem como o controle de remixagem estérea e outros aspectos.
Em cenários de redes típicas, os quadros de vídeo e/ou os qua- dros de áudio, e os seus metadados associados, são codificados em um sis- tema de cabeça de rede de difusão. Para esse fim, vários esquemas de co- dificação, tais como Dolby E, Dolby Digital, AAC, HE AAC, DTS ou Dolby Pulse podem ser usados. Alguns desses esquemas de codificação, notavel- mente, Dolby Pulse, AAC e HE AAC, são particularmente bem adequados para a transmissão por vários meios de transmissão, tais como rádio (faixa de frequência FM, DVB/T, ATSC), cobre trançado (DSL), cabos coaxiais (por exemplo, CATV) ou fibras ópticas. O receptor, por exemplo, um aparelho de TV, um receptor de rádio, um computador pessoal ou uma caixa de sinal de frequência, tem um decodificador adequado e proporciona o fluxo de meios decodificado. Além disso, o receptor proporciona usualmente aspectos, que são sinalizados por meio dos metadados associados aos dados de vídeo e/ouáudio.
Os exemplos de esquemas de codificação / decodificação são especificados na norma ISO/IEC 14496-3 (2005) "Information technology -
á Coding of audio-visual objects - Part 3: Audio" para MPEG AAC, e na nor- . ma ISO/IEC 13818-7 (2003) "Generic Coding of Moving Pictures and Asso- ciated Audio Information - Part 7:Advanced Audio Coding (AAC)" para MPEG- AAC, que são incorporadas por referência no presente relatório descritivo.
Várias técnicas para autenticação e/ou identificação são conhe- cidas. Algumas se baseiam na incorporação de dados de autenticação e/ou informações dentro de dados multimídia codificados. Essas técnicas são também conhecidas como marcação d'água, e são elaboradas especifica- R 10 mente para proteção de direitos autorais. Uma outra técnica para autentica- e ção e/ou identificação é a assinatura digital, na qual dados de autenticação 7 separados são proporcionados com arquivos de dados, tais como e-mails, e ( usados em um decodificador para fins de autenticação e identificação.
Para que um receptor de fluxos de dados seja capaz de identifi- caro codificador do fluxo de dados, é desejável proporcionar um meio de autenticação juntamente com o fluxo de dados. Pode ser também benéfico verificar a integridade do fluxo de dados. Além disso, pode ser benéfico ga- rantir a configuração correta do receptor, no que diz respeito ao fluxo de da- dos, que vão ser reproduzido ou processado. Além do mais, pode ser bené- fico permitir a implementação de serviços com valor incorporado ou funcio- nalidades de controle especial para os fluxos de dados, que tenham sido adequadamente autenticados e/ou verificados. Esses e outros aspectos são abordados no presente documento de patente.
SUMÁRIO Os método e sistema propostos fazem uso de um identificador, que pode ser proporcionado como metadados dentro de um fluxo de dados.
Esses fluxos de dados são, de preferência, fluxos de dados que são transmi- tidos por um meio de transmissão com ou sem fio, mas os fluxos de dados podem ser também proporcionados em um meio de armazenamento de da- dos,talcomoum CD, DVD ou memória instantânea. O identificador permite que um decodificador, no lado de recebimento, verifique se ou não um fluxo de dados, que ele recebe, é de um codificador seguro, isto é, um codificador
7 legítimo, no lado de transmissão e/ou codificação. Essa verificação pode ser . particularmente benéfica, se um decodificador for compatível com diferentes tipos de codificadores. Por meio de exemplo, um decodificador Dolby Pulse pode ser compatível com um codificador versão HE-AAC 2. Nesse cenário, pode ser desejável permitir que um decodificador Dolby Pulse proporcione certos aspectos não padronizados e não obrigatórios, apenas se o tráfego, isto é, os fluxos de dados, se originar de codificadores Dolby Pulse adequa- dos. Por uso desse identificador, um decodificador Dolby Pulse vai ser capaz de diferenciar entre um fluxo de dados ou um fluxo de bits, gerado por um : “10 codificador Dolby Pulse adequado, e um fluxo de dados ou fluxo de bits, ge- Me) rado por um codificador de acordo com HE-AACv2. Como tal, pode-se ga- - rantir que os aspectos adicionais, por exemplo, o uso de metadados dinâmi- É cos, são apenas considerados pelo decodificador, se o fluxo de dados se originar de um codificador seguro. Fazendo-se isso, o funcionamento correto de aspectos adicionais pode ser garantido.
Um outro benefício do identificador é que pode permitir que um decodificador verifique que um fluxo de bits tenha sido recebido de uma ma- neira correta, e que o fluxo de bits não foi modificado ou falsificado durante a transmissão. Em outras palavras, o identificador permite que o decodificador verifique a integridade do fluxo de bits recebido.
Além do mais, o identificador pode ser usado para garantir que o decodificador seja ajustado ao processamento correto, por exemplo, repro- dução, configuração, para sintetizar adequadamente o sinal de meios / mul- timídia. Por meio de exemplo, essa configuração pode ser dirigida à fre- —quênciade amostragem, na qual o sinal de meios é reproduzido. A configu- ração pode ser também dirigida à configuração de canais, por exemplo, 2 canais estéreos, com diferentes ajustes de som circundante, etc., que vão ser usados para reprodução. Um outro aspecto de configuração pode ser dirigido ao comprimento de quadro, por exemplo, 1.024 quadros de amostra ou 960 quadros de amostra no caso de AAC, que é usado no esquema de codificação particular.
À parte dos fins de identificação e autenticação do codificador, o
7 identificador pode ser usado para verificar a autenticidade da carga útil do oc fluxo de dados. Para esse fim, o identificador não deve ser facilmente es- quecível, e uma manipulação do segmento protegido deve ser identificável. Além do mais, é desejável que um decodificador identifique a autenticidade deumfluxode bits, a intervalos de tempo relativamente curtos. É preferível que o tempo máximo, até que um decodificador ou dispositivo de decodifica- ção seja capaz de identificar um fluxo de bits autêntico, quando o fluxo con- tínuo não excede 1 segundo. Além disso, a complexidade introduzida pela verificação do identificador, no decodificador, deve ser mantida baixa, isto é, : “10 o aumento da complexidade do decodificador deve ser desprezível. Final- NR mente, o código extra de transmissão, introduzido pelo identificador, deve - ser mantido baixo.
í De acordo com uma concretização, os benefícios mencionados acima podem ser atingidos fazendo-se uso de um valor ou identificador crip- tográfico, originado de acordo com o método descrito a seguir. O identifica- dor pode ser determinado, no codificador, por aplicação de uma função de modo único a um grupo de um ou mais quadros de dados. Um quadro com- preende, tipicamente, os dados associados com um determinado segmento de um fluxo de áudio e/ou vídeo, por exemplo, um segmento compreenden- do um determinado número de fluxos de meios. Por meio de exemplo, um quadro de um fluxo de áudio pode compreender 1.024 amostras de dados de áudio e os metadados correspondentes. Como mencionado acima, com a finalidade de determinar um i- dentificador, um número determinado de quadros é agrupado. O número de quadros, em cada grupo, pode ser selecionado pelo codificador, e não é, tipicamente, conhecido de antemão pelo decodificador. A função de modo único é, de preferência, uma função hash criptográfica (código de autentica- ção de mensagem hash) HMAC-MDS5, ainda que outras funções hash, tal como uma SHA-1, possam ser usadas no lugar da MD5. Um possível critério para seleção de uma função hash criptográfica adequada pode ser o seu tamanho, que deve ser mantido pequeno, para reduzir o código extra de transmissão requerido. O tamanho de uma função hash criptográfica é dado,
á tipicamente, por seu número de bits.
P- Uma vez que um identificador, para um grupo de quadros, tenha sido calculado por uso, por exemplo, do procedimento HMAC-MDS5, pode ser associado com, por exemplo, inserido em, um quadro do grupo seguinte de quadros. Por meio de exemplo, o identificador pode ser escrito em um cam- po de dados ou em um elemento sintático do quadro. De preferência, o iden- tificador é inserido no primeiro nome do grupo de quadros seguinte. Isso permite que o identificador seja calculado como uma operação de passagem única, sem introduzir latência adicionada ao codificador / decodificador, o : 10 que é particularmente benéfico para transmissão de meios em tempo real. O a fluxo de dados compreendendo o identificador pode ser então transmitido - para os receptores / decodificadores correspondentes. ' Em um receptor, o identificador inserido pode ser usado para fins de identificação, autenticação, verificação e/ou configuração do codifica- dor. O receptor compreende, tipicamente, um decodificador, que pode sin- cronizar a um grupo de quadros, isto é, pode determinar os quadros que compreendem um identificador. Com base na distância entre dois quadros sucessivos, que compreendem um identificador, o número de quadros por grupo de quadros, que foram usados para calcular o identificador, pode ser determinado. Em outras palavras, isso pode permitir que o decodificador de- termine o comprimento do grupo de quadros, sem notificação do codificador correspondente. O decodificador pode calcular o identificador para um grupo de quadros recebido. Os identificadores, que são calculados com base no grupo de quadros recebido, podem ser referidos como identificadores de verifica- ção. Se for considerado que os identificadores são inseridos no primeiro quadro de um grupo de quadros sucessivo, então cada grupo de quadros vai começar com um primeiro quadro, que compreende um identificador para o grupo de quadros prévio, e vai terminar com o quadro que precede direta- mente o quadro seguinte, que compreende um identificador para o presente grupo de quadros. Para o presente grupo de quadros, um identificador de verificação pode ser calculado de acordo com os métodos descritos acima.
7 Em uma outra etapa, o decodificador pode extrair o identificador, e transmitido pelo codificador do respectivo quadro do grupo de quadros sub- sequente. De novo, se no codificador os identificadores forem inseridos no primeiro quadro de um grupo de quadros sucessivo, então também o recep- tor extrai o identificador desse primeiro quadro. Esse identificador, que foi recuperado do fluxo de dados, pode ser comparado com o identificador de verificação, isto é, o identificador que é calculado pelo decodificador com base no fluxo de dados recebido. Se ambos os identificadores são iguais, o decodificador pode considerar, tipicamente, que não ocorreu nenhum erro “10 durante a transmissão, o grupo de quadros foi recebido intacto, o grupo de ' x quadros não foi modificado durante a transmissão, e o grupo de quadros é e de um codificador seguro e/ou legítimo. Adicionalmente, se ambos os identi- ' ficadores são iguais, o decodificador pode selecionar permitir que um ou mais aspectos ou aperfeiçoamentos específicos de codificação / decodifica- ção, que não são habilitados quando um fluxo de bits arbitrário é seleciona- do, sejam decodificados. Por meio de exemplo, serviços adicionais podem ser habilitados, se o decodificador identificar um fluxo de bits Dolby Pulse específico, enquanto que esses serviços incorporados não vão estar dispo- níveis para um fluxo de bits codificado padrão HE-AAC versão 2. Não obs- tante, o decodificador pode ser habilitado para decodificar o fluxo de bits co- dificado padrão HE-AAC versão 2, sem, no entanto, usar os serviços adicio- nais.
Deve-se notar que, além do mais, o identificador pode ser permi- tido garantir que a configuração adequada, para, corretamente, decodificar elou reproduzir o fluxo de meios, seja ajustada no decodificador. Nesses casos, um identificador de verificação e um identificador transmitido iguais vão indicar que o decodificador usa os ajustes de configuração corretos. Se, por outro lado, os identificadores, isto é, o identificador de verificação e o identificador transmitido, não são iguais, então o decodifica- dor vaisaber que um erro ocorreu durante a transmissão, o grupo de qua- dros não foi recebido intacto, o grupo de quadros foi modificado durante a transmissão, ou o grupo de quadros não era um codificador seguro. Nesses
7 casos, o decodificador pode ser inteiramente desabilitado, ou, alternativa- a mente, aspectos ou aperfeiçoamentos específicos podem ser desabilitados.
Deve-se notar que o identificador pode ser também usado para informar ao decodificador que os ajustes de configuração errados foram es- tabelecidos. Nesses casos, um desacordo entre o identificador de verificação e o identificador transmitido pode ser devido ao fato de que o decodificador usa os ajustes de configuração errados, ainda que o grupo de quadros seja recebido intacto e de um codificador inseguro. Pode-se considerar que, nes- ses casos, o decodificador pode ser operante para modificar os seus ajustes ) 10 de configuração e determinar os identificadores de verificação corresponden- 1 tes, até que o identificador de verificação seja igual ao identificador transmi- - tido. Isso vai permitir que o decodificador ajuste, de fato, a sua configuração ' aos requisitos do fluxo de bits recebido.
A seguir, diferentes aspectos do método proposto são descritos.
De acordo com um primeiro aspecto, um método para codificar um fluxo de dados, compreendendo uma pluralidade de grupo de quadros, é descrito. Os fluxos de dados podem ser fluxos de áudio, vídeo e/ou meios e multimídia.
Em particular, os fluxos de dados podem ser fluxos de dados Dolby Pulse, AAC ou HE AAC. Os fluxos de dados são tipicamente organizados em qua- dros de dados, que compreendem um determinado número de amostras de dados e cobrem um determinado segmento do fluxo de dados. Por meio de exemplo, um quadro pode compreender 1.024 amostras de um sinal de áu- dio, amostrado a uma taxa de amostragem de 44,1 kHz, isto é, cobre um segmento de cerca de 23 ms. Deve-se notar que as amostras podem ser codificadas a taxas de bits constantes ou variáveis, e o número efetivo de bits dentro de um quadro pode variar.
O método pode compreender a etapa de agrupamento de um número N de quadros de dados sucessivos, para formar uma primeira men- sagem. O número N de quadros de dados sucessivos é selecionado, tipica- mente, com relação às considerações de código extra de taxa de dados. U- sualmente, o código extra diminui com o aumento do número N. N é, de pre- ferência, maior do que um. Os valores típicos para N são em torno de 20.
7 Em uma concretização preferida, N pode ser selecionado de modo que os N oc quadros sucessivos cubram 0,5 segundo de um sinal correspondente, quan- do reproduzidos em um decodificador correspondente, com uma configura- ção de decodificador adequada.
Deve-se notar que a etapa de agrupamento — pode compreender a concatenação dos N quadros sucessivos na ordem na- tural, isto é, de fluxo contínuo.
Em uma outra etapa, a primeira mensagem pode ser agrupada com as informações de configuração, para formar uma segunda mensagem.
Essas informações de configuração compreendem informações externas ao : 10 flixode dados, e são tipicamente relacionadas ao fluxo de dados, em parti- . cular, às informações para sintetizar o fluxo de dados em um lado do recep- - tor.
As informações de configuração podem compreender informações relati- ' vas aos ajustes dos respectivos receptor e/ou decodificador, que podem ser usadas para processar o fluxo de dados.
Como essas informações de confi- guração não são tipicamente transmitidas ou incluídas no fluxo de dados, podem ser também referidas como dados fora de banda.
Isso é oposto ao fluxo de dados, que pode ser também referido como dados dentro de banda.
As informações de configuração podem ser agrupadas com a primeira mensagem de vários modos.
Podem ser concatenadas com a pri- meiramensagem, isto é, podem ser colocadas no início e/ou no final da pri- meira mensagem.
As informações de configuração podem ser também colo- cadas em certas posições dentro da primeira mensagem, por exemplo, entre alguns ou todos dos quadros sucessivos.
Os exemplos típicos para as informações de configuração com- preendem uma indicação de uma taxa de amostragem, que foi usada para amostrar o fluxo de meios analógicos associados.
As informações de confi- guração podem também compreender uma configuração de canal de um sistema de codificação de áudio, tal como uma configuração de canal som mono, de dois canais estéreos ou circundante 5.1. Pode também compreen- deruma indicação do número de amostras em um quadro de dados, por e- xemplo, 960, 1.024 ou 2.048 amostras por quadro de dados.
O método compreende ainda a etapa de gerar um valor cripto-
7 gráfico da primeira e/ou segunda mensagem. O valor criptográfico pode ser o. também referido como um identificador. O valor criptográfico pode ser gera- do por uso de um valor principal e de uma função hash criptográfica. Em par- ticular, o valor criptográfico pode ser gerado por cálculo de um valor HMAC- MDS, paraa primeira e/ou segunda mensagem. Além do mais, a geração do valor criptográfico pode compreender truncar o valor HMAC-MDS, por exem- plo, truncar a 16, 24, 32, 48 ou 64 bits. Isso pode ser benéfico em vista da redução do código extra requerido para o valor criptográfico no fluxo de da- dos. : NT) Além do mais, o método compreende inserir o valor criptográfico . no fluxo de dados, subsequente aos N quadros de dados sucessivos. De - preferência, o valor criptográfico é inserido no primeiro quadro, seguinte aos N sucessivos quadros de dados, para permitir uma rápida decodificação e autenticação e verificação do codificador, em um decodificador correspon- dente. Pode ser benéfico também inserir uma indicação de sincronização, subsequente aos N quadros de dados sucessivos, em que a indicação de sincronização indica que o valor criptográfico foi inserido. Essa indicação de sincronização pode ser colocada nas vizinhanças do valor criptográfico, para permitir uma extração conveniente do valor criptográfico a um decodificador correspondente.
Em uma concretização exemplificativa, o fluxo de dados é um fluxo MPEG4-AAC ou MPEGZ2-AAC, e o valor criptográfico é inserido como um elemento de fluxo de dados <DSE>. Esse elemento de fluxo de dados <DSE> pode ser inserido ao final de um quadro, antes de um elemento <TERM>. Além do mais, o conteúdo desse elemento de fluxo de dados <DSE> pode ser, de preferência, alinhado a um limite de byte do fluxo de dados, para simplificar a extração do elemento de fluxo de dados <DSE>, e, em particular, do valor criptográfico e/ou da indicação de sincronização, a um decodificador correspondente.
Deve-se notar que a etapa de gerar um valor criptográfico pode ser, de preferência, conduzida iterativamente nos quadros individuais de um grupo de N quadros sucessivos. Para esse fim, um valor criptográfico inter-
7 mediário pode ser gerado para cada um dos N quadros sucessivos, usando e um estado de partida. O estado de partida pode ser o valor criptográfico in- termediário da iteração prévia. Por meio de exemplo, um valor criptográfico intermediário pode ser gerado para o primeiro quadro. Esse valor criptográfi- cointermediário pode ser então usado como o estado de partida para a ge- ração de um valor criptográfico intermediário do segundo quadro. Esse pro- cesso é repetido até que um valor criptográfico intermediário do Nº quadro seja gerado. Esse último valor criptográfico intermediário representa, tipica- mente, o valor criptográfico para o grupo de N quadros sucessivos. Para “10 consideraras informações de configuração, o estado de partida da primeira . iteração pode ser um valor criptográfico intermediário das informações de - configuração. Í Em uma concretização preferida, o valor criptográfico de um blo- co de N quadros de dados sucessivos é gerado no bloco de N quadros de dados sucessivos compreendendo o valor criptográfico do bloco prévio de N quadros de dados sucessivos. Fazendo-se isso, um fluxo de valores cripto- gráficos interligados pode ser gerado.
De acordo com um outro aspecto, o método pode compreender a etapa de interação com um codificador de vídeo e/ou áudio do fluxo de dados. Essa pode ser implementada por condução de codificação de vídeo e/ou áudio, bem como de geração do valor criptográfico de uma maneira integrada. Em particular, a interação, entre o codificador de vídeo e/ou áudio do fluxo de dados e a geração do valor criptográfico, pode ser dirigida a um ajuste de taxa de bits máxima para o codificador de vídeo e/ou áudio, de modo que uma taxa de bits do fluxo de dados, compreendendo o valor crip- tográfico, não exceda um valor predeterminado. Isso pode ser particularmen- te benéfico se a codificação / decodificação do fluxo de dados associado ajusta um limite de taxa de bits superior para um fluxo de dados completo. De acordo com um outro aspecto, um método para verificar um fluxodedadosem um decodificador e/ou receptor é descrito. Deve-se notar que os métodos e sistemas descritos podem ser aplicáveis no contexto de fluxos de dados transmitidos, bem como de fluxos de dados proporcionados
7 em um meio de armazenamento. Como descrito acima, o fluxo de dados o compreende tipicamente uma pluralidade de quadros de dados, e um valor criptográfico, associado a um número N de quadros de dados sucessivos precedentes. Faz-se referência à consideração apresentada nesse docu- mento, notavelmente, com relação aos possíveis valores para N e à estrutu- ra do fluxo de dados e dos seus quadros.
O método compreende a etapa de extração de N quadros de dados sucessivos, para formar uma primeira mensagem. O método também compreende a etapa de determinação do valor de N. Essa pode ser execu- B “10 tadaem um fluxo de dados, que compreende uma pluralidade de N quadros . de dados sucessivos e de valores criptográficos associados. Se N quadros - de dados sucessivos são referidos como um grupo de quadros, esse fluxo É de dados compreende, tipicamente, uma pluralidade de grupos de quadros e um valor criptográfico associado com cada grupo de quadros. Nesses casos, o número N pode ser determinado como o número de quadros entre dois valores criptográficos sucessivos.
Deve-se notar que o presente grupo de quadros, que é usado para calcular um segundo valor criptográfico, pode compreender o valor crip- tográfico do grupo de quadros precedente. Alternativamente, o valor cripto- gráficodo grupo de quadros precedente e qualquer indicação de sincroniza- ção e/ou elemento sintático associados podem ser primeiro removidos do presente grupo de quadros, antes do cálculo do segundo valor criptográfico. Esta solução pode ser preferível, para impedir variações e discrepâncias de propagação de um grupo de quadros para o seguinte.
O método pode compreender ainda a etapa de agrupamento da primeira mensagem com as informações de configuração, para formar uma segunda mensagem, em que as informações de configuração compreendem tipicamente informações externas ao fluxo de dados, tais como para sinteti- zar o fluxo de dados. A etapa de agrupamento e os diferentes aspectos com relação às informações de configuração foram descritos acima. Esses as- pectos são igualmente aplicáveis ao decodificador.
O método continua por geração de um segundo valor criptográfi-
7 co das primeira e/ou segunda mensagem, por extração do valor criptográfico ” do fluxo de dados e por comparação do valor criptográfico com o segundo valor criptográfico. O segundo valor criptográfico pode ser também referido como o valor criptográfico de verificação ou o identificador de verificação.
Deve-se notar que o segundo valor criptográfico pode ser gerado de uma maneira iterativa, como descrito no contexto da geração do valor criptográfico.
Em uma concretização preferida, o valor criptográfico foi gerado em um codificador e/ou transmissor correspondentes dos N quadros de da- “10 dos sucessivos e das informações de configuração, de acordo com um mé- i . todo correspondente ao método usado para gerar o segundo valor criptográ- fico. Em outras palavras, o método para gerar o valor criptográfico no codifi- - cador correspondente está em conformidade com o método para gerar o segundo valor criptográfico no decodificador. Em particular, o valor criptográ- ficoeo segundo valor criptográfico são gerados por uso de um único valor principal e/ou uma única função hash criptográfica.
Além do mais, o conjunto de N quadros sucessivos, usado para gerar o valor criptográfico no codificador, corresponde ao conjunto de N quadros sucessivos para gerar o segundo valor criptográfico no decodifica- dor. Como mencionado acima, o valor criptográfico e o segundo valor cripto- gráfico podem ser determinados no conjunto de N quadros sucessivos, que compreendem ou que não compreendem o valor criptográfico do conjunto precedente de N quadros sucessivos. A mesma regra deve ser aplicada no codificador e no decodificador.
Ainda que os conjuntos de quadros no codificador e no decodifi- cador sejam idênticos, deve-se notar que o conteúdo dos quadros no codifi- cador e no decodificador podem diferir, por exemplo, devido às modificações incorridas durante a transmissão dos quadros ou devido a erros no meio de armazenamento do fluxo de dados.
De acordo com um outro aspecto, o método pode compreender as etapas de ajustar um sinalizador, se o valor criptográfico corresponder ao segundo valor criptográfico, e/ou de proporcionar uma indicação visual no
7 receptor e/ou decodificador, se o sinalizador for estabelecido. De uma ma- a neira análoga, o sinalizador e/ou indicação visual pode(m) ser removido(s), se o valor criptográfico não corresponder ao segundo valor criptográfico, ou se nenhum valor criptográfico puder ser extraído do fluxo de dados. Isso po- de ser benéfico para proporcionar, a um usuário do decodificador e a um espectador / ouvinte do fluxo de dados, informações sobre a autenticidade do fluxo de dados. De acordo com outro aspecto, um fluxo de dados compreenden- do um valor criptográfico, gerado e inserido de acordo com os métodos des- V 10 critosno presente documento de patente, é descrito.
. De acordo com outro aspecto, um codificador operante para co- : dificar um fluxo de dados, compreendendo uma pluralidade de quadros de S dados, é descrito. O codificador é operante para executar as etapas do mé- todo descritas no presente documento de patente. Em particular, o codifica- —dorpode compreender um processador operante para agrupar um número N de quadros de dados sucessivos, para formar uma primeira mensagem, em que N é maior do que um, para agrupar a primeira mensagem com informa- ções de configuração, para formar uma segunda mensagem, em que as in- formações de configuração compreendem informações externas ao fluxo de dados, tais como para sintetizar o fluxo de dados, para gerar um valor crip- tográfico da segunda mensagem, e inserir o valor criptográfico no fluxo de dados, subsequente aos N quadros de dados sucessivos. De acordo com um outro aspecto, um decodificador operante pa- ra verificar um fluxo de dados, compreendendo uma pluralidade de quadros dedadose um valor criptográfico associado a um número N de quadros de dados sucessivos precedentes, em que N é superior a um, é descrito. O de- codificador é operante para executar as etapas do método descritas no pre- sente documento de patente. Em particular, o decodificador pode compreen- der: um processador operante para: extrair os N quadros de dados sucessi- vos para formar uma primeira mensagem; para agrupar a primeira mensa- gem com as informações de configuração; para formar uma segunda men- sagem, em que as informações de configuração compreendem informações
| para: sintetizar o fluxo de dados; para gerar um segundo valor criptográfico . da segunda mensagem; para extrair o valor criptográfico do fluxo de dados; e para comparar o valor criptográfico com o segundo valor criptográfico.
De acordo com um outro aspecto, um programa de software é descrito. O programa de software é adaptado para execução em um proces- sador e para condução das etapas de processo descritas no presente docu- mento de patente, quando conduzidas em um dispositivo de computação.
De acordo com um outro aspecto, um meio de armazenamento é descrito. O meio de armazenamento compreende um programa de software . 10 adaptado para execução em um processador e para execução das etapas - de método descritas no presente documento de patente, quando conduzidas - em um dispositivo de computação. ' De acordo com um outro aspecto, um produto programa de computador é descrito. O produto programa de computador compreende instruções executáveis para condução das etapas de método descritas no presente documento de patente, quando executadas em um computador.
De acordo com um outro aspecto, uma caixa de sinal de fre- quência, um dispositivo eletrônico portátil (por exemplo, um telefone móvel, um PDA, um telefone inteligente, etc.) ou um computador (por exemplo, um computador de mesa, um laptop, etc.), para decodificar um fluxo de dados recebido, é descrito. O fluxo de dados pode compreender um sinal de áudio. A caixa de sinal de frequência compreende um decodificador, de acordo com os aspectos descritos no presente documento de patente.
De acordo com um outro aspecto, um sistema de difusão, para transmitir um fluxo de dados, é descrito. O fluxo de dados pode compreender um sinal de áudio. O sistema de difusão compreende, de preferência, um codificador, de acordo com os aspectos descritos no presente documento de patente.
De acordo com um outro aspecto, um método para concatenar um primeiroe um segundo fluxo de bits, em um ponto de emenda, é descri- to. Cada um dos dois fluxos de bits pode compreender uma pluralidade de quadros de dados e um valor criptográfico associado com um determinado
7 número de quadros de dados. O primeiro fluxo de bits pode compreender um e valor criptográfico para cada N1 quadros sucessivos, enquanto que o se- gundo fluxo de bits pode compreender um valor criptográfico para cada N2 quadros sucessivos. Os números N1 e N2 podem ser idênticos, isto é, os dois fluxos de bits têm o mesmo período de repetição criptográfico, ou os números N1 e N2 podem ser diferentes, isto é, os números de quadros, após os valores criptográficos terem sido incluídos nos fluxos de bits, são diferen- tes.
O método de concatenação compreende a etapa de gerar um “10 fluxode bits concatenado dos primeiro e segundo fluxos de bits, em que o ' fluxo de bits concatenado compreende pelo menos uma parte da pluralidade - de quadros de dados dos primeiro e segundo fluxos de bits. Em outras pala- " vras, o segundo fluxo de bits ou uma parte dele é preso, no ponto de emen- da, no primeiro fluxo de bits ou em uma parte dele.
O fluxo de bits concatenado compreende valores criptográficos gerados e inseridos de acordo com os métodos descritos no presente docu- mento de patente. Vantajosamente, os valores criptográficos no fluxo de bits concatenado cobrem uniformemente o ponto de emenda, de modo que ne- nhuma interrupção de autenticidade de fluxo de bits é perceptível em um receptor / decodificador. Isso pode ser alcançado por geração explícita de novos valores criptográficos para o fluxo de bits concatenado, após o ponto de emenda.
Novos valores criptográficos podem ser gerados pelo menos pa- ra um determinado número de quadros sucessivos, em uma seção do fluxo de bits concatenado, partindo no ponto de emenda. Em alguns casos, os valores criptográficos do segundo fluxo de bits podem ser reutilizados e co- piados no fluxo de bits concatenado, após a seção na qual novos valores criptográficos foram incluídos. Isso se aplica em particular quando o valor criptográfico do grupo de quadros prévio, que é incluído no primeiro quadro — dogrupo seguinte, não é considerado para o cálculo do valor criptográfico do grupo seguinte, e os grupos podem ser manipulados independentemente, isto é, as variações nos valores criptográficos não são propagadas de um
' grupo no seguinte.
o A geração explícita de valores criptográficos, de acordo com os métodos descritos no presente documento de patente, pode ser particular- mente benéfica nos limites entre o primeiro fluxo de bits e o segundo fluxo debits,istoé,paraos quadros finais do primeiro fluxo de bits e para os qua- dros primários do segundo fluxo de bits, que são incluídos no fluxo de bits concatenado. Em geral, Em geral, quando da emenda de dois fluxos de bits, o número de quadros finais do primeiro fluxo de bits é tipicamente menor ou igual a N1, e/ou o número de quadros tirados do segundo fluxo de bits, antes : 10 do primeiro valor criptográfico ser incluído, é tipicamente menor ou igual a . N2. Em outras palavras, o ponto de emenda não é tipicamente posicionado ] nos limites de grupos dos primeiro e segundo fluxos de bits. i De acordo com um aspecto do método de concatenação ou e- menda, um novo valor criptográfico é gerado para os quadros finais do pri- meiro fluxo de bits e inserido no quadro do fluxo de bits concatenado, que é o primeiro quadro tirado do segundo fluxo de bits. Esse novo valor criptográ- fico é considerado para "completar" o primeiro fluxo de bits. Os novos valo- res criptográficos podem ser então gerados para o segundo fluxo de bits e incluídos no fluxo de bits concatenado nas posições adequadas. Isso é parti- cularmente útil se, sem o valor criptográfico adicionado, inserido no primeiro quadro, tirado do segundo fluxo de bits, o número de quadros, entre o último valor criptográfico, gerado para os quadros do primeiro fluxo de bits, e o pri- meiro valor criptográfico, gerado para os quadros do segundo fluxo de bits, vai exceder um número máximo permitido pelo sistema.
No caso no qual o ponto de emenda não é alinhado com os gru- pos de quadros dos primeiro e segundo fluxos de bits, o método de emenda pode gerar um valor criptográfico para um grupo misto, compreendendo quadros tirados dos primeiro e segundo fluxos de bits. Como já mencionado, os valores criptográficos são tipicamente incluídos no quadro seguinte, de- —poisdo grupo de quadros usado para calcular o respectivo valor criptográfi- co.
De acordo com um outro aspecto, um emendador e/ou uma ca-
7 beça de rede de difusão é(são) descrito(s). Esse(s) emendador e/ou cabeça o de rede de difusão é(são) operantes para concatenar um primeiro e um se- gundo fluxo de bits, cada um deles compreendendo uma pluralidade de qua- dros de dados e valores criptográficos associados com um determinado nú- merode quadros de dados. O dispositivo pode compreender um decodifica- dor, tendo qualquer combinação de aspectos descritos no presente docu- mento de patente. Esse decodificador pode ser usado para decodificar os quadros finais do primeiro fluxo de dados, os quadros primários do segundo fluxo de bits e os valores criptográficos associados. O(s) emendador e/ou y 10 cabeça de rede de difusão pode(m) compreender ainda um codificador, ten- . do qualquer combinação de aspectos descritos no presente documento de - patente. O codificador pode ser usado para codificar os quadros finais do ' primeiro fluxo de bits e os quadros primários do segundo fluxo de bits. Além disso, o(s) emendador e/ou cabeça de rede de difusão pode(m) compreen- der uma unidade de encaminhamento para encaminhar quadros e valores criptográficos associados dos primeiro e segundo fluxo de bits, que não são decodificados e codificados. Em outras palavras, a unidade de encaminha- mento pode simplesmente copiar ou encaminhar ou conduzir pelos quadros e valores criptográficos associados para o fluxo de bits concatenado.
Deve-se notar que o emendador pode ser também operante pa- ra decodificar e codificar os fluxos de dados completos, isto é, para decodifi- car os valores criptográficos de um fluxo de dados de chegada, e gerar valo- res criptográficos para o fluxo de dados de saída. Isso pode ser benéfico para gerar uma interligação contínua do fluxo de bits pelos valores criptográ- ficos. Na verdade, uma pluralidade de fluxos de bits pode ser decodificada e um fluxo de bits concatenado, compreendendo partes da pluralidade de flu- xos de bits, pode ser codificado com valores criptográficos continuamente interligados. Como tal, um receptor do fluxo de bits concatenado vai conside- rar o fluxo de bits concatenado como um fluxo de bits originário de um único codificador inseguro.
Deve-se também notar que para a finalidade de decodificação e/ou codificação dos fluxos de bits compreendendo valores criptográficos, o
7 emendador pode não precisa estar ciente do decodificador / codificador as- a sociado do fluxo de dados. Por meio de exemplo, o emendador não precisa ser habilitado para conduzir decodificação / codificação HE-AAC, para extrair e/ou gerar os valores criptográficos dos fluxos de dados. Em algumas situa- ções, por exemplo, quando um novo valor criptográfico é inserido em um quadro que não tinha previamente qualquer valor criptográfico, a decodifica- ção e a subsequente recodificação do fluxo de dados podem ser necessárias para criar espaço no fluxo de bits para o novo valor criptográfico, em particu- lar, para satisfazer os requisitos do fluxo de bits. “10 Deve-se notar que os métodos e sistemas, incluindo as concreti- .: zações preferidas, como descritos no presente pedido de patente, podem - ser usados autonomamente ou em combinação com os outros métodos e ' sistemas descritos neste documento. Além do mais, todos os aspectos dos métodos e sistemas, descritos no presente pedido de patente, podem ser arbitrariamente combinados. Em particular, os aspectos das reivindicações podem ser combinados entre si de uma maneira arbitrária. Além disso, deve- se notar que a ordem das etapas do método podem ser variadas.
DESCRIÇÃO DAS FIGURAS A invenção é explicada abaixo em uma maneira exemplificativa, comreferência aos desenhos em anexo, em que: a figura 1 ilustra um método exemplificativo para determinar um identificador de acordo com a invenção; as figuras 2a e 2b mostram fluxogramas de um método exempli- ficativo para geração e inserção de identificador no codificador; a figura 3 mostra um diagrama de blocos das etapas de autenti- cação e verificação conduzidas no decodificador; a figura 4 ilustra uma concretização exemplificativa de um codifi- cador e um decodificador; a figura 5 ilustra um exemplo para o uso de um identificador den- trodeum sistema de difusão; e as figuras 6 e 7 ilustram exemplos de emenda de fluxos de bits para formar um fluxo de bits concatenado.
7 As concretizações a seguir são descritas por meio de exemplo e oc não devem ser limitadas ao âmbito do presente documento de patente. À invenção vai ser descrita no contexto de AAC (Codificação de Áudio Avan- çada) e, em particular, MPEG-2 AAC e MPEG+4 AAC. Deve-se notar, no en- tanto, que a invenção pode ser também aplicada a outros esquemas de codi- ficação de meios, notavelmente, esquemas de codificação de áudio, vídeo e/ou multimídia. Além do mais, pode ser aplicada em um emendador, pro- porcionando fluxo de bits combinado de uma pluralidade de codificadores. A figura 1 ilustra um fluxo de bits 100 e um método de como um V “10 identificador é determinado para esse fluxo de bits 100. Os exemplos para - esses fluxos de bits são fluxos de bits de vídeo e/ou áudio com AAC, HE- ' AAC (Codificação de Áudio Avançada de Alta Eficiência), Dolby Pulse, Ú MPEG AVC/H.264, MPEG-2 Vídeo ou MPEG Vídeo, como uma codifica- ção / decodificação associada. Essas codificações / decodificações e os seus formatos são definidos, por exemplo, na especificação ISO/IEC 14496- 3 para MPEG-4 AAC, na especificação ISO/IEC 13818-7 para MPEG-2 AAC, na especificação ISO/IEC 14496-10 para MPEG-4 AAC/H.264, na especifi- cação ISO/IEC 13818-2 para MPEG-2 Vídeo, e na especificação ISO/IEC 14496-2 para MPEG-4 Vídeo. Essas especificações são incorporadas por referência. Nessas codificações / decodificações, os fluxos de dados são dispostos nos denominados quadros, em que os quadros compreendem um determinado número de amostras de meios. Diferentes codificações / deco- dificações podem usar um número diferente de amostras por quadro. Os exemplos típicos são 960, 1.024 ou 2.048 amostras por quadro.
Além dos dados de meios efetivos, os quadros podem compre- ender ainda os denominados metadados, que podem conduzir informações de controle adicionais, por exemplo, em volume ou variação dinâmica de programa.
A figura 1 mostra uma sucessão de quadros 101, 102, 103 até
106.0 eixo de tempo vai da esquerda para a direita, de modo que o quadro 101 seja processado antes do quadro 106. Como descrito acima, cada qua- dro pode compreender dados de meios e outros metadados. A estrutura de
7 cada quadro e os possíveis campos ou elementos de dados, que ele pode . compreender, são definidos pelo esquema de codificação associado. Por meio de exemplo, um quadro MPEG-4 AAC ou um quadro MPEG-2 AAC pode compreender dados de áudio, por um período de tempo de 1.024 ou 960 amostras, informações relativas e outros dados. As suas sintaxe e estru- tura são definidas nas seções 4.4 e 4.5 da especificação ISO/IEC 14496-3 PARA MPEG AAC e nas seções 6 e 8 da especificação ISO/IEC 13818-7 mencionada acima para MPEG-2 AAC. Essas seções são incorporadas por referência. ' 0 Um quadro MPEG-4 AAC ou MPEG-2 AAC pode compreender - diferentes elementos sintáticos, tais como: - . um single channel element(), abreviado como SCE, que é o á elemento sintático do fluxo de bits contendo dados codificados para um úni- co canal de áudio; 15 . um channel pair element(), abreviado como CPE, que é o e- lemento sintático da carga útil de fluxos de bits contendo dados para um par de canais; . um coupling channel element(), abreviado como CCE, que é o elemento sintático que contém dados de áudio para um canal de acoplamen- to . um Ife channel element(), abreviado como LFE, que é o ele- mento sintático que contém um canal de aperfeiçoamento de baixa frequên- cia de amostragem; . um program config element(), abreviado como PCE, que é o elemento sintático que contém os dados de configuração de programas; . um fill element(), abreviado como FIL, que é o elemento sintá- tico que contém dados de preenchimento; . um data stream element(), abreviado como DSE, que é o ele- mento sintático que contém dados auxiliares; e 30 . um elemento sintático TERM, indicando o fim de um bloco de dados brutos ou quadro.
Esses elementos sintáticos são usados dentro de um quadro ou í bloco de dados brutos, para especificar os dados de meios e dados de con- e trole relacionados.
Por meio de exemplo, dois quadros de um sinal de áudio mono podem ser especificados por meio dos elementos sintáticos <SCE><TERM><SCE><TERM>. Dois quadros de um sinal de áudio estéreo podem ser especificados pelos elementos sintáticos <CPE><TERM><CPE><TERM>. Dois quadros de um sinal de áudio 5.1 po- dem ser especificados pelos elementos sintáticos <SCE><CPE><CPE><LFE><TERM><SCE><CPE><CPE><LFE><TERM>. O método proposto agrupa um determinado número N desses “10 quadrose forma, desse modo, os grupos de quadros 111, 112 e 113. A figu- " ra 1 mostra um grupo de quadros completo 112, compreendendo N = 5 qua- - dros 103 a 105. Os cinco quadros do grupo de quadros 112 são concatena- º dos para formar uma primeira mensagem.
Usando-se uma função hash criptográfica H(.) e uma chave "se- creta" K, que é tipicamente adicionada à direita com zeros extras ao tama- nho de bloco da função hash H(.), um código de autenticação de mensagem hash (HMAC) da primeira mensagem, pode ser determinada.
Vai-se especi- ficar que o signo || denote uma concatenação e o signo €& denote um exclu- sivo, e o enchimento externo opad = 0x5c5c5c...5c5c e o enchimento interno ipad=0x363636...3636 sejam constantes do comprimento do tamanho de bloco da função hash H(.), então o valor HMAC da primeira mensagem vai ser escrito como HMAC (m) = H((KEopad)||H((kKPBipad)]|m)), onde m é uma mensagem, também referida, nesse caso, como a primeira mensagem.
O tamanho do bloco, usado com as funções hash MD5 ou SHA-1, é, tipicamente, de 512 bits.
O tamanho da saída da operação HMAC é igual àquele da função “hash” associada, isto é, 128 bits, no caso de MDS5, ou 160 bits, no caso de SHA-1. O valor HMAC da primeira mensagem, isto é, o valor HMAC dos quadros concatenados 103 a 105 do grupo de quadros 112, pode ser usado como o identificador do grupo de quadros 112. Para reduzir o comprimento do identificador, o valor HMAC pode ser truncado, por exemplo, truncado a
. 16, 24, 32, 48 ou 64 bits. Deve-se notar, no entanto, que essa operação de a truncamento afeta tipicamente a segurança do código de autenticação de mensagem hash. Como o identificador é inserido no fluxo de dados, o méto- do proposto usa, de preferência, uma versão truncada do valor HMAC, como oidentificador.
Como mostrado na figura 1, o identificador 122 do grupo de quadros 112 é inserido em um quadro do grupo de quadros 113 seguinte. De preferência, o identificador 122 é inserido no primeiro quadro 106 do grupo de quadros 113 sucessivo. De uma maneira similar, um identificador 121 foi . “10 determinado para o grupo de quadros 111 precedente e inserido no primeiro - quadro 103 do grupo de quadros 112.
. Deve-se notar que o identificador 122 do grupo de quadros 112 ' pode ser calculado com base em uma primeira mensagem m, que compre- ende o identificador 121 do grupo de quadros 111 prévio, ou pode ser calcu- lado com base em uma primeira mensagem m, que não compreende o iden- tificador 121 do grupo de quadros 111 prévio. Neste caso, as informações relativas ao identificador 121 vão precisar ser removidas da primeira mensa- gem m, antes da determinação do identificador 122. Vai-se precisar ter cer- teza de que o codificador e o decodificador apliquem o mesmo método para definira primeira mensagem m. Em uma concretização preferida, o identifi- cador 122 é determinado com base em uma primeira mensagem m, que compreende o identificador 121 do grupo de quadros 111 prévio. Fazendo- se isso, os identificadores podem ser interligados continuamente, e, desse modo, um fluxo de bits interligado pode ser criado, que não pode ser modifi- cado, por exemplo, por modificação ou substituição de determinados grupos de quadros do fluxo de bits. Consequentemente, a autenticidade do fluxo de dados ou fluxo de bits completo pode ser garantida. Por outro lado, garante- se ainda que um receptor possa ressincronizar em um fluxo de bits parcial- mente corrompido, ainda que os identificadores sejam interligados. Em uma concretização preferida, o identificador é colocado em um único data stream element (elemento de fluxo de dados)(), abreviado como <DSE>, e definido em ISO/IEC 14496-3, tabela 4.10 para MPEG-4
7 AAC, ou definido em ISO/IEC 13818-7, tabela 24 para MPEG-2 AAC, que ” são incorporadas por referência. Para facilitar uma sincronização do decodi- ficador, um quadro AAC deve apenas compreender um da- ta stream element() <DSE>, possuindo um identificador, de modo que o — decodificador possa determinar o comprimento de um grupo de quadros, como a distância entre dois identificadores recebidos. Em outras palavras, um quadro AAC pode compreender vários data stream element() <DSE>, mas deve compreende apenas um data stream element() <DSE>, que compreende um identificador. Em uma concretização preferida, a localização * 10 do<DSE>énofimdo quadro AAC, antes do elemento <TERM>. - Para permitir uma rápida extração do identificador, o aspecto de ' alinhamento de byte do DSE pode ser usado. Para esse fim, o DSE compre- 1 ende tipicamente um campo ou um bit, que indica que os dados compreen- didos no DSE sejam alinhados por bytes. Isso indica a um decodificador que os dados efetivos do DSE começam em uma posição de bit no início de um byte.
Um fluxo de bits ou fluxo de dados pode compreender múltiplo <DSE>. Para que seja possível distinguir um <DSE> do outro, cada <DSE> inclui, tipicamente, um element instance tag, como definido para MPEG-4 AAC em ISO/IEC 14496-3, seção 4.5.2.1.1, e para MPEG-2 AAC em |- SO/IEC 13818-7, seção 8.2.2, ambos sendo incorporados por referência. Deve-se notar que o valor do element instance tag do da ta stream element() compreendendo o identificador não é limitado a um valor específico, isto é, as regras genéricas dos padrões ISO/IEC se apli- cam.Em outras palavras, não há, de preferência, quaisquer regras especiais para o sinalizador de caso de elemento para um <DSE>, contendo um identi- ficador transmitido além daqueles estabelecidos para MPEG-4 AAC no do- cumento ISO/IEC 14496-3 e para MPEG-2 AAC no documento ISO/IEC 13818-7.
Em analogia com os exemplos de possíveis fluxos mostrados a- cima, um fluxo de dados para um programa de áudio de 2 canais pode com- preender os elementos sintáticos
<CPE><FIL><DSE><TERM><CPE><FIL><DSE><TERM> .... Um programa a de áudio de 2 canais com SBR (Réplica de Banda Espectral) pode compre- ender os elementos sintáticos <CPE><SBR(CPE)><FIL><DSE><TERM><CPE><SBR(CPE)><FIL><DSE> <TERM>..., em que <SBR(CPE)> é um elemento sintático específico para SBR.
Um programa de áudio de 5.1 canais pode ser constituído dos elemen- tos sintáticos <SCE><CPE><CPE><LFE><DSE><TERM><SCE><CPE><CPE><LFE><F| L><DSE><TERM>.... : ] 10 Em uma concretização preferida, o campo de identificador colo- r cado no elemento <DSE> pode compreender um campo identífier sync e um . campo identifier value.
O campo identifier sync pode ser usado para permi- : tir uma rápida identificação, com base no fato de que o elemento <DSE> particular compreende um identificador.
Por meio de exemplo, o codificador pode ajustar o seu campo a um valor predefinido, por exemplo, um modelo binário, para indicar que o elemento <DSE> compreende um campo de iden- tificador.
O decodificador pode usar esse campo para verificar a disponibili- dade do valor do identificador.
Em outras palavras, o decodificador é infor- mado de que o fluxo de dados recebido compreende um identificador, que pode ser usado para fins de autenticação, verificação e, possivelmente, con- figuração mencionadas acima.
Em uma concretização preferida, o campo identifier value com- preende o valor do identificador que foi determinado como descrito no pre- sente documento.
O campo compreende o número requerido de bits para o identificador, isto é, para a versão truncada do valor HMAC.
Como descrito acima, o identificador cobre, tipicamente, N, em que N > 1, os quadros AAC e cada Nº quadro AAC compreende um identificador, isto é, compreende um elemento <DSE>, que compreende um elemento identificador, como descrito acima.
Tipicamente, é o codificador que decide o número N de quadros AAC cobertos.
O decodificador é capaz de determinar esse valor pela distância em quadros entre os quadros AAC, compreendendo os identificadores cor- respondentes.
i Como descrito acima, o identificador pode ser também usado o para garantir que o decodificador use os ajustes de configuração corretos. Para esse fim, o identificador pode ser gerado com base em uma mensagem estendida, que não apenas compreende a concatenação de N quadros su- cessivos, mas que também compreende dados de configuração. Em outras palavras, a primeira mensagem, que compreende N quadros sucessivos, como descrito acima, pode compreender ainda dados de configuração. Es- ses dados de configuração podem compreender um Sampling Frequency Index, isto é, uma indicação da frequência de amostragem associada do si- V 10 nalde áudio, um Channel Configuration, isto é, uma indicação da configura- n ção de canal usada, e um Frame Lenght Flag, isto é, uma indicação do com- f primento de quadro usado. Também outros parâmetros de configuração são ' igualmente possíveis. Esses parâmetros, isto é, a taxa de amostragem (núcleo) AAC ou "sampling Frequency Index", a configuração de canal e a indicação de comprimento de transformação AAC, ou "frame Lenght Flag", podem ser u- sadas para formar um configuration word. Esse configuration word pode também compreender bits de enchimento, para colocá-lo em um tamanho predeterminado.
Em uma concretização preferida, os parâmetros "sampling Fre- quency Index" e "Channel Configuration" têm os mesmos significado e valor que os elementos de mesmo nome no "Audio Specific Config", descrito na respectiva especificação ISO/IEC (por exemplo, a seção 1.6.2.1 da ISO/IEC 14496-3). O parâmetro "frame Lenght Flag" têm os mesmos significado e valorque os elementos de mesmo nome no "GAS peciífic Config", descritos na respectiva especificação ISO/IEC (por exemplo, a seção 4.4.1, tabela 4.1 da ISO/IEC 14496-3).
O “configuration word" e os N quadros AAC são concatenados para formar uma mensagem m, que pode ser também referida como a se- gunda mensagem, que compreende o configuration word, além da primeira mensagem, que compreende a concatenação de N quadros AAC: m = (configuration word || AACframe1 || AACframe?2 || ... || AAC-
frameN); " em que || denota concatenação. No exemplo mostrado acima, o configuration word é colocado em frente da primeira mensagem. Deve-se notar que o configuration word pode ser também colocado em outras posi- ções, por exemplo, no fim da primeira mensagem.
Em uma maneira análoga como descrita acima, um valor HMAC, por exemplo, um código HMAC-MDS5, HMAC (m) pela mensagem m é calcu- lado por uso da chave "secreta" K. A chave K pode ser, por exemplo, um determinado código ASCII ou qualquer outro valor secreto, e o valor HMAC damensagem m é calculado por uso da fórmula HMAC mencionada acima. py Deve-se notar que o valor criptográfico da mensagem m pode , ser determinado em uma maneira sequencial. Isso significa que, em uma primeira etapa, o valor criptográfico do configuration word pode ser determi- nado. Isso produz um primeiro valor HMAC, como um estado de partida para a determinação do valor criptográfico do AACframe1. A saída dessa opera- ção é um segundo valor HMAC, que é o estado de partida para a determina- ção do valor HMAC do AACÍrame2, e assim por diante. Eventualmente, o valor criptográfico do AACframeN é determinado por uso do valor criptográfi- co do AACframeN-1, como um estado de partida. Por uso dessa determina- ção sequencial do valor HMAC pela mensagem m, isto é, pela sequência de quadros e/ou do configuration word, é possível gerar um identificador, sem aumentar o retardo incorrido pelo fluxo de bits. Além do mais, os requisitos de memória para a geração de um valor criptográfico e/ou identificador são mantidos baixos, como apenas o quadro atual do fluxo de bits e o estado de partida, isto é, um valor de 128 bits, necessário para ser armazenado. Uma geração e um armazenamento da mensagem completa m não são necessá- rios.
Para reduzir o código extra no fluxo de bits, provocado pelo iden- tificador adicional, o valor HMAC é truncado de 128 bits a um número redu- zidode bitspor eliminação dos bits menos significativos. Por meio de exem- plo, o valor HMAC "9e107d9d372bb6826bd3542a419d6" pode ser truncado a "9e107d9d". O grau de truncamento é, de preferência, selecionado como um compromisso entre a segurança do identificador e o código extra de taxa de bits requerido. Os possíveis comprimentos do identificador podem ser, por exemplo, 16, 24, 32, 48, 64, 80 ou 96. O valor HMAC truncado é o identi- ficador, que é inserido no campo identifier value do elemento DSE.
A seguir, outros detalhes com relação ao processo de codifica- ção são proporcionados. Como já mencionado, é, tipicamente, o decodifica- dor que decide o número N de quadros AAC, que são cobertos por um iden- tificador. Como um exemplo, pode ser desejável garantir que um decodifica- dor seja capaz de sincronizar com o comprimento do grupo de quadros em não mais do que 1 segundo. Em virtude de que dois identificadores são re- queridos para que o decodificador sincronize com o comprimento do grupo de quadros, que é dado pelo número de quadros entre dois quadros com- preendendo um identificador, devendo-se garantir que o decodificador rece- ba pelo menos dois identificadores dentro do intervalo de tempo desejado.
Portanto, o codificador deve selecionar um valor N, de modo que a represen- tação de tempo dos N quadros AAC não exceda, ou exceda minimamente 0,5 segundo. Uma vez que a representação dos N quadros AAC é depen- dente da taxa de amostragem AAC (núcleo), o valor N selecionado pelo co- dificador pode variar dependendo da taxa de amostragem AAC (núcleo).
Para minimizar o código extra de taxa de bits introduzido pelo identificador, o codificador pode selecionar o maior valor de N que satisfaça a limitação de que a representação de tempo dos N quadros AAC não exce- da 0,5 segundo. Em algumas aplicações, pode ser aceitável que a represen- tação de tempo dos N quadros AAC exceda ligeiramente 0,5 segundo. Nes- sas aplicações, o codificador pode selecionar o valor de N, de modo que a representação de tempo dos N quadros AAC seja a mais próxima possível de 0,5 segundo, ainda que isso possa, em alguns casos, resultar na repre- sentação de tempo dos N quadros AAC excedendo ligeiramente 0,5 segun- do. O código extra, que é introduzido pela transmissão do identificador, pode ser determinado por avaliação da razão entre o comprimento do DSE, com- preendendo o identificador, e o comprimento global do grupo de quadros (em número de bits).
7 Além do mais, é recomendável alinhar a inserção de um identifi- co cador com a inserção de outros elementos de configuração, como o cabeça- lho SBR. Isso permite que um decodificador sincronize facilmente a um fluxo de bits e permita a recepção de todas as palavras de configuração, durante uma decodificação de quadro único.
Deve-se notar que o primeiro quadro AAC produzido pode conter um identificador fictício. A finalidade do primeiro identificador vai ser o de sinalizar para o decodificador o início de uma sequência de quadros AAC compreendendo identificadores. O decodificador não vai, no entanto, ficar p 10 emuma posição para conduzir autenticação e verificação, pois o identifica- - dor não seria baseado em dados de meios efetivos. , Como descrito em relação à figura 1, o primeiro identificador cal- f culado cobre os quadros AAC 1 a N e é armazenado no quadro AAC N + 1. O identificador seguinte cobre os quadros AAC N + 1 a 2N e é armazenado noquadro AAC 2N + 1, e assim por diante.
A figura 2a ilustra um fluxograma do processo de codificação. Na etapa 201, o codificador é iniciado proporcionando um número N de quadros compreendido em um grupo de quadros. Além do mais, a chave K é propor- cionada. Na etapa 202 seguinte, os N quadros em um grupo de quadros são concatenados para proporcionar a primeira mensagem. Depois, na etapa 203, a primeira mensagem é concatenada com a palavra de configuração, para produzir a segunda mensagem. Na etapa 204, o identificador é deter- minado como a versão truncada do valor HMAC, calculado pela segunda mensagem. Esse identificador é colocado no primeiro quadro do grupo de quadros sucessivo (etapa 205). Finalmente, o grupo de quadros é transmiti- do na etapa 206. Deve-se notar que o grupo de quadros transmitido contém o identificador do grupo de quadros transmitido previamente. As etapas 202 a 206 são repetidas até que o fluxo de dados completo seja transmitido.
Como já mencionado, o processo mencionado acima pode ser conduzido de uma maneira iterativa sequencial. Isso significa que o identifi- cador pode ser determinado quadro a quadro, sem a necessidade para pri- meiro concatenar os N quadros e a configuration word e conduzir o cálculo
7 de HMAC nessa mensagem concatenada completa. Isso é ilustrado na figu- o. ra 2b. O procedimento iterativo é iniciado na etapa 207 por estabelecimento de um estado de partida. O estado de partida pode ser o valor HMAC da configuration word, que é armazenado em uma memória de 128 bits. De- pois, um valor HMAC pode ser determinado para o primeiro dos N quadros (etapa 208). O valor HMAC resultante é armazenado na memória de 128 bits (etapa 209) e usado como um estado de partida para o cálculo do valor HMAC do segundo quadro (etapa 208). Esse processo é repetido até que o valor HMAC do Nº quadro seja determinado, em que o valor HMAC do (N - . 10 1)º quadro é tirado da memória de 128 bits e usado como um estado de par- : tida (etapa 208). O identificador é determinado na versão truncada do valor , HMAC do Nº quadro (etapa 210). Como alternativa para a etapa 206, cada Í quadro pode ser expedido imediatamente após ser processado para o cálcu- lo do valor HMAC, sem utilização de memória intermediária de todo o grupo de quadros. O identificador é depois adicionado ao (N + 1)º quadro e expe- dido com esse quadro. Esse quadro é depois o primeiro quadro a ser usado no cálculo iterativo do valor HMAC para os N quadros seguintes. Por uso desse processo iterativo, o processo de codificação pode ser conduzido quadro a quadro a um baixo retardo, uma baixa complexidade computacio- nale baixos requisitos de memória.
A seguir, outros detalhes são proporcionados com relação ao processo de decodificação. Tipicamente, o decodificador começa com a consideração de que o fluxo a ser decodificado não compreende um identifi- cador válido. Isto é, um indicador para a presença de um identificador válido no fluxo de bits de meios vai ser inicialmente estabelecido como um valor "falso", e vai ser apenas tipicamente estabelecido como um valor "verdadei- ro" mediante uma primeira recepção bem-sucedida de um identificador váli- do. Isso pode ser indicado no receptor, por exemplo, uma caixa de sinal de frequência, por um indicador visual, tal como um LED, que indica a um usuá- rioque o fluxo de bits recebido é um fluxo de bits autenticado e válido. Con- sequentemente, o identificador pode ser usado para indicar a qualidade de um fluxo de dados recebido a um usuário.
7 Por outro lado, se o identificador no decodificador for estabeleci- — do como "verdadeiro", mas para mais do que Nmax quadros não há qual- quer atualização relativa ao identificador dentro do fluxo de bits, o indicador pode ser restabelecido como "falso". Em outras palavras, o decodificador — pode estar ciente de um valor máximo para N, por exemplo, Nmax, que não deve ser excedido.
Se o decodificador não detectar um identificador válido para mais do que Nmax quadros, então, isso indica ao decodificador que o fluxo de bits recebido pode não se originar mais de um codificador legítimo, ou que o fluxo de bits recebido pode ter sido alterado.
Consequentemente, o * 10 decodificador estabelece que o respectivo indicador como "falso". Isso vai resultar tipicamente que o indicador visual, por exemplo, o LED, seja resta- - belecido. ' O procedimento de decodifica de identificador é ilustrado na figu- ra 3 e pode ser descrito como a seguir: 15 . o decodificador é iniciado e limpa o sinalizador "ID Verified" na etapa 300; . a seguir, o estado de memória interno (128 bits) é iniciado na etapa 301; . o decodificador espera até que um quadro seja recebido (etapa 302) e checa o quadro recebido para a presença de um identificador de fluxo de bits na etapa 303; a presença de um identificador dentro de um quadro pode ser detectada por meio do campo identifier sync especificado acima; o decodificador extrai o identifier value do respectivo campo no <DSE>, na etapa 307, se um identificador for detectado na etapa 304; 25 . a seguir, o identificador de verificação é gerado por truncamen- to do valor HMAC contido no estado de 128 bits na etapa 308; . o decodificador continua por comparação do identificador de fluxo de bits e do identificador de verificação na etapa 309; se for determina- do que ambos IDs não são iguais (etapa 310), o sinalizador "ID Verified" é limpo na etapa 311, para indicar que o fluxo de bits não se origine de um codificador inseguro; no caso de IDs idênticos, o sinalizador "ID Verified" é estabelecido na etapa 312, para indicar que o identificador de fluxo de bits é verificado e o fluxo de bits é considerado válido, porque se origina de um E. codificador seguro; nesse caso, os aspectos adicionais do decodificador po- dem ser habilitados e/ou o usuário informado do estado de verificação do fluxo de bits; alternativamente, alguns aspectos podem ser desabilitados se ofluxode bitsfor determinado para não se originar de um codificador seguro e/ou, consequentemente, o usuário informado; . o processo de decodificação continua na etapa 313 por iniciali- zação do estado de memória interno de 128 bits; . a seguir, o valor HMAC de 128 bits para o quadro atual é calcu- . “10 ladona etapa 314e o estado de memória interno de 128 bits é atualizado " com o valor HMAC calculado na etapa 315; o decodificador então retorna 7 para a etapa 302, para esperar pela recepção de outro quadro; À . se nenhum identificador estiver presente no quadro (determi- nado na etapa 304), o decodificador segue para a etapa 305, na qual o de- codificador determina se um identificador está presente dentro dos últimos Nmax quadros; . no caso em que nenhum identificador está presente dentro dos últimos Nmax quadros, o decodificador limpa o sinalizador "ID Verified" na etapa 306, porque o número máximo de quadros Nmax passou sem um i- dentificador ser recebido; o decodificador então retorna para a etapa 302 para aguardar por outro quadro; e . se um identificador estiver presente dentro do últimos Nmax quadros, determinado na etapa 305, o decodificador prossegue para a etapa 314, para calcular o valor HMAC de 128 bits para o quadro de momento.
Como descrito acima, o decodificador pode determinar o identifi- cador de verificação em um processo iterativo sequencial. Isso significa que apenas o quadro de momento é processado e não é requerido para primeiro concatenar um conjunto de quadros, para a determinação do identificador de verificação. Consequentemente, a decodificação do identificador pode ser conduzida a baixo retardo, baixa complexidade computacional e baixos re- quisitos de memória.
A figura 4 ilustra uma concretização exemplificativa de um codifi-
7 cador 400 e um decodificador 410 de um fluxo de dados. Um fluxo de dados . analógico 405, por exemplo, um fluxo de áudio, é convertido em um fluxo de dados digital 406 por uso de um conversor de analógico para digital 402. O fluxo de dados digital 406 é codificado por uso de um codificador de áudio 403,por exemplo, Dolby E, Dolby Digital, AAC, HE AAC, DTS ou Dolby Pul- se. O codificador de áudio 403 segmenta, tipicamente, o fluxo de dados digi- tal 406 em quadros de áudio e proporciona compressão de dados. Além do mais, o codificador de áudio 403 pode adicionar metadados. A saída do codi- ficador de áudio 403 é um fluxo de dados 407, compreendendo uma plurali- ' “10 dadede quadros de dados. Subsequentemente, o fluxo de dados 407 intro- BR duz um codificador de quadros 404 adicional, que adicionar identificadores í ou valores criptográficos ao fluxo de dados 407. O codificador de quadros ] 404 executa de acordo com os aspectos descritos no presente documento de patente.
Deve-se notar que, tipicamente, os identificadores são determi- nados e adicionados de uma maneira sequencial, de modo que cada quadro oriundo do codificador de áudio 403 é processado diretamente pelo codifica- dor de quadros 404. De preferência, o codificador de áudio 403 e o codifica- dor de quadros 404 formam um codificador unido 401, que pode ser imple- mentadoem um processador de sinais digitais. Desse modo, os aspectos da codificação de áudio e os aspectos da geração de identificadores podem interagir. Em particular, pode ser necessário considerar o código extra adi- cional, provocado pelo identificador durante a codificação do fluxo de áudio. Isso significa que a taxa de bits disponível para o fluxo de bits de áudio pode ser reduzida. Essa interação entre o codificador de áudio e a geração de identificadores pode ser usada para satisfazer uma largura de banda global e/ou uma limitação de taxa de bits de certos esquemas de codificação, por exemplo, HE-AAC.
O codificador unido 401 transmite um fluxo de dados 408, que compreende uma pluralidade de grupos de quadros e identificadores associ- ados. O fluxo de dados 408 é proporcionado tipicamente a um decodificador e/ou receptor associado(s) 410, usando vários meios de transmissão e/ou
7 meios de armazenamento. Atinge o decodificador 410 como um fluxo de da- ". dos 418, que pode ter sido alterado com relação ao fluxo de dados 408. O fluxo de dados 418 entra em um decodificador de quadros 414, que executa verificação e autenticação do fluxo de dados 418, de acordo com os méto- dose sistemas descritos no presente documento de patente. O decodifica- dor de quadros 414 transmite um fluxo de dados 417, que corresponde, tipi- camente, ao fluxo de dados 418, sem os identificadores e o campo de dados ou os elementos sintáticos correspondentes. O fluxo de dados 417 é decodi- ficado no decodificador de áudio 413, no qual é descomprimido e no qual os H “10 metadados adicionados são removidos. Como descrito acima, a decodifica- ' ção de quadros é conduzida, tipicamente, de uma maneira iterativa sequen- ' cial, de modo que o processamento seja conduzido quadro a quadro.
Deve-se também notar que os diferentes componentes de deco- dificação / recepção podem ser agrupados conjuntamente, para formar um decodificador unido. Por meio de exemplo, o decodificador de quadros 414 e o decodificador de áudio 413 podem formar um decodificador / receptor uni- do 411, que pode ser implementado em um processador de sinais digitais. Como descrito acima, isso pode ser benéfico, para propiciar a interação en- tre o decodificador de áudio e a verificação do identificador. Eventualmente, o decodificador / receptor unido 411 transmite um fluxo de dados digitais 416, que é convertido em um sinal de áudio analógico 415, usando um con- versor analógico / digital 412. Deve-se notar que no presente documento, o termo "codificador" pode se referir ao codificador completo 400, codificador unido 401 ou codifi- —cador de quadros 404. O termo "decodificador" pode se referir ao decodifi- cador completo 410, decodificador unido 411 ou decodificador de quadros
414. Por outro lado, os denominados "codificadores inseguros" são codifica- dores que não geram de modo algum um identificador, ou que não geram um identificador de acordo com os métodos descritos no presente documen- to A figura 5 ilustra um sistema de difusão 500 exemplificativo, que compreende uma cabeça de rede de difusão 504. A cabeça de rede 504
7 também compreende um emendador ou um meio de emenda, que é operá- e vel para combinar os fluxos de bits 501, 502 e 503 originários de diferentes codificadores. Dentro de um sistema de difusão, esses diferentes fluxos de bits 501, 502 e 503 podem ser diferentes fluxos de bits de áudio, que são tipicamente codificados por diferentes codificadores de áudio. Os fluxos de bits 501, 502 e 503 são compostos de uma pluralidade de quadros, que são representados pelos diferentes blocos sombreados. No exemplo ilustrativo, o fluxo de bits 501 compreende cinco quadros, o fluxo de bits 502 compreende quatro quadros e o fluxo de bits 503 compreende seis quadros. O emenda- D 10 dore/oua cabeça de rede 504 é(são) operável (operáveis) para combinar o : fluxo de bits, para gerar um fluxo de bits unido 505. Como mostrado no e- É xemplo, isso pode ser feito por fixação do fluxo de bits 501 no fluxo de bits 503, e por fixação do fluxo de bits 502 no fluxo de bits 501. No entanto, co- mo é também mostrado na Figura 5, pode ser necessário apenas selecionar partes dos fluxos de bits originais 501, 502 e 503, por exemplo, apenas as partes dos fluxos de bits de áudio. Como tal, o fluxo de bits combinado 505 compreende apenas dois quadros do fluxo de bits 503, seguidos por três quadros do fluxo de bits 501, e seguidos por dois quadros do fluxo de bits
502.
Os fluxos de bits originais 501, 502 e 503 podem compreender identificadores, isto é, os fluxos de bits 501, 502 e 503 podem se originar de codificadores seguros. Todos os identificadores podem ser baseados em um número diferente N de quadros. Sem perda de generalidade, considera-se que os identificadores de fluxos de bits 501 e 503 foram determinados para um grupo de quadros compreendendo dois quadros. Por outro lado, o fluxo de bits 502 não se origina de um codificador seguro e, portanto, não com- preende um identificador.
É desejável que o emendador e/ou cabeça de rede 504 difun- da(m) um fluxo de bits 505, que também compreende um identificador, se os fluxos de bit 501 e 503 de entrada se originarem de um codificador seguro. Esse identificador deve ser enviado dentro do fluxo de bits 505 para todas as partes do fluxo de bits 505, que se originam de um codificador seguro. Por
" outro lado, as partes do fluxo de bits 505, que não se originam de um codifi- es cador seguro, isto é, as partes tiradas do fluxo de bits 502, não devem com- preender um identificador.
Para atingir esse objeto, o emendador e/ou a cabeça de rede 504 pode(m) ser operável (operáveis) para conduzir uma decodificação e/ou codificação do identificador. Como mostrado na figura 5, os primeiros dois quadros do fluxo de bits de saída 505 se originam do fluxo de bits 503. Se esses dois quadros corresponderem a um grupo de quadros, então o identi- ficador desse grupo de quadros pode ser colocado no terceiro quadro do ' “10 fluxode bits 505. Isso é descrito em relação à figura 1. Se, por outro lado, os BR dois quadros pertencerem a diferentes grupos de quadros, então a cabeça de rede 504 pode ser operável para: . verificar se o fluxo de bits 503 se origina de um codificador se- guro; e 15 . gerar um novo identificador para os quadros de saída do fluxo de bits 503, isto é, para os primeiros dois quadros do fluxo de bits 505.
O número N usado para gerar um identificador no fluxo de bits de saída 505 não tem necessariamente que ser o mesmo número N usado para gerar um identificador nos fluxos de bits de entrada 501 e 503. Isso po- de ser visto no contexto do fluxo de bits 501, para o qual apenas três qua- dros são incluídos no fluxo de bits de saída 505. Um primeiro identificador pode ser gerado no fluxo de bits de saída 505. Um primeiro identificador po- de ser gerado para os primeiros dois quadros, enquanto que um segundo identificador pode ser gerado para o terceiro quadro. Em outras palavras, N pode ser dois para os primeiros dois quadros e não pode ser um para o ter- ceiro quadro. Em geral, pode-se, portanto, afirmar que N pode ser variado dentro de um fluxo de bits 505. Isso é devido ao fato de que N pode ser de- terminado independentemente no decodificador. De preferência, o número N usado par ao fluxo de bits de saída 505 é menor ou igual ao número N usa- do paraos fluxos de bits de entrada 501 e 503.
Além do mais, deve-se notar que o fluxo de bits de entrada 502 não compreende um identificador, isto é, o fluxo de bits 502 não se origina
7 de um codificador seguro.
Consequentemente, o emendador e/ou cabeça de o rede 504 não proporciona(m) um identificador no fluxo de bits 505 para os quadros originários do fluxo de bits 502. Como já descrito acima, o decodifi- cador é tipicamente operável para detectar a ausência de um identificador no fluxode bits 505. Se o número de quadros, que não compreendem um iden- tificador, exceder um número máximo predefinido Nmax, então o decodifica- dor vai detectar, tipicamente, que um fluxo de bits 505 não é mais de um codificador seguro.
Como mostrado pelo exemplo da figura 5, o fluxo de bits 505 . 10 pode ser constituído de partes que se originam de um codificador seguro e - de outras partes, que não se originam de um codificador seguro.
Conse- quentemente, um fluxo de bits 505 pode compreender partes que incluem um identificador válido e outras partes, que não incluem um identificador vá- lido.
Um emendador e/ou cabeça de rede 504 pode(m) ser operável (operá- veis)para: . detectar os fluxos de bits de entrada compreendendo um identi- ficador; . encaminhar um fluxo de bits, compreendendo um identificador, como um fluxo de bits de saída; 20 . autenticar o fluxo de bits de entrada, com base no identificador; e . codificar o fluxo de bits com um novo identificador.
Em outras palavras, um emendador e/ou cabeça de rede 504 pode(m) compreender os aspectos de um codificador e/ou um decodificador — descrito(s) no presente documento de patente.
Isto é, um emendador e/ou cabeça de rede 504 pode(m) funcionar como um decodificador, quando do recebimento de um fluxo de bits de entrada, e pode funcionar como um codi- ficador, quando da geração de um fluxo de bits de saída.
Além do mais, po- dem ser operáveis para encaminhar um fluxo de bits, compreendendo um identificador, sem conduzir autenticação e recodificação.
Essa operação de encaminhamento pode ser conduzida para transmissão contínua do mesmo fluxo de bits, enquanto que a decodificação e a recodificação podem ser u-
Í sadas, de preferência, nos limites entre os fluxos de bits de diferentes codifi- o. cadores.
Por uso da operação de encaminhamento, a carga computacional do emendador e/ou cabeça de rede 504 pode ser reduzida.
Deve-se notar que a operação de encaminhamento pode ser u- sadanos casos em que o identificador de um grupo de quadros precedente não está influenciando o valor do identificador de um grupo de quadros de momento.
Nesses casos, o grupo de quadros e o identificador associado dele podem ser vistos como sendo uma entidade independente, que pode ser encaminhada diretamente para o fluxo de bits de saída.
Por outro lado, “10 se identificadores interligados contínuos são usados, quando um identifica- : dor de um grupo de quadros de momento depende do identificador do grupo de quadros anterior, então o emendador vai, de preferência, recodificar todo o fluxo de bits, para gerar um fluxo de identificadores interligados continua- mente para o fluxo de bits de saída.
Isso vai garantir que uma parte desauto- rizadanão seja capaz de substituir os segmentos do fluxo de bits de saída.
Deve-se notar que, na maior parte dos casos, a recodificação do emendador é apenas limitada à geração de novos identificadores.
O próprio fluxo de bits, isto é, notavelmente, a codificação de áudio, não é tipicamente afetada.
Consequentemente, a recodificação do fluxo de bits pode ser con- duzidaa uma baixa complexidade computacional.
No entanto, se um valor criptográfico for inserido em um quadro, que não continha previamente qual- quer valor criptográfico, então pode ser necessário conduzir recodificação de áudio.
A figura 6 ilustra ainda a emenda de fluxos de bits de entrada 1 a 4emum fluxo de bits concatenado de saída para uma concretização preferi- da.
No exemplo ilustrado, o fluxo de bits de entrada 1 forma grupos de 4 quadros para a geração de valores criptográficos.
As setas anguladas, sob o fluxo de bits, ilustram que o valor criptográfico de um grupo de quadros é inserido no primeiro quadro do grupo seguinte.
Os quadros nos quais os va- lores criptográficos são inseridos são sombreados na figura.
Os grupos de quadros do fluxo de bits de entrada 3 compreendem 5 quadros.
O fluxo de bits de entrada 4 não tem quaisquer valores criptográficos e não são verifi-
ã cados e inseguros.
" As linhas verticais na figura indicam os pontos de emenda. Co- mo pode-se notar da figura, o fluxo de bits de saída compreende uma primei- ra seção |, correspondente ao fluxo de bits de entrada 1, uma segunda se- çãoll, correspondente ao fluxo de bits de entrada 2, uma terceira seção |Il, correspondente ao fluxo de bits de entrada 3, e uma quarta seção |V, cor- respondente ao fluxo de bits de entrada 4, as seções sendo emendadas nos pontos de emenda. Até o primeiro ponto de emenda, o fluxo de bits de en- trada 1, incluindo os valores criptográficos, pode ser copiado no fluxo de bits “10 concatenado. O primeiro valor criptográfico na seção Il, no entanto, precisa Ô ser recalculado, porque, devido à emenda, se refere a diferentes quadros de dados que o valor criptográfico correspondente do fluxo de bits 2. Em deta- lhes, esse valor criptográfico é gerado com base em 5 quadros, um perten- cente ao fluxo de bits de entrada 1 (antes do ponto de emenda) e quatro per- tencentes ao fluxo de bits de entrada 2 (após o ponto de emenda). O recál- culo dos valores criptográficos é indicado pelas setas acima do fluxo de bits e sombreamento inalterado. Em virtude da propagação da variação no pri- meiro valor criptográfico recalculado no fluxo de bits concatenado, os seguin- tes valores criptográficos do fluxo de bits 2 também precisam ser recalcula- dos.
No segundo ponto de emenda, o fluxo de bits selecionado varia de 2 a 3. O valor criptográfico do primeiro quadro do fluxo de bits Ill é recal- culado, com base nos 6 quadros anteriores do fluxo de bits 2. No ponto de emenda seguinte, o fluxo de bits inseguro 4 é selecionado e nenhum valor criptográfico é inserido na seção IV do fluxo de bits concatenado. Alternati- vamente, um valor criptográfico pode ser gerado para os quadros finais do fluxo de bits 3, copiados no fluxo de bits concatenado, para indicar correta- mente quando a seção insegura do fluxo de bits concatenado termina. Esse valor criptográfico adicional é, de preferência, inserido no primeiro quadro da seção |V, como indicado na figura com um círculo pontilhado. Dependendo dos requisitos de taxa de bits, pode ser necessário recodificar esse quadro, para criar espaço para inserção do valor criptográfico adicional.
7 A figura 7 ilustra outro exemplo de concatenação de fluxos de E bits de entrada 1 e 2 em um fluxo de bits de saída. Nesse caso, o ponto de emenda é pouco antes de um quadro conduzindo um valor criptográfico no segundo fluxo de bits. Devem ser consideradas as posições dos valores crip- tográficos a partir dos primeiro e segundo fluxos de bits, um grande vão de valores criptográficos vai resultar no fluxo de bits concatenado. A distância entre os valores criptográficos nessa seção do fluxo de bits concatenado pode exceder o valor máximo, Nmax, que um decodificador aceita sem indi- car uma perda de confiança no fluxo de bits. Desse modo, é preferido inserir “10 um valor criptográfico adicional no ponto de emenda, por exemplo, no pri- y meiro quadro do segundo fluxo de bits, de modo que o número de quadros nos quadros não excede Nmax. De novo, dependendo das limitações de taxa de bits, pode ser necessário recodificar esse quadro para criar espaço para inserir o valor criptográfico adicional no fluxo de bits. Como uma obser- vação, o valor criptográfico pode ser, nesse caso, copiado do primeiro qua- dro do fluxo de bits 1, após o ponto de emenda, porque o valor criptográfico adicional no fluxo de bits concatenado se refere aos mesmos 6 quadros do fluxo de bits 1. O conteúdo de dados do quadro, no qual o valor criptográfico é incluído, no entanto, pertence ao fluxo de bits 2 (precisamente, correspon- deao primeiro quadro do fluxo de bits 2, após o ponto de emenda).
O presente documento descreve um método e um sistema, que permitem a introdução de um identificador ou valor criptográfico em um fluxo de dados. Esse identificador pode ser usado para autenticar e verificar o flu- xo de dados. Além do mais, o identificador pode ser usado para garantir o ajuste da configuração correta do decodificador para o fluxo de dados, que vai ser reproduzido ou processado. Em particular, o método e o sistema in- corporam dados adicionais, isto é, um identificador, a um fluxo de bits HE AAC, que autentica esse fluxo de bits como originário de um codificador ou transmissor legítimo. Isso pode indicar ao receptor que o fluxo de bits HE —AAC segue uma certa especificação e/ou um certo padrão de qualidade. O identificador é, de preferência, derivado de um cálculo HDMAC-MDS5.
O método e o sistema podem ser usados para a autenticação de
7 arquivos multimídia e fluxos multimídia, e também podem detectar uma con- ec catenação de vários fluxos protegidos, sem quebrar, em geral, a autentica- ção. Isso significa que não um fluxo completo é checado para consistência, mas um conjunto de quadros consecutivos. Isso suporta cenários de difusão típicos, isto é, a denominada "emenda", em que, frequentemente, um dispo- sitivo comuta entre diferentes codificadores de fluxos de bits, para criar o fluxo de saída efetivo. Além do mais, o método e o sistema podem ser usa- dos para proteger as informações em banda e fora de banda, em que as in- formações em banda compreendem, tipicamente, os dados de meios e os “ 10 metadados associados, e em que os dados fora de banda compreendem, . tipicamente, dados de configuração. Os método e sistema permitem, portan- to, o controle e/ou a detecção da reprodução e/ou decodificação correta(s) de um fluxo multimídia.
Os método e sistema descritos no presente documento podem serimplementados como software, programação em hardware /ou hardware. Certos componentes podem ser, por exemplo, implementados como softwa- re sendo executado em um processador ou microprocessador de sinais digi- tais. Outros componentes podem ser, por exemplo, implementados como hardware, e/ou como circuitos integrados específicos de aplicação. Os sinais encontrados nos método e sistema descritos podem ser armazenados em meios, tais como memória de acesso aleatório ou meios de armazenamento ópticos. Podem ser transferidos por meio de redes, tais como redes de rádio, redes de satélite, redes sem fio ou redes ligadas, por exemplo, a Internet. Os dispositivos típicos, que fazem uso dos método e sistema descritos no pre- sente documento, são as caixas de sinais de frequência ou outro equipa- mento para premissas de clientes, que decodificam sinais de áudio. No lado de codificação, os método e sistema podem ser usados em estações de di- fusão, por exemplo, em sistemas de cabeças de rede de vídeo e áudio.

Claims (15)

y | REIVINDICAÇÕES
1. Método para codificar um fluxo de dados compreendendo uma pluralidade de quadros de dados compreendendo as etapas de: gerar um valor criptográfico de um número N de quadros de da- dos sucessivos e informações de configuração, em que as informações de configuração compreendem informações para sintetizar o fluxo de dados; inserir o valor criptográfico em um quadro do fluxo de dados subsequente aos N sucessivos quadros de dados; e gerar iterativamente um valor criptográfico intermediário de cada umdosN quadros sucessivos usando um estado de partida; em que o esta- do de partida é o valor criptográfico intermediário da iteração prévia, em que o estado de partida da primeira iteração é um valor criptográfico intermediá- rio das informações de configuração.
2. Método, de acordo com a reivindicação 1, ainda compreen- dendoas etapas de: agrupar um número N de quadros de dados sucessivos para formar uma primeira mensagem; e agrupar a primeira mensagem com as informações de configura- ção para formar uma segunda mensagem, em que o valor criptográfico é gerado da segunda mensagem.
3. Método, de acordo com a reivindicação 1 ou 2, em que o valor criptográfico é inserido como um elemento de fluxo de dados <DSE>, e em que o elemento de fluxo de dados <DSE> é um elemento sintático do quadro do fluxo de dados, e em que o fluxo de dados é um fluxo MPEG4-AAC ou MPEG2-AAC.
4. Método, de acordo com qualquer uma das reivindicações 1 a 3, em que as informações de configuração compreendem pelo menos uma de: uma indicação de uma taxa de amostragem; uma indicação de uma configuração de canal de um sistema de codificação de áudio; e uma indicação do número de amostras em um quadro de dados.
: 2/4 . 5. Método para verificar um fluxo de dados em um decodificador, o fluxo de dados compreendendo uma pluralidade de quadros de dados e um valor criptográfico associado com o número N de quadros de dados su- cessivos precedentes, compreendendo as etapas de: gerar um segundo valor criptográfico do número N de quadros de dados sucessivos e de informações de configuração usando uma função hash criptográfica, em que as informações de configuração compreendem informações para sintetizar os dados; extrair o valor criptográfico de um quadro do fluxo de dados; comparar o valor criptográfico com o segundo valor criptográfico; e gerar iterativamente um segundo valor criptográfico intermediário de cada um dos N sucessivos quadros usando um estado de partida, em que o estado de partida é o segundo valor criptográfico intermediário da ite- ração prévia, em que o estado de partida da primeira iteração é um segundo valor criptográfico intermediário das informações de configuração.
6. Método, de acordo com a reivindicação 5, em que o fluxo de dados é um fluxo MPEG4-AAC ou MPEG2-AAC; em que o valor criptográfico é extraído a partir de um elemento de fluxo de dados <DSE>, e em que o elemento de fluxo de dados <DSE> é um elemento sintático do quadro do fluxo de dados.
7. Método, de acordo com a reivindicação 5 ou 6, ainda compre- endendo as etapas de: extrair os N sucessivos quadros de dados para formar uma pri- meiramensagem;e agrupar a primeira mensagem com as informações de configura- ção para formar uma segunda mensagem, em que o segundo valor criptográfico é gerado da segunda men- sagem.
8. Método, de acordo com qualquer uma das reivindicações 5 a 7, ainda compreendendo as etapas de: estabelecer um sinalizador, se o valor criptográfico corresponder
V 3/4 . ao segundo valor criptográfico; e proporcionar uma indicação visual se o sinalizador for estabele- cido.
9. Codificador operável para codificar um fluxo de dados com- preendendo uma pluralidade de quadros de dados, o codificador compreen- dendo um processador operável para: gerar um valor criptográfico de um número N de quadros de da- dos sucessivos e de informações de configuração usando uma função hash criptográfica, em que as informações de configuração compreendem infor- mações para sintetizar o fluxo de dados; inserir o valor criptográfico em um quadro do fluxo de dados subsequente aos N sucessivos quadros de dados; e gerar iterativamente um valor criptográfico intermediário de cada um dos N sucessivos quadros usando um estado de partida, em que o esta- dode partida é o valor criptográfico intermediário da iteração prévia, em que o estado de partida da primeira iteração é um valor criptográfico intermediá- rio das informações de configuração.
10. Decodificador operável para verificar um fluxo de dados compreendendo uma pluralidade de quadros de dados e um valor criptográ- fico associado com um número N de quadros de dados sucessivos prece- dentes, o decodificador compreendendo um processador operável para: gerar um segundo valor criptográfico de um número N de qua- dros de dados sucessivos e de informações de configuração usando uma função hash criptográfica, em que as informações de configuração compre- endem informações para sintetizar os dados; extrair o valor criptográfico a partir de um quadro do fluxo de da- dos; comparar o valor criptográfico com o segundo valor criptográfico; e gerar iterativamente um segundo valor criptográfico intermediário de cada um dos N quadros sucessivos usando um estado de partida, em que o estado de partida é o segundo valor criptográfico intermediário da ite-
. 4/4 . ração prévia, em que o estado de partida da primeira iteração é um segundo valor criptográfico intermediário das informações de configuração.
11. Programa de computador adaptado para execução em um processador e para realizar as etapas do método conforme definido em — qualquer uma das reivindicações 1 a 8, quando executado em um dispositivo de computação.
12. Meio de armazenamento compreendendo um programa de computador adaptado para execução em um processador e para realizar as etapas do método conforme definido em qualquer uma das reivindicações 1 a8, quando executado em um dispositivo de computação.
13. Método para concatenar um primeiro e um segundo fluxos de bits, cada um deles compreendendo uma pluralidade de quadros de da- dos e um valor criptográfico associado com um determinado número de quadros de dados, o método compreendendo a etapa de gerar um fluxo de bits concatenado a partir do primeiro e segundo fluxos de bits, em que o flu- xo de bits concatenado compreende pelo menos uma parte da pluralidade dos quadros de dados dos primeiro e segundo fluxos de bits, e compreende um valor criptográfico gerado e inserido de acordo com o método conforme definido em qualquer uma das reivindicações 1 a 8.
14. Emendador operável para concatenar um primeiro e um se- gundo fluxos de bits, cada um deles compreendendo uma pluralidade de quadros de dados e valores criptográficos associados com um determinado número de quadros de dados, o emendador compreendendo um codificador conforme definido na reivindicação 9, para codificar os quadros finais do primeiro fluxo de bits e os quadros primários do segundo fluxo de bits.
15. Emendador, de acordo com a reivindicação 14, ainda com- preendendo uma unidade de encaminhamento para encaminhar quadros e valores criptográficos associados dos primeiro e segundo fluxos de bits que não são decodificados e codificados.
mm 102 112 —— TO T ES = é 1º 122 - ——— 0 senna-eaaasussssssass assess ssss—— asscsee— wu Tempo 100 Fig.1 402 404 - aos | EArANa: aos f 401 412 414 413 são 415 416. 1111) AUD anna 418 ar -” Fig. 4
: 217 Iniciar número N, chave K 201 Concatenar N quadros de um grupo de quadros 202 | Concatenar a palavra de configuração 203 Determinar identificador 204 Colocar identificador em fluxo de bits 205 Transmitir grupo de quadros Fig. 2a
: 37 Iniciar número N, chave K Iniciar iteração estabelecendo estado de partida 207 Determinar valor HMAC para um quadro 208 Armazenar valor HMAC em memória como estado de partida 209 Determinar identificador por truncamento de valor HMAC 210 Colocar identificador em fluxo de bits 205 Transmitir grupo de quadros 206 Fig.2b limpar sinali- 300 zador "ID Veriífied" Iniciar estado 301 R : de 128 bits 302 Checar para 303 . 1D de fluxo de bits ] 304 Identificador, N presente?, Ss, Extrair 1D de | 307 fluxo de bits 308 ncar estado de 128 bits 305 (gerar ID de verificação Identificador N py (presente dentro do últimos Nmax, ' Comparar ID de 309 quadros”, fluxo de bits com ID de verificação s 31 ' N | limpar sinali- limpar sinali- lds iguais? zador zador "ID Verified" "ID Verified" 310 : s 306 Estabelecer sinalizador ' n2 “ID Verified" Iniciar estado W de 128 bits 313 4 , Calcular valor HMAC de 128 314 bits para quadro Atualizarestado | ” 315 Es, . de 128 bits com Fig. 3 Too valor HMAC
- 5/7 i seo AL x 501 | SSSNSS 502
EZANNNST MOO DO
V 503 Fig.5
” 6/7 q JH. me" O O o e TIA im "= EC Qi E | " me HO
À É ) | | E je) 2 = | | - E) " A) VA A e | | |) [o | o | || [1 | | | [| A ao |) = ã |) 1 | | [| A] E N | | |
NO H
H E So À | | | o NE s- 4! A - Ss À NS
À À
NS NS E 5
: 7TIT ' W
S O pm E
A A
A AH
A RS A | ao
HA H
H HÁ
H A : 7 H = 2 fã m 54 ÁT <A | A A H
A A H
A A HA * : 2 00] | A ED " HF A
H H A = = lx NS Ad) Ne || aj E
H Á A
A HA H
HF HA H Ne Ss KW Ex
H A A H " = H Hb A - H - | PE | ] j
HA H S Ss NR Rx | E
H HA z z ê
BR112012002831-6A 2009-08-07 2010-08-06 Método para codificar um fluxo de dados, método para verificar um fluxo de dados, fluxo de dados, codificador, decodificador, meio de armazenamento e método para concatenar um primeiro e um segundo fluxos de bits BR112012002831B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US23229509P 2009-08-07 2009-08-07
US61/232,295 2009-08-07
PCT/EP2010/004827 WO2011015369A1 (en) 2009-08-07 2010-08-06 Authentication of data streams

Publications (2)

Publication Number Publication Date
BR112012002831A2 true BR112012002831A2 (pt) 2021-01-26
BR112012002831B1 BR112012002831B1 (pt) 2021-08-31

Family

ID=43014283

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112012002831-6A BR112012002831B1 (pt) 2009-08-07 2010-08-06 Método para codificar um fluxo de dados, método para verificar um fluxo de dados, fluxo de dados, codificador, decodificador, meio de armazenamento e método para concatenar um primeiro e um segundo fluxos de bits

Country Status (18)

Country Link
US (1) US8885818B2 (pt)
EP (1) EP2462587B1 (pt)
JP (1) JP5542205B2 (pt)
KR (1) KR101489364B1 (pt)
CN (1) CN102576559B (pt)
AR (1) AR077680A1 (pt)
AU (1) AU2010280971B2 (pt)
BR (1) BR112012002831B1 (pt)
CA (1) CA2768327C (pt)
HK (1) HK1168461A1 (pt)
IL (1) IL217469A (pt)
MX (1) MX2012001558A (pt)
MY (1) MY152679A (pt)
RU (1) RU2509424C2 (pt)
SG (1) SG177605A1 (pt)
TW (1) TWI501580B (pt)
UA (1) UA104483C2 (pt)
WO (1) WO2011015369A1 (pt)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI538394B (zh) 2009-04-10 2016-06-11 杜比實驗室特許公司 利用順逆向濾波方式獲取所欲非零相移之技術
TWI413110B (zh) 2009-10-06 2013-10-21 Dolby Int Ab 以選擇性通道解碼的有效多通道信號處理
WO2011048010A1 (en) 2009-10-19 2011-04-28 Dolby International Ab Metadata time marking information for indicating a section of an audio object
US9210456B1 (en) * 2012-03-07 2015-12-08 The Directv Group, Inc. Method and system for detecting unauthorized use of a user device using receiver identification in a network
US9813705B2 (en) * 2012-04-26 2017-11-07 Qualcomm Incorporated Parameter set coding
WO2014050597A1 (ja) * 2012-09-28 2014-04-03 シャープ株式会社 画像復号装置
ES2629195T3 (es) * 2013-01-21 2017-08-07 Dolby Laboratories Licensing Corporation Codificación y descodificación de una secuencia de bits según un nivel de confianza
KR101428770B1 (ko) * 2013-05-29 2014-08-08 한국전자통신연구원 해시 알고리즘에서의 압축 연산을 수행하기 위한 장치 및 방법
KR101516573B1 (ko) * 2013-07-26 2015-05-04 한국전자통신연구원 해시 알고리즘에서의 압축 연산을 수행하기 위한 장치 및 방법
US10263783B2 (en) * 2013-08-23 2019-04-16 Nec Corporation Method and system for authenticating a data stream
FR3015167A1 (fr) * 2013-12-13 2015-06-19 Orange Systeme de transport de donnees radio multipoint a multipoint
WO2016049895A1 (zh) * 2014-09-30 2016-04-07 华为技术有限公司 配置的方法、配置的装置及设备
JP2016122917A (ja) * 2014-12-24 2016-07-07 パナソニックIpマネジメント株式会社 署名生成装置、署名検証装置、署名生成方法及び署名検証方法
CN107531676A (zh) 2015-04-13 2018-01-02 拜耳作物科学股份公司 N‑环烷基‑n‑(双杂环基亚乙基)‑(硫代)羧酰胺衍生物
EP3288025A4 (en) * 2015-04-24 2018-11-07 Sony Corporation Transmission device, transmission method, reception device, and reception method
EP3402301B1 (en) * 2015-05-19 2019-07-10 Telefonaktiebolaget LM Ericsson (publ) Methods, wireless communication device and radio network node for managing contention resolution
JP2017009663A (ja) * 2015-06-17 2017-01-12 ソニー株式会社 録音装置、録音システム、および、録音方法
CN106610995B (zh) * 2015-10-23 2020-07-07 华为技术有限公司 一种创建密文索引的方法、装置及系统
TWI589153B (zh) * 2015-12-29 2017-06-21 晨星半導體股份有限公司 資料流的同步偵測方法
CN107040793A (zh) * 2016-02-04 2017-08-11 晨星半导体股份有限公司 数据流的同步检测方法
DE102016207642A1 (de) * 2016-05-03 2017-11-09 Siemens Aktiengesellschaft Verfahren und Vorrichtungen zum Authentisieren eines Datenstroms
PL3568853T3 (pl) 2017-01-10 2021-06-14 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Dekoder audio, enkoder audio, sposób dostarczania dekodowanego sygnału audio, sposób dostarczania enkodowanego sygnału audio, strumień audio, moduł dostarczania strumienia audio i program komputerowy używający identyfikator strumienia
US9870508B1 (en) * 2017-06-01 2018-01-16 Unveiled Labs, Inc. Securely authenticating a recording file from initial collection through post-production and distribution
KR102275868B1 (ko) * 2017-11-07 2021-07-12 한국전자기술연구원 비디오 데이터의 위/변조 방지 장치 및 방법
US10956246B1 (en) * 2018-07-16 2021-03-23 Amazon Technologies, Inc. Isolated read channel management interfaces at streaming data service
JP7113589B2 (ja) * 2018-07-17 2022-08-05 株式会社デンソー 情報仲介装置、情報提供装置、及び情報取得装置
US11343108B2 (en) * 2019-06-12 2022-05-24 Arizona Board Of Regents On Behalf Of Northern Arizona University Generation of composite private keys
BR112021025587A2 (pt) * 2019-07-17 2022-02-01 Dolby Int Ab Gerenciamento de latência para entrega de conteúdo
US11431512B2 (en) 2019-10-16 2022-08-30 Microsoft Technology Licensing, Llc Cryptographic validation of media integrity
JP2023500632A (ja) * 2019-10-30 2023-01-10 ドルビー ラボラトリーズ ライセンシング コーポレイション 没入的音声およびオーディオ・サービスにおけるビットレート配分
US11838267B2 (en) * 2020-07-16 2023-12-05 Twistlock, Ltd. Distributed identity-based firewall policy evaluation

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5463424A (en) 1993-08-03 1995-10-31 Dolby Laboratories Licensing Corporation Multi-channel transmitter/receiver system providing matrix-decoding compatible signals
ATE237197T1 (de) 1993-11-18 2003-04-15 Digimarc Corp Identifikations/beglaubigungskodierungsverfahre und -vorrichtung
US5646997A (en) 1994-12-14 1997-07-08 Barton; James M. Method and apparatus for embedding authentication information within digital data
US5915027A (en) 1996-11-05 1999-06-22 Nec Research Institute Digital watermarking
US6009176A (en) 1997-02-13 1999-12-28 International Business Machines Corporation How to sign digital streams
US7197156B1 (en) 1998-09-25 2007-03-27 Digimarc Corporation Method and apparatus for embedding auxiliary information within original data
US6904089B1 (en) * 1998-12-28 2005-06-07 Matsushita Electric Industrial Co., Ltd. Encoding device and decoding device
WO2000054453A1 (en) 1999-03-10 2000-09-14 Digimarc Corporation Signal processing methods, devices, and applications for digital rights management
US6785815B1 (en) 1999-06-08 2004-08-31 Intertrust Technologies Corp. Methods and systems for encoding and protecting data using digital signature and watermarking techniques
GB9929364D0 (en) * 1999-12-10 2000-02-02 Microbar Security Limited Improvements in or relating to coding techniques
US7058815B2 (en) 2001-01-22 2006-06-06 Cisco Technology, Inc. Method and system for digitally signing MPEG streams
US6996717B2 (en) * 2001-05-24 2006-02-07 Matsushita Electric Industrial Co., Ltd. Semi-fragile watermarking system for MPEG video authentication
WO2003024020A1 (en) 2001-09-10 2003-03-20 Entriq Limited Bvi Method and computer system to perform on the fly fingerprinting for media content
RU2308077C2 (ru) 2001-12-04 2007-10-10 Майкрософт Корпорейшн Способы и системы для криптографической защиты охраняемого содержимого
GB2392337B (en) 2002-07-19 2005-12-07 Matsushita Electric Ind Co Ltd Digital watermarking apparatus and application apparatus using the same
US7360093B2 (en) * 2002-07-22 2008-04-15 Xerox Corporation System and method for authentication of JPEG image data
US20040243820A1 (en) * 2003-05-14 2004-12-02 Kenichi Noridomi Information-embedding apparatus and method, tampering-detecting apparatus and method, and recording medium
JP2004364263A (ja) * 2003-05-14 2004-12-24 Matsushita Electric Ind Co Ltd 情報埋め込み装置、改ざん検出装置及びそれらの方法並びに記録媒体
GB0317571D0 (en) * 2003-07-26 2003-08-27 Koninkl Philips Electronics Nv Content identification for broadcast media
US7417989B1 (en) 2003-07-29 2008-08-26 Sprint Spectrum L.P. Method and system for actually identifying a media source in a real-time-protocol stream
US20060136728A1 (en) 2003-08-15 2006-06-22 Gentry Craig B Method and apparatus for authentication of data streams with adaptively controlled losses
GB0403331D0 (en) 2004-02-14 2004-03-17 Koninkl Philips Electronics Nv Watermark detection
US8539608B1 (en) * 2004-03-25 2013-09-17 Verizon Corporate Services Group Inc. Integrity checking at high data rates
JP2005318068A (ja) * 2004-04-27 2005-11-10 Kddi Corp コンテンツ認証データの電子透かし埋め込み方式および認証方式
JP4499631B2 (ja) 2005-08-31 2010-07-07 株式会社日立国際電気 画像受信装置及びプログラム
US7752449B1 (en) * 2006-02-22 2010-07-06 Avaya, Inc. System and method for generating a non-repudiatable record of a data stream
US20080005558A1 (en) 2006-06-29 2008-01-03 Battelle Memorial Institute Methods and apparatuses for authentication and validation of computer-processable communications
KR100781528B1 (ko) * 2006-06-29 2007-12-03 삼성전자주식회사 무결성을 보장하는 비디오 스트림을 제공하는 장치 및 그방법
US20080010466A1 (en) * 2006-07-10 2008-01-10 William Hopper Digital identifier chaining
WO2008046492A1 (en) 2006-10-20 2008-04-24 Dolby Sweden Ab Apparatus and method for encoding an information signal
US7930554B2 (en) * 2007-05-31 2011-04-19 Vasco Data Security,Inc. Remote authentication and transaction signatures
JP5101964B2 (ja) 2007-09-25 2012-12-19 京セラ株式会社 受信装置
CN101855635B (zh) 2007-10-05 2013-02-27 杜比实验室特许公司 可靠地与媒体内容对应的媒体指纹
JP2009093506A (ja) 2007-10-11 2009-04-30 Sony Corp 信号処理装置、信号処理方法および信号処理プログラム
JP4584300B2 (ja) 2007-12-19 2010-11-17 富士通株式会社 電子署名プログラム、コンピュータにより読み取り可能な記録媒体、電子署名装置、電子署名方法
US8798776B2 (en) 2008-09-30 2014-08-05 Dolby International Ab Transcoding of audio metadata
BRPI0919880B1 (pt) 2008-10-29 2020-03-03 Dolby International Ab Método e aparelho para prover proteção contra o ceifamento de sinal de um sinal de áudio derivado de dados de áudio digital e transcodificador
TWI538394B (zh) 2009-04-10 2016-06-11 杜比實驗室特許公司 利用順逆向濾波方式獲取所欲非零相移之技術
CN103854651B (zh) 2009-12-16 2017-04-12 杜比国际公司 Sbr比特流参数缩混
TWI529703B (zh) 2010-02-11 2016-04-11 杜比實驗室特許公司 用以非破壞地正常化可攜式裝置中音訊訊號響度之系統及方法
TWI525987B (zh) 2010-03-10 2016-03-11 杜比實驗室特許公司 在單一播放模式中組合響度量測的系統

Also Published As

Publication number Publication date
TW201134135A (en) 2011-10-01
KR101489364B1 (ko) 2015-02-03
IL217469A0 (en) 2012-03-01
AU2010280971B2 (en) 2013-02-14
UA104483C2 (uk) 2014-02-10
KR20120050446A (ko) 2012-05-18
MY152679A (en) 2014-10-31
IL217469A (en) 2015-02-26
CN102576559A (zh) 2012-07-11
WO2011015369A8 (en) 2012-03-01
AR077680A1 (es) 2011-09-14
JP2013500655A (ja) 2013-01-07
CA2768327C (en) 2015-10-27
WO2011015369A1 (en) 2011-02-10
MX2012001558A (es) 2012-04-10
AU2010280971A1 (en) 2012-02-09
US20120128151A1 (en) 2012-05-24
HK1168461A1 (zh) 2012-12-28
RU2509424C2 (ru) 2014-03-10
CA2768327A1 (en) 2011-02-10
JP5542205B2 (ja) 2014-07-09
TWI501580B (zh) 2015-09-21
SG177605A1 (en) 2012-02-28
EP2462587A1 (en) 2012-06-13
BR112012002831B1 (pt) 2021-08-31
RU2012107995A (ru) 2013-09-20
EP2462587B1 (en) 2016-07-06
US8885818B2 (en) 2014-11-11
CN102576559B (zh) 2015-09-09

Similar Documents

Publication Publication Date Title
BR112012002831A2 (pt) autenticação de fluxos de dados
US11075762B2 (en) Metadata transcoding
ES2739886T3 (es) Procesador de datos y transporte de datos de control del usuario a decodificadores de audio y renderizadores
IL282781A (en) Adaptive processing with multiple media processor nodes
BR122017012321A2 (pt) codificador e decodificador de áudio com informações de programa ou metadados de estrutura de substream
BRPI0908035B1 (pt) Metodo para produzir um arquivo de computador para inclusao em um pacote de audio, codificador de movimento, metodo para decodificar, em tempo real, um sinal vibro-cinetico multicanal, e decodificador de movimento
JP2013171362A (ja) データ送信装置

Legal Events

Date Code Title Description
B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]
B06A Patent application procedure suspended [chapter 6.1 patent gazette]
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 06/08/2010, OBSERVADAS AS CONDICOES LEGAIS. PATENTE CONCEDIDA CONFORME ADI 5.529/DF, QUE DETERMINA A ALTERACAO DO PRAZO DE CONCESSAO.

B25G Requested change of headquarter approved

Owner name: DOLBY INTERNATIONAL AB (IE)