BRPI0811833B1 - aparelho e método para armazenamento e leitura de um arquivo tendo um container de dados de mídia e um container de metadados - Google Patents
aparelho e método para armazenamento e leitura de um arquivo tendo um container de dados de mídia e um container de metadados Download PDFInfo
- Publication number
- BRPI0811833B1 BRPI0811833B1 BRPI0811833-7A BRPI0811833A BRPI0811833B1 BR PI0811833 B1 BRPI0811833 B1 BR PI0811833B1 BR PI0811833 A BRPI0811833 A BR PI0811833A BR PI0811833 B1 BRPI0811833 B1 BR PI0811833B1
- Authority
- BR
- Brazil
- Prior art keywords
- packets
- information
- media
- stored
- rtp
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 36
- 230000002123 temporal effect Effects 0.000 claims description 30
- 230000005540 biological transmission Effects 0.000 claims description 28
- 230000001360 synchronised effect Effects 0.000 claims description 9
- 238000012545 processing Methods 0.000 abstract description 16
- 239000000523 sample Substances 0.000 description 111
- 230000008569 process Effects 0.000 description 17
- 101000635752 Homo sapiens Receptor-transporting protein 2 Proteins 0.000 description 10
- 102100030850 Receptor-transporting protein 2 Human genes 0.000 description 10
- 101000635761 Homo sapiens Receptor-transporting protein 3 Proteins 0.000 description 8
- 102100030849 Receptor-transporting protein 3 Human genes 0.000 description 8
- 101000857634 Homo sapiens Receptor-transporting protein 1 Proteins 0.000 description 7
- 102100025426 Receptor-transporting protein 1 Human genes 0.000 description 7
- 102100033397 Ankyrin repeat and zinc finger domain-containing protein 1 Human genes 0.000 description 5
- 101000732626 Homo sapiens Ankyrin repeat and zinc finger domain-containing protein 1 Proteins 0.000 description 5
- 230000008901 benefit Effects 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 5
- 238000004590 computer program Methods 0.000 description 5
- 238000006073 displacement reaction Methods 0.000 description 5
- AWSBQWZZLBPUQH-UHFFFAOYSA-N mdat Chemical compound C1=C2CC(N)CCC2=CC2=C1OCO2 AWSBQWZZLBPUQH-UHFFFAOYSA-N 0.000 description 5
- 238000011084 recovery Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000007774 longterm Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 239000012634 fragment Substances 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000012417 linear regression Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000006641 stabilisation Effects 0.000 description 1
- 238000011105 stabilization Methods 0.000 description 1
- 230000002459 sustained effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/236—Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
- H04N21/23614—Multiplexing of additional data and video streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/236—Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
- H04N21/2368—Multiplexing of audio and video streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/238—Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
- H04N21/2381—Adapting the multiplex stream to a specific network, e.g. an Internet Protocol [IP] network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/238—Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
- H04N21/2389—Multiplex stream processing, e.g. multiplex stream encrypting
- H04N21/23895—Multiplex stream processing, e.g. multiplex stream encrypting involving multiplex stream encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/4302—Content synchronisation processes, e.g. decoder synchronisation
- H04N21/4307—Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
- H04N21/43072—Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen of multiple content streams on the same device
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/433—Content storage operation, e.g. storage operation in response to a pause request, caching operations
- H04N21/4334—Recording operations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/434—Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
- H04N21/4341—Demultiplexing of audio and video streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/434—Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
- H04N21/4348—Demultiplexing of additional data and video streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/436—Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
- H04N21/4363—Adapting the video stream to a specific local network, e.g. a Bluetooth® network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/438—Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
- H04N21/4381—Recovering the multiplex stream from a specific network, e.g. recovering MPEG packets from ATM cells
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network 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/63—Control 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/633—Control signals issued by server directed to the network components or client
- H04N21/6332—Control signals issued by server directed to the network components or client directed to client
- H04N21/6334—Control signals issued by server directed to the network components or client directed to client for authorisation, e.g. by transmitting a key
- H04N21/63345—Control signals issued by server directed to the network components or client directed to client for authorisation, e.g. by transmitting a key by transmitting keys
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network 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/63—Control 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/643—Communication protocols
- H04N21/6437—Real-time Transport Protocol [RTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/85406—Content authoring involving a specific file format, e.g. MP4 format
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/00086—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
- G11B20/0021—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier
- G11B20/00485—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier characterised by a specific kind of data which is encrypted and recorded on and/or reproduced from the record carrier
- G11B20/00492—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier characterised by a specific kind of data which is encrypted and recorded on and/or reproduced from the record carrier wherein content or user data is encrypted
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/00086—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
- G11B20/00731—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a digital rights management system for enforcing a usage restriction
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/10—Indexing; Addressing; Timing or synchronising; Measuring tape travel
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/16—Analogue secrecy systems; Analogue subscription systems
- H04N7/167—Systems rendering the television signal unintelligible and subsequently intelligible
- H04N7/1675—Providing digital key or authorisation information for generation or regeneration of the scrambling sequence
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Television Signal Processing For Recording (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Automatic Disk Changers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Computer And Data Communications (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
APARELHO E MÉTODO PARA ARMAZENAMENTO E LEITURA É DE UM ARQUIVO TENDO UM CONTAINER DE DADOS DE MÍDIA E UM CONTATNER DE METADADOS. Aparelho (100) para gravar um arquivo (102) tendo um container de dados de mídia (104) e um container de metadados (106) relacionados, o aparelho sendo um receptor (108) para receber primeiros pacotes de dados (110) compreendendo primeiras amostras de dados de mídia na forma de pacotes com base em um primeiro relógio, 10 e para receber segundos pacotes de dados (112) compreendendo segundas amostras de dados de mídia com base em um segundo relógio diferente do primeiro relógio, onde as segundas amostras de dados de rriídia estão associadas com as primeiras amostras de dados de mídia, e para receber primeiros pacotes de controle (114) incluindo 15 informação para indicar um relacionamento do primeiro relógio com um relógio de referência e para receber segundos pacotes de controle (115), incluindo informação para indicar um relacionamento do segundo gk relógio com o relógio de referência; e um gravador (116) para armazenar os primeiro e segundo pacotes de dados recebidos (110; 20 11-2) e pelo menos uma porção dos prímeiro e segundo pacotes de controle recebidos (114; 115) no container de dados de mídia (104) , e para armazenar metadados associados (124; 128) no container de metadados (106), os metadados associados compreendendo informação (...).
Description
A invenção se refere a armazenamento e/ou leitura de pacotes de dados de protocolo de transporte e informação de lado associada aos mesmos e/ou de um arquivo tendo um container de dados de midia e um container de metadados, como, por exemplo, um arquivo baseado no formato de arquivo de midia ISO (Organização 10 Internacional para Padronização).
Vários dispositivos eletrônicos são habilitados para receber e apresentar correntes de dados de mídia. Estas correntes de dados de mídia podem, por exemplo, ser recebidas de uma rede de transmissão de vídeo digital que transmite correntes 1.5 de mídia de acordo, por exemplo, com o Padrão DVB-H (Transmissão de Vídeo Digital Manual) ou o Padrão DVB-T (Transmissão de Vídeo Digital - Terrestre). DVB-T usa uma corrente de transporte MPEG-2 auto- contida (MPEG = Grupo Especialista em Imagens em Movimento) 20 contendo vídeo MPEG-2 elementar e correntes de áudio de acordo com o padrão internacional ISO/IEC 13818 (IEC = Comissão Eletrotécnica Internacional). A corrente de transporte MPEG-2 é uma multiplexação usada em muitos dos sistemas atuais de transmissão. Ela á uma multiplexação de corrente de um ou mais programas 'de 25 mídia, tipicamente áudio e vídeo, mas também de outros dados. Correntes de transporte MPEG-2 partilham um relógio comum e usam amostras de mídia de selo temporal (Unidades de Acesso, AUs) em todas as correntes de mídia. Isto permite sincronização dos relógios do remetente e do receptor e sincronização labial de t , correntes de áudio e video.! f
Para DVB-H, correntes de áudio e video elementares são encapsuladas em RTP (Protocolo de Transporte de Tempo Real), UDP (Protocolo de Datagramas de Usuário), IP (Protocolo de Internet), e MPE (Encapsulação de Multi-Protocolo) para distribuição de dados de IP. RTP é usado para envio efetivo em tempo real de dados de multimídia em relação a redes IP. Multiplexação é tipicamente feita por associação de diferentes
portas de rede para cada corrente de mídia distinta, por exemplo, uma porta de rede para vídeo e outra para áudio. Mídias diferentes usualmente surgem de diferentes fontes tendo relógios ou taxas de relógio diferentes. Por exemplo, amostras de áudio têm uma taxa de amostra dependente da taxa de relógio de um dispositivo de amostragem de áudio, onde a taxa de quadro de quadros de vídeo depende de uma taxa de relógio de dispositivo de arrebatamento de quadro de vídeo. Estes relógios podem ter erros de frequência inerentes maiores que umas poucas centenas de partes por milhão resultando em erros acumulados de dezenas de segundos por dia. O termo "assimetria de relógio" é definido como esta diferença em uma freqüência de oscílador real de relógio de sua frequência nominal. Se o relógio de um remetente opera mais rápido que o relógio de um receptor, isto pode conduzir ao acúmulo de pacote no receptor. Se o relógio do remetente opera mais lentamente que o relógio do receptor, isto resultará em pouco enchimento dos armazenadores do receptor. Assim, se a taxa de relógio do receptor diferir da taxa de relógio do remetente, então o(s) armazenador(es) do receptor irá(irão), gradualmente, tanto encher quanto esvaziar. Adicionalmente, assimetria de relógio pode conduzir a uma dessincronizaçâo entre amostras de áudio e video relacionadas no receptor... RTCP (Protocolo de Controle de Transporte de 5 Tempo Real) permite recuperação do relógio e sincronização para correntes RTP. Um canal RTCP está associado com cada corrente RTP e compreende informação de controle do remetente para o receptor na forma de relatórios do remetente (SR) e vice-versa. Cada RTCP SR inclui dois selos temporais: um selo temporal NTP (Protocolo de 10 Tempo de Rede) de um relógio do sistema do remetente (tempo de referência) e um selo temporal de midia correspondente da corrente RTP associada. Estes SRs de RTCP são enviados para ambos, áudio e video. Dos valores dos tempos RTP e NTP, os pacotes RTP podem ser definidos em uma linha de tempo e a midia pode ser perfeitamente 15 sincronizada.
Um serviço de distribuição de informação de multimídia ("streaming") é definido como um conjunto de correntes de midia sincronizadas enviadas de uma maneira com restrição de tempo ou sem restrição de tempo para consumo imediato durante a 20 recepção. Cada sessão de distribuição pode compreender áudio, video e/ou dados de midia em tempo real como texto com tempo. Um usuário recebendo dados de midia para um filme por meio de uma televisão móvel, por exemplo, pode assistir ao filme e/ou gravar o mesmo em um arquivo. Comumente, para este objetivo, os pacotes de 25 dados recebidos da corrente de midia recebida são desfeitos de modo a armazenar dados de midia brutos ao arquivo. Isto é, os pacotes RTP ou os pacotes MPEG-2 recebidos são, primeiramente, desfeitos para obter sua carga útil na forma de amostras de dados de mídia. Então, após os pacotes serein desfeitos, amostras de dados de mídia obtidas são reproduzidas ou armazenadas ao arquivo. As amostras de mídia obtidas são comumente comprimidas por formatos como o formato de vídeo H.264/AVC (AVC = Codificação de
Vídeo Avançada) e/ou o formato de áudio MPEG-4 HE-AACv2 (HE-AACv2 = Codificação de Áudio Avançada de Alta Eficiência, versão 2) . Quando amostras de dados de mídia tendo estes formatos de vídeo e/ou áudio devem ser armazenadas, elas podem ser armazenadas em um formato de arquivo denominado de 3GP, também conhecido como formato de arquivo 3GPP (Projeto de Sociedade de Terceira Geração), ou no formato de arquivo MP4 (MPEG-4). Ambos, 3GP e MP4, são derivados do formato de arquivo de mídia baseados na ISO, que é especificado na Norma Internacional ISO/IEC 14496-12:2005 "Information technology-coding of audio-visual objects - part 12: ISO base media file format". Um arquivo deste formato compreende dados de mídia e metadados. Para este arquivo ser operacional, ambos estes dados devem estar presentes. Os dados de mídia são armazenados em um container de dados de mídia (mdat) relacionado r- ao arquivo e os metadados são armazenados em um container de f metadados (moov) do arquivo. Convencionalmente, o container de dados de mídia compreende amostras de mídia reais. Isto é, pode compreender, por exemplo, quadros de vídeo e/ou áudio ordenados no tempo, entrelaçados. Portanto, cada midia tem sua própria faixa de metadados (trak) no container de metadados moov que descreve as propriedades de conteúdo de mídia. Containers adicionais (também denominados caixas) no container de metadados moov podem compreender informação sobre propriedades de arquivo, conteúdo de arquivo, etc.
Recentemente, as faixas denominadas de faixa de informação extra de recepção para arquivos baseados no formato de arquivo de midia baseado na ISO foram definidas por grupos de padronização internacional. Aquelas faixas de informação extra de 5 recepção podem ser usadas para armazenar correntes multiplexadas e/ou em pacotes como, por exemplo, uma corrente de transporte MPEG-2 recebida ou pacotes RTP. As faixas de informação extra de recepção podem ser usadas para uma armazenagem no lado do cliente e reprodução de pacotes de dados recebidos. Portanto, pacotes 10 MPEG-2 TS ou RTP recebidos de uma corrente são diretamente armazenados nas faixas de informação extra de recepção como, por exemplo, amostras pré-computadas ou construtores, r
Existem duas vantagens para esta abordagem, comparada com desmultiplexação e/ou desempacotamento de pacotes de 15 dados e, então, gravação separada de faixas de midia para cada corrente de midia elementar (áudio e/ou video). Primeiramente, ela diminui a complexidade requerida de um dispositivo de recepção durante armazenamento, devido ao fato de que nenhuma desmultiplexação ou outro processamento dos pacotes de dados * recebidos é necessária. Apenas armazenamento de arquivo dos pacotes de dados recebidos na forma não modificada é executado. Em segundo lugar, em alguns casos não é possivel, de forma alguma, desmultiplexar os pacotes de dados recebidos em faixas de midia separadas, especialmente se a midia for criptografada no nivel de 25 transporte/multiplexação ou o esquema de formação de pacote for desconhecido. Em terceiro lugar, mudança de tempo, isto é, gravação ao arquivo e imediatamente leitura do mesmo arquivo com deslocamento de tempo variável, em uma aplicação de PVR (PVR
Gravador de Vídeo Pessoal) é facilitada devido aos dois primeiros pontos.
Reprodução de faixas de informação extra de recepção pode ser feita pela emulação da recepção de corrente 5 normal e leitura dos pacotes de dados armazenados da faixa de informação extra de recepção como eles foram recebidos por IP. As faixas de informação extra de recepção, como todas as faixas de informação extra, têm tempo de transporte, contrariamente ás faixas de mídia que têm tempo de reprodução de mídia. Portanto, um 10 selo de tempo de recepção do dispositivo de recepção está associado a cada pacote de dados armazenado em uma faixa de informação extra de recepção, r
Faixas de informação extra RTP em arquivos do lado do servidor armazenam apenas pacotes de dados de mídia RTP de 15 uma corrente e não contêm informação de lado ou de controle correspondentes, como, por exemplo, informação RTCP ou mensagens chave. Informação RTCP é gerada diretamente ("on-the-fly") por um servidor de transmissão continua, porque ele descreve o estado ff' atual da situação de transmissão contínua, por exemplo, o tempo.
Receptores de transmissão contínua podem recuperar o relógio do sistema do remetente a partir dos tempos de recepção e alinhar o relógio do sistema do receptor ao relógio do sistema do remetente para evitar superlotação do armazenador respectivamente sob operação para reprodução direta. Devido à 25 instabilidade ("jitter") no tempo de chegada (instabilidade da rede) de pacotes RTP ou pacotes de relatório do remetente RTCP, qualquer um deles é usado para recuperação do relógio, recuperação de relógio instantânea não é possível. Unidades de captura de áudio e video independentes com relógios de amostragem não sincronizados podem conduzir a desvios nos relógios RTP embora os selos temporais de midia aumentem constantemente com uma taxa fixa. RTCP SRs carregam os selos temporais NTP e RTP para cada uma 5 das correntes e podem, portanto, ser usados para extrair o desvio dos dispositivos envolvidos. Em muitos sistemas, existe uma instabilidade envolvida na criação de RTCP SRs, especificamente no relacionamento entre relógios NTP e RTP. É, portanto, comum que clientes de transmissão continua possam não atingir sincronização 10 labial perfeita instantaneamente após o inicio, mas necessitam levar em consideração certo número de RTCP SRs antes da sincronização labial entre correntes de vídeo e áudio ser precisa. Se o relógio do sistema do remetente necessita ser recuperado e existe instabilidade elevada de rede, então certo número de pacotes RTP ou pacotes de relatório de remetente RTCP, qualquer um deles que seja usado para recuperação de relógio, é, também, necessário. Instabilidade de rede e desvio de relógio podem ser r recalculados durante uma recepção de corrente em tempo real usando informação de RTCP SRs múltiplos conforme descrito acima, em adição aos selos temporais RTP dos pacotes de dados relacionados.
Atualmente, faixas de informação extra de recepção RTP são especificadas apenas para armazenar pacotes de dados recebidos de uma corrente de mídia e não contêm os RTCP SRs correspondentes, respectivamente informação temporal dos relatórios do remetente. O selo temporal RTP de um pacote RTP recebido sozinho é insuficiente para sincronizar dados de mídia recebidos de diferentes correntes. Isto se deve, de forma geral, ao fato de que cada corrente de mídia designa valores aleatórios a seu selo temporal inicial e número de sequência inicial, e a frequência de relógio do selo temporal depende do formato dos dados de mídia carregados. O tempo de chegada ou recepção dos pacotes RTP pode ser usado para sincronizar entre correntes. O 5 problema com esta abordagem é, entretanto, que RTP não garante envio de pacote, nem impede envio de banda. Como um resultado, sincronização baseada somente no tempo de recepção não pode garantir precisão.
Conforme descrito acima, o método mais preciso de 10 sincronização entre diferentes correntes RTP requer espera de RTCP SRs associados, que contêm informação que permite conversão entre um. selo temporal RTP e um selo temporal comum entre correntes no formato de selo temporal NTP. Estes relatórios de remetente RTCP são usualmente enviados a cada cinco segundos para cada corrente 15 para certa taxa de bits, onde o intervalo de tempo entre dois RTCP SRs depende da taxa de bits.
Dessa maneira, a reprodução de faixas de informação extra de recepção RTP com tempo preciso e sincronização labial é possível apenas nos dois casos a seguir: Primeiramente, 20 não existe desvio de relógio entre os diferentes relógios de mídia e os dados de sincronização inter-correntes de relatório do remetente RTCP estão disponíveis para cada pacote RTP recebido. Isto, entretanto, corresponde a uma situação ideal que é muito improvável de ocorrer em ambientes reais. Em segundo lugar, o 25 dispositivo de recepção tem que considerar a informação de tempo do RTCP SRs durante armazenamento pelo ajuste dos selos temporais RTP dos pacotes RTP recebidos antes do armazenamento dos mesmos. O primeiro caso é apenas um caso teórico e não acontece na prática. 0 segundo caso coloca uma carga elevada no receptor, como, por exemplo, o armazenamento das correntes recebidas por alguns segundos seria necessário para permitir considerar vários RTCP SRs do remetente para o ajuste de tempo. Isto afetaria, também, a capacidade de leitura instantânea do mesmo arquivo para aplicações de mudança de tempo. Além do mais, uma situação de recepção original não pode ser recriada após armazenamento, isto é, instabilidade de longa duração pode não ser removida em um estágio de processamento após a corrente completa 10 ser recebida e gravada.
Sistemas atuais de transmissão usam correntes chaves (tanto na faixa como fora da faixa) para transportar chaves protegidas como informação de lado que são usadas para descriptografar dados de midia dos pacotes de dados relacionados.
Tipicamente, existe apenas um acoplamento solto entre uma corrente de chave e uma corrente de dados de midia criptografados e não uma relação temporal. No DVB-H e OMA-BCAST (Open Mobile Alliance - Mobile Broadcast Services) uma corrente chave é definida como uma 20 corrente separada de mensagens chave enviadas em uma porta UDP diferente daquela da corrente de midia associada. Cada mensagem chave é enviada como um pacote UDP único. OMA-BCAST denomina estas mensagens de mensagens chave de curta duração (STKM), DVB-H denomina as mesmas de mensagens de corrente chave (KSM). O 25 armazenamento de mensagens chave não prejudica a segurança de um sistema de transmissão continua porque toda mensagem chave é ligada á subscrição de um serviço de transmissão continua e pode, autorizados. Uma chave criptográfica real dentro da mensagem chave é protegida pelo serviço ou chave de programa.
Cada chave tem um indicador de chave associado (ID de chave), que é também indicado na unidade de acesso de midia 5 criptografada associada. Um descriptador verifica a existência da chave, associada com um ID de chave na unidade de acesso criptografada. Sincronização de unidades de acesso de midia criptografadas e mensagens chave associadas é tratada de modo a 10 enviar frequentemente as chaves com periodos de validade sobrepostos. A chave é enviada antes do pacote de video criptografado, marcado com o indicador de chave correspondente. A chave é, então, válida pelo menos enquanto os dados de midia estejam usando esta chave especifica. Q armazenamento das chaves como uma faixa de midia durante a gravação do arquivo não é praticável, visto que nenhum tempo de midia está associado com as mensagens chave na corrente. Associação de tempo de midia entre as chaves e as unidades de acesso criptografadas correspondentes pode ser feita 20 apenas após processamento e análise dos IDs de chave que cuidam do acoplamento de ambas, a chave e as correntes de midia. Após esta análise, fica claro qual chave é usada para qual unidade de acesso ou quadro de video. Portanto, é um objetivo da presente invenção 25 prover um conceito de armazenamento e processamento de pacotes recebidos e informações de lado associadas em um arquivo de forma eficiente, de modo que, por exemplo, uma sincronização labial precisa ou a descriptografia durante uma reprodução de correntes de midia gravadas seja possivel sem acrescentar complexidade significativa durante o processo de gravação ou armazenamento.
Este objetivo é alcançado por um aparelho para gravação de um arquivo de acordo com a reivindicação 1, um método 5 para a gravação de um arquivo de acordo com a reivindicação 20, um aparelho para a leitura de um arquivo de acordo com a reivindicação 22 e um método de leitura de um arquivo de acordo com a reivindicação 27.
Para a solução do objetivo mencionado acima, 10 configurações da presente invenção também provêem programas computadorizados para executar os métodos inventivos.
A presente invenção é baseada na descoberta de que os problemas mencionados acima podem ser solucionados simultaneamente não apenas pelo armazenamento dos pacotes de dados 15 de midia de transmissão continua recebidos, mas também dados associados durante a recepção carregando informação de lado, especialmente todos os dados associados que são enviados paralelamente às correntes de midia, como, por exemplo, mensagens RTCP incluindo relatórios de remetente RTCP, ou pela gravação de 20 mensagens chave recebidas associadas compreendendo chaves criptográficas associadas aos dados de midia compreendidos pelos pacotes de dados de midia de transmissão continua recebidos.
Estes dados associados ou informação de lado recebidos são armazenados em um arquivo compreendendo um container 25 de dados de midia e um container de metadados na forma de uma faixa de informação extra de recepção associada ("arht"). Esta faixa é ligada à faixa de informação extra de recepção correspondente, que contém os pacotes de midia relacionados, usando, por exemplo, o mecanismo de referência de faixa da ISO/IEÇ 14496-12. Como a faixa de informação extra de recepção relacionada, a faixa de informação extra de recepção associada também armazena tempo de transporte na forma, por exemplo, de 5 selos temporais de um relógio do sistema do receptor. Isto pode permitir recuperar as condições temporais de recepção do pacote original em um estágio posterior durante a reprodução.
As faixas de informação extra de recepção e as faixas de informação extra de recepção associadas compreendem porções de dados de pacote no container de dados de midia e porções de metadados no container de metadados do arquivo. De acordo com as configurações da presente invenção, mensagens como RTCP SRs e informação temporal de transporte relacionada são salvas durante gravação de uma faixa de 15 informação extra de recepção associada. Paralelamente, pacotes RTP de mídia recebidos e tempo de transporte relacionado são armazenados diretamente em uma faixa de informação extra de recepção. Durante a gravação, nenhum processo de estabilização ou correção de sincronização labial é executado. Para este objetivo, uma configuração da presente invenção provê um aparelho para gravar um arquivo tendo um container de dados de mídia relacionados e um container de metadados. O aparelho compreende um receptor para receber os primeiros pacotes de dados compreendendo primeiras amostras de 2 5 dados de mídia formadas em pacotes com base em um primeiro relógio, e para recebimento dos segundos pacotes de dados compreendendo as segundas amostras de dados de mídia com base em um segundo relógio diferente do primeiro relógio, onde as segundas amostras de dados de mídia estão associadas com as primeiras amostras de dados de mídia. 0 receptor é adicionalmente adaptado para receber primeiros pacotes de controle incluindo informação para indicar um relacionamento do primeiro relógio com um relógio 5 de referência e para receber os segundos pacotes de controle incluindo informação para indicar um relacionamento do segundo relógio com o relógio de referência. O aparelho também compreende um gravador para armazenar os primeiro e segundo pacotes de dados recebidos e pelo menos porções dos primeiro e segundo pacotes de 10 controle recebidos no container de dados de mídia, e para armazenamento de metadados associados no container de metadados, os metadados associados compreendendo informação temporal dos primeiro e segundo pacotes de dados recebidos e dos primeiro e segundo pacotes de controle recebidos, e compreendendo informação 15 de localização indicando um local dos primeiro e segundo pacotes de dados armazenados e dos primeiro e segundo pacotes de controle armazenados no container de dados de mídia. De acordo com uma configuração da presente invenção, o gravador é adaptado para armazenar o primeiro e o 20 segundo pacotes de dados recebidos como amostras nas primeiras fatias do container de dados de midia, e para armazenar pelo menos porções do primeiro e segundo pacotes de controle associados recebidos como amostras nas segundas fatias do container de dados de mídia. . De acordo com uma configuração da presente invenção, o gravador é adaptado para armazenar a informação temporal e a informação de localização dos primeiro e segundo pacotes de dados em uma primeira faixa do container de metadados, e para armazenar a informação temporal e a informação de localização dos primeiro e segundo pacotes de controle em uma segunda faixa do container de metadados do arquivo.
De acordo com uma configuração da presente 5 invenção, o arquivo é baseado no formato de arquivo de midia baseado na ISO. De acordo com uma configuração da presente invenção, o arquivo é um arquivo 3GP ou MP4.
De acordo com uma configuração da presente invenção, os primeiro pacotes de dados são primeiros pacotes RTP 10 transmitidos continuamente compreendendo primeiras amostras de midia em pacotes (por exemplo, video comprimido) e os primeiros pacotes de controle são pacotes RTCP relacionados aos primeiros pacotes RTP de transmissão continua compreendendo os primeiros relatórios do remetente RTCP. Os segundos pacotes de dados são os 15 segundos pacotes RTP de transmissão continua compreendendo as segundas amostras de dados de midia em forma de pacote (por exemplo, áudio comprimido relacionado ao video) e os segundos pacotes de controle são pacotes RTCP relacionados aos segundos pacotes RTP de transmissão continua compreendendo os segundos 20 relatórios de remetente RTCP.
Armazenamento paralelo dos primeiro e segundo pacotes de dados e do pacote de controle associado tem a vantagem de que o processo de gravação é ainda leve e pode capturar toda a informação necessária para reproduzir as correntes de midia do 25 arquivo gravado em um estágio posterior. As faixas de informação extra de recepção associadas, isto é, os pacotes de controle armazenados no container de dados de midia, e a informação de reprodução das faixas de informação extra de recepção, isto é, o primeiro e/ou segundo pacotes de dados armazenados no container de dados de midia e sua informação de metadados associada armazenada no container de metadados do arquivo. Para o objetivo de reprodução do arquivo gravado, configurações da presente invenção provêem um aparelho para leitura do arquivo, o arquivo tendo armazenado, em um container de dados de midia relacionados ao arquivo, primeiros pacotes de dados compreendendo primeiras amostras de dados de midia na forma de 10 pacote com base em um primeiro relógio e segundos pacotes de dados compreendendo segundas amostras de dados de midia na forma de pacote com base em um segundo relógio diferente do primeiro relógio. O arquivo tem também armazenadas pelo menos porções dos primeiro pacotes de controle associados incluindo informação para 15 indicar um relacionamento do primeiro relógio com um relógio de referência e pelo menos porções de segundos pacotes de controle associados incluindo informação para indicar um relacionamento do segundo relógio com um relógio de referência. O arquivo tem metadados associados armazenados em um container de metadados do 20 arquivo, o container de metadados associados compreendendo informação temporal dos primeiro e segundo pacotes de dados recebidos e dos primeiro e segundo pacotes de controle recebidos e informação de localização indicando uma localização dos primeiro e segundo pacotes de dados armazenados e uma localização dos 25 primeiro e segundo pacotes de controle armazenados no container de dados de midia. O aparelho para leitura do arquivo compreende um processador para determinar um programa de saida dos primeiro e segundo pacotes de dados armazenados pelo acesso do container de metadados e pela interpretação da informação temporal dos primeiro e segundo pacotes de dados armazenados e do primeiro e segundo pacotes de controle armazenados no container de dados de midia. 0 aparelho compreende ainda um controlador de saida para envio dos 5 primeiro e segundo pacotes de dados de acordo com o programa de saida determinado pelo acesso do container de dados de midia e pela leitura dos pacotes de dados do container de dados de midia.
De acordo com. configurações da presente invenção, os primeiro e segundo pacotes de dados armazenados e os primeiro e 10 segundo pacotes de controle armazenados associados podem ser processados diretàmente para sincronização labial, recuperação de relógio e/ou ajuste de deslocamento de relógio. Este tipo de reprodução é equivalente a uma recepção ao vivo simulada das correntes de midia gravadas.
As faixas de informação extra de recepção gravadas (primeiro/segundo pacotes de dados) e as faixas de informação extra de recepção associadas gravadas (primeiro/segundo pacotes de controle) alcançam uma gravação inteira. Durante reprodução ou repetição, dados de controle da faixa de informação extra de recepção associada, por exemplo, na forma de RTCP SRs, podem ser pré-recarregados, por exemplo, para sincronização labial precisa pela consideração de RTCP SRs futuros múltiplos, onde os RTCP SRs futuros se relacionam com momentos no tempo no futuro de um momento no tempo de reprodução atual. Uma vantagem da presente invenção é que o conceito das faixas de informação extra de recepção associadas, isto é, a gravação de informação de controle durante a recepção de correntes de midia, permite um processo de gravação leve de toda a informação relevante para reprodução sincronizada das correntes do arquivo de forma simples, sem complexidade adicional. No caso de arquivo gravado destinado a armazenagem de longa duração e que será, eventualmente, 5 reproduzido muitas vezes, pode ser desejável evitar análise dos primeiro/segundo pacotes de dados armazenados e dos primeiro/segundo pacotes de controle armazenados com metadados associados, respectivamente, durante cada reprodução e, ao invés disso, ter um tempo de midia, isto é, o tempo para reprodução das 10 primeira/segunda amostras de dados de midia compreendidas pelos primeiro/segundo pacotes de dados armazenados, diretamente disponiveis sem processamento adicional. Usualmente, isto implicaria em desfazer os pacotes dos pacotes de dados armazenados da faixa de informação 15 extra de recepção e gravar em faixas de midia em containers de dados de midia relacionados com uma corrente elementar por faixa. Isto nem sempre é possivel ou desejável, por exemplo, se criptografia de transporte foi aplicada aos pacotes de corrente ou se a capacidade de armazenamento for limitada.
Adicionalmente ao tempo preciso dos pacotes de transporte, é desejável ter informação estendida disponível sobre as faixas de informação extra de recepção (os primeiro/segundo pacotes de dados armazenados mais informação de metadados) , especificamente informação sobre amostras de dados de midia dentro 25 dos primeiro/segundo pacotes de dados, por exemplo, selos temporais SMPTE de quadro preciso (SMPTE = Society of Motion Picture and Television Engineers) ou legendas para uma faixa de video. Para este propósito, configurações da presente invenção também provêem um aparelho para processamento dos pacotes de dados relacionados a um protocolo de transmissão armazenado no container de dados de midia relacionado com o arquivo e para 5 processamento de informação meta associada armazenada em um Container de metadados do arquivo, a informação meta associada compreendendo informação de tempo de transporte e informação de localização indicando um local dos pacotes de dados armazenados no container de midia. 0 aparelho compreende um processador para 10 determinar, com base nos pacotes de dados armazenados e na informação meta associada armazenada, informação de decodificação para uma carga útil dos pacotes de dados armazenados, onde a informação de decodificação indica em qual momento no tempo reproduzir qual carga útil dos pacotes de dados armazenados. O 15 aparelho para processamento pode ser um dispositivo independente, assim como um dispositivo integrado no aparelho mencionado acima para armazenamento do arquivo.
De acordo com uma configuração, os pacotes de dados armazenados podem compreender pacotes de corrente de 20 transporte MPEG-2. De acordo com uma outra configuração, os pacotes de dados armazenados podem compreender pacotes RTP compreendendo dados de midia na forma de pacotes.
De acordo com configurações da presente invenção, a informação de decodificação é determinada em uma base de unidade 25 de acesso de midia. Isto é, para cada unidade de acesso, por exemplo, um quadro de midia, uma amostra de informação de decodificação é armazenada no container de dados de midia do quais porções de pacotes de dados armazenados quais amostras de dados de midia serão retiradas, de modo a obter um quadro de midia (por exemplo, video/áudio) . Informação de metadados relacionada com amostras de informação de decodificação é armazenada em uma 5 faixa de metadados de informação de decodificação no container de metadados. A faixa de metadados da informação de decodificação (caixa "trak"/átomo do formato de arquivo de midia baseado na ISO) compreende, portanto, informação temporal e de localização para as amostras de informação de decodificação.
As amostras de informação de decodificação armazenadas e sua faixa de metadados de informação de decodificação associada, também referidas como "faixa de midia virtual" a seguir, constitui a idéia das faixas de informação extra de recepção associadas e oferece as vantagens descritas acima para reprodução. Em uma porção de metadados das faixas de midia virtual, o tempo de midia para amostras de informação de decodificação relacionadas no container de dados de midia é provido. As amostras de informação de decodificação provêem informação de quais pacotes de dados armazenados ou unidades de 20 transporte obter dados de midia para uma unidade de acesso de midia relacionada, o que torna desnecessário desfazer os pacotes dos pacotes de midia. As faixas de midia virtual podem ser construídas após recepção final das correntes de midia usando informação das faixas de informação extra de recepção e, se 25 necessário, das faixas de informação extra de recepção associadas. Isto é feito em um "processo de informação extra invertida" e o arquivo resultante permite que um dispositivo de reprodução pesquise no arquivo e execute acesso aleatório à midia baseada em tempo de mídia.
Faixas de mídia virtual podem ser vistas como faixas de mídia incompletas. Portanto, ambos os tempos recuperados das faixas de informação extra de recepção de RTP e RTCP e todos os índices (tipicamente pelo uso de "tabelas de amostra") de faixas de mídia podem ser aplicados. Adicionalmente, faixas de metadados com tempo podem fazer referência a faixas de mídia virtual e estender as mesmas.
Faixas de mídia virtual podem ser construídas de amostras de informação de decodificação (amostras de mídia virtual) que podem conter construtores para uma reconstrução de unidades de acesso das unidades de transporte de faixa de informação extra de recepção. Adicionalmente, as amostras de informação de decodificação podem conter ligações com uma ou mais unidades de transmissão significativas, relevantes para a reconstrução de uma unidade de acesso (construtor incompleto). Também, as amostras de informação de decodificação ou amostras de mídia virtual de uma faixa de mídia virtual podem ser vazias, por exemplo, no caso de uma perda de pacote durante o processo de recepção. Alternativamente, amostras de informação de decodificação de uma faixa virtual, também referidas como amostras de mídia virtual a seguir, podem conter amostras de mídia completamente não no formato de pacotes, como em uma faixa de mídia clássica. Informação de índices em tabelas de amostra da faixa de mídia virtual (e qualquer informação associada, por exemplo, de faixas de metadados temporais) pode ser aplicada seguindo uma ligação com a unidade de transmissão correspondente da faixa de informação extra de recepção.
Faixas de midia virtual podem conter descrições aproximadas e incompletas das amostras de mídia virtual se as 5 descrições não puderem ser exatamente recuperadas da corrente. Isto se aplica especialmente quando pacotes de dados são criptografados ou quando o esquema para desfazer os pacotes não é completamente conhecido. Para reproduzir novamente faixas de mídia 10 virtual, configurações da presente invenção provêem um aparelho para leitura de um arquivo, o arquivo tendo armazenado, em um container de dados de mídia relacionado ao arquivo, pacotes de dados compreendendo uma carga útil, e tendo armazenado, no container de dados de mídia, informação de decodificação para a 15 carga útil dos pacotes de dados armazenados, onde a informação de decodificação indica em qual momento no tempo reproduzir qual carga útil dos pacotes de dados armazenados, o arquivo tendo metadados associados armazenados em um container de dados de mídia, os metadados associados indicando um tempo de decodificação 20 e um local da informação de decodificação no container de dados de mídia. O aparelho compreende um processador para determinar um programa de saída da carga útil dos pacotes de dados armazenados pelo acesso dos metadados associados no container de dados de mídia e pelo acesso, com base nos metadados, da informação de 25 decodificação no container de dados de mídia, e pelo acesso, com base na informação de decodificação, da carga útil dos pacotes de dados armazenados. Um controlador de saída serve para enviar a carga útil de acordo com o programa de saída determinado.
Comparado com uma conversão rápida dos pacotes de dados recebidos em faixas de midia durante a gravação, as faixas de midia virtual provêem tempo de midia e metadados sem a necessidade de desfazer os pacotes de dados de midia (pacotes de 5 dados armazenados) e, dessa maneira, economizam espaço de armazenamento. Elas permitem que um dispositivo de reprodução pesquise no arquivo com base no tempo de midia. Faixas de midia virtual combinam as vantagens de faixas de midia e faixas de informação extra de recepção sem dobrar o tamanho do arquivo, o 10 que seria o caso se faixas de midia clássica fossem adicionadas ao arquivo. Com o conceito de faixas de midia virtual, toda informação do processo de recepção original é mantida, por exemplo, informação sobre pacotes perdidos que ajuda no encobrimento de erro e informação sobre tempo de recepção, que ajuda na sincronização labial. Simultaneamente todas as possibilidades de faixas de midia convencional para acesso de midia são oferecidas pelas faixas de midia virtual da invenção.
Ainda mais flexibilidade é oferecida se comparada com faixas de midia convencional. Pode ser decidido em uma base de amostra-por- 20 amostra se unidades de transporte armazenadas (pacotes de dados) são completamente desfeitas para acessar unidades (quadros de midia) ou se apenas construtores ou ligações para a reconstrução das unidades de acesso são armazenados, por exemplo, para economizar espaço de armazenamento. Adicionalmente, todas as possibilidades podem ser misturadas em uma faixa de midia virtual, isto é, decodificando amostras de informação ou amostras de midia virtual compreendendo unidades de acesso completas, construtores, ligações ou estando vazias.
Faixas de mídia virtual múltiplas podem fazer referência a unidades de transmissão ou pacotes de dados da mesma faixa de informação extra de recepção permitindo índices diferentes da mesma corrente de pacote de dados gravada. Por exemplo, duas faixas de mídia virtual com acesso aleatório, uma relacionada a áudio, a outra relacionada a vídeo, indicam índices para áudio e vídeo da mesma faixa de informação extra de recepção de corrente de transporte MPEG-2. Para permitir uma reprodução ou repetição de amostras de dados de mídia criptografadas em pacotes de dados recebidos e armazenados, mensagens de corrente de chave associadas podem também ser armazenadas - além dos pacotes de dados - no container de dados de mídia do arquivo. As mensagens de corrente chave são armazenadas em amostras de uma faixa de informação extra de recepção de corrente chave, de acordo com configurações da presente invenção. Tempo de recepção (tempo de transporte) pode ser usado como um selo temporal das amostras de corrente chave para alinhar as mensagens chave a pacotes de mídia criptografados na faixa de informação extra de recepção correspondente. Uma referência de faixa é usada para associar a faixa de informação extra de recepção de corrente chave com a faixa de informação extra de recepção de mídia. Para o objetivo de gravação do arquivo, configurações da presente invenção provêem um aparelho para gravar o arquivo tendo um container de dados de mídia relacionado e um container de metadados. O aparelho compreende um receptor para receber pacotes de dados, cada um compreendendo uma carga útil, e para receber pacotes de corrente chave compreendendo pluralidade de chaves criptográficas, onde cada chave criptográfica está associada com uma carga útil dos pacotes de dados. O aparelho compreende um gravador para armazenar os pacotes de dados recebidos e os pacotes de corrente chave recebidos no 5 container de dados de midia, e para armazenar metadados associados no container de metadados, os metadados associados compreendendo informação temporal de transporte dos pacotes de dados recebidos e dos pacotes de corrente chave recebidos e informação de localização indicando uma localização dos pacotes de dados 10 armazenados e dos pacotes de corrente chave armazenados no container de dados de midia. O aparelho para gravação dos pacotes de dados e dos pacotes de corrente chave podem ser um dispositivo independente, assim como um dispositivo integrado ou combinado com o aparelho mencionado acima para armazenamento e/ou processamento.
De acordo com configurações da presente invenção, o gravador é adaptado para armazenar os pacotes de dados recebidos como amostras nas primeiras fatias do container de dados de midia e para armazenar os pacotes de corrente chave associados recebidos como amostras nas segundas fatias do container de dados de midia.
De acordo com configurações da presente invenção, o gravador é adaptado para armazenar a informação temporal de transporte e a informação de localização dos pacotes de dados em uma primeira faixa do container de dados de midia e para armazenar a informação temporal de transporte e a informação de localização dos pacotes de corrente chave em uma segunda faixa do container de metadados.
De acordo com uma configuração da presente invenção, o arquivo é baseado no formato de arquivo de midia baseado na ISO.
De acordo com uma configuração da presente invenção, os pacotes de dados compreendem pacotes de corrente de transporte MPEG-2.
De acordo com uma configuração adicional da 5 presente invenção, os pacotes de dados compreendem pacotes RTP compreendendo amostras de dados de midia no formato de pacotes.
Para facilitar a reprodução após recepção da corrente de pacote de dados e da corrente chave associada, um processamento único pode ser executado para converter a faixa de 10 informação extra de recepção da corrente chave em uma faixa de metadados virtual. As mensagens chave da faixa de informação extra de recepção de corrente chave com tempo de transporte podem ser transformadas em amostras chave em uma faixa de metadados virtual com tempo de midia, similar às faixas de midia virtual descritas 15 acima. Se necessário, amostras chave são virtualmente dobradas, de modo que cada amostra de midia na faixa de midia tenha uma amostra chave associada na faixa chave.
É, portanto, possível criar um relacionamento temporal preciso entre as unidades de acesso de mídia e as 20 mensagens chave, especificamente se unidades de acesso criptografadas puderem ser reconstruídas das unidades de transmissão (no caso de criptografia de conteúdo).
Para configurações de reprodução proveja um aparelho para leitura de um arquivo, o arquivo tendo pacotes de 25 dados armazenados compreendendo amostras de dados de mídia na forma de pacote e o arquivo tendo pacotes de corrente chave associados armazenados em um container de dados de mídia relacionado com o arquivo. O arquivo tem metadados associados armazenados em um container de metadados, os metadados associados compreendendo informação temporal de transporte dos pacotes de dados recebidos e dos pacotes de corrente chave recebidos e informação de localização indicando um local dos pacotes de dados armazenados e dos pacotes de corrente chave armazenados no container de dados de midia. Adicionalmente, o aparelho compreende um processador para designar, com base nos pacotes de dados, baseado na informação meta associada e baseado nos pacotes de corrente chave armazenados e na informação meta de corrente chave associada, informação de descriptografia para uma carga útil dos pacotes de dados armazenados, onde a informação de descriptografia indica qual chave criptográfica usar em qual tempo para reproduzir a carga útil dos pacotes de dados armazenados. Uma saida é provida para enviar pacotes de dados descriptografados com base na informação de descriptografia designada.
Configurações da presente invenção preservam completamente o tempo de recepção de mensagens chave e o relacionamento temporal para os pacotes de dados recebidos. Configurações da presente invenção permitem a conversão dos arquivos gravados em arquivos otimizados para reprodução, quando os arquivos contêm uma faixa de metadados com mensagens chave para cada amostra de midia correspondente nas faixas de midia compreendendo os pacotes de dados armazenados..Dessa maneira, não é necessário analisar a faixa chave gravada quanto à chave correta durante a reprodução. Outros objetivos e características da presente invenção se tornarão aparentes a partir da descrição detalhada a seguir considerada em conjunto com os desenhos em anexo quais:
A Figura 1 é um diagrama de bloco esquematizado de um aparelho para gravação de arquivo de acordo com uma configuração da presente invenção;
A Figura 2 mostra uma estrutura de arquivo esquematizada de um arquivo gravado tendo um container de dados de midia relacionado e um container de metadados de acordo com uma configuração da presente invenção;
A Figura 3 mostra uma estrutura esquematizada de um arquivo com base no formato de arquivo de midia baseado na ISO;
A Figura 4 mostra um fluxograma de um método para gravação de um arquivo de acordo com uma configuração da presente invenção;
A Figura 5 mostra um fluxograma de um método adicional para gravação de arquivo de acordo com uma configuração adicional da presente invenção;
A Figura 6 mostra um diagrama de bloco esquematizado de um aparelho para gravação e processamento de um arquivo para obter faixas de midia virtual de acordo com uma 20 configuração da presente invenção;
A Figura 7 mostra uma estrutura esquematizada de um arquivo gravado tendo uma faixa de video virtual de acordo com uma configuração da presente invenção;
A Figura 8 mostra um fluxograma de um método para gravação de pacotes de dados, criação de amostras de midia virtual e reprodução de amostras de midia compreendidas dos pacotes de dados armazenados por meio das amostras de midia virtual de acordo com uma configuração da presente invenção;
A Figura 9 mostra um exemplo de como obter a informação descritiva de uma amostra de midia virtual com referência a quadros de midia compreendidos de carga útil de dados armazenados, de acordo com uma configuração da presente invenção;
A Figura 10 mostra um mapeamento de amostras de faixas de informação extra de recepção e faixas de midia virtual de acordo com uma configuração da presente invenção;
A Figura 11 mostra um diagrama de bloco esquematizado de um aparelho para gravação de um arquivo de acordo com uma configuração adicional da presente invenção; e
A Figura 12 mostra um principio de corrente chave e sincronização de midia em um ambiente de TV móvel.
A Figura 1 mostra um fluxograma esquematizado de um aparelho 100 para gravação de um arquivo 102 tendo um container de dados de midia relacionado 104 e container de metadados 106. O aparelho 100 compreende um receptor 108 para receber os primeiros pacotes de dados 110 compreendendo primeiras amostras de dados de midia na forma de pacotes com base em um primeiro relógio, e para receber os segundos pacotes de dados 112 compreendendo as segundas amostras de dados de midia com base em um segundo relógio diferente do primeiro relógio, onde as segundas amostras de dados de midia são associadas com as primeiras amostras de dados de midia. Adicionalmente, o receptor 108 serve para receber os primeiros pacotes de controle 114, incluindo informação para indicar um relacionamento do primeiro relógio com um relógio de referência, e para receber os segundos pacotes de controle 115, incluindo informação para indicar um relacionamento do segundo relógio com o relógio de referência. Adicionalmente, o aparelho 100 compreende um gravador 116 para armazenar os primeiro e segundo pacotes de dados recebidos 110, 112, e pelo menos uma porção dos primeiro e segundo pacotes de controle recebidos 114, 115 no container de dados de midia 104, e para armazenar metadados associados no container de metadados 106. Os metadados associados compreendem informação temporal dos primeiro e segundo pacotes de dados recebidos 110, 112 e dos primeiro e segundo pacotes de controle recebidos 114, 115. Adicionalmente, os metadados associados compreendem informação de localização indicando um local dos primeiro e segundo pacotes de dados armazenados 110, 112 e dos primeiro e segundo pacotes de controle armazenados 114, 115 no container de dados de midia 104. De acordo com configurações da presente invenção, os primeiros pacotes de dados 110 podem ser primeiros pacotes RTP transmitidos continuamente compreendendo primeiras amostras de dados de midia na forma de pacotes (por exemplo, video) e os segundos pacotes de dados 112 podem ser segundos pacotes RTP transmitidos continuamente compreendendo segundas amostras de dados de midia na forma de pacotes (por exemplo, áudio). Consequentemente, os primeiros pacotes de dados de controle 114 podem ser os pacotes RTCP associados aos primeiros pacotes RTP transmitidos continuamente 110, onde os segundos pacotes de dados de controle 115 podem ser pacotes RTCP associados aos segundos pacotes RTP transmitidos continuamente 112. O arquivo 102 pode ser um arquivo baseado no formato de arquivo de midia baseado na ISO, de acordo com configurações da presente invenção. Por exemplo, o formato de arquivo pode ser um formato de arquivo compativel com MPEG-4, isto é, o arquivo 102 pode ser um arquivo denominado MP4 especificado pela ISO/IEC 14496-12. O formato de arquivo MP4 é composto de metadados armazenados no container de metadados 106, os metadados descrevendo informação tipicamente relacionada com midia 5 armazenada no container de dados de midia 104. O container: de dados de midia 104 pode também residir fora do arquivo 102. Por exemplo, container de dados de midia 104 pode ser um local de armazenamento separado, que pode ser encontrado por ligações no arquivo 102. Normalmente, dados de midia armazenados no container 10 de dados de midia 104 são dados de video e/ou áudio codificados. Os containers 104 e 106 são estruturas de dados denominadas “caixas" (ou “átomos") nas especificações relacionadas.
Tipicamente, uma caixa é composta de um campo de tamanho, um campo de tipo e um campo de dados. Um tamanho da caixa 15 inteira, que é o número de bytes, incluindo o campo de tamanho, é contido no campo de tamanho. Um identificador de caixa, usualmente quatro letras, é armazenado no campo de tipo da caixa. Dados de cabeçalho e dados de midia reais são armazenados no campo de dados. O container de metadados 106 que forma o formato de arquivo 20 MP4 descrito acima usando esta estrutura de caixa é tipicamente denominado de caixa de filme “moov". Similarmente, o container de dados de midia 104 é denominado de caixa de dados de mídia, doravante “mdat". O container de dados de mídia mdat 104 é 25 tipicamente composto de uma sequência de unidades de dados ou amostras que são agrupadas em locais denominados de fatias. Fatias podem ser de tamanhos diferentes, e as amostras dentro de uma fatia podem ter diferentes tamanhos.
De acordo com configurações da presente invenção, o gravador 116 é adaptado para armazenar os primeiro e segundo pacotes de dados recebidos 110, 112 como amostras nas primeiras fatias 118 do container de dados de midia 104. O gravador 116 é 5 adicionalmente adaptado para armazenar pelo menos porções dos primeiro e segundo pacotes de controle associados recebidos 114, 115 como amostras nas segundas fatias 122 do container de dados de midia 104, como pode ser visto na Figura 2. O armazenamento das fatias 118, 122 pode ser feito de uma maneira entrelaçada. Uma amostra de uma fatia pode, portanto, compreender um ou mais pacotes de dados recebidos. Isto é, uma amostra de uma primeira fatia 118 pode compreender um ou mais primeiro e/ou segundo pacotes RTP recebidos 110, 112, e uma amostra de uma segund'a fatia 122 pode compreender um ou mais
primeiro e/ou segundo RTCP SRs do primeiro e/ou segundo pacotes de controle recebidos 114, 115.
Uma pluralidade de primeiras fatias 118 pode ser considerada como uma porção de dados de midia de uma faixa de 20 informação extra de recepção (RTP-). Similarmente, uma pluralidade de segundas fatias 122 pode ser considerada como uma porção de dados de midia de uma faixa de informação extra de recepção associada (RTCP-) para a faixa de informação extra de recepção. Isto é, no caso da Figura 1 ou Figura 2, existe uma faixa de 25 informação extra de recepção RTP para todos os pacotes RTP recebidos 110, 112 e uma faixa de informação extra de recepção RTCP associada para todos os pacotes RTCP recebidos 114, 115 ou RTCP SRs. Isto significa complexidade minima de gravação.
Uma faixa de informação extra de recepção RTCP não necessita quaisquer dados genéricos de configuração de carga útil de pacote, visto que é útil apenas em combinação com a informação SDP (Protocolo de Descrição de Sessão) de sua faixa de 5 informação extra de recepção RTP base relacionada.
Uma carga útil de amostra de faixa de informação extra de recepção RTCP consiste de um pacote RTCP bruto. Este pacote RTCP bruto pode ser incluido diretamente com seus cabeçalhos RTCP ou ser envolvido dentro de uma outra estrutura 10 para permitir o armazenamento de múltiplos pacotes RTCP em uma amostra. O tempo de uma amostra RTCP é dependente do método temporal de sua faixa de informação extra de recepção RTP associada. Se a faixa de informação extra de recepção RTP deriva 15 seu tempo de decodificação dos selos temporais RTP, a faixa de informação extra de recepção RTCP derivará também seu tempo de decodificação dos selos temporais RTP nos pacotes RTCP. Se o tempo de recepção for usado para faixas de informação extra de recepção RTP, o tempo de recepção será também usado para armazenamento de 20 pacotes RTCP. No geral, ambas, a faixa de informação extra de recepção RTP e faixa de informação extra de recepção RTCP são sincronizadas e usam o mesmo tempo base.
Conforme mostrado nas Figuras 1 e 2, o gravador 116 pode ser adaptado para armazenar a informação temporal e 25 informação de localização dos primeiro e segundo pacotes de dados recebidos 110, 112 em uma primeira faixa de metadados 124 do container de dados de midia 106 e para armazenar a informação temporal e informação de localização dos primeiro e segundo pacotes de controle recebidos 114, 115 associados com os primeiro e segundo pacotes de dados 110, 112 em uma segunda faixa de metadados 128 do container de dados de midia 106. Uma descrição mais detalhada do processo de armazenamento será provida com referência à Figura 3,
A primeira faixa de metadados 124 pode ser considerada como uma porção de metadados da faixa de informação extra de recepção RTP. Similarmente, a segunda faixa de metadados 124 pode ser considerada como uma porção de metadados da faixa de informação extra RTCP associada para a faixa de informação extra de recepção.
No exemplo da Figura 2, as correntes de mídia individuais (por exemplo, vídeo/áudio) podem ser identificadas a partir da faixa de informação extra de recepção RTP única e da faixa de informação extra de recepção RTCP associada única em um estágio posterior, por exemplo, pelo uso de informação SDP no respectivo tipo de midia armazenado em conjunto com os pacotes RTP.
A Figura 2 mostra a estrutura de um arquivo de mídia ISO 102 com uma faixa de informação extra de recepção RTP e uma faixa de informação extra de recepção RTCP associada.
Conforme descrito anteriormente, o arquivo 102 compreende um container de metadados 106 onde o container de metadados 106 compreende uma faixa de informação extra de recepção RTP 124 compreendendo informação temporal relacionada com pacotes RTP recebidos armazenados como amostra nas primeiras fatias 118-1, 118-2, etc., no container de dados de mídia 104. Isto é, a faixa de informação extra de recepção RTP 124 compreende tempo de transporte de informação dos pacotes RTP (primeiro e segundo) armazenados durante a recepção.
Este tempo de transporte pode ser um selo temporal de um relógio de recepção do receptor 108 e/ou pode ser 5 um selo temporal RTP dos pacotes RTP recebidos 110, 112. Isto é, para cada pacote RTP ou amostra, a porção de metadados 124 da faixa de informação extra de recepção RTP compreende uma indicação sobre quando o respectivo pacote RTP 110, 112 foi recebido e, adicionalmente, informação sobre onde o respectivo pacote RTP foi 10 armazenado no container de dados de midia 104. O mesmo se confirma para a porção de metadados 128 da faixa de informação extra de recepção RTCP associada. Ela compreende informação temporal de transporte dos pacotes RTCP recebidos que são armazenados nas segundas fatias 122. A 15 informação temporal de transporte pode ser, por exemplo, um tempo de recepção de um pacote RTCP relacionado ou um selo temporal RTP de um pacote RTP relacionado com o pacote RTCP. Além do mais, a porção de metadados 128 da faixa de informação extra de recepção RTCP associada compreende informação de localização indicando onde 20 um pacote RTCP foi armazenado no container de dados de midia 104.
De acordo com outras configurações, aqueles parâmetros SDP podem ser diretamente analisados durante o processo de gravação, de modo que as sessões RTP relacionadas a diferentes midias podem ser armazenadas para separar faixas de informação 25 extra de recepção RTP e separar faixas de informação extra de recepção RTCP associadas imediatamente.
Dessa maneira, de acordo com configurações da presente invenção, o gravador 116 é adaptado para armazenar os primeiros pacotes de dados recebidos 110 como amostras nas primeiras fatias do container de dados de midia 104. O gravador 116 é, adicionalmente, adaptado para armazenar os segundos pacotes de dados recebidos 112 como amostras nas segundas fatias do 5 container de dados de midia 104. O gravador 116 é adaptado para armazenar pelo menos porções dos primeiros pacotes de controle associados recebidos 114 como amostras nas terceiras fatias do container de dados de mídia 104 e para armazenar pelo menos porções dos segundos pacotes de controle associados recebidos 114 10 como amostras nas quartas fatias do container de dados de mídia 104. O armazenamento das fatias pode ser feito de uma maneira entrelaçada. Isto é, de acordo com uma configuração da presente invenção, os primeiros pacotes RTP relacionados com uma 15 primeira corrente de mídia (por exemplo, vídeo), os segundos pacotes RTP 112 relacionados com uma segunda corrente de mídia (por exemplo, áudio) e primeiro e segundo pacotes RTCP associados ou pelo menos primeiro e segundo relatórios de remetente RTCP podem ser armazenados como amostras de primeira, segunda, terceira 20 e quarta fatias de maneira entrelaçada.
Uma amostra de uma fatia pode, portanto, compreender um ou mais pacotes de dados recebidos- Isto é, uma amostra de uma primeira fatia pode compreender um ou mais primeiros pacotes de dados recebidos 110, uma amostra de uma 25 segunda fatia pode compreender um ou mais segundos pacotes de dados recebidos 112, uma amostra de uma terceira fatia pode compreender um ou mais primeiros RTCP SRs dos primeiros pacotes de controle recebidos 114 e uma amostra de uma quarta fatia pode compreender um ou mais segundos RTCP SRs dos segundos pacotes de controle recebidos 115.
Uma pluralidade de primeiras fatias pode ser considerada como uma porção de dados de midia de uma primeira 5 faixa de informação extra de recepção relacionada com a midia dos primeiros pacotes 110, Uma pluralidade de segundas fatias pode ser considerada como uma porção de dados de midia de uma segunda faixa de informação extra de recepção relacionada com a midia dos segundos pacotes 112. Uma pluralidade de terceiras fatias pode ser 10 considerada como uma porção de dados de midia de uma faixa de informação extra associada para a primeira faixa de informação extra de recepção. Similarmente, uma pluralidade de quartas fatias pode ser considerada como uma porção de dados de midia de uma faixa de informação extra associada para a segunda faixa de 15 informação extra de recepção. Isto é, no caso de faixas de informação extra de recepção RTP e faixas de informação extra de recepção associadas RTCP, uma faixa de informação extra de recepção pode ser gravada para cada sessão RTP identificada e uma faixa de informação extra de recepção associada pode ser gravada 20 para cada uma das faixas de informação extra de recepção RTP gravadas.
De acordo com uma configuração da presente invenção, o gravador 116 é adaptado para armazenar a informação temporal e a informação de localização dos primeiros pacotes de 25 dados recebidos 110 em uma primeira faixa de metadados do container de dados de midia 106 e para armazenar a informação temporal e a informação de localização dos segundos pacotes de dados recebidos 112 em uma segunda faixa de metadados do container de metadados 106. O gravador 116 é adaptado para armazenar a informação temporal e a informação de localização dos primeiros pacotes de controle recebidos 114 associados com os primeiros pacotes de dados 110 em uma terceira faixa de metadados do container de dados de midia 106 e para armazenar a informação temporal e a informação de localização dos segundos pacotes de controle recebidos 115 associados com os segundos pacotes de dados 112 em uma quarta faixa de metadados do container de dados de midia 106.
Agora, observando a Figura 3, uma descrição mais detalhada do container de metadados 106 de um arquivo baseado no formato base de midia ISO deve ser provida. O container de dados de midia 106, denominado "moov" para um arquivo baseado no formato base de mídia ISO, é adicionalmente formado em camadas em caixas, com uma caixa requerida 302 na forma de uma caixa de cabeçalho de filme "mvhd", que contém informação de cabeçalho como um todo, e uma pluralidade de caixas "trak" 304 (apenas uma mostrada na Figura 3) . A caixa trak 304 é adicionalmente formada em camadas em duas caixas, onde uma caixa de cabeçalho de faixa "tkhd" 306 especifica características da faixa.
A caixa trak 304 compreende adicionalmente uma caixa de midia "mdia" 308 contendo todos os objetos, isto é, informação de declaração sobre os pacotes de dados (normalmente dados de mídia) dentro de uma faixa. A caixa mdia 308 inclui uma caixa de cabeçalho de mídia "mdhd" 310 e uma caixa de referência de operador "hdlr" 312. A caixa de cabeçalho de mídia mdhd 310 compreende informação geral que é independente da midia, e relevante para abranger caracter!sticas da "midia", isto é, pacotes de dados, em uma faixa de informação extra de recepção. A caixa de referência do operador hdlr 312 apresenta um processo por meio do qual os "dados-midia" na faixa são apresentados, e, dessa maneira, a natureza da "midia" na faixa, por exemplo, uma faixa de informação extra de recepção.
Adicionalmente, a caixa de midia mdia 308 compreende uma caixa de informação de mídia "minf" 314. Esta caixa contém todos os objetos que declaram informação de característica da "mídia" (pacotes de dados) na faixa de informação extra. A caixa de informação de mídia minf 314 compreende ainda uma caixa de cabeçalho de mídia de informação extra "hmhd" 316 contendo informação geral para faixas de informação extra. Adicionalmente, uma caixa de informação de dados "dinf" 318 é compreendida pela caixa de informação de mídia minf 314 . A caixa de informação de dados dinf 318 contém objetos que declaram a localização da informação de mídia em uma faixa.
Adicionalmente, uma caixa de tabela de amostra "stbl" 320 é compreendida pela caixa de informação de midia minf 314. Dados de pelo menos uma das fatias e amostras do container de dados de mídia mdat 104 estão contidos nesta caixa, ligados a cada item. Para descrever os itens na stbl 320 deve ser observado que a caixa stts 322 compreende a duração de uma amostra, a caixa stsd 324 compreende detalhes de amostra, stsz 326 compreende o tamanho da amostra, stsc 328 compreende uma série de amostras incluídas em uma fatia, isto é, o número de pacotes de dados, e a caixa stco 330 compreende um deslocamento de fatia, cada uma ligada comamostras/pacotes no container de dados de mídia 104.
Conforme descrito anteriormente, o gravador 116 ê adaptado para armazenar informação temporal (transporte) e informação de localização e tempo dos pacotes de dados recebidos 110, 112 em porções de metadados 124, 128 das faixas de informação extra de recepção relacionadas. Em especial, a informação temporal, que pode ser informação temporal derivada de um selo temporal de recepção ou que pode ser relacionada com informação temporal derivada de pacotes de dados/controle recebidos subsequentes, é armazenada em uma caixa de tabela de amostra stbl 320 relacionada das faixas 124, 128.
Um fluxograma mostrando o processo de recebimento e armazenamento de informação meta relacionada com o tempo de pacotes de dados recebidos em uma caixa de tabela de amostra stbl 320 compreendido por uma faixa de metadados 124, 128, é mostrado na Figura 4.
Em uma primeira etapa 4 02, um pacote de dados, que pode ser um pacote RTP ou um pacote RTCP, é recebido pelo receptor 108. Em uma segunda etapa 404, informação temporal relacionada ao pacote de dados recebidos é obtida por um relógio do sistema do receptor 108 na forma de um selo temporal de recepção ou de um selo temporal RTP do pacote de dados recebido. Em uma etapa subsequente 406, uma diferença de tempo em relação a um pacote de dados recebidos precedente é computada. Em uma etapa 408, a diferença de tempo computada é gravada na caixa stts 322 da respectiva faixa de metadados, onde a stts permite uma indexação do tempo de recepção em relação ao respectivo número de amostra, isto é, o pacote recebido e armazenado. Isto é, de acordo com configurações da presente invenção, o tempo de decodificação para a caixa de amostra stts 322 contém deltas de tempo de recepção: RT(n+l) - RT(n) + stts(n), onde RT(n) denota tempo de recepção para o pacote n e stts (n) é a entrada de tabela não comprimida para pacote n.
Conforme mencionado anteriormente, amostras (pacotes) dentro do container de dados de midia 104 são agrupadas em fatias 110, 112. Aquelas fatias podem ser de diferentes tamanhos e também as amostras dentro de uma fatia podem ter diferentes tamanhos. A amostra para caixa de fatia stsc 328 pode ser usada para encontrar a fatia que contém uma amostra especifica, sua posição, e a descrição da amostra associada. Cada entrada provê o índice da primeira fatia de uma operação de fatias com as mesmas características. Pela subtração de uma entrada aqui de uma anterior, é possível computar quantas fatias estão na respectiva operação. É possível converter esta em uma contagem de amostra pela multiplicação das amostras por fatia apropriadas.
A tabela de deslocamento de fatia stco ou co64 330 provê o índice de cada fatia no container de dados de mídia 104. Existem duas variantes permitindo o uso de deslocamentos de 32-bits ou 64-bits. O último é útil ao administrar arquivos 102 muitos grandes. Deslocamentos são, usualmente, deslocamentos de arquivo, não os deslocamentos dentro de qualquer caixa dentro do arquivo, por exemplo, um container de dados de midia. Isto permite consulta aos dados de mídia nos arquivos sem qualquer estrutura de caixa.
Dessa maneira, de acordo com uma configuração da presente invenção, o gravador 116 é adaptado para armazenar uma primeira tabela de deslocamento de fatia 330 indicando um índice de cada primeira fatia no arquivo. Isto é descrito com referência â Figura 5.
Após a recepção de um pacote de dados pelo receptor 108 em uma primeira etapa 502, um pacote de dados recebido 110, 112 é armazenado no container de dados de midia 104 5 relacionado com o arquivo 102 em uma segunda etapa 504. Portanto, o pacote de dados recebido 110, 112 é armazenado como uma amostra em um endereço de armazenamento no container de dados de midia 104. Em uma terceira etapa 506 é computado um deslocamento do endereço de armazenamento para um inicio do arquivo 102 (se o 10 container de dados de midia 104 for compreendido pelo arquivo 102) ■ ou ao início, do container de dados de midia 104 (se o container de dados de mídia 104 observar um arquivo separado). A seguir, o deslocamento computado é gravado na caixa stco ou co64 330 da faixa de metadados relacionada 124. O mesmo se confirma para o armazenamento dos pacotes de controle 114, 115 e sua faixa de metadados relacionada 128 . Para resumir o que foi mencionado acima, uma visão geral deve ser provida para operações executadas para a 20 criação de uma faixa de informação extra de recepção ou uma faixa de informação extra de recepção associada, como, por exemplo, faixas de informação extra de recepção RTP/RTCP e faixas de informação extra de recepção de corrente chave que são descritas mais detalhadamente abaixo. O mesmo se confirma para faixas de mídia virtual que também serão explicadas abaixo. Quando uma faixa deve ser adicionada ao arquivo 102 baseado no formato de arquivo de mídia baseada na ISO, as operações a seguir são tipicamente implementadas em um aparelho 100 de acordo com configurações da presente invenção. * adicionar uma nova caixa trak à caixa moov * adicionar uma nova caixa tkhd à caixa trak recentemente criada. Esta caixa conterá as características da 5 faixa, por exemplo, o tempo de criação, o ID da faixa, as dimensões de uma faixa de "midia" e a duração. * Adicionar uma nova caixa tref à caixa trak recentemente criada. Esta caixa indica a ligação de faixas, isto é, se uma faixa pode se sustentar ou pode apenas ser usada em 10 combinação com uma outra faixa. Observe que as faixas de informação extra de recepção podem ser ligadas tanto através de uma referência de faixa com a caixa tref quanto serem ligadas implicitamente, por exemplo, através de uma descrição de amostra contendo dados que podem ser usados para ligação de duas ou mais 15 faixas. Dessa maneira, esta caixa é opcional, mas o mecanismo de ligação de faixa é recomendado. * Adicionar uma nova caixa mdia à caixa trak recentemente criada. * Adicionar uma nova caixa mdhd à caixa mdia recentemente criada. Esta caixa conterá as características da midia na faixa, por exemplo, a duração da midia e o idioma. * Adicionar uma nova caixa hdlr à caixa mdia recentemente criada. Esta caixa conterá a identificação do processo que tipicamente pode consumir esta midia. No caso de uma 25 faixa de informação extra de recepção avançada, por exemplo, uma faixa de informação extra de recepção RTCP, esta identificação 'informação extra', ★ recentemente criada. * Adicionar uma nova caixa hmhd à caixa minf recentemente criada. Esta caixa conterá o cabeçalho de informação para faixas de informação extra, * Adicionar uma nova caixa dinf à caixa mdia recentemente criada. * Adicionar uma nova caixa dref à caixa dinf recentemente criada, indicando que os dados brutos da faixa estão tanto dentro do próprio arquivo quanto residem externamente, por 10 exemplo, em um outro arquivo ou disponíveis através de um URI (Identificador de Recurso Uniforme). * Adicionar uma nova caixa stbl à caixa minf recentemente criada. Esta caixa é o container para caixas que contêm a indexação de tempo e dados das amostras (por exemplo, RTP/RTCP ou 15 pacotes de corrente chave, amostras de midia virtual) em uma faixa. * Adicionar uma nova caixa stsd à caixa stbl recentemente criada. Esta caixa contém a identificação da midia (comumente referida como 4CC) e a configuração fora de faixa das amostras. * Adicionar uma nova caixa stts à caixa stbl recentemente criada. Esta caixa conterá informação sobre a duração de cada amostra individual da midia (por exemplo, RTP/RTCP ou pacotes de corrente chave, amostras de midia virtual) em uma faixa. * Adicionar uma nova caixa stsc à caixa stbl recentemente criada. Esta caixa conterá informação sobre o número de amostras (por exemplo, RTP/RTCP ou pacotes de corrente chave, amostras de midia virtual) agrupadas em uma fatia. recentemente criada. Esta caixa conterá informação sobre o tamanho de cada amostra individual da midia (por exemplo, RTP/RTCP ou pacotes de corrente chave, amostras de midia virtual) em uma faixa. * Adicionar uma nova caixa stco ou co64 à caixa stbl recentemente criada. Esta caixa conterá informação sobre o deslocamento do arquivo do primeiro byte de cada fatia. * Adicionar opcionalmente outras caixas permitidas na tabela de amostra, por exemplo, a caixa stss que 10 indexa amostras (por exemplo, RTP/RTCP ou pacotes de corrente chave, amostras de midia virtual) que podem ser usadas para deslocamento aleatório. Amostras são agrupadas em fatias, que são um bloco consecutivo de amostras sem intervalos. Quando uma amostra 15 deve ser adicionada ao arquivo, ela é tanto anexada a uma fatia existente ou uma nova fatia é iniciada. Para cada nova amostra, entradas são adicionadas à caixa stts e stsz e a caixa stsc é alterada para refletir o número de amostras na presente fatia. Se a amostra é gravada em uma nova fatia, uma nova entrada é anexada 20 à caixa stco (ou co64) e a caixa stsc é alterada para refletir o número de amostras na nova fatia. A fatia, isto é, os próprios dados de amostra brutos, é gravada no arquivo tanto dentro da caixa mdat ou em um arquivo externo (que pode ser consultado de dentro do arquivo). Dependendo da operação do dispositivo, faixas de informação extra de recepção avançadas são gravadas ao arquivo em paralelo (para RTCP e faixas de informação extra de recepção de corrente chave), isto é, amostras são adicionadas ao arquivo quando novos dados chegam ou são adicionados em um ponto posterior no tempo em uma operação fora de linha (para faixas de midia virtual). O armazenamento paralelo de pacotes de dados recebidos 110, 112 e mensagens de controle associadas 114, 115 nas faixas de informação extra de recepção e faixas de informação extra de recepção associadas, é uma solução ideal durante a gravação e/ou aplicações de mudança de tempo. Entretanto, se o arquivo gravado 102 for para armazenamento de longa duração e se ele for reproduzido muitas vezes, pode ser desejável evitar análise dos dados armazenados durante cada reprodução e ter o tempo de midia diretamente disponivel sem cálculos adicionais, üsualmente, isto implicará em desfazer os pacotes da carga útil dos pacotes de dados da faixa de informação extra de recepção (RTP) e salvar em faixas de midia extras com uma corrente elementar por faixa. Isto nem sempre é possivel ou desejável, por exemplo, se criptografia de transporte foi aplicada aos pacotes de dados de corrente caso a capacidade de armazenamento seja limitada. Em adição ao tempo preciso dos pacotes de transporte 20 armazenados no container de dados de midia 104, é desejável ter informação estendida disponivel sobre as faixas de informação extra de recepção, especificamente informação sobre correntes de midia dentro, por exemplo, de selos temporais SMPTE de quadro preciso ou legendas para faixa de video. É desejável prover uma sincronização temporal precisa instantânea entre diferentes correntes de midia gravadas sem processamento complexo durante cada reprodução das correntes de midia gravadas, isto é, é desejável que uma corrente de midia gravada não necessite ser estabilizada todas as vezes que ela for reproduzida, e que para uma reprodução de um arquivo gravado não seja necessária uma recuperação de relógio de todas as correntes incluidas. Observando agora a Figura • 6, é mostrado um aparelho 600 para processamento de pacotes de dados armazenados e informação meta associada armazenada, de acordo com uma configuração da presente invenção. O aparelho 600 difere do aparelho 100 mostrado na Figura 1 em um processador 602 para determinação, com base nos pacotes de dados armazenados e na informação meta associada armazenada, de informação de decodificação para uma carga útil dos pacotes de dados armazenados, onde a informação de decodificação indica em qual momento no tempo repetir qual carga útil dos pacotes de dados armazenados. O aparelho 600 pode ser uma extensão do aparelho 100, entretanto, o aparelho 600 pode também ser visto separadamente, especificamente se usado para processamento de pacotes não-RTP/RTCP armazenados, como, por exemplo, pacotes MPEG- 2 TS. Na configuração mostrada na Figura 6, os pacotes de dados são armazenados no container de dados de midia 104 relacionado ao arquivo 102. A informação meta é armazenada no Container de metadados 106 do arquivo 102, conforme explicado acima. Os pacotes de dados armazenados podem ser armazenados como amostras nas fatias 118, 122 do container de dados de midia 104. As amostras e/ou as fatias são relacionadas pelas faixas de metadados associadas 124, 128 no container de metadados 106. invenção, os pacotes de dados armazenados podem compreender primeiro e segundo pacotes RTP 110, 112 compreendendo primeiro e segundo dados de midia em pacotes e primeiro e segundo pacotes RTCP associados 114, 115, conforme descrito acima.
De acordo com uma outra configuração da presente invenção, os pacotes de dados armazenados podem compreender pacotes de dados de corrente de transporte MPEG-2, compreendendo uma multiplexação de corrente de um ou mais programas, tipicamente áudio e video. Pacotes de dados de corrente de transporte MPEG-2 10 tipicamente têm um comprimento de 188 bytes.
De acordo com uma configuração da presente invenção, a informação de decodificação determinada é armazenada na forma de amostras de informação de decodificação nas fatias de informação de decodificação 604 no container de dados de midia 15 104. Portanto, cada amostra de informação de decodificação se relaciona com uma unidade de acesso, por exemplo, um quadro de video ou áudio, que pode ser reconstruído a partir de pacotes de dados armazenados na porção de dados de midia da faixa de informação extra de recepção.
O processador 602 é adaptado para determinar as amostras de informação de decodificação em uma base de quadro de midia, de modo que uma amostra de informação de decodificação indica um endereço inicial e endereço final de uma unidade de acesso de midia, onde o endereço inicial denota um local de uma 25 amostra de dados de midia indicando um inicio da referida unidade de acesso de midia e onde o endereço final denota um local de amostra de dados de midia indicando um final da referida unidade de acesso de midia, onde as amostras de dados de midia são compreendidas pelos pacotes de dados no container de dados de midia 104. O processador 602 pode acessar o container de dados de midia 104 de modo a armazenar uma amostra de informação 5 de decodificação como uma amostra de midia virtual na fatia 604 no container de dados de midia 104. Adicionalmente, o processador 602 pode acessar o container de dados de midia 106 de modo a armazenar informação meta de decodificação relacionada com a amostra de informação de decodificação (amostra de midia virtual) e indicando 10 um tempo de decodificação e um local da amostra de informação de decodificação em uma faixa de metadados 606 no container de dados de midia 104. Conforme explicado anteriormente, as amostras de informação de decodificação podem ser vistas como amostras de midia virtual, cada uma referindo-se a uma unidade de acesso de 15 uma corrente de video ou áudio relacionada. Uma amostra de midia virtual compreende informação sobre como reconstruir um quadro de áudio/video relacionado a partir dos pacotes de dados armazenados no container de dados de midia 104.
Observando agora a Figura 7, um arquivo 702 é 20 mostrado compreendendo amostras de midia virtual 704 no container de dados de midia 104 e uma faixa de metadados virtual associada 706 no container de metadados 106. O arquivo 702 tem também pacotes RTP armazenados nas fatias 708 compreendidos pelo container de dados de midia 104 25 e pacotes RTCP compreendidos por fatias 710. Aos pacotes RTP armazenados está associada uma faixa de metadados RTP 712. Aos pacotes RTCP armazenados está associada uma faixa de metadados RTCP 714 no container de metadados 106.
Conforme é indicado pelas setas, as amostras de midia virtual na fatia de midia virtual 704 se relacionam com pacotes RTP armazenados em fatias 708. As amostras de midia virtual podem conter construtores para reconstrução de unidades de 5 acesso, isto é, por exemplo, quadros de midia, de unidades de transmissão armazenadas, isto é, pacotes de dados, armazenados nas fatias 708. As amostras de midia virtual podem conter ligações com uma ou mais unidades de transmissão significativas, relevantes para a reconstrução de uma unidade de acesso especifica 10 (construtor incompleto). Também, uma amostra de midia virtual pode ser vazia, por exemplo, no caso da perda de um pacote durante recepção. Uma alternativa adicional é que amostras de midia virtual contenham amostras de midia completamente sem pacotes descrevendo um quadro de midia, como é o caso em uma faixa de 15 midia clássica.
Os dados de configuração de carga útil genérica de uma amostra de midia virtual incluem os dados de configuração de carga útil de uma faixa de midia não virtual do mesmo tipo, por exemplo, uma faixa de midia virtual para video codificado H.264 20 conterá também o AVCConfigurationRecord na caixa avcC dentro da descrição da amostra. Adicionalmente, ela pode incluir informação sobre o processo de "eliminação de informação extra" da faixa de informação extra de recepção, por exemplo, o tamanho máximo de uma amostra de midia, sendo remontada de uma faixa de informação extra 25 de recepção pelo uso de informação provida na carga útil da amostra da faixa de midia virtual.
A carga útil de uma amostra de uma faixa de midia extração de dados de amostra de midia a partir de uma faixa de informação extra de recepção. Estes comandos são derivados dos construtores de pacote para faixas de informação extras e incluem um "construtor imediato", um "construtor de amostra" e um "construção de descrição de amostra". O construtor imediato consiste dos campos "comprimento", "dados", e "enchimento". "Comprimento" indica o comprimento do campo "dados". "Enchimento" pode ser usado para preencher espaço provido a maior.
O construtor de amostra consiste dos campos "trackrefindex", "length" (comprimento), "samplenumber" (número de amostra) e "sampleoffset" (deslocamento de amostra). Trackrefindex indica a faixa de informação extra de recepção da qual dados são extraidos, número de amostra indica o número de amostra da faixa de informação extra de recepção. O campo deslocamento de amostra especifica o inicio do bloco de dados do comprimento do campo "comprimento" que deve ser extraído.
Usando construtores de amostra, uma representação compacta de uma amostra de midia é possivel sem copiar dados.
O construtor de descrição de amostra consiste dos campos "trackrefindex", "sampledescriptionindex", "sampledescriptionoffset" e "comprimento". Igualmente a um construtor de amostra, dados da descrição da amostra de uma faixa de informação extra de recepção são usados para inclusão na amostra de midia virtual.
Uma faixa de midia virtual usa tempo de midia, isto é, os selos temporais de decodificação não são afetados por atrasos de transmissão ou imprecisões na frequência do relógio. O tempo é equivalente ao tempo de uma faixa de midia que poderia ser gerada a partir da informação disponivel em uma faixa de midia virtual.
A Figura 8 mostra um fluxograma de gravação de corrente e uma otimização de arquivo fora de linha.
Em uma primeira etapa 802, faixas de informação extra de recepção e, opcionalmente, faixas de informação extra de recepção associadas (por exemplo, RTP e RTCP) são salvas no arquivo 102, conforme explicado acima. Após término da gravação, isto é, quando os pacotes de dados estão salvos no arquivo 102 na forma de uma faixa de informação extra de recepção e, eventualmente, pacotes de controle associados são salvos no arquivo em uma faixa de informação extra de recepção associada, correntes de midia diferentes são determinadas dentro da faixa de informação extra de recepção gravada em uma etapa 804. Isto significa que a etapa 804 compreende a determinação, por exemplo, de correntes de áudio e video ou pacotes de dados relacionados às correntes de áudio e video, respectivamente, dentro da faixa de informação extra de recepção gravada. Isto pode ser feito pela extração de informação apropriada do protocolo de descrição de sessão (SDP), como foi explicado acima.
Dessa maneira, o processador 602 é adaptado para determinar quais dentre os pacotes de dados armazenados se relacionam com a primeira ou segunda amostra de dados de midia e para determinar as segundas amostras de informação de decodificação (segundas amostras de midia virtual) relacionadas com as segundas amostras de dados de midia no container de dados de midia 104. midia identificada, uma faixa de midia virtual (compreendendo midia e metadados) é criada, que faz referência a uma faixa de informação extra de recepção relacionada. Isto é, o processador 602 é adaptado para armazenar as primeiras amostras de informação de decodificação (primeiras amostras de midia virtual) relacionadas com as primeiras amostras de dados de midia no container de dados de midia 104, e para armazenar a primeira informação meta de decodificação no container de metadados 106, a primeira informação meta de decodificação indicando um local (por exemplo, deslocamento de fatia, número de amostra, etc.) das primeiras amostras de informação de decodificação no container de midia 104. O processador 602 é adaptado para armazenar a segunda informação meta de decodificação no Container de metadados 106, a segunda 15 informação meta de decodificação indicando um local (por exemplo, deslocamento de fatia, número de amostra, etc.) das segundas amostras de informação de decodificação no container de midia 104. Isto é, a faixa de midia virtual criada faz referência à faixa de informação extra de recepção que compreende 20 os pacotes de dados tendo uma carga útil de acordo com a respectiva corrente de midia. Após criação das faixas de midia virtual, amostras de midia virtual (amostras de informação de decodificação) são adicionadas às faixas de midia virtual, onde as amostras de midia virtual apontam para amostras ou pacotes nas porções de dados de midia das faixas de informação extra de recepção e recuperam tempo preciso das unidades de transmissão de controle (por exemplo, relatórios de remetente RTCP). Os relatórios de remetente RTCP contêm um selo temporal RTP e um selo temporal comum correspondente entre correntes no formato de selo temporal NTP. 0 selo temporal RTP e o selo temporal NTP permitem um valor de conversão a ser determinado. Com este valor de conversão de selo temporal RTP/NTP 5 e freqüência de relógio do selo temporal RTP, é possível calcular o selo temporal correspondente do pacote RTP recebido entre correntes no formato de selo temporal NTP. Desta maneira, o tempo da midia para cada amostra de uma faixa de informação extra de recepção RTP, isto é, cada pacote de dados armazenado, pode ser 10 obtido em um pós-processamento em relação à gravação dos pacotes de dados.
Em uma etapa adicional 810, informação descritiva é adicionada à faixa de midia virtual (por exemplo, por tabelas dentro desta faixa ou pela adição de outras faixas, que se referem 15 a esta faixa). Portanto, a informação descritiva adiciona pode indicar um endereço de inicio e um endereço final de um quadro de midia associado com a amostra de midia virtual, onde o endereço inicial denota um local de uma amostra de dados de midia indicando um inicio do quadro de midia e onde o endereço final denota um 20 local de uma amostra de dados de midia indicando um final do quadro de midia, onde as amostras de dados de midia são compreendidas pela carga útil dos pacotes de dados no container de dados de mídia 104.
Em uma etapa de reprodução opcional adicional 25 812, a informação descritiva das amostras de mídia virtual é usada para encontrar amostras correspondentes na faixa de informação extra de recepção por meio da faixa de mídia virtual. A etapa 810 pode ser usada, por exemplo, para repetir as correntes de mídia compreendidas pelos pacotes de dados armazenados. Um exemplo de como obter a informação descritiva de uma amostra de midia virtual com referência a quadros de midia compreendidos pela carga útil de pacotes de dados armazenados em 5 uma faixa de informação extra de recepção é mostrado na Figura 9.
A Figura 9 mostra uma série de pacotes RTP armazenados RTP1, RTP2, RTP3. Os pacotes RTP, RTP1, RTP2, RTP3, são armazenados como amostras no container de midia virtual 104. Os pacotes RTP, RTP1, RTP2, RTP3, cada um, compreendem um 10 cabeçalho Hl, H2, H3 e uma carga útil PL1, PL2, PL3 compreendendo amostras de dados de midia. Exemplificativamente, o tamanho do cabeçalho é A bits, respectivamente, o tamanho da carga útil é (B- A) bits. Os dados de um primeiro quadro de midia, que pode ser um quadro de video ou áudio, são divididos entre as cargas úteis do 15 primeiro pacote RTP, RTP 1, e o segundo pacote RTP, RTP2.
Exemplificativamente, os dados de midia do primeiro quadro de midia atingem do byte A do pacote RTP, RTP1 até o byte A+Y do pacote de dados RTP2. Dados de midia de um segundo quadro de midia são divididos entre pacotes de dados RTP2, iniciando no endereço 20 de byte A+Y, e. pacote de dados RTP3, terminando no endereço de byte A+Z do pacote de dados RTP3.
Amostras de mídia virtual VMS1 e VMS2 se relacionam com o primeiro quadro de mídia e com o segundo quadro de mídia, respectivamente. De acordo com configurações da presente 25 invenção, as amostras de midia virtual VMS1, VMS2 compreendem informação sobre onde encontrar os dados de midia do primeiro e segundo quadro de mídia nos pacotes de dados armazenados RTP1, RTP2, RTP3. Isto é, o pacote de mídia virtual VMS1 compreende informação de que os dados de midia do quadro 1 podem ser obtidos pelo acesso do pacote de dados RTP1 do endereço de byte A até o endereço de byte B, e endereçando o pacote de dados RTP2 do endereço de byte A até o endereço de byte A+Y. A amostra de midia 5 virtual 2 compreende informação de onde obter as amostras de midia para quadro de midia 2. Isto é, armazena informação de que o quadro de midia 2 inicia no pacote de dados RTP2, endereço de byte A+Y até o endereço de byte B, e que amostras de midia adicionais do quadro 2 podem ser encontradas no pacote de dados RTP3 10 atingindo do endereço de byte A até o endereço de byte A+Z.
As amostras de midia virtual VMS1 e VMS2, que formam porções de dados de midia de uma faixa de midia virtual, são ambas referenciadas por uma porção de metadados da faixa de midia virtual no container de metadados 106. Decodificação de 15 informação de tempo-para-amostra pode ser encontrada em uma caixa stts para cada amostra de midia virtual VMS1, VMS2 . Portanto, a informação de decodificação de tempo-para-amostra reflete tempo de midia que pode ter sido determinado pela avaliação de pacotes RTCP armazenados associados com os pacotes RTP, RTP1, RTP2, RTP3, 20 conforme explicado acima.
A Figura 10 ilustra um mapeamento de amostras de uma faixa de informação extra de recepção para amostras de faixas de midia virtual.
Em contraste com a Figura 9, a Figura 10 mostra 25 pacotes de dados armazenados de uma corrente de transporte MPEG-2 M2T. A corrente de transporte M2T compreende pacotes de dados Al a A7 compreendendo amostras de áudio e pacotes de dados VI a V7 compreendendo amostras de video.
Uma amostra de midia virtual VMSA1 se relaciona com um primeiro quadro de áudio que é dividido entre as cargas úteis de pacotes de áudio Al e A2. A amostra de midia virtual VMSA1 indica qual parte da carga útil de Al e A2 tomar para obter 5 o quadro de áudio 1. Similarmente, a amostra de midia virtual
VMSA2 está relacionada com um segundo quadro de áudio, os dados de midia do qual podem ser encontrados nas cargas úteis dos pacotes de áudio A2 e A3. A amostra de midia virtual VMSA3 faz referência ao pacote de áudio A4 e partes do pacote de áudio A5 para obter um 10 terceiro quadro de áudio. A amostra de midia virtual VMSA4 faz referência à parte remanescente do pacote de áudio A5 e à carga útil dos pacotes de áudio A6 e A7 para o quadro de áudio 4.
Similarmerite, a amostra de midia virtual VMSV1, relacionada a um primeiro quadro de video, faz referência às 15 cargas úteis dos pacotes de video VI, V2 e V3 para o primeiro quadro de video. A amostra de midia virtual VMSV2 faz referência as cargas úteis de pacotes de video V4, V5 e V6 para obter as amostras de midia para um segundo quadro de video.
De modo a reproduzir novamente o conteúdo de 20 midia com base nas faixas de informação extra de recepção com referência a pacotes RTP armazenados e faixas de informação extra de recepção associadas com referência a pacotes RTCP armazenados, configurações da presente invenção provêem um aparelho para leitura de um arquivo, o arquivo tendo armazenado, em um container 25 de midia relacionado ao arquivo, primeiros pacotes de dados compreendendo primeiras amostras de dados de midia na forma de pacotes com base em um primeiro relógio e segundos pacotes .de dados compreendendo segundas amostras de dados de midia na forma de pacote baseadas em um segundo relógio diferente do primeiro relógio. 0 arquivo tem armazenada, adicionalmente, pelo menos uma porção de primeiros pacotes de controle associados incluindo informação para indicar um relacionamento do primeiro relógio com 5 um relógio de referência e pelo menos uma porção de segundos pacotes de controle associados incluindo informação para indicar um relacionamento do segundo relógio com o relógio de referência. O arquivo tem metadados associados armazenados adicionalmente em um container de metadados, os metadados associados compreendendo 10 informação temporal dos primeiro e segundo pacotes de dados recebidos e dos primeiro e segundo pacotes de controle recebidos e informação de localização indicando um local dos primeiro e segundo pacotes de dados armazenados e dos primeiro e segundo pacotes de controle armazenados no container de dados de midia. O 15 aparelho compreende um processador para determinar um programa de saida dos primeiro e segundo pacotes de dados armazenados pelo acesso do container de dados de midia e pela interpretação da informação temporal dos primeiro e segundo pacotes de dados armazenados e dos primeiro e segundo pacotes de controle 20 armazenados no container de dados de midia. O aparelho compreende ainda um controlador de saida para enviar os pacotes de dados de acordo com o programa de saida determinado pelo acesso do container de metadados e pela leitura dos pacotes de dados do container de dados de midia.
De acordo com uma configuração da presente invenção, o processador é adaptado para determinar o programa de saida de modo que o programa de saida reflita uma ordem de recepção dos primeiro e segundo pacotes de dados, quando a ordem de recepção for indicada pela informação temporal armazenada dos primeiro e segundo pacotes de dados recebidos. Isto é, com esta configuração, uma simulação do cenário de recepção original pode ser executada.
De acordo com uma configuração adicional, o processador é adaptado para determinar informação de sincronização com base na informação temporal armazenada dos primeiro e segundo pacotes de dados e selos temporais de referência contidos nos primeiro e segundo pacotes de controle armazenados, de modo que um 10 programa de saida dos primeiros pacotes de dados seja sincronizado com um programa de saida dos segundos pacotes de dados com relação ao tempo de referência (NTP) . Isto é, com esta configuração, uma sincronização temporal dos primeiro e segundo pacotes de dados recebidos e armazenados pode ser executada. Um dispositivo que lê faixas de informação extra de recepção usará, tipicamente, o conjunto a seguir de operações para detectar se ele pode analisar o arquivo; • Analisar a caixa ftyp para detectar se o conteúdo e estrutura do arquivo são potencialmente analisáveis. Se 20 o arquivo não puder ser analisado, abortar a operação de leitura do arquivo. • Analisar a caixa moov e detectar o número de caixas trak internas. Se não existirem faixas, abortar a operação de leitura do arquivo. • Analisar a caixa hdlr dentro da caixa minf de cada faixa para detectar se existe um operador de processo disponível para o tipo de operador definido na caixa hdlr. Se o operador não for reconhecido, abortar a operação de leitura de arquivo para esta faixa. • Analisar a caixa stbl e a caixa stsd dentro da caixa minf para cada faixa. A caixa stsd contém a identificação do conteúdo da faixa e descreve o conteúdo. Se o conteúdo não for 5 entendido, abortar a operação de leitura do arquivo da faixa. Se o arquivo puder ser analisado, a ligação de faixa é determinada pela análise da caixa tref dentro das caixas trak. Alternativamente, se o formato define a ligação de faixa internamente, usar a informação disponivel na caixa stsd da faixa. Se a ligação da faixa não puder ser determinada, é pressuposto que a faixa é única e independente e pode ser analisada sem a informação contida em outras faixas. A ligação de faixa é armazenada internamente no dispositivo de leitura e usada quando necessário no processo de compreensão de dados brutos contidos em 15 uma faixa.
Dependendo da operação do dispositivo, é possivel selecionar as faixas que ele compreende e que são relevantes para a apresentação do arquivo. Por "default", todas as faixas são analisadas, entretanto as regras a seguir se aplicam: • Para faixas de midia virtual, a faixa de midia virtual é usada ao invés da faixa de informação extra de recepção RTP ou MPEG-2 TS. Esta faixa já contém os dados para reverter a operação de "informação extra", isto é, quais dados da faixa de informação extra de recepção necessitam ser extraidos e 25 estendidos com outros dados para criar um bloco de dados de corrente elementar, um decodificador pode naturalmente entender. • Para faixas de informação extra de recepção RTCP, o primeiro modo de operação é que a faixa RTCP é consumida em paralelo com a faixa de informação extra de recepção RTP. O dispositivo leitor usa a lógica disponivel de recepção RTP/RTCP genérica para sincronizar correntes. • Para faixas de informação extra de recepção RTCP, o segundo modo de operação é o consumo da faixa de informação extra de recepção RTCP inteira antes da operação de leitura normal ser iniciada para detectar sincronização inicial e desvio de relógio entre várias faixas de informação extra de recepção RTP. Neste modo, por exemplo, regressão linear é aplicada 10 para alinhar os relógios RTP de várias faixas de informação extra de recepção RTP. A assimetria é, então, aplicada às correntes quando os dados são consumidos para facilitar reprodução continua sincronizada de múltiplas faixas de informação extra de recepção RTP. • Para faixas de informação extra de recepção de corrente chave, o primeiro modo de operação é que a faixa de informação extra de recepção de corrente chave seja consumida em paralelo com a faixa de informação extra de recepção RTP ou MPEG-2 TS. Isto garante que dados da corrente chave para um bloco de 20 dados protegido especifico das faixas de informação extra de recepção estejam disponíveis de maneira similar àquela de uma transmissão real. • O segundo modo de operação é um alinhamento dos dados da corrente chave e dos dados da faixa de informação 25 extra de recepção, de modo que períodos de validade não sejam mais sobrepostos. Isto permite edição posterior da faixa sem a necessidade de compreender o tempo dos dados de corrente chave. Para obter as amostras assim denominadas de uma faixa, a posição dentro do arquivo necessita ser derivada. Esta operação para a amostra S de ordem ordinal k (k-th) é obtida por • Determinação da fatia 0 da amostra S reside no uso dos dados da caixa stsc • Análise da caixa stco (ou co64) para determinar o deslocamento de arquivo F da fatia C. • Análise da caixa stsz para obter o tamanho L da amostra S e os tamanhos Kj de todas as amostras anteriores Pi dentro da fatia. Os dados estão, então, disponíveis na posição (F . + soma (KJ) no arquivo e têm o tamanho L. O tempo no qual os dados devem ser reproduzidos é determinado pela informação disponível na caixa stts. Esta caixa contém as durações codificadas de comprimento de operação D} para 15 cada amostra individual j. O tempo de reprodução da amostra S k é, então, a soma de todas as durações Dj, com j<k. No caso de uma faixa de midia virtual estar •• disponível, configurações da presente invenção provêem um aparelho » para leitura de um arquivo, o arquivo tendo armazenado, em um 20 container de dados de midia, pacotes de dados compreendendo uma carga útil, e tendo armazenado, no container de dados de midia 104, informação de decodificação para a carga útil dos pacotes de dados armazenados, onde a informação de decodificação indica em cujo momento no tempo repetir qual carga útil dos pacotes de dados 25 armazenados. O arquivo tem metadados associados armazenados em um container de metadados 106, os metadados associados indicando um tempo de decodificação e um local da informação de decodificação no container de dados de midia. O aparelho, de acordo com a configuração da presente invenção, compreende um processador para determinar um programa de saida da carga útil dos pacotes de dados armazenados pelo acesso dos metadados associados no container de metadados 106 e pelo acesso, com base nos metadados, da informação 5 de decodificação no container de dados de mídia, e pelo acesso, com base na informação de decodificação, da carga útil para os pacotes de dados armazenados, e um controlador de saída para enviar a carga útil de acordo com o programa de saída determinado. » Conforme mencionado na porção introdutória desta especificação, um outro aspecto da presente invenção é armazenar, em adição aos pacotes de dados recebidos, mensagens de corrente chave.
Direitos para acessar dados ou pacotes de dados podem ser controlados por meio de um sistema de administração de direitos. A recepção de conteúdo dos dados por meio de rede de comunicação digital pode ser limitada a certos usuários finais e restritos para outros usuários. Por exemplo, um usuário pode „ adquirir acesso a um programa por meio do pagamento de uma taxa t para o programa. Se o usuário pagar uma taxa, o usuário pode ter garantido seu acesso ao programa durante um período especificado de tempo, enquanto o usuário que não pagou a taxa pode não ter acesso ao programa. Acesso ao programa pode ser regulado pela criptografia dos dados transmitidos. Os dados podem ser criptografados por qualquer número de padrões de criptografia através do uso de uma chave criptográfica. No receptor ou terminal de usuário, uma chave pode ser usada para descriptografar os dados criptografados, de modo que o conteúdo possa estar visível no receptor ou terminal do usuário. A chave para descriptografar os pacotes de dados criptografados pode também ser enviada por meio da mesma rede de comunicação digital e pode também ser criptografada. Para a entrega de uma ou mais chaves também outras redes de comunicação digital podem ser usadas. Dessa maneira, um 5 usuário final que deseje acessar ou visualizar o programa ou serviço pode necessitar obter o direito às chaves. Chaves de criptografia de transporte associadas com um programa ou um serviço criptografado podem ser transmitidas de uma corrente chave para um terminal de usuário. A corrente chave pode incluir mensagens de corrente chave que são transmitidas em uma frequência predeterminada quando uma corrente de dados criptografada é recebida no receptor ou terminal do usuário, as mensagens de corrente chave podem também ser recebidas. A Figura 12 mostra pacotes de dados de transmissão continua 1302-1, 1302-2, 1302-3, cada um tendo uma carga útil criptografada com chaves criptográficas Ko, ki, k2. Associada aos pacotes de dados 1302 existe uma corrente chave compreendendo pacotes de corrente chave 1304-1, 1304-2, 1304-3 e 1304-4. O pacote de corrente chave 1304-1, que é enviado no tempo anterior a seu pacote de dados associado 1302-1, compreende uma chave criptográfica Ko para a descriptografia da carga útil criptografada do pacote de dados 1302-1. Portanto, a chave de criptografia Ko tem um tempo de vida d0 associado com o fato de garantir que os pacotes de dados associados possam ser criptografados. O mesmo ocorre para o segundo pacote de corrente chave 1304-2 e sua chave criptográfica KL, que pode ser usada para descriptografar a carga útil do pacote de dados associado 1302-2. Também, aqui, o pacote de corrente chave associada 1304-2 é enviado bem antes do tempo anterior ao pacote de dados 1302-2, e a chave criptográfica Ki tem um tempo de vida di que garante descriptografia correta da carga útil do pacote de dados 1302-2.
De acordo com as configurações da presente invenção, pacotes de dados e pacotes de corrente chave associados podem ser armazenados em um terminal de receptor, juntos, em um arquivo tendo um container de dados de midia no container de metadados, como foi explicado para pacotes de dados e pacotes de 10 controle associados anteriormente.
A Figura 11 mostra um aparelho 1100 para gravar um arquivo 1102 tendo um container de dados de midia relacionado 1104 e um container de metadados 110 6 de acordo com uma configuração da presente invenção. O aparelho 1100 compreende um receptor 1108 para receber pacotes de dados 1110, cada um compreendendo uma carga útil, e para receber pacotes de corrente chave 1112 compreendendo uma pluralidade de chaves criptográficas, onde cada chave criptográfica está associada com uma carga útil dos pacotes de 20 dados recebidos. Adicionalmente, o aparelho 1100 compreende um gravador 1116 para armazenar os pacotes de dados recebidos 1110 e os pacotes de corrente chave recebidos 1112 no container de dados de midia 1104 e para armazenamento de metadados associados no container de metadados 1106, os metadados associados compreendendo 25 informação temporal de transporte dos pacotes de dados recebidos 1110 nos pacotes de corrente chave recebidos 1112 e compreendendo informação de localização indicando um local dos pacotes de dados armazenados 1110 e os pacotes de corrente chave armazenados 1112 no container de dados de mídia 1104.
Deve ser enfatizado que o aparelho 1100 pode ser usado em conjunto com o aparelho 100 ou pode ser compreendido no aparelho 100. Isto é, o conceito inventivo de armazenamento de 5 pacotes de dados com pacotes de controle associados, armazenamento de pacotes de dados com pacotes de corrente chave associados e criação de informação de decodificação na forma de faixas de mídia fora dos pacotes de dados armazenados e dos pacotes de controle associados e/ou dos pacotes de corrente chave associados, podem 10 ser combinados. Observando novamente a Figura 11, os pacotes de dados recebidos 1110 são armazenados como amostras nas primeiras fatias 1118 do container de dados de mídia 1104. Os pacotes de corrente chave associados recebidos são armazenados como amostras 15 nas segundas fatias 1120 do container de dados de mídia 1104. De acordo com uma configuração preferida da presente invenção, a primeira e segunda fatias 1118 e 1120 podem ser armazenadas de maneira entrelaçada no container de mídia 1104. r Como foi explicado acima, o arquivo 1102 pode ser um arquivo baseado no formato de arquivo de mídia baseado na ISO, por exemplo, um arquivo MP4. Dessa maneira, o gravador 1116 é adaptado para armazenar as primeiras fatias 1118 em uma primeira tabela de deslocamento de fatia stco ou co64 de uma primeira faixa de metadados 1124 do container de metadados moov 1106, onde a 25 primeira tabela de deslocamento de fatia indica um índice de cada primeira fatia 1118 no arquivo 1102 ou no container de dados de mídia 1104, dependendo do fato do container de dados de mídia 1104 ser parte do arquivo 1102 ou não. índices das segundas fatias no container de dados de midia 1104 são armazenados em uma segunda tabela de deslocamento de fatia de uma segunda faixa de metadados 1128 do container de metadados 1106, da mesma maneira explicada para as primeiras fatias.
Como já foi explicado para o caso do armazenamento paralelo de pacotes de dados 110, 112 e pacotes de controle associados 114, 115 nas faixas de informação extra de recepção e faixas de informação extra de recepção associadas, - informação temporal de transporte, isto é, tempo de recepção ou selo temporal RTP, para os pacotes de dados 1110 são armazenados em uma primeira caixa stts compreendida pela primeira faixa de metadados 1124. Similarmente, informação temporal de transporte ou informação temporal de transporte diferencial é armazenada em uma segunda caixa stts da segunda faixa de metadados 1128 relacionada 15 com as segundas fatias 1120.
Adicionalmente, para facilitar reprodução após a recepção da corrente estar completa, um processamento único pode . ser executado para converter a faixa de informação extra de • recepção de corrente chave em uma faixa de metadados virtual. Para este objetivo o aparelho 1100 compreende um processador (não mostrado) para designar, com base nos pacotes de dados armazenados 1110 e na informação de metadados associada 1124, e baseado nos pacotes de corrente chave armazenados 1112 e na informação de metadados de corrente chave associada 1128, informação de 25 descriptograf ia para uma carga útil dos pacotes de dados armazenados 1110, onde a informação de descriptografia indica qual chave criptográfica usar em qual momento no tempo para repetir a reprodução da carga útil dos pacotes de dados armazenados 1110. Isto ê, as mensagens chave da faixa de informação extra de recepção de corrente chave com tempo de transporte são transformadas em amostras chave em uma faixa de metadados virtual com tempo de midia. Isto é feito com base no mesmo conceito que 5 foi explicado para as faixas de midia virtual acima. Isto é, amostras chave são criadas e armazenadas no container de dados de midia 1104. Portanto, cada amostra chave é relacionada a uma unidade de acesso ou a um quadro de midia e compreende informação sobre qual chave criptográfica usar para o quadro de midia 10 relacionado. Na faixa de metadados associada 1128 compreendendo * uma caixa stts, informação de decodificação para amostra chave é provida. A informação de decodificação de amostra chave indica em qual momento no tempo acessar a respectiva amostra chave, que novamente se refere aos dados de carga útil dos pacotes de dados 15 armazenados para resultar no quadro de midia criptografado respectivo. Se necessário, amostras chave são virtualmente duplicadas, de modo que cada amostra de midia na faixa de midia > tem uma amostra chave associada (com o mesmo ID de chave) na faixa * chave. É, portanto, possível criar um relacionamento de tempo preciso entre as unidades de acesso de midia, por exemplo, quadros de mídia, e as mensagens chave, especificamente se as unidades de acesso criptografadas puderem ser reconstruídas a partir de unidades de transporte (pacotes de dados) no caso de 25 criptografia de conteúdo. Para leitura de um arquivo 1102, o arquivo tendo pacotes de dados armazenados 1110 e tendo pacotes de corrente chave associados armazenados 1112 no container de dados de mídia 1104 e tendo metadados associados armazenados no container de metadados 1106, configurações da presente invenção provêem um aparelho compreendendo um processador para designar, com base nos pacotes de dados armazenados 1110, baseados na informação de 5 metadados de pacote associados 1124 e baseados nos pacotes de corrente chave armazenados 1112 e na informação de metadados de corrente chave associada 1128, a informação de criptografia para uma carga útil dos pacotes de dados armazenados, onde a informação de descriptografia indica qual chave criptográfica usar em qual 10 tempo para reproduzir a carga útil dos pacotes de dados armazenados. O processador para designar informação de descriptografia pode ser usado para um dispositivo de reprodução da carga útil dos pacotes de dados codificados 1110. Por esta 15 razão, pacotes de dados descriptografados podem ser enviados para um decodificador baseado na informação de descriptografia designada. O processador para designar a informação de descriptografia pode também ser usado para gerar informação de descriptografia virtual a ser armazenada parcialmente no container 20 de dados de midia 1104 como amostras chave virtual. Informação de metadados associada é armazenada na faixa de metadados 1128. Isto corresponde ao conceito das faixas de midia virtual descrito acima.
A carga útil de uma amostra chave pode 2 5 compreender a carga útil bruta de uma mensagem de corrente chave conforme recebida. Isto significa que o teor de um pacote UDP da corrente chave é armazenado diretamente. Alguns sistemas podem envolver estes dados dentro de uma outra estrutura para permitir o armazenamento de múltiplas mensagens de corrente chave recebidas. O tempo de uma amostra de corrente chave é dependente do método de tempo de sua faixa de informação extra de recepção RTP base. Se a faixa de informação extra de recepção RTP 5 deriva seu tempo de decodificação de selos temporais RTP, a faixa de informação extra de recepção da corrente chave derivará também seu tempo de decodificação de selos temporais RTP, entretanto pode ser necessário extrapolar os selos temporais RTP. Se o tempo de recepção for usado para faixas de informação extra de recepção 10 RTP, o tempo de recepção será também usado para armazenamento de mensagens de corrente chave. De forma geral, ambas, as faixas de informação extra de recepção RTP e faixas de informação extra de recepção de corrente chave, são sincronizadas e usam a mesma base de tempo. Para resumir, a presente invenção se refere a um sistema de armazenamento de midia que grava "unidades de transmissão" recebidas (TUs) - que tipicamente contém dados de midia na forma de pacotes, por exemplo, dados de video - como pacotes pré-computados ou construtores em uma faixa de informação 20 extra de recepção com "unidades de transmissão de controle" (CTÜ) em amostras de um arquivo. As unidades de transmissão de controle são armazenadas em uma faixa paralela separada que está associada à faixa de informação extra de recepção. CTUs contêm dados adicionais que são necessários 25 ou úteis para processar os pacotes de midia da faixa de informação extra de recepção durante reprodução do arquivo. Exemplos de CTUs são relatórios RTCP ou mensagens chave no caso de correntes criptografadas.
Para reprodução local otimizada das correntes gravadas, uma "faixa de midia virtual" mapeia as TUs recebidas para "amostras de midia virtual", usando um processo de informação extra invertida. As amostras de midia virtual têm o tempo de amostras de midia, possivelmente recuperadas da faixa com CTUs e a faixa de informação extra de recepção e não necessitam serem amostras de midia completas. A indexação de faixas de midia virtual é aplicada se apropriado. Os indices também se aplicam a amostras ligadas da faixa de informação extra de recepção. A faixa O de midia virtual pode ser usada como referência para outras faixas (por exemplo, "faixas de metadados com tempo") dentro do arquivo. Aplicações podem observar amostras correspondentes da faixa de informação extra de recepção por meio de faixa de midia virtual. Mensagens de corrente chave são armazenadas como 15 faixa de informação extra de recepção associada. Uma faixa de midia virtual pode ser aplicada para alinhar amostras de midia e chaves de descriptografia precisamente.
Recentemente, o formato de arquivo de midia baseado na ISO mencionado acima foi suplementado por uma adição denominada de fragmentos de filme, que foi, por exemplo, descrita no Pedido de Patente Norte-Americano 2007/0130498 Al. Deve ser mencionado que configurações da presente invenção podem também ser ■ aplicadas aos referidos fragmentos de filme.
Dependendo das circunstâncias, os métodos 25 inventivos podem ser implementados em hardware ou software. A implementação pode ser efetuada em um meio de armazenamento digital, especificamente um disco ou um CD com sinais de controle eletronicamente legiveis, que podem cooperar com um sistema de computador programável, de modo que o método seja executado. De forma geral, a invenção, dessa maneira, consiste de um produto de programa de computador com um código de programa armazenado em um veículo legível por máquina para executar o método inventivo 5 quando o produto de programa de computador opera em um computador.
Em outras palavras, a invenção pode, dessa maneira, ser executada como um programa de computador com um código de programa para executar o método quando o programa de computador opera em um computador.
Embora esta invenção tenha sido descrita em termos de várias configurações preferidas, existem alterações, permutações, e equivalentes que estão dentro do escopo desta invenção. Deve também ser observado que existem muitas maneiras alternativas de implementar os métodos e composições da presente invenção. É, portanto, objetivo que as reivindicações em anexo sejam interpretadas como se incluíssem todas estas alterações, permutações, e equivàlentes, como incluídos no espírito e escopo verdadeiros da presente invenção.
Claims (21)
1. Aparelho (100) para gravar um arquivo (102) tendo um container de dados de mídia (104) e um container de metadados (106) relacionados, o aparelho caracterizado pelo fato de que compreende: um receptor (108) para receber primeiros pacotes RTP de transmissão contínua (110) compreendendo primeiras amostras de dados de mídia na forma de pacotes em um primeiro relógio, e para receber segundos pacotes RTP de transmissão contínua (112) compreendendo segundas amostras de dados de mídia baseadas em um segundo relógio diferente do primeiro relógio, onde as segundas amostras de dados de mídia estão associados as primeiras amostras de dados de mídia, e para receber os primeiros pacotes RTCP (114) relacionados aos primeiros pacotes RTP de transmissão contínua (110) e incluindo informação para indicar um relacionamento do primeiro relógio a um relógio de referência e para receber segundos pacotes RTCP (115) relacionados aos segundos pacotes RTP de transmissão contínua (112) e incluindo informação para indicar um relacionamento do segundo relógio com o relógio de referência; e um gravador (116) para armazenar os primeiro e segundo pacotes RTP de transmissão contínua recebidos (110, 112) e pelo menos relatórios de remetente RTCP dos primeiro e segundo pacotes RTCP recebidos (114, 115) no container de dados de mídia (104), e para armazenar metadados associados (124; 128) no container de metadados (106), os metadados associados compreendendo tempo de recepção e/ou informação de selo temporal de protocolo de transporte dos primeiro e segundo pacotes RTP de transmissão contínua recebidos e dos primeiro e segundo pacotes RTCP recebidos e informação de localização indicando um local dos primeiro e segundo pacotes RTP armazenados e dos primeiro e segundo pacotes RTCP armazenados no container de dados de mídia.
2. Aparelho, de acordo com a reivindicação 1, caracterizado pelo fato de que o gravador (116) é adaptado para armazenar os primeiro e segundo pacotes RTP recebidos (116) como amostras nas primeiras fatias (118) do container de dados de mídia (104), e para armazenar os relatórios do remetente RTCP dos primeiro e segundo pacotes RTCP recebidos (114, 115) como amostras nas segundas fatias (122) do container de dados de mídia (104).
3. Aparelho, de acordo com a reivindicação 2, caracterizado pelo fato de que o gravador (116) é adaptado para armazenar a primeira e a segunda fatias (118, 122) de uma maneira entrelaçada no container de dados de mídia (104).
4. Aparelho, de acordo com qualquer uma das reivindicações anteriores, caracterizado pelo fato de que o gravador (116) é adaptado para armazenar o tempo de recepção e/ou informação de selo temporal de protocolo de transporte e a informação de localização dos primeiro e segundo pacotes RTP (110, 112) em uma faixa (124) do container de metadados (106), e para armazenar o tempo de recepção e/ou informação de selo temporal de protocolo de transporte e a informação de localização dos primeiro e segundo pacotes RTCP (114; 115) em uma segunda faixa (128) do container de metadados (106).
5. Aparelho, de acordo com qualquer uma das reivindicações anteriores, caracterizado pelo fato de que o gravador (116) é adaptado para armazenar o tempo de recepção e/ou informação de selo temporal de protocolo de transporte dos primeiro e segundo pacotes RTP (110; 112) em uma primeira caixa de tabela de amostra (stts) permitindo uma indexação de tempo de recepção de um primeiro e/ou segundo pacote RTP a seu número de amostra de associação nas primeiras fatias (118), e para armazenar a informação de tempo de recepção dos primeiro e segundo pacotes RTCP (114; 115) em uma segunda caixa de tabela de amostra (stts) permitindo indexação de um tempo de recepção de um primeiro e/ou segundo pacote RTCP a seu número de amostra associada nas segundas fatias (122).
6. Aparelho, de acordo com a reivindicação 5, caracterizado pelo fato de que o gravador (116) é adaptado para armazenar uma primeira tabela de deslocamento de fatia (stco; co64) indicando um índice de cada primeira fatia (118) no arquivo (102), e para armazenar uma segunda tabela de deslocamento de fatia (stco; co64) indicando um índice de cada segunda fatia (122) no arquivo (102).
7. Aparelho, de acordo com qualquer uma das reivindicações anteriores, caracterizado pelo fato de que o aparelho (100) compreende um processador (602) para determinar informação de sincronização para sincronizar as primeira e segunda amostras de dados de mídia com base no tempo de recepção armazenado e/ou informação de selo temporal de protocolo de transporte dos primeiro e segundo pacotes RTP (110; 112) e selos temporais NTP contidos nos primeiro e segundo pacotes RTCP (114; 115) armazenados associados ao primeiro e segundo pacotes RTP.
8. Aparelho, de acordo com a reivindicação 7, caracterizado pelo fato de que o processador (602) é configurado para determinar, com base nos primeiro e segundo pacotes RTP (110; 112) armazenados, os primeiro e segundo pacotes RTCP armazenados (114; 115) e com base na informação de metadados associada armazenada (124; 128), informação de decodificação (604; 606; 704; 706) para uma carga útil dos pacotes RTP armazenados (110; 112), onde a informação de decodificação indica em qual momento no tempo reproduzir qual carga útil dos pacotes RTP armazenados.
9. Aparelho, de acordo com a reivindicação 8, caracterizado pelo fato de que o processador é adaptado para determinar quais dos pacotes RTP armazenados (110; 112) se relacionam com a primeira ou com a segunda amostra de dados de mídia, e para armazenar primeiras amostras de informação de decodificação (602; 702) relacionadas com as primeiras amostras de dados de mídia no container de dados de mídia (104) e para armazenar a primeira informação de metadados de decodificação (604; 704) no container de metadados (106), a primeira informação de metadados de decodificação (604; 704) indicando um local das primeiras amostras de informação de decodificação (602; 702) no container de mídia (104), e para armazenar as segundas amostras de informação de decodificação (602; 702) relacionadas com as segundas amostras de dados de mídia no container de dados de mídia (104) e para armazenar a segunda informação de metadados de decodificação (604; 704) no container de metadados (106), a segunda informação de metadados de decodificação (604; 704) indicando um local das segundas amostras de informação de decodificação (602; 702) no container de mídia (104).
10. Aparelho, de acordo com qualquer uma das reivindicações anteriores, caracterizado pelo fato de que o receptor (108; 1108) é adaptado para receber adicionalmente pacotes de corrente chave (1112) compreendendo uma pluralidade de chaves criptográficas (kn), onde cada chave criptográfica é associada a uma carga útil de pelo menos um dentre o primeiro e/ou o segundo pacotes RTP (110; 112; 1110), e onde o gravador é adaptado para armazenar os pacotes de corrente chave recebidos no container de dados de mídia (104; 1104) e para armazenar informação temporal de transporte associada no container de metadados (106; 1106).
11. Aparelho, de acordo com a reivindicação 10, caracterizado pelo fato de que o gravador (116; 1116) é adaptado para armazenar os pacotes de corrente chave (1112) como amostras nas fatias chave (1120) do container de dados de mídia (104; 1104) e para armazenar a informação temporal de transporte associada e informação de localização indicando um local dos pacotes de corrente chave no container de dados de mídia em uma faixa chave (1128) do container de metadados (106; 1106).
12. Aparelho, de acordo com a reivindicação 10 ou 11, caracterizado pelo fato de que o gravador (116; 1116) é adaptado para armazenar a informação temporal de transporte em uma caixa de tabela de amostra chave (stts) permitindo indexação de um tempo de transporte de um pacote de corrente chave a seu número de amostra associado nas fatias chave (1120).
13. Aparelho, de acordo com qualquer uma das reivindicações de 10 a 12, caracterizado pelo fato de que o gravador (116; 1116) é adaptado para armazenar um índice de tempo de recepção de um pacote de corrente chave como a informação temporal de transporte associada ou para armazenar um selo temporal de pacote de um pacote RTP recebido em um intervalo de tempo pré-definido ao redor de um tempo de recepção do pacote de corrente chave como a informação temporal associada do pacote de corrente chave.
14. Aparelho, de acordo com qualquer uma das reivindicações de 10 a 13, caracterizado pelo fato de que o processador (602) é adaptado para designar, com base nos primeiro e segundo pacotes RTP armazenados (110; 112), com base nos primeiro e segundo pacotes RTCP armazenados (114; 115), com base na informação de metadados associada (124; 128) e com base nos pacotes de corrente chave armazenados (1112) e informação de metadados de corrente chave associada (1128), informação de descriptografia para uma carga útil dos primeiro e/ou segundos pacotes RTP armazenados (110; 112), onde a informação de descriptografia indica qual chave criptográfica usar em qual tempo para reproduzir a carga útil dos primeiro e/ou segundo pacotes RTP armazenados.
15. Aparelho, de acordo com a reivindicação 14, caracterizado pelo fato de que o processador (602) é adaptado para armazenar a informação de descriptografia nas amostras de informação de descriptografia no container de dados de mídia (104) e para armazenar informação de metadados de instrução de descriptografia associada armazenada no container de metadados (106).
16. Aparelho, de acordo com qualquer uma das reivindicações anteriores, caracterizado pelo fato de que o arquivo (102) é baseado no formato de arquivo de mídia com base na ISO.
17. Método para gravar um arquivo (102) tendo um container de dados de mídia (104) e um container de metadados (106) relacionados, o método caracterizado pelo fato de que compreende: receber primeiros pacotes RTP de transmissão contínua (110) compreendendo primeiras amostras de dados de mídia na forma de pacotes baseadas em um primeiro relógio, e para receber segundos pacotes RTP de transmissão contínua (112) compreendendo segundas amostras de dados de mídia baseadas em um segundo relógio diferente do primeiro relógio, onde as segundas amostras de dados de mídia estão associadas com as primeiras amostras de dados de mídia, e para receber primeiros pacotes RTCP (114) incluindo informação para indicar um relacionamento do primeiro relógio com um relógio de referência e para receber os segundos pacotes RTCP (115) incluindo informação para indicar um relacionamento do segundo relógio com o relógio de referência; e armazenar o primeiro e segundo pacotes RTP de transmissão contínua recebidos (110; 112) e pelo menos relatórios de remetente RTCP dos primeiro e segundo pacotes RTCP recebidos (114; 115) no container de dados de mídia (104), e para armazenar metadados associados (124; 128) no container de metadados (106), os metadados associados compreendendo tempo de recepção e/ou informação de selo temporal de protocolo de transporte dos primeiro e segundo pacotes RTP de transmissão contínua recebidos e dos primeiro e segundo pacotes RTCP recebidos e informação de localização indicando um local dos primeiro e segundo pacotes RTP armazenados e dos primeiro e segundo pacotes RTCP armazenados no container de dados de mídia.
18. Aparelho para ler um arquivo (102), o arquivo tendo armazenado, em um container de dados de mídia (104) relacionado ao arquivo, primeiros pacotes RTP de transmissão contínua (110) caracterizado pelo fato de que compreende primeiras amostras de dados de mídia na forma de pacotes com base em um primeiro relógio e segundos pacotes RTP de transmissão contínua (112) compreendendo segundas amostras de dados de mídia na forma de pacotes com base em um segundo relógio diferente do primeiro relógio, e o arquivo tendo armazenado pelo menos um relatório de remetente RTCP de primeiros pacotes RTCP associados (114) incluindo informação para indicar um relacionamento do primeiro relógio com um relógio de referência e tendo armazenado pelo menos um relatório de remetente RTCP de segundos pacotes RTCP associados (115) incluindo informação para indicar um relacionamento do segundo relógio com o relógio de referência, o arquivo tendo metadados associados armazenados (124; 128) em um container de metadados (106) do arquivo, os metadados associados compreendendo tempo de recepção e/ou informação de selo temporal de protocolo de transporte dos primeiro e segundo pacotes RTP de transmissão contínua (110; 112) recebidos e dos primeiro e segundo pacotes RTCP (114; 115) recebidos e informação de localização indicando um local dos primeiro e segundo pacotes RTP armazenados e dos primeiro e segundo pacotes RTCP armazenados no container de dados de mídia, o aparelho compreendendo: um processador para determinar um programa de saída dos primeiro e segundo pacotes RTP armazenados (110; 112) por meio do acesso do container de metadados (106) e pela interpretação do tempo de recepção e/ou informação de selo temporal de protocolo de transporte dos primeiro e segundo pacotes RTP armazenados e dos primeiro e segundo pacotes RTCP armazenados (114; 115) no container de dados de mídia (104), onde o processador é adaptado para determinar informação de sincronização baseada no tempo de recepção e/ou informação de selo temporal de protocolo de transporte armazenados dos primeiro e segundo pacotes RTP (110; 112) e selos temporais de referência contidos nos relatórios de remetente RTCP dos primeiro e segundo pacotes RTCP armazenados (114; 115), de modo que um programa de saída dos primeiros pacotes RTP está sincronizado com um programa de saída dos segundos pacotes RTP com relação ao tempo de mídia das primeira e segunda amostras de dados de mídia, onde o tempo de mídia é baseado na informação temporal de referência; e um controlador de saída para enviar os primeiro e segundo pacotes RTP (110; 112) de acordo com o programa de saída determinado pelo acesso do container de metadados (106) e pela leitura dos pacotes RTP a partir do container de dados de mídia (104).
19. Aparelho, de acordo com a reivindicação 18, caracterizado pelo fato de que o processador é adaptado para determinar o programa de saída, de modo que o programa de saída reflita uma ordem de recepção dos primeiro e segundo pacotes RTP (110; 112), onde a ordem de recepção é indicada pela informação temporal de recepção armazenada dos primeiro e segundo pacotes RTP recebidos.
20. Aparelho, de acordo com qualquer uma das reivindicações 18 ou 19, caracterizado pelo fato de que o arquivo (102) é baseado no formato de arquivo de mídia com base na ISO.
21. Método para leitura do arquivo (102), o arquivo tendo armazenado, em um container de dados de mídia (104) relacionado com o arquivo, primeiros pacotes RTP de transmissão contínua (110) caracterizado pelo fato de que compreende primeiras amostras de dados de mídia na forma de pacotes com base em um primeiro relógio e segundos pacotes RTP de transmissão contínua (112) compreendendo segundas amostras de dados de mídia na forma de pacotes com base em um segundo relógio diferente do primeiro relógio, e o arquivo tendo armazenado pelo menos um relatório de remetente RTCP de primeiros pacotes RTCP associados (114) incluindo informação para indicar um relacionamento do primeiro relógio com um relógio de referência e tendo armazenado pelo menos um relatório de remetente RTCP de segundos pacotes RTCP associados (115) incluindo informação para indicar um relacionamento do segundo relógio com o relógio de referência; o arquivo tendo metadados associados armazenados (124; 128) em um container de metadados (106) do arquivo, os metadados associados compreendendo tempo de recepção e/ou informação de selo temporal de protocolo de transporte dos primeiro e segundo pacotes RTP de transmissão contínua (110; 112) recebidos e dos primeiro e segundo pacotes RTCP recebidos (114; 115) e informação de localização indicando um local dos primeiro e segundo pacotes RTP armazenados e dos primeiro e segundo pacotes RTCP armazenados no container de dados de mídia, o método compreendendo: determinar um programa de saída dos primeiro e segundo pacotes RTP armazenados (110; 112) pelo acesso do container de metadados (106) e pela interpretação do tempo de recepção e/ou informação de selo temporal de protocolo de transporte dos primeiro e segundos pacotes RTP armazenados e dos primeiro e segundos pacotes RTCP armazenados (114; 115) no container de dados de mídia (104), onde a informação de sincronização é determinada com base no tempo de recepção armazenado e/ou informação de selo temporal de protocolo de transporte dos primeiro e segundo pacotes RTP (110; 112) e selos temporais de referência contidos nos relatórios de remetente RTCP dos primeiro e segundo pacotes RTCP armazenados (114; 115), de modo que um programa de saída dos primeiros pacotes RTP seja sincronizado com um programa de saída dos segundos pacotes RTP com relação ao tempo de mídia das primeira e segunda amostras de dados de mídia, onde o tempo de mídia é baseado na informação temporal de referência; e enviar os primeiro e segundo pacotes RTP (110; 112) de acordo com o programa de saída determinado pelo acesso do container de metadados (106) e pela leitura dos pacotes RTP do container de dados de mídia (104).
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US94753907P | 2007-07-02 | 2007-07-02 | |
US60/947,539 | 2007-07-02 | ||
PCT/EP2008/005374 WO2009003684A1 (en) | 2007-07-02 | 2008-07-01 | Apparatus and method for storing and reading a file having a media data container and a metadata container |
Publications (2)
Publication Number | Publication Date |
---|---|
BRPI0811833A2 BRPI0811833A2 (pt) | 2014-11-18 |
BRPI0811833B1 true BRPI0811833B1 (pt) | 2020-12-29 |
Family
ID=39865600
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
BRPI0811821-3A BRPI0811821B1 (pt) | 2007-07-02 | 2008-07-01 | aparelho e método para processamento e leitura de um arquivo tendo um container de dados de mídia e um container de metadados |
BRPI0811833-7A BRPI0811833B1 (pt) | 2007-07-02 | 2008-07-01 | aparelho e método para armazenamento e leitura de um arquivo tendo um container de dados de mídia e um container de metadados |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
BRPI0811821-3A BRPI0811821B1 (pt) | 2007-07-02 | 2008-07-01 | aparelho e método para processamento e leitura de um arquivo tendo um container de dados de mídia e um container de metadados |
Country Status (12)
Country | Link |
---|---|
US (2) | US8462946B2 (pt) |
EP (2) | EP2160899B1 (pt) |
JP (2) | JP5334335B2 (pt) |
KR (2) | KR101074585B1 (pt) |
CN (2) | CN101731013B (pt) |
AT (1) | ATE495631T1 (pt) |
BR (2) | BRPI0811821B1 (pt) |
DE (1) | DE602008004502D1 (pt) |
HK (1) | HK1136726A1 (pt) |
RU (2) | RU2459378C2 (pt) |
TW (3) | TWI371204B (pt) |
WO (3) | WO2009003685A1 (pt) |
Families Citing this family (74)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7617278B1 (en) | 2003-01-29 | 2009-11-10 | Adobe Systems Incorporated | Client controllable server-side playlists |
DE102007004951A1 (de) * | 2007-01-26 | 2008-07-31 | Deutsche Thomson Ohg | Verfahren zum paketvermittelten Übertragen von Mediendaten sowie Vorrichtung zum Bearbeiten von Mediendaten |
WO2009003685A1 (en) * | 2007-07-02 | 2009-01-08 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Apparatus and method for storing and reading a file having a media data container and a metadata container |
US7941399B2 (en) | 2007-11-09 | 2011-05-10 | Microsoft Corporation | Collaborative authoring |
US8825758B2 (en) | 2007-12-14 | 2014-09-02 | Microsoft Corporation | Collaborative authoring modes |
US8300823B2 (en) * | 2008-01-28 | 2012-10-30 | Netapp, Inc. | Encryption and compression of data for storage |
FR2927208B1 (fr) * | 2008-01-31 | 2010-02-12 | Airbus France | Procede et dispositif de mesure de la derive temporelle d'un equipement electronique relie a un reseau |
US8077736B2 (en) * | 2008-02-25 | 2011-12-13 | Newport Media, Inc. | Fast audio/visual reception in DVB-H systems |
US8352870B2 (en) | 2008-04-28 | 2013-01-08 | Microsoft Corporation | Conflict resolution |
EP2114027A1 (en) * | 2008-04-30 | 2009-11-04 | Gemplus | Method of detecting TV off event on a mobile terminal |
US8825594B2 (en) | 2008-05-08 | 2014-09-02 | Microsoft Corporation | Caching infrastructure |
US8261312B2 (en) * | 2008-06-27 | 2012-09-04 | Cisco Technology, Inc. | Linear hint video streaming |
US8776144B2 (en) * | 2008-10-16 | 2014-07-08 | Industrial Technology Research Institute | Mobile TV system and method for synchronizing the rendering of streaming services thereof |
JP2010181800A (ja) * | 2009-02-09 | 2010-08-19 | Mitsubishi Electric Corp | 暗号化メディアファイルのデータ構造、暗号化メディア作成方法、暗号化メディア復号方法、暗号化メディア分割方法及び暗号化メディア結合方法並びに装置 |
JP5169947B2 (ja) * | 2009-03-31 | 2013-03-27 | 富士通モバイルコミュニケーションズ株式会社 | 情報処理装置 |
US8346768B2 (en) * | 2009-04-30 | 2013-01-01 | Microsoft Corporation | Fast merge support for legacy documents |
US8166191B1 (en) * | 2009-08-17 | 2012-04-24 | Adobe Systems Incorporated | Hint based media content streaming |
EP2497269A1 (en) | 2009-11-06 | 2012-09-12 | Telefonaktiebolaget LM Ericsson (publ) | File format for synchronized media |
WO2011074398A1 (ja) * | 2009-12-14 | 2011-06-23 | 住友電工ネットワークス株式会社 | コンテンツ受信装置、コンテンツ再生装置、コンテンツ受信再生装置、コンテンツ受信方法、及びプログラム |
WO2011127312A1 (en) * | 2010-04-07 | 2011-10-13 | Apple Inc. | Real-time or near real-time streaming |
WO2011132882A2 (ko) * | 2010-04-19 | 2011-10-27 | 엘지전자 주식회사 | 인터넷 기반 컨텐츠 송수신 방법 및 그를 이용한 송수신 장치 |
KR20110117033A (ko) | 2010-04-20 | 2011-10-26 | 삼성전자주식회사 | 미디어 데이터를 송수신하기 위한 인터페이스 장치 및 방법 |
KR101294542B1 (ko) * | 2010-12-09 | 2013-08-07 | 한국전자통신연구원 | 데이터 변경 장치 및 방법 |
KR101920439B1 (ko) * | 2011-04-28 | 2019-02-14 | 삼성전자주식회사 | 공용 인터페이스를 통해 수신 제한 모듈로 암호화된 데이터를 전송하기 위한 데이터 전송 장치 및 그에 적용되는 방법, 수신 제한 모듈 그리고 시스템. |
US8731597B1 (en) * | 2011-05-26 | 2014-05-20 | Sprint Spectrum L.P. | Method and system of transmitting power control commands |
US8938625B2 (en) | 2011-06-29 | 2015-01-20 | Sonic Ip, Inc. | Systems and methods for securing cryptographic data using timestamps |
US9451313B2 (en) | 2011-06-29 | 2016-09-20 | Harman International Industries, Incorporated | Network media adapter |
US20130004142A1 (en) * | 2011-06-29 | 2013-01-03 | Rovi Corp. | Systems and methods for device authentication including timestamp validation |
KR102023788B1 (ko) * | 2011-07-29 | 2019-09-20 | 소니 주식회사 | 스트리밍 배신 장치 및 방법, 스트리밍 수신 장치 및 방법, 스트리밍 시스템, 프로그램과 기록 매체 |
KR101885852B1 (ko) * | 2011-09-29 | 2018-08-08 | 삼성전자주식회사 | 컨텐트 전송 및 수신 방법 및 장치 |
JP5917123B2 (ja) * | 2011-12-14 | 2016-05-11 | キヤノン株式会社 | 記録装置 |
JP5848594B2 (ja) * | 2011-12-14 | 2016-01-27 | キヤノン株式会社 | 記録装置 |
US8824680B2 (en) * | 2012-08-08 | 2014-09-02 | Verizon Patent And Licensing Inc. | Centralized key generation |
US9319878B2 (en) * | 2012-09-14 | 2016-04-19 | Qualcomm Incorporated | Streaming alignment of key stream to unaligned data stream |
DE102012022064A1 (de) | 2012-11-09 | 2014-05-15 | Thomas Klimpel | System und Verfahren zur Wiedergabe von Musikstücken und/oder Multimediadaten |
US11290510B2 (en) | 2012-11-29 | 2022-03-29 | Samsung Electronics Co., Ltd. | Method and apparatus for encapsulation of motion picture experts group media transport assets in international organization for standardization base media files |
WO2014084666A1 (en) * | 2012-11-30 | 2014-06-05 | Samsung Electronics Co., Ltd. | Information storage medium storing content, content providing method, content reproducing method and apparatus therefor |
KR102179384B1 (ko) * | 2012-11-30 | 2020-11-16 | 삼성전자주식회사 | 컨텐트를 저장한 정보저장매체, 컨텐트 제공 방법, 컨테트 재생 방법 및 그 장치 |
US9648299B2 (en) | 2013-01-04 | 2017-05-09 | Qualcomm Incorporated | Indication of presence of texture and depth views in tracks for multiview coding plus depth |
CN109587573B (zh) * | 2013-01-18 | 2022-03-18 | 佳能株式会社 | 生成设备和方法、显示设备和方法以及存储介质 |
SG11201502405RA (en) * | 2013-01-21 | 2015-04-29 | Dolby Lab Licensing Corp | Audio encoder and decoder with program loudness and boundary metadata |
JP5641090B2 (ja) * | 2013-03-14 | 2014-12-17 | ソニー株式会社 | 送信装置、送信方法、受信装置および受信方法 |
KR101484843B1 (ko) | 2013-04-19 | 2015-01-20 | 삼성전자주식회사 | 멀티미디어 전송 시스템에서 미디어 전송 패킷 전송 방법 및 장치 |
JP2014230154A (ja) * | 2013-05-23 | 2014-12-08 | ソニー株式会社 | 送信装置、送信方法、受信装置および受信方法 |
US9674569B2 (en) * | 2013-05-29 | 2017-06-06 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Clock recovery in transponder-bonded systems using BCRs and marker packets at a set-top box |
WO2014200280A2 (en) | 2013-06-12 | 2014-12-18 | Lg Electronics Inc. | Apparatus for transmitting broadcast signals, apparatus for receiving broadcast signals, method for transmitting broadcast signals and method for receiving broadcast signals |
JP2015012580A (ja) * | 2013-07-02 | 2015-01-19 | キヤノン株式会社 | 受信装置、受信方法及びプログラム |
US20160173556A1 (en) * | 2013-07-05 | 2016-06-16 | Lg Electronics Inc. | Method and apparatus for transmitting/receiving media broadcasting signal in real time transport protocol-based broadcasting system |
EP3050304A4 (en) * | 2013-09-27 | 2017-05-31 | LG Electronics Inc. | Apparatus for transmitting broadcast signals, apparatus for receiving broadcast signals, method for transmitting broadcast signals and method for receiving broadcast signals |
JP6652320B2 (ja) * | 2013-12-16 | 2020-02-19 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | 送信方法、受信方法、送信装置及び受信装置 |
EP3095245A4 (en) | 2014-01-13 | 2017-11-08 | LG Electronics Inc. | Apparatuses and methods for transmitting or receiving a broadcast content via one or more networks |
KR101788066B1 (ko) | 2014-01-13 | 2017-11-15 | 엘지전자 주식회사 | 하나 이상의 네트워크를 통해 방송 컨텐츠를 송수신하는 장치 및 방법 |
WO2015108309A1 (en) * | 2014-01-14 | 2015-07-23 | Lg Electronics Inc. | Broadcast transmission device and operating method thereof, broadcast reception device and operating method thereof |
EP4002851A1 (en) * | 2014-06-20 | 2022-05-25 | Sony Group Corporation | Image encoding device and method, and image decoding device and method |
JP2016027512A (ja) * | 2014-06-30 | 2016-02-18 | ソニー株式会社 | 情報処理装置、情報記録媒体、および情報処理方法、並びにプログラム |
KR102271811B1 (ko) | 2014-10-22 | 2021-07-01 | 삼성전자주식회사 | 전자장치 및 전자장치의 컨텐트 제어 방법 |
KR101555792B1 (ko) | 2014-11-28 | 2015-09-25 | 주식회사 엘지유플러스 | 멀티미디어 청크(chunk)를 수신하는 통신 단말기의 제어방법과, 그 제어방법을 실행하기 위한 프로그램을 기록한 기록 매체 |
CN107615395B (zh) * | 2015-03-26 | 2021-02-05 | 外科安全技术公司 | 用于事件和差错预测的手术室黑盒设备、系统、方法和计算机可读介质 |
US9916458B2 (en) * | 2015-03-31 | 2018-03-13 | EMC IP Holding Company LLC | Secure cloud-based storage of data shared across file system objects and clients |
US10191914B2 (en) | 2015-03-31 | 2019-01-29 | EMC IP Holding Company LLC | De-duplicating distributed file system using cloud-based object store |
US11212333B1 (en) * | 2015-05-29 | 2021-12-28 | Ribbon Communications Operating Company, Inc. | Methods and apparatus for synchronizing transcoded and/or transrated RTP packets |
EP4216556A1 (en) * | 2016-05-20 | 2023-07-26 | Lg Electronics, Inc. | Broadcast signal transmission device, broadcast signal reception device, broadcast signal transmission method, and broadcast signal reception method |
KR101853441B1 (ko) * | 2016-09-23 | 2018-05-02 | 재단법인 실감교류인체감응솔루션연구단 | 클라이언트 장치 및 그 로컬 클럭 스큐 보정 방법 |
RU172157U1 (ru) * | 2017-03-22 | 2017-06-29 | Акционерное общество "МЦСТ" | Контроллер межпроцессорного канала обмена данными второго поколения (IPCC2) |
WO2019195037A1 (en) | 2018-04-03 | 2019-10-10 | Futurewei Technologies, Inc. | Bitstream signaling of error mitigation in sub-picture bitstream based viewport dependent video coding |
EP3830713A1 (en) * | 2018-07-31 | 2021-06-09 | Marvell Asia Pte, Ltd. | Metadata generation at the storage edge |
CN110866127A (zh) * | 2018-08-27 | 2020-03-06 | 华为技术有限公司 | 建立索引的方法以及相关装置 |
US11743003B2 (en) | 2018-09-24 | 2023-08-29 | Telefonaktiebolaget Lm Ericsson (Publ) | Transmitting and receiving packets wirelessly with time based packet data portion positioning |
US11457231B2 (en) | 2019-03-15 | 2022-09-27 | Mediatek Singapore Pte. Ltd. | Methods and apparatus for signaling spatial relationships for point cloud multimedia data tracks |
US11245926B2 (en) * | 2019-03-19 | 2022-02-08 | Mediatek Singapore Pte. Ltd. | Methods and apparatus for track derivation for immersive media data tracks |
US11482005B2 (en) * | 2019-05-28 | 2022-10-25 | Apple Inc. | Techniques for secure video frame management |
CN111756818B (zh) * | 2020-06-05 | 2022-01-14 | 腾讯科技(深圳)有限公司 | 一种文件传送方法、装置、设备及存储介质 |
CN111966473B (zh) * | 2020-07-24 | 2024-02-06 | 支付宝(杭州)信息技术有限公司 | 一种线性回归任务的运行方法及装置、电子设备 |
US20220360853A1 (en) * | 2021-05-05 | 2022-11-10 | Samsung Electronics Co., Ltd. | Mmt based drm operation for atsc 3.0 |
Family Cites Families (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6169843B1 (en) * | 1995-12-01 | 2001-01-02 | Harmonic, Inc. | Recording and playback of audio-video transport streams |
US5765164A (en) | 1995-12-21 | 1998-06-09 | Intel Corporation | Apparatus and method for management of discontinuous segments of multiple audio, video, and data streams |
US6377966B1 (en) | 1997-10-22 | 2002-04-23 | Flashpoint Technology, Inc. | Graphical interface to select characters representing phonetic articulation and no articulation groups |
US6396874B1 (en) * | 1997-11-12 | 2002-05-28 | Sony Corporation | Decoding method and apparatus and recording method and apparatus for moving picture data |
US6311221B1 (en) | 1998-07-22 | 2001-10-30 | Appstream Inc. | Streaming modules |
JP2000078197A (ja) | 1998-09-03 | 2000-03-14 | Toshiba Corp | 通信ノード及びパケット転送方法 |
US6549922B1 (en) | 1999-10-01 | 2003-04-15 | Alok Srivastava | System for collecting, transforming and managing media metadata |
WO2001055877A1 (en) | 2000-01-28 | 2001-08-02 | Diva Systems Corporation | A system for preprocessing content for streaming server |
AU2001251341A1 (en) * | 2000-04-08 | 2001-10-23 | Sun Microsystems, Inc. | Resynchronizing media during streaming |
GB2366926A (en) | 2000-09-06 | 2002-03-20 | Sony Uk Ltd | Combining material and data |
GB0103381D0 (en) * | 2001-02-12 | 2001-03-28 | Eyretel Ltd | Packet data recording method and system |
JP3946965B2 (ja) * | 2001-04-09 | 2007-07-18 | ソニー株式会社 | 無体財産権を保護する情報を記録する記録装置、記録方法、記録媒体、およびプログラム |
US7162479B2 (en) | 2001-08-15 | 2007-01-09 | Bentley Systens, Incorporated | Method and system for storing large data files |
JP3925218B2 (ja) * | 2002-01-30 | 2007-06-06 | ソニー株式会社 | ストリーミングシステム及びストリーミング方法、ストリーミングサーバ及びデータ配信方法、クライアント端末及びデータ復号方法、並びにプログラム及び記録媒体 |
US6912010B2 (en) * | 2002-04-15 | 2005-06-28 | Tektronix, Inc. | Automated lip sync error correction |
US7143132B2 (en) * | 2002-05-31 | 2006-11-28 | Microsoft Corporation | Distributing files from a single server to multiple clients via cyclical multicasting |
US7313236B2 (en) | 2003-04-09 | 2007-12-25 | International Business Machines Corporation | Methods and apparatus for secure and adaptive delivery of multimedia content |
US7586938B2 (en) | 2003-10-24 | 2009-09-08 | Microsoft Corporation | Methods and systems for self-describing multicasting of multimedia presentations |
US7483532B2 (en) * | 2003-07-03 | 2009-01-27 | Microsoft Corporation | RTP payload format |
JP2007506388A (ja) * | 2003-09-25 | 2007-03-15 | サムスン エレクトロニクス カンパニー リミテッド | オーディオ及びビデオデータのディスプレイ装置及びディスプレイ方法と該方法を行うプログラムが記録された記録媒体 |
US7480382B2 (en) | 2003-09-30 | 2009-01-20 | Microsoft Corporation | Image file container |
RU2372647C2 (ru) * | 2003-10-24 | 2009-11-10 | Майкрософт Корпорейшн | Внедрение сообщения описания сеанса в сообщение протокола управления передачей в реальном масштабе времени (rtcp) |
KR101244308B1 (ko) * | 2003-12-08 | 2013-03-18 | 삼성전자주식회사 | 동영상 파일의 암호화 방법 및 그를 이용한 디지털 저작권관리방법 |
US8472792B2 (en) | 2003-12-08 | 2013-06-25 | Divx, Llc | Multimedia distribution system |
EP1542488A1 (en) | 2003-12-12 | 2005-06-15 | Telefonaktiebolaget LM Ericsson (publ) | Method and apparatus for allocating a pilot signal adapted to the channel characteristics |
JP2006164378A (ja) | 2004-12-06 | 2006-06-22 | Toshiba Corp | 情報記録媒体、情報記録方法、情報再生方法、情報記録装置、情報再生装置 |
US20060227813A1 (en) | 2005-04-11 | 2006-10-12 | Mavrogeanes Richard A | Method and system for synchronized video recording/delivery |
MX2007012564A (es) | 2005-04-13 | 2007-11-15 | Nokia Corp | Codificacion, almacenamiento y senalizacion de informacion de escalabilidad. |
US20060293077A1 (en) * | 2005-06-27 | 2006-12-28 | Nokia Corporation | System, terminal, method, and computer program product for allocating memory for storage of content |
US7843974B2 (en) | 2005-06-30 | 2010-11-30 | Nokia Corporation | Audio and video synchronization |
US20070022215A1 (en) | 2005-07-19 | 2007-01-25 | Singer David W | Method and apparatus for media data transmission |
KR100927978B1 (ko) * | 2005-09-01 | 2009-11-24 | 노키아 코포레이션 | 리치 미디어 콘텐츠의 프로그레시브 다운로딩 및스트리밍을 위해 iso 기반 미디어 파일 포맷으로 svg콘텐츠를 임베딩 하는 방법 |
DE102005062468A1 (de) | 2005-12-27 | 2007-07-05 | Robert Bosch Gmbh | Verfahren zur Synchronisation von Datenströmen |
US7995143B2 (en) * | 2006-02-10 | 2011-08-09 | Qualcomm Incorporated | Wireless video link synchronization |
JP2008061010A (ja) * | 2006-08-31 | 2008-03-13 | Toshiba Corp | 映像音声送信装置 |
US8065672B2 (en) * | 2007-01-23 | 2011-11-22 | Oracle International Corporation | Simplifying rollback to prior versions of patches used to fix errors in pre-installed software |
WO2009003685A1 (en) * | 2007-07-02 | 2009-01-08 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Apparatus and method for storing and reading a file having a media data container and a metadata container |
US20090169001A1 (en) * | 2007-12-28 | 2009-07-02 | Cisco Technology, Inc. | System and Method for Encryption and Secure Transmission of Compressed Media |
-
2008
- 2008-07-01 WO PCT/EP2008/005375 patent/WO2009003685A1/en active Application Filing
- 2008-07-01 DE DE602008004502T patent/DE602008004502D1/de active Active
- 2008-07-01 BR BRPI0811821-3A patent/BRPI0811821B1/pt active IP Right Grant
- 2008-07-01 CN CN2008800196433A patent/CN101731013B/zh active Active
- 2008-07-01 EP EP08773798.7A patent/EP2160899B1/en active Active
- 2008-07-01 US US12/666,327 patent/US8462946B2/en active Active
- 2008-07-01 RU RU2009147728/07A patent/RU2459378C2/ru active
- 2008-07-01 US US12/665,753 patent/US9236091B2/en active Active
- 2008-07-01 WO PCT/EP2008/005373 patent/WO2009003683A1/en active Application Filing
- 2008-07-01 WO PCT/EP2008/005374 patent/WO2009003684A1/en active Application Filing
- 2008-07-01 CN CN2008800221435A patent/CN101790886B/zh active Active
- 2008-07-01 EP EP08784589A patent/EP2149264B1/en active Active
- 2008-07-01 AT AT08784589T patent/ATE495631T1/de not_active IP Right Cessation
- 2008-07-01 BR BRPI0811833-7A patent/BRPI0811833B1/pt active IP Right Grant
- 2008-07-01 KR KR1020107002056A patent/KR101074585B1/ko active IP Right Grant
- 2008-07-01 RU RU2009148647/07A patent/RU2492587C2/ru active
- 2008-07-01 JP JP2010513776A patent/JP5334335B2/ja active Active
- 2008-07-01 JP JP2010513775A patent/JP4766473B2/ja active Active
- 2008-07-01 KR KR1020107001920A patent/KR101199732B1/ko active IP Right Grant
- 2008-07-02 TW TW097124992A patent/TWI371204B/zh active
- 2008-07-02 TW TW097124990A patent/TWI430665B/zh active
- 2008-07-02 TW TW097124989A patent/TWI446773B/zh active
-
2010
- 2010-03-22 HK HK10102944.1A patent/HK1136726A1/xx unknown
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
BRPI0811833B1 (pt) | aparelho e método para armazenamento e leitura de um arquivo tendo um container de dados de mídia e um container de metadados | |
US11647071B2 (en) | Method and apparatus for transmitting and receiving content | |
KR101254385B1 (ko) | 미디어 데이터 및 멀티미디어 데이터 중 적어도 하나를 적어도 하나의 파일 내에서 구성화하는 방법 및 장치, 액세스 방법, 컴퓨터 판독가능 저장 매체 | |
JP2021052435A (ja) | 送信方法および送信装置 | |
BRPI0815968B1 (pt) | Aparelho e método para armazenamento e leitura de um arquivo tendo um container de dados de mídia e um container de metadados | |
US20220131921A1 (en) | Multicast to unicast conversion | |
EP3888319B1 (en) | Multicast to unicast conversion |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
B06F | Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette] | ||
B15K | Others concerning applications: alteration of classification |
Free format text: AS CLASSIFICACOES ANTERIORES ERAM: H04N 7/167 , G11B 27/30 Ipc: H04N 7/167 (1985.01), G11B 27/10 (1968.09) |
|
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: 10 (DEZ) ANOS CONTADOS A PARTIR DE 29/12/2020, OBSERVADAS AS CONDICOES LEGAIS. |