BRPI0416738B1 - arquivo de multimídia, sistema para codificar os arquivos de multimídia, sistema para decodificar os arquivos de multimídia, e sistema para comunicar as informações de multimídia - Google Patents

arquivo de multimídia, sistema para codificar os arquivos de multimídia, sistema para decodificar os arquivos de multimídia, e sistema para comunicar as informações de multimídia Download PDF

Info

Publication number
BRPI0416738B1
BRPI0416738B1 BRPI0416738A BRPI0416738A BRPI0416738B1 BR PI0416738 B1 BRPI0416738 B1 BR PI0416738B1 BR PI0416738 A BRPI0416738 A BR PI0416738A BR PI0416738 A BRPI0416738 A BR PI0416738A BR PI0416738 B1 BRPI0416738 B1 BR PI0416738B1
Authority
BR
Brazil
Prior art keywords
block
video
subtitle
blocks
information
Prior art date
Application number
BRPI0416738A
Other languages
English (en)
Inventor
Robinson Aaron
Bourke Adrian
Butt Ahsan
Van Zoest Alexander
Mayo Alistair
Cote Benjamin
Fudge Brian
Durham Chris
Chavarria Damian
Nguyen Thompson Darrius
William Grab Eric
Hitchcock Heather
Braness Jason
Rota Jerome
Donaldson Jerry
Floyd Michael
Sayre Tim
Original Assignee
Divx Inc
Divx Llc
Siracusa Merger LLC
Sonic Ip Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=34634434&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=BRPI0416738(B1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Divx Inc, Divx Llc, Siracusa Merger LLC, Sonic Ip Inc filed Critical Divx Inc
Publication of BRPI0416738A publication Critical patent/BRPI0416738A/pt
Publication of BRPI0416738B1 publication Critical patent/BRPI0416738B1/pt

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
    • H04N5/278Subtitling
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/00731Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a digital rights management system for enforcing a usage restriction
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • G11B27/036Insert-editing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/485End-user interface for client configuration
    • H04N21/4856End-user interface for client configuration for language selection, e.g. for the menu or subtitles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
    • H04N5/265Mixing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/84Television signal recording using optical recording
    • H04N5/85Television signal recording using optical recording on discs or drums
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • H04N5/92Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/804Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components
    • H04N9/8042Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components involving data reduction
    • H04N9/8047Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components involving data reduction using transform coding
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/00731Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a digital rights management system for enforcing a usage restriction
    • G11B20/00739Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a digital rights management system for enforcing a usage restriction wherein the usage restriction is associated with a specific geographical region

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Human Computer Interaction (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Television Signal Processing For Recording (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Television Systems (AREA)

Abstract

"sistema de distribuição de multimídia". a presente invenção refere-se a um arquivo de multimídia e métodos para gerar, distribuir e utilizar o arquivo de multimídia. os arquivos de multimídia de acordo com as modalidades da presente invenção podem conter múltiplas trilhas de vídeo, múltiplas trilhas de áudio, múltiplas trilhas de legendas, dados que podem ser utilizados para gerar uma interface de menu para acessar o conteúdo do arquivo e 'metadados' referentes ao conteúdo do arquivo. os arquivos de multimídia de acordo com diversas modalidades da presente invenção também incluem referências às trilhas de vídeo, trilhas de áudio, trilhas de legendas e 'metadados' externos ao arquivo. uma modalidade de um arquivo de multimídia de acordo com a presente invenção inclui uma pluralidade de trilhas de vídeo codificadas.

Description

Relatório Descritivo da Patente de Invenção para ARQUIVO DE MULTIMÍDIA, SISTEMA PARA CODIFICAR OS ARQUIVOS DE MULTIMÍDIA, SISTEMA PARA DECODIFICAR OS ARQUIVOS DE MULTIMÍDIA, E SISTEMA PARA COMUNICAR AS INFORMAÇÕES DE MULTIMÍDIA.
Antecedentes da Invenção [001] A presente invenção refere-se geralmente à codificação, transmissão e decodificação de arquivos de multimídia. Mais especificamente, a invenção refere-se à codificação, transmissão e decodificação de arquivos de multimídia que incluem trilhas em adição a uma única trilha de áudio e uma única trilha de vídeo.
[002] O desenvolvimento da Internet induziu o desenvolvimento de formatos de arquivo para as informações de multimídia para permitir uma geração, distribuição e exibição padronizada dos arquivos. Tipicamente, um único arquivo de multimídia inclui uma única trilha de vídeo e uma única trilha de áudio. Quando a multimídia é escrita em uma mídia de alto volume e fisicamente transportável, tal como um Disco de Vídeo Digital (DVD) múltiplos arquivos podem ser utilizados para prover um número de trilhas de vídeo, trilhas de áudio e trilhas de legenda. Arquivos adicionais podem ser providos contendo as informações que podem ser utilizadas para gerar um menu interativo. Sumário da Invenção [003] As modalidades da presente invenção incluem arquivos de multimídia e sistemas para gerar, distribuir e decodificar os arquivos de multimídia. Em um aspecto da invenção, os arquivos de multimídia incluem uma pluralidade de trilhas de vídeo codificadas. Em outro aspecto da invenção, os arquivos de multimídia incluem uma pluralidade de trilhas de áudio codificadas. Em outro aspecto da invenção, os arquivos de multimídia incluem pelo menos uma trilha de legenda. Em outro aspecto da invenção, os arquivos de multimídia incluem 'metaPetição 870180023875, de 23/03/2018, pág. 6/160
2/112 dados' codificados. Em outro aspecto da invenção, os arquivos de multimídia incluem informações de menu codificadas.
[004] Um arquivo de multimídia de acordo com uma modalidade da invenção inclui uma pluralidade de trilhas de vídeo codificadas. Em modalidades adicionais da invenção, o arquivo de multimídia compreende uma pluralidade de blocos de 'RIFF' concatenados e cada trilha de vídeo codificada está contida em um bloco de 'RIFF' separado. Além disso, o vídeo é codificado utilizando melhoramentos psicovisuais e cada trilha de vídeo tem pelo menos uma trilha de áudio associada com a mesma.
[005] Em outra modalidade, cada trilha de vídeo é codificada como uma série de blocos de 'vídeo' dentro de um bloco de 'RIFF' e a trilha de áudio que acompanha cada trilha de vídeo é codificada como uma série de blocos de 'áudio' intercalados dentro do bloco de 'RIFF' que contém os blocos de 'vídeo' da trilha de vídeo associada. Mais ainda, cada bloco de 'vídeo' pode conter as informações que podem ser utilizadas para gerar um único quadro de vídeo de uma trilha de vídeo e cada bloco de 'áudio' contém as informações de áudio da porção da trilha de áudio que acompanha o quadro gerado utilizando um bloco de 'vídeo'. Além disso, o bloco de 'áudio' pode ser intercalado antes do bloco de 'vídeo' correspondente dentro do bloco de 'RIFF'.
[006] Um sistema para codificar os arquivos de multimídia de acordo com uma modalidade da presente invenção inclui um processador configurado para codificar uma pluralidade de trilhas de vídeo, concatenar as trilhas de vídeo codificadas e escrever as trilhas de vídeo codificadas concatenadas em um único arquivo. Em outra modalidade, o processador está configurado para codificar as trilhas de vídeo de modo que cada trilha de vídeo fique contida dentro de um bloco de 'RIFF' separado e o processador está configurado para codificar o vídeo utilizando melhoramentos psicovisuais. Além disso cada trilha de
Petição 870180023875, de 23/03/2018, pág. 7/160
3/112 vídeo pode ter pelo menos uma trilha de áudio associada com a mesma.
[007] Em outra modalidade, o processador está configurado para codificar cada trilha de vídeo como uma série de blocos de 'vídeo' dentro de um bloco de 'RIFF' e codificar a pelo menos uma trilha de áudio que acompanha cada trilha de vídeo como uma série de blocos de 'áudio' intercalados dentro do bloco de 'RIFF' que contém os blocos de 'vídeo' da trilha de vídeo associada.
[008] Em outra modalidade adicional, o processador está configurado para codificar as trilhas de vídeo de modo que cada bloco de 'vídeo' contenha as informações que podem ser utilizadas para gerar um único quadro de vídeo de uma trilha de vídeo e codificar as trilhas de áudio associadas com uma trilha de vídeo de modo que cada bloco de 'áudio' contenha as informações de áudio da porção da trilha de áudio que acompanha o quadro gerado utilizando um bloco de 'vídeo' gerado da trilha de vídeo. Além disso, o processador pode estar configurado para intercalar cada bloco de 'áudio' antes do bloco de 'vídeo' correspondente dentro do bloco de 'RIFF'.
[009] Um sistema para decodificar um arquivo de multimídia que contém uma pluralidade de trilhas de vídeo codificadas de acordo com uma modalidade da presente invenção inclui um processador configurado para extrair as informações do arquivo de multimídia. O processador está configurado para extrair as informações referentes ao número de trilhas de vídeo codificadas contidas no arquivo de multimídia. [0010] Em uma modalidade adicional, o processador está configurado para localizar uma trilha de vídeo codificada dentro de um bloco de 'RIFF'. Além disso, uma primeira trilha de vídeo codificada pode estar contida em um primeiro bloco de 'RIFF' que tem um código 4cc padrão, uma segunda trilha de vídeo pode estar contida em um segundo bloco de 'RIFF' que tem um código 4cc especializado e o código 4cc
Petição 870180023875, de 23/03/2018, pág. 8/160
4/112 especializado pode ter como os seus últimos dois caracteres os primeiros dois caracteres de um código 4cc padrão.
[0011] Em uma modalidade adicional, cada trilha de vídeo codificada está contida em um bloco de 'RIFF' separado.
[0012] Em outra modalidade adicional, a trilha de vídeo decodificada é similar à trilha de vídeo original que foi codificada na criação do arquivo de multimídia e pelo menos algumas das diferenças entre a trilha de vídeo decodificada e a trilha de vídeo original estão localizadas em porções escuras de quadros da trilha de vídeo. Mais ainda, algumas das diferenças entre a trilha de vídeo decodificada e a trilha de vídeo original podem estar localizadas em cenas de alto movimento da trilha de vídeo.
[0013] Em uma modalidade adicional novamente, cada trilha de vídeo tem pelo menos uma trilha de áudio associada com a mesma.
[0014] Em uma modalidade adicional, o processador está configurado para exibir um vídeo de uma trilha de vídeo pela decodificação de uma série de blocos de 'vídeo' dentro de um bloco de 'RIFF' e gerar um áudio de uma trilha de áudio que acompanha a trilha de vídeo pela decodificação de uma série de blocos de 'áudio' intercalados dentro do bloco de 'RIFF' que contém os blocos de 'vídeo' da trilha de vídeo associada.
[0015] Em ainda outra modalidade adicional, o processador está configurado para utilizar as informações extraídas de cada bloco de 'vídeo' para gerar um único quadro da trilha de vídeo e utilizar as informações extraídas de cada bloco de 'áudio' para gerar a porção da trilha de áudio que acompanha o quadro gerado utilizando um bloco de 'vídeo'. Além disso, o processador pode estar configurado para localizar o bloco de 'áudio' antes do bloco de 'vídeo' com o qual está associado no bloco de 'RIFF'.
[0016] Um arquivo de multimídia de acordo com uma modalidade
Petição 870180023875, de 23/03/2018, pág. 9/160
5/112 da presente invenção inclui uma série de quadros de vídeo codificados e um áudio codificado intercalado entre os quadros de vídeo codificados. O áudio codificado inclui duas ou mais trilhas de informações de áudio.
[0017] Em uma modalidade adicional pelo menos uma das trilhas de informações de áudio inclui uma pluralidade de canais de áudio.
[0018] Outra modalidade ainda inclui as informações de cabeçalho que identificam o número de trilhas de áudio contidas no arquivo de multimídia e as informações de descrição sobre pelo menos uma das trilhas de informações de áudio.
[0019] Em uma modalidade adicional novamente, cada quadro de vídeo codificado é precedido por informações de áudio codificadas e as informações de áudio codificadas que precedem o quadro de vídeo incluem as informações de áudio para a porção de cada trilha de áudio que acompanha o quadro de vídeo codificado.
[0020] Em outra modalidade novamente, as informações de vídeo estão armazenadas como blocos dentro do arquivo de multimídia. Além disso, cada bloco de informações de vídeo pode incluir um único quadro de vídeo. Mais ainda, as informações de áudio podem estar armazenadas como blocos dentro do arquivo de multimídia e as informações de áudio de duas trilhas de áudio separadas não estão contidas dentro de um único de bloco de informações de áudio.
[0021] Em ainda uma modalidade adicional, os blocos de 'vídeo' estão separados por pelo menos um bloco de 'áudio' de cada uma das trilhas de áudio e os blocos de 'áudio' que separam os blocos de 'vídeo' contém as informações de áudio para as porções das trilhas de áudio que acompanham as informações de vídeo contidas dentro do bloco de 'vídeo' seguinte ao bloco de 'áudio'.
[0022] Um sistema para codificar os arquivos de multimídia de acordo com uma modalidade da invenção inclui um processador confi
Petição 870180023875, de 23/03/2018, pág. 10/160
6/112 gurado para codificar uma trilha de vídeo, codificar uma pluralidade de trilhas de áudio, intercalar as informações da trilha de vídeo com as informações da pluralidade de trilhas de áudio e escrever as informações de vídeo e de áudio intercaladas em um único arquivo.
[0023] Em uma modalidade adicional, pelo menos uma das trilhas de áudio inclui uma pluralidade canais de áudio.
[0024] Em outra modalidade, o processador está ainda configurado para codificar as informações de cabeçalho que identificam o número das trilhas de áudio codificadas e escrever as informações de cabeçalho no arquivo único.
[0025] Em uma modalidade adicional novamente, o processador está ainda configurado para codificar as informações de cabeçalho que identificam as informações de descrição sobre pelo menos uma das trilhas de áudio codificadas e escrever as informações de cabeçalho no arquivo único.
[0026] Em outra modalidade novamente, o processador codifica a trilha de vídeo como blocos de informações de vídeo. Além disso o processador pode codificar cada trilha de áudio como uma série de blocos de informações de áudio. Mais ainda, cada bloco de informações de áudio pode conter as informações de áudio de uma única trilha de áudio e o processador pode estar configurado para intercalar os blocos de informações de áudio entre os blocos de informações de vídeo.
[0027] Em ainda uma modalidade adicional, o processador está configurado para codificar a porção de cada trilha de áudio que acompanha as informações de vídeo em um bloco de 'vídeo' em um bloco de 'áudio' e o processador está configurado para intercalar os blocos de 'vídeo' com os blocos de 'áudio' de modo que cada bloco de 'vídeo' é precedido por blocos de 'áudio' que contém as informações de áudio de cada uma das trilhas de áudio que acompanha as informações de
Petição 870180023875, de 23/03/2018, pág. 11/160
7/112 vídeo contidas no bloco de 'vídeo'. Além disso, o processador pode estar configurado para codificar a trilha de vídeo de modo que um único quadro de vídeo fique contido dentro de cada bloco de 'vídeo'.
[0028] Em ainda outra modalidade novamente, o processador é um processador de uso geral.
[0029] Em ainda uma modalidade adicional, o processador é um circuito dedicado.
[0030] Um sistema para decodificar um arquivo de multimídia que contém uma pluralidade de trilhas de áudio de acordo com a presente invenção incluir um processador configurado para extrair as informações do arquivo de multimídia. O processador está configurado para extrair as informações referentes ao número de trilhas de áudio contidas no arquivo de multimídia.
[0031] Em uma modalidade adicional, o processador está configurado para selecionar uma única trilha de áudio da pluralidade de trilhas de áudio e o processador está configurado para decodificar as informações de áudio da trilha de áudio selecionada.
[0032] Em outra modalidade, pelo menos uma das trilhas de áudio inclui uma pluralidade de canais de áudio.
[0033] Em ainda outra modalidade, o processador está configurado para extrair as informações de um cabeçalho no arquivo de multimídia que incluem as informações de descrição sobre pelo menos uma das trilhas de áudio.
[0034] Um sistema para comunicar as informações de multimídia de acordo com uma modalidade da invenção inclui uma rede, um dispositivo de armazenamento que contém um arquivo de multimídia e conectado na rede através de um servidor e um cliente conectado na rede. O cliente pode solicitar a transferência do arquivo de multimídia do servidor e o arquivo de multimídia inclui pelo menos uma trilha de vídeo e uma pluralidade de trilhas de áudio que acompanham a trilha
Petição 870180023875, de 23/03/2018, pág. 12/160
8/112 de vídeo.
[0035] Um arquivo de multimídia de acordo com a presente invenção inclui uma série de quadro de vídeos codificados e pelo menos uma trilha de legenda codificada intercalada entre os quadros de vídeo codificados.
[0036] Em uma modalidade adicional, a pelo menos uma trilha de legenda codificada compreende uma pluralidade de trilhas de legenda codificadas.
[0037] Outra modalidade ainda inclui as informações de cabeçalho que identificam o número de trilhas de legenda codificadas contidas no arquivo de multimídia.
[0038] Uma modalidade adicional também inclui as informações de cabeçalho que incluem as informações de descrição sobre pelo menos uma das trilhas de legenda codificadas.
[0039] Em ainda outra modalidade, cada trilha de legenda inclui uma série de mapas de bits e cada trilha de legenda pode incluir uma série de mapas de bits comprimidos. Além disso, cada mapa de bits é comprimido utilizando codificação de extensão de execução.
[0040] Em ainda uma modalidade adicional, a série de quadros de vídeo codificados são codificados como uma série de blocos de vídeo e cada trilha de legenda codificada é codificada como uma série de blocos de legenda. Cada bloco de legenda inclui as informações capazes de serem representadas como texto em um display. Além disso, cada bloco de legenda pode conter as informações referentes a uma única legenda. Mais ainda, cada bloco de legenda pode incluir as informações referentes à porção da seqüência de vídeo sobre a qual a legenda deve ser sobreposta.
[0041] Em ainda outra modalidade, cada bloco de legenda inclui as informações referentes à porção de um display no qual a legenda deve ser localizada.
Petição 870180023875, de 23/03/2018, pág. 13/160
9/112 [0042] Em uma modalidade adicional novamente, cada bloco de legenda inclui as informações referentes à cor da legenda e as informações referentes à cor podem incluir uma paleta de cores. Além disso, os blocos de legenda podem compreender um primeiro bloco de legenda que inclui as informações referentes a uma primeira paleta de cores e um segundo bloco de legenda que inclui as informações referentes a uma segunda paleta de cores que substitui as informações referentes à primeira paleta de cores.
[0043] Um sistema para codificar os arquivos de multimídia de acordo com uma modalidade da invenção pode incluir um processador configurado para codificar uma trilha de vídeo, codificar pelo menos uma trilha de legenda, intercalar as informações da trilha de vídeo com as informações da pelo menos uma trilha de legenda e escrever as informações de vídeo e de legenda intercaladas em um único arquivo.
[0044] Em uma modalidade adicional, a pelo menos uma trilha de legenda inclui uma pluralidade de trilhas de legenda.
[0045] Em outra modalidade, o processador está ainda configurado para codificar e escrever no único arquivo, as informações de cabeçalho que identificam o número de trilhas de legenda contidas no arquivo de multimídia.
[0046] Em uma modalidade adicional novamente, o processador está ainda configurado para codificar e escrever no único arquivo, as informações de descrição sobre pelo menos uma das trilhas de legenda.
[0047] Em outra modalidade adicional, a trilha de vídeo está codificada como blocos de vídeo e cada uma da pelo menos uma trilha de legenda está codificada como blocos de legenda. Além disso, cada um dos blocos de legenda que contém uma única legenda que acompanha uma porção da trilha de vídeo e o intercalador pode estar configurado para intercalar cada bloco de legenda antes dos blocos de vídeo
Petição 870180023875, de 23/03/2018, pág. 14/160
10/112 que contém a porção da trilha de vídeo que a legenda dentro do bloco de legenda acompanha.
[0048] Em ainda uma modalidade adicional, o processador está configurado para gerar um bloco de legenda pela codificação da legenda como uma mapa de bits.
[0049] Em ainda outra modalidade, a legenda está codificada como um mapa de bits comprimido. Além disso, o mapa de bits pode ser comprimido utilizando codificação de extensão de execução. Mais ainda, o processador pode incluir em cada bloco de legenda as informações referentes à porção da seqüência de vídeo sobre a qual a legenda deve ser sobreposta.
[0050] Em ainda uma modalidade adicional, o processador inclui em cada bloco de legenda as informações referentes à porção de um display no qual a legenda deve estar localizada.
[0051] Em ainda outra modalidade, o processador inclui em cada bloco de legenda as informações referentes à cor da legenda.
[0052] Em ainda uma modalidade adicional novamente, as informações referentes à cor incluem uma paleta de cores. Além disso, os blocos de legenda podem incluir um primeiro bloco de legenda que inclui as informações referentes a uma primeira paleta de cores e um segundo bloco de legenda que inclui as informações referentes a uma segunda paleta de cores que substitui as informações referentes à primeira paleta de cores.
[0053] Um sistema para decodificar os arquivos de multimídia de acordo com uma modalidade da presente invenção inclui um processador configurado para extrair as informações do arquivo de multimídia. O processador está configurado para inspecionar o arquivo de multimídia para determinar se existe pelo menos uma trilha de legenda. Além disso, a pelo menos uma trilha de legenda pode compreender uma pluralidade de trilhas de legenda e o processador pode estar
Petição 870180023875, de 23/03/2018, pág. 15/160
11/112 configurado para determinar o número de trilhas de legenda no arquivo de multimídia.
[0054] Em uma modalidade adicional, o processador está ainda configurado para extrair as informações de cabeçalho que identificam o número de trilhas de legenda do arquivo de multimídia.
[0055] Em ainda outra modalidade, o processador está ainda configurado para extrair as informações de descrição sobre pelo menos uma das trilhas de legenda do arquivo de multimídia.
[0056] Em uma modalidade adicional novamente, o arquivo de multimídia inclui pelo menos uma trilha de vídeo codificada como blocos de vídeo e o arquivo de multimídia inclui pelo menos uma trilha de legenda codificada como blocos de legenda.
[0057] Em outra modalidade novamente, cada bloco de legenda inclui as informações referentes a uma única legenda.
[0058] Em ainda uma modalidade adicional, cada legenda está codificada nos blocos de legenda como um mapa de bits, o processador está configurado para decodificar a trilha de vídeo e o processador está configurado para construir um quadro de vídeo para exibição por sobreposição do mapa de bits sobre uma porção da seqüência de vídeo. Além disso a legenda pode estar codificada como uma mapa de bits comprimido e o processador está configurado para descomprimir o mapa de bits. Mais ainda, o processador pode estar configurado para descomprimir um mapa de bits codificado de extensão de execução.
[0059] Em ainda outra modalidade, cada bloco de legenda inclui as informações referentes à porção da trilha de vídeo sobre a qual a legenda deve ser sobreposta e o processador está configurado para gerar uma seqüência de quadros de vídeo para exibição pela sobreposição do mapa de bits da legenda sobre cada quadro de vídeo indicado pelas informações no bloco de legenda.
[0060] Em ainda uma modalidade adicional, cada bloco de legen
Petição 870180023875, de 23/03/2018, pág. 16/160
12/112 da inclui as informações referentes à posição dentro de um quadro no qual a legenda deve estar localizada e o processador está configurado para sobrepor a legenda na posição dentro de cada quadro de vídeo indicado pelas informações dentro do bloco de legenda.
[0061] Em outra modalidade adicional, cada bloco de legenda inclui as informações referentes à cor da legenda e o processador está configurado para sobrepor a legenda na cor ou cores indicadas pelas informações de cor dentro do bloco de legenda. Além disso, as informações de cor dentro de um bloco de legenda podem incluir uma paleta de cores e o processador está configurado para sobrepor a legenda utilizando a paleta de cores para obter as informações de cor utilizadas no mapa de bits da legenda. Mais ainda, os blocos de legenda podem compreender um primeiro bloco de legenda que inclui as informações referentes a uma primeira paleta de cores e um segundo bloco de legenda que inclui as informações referentes a uma segunda paleta de cores e o processador pode estar configurado para sobrepor a legenda utilizando a primeira paleta de cores para obter as informações referentes às cores utilizadas no mapa de bits da legenda após o primeiro bloco ser processado e o processador pode estar configurado para sobrepor a legenda utilizando a segunda paleta de cores para obter as informações referentes às cores utilizadas no mapa de bits da legenda após o segundo bloco ser processado.
[0062] Um sistema para comunicar as informações de multimídia de acordo com uma modalidade da invenção inclui uma rede, um dispositivo de armazenamento que contém um arquivo de multimídia e conectado na rede através de um servidor e um cliente conectado na rede. O cliente solicita a transferência do arquivo de multimídia do servidor e o arquivo de multimídia inclui pelo menos uma trilha de vídeo e pelo menos uma trilha de legenda que acompanha a trilha de vídeo.
[0063] Um arquivo de multimídia de acordo com uma modalidade
Petição 870180023875, de 23/03/2018, pág. 17/160
13/112 da invenção inclui uma série de quadros de vídeo codificados e informações de menu codificadas. Além disso, as informações de menu codificadas podem ser armazenadas como um bloco.
[0064] Uma modalidade adicional também inclui pelo menos dois blocos de 'menu' separados de informações de menu e pelo menos dois blocos de 'menu' separados podem estar contidos em pelo menos dois blocos de 'RIFF' separados.
[0065] Em outra modalidade, o primeiro bloco de 'RIFF' que contém um bloco de 'menu' inclui um código 4cc padrão e o segundo bloco de 'RIFF' que contém um bloco de 'menu' inclui um código 4cc especializado onde os primeiros dois caracteres de um código 4cc padrão aparecem como os últimos dois caracteres do código 4cc especializado.
[0066] Em uma modalidade adicional novamente, pelo menos dois blocos de 'menu' separados estão contidos em um único bloco de 'RlFF'.
[0067] Em outra modalidade novamente, o bloco de 'menu' inclui blocos que descrevem uma série de menus e um bloco de 'MRIF' que contém uma mídia associada com a série de menus. Além disso, o bloco de 'MRIF' pode conter as informações de mídia que incluem as trilhas de vídeo, as trilhas de áudio e as trilhas de sobreposição.
[0068] Em ainda uma modalidade adicional, os blocos que descrevem uma série de menus pode incluir um bloco que descreve o sistema de menu total, pelo menos um bloco que agrupa os menus por linguagem, pelo menos um bloco que descreve um display de menu individual e um áudio de fundo acompanhante, e pelo menos um bloco que descreve um botão em um menu, pelo menos um bloco que descreve a localização do botão sobre a tela e pelo menos um bloco que descreve várias ações associadas com um botão.
[0069] Ainda outra modalidade também inclui uma conexão para
Petição 870180023875, de 23/03/2018, pág. 18/160
14/112 um segundo arquivo. As informações de menu codificadas estão contidas no segundo arquivo.
[0070] Um sistema para codificar os arquivos de multimídia de acordo com uma modalidade da invenção inclui um processador configurado para codificar as informações de menu. O processador está também configurado para gerar um arquivo de multimídia que inclui uma trilha de vídeo codificada e as informações de menu codificadas. Além disso, o processador pode esta configurado para gerar um modelo de objeto dos menus, converter o modelo de objeto em um arquivo de configuração, analisar o arquivo de configuração em blocos, gerar arquivos AVI que contém as informações de mídia, intercalar a mídia nos arquivos AVI em um bloco de 'MRIF' e concatenar os blocos analisados com o bloco de 'MRIF' para criar um bloco de 'menu'. Mais ainda, o processador pode estar ainda configurado para utilizar o modelo de objeto para gerar um segundo bloco de 'menu' menor.
[0071] Em uma modalidade adicional, o processador está configurado para codificar um segundo menu e o processador pode inserir o primeiro menu codificado em um primeiro bloco de 'RIFF' e inserir o segundo menu codificado em um segundo bloco de 'RIFF'.
[0072] Em outra modalidade, o processador inclui o primeiro e o segundo menus codificados em um único bloco de 'RIFF'.
[0073] Em uma modalidade adicional novamente, o processador está configurado para inserir no arquivo de multimídia uma referência a um menu codificado em um segundo arquivo.
[0074] Um sistema para decodificar os arquivos de multimídia de acordo com a presente invenção, inclui um processador configurado para extrair as informações do arquivo de multimídia. O processador está configurado para inspecionar o arquivo de multimídia para determinar se este contém as informações de menu codificadas. Além disso, o processador pode estar configurado para extrair as informações
Petição 870180023875, de 23/03/2018, pág. 19/160
15/112 de menu de um bloco de 'menu' dentro de um bloco de 'RIFF' e o processador pode estar configurado para construir displays de menu utilizando as informações de vídeo armazenadas no bloco de 'menu'.
[0075] Em uma modalidade adicional, o processador está configurado para gerar um áudio de fundo que acompanha um display de menu utilizando as informações de áudio armazenadas no bloco de 'menu'.
[0076] Em outra modalidade, o processador está configurado para gerar um display de menu sobrepondo uma sobreposição do bloco de 'menu' sobre as informações de vídeo do bloco de 'menu'.
[0077] Um sistema para comunicar as informações de multimídia de acordo com a presente invenção inclui uma rede, um dispositivo de armazenamento que contém um arquivo de multimídia e conectado na rede através de um servidor e um cliente conectado na rede. O cliente pode solicitar a transferência do arquivo de multimídia do servidor e o arquivo de multimídia inclui as informações de menu codificadas.
[0078] Um arquivo de multimídia que inclui uma série de quadros de vídeo codificados e metadados codificados sobre o arquivo de multimídia. Os metadados codificados incluem pelo menos uma sentença que compreende um sujeito, um predicado, um objeto e uma autoridade. Além disso, o sujeito pode conter as informações que identificam um arquivo, um item, uma pessoa ou uma organização que é descrito pelos metadados, o predicado pode conter as informações indicativas de uma característica do sujeito, o objeto contém as informações descritivas da característica do sujeito identificada pelo predicado e a autoridade pode conter as informações referentes à fonte da sentença.
[0079] Em uma modalidade adicional, o sujeito é um bloco que inclui um tipo e um valor, onde o valor contém as informações e o tipo indica se o bloco é um recurso ou um nodo anônimo.
[0080] Em outra modalidade, o predicado é um bloco que inclui um
Petição 870180023875, de 23/03/2018, pág. 20/160
16/112 tipo e um valor, onde o valor contém as informações e o tipo indica se as informações de valor são um URI predicado ou entrada de lista ordinária.
[0081] Em uma modalidade adicional novamente, o objeto é um bloco que inclui um tipo, uma linguagem, um tipo de dados e um valor, onde o valor contém as informações, o tipo indica se as informações de valor são um UTF-8 literal, um inteiro literal ou dados de XML literais, o tipo de dados indica o tipo das informações de valor e a linguagem contém as informações que identificam uma linguagem específica.
[0082] Em outra modalidade novamente, a autoridade é um bloco que inclui um tipo e um valor, onde o valor contém as informações e o tipo indica se as informações de valor são a autoridade da sentença.
[0083] Em ainda uma modalidade adicional, pelo menos uma porção dos dados codificados está representada como dados binários.
[0084] Em ainda outra modalidade, pelo menos uma porção dos dados codificados está representada como dados ASCI de 64 bits.
[0085] Em ainda uma modalidade adicional, pelo menos uma primeira porção dos dados codificados está representada como dados binários e pelo menos uma segunda porção dos dados codificados está representada como blocos adicionais que contêm os dados representados em um segundo formato. Além disso, os blocos adicionais podem cada um conter um único trecho de metadados.
[0086] Um sistema para codificar os arquivos de multimídia de acordo com uma modalidade da presente invenção inclui um processador configurado para codificar uma trilha de vídeo. O processador está também configurado para codificar os metadados referentes ao arquivo de multimídia e os metadados codificados incluem pelo menos uma sentença que compreende um sujeito, um predicado, um objeto e uma autoridade. Além disso, o sujeito pode conter as informações que
Petição 870180023875, de 23/03/2018, pág. 21/160
17/112 identificam um arquivo, um item, uma pessoa ou uma organização que está descrito pelos metadados, o predicado pode conter as informações indicativas de uma característica do sujeito, o objeto pode conter as informações descritivas da característica do sujeito identificada pelo predicado e a autoridade pode conter as informações referentes à fonte da sentença.
[0087] Em uma modalidade adicional, o processador está configurado para codificar o sujeito como um bloco que inclui um tipo e um valor, onde o valor contém as informações e o tipo indica se o bloco é um recurso ou um nodo anônimo.
[0088] Em outra modalidade, o processador está configurado para codificar o predicado como um bloco que inclui um tipo e um valor, onde o valor contém as informações e o tipo indica se as informações de valor são um URI predicado ou uma entrada de lista ordinária.
[0089] Em uma modalidade adicional novamente, o processador está configurado para codificar o objeto como um bloco que inclui um tipo, uma linguagem, um tipo de dados e um valor, onde o valor contém as informações, o tipo indica se as informações de valor são um UTF-8 literal, um inteiro literal ou dados de XML literais, e o tipo de dados indica o tipo das informações de valor e a linguagem contém as informações que identificam uma linguagem específica.
[0090] Em outra modalidade novamente, o processador está configurado para codificar a autoridade como um bloco que inclui um tipo e um valor, onde o valor contém as informações e o tipo indica se as informações de valor são a autoridade da sentença.
[0091] Em ainda uma modalidade adicional, o processador está ainda configurado para codificar pelo menos uma porção dos metadados referente ao arquivo de multimídia como dados binários.
[0092] Em ainda outra modalidade, o processador está ainda configurado para codificar pelo menos uma porção dos metadados refe
Petição 870180023875, de 23/03/2018, pág. 22/160
18/112 rente ao arquivo de multimídia como dados ASCI de 64 bits.
[0093] Em uma modalidade adicional, o processador está ainda configurado para codificar pelo menos uma primeira porção dos metadados referente ao arquivo de multimídia como dados binário e codificar pelo menos uma segunda porção dos metadados referente ao arquivo de multimídia como blocos adicionais que contém os dados representados em um segundo formato. Além disso, o processador pode estar ainda configurado para codificar os blocos adicionais com um único trecho de metadados.
[0094] Um sistema para decodificar os arquivos de multimídia de acordo com a invenção inclui um processador configurado para extrair as informações do arquivo de multimídia. O processador está configurado para extrair as informações de metadados referentes ao arquivo de multimídia e as informações de metadados incluem pelo menos uma sentença que compreende um sujeito, um predicado, um objeto e uma autoridade. Além disso, o processador pode estar configurado para extrair, do sujeito, as informações que identificam um arquivo, um item, uma pessoa ou uma organização que está descrito pelos metadados. Mais ainda, o processador pode estar configurado para extrair as informações indicativas de uma característica do sujeito do predicado, o processador pode estar configurado para extrair as informações descritivas da característica do sujeito identificado pelo predicado do objeto e o processador pode estar configurado para extrair as informações referentes à fonte da sentença da autoridade.
[0095] Em uma modalidade adicional, o sujeito é um bloco que inclui um tipo e um valor e o processador está configurado para identificar que o bloco contém as informações do sujeito pela inspeção do tipo e o processador está configurado para extrair as informações do valor.
[0096] Em ainda outra modalidade, o predicado é um bloco que
Petição 870180023875, de 23/03/2018, pág. 23/160
19/112 inclui um tipo e um valor e o processador está configurado para identificar que o bloco contém as informações do predicado pela inspeção do tipo e o processador está configurado para extrair as informações do valor.
[0097] Em uma modalidade adicional novamente, o objeto é um bloco que inclui um tipo, uma linguagem, um tipo de dados e um valor, o processador está configurado para identificar que o bloco contém as informações de objeto pela inspeção do tipo, o processador está configurado para inspecionar o tipo de dados para determinar o tipo de dados das informações contidas no valor, o processador está configurado para extrair as informações de um tipo indicado pelo tipo de dados do valor e o processador está configurado para extrair as informações que identificam uma linguagem específica da linguagem.
[0098] Em outra modalidade novamente, a autoridade é um bloco que inclui um tipo e um valor e o processador está configurado para identificar que o bloco contém as informações de autoridade pela inspeção do tipo e o processador está configurado para extrair as informações do valor.
[0099] Em ainda uma modalidade adicional, o processador está configurado para extrair as informações da sentença de metadados e exibir pelo menos uma porção das informações.
[00100] Em ainda outra modalidade, o processador está configurado para construir estruturas de dados indicativas de um gráfico identificado direcionado na memória utilizando os metadados.
[00101] Em ainda uma modalidade adicional, o processador está configurado para pesquisar através dos metadados por informações pela inspeção de pelo menos um do sujeito, do predicado, do objeto e da autoridade para uma pluralidade de sentenças.
[00102] Em ainda outra modalidade, o processador está configurado para exibir os resultados da pesquisa como parte de uma interface
Petição 870180023875, de 23/03/2018, pág. 24/160
20/112 gráfica do usuário. Além disso, o processador pode estar configurado para executar uma pesquisa em resposta a uma solicitação de um dispositivo externo.
[00103] Em ainda uma modalidade adicional, pelo menos uma porção das informações de metadados referentes ao arquivo de multimídia está representada como dados binários.
[00104] Em outra modalidade adicional, pelo menos uma porção das informações de metadados referentes ao arquivo de multimídia está representada como dados ASCI de 64 bits.
[00105] Em outra modalidade adicional, pelo menos uma primeira porção das informações de metadados referentes ao arquivo de multimídia está representada como dados binários e pelo menos uma segunda porção das informações de metadados referentes ao arquivo de multimídia está representada como blocos adicionais que contêm os dados representados em um segundo formato. Além disso, os blocos adicionais podem conter um único trecho de metadados.
[00106] Um sistema para comunicar as informações de multimídia de acordo com a presente invenção inclui uma rede, um dispositivo de armazenamento que contém um arquivo de multimídia e que está conectado na rede através de um servidor e um cliente conectado na rede. O cliente pode solicitar a transferência do arquivo de multimídia do servidor e o arquivo de multimídia inclui os metadados referentes ao arquivo de multimídia e os metadados incluem pelo menos uma sentença que compreende um sujeito, um predicado, um objeto e uma autoridade.
[00107] Um arquivo de multimídia de acordo com a presente invenção inclui pelo menos uma trilha de vídeo codificada, pelo menos uma trilha de áudio codificada e uma pluralidade de seqüências de texto codificadas. As seqüências de texto codificadas descrevem as características da pelo menos uma trilha de vídeo e da pelo menos uma trilha
Petição 870180023875, de 23/03/2018, pág. 25/160
21/112 de áudio.
[00108] Em uma modalidade adicional, uma pluralidade das seqüências de texto descreve a mesma característica de uma trilha de vídeo ou uma trilha de áudio utilizando diferentes linguagens.
[00109] Outra modalidade também inclui pelo menos uma trilha de legenda codificada. A pluralidade de seqüências de texto codificadas inclui seqüências que descrevem as características da trilha de legenda.
[00110] Um sistema para criar um arquivo de multimídia de acordo com a presente invenção inclui um processador configurado para codificar pelo menos uma trilha de vídeo, codificar pelo menos uma trilha de áudio, intercalar pelo menos uma das trilhas de áudio codificadas com uma trilha de vídeo e inserir seqüências de texto que descrevem cada uma de um número de características da pelo menos uma trilha de vídeo e da pelo menos uma trilha de áudio em uma pluralidade de linguagens.
[00111] Um sistema para exibir um arquivo de multimídia que inclui seqüências de áudio, de vídeo e de texto codificadas de acordo com a presente invenção que inclui um processador configurado para extrair as seqüências de texto codificadas do arquivo e gerar um display de menu suspenso utilizando as seqüências de texto.
Breve Descrição dos Desenhos [00112] Figura 1 é um diagrama de um sistema de acordo com uma modalidade da presente invenção para codificar, distribuir e decodificar arquivos.
[00113] Figura 2.0 é um diagrama de uma estrutura de um arquivo de multimídia de acordo com uma modalidade da presente invenção.
[00114] Figura 2.0.1 é um diagrama de uma estrutura de um arquivo de multimídia de acordo com outra modalidade da presente invenção.
Petição 870180023875, de 23/03/2018, pág. 26/160
22/112 [00115] Figura 2.1 é um diagrama conceituai de um bloco de lista de 'hdrl' de acordo com uma modalidade da invenção.
[00116] Figura 2.2 é um diagrama conceituai de um bloco de 'strl' de acordo com uma modalidade da invenção.
[00117] Figura 2.3 é um diagrama conceituai da memória alocada para armazenar um bloco de 'DXDT' de um arquivo de multimídia de acordo com uma modalidade da invenção.
[00118] Figura 2.3.1 é um diagrama conceituai de blocos de 'metadados' que podem ser incluídos em um bloco de 'DXDT' de um arquivo de multimídia de acordo com uma modalidade da invenção.
[00119] Figura 2.4 é um diagrama conceituai do bloco de 'DMNU' de acordo com uma modalidade da invenção.
[00120] Figura 2.5 é um diagrama conceituai de blocos de menu contidos em um bloco de 'WowMenuManager' de acordo com uma modalidade da invenção.
[00121] Figura 2.6 é um diagrama conceituai de blocos de menu contidos em um bloco de 'WowMenuManager' de acordo com outra modalidade da invenção.
[00122] Figura 2.6.1 é um diagrama conceituai que ilustra as relações entre os vários blocos contidos em um bloco de 'DMNU'.
[00123] Figura 2.7 é um diagrama conceituai do bloco de lista de 'movi' de um arquivo de multimídia de acordo com uma modalidade da invenção.
[00124] Figura 2.8 é um diagrama conceituai do bloco de lista de 'movi' de um arquivo de multimídia de acordo com uma modalidade da invenção que inclui um DRM.
[00125] Figura 2.9 é um diagrama conceituai do bloco de 'DRM' de acordo com uma modalidade da invenção.
[00126] Figura 3.0 é um diagrama de blocos de um sistema para gerar um arquivo de multimídia de acordo com uma modalidade da
Petição 870180023875, de 23/03/2018, pág. 27/160
23/112 invenção.
[00127] Figura 3.1 é um diagrama de blocos de um sistema para gerar um bloco de 'DXDT' de acordo com uma modalidade da invenção.
[00128] Figura 3.2 é um diagrama de blocos de um sistema para gerar um bloco de 'DMNU' de acordo com uma modalidade da invenção.
[00129] Figura 3.3 é um diagrama conceituai de um modelo de mídia de acordo com uma modalidade da invenção.
[00130] Figura 3.3.1 é um diagrama conceituai de objetos de um modelo de mídia que pode ser utilizado para gerar automaticamente um pequeno menu de acordo com uma modalidade da invenção.
[00131] Figura 3.4 é um fluxograma de um processo que pode ser utilizado para re-bloco o áudio de acordo com uma modalidade da invenção.
[00132] Figura 3.5 é um diagrama de blocos de um codificador de vídeo de acordo com uma modalidade da invenção.
[00133] Figura 3.6 é um fluxograma de um método para executar um melhoramento psicovisual de suavização em um quadro I de acordo com as modalidades da invenção.
[00134] Figura 3.7 é um fluxograma de um processo para executar um melhoramento psicovisual de SAD de macrobloco de acordo com uma modalidade da invenção.
[00135] Figura 3.8 é um fluxograma de um processo para o controle de taxa de uma passada de acordo com uma modalidade da invenção.
[00136] Figura 3.9 é um fluxograma de um processo para executar o controle de taxa de VBV de N- passada de acordo com uma modalidade da invenção.
[00137] Figura 4.0 é um fluxograma para um processo para localizar as informações de multimídia requeridas de um arquivo de multi
Petição 870180023875, de 23/03/2018, pág. 28/160
24/112 mídia e exibir as informações de multimídia de acordo com uma modalidade da invenção.
[00138] Figura 4.1 é um diagrama de blocos de um decodificador de acordo com uma modalidade da invenção.
[00139] Figura 4.2 é um exemplo de um menu exibido de acordo com uma modalidade da invenção.
[00140] Figura 4.3 é um diagrama conceituai que mostra as fontes de informações utilizadas para gerar o display mostrado na Figura 4.2 de acordo com uma modalidade da invenção.
Descrição Detalhada da Invenção [00141] Referindo aos desenhos, as modalidades da presente invenção são capazes de codificar, transmitir e decodificar os arquivos de multimídia. Os arquivos de multimídia de acordo com as modalidades da presente invenção podem conter múltiplas trilhas de vídeo, múltiplas trilhas de áudio, múltiplas trilhas de legenda, dados que podem ser utilizados para gerar uma interface de menu para acessar o conteúdo do arquivo e os 'metadados' referentes ao arquivo. Os arquivos de multimídia de acordo com diversas modalidades da presente invenção também incluem referências a trilhas de vídeo, trilhas de áudio, trilhas de legenda e 'metadados' externos ao arquivo.
1. Descrição do Sistema [00142] Observando agora a Figura 1, um sistema de acordo com uma modalidade da presente invenção para codificar, distribuir e decodificar os arquivos está mostrado. O sistema 10 inclui um computador 12, o qual está conectado a uma variedade de outros dispositivos de computação através de uma rede 14. Os dispositivos que podem estar conectados na rede incluem um servidor 16, um computador laptop 18 e um assistente digital pessoal (PDA) 20. Em várias modalidades, as conexões entre os dispositivos e a rede podem ser ou por fio ou sem fio e implementadas utilizando qualquer um de uma variedade
Petição 870180023875, de 23/03/2018, pág. 29/160
25/112 de protocolos de rede.
[00143] Em operação, o computador 12 pode ser utilizado para codificar os arquivos de multimídia de acordo com uma modalidade da presente invenção. O computador 12 pode também ser utilizado para decodificar os arquivos de multimídia de acordo com as modalidades da presente invenção e distribuir os arquivos de multimídia de acordo com as modalidades da presente invenção. O computador pode distribuir os arquivos utilizando qualquer um de uma variedade de protocolos de transferência incluindo através de uma rede ponto a ponto. Além disso, o computador 12 pode transferir os arquivos de multimídia de acordo as modalidades da presente invenção para um servidor 18, onde os arquivos podem ser acessados por outros dispositivos. Os outros dispositivos podem incluir qualquer variedade de dispositivos de computação ou mesmo um dispositivo decodificador dedicado. Na modalidade ilustrada, um computador laptop e um PDA estão mostrados. Em outras modalidades, conversores de freqüência, computadores de mesa, máquinas de jogos, dispositivos eletrônicos do consumidor e outros dispositivos podem estar conectados na rede, carregar os arquivos de multimídia e decodificá-los.
[00144] Em uma modalidade, os dispositivos acessam os arquivos de multimídia do servidor através da rede. Em outras modalidades, os dispositivos acessam os arquivos de multimídia de um número de computadores através de uma rede ponto a ponto. Em diversas modalidades, os arquivos de multimídia podem ser escritos em um dispositivo de armazenamento portátil, tal como uma unidade de disco, um CD-ROM, ou um DVD. Em muitas modalidades, os dispositivos eletrônicos podem acessar os arquivos de multimídia escritos nos dispositivos de armazenamento portáteis.
2. Descrição da Estrutura de Arquivo [00145] Os arquivos de multimídia de acordo com as modalidades
Petição 870180023875, de 23/03/2018, pág. 30/160
26/112 da presente invenção podem ser estruturados para ficarem em conformidade com o Formato de Arquivo para Intercâmbio de Recursos ('formato de arquivo RIFF'), definido pela Microsoft Corporation de Redmond, WA e pela International Business Machines Corporation de Armonk, NY. o RIFF é um formato para armazenar os dados de multimídia e as informações associadas. Um arquivo RIFF tipicamente tem um cabeçalho de RIFF de 8 bytes, o qual identifica o arquivo e provê o comprimento residual do arquivo após o cabeçalho (isto é filejength -
8). O restante inteiro do arquivo RIFF compreende blocos e listas. Cada bloco tem um cabeçalho de bloco de 8 bytes que identifica o tipo de bloco, e fornece o comprimento em bytes dos dados que seguem o cabeçalho de bloco. Cada lista tem um cabeçalho de 8 bytes que identifica o tipo de lista e fornece o comprimento em bytes dos dados que seguem o cabeçalho de lista. Os dados em uma lista compreendem os blocos e/ou outras listas (as quais por sua vez podem compreender blocos e/ou listas). As listas de RIFF são também algumas vezes referidas como blocos de listas.
[00146] Um arquivo AVI é uma forma especial de arquivo RIFF que segue o formato de um arquivo RIFF, mas inclui vários blocos e listas com identificadores definidos que contém os dados de multimídia em formatos específicos. O formato AVI foi desenvolvido e definido pela Microsoft Corporation. Os arquivos AVI são tipicamente criados utilizando um codificador que pode emitir os dados de multimídia no formato AVI. Os arquivos AVI são tipicamente decodificados por qualquer um de um grupo de softwares conhecidos coletivamente como decodificadores de AVI.
[00147] Os formatos de RIFF e AVI são flexíveis pelo fato de que estes somente definem os blocos e as listas que fazem parte do formato de arquivo definido, mas permitem que os arquivos também incluam listas e/ou blocos que estão fora das definições de formato de
Petição 870180023875, de 23/03/2018, pág. 31/160
27/112 arquivo RIFF e/ou AVI sem tornar o arquivo ilegível por um decodificador de RIFF e/ou de AVI. Na prática os decodificadores de AVI (e similarmente de RIFF) estão implementados de modo que estes simplesmente ignoram as listas e os blocos que contém as informações de cabeçalho não encontradas na definição de formato de arquivo AVI. O decodificador de AVI deve ainda ler através destes blocos e listas não AVI e assim a operação do decodificador de AVI pode ser desacelerada, mas de outro modo, estes geralmente não tem nenhum efeito sobre e são ignorados por um decodificador de AVI.
[00148] Um arquivo de multimídia de acordo com uma modalidade da presente invenção está ilustrado na Figura 2.0. O arquivo de multimídia 30 inclui um bloco de conjunto de caracteres (bloco de 'CSET') 32, um bloco de lista de informações (bloco de lista de 'INFO') 34, um bloco de cabeçalho de arquivo (bloco de lista de 'hdrl') 36, um bloco de metadados (bloco de 'DXDT') 38, um bloco de menu (bloco de 'DMNU') 40, um bloco de lixo (bloco de 'lixo') 41, o bloco de lista de filmes (bloco de lista de 'movi') 42, um bloco de índice (bloco de 'idxT) 44 opcional e um segundo bloco de menu (bloco de 'DMNU') 46. Alguns destes blocos e porções de outros estão definidos no formato de arquivo AVI enquanto que outros não estão contidos no formato de arquivo AVI. Em muitos, mas não em todos, casos, a discussão abaixo identifica os blocos ou as porções de blocos que estão definidos como parte do formato de arquivo AVI.
[00149] Outro arquivo de multimídia de acordo com uma modalidade da presente invenção está mostrado na Figura 2.0.1. O arquivo de multimídia 30' é similar àquele mostrado na Figura 2.0 exceto que o arquivo inclui múltiplos blocos de 'RIFF' concatenados. Os bloco de 'RIFF' podem conter um bloco de 'RIFF' similar àquele mostrado na Figura 2.0 que pode excluir o segundo bloco de 'DMNU' 46 ou pode conter as informações de menu na forma de um bloco de 'DMNU' 46'.
Petição 870180023875, de 23/03/2018, pág. 32/160
28/112 [00150] Na modalidade ilustrada, a multimídia inclui múltiplos bloco de 'RIFF' concatenados, onde o primeiro bloco de 'RIFF' 50 inclui um bloco de conjunto de caracteres (bloco de 'CSET') 32', um bloco de lista de informações (bloco de lista de 'INFO') 34', um bloco de cabeçalho de arquivo (bloco de lista de 'hdrl') 36', um bloco de metadados (bloco de 'DXDT') 38', um bloco de menu (bloco de 'DMNU') 40', um bloco de lixo (bloco de 'junk') 4T, o bloco de lista de filmes (bloco de lista de 'movi') 42', e um bloco de índice (bloco de 'idxT) 44' opcional. O segundo bloco de 'RIFF' 52 contém um segundo bloco de menu (bloco de 'DMNU') 46'. Blocos de 'RIFF' 54 adicionais que contém títulos adicionais podem ser incluídos após o bloco de menu de 'RIFF' 52. Os blocos de 'RIFF' adicionais podem conter uma mídia independente em conformidade com o formato de arquivo AVI. Em uma modalidade, o segundo bloco de menu 46' e os blocos de 'RIFF' adicionais tem códigos de 4 caracteres especializados (definidos no formato de AVI e abaixo discutidos) de modo que os primeiros dois caracteres do código de 4 caracteres aparecem como os segundos dois caracteres e os segundos dois caracteres do código de 4 caracteres aparecem como os primeiros dois caracteres.
2.1 O Bloco de 'CSET' [00151] O bloco de 'CSET' 32 é um bloco definido no formato de Áudio Vídeo Intercalado (formato de arquivo AVI), criado pela Microsoft Corporation. O bloco de 'CSET' define o conjunto de caracteres e as informações de linguagem do arquivo de multimídia. A inclusão de um bloco de 'CSET' de acordo com as modalidades da presente invenção é opcional.
[00152] Um arquivo de multimídia de acordo com uma modalidade da presente invenção não utiliza o bloco de 'CSET' e utiliza o UTF-8, o qual é definido pelo Unicode Consortium, para o conjunto de caracteres como padrão combinado com a Especificação de Linguagem RFC
Petição 870180023875, de 23/03/2018, pág. 33/160
29/112
3066, a qual é definida pela Força Tarefa de Engenharia de Internet para a linguagem de informações.
2.2 O Bloco de Lista de 'Info* [00153] O bloco de lista de 'INFO' 34 pode armazenar as informações que auxiliam a identificar o conteúdo do arquivo de multimídia. A lista de 'INFO' está definida no formato de arquivo AVI e a sua inclusão em um arquivo de multimídia de acordo com as modalidades da presente invenção é opcional. Muitas modalidades que incluem um bloco de 'DXDT' não incluem um bloco de lista de 'INFO'.
2.3 O Bloco de Lista de 'hdrl' [00154] O bloco de lista de 'hdrl' 38 é definido no formato de arquivo AVI e provê as informações referentes ao formato dos dados no arquivo de multimídia. A inclusão de um bloco de lista de 'INFO' ou de um bloco que contém informações de descrição similares é geralmente requerida. O bloco de lista de 'hdrl' ou um bloco que contém informações de descrição similares é geralmente requerido. O bloco de lista de 'hdrl' inclui um bloco para cada trilha de vídeo, cada trilha de áudio e cada trilha de legenda.
[00155] Um diagrama conceituai de um bloco de lista de 'hdrl' 38 de acordo com uma modalidade da invenção inclui uma única trilha de vídeo 62, dias trilhas de áudio 64, e uma trilha de áudio externa 66, duas trilhas de legenda 68 e uma trilha de legenda externa 70 está ilustrado na Figura 2.1. A lista de 'hdrl' 60 inclui um bloco de 'avih'. O bloco de 'avih' 60 contém informações globais para o arquivo inteiro, tais como, o número de fluxos dentro do arquivo e a largura e a altura do vídeo contido no arquivo de multimídia. O bloco de 'avih' pode ser implementado de acordo com o formato de arquivo AVI.
[00156] Além, do bloco de 'avih', a lista de 'hdrl' inclui uma lista de descritor de fluxo para cada trilha de áudio, de vídeo e de legenda. Em uma modalidade, a lista de descritor de fluxo é implementada utilizan
Petição 870180023875, de 23/03/2018, pág. 34/160
30/112 do blocos de 'strl'. Um bloco de 'strl' de acordo com uma modalidade da presente invenção está ilustrado na Figura 2.2. Cada bloco de 'strl' serve para descrever cada trilha no arquivo de multimídia. Os blocos de 'strl' para as trilhas de áudio de vídeo e de legenda dentro do arquivo de multimídia incluem um bloco de 'strl' que referencia um bloco de 'strh' 92, um bloco de 'strf' 94, um bloco de 'strd' 96, e um bloco de 'strri 98. Todos estes blocos podem ser implementados de acordo com o formato de arquivo AVI. De interesse específico é o bloco de 'strh' 92, o qual especifica o tipo de trilha de mídia, e o bloco de 'strd' 96, o qual pode ser modificado para indicar se o vídeo está protegido por um gerenciamento de direitos digitais. Uma discussão de várias implementações de gerenciamento de direitos digitais de acordo com as modalidades da presente invenção está abaixo provida.
[00157] Os arquivos de multimídia de acordo com as modalidades da presente invenção podem conter referências a arquivos externos que contêm informações de multimídia, tais como, uma trilha de áudio adicional ou uma trilha de legenda adicional. As referências a estas trilhas podem estar contidas ou no bloco de 'hdrl' ou no bloco de 'lixo' 41. Em qualquer caso, a referência pode estar contida no bloco de 'strh' 92 de um bloco de 'strl' 90, com referências ou a um arquivo local ou um arquivo remotamente armazenado. O arquivo referenciado pode ser um arquivo AVI padrão ou um arquivo de multimídia de acordo com uma modalidade da presente invenção que contém a trilha adicional.
[00158] Em modalidades adicionais, o arquivo referenciado pode conter qualquer um dos blocos que podem estar presentes no arquivo de referência incluindo os blocos de 'DMNU', os blocos de 'DXDT' e os blocos associados com as trilhas de áudio, de vídeo e/ou de legenda para uma apresentação de multimídia. Por exemplo, um primeiro arquivo de multimídia poderia incluir um bloco de 'DMNU' (abaixo discu
Petição 870180023875, de 23/03/2018, pág. 35/160
31/112 tido em mais detalhes) que referencia a primeira apresentação de multimídia localizada dentro do bloco de lista de 'movi' do primeiro arquivo de multimídia e uma segunda apresentação de multimídia dentro do bloco de lista de 'movi' do segundo arquivo de multimídia. Alternativamente, ambos os blocos de lista de 'movi' podem estar incluídos no mesmo arquivo de multimídia, o qual não precisa ser o mesmo arquivo que o arquivo no qual o bloco de 'DMNU' está localizado.
2.4. O Bloco de 'dxdt' [00159] O bloco de 'DXDT' 38 contém os assim denominados 'metadados'. 'Metadados' é um termo utilizado para descrever os dados que provêem informações sobre o conteúdo de um arquivo, documento ou transmissão. Os 'metadados' armazenados dentro do bloco de 'DXDT' dos arquivos de multimídia de acordo com as modalidades da presente invenção podem ser utilizados para armazenar, tais informações específicas de conteúdo, tais como, o título, o autor, o detentor de direitos autorais e o elenco. Além disso, os detalhes técnicos sobre o codec utilizado para codificar o arquivo de multimídia podem ser providos, tais como, as opções de CLI utilizadas e a distribuição de quantificador após cada passada.
[00160] Em uma modalidade, os metadados estão representados dentro do bloco de 'DXDT' como uma série de sentenças, onde cada sentença inclui um sujeito, um predicado, um objeto e uma autoridade. O sujeito é uma referência ao que está sendo descrito. O sujeito pode referenciar um arquivo, um item, uma pessoa ou uma organização. O sujeito pode referenciar qualquer coisa que tem características capazes de descrição. O predicado identifica uma característica do sujeito que está sendo descrito. O objeto é uma descrição da característica identificada do sujeito e a autoridade identifica a fonte das informações.
[00161] A seguinte é uma tabela que mostra um exemplo de como
Petição 870180023875, de 23/03/2018, pág. 36/160
32/112 vários trechos de 'metadados', podem ser representados como um objeto, um predicado, um sujeito e uma autoridade:
Sujeito Predicado Objeto Autoridade
:file281 httD ://du rl .ora/dc/elements/1.1 /title The Matrix :auth42
:file281 h ttD://xm I n s. d i vxnetwo rks. co m/2004/ 11/cast#Person :cast871 :auth42
:file281 h ttD://xm I n s. d i vxnetwo rks. co m/2004/ 11/cast#Person :cast872 :auth42
:file281 h ttD://xm I n s. d i vxnetwo rks. co m/2004/ 11/cast#Person :cast873 :auth42
:cast871 h ttD://xm I n s. d i vxnetwo rks. co m/2004/ 11/cast#name Keanu Reeves :auth42
:cast871 h ttD://xm I n s. d i vxnetwo rks. co m/2004/ 11/cast#role Actor :auth42
:cast871 h ttD://xm I n s. d i vxnetwo rks. co m/2004/ 11/cast#character Neo :auth42
:cast282 h ttD://xm I n s. d i vxnetwo rks. co m/2004/ 11/cast#name Andy Wachowski :auth42
:cast282 h ttD://xm I n s. d i vxnetwo rks. co m/2004/ 11/cast#role Director :auth42
:cast283 h ttD://xm I n s. d i vxnetwo rks. co m/2004/ 11/cast#name Larry Wachowski :auth42
:cast283 h ttD://xm I n s. d i vxnetwo rks. co m/2004/ 11/cast#role Director :auth42
:file281 httD ://du rl .ora/dc/elements/1.1 /riahts Copyright 1998 Wamer Brothers. All Rights Reserved. :auth42
_:file281 Series _:file321 _:auth42
_:file321 Episode 2 _:auth42
:file321 httD ://du rl .ora/dc/elements/1.1 /title The Matrix Reloaded :auth42
_:file321 Series _:file122 _:auth42
_:file122 Episode 3 _:auth42
Petição 870180023875, de 23/03/2018, pág. 37/160
33/112
Sujeito Predicado Objeto Autoridade
:auth42 httD://xmlns.com/foaf/0.1 /Oraanizatio n :foaf92 :auth42
:foaf92 httD://xmlns.com/foaf/0.1 /name Wamer Brothers :auth42
:file281 httD://xmllns.divxnetworks.com/2004/ 11/track#track :track#dc00 :auth42
:track#d cOO h ttD://xm I n s. d i vxnetwo rks. co m/2004/ 11/track#resolution 1024x768 :auth42
:file281 h ttD://xm I n s. d i vxnetwo rks. co m/2004/ 11/content#certificationLevel HT :auth42
:track#d cOO h ttD://xm I n s. d i vxnetwo rks. co m/2004/ 11/track#frameTvDeDist 32,1,3,5 :auth42
:track#d cOO h ttD://xm I n s. d i vxnetwo rks. co m/2004/ 11/track#codecSettinas bv1 276 -psy 0 key 300 -b 1 -sc 50 -pq 5 -vbv 6951200,314572 8,2359296 profile 3 -nf :auth42
Tabela 1 - Representação conceituai de 'mel tadados'
[00162] Em uma modalidade, a expressão do sujeito, do predicado, do objeto e da autoridade é implementada utilizando representações binárias dos dados, as quais podem ser consideradas formarem Gráficos Identificados Direcionados (DLGs). Um DLG consiste em nodos que são ou recursos ou literais. Os recursos são os identificadores, os quais podem estar em conformidade com uma convenção de nomeação, tal como um Identificador de Recurso Universal (URI) como definido na RFC 2396 pela Força Tarefa de Engenharia de Internet (http://www.ietf.org/rfc/rfc2396.txt) ou referir a dados específicos para o próprio sistema. Os literais são representações de um valor real, ao invés de uma referência.
[00163] Uma vantagem dos DLGs é que estes permitem a inclusão de um número flexível de itens de dados que são do mesmo tipo, tais
Petição 870180023875, de 23/03/2018, pág. 38/160
34/112 como, os membros do elenco de um filme. No exemplo mostrado na Tabela 1, três membros do elenco estão incluídos. No entanto, qualquer número de membros do elenco pode ser incluído. Os DLGs também permitem as conexões relacionais com outros tipos de dados. Na Tabela 1, existe um item de 'metadados' que tem um sujeito _:file281, um predicado Series, e um objeto _:file321. O sujeito _:file281 indica que os 'metadados' referem-se ao conteúdo do arquivo referenciado como _:fi1e321 (neste caso, o filme The Matrix). O predicado é Series, que indica que o objeto terá informações sobre outros filme na série à qual The Matrix pertence. No entanto, _:file321 não é o título ou nenhuma outra informação específica sobre a série que inclui The Matrix, mas ao contrário uma referência a outra entrada que provê mais informações sobre _:file321. A próxima entrada de 'metadados', com o sujeito _:file321, no entanto inclui os dados sobre _:fi1e321, a saber que o Título como especificado pelo Dublin Core Vocabulary como indicado por http://pur1.Org/dc/elements/1.1/title desta seqüência é The Matrix Reloaded.
[00164] As sentenças de 'metadados' adicionais na Tabela 1 especificam que Keanu Reeves foi um membro do elenco fazendo o papel de Neo e que tanto Larry quanto Andy Wachowski foram os diretores. As informações técnicas estão também expressas nos 'metadados'. As sentenças de 'metadados' identificam que :file281 inclui a trilha :track#dcOO. Os 'metadados' provêem informações que incluem a resolução da trilha de vídeo, o nível de certificação da trilha de vídeo e os ajustes de codec. Apesar de não mostrado na Tabela 1, os 'metadados' podem também incluir um identificador único atribuído a uma trilha no momento da codificação. Quando os identificadores únicos são utilizados, a codificação do mesmo conteúdo múltiplas vezes resultará em um diferente identificador para cada versão do conteúdo.
Petição 870180023875, de 23/03/2018, pág. 39/160
35/112
No entanto, uma cópia de trilha de vídeo codificada reteria o identificador da trilha da qual esta foi copiada.
[00165] As entradas mostradas na Tabela 1 podem ser substituídas por outros vocabulários, tais como, o vocabulário UPnP, o qual é definido pelo fórum UPnP (ver http://www.upnpforum.org). Outra alternativa seria os vocabulários de Linguagem de Declaração de Item Digital (DIDL) ou de DIDL-Lite desenvolvidos pela International Standards Organization como parte do trabalho na direção do padrão MPEG-21. Os seguintes são exemplos de predicados dentro do vocabulário UPnP: urn:schemas-upnp-org:metadata-1-0/upnp/artist urn:schemas-upnp-org:metadata-1-0/upnp/actor urn:schemas-upnp-org:metadata-1-0/upnp/author urn:schemas-upnp-org:metadata-1-0/upnp/producer urn:schemas-upnp-org:metadata-1-0/upnp/director urn:schemas-upnp-org:metadata-1-0/upnp/genre urn:schemas-upnp-org:metadata-1-0/upnp/album urn:schemas-upnp-org:metadata-1-0/upnp/playlist urn:schemas-upnp-org:metadata-1O/upnp/originalT rackNumber urn:schemas-upnp-org:metadata-1-0/upnp/userAnnotation [00166] A autoridade para todos os ‘metadados’ é ‘_:auth42.’ As sentenças de ‘metadados’ mostram que ‘_:auth42’ é ‘Warner Brothers.’ A autoridade permite a avaliação tanto da qualidade do arquivo quanto das sentenças de 'metadados' associadas com o arquivo.
[00167] Os nodos em um gráfico estão conectados através de nodos de recurso nomeados. Uma sentença de 'metadados' consiste em um nodo de sujeito, um nodo de predicado e um nodo de objeto. Opcionalmente, um nodo de autoridade pode estar conectado no DLG como parte da sentença de 'metadados'.
[00168] Para cada nodo, existem certas características que auxiliam
Petição 870180023875, de 23/03/2018, pág. 40/160
36/112 a explicar adicionalmente a funcionalidade do nodo. Os tipos possíveis podem ser representados como segue utilizando a linguagem de programação ANSI C:
/** Invalid Type */ #define RDFIDENTIFIERTYPEUNKNOWN0x00 /** Resource URI rdf:about */ #define RDF IDENTIFIER TYPE RESOURCE0x01 /** rdf:Nodeld, _:file or generated N-Triples */ #define RDF IDENTIFIER TYPE ANONYMOUS0x02 /** Predicate URI */ #define RDF IDENTIFIER TYPE PREDICATE0x03 /** rdf:li, rdf:_<n> */ #define RDF IDENTIFIER TYPE ORDINAL0x04 /** Authority URI */ #define RDF IDENTIFIER TYPE AUTHORITY 0x05 /** UTF-8 formatted literal */ #define RDF IDENTIFIER TYPE LITERAL0x06 /** Literal Integer */ #define RDF IDENTIFIER TYPE INT0x07 /** Literal XML data */ #define RDF IDENTIFIER TYPE XML LITERAL0x08 [00169] Um exemplo de uma estrutura de dados (representada pela linguagem de programação ANSI C) que representa os blocos de 'metadados' contidos dentro do bloco de ‘DXDT’ é como segue: typedef struct RDFDataStruct {
RDFHeader Header; uint32_t numOfStatements;
RDFStatement statements(RDF_MAX_STATEMENTS];
} RDFData
Petição 870180023875, de 23/03/2018, pág. 41/160
37/112 [00170] O bloco de ‘RDFData’ inclui um bloco referido como um bloco de ‘RDFHeader’, um valor de ‘numOfStatements’ e uma lista de blocos de ‘RDFStatement’.
[00171] O bloco de ‘RDFHeader’ bloco contém as informações sobre o modo no qual os ‘metadados' são formatados no bloco. Em uma modalidade, os dados no bloco de ‘RDFHeader’ podem ser representados como segue (representados em ANSI C): typedef struct RDFHeaderStruct { uint16_t uint16_t uint16_t uint16_t RDFSchema } RDFHeader;
[00172] versionMajor;
versionMinor; versionFix; numOfSchemas; schemas(RDF_MAX_SCHEMAS];
O bloco de ‘RDFHeader’ inclui um número de ‘version’ que indica a versão do formato de descrição de recurso para permitir uma compatibilidade para adiante. O cabeçalho inclui um segundo número ‘numOfSchemas’ que representa o número de blocos de ‘RDFSchema’ na lista ‘esquemas’, a qual também faz parte do bloco de ‘RDFHeader’. Em diversas modalidades, os blocos de ‘RDFSchema’ são utilizados para permitir que recursos complexos sejam representados mais eficientemente. Em uma modalidade, os dados contidos em um bloco de ‘RDFSchema’ podem ser representados como segue (representados em ANSI C):
typedef struct RDFSchemaStruct {
wchart* prefix;
wchart* uri;
} RDFSchema;
Petição 870180023875, de 23/03/2018, pág. 42/160
38/112 [00173] O bloco de ‘RDFSchema’ inclui uma primeira seqüência de texto como ‘dc’ identificada como ‘prefix’ e uma segunda seqüência de texto, tal como, ‘http://purl.Org/dc/elements/1.1/’ identificada como ‘uri’. O ‘prefix’ define um termo que pode ser utilizado no ‘metadados’ no lugar do ‘uri’. O ‘uri’ é um Identificador de Recurso Universal, o qual pode ser conforme um vocabulário padronizado específico ou ser um vocabulário específico para um sistema específico.
[00174] Retornando para a discussão do bloco de ‘RDFData’. Além de um bloco de ‘RDFHeader’, o bloco, ‘RDFData’ também inclui um valor de ‘numOfStatements’ e uma lista ‘sentenças’ de blocos de ‘RDFStatement’. O valor de ‘numOfStatements’ indica o número real de blocos de ‘RDFStatement’ na lista ‘sentenças’ que contém as informações. Em uma modalidade, os dados contidos no bloco de ‘RDFStatement’ podem representados como segue (representados em ANSI C):
typedef struct RDFStatementStruct {
RDFSubject subject;
RDFPredicate predicate;
RDFObject object;
RDFAuthority authority;
} RDFStatement;
[00175] Cada bloco de ‘RDFStatement’ contém um trecho de ‘metadados’ referente ao arquivo de multimídia. Os blocos ‘subject’, ‘predicate’, Object’ e ‘authority’ são utilizados para conter os vários componentes dos ‘metadados’ acima descritos.
[00176] O ‘subject’ e um bloco de ‘RDFSubject’, o qual representa a porção de sujeito dos ‘metadados’ acima descritos. Em uma modalidade os dados contidos nos bloco de ‘RDFSubject’ podem ser representados como segue (representados em ANSI C):
Petição 870180023875, de 23/03/2018, pág. 43/160
39/112 typedef struct RDFSubjectStruct {
uint16_t type;
wchart* value;
} RDFSubject;
[00177] O bloco de ‘RDFSubject’ acima mostrado inclui um valor de ‘type’ que indica que os dados são ou um Recurso ou um nodo anônimo de um trecho de ‘metadados’ e uma seqüência de texto unicode ‘value’, o qual contém os dados que representam o sujeito do trecho de ‘metadados’. Nas modalidades onde o bloco de ‘RDFSchema’ foi definido o valor pode ser um termo definido ao invés de uma referência direta a um recurso.
[00178] O ‘predicate’ em um bloco de ‘RDFStatement’ é um bloco de ‘RDFPredicate’, o qual representa a porção de predicado de um trecho de ‘metadados’. Em uma modalidade os dados contidos em um bloco de ‘RDFPredicate’ podem ser representados como segue (representados em ANSI C):
typedef struct RDFPredicateStruct {
uint16_t type;
wchart* value;
} RDFPredicate;
[00179] O bloco de ‘RDFPredicate’ acima mostrado inclui um valor de ‘type’ que indica que os dados é o predicado URI ou uma entrada de lista ordinal de um trecho de ‘metadados’ e uma seqüência de texto ‘value,’ o qual contém os dados que representam o predicado em um trecho de ‘metadados.’ Nas modalidades onde um bloco de ‘RDFSchema’ foi definido o valor pode ser um termo definido ao invés de uma referência direta a um recurso.
[00180] O Object’ em um bloco de ‘RDFStatement’ é um bloco de
Petição 870180023875, de 23/03/2018, pág. 44/160
40/112 ‘RDFObject’ o qual representa a porção de objeto de um trecho de ‘metadados.’ Em uma modalidade, os dados contidos no bloco de ‘RDFObject’ podem ser representados como segue (representados em ANSI C):
typedef struct RDFObjectStruct {
uint16_t type;
wchart* language; wchart* dataTypeURI;
wchart* value;
} RDFObject;
[00181] O bloco de ‘RDFObject’ acima mostrado inclui um valor de ‘type’ que indica que o trecho de dados é uma seqüência literal UTF-8, um inteiro literal ou dados de XML literais de um trecho de ‘metadados.’ O bloco também inclui três valores. O primeiro valor de ‘language’ é utilizado para representar a linguagem na qual o trecho de ‘metadados’ é expresso (por exemplo, o título de um filme pode variar em diferentes linguagens). Em diversas modalidades, uma representação padrão pode ser utilizada para identificar a linguagem (tal como RFC 3066 - Identificador para a Identificação de Linguagens especificado pela Força Tarefa de Engenharia de Internet, ver http://www.ietf.org/rfc/rfc3066.txt). O segundo valor de ‘dataTypeURI’ é utilizado para indicar o tipo de dados que estão contidos no campo ‘value’ se estes não puderem ser explicitamente indicados pelo campo ‘type’. O URI especificado pelo dataTypeURI aponta para o Vocabulário RDF URI geral utilizado para descrever o tipo específico de Dados utilizados. Os diferentes formatos nos quais o URI pode ser expresso estão descritos em http://www.w3. org/TR/rdf-concepts/#sectionDatatypes. Em uma modalidade, o ‘value’ é um ‘wide character.’ Em outras modalidades o ‘value’ pode ser qualquer um de uma variedade
Petição 870180023875, de 23/03/2018, pág. 45/160
41/112 de tipos de dados de um único bit até uma imagem ou uma seqüência de vídeo. O ‘value’ contém o trecho de objeto dos ‘metadados.’ [00182] A ‘authority’ em um bloco de ‘RDFStatement’ é um bloco de ‘RDFAuthority’, o qual representa a porção de autoridade de um trecho de ‘metadados.’ Em uma modalidade os dados contidos nos bloco de ‘RDFAuthority’ podem ser representados como segue (representados em ANSI C):
typedef struct RDFAuthorityStruct {
uint16_t type;
wchart* value;
} RDFAuthority;
[00183] A estrutura de dados de ‘RDFAuthority’ acima mostrada inclui um valor de ‘type’ que indica que os dados são um Recurso ou um nodo anônimo de um trecho de ‘metadados.’ O ‘value’ contém os dados que representam a autoridade para os 'metadados'. Em modalidades onde um bloco de ‘RDFSchema’ foi definido o valor pode ser um termo definido ao invés de uma referência direta a um recurso.
[00184] Uma representação conceituai do armazenamento de um bloco de ‘DXDT’ de um arquivo de multimídia de acordo com uma modalidade da presente invenção está mostrada na Figura 2.3. O bloco de ‘DXDT’ 38 inclui um bloco de ‘RDFHeader’ 110, um valor de ‘numOfStatements’ 112 e uma lista de blocos de RDFStatement 114. O bloco de RDFHeader 110 inclui um valor de ‘version’ 116, um valor de ‘numOfSchemas’ 118 e uma lista de blocos de ‘Schema’ 120. Cada bloco de ‘RDFStatement’ 114 inclui um bloco de ‘RDFSubject’ 122, um bloco de ‘RDFPredicate’ 124, um bloco de ‘RDFObject’ 126 e um bloco de ‘RDFAuthority’ 128. O bloco de ‘RDFSubject’ inclui um valor de ‘type’ 130 e um valor de ‘value’ 132. O bloco de ‘RDFPredicate’ 124 também inclui um valor de ‘type’ 134 e um valor de ‘value’ 136. O bloco de
Petição 870180023875, de 23/03/2018, pág. 46/160
42/112 ‘RDFObject’ 126 inclui um valor de ‘type’ 138, um valor de ‘language’ 140 (mostrado na figura como ‘lang’), um valor de ‘dataTypeURI’ 142 (mostrado na figura como 'dataT’) e um valor de ‘value’ 144. O bloco de ‘RDFAuthority’ 128 inclui um valor de ‘type’ 146 e um valor de ‘value’ 148. Apesar do bloco de ‘DXDT’ ilustrado ser mostrado como incluindo um único bloco de ‘Schema’ e um único de bloco de ‘RDFStatement’, uma pessoa versada na técnica prontamente apreciará que diferentes números de blocos de ‘Schema’ e de blocos de ‘RDFStatement’ podem ser utilizados em um bloco que descreve os ‘metadados.’ [00185] Como abaixo discutido, os arquivos de multimídia de acordo com as modalidades da presente invenção podem ser continuamente modificados e atualizados. A determinação com antecedência do 'metadados' para associar com o próprio arquivo e os 'metadados' para acessar remotamente (por exemplo, através da Internet) pode ser difícil. Tipicamente, 'metadados' suficientes estão contidos em um arquivo de multimídia de acordo com uma modalidade da presente invenção de modo a descrever o conteúdo do arquivo. Informações adicionais podem ser obtidas se o dispositivo que revê o arquivo é capaz de acessar através de uma rede outros dispositivos que contém os 'metadados' referenciados de dentro do arquivo.
[00186] Os métodos para representar os 'metadados' acima descritos podem ser extensíveis e podem prover a capacidade de adicionar ou remover os diferentes campos de 'metadados' armazenados dentro do arquivo conforme a necessidade destes muda ao longo do tempo. Além disso, a representação de 'metadados' pode ser compatível para adiante entre as revisões.
[00187] O modo estruturado no qual os 'metadados' são representados de acordo com as modalidades da presente invenção permite que os dispositivos consultem o arquivo de multimídia para melhor determinar o seu conteúdo. A consulta podería então ser utilizada para
Petição 870180023875, de 23/03/2018, pág. 47/160
43/112 atualizar o conteúdo do arquivo de multimídia, para obter 'metadados' adicionais referentes ao arquivo de multimídia, gerar um menu relativo ao conteúdo do arquivo ou executar qualquer outra função que envolva o processamento automático de dados representados em um formato padrão. Além disso, a definição do comprimento de cada elemento analisável dos 'metadados' pode aumentar a facilidade com a qual os dispositivos com quantidades limitadas de memória, tais como, os dispositivos eletrônicos do consumidor, podem acessar os 'metadados'.
[00188] Em outras modalidades, os 'metadados' são representados utilizando blocos individuais para cada trecho de 'metadados'. Diversos blocos de ‘DXDT’ de acordo com a presente invenção incluem um bloco binário que contém os 'metadados' codificados como acima descrito e blocos adicionais que contém trechos individuais de 'metadados' formatados ou como acima descrito ou em outro formato. Nas modalidades onde os 'metadados' binários estão incluídos no bloco de ‘DXDT’ os 'metadados' binários podem ser representados utilizando ASCII codificado em 64-bits. Em outras modalidades, outras representações binárias podem ser utilizadas.
[00189] Exemplos de blocos individuais que pode ser incluídos no bloco de ‘DXDT’ de acordo com a presente invenção estão ilustrados na Figura 2.3.1. Os ‘metadados’ incluem um bloco de ‘MetaData’ 150 que pode conter um bloco de ‘PixelAspectRatioMetaData’ 152a, um bloco de ‘EncoderURIMetaData’ 152b, um bloco de ‘CodecSettingsMetaData’ 152c, um bloco de ‘FrameTypeMetaData’ 152d, um bloco de ‘VideoResolutionMetaData’ 152e, um bloco de ‘PublisherMetaData’ 152f, um bloco de ‘CreatorMetaData’ 152g, um bloco de ‘GenreMetaData’ 152h, um bloco de ‘CreatorToolMetaData’ 152i, um bloco de ‘RightsMetaData’ 152j, um bloco de ‘RunTimeMetaData’ 152k, um bloco de ‘QuantizerMetaData’ 1521, um bloco de ‘CodecInfoMetaData’
Petição 870180023875, de 23/03/2018, pág. 48/160
44/112
152m, um bloco de ‘EncoderNameMetaData’ 152n, um bloco de FrameRateMetaData’ 152o, um bloco de ‘InputSourceMetaData’ 152p, um bloco de ‘FilelDMetaData’ 152q, um bloco de ‘TypeMetaData’ 152r, um bloco de ‘TitleMetaData’ 152s e/ou um bloco de ‘CertLevelMetaData’ 152t.
[00190] O bloco de ‘PixelAspectRatioMetaData’ 152a inclui as informações referentes à razão de aspecto de pixel do vídeo codificado. O bloco de ‘EncoderURIMetaData’ 152b inclui as informações referentes ao codificador. O bloco de ‘CodecSettingsMetaData’ 152c inclui as informações referentes aos ajustes do codec utilizado para codificar o vídeo. O bloco de ‘FrameTypeMetaData’ 152d inclui as informações referentes aos quadros de vídeo. O bloco de The ‘VideoResolutionMetaData’ 152e inclui as informações referentes à resolução de vídeo do vídeo codificado. O bloco de ‘PublisherMetaData’ 152f inclui as informações referentes à pessoa ou à organização que publicou a mídia. O bloco de ‘CreatorMetaData’ 152g inclui as informações referentes ao criador do conteúdo. O bloco de ‘GenreMetaData’ 152h inclui as informações referentes ao gênero da mídia. O bloco de ‘CreatorToolMetaData’ 152i inclui as informações referentes à ferramenta utilizada para criar o arquivo. O bloco de ‘RightsMetaData’ 152j inclui as informações referentes ao DRM. O bloco de ‘RunTimeMetaData’ 152k inclui as informações referentes ao tempo de duração da mídia. O bloco de ‘QuantizerMetaData’ 1521 inclui as informações referentes ao quantificador utilizado para codificar o vídeo. O bloco de ‘CodecInfoMetaData’ 152m inclui as informações referentes ao codec. O bloco de ‘EncoderNameMetaData’ 152n inclui as informações referentes ao nome do codificador. O bloco de FrameRateMetaData’ 152o inclui as informações referentes à taxa de quadros da mídia. O bloco de ‘InputSourceMetaData’ 152p inclui as informações referentes à fonte de entrada. O bloco de ‘FilelDMetaData’ 152q inclui um identificador único para o arqui
Petição 870180023875, de 23/03/2018, pág. 49/160
45/112 vo. O bloco de ‘TypeMetaData’ 152r inclui as informações referentes ao tipo do arquivo de multimídia. O bloco de ‘TitleMetaData’ 152s inclui as informações referentes ao título da mídia e o bloco de ‘CertLevelMetaData’ 152t inclui as informações referentes ao nível de certificação da mídia. Em outras modalidades, blocos adicionais podem ser incluídos que contém ‘metadados’ adicionais. Em diversas modalidades, um bloco que contém ‘metadados’ em um formato binário como acima descrito pode ser incluído no bloco de 'MetaData'. Em uma modalidade o bloco de 'metadados' binários é codificado como ASCII 64 bits.
2.5. Os Blocos de 'DMNU' [00191] Referindo às Figuras 2.0 e 2.0.1, um primeiro bloco de 'DMNU' 40 (40') e um segundo bloco de 'DMNU' 46 (46') estão mostrados. Na Figura 2.0 o segundo bloco de 'DMNU' 46 faz parte do arquivo de multimídia 30. Na modalidade ilustrada na Figura 2.0.1, o bloco de 'DMNU' 46' está contido em um bloco de RIFF separado. Em ambos os casos, o primeiro e o segundo bloco de 'DMNU' contém dados que podem ser utilizados para exibir menus navegáveis. Em uma modalidade, o primeiro bloco de 'DMNU' 40 (40') contém os dados que podem ser utilizados para criar um menu simples que não inclui características avançadas, tais como, as animações de fundo estendidas. Além disso o segundo bloco de 'DMNU' 46 (46') inclui os dados que podem ser utilizados para criar um menu mais complexos que inclui, tais características avançadas como um fundo animado estendido.
[00192] Em diversas modalidades, a provisão de um menu simples e um complexo pode permitir que um dispositivo escolha o menu que este deseje exibir. A colocação do menor dos dois menus antes do bloco de lista de 'movi' 42 permite que os dispositivos de acordo com as modalidades da presente invenção que não podem exibir os menus avancem rapidamente sobre as informações que não podem ser exibiPetição 870180023875, de 23/03/2018, pág. 50/160
46/112 das.
[00193] Em outras modalidades, os dados requeridos para criar um único menu são divididos entre o primeiro e o segundo bloco de 'DMNU'. Alternativamente, o bloco de 'DMNU' pode ser um único bloco antes do bloco de 'movi' que contém os dados para um único conjunto de menus ou múltiplos conjuntos de menus. Em outras modalidades, o bloco de 'DMNU' pode ser um único ou múltiplos blocos localizados em outros locais através de todo o arquivo de multimídia.
[00194] Em diversos arquivos de multimídia de acordo com a presente invenção, o primeiro bloco de 'DMNU' 40 (40') pode ser automaticamente gerado com base em um menu 'mais rico' no segundo bloco de 'DMNU' 46 (46'). A geração automática de menus está abaixo discutida em maiores detalhes.
[00195] A estrutura de um bloco de 'DMNU' de acordo com uma modalidade da presente invenção está mostrada na Figura 2.4. O bloco de 'DMNU' 158 é uma bloco de lista que contém um bloco de menu 160 e um bloco de 'MRIF' 162. O bloco de menu contém as informações necessárias para construir e navegar através dos menus. O bloco de 'MRIF' contém as informações de mídia que podem ser utilizadas para proverem as legendas, o vídeo de fundo e o áudio de fundo para os menus. Em diversas modalidades, o bloco de 'DMNU' contém as informações de menu que permitem a exibição de menus em diversas diferentes linguagens.
[00196] Em uma modalidade o bloco de 'WowMenu' 160 contém a hierarquia de objetos de bloco de menu que estão conceituai mente ilustrados na Figura 2.5. No topo da hierarquia está o bloco de 'WowMenuManager' 170. O bloco de 'WowMenuManager' pode conter um ou mais blocos de 'LanguageMenus' 172 e um bloco de 'Media' 174.
[00197] A utilização de blocos de 'Language Menus' 172 permite que o bloco de 'DMNU' 158 contenha as informações de menu em di
Petição 870180023875, de 23/03/2018, pág. 51/160
47/112 ferentes linguagens. Cada bloco de 'LanguageMenus' 172 contém as informações utilizadas para gerar um conjunto completo de menus em uma linguagem especificada. Portanto, o bloco de 'LanguageMenus' inclui um identificador que identifica a linguagem das informações associadas com o bloco de 'LanguageMenus'. O bloco de 'LanguageMenus' também inclui uma lista de blocos de 'WowMenu' 175.
[00198] Cada bloco de 'WowMenu' 175 contém todas as informações a serem exibidas na tela para um menu específico. Estas informações podem incluir um vídeo e áudio de fundo. As informações podem também incluir os dados referentes às ações dos botões que podem ser utilizados para acessar outros menus ou para sair do menu e começas a exibir uma porção do arquivo de multimídia. Em uma modalidade, o bloco de WowMenu' 175 inclui uma lista de referências de mídia. Estas referências referem-se a informações contidas no bloco de 'Media' 174, o qual será discutido adicionalmente abaixo. As referências à mídia podem definir o vídeo de fundo e o áudio de fundo para um menu. O bloco de 'WowMenu' 175 também define uma sobreposição que pode ser utilizada para realçar um botão específico, quando um menu é primeiramente acessado.
[00199] Além disso, cada bloco de 'WowMenu' 175 inclui um número de blocos de 'ButtonMenu' 176. Cada bloco de 'ButtonMenu' 176 define as propriedades de um botão na tela. O bloco de 'ButtonMenu' pode descrever, tais coisas como a sobreposição a utilizar quando o botão é realçado pelo usuário, o nome do botão e o que fazer em resposta a várias ações executadas por um usuário que navega através do menu. As respostas às ações são definidas referenciando um bloco de 'Action' 178. Uma única ação, por exemplo, selecionar um botão, pode resultar em diversos blocos de 'Action' sendo acessado. Em modalidades onde o usuário é capaz de interagir com o menu utilizando um dispositivo, tal como um mouse que permite que um ponteiro na
Petição 870180023875, de 23/03/2018, pág. 52/160
48/112 tela se mova ao redor do display em um modo irrestrito, a localização na tela dos botões pode ser definida utilizando um bloco de 'MenuRectangle' 180. O conhecimento da localização na tela do botão permite ao sistema determinar se um usuário está selecionando um botão, quando utilizando um dispositivo de entrada de livre alcance.
[00200] Cada bloco de 'Action' identifica um ou mais de um número de diferentes variedade de blocos relativos a ações, os quais podem incluir um bloco de 'PlayAction' 182, um bloco de 'MenuTransitionActiori 184, um bloco 'ReturnToPlayAction' 186, um bloco de 'AudioSelectAction' 188, um bloco de 'SubtitileSelectAction' 190 e um bloco de 'ButtonTransitionAction' 191. Um bloco de 'PlayAction' 182 identifica uma porção de cada uma das trilhas de vídeo, de áudio e de legenda dentro de um arquivo de multimídia. O bloco de 'PlayAction' referencia uma porção da trilha de vídeo utilizando uma referência a um bloco de 'MediaTrack' bloco (ver discussão abaixo). O bloco de 'PlayAction' identifica as trilhas de áudio e de legenda utilizando os blocos de 'SubtitleTrack' 192 e de 'AudioTrack' 194. Os blocos de 'SubtitleTrack' e de 'AudioTrack' ambos contém referências a um bloco de 'MediaTrack' 198. Quando um bloco de 'PlayAction' forma a base de uma ação de acordo com as modalidades da presente invenção, as trilhas de áudio e de legenda que são selecionadas são determinadas pelos valores de variáveis determinadas inicialmente como padrão e então potencialmente modificadas por interações do usuário com o menu.
[00201] Cada bloco de ‘MenuTransitionAction’ 184 contém uma referência a um bloco de ‘WowMenu’ 175. Esta referência pode ser utilizada para obter as informações para a transição para e exibir outro menu.
[00202] Cada bloco de ‘ReturnToPlayAction’ 186 contém as informações que permitem que um reprodutor retorne para uma porção do arquivo de multimídia que estava sendo acessado antes do usuário
Petição 870180023875, de 23/03/2018, pág. 53/160
49/112 trazer um menu.
[00203] Cada bloco de ‘AudioSelectAction’ 188 contém as informações que podem ser utilizadas para selecionar uma trilha de áudio específica. Em uma modalidade, a trilha de áudio é selecionada de trilhas de áudio contidas em um arquivo de multimídia de acordo com uma modalidade da presente invenção. Em outras modalidades, a trilha de áudio pode estar localizada em um arquivo externamente referenciado.
[00204] Cada bloco de ‘SubtitleSelectAction’ 190 contém as informações que podem ser utilizadas para selecionar uma trilha de legenda específica. Em uma modalidade, a trilha de legenda é selecionada de uma legenda contida em um arquivo de multimídia de acordo com uma modalidade da presente invenção. Em outras modalidades, a trilha de legenda pode estar localizada em um arquivo externamente referenciado.
[00205] Cada bloco de ‘ButtonTransitionAction’ 191 contém as informações que podem ser utilizadas para transicionar para outro botão no mesmo menu. Isto é executado após outras ações associadas com um botão terem sido executadas.
[00206] O bloco de ‘Media’ 174 inclui um número de blocos de ‘MediaSource’ 166 e de blocos de ‘MediaTrack’ 198. O bloco de ‘Media’ define todas as trilhas de multimídia (por exemplo, áudio, vídeo, legenda) utilizadas pelo filme e pelo sistema de menu. Cada bloco de ‘MediaSource’ 196 identifica um bloco de RIFF dentro do arquivo de multimídia de acordo com uma modalidade da presente invenção, o qual, por sua vez, pode incluir múltiplos blocos de RIFF. Cada bloco de ‘MediaTrack’ 198 identifica uma porção de uma trilha de multimídia dentro de um bloco de RIFF especificado por um bloco de ‘MediaSource’.
[00207] O bloco de ‘MRIF’ 162 é, essencialmente, o seu próprio pe
Petição 870180023875, de 23/03/2018, pág. 54/160
50/112 queno arquivo de multimídia em conformidade com o formato RIFF. O bloco de 'MRIFF' contém trilhas de áudio, de vídeo e de legenda que podem ser utilizadas para prover áudio e vídeo de fundo e sobreposições para os menus. O bloco de ‘MRIF’ pode também conter um vídeo a ser utilizado como sobreposições para indicar os botões de menu realçados. Nas modalidades onde menos dados de menu são requeridos, o vídeo de fundo pode ser um quadro parado (uma variação do formato AVI) ou uma pequena seqüência de quadros idênticos. Em outras modalidades, seqüências de vídeo mais elaboradas podem ser utilizadas para prover o vídeo de fundo.
[00208] Como acima discutido, os vários blocos que fazem parte de um bloco de ‘WowMenu’ 175 e o próprio bloco de ‘WowMenu’ contém referências a trilhas de mídia reais. Cada uma destas referências é tipicamente para uma trilha de mídia definida no bloco de LISTA de ‘hdrl’ de um bloco de RIFF.
[00209] Outros blocos que podem ser utilizados para criar um bloco de ‘DMNU’ de acordo com a presente invenção estão mostrados na Figura 2.6. O bloco de ‘DMNU’ inclui um bloco de ‘WowMenuManager’ 170’. O bloco de ‘WowMenuManager’ 170’ pode conter pelo menos um bloco de ‘LanguageMenus’ 172’, pelo menos um bloco de ‘Media’ 174’ e pelo menos um bloco de ‘TranslationTable’ 200.
[00210] O conteúdo do bloco de ‘LanguageMenus’ 172’ é grandemente similar àquele do bloco de ‘LanguageMenus’ 172 ilustrado na Figura 2.5. A diferença principal é que o bloco de ‘PlayAction’ 182’ não contém os blocos de ‘SubtitleTrack’ 192 e os blocos de ‘AudioTrack’ 194.
[00211] O bloco de ‘Media’ 174’ é significativamente diferente do bloco de ‘Media’ 174 mostrado na Figura 2.5. O bloco de ‘Media’ 174’ contém pelo menos um bloco de ‘Title’ 202 e pelo menos um bloco de ‘MenuTracks’ 204. O bloco de ‘Title’ refere-se a um título dentro do ar
Petição 870180023875, de 23/03/2018, pág. 55/160
51/112 quivo de multimídia. Como acima discutido, os arquivos de multimídia de acordo com as modalidades da presente invenção podem incluir mais do que um título (por exemplo, múltiplos episódios em uma série de televisão, uma série relativa de filmes de comprimento total ou simplesmente uma seleção de diferentes filmes). O bloco de ‘MenuTracks’ 204 contém as informações referentes às informações de mídia que são utilizadas para criar um display de menu e a trilha de som de áudio e as legendas que acompanham o display.
[00212] O bloco de ‘Title’ pode conter pelo menos um bloco de ‘Chapter’ 206. O bloco de ‘Chapter’ 206 referencia uma cena dentro de um título específico. O bloco de ‘Chapter’ 206 contém referências às porções de trilha de vídeo, cada trilha de áudio e cada trilha de legenda que correspondem à cena indicada pelo bloco de ‘Chapter’. Em uma modalidade, as referências são implementadas utilizando os blocos de ‘MediaSource’ 196’ e os blocos de ‘MediaTrack’ 198’ similares àqueles acima descritos em relação à Figura 2.5. Em diversas modalidades, um bloco de ‘MediaTrack’ referencia a porção apropriada da trilha de vídeo e um número de blocos de ‘MediaTrack’ adicionais cada um referencia uma das trilhas de áudio ou trilhas de legenda. Em uma modalidade, todas as trilhas de áudio e as trilhas de legenda que correspondem a uma trilha de vídeo específica são referenciadas utilizando blocos de ‘MediaTrack’ separados.
[00213] Como acima descrito, os blocos de ‘MenuTracks’ 204 contém referências à mídia que é utilizada para gerar o áudio, o vídeo e a mídia de sobreposição dos menus. Em uma modalidade, as referências às informações de mídia são feitas utilizando os blocos de ‘MediaSource’ 196’ e os blocos de ‘MediaTrack’ 198’ contidos no bloco de ‘MenuTracks’. Em uma modalidade, os blocos de ‘MediaSource’ 196’ e os blocos de ‘MediaTrack’ 198’ são implementados no modo acima descrito em relação à Figura 2.5.
Petição 870180023875, de 23/03/2018, pág. 56/160
52/112 [00214] O bloco de ‘TranslationTable’ 200 pode ser utilizado para conter seqüências de texto que descrevem cada título e capítulo em uma variedade de linguagens. Em uma modalidade, o bloco de ‘TranslationTable’ 200 inclui um bloco de ‘TranslationLookup’ 208. Cada bloco de ‘TranslationLookup’ 208 está associado com um bloco de ‘Title’ 202, um bloco de ‘Chapter’ 206 ou um bloco de ‘MediaTrack’ 196’ e contém um número de blocos de ‘Translation’ 210. Cada um dos bloco de ‘Translation’ em um bloco de ‘TranslationLookup’ contém uma seqüência de texto que descreve o bloco associado com o bloco de ‘TranslationLookup’ em uma linguagem indicada pelo bloco de ‘Translation’.
[00215] Um diagrama que ilustra conceituai mente as relações entre os vários blocos contidos em um bloco de ‘DMNU’ está ilustrado na Figura 2.6.1. A figura mostra a contenção de um bloco por outro bloco utilizando uma seta cheia. A direção na qual a seta aponta indica o bloco contido pelo bloco do qual a seta origina. As referências por um bloco a outro bloco estão indicadas por uma linha tracejada, onde o bloco referenciado está indicado pela seta tracejada.
2.6. O Bloco de ‘junk’ [00216] O bloco de ‘junk’ 41 é um bloco opcional que pode ser incluído em arquivos de multimídia de acordo com as modalidades da presente invenção. A natureza do bloco de ‘junk’ é especificada no formato de arquivo AVI.
2.7. O Bloco de Lista de ‘movi’ [00217] O bloco de lista de ‘movi’ 42 contém um número de blocos de ‘data’. Exemplos de informações que os blocos de ‘data’ podem conter são os dados de áudio, de vídeo ou de legenda. Em uma modalidade, o bloco de lista de ‘movi’ inclui os dados para pelo menos uma trilha de vídeo, múltiplas trilhas de áudio e múltiplas trilhas de legenda. [00218] A intercalação de blocos de ‘data’ no bloco de lista de ‘movi’
Petição 870180023875, de 23/03/2018, pág. 57/160
53/112 de um arquivo de multimídia que contém uma trilha de vídeo, três trilhas de áudio e três trilhas de legenda está ilustrada na Figura 2.7. Para o bem da conveniência, um bloco de ‘data’ que contém um vídeo será descrito como um bloco de ‘video’, um bloco de ‘data’ que contém um áudio será referido como um bloco de ‘audio’ e um bloco de ‘data’ que contém legendas será referenciado como um bloco de ‘subtitle’. No bloco de lista ‘movi’ 42 ilustrado, cada bloco de ‘video’ 262 está separado do próximo bloco de ‘video’ por blocos de ‘audio’ 264 de cada uma das trilhas de áudio. Em diversas modalidades, os blocos de ‘audio’ contém a porção da trilha de áudio que corresponde à porção de vídeo contida no bloco de ‘video’ após o bloco de ‘audio’.
[00219] Os blocos de ‘video’ adjacentes podem também estar separados por um ou mais blocos de ‘subtitle’ 266 de uma das trilhas de legenda. Em uma modalidade, o bloco de ‘subtitle’ 266 inclui uma legenda e um tempo de partida e um tempo de parada. Em diversas modalidades o bloco de ‘subtitle’ é intercalado no bloco de lista de ‘movi’ de modo que o bloco de ‘video’ que segue o bloco de ‘subtitle’ inclui a porção de vídeo que ocorre no tempo de partida da legenda. Em outras modalidades, o tempo de partida de todos os blocos de ‘subtitle’ e de ‘audio’ está à frente do tempo de partida equivalente do vídeo. Em uma modalidade os blocos de ‘audio’ e de ‘subtitle’ podem estar colocados dentro de 5 segundos do bloco de ‘video’ correspondente e em outras modalidades os blocos de ‘audio’ e de ‘subtitle’ podem estar colocados dentro de um tempo relativos à quantidade de vídeo capaz de ser armazenada por um dispositivo capaz de exibir o áudio e o vídeo dentro do arquivo.
[00220] Em uma modalidade os blocos de ‘data’ incluem um código ‘FOURCC’ para identificar o fluxo ao qual o bloco de 'data' pertence. O código ‘FOURCC’ consiste em um número de fluxo de dois dígitos seguido por um código de dois caracteres que define o tipo de informa
Petição 870180023875, de 23/03/2018, pág. 58/160
54/112 ção no bloco . (Raider) Um código ‘FOURCC’ alternativo consiste em um código de dois caracteres que define o tipo de informação no bloco seguido pelo número de fluxo de dois dígitos. Exemplos do código de dois caracteres estão mostrados na tabela seguinte:
Código de dois caracteres Descrição
db Quadro de vídeo não comprimido
dc Quadro de vídeo comprimido
dd Informações de chave para o quadro de vídeo
PC Mudança de paleta
wb Dados de áudio
st Legenda (modo de texto)
sb Legenda (modo de mapa de bits)
ch Capítulo
Tabela 2 - Códigos de dois caracteres selecionados utilizados nos códigos FOURCC [00221] Em uma modalidade, a estrutura dos blocos de ‘video’ 262 e dos blocos de ‘audio’ 264 está em conformidade com o formato de arquivo AVI. Outros formatos para os blocos podem ser utilizados que especificam a natureza da mídia e contém a mídia codificada.
[00222] Em diversas modalidades os dados contidos em um bloco de ‘subtitle’ 266 podem ser representados como segue:
typedef struct _subtitlebloco {
FOURCC fcc;
DWORD cb;
STR duration;
STR subtitle;
} SUBTITLEBLOCO;
[00223] O valor de ‘fcc’ é o código FOURCC que indica a trilha de legenda e a natureza da trilha de legenda (modo de texto ou de mapa de bits). O valor de ‘cb’ especifica o tamanho da estrutura. O valor de ‘duration’ especifica o tempo no ponto de início e de fim da legenda.
Petição 870180023875, de 23/03/2018, pág. 59/160
55/112
Em uma modalidade, este pode estar na forma hh:mm:ss.xxxhh:mm:ss.xxx. O hh representa as horas, mm os minutos, ss os segundos e xxx os milisegundos. O valor de ‘subtitle’ contém ou o texto Unicode da legenda no modo de texto ou uma imagem de mapa de bits da legenda no modo de mapa de bits. Diversas modalidades da presente invenção utilizam imagens de mapa de bits comprimidas para representar as informações de legenda. Em uma modalidade, o campo ‘subtitle’ contém as informações referentes à largura, altura e a posição na tela da legenda. Além disso o campo ‘subtitle’ poder também conter as informações de cor e os pixels reais do mapa de bits. Em diversas modalidades, uma codificação de comprimento de operação é utilizada para reduzir a quantidade de informações de pixels requerida para representar o mapa de bits.
[00224] Os arquivos de multimídia de acordo com as modalidades da presente invenção podem incluir o gerenciamento de direitos digitais. Estas informações podem ser utilizadas em aplicações de vídeo sob demanda. Os arquivos de multimídia que são protegidos por gerenciamento de direitos digitais podem somente ser reproduzidos corretamente em um reprodutor ao qual tenha sido concedido o direito de reprodução específico. Em uma modalidade, o fato de que uma trilha está protegida por gerenciamento de direitos digitais pode estar indicado nas informações sobre a trilha no bloco de lista de 'hdrl' (ver descrição acima). Um arquivo de multimídia de acordo com uma modalidade da presente invenção que inclui uma trilha protegida por gerenciamento de direitos digitais pode também conter as informações sobre o gerenciamento de direitos digitais no bloco de lista de ‘movi’.
[00225] Um bloco de lista de 'movi' de um arquivo de multimídia de acordo com uma modalidade da presente invenção que inclui uma trilha de vídeo, múltiplas trilhas de áudio, e pelo menos uma trilha de legenda e informações que permitem o gerenciamento de direitos digi
Petição 870180023875, de 23/03/2018, pág. 60/160
56/112 tais está ilustrado na Figura 2.8. O bloco de lista de ‘movi’ 42’ é similar ao bloco de lista de ‘movi’ mostrado na Figura 2.7 com a adição de um bloco de ‘DRM’ 270 antes de cada bloco de vídeo 262’. Os blocos de ‘DRM’ 270 são blocos de ‘data’ que contêm as informações de gerenciamento de direitos digitais, as quais podem ser identificadas por um ‘nndd’ de código FOURCC. Os primeiros dois caracteres ‘nn’ referemse ao número da trilha e os segundos dois caracteres são ‘dd’ para significar que o bloco contém as informações de gerenciamento de direitos digitais. Em uma modalidade, o bloco de ‘DRM’ 270 provê as informações de gerenciamento de direitos digitais para o bloco de ‘video’ 262’ após o bloco de ‘DRM’. Um dispositivo que tenta reproduzir a trilha de vídeo protegida por gerenciamento de direitos digitais utiliza as informações no bloco de ‘DRM’ para decodificar as informações de vídeo no bloco de ‘video’. Tipicamente, a ausência de um bloco de ‘DRM’ antes de um bloco de 'video’ é interpretada como significando que o bloco de ‘video’ está desprotegido.
[00226] Em um sistema de criptografia de acordo com uma modalidade da presente invenção, os blocos de vídeo são somente parcialmente criptografados. Onde uma criptografia parcial é utilizada, os blocos de ‘DRM’ contém uma referência à porção de um bloco de ‘video’ que está criptografado e uma referência à chave que pode ser utilizada para decifrar a porção criptografada. As chaves de decifração podem estar localizadas em um cabeçalho de ‘DRM’, o qual faz parte do bloco de ‘strd’ (ver descrição acima). As chaves de decifração são misturadas e criptografadas com uma chave mestre. O cabeçalho de ‘DRM’ também contém as informações que identificam a chave mestre.
[00227] Uma representação conceituai das informações em um bloco de ‘DRM’ está mostrada na Figura 2.9. O bloco de 'DRM’ pode incluir um valor de ‘frame’ 280, um valor de 'status’ 282, um valor de Offset’ 284, um valor de ‘number’ 286 e um valor de ‘key’ 288. O valor
Petição 870180023875, de 23/03/2018, pág. 61/160
57/112 de ‘frame’ pode ser utilizada para referenciar o quadro de vídeo criptografado. O valor de ‘status’ pode ser utilizado para indicar se o quadro está criptografado, o valor de Offset’ 284 aponta para o início do bloco criptografado dentro do quadro e o valor de ‘number’ 286 indica o número de bytes criptografados no bloco. O valor de ‘key’ 288 referencia a chave de decifração que pode ser utilizada para decifrar o bloco.
2.8. O Bloco de *idx1 ’ [00228] O bloco de ‘idx1 ’ 44 é um bloco opcional que pode ser utilizado para indexar os blocos de ‘data’ no bloco de lista de ‘movi’ 42. Em uma modalidade, o bloco de ‘idx1 ’ pode ser implementado como especificado no formato AVI. Em outras modalidades o bloco de ‘idx1 ’ pode ser implementado utilizando estruturas de dados que referenciam a localização dentro do arquivo de cada um dos blocos de ‘data’ no bloco de lista de ‘movi’. Em diversas modalidades, o bloco de ‘idx1’ identifica cada bloco de ‘data’ pelo número de trilhas dos dados e pelo tipo dos dados. Os códigos FOURCC referidos acima podem ser utilizados para este propósito.
3. Codificando um Arquivo de Multimídia [00229] As modalidades da presente invenção podem ser utilizadas para gerar arquivos de multimídia em um número de modos. Em um caso, os sistemas de acordo com as modalidades da presente invenção podem gerar arquivos de multimídia de arquivos que contêm trilhas de vídeo, trilhas de áudio e trilhas de legenda separadas. Em, tais casos, outras informações, tais como, as informações de menu e ‘metadata’ podem ser autorizadas e inseridas no arquivo.
[00230] Outros sistemas de acordo com as modalidades da presente invenção podem ser utilizadas para extrair as informações dos vários arquivos em um Disco de Vídeo Digital (DVD) e autorizar um único arquivo de multimídia de acordo com uma modalidade da presente invenção. Onde um DVD é a fonte inicial das informações, os
Petição 870180023875, de 23/03/2018, pág. 62/160
58/112 sistemas de acordo com as modalidades da presente invenção podem utilizar um codec para obter uma maior compressão e podem re-bloco o áudio de modo que os blocos de áudio correspondam aos blocos de vídeo no arquivo de multimídia recentemente criado. Além disso, as informações de menu no sistema de menu de DVD podem ser analisadas e utilizadas para gerar as informações de menu incluídas no arquivo de multimídia.
[00231] Outras modalidades podem gerar um novo arquivo de multimídia pela adição de um conteúdo adicional a um arquivo de multimídia existente de acordo com uma modalidade da presente invenção. Um exemplo de adicionar um conteúdo adicional seria adicionar uma trilha de áudio adicional ao arquivo, tal como uma trilha de áudio que contém um comentário (por exemplo, os comentários do diretor, a narrativa posteriormente criada de um vídeo de férias). As informações de trilha de áudio adicional intercaladas no arquivo de multimídia poderíam também ser acompanhadas por uma modificação das informações de menu no arquivo de multimídia para permitir a reprodução da nova trilha de áudio.
3.1. Geração Utilizando Trilhas de Dados Armazenadas [00232] Um sistema de acordo com uma modalidade da presente invenção para gerar um arquivo de multimídia está ilustrado na Figura 3.0. O componente principal do sistema 350 é o intercalador 352. O intercalador recebe os blocos de informações e os intercala para criar um arquivo de multimídia de acordo com uma modalidade da presente invenção no formato acima descrito. O intercalador também recebe as informações referentes a ‘metadata’ de um gerenciador de metadados 354. O intercalador emite um arquivo de multimídia de acordo com as modalidades da presente invenção para um dispositivo de armazenamento 356.
[00233] Tipicamente os blocos providos para o intercalador são ar
Petição 870180023875, de 23/03/2018, pág. 63/160
59/112 mazenados em um dispositivo de armazenamento. Em diversas modalidades, todos os blocos são armazenados no mesmo dispositivo de armazenamento. Em outras modalidades, os blocos podem ser providos para o intercalador de uma variedade de dispositivos de armazenamento ou gerados e providos para o intercalador em tempo real. [00234] Na modalidade ilustrada na Figura 3.0, o bloco de ‘DMNU’ 358 e o bloco de ‘DXDT’ 360 já foram gerados e estão armazenados em dispositivos de armazenamentos. A fonte de vídeo 362 está armazenada em um dispositivo de armazenamento e é decodificada utilizando um decodificador de vídeo 364 e então codificada utilizando um codificador de vídeo 366 para gerar um bloco de ‘video’. As fontes de áudio 368 estão também armazenadas em dispositivo de armazenamento. Os blocos de áudio são gerados pela decodificação da fonte de áudio utilizando um decodificador de áudio 370 e então codificando o áudio decodificado utilizando um codificador de áudio 372. Os blocos de ‘Subtitle’ são gerados de legendas de texto 374 armazenadas em um dispositivo de armazenamento. As legendas são providas para um primeiro transcodificador 376 o qual converte qualquer um de um número de formatos de legenda em um formato de mapa de bits bruto. Em uma modalidade, o formato de legenda armazenado pode ser um formato, tal como SRT, SUB ou SSA. Além disso, o formato de mapa de bits pode ser aquele de um mapa de bits de quatro bits que inclui uma tabela de consulta de paleta de cor. A tabela de consulta de paleta de cor inclui uma identificação de profundidade de cor de 24 bits para cada um dos dezesseis códigos de cor de quatro bits possíveis. Um único arquivo de multimídia pode incluir mais do que uma tabela de consulta de paleta de cor (ver o código FOURCC de paleta pc na Tabela 2 acima). O mapa de bits de quatro bits assim permite que cada menu tenha 16 diferentes cores simultâneas tomadas de uma paleta de 16 milhões de cores. Em modalidades alternativas diferentes núme
Petição 870180023875, de 23/03/2018, pág. 64/160
60/112 ros de bits por pixel e diferentes profundidade de cor são utilizados. A saída do primeiro transcodificador 376 é provida para um segundo transcodificador 378, o qual comprime o mapa de bits. Em uma modalidade a codificação de comprimento de operação é utilizada para comprimir o mapa de bits. Em outras modalidades, outros formatos de compressão adequados são utilizados.
[00235] Em uma modalidade, as interfaces entre os vários codificadores, decodificadores e transcodificadores estão em conformidade com os padrões Direct Show especificados pela Microsoft Corporation. Em outras modalidades, o software utilizado para executar a codificação, a decodificação e a transcodificação não precisam estar em conformidade com, tais padrões.
[00236] Na modalidade ilustrada, componentes de processamento separados estão mostrados para cada fonte de mídia. Em outras modalidades, os recursos podem ser compartilhados. Por exemplo, um único decodificador de áudio e codificador de áudio podería ser utilizado para gerar os blocos de áudio de todas as fontes. Tipicamente, o sistema inteiro pode ser implementado em um computador utilizando um software e conectado a um dispositivo de armazenamento, tal como uma unidade de disco rígido.
[00237] De modo a utilizar o intercalador no modo acima descrito, o bloco de ‘DMNU’, o bloco de ‘DXDT’, os blocos de ‘video’, os blocos de ‘audio’ e os blocos de ‘subtitle’ de acordo com as modalidades da presente invenção devem ser gerados e providos para o intercalador. O processo para gerar cada um dos vários blocos em um arquivo de multimídia de acordo com uma modalidade da presente invenção é discutido abaixo em maiores detalhes.
3.2. GERANDO UM BLOCO DE ‘DXDT’ [00238] O bloco de ‘DXDT’ pode ser gerado em um de um número de modos. Em uma modalidade ‘metadata’ são inseridos em estruturas
Petição 870180023875, de 23/03/2018, pág. 65/160
61/112 de dados através de uma interface gráfica do usuário e então analisados em um bloco de ‘DXDT’. em uma modalidade, os ‘metadata’ são expressos como sentenças de séries de sujeito, predicado, objeto e autoridade. Em outra modalidade as sentenças de ‘metadata’ são expressas em qualquer um de uma variedade de formatos. Em diversas modalidades, cada sentença de ‘metadata’ é analisada em um bloco separado, Em outras modalidades, diversas sentenças de ‘metadata’ em um primeiro formato (tais como, expressões de sujeito, predicado, objeto, autoridade) são analisadas em um primeiro bloco e outras sentenças de ‘metadata’ em outros formatos são analisadas em blocos separados. Em uma modalidade, as sentenças de ‘metadata’ estão escritas em um arquivo de configuração XML e o arquivo de configuração XML é analisado para criar os blocos dentro de um bloco de ‘DXDT’.
[00239] Uma modalidade de um sistema para gerar um bloco de ‘DXDT’ de uma série de sentenças de ‘metadata’ contidas em um arquivo de configuração XML está mostrada na Figura FIG. 3.1. O sistema 380 inclui um arquivo de configuração XML 382, o qual pode ser provido para um analisador 384. O arquivo de configuração XML inclui os ‘metadata’ codificados como XML. O analisador analisa o XML e gera um bloco de ‘DXDT’ 386 pela conversão da sentença de ‘metadata’ em blocos que são escritos no bloco de ‘DXDT’ de acordo com qualquer um dos formatos de bloco ‘metadata’ acima descrito.
3.3. Gerando um Bloco de ‘DMNU’ [00240] Um sistema que pode ser utilizado para gerar um bloco de ‘DMNU’ de acordo com uma modalidade da presente invenção está ilustrado na Figura 3.2. O sistema de geração de bloco de menu 420 requer como entradas um modelo de mídia 422 e informações de mídia. As informações de mídia podem tomar a forma de uma fonte de vídeo 424, uma fonte de áudio 426 e uma fonte de sobreposição 428.
Petição 870180023875, de 23/03/2018, pág. 66/160
62/112 [00241] A geração de um bloco de ‘DMNU’ utilizando as entradas para o sistema de geração de bloco de menu envolve a criação de um número de arquivos intermediários. O modelo de mídia 422 é utilizado para criar um arquivo de configuração XML 430 e as informações de mídia são utilizadas para criar um número de arquivos AVI 432. O arquivo de configuração XML é criado por um transcodificador de modelo 434. Os arquivos AVI 432 são criados intercalando as informações de vídeo, de áudio e de sobreposição utilizando um intercalador 436. As informações de vídeo são obtidas pela utilização de um decodificador de vídeo 438 e um codificador de vídeo 440 para decodificar a fonte de vídeo 424 e recodificá-la no modo abaixo discutido. As informações de áudio são obtidas pela utilização de um decodificador de áudio 442 e um codificador de áudio 444 para decodificar o áudio e recodificá-lo no modo abaixo descrito. As informações de sobreposição são geradas utilizando um primeiro transcodificador 446 e um segundo transcodificador 448. O primeiro transcodificador 446 converte a sobreposição em uma representação gráfica, tal como uma mapa de bits padrão e o segundo transcodificador pegas as informações gráficas e as formatas como é requerido para inclusão no arquivo de multimídia. Uma vez que o arquivo XML e os arquivos AVI que contém as informações requeridas para construir os menus foram gerados, o gerador de menu 450 pode utilizar as informações para gerar um bloco de ‘DMNU’ 358’.
3.3.1. O Modelo de Menu [00242] Em uma modalidade, o modelo de mídia é um modelo orientado em objeto que representa todos os menus e seus subcomponentes. O modelo de mídia organizas os menus em uma estrutura hierárquica, o que permite que os menus sejam organizados por seleção de linguagem. Um modelo de mídia de acordo com uma modalidade da presente invenção está ilustrado na Figura 3.3. O modelo de mídia
Petição 870180023875, de 23/03/2018, pág. 67/160
63/112
460 inclui um objeto de ‘MediaManager’ de nível superior 462, o qual está associado com um número de objetos de ‘LanguageMenus’ 463, um objeto de ‘Media’ 464 e um objeto de ‘TranslationTable’ 465. O ‘Menu Manager’ também contém a linguagem de menu padrão. Em uma modalidade, a linguagem padrão pode ser indicada pelo código de linguagem de duas letras ISO 639.
[00243] Os objetos de ‘LanguageMenus’ organizam as informações para vários menus por seleção de linguagem. Todos os objetos de ‘Menu’ 466 para uma dada linguagem estão associados com o objeto de ‘LanguageMenus’ 463 para aquela linguagem. Cada objeto de ‘Menu’ está associado com um número de objetos de ‘Button’ 468 e referencia um número de objetos de ‘MediaTrack’ 488. Os objetos de ‘MediaTrack’ 488 referenciados indicam o vídeo de fundo e o áudio de fundo para o objeto de ‘Menu’ object 466.
[00244] Cada objeto de ‘Button’ 468 está associado com um objeto de ‘Action’ 470 e um objeto de 'Rectangle’ 484. O objeto de ‘Button’ 468 também contém uma referência a um objeto de ‘MediaTrack’ 488 que indica a sobreposição a ser utilizada quando o botão está realçado em um display. Cada objeto ‘Action’ 470 está associado com um número de objetos que podem inclui um objeto de ‘MenuTransition’ 472, um objeto de ‘ButtonTransition’ 474, um objeto de ‘ReturnToPlay’ 476, um objeto de ‘Subtitle Selection’ 478, um objeto de ‘AudioSelection’ 480 e um objeto de ‘PlayAction’ 482. Cada um destes objetos define a resposta do sistema de menu para várias entradas de um usuário. O objeto de ‘MenuTransition’ contém uma referência a um objeto de ‘Menu’ que indica um menu que deve ser transicionado em resposta a uma ação. O objeto de ‘ButtonTransition’ indica um botão que deve ser realçado em resposta a uma ação, objeto de ‘ReturnToPlay’ pode fazer com que um reprodutor continue a reproduzir um filme. Os objetos de ‘SubtitleSelection’ e de ‘AudioSelection’ contém referências a obje
Petição 870180023875, de 23/03/2018, pág. 68/160
64/112 tos de ‘Title’ 487 (abaixo discutidos). O objeto de ‘PlayAction’ contém uma referência a um objeto de ‘Chapter’ 492 (abaixo discutido). O objeto de ‘Rectangle’ 484 indica a porção da tela ocupada pelo botão. [00245] O objeto de ‘Media’ 464 indica as informações de mídia referenciadas pelo sistema de menu. O objeto de ‘Media’ tem um objeto de ‘MenuTracks’ 486 e um número de objetos de ‘Title’ 487 associados com este. O objeto de ‘MenuTracks’ 486 referência os objetos de 'MediaTrack’ 488 que são indicativos da mídia utilizada para construir o menu (isto é, o áudio de fundo, o vídeo de fundo e as sobreposições). [00246] Os objetos de ‘Title’ 487 são indicativos de uma apresentação de multimídia e tem um número de objetos de ‘Chapter’ 492 e de objetos de ‘MediaSource’ 490 associados com estes. Os objetos de ‘Title’ também contêm uma referência a um objeto de ‘TranslationLookup’ 494. Os objetos de ‘Chapter’ são indicativos de um certo ponto em uma apresentação de multimídia e tem um número de objetos de ‘MediaTrack’ 488 associados com estes. Os objetos de ‘Chapter’ também contêm uma referência a um objeto de ‘TranslationLookup’ 494. Cada objeto de ‘MediaTrack’ associado com um objeto de ‘Chapter’ é indicativo de um ponto em qualquer uma de uma trilha de áudio, de vídeo ou de legenda da apresentação de multimídia e referencia a um objeto de ‘MediaSource’ 490 e um objeto de ‘TranslationLookup’ 494 (abaixo discutido).
[00247] O objeto de ‘TranslationTable’ 465 agrupa um número de seqüências de texto que descrevem as várias partes de apresentações de multimídia indicadas pelos objetos de ‘Title’ pelos objetos de ‘Chapter’ e pelos objetos de ‘MediaTrack’. O objeto de ‘TranslationTable’ 465 tem um número de objetos de ‘TranslationLookup’ 494 associados com este. Cada objeto de ‘TranslationLookup’ é indicativo de um objeto específico e tem um número de objetos de ‘Translation’ 496 associados com este. Os objetos de ‘Translation’ são cada um indicativo de
Petição 870180023875, de 23/03/2018, pág. 69/160
65/112 uma seqüência de texto que descreve o objeto indicado pelo objeto de ‘Translationl_ookup’em uma linguagem específica.
[00248] Um modelo de objeto de mídia pode ser construído utilizando um software configurado para gerar os vários objetos acima descritos e estabelecer as associações e referências requeridas entre os objetos.
3.3.2. Gerando um Arquivo XML [00249] Um arquivo de configuração XML é gerado do modelo de menu, o qual reapresenta todos os menus e seus subcomponentes. O arquivo de configuração XML também identifica todos os arquivos de mídia utilizados pelos menus. O XML pode ser gerado pela implementação de uma aplicação de analisador apropriada que analisa o modelo de objeto em um código XML.
[00250] Em outras modalidades uma aplicação de edição de vídeo pode prover um usuário com uma interface do usuário que permite a geração direta de uma arquivo de configuração XML sem criar um modelo de menu.
[00251] Em modalidades onde outro sistema de menu é a base do modelo de menu, tal como um menu de DVD, os menus podem ser podados pelo usuário para eliminar as opções de menu relativas a um conteúdo não incluído no arquivo de multimídia gerado de acordo com a prática da presente invenção. Em uma modalidade, isto pode ser feito provendo uma interface gráfica do usuário que permite a eliminação de objetos do modelo de menu. Em outra modalidade, a poda de menus pode ser conseguida provendo uma interface gráfica do usuário ou uma interface de texto que possa editar o arquivo de configuração XML.
3.3.3. As Informações de Mídia [00252] Quando o bloco de ‘DMNU’ é gerado, as informações de mídia providas para o gerador de menu 450 incluem os dados requeri
Petição 870180023875, de 23/03/2018, pág. 70/160
66/112 dos para prover o vídeo de fundo, o áudio de fundo e as sobreposições de primeiro plano para os botões especificados no modelo de menu (ver descrição acima). Em uma modalidade, uma aplicação de edição de vídeo, tal como a VideoWave distribuída pela Roxio, Inc. de Santa Clara, CA é utilizada para prover as trilhas de mídia de fonte que representam o vídeo, o áudio e as sobreposições de seleção de botão para cada menu individual.
3.3.4. Gerando Arquivos avi Intermediários [00253] Como acima discutido, as trilhas de mídia que são utilizadas nas sobreposições de vídeo de fundo, de áudio de fundo e de botão de primeiro plano estão armazenadas em um único arquivo AVI para um ou mais menus. Os blocos que contém as trilhas de mídia em um arquivo AVI de menu podem ser criados pela utilização de um software projetado para intercalar as trilhas de vídeo, de áudio e de sobreposição de botão. Os blocos de ‘audio’, ‘video’ e Overlay’ (isto é, os blocos de ‘subtitle’ que contêm as informações de sobreposição) são intercalados em um arquivo em conformidade com o formato AVI utilizando um intercalador.
[00254] Como acima mencionado, um arquivo AVI separado pode ser criado para cada menu. Em outras modalidades, outros formatos de arquivo ou um único arquivo poderíam ser utilizados para conter as informações de mídia utilizadas para prover as informações de áudio de fundo, de vídeo de fundo e de sobreposição de primeiro plano.
3.3.5. Combinando o Arquivo de Configuração XML e os Arquivos AVI [00255] Em uma modalidade, um computador está configurado para analisar as informações do arquivo de configuração XML para criar um bloco de ‘WowMenu’ (acima descrito). Além disso, o computador pode criar um bloco de ‘MRIF’ (acima descrito) utilizando os arquivos AVI que contêm a mídia para cada menu. O computador pode então completar a geração do bloco de ‘DMNU’ pela criação das referências ne
Petição 870180023875, de 23/03/2018, pág. 71/160
67/112 cessárias entre o bloco de ‘WowMenu’ e os blocos de mídia no bloco de ‘MRIF’. Em diversas modalidades, as informações de menu podem ser criptografadas. A criptografia pode ser conseguida criptografando as informações de mídia contidas no bloco de ‘MRIF’ em um modo similar àquele abaixo descrito em relação aos blocos de ‘video’. Em outras modalidades, várias técnicas de criptografias alternativas são utilizadas.
3.3.6. Geração Automática de Menus do Modelo de Objeto [00256] Referindo de volta à Figura 3.3, um menu que contém menos conteúdo do que o menu completo pode ser automaticamente gerado do modelo de menu simplesmente examinando os objetos de ‘Title’ 487 associados com o objeto de ‘Media' 464. Os objetos utilizados para gerar automaticamente um menu de acordo com uma modalidade da invenção estão mostrados na Figura 3.3.1. Um software pode gerar um arquivo de configuração XML para um menu simples que simplesmente permite a seleção de uma seção específica de uma apresentação de multimídia e a seleção das trilhas de áudio e de legenda a utilizar.
3.3.7. Gerando Blocos de ‘DXDT’ e de ‘DMNU’ Utilizando um Único Arquivo de Configuração [00257] Os sistemas de acordo com diversas modalidades da presente invenção são capazes de gerar um único arquivo de configuração XML que contém tanto os ‘metadata’ quanto as informações de menu e que utilizam o arquivo XML para gerar os blocos de ‘DXDT’ e de ‘DMNU’. Estes sistemas derivam o arquivo de configuração XML utilizando as informações de ‘metadata’ e o modelo de objeto de menu. Em outras modalidades, o arquivo de configuração não precisa ser em XML.
3.4. Gerando Blocos de ‘audio’ [00258] Os blocos de ‘audio’ no bloco de lista de ‘movi’ de arquivos
Petição 870180023875, de 23/03/2018, pág. 72/160
68/112 de multimídia de acordo com as modalidades da presente invenção podem ser gerados pela decodificação de uma fonte de áudio e então codificando a fonte em blocos de ‘audio’ de acordo com a prática da presente invenção. Em uma modalidade, os blocos de ‘audio’ podem ser codificados utilizando um codec mp3.
3.4.1. Re-Bloco de áudio [00259] Quando a fonte de áudio está provida em blocos que não contêm as informações de áudio que correspondem ao conteúdo de um bloco de ‘video’ correspondente, então as modalidades da presente invenção podem executar o re-bloco do áudio. Um processo que pode ser utilizado para executar o re-bloco de áudio está ilustrado na Figura 3.4. O processo 480 envolve identificar (482) um bloco de ‘video’, identificar (484) as informações de áudio que acompanha o bloco de ‘video’ e extrair (486) as informações de áudio dos blocos de áudio existentes para criar (488) um novo bloco de ‘audio’. O processo é repetido até que a decisão (490 é tomada que a na fonte de áudio inteira foi executado o re-bloco. Em cujo ponto, a execução de re-bloco do áudio está completa (492).
3.5. Gerando os Blocos de ‘video’ [00260] Como acima descrito o processo de criar os blocos de vídeo pode envolver decodificar a fonte de vídeo e codificar o vídeo decodificado em blocos de ‘video’. Em uma modalidade, cada bloco de ‘video’ contém as informações para um único quadro de vídeo. O processo de decodificação simplesmente envolve tomar o vídeo em um formato específico e decodificar o vídeo daquele formato em um formato de vídeo padrão, o qual pode ser não comprimido. O processo de codificação envolve tomar o vídeo padrão, codificar o vídeo e gerar blocos de 'vídeo' utilizando o vídeo codificado.
[00261] Um codificador de vídeo de acordo com uma modalidade da presente invenção está conceituai mente ilustrado na Figura 3.5. O
Petição 870180023875, de 23/03/2018, pág. 73/160
69/112 codificador de vídeo 500 pré-processa 502 as informações de vídeo padrão 504. Uma estimativa de movimento 506 é então executada no vídeo pré-processado para prover uma compensação de movimento 508 para o vídeo pré-processado. Uma transformada de co-seno discreta (transformação de DCT) 510 é executada no vídeo compensado em movimento. Após a transformação de DCT, o vídeo é quantificado 512 e uma predição 514 é executada. Um fluxo de bits comprimido 516 é então gerado pela combinação de uma versão codificada em textura 518 do vídeo com uma codificação de movimento 520 gerada utilizando os resultados da estimativa de movimento. O fluxo de bits comprimido é então utilizado para gerar os blocos de 'vídeo'.
[00262] De modo a executar a estimativa de movimento 506, o sistema deve ter conhecimento de como o quadro de vídeo anteriormente processado será decodificado por um dispositivo de decodificação (por exemplo, quando o vídeo comprimido e descomprimido para ser assistido por um espectador). Estas informações podem ser obtidas pela quantificação inversa 522 da saída do quantificador 512. Uma DCT inversa 524 pode então ser executada na saída do quantificador inverso e o resultado colocado em um armazenamento de quadros 526 para acesso durante o processo de estimativa de movimento.
[00263] Os arquivos de multimídia de acordo com as modalidades da presente invenção podem também incluir um número de melhoramentos psicovisuais 528. Os melhoramentos psicovisuais podem ser métodos de compressão de vídeo baseados nas percepções humanas de visão. Estas técnicas estão adicionalmente abaixo discutidas e geralmente envolvem modificar o número de bits utilizados pelo quantificador para representar vários aspectos de vídeo. Outros aspectos do processo de codificação podem também incluir os melhoramentos psicovisuais.
[00264] Em uma modalidade, o sistema de codificação 500 inteiro
Petição 870180023875, de 23/03/2018, pág. 74/160
70/112 pode ser implementado utilizando um computador configurado para executar as várias funções acima descritas. Exemplos de implementações detalhadas destas funções estão abaixo providos.
3.5.1. Pré-processamento [00265] As operações de pré-processamento 502 que são opcionalmente executadas por um codificador 500 de acordo com uma modalidade da presente invenção pode utilizar um número de técnicas de processamento de sinal para aperfeiçoar a qualidade do vídeo codificado. Em uma modalidade, o pré-processamento 502 pode envolver um ou todos de desentrelaçamento, redução de ruído temporal/espacial e redimensionamento. Nas modalidades onde todas as três destas técnicas de pré-processamento são utilizadas, o desentrelaçamento é tipicamente executado primeiro seguido pela redução de ruído temporal/espacial e pelo redimensionamento.
3.5.2. Estimativa e Compensação de Movimento [00266] Um codificado de vídeo de acordo com uma modalidade da presente invenção pode reduzir o número de pixels requeridos para representar uma trilha de vídeo pesquisando por pixels que são repetidos em múltiplos quadros. Essencialmente, cada quadro em um vídeo tipicamente contém muitos dos mesmos pixels como aquele antes deste. O codificador pode conduzir diversos tipos de pesquisas para coincidências em pixels entre cada quadro (como macroblocos, pixels, meio-pixels e um quarto de pixels) e elimina estas redundâncias sempre que possível sem reduzir a qualidade de imagem. Utilizando a estimativa de movimento, o codificador pode representar a maior parte da imagem simplesmente registrando as mudanças que ocorrerão deste o último quadro ao invés de armazenar a imagem inteira para cada quadro. Durante a estimativa de movimento, o codificador divide o quadro que este está analisando em uma grade de blocos uniforme, frequentemente referida como ‘macroblocos’. Para cada ‘macrobloco’
Petição 870180023875, de 23/03/2018, pág. 75/160
71/112 no quadro, o codificador pode tentar encontrar um bloco coincidente no quadro anterior. O processo de tentar encontrar os blocos coincidentes é denominado uma 'pesquisa de movimento'. O movimento do 'macrobloco' pode ser representado como um vetor bidimensional, isto é uma representação (x, y). O algoritmo de pesquisa de movimento pode ser executado com vários graus de precisão. Uma pesquisa de elemento de imagem inteiro é uma onde o codificador tentará localizar os blocos coincidentes caminhando através do quadro de referência em qualquer dimensão um pixel de cada vez. Em uma pesquisa de meio-pixel, o codificador pesquisa por um bloco coincidente caminhando através do quadro de referência em qualquer dimensão por metade de um pixel de cada vez. O codificador pode utilizar um quarto de pixel, ou outras frações de pixel ou pesquisas que envolvem uma granularidade maior do que um pixel.
[00267] A modalidade de codificador ilustrado na Figura 3.5. executa a estimativa de movimento de acordo com uma modalidade da presente invenção. Durante a estimativa de movimento o codificador tem acesso ao vídeo pré-processado 502 do quadro anterior, o qual está armazenado em um armazenamento de quadros 526. O quadro anterior é gerado tomando a saída do quantificador, executando uma quantificação inversa 522 e uma transformação de DCT inversa 524. A razão para executar as funções inversas é, tal que o quadro no armazenamento de quadros é como este aparecerá quando decodificado por um reprodutor de acordo com uma modalidade da presente invenção. [00268] A compensação de movimento é executada tomando os blocos e os vetores gerados como um resultado da estimativa de movimento. O resultado é uma aproximação da imagem codificada que pode ser coincidida com a imagem real pela provisão de informações de textura adicionais.
3.5.3. Transformada de Co-seno Discreta
Petição 870180023875, de 23/03/2018, pág. 76/160
72/112 [00269] A DCT e a DCT inversa executada pelo codificado ilustrado na Figura 3.5 estão de acordo com o padrão especificado na ISO/IEC 14496-2:2001 (E), Anexo A.1 (transformadas de codificação).
3.5.3.1. Descrição de Transformada [00270] A DCT é um método para transformar um conjunto de pontos de dados de domínio espacial em uma representação de domínio de freqüência. No caso de compressão de vídeo, uma DCT bidimensional converte os blocos de imagem em uma forma onde as redundâncias são mais prontamente exploráveis. Um bloco de domínio de freqüência pode ser uma matriz esparsa que é facilmente comprimida por codificação de entropia.
3.5.3.2. Melhoramentos Psicovisuais na Transformada [00271] Os coeficientes de DCT podem ser modificados para aperfeiçoar a qualidade da imagem quantificada pela redução do ruído de quantificação em áreas onde este fica prontamente aparente para um observador humano. Além disso, o tamanho de arquivo pode ser reduzido pelo aumento de ruído de quantificação em porções da imagem onde este não é prontamente discernível por um observador humano.
[00272] Os codificadores de acordo com uma modalidade da presente invenção podem executar o que é referido como um melhoramento psicovisual 'lento'. O melhoramento psicovisual 'lento' analisa os blocos de imagem de vídeo e decide se permitir algum ruído ali pode economizar alguns bits sem degradar a aparência do vídeo. O processo utiliza uma métrica por bloco. O processo é referido como um processo 'lento', porque este executa uma quantidade considerável de computação para evitar os artefatos de bloqueio ou de anel.
[00273] Outras modalidades de codificadores de acordo com as modalidades da presente invenção implemente um melhoramento psicovisual 'rápido'. O melhoramento psicovisual 'rápido' é capaz de controlar onde o ruído aparece dentro de um bloco e pode modelar o ruído
Petição 870180023875, de 23/03/2018, pág. 77/160
73/112 de quantificação.
[00274] Ambos os melhoramentos psicovisuais 'lento' e 'rápido' estão abaixo discutidos em maiores detalhes. Outros melhoramentos psicovisuais podem ser executados de acordo com as modalidades da presente invenção incluindo os melhoramentos que controlam o ruído e as bordas de imagem e que procuram concentrar níveis mais altos de ruído de quantificação em áreas da imagem onde este não fica prontamente aparente para a visão humana.
3.5.3.3. Melhoramento Psicovisual 'lento' [00275] O melhoramento psicovisual 'lento' analisa os blocos da imagem de vídeo e determina se permitir algum ruído pode economizar bits sem degradar a aparência do vídeo. Em uma modalidade, o algoritmo inclui dois estágios. O primeiro envolve a geração de uma imagem diferenciada para os pixels de luminância de entrada. A imagem diferenciada é gerada no modo abaixo descrito. O segundo estágio envolve modificar os coeficientes de DCT antes da quantificação.
3.5.3.3.1. Geração de Imagem Diferenciada [00276] Cada pixel ^da imagem diferenciada é computada da fonte de pixels não comprimidos, Pxy, de acordo com o seguinte:
P'xy = ΙΪ1*φχ -PxyWPx-ly ~Ρ^\\ρ^ “A^K-l “ Α?|) onde
P^estará dentro da faixa de 0 a 255 (assumindo um vídeo de 8 bits).
3.5.3.3.2. Modificação de Coeficientes de DCT [00277] A modificação dos coeficientes de DCT podem envolver a computação de um fator de anel de bloco, a computação de energia de bloco e a modificação real dos valores de coeficiente.
3.5.3.3.3. Computação de Fator de Anel de Bloco [00278] Para cada bloco da imagem um fator de anel é calculado com base na região local da imagem diferenciada. Nas modalidades
Petição 870180023875, de 23/03/2018, pág. 78/160
74/112 onde o bloco é definido como um bloco de 8 x 8, o fator de anel pode ser determinado utilizando o seguinte método.
[00279] Inicialmente, um limite é determinado com base nos valores de pixels de luminância máximo e mínimo dentro do bloco de 8 x 8: thresholdblock = floor((maxblock - minblock )/8)+2 [00280] A imagem diferenciada e o limite são utilizados para gerar um mapa dos pixels lisos na vizinhança do bloco. O potencial para cada bloco ter um limite diferente impede a criação de um mapa de pixels lisos para o quadro inteiro. O mapa é gerado como segue:
when p\<thresholdblock flaff = 0 otherwise [00281] O mapa de pixels lisos é filtrado de acordo com uma simples operação lógica:
flat'xy = 1 when flatxy = 1 and flatx_]y = 1 and flatxy_} = 1 and flatx_]y_} = 1 flatf otherwise [00282] Os pixels lisos no mapa filtrado são então contados sobre a região de 9 x 9 que cobre o bloco de 8 x 8.
flatcountblock = for 0 = x = 8 and 0 = y = 8 [00283] O risco de artefatos de anel visíveis pode ser avaliado utilizando a seguinte expressão:
ringingbriskblock = ((fíatcountblock -1θ)χ 256 + 20)/40 [00284] O fator de anel dos blocos de 8 x 8 pode ser derivado utilizando a seguinte expressão:
Ringingfactor = 0 when ringingrisk > 255 = 255 when ringingrisk < 0 = 255 - ringingrisk otherwise
3.5.3.3.4. Computação de Energia de Bloco [00285] A energia para os blocos da imagem pode ser calculada utilizando o seguinte procedimento. Em diversas modalidades, blocos
Petição 870180023875, de 23/03/2018, pág. 79/160
75/112 de 8 χ 8 da imagem são utilizados.
[00286] Uma DCT direta é executada na imagem de fonte:
T= fDCT(S) onde S são os 64 valores de luminância de imagem de fonte do bloco de 8 x 8 em questão e T é a versão transformada da mesma porção da imagem de fonte.
[00287] A energia em uma posição de coeficiente específica é definida como o quadrado daquele valor do coeficiente:
ek = tk 2 for 0 = k = 63 [00288] onde tk é o k2 coeficiente do bloco T transformado.
3.5.3.3.5. Modificação de Coeficiente [00289] A modificação dos coeficientes de DCT pode ser executada de acordo com o seguinte processo. Em diversas modalidades, o processo é executado para cada coeficiente de AC DCT não zero antes da quantificação. A magnitude de cada coeficiente é mudada por um pequeno delta, o valor de delta sendo determinado de acordo com as técnicas psicovisuais;
[00290] A modificação de coeficiente de DCT de cada coeficiente de AC não zero ck é executada pelo cálculo de uma energia com base nas energias local e de bloco utilizando a seguinte fórmula:
energyk = max(ak x ek ,0.12 x totalenergy) onde ak é uma constante cujo valor depende da posição do coeficiente como descrito na tabela seguinte:
0.0 1.0 1.5 2.0 2.0 2.0 2.0 2.0
1.0 1.5 2.0 2.0 2.0 2.0 2.0 2.0
1.5 2.0 2.0 2.0 2.0 2.0 2.0 2.0
2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0
2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0
2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0
2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0
2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0
Petição 870180023875, de 23/03/2018, pág. 80/160
76/112
Tabela 3 - Tabela de coeficientes [00291] A energia pode ser modificada de acordo com o fator de anel do bloco utilizando a seguinte relação:
energy\ = ringingfactorxenergyt [00292] O valor resultante é deslocado e clipado antes de ser utilizado como uma entrada para uma tabela de consulta (LUT).
ek = min (1023,4xenergy'^ dk=LUTi where i = ek [00293] A tabela de consulta é computada como segue:
LUTt = min (/Zoor^^x ((/ + 0.5)/4)^ + kflatxoffset\2xQp) [00294] O valor ‘deslocamento’ depende do quantificador, Qp, como descrito na tabela
Qp deslocamento Qp deslocamento
1 -0.5 16 8.5
2 1.5 17 7.5
3 1.0 18 9.5
4 2.5 19 8.5
5 1.5 20 10.5
6 3.5 21 9.5
7 2.5 22 11.5
8 4.5 23 10.5
9 3.5 24 12.5
10 5.5 25 11.5
11 4.5 26 13.5
12 6.5 27 12.5
13 5.5 28 14.5
14 7.5 29 13.5
15 6.5 30 15.5
31 14.5
Tabela 4 - deslocamento como uma Função de valores Qp
[00295] A variável ktexture θ kfiat controlam a intensidade do efeito psicovisual nas regiões lisas e texturadas respectivamente. Em uma
Petição 870180023875, de 23/03/2018, pág. 81/160
77/112 modalidade, estas tomam valores na faixa de 0 a 1, com 0 significando nenhum efeito e 1 significando efeito total. Em uma modalidade, os valores para ktexture θ kfiat são estabelecidos como segue:
Luminância:
ktexture TO kflat =1·θ
Crominância:
ktexture 1 ·θ kflat = θ·θ [00296] A saída da tabela de consulta (dk) é utilizada para modificar a magnitude do coeficiente de DCT por um processo aditivo:
c'k = ck - min (dk, |ct |)x sgn(c*) [00297] Finalmente, o coeficiente de DCT ck é substituído pelo coeficiente modificado c'k e passado adiante para quantificação.
3.5.3.4. Melhoramento Psicovisual 'rápido' [00298] Um melhoramento psicovisual 'rápido' pode ser executado nos coeficientes de DCT pela computação de um mapa de 'importância' para os pixels de luminância de entrada e então modificando os coeficientes de DCT.
3.5.3.4.1. Computando um Mapa de 'importância' [00299] Um mapa de 'importância' pode ser gerado pelo cálculo de um valor de 'importância' para cada pixel no lugar de luminância do quadro de vídeo de entrada. Em diversas modalidades, o valor de 'importância' aproxima a sensibilidade do olho humano para qualquer distorção localizada naquele pixel específico. O mapa de 'importância' é uma rede de valores de 'importância' de pixels.
[00300] A 'importância' de um pixel pode ser determinada primeiro calculando a faixa dinâmica de um bloco de pixels que circunda o pixel (dxy). Em diversas modalidades a faixa dinâmica de um bloco de pixels de 3 x 3 centrado na localização de pixel (x, y) é computada pela sub
Petição 870180023875, de 23/03/2018, pág. 82/160
78/112 tração do valor do pixel mais escuro na área do valor do pixel mais claro na área.
[00301] A 'importância' de um pixel (m^) pode ser derivada da faixa dinâmica do pixel como segue:
mr. = 0.08/max(jJ13, ,3)+0.001
3.5.3.4.2. Modificando os Coeficientes de dct [00302] Em uma modalidade, a modificação dos coeficientes de DCT envolve a geração de matrizes de energia de função de base e tabelas de consulta de delta.
3.5.3.4.3. Geração de Matrizes de Energia de Função de Base [00303] Um conjunto de matrizes de energia de função de base pode ser utilizado na modificação dos coeficientes de DCT. Estas matrizes contém valores constantes que podem ser computados antes da codificação. Uma matriz de 8 x 8 é utilizada para cada uma das 64 funções de base de DCT. Cada matriz descreve como cada pixel em um bloco de 8 x 8 será impactado pela modificação de seu coeficiente correspondente. A k- matriz de energia de função de base é derivada tomando uma matriz de 8 x 8 Ak com o coeficiente correspondente ajustado para 100 e os outros coeficientes ajustados para 0.
=100 if n = k = 0 otherwise onde n representa posição do coeficiente dentro da matriz de 8 x 8 matrix; 0 = n = 63.
[00304] Uma DCT inversa é executada na matriz para gerar uma matriz de 8 x 8 A’k adicional. Os elementos da matriz (a’kn) representa a k- função de base de DCT.
A\ = iDCT(A„) [00305] Cada valor na matriz transformada é então elevado ao quadrado:
Petição 870180023875, de 23/03/2018, pág. 83/160
79/112 bk„=a\n for0 = n = 63 [00306] Ο processo é executado 64 vezes para produzir as matrizes de energia de função de base Bk, 0 = k = 63, cada uma compreendendo 64 valores naturais. Cada valor de matriz é uma medida de quanto um pixel na n- posição no bloco de 8 x 8 será impactado por qualquer erro ou modificação do coeficiente k.
3.5.3.4.4. Geração de uma Tabela de Consulta de Delta [00307] Uma tabela de consulta (LUT) pode ser utilizada para acelerar a computação do delta de modificação de coeficiente. O conteúdo da tabela pode ser gerado em um modo que seja dependente da força desejada do melhoramento psicovisual 'rápido' e do parâmetro de quantificação (Qp).
[00308] Os valores da tabela de consulta podem ser gerados de acordo com a seguinte relação:
LUTt= miAjloor^x x strength/(i + 0.5)+x offset+0.5),2 x Qp) onde i é a posição dentro da tabela, 0 = i = 1023.
[00309] A intensidade e o deslocamento dependem do quantificador, Qp, como descrito na tabela seguinte:
Qp intensidade deslocamento Qp intensidade deslocamento
1 0.2 -0.5 16 2.0 8.5
2 0.6 1.5 17 2.0 7.5
3 1.0 1.0 18 2.0 9.5
4 1.2 2.5 19 2.0 8.5
5 1.3 1.5 20 2.0 10.5
6 1.4 3.5 21 2.0 9.5
7 1.6 2.5 22 2.0 11.5
8 1.8 4.5 23 2.0 10.5
9 2.0 3.5 24 2.0 12.5
10 2.0 5.5 25 2.0 11.5
11 2.0 4.5 26 2.0 13.5
Petição 870180023875, de 23/03/2018, pág. 84/160
80/112
Qp intensidade deslocamento Qp intensidade deslocamento
12 2.0 6.5 27 2.0 12.5
13 2.0 5.5 28 2.0 14.5
14 2.0 7.5 29 2.0 13.5
15 2.0 6.5 30 2.0 15.5
31 2.0 14.5
Tabela 5 - Relação entre os valores de intensidade e deslocamento e o valor de Qp [00310] O ktexture θ θ kfiat controlam a intensidade do efeito psicovisual nas regiões lisas e texturadas respectivamente. Em uma modalidade, estes tomam valores na faixa de 0 a 1, com 0 significando nenhum efeito e 1 significando efeito total. Em uma modalidade, os valores para ktexture θ kflat são estabelecidos como segue:
Luminância:
kflat - 1·θ
Crominância:
kflat ~ θ·θ
3.5.3.4.5. Modificação de Coeficientes de DCT [00311] Os coeficientes de DCT podem ser modificados utilizando os valores acima calculados. Em uma modalidade, cada coeficiente de AC DCT não zero é modificado de acordo com o seguinte procedimento antes da quantificação.
[00312] Inicialmente um valor de 'energia' (ek) é computado tomando o produto de ponto da matriz de energia de função de base e o bloco de 8 x 8 apropriado do mapa de importância. Esta 'energia' é uma medida de como os erros de quantificação no coeficiente específico seriam percebidos pelo observador humano. Este é a soma do produto de importância de pixel e da energia de função de base de pixel:
ek =M'Bk
Petição 870180023875, de 23/03/2018, pág. 85/160
81/112 onde
M contém os valores de mapa de importância do bloco de 8 x 8; e
Bk é a k- matriz de energia de função de base.
[00313] O valor de 'energia' resultante é deslocado e clipado antes de ser utilizado como um índice (dk) na tabela de consulta de delta.
e'k = min \W23,floor(ek /32768)] dk=LUTt onde i = e’k [00314] A saída da tabela de consulta de delta é utilizada para modificar a magnitude do coeficiente de DCT por um processo aditivo:
c\ = ck - min (dk, |ct |)x sign(ck) [00315] O coeficiente de DCT ck é substituído pelo c'k modificado e passado adiante para quantificação.
3.5.4. Quantificação [00316] Os codificadores de acordo com as modalidades da presente invenção podem utilizar um quantificador padrão, tal como o quantificador definido pela International Telecommunication Union as Video Coding for Low Bitrate Communication, ITU-T Recommendation H.263, 1996.
3.5.4.1. Melhoramentos Psicovisuais para a Quantificação [00317] Alguns codificadores de acordo com as modalidades da presente invenção, utilizam um melhoramento psicovisual que explora os efeitos psicovisuais da visão humana para conseguir uma compressão mais eficiente. O efeito psicovisual pode ser aplicado em um nível de quadro e um nível de macrobloco.
3.5.4.2. Melhoramentos Psicovisuais em Nível de Quadro [00318] Quando aplicado em um nível de quadro, o melhoramento faz parte do algoritmo de controle de taxa e seu objetivo é ajustar a
Petição 870180023875, de 23/03/2018, pág. 86/160
82/112 codificação de modo que uma dada quantidade de taxa de bits é melhor utilizada para assegurar a máxima qualidade visual como percebida pelos olhos humanos. O melhoramento psicovisual de taxa de quadro é motivado pela teoria de que a visão humana tende a ignorar os detalhes quando a ação é alta e a visão humana tende a notar os detalhes quando a imagem é estática. Em uma modalidade, a quantidade de movimento é determinada observando a soma da diferença absoluta (SAD) para um quadro. Em uma modalidade, o valor de SAD é determinado pela soma das diferenças absolutas dos pixels de luminância colocados de dois blocos. Em diversas modalidades, as diferenças absolutas de blocos de pixel de 16 x 16 são utilizadas. Em modalidades que lidam com deslocamentos de pixel fracionários, uma interpolação é executada como especificado no padrão MPEG-4 (um padrão ISO/IEC desenvolvido pelo Moving Picture Experts Group da ISO/IEC), antes da soma de diferenças absolutas ser calculada.
[00319] O melhoramento psicovisual em nível de quadro aplica-se somente aos quadros P da trilha de vídeo e está baseado no valor de SAD do quadro. Durante a codificação, o módulo psicovisual mantém o registro da SAD média (isto é SAD) de todos os quadros P da trilha de vídeo e da distância média da SAD de cada quadro de sua SAD total (isto é dsad ). a média pode ser feita utilizando um algoritmo de média móvel exponencial. Em uma modalidade, o algoritmo de controle de taxa de uma passada acima descrito pode ser aqui utilizado como o período de média (ver descrição acima).
[00320] Para cada quadro P da trilha de vídeo codificado, o quantificador de quadro Q (obtido do módulo de controle de taxa) terá uma correção psicovisual aplicada a este. Em uma modalidade, o processo envolve calcular uma razão R utilizando a seguinte fórmula:
D SAD-SÃD T
K = —--1
DSAD
Petição 870180023875, de 23/03/2018, pág. 87/160
83/112 onde
I é uma constante e atualmente ajustada para 0.5. O R é clipado dentro do limite de (-1,1].
[00321] O quantificador é então ajustado de acordo com a razão R, através do cálculo abaixo mostrado:
a« =ô1£(i+a.SaJJ onde
Sframe θ uma intensidade constante para os melhoramentos psicovisuais em nível de quadro.
[00322] A constante Sframe determina quão forte um ajuste pode ser para o psicovisual em nível de quadro. Em uma modalidade do codec, a opção de ajustar Sframe para 0,2, 0,3 ou 0,4 está disponível..
3.5.4.3. Melhoramentos Psicovisuais em Nível de Macrobloco [00323] Os codificadores de acordo com as modalidades da presente invenção que utilizam um melhoramento psicovisual no nível de macrobloco tentam identificar os macroblocos que são proeminentes para a qualidade visual do vídeo para um observador humano e tentam codificar estes macroblocos com uma qualidade mais alta. O efeito dos melhoramentos psicovisuais em nível de macrobloco é de retirar os bits das partes menos importantes de um quadro e aplicá-los nas partes mais importantes do quadro. Em diversas modalidades, os melhoramentos são conseguidos utilizando três tecnologias, as quais estão baseadas em suavidade, brilho e SAD de macrobloco. Em outras modalidades qualquer uma das técnicas sozinha ou em combinação com outra das técnicas ou outra técnica inteiramente podem ser utilizadas.
[00324] Em uma modalidade, todos os três melhoramentos psicovisuais em nível de macrobloco acima descritos compartilham um parâmetro comum, Smb, o qual controla a intensidade do melhoramento psicovisual em nível de macrobloco. Os quantificadores máximo e mínimo para os macroblocos são então derivados do parâmetro de inten
Petição 870180023875, de 23/03/2018, pág. 88/160
84/112 sidade e do quantificador de quadro Qframe através dos cálculos abaixo mostrados:
ÔQframe j
MBMax ~ Λ Z \ ’ aní*
V _ MB )
QMBMin = Q frame Ό ~ $MB ) onde
Qmbm3x θ θ quantificador máximo
QiviBMin θ θ quantificador mínimo [00325] Os valores Qmbmsx θ Ομβμιπ definem os limites superior e inferior para os quantificadores de macrobloco para o quadro inteiro. Em uma modalidade, a opção de ajustar o valor de SMb para qualquer um dos valores 0,2, 0,3 e 0,4 é provida. Em outras modalidades, outros valores para SMb podem ser utilizados.
3.5.4.3.1. Melhoramento de Brilho [00326] Em modalidades onde o melhoramento psicovisual é executado com base no brilho dos macroblocos, o codificador tenta codificar os macroblocos mais brilhantes com maior qualidade. A base teórica deste melhoramento é que as partes relativamente escuras do quadro são mais ou menos ignoradas pelos observadores humanos. Este melhoramento psicovisual de macrobloco é aplicado a quadros I e quadros P da trilha de vídeo. Para cada quadro, o codificador observa todo o quadro primeiro. O brilho médio (BR) θ calculado e a diferença de brilho média da média (DBR) θ também calculada. Estes valores são então utilizados para desenvolver dois limites (TBRLOwer, TeRUpper), os quais podem ser utilizados como indicadores para se o melhoramento psicovisual deve ser aplicado:
^BRLower = BR ~ DBR ^BRUpper = BR + (bR — TBRLawer ) [00327] O melhoramento de brilho é então aplicado com base nos dois limites utilizando as condições abaixo apresentadas para gerar
Petição 870180023875, de 23/03/2018, pág. 89/160
85/112 um quantificador (Qmb) pretendido para o macrobloco:
Qmb = Qmbmík when BR > TBRUpper
QmB = Qframe when <BR< TRRUpper, and
Qmb = Qmbmox when BR < TBRLmver onde
BR é o valor de brilho para aquele macrobloco específico.
[00328] Em modalidades onde o codificador está em conformidade com o padrão MPEG-4, a técnica de melhoramento de brilho psicovisual em nível de macrobloco não pode mudar o quantificador por mais de ±2 de um macrobloco para o próximo. Portanto, o Qmb calculado pode requerer uma modificação com base no quantificador utilizado no macrobloco anterior.
3.5.4.3.2. Melhoramento de Suavidade [00329] Os codificadores de acordo com as modalidades da presente invenção que incluem um melhoramento psicovisual de suavidade, modificam o quantificador com base na variação espacial da imagem que está sendo codificada. A utilização de um melhoramento psicovisual de suavidade pode ser motivada pela teoria de que a visão humana tem uma sensibilidade aumentada aos artefatos de quantificação nas partes suaves de uma imagem. O melhoramento psicovisual de suavidade pode, portanto, envolver aumentar o número de bits para representar as porções mais suaves da imagem e diminuir o número de bits onde existe um alto grau de variação espacial na imagem.
[00330] Em uma modalidade, a suavidade de uma porção de uma imagem é medida como a diferença média na luminância de pixels em um macrobloco para o brilho do macrobloco (DR). Um método para executar o melhoramento psicovisual de suavidade em um quadro I de acordo com as modalidades da presente invenção está mostrado na Figura 3.6. O processo 540, envolve examinar o quadro inteiro para calcular (542) DR. O limite para aplicar o melhoramento de suavidade,
Petição 870180023875, de 23/03/2018, pág. 90/160
86/112
TDr, pode então ser derivado (544) utilizando o seguinte cálculo:
Figure BRPI0416738B1_D0001
[00331] O seguinte melhoramento de suavidade é executado (546) com base no limite.
QmB = Qframe when DR * TDR , Hnd
Qmb =ôMrMewhenZ>/?< Tdr onde
Qmb θ o quantificador pretendido para o macrobloco
DR é o valor de desvio para o macrobloco (isto é luminância média - brilho médio) [00332] As modalidades que codificam os arquivos de acordo com o padrão MPEG-4 estão limitadas como acima descrito pelo fato de que a mudança de quantificador em nível de macrobloco pode ser no máximo ±2 de um macrobloco para o próximo.
3.5.4.3.3. Melhoramento de sad de Macrobloco [00333] Os codificadores de acordo com modalidades da presente invenção podem utilizar um melhoramento psicovisual de SAD de macrobloco. Um melhoramento psicovisual de SAD de macrobloco pode ser utilizado para aumentar os detalhes para os macroblocos estáticos e permitir detalhes diminuídos nas porções de um quadro que são utilizadas em uma cena de alta ação.
[00334] Um processo para executar um melhoramento psicovisual de SAD de macrobloco de acordo com uma modalidade da presente invenção está ilustrado na Figura 3.7. O processo 570 inclui inspecionar (572) um quadro I inteiro para determinar a SAD média ( isto é MBSADy para todos os macroblocos no quadro inteiro e a diferença média de uma SAD de macrobloco da média (isto é dmbsad ) θ também obtida. Em uma modalidade, é feita a média de ambos estes macroblocos ao longo dos macroblocos codificados inter-quadros (isto é
Petição 870180023875, de 23/03/2018, pág. 91/160
87/112 os macroblocos codificados utilizando uma compensação de movimento ou outras dependências em quadros de vídeo codificados anteriores). Dois limites para aplicar o melhoramento de SAD de macrobloco são então derivados (574) destas médias utilizando as seguintes fórmulas:
TMBSADLwer = MBSAD - DMBSAD, and TMBSADUpper = MBSAD + DMBSAD onde
TesADLower θ o limite inferior
TesADUpper θ o limite superior, o qual pode estar limitado por 1024 se necessário.
[00335] O melhoramento de SAD de macrobloco é então aplicado (576) com base nestes dois limites de acordo com as seguintes condições:
Qmb = Qmbmox when MBSAD > TMBSADUpper’
QmB Qjrame when TMADLawer < MBSAD <
^MBSADUpper
Qmb = Qmbmíti when MBSAD <
onde
Qb é o quantificador pretendido para o macrobloco
MBSAD é o valor de SAD para aquele macrobloco específico.
[00336] As modalidades que codificam os arquivos de acordo com a especificação MPEG-4 estão limitadas como acima descrito pelo fato de que a mudança de quantificador de nível de macrobloco pode ser no máximo ±2 de um macrobloco para o próximo..
3.5.5. Controle de Taxa [00337] A técnica de controle de taxa utilizado por um codificador de acordo com uma modalidade da presente invenção pode determinar como o codificador utiliza a taxa de bits alocada para codificar uma seqüência de vídeo. Um codificador tipicamente procurará codificar em
Petição 870180023875, de 23/03/2018, pág. 92/160
88/112 uma taxa de bits predeterminada e a técnica de controle de taxa é responsável por coincidir a taxa de bits gerada pelo codificador tão próxima quanto possível da taxa de bits predeterminada. A técnica de controle de taxa pode também procurar alocar a taxa de bits em um modo que assegurará a mais alta qualidade visual da seqüência de vídeo quando esta é decodificada. Muito do controle de taxa é executado pelo ajuste do quantificador. O quantificador determinar quão finamente o codificador codifica a seqüência de vídeo. Um menor quantificador resultará em uma qualidade mais alta e um consumo de bits mais alto. Portanto, o algoritmo de controle de taxa procura modificar o quantificador em um modo que equilibre os interesses competitivos de qualidade de vídeo e consumo de bits.
[00338] Os codificadores de acordo com as modalidades da presente invenção podem utilizar qualquer uma de uma variedade de diferentes técnicas de controle de taxa. Em uma modalidade, uma técnica de controle de taxa de passada única é utilizada. Em outras modalidades uma técnica de controle de taxa de passada dupla (ou múltipla) é utilizada. Além disso, um controle de taxa ‘verificada em armazenamento de vídeo’ pode ser executado conforme requerido. Exemplos específicos destas técnicas estão abaixo discutidos. No entanto, qualquer técnica de controle de taxa pode ser utilizada em um codificador de acordo com a prática da presente invenção.
3.5.5.1. Controle de Taxa de uma Passada [00339] Uma modalidade de uma técnica de controle de taxa de uma passada de acordo com uma modalidade da presente invenção procura permitir picos de alta taxa de bits para cenas de alto movimento. Em diversas modalidades, a técnica de controle de taxa de uma passada procura aumentar a taxa de bits lentamente em resposta a um aumento na quantidade de movimento em uma cena e rapidamente diminuir a taxa de bits em resposta a uma redução no movimento de
Petição 870180023875, de 23/03/2018, pág. 93/160
89/112 uma cena.
[00340] Em uma modalidade, o algoritmo de controle de taxa de uma passada utiliza dois períodos de média para rastrear a taxa de bits. Uma média de longo prazo para assegurar uma convergência de taxa de bits total e uma média de curto prazo para permitir resposta a variações na quantidade de ação em uma cena.
[00341] Uma técnica de controle de taxa de uma passada de acordo com uma modalidade da presente invenção está ilustrada na Figura
3.8. A técnica de controle de taxa de uma passada 580 começa (582) pela inicialização (584) do codificador com uma taxa de bits desejada, a taxa de quadros de vídeo e uma variedade de outros parâmetros (adicionalmente abaixo discutidos). Uma variável de ponto flutuante é armazenada, a qual é indicativa do quantificador. Se um quadro requerer quantificação (586), então a variável de ponto flutuante é recuperada (588) e o quantificador obtido pelo arredondamento da variável de ponto flutuante para o inteiro mais próximo. O quadro é então codificado (590). Observações são feitas durante a codificação do quadro que permitem a determinação (592) de um novo valor de quantificador. O processo decide (594) repetir a menos que não existam mais quadros. Em cujo ponto, a codificação está completa (596).
[00342] Como acima discutido, o codificador é inicializado (584) com uma variedade de parâmetros. Estes parâmetros são a 'taxa de bits', a 'taxa de quadros', o 'Intervalo de Quadro Chave Max', o 'Quantificador Máximo', o 'Quantificador Mínimo', o 'período de média', o 'período de reação' e a 'razão de descida/subida'. O seguinte é uma discussão de cada um destes parâmetros.
3.5.5.1.1. A'Taxa de bits' [00343] O parâmetro de 'taxa de bits' determina a taxa de bits alvo da codificação.
3.5.5.1.2. A 'Taxa de quadros'
Petição 870180023875, de 23/03/2018, pág. 94/160
90/112 [00344] A 'taxa de quadros' define o período entre os quadros de vídeo.
3.5.5.1.3. O 'Intervalo de Quadro Chave Max' [00345] O 'Intervalo de Quadro Chave Max' especifica o intervalo máximo entre os quadros chave. Os quadros chave são normalmente automaticamente inseridos no vídeo codificado quando o codec detecta uma mudança de cena. Em circunstâncias onde uma cena continua por um longo intervalo sem um único corte, quadros chave podem ser inseridos para assegurar que o intervalo entre os quadros chave é sempre menor do que ou igual ao 'Intervalo de Quadro Chave Max'. Em uma modalidade, o parâmetro de 'Intervalo de Quadro Chave Max' pode ser ajustado para um valor de 300 quadros. Em outras modalidades, outros valores podem ser utilizados.
3.5.5.1.4. O 'Quantificador Máximo' e o 'Quantificador Mínimo' [00346] Os parâmetros de 'Quantificador Máximo' e de 'Quantificador Mínimo' ajustam o limite superior e inferior do quantificador utilizado na codificação. Em uma modalidade, os limites do quantificador são ajustados em valores entre 1 e 31.
3.5.5.1.5. O 'Período de Média' [00347] O parâmetro de 'período de média' controla a quantidade de vídeo que é considerada quando modificando o quantificador. Um período de média mais longo tipicamente resultará no vídeo codificado tendo uma taxa total mais precisa. Em uma modalidade, um 'período de média' de 2000 é utilizado. Apesar de que em outras modalidades outros valores podem ser utilizados.
3.5.5.1.6. O 'Período de Reação' [00348] O parâmetro de 'período de reação' determina quão rápido o codificador adapta a mudanças no movimento em cenas recentes.Um valor de 'período de reação' mais longo pode resultar em cenas de alto movimento de melhor qualidade e cenas de baixo movimento
Petição 870180023875, de 23/03/2018, pág. 95/160
91/112 de pior qualidade. Em uma modalidade, um 'período de reação' de 10 é utilizado. Apesar de que em outras modalidades outros valores podem ser utilizados.
3.5.5.1.7. A 'Razão de Descida/Subida' [00349] O parâmetro de 'razão de descida/subida' controla a sensibilidade relativa para o ajuste do quantificador em reação às cenas de alto ou baixo movimento. Um valor maior tipicamente resulta em cenas de alto movimento de qualidade mais alta e um consumo de bits aumentado. Em uma modalidade uma 'razão de descida/subida' de 20 é utilizada. Apesar de que em outras modalidades, outros valores podem ser utilizados.
3.5.5.1.8. Calculando o Valor do Quantificador [00350] Como acima discutido, a técnica de controle de taxa de uma passada envolve o cálculo de um valor de quantificador após a codificação de cada quadro. O seguinte é uma descrição de uma técnica de acordo com uma modalidade da presente invenção que pode ser utilizada para atualizar o valor do quantificador.
[00351] O codificador mantém duas médias móveis exponenciais que tem períodos iguais ao 'período de média' (PaVerage) θ θ 'período de reação' (Preaction) como uma média móvel da taxa de bits. As duas médias móveis exponenciais podem ser calculadas de acordo com a relação:
. . P-T „T
-4-1·—^-+5·onde
At é a média na instância t;
Am é a média na instância t-T (usualmente a média no quadro anterior);
T representa o período de intervalo (usualmente o tempo de quadro); e
P é o período de média o qual pode ser ou Paverage θ ou PrePetição 870180023875, de 23/03/2018, pág. 96/160
92/112 action[00352] A média móvel acima calculada é então ajustada em taxa de bits dividindo pelo intervalo de tempo entre a instância atual e a última instância no vídeo, utilizando o cálculo seguinte:
Figure BRPI0416738B1_D0002
onde
Rt é o bitrato;
At é qualquer uma das médias móveis; e
T é o intervalo de tempo entre a instância atual e a última instância (é usualmente o inverso da taxa de quadros).
[00353] O codificador pode calcular a taxa de bits alvo (Rtarget) do próximo quadro como segue:
Figure BRPI0416738B1_D0003
onde
Roveraii θ θ taxa de bits total determinada para o vídeo inteiro; e
Raverage θ θ taxa de bits média utilizando o período de média longo.
[00354] Em diversas modalidades, a taxa de bits alvo está limitada inferiormente por 75% da taxa de bits total. Se a taxa de bits alvo cair abaixo daquele limite, então esta será forçada para cima para o limite para assegurar a qualidade do vídeo.
[00355] O codificador então atualiza o quantificador interno com base na diferença entre Rtarget θ Rreaction- Se Rreaction for menor do que Rtarget, então existe uma probabilidade de que o quadro anterior era de uma complexidade relativamente baixa. Portanto, o quantificador pode ser diminuído pela execução do seguinte cálculo:
Figure BRPI0416738B1_D0004
\ reaction /
Petição 870180023875, de 23/03/2018, pág. 97/160
93/112 [00356] Quando Rreaction θ maior do que Rtarget> existe uma probabilidade significativa de que o quadro anterior possuía um nível de complexidade relativamente alta. Portanto, o quantificador pode ser aumentado pela execução do seguinte cálculo:
Q internai Qiatemal' c
. 1+— SP \ reaction J onde
S é a 'razão de subida/descida’.
3.5.5.1.9.Codificacão B-VOP [00357] O algoritmo acima descrito pode também ser aplicado na codificação B-VOP. Quando o B-VOP está habilitado na codificação, o quantificador par o B-VOP (QB) é escolhido com base no quantificador do P-VOP (QP) após o B-VOP. O valor pode ser obtido de acordo com as seguintes relações:
Ôb=2.0p for Qp<4
Qb = 5+Φβρ for 4 < gp < 20
Qb=Qp for ôp-20
3.5.5.2. Controle de Taxa de duas Passadas [00359] Os codificadores de acordo com uma modalidade da presente invenção que utilizam uma técnica de controle de taxa de duas (ou múltiplas) passadas podem determinar as propriedades de uma seqüência de vídeo em uma primeira passada e então codificar a seqüência de vídeo com o conhecimento das propriedades da seqüência inteira. Portanto, o codificador pode ajustar o nível de quantificação para cada quadro com base em sua relativa complexidade comparado com outros quadros na seqüência de vídeo.
[00360] Em uma técnica de controle de taxa de duas passadas de acordo com uma modalidade da presente invenção, o codificador executa uma primeira passada na qual o vídeo é codificado de acordo com a técnica de controle de taxa de uma passada acima descrita e a
Petição 870180023875, de 23/03/2018, pág. 98/160
94/112 complexidade de cada quadro é registrada (qualquer uma de uma variedade de diferentes métricas para media a complexidade pode ser utilizada). A complexidade média e, portanto, o quantificador médio (Qref) podem ser determinados com base na primeira. Na segunda passada, o fluxo de bits é codificado com os quantificadores determinados com base nos valores de complexidade calculados durante a primeira passada.
3.5.5.2.1. Quantificadores para l-VOPs [00361] O quantificador Q para l-VOPs é ajustado para 0,75 x Qref desde que o próximo quadro não seja um l-VOP. Se o próximo quadro for também um l-VOP, o Q (para o quadro atual) é ajustado para 1,25 x Qref·
3.5.5.2.2. Quantificadores para P-VOPs [00362] O quantificador para os P-VOPs podem ser determinados utilizando a seguinte expressão.
= ^·
Figure BRPI0416738B1_D0005
ef\ ' c / complexity / /C ' complexity onde r
£ a complexidade do quadro;
o compiexuy £ a complexidade média da seqüência de vídeo;
F(x) é uma função que provê o número ao qual a complexidade do quadro deve ser multiplicada para fornecer o número de bits requeridos para codificar o quadro utilizando um quantificador com um valor de quantificação x;
F'1(x) é a função inversa de F(x); e k é o parâmetro de intensidade.
[00363] A seguinte tabela define uma modalidade de uma função F(Q) que pode ser utilizada para gerar o fator pelo qual a complexidade de um quadro deve ser multiplicada de modo a determinar o núme
Petição 870180023875, de 23/03/2018, pág. 99/160
95/112 ro de bits requeridos para codificar um quadro utilizando um codificador com um quantificador Q.
Q F(Q) Q F(Q)
1 1 9 0.013
2 0.4 10 0.01
3 0.15 11 0.008
4 0.08 12 0.0065
5 0.05 13 0.005
6 0.032 14 0.0038
7 0.022 15 0.0028
8 0.017 16 0.002
Tabela 6 - Valores de F(Q) com relação a Q.
[00364] Se o parâmetro de intensidade k for escolhido ser 0, então o resultado é um quantificador constante. Quando o parâmetro de intensidade é escolhido ser 1, então o quantificador é proporcional a (j compiextty^ Diversos codificadores de acordo com as modalidades da presente invenção tem um parâmetro de intensidade k igual a 0,5.
3.5.5.2.3. Quantificadores para B-VOPs [00365] O quantificador Q para os B-VOPs pode ser escolhido utilizando a mesma técnica para escolher o quantificador para os B-VOPs na técnica de uma passada acima descrita.
3.5.5.3. Controle de Taxa Verificado em Armazenamento Temporário de Vídeo [00366] O número de bits requeridos para representar um quadro pode variar dependendo das características da seqüência de vídeo. A maioria dos sistemas de comunicação opera a uma taxa de bits constante. Um problema que pode ser encontrado com as comunicações de taxa de bits variável é alocar recursos suficientes para lidar com os picos de utilização de recursos. Diversos codificadores de acordo com as modalidades da presente invenção codificam o vídeo com uma visão de prevenir o estouro de um armazenamento temporário de vídeo
Petição 870180023875, de 23/03/2018, pág. 100/160
96/112 do decodificador, quando a taxa de bits da comunicação de taxa de bits variável está em pico.
[00367] Os objetivos do controle de taxa de verificador de armazenamento temporário de vídeo (VBV) podem incluir gerar um vídeo que não excederá o armazenamento temporário de um decodificador quando transmitido. Além disso, pode ser desejável que o vídeo codificado coincida com uma taxa de bits alvo e que o controle de taxa produza um vídeo de alta qualidade.
[00368] Os codificadores de acordo com diversas modalidades da presente invenção provêem uma escolha de pelo menos duas técnicas de controle de taxa de VBV. Uma das técnicas de controle de taxa de VBV é referida como um controle de taxa casual e a outra técnica é referida como o controle de taxa de N- passada.
3.5.5.3.1. Controle de Taxa Casual [00369] O controle de taxa de VBV casual pode ser utilizado em conjunto com a técnica de controle de taxa de uma passada e gera saídas simplesmente baseadas nos valores de quantificador atual e anterior.
[00370] Um codificador de acordo com uma modalidade da presente invenção inclui um controle de taxa casual que envolve ajustar o quantificador para o quadro n (isto é, Qn) de acordo com a seguinte relação.
1__<V I V I V β, bitrate velocity size η η—1 — = — + x anft n d n onde
Q'n é o quantificador estimado pelo controle de taxa de passada única;
Xbitrate θ calculado pela determinação de uma taxa de bits alvo com base no desvio da taxa de bits desejada;
Petição 870180023875, de 23/03/2018, pág. 101/160
97/112
Xveiocity θ calculado com base no tempo estimado até que o armazenamento temporário de VBV tenha um estouro ou um estouro negativo;
XSize é aplicado no resultado de P-VOPs somente e é calculado com base na taxa na qual o tamanho dos P-VOPs comprimidos está mudando ao longo do tempo;
Xdrift é o desvio da taxa de bits desejada.
[00371] Em diversas modalidades, o controle de taxa de VBV casual pode ser forçado a largar quadros e inserir um enchimento para respeitar o modelo de VBV. Se um quadro comprimido inesperadamente contém bits de mais ou de menos, então este pode ser largado ou enchido.
3.5.5.3.2. Controle de Taxa de vbv de na Passada [00372] O controle de taxa de VBV de N- passada pode ser utilizado em conjunto com uma técnica de controle de taxa de múltiplas passadas e utiliza as informações reunidas durante a análise anterior da seqüência de vídeo. Os codificadores de acordo com diversas modalidades da presente invenção executam um controle de taxa de VBV de N- passada de acordo com o processo ilustrado na Figura 3.9. O processo 600 começa com uma primeira passada, durante a qual uma análise é executada (602). Uma geração de mapa é executada (604) e uma estratégia é gerada (606). O controle de taxa de N- passada é então executado (608).
3.5.5.3.3. Análise [00373] Em uma modalidade, a primeira passada utiliza alguma forma de controle de taxa casual e os dados são registrados para cada quadro referentes a, tais coisas como a duração do quadro, o tipo de codificação do quadro, o quantificador utilizado, os bits de movimento produzidos e os bits de textura produzidos. Além disso, informações globais, tais como, a escala de tempo, a resolução e os ajustes de coPetição 870180023875, de 23/03/2018, pág. 102/160
98/112 dec podem também ser registrados.
3.5.5.3.4. Geração de Mapa [00374] As informações da análise são utilizadas para gerar um mapa da seqüência de vídeo. O mapa pode especificar o tipo de codificação utilizada para cada quadro (l/B/P) e pode incluir dados para cada quadro referentes à duração do quadro, a complexidade de movimento e a complexidade de textura. Em outras modalidades, o mapa pode também conter as informações que permitem uma melhor predição da influência do quantificados e de outros parâmetros sobre o tamanho de quadro comprimido e a distorção perceptual. Em diversas modalidades, a geração de mapa é executada após a N-1- ser completada.
3.5.5.3.5. Geração de Estratégia [00375] O mapa pode ser utilizado para planejar uma estratégia de como o controle de taxa de N- passada operará. O nível ideal do armazenamento temporário de VBV após cada quadro ser codificado pode ser planejado. Em outra modalidade, a geração de estratégia resulta nas informações para cada quadro incluindo o tamanho de quadro comprimido desejado, um quantificador de quadro estimado. Em diversas modalidades, a geração de estratégia é executada após a geração de mapa e antes da N- passada.
[00376] Em uma modalidade, o processo de geração de estratégia envolve a utilização de um processo iterativo para simular o codificador e determinar os valores de quantificador desejados para cada quadro tentando manter o quantificador tão próximo quanto possível do valor de quantificador médio. Uma pesquisa binária pode ser utilizada para gerar um quantificador de base para toda a seqüência de vídeo. O quantificador de base é o valor constante que faz com que o simulador atinja a taxa de bits alvo desejada. Uma vez que o quantificador de base é encontrado, o processo de geração de estratégia en
Petição 870180023875, de 23/03/2018, pág. 103/160
99/112 volve uma consideração das restrições de VBV. Em uma modalidade, um quantificador constante é utilizado se isto não modificar as restrições de VBV. Em outras modalidades, o quantificador é modulado com base na complexidade de movimento nos quadros de vídeo. Isto pode ser adicionalmente estendido para incorporar um mascaramento de mudanças de cena e outros efeitos temporais.
3.5.5.3.6. Controle de Taxa de na Passada em Laço [00377] Em uma modalidade, o controle de taxa de N- passada em laço utiliza a estratégia e utiliza o mapa para fazer a melhor predição possível da influência do quantificador e de outros parâmetros sobre o tamanho de quadro comprimido e a distorção perceptual. Pode existir um critério limitado para desviar da estratégia para tomar uma estratégia corretiva de curto prazo. Tipicamente, seguir a estratégia impedirá a violação do modelo de VBV. Em uma modalidade, o controle de taxa de N- passada em laço utiliza um laço de controle de PID. O retorno no laço de controle é o desvio acumulado do bitrato ideal.
[00378] Apesar da geração de estratégia não envolver largar quadros, o controle de taxa de N- passada em laço pode solicitar que um enchimento de vídeo seja inserido para impedir um estouro de VBV.
3.5.6. Predicões [00379] Em uma modalidade, uma predição AD/DC é executada em um modo que está em conformidade com o padrão referido como ISO/IEC 14496-2:2001 (E), seção 7.4.3. (predição de DC e de AC) e
7.7.1. (predição de DC e de AC de campo).
3.5.7. Codificação de Textura [00380] Um codificador de acordo com uma modalidade da presente invenção pode executar uma codificação de textura em um modo que está em conformidade dom o padrão referido como ISO/IEC 14496-2:2001 (E), anexo B (códigos de comprimento variável) e 7.4.1. (decodificação de comprimento variável).
Petição 870180023875, de 23/03/2018, pág. 104/160
100/112
3.5.8. Codificação de Movimento [00381] Um codificador de acordo com uma modalidade da presente invenção pode executar uma codificação de textura em um modo que está em conformidade dom o padrão referido como ISO/IEC 14496-2:2001 (E), anexo B (códigos de comprimento variável) e 7.6.3. (decodificação de vetor de movimento).
3.5.9. Gerando Blocos de ‘video’ [00382] A trilha de vídeo pode ser considerada como uma seqüência de quadros 1 a N. Os sistemas de acordo com as modalidades da presente invenção são capazes de codificar a seqüência para gerar um fluxo de bits comprimido. O fluxo de bits é formatado segmentando-o em blocos 1 a N. Cada quadro de vídeo n tem um bloco n correspondente.
[00383] Os blocos são gerados anexando os bits do fluxo de bits ao bloco n até que este, juntamente com os blocos 1 até n-1 contenham informações suficientes para um decodificador de acordo com uma modalidade da presente invenção decodifique o quadro de vídeo n. Em casos onde informações suficientes estão contidas nas blocos 1 até n-1 para gerar o quadro de vídeo n, um codificador de acordo com as modalidades da presente invenção pode incluir um bloco marcador. Em uma modalidade, o bloco marcador é um quadro P não codificado com informações de temporização idênticas às do quadro anterior.
3.6. GERANDO BLOCOS DE ‘subtitle’ [00384] Um codificador de acordo com uma modalidade da presente invenção pode tomar as legendas em um de uma série de formatos padrão e então converter as legendas em mapas de bits. As informações nos mapas de bits são então comprimidas utilizando codificação de comprimento de operação. Os mapas de bits codificados em comprimento de operação são então formatados em um bloco, o qual também inclui as informações referentes ao tempo de partida e ao tempo
Petição 870180023875, de 23/03/2018, pág. 105/160
101/112 de parada para a legenda específica contida no bloco. Em diversas modalidades, as informações referentes à cor, ao tamanho, e à posição da legenda na tela podem também estar incluídas no bloco. Os blocos podem estar incluídos na trilha de legenda que determina a paleta para as legendas e que indicam que a paleta mudou. Qualquer aplicação capaz de gerar uma legenda em um formato de legenda padrão pode ser utilizada para converter um texto inserido por um usuário diretamente em informações de legenda.
3.7. Intercalacão [00385] Uma vez que o intercalador recebeu todos os blocos acima descritos, o intercalador constrói um arquivo de multimídia. A construção do arquivo de multimídia pode envolver criar um bloco de ‘CSET’, um bloco de lista de ‘INFO’, um bloco de ‘hdrl’, um bloco de lista de 'movi’ e um bloco de idx1. Os métodos de acordo com as modalidades da presente invenção para criar estes blocos e para gerar os arquivos de multimídia estão abaixo descritos.
3.7.1. Gerando um bloco de ‘cset’ [00386] Como acima descrito, o bloco de ‘CSET’ é opcional e pode ser gerado pelo intercalador de acordo com a AVI Container Format Specification.
3.7.2. Gerando um bloco de lista de ‘INFO’ [00387] Como acima descrito, o bloco de lista de ‘INFO é opcional e pode ser gerado pelo intercalador de acordo com a AVI Container Format Specification.
3.7.3. Gerando o Bloco de Lista de ‘hdrl’ [00388] O bloco de lista de ‘hdrl’ é gerado pelo intercalador com base nas informações nos vários blocos providos para o intercalador. O bloco de lista de ‘hdrl’ referencia a localização dentro do arquivo dos blocos referenciados. Em uma modalidade, o bloco de lista de ‘hdrl’ utiliza os deslocamentos de arquivo de modo a estabelecer as referênPetição 870180023875, de 23/03/2018, pág. 106/160
102/112 cias.
3.7.4. Gerando o Bloco de Lista de ‘movi’ [00389] Como acima descrito, o bloco de lista de ‘movi’ é criado pela codificação das trilhas de áudio, de vídeo e de legenda para criar os blocos de ‘audio’, de ‘video’ e de ‘subtitle’ e então intercalando estes blocos. Em diversas modalidades, o bloco de lista de 'movi' pode também incluir as informações de gerenciamento de direitos digitais.
3.7.4.1. Intercalando o vídeo/áudio/legendas [00390] Uma variedade de regras pode ser utilizada para intercalar os blocos de áudio, de vídeo e de legenda. Tipicamente, o intercalador estabelece um número de filas para cada uma das trilhas de vídeo e de áudio. O intercalador determina qual fila deverá ser escrita no arquivo de saída. A seleção de fila pode estar baseada no período de intercalação escrevendo da fila que tem o menor número de períodos de intercalação escritos. O intercalador pode precisar aguardar que um período de intercalação inteiro esteja presente na fila antes do bloco poder ser escrito no arquivo.
[00391] Em uma modalidade, os blocos de ‘audio,’ de ‘video’ e de ‘subtitle’ gerados são intercalados de modo que os blocos de ‘audio’ e de ‘subtitle’ fiquem localizados dentro do arquivo antes dos blocos de ‘video’ que contêm as informações referentes aos quadros de vídeo aos quais estes correspondem. Em outras modalidades, os blocos de ‘audio’ e de ‘subtitle’ podem ser localizados após os blocos de ‘video’ aos quais estes correspondem. As diferenças de tempo entre a localização dos blocos de ‘audio,’ de ‘video’ e de ‘subtitle’ é grandemente dependente das capacidades de armazenamento temporário dos reprodutores que são utilizados para reproduzir os dispositivos. Em modalidades onde o armazenamento temporário é limitado ou desconhecido, o intercalador intercala os blocos de ‘audio,’ de ‘video’ e de ‘subtitle’ de modo que os blocos de ‘audio’ e de ‘subtitle’ fiquem localizados
Petição 870180023875, de 23/03/2018, pág. 107/160
103/112 entre os blocos de ‘video’, onde o bloco de ‘video’ imediatamente seguinte ao bloco de ‘audio’ e de ‘subtitle’ contém o primeiro quadro de vídeo que corresponde ao áudio ou à legenda.
3.7.4.2. Gerando as informações de DRM [00392] Nas modalidades onde um DRM é utilizado para proteger o conteúdo de vídeo de um arquivo de multimídia, as informações de DRM podem ser geradas concorrentemente com a codificação dos blocos de vídeo. Conforme cada bloco é gerado, o bloco pode ser criptografado e um bloco de DRM gerado contendo as informações referentes à criptografia do bloco de vídeo.
3.7.4.3. Intercalacão das Informações de DRM [00393] Um intercalador de acordo com uma modalidade da presente invenção intercala um bloco de DRM que contém as informações referentes à criptografia de um bloco de vídeo antes do bloco de vídeo. Em uma modalidade, o bloco de DRM para o bloco de vídeo n está localizado entre o bloco de vídeo n-1 e o bloco de vídeo n. Em outras modalidades, o espaçamento do DRM antes e após o bloco de vídeo n é dependente da quantidade de armazenamento temporário provido dentro do dispositivo que decodifica o arquivo de mídia.
3.7.5. Gerando o bloco de ‘idxT [00394] Uma vez que o bloco de lista de ‘movi’ foi gerado, a geração do bloco de ‘idxT é um processo simples. O bloco de ‘idxT é criado pela leitura da localização dentro do bloco de lista de ‘movi’ de cada bloco de ‘data’. Estas informações são combinadas com as informações lidas do bloco de ‘data’ referente à trilha à qual o bloco de ‘data’ pertence e ao conteúdo do bloco de ‘data’. Toda estas informações são então inseridas no bloco de ‘idxT em um modo apropriado a qualquer dos formatos acima descritos que está sendo utilizado para representar as informações.
4. Transmissão e Distribuição de Arquivo de Multimídia
Petição 870180023875, de 23/03/2018, pág. 108/160
104/112 [00395] Uma vez que um arquivo de multimídia é gerado, o arquivo pode ser distribuído sobre qualquer uma de uma variedade de redes. O fato de que em muitas modalidades os elementos requeridos para gerar uma apresentação de multimídia e menus, entre outras coisas, estão contidos em um único arquivo simplifica a transferência de informações. Em diversas modalidades, o arquivo de multimídia pode ser distribuído separadamente das informações requeridas para decifrar o conteúdo do arquivo de multimídia.
[00396] Em uma modalidade, o conteúdo de multimídia é provido para um primeiro servidor e codificado para criar um arquivo de multimídia de acordo com a presente invenção. O arquivo de multimídia pode então estar localizado ou no primeiro servidor ou em um segundo servidor. Em outras modalidades, as informações de DRM podem estar localizadas no primeiro servidor, no segundo servidor ou em um terceiro servidor. Em uma modalidade, o primeiro servidor pode ser consultado para assegurar a localização do arquivo de multimídia codificado e/ou assegurar a localização das informações de DRM.
5. Decodificando o Arquivo de Multimídia [00397] As informações de um arquivo de multimídia de acordo com uma modalidade da presente invenção podem ser acessadas por um computador configurado utilizando um software apropriado, um reprodutor dedicado que está conectado fixo a informações de acesso do arquivo de multimídia ou qualquer outro dispositivo capaz de analisar um arquivo AVI. Em diversas modalidades, os dispositivos podem acessar todas as informações no arquivo de multimídia. Em outras modalidades, o dispositivo pode ser incapaz de acessar todas as informações no arquivo de multimídia de acordo com uma modalidade da presente invenção. Em uma modalidade específica, um dispositivo não é capaz de acessar nenhuma das informações acima descritas que estejam em blocos que não estão especificados no formato de ar
Petição 870180023875, de 23/03/2018, pág. 109/160
105/112 quivo AVI. Em modalidades onde nem todas as informações podem ser acessadas, o dispositivo tipicamente descartará aqueles blocos que não reconhecidos pelo dispositivo.
[00398] Tipicamente, um dispositivo que é capaz de acessar as informações contidas em um arquivo de multimídia de acordo com uma modalidade da presente invenção é capaz de executar um número de funções. O dispositivo pode exibir uma apresentação de multimídia que envolve a exibição de vídeo em um display visual, gerar áudio de uma de potencialmente um número de trilhas de áudio em um sistema de áudio e exibir legendas de potencialmente uma de um número de trilhas de legenda. Diversas modalidades podem também exibir menus em um display visual enquanto reproduzindo o áudio e/ou vídeo acompanhante. Estes menus de exibição são interativos, com características, tais como, botões selecionáveis, menus e submenus instantâneos. Em algumas modalidades os itens de menu podem apontar para um conteúdo de áudio/vídeo fora do arquivo de multimídia presentemente sendo acessado. O conteúdo externo pode estar ou localizado local ao dispositivo que acessa o arquivo de multimídia ou este pode estar localizado remotamente, tal como sobre uma área local, uma área ampla ou uma rede pública. Muitas modalidades podem também pesquisar um ou mais arquivos de multimídia de acordo com os 'metadados' incluídos no(s) arquivo(s) de multimídia ou os 'metadados' referenciados por um ou mais dos arquivos de multimídia.
5.1. Exibição de Apresentação de Multimídia [00399] Dada a capacidade dos arquivos de multimídia de acordo com as modalidades da presente invenção suportarem múltiplas trilhas de áudio, múltiplas trilhas de vídeo e múltiplas trilhas de legenda, a exibição de uma apresentação de multimídia utilizando, tal arquivo de multimídia que combina vídeo, áudio e/ou legendas pode requerer a seleção de uma trilha de áudio, uma trilha de vídeo e/ou uma trilha de
Petição 870180023875, de 23/03/2018, pág. 110/160
106/112 legenda específica ou através de um sistema de menu visual ou um sistema de menu instantâneo (a operação dos quais está abaixo discutida) ou através dos ajustes padrão do dispositivo utilizado para gerar a apresentação de multimídia. Uma vez que uma trilha de áudio, uma trilha de vídeo e potencial mente uma trilha de legenda são selecionadas, a exibição da apresentação de multimídia pode prosseguir.
[00400] Um processo para localizar as informações de multimídia requeridas de um arquivo de multimídia que inclui um DRM e exibir as informações de multimídia de acordo com uma modalidade da presente invenção está ilustrado na Figura 4.0. O processo 620 inclui obter a chave de criptografia requerida para decifrar o cabeçalho de DRM (622). A chave de criptografia é então utilizada para decifrar (624) o cabeçalho de DRM e o primeiro bloco de DRM está localizado (626) dentro do bloco de lista e 'movi' do arquivo de multimídia. A chave de criptografia requerida para decifrar o bloco de 'DRM' é obtida (628) da tabela no cabeçalho de 'DRM' e a chave de criptografia é utilizada para decifrar um bloco de vídeo criptografado. O bloco de áudio requerido e qualquer bloco de legenda requerido que acompanham o bloco de vídeo são então decodificados (630) e as informações de áudio, de vídeo e de qualquer legenda são apresentadas (632) através do display e do sistema de som.
[00401] Em diversas modalidades a trilha de áudio escolhida pode incluir múltiplos canais para prover um áudio estéreo ou de som circundante. Quando uma trilha de legenda é escolhida para ser exibida, uma determinação pode ser feita quanto a se o quadro de vídeo anterior inclui uma legenda (esta determinação pode ser feita em qualquer um de uma variedade de modos que atinja o resultado de identificar um bloco de 'subtitle’ anterior que continha as informações de legenda que devem ser exibidas sobre o quadro de vídeo atualmente decodificado). Se a legenda anterior incluiu uma legenda e as informações de
Petição 870180023875, de 23/03/2018, pág. 111/160
107/112 temporização para a legenda indica que a legenda deve ser exibida com o quadro atual, então a legenda é sobreposta no quadro de vídeo decodificado. Se o quadro anterior não incluiu uma legenda ou as informações de temporização para a legenda no quadro anterior indica que a legenda não deve ser exibida em conjunto com o quadro atualmente decodificado, então um bloco de ‘subtitle’ para a trilha de legenda selecionada é procurado. Se um bloco de ‘subtitle’ for localizado, então a legenda é sobreposta ao vídeo decodificado. O vídeo (incluindo todas as legendas sobrepostas) é então exibido com o áudio acompanhante.
[00402] Retornando à discussão da Figura 4.0, o processo determina (634) se existem quaisquer blocos de DRM adicionais. Se existirem, então o próximo bloco de DRM é localizado (626) e o processo continua até que nenhum bloco de DRM adicional permaneça. Em cujo ponto, a apresentação das trilhas de áudio, de vídeo e/ou de legenda está completa (636).
[00403] Em diversas modalidades, um dispositivo pode procurar por uma porção específica das informações de multimídia (por exemplo, uma cena específica de um filme com uma trilha de áudio acompanhante específica e opcionalmente uma trilha de legenda acompanhante específica) utilizando as informações contidas no bloco de ‘hdrl’ de um arquivo de multimídia de acordo com a presente invenção. Em muitas modalidades, a decodificação do bloco de ‘video’, do bloco de ‘audio’ e/ou do bloco de ‘subtitle’ pode ser executada em paralelo com outras tarefas.
[00404] Um exemplo de um dispositivo capaz de acessar as informações do arquivo de multimídia e exibir um vídeo em conjunto com uma trilha de áudio específica e/ou uma trilha de legenda específica é um computador configurado no modo acima descrito utilizando um software. Outro exemplo é um reprodutor de DVD equipado com um co
Petição 870180023875, de 23/03/2018, pág. 112/160
108/112 dec que inclui estas capacidades. Em outras modalidades qualquer dispositivo configurado para localizar ou selecionar (ou intencionalmente ou arbitrariamente) os blocos de 'data' que correspondem a trilhas de mídia específicas e decodificar estas trilhas para apresentação é capaz de gerar uma apresentação de multimídia utilizando um arquivo de multimídia de acordo com a prática da presente invenção.
[00405] Em diversas modalidades, um dispositivo pode reproduzir as informações de multimídia de um arquivo de multimídia em combinação com as informações de multimídia de um arquivo externo. Tipicamente, um, tal dispositivo faria isto originando uma trilha de áudio ou uma trilha de legenda de um arquivo local referenciado em um arquivo de multimídia do tipo acima descrito. Se o arquivo referenciado não for armazenado localmente e o dispositivo está em rede com o local onde o dispositivo está armazenado, então o dispositivo pode obter uma cópia local do arquivo. O dispositivo acessaria então ambos os arquivos, estabelecendo um encadeamento de um vídeo, de um áudio e de uma legenda (se requerida) no qual as várias trilhas de multimídia são alimentadas das diferentes fontes de arquivo.
5.2. Geração de Menus [00406] Um decodificador de acordo com uma modalidade da presente invenção está ilustrado na Figura 4.1. O decodificador 650 processa um arquivo de multimídia 652 de acordo com uma modalidade da presente invenção provendo o arquivo para um demultiplexador 654. O demultiplexador extrai o bloco de ‘DMNU’ do arquivo de multimídia e extrai todos os blocos de ‘LanguageMenus’ do bloco de 'DMNU' e os provê para um analisador de menu 656. P demultiplexador também extrai todos os blocos de ‘Media’ do bloco de 'DMNU' e os provê para um renderizador de mídia 658. O analisador de menu 656 analisa as informações dos blocos de ‘LanguageMenu’ para construir uma máquina de estado que representa a estrutura de menu definida
Petição 870180023875, de 23/03/2018, pág. 113/160
109/112 no bloco de ‘LanguageMenü. A máquina de estado que representa a estrutura de menu pode ser utilizada para prover displays para o usuário e responder aos comandos do usuário. A máquina de estado é provida para um controlador de estado de menu 660. O controlador de estado de menu acompanha o estado atual da máquina de estado de menu e recebe comandos do usuário. Os comandos do usuário podem causar uma transição de estado. O display inicial provido para um usuário e quaisquer atualizações do display que acompanham uma transição de estado de menu podem ser controladas utilizando uma interface de reprodutor de menu 662. A interface de reprodutor de menu 662 pode estar conectada no controlador de estado de menu e no renderizador de mídia. A interface de reprodutor de menu instrui o renderizador de mídia qual mídia deve ser extraída dos blocos de mídia e providos para o usuário através do reprodutor 664 conectado no renderizador de mídia. O usuário pode prover o reprodutor com instruções que utilizam um dispositivo de entrada, tal como um teclado, um mouse ou um controle remoto. Geralmente o arquivo de multimídia dita o menu inicialmente exibido para o usuário e as instruções do usuário ditam o áudio e o vídeo exibidos após a geração do menu inicial. O sistema ilustrado na Figura 4.1 pode ser implementado um computador e um software. Em outras modalidades, o sistema pode ser implementado utilizando os circuitos integrados de função específica ou uma combinação de software de firmware.
[00407] Um exemplo de um menu de acordo com uma modalidade da presente invenção está ilustrado na Figura 4.2. O display de menu 670 inclui quatro áreas de botão 672, um vídeo de fundo 674, que inclui um título 676, e um apontador 678. O menu também inclui um áudio de fundo (não mostrado). O efeito visual criado pelo display pode ser enganador. A aparência visual dos botões faz tipicamente parte do vídeo de fundo e os próprios botões são simplesmente regiões defini
Petição 870180023875, de 23/03/2018, pág. 114/160
110/112 das do vídeo de fundo que tem ações específicas associadas com estes, quando a região é ativada pelo apontador. Um apontador é tipicamente uma sobreposição.
[00408] A Figura 4.3 conceitualmente ilustra a fonte de todas as informações no display mostrado na Figura 4.2. O vídeo de fundo 674 pode incluir um título de menu, a aparência visual dos botões e o fundo do display. Todos estes elementos e elementos adicionais podem aparecer estáticos ou animados. O vídeo de fundo é extraído pela utilização de informações contidas em um bloco de ‘MediaTrack’ 700 que indica a localização do vídeo de fundo dentro de uma trilha de vídeo 702. O áudio de fundo 706 que acompanha o menu pode ser localizado utilizando um bloco de ‘MediaTrack’ 708 que indica a localização do áudio de fundo dentro de uma trilha de áudio 710. Como acima discutido, o apontador 678 faz parte de uma sobreposição 713. A sobreposição 713 pode também incluir um gráfico que parece realçar a porção do vídeo de fundo que aparece como um botão. Em uma modalidade, a sobreposição 713 é obtida utilizando um Bloco de ‘MediaTrack’ 712 que indica a localização da sobreposição dentro de uma trilha de sobreposição 714. O modo no qual o menu interage com um usuário é definido pelos blocos de ‘Action’ (não mostrados) associados com cada um dos botões. Na modalidade ilustrada, um bloco de 'PlayAction’ 716 está ilustrado. O bloco de 'PlayAction’ indiretamente referencia (os outros blocos referenciados pelo bloco de 'PlayAction’ não estão mostrados) uma cena dentro de uma apresentação de multimídia contida no arquivo de multimídia (isto é uma trilha de áudio, de vídeo e possivelmente de legenda). O bloco de 'PlayAction’ 716 finalmente referencia a cena utilizando um bloco de ‘MediaTrack’ 718, o qual indica a cena dentro da trilha de filme. Um ponto em uma trilha de áudio selecionada ou padrão e potencialmente uma trilha de legenda são também referenciados.
Petição 870180023875, de 23/03/2018, pág. 115/160
111/112 [00409] Conforme o usuário entra os comandos utilizando o dispositivo de entrada, o display pode ser atualizado não somente em resposta à seleção de áreas de botão mas também simplesmente devido ao apontador estando localizado dentro da área de botão. Como acima discutido, tipicamente todas as informações de mídia utilizadas para gerar os menus estão localizadas dentro dos arquivos de multimídia e mais especificamente dentro de um bloco de 'DMNU'. Apesar de que em outras modalidades, as informações podem estar localizadas em qualquer lugar dentro do arquivo e/ou em outros arquivos.
5.3. Acesso aos Metadados [00410] Os 'metadados' são um método padronizado de representar as informações. A natureza padronizada dos 'metadados' permite que os dados sejam acessados e compreendidos por processos automáticos. Em uma modalidade, os 'metadados' são extraídos e providos para um usuário para observação. Diversas modalidades permite que os arquivos de multimídia em um servidor sejam inspecionados para prover informações referentes a usuários, hábitos de assistência e preferências de assistência., tais informações poderíam ser utilizadas por aplicações de software para recomendar outros arquivos de multimídia que um usuário pode apreciar ver. Em uma modalidade, as recomendações podem estar baseadas no arquivo de multimídia contido nos servidores de outros usuários. Em outras modalidades, um usuário pode solicitar um arquivo de multimídia e o arquivo pode ser localizado por uma máquina de pesquisa e/ou agentes inteligentes que inspecionam os 'metadados' dos arquivos de multimídia em uma variedade de locais. Além disso, o usuário pode escolher entre vários arquivos de multimídia que contêm uma apresentação de multimídia específica com base nos 'metadados' referentes ao modo no qual cada uma das diferentes versões da apresentação foram codificadas.
[00411] Em diversas modalidades, os 'metadados' de arquivos de
Petição 870180023875, de 23/03/2018, pág. 116/160
112/112 multimídia de acordo com as modalidades da presente invenção podem ser acessados para propósitos de catalogar ou para criar um menu simples para acessar o conteúdo do arquivo.
[00412] Apesar da descrição acima conter muitas modalidades específicas da invenção, estas não devem ser consideradas como imitações sobre o escopo da invenção, mas ao contrário como um exemplo de uma sua modalidade. Por exemplo, um arquivo de multimídia de acordo com uma modalidade da presente invenção pode incluir uma única apresentação de multimídia ou múltiplas apresentações de multimídia. Além disso, um, tal arquivo pode incluir um ou mais menus e qualquer variedade de diferentes tipos de 'metadados'. Consequentemente, o escopo da invenção deve ser determinado não somente pelas modalidades ilustradas, mas pelas reivindicações anexas e seus equivalentes.

Claims (37)

  1. REIVINDICAÇÕES
    1. Arquivo de multimídia (30, 30') que compreende:
    uma pluralidade de blocos para transportar informação, os referidos blocos incluindo uma pluralidade de blocos de vídeo (262) sendo partes de pelo menos uma trilha de vídeo e uma pluralidade de blocos de áudio (264) sendo partes de pelo menos uma trilha de áudio;
    em que a trilha de vídeo compreende uma série de quadros de vídeo codificados;
    caracterizado pelo fato de que:
    a pluralidade de blocos compreende uma pluralidade de blocos de legenda (266) sendo partes de pelo menos uma trilha de legenda, os ditos blocos de legenda incluindo informação sobre um tempo de partida e um tempo de término para a parte de legenda particular contida no dito bloco de legenda;
    em que os ditos blocos de vídeo, blocos de áudio e blocos de legenda são intercalados de modo que os blocos de áudio e legenda estão localizados dentro do arquivo antes dos blocos de vídeo contendo informação sobre os quadros de vídeo aos quais eles correspondem; e em que um bloco de vídeo seguido do bloco de legenda inclui a parte da dita trilha de vídeo que ocorre no tempo de partida da parte de legenda particular contida no dito bloco de legenda e um bloco de áudio precedendo um bloco de vídeo contém a parte da trilha de áudio correspondente à parte da trilha de vídeo contida no dito bloco de vídeo.
  2. 2. Arquivo de multimídia de acordo com a reivindicação 1, caracterizado pelo fato de que a pelo menos uma trilha de legenda codificada compreende uma pluralidade de trilhas de legenda codificadas.
  3. 3. Arquivo de multimídia de acordo com a reivindicação 2, caracterizado pelo fato de que ainda compreende informações de cabeçalho que identificam o número de trilhas de legenda codificadas contidas no arquivo de multimídia.
    Petição 870180058867, de 06/07/2018, pág. 4/45
    2/9
  4. 4. Arquivo de multimídia de acordo com a reivindicação 1, caracterizado pelo fato de que ainda compreende informações de cabeçalho que inclui as informações de descrição sobre pelo menos uma das trilhas de legenda codificadas.
  5. 5. Arquivo de multimídia de acordo com a reivindicação 1, caracterizado pelo fato de que cada trilha de legenda inclui uma série de mapas de bits.
  6. 6. Arquivo de multimídia de acordo com a reivindicação 5, caracterizado pelo fato de que cada trilha de legenda inclui uma série de mapas de bits comprimidos.
  7. 7. Arquivo de multimídia de acordo com a reivindicação 6, caracterizado pelo fato de que cada mapa de bits é comprimido utilizando codificação de extensão de execução.
  8. 8. Arquivo de multimídia de acordo com a reivindicação 1, caracterizado pelo fato de que cada bloco de legenda inclui as informações referentes à porção da seqüência de vídeo sobre a qual a legenda deve ser sobreposta.
  9. 9. Arquivo de multimídia de acordo com a reivindicação 1, caracterizado pelo fato de que cada bloco de legenda inclui as informações referentes à porção de um display no qual a legenda deve ser localizada.
  10. 10. Arquivo de multimídia de acordo com a reivindicação 1, caracterizado pelo fato de que cada bloco de legenda inclui as informações referentes à cor da legenda.
  11. 11. Arquivo de multimídia de acordo com a reivindicação 10, caracterizado pelo fato de que as informações referentes à cor incluem uma paleta de cores.
  12. 12. Arquivo de multimídia de acordo com a reivindicação 11, caracterizado pelo fato de que os blocos de legenda compreendem um primeiro bloco de legenda que inclui as informações referentes a uma
    Petição 870180058867, de 06/07/2018, pág. 5/45
    3/9 primeira paleta de cores e um segundo bloco de legenda que inclui as informações referentes a uma segunda paleta de cores que substitui as informações referentes à primeira paleta de cores.
  13. 13. Sistema para codificar os arquivos de multimídia que compreende:
    um processador configurado para:
    codificar uma trilha de vídeo como umapluralidade de blocos de vídeo (262);
    codificar pelo menos uma faixa de áudio como blocos de áudio (264);
    caracterizado pelo fato de que o processador é ainda configurado para:
    codificar pelo menos uma trilha de legenda, como uma pluralidade de blocos de legendas (266), em que cada bloco de legenda (266) inclui informação referente a uma legenda, e cada bloco de legenda (266) inclui informação sobre um tempo de partida e um tempo de término da legenda;
    intercalar os blocos de áudio (264), os blocos de legenda (266) e os blocos de vídeo (264) para que os blocos de áudio e legenda estejam localizados dentro do arquivo antes dos blocos de vídeo contendo informações referentes aos quadros de vídeo aos quais eles correspondem, e que um bloco de vídeo seguindo um bloco de legenda inclui a porção da dita trilha de vídeo que ocorre no tempo de partida da legenda específica contida no citado bloco de legenda e um bloco de áudio precedendo um bloco de vídeo contém a parte da trilha de áudio correspondente a uma parte da trilha de vídeo contida no dito bloco de vídeo; e escrever os blocos intercalados em um único arquivo.
  14. 14. Sistema de acordo com a reivindicação 13, caracterizado pelo fato de que a pelo menos uma trilha de legenda compreende
    Petição 870180058867, de 06/07/2018, pág. 6/45
    4/9 uma pluralidade de trilhas de legenda.
  15. 15. Sistema de acordo com a reivindicação 13, caracterizado pelo fato de que o processador está ainda configurado para codificar e escrever no único arquivo, as informações de cabeçalho que identificam o número de trilhas de legenda contidas no arquivo de multimídia.
  16. 16. Sistema de acordo com a reivindicação 13, caracterizado pelo fato de que o processador está ainda configurado para codificar e escrever no único arquivo, as informações de descrição sobre pelo menos uma das trilhas de legenda.
  17. 17. Sistema de acordo com a reivindicação 13, caracterizado pelo fato de que o processador está configurado para gerar um bloco de legenda pela codificação da legenda como um mapa de bits.
  18. 18. Sistema de acordo com a reivindicação 13, caracterizado pelo fato de que a legenda é codificada como um mapa de bits comprimido.
  19. 19. Sistema de acordo com a reivindicação 18, caracterizado pelo fato de que o mapa de bits é comprimido utilizando codificação de extensão de execução.
  20. 20. Sistema de acordo com a reivindicação 19, caracterizado pelo fato de que o processador inclui em cada bloco de legenda as informações referentes à porção da seqüência de vídeo sobre a qual a legenda deve ser sobreposta.
  21. 21. Sistema de acordo com a reivindicação 13, caracterizado pelo fato de que o processador inclui em cada bloco de legenda as informações referentes à porção de um display no qual a legenda deve estar localizada.
  22. 22. Sistema de acordo com a reivindicação 13, caracterizado pelo fato de que o processador inclui em cada bloco de legenda as informações referentes à cor da legenda.
    Petição 870180058867, de 06/07/2018, pág. 7/45
    5/9
  23. 23. Sistema de acordo com a reivindicação 13, caracterizado pelo fato de que as informações referentes à cor incluem uma paleta de cores.
  24. 24. Sistema de acordo com a reivindicação 23, caracterizado pelo fato de que os blocos de legenda compreendem um primeiro bloco de legenda que inclui as informações referentes a uma primeira paleta de cores e um segundo bloco de legenda que inclui as informações referentes a uma segunda paleta de cores que substitui as informações referentes à primeira paleta de cores.
  25. 25. Sistema para decodificar os arquivos de multimídia, que compreende:
    um processador configurado para:
    extrair uma pluralidade de blocos do arquivo multimídia, os referidos blocos incluindo uma pluralidade de blocos de vídeo (262) sendo partes de pelo menos uma trilha de vídeo e uma pluralidade de blocos de áudio (264) sendo partes de pelo menos uma trilha de áudio;
    em que a trilha de vídeo compreende uma série de quadros de vídeo codificados;
    caracterizado pelo fato de que:
    a pluralidade de blocos inclui ainda uma pluralidade de blocos de legendas (266) de pelo menos uma trilha de legenda, em que cada bloco de legenda (266) inclui informação sobre uma legenda, e cada bloco de legenda inclui informação sobre um tempo de partida e um tempo de término para a lengenda; e em que um bloco de vídeo após um bloco de legenda inclui a parte da referida trilha de vídeo que ocorre no tempo de partida da legenda particular contida no dito bloco de legenda e um bloco de áudio precedendo um bloco de vídeo contém a porção da trilha de áudio correspondente à porção da trilha de vídeo contida no dito bloco de vídeo.
    Petição 870180058867, de 06/07/2018, pág. 8/45
    6/9
  26. 26. Sistema de acordo com a reivindicação 25, caracterizado pelo fato de que a pelo menos uma trilha de legenda compreende uma pluralidade de trilhas de legenda e o processador está configurado para determinar o número de trilhas de legenda no arquivo de multimídia.
  27. 27. Sistema de acordo com a reivindicação 25, caracterizado pelo fato de que o processador está ainda configurado para extrair as informações de cabeçalho que identificam o número de trilhas de legenda do arquivo de multimídia.
  28. 28. Sistema de acordo com a reivindicação 25, caracterizado pelo fato de que o processador está ainda configurado para extrair as informações de descrição sobre pelo menos uma das trilhas de legenda do arquivo de multimídia.
  29. 29. Sistema para decodificar os arquivos de multimídia de acordo com a reivindicação 25, caracterizado pelo fato de que:
    cada legenda está codificada nos blocos de legenda como um mapa de bits;
    o processador está configurado para decodificar a trilha de vídeo; e o processador está configurado para construir um quadro de vídeo para exibição por sobreposição do mapa de bits sobre uma porção da seqüência de vídeo.
  30. 30. Sistema para decodificar os arquivos de multimídia de acordo com a reivindicação 29, caracterizado pelo fato de que:
    a legenda é codificada como uma mapa de bits comprimido; e o processador está configurado para descomprimir o mapa de bits.
  31. 31. Sistema para decodificar os arquivos de multimídia de
    Petição 870180058867, de 06/07/2018, pág. 9/45
    7/9 acordo com a reivindicação 30, caracterizado pelo fato de que o processador está configurado para descomprimir um mapa de bits codificado de extensão de execução.
  32. 32. Sistema para decodificar os arquivos de multimídia de acordo com a reivindicação 29, caracterizado pelo fato de que:
    cada bloco de legenda inclui as informações referentes à porção da trilha de vídeo sobre a qual a legenda deve ser sobreposta.
    o processador está configurado para gerar uma seqüência de quadros de vídeo para exibição pela sobreposição do mapa de bits da legenda sobre cada quadro de vídeo indicado pelas informações no bloco de legenda.
  33. 33. Sistema para decodificar os arquivos de multimídia de acordo com a reivindicação 29, caracterizado pelo fato de que:
    cada bloco de legenda inclui as informações referentes à posição dentro de um quadro no qual a legenda deve estar localizada; e o processador está configurado para sobrepor a legenda na posição dentro de cada quadro de vídeo indicado pelas informações dentro do bloco de legenda.
  34. 34. Sistema para decodificar os arquivos de multimídia de acordo com a reivindicação 29, caracterizado pelo fato de que:
    cada bloco de legenda inclui as informações referentes à cor da legenda; e o processador está configurado para sobrepor a legenda na cor ou cores indicadas pelas informações de cor dentro do bloco de legenda.
  35. 35. Sistema para decodificar os arquivos de multimídia de acordo com a reivindicação 34, caracterizado pelo fato de que:
    as informações de cor dentro de um bloco de legenda incluem uma paleta de cores; e
    Petição 870180058867, de 06/07/2018, pág. 10/45
    8/9 o processador está configurado para sobrepor a legenda utilizando a paleta de cores para obter as informações de cor utilizadas no mapa de bits da legenda.
  36. 36. Sistema de acordo com a reivindicação 35, caracterizado pelo fato de que os blocos de legenda compreendem um primeiro bloco de legenda que inclui as informações referentes a uma primeira paleta de cores e um segundo bloco de legenda que inclui as informações referentes a uma segunda paleta de cores; e em que o processador está:
    configurado para sobrepor a legenda utilizando a primeira paleta de cores para obter as informações referentes às cores utilizadas no mapa de bits da legenda após o primeiro bloco ser processado; e configurado para sobrepor a legenda utilizando a segunda paleta de cores para obter as informações referentes às cores utilizadas no mapa de bits da legenda após o segundo bloco ser processado.
  37. 37. Sistema para comunicar as informações de multimídia que compreende:
    uma rede;
    um dispositivo de armazenamento contendo um arquivo multimídia e conectado à rede através de um servidor;
    um cliente conectado à rede;
    em que o cliente pode solicitar a transferência do arquivo multimídia do servidor; e em que o arquivo multimídia inclui uma pluralidade de blocos para transportar informação, os referidos blocos incluindo uma pluralidade de blocos de vídeo (262) sendo partes de pelo menos uma trilha de vídeo e uma pluralidade de blocos de áudio (264) sendo partes de pelo menos uma trilha;
    em que a trilha de vídeo compreende uma série de quadros de vídeo codificados;
    Petição 870180058867, de 06/07/2018, pág. 11/45
    9/9 caracterizado pelo fato de que:
    a pluralidade de blocos ainda inclui uma pluralidade de blocos de legenda (266) sendo partes de pelo menos uma trilha de legenda, os ditos blocos de legenda incluindo informação sobre um tempo de partida e um tempo de término para a parte de legenda particular contida no dito bloco de legendas;
    em que os ditos blocos de áudio, blocos de legendas e blocos de vídeo são intercalados, de modo que os blocos de áudio e legenda estão localizados dentro do arquivo antes dos blocos de vídeo contendo informação relativa aos quadros de vídeo aos quais eles correspondem; e em que o bloco de vídeo seguinte a um bloco de legenda inclui a parte da referida trilha de vídeo que ocorre no tempo de partida da parte de legenda particular contida no dito bloco de legenda e o bloco de áudio precedendo um bloco de vídeo contém a parte da trilha de áudio correspondente à parte da trilha de vídeo contida no dito bloco de vídeo.
BRPI0416738A 2003-12-08 2004-12-08 arquivo de multimídia, sistema para codificar os arquivos de multimídia, sistema para decodificar os arquivos de multimídia, e sistema para comunicar as informações de multimídia BRPI0416738B1 (pt)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/731,809 US7519274B2 (en) 2003-12-08 2003-12-08 File format for multiple track digital data
PCT/US2004/041667 WO2005057906A2 (en) 2003-12-08 2004-12-08 Multimedia distribution system

Publications (2)

Publication Number Publication Date
BRPI0416738A BRPI0416738A (pt) 2007-01-16
BRPI0416738B1 true BRPI0416738B1 (pt) 2018-12-26

Family

ID=34634434

Family Applications (1)

Application Number Title Priority Date Filing Date
BRPI0416738A BRPI0416738B1 (pt) 2003-12-08 2004-12-08 arquivo de multimídia, sistema para codificar os arquivos de multimídia, sistema para decodificar os arquivos de multimídia, e sistema para comunicar as informações de multimídia

Country Status (9)

Country Link
US (12) US7519274B2 (pt)
EP (3) EP3641317B1 (pt)
JP (4) JP2007532044A (pt)
KR (4) KR101380265B1 (pt)
CN (1) CN101124561B (pt)
BR (1) BRPI0416738B1 (pt)
ES (2) ES2927630T3 (pt)
HK (1) HK1215889A1 (pt)
WO (1) WO2005057906A2 (pt)

Families Citing this family (168)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100406630B1 (ko) * 2001-03-13 2003-11-20 엘지전자 주식회사 데모용 데이터의 기록 및 재생방법과, 그에 따른 기록매체
KR20020072934A (ko) * 2001-03-13 2002-09-19 엘지전자 주식회사 데모용 데이터가 기록된 재생전용 광디스크와, 그 재생방법
US7215770B2 (en) * 2002-01-02 2007-05-08 Sony Corporation System and method for partially encrypted multimedia stream
KR20040000290A (ko) * 2002-06-24 2004-01-03 엘지전자 주식회사 고밀도 광디스크의 멀티 경로 데이터 스트림 관리방법
US7116716B2 (en) 2002-11-01 2006-10-03 Microsoft Corporation Systems and methods for generating a motion attention model
US7260261B2 (en) * 2003-02-20 2007-08-21 Microsoft Corporation Systems and methods for enhanced image adaptation
US20070206682A1 (en) * 2003-09-29 2007-09-06 Eric Hamilton Method And Apparatus For Coding Information
US8472792B2 (en) * 2003-12-08 2013-06-25 Divx, Llc Multimedia distribution system
US20060200744A1 (en) * 2003-12-08 2006-09-07 Adrian Bourke Distributing and displaying still photos in a multimedia distribution system
US7519274B2 (en) 2003-12-08 2009-04-14 Divx, Inc. File format for multiple track digital data
US7649539B2 (en) * 2004-03-10 2010-01-19 Microsoft Corporation Image formats for video capture, processing and display
EP1730739B1 (en) * 2004-03-26 2010-09-01 LG Electronics, Inc. Recording medium, method, and apparatus for reproducing text subtitle streams
EP1730730B1 (en) * 2004-03-26 2009-11-25 LG Electronics, Inc. Recording medium and method and apparatus for reproducing text subtitle stream recorded on the recording medium
US7624021B2 (en) * 2004-07-02 2009-11-24 Apple Inc. Universal container for audio data
US9053754B2 (en) 2004-07-28 2015-06-09 Microsoft Technology Licensing, Llc Thumbnail generation and presentation for recorded TV programs
US7986372B2 (en) * 2004-08-02 2011-07-26 Microsoft Corporation Systems and methods for smart media content thumbnail extraction
KR100628655B1 (ko) * 2004-10-20 2006-09-26 한국전자통신연구원 상이한 디지털 저작권 관리 도메인간의 콘텐츠 교환을 위한방법 및 시스템
TWI237806B (en) * 2004-11-03 2005-08-11 Sunplus Technology Co Ltd Audio decoding system with ring buffer and method thereof
US20060123063A1 (en) * 2004-12-08 2006-06-08 Ryan William J Audio and video data processing in portable multimedia devices
KR100703738B1 (ko) * 2005-01-19 2007-04-05 삼성전자주식회사 컨텐츠 재생시 화면 보호기의 동작을 제어하는 방법 및 장치
GB2424534B (en) * 2005-03-24 2007-09-05 Zootech Ltd Authoring audiovisual content
US20060222073A1 (en) * 2005-03-29 2006-10-05 Guillaume Mercier Authoring running marks in compressed data
US8379721B2 (en) * 2005-09-22 2013-02-19 Qualcomm Incorported Two pass rate control techniques for video coding using a min-max approach
US7876819B2 (en) * 2005-09-22 2011-01-25 Qualcomm Incorporated Two pass rate control techniques for video coding using rate-distortion characteristics
US20090160862A1 (en) * 2005-10-13 2009-06-25 Tae Hyeon Kim Method and Apparatus for Encoding/Decoding
WO2007043824A1 (en) * 2005-10-13 2007-04-19 Lg Electronics Inc. Method and apparatus for encoding/decoding
US20070112811A1 (en) * 2005-10-20 2007-05-17 Microsoft Corporation Architecture for scalable video coding applications
US8180826B2 (en) * 2005-10-31 2012-05-15 Microsoft Corporation Media sharing and authoring on the web
US7773813B2 (en) 2005-10-31 2010-08-10 Microsoft Corporation Capture-intention detection for video content analysis
US8196032B2 (en) * 2005-11-01 2012-06-05 Microsoft Corporation Template-based multimedia authoring and sharing
KR100667840B1 (ko) * 2005-11-30 2007-01-11 삼성전자주식회사 멀티미디어 파일을 생성 방법, 재생 방법, 재생 장치 및멀티미디어 파일이 기록된 정보저장매체
US7949131B2 (en) * 2005-12-19 2011-05-24 Sigmatel, Inc. Digital security system
US20070162855A1 (en) * 2006-01-06 2007-07-12 Kelly Hawk Movie authoring
US7636889B2 (en) * 2006-01-06 2009-12-22 Apple Inc. Controlling behavior of elements in a display environment
US20070162857A1 (en) * 2006-01-06 2007-07-12 Ralf Weber Automated multimedia authoring
JP5200204B2 (ja) 2006-03-14 2013-06-05 ディブエックス リミテッド ライアビリティー カンパニー 高信頼性システムを含む連合型デジタル権限管理機構
US7962933B2 (en) * 2006-04-06 2011-06-14 Velti USA, Inc. Mid-roll insertion of digital media
US20080040215A1 (en) * 2006-04-06 2008-02-14 Ad Infuse, Inc. Mid-Roll Insertion of Digital Media
US8880571B2 (en) * 2006-05-05 2014-11-04 Microsoft Corporation High dynamic range data format conversions for digital media
WO2007143592A2 (en) * 2006-06-01 2007-12-13 Divx, Inc. Content description system
US20070283158A1 (en) * 2006-06-02 2007-12-06 Microsoft Corporation Microsoft Patent Group System and method for generating a forensic file
EP2041974A4 (en) * 2006-07-12 2014-09-24 Lg Electronics Inc METHOD AND DEVICE FOR CODING / DECODING A SIGNAL
KR100903958B1 (ko) * 2006-08-02 2009-06-25 엠텍비젼 주식회사 디지털 오디오 데이터의 복호화 방법, 디지털 오디오데이터의 복호화 장치 및 디지털 오디오 데이터의 복호화방법을 수행하는 기록매체
US20080066107A1 (en) * 2006-09-12 2008-03-13 Google Inc. Using Viewing Signals in Targeted Video Advertising
US8452801B2 (en) * 2006-10-19 2013-05-28 Lg Electronics Inc. Encoding method and apparatus and decoding method and apparatus
WO2008086313A1 (en) * 2007-01-05 2008-07-17 Divx, Inc. Video distribution system including progressive playback
US8054886B2 (en) * 2007-02-21 2011-11-08 Microsoft Corporation Signaling and use of chroma sample positioning information
US20080276266A1 (en) * 2007-04-18 2008-11-06 Google Inc. Characterizing content for identification of advertising
US8667532B2 (en) 2007-04-18 2014-03-04 Google Inc. Content recognition for targeting video advertisements
US20080294691A1 (en) * 2007-05-22 2008-11-27 Sunplus Technology Co., Ltd. Methods for generating and playing multimedia file and recording medium storing multimedia file
US8433611B2 (en) * 2007-06-27 2013-04-30 Google Inc. Selection of advertisements for placement with content
US8249451B2 (en) * 2007-08-16 2012-08-21 Futurewei Technologies, Inc. Methods for characterizing optical switches and multiplexers/demultiplexers
US9064024B2 (en) 2007-08-21 2015-06-23 Google Inc. Bundle generation
KR101482099B1 (ko) * 2007-10-08 2015-01-13 엘지전자 주식회사 멀티 미디어 데이터의 부호화/복호화 방법 및 장치
US8230125B2 (en) * 2007-10-30 2012-07-24 Mediatek Inc. Methods for reserving index memory space in AVI recording apparatus
US20090119332A1 (en) * 2007-11-01 2009-05-07 Lection David B Method And System For Providing A Media Transition Having A Temporal Link To Presentable Media Available From A Remote Content Provider
ES2895384T3 (es) 2007-11-16 2022-02-21 Divx Llc Encabezado de fragmentos que incorpora indicadores binarios y campos de longitud variable correlacionados
WO2009065137A1 (en) 2007-11-16 2009-05-22 Divx, Inc. Hierarchical and reduced index structures for multimedia files
US7836107B2 (en) * 2007-12-20 2010-11-16 Microsoft Corporation Disk seek optimized file system
US8997161B2 (en) 2008-01-02 2015-03-31 Sonic Ip, Inc. Application enhancement tracks
KR20090076689A (ko) * 2008-01-09 2009-07-13 삼성전자주식회사 디지털 비디오 방송 시스템에서 전자 서비스 가이드를송/수신하는 장치 및 방법
US9824372B1 (en) 2008-02-11 2017-11-21 Google Llc Associating advertisements with videos
EP2107811A1 (en) * 2008-03-31 2009-10-07 British Telecmmunications public limited campany Encoder
US20090257484A1 (en) * 2008-04-15 2009-10-15 Winbond Electronics Corp. Method for audio-video encoding and apparatus for multimedia storage
US20100037149A1 (en) * 2008-08-05 2010-02-11 Google Inc. Annotating Media Content Items
EP2332054A4 (en) * 2008-09-30 2013-04-10 Hewlett Packard Development Co NAS-BASED MULTIMEDIA FILE DISTRIBUTION SERVICE
KR100989079B1 (ko) * 2008-10-28 2010-10-25 한국전자통신연구원 오케스트라 미디어 서비스 시스템 및 방법
WO2010051545A1 (en) * 2008-10-31 2010-05-06 Divx, Inc. System and method for playing content on certified devices
CA2749170C (en) 2009-01-07 2016-06-21 Divx, Inc. Singular, collective and automated creation of a media guide for online content
FR2946820B1 (fr) * 2009-06-16 2012-05-11 Canon Kk Procede de transmission de donnees et dispositif associe.
US8355433B2 (en) * 2009-08-18 2013-01-15 Netflix, Inc. Encoding video streams for adaptive video streaming
KR101246596B1 (ko) * 2009-08-26 2013-03-25 에스케이플래닛 주식회사 서비스 영상 전송 시스템, 서버 및 방법
US20110066488A1 (en) * 2009-09-17 2011-03-17 Ad Infuse, Inc. Mobile ad routing
EP2507995A4 (en) 2009-12-04 2014-07-09 Sonic Ip Inc SYSTEMS AND METHODS FOR TRANSPORTING ELEMENTARY BIT TRAIN CRYPTOGRAPHIC MATERIAL
US9152708B1 (en) 2009-12-14 2015-10-06 Google Inc. Target-video specific co-watched video clusters
US20110153337A1 (en) * 2009-12-17 2011-06-23 Electronics And Telecommunications Research Institute Encoding apparatus and method and decoding apparatus and method of audio/voice signal processing apparatus
JP2011253589A (ja) 2010-06-02 2011-12-15 Funai Electric Co Ltd 画像音声再生装置
WO2012010928A1 (en) * 2010-07-20 2012-01-26 Nokia Corporation A media streaming apparatus
CN102387121B (zh) * 2010-08-30 2014-07-23 株式会社日立制作所 管理服务器、影像分发控制系统及影像分发控制方法
WO2012075180A1 (en) * 2010-11-30 2012-06-07 Rovi Technologies Corporation Systems and methods for downloading by different processes
US9247312B2 (en) 2011-01-05 2016-01-26 Sonic Ip, Inc. Systems and methods for encoding source media in matroska container files for adaptive bitrate streaming using hypertext transfer protocol
EP2924989A1 (en) 2011-03-16 2015-09-30 Electronics and Telecommunications Research Institute Apparatus and method for providing streaming content using representations
JP5857449B2 (ja) * 2011-05-27 2016-02-10 ソニー株式会社 画像処理装置及び録画装置
US8818171B2 (en) 2011-08-30 2014-08-26 Kourosh Soroushian Systems and methods for encoding alternative streams of video for playback on playback devices having predetermined display aspect ratios and network connection maximum data rates
US9467708B2 (en) 2011-08-30 2016-10-11 Sonic Ip, Inc. Selection of resolutions for seamless resolution switching of multimedia content
CN103875248B (zh) 2011-08-30 2018-09-07 帝威视有限公司 用于编码和流处理通过使用多个最大比特率级别编码的视频的系统和方法
US8806188B2 (en) 2011-08-31 2014-08-12 Sonic Ip, Inc. Systems and methods for performing adaptive bitrate streaming using automatically generated top level index files
US8799647B2 (en) 2011-08-31 2014-08-05 Sonic Ip, Inc. Systems and methods for application identification
US8964977B2 (en) 2011-09-01 2015-02-24 Sonic Ip, Inc. Systems and methods for saving encoded media streamed using adaptive bitrate streaming
US8909922B2 (en) 2011-09-01 2014-12-09 Sonic Ip, Inc. Systems and methods for playing back alternative streams of protected content protected using common cryptographic information
US9918115B2 (en) 2011-10-04 2018-03-13 Google Llc System and method for obtaining video streams
US8976814B2 (en) * 2011-12-09 2015-03-10 General Electric Company Method of transporting data from sending node to destination node
US8918908B2 (en) 2012-01-06 2014-12-23 Sonic Ip, Inc. Systems and methods for accessing digital content using electronic tickets and ticket tokens
US10616782B2 (en) 2012-03-29 2020-04-07 Mgage, Llc Cross-channel user tracking systems, methods and devices
US20130329808A1 (en) * 2012-06-12 2013-12-12 Jorg-Ulrich Mohnen Streaming portions of a quilted image representation along with content control data
US9197685B2 (en) 2012-06-28 2015-11-24 Sonic Ip, Inc. Systems and methods for fast video startup using trick play streams
US9143812B2 (en) 2012-06-29 2015-09-22 Sonic Ip, Inc. Adaptive streaming of multimedia
US10452715B2 (en) 2012-06-30 2019-10-22 Divx, Llc Systems and methods for compressing geotagged video
US9436300B2 (en) * 2012-07-10 2016-09-06 Nokia Technologies Oy Method and apparatus for providing a multimodal user interface track
WO2014015110A1 (en) 2012-07-18 2014-01-23 Verimatrix, Inc. Systems and methods for rapid content switching to provide a linear tv experience using streaming content distribution
US8914836B2 (en) 2012-09-28 2014-12-16 Sonic Ip, Inc. Systems, methods, and computer program products for load adaptive streaming
US8997254B2 (en) 2012-09-28 2015-03-31 Sonic Ip, Inc. Systems and methods for fast startup streaming of encrypted multimedia content
US9313510B2 (en) 2012-12-31 2016-04-12 Sonic Ip, Inc. Use of objective quality measures of streamed content to reduce streaming bandwidth
US9264475B2 (en) 2012-12-31 2016-02-16 Sonic Ip, Inc. Use of objective quality measures of streamed content to reduce streaming bandwidth
US9191457B2 (en) 2012-12-31 2015-11-17 Sonic Ip, Inc. Systems, methods, and media for controlling delivery of content
US8943068B2 (en) * 2013-02-26 2015-01-27 Cray Inc Dynamic graph system for a semantic database
SG11201509078PA (en) * 2013-03-04 2015-12-30 Yimwai Yau Communication terminal product supporting interactive association system
US9372531B2 (en) * 2013-03-12 2016-06-21 Gracenote, Inc. Detecting an event within interactive media including spatialized multi-channel audio content
US9680901B2 (en) * 2013-03-14 2017-06-13 Openwave Mobility, Inc. Method, apparatus and non-transitory computer medium for encoding data of a media file
US10397292B2 (en) 2013-03-15 2019-08-27 Divx, Llc Systems, methods, and media for delivery of content
US9906785B2 (en) 2013-03-15 2018-02-27 Sonic Ip, Inc. Systems, methods, and media for transcoding video data according to encoding parameters indicated by received metadata
US9344517B2 (en) 2013-03-28 2016-05-17 Sonic Ip, Inc. Downloading and adaptive streaming of multimedia content to a device with cache assist
US9247317B2 (en) 2013-05-30 2016-01-26 Sonic Ip, Inc. Content streaming with client device trick play index
US9094737B2 (en) 2013-05-30 2015-07-28 Sonic Ip, Inc. Network video streaming with trick play based on separate trick play files
US9967305B2 (en) 2013-06-28 2018-05-08 Divx, Llc Systems, methods, and media for streaming media content
JP6110517B2 (ja) 2013-08-19 2017-04-05 華為技術有限公司Huawei Technologies Co.,Ltd. データオブジェクト処理方法及び装置
CN103491416B (zh) * 2013-09-29 2018-09-04 深圳Tcl新技术有限公司 字幕数据的单图层显示方法和装置
JP6336058B2 (ja) 2013-10-14 2018-06-06 マイクロソフト テクノロジー ライセンシング,エルエルシー ビデオ及び画像符号化及び復号のためのベースカラーインデックスマップモードの機能
US9343112B2 (en) 2013-10-31 2016-05-17 Sonic Ip, Inc. Systems and methods for supplementing content from a server
US9621613B1 (en) * 2013-11-05 2017-04-11 Visualon, Inc. Bitrate adaptation transitioning using key frames
GB201321851D0 (en) 2013-12-10 2014-01-22 Canon Kk Run length parameters coding for palette mode
CA2933602C (en) * 2013-12-19 2018-11-06 Lg Electronics Inc. Broadcast transmitting device and operating method thereof, and broadcast receiving device and operating method thereof
US10542274B2 (en) 2014-02-21 2020-01-21 Microsoft Technology Licensing, Llc Dictionary encoding and decoding of screen content
US10063912B2 (en) * 2014-02-28 2018-08-28 Avago Technologies General Ip (Singapore) Pte. Ltd. Adaptive transcoding bypass system
US9866878B2 (en) 2014-04-05 2018-01-09 Sonic Ip, Inc. Systems and methods for encoding and playing back video at different frame rates using enhancement layers
JP6331670B2 (ja) * 2014-05-12 2018-05-30 ソニー株式会社 受信装置、および送信装置、並びにデータ処理方法
EP4177886A1 (en) * 2014-05-30 2023-05-10 Sony Corporation Information processing apparatus and information processing method
CN105338394B (zh) 2014-06-19 2018-11-30 阿里巴巴集团控股有限公司 字幕数据的处理方法及系统
JP6477699B2 (ja) * 2014-06-20 2019-03-06 ソニー株式会社 情報処理装置および情報処理方法
WO2016049839A1 (en) 2014-09-30 2016-04-07 Microsoft Technology Licensing, Llc Rules for intra-picture prediction modes when wavefront parallel processing is enabled
KR20190097320A (ko) 2015-01-06 2019-08-20 디브이엑스, 엘엘씨 디바이스들간에 콘텐트를 인코딩 및 공유하기 위한 시스템들 및 방법들
JP6891492B2 (ja) * 2015-02-03 2021-06-18 ソニーグループ株式会社 送信装置、送信方法、受信装置および受信方法
CN106664405B (zh) * 2015-06-09 2020-06-09 微软技术许可有限责任公司 用调色板模式对经逸出编码的像素的稳健编码/解码
US10063872B2 (en) 2015-09-11 2018-08-28 Facebook, Inc. Segment based encoding of video
US10602153B2 (en) * 2015-09-11 2020-03-24 Facebook, Inc. Ultra-high video compression
US10499070B2 (en) 2015-09-11 2019-12-03 Facebook, Inc. Key frame placement for distributed video encoding
US10602157B2 (en) 2015-09-11 2020-03-24 Facebook, Inc. Variable bitrate control for distributed video encoding
US10341561B2 (en) 2015-09-11 2019-07-02 Facebook, Inc. Distributed image stabilization
US10375156B2 (en) 2015-09-11 2019-08-06 Facebook, Inc. Using worker nodes in a distributed video encoding system
US10506235B2 (en) 2015-09-11 2019-12-10 Facebook, Inc. Distributed control of video encoding speeds
CN105592368B (zh) * 2015-12-18 2019-05-03 中星技术股份有限公司 一种视频码流中版本标识的方法
TWI728061B (zh) * 2016-03-15 2021-05-21 日商新力股份有限公司 送訊裝置及收訊裝置
US10075292B2 (en) 2016-03-30 2018-09-11 Divx, Llc Systems and methods for quick start-up of playback
US9619588B1 (en) 2016-03-31 2017-04-11 Ca, Inc. Detecting and displaying cumulative lossy transformation
US10148989B2 (en) 2016-06-15 2018-12-04 Divx, Llc Systems and methods for encoding video content
CN107526742B (zh) * 2016-06-21 2021-10-08 伊姆西Ip控股有限责任公司 用于处理多语言文本的方法和设备
CN106231222B (zh) * 2016-08-23 2019-05-14 深圳亿维锐创科技股份有限公司 基于多码流可交互的示教录像文件格式的存储播放方法
CN107919943B (zh) 2016-10-11 2020-08-04 阿里巴巴集团控股有限公司 二进制数据的编码、解码方法和装置
TWI640195B (zh) * 2016-12-14 2018-11-01 日商夏普股份有限公司 具有統一資源識別符訊息浮水印有效負載之廣播系統
US10498795B2 (en) 2017-02-17 2019-12-03 Divx, Llc Systems and methods for adaptive switching between multiple content delivery networks during adaptive bitrate streaming
US11588872B2 (en) 2017-06-12 2023-02-21 C-Hear, Inc. System and method for codec for combining disparate content
US10187443B2 (en) 2017-06-12 2019-01-22 C-Hear, Inc. System and method for encoding image data and other data types into one data format and decoding of same
US11146608B2 (en) * 2017-07-20 2021-10-12 Disney Enterprises, Inc. Frame-accurate video seeking via web browsers
KR102343958B1 (ko) * 2017-11-03 2021-12-27 현대자동차주식회사 멀티미디어 장치 및 멀티미디어 장치에 의한 오류 표시 검출 방법
CN111147896A (zh) * 2018-11-05 2020-05-12 中兴通讯股份有限公司 一种字幕数据处理方法、装置、设备和计算机存储介质
CN110197177B (zh) * 2019-04-22 2024-03-19 平安科技(深圳)有限公司 提取视频字幕的方法、装置、计算机设备及存储介质
CN110334705B (zh) * 2019-06-25 2021-08-03 华中科技大学 一种结合全局和局部信息的场景文本图像的语种识别方法
CN111565330A (zh) * 2020-07-13 2020-08-21 北京美摄网络科技有限公司 一种同步字幕的添加方法及装置、电子设备、存储介质
CN111901538B (zh) 2020-07-23 2023-02-17 北京字节跳动网络技术有限公司 一种字幕生成方法、装置、设备及存储介质
CN112055262B (zh) * 2020-08-11 2022-10-21 视若飞信息科技(上海)有限公司 一种网络流媒体字幕的显示方法及系统
CN112000308B (zh) * 2020-09-10 2023-04-18 成都拟合未来科技有限公司 一种双音轨音频播放控制方法、系统、终端及介质
CN113886612A (zh) * 2020-11-18 2022-01-04 北京字跳网络技术有限公司 一种多媒体浏览方法、装置、设备及介质
US20230059035A1 (en) * 2021-08-23 2023-02-23 Netflix, Inc. Efficient encoding of film grain noise
WO2023026065A1 (en) 2021-08-27 2023-03-02 Blackbird Plc Methods of encrypting a multimedia file, methods of decrypting an encrypted multimedia file; computer program products and apparatus
TWI777771B (zh) * 2021-09-15 2022-09-11 英業達股份有限公司 行動影音裝置及影音播放控制方法
CN114238524B (zh) * 2021-12-21 2022-05-31 军事科学院系统工程研究院网络信息研究所 基于增强样本模型的卫星频轨数据信息抽取方法
CN115103222A (zh) * 2022-06-24 2022-09-23 湖南快乐阳光互动娱乐传媒有限公司 一种视频音轨处理方法及相关设备
WO2024123744A1 (en) * 2022-12-06 2024-06-13 Ceruleant Systems, Llc Data encryption and decryption using screens and process object-based logic blocks

Family Cites Families (652)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3609227A (en) 1968-09-09 1971-09-28 Ampex Random access audio/video information retrieval system
US4009331A (en) * 1974-12-24 1977-02-22 Goldmark Communications Corporation Still picture program video recording composing and playback method and system
JPS5343143A (en) 1976-09-30 1978-04-19 Tokai Trw & Co Ignition plug
US4694491A (en) 1985-03-11 1987-09-15 General Instrument Corp. Cryptographic system using interchangeable key blocks and selectable key fragments
US4694357A (en) * 1985-04-24 1987-09-15 Thomson-Csf Broadcast, Inc. Apparatus and method for video signal processing
US4802170A (en) * 1987-04-29 1989-01-31 Matrox Electronics Systems Limited Error disbursing format for digital information and method for organizing same
US4964069A (en) * 1987-05-12 1990-10-16 International Business Machines Corporation Self adjusting video interface
US5274758A (en) * 1989-06-16 1993-12-28 International Business Machines Computer-based, audio/visual creation and presentation system and method
US5119474A (en) 1989-06-16 1992-06-02 International Business Machines Corp. Computer-based, audio/visual creation and presentation system and method
US5470631A (en) * 1990-04-03 1995-11-28 Masonite Corporation Flat oriented strand board-fiberboard composite structure and method of making the same
US5428529A (en) 1990-06-29 1995-06-27 International Business Machines Corporation Structured document tags invoking specialized functions
JP3236015B2 (ja) 1990-10-09 2001-12-04 キヤノン株式会社 情報処理装置及び方法
US5253275A (en) 1991-01-07 1993-10-12 H. Lee Browne Audio and video transmission and receiving system
US5132992A (en) 1991-01-07 1992-07-21 Paul Yurt Audio and video transmission and receiving system
US5412773A (en) 1991-11-19 1995-05-02 Sony Electronics Inc. Computerized interactive menu-driven video signal processing apparatus and method
US5404436A (en) 1991-11-27 1995-04-04 Digital Equipment Corporation Computer method and apparatus for converting compressed characters for display in full size
US6850252B1 (en) 1999-10-05 2005-02-01 Steven M. Hoffberg Intelligent electronic appliance system and method
JP2521016B2 (ja) * 1991-12-31 1996-07-31 インターナショナル・ビジネス・マシーンズ・コーポレイション マルチメディア・デ―タ処理システム
US5341474A (en) 1992-05-15 1994-08-23 Bell Communications Research, Inc. Communications architecture and buffer for distributing information services
US5420974A (en) * 1992-10-15 1995-05-30 International Business Machines Corporation Multimedia complex form creation, display and editing method apparatus
US5400401A (en) 1992-10-30 1995-03-21 Scientific Atlanta, Inc. System and method for transmitting a plurality of digital services
US5420801A (en) * 1992-11-13 1995-05-30 International Business Machines Corporation System and method for synchronization of multimedia streams
US5471576A (en) * 1992-11-16 1995-11-28 International Business Machines Corporation Audio/video synchronization for application programs
US5539908A (en) * 1992-11-24 1996-07-23 International Business Machines Corporation Dynamically linked and shared compression/decompression
US5493339A (en) * 1993-01-21 1996-02-20 Scientific-Atlanta, Inc. System and method for transmitting a plurality of digital services including compressed imaging services and associated ancillary data services
US5719786A (en) * 1993-02-03 1998-02-17 Novell, Inc. Digital media data stream network management system
US5396497A (en) * 1993-02-26 1995-03-07 Sony Corporation Synchronization of audio/video information
US5544318A (en) 1993-04-16 1996-08-06 Accom, Inc., Asynchronous media server request processing system for servicing reprioritizing request from a client determines whether or not to delay executing said reprioritizing request
ES2074417T3 (es) 1993-06-23 2001-02-01 Wella Ag Producto acuoso para el fijado del cabello.
JP2707950B2 (ja) 1993-07-30 1998-02-04 ソニー株式会社 ディジタル画像情報処理装置
EP0644692B2 (en) 1993-09-16 2003-10-01 Kabushiki Kaisha Toshiba Video signal compression/decompression device for video disk recording/reproducing apparatus
US5596564A (en) 1993-10-08 1997-01-21 Matsushita Electric Industrial Co., Ltd. Information recording medium and apparatus and method for recording and reproducing information
EP0651391A3 (en) * 1993-10-29 1997-02-05 Tokyo Shibaura Electric Co Threaded fastener.
US5574934A (en) * 1993-11-24 1996-11-12 Intel Corporation Preemptive priority-based transmission of signals using virtual channels
US5684542A (en) * 1993-12-21 1997-11-04 Sony Corporation Video subtitle processing system
US6473860B1 (en) 1994-04-07 2002-10-29 Hark C. Chan Information distribution and processing system
JP2945842B2 (ja) 1994-04-13 1999-09-06 株式会社東芝 データ記録方法、データ再生装置及びデータ再生方法
US5583652A (en) * 1994-04-28 1996-12-10 International Business Machines Corporation Synchronized, variable-speed playback of digitally recorded audio and video
US5477263A (en) 1994-05-26 1995-12-19 Bell Atlantic Network Services, Inc. Method and apparatus for video on demand with fast forward, reverse and channel pause
JPH07327029A (ja) * 1994-05-31 1995-12-12 Fujitsu Ltd 暗号化通信システム
US5642171A (en) * 1994-06-08 1997-06-24 Dell Usa, L.P. Method and apparatus for synchronizing audio and video data streams in a multimedia system
US5633472A (en) * 1994-06-21 1997-05-27 Microsoft Corporation Method and system using pathnames to specify and access audio data at fidelity levels other than the level at which the data is stored
US5907597A (en) * 1994-08-05 1999-05-25 Smart Tone Authentication, Inc. Method and system for the secure communication of data
JPH0856356A (ja) 1994-08-10 1996-02-27 Fujitsu Ltd 符号化装置および復号化装置
US5761417A (en) 1994-09-08 1998-06-02 International Business Machines Corporation Video data streamer having scheduler for scheduling read request for individual data buffers associated with output ports of communication node to one storage node
ES2171568T3 (es) 1994-09-09 2002-09-16 Titan Corp Sistema de acceso condicional.
US5541662A (en) * 1994-09-30 1996-07-30 Intel Corporation Content programmer control of video and data display using associated data
US5614940A (en) 1994-10-21 1997-03-25 Intel Corporation Method and apparatus for providing broadcast information with indexing
WO1996017313A1 (en) * 1994-11-18 1996-06-06 Oracle Corporation Method and apparatus for indexing multimedia information streams
US5793980A (en) 1994-11-30 1998-08-11 Realnetworks, Inc. Audio-on-demand communication system
US7349976B1 (en) 1994-11-30 2008-03-25 Realnetworks, Inc. Audio-on-demand communication system
JP2842796B2 (ja) 1994-12-06 1999-01-06 富士通株式会社 動画像の暗号化処理方法及び装置及び暗号化された動画像の復号化処理方法及び装置
JPH08163488A (ja) 1994-12-12 1996-06-21 Matsushita Electric Ind Co Ltd 動画像ダイジェスト生成方法及び動画像ダイジェスト生成装置
US5721720A (en) * 1994-12-28 1998-02-24 Kabushiki Kaisha Toshiba Optical recording medium recording pixel data as a compressed unit data block
US5485611A (en) 1994-12-30 1996-01-16 Intel Corporation Video database indexing and method of presenting video database index to a user
US5533021A (en) * 1995-02-03 1996-07-02 International Business Machines Corporation Apparatus and method for segmentation and time synchronization of the transmission of multimedia data
CA2168641C (en) * 1995-02-03 2000-03-28 Tetsuya Kitamura Image information encoding/decoding system
CN100452072C (zh) 1995-02-13 2009-01-14 英特特拉斯特技术公司 用于管理在第一装置和第二装置之间的数字文档的分布的方法
JP3602635B2 (ja) 1995-02-16 2004-12-15 株式会社東芝 音声切換方法および再生装置
KR100254090B1 (ko) 1995-02-16 2000-04-15 니시무로 타이죠 기록 매체 재생 장치
US6002834A (en) 1995-02-24 1999-12-14 Hitachi, Ltd. Optical disk having table relating sector address and time and optical disk reproducing apparatus
US6009237A (en) 1995-02-24 1999-12-28 Hitachi Ltd. Optical disk and optical disk reproduction apparatus
US6937729B2 (en) 1995-04-03 2005-08-30 Scientific-Atlanta, Inc. Representing entitlements to service in a conditional access system
US5745643A (en) * 1995-04-06 1998-04-28 Kabushiki Kaisha Toshiba System for and method of reproducing playback data appropriately by the use of attribute information on the playback data
US5813010A (en) 1995-04-14 1998-09-22 Kabushiki Kaisha Toshiba Information storage and information transmission media with parental control
TW430785B (en) 1995-04-14 2001-04-21 Toshiba Corp Interactively broadcasting recording-media and its regeneration system
US5809173A (en) 1995-04-18 1998-09-15 Advanced Micro Devices, Inc. Method and apparatus for improved video decompression using previous frame DCT coefficients
US6026232A (en) * 1995-07-13 2000-02-15 Kabushiki Kaisha Toshiba Method and system to replace sections of an encoded video bitstream
US5852664A (en) 1995-07-10 1998-12-22 Intel Corporation Decode access control for encoded multimedia signals
US5822524A (en) * 1995-07-21 1998-10-13 Infovalue Computing, Inc. System for just-in-time retrieval of multimedia files over computer networks by transmitting data packets at transmission rate determined by frame size
US6516064B1 (en) 1995-07-25 2003-02-04 Sony Corporation Signal recording apparatus, signal record medium and signal reproducing apparatus
JP3326670B2 (ja) * 1995-08-02 2002-09-24 ソニー株式会社 データ符号化/復号化方法および装置、および符号化データ記録媒体
US5763800A (en) * 1995-08-14 1998-06-09 Creative Labs, Inc. Method and apparatus for formatting digital audio data
US5978482A (en) 1995-08-21 1999-11-02 International Business Machines Corporation Method and system for protection of digital information
EP0788094A4 (en) 1995-08-21 1998-06-24 Matsushita Electric Ind Co Ltd MULTIMEDIA OPTICAL DISK WHICH CAN COMPLETELY GENERATE UNEXPECTED SCENES THROUGH INTERACTIVE CONTROL, THEIR PLAYBACK DEVICE AND PLAYBACK METHOD
TW305043B (pt) * 1995-09-29 1997-05-11 Matsushita Electric Ind Co Ltd
TW385431B (en) 1995-09-29 2000-03-21 Matsushita Electric Ind Co Ltd A method and an apparatus for encoding a bitstream with plural possible searching reproduction paths information useful in multimedia optical disk
TW436777B (en) 1995-09-29 2001-05-28 Matsushita Electric Ind Co Ltd A method and an apparatus for reproducing bitstream having non-sequential system clock data seamlessly therebetween
US5751280A (en) * 1995-12-11 1998-05-12 Silicon Graphics, Inc. System and method for media stream synchronization with a base atom index file and an auxiliary atom index file
US5627936A (en) * 1995-12-21 1997-05-06 Intel Corporation Apparatus and method for temporal indexing of multiple audio, video and data streams
US5675511A (en) * 1995-12-21 1997-10-07 Intel Corporation Apparatus and method for event tagging for multiple audio, video, and data 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
CA2237293A1 (en) 1995-12-29 1997-07-10 Scientific-Atlanta, Inc. Method and apparatus for providing conditional access in connection-oriented, interactive networks with a multiplicity of service providers
US6957350B1 (en) * 1996-01-30 2005-10-18 Dolby Laboratories Licensing Corporation Encrypted and watermarked temporal and resolution layering in advanced television
US5959690A (en) * 1996-02-20 1999-09-28 Sas Institute, Inc. Method and apparatus for transitions and other special effects in digital motion video
US5630005A (en) 1996-03-22 1997-05-13 Cirrus Logic, Inc Method for seeking to a requested location within variable data rate recorded information
US5675382A (en) * 1996-04-08 1997-10-07 Connectix Corporation Spatial compression and decompression for video
US6031622A (en) 1996-05-16 2000-02-29 Agfa Corporation Method and apparatus for font compression and decompression
US6065050A (en) * 1996-06-05 2000-05-16 Sun Microsystems, Inc. System and method for indexing between trick play and normal play video streams in a video delivery system
US5903261A (en) * 1996-06-20 1999-05-11 Data Translation, Inc. Computer based video system
US5874986A (en) 1996-06-26 1999-02-23 At&T Corp Method for communicating audiovisual programs over a communications network
US5844575A (en) 1996-06-27 1998-12-01 Intel Corporation Video compression interface
JP3093678B2 (ja) 1996-06-28 2000-10-03 株式会社東芝 暗号化方法、復号方法、記録再生装置、復号装置、復号化ユニット装置及び記録媒体の製造方法
US5828370A (en) * 1996-07-01 1998-10-27 Thompson Consumer Electronics Inc. Video delivery system and method for displaying indexing slider bar on the subscriber video screen
US5956729A (en) * 1996-09-06 1999-09-21 Motorola, Inc. Multimedia file, supporting multiple instances of media types, and method for forming same
US5805700A (en) * 1996-10-15 1998-09-08 Intel Corporation Policy based selective encryption of compressed video data
US6578200B1 (en) 1996-10-31 2003-06-10 Matsushita Electric Industrial Co., Ltd. Data transmission/reception apparatus for use in a two-way digital broadcasting system
JPH10145773A (ja) * 1996-11-14 1998-05-29 Toshiba Corp 動画像データの暗号化方法およびその方法が適用されるコンピュータシステム並びに動画像データ符号化/復号化装置
US5878135A (en) 1996-11-27 1999-03-02 Thomson Consumer Electronics, Inc. Decoding system for processing encrypted broadcast, cable or satellite video data
US6038000A (en) * 1997-05-28 2000-03-14 Sarnoff Corporation Information stream syntax for indicating the presence of a splice point
WO1998034405A1 (en) 1997-01-30 1998-08-06 Microsoft Corporation Vcr-like functions rendering video on demand
FI106071B (fi) 1997-03-13 2000-11-15 Nokia Mobile Phones Ltd Mukautuva suodatin
US6128653A (en) 1997-03-17 2000-10-03 Microsoft Corporation Method and apparatus for communication media commands and media data using the HTTP protocol
MY124583A (en) 1997-03-19 2006-06-30 Sony Corp Video data decoding apparatus and method and video signal reproduction apparatus and method
US6654933B1 (en) 1999-09-21 2003-11-25 Kasenna, Inc. System and method for media stream indexing
CA2257578C (en) * 1997-04-07 2003-01-21 At&T Corp. System and method for processing object-based audiovisual information
US5963202A (en) 1997-04-14 1999-10-05 Instant Video Technologies, Inc. System and method for distributing and managing digital video information in a video distribution network
US5892915A (en) 1997-04-25 1999-04-06 Emc Corporation System having client sending edit commands to server during transmission of continuous media from one clip in play list for editing the play list
US6535878B1 (en) 1997-05-02 2003-03-18 Roxio, Inc. Method and system for providing on-line interactivity over a server-client network
US6611537B1 (en) * 1997-05-30 2003-08-26 Centillium Communications, Inc. Synchronous network for digital media streams
JP3791720B2 (ja) 1997-06-11 2006-06-28 ソニー株式会社 伝送装置及び伝送方法
US6970564B1 (en) 1998-07-13 2005-11-29 Sony Corporation Data multiplexing device, program distribution system, program transmission system, pay broadcast system, program transmission method, conditional access system, and data reception device
FI103003B (fi) 1997-06-13 1999-03-31 Nokia Corp Suodatusmenetelmä, suodatin ja kannettava päätelaite
KR100242448B1 (ko) 1997-06-28 2000-02-01 윤종용 디지털 비디오 디스크 고속 재생 제어장치 및 방법
US6573907B1 (en) 1997-07-03 2003-06-03 Obvious Technology Network distribution and management of interactive video and multi-media containers
US5860292A (en) * 1997-08-26 1999-01-19 Augustine Medical, Inc. Inflatable thermal blanket for convectively cooling a body
JPH1175178A (ja) 1997-08-28 1999-03-16 Sanyo Electric Co Ltd 画像符号化装置及び画像符号化方法
US5970147A (en) 1997-09-30 1999-10-19 Intel Corporation System and method for configuring and registering a cryptographic device
US6594699B1 (en) 1997-10-10 2003-07-15 Kasenna, Inc. System for capability based multimedia streaming over a network
US6697566B2 (en) * 1997-10-17 2004-02-24 Sony Corporation Encoded signal characteristic point recording apparatus
US6046778A (en) * 1997-10-29 2000-04-04 Matsushita Electric Industrial Co., Ltd. Apparatus for generating sub-picture units for subtitles and storage medium storing sub-picture unit generation program
KR19990042668A (ko) 1997-11-27 1999-06-15 정선종 다중 비디오 전송을 위한 비디오 부호화 장치 및 방법
US6057832A (en) 1997-12-02 2000-05-02 V Soft Ltd. Method and apparatus for video-on-demand with fast play capability
KR100252108B1 (ko) * 1997-12-20 2000-04-15 윤종용 Mpeg 압축부호화 및 복호화기를 채용한 디지털 기록 재생장치 및 그 방법
US6665835B1 (en) * 1997-12-23 2003-12-16 Verizon Laboratories, Inc. Real time media journaler with a timing event coordinator
JP4186242B2 (ja) 1997-12-26 2008-11-26 ソニー株式会社 画像信号処理装置及び画像信号処理方法
US6453355B1 (en) * 1998-01-15 2002-09-17 Apple Computer, Inc. Method and apparatus for media data transmission
US6453459B1 (en) * 1998-01-21 2002-09-17 Apple Computer, Inc. Menu authoring system and method for automatically performing low-level DVD configuration functions and thereby ease an author's job
JP3394899B2 (ja) 1998-01-23 2003-04-07 株式会社東芝 オーディオ用データ記録媒体とデータ処理装置及び方法
US6751623B1 (en) 1998-01-26 2004-06-15 At&T Corp. Flexible interchange of coded multimedia facilitating access and streaming
US7233948B1 (en) 1998-03-16 2007-06-19 Intertrust Technologies Corp. Methods and apparatus for persistent control and protection of content
US7809138B2 (en) 1999-03-16 2010-10-05 Intertrust Technologies Corporation Methods and apparatus for persistent control and protection of content
IL123819A (en) 1998-03-24 2001-09-13 Geo Interactive Media Group Lt Network media streaming
JP3120773B2 (ja) * 1998-04-06 2000-12-25 日本電気株式会社 画像処理装置
JP3997367B2 (ja) * 1998-04-30 2007-10-24 ソニー株式会社 記録再生装置および方法、並びに記録媒体
JP3383580B2 (ja) 1998-05-15 2003-03-04 株式会社東芝 情報記憶媒体と情報記録再生装置と方法
US6859496B1 (en) 1998-05-29 2005-02-22 International Business Machines Corporation Adaptively encoding multiple streams of video data in parallel for multiplexing onto a constant bit rate channel
EP1034656A2 (en) 1998-06-11 2000-09-13 Koninklijke Philips Electronics N.V. Trick play signal generation for a digital video recorder
JP3383587B2 (ja) * 1998-07-07 2003-03-04 株式会社東芝 静止画像連続情報記録方法と光ディスクと光ディスクの情報再生装置と情報再生方法
US6320905B1 (en) 1998-07-08 2001-11-20 Stream Machine Company Postprocessing system for removing blocking artifacts in block-based codecs
US6199107B1 (en) 1998-07-22 2001-03-06 Microsoft Corporation Partial file caching and read range resume system and method
US6973090B2 (en) * 1998-07-22 2005-12-06 Synchrodyne Networks, Inc. Switching with multiple time references
US8380041B2 (en) 1998-07-30 2013-02-19 Tivo Inc. Transportable digital video recorder system
US7457415B2 (en) 1998-08-20 2008-11-25 Akikaze Technologies, Llc Secure information distribution system utilizing information segment scrambling
US6931531B1 (en) 1998-09-02 2005-08-16 Matsushita Electric Industrial Co., Ltd. Image object recording, compression, and encryption method and system
DE69912979T2 (de) * 1998-09-08 2004-09-02 Sharp K.K. Verfahren und gerät zur bearbeitung zeitveränderlicher bilder
JP2000090644A (ja) * 1998-09-08 2000-03-31 Sharp Corp 画像管理方法及び画像管理装置
US6351538B1 (en) 1998-10-06 2002-02-26 Lsi Logic Corporation Conditional access and copy protection scheme for MPEG encoded video data
CN1165165C (zh) 1998-10-12 2004-09-01 松下电器产业株式会社 信息记录介质及用于记录或再现数据的装置和方法
EP1001419B1 (en) 1998-11-09 2004-03-03 Matsushita Electric Industrial Co., Ltd. Data conversion apparatus and method in copyright protecting system
CA2289958C (en) 1998-11-19 2003-01-21 Tomoyuki Okada Information recording medium, apparatus and method for recording or reproducing data thereof
SE513356C2 (sv) * 1998-11-20 2000-08-28 Ericsson Telefon Ab L M Förfarande och anordning för kryptering av bilder
US6236764B1 (en) 1998-11-30 2001-05-22 Equator Technologies, Inc. Image processing circuit and method for reducing a difference between pixel values across an image boundary
US6414996B1 (en) * 1998-12-08 2002-07-02 Stmicroelectronics, Inc. System, method and apparatus for an instruction driven digital video processor
US6374144B1 (en) * 1998-12-22 2002-04-16 Varian Semiconductor Equipment Associates, Inc. Method and apparatus for controlling a system using hierarchical state machines
US7209892B1 (en) * 1998-12-24 2007-04-24 Universal Music Group, Inc. Electronic music/media distribution system
EP1021048A3 (en) 1999-01-14 2002-10-02 Kabushiki Kaisha Toshiba Digital video recording system and its recording medium
AU2515800A (en) 1999-01-26 2000-08-07 Infolio, Inc. Universal mobile id system and method for digital rights management
JP3433125B2 (ja) * 1999-01-27 2003-08-04 三洋電機株式会社 動画像再生装置
US6169242B1 (en) * 1999-02-02 2001-01-02 Microsoft Corporation Track-based music performance architecture
WO2000046803A1 (fr) 1999-02-05 2000-08-10 Kabushiki Kaisha Toshiba Procede permettant de creer des trains de donnees et procede permettant d'effectuer des suppressions partielles
CN100477735C (zh) * 1999-02-08 2009-04-08 三洋电机株式会社 移动图像记录装置与数码照相机
US6498865B1 (en) * 1999-02-11 2002-12-24 Packetvideo Corp,. Method and device for control and compatible delivery of digitally compressed visual data in a heterogeneous communication network
DE19906449C1 (de) 1999-02-16 2000-08-10 Fraunhofer Ges Forschung Verfahren und Vorrichtung zum Erzeugen eines verschlüsselten Nutzdatenstroms und Verfahren und Vorrichtung zum Abspielen eines verschlüsselten Nutzdatenstroms
DE19906450C1 (de) 1999-02-16 2000-08-17 Fraunhofer Ges Forschung Verfahren und Vorrichtung zum Erzeugen eines verschlüsselten Nutzdatenstroms und Verfahren und Vorrichtung zum Entschlüsseln eines verschlüsselten Nutzdatenstroms
WO2000049803A1 (fr) 1999-02-18 2000-08-24 Kabushiki Kaisha Toshiba Support d'enregistrement pour flux de donnees, procede d'enregistrement et procede de reproduction associes
US6415031B1 (en) 1999-03-12 2002-07-02 Diva Systems Corporation Selective and renewable encryption for secure distribution of video on-demand
TR200102784T2 (tr) 1999-03-17 2002-04-22 Solvay Pharmaceuticals Gmbh Diyabet tedavisi için ilaç
WO2000055854A1 (fr) 1999-03-17 2000-09-21 Kabushiki Kaisha Toshiba Procede d'enregistrement de donnees en fluxet de leur structure
EP1039468A3 (en) 1999-03-19 2000-10-04 Deutsche Thomson-Brandt Gmbh Method for implementing trickplay modes in a data stream recorder
US6658056B1 (en) 1999-03-30 2003-12-02 Sony Corporation Digital video decoding, buffering and frame-rate converting method and apparatus
US8689265B2 (en) 1999-03-30 2014-04-01 Tivo Inc. Multimedia mobile personalization system
US6721794B2 (en) 1999-04-01 2004-04-13 Diva Systems Corp. Method of data management for efficiently storing and retrieving data to respond to user access requests
US6865747B1 (en) * 1999-04-01 2005-03-08 Digital Video Express, L.P. High definition media storage structure and playback mechanism
US6748481B1 (en) 1999-04-06 2004-06-08 Microsoft Corporation Streaming information appliance with circular buffer for receiving and selectively reading blocks of streaming information
US6535920B1 (en) 1999-04-06 2003-03-18 Microsoft Corporation Analyzing, indexing and seeking of streaming information
US20050182828A1 (en) 1999-04-21 2005-08-18 Interactual Technologies, Inc. Platform specific execution
AU4359400A (en) 1999-04-21 2000-11-02 Interactual Technologies, Inc. System, method and article of manufacture for updating content stored on a portable storage medium
US6453420B1 (en) 1999-04-21 2002-09-17 Research Investment Network, Inc. System, method and article of manufacture for authorizing the use of electronic content utilizing a laser-centric medium
US7493018B2 (en) 1999-05-19 2009-02-17 Kwang Su Kim Method for creating caption-based search information of moving picture data, searching and repeating playback of moving picture data based on said search information, and reproduction apparatus using said method
US6807306B1 (en) 1999-05-28 2004-10-19 Xerox Corporation Time-constrained keyframe selection method
US6330286B1 (en) 1999-06-09 2001-12-11 Sarnoff Corporation Flow control, latency control, and bitrate conversions in a timing correction and frame synchronization apparatus
US6725281B1 (en) * 1999-06-11 2004-04-20 Microsoft Corporation Synchronization of controlled device state using state table and eventing in data-driven remote device control model
US7330875B1 (en) * 1999-06-15 2008-02-12 Microsoft Corporation System and method for recording a presentation for on-demand viewing over a computer network
GB9916181D0 (en) 1999-07-09 1999-09-08 Simoco Int Ltd Method and apparatus for transmitting data
JP2001043668A (ja) 1999-08-02 2001-02-16 Nippon Columbia Co Ltd 光ディスク装置
US7133598B1 (en) 1999-08-20 2006-11-07 Thomson Licensing Method for converting packetized video data and corresponding navigation data into a second data format
US6731758B1 (en) 1999-08-29 2004-05-04 Intel Corporation Digital video content transmission ciphering and deciphering method and apparatus
JP2003513538A (ja) 1999-10-22 2003-04-08 アクティブスカイ,インコーポレイテッド オブジェクト指向ビデオシステム
CA2388606C (en) 1999-10-27 2009-12-29 Diva Systems Corporation Picture-in-picture and multiple video streams using slice-based encoding
US6912513B1 (en) 1999-10-29 2005-06-28 Sony Corporation Copy-protecting management using a user scrambling key
US6988144B1 (en) * 1999-11-18 2006-01-17 International Business Machines Corporation Packet scheduling system and method for multimedia data
US7151832B1 (en) 1999-11-18 2006-12-19 International Business Machines Corporation Dynamic encryption and decryption of a stream of data
US6996720B1 (en) 1999-12-17 2006-02-07 Microsoft Corporation System and method for accessing protected content in a rights-management architecture
US7051110B2 (en) 1999-12-20 2006-05-23 Matsushita Electric Industrial Co., Ltd. Data reception/playback method and apparatus and data transmission method and apparatus for providing playback control functions
US20010030710A1 (en) * 1999-12-22 2001-10-18 Werner William B. System and method for associating subtitle data with cinematic material
CN1159918C (zh) * 1999-12-29 2004-07-28 上海龙林通信技术有限公司 Ip网上压缩多媒体源信号的装置
US7110542B1 (en) 1999-12-30 2006-09-19 Intel Corporation Protecting audio/video content during storage and playback on a processor-based system
US6871008B1 (en) * 2000-01-03 2005-03-22 Genesis Microchip Inc. Subpicture decoding architecture and method
US6810131B2 (en) 2000-01-05 2004-10-26 Canon Kabushiki Kaisha Information processing method and apparatus
KR100320476B1 (ko) * 2000-01-12 2002-01-15 구자홍 비디오 디코더 및 디코딩 방법
WO2001054099A1 (fr) 2000-01-21 2001-07-26 Sony Corporation Systeme d'authentification de donnees
JP2001209583A (ja) 2000-01-26 2001-08-03 Sony Corp データ記録再生器およびセーブデータ処理方法、並びにプログラム提供媒体
AU773588B2 (en) * 2000-01-28 2004-05-27 Opentv, Inc. Interactive television system and method for simultaneous transmission and rendering of multiple encoded video streams
US6693959B1 (en) 2000-03-03 2004-02-17 Ati International Srl Method and apparatus for indexing and locating key frames in streaming and variable-frame-length data
EP1143658A1 (en) 2000-04-03 2001-10-10 Canal+ Technologies Société Anonyme Authentication of data transmitted in a digital transmission system
DE60121930T2 (de) 2000-04-08 2007-07-26 Sun Microsystems, Inc., Santa Clara Methode zum streamen einer einzelnen medienspur zu mehreren clients
JP4599740B2 (ja) 2000-04-21 2010-12-15 ソニー株式会社 情報処理装置および方法、記録媒体、プログラム、並びに記録媒体
US7302490B1 (en) 2000-05-03 2007-11-27 Microsoft Corporation Media file format to support switching between multiple timeline-altered media streams
US6609548B2 (en) 2000-05-11 2003-08-26 Michelin Recherche Et Technique S.A. Asymmetrical vehicle tire with balanced wet and dry performance
GB2362532B (en) 2000-05-15 2004-05-05 Nokia Mobile Phones Ltd Video coding
EP1158799A1 (en) 2000-05-18 2001-11-28 Deutsche Thomson-Brandt Gmbh Method and receiver for providing subtitle data in several languages on demand
KR100448452B1 (ko) 2000-06-09 2004-09-13 엘지전자 주식회사 고밀도 광 기록매체의 메뉴 지원방법
JP2001359070A (ja) 2000-06-14 2001-12-26 Canon Inc データ処理装置、データ処理方法及びコンピュータ可読記憶媒体
US8091106B1 (en) * 2000-06-26 2012-01-03 Thomson Licensing Method and apparatus for using DVD subpicture information in a television receiver
US6965646B1 (en) 2000-06-28 2005-11-15 Cisco Technology, Inc. MPEG file format optimization for streaming
US7647340B2 (en) * 2000-06-28 2010-01-12 Sharp Laboratories Of America, Inc. Metadata in JPEG 2000 file format
US6871006B1 (en) 2000-06-30 2005-03-22 Emc Corporation Processing of MPEG encoded video for trick mode operation
FI109393B (fi) * 2000-07-14 2002-07-15 Nokia Corp Menetelmä mediavirran enkoodaamiseksi skaalautuvasti, skaalautuva enkooderi ja päätelaite
KR20040041082A (ko) 2000-07-24 2004-05-13 비브콤 인코포레이티드 멀티미디어 북마크와 비디오의 가상 편집을 위한 시스템및 방법
US7548565B2 (en) 2000-07-24 2009-06-16 Vmark, Inc. Method and apparatus for fast metadata generation, delivery and access for live broadcast program
US6395969B1 (en) * 2000-07-28 2002-05-28 Mxworks, Inc. System and method for artistically integrating music and visual effects
JP4810752B2 (ja) 2000-08-04 2011-11-09 ソニー株式会社 データ記録媒体、データ記録方法及び装置、データ再生方法及び装置、データ送信方法及び装置、並びに、データ受信方法及び装置
US7373422B1 (en) 2000-08-04 2008-05-13 Oracle International Corporation Techniques for supporting multiple devices in mobile applications
US6704024B2 (en) 2000-08-07 2004-03-09 Zframe, Inc. Visual content browsing using rasterized representations
KR20020013664A (ko) * 2000-08-14 2002-02-21 민홍기 청각장애인을 위한 인터넷 자막방송용 서버, 클라이언트구현
US20050100998A1 (en) 2000-08-21 2005-05-12 Prescott Stephen M. Human cytidine monophosphate (cmp) kinase cdna
AU2001276731A1 (en) 2000-08-25 2002-03-04 Matsushita Electric Industrial Co., Ltd. Data transmission method and data relay method
US6453115B1 (en) 2000-08-31 2002-09-17 Keen Personal Media, Inc. Digital video recording system which generates an index data structure for displaying a video stream in trickplay mode
JP4552294B2 (ja) 2000-08-31 2010-09-29 ソニー株式会社 コンテンツ配信システム、コンテンツ配信方法、および情報処理装置、並びにプログラム提供媒体
US7242772B1 (en) 2000-09-07 2007-07-10 Eastman Kodak Company Encryption apparatus and method for synchronizing multiple encryption keys with a data stream
WO2002023315A2 (en) 2000-09-12 2002-03-21 Aladdin Knowledge Systems, Ltd. System for managing rights and permitting on-line playback of digital content
US7212726B2 (en) 2000-09-15 2007-05-01 International Business Machines Corporation System and method of processing MPEG streams for file index insertion
US7103906B1 (en) 2000-09-29 2006-09-05 International Business Machines Corporation User controlled multi-device media-on-demand system
US6934334B2 (en) * 2000-10-02 2005-08-23 Kabushiki Kaisha Toshiba Method of transcoding encoded video data and apparatus which transcodes encoded video data
US20030079222A1 (en) 2000-10-06 2003-04-24 Boykin Patrick Oscar System and method for distributing perceptually encrypted encoded files of music and movies
US7231132B1 (en) 2000-10-16 2007-06-12 Seachange International, Inc. Trick-mode processing for digital video
US7031393B2 (en) 2000-10-20 2006-04-18 Matsushita Electric Industrial Co., Ltd. Block distortion detection method, block distortion detection apparatus, block distortion removal method, and block distortion removal apparatus
KR20020032803A (ko) * 2000-10-27 2002-05-04 구자홍 스트리밍 서비스를 위한 파일 구조
US7143289B2 (en) 2000-10-30 2006-11-28 Geocodex Llc System and method for delivering encrypted information in a communication network using location identity and key tables
US6985588B1 (en) * 2000-10-30 2006-01-10 Geocodex Llc System and method for using location identity to control access to digital information
US6931543B1 (en) 2000-11-28 2005-08-16 Xilinx, Inc. Programmable logic device with decryption algorithm and decryption key
US7058177B1 (en) 2000-11-28 2006-06-06 Xilinx, Inc. Partially encrypted bitstream method
US20020107802A1 (en) 2000-12-06 2002-08-08 Ashwin Philips Secure file downloading
EP1512147A2 (en) 2000-12-07 2005-03-09 SanDisk Corporation System, method, and device for playing back recorded audio, video or other content from non-volatile memory cards, compact disks or other media
US7117231B2 (en) 2000-12-07 2006-10-03 International Business Machines Corporation Method and system for the automatic generation of multi-lingual synchronized sub-titles for audiovisual data
KR100433516B1 (ko) * 2000-12-08 2004-05-31 삼성전자주식회사 트랜스코딩 방법
US20030002578A1 (en) 2000-12-11 2003-01-02 Ikuo Tsukagoshi System and method for timeshifting the encoding/decoding of audio/visual signals in real-time
EP1342375A1 (en) 2000-12-13 2003-09-10 The Chinese University Of Hong Kong Method and system for delivering media selections through a network
US7401351B2 (en) 2000-12-14 2008-07-15 Fuji Xerox Co., Ltd. System and method for video navigation and client side indexing
US6798912B2 (en) 2000-12-18 2004-09-28 Koninklijke Philips Electronics N.V. Apparatus and method of program classification based on syntax of transcript information
US6920175B2 (en) 2001-01-03 2005-07-19 Nokia Corporation Video coding architecture and methods for using same
EP1354481A2 (en) * 2001-01-12 2003-10-22 Koninklijke Philips Electronics N.V. Method and device for scalable video transcoding
JP4048407B2 (ja) 2001-01-18 2008-02-20 富士フイルム株式会社 デジタルカメラ
US7665115B2 (en) 2001-02-02 2010-02-16 Microsoft Corporation Integration of media playback components with an independent timing specification
GB0103245D0 (en) * 2001-02-09 2001-03-28 Radioscape Ltd Method of inserting additional data into a compressed signal
US7401037B2 (en) 2001-02-20 2008-07-15 The Prudential Insurance Company Of America System, method, and computer program product for providing stabilized annuity payments and control of investments in a variable annuity
US7162314B2 (en) * 2001-03-05 2007-01-09 Microsoft Corporation Scripting solution for interactive audio generation
US20030012287A1 (en) * 2001-03-05 2003-01-16 Ioannis Katsavounidis Systems and methods for decoding of systematic forward error correction (FEC) codes of selected data in a video bitstream
US7305273B2 (en) * 2001-03-07 2007-12-04 Microsoft Corporation Audio generation system manager
US6970822B2 (en) * 2001-03-07 2005-11-29 Microsoft Corporation Accessing audio processing components in an audio generation system
JP3889233B2 (ja) 2001-03-08 2007-03-07 株式会社モノリス 画像符号化方法と装置および画像復号方法と装置
WO2002073437A1 (en) 2001-03-12 2002-09-19 Edgestream, Inc. Seek architecture for media streaming
EP1244310A1 (en) 2001-03-21 2002-09-25 Canal+ Technologies Société Anonyme Data referencing system
JP2002278996A (ja) 2001-03-22 2002-09-27 Sony Corp 記録装置および記録方法、並びに記録媒体
US7450641B2 (en) 2001-09-14 2008-11-11 Sharp Laboratories Of America, Inc. Adaptive filtering based upon boundary strength
US8060906B2 (en) * 2001-04-06 2011-11-15 At&T Intellectual Property Ii, L.P. Method and apparatus for interactively retrieving content related to previous query results
JP3788260B2 (ja) * 2001-04-09 2006-06-21 日本電気株式会社 配信システムとその配信方法、及び配信プログラム
DE60213394T2 (de) 2001-04-18 2007-08-23 Koninklijke Philips Electronics N.V. Audiokodierung mit partieller enkryption
US20020178330A1 (en) 2001-04-19 2002-11-28 Schlowsky-Fischer Mark Harold Systems and methods for applying a quality metric to caching and streaming of multimedia files over a network
US7110664B2 (en) 2001-04-20 2006-09-19 Front Porch Digital, Inc. Methods and apparatus for indexing and archiving encoded audio-video data
US7121666B2 (en) * 2001-04-25 2006-10-17 Tseng Scheffer C G Apparatus and method for the kinetic analysis of tear stability
US7035335B1 (en) * 2001-05-11 2006-04-25 Advanced Micro Devices, Inc. Transport stream parser
US7243346B1 (en) 2001-05-21 2007-07-10 Microsoft Corporation Customized library management system
CN100435164C (zh) 2001-05-29 2008-11-19 松下电器产业株式会社 权限管理设备
US8275716B2 (en) * 2001-05-31 2012-09-25 Contentguard Holdings, Inc. Method and system for subscription digital rights management
US6973445B2 (en) * 2001-05-31 2005-12-06 Contentguard Holdings, Inc. Demarcated digital content and method for creating and processing demarcated digital works
US7103261B2 (en) * 2001-06-04 2006-09-05 William Grecia Consumer friendly error correcting formating method for white book 2.0 video compact disc with CD-DA red book audio tracks
US7895616B2 (en) * 2001-06-06 2011-02-22 Sony Corporation Reconstitution of program streams split across multiple packet identifiers
US7747853B2 (en) * 2001-06-06 2010-06-29 Sony Corporation IP delivery of secure digital content
US7139398B2 (en) 2001-06-06 2006-11-21 Sony Corporation Time division partial encryption
US6742082B1 (en) 2001-06-12 2004-05-25 Network Appliance Pre-computing streaming media payload method and apparatus
FR2825877B1 (fr) 2001-06-12 2003-09-19 Canal Plus Technologies Procede de controle d'acces a un programme crypte
US20020194606A1 (en) * 2001-06-14 2002-12-19 Michael Tucker System and method of communication between videoconferencing systems and computer systems
US6948073B2 (en) 2001-06-27 2005-09-20 Microsoft Corporation Protecting decrypted compressed content and decrypted decompressed content at a digital rights management client
US7065213B2 (en) 2001-06-29 2006-06-20 Scientific-Atlanta, Inc. In a subscriber network receiving digital packets and transmitting digital packets below a predetermined maximum bit rate
JP2003087785A (ja) * 2001-06-29 2003-03-20 Toshiba Corp 動画像符号化データの形式変換方法及び装置
US7356245B2 (en) * 2001-06-29 2008-04-08 International Business Machines Corporation Methods to facilitate efficient transmission and playback of digital information
CA2452419A1 (en) 2001-07-05 2003-01-16 Vladimir Vladimirovich Nasypny Method for an integrated protection system of data distributed processing in computer networks and system for carrying out said method
JP2003023607A (ja) * 2001-07-06 2003-01-24 Kenwood Corp 再生装置
CN100470654C (zh) 2001-07-23 2009-03-18 松下电器产业株式会社 将信息记录到信息记录介质的装置及方法
JP4145586B2 (ja) 2001-07-24 2008-09-03 セイコーエプソン株式会社 画像処理装置及び画像処理プログラム、並びに画像処理方法
US7139470B2 (en) 2001-08-17 2006-11-21 Intel Corporation Navigation for MPEG streams
EP1286349A1 (en) * 2001-08-21 2003-02-26 Canal+ Technologies Société Anonyme File and content management
US7218635B2 (en) 2001-08-31 2007-05-15 Stmicroelectronics, Inc. Apparatus and method for indexing MPEG video data to perform special mode playback in a digital video recorder and indexed signal associated therewith
US7426315B2 (en) 2001-09-05 2008-09-16 Zoran Microelectronics Ltd. Method for reducing blocking artifacts
KR100424762B1 (ko) 2001-09-06 2004-03-30 삼성전자주식회사 영상 데이터 제공 시스템 및 방법
JP3593075B2 (ja) * 2001-09-10 2004-11-24 株式会社東芝 情報記憶媒体とその情報記録方法及び装置と情報再生方法及び装置
PE20030424A1 (es) 2001-09-12 2003-06-16 Nagravision Sa Metodo de difusion de datos entre un servidor local y perifericos locales
US6983079B2 (en) 2001-09-20 2006-01-03 Seiko Epson Corporation Reducing blocking and ringing artifacts in low-bit-rate coding
FI20011871A (fi) 2001-09-24 2003-03-25 Nokia Corp Multimediadatan prosessointi
US7457359B2 (en) * 2001-09-26 2008-11-25 Mabey Danny L Systems, devices and methods for securely distributing highly-compressed multimedia content
US20030077071A1 (en) 2001-10-23 2003-04-24 Shu Lin Fast forward trick mode and reverse trick mode using an information file
US7148908B2 (en) * 2001-10-31 2006-12-12 Eastman Kodak Company Method and apparatus for generating image transitions
US20030093799A1 (en) * 2001-11-14 2003-05-15 Kauffman Marc W. Streamed content Delivery
JP2003152698A (ja) 2001-11-15 2003-05-23 Nippon Hoso Kyokai <Nhk> コンテンツ利用制御送信方法、コンテンツ利用制御受信方法およびコンテンツ利用制御送信装置、コンテンツ利用制御受信装置ならびにコンテンツ利用制御送信プログラム、コンテンツ利用制御受信プログラム
US20030099364A1 (en) 2001-11-28 2003-05-29 Thompson Mark R. Playback manipulation of HTTP streamed content objects
EP1978748B1 (en) 2001-11-29 2014-04-16 Panasonic Corporation Coding distortion removal method
EP2320661B8 (en) 2001-11-29 2015-09-02 Godo Kaisha IP Bridge 1 Coding distortion removal method
US7380120B1 (en) * 2001-12-12 2008-05-27 Guardian Data Storage, Llc Secured data format for access control
US20040037421A1 (en) 2001-12-17 2004-02-26 Truman Michael Mead Parital encryption of assembled bitstreams
DE10164135A1 (de) 2001-12-30 2003-07-17 Juergen K Lang System und Verfahren zur kopier- und nutzungsgeschützten Ver- und Entschlüsselung, Übertragung und Speicherung elektronischer Ton- und Bildmedien
US7292691B2 (en) * 2002-01-02 2007-11-06 Sony Corporation Progressive video refresh slice detection
US7215770B2 (en) 2002-01-02 2007-05-08 Sony Corporation System and method for partially encrypted multimedia stream
US7233669B2 (en) 2002-01-02 2007-06-19 Sony Corporation Selective encryption to enable multiple decryption keys
US7376233B2 (en) * 2002-01-02 2008-05-20 Sony Corporation Video slice and active region based multiple partial encryption
US8027470B2 (en) 2002-01-02 2011-09-27 Sony Corporation Video slice and active region based multiple partial encryption
WO2003061173A2 (en) 2002-01-02 2003-07-24 Sony Electronics Inc. Elementary stream partial encryption
US7242773B2 (en) * 2002-09-09 2007-07-10 Sony Corporation Multiple partial encryption using retuning
US7302059B2 (en) * 2002-01-02 2007-11-27 Sony Corporation Star pattern partial encryption
US7292690B2 (en) 2002-01-02 2007-11-06 Sony Corporation Video scene change detection
US7075587B2 (en) 2002-01-04 2006-07-11 Industry-Academic Cooperation Foundation Yonsei University Video display apparatus with separate display means for textual information
US20030135633A1 (en) 2002-01-04 2003-07-17 International Business Machines Corporation Streaming and managing complex media content on Web servers
AU2003202815A1 (en) * 2002-01-12 2003-07-24 Coretrust, Inc. Method and system for the information protection of digital content
US7065651B2 (en) 2002-01-16 2006-06-20 Microsoft Corporation Secure video card methods and systems
JP2003230089A (ja) 2002-01-31 2003-08-15 Toshiba Corp 情報記憶媒体及び情報記録装置
JP2003250113A (ja) 2002-02-22 2003-09-05 Fuji Photo Film Co Ltd 画像音声記録再生装置
US20030236836A1 (en) 2002-03-21 2003-12-25 Borthwick Ernest Mark System and method for the design and sharing of rich media productions via a computer network
US7170936B2 (en) * 2002-03-28 2007-01-30 Intel Corporation Transcoding apparatus, system, and method
US8214655B2 (en) * 2002-03-29 2012-07-03 Kabushiki Kaisha Toshiba Data structure of multimedia file format, encrypting method and device thereof, and decrypting method and device thereof
US20030185302A1 (en) * 2002-04-02 2003-10-02 Abrams Thomas Algie Camera and/or camera converter
US7231516B1 (en) 2002-04-11 2007-06-12 General Instrument Corporation Networked digital video recording system with copy protection and random access playback
US20040006701A1 (en) * 2002-04-13 2004-01-08 Advanced Decisions Inc. Method and apparatus for authentication of recorded audio
US8155498B2 (en) 2002-04-26 2012-04-10 The Directv Group, Inc. System and method for indexing commercials in a video presentation
AU2003237120B2 (en) 2002-04-29 2008-10-09 Sony Electronics, Inc. Supporting advanced coding formats in media files
US7363647B1 (en) 2002-05-07 2008-04-22 Unisys Corporation Mapping process for use in sending trick-mode video streams with a high performance
US20030212993A1 (en) 2002-05-07 2003-11-13 Pere Obrador System and method for efficiently managing video files
JP4581685B2 (ja) 2002-05-10 2010-11-17 ソニー株式会社 暗号化装置及び復号化装置
JP4186512B2 (ja) 2002-05-20 2008-11-26 ソニー株式会社 サービス提供システム、機器端末およびその処理方法、認証装置および方法、サービス提供装置および方法、並びにプログラム
US7054804B2 (en) 2002-05-20 2006-05-30 International Buisness Machines Corporation Method and apparatus for performing real-time subtitles translation
US7155109B2 (en) 2002-06-14 2006-12-26 Microsoft Corporation Programmable video recorder having flexible trick play
US7206940B2 (en) 2002-06-24 2007-04-17 Microsoft Corporation Methods and systems providing per pixel security and functionality
US7644172B2 (en) 2002-06-24 2010-01-05 Microsoft Corporation Communicating via a connection between a streaming server and a client without breaking the connection
US7174021B2 (en) 2002-06-28 2007-02-06 Microsoft Corporation Systems and methods for providing secure server key operations
US7702101B2 (en) 2002-07-09 2010-04-20 Kaleidescape, Inc. Secure presentation of media streams in response to encrypted digital content
US9445133B2 (en) * 2002-07-10 2016-09-13 Arris Enterprises, Inc. DVD conversion for on demand
FR2842690B1 (fr) 2002-07-17 2004-10-08 Thomson Licensing Sa Procede et dispositif de transmission de donnees video pour la mise en oeuvre de modes speciaux
US20040021684A1 (en) * 2002-07-23 2004-02-05 Dominick B. Millner Method and system for an interactive video system
US7627229B2 (en) 2002-07-26 2009-12-01 Fujifilm Corporation Moving image recording apparatus and method of recording moving image
AU2003268037A1 (en) 2002-07-30 2004-02-16 Digital Interactive Streams, Inc. Digital content security system and method
US20040022391A1 (en) 2002-07-30 2004-02-05 O'brien Royal Digital content security system and method
US7167560B2 (en) 2002-08-08 2007-01-23 Matsushita Electric Industrial Co., Ltd. Partial encryption of stream-formatted media
US7418190B2 (en) * 2002-08-22 2008-08-26 Microsoft Corporation Accelerated access to frames from a compressed digital video stream without keyframes
KR100609392B1 (ko) 2002-09-05 2006-08-08 엘지전자 주식회사 정지 영상의 재생을 관리하기 위한 재생리스트 마크의데이터 구조를 갖는 기록 매체, 그에 따른 기록 및 재생방법 및 장치
EP1535281A4 (en) 2002-09-06 2009-08-12 Lg Electronics Inc RECORDING MEDIUM HAVING A DATA STRUCTURE FOR MANAGING THE READING OF STILL IMAGES RECORDED ON THE RECORDING MEDIUM, AND METHODS AND DEVICES FOR RECORDING AND READING THEM
US8818896B2 (en) * 2002-09-09 2014-08-26 Sony Corporation Selective encryption with coverage encryption
US20040052501A1 (en) * 2002-09-12 2004-03-18 Tam Eddy C. Video event capturing system and method
US20050144468A1 (en) 2003-01-13 2005-06-30 Northcutt J. D. Method and apparatus for content protection in a personal digital network environment
US8064508B1 (en) 2002-09-19 2011-11-22 Silicon Image, Inc. Equalizer with controllably weighted parallel high pass and low pass filters and receiver including such an equalizer
WO2004029960A1 (en) * 2002-09-26 2004-04-08 Koninklijke Philips Electronics N.V. Method and device for recording information on a record medium, record medium containing information, and method and device for reading information from a record medium'
US7020287B2 (en) 2002-09-30 2006-03-28 Sony Corporation Method and system for key insertion for stored encrypted content
KR100910974B1 (ko) * 2002-10-02 2009-08-05 엘지전자 주식회사 고밀도 광디스크의 그래픽 데이터 관리방법
US20040071453A1 (en) * 2002-10-08 2004-04-15 Valderas Harold M. Method and system for producing interactive DVD video slides
AU2003263489A1 (en) * 2002-10-10 2004-05-04 Koninklijke Philips Electronics N.V. Itv trick play over digital interface
US7295673B2 (en) 2002-10-23 2007-11-13 Divx, Inc. Method and system for securing compressed digital video
KR20040039852A (ko) 2002-11-05 2004-05-12 주식회사 디지털앤디지털 프레임 인덱스를 이용한 트릭 플레이 구현방법
US8572408B2 (en) 2002-11-05 2013-10-29 Sony Corporation Digital rights management of a digital device
JP2004164731A (ja) * 2002-11-12 2004-06-10 Sony Corp 記録装置および方法、記録媒体、並びにプログラム
WO2004045213A2 (en) * 2002-11-13 2004-05-27 General Instrument Corporation Efficient distribution of encrypted content for multiple content access systems
EP1420580A1 (en) 2002-11-18 2004-05-19 Deutsche Thomson-Brandt GmbH Method and apparatus for coding/decoding items of subtitling data
CN1692426B (zh) 2002-11-20 2010-05-12 Lg电子有限公司 具有管理数据重现的数据结构的记录介质及记录和重现的方法和装置
US7227901B2 (en) 2002-11-21 2007-06-05 Ub Video Inc. Low-complexity deblocking filter
EP1574046A1 (en) 2002-12-09 2005-09-14 Koninklijke Philips Electronics N.V. Interactive television system with partial character set generator
US8054880B2 (en) 2004-12-10 2011-11-08 Tut Systems, Inc. Parallel rate control for digital video encoder with multi-processor architecture and picture-based look-ahead window
US8631451B2 (en) 2002-12-11 2014-01-14 Broadcom Corporation Server architecture supporting adaptive delivery to a variety of media players
US8195714B2 (en) 2002-12-11 2012-06-05 Leaper Technologies, Inc. Context instantiated application protocol
TWI349204B (en) 2003-01-10 2011-09-21 Panasonic Corp Group admission system and server and client therefor
US7581255B2 (en) * 2003-01-21 2009-08-25 Microsoft Corporation Systems and methods for licensing one or more data streams from an encoded digital media file
GB2398210A (en) 2003-02-05 2004-08-11 Sony Uk Ltd Encryption using a binary tree structure
TWI256614B (en) * 2003-02-12 2006-06-11 Quanta Storage Inc Laser beam selection method of CD driver
EP2271089B1 (en) 2003-02-21 2016-09-28 Panasonic Intellectual Property Management Co., Ltd. Apparatus and method for simultaneously utilizing audio visual data
JP2006519565A (ja) 2003-03-03 2006-08-24 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ビデオ符号化
KR100553885B1 (ko) 2003-03-13 2006-02-24 삼성전자주식회사 Smil을 사용하여 제작된 멀티미디어 컨텐츠를관리하는 방법 및 그 파일 시스템
US7007170B2 (en) 2003-03-18 2006-02-28 Widevine Technologies, Inc. System, method, and apparatus for securely providing content viewable on a secure device
US20080008455A1 (en) 2003-03-20 2008-01-10 Koninklijke Philips Electronics N.V. Cpi data for steam buffer channels
JP4170808B2 (ja) 2003-03-31 2008-10-22 株式会社東芝 情報表示装置、情報表示方法及びプログラム
US7406176B2 (en) * 2003-04-01 2008-07-29 Microsoft Corporation Fully scalable encryption for scalable multimedia
CN101540925B (zh) 2003-04-10 2011-04-13 松下电器产业株式会社 将信息记录到信息记录介质的装置及方法
US7055039B2 (en) 2003-04-14 2006-05-30 Sony Corporation Protection of digital content using block cipher crytography
US7237061B1 (en) * 2003-04-17 2007-06-26 Realnetworks, Inc. Systems and methods for the efficient reading of data in a server system
JP3918766B2 (ja) 2003-04-22 2007-05-23 日本電気株式会社 媒体自動交換機
CN1777945B (zh) * 2003-04-23 2012-10-31 Lg电子株式会社 对记录在交互记录介质上的主内容以及其附加内容进行同步再现的方法和设备
RU2388073C2 (ru) * 2003-04-29 2010-04-27 Эл Джи Электроникс Инк. Носитель записи со структурой данных для управления воспроизведением графических данных и способы и устройства записи и воспроизведения
US7616865B2 (en) * 2003-04-30 2009-11-10 Lg Electronics Inc. Recording medium having a data structure for managing reproduction of subtitle data and methods and apparatuses of recording and reproducing
KR20040096718A (ko) 2003-05-10 2004-11-17 삼성전자주식회사 멀티미디어 데이터 재생장치, 오디오 데이터 수신방법 및오디오 데이터 구조
KR100492567B1 (ko) 2003-05-13 2005-06-03 엘지전자 주식회사 이동통신 시스템의 http 기반 비디오 스트리밍 장치및 방법
WO2004102571A1 (en) 2003-05-16 2004-11-25 Koninklijke Philips Electronics N.V. Method of recording and of replaying and video recording and replay systems
US7409454B2 (en) 2003-06-02 2008-08-05 Microsoft Corporation Automatic detection of intermediate network device capabilities
US7739715B2 (en) 2003-06-24 2010-06-15 Microsoft Corporation Variable play speed control for media streams
US7424501B2 (en) 2003-06-30 2008-09-09 Intel Corporation Nonlinear filtering and deblocking applications utilizing SIMD sign and absolute value operations
JP4411879B2 (ja) 2003-07-01 2010-02-10 株式会社ニコン 信号処理装置、信号処理プログラム、および電子カメラ
JP4047237B2 (ja) 2003-07-04 2008-02-13 株式会社リコー インデックスデータ作成装置、映像再生装置
US20050005025A1 (en) 2003-07-04 2005-01-06 Michael Harville Method for managing a streaming media service
JP2007535718A (ja) 2003-07-07 2007-12-06 クリプターグラフィー リサーチ インコーポレイテッド 海賊行為を規制し、インタラクティブコンテンツを使用可能にするための再プログラマブルなセキュリティ
US9615061B2 (en) 2003-07-11 2017-04-04 Tvworks, Llc System and method for creating and presenting composite video-on-demand content
US20070168287A1 (en) * 2003-07-16 2007-07-19 Digital Networks North America, Inc. Method and apparatus for distributing media in a pay per play architecture with remote playback
US20050013494A1 (en) 2003-07-18 2005-01-20 Microsoft Corporation In-loop deblocking filter
US7907833B2 (en) 2003-07-21 2011-03-15 Thomson Licensing Apparatus and method for communicating stop and pause commands in a video recording and playback system
US7382879B1 (en) 2003-07-23 2008-06-03 Sprint Communications Company, L.P. Digital rights management negotiation for streaming media over a network
JP2005057435A (ja) 2003-08-01 2005-03-03 Sony Corp クライアント機器及びクライアント機器におけるコンテンツ処理方法、並びにコンテンツ提供システム
US7941554B2 (en) 2003-08-01 2011-05-10 Microsoft Corporation Sparse caching for streaming media
WO2005015935A1 (en) 2003-08-07 2005-02-17 Pervenio Limited Server for determining and storing mobile device capability data
US7467202B2 (en) * 2003-09-10 2008-12-16 Fidelis Security Systems High-performance network content analysis platform
US7681035B1 (en) * 2003-09-10 2010-03-16 Realnetworks, Inc. Digital rights management handler and related methods
WO2005029836A2 (en) 2003-09-12 2005-03-31 Opentv, Inc. Method and system for controlling recording and playback of interactive applications
US20050227773A1 (en) 2003-09-24 2005-10-13 Lu Priscilla M Portable video storage and playback device
US20070206682A1 (en) * 2003-09-29 2007-09-06 Eric Hamilton Method And Apparatus For Coding Information
KR20050035678A (ko) * 2003-10-14 2005-04-19 엘지전자 주식회사 광디스크 장치의 부가 데이터 재생방법 및 장치와, 이를위한 광디스크
US7979886B2 (en) 2003-10-17 2011-07-12 Telefonaktiebolaget Lm Ericsson (Publ) Container format for multimedia presentations
US7346163B2 (en) 2003-10-31 2008-03-18 Sony Corporation Dynamic composition of pre-encrypted video on demand content
US7853980B2 (en) 2003-10-31 2010-12-14 Sony Corporation Bi-directional indices for trick mode video-on-demand
US20050102371A1 (en) 2003-11-07 2005-05-12 Emre Aksu Streaming from a server to a client
DE10353564A1 (de) 2003-11-14 2005-06-16 Deutsche Thomson-Brandt Gmbh Verfahren zur abschnittsweisen, diskontinuierlichen Übertragung von Daten in einem Netzwerk verteilter Stationen sowie Netzwerkteilnehmerstation als Anforderungsgerät bei der Durchführung eines solchen Verfahrens als auch Netzwerkteilnehmerstation als Quellgerät bei der Durchführung eines solchen Verfahrens
US7882034B2 (en) 2003-11-21 2011-02-01 Realnetworks, Inc. Digital rights management for content rendering on playback devices
US7398327B2 (en) 2003-11-25 2008-07-08 Robert Bosch Gmbh Apparatus, method and system for providing automated services to heterogenous devices across multiple platforms
ATE488095T1 (de) 2003-11-26 2010-11-15 Packet Video Network Solutions Verfahren für garantierte ablieferung von multimediainhalten, basiert auf den terminalfähigkeiten
US8472792B2 (en) * 2003-12-08 2013-06-25 Divx, Llc Multimedia distribution system
US7519274B2 (en) 2003-12-08 2009-04-14 Divx, Inc. File format for multiple track digital data
KR101244308B1 (ko) * 2003-12-08 2013-03-18 삼성전자주식회사 동영상 파일의 암호화 방법 및 그를 이용한 디지털 저작권관리방법
US7681244B2 (en) 2003-12-11 2010-03-16 Panasonic Corporation Packet transmitter apparatus
JP4155185B2 (ja) 2003-12-11 2008-09-24 日本ビクター株式会社 コンテンツ配信方法、コンテンツ配信サーバ、およびコンテンツ受信装置
JP4118232B2 (ja) 2003-12-19 2008-07-16 三菱電機株式会社 映像データ処理方法および映像データ処理装置
US20050138655A1 (en) 2003-12-22 2005-06-23 Randy Zimler Methods, systems and storage medium for managing digital rights of segmented content
FR2864407B1 (fr) 2003-12-22 2006-03-10 Canon Kk Procede et dispositif de transmission continue d'une video dans un reseau de communication
WO2005064836A1 (en) 2003-12-22 2005-07-14 America Online, Inc A system and method for using a streaming protocol
JP4537083B2 (ja) 2004-01-28 2010-09-01 キヤノン株式会社 データ処理装置及びその制御方法
US20050180641A1 (en) 2004-02-02 2005-08-18 Clark Adam L. System and method for transmitting live audio/video information
US9094699B2 (en) 2004-02-05 2015-07-28 Broadcom Corporation System and method for security key transmission with strong pairing to destination client
WO2005076601A1 (en) 2004-02-10 2005-08-18 Lg Electronic Inc. Text subtitle decoder and method for decoding text subtitle streams
US7546641B2 (en) 2004-02-13 2009-06-09 Microsoft Corporation Conditional access to digital rights management conversion
US8832434B2 (en) 2004-02-13 2014-09-09 Hewlett-Packard Development Company, L.P. Methods for generating data for describing scalable media
JP2005229395A (ja) * 2004-02-13 2005-08-25 Canon Inc 再生装置
JP5119566B2 (ja) 2004-02-16 2013-01-16 ソニー株式会社 再生装置および再生方法、プログラム記録媒体、並びにプログラム
US7512658B2 (en) 2004-02-26 2009-03-31 International Business Machines Corporation Providing a portion of an electronic mail message based upon a transfer rate, a message size, and a file format
US20050216752A1 (en) 2004-03-26 2005-09-29 Microsoft Corporation Common scrambling
WO2005094080A1 (ja) 2004-03-29 2005-10-06 Matsushita Electric Industrial Co., Ltd. 蓄積表示装置及び連動表示方法並びにシステム
JP2005284041A (ja) 2004-03-30 2005-10-13 Victor Co Of Japan Ltd コンテンツ配信方法、コンテンツ配信サーバ、およびコンテンツ受信装置
WO2005101827A1 (ja) 2004-04-16 2005-10-27 Matsushita Electric Industrial Co., Ltd. 記録媒体、再生装置、プログラム
US7397853B2 (en) 2004-04-29 2008-07-08 Mediatek Incorporation Adaptive de-blocking filtering apparatus and method for MPEG video decoder
US7539248B2 (en) 2004-04-29 2009-05-26 Mediatek Incorporation Adaptive de-blocking filtering apparatus and method for MPEG video decoder
US7400679B2 (en) 2004-04-29 2008-07-15 Mediatek Incorporation Adaptive de-blocking filtering apparatus and method for MPEG video decoder
US8868772B2 (en) 2004-04-30 2014-10-21 Echostar Technologies L.L.C. Apparatus, system, and method for adaptive-rate shifting of streaming content
US7477749B2 (en) 2004-05-12 2009-01-13 Nokia Corporation Integrity protection of streamed content
US20060037057A1 (en) 2004-05-24 2006-02-16 Sharp Laboratories Of America, Inc. Method and system of enabling trick play modes using HTTP GET
US7299406B2 (en) 2004-06-02 2007-11-20 Research In Motion Limited Representing spreadsheet document content
US7885405B1 (en) 2004-06-04 2011-02-08 GlobalFoundries, Inc. Multi-gigabit per second concurrent encryption in block cipher modes
JP2008504793A (ja) 2004-06-07 2008-02-14 スリング メディア,インク. パーソナルメディア放送システム
JP2005351994A (ja) 2004-06-08 2005-12-22 Sony Corp コンテンツ配信サーバ,コンテンツ配信方法,プログラム
US20070288715A1 (en) 2004-06-14 2007-12-13 Rok Productions Limited Media Player
US7756271B2 (en) 2004-06-15 2010-07-13 Microsoft Corporation Scalable layered access control for multimedia
GB0413261D0 (en) 2004-06-15 2004-07-14 Ibm Method and arrangement for front building
US7519278B2 (en) 2004-06-18 2009-04-14 Panasonic Corporation Playback apparatus, program, playback method
US8600217B2 (en) 2004-07-14 2013-12-03 Arturo A. Rodriguez System and method for improving quality of displayed picture during trick modes
KR100611985B1 (ko) 2004-07-27 2006-08-11 삼성전자주식회사 실시간 컨텐츠 관리 방법, 소오스 장치 및 싱크 장치
CN100592789C (zh) 2004-08-12 2010-02-24 皇家飞利浦电子股份有限公司 从视频或音频数据流选择内容
WO2006019106A1 (ja) 2004-08-17 2006-02-23 Matsushita Electric Industrial Co., Ltd. 情報記録媒体、データ分別装置、及びデータ再生装置
JPWO2006022304A1 (ja) 2004-08-26 2008-05-08 松下電器産業株式会社 コンテンツ起動制御装置
US7675891B2 (en) * 2004-09-23 2010-03-09 Telefonakiebolaget L M Ericsson (Publ) Multimedia reception in communication networks
KR20060030164A (ko) 2004-10-05 2006-04-10 전문석 동영상 데이터 보호를 위한 공유키 풀 기반의 drm 시스템
JP2007065928A (ja) 2005-08-30 2007-03-15 Toshiba Corp 情報記憶媒体、情報処理方法、情報転送方法、情報再生方法、情報再生装置、情報記録方法、情報記録装置、及びプログラム
US7797720B2 (en) 2004-10-22 2010-09-14 Microsoft Corporation Advanced trick mode
WO2006045334A1 (en) 2004-10-28 2006-05-04 Telecom Italia S.P.A. A method for configuring a radio terminal through a radio communication network, related network and computer program product therefor
US7412149B2 (en) 2004-10-28 2008-08-12 Bitband Technologies, Ltd. Trick mode generation in video streaming
US20060093320A1 (en) * 2004-10-29 2006-05-04 Hallberg Bryan S Operation modes for a personal video recorder using dynamically generated time stamps
JP4733139B2 (ja) 2004-11-08 2011-07-27 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 著作権発行システムを用いて、デバイスを登録するための技術
US8218439B2 (en) 2004-11-24 2012-07-10 Sharp Laboratories Of America, Inc. Method and apparatus for adaptive buffering
KR101200928B1 (ko) 2004-12-06 2012-11-14 톰슨 라이센싱 디지털 네트워크 내에서 복수의 클로즈드 캡션 흐름 및 고객 접속
JP2006174309A (ja) 2004-12-17 2006-06-29 Ricoh Co Ltd 動画再生装置、プログラム、及び記録媒体
GB0428155D0 (en) 2004-12-22 2005-01-26 British Telecomm Buffer underflow prevention
FR2879878B1 (fr) 2004-12-22 2007-05-25 Thales Sa Procede de chiffrement selectif compatible pour flux video
WO2006074093A2 (en) 2005-01-05 2006-07-13 Divx, Inc. Media transfer protocol
US7957535B2 (en) 2005-01-18 2011-06-07 Panasonic Corporation Data storing method, data playback method, data recording device, data playback device, and recording medium
US9219917B2 (en) 2005-01-19 2015-12-22 Thomson Licensing Method and apparatus for real time parallel encoding
DE102005004941B4 (de) 2005-02-02 2006-12-21 Avt Audio Vision Technology Gmbh Konvertierung von Daten, insbesondere zur Wiedergabe von Audio- und/oder Videoinformationen
US20070166000A1 (en) 2005-03-01 2007-07-19 Ramesh Nallur System and method for generating trick mode streams
US7627888B2 (en) 2005-03-09 2009-12-01 Vudu, Inc. Method and system for keeping a library of titles updated
US20060218251A1 (en) 2005-03-14 2006-09-28 Matsushita Electric Industrial Co., Ltd. AV server, AV contents reproducing apparatus, AV contents transmitting method, program and recording medium
US7349886B2 (en) 2005-03-25 2008-03-25 Widevine Technologies, Inc. Securely relaying content using key chains
US20080120342A1 (en) 2005-04-07 2008-05-22 Iofy Corporation System and Method for Providing Data to be Used in a Presentation on a Device
KR100677026B1 (ko) 2005-04-07 2007-02-01 (주)아이티너스 코리아 영상 신호 송수신 시스템 및 이에 사용되는 보안 모듈
US20080120330A1 (en) 2005-04-07 2008-05-22 Iofy Corporation System and Method for Linking User Generated Data Pertaining to Sequential Content
US7676495B2 (en) 2005-04-14 2010-03-09 Microsoft Corporation Advanced streaming format table of contents object
US20060235883A1 (en) 2005-04-18 2006-10-19 Krebs Mark S Multimedia system for mobile client platforms
US20060259588A1 (en) 2005-04-20 2006-11-16 Lerman David R Browser enabled video manipulation
US7478325B2 (en) 2005-04-22 2009-01-13 Microsoft Corporation Methods for providing an accurate visual rendition of a text element formatted with an unavailable font
JP4356645B2 (ja) 2005-04-28 2009-11-04 ソニー株式会社 字幕生成装置及び方法
US8683066B2 (en) 2007-08-06 2014-03-25 DISH Digital L.L.C. Apparatus, system, and method for multi-bitrate content streaming
KR100716900B1 (ko) 2005-05-12 2007-05-10 에스케이 텔레콤주식회사 방송 컨텐츠 보호 시스템 및 그 방법
JP4293160B2 (ja) 2005-05-19 2009-07-08 ソニー株式会社 コンテンツ再生装置及びコンテンツ再生方法
KR100717008B1 (ko) 2005-05-31 2007-05-10 삼성전자주식회사 부분폰트 파일 송신 및 수신하는 방법 및 장치
US20070005333A1 (en) * 2005-06-30 2007-01-04 Benard Setiohardjo Analog tape emulation
CA2513016A1 (en) 2005-07-22 2007-01-22 Research In Motion Limited A secure method of synchronizing cache contents of a mobile browser with a proxy server
KR20070020727A (ko) 2005-08-16 2007-02-22 주식회사 팬택 순차 조각 다운로드 방식을 이용한 의사 스트리밍 다운로드기능을 가지는 단말기 및 그 방법
JP4321550B2 (ja) 2005-08-31 2009-08-26 ソニー株式会社 情報処理装置、情報記録媒体製造装置、情報記録媒体、および方法、並びにコンピュータ・プログラム
EP1808858B1 (en) 2005-08-31 2013-05-15 Sony Corporation File processing device, file processing method, program and recording medium
US20070055982A1 (en) 2005-09-02 2007-03-08 Netgear Inc. System and method for digital content media distribution
US8504597B2 (en) 2005-09-09 2013-08-06 William M. Pitts Distributed file system consistency mechanism extension for enabling internet video broadcasting
JP2007074608A (ja) 2005-09-09 2007-03-22 Hitachi Ltd 再生装置および再生方法
US20070067472A1 (en) 2005-09-20 2007-03-22 Lsi Logic Corporation Accurate and error resilient time stamping method and/or apparatus for the audio-video interleaved (AVI) format
US8522290B2 (en) 2005-10-07 2013-08-27 Infosys Technologies, Ltd. Video on demand system and methods thereof
US20070083467A1 (en) 2005-10-10 2007-04-12 Apple Computer, Inc. Partial encryption techniques for media data
US20070086528A1 (en) 2005-10-18 2007-04-19 Mauchly J W Video encoder with multiple processors
FR2892885B1 (fr) 2005-11-02 2008-01-25 Streamezzo Sa Procede de gestion de polices de caractere a l'interieur de scenes multimedia, programme d'ordinateur et terminal correspondants.
FR2895545B1 (fr) 2005-12-23 2008-05-30 Trusted Logic Sa Procede d'authentification d'applications d'un systeme informatique
JP2009521163A (ja) 2005-12-23 2009-05-28 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ データストリームを処理する装置及び方法
EP1806919A1 (en) 2006-01-05 2007-07-11 Alcatel Lucent Media delivery system with content-based trick play mode
US8214516B2 (en) 2006-01-06 2012-07-03 Google Inc. Dynamic media serving infrastructure
US7577980B2 (en) 2006-01-19 2009-08-18 International Business Machines Corporation Bit-rate constrained trick play through stream switching and adaptive streaming
US7991891B2 (en) 2006-02-02 2011-08-02 Microsoft Corporation Version-specific content searching
US20070239839A1 (en) 2006-04-06 2007-10-11 Buday Michael E Method for multimedia review synchronization
US7992175B2 (en) 2006-05-15 2011-08-02 The Directv Group, Inc. Methods and apparatus to provide content on demand in content broadcast systems
US8775319B2 (en) 2006-05-15 2014-07-08 The Directv Group, Inc. Secure content transfer systems and methods to operate the same
CN1873820A (zh) 2006-05-18 2006-12-06 北京中星微电子有限公司 视频文件处理方法、视频索引方法和视频索引装置
US9209934B2 (en) 2006-06-09 2015-12-08 Qualcomm Incorporated Enhanced block-request streaming using cooperative parallel HTTP and forward error correction
KR101013686B1 (ko) 2006-06-29 2011-02-10 엘지전자 주식회사 Drm에서 유저 도메인 내의 장치 관리 방법 및 시스템
EP2043293A4 (en) 2006-07-19 2011-01-19 Panasonic Corp MEDIUM DATA PROCESSING DEVICE AND MEDIUM DATA PROCESSING METHOD
US7783773B2 (en) 2006-07-24 2010-08-24 Microsoft Corporation Glitch-free media streaming
US8082442B2 (en) 2006-08-10 2011-12-20 Microsoft Corporation Securely sharing applications installed by unprivileged users
US20080077592A1 (en) 2006-09-27 2008-03-27 Shane Brodie method and apparatus for device authentication
US7743161B2 (en) 2006-10-10 2010-06-22 Ortiva Wireless, Inc. Digital content buffer for adaptive streaming
TW200820783A (en) 2006-10-25 2008-05-01 Realtek Semiconductor Corp Apparatus and method for deblock filtering
US8270819B2 (en) 2006-10-31 2012-09-18 Tivo Inc. Performing trick play functions in a digital video recorder with efficient use of resources
US8711929B2 (en) 2006-11-01 2014-04-29 Skyfire Labs, Inc. Network-based dynamic encoding
JP4609773B2 (ja) 2006-11-28 2011-01-12 コニカミノルタビジネステクノロジーズ株式会社 文書データ作成装置及び文書データ作成方法並びに制御プログラム
AR064274A1 (es) 2006-12-14 2009-03-25 Panasonic Corp Metodo de codificacion de imagenes en movimiento, dispositivo de codificacion de imagenes en movimiento, metodo de grabacion de imagenes en movimiento, medio de grabacion, metodo de reproduccion de imagenes en movimiento, dispositivo de reproduccion de imagenes en movimiento, y sistema de reproducci
US9826197B2 (en) 2007-01-12 2017-11-21 Activevideo Networks, Inc. Providing television broadcasts over a managed network and interactive content over an unmanaged network to a client device
US7921221B2 (en) 2007-01-22 2011-04-05 Minborg Invent I Goteborg Ab Method and apparatus for obtaining digital objects in a communication network
US20080192818A1 (en) 2007-02-09 2008-08-14 Dipietro Donald Vincent Systems and methods for securing media
US20080201705A1 (en) 2007-02-15 2008-08-21 Sun Microsystems, Inc. Apparatus and method for generating a software dependency map
US20080279535A1 (en) 2007-05-10 2008-11-13 Microsoft Corporation Subtitle data customization and exposure
US20080294691A1 (en) 2007-05-22 2008-11-27 Sunplus Technology Co., Ltd. Methods for generating and playing multimedia file and recording medium storing multimedia file
US7558760B2 (en) 2007-06-12 2009-07-07 Microsoft Corporation Real-time key frame generation
US8243924B2 (en) 2007-06-29 2012-08-14 Google Inc. Progressive download or streaming of digital media securely through a localized container and communication protocol proxy
KR20090004659A (ko) 2007-07-02 2009-01-12 엘지전자 주식회사 디지털 방송 시스템 및 데이터 처리 방법
US8321556B1 (en) 2007-07-09 2012-11-27 The Nielsen Company (Us), Llc Method and system for collecting data on a wireless device
US9602757B2 (en) 2007-09-04 2017-03-21 Apple Inc. Display of video subtitles
KR101058042B1 (ko) 2007-09-06 2011-08-19 삼성전자주식회사 멀티스트림 재생장치 및 재생방법
US8023562B2 (en) 2007-09-07 2011-09-20 Vanguard Software Solutions, Inc. Real-time video coding/decoding
US8046453B2 (en) 2007-09-20 2011-10-25 Qurio Holdings, Inc. Illustration supported P2P media content streaming
US10277956B2 (en) 2007-10-01 2019-04-30 Cabot Communications Method and apparatus for streaming digital media content and a communication system
US20090106082A1 (en) 2007-10-23 2009-04-23 Senti Thad E System and method to facilitate targeted advertising
ES2895384T3 (es) 2007-11-16 2022-02-21 Divx Llc Encabezado de fragmentos que incorpora indicadores binarios y campos de longitud variable correlacionados
WO2009065137A1 (en) 2007-11-16 2009-05-22 Divx, Inc. Hierarchical and reduced index structures for multimedia files
US8169916B1 (en) 2007-11-23 2012-05-01 Media Melon, Inc. Multi-platform video delivery configuration
US8131875B1 (en) 2007-11-26 2012-03-06 Adobe Systems Incorporated Device profile assignment based on device capabilities
WO2009075766A2 (en) 2007-12-05 2009-06-18 Swarmcast, Inc. Dynamic bit rate scaling
US8997161B2 (en) 2008-01-02 2015-03-31 Sonic Ip, Inc. Application enhancement tracks
US8776161B2 (en) 2008-02-12 2014-07-08 Ciena Corporation Systems and methods for video processing in network edge devices
US8341715B2 (en) 2008-02-29 2012-12-25 Research In Motion Limited System and method for shared resource owner based access control
WO2009109976A2 (en) 2008-03-05 2009-09-11 Webtview Ltd. Distributing internet channels to a media viewer
CN101540645A (zh) 2008-03-21 2009-09-23 华为技术有限公司 动态内容分发方法和装置
US20090249081A1 (en) 2008-03-31 2009-10-01 Kabushiki Kaisha Toshiba-1 Shibaura 1-Chomominatoku Storage device encryption and method
US8379851B2 (en) 2008-05-12 2013-02-19 Microsoft Corporation Optimized client side rate control and indexed file layout for streaming media
US8456380B2 (en) 2008-05-15 2013-06-04 International Business Machines Corporation Processing computer graphics generated by a remote computer for streaming to a client computer
US8423889B1 (en) 2008-06-05 2013-04-16 Amazon Technologies, Inc. Device specific presentation control for electronic book reader devices
KR20110014995A (ko) 2008-06-06 2011-02-14 디브이엑스, 인크. 멀티미디어 파일용의 폰트 파일 최적화 시스템 및 방법
CA2727020C (en) 2008-06-06 2013-02-19 Deluxe Digital Studios, Inc. Methods and systems for use in providing playback of variable length content in a fixed length framework
US7991801B2 (en) 2008-06-10 2011-08-02 International Business Machines Corporation Real-time dynamic and synchronized captioning system and method for use in the streaming of multimedia data
US8527876B2 (en) 2008-06-12 2013-09-03 Apple Inc. System and methods for adjusting graphical representations of media files based on previous usage
US20090313564A1 (en) 2008-06-12 2009-12-17 Apple Inc. Systems and methods for adjusting playback of media files based on previous usage
US8775566B2 (en) 2008-06-21 2014-07-08 Microsoft Corporation File format for media distribution and presentation
US8352996B2 (en) 2008-06-27 2013-01-08 Microsoft Corporation Adaptive video switching for variable network conditions
US20110055585A1 (en) 2008-07-25 2011-03-03 Kok-Wah Lee Methods and Systems to Create Big Memorizable Secrets and Their Applications in Information Engineering
CN101426179A (zh) 2008-09-22 2009-05-06 深圳华为通信技术有限公司 业务激活的方法和业务提供的方法以及终端设备和服务器
US8874775B2 (en) 2008-10-15 2014-10-28 Aster Risk Management Llc Balancing a distributed system by replacing overloaded servers
US8051287B2 (en) 2008-10-15 2011-11-01 Adobe Systems Incorporated Imparting real-time priority-based network communications in an encrypted communication session
EP2180664A1 (en) 2008-10-22 2010-04-28 Vivendi Mobile Entertainment System and method for accessing multi-media content via a mobile terminal
US8249168B2 (en) 2008-11-06 2012-08-21 Advanced Micro Devices, Inc. Multi-instance video encoder
EP2359536B1 (en) 2008-11-24 2016-03-16 Ankeena Networks, Inc., Adaptive network content delivery system
US9015209B2 (en) 2008-12-16 2015-04-21 Sandisk Il Ltd. Download management of discardable files
US8311115B2 (en) 2009-01-29 2012-11-13 Microsoft Corporation Video encoding using previously calculated motion information
US8396114B2 (en) 2009-01-29 2013-03-12 Microsoft Corporation Multiple bit rate video encoding using variable bit rate and dynamic resolution for adaptive video streaming
US20100218208A1 (en) 2009-02-26 2010-08-26 Comcast Cable Communications, Llc Method and Apparatus for Generating Alternative Commercials
CA2755774C (en) 2009-03-19 2015-01-06 Azuki Systems, Inc. Method for scalable live streaming delivery for mobile audiences
WO2010111261A1 (en) 2009-03-23 2010-09-30 Azuki Systems, Inc. Method and system for efficient streaming video dynamic rate adaptation
RU2011147112A (ru) 2009-04-20 2013-05-27 Конинклейке Филипс Электроникс Н.В. Верификация и синхронизация файлов, полученных отдельно от видеоконтента
US8270473B2 (en) 2009-06-12 2012-09-18 Microsoft Corporation Motion based dynamic resolution multiple bit rate video encoding
US8225061B2 (en) 2009-07-02 2012-07-17 Apple Inc. Method and apparatus for protected content data processing
EP2467786B1 (en) 2009-08-17 2019-07-31 Akamai Technologies, Inc. Method and system for http-based stream delivery
US8355433B2 (en) 2009-08-18 2013-01-15 Netflix, Inc. Encoding video streams for adaptive video streaming
US9203816B2 (en) 2009-09-04 2015-12-01 Echostar Technologies L.L.C. Controlling access to copies of media content by a client device
US20110096828A1 (en) 2009-09-22 2011-04-28 Qualcomm Incorporated Enhanced block-request streaming using scalable encoding
CA2715362A1 (en) 2009-09-22 2011-03-22 Thwapr, Inc. Interoperable mobile media sharing
KR20120080214A (ko) 2009-09-29 2012-07-16 노키아 코포레이션 다이내믹 미디어 파일 스트리밍을 위한 시스템, 방법 및 장치
US9237387B2 (en) 2009-10-06 2016-01-12 Microsoft Technology Licensing, Llc Low latency cacheable media streaming
US10264029B2 (en) 2009-10-30 2019-04-16 Time Warner Cable Enterprises Llc Methods and apparatus for packetized content delivery over a content delivery network
US8930991B2 (en) 2009-11-19 2015-01-06 Gregory Philpott System and method for delivering content to mobile devices
US9164967B2 (en) 2009-11-25 2015-10-20 Red Hat, Inc. Extracting font metadata from font files into searchable metadata for package distribution
US8767825B1 (en) 2009-11-30 2014-07-01 Google Inc. Content-based adaptive video transcoding framework
US8625667B2 (en) 2009-11-30 2014-01-07 Alcatel Lucent Method of opportunity-based transmission of wireless video
EP2507995A4 (en) 2009-12-04 2014-07-09 Sonic Ip Inc SYSTEMS AND METHODS FOR TRANSPORTING ELEMENTARY BIT TRAIN CRYPTOGRAPHIC MATERIAL
KR20110066578A (ko) 2009-12-11 2011-06-17 삼성전자주식회사 디지털 컨텐츠와 이를 위한 재생장치 및 방법
US9344735B2 (en) 2009-12-21 2016-05-17 Tmm, Inc. Progressive shape based encoding of video content within a swarm environment
US9038116B1 (en) 2009-12-28 2015-05-19 Akamai Technologies, Inc. Method and system for recording streams
US20110296048A1 (en) 2009-12-28 2011-12-01 Akamai Technologies, Inc. Method and system for stream handling using an intermediate format
WO2011087449A1 (en) 2010-01-18 2011-07-21 Telefonaktiebolaget L M Ericsson (Publ) Methods and arrangements for http media stream distribution
EP2360924A1 (en) 2010-01-18 2011-08-24 Alcatel-Lucent España, S.A. A digital multimedia data transmission device and method
US20110179185A1 (en) 2010-01-20 2011-07-21 Futurewei Technologies, Inc. System and Method for Adaptive Differentiated Streaming
US20110197267A1 (en) 2010-02-05 2011-08-11 Vivianne Gravel Secure authentication system and method
EP2537117A4 (en) 2010-02-17 2013-11-13 Verimatrix Inc SYSTEMS AND METHODS FOR SECURING CONTENT ISSUED ON THE USE OF A DISPLAY LIST
EP2362651A1 (en) 2010-02-19 2011-08-31 Thomson Licensing Multipath delivery for adaptive streaming
EP2360923A1 (en) 2010-02-24 2011-08-24 Thomson Licensing Method for selectively requesting adaptive streaming content and a device implementing the method
US8819116B1 (en) 2010-03-08 2014-08-26 Amazon Technologies, Inc. Providing services using a device capabilities service
US8386621B2 (en) 2010-03-12 2013-02-26 Netflix, Inc. Parallel streaming
EP2375680A1 (en) 2010-04-01 2011-10-12 Thomson Licensing A method for recovering content streamed into chunk
US9043484B2 (en) 2010-04-02 2015-05-26 Disney Enterprises, Inc. Streaming playback and dynamic ad insertion
US9137278B2 (en) 2010-04-08 2015-09-15 Vasona Networks Inc. Managing streaming bandwidth for multiple clients
WO2011139305A1 (en) 2010-05-04 2011-11-10 Azuki Systems, Inc. Method and apparatus for carrier controlled dynamic rate adaptation and client playout rate reduction
KR101837687B1 (ko) 2010-06-04 2018-03-12 삼성전자주식회사 콘텐트의 품질을 결정하는 복수의 인자에 기초한 적응적인 스트리밍 방법 및 장치
US8407753B2 (en) 2010-06-10 2013-03-26 Sony Corporation Content list tailoring for capability of IPTV device
US8705616B2 (en) 2010-06-11 2014-04-22 Microsoft Corporation Parallel multiple bitrate video encoding to reduce latency and dependences between groups of pictures
US9485546B2 (en) 2010-06-29 2016-11-01 Qualcomm Incorporated Signaling video samples for trick mode video representations
US20130080267A1 (en) 2011-09-26 2013-03-28 Unicorn Media, Inc. Single-url content delivery
AU2010202741B1 (en) 2010-06-30 2010-12-23 Adeia Media Holdings Llc Dynamic chunking for media streaming
JP2013534684A (ja) 2010-07-19 2013-09-05 サムスン エレクトロニクス カンパニー リミテッド Drmサービスを提供する方法及び装置
US8782268B2 (en) 2010-07-20 2014-07-15 Microsoft Corporation Dynamic composition of media
US9456015B2 (en) 2010-08-10 2016-09-27 Qualcomm Incorporated Representation groups for network streaming of coded multimedia data
US8677428B2 (en) 2010-08-20 2014-03-18 Disney Enterprises, Inc. System and method for rule based dynamic server side streaming manifest files
US9998749B2 (en) 2010-10-19 2018-06-12 Otoy, Inc. Composite video streaming using stateless compression
US10637891B2 (en) 2010-11-02 2020-04-28 Telefonaktiebolaget Lm Ericsson (Publ) Methods and devices for media description delivery
US9264750B2 (en) 2010-12-23 2016-02-16 Verizon Patent And Licensing Inc. Advertising insertion for playback of video streams on user devices
US9247312B2 (en) 2011-01-05 2016-01-26 Sonic Ip, Inc. Systems and methods for encoding source media in matroska container files for adaptive bitrate streaming using hypertext transfer protocol
WO2012094171A1 (en) 2011-01-05 2012-07-12 Divx, Llc. Adaptive bitrate streaming of media stored in matroska container files using hypertext transfer protocol
WO2012097883A1 (en) 2011-01-17 2012-07-26 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus for authenticating a communication device
US9215466B2 (en) 2011-01-31 2015-12-15 Apple Inc. Joint frame rate and resolution adaptation
US8849950B2 (en) 2011-04-07 2014-09-30 Qualcomm Incorporated Network streaming of video data using byte range requests
US8516144B2 (en) 2011-04-29 2013-08-20 Cbs Interactive Inc. Startup bitrate in adaptive bitrate streaming
US9646141B2 (en) 2011-06-22 2017-05-09 Netflix, Inc. Fast start of streaming digital media playback with deferred license retrieval
EP2724531A4 (en) 2011-06-23 2014-10-29 Saab Ab QUALITY OPTIMIZATION PER MAXIMUM BITRATE
MX2013015115A (es) 2011-06-28 2014-02-11 Ericsson Telefon Ab L M Tecnica para manejar trafico de medios de transmision en una entidad de red.
US10320869B2 (en) 2011-07-07 2019-06-11 Telefonaktiebolaget Lm Ericsson (Publ) Network-capacity optimized adaptive HTTP streaming
KR101497287B1 (ko) 2011-08-11 2015-02-27 인텔 코포레이션 Ims 네트워크를 통한 dash 포맷의 콘텐츠의 mbms 다운로드와 http 기반 전달 사이의 전환 방법
US8948249B2 (en) 2011-08-19 2015-02-03 Google Technology Holdings LLC Encoder-aided segmentation for adaptive streaming
US8909922B2 (en) 2011-09-01 2014-12-09 Sonic Ip, Inc. Systems and methods for playing back alternative streams of protected content protected using common cryptographic information
US8856218B1 (en) 2011-12-13 2014-10-07 Google Inc. Modified media download with index adjustment
US20130196292A1 (en) 2012-01-30 2013-08-01 Sharp Kabushiki Kaisha Method and system for multimedia-based language-learning, and computer program therefor
US9813740B2 (en) 2012-08-24 2017-11-07 Google Inc. Method and apparatus for streaming multimedia data with access point positioning information
CN105339922B (zh) 2013-02-12 2018-10-12 爱立信股份有限公司 个人过顶网络视频记录器
US9009763B2 (en) 2013-02-15 2015-04-14 Cox Communications, Inc. Content management in a cloud-enabled network-based digital video recorder
US9549000B2 (en) 2013-03-15 2017-01-17 Arris Enterprises, Inc. Streaming media from a server delivering individualized content streams to clients
WO2018169571A1 (en) * 2017-03-15 2018-09-20 Google Llc Segmentation-based parameterized motion models
US11330296B2 (en) * 2020-09-14 2022-05-10 Apple Inc. Systems and methods for encoding image data

Also Published As

Publication number Publication date
US20160360123A1 (en) 2016-12-08
USRE45052E1 (en) 2014-07-29
US20220345643A1 (en) 2022-10-27
EP1692859A2 (en) 2006-08-23
US20220256102A1 (en) 2022-08-11
US20150104153A1 (en) 2015-04-16
KR20130006717A (ko) 2013-01-17
EP1692859A4 (en) 2013-01-23
ES2927630T3 (es) 2022-11-08
US10708521B2 (en) 2020-07-07
EP3641317B1 (en) 2022-06-15
JP2007532044A (ja) 2007-11-08
JP2012019548A (ja) 2012-01-26
CN101124561B (zh) 2013-11-27
EP3641317A1 (en) 2020-04-22
KR101127407B1 (ko) 2012-03-23
US20220408032A1 (en) 2022-12-22
US11159746B2 (en) 2021-10-26
US20050123283A1 (en) 2005-06-09
US11297263B2 (en) 2022-04-05
KR20130105908A (ko) 2013-09-26
US11012641B2 (en) 2021-05-18
CN101124561A (zh) 2008-02-13
US20220046188A1 (en) 2022-02-10
EP1692859B1 (en) 2015-04-08
US10257443B2 (en) 2019-04-09
JP2013013146A (ja) 2013-01-17
JP2014233086A (ja) 2014-12-11
US7519274B2 (en) 2009-04-14
US20210258514A1 (en) 2021-08-19
US9369687B2 (en) 2016-06-14
US8731369B2 (en) 2014-05-20
BRPI0416738A (pt) 2007-01-16
US20050207442A1 (en) 2005-09-22
US11509839B2 (en) 2022-11-22
KR20110124325A (ko) 2011-11-16
KR20060122893A (ko) 2006-11-30
WO2005057906A3 (en) 2007-09-07
HK1215889A1 (zh) 2016-09-23
ES2784837T3 (es) 2020-10-01
EP2927816B1 (en) 2020-01-22
WO2005057906A2 (en) 2005-06-23
EP2927816A1 (en) 2015-10-07
KR101380265B1 (ko) 2014-04-01
JP5589043B2 (ja) 2014-09-10
KR101380262B1 (ko) 2014-04-01
US20200288069A1 (en) 2020-09-10
US20190289226A1 (en) 2019-09-19

Similar Documents

Publication Publication Date Title
US11735228B2 (en) Multimedia distribution system
US11159746B2 (en) Multimedia distribution system for multimedia files with packed frames

Legal Events

Date Code Title Description
B25A Requested transfer of rights approved

Owner name: SIRACUSA MERGER LLC (US)

B25D Requested change of name of applicant approved

Owner name: DIVX, LLC. (US)

B25A Requested transfer of rights approved

Owner name: SONIC IP, INC. (US)

B15K Others concerning applications: alteration of classification

Free format text: AS CLASSIFICACOES ANTERIORES ERAM: H04J 3/16 , H04N 5/76 , H04N 5/781

Ipc: H04N 21/845 (2011.01), H04N 19/44 (2014.01)

Ipc: H04N 21/845 (2011.01), H04N 19/44 (2014.01)

B07A Application suspended after technical examination (opinion) [chapter 7.1 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 26/12/2018, OBSERVADAS AS CONDICOES LEGAIS.

B25A Requested transfer of rights approved

Owner name: DIVX, LLC (US)