BR112012027438B1 - Método para decodificar, meio legível por computador e aparelho para decodificar - Google Patents

Método para decodificar, meio legível por computador e aparelho para decodificar Download PDF

Info

Publication number
BR112012027438B1
BR112012027438B1 BR112012027438-4A BR112012027438A BR112012027438B1 BR 112012027438 B1 BR112012027438 B1 BR 112012027438B1 BR 112012027438 A BR112012027438 A BR 112012027438A BR 112012027438 B1 BR112012027438 B1 BR 112012027438B1
Authority
BR
Brazil
Prior art keywords
video
data
filtering
intraprediction
prediction
Prior art date
Application number
BR112012027438-4A
Other languages
English (en)
Other versions
BR112012027438A2 (pt
Inventor
Steffen Wittmann
Virginie Drugeon
Matthias Narroschke
Thomas Wedi
Original Assignee
Sun Patent Trust
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sun Patent Trust filed Critical Sun Patent Trust
Publication of BR112012027438A2 publication Critical patent/BR112012027438A2/pt
Publication of BR112012027438B1 publication Critical patent/BR112012027438B1/pt

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop

Abstract

MODO DE FILTRAGEM PARA INTRAPREDIÇÃO INFERIDA DE ESTATÍSTICAS DE BLOCOS CIRCUNDANTES. A invenção refere-se à intrapredição a qual pode ser executada durante a codificação e/ou decodificação de um sinal de imagem. Especificamente, a invenção refere-se à intrapredição de um bloco corrente, durante a qual uma filtragem é aplicada ao sinal de predição e/ou ao sinal utilizado para a predição. A filtragem é aplicada de acordo com uma decisão com base em características de sinal de imagem incluída em bloco(s) espacialmente adjacente(s) ao bloco corrente.

Description

[0001] A presente invenção refere-se a um método de codificação de imagem, um aparelho e um programa para executar estes métodos em software. Especificamente, a presente invenção à aplicação de filtragem durante a intrapredição.
ANTECEDENTES DA INVENÇÃO
[0002] A predição espacial tem sido empregada em muitas aplica ções. Especificamente, a predição espacial forma uma parte essencial de muitas aplicações de codificação e processamento de imagem e de vídeo. Em algoritmos de codificação de imagem ou de vídeo híbridos, a predição espacial é tipicamente empregada para determinar uma predição para um bloco de imagem com base nos pixels de blocos já codificados / decodificados. Por outro lado, a predição espacial pode também ser utilizada como uma parte de pós-processamento da imagem decodificada ou de sinal de vídeo, especificamente para ocultação de erro.
[0003] A maioria dos algoritmos de codificação de vídeo padroni zados está baseada em codificação de vídeo híbrida. Os métodos de codificação de vídeo híbrida tipicamente combinam diversos esquemas de compressão sem perda e com perda diferentes de modo a conseguir o ganho de compressão desejado. A codificação de vídeo híbrida é também a base para os padrões de ITU-T (padrões H.26x tal como H.261, H.263) assim como os padrões de ISO/IEC (padrões MPEG-X tal como MPEG-1, MPEG-2, e MPEG-4). O padrão de codificação de vídeo mais recente e avançado é correntemente o padrão denotado como codificação de vídeo avançada (AVC) H.264/MPEG-4 o qual é um resultado de esforços de padronização pelo Joint Video Team (JVT), uma equipe reunida de grupos de ITU-T e ISO/IEC MPEG. Um novo padrão de codificação de vídeo está sendo correntemente desenvolvido pelo Joint Collaborative Team on Video Coding (JCT-VC) sob o nome de Codificação de Vídeo de Alta Eficiência (HEVC), objetivando, especificamente aperfeiçoamentos de eficiência referentes à codificação de vídeo de alta resolução.
[0004] Um sinal de vídeo inserido em um codificador é uma se quência de imagens denominadas quadros, cada quadro sendo uma matriz de pixels bidimensional. Todos os padrões acima mencionados baseados em codificação de vídeo híbrida incluem subdividir cada quadro de vídeo individual em blocos menores que consistem em uma pluralidade de pixels. Tipicamente, um macrobloco (usualmente denotando um bloco de 16 x 16 pixels) é o elemento de imagem básico, para o qual a codificação é executada. No entanto, várias etapas de codificação específicas podem ser executadas para menores elementos de imagem, denotados sub-blocos, ou simplesmente blocos que têm o tamanho de, por exemplo, 8 x 8, 4 x 4, 16 x 8, etc. O tamanho maior possível para tal bloco, por exemplo, em HEVC, é de 64 x 64 pixels. Esta é então denominada a maior unidade de codificação (LCU). Uma subdivisão de uma LCU em menores blocos é possível em HEVC. Um tal bloco é denominado uma Unidade de Codificação (CU). Uma CU é o elemento de imagem básico, para o qual a codificação é executada.
[0005] A Figura 1 é um exemplo de um codificador de vídeo 100 em conformidade com o padrão H.264/MPEG-4 AVC típico. Um sub- trator 105 primeiro determina as diferenças entre um bloco corrente a ser codificado de uma imagem de vídeo de entrada (sinal de entrada) e um bloco de predição correspondente, o qual é utilizado para a predição do bloco corrente a ser codificado. Em H.264/MPEG-4 AVC, o sinal de predição é obtido ou por uma predição temporal ou por uma espacial. O tipo de predição pode ser variado em uma base por quadro, uma base por fatia ou em uma base por macrobloco.
[0006] Os macroblocos ou CUs preditos utilizando a predição tem poral são denominados intercodificados e os macroblocos ou CUs preditos utilizando a predição espacial são denominados intracodifica- dos. O tipo de predição para um quadro de vídeo pode ser determinado pelo usuário ou selecionado pelo codificador de vídeo de modo a conseguir um ganho de compressão possivelmente alto. De acordo com o tipo de predição selecionado, um intra/intercomutador 175 provê um sinal de predição correspondente para o subtrator 105. O sinal de predição que utiliza a predição temporal é derivado das imagens anteriormente codificadas, as quais estão armazenadas em uma memória 140. O sinal de predição que utiliza a predição espacial é derivado dos valores de pixels limite nos blocos vizinhos do mesmo quadro, os quais foram anteriormente codificados, decodificados, e armazenados na memória 140. A unidade de memória 140 assim opera como uma unidade de retardo que permite uma comparação entre os valores de sinal correntes a serem codificados e os valores de sinal de predição gerados de valores de sinal anteriores. A memória 140 pode armazenar uma pluralidade de quadros de vídeo anteriormente codificados. A diferença entre o sinal de entrada e o sinal de predição, denotada sinal de erro de predição ou sinal residual, é transformada resultando em coeficientes, os quais são quantizados 110. Um codificador de entropia 190 é então aplicado aos coeficientes quantizados de modo a reduzir adicionalmente a quantidade de dados em um modo sem perda. Isto é principalmente conseguido aplicando um código com palavras de código de comprimento variável em que o comprimento de uma palavra de código é escolhido com base na probabilidade de sua ocorrência.
[0007] As imagens intracodificadas (denominadas também ima gens tipo I ou quadros I) consistem somente em macroblocos ou CUs que são intracodificados, isto é, imagens intracodificadas podem ser decodificadas sem referência a nenhuma outra imagem anteriormente decodificada. As imagens intracodificadas proveem uma resiliência de erro para a sequência de vídeo codificada já que estas regeneram a sequência de vídeo de erros possivelmente propagados de quadro a quadro devido à predição temporal. Mais ainda, os quadros I permitem um acesso randômico dentro da sequência de imagens de vídeo codificadas. A predição intraquadro utiliza um conjunto de modos de intra- predição predefinido. Alguns dos modos de intrapredição predizem o bloco corrente utilizando os pixels limite dos blocos vizinhos já codificados. Outros modos de intrapredição, como coincidência de formatação, por exemplo, utilizam uma área de pesquisa feita de pixels já codificados que pertencem ao mesmo quadro. O conjunto predefinido de modos de intrapredição inclui alguns modos de intrapredição espacial direcional. Os diferentes modos de intrapredição espacial direcional referem a diferentes direções da predição bidimensional aplicada. Isto permite uma eficiente intrapredição espacial no caso de várias direções de borda. O sinal de predição obtido por tal intrapredição é então subtraído do sinal de entrada pelo subtrator 105 como acima descrito. Além disso, as informações de modo de intrapredição espacial que indicam o modo de predição são providas para o codificador de entropia 190 (não mostrado na Figura 1), onde este é codificado em entropia e provido juntamente com o sinal de vídeo codificado.
[0008] No esquema de intracodificação H.264/MPEG-4 AVC, a predição espacial é formada de sub-blocos de tamanhos 4 x 4, 8 x 8 ou 16 x 16 pixels de modo a reduzir a redundância espacial. A predição intraquadro utiliza um conjunto predefinido de modos de intrapre- dição, os quais basicamente predizem o bloco corrente utilizando os pixels limite dos blocos vizinhos já codificados. Os diferentes tipos de predição espacial direcional referem a diferentes direções de borda, isto é, a direção da extrapolação bidimensional aplicada. Existem oito modos de predição direcional e um modo de predição DC para os sub- blocos de tamanho 4 x 4 e 8 x 8, e três diferentes modos de predição direcional e um modo de predição DC para os macroblocos de 16 x 16 pixels. Em HEVC, a predição espacial pode ser executada para CUs de tamanho 4 x 4, 8 x 8, 16 x 16 ou 32 x 32. Existem 34 diferentes modos de predição direcional para todos os tamanhos de CU.
[0009] Dentro do codificador de vídeo 100, uma unidade de deco- dificação está incorporada para obter um sinal de vídeo decodificado. Em conformidade com as etapas de codificação, as etapas de decodi- ficação incluem uma quantização inversa e uma transformação inversa 120. O sinal de erro de predição decodificado difere do sinal de erro de predição original devido ao erro de quantização, denominado também ruído de quantização. Um sinal reconstruído é então obtido somando 125 o sinal de erro de predição decodificado ao sinal de predição. De modo a manter a compatibilidade entre o lado de codificador e o lado de decodificador, o sinal de predição é obtido com base no sinal de vídeo codificado e subsequentemente decodificado o qual é conhecido em ambos os lados do codificador e do decodificador. Devido à quan- tização, o ruído de quantização é sobreposto ao sinal de vídeo recons-truído. Devido à codificação no sentido de bloco, o ruído sobreposto frequentemente tem características de bloqueio, o que resulta, especi-ficamente para uma forte quantização, em limites de bloco visíveis na imagem decodificada. De modo a reduzir estes artefatos, um filtro de desbloqueio 130 é aplicado a cada bloco de imagem reconstruído.
[00010] De modo a serem decodificadas, as imagens intracodifica- das requerem imagem(ns) previamente codificada(s) e subsequentemente decodificada(s) (reconstruída(s)). A predição temporal pode ser executada unidirecionalmente, isto é, utilizando somente os quadros de vídeo ordenados no tempo antes do quadro corrente a ser codificado, ou bidirecionalmente, isto é, utilizando também quadros de vídeo seguintes ao quadro corrente. A predição temporal unidirecional resul- ta em imagens intercodificadas denominadas quadros P; a predição temporal bidirecional resulta em imagens intercodificadas denominadas quadros B. Em geral, uma imagem intercodificada pode compreender quaisquer macroblocos do tipo P, B, ou até I. Um macrobloco intercodificado (macrobloco P ou B) ou um CU intercodificado é predito empregando uma predição compensada em movimento 160. Primeiro, um bloco de melhor correspondência é encontrado para o bloco corrente dentro dos quadros de vídeo anteriormente codificados e decodificados por um estimador de movimento 165. O bloco de melhor cor-respondência então torna-se um sinal de predição e o deslocamento relativo entre o bloco corrente e a sua melhor coincidência é sinalizado como dados de movimento na forma de movimento tridimensional (um temporal, dois espaciais) dentro do fluxo de bits que compreende também os dados de vídeo codificados. De modo a otimizar a precisão de predição, os vetores de movimento podem ser determinados com uma resolução de subpixel espacial, por exemplo, uma resolução de meio pixel ou de um quarto de pixel. Isto é permitido por um filtro de interpolação 150.
[00011] Para ambos, os modos de intra e de intercodificação, as diferenças entre o sinal de entrada corrente e o sinal de predição são transformadas e quantizadas pela unidade 110, resultando nos coeficientes quantizados. Geralmente, uma transformação ortogonal tal como uma transformação de co-seno discreta bidimensional (DCT) ou uma sua versão inteira é empregada já que esta reduz a correlação das imagens de vídeo naturais eficientemente. Após a transformação, os componentes de baixa frequência são usualmente mais importantes para a qualidade de imagem do que os componentes de alta frequência de modo que mais bits podem ser gastos para a codificação dos componentes de baixa frequência do que os componentes de alta frequência. Em um codificador de entropia, a matriz bidimensional de co- eficientes quantizados é convertida em uma rede unidimensional. Tipicamente, esta conversão é executada por um assim denominado es- caneamento em ziguezague, o qual inicia com o coeficiente DC no canto esquerdo superior da rede bidimensional e escaneia a rede bidimensional em uma sequência predeterminada terminando com um coeficiente AC no canto direito inferior. Como a energia é tipicamente concentrada na parte superior esquerda da matriz de coeficientes bidimensional, correspondendo às frequências mais baixas, o escanea- mento em ziguezague resulta em uma rede onde usualmente os últimos valores são zero. Isto permite uma eficiente codificação utilizando códigos de comprimento de execução como uma parte da / antes da codificação de entropia real. O H.264/MPEG-4 AVC emprega uma quantização escalar 110, a qual pode ser controlada por um parâmetro de quantização (QP) e uma matriz de quantização customizável (QM). Um de 52 quantizadores é selecionado para cada macrobloco pelo parâmetro de quantização. Além disso, a matriz de quantização é especificamente projetada para manter certas frequências na fonte para evitar perder qualidade de imagem. A matriz de quantização em H.264/MPEG-4 AVC pode ser adaptada para a sequência de vídeo e sinalizada juntamente com os dados de vídeo.
[00012] O H.264/MPEG-4 AVC inclui duas camadas funcionais, uma Camada de Codificação de Vídeo (VCL) e uma Camada de Abstração de Rede (NAL). A VCL provê a funcionalidade de codificação como resumidamente acima descrito. A NAL encapsula os elementos de informações em unidades padronizadas denominadas unidades de NAL de acordo com a sua aplicação adicional tal como transmissão sobre um canal ou armazenamento em armazenamento. Os elementos de informações são, por exemplo, o sinal de erro de predição codificado ou outras informações necessárias para a decodificação do sinal de vídeo tal como o tipo de predição o parâmetro de quantização, os vetores de movimento, etc. Existem unidades de VCL NAL que contêm os dados de vídeo comprimido e as informações relativas, assim como unidades não VCL que encapsulam dados adicionais tal como um conjunto de parâmetros relativo a uma sequência de vídeo inteira, ou Informações de Melhoramento Suplementares (SEI) que proveem informações adicionais que podem ser utilizadas para aperfeiçoar o desempenho de codificação.
[00013] De modo a aperfeiçoar a qualidade de imagem, um assim denominado pós-filtro 280 pode ser aplicado no lado de decodificador 200. O padrão de H.264/MPEG-4 AVC permite enviar as informações de pós-filtro para tal pós-filtro através da mensagem de SEI. As informações de pós-filtro são determinadas no lado de codificador por meio de uma unidade de projeto de pós-filtro 180, a qual compara o sinal localmente decodificado e o sinal de entrada original. Em geral, as informações de pós-filtro são informações que permitem o decodificador configurar um filtro apropriado. Estas podem incluir diretamente os coeficientes de filtro ou outras informações que permitam configurar o filtro. As informações de filtro, as quais são emitidas pela unidade de projeto de pós-filtro 180 são também alimentadas para a unidade de codificação de entropia 190 de modo a serem codificadas e inseridas no sinal codificado. Tal filtro adaptável pode também ser utilizado como um segundo pós-filtro, como, por exemplo, no padrão HEVC.
[00014] A Figura 2 ilustra um decodificador 200 exemplar em conformidade com o padrão de codificação de vídeo H.264/MPEG-4 AVC. O fluxo de bits de sinal de vídeo codificado (sinal de entrada para o decodificador) primeiro passa para o decodificador de entropia 290, o qual decodifica os coeficientes quantizados, os elementos de informações necessários para a decodificação tal como os dados de movimento, o modo de predição, etc., e as informações de pós-filtro. No decodificador de entropia 290, as informações de modo de intrapredi- ção espacial são extraídas do fluxo de bits, indicando o tipo / modo da predição espacial aplicada ao bloco a ser decodificado. As informações extraídas são providas a unidade de predição espacial 270 (não mostrada na Figura 2). Os coeficientes quantizados são inversamente escaneados de modo a obter uma matriz bidimensional, a qual é então alimentada para quantização inversa e transformação inversa 220. Após a quantização inversa e transformação inversa, um sinal de erro de predição decodificado (quantizado) é obtido, o qual corresponde às diferenças obtidas subtraindo o sinal de predição do sinal inserido no codificador no caso que nenhum ruído de quantização seja introduzido.
[00015] O sinal de predição é obtido de uma predição ou temporal ou espacial 260 e 270, respectivamente, as quais são comutadas 275 de acordo com um elemento de informações recebido que sinaliza a predição aplicada no codificador. Os elementos de informações decodificadas ainda incluem as informações necessárias para a predição tal como um tipo de predição no caso de intrapredição (informações de modo de intrapredição espacial) e dados de movimento no caso de predição compensada em movimento. Dependendo do valor corrente do vetor de movimento, uma interpolação de valores de pixel pode ser necessária de modo a executar a predição compensada em movimento. Esta interpolação é executada por um filtro de interpolação 250. O sinal de erro de predição quantizado no domínio espacial é então somado por meio de um somador 225 com o sinal de predição obtido ou da predição compensada em movimento 260 ou da predição intraqua- dro 270. A imagem reconstruída pode ser passada através de um filtro de desbloqueio 230 e o sinal decodificado resultante é armazenado na memória 240 para ser aplicado para a predição temporal ou espacial dos blocos seguintes. As informações de pós-filtro são alimentadas para um pós-filtro 280, o qual configura um pós-filtro consequentemen- te. O pós-filtro é então aplicado no sinal decodificado de modo a aperfeiçoar adicionalmente a qualidade de imagem.
[00016] Os modos de intrapredição direcional são muito eficientes para predizer bordas definidas, mas não são adaptados para predizer regiões uniformes ou fora de foco. Para tais regiões, uniformizar as referências com um filtro de passagem baixa é especificamente apropriado e provê ganhos em termos de eficiência de codificação. Assim, aplicar um filtro de passagem baixa nos pixels de referência para in- trapredição é uma técnica conhecida para remover o ruído de quanti- zação adicionado aos pixels reconstruídos e para aperfeiçoar a intra- predição, especialmente quando a região da imagem a ser predita está borrada ou fora de foco.
SUMÁRIO DA INVENÇÃO
[00017] O problema subjacente à presente invenção é que se um filtro de passagem baixa for aplicado às referências, as bordas definidas não podem ser preditas eficientemente.
[00018] O objetivo da presente invenção é prover uma intrapredição aperfeiçoada e mais eficiente para a codificação e decodificação de uma imagem.
[00019] Isto é conseguido pelas características das reivindicações independentes.
[00020] Modalidades adicionais da presente invenção são o assunto das reivindicações dependentes.
[00021] É uma proposta específica da presente invenção distinguir se um filtro de passagem baixa precisa ser aplicado a pixels de referência ou a um sinal de predição de uma área de imagem corrente ou não. Esta distinção está baseada em característica do sinal de imagem adjacente espacialmente à área de imagem corrente.
[00022] De acordo com um aspecto da presente invenção, um método está provido para decodificar, em uma base de bloco por bloco, dados de imagem codificados particionados em uma pluralidade de blocos, o dito método compreendendo as etapas de: derivar estatísticas de dados anteriormente decodificados espacialmente adjacentes ao bloco corrente; decidir com base nas estatísticas derivadas se uma filtragem deve ser aplicada ou não durante a intrapredição; e predizer um bloco corrente de dados de imagem de blocos anteriormente decodificados.
[00023] De acordo com outro aspecto da presente invenção, um método está provido para codificar, em uma base de bloco por bloco, dados de imagem particionados em uma pluralidade de blocos, o dito método compreendendo as etapas de: derivar estatísticas de dados anteriormente decodificados espacialmente adjacentes ao bloco corrente; decidir com base nas estatísticas derivadas se uma filtragem deve ser aplicada ou não durante a intrapredição; e predizer um bloco corrente de dados de imagem de blocos anteriormente decodificados.
[00024] De acordo com outro aspecto da presente invenção, um aparelho está provido para decodificar, em uma base de bloco por bloco, dados de imagem codificados particionados em uma pluralidade de blocos, o dito aparelho compreendendo: uma unidade de cálculo para derivar estatísticas de dados anteriormente decodificados espacialmente adjacentes ao bloco corrente; uma unidade de julgamento para decidir com base nas estatísticas derivadas se uma filtragem deve ser aplicada ou não durante a intrapredição; e uma unidade de predição direcional para predizer um bloco corrente de dados de imagem de blocos anteriormente decodificados.
[00025] De acordo com outro aspecto da presente invenção, um aparelho está provido para codificar, em uma base de bloco por bloco, dados de imagem particionados em uma pluralidade de blocos, o dito aparelho compreendendo: uma unidade de cálculo para derivar estatísticas de dados anteriormente decodificados espacialmente adjacen- tes ao bloco corrente; uma unidade de julgamento para decidir com base nas estatísticas derivadas se uma filtragem deve ser aplicada ou não durante a intrapredição; e uma unidade de predição direcional para predizer um bloco corrente de dados de imagem de blocos anteriormente codificados e decodificados.
[00026] De acordo com ainda outro aspecto da presente invenção, um produto de programa de computador está provido que compreende um meio legível por computador que tem um código de programa legível por computador incorporado no mesmo, em que o código de programa está adaptado para executar o método acima descrito.
[00027] Os acima e outros objetos e características da presente invenção ficarão mais aparentes da descrição seguinte e das modalidades preferidas dadas em conjunto com os desenhos acompanhantes, nos quais:
[00028] Figura 1 é um diagrama de blocos que ilustra um exemplo de um codificador de vídeo H.264/MPEG-4 AVC convencional;
[00029] Figura 2 é um diagrama de blocos que ilustra um exemplo de um codificador de vídeo H.264/MPEG-4 AVC convencional;
[00030] Figura 3 é um diagrama de blocos que ilustra uma unidade de intrapredição de acordo com uma modalidade da presente invenção;
[00031] Figura 4 é um fluxograma que ilustra um método para filtragem de intrapredição de acordo com uma primeira modalidade da presente invenção, utilizando detecção de borda;
[00032] Figura 5 é um fluxograma que ilustra um método para filtragem de intrapredição de acordo com uma primeira modalidade da presente invenção, utilizando cálculo de variância;
[00033] Figura 6 é um fluxograma que ilustra um método para filtragem de intrapredição de acordo com uma segunda modalidade da presente invenção, que emprega um modo de predição especial;
[00034] Figura 7 é um desenho esquemático que ilustra a aplicação de filtragem de acordo com uma terceira modalidade da presente invenção;
[00035] Figura 8 é um desenho esquemático que ilustra a aplicação de filtragem de acordo com uma quarta modalidade da presente invenção;
[00036] Figura 9 é um desenho esquemático de uma configuração total de um sistema de provisão de conteúdo para implementar os serviços de distribuição de conteúdo;
[00037] Figura 10 é um desenho esquemático de uma configuração total de um sistema de transmissão digital;
[00038] Figura 11 é um diagrama de blocos que ilustra um exemplo de uma configuração de uma televisão;
[00039] Figura 12 é um diagrama de blocos que ilustra um exemplo de uma configuração de uma unidade de reprodução / gravação de informações que lê e escreve as informações de ou sobre um meio de gravação que é um disco ótico;
[00040] Figura 13 é um desenho esquemático que mostra um exemplo de uma configuração de um meio de gravação que é um disco ótico;
[00041] Figura 14A é um desenho esquemático que ilustra um exemplo de um telefone celular;
[00042] Figura 14B é um diagrama de blocos que mostra um exemplo de uma configuração do telefone celular;
[00043] Figura 15 é um desenho esquemático que mostra uma estrutura de dados multiplexados;
[00044] Figura 16 é um desenho esquemático que ilustra esquematicamente como cada um dos fluxos é multiplexado em dados multiple- xados;
[00045] Figura 17 é um desenho esquemático que ilustra como um fluxo de vídeo é armazenado em um fluxo de pacotes de PES em mais detalhes;
[00046] Figura 18 é um desenho esquemático que mostra uma estrutura de pacotes de PES e pacotes de fontes nos dados multiplexa- dos;
[00047] Figura 19 é um desenho esquemático que mostra uma estrutura de dados de um PMT;
[00048] Figura 20 é um desenho esquemático que mostra uma estrutura interna de informações de dados multiplexados;
[00049] Figura 21 é um desenho esquemático que mostra uma estrutura interna de informações de atributo de fluxo;
[00050] Figura 22 é um desenho esquemático que mostra as etapas para identificar os dados de vídeo;
[00051] Figura 23 é um diagrama de blocos que ilustra um exemplo de uma configuração de um circuito integrado para implementar o método de codificação de vídeo e o método de decodificação de vídeo de acordo com cada uma das modalidades;
[00052] Figura 24 é um desenho esquemático que mostra uma configuração para comutação entre as frequências de acionamento;
[00053] Figura 25 é um desenho esquemático que mostra as etapas para identificar os dados de vídeo e comutar entre as frequências de acionamento;
[00054] Figura 26 é um desenho esquemático que mostra um exemplo de uma tabela de consulta na qual os padrões de dados de vídeo estão associados com as frequências de acionamento;
[00055] Figura 27A é um desenho esquemático que mostra um exemplo de uma configuração para compartilhar um módulo de uma unidade de processamento de sinal; e
[00056] Figura 27B é um desenho esquemático que mostra outro exemplo de uma configuração para compartilhar um módulo de uma unidade de processamento de sinal.
DESCRIÇÃO DETALHADA
[00057] O problema subjacente à presente invenção está baseado na observação que se um filtro de passagem baixa for aplicado a pixels de referência ou ao sinal de predição, as bordas definidas não podem ser preditas eficientemente. Portanto, é necessário distinguir se um filtro de passagem baixa precisa ser aplicado aos pixels de referência ou ao sinal de predição ou não.
[00058] Uma possível solução é sinalizar por um sinalizador trans mitido de cada bloco se uniformizar (filtrar em passagem baixa, ou não. No entanto, esta proposta provavelmente resultará em uma taxa de bits aumentada e assim limitará e eficiência de codificação total.
[00059] De acordo com a presente invenção, um método para decodificar e/ou codificar em uma base de bloco por bloco dados de imagem particionados em uma pluralidade de blocos está provido, em que o método compreende as etapas de: predizer um bloco corrente de dados de imagem de blocos anteriormente decodificados, derivar estatísticas de dados anteriormente decodificados adjacentes ao bloco corrente tal como a presença de bordas ou a variância do sinal; e decidir com base nas estatísticas derivadas se uma filtragem deve ser aplicada ou não durante a intrapredição.
[00060] Uma das vantagens da presente invenção é que a aplicação de filtragem utilizada durante a intrapredição é adaptável com relação ao conteúdo do sinal de imagem e assim, uma qualidade de predição mais alta pode ser conseguida.
[00061] De preferência, a filtragem é aplicada nos pixels utilizados para a predição. No entanto, a presente invenção não está limitada a isto. De acordo com outra modalidade, a filtragem é aplicada no sinal de predição.
[00062] Vantajosamente, a derivação de estatísticas do sinal anteri- ormente decodificado é executada calculando a variância do sinal dos blocos circundantes. Alternativamente, a derivação de estatísticas do sinal anteriormente decodificado é executada aplicando um método de detecção de borda tal como calculando os gradientes utilizando um operador Sobel ou qualquer outra matriz adequada para o cálculo de gradientes em um sinal 2D; e comparar a normal destes gradientes com um limite.
[00063] Especificamente, a filtragem pode ser aplicada se a variância do sinal dos blocos circundantes estiver abaixo de um limite prede- finido; e nenhuma filtragem pode ser aplicada se a variância do sinal dos blocos circundantes estiver acima de um limite predefinido.
[00064] Alternativamente, a filtragem pode ser aplicada se nenhuma borda for detectada; e nenhuma filtragem pode ser aplicada se uma borda for detectada.
[00065] De acordo com uma modalidade da presente invenção, a filtragem é aplicada somente para os pixels localizados em uma região que não é intersectada pela linha calculada estendendo a borda detectada. Especificamente, o filtro não é aplicado a pixels em uma linha de pixels de referência, os quais estão mais próximos do que um número predefinido de pixels da interseção da borda detectada com a linha de pixels. A linha de pixels pode ser uma linha e/ou coluna de pixels.
[00066] Diferentes filtros podem ser aplicados a pixels dependendo de sua posição relativa à linha calculada estendendo a borda detectada.
[00067] Especificamente, um primeiro filtro é aplicado a pixels em uma linha de pixels de referência, os quais estão mais próximos do que o número predefinido de pixels da interseção da borda detectada com a linha de pixels. E um segundo filtro é aplicado aos pixels restantes. No entanto, a presente invenção não está limitada a isto e mais filtros diferentes podem ser aplicados dependendo da posição do pixel de referência a ser filtrado com relação à borda detectada prolongada. Vantajosamente, os pixels na proximidade da borda são filtrados na direção da borda. Vantajosamente, os pixels que não estão na proximidade da borda são filtrados utilizando um filtro de passagem baixa.
[00068] Um dos benefícios da presente invenção é que tanto as bordas definidas quanto as áreas lisas podem ser preditas e codificadas eficientemente sem aumento de excesso de taxa de bits.
[00069] De acordo com uma primeira modalidade da presente invenção, um aparelho de codificação de imagem está provido, o qual tem, no lugar da unidade de intrapredição de H.264/AVC que calcula a predição direcional com base nos pixels vizinhos de referência, uma nova unidade de intrapredição que analisa as estatísticas do sinal vizinho (executando uma predição de borda ou um cálculo de variância, por exemplo) e aplica a filtragem antes ou após calcular a predição direcional.
[00070] A Figura 3 é um diagrama de blocos para explicar uma construção específica da unidade de intrapredição 300 de acordo com a primeira modalidade da presente invenção. A unidade de intrapredi- ção 300 tem uma unidade de cálculo (neste caso uma unidade de detecção de borda) 310 para determinar se uma borda está presente no sinal vizinho reconstruído e para determinar a sua direção e/ou localização se uma borda estiver presente; uma primeira unidade de filtragem 320 para filtrar os pixels de referência utilizados para a predição direcional (utilizando, por exemplo, um filtro tal como o filtro de passagem baixa aplicado em H.264/MPEG-4 AVC para intrapredição de 8 x 8 ou tal como definido na primeira versão do padrão de HEVC no documento JCTVC-B205_draft007, documento resultante do encontro de JCT-VC em Genebra, Suíça, 21-28 de Julho de 2010) dependendo da saída da unidade de detecção de borda 310; uma unidade de predição direcional 330 para predizer o bloco de acordo com uma dada predi- ção direcional, similar à unidade de intrapredição de H.264/MPEG-4 AVC no codificador 170 e/ou no decodificador 270 ou similar para a intrapredição como descrito na EP 2 081 386 A1; e uma segunda unidade de filtragem 340 para filtrar a saída da unidade de predição direcional 330 dependendo da saída da unidade de detecção de borda 310.
[00071] De modo a aumentar a eficiência de codificação, a EP 2 081 386 A1 provê uma predição espacial aperfeiçoada na qual o número de direções de predição para os pixels de predição de um bloco não está limitado a oito. Ao invés, a detecção de borda é executada dentro dos blocos vizinhos já decodificados. Com base em uma direção da borda determinada como dominante, os pixels do bloco são preditos possivelmente de uma posição sub-pel dentro da linha de pixels que pertence a um bloco vizinho.
[00072] Alternativamente, a unidade de cálculo 310 pode ser uma unidade de cálculo de variância para calcular a variância do sinal vizinho. Neste caso, as duas unidades de filtragem filtram os pixels de referência ou a saída da unidade de predição direcional dependendo da saída da unidade de cálculo de variância. O sinal vizinho reconstruído aqui refere a pixels decodificados (amostras) nos blocos que circundam o bloco corrente.
[00073] A Figura 4 é um fluxograma para explicar um método exemplar o qual pode ser executado pela unidade de intrapredição. De modo a executar o método esta unidade de intrapredição tem uma unidade de detecção de borda a qual é capaz de determinar 410, 430 se uma borda está presente no sinal vizinho reconstruído; uma unidade filtragem para filtrar 440 os pixels de referência utilizados para a predição direcional no caso em que nenhuma borda é detectada (etapa 410 e "não" na etapa 430) na unidade de detecção de borda; e uma unidade de predição direcional para predizer 450 o bloco de acordo com uma dada predição direcional, o qual pode ser similar aos métodos de intrapredição direcional de H.264/MPEG-4 AVC como acima descrito ou similar à intrapredição como descrito na EP 2 081 386 A1.
[00074] A Figura 5 é um diagrama de blocos para explicar outro exemplo de uma construção específica da unidade de intrapredição e um método para executar a presente invenção. Esta unidade de intra- predição tem uma unidade de cálculo (uma unidade de cálculo de variância) para determinar 510, 530 se a variância do sinal vizinho reconstruído está abaixo de um limite predefinido; uma unidade de filtragem para filtrar 540 os pixels de referência utilizados para a predição direcional no caso em que a variância do sinal vizinho reconstruído está abaixo de um limite predefinido; e uma unidade de predição direcional para predizer 550 o bloco de acordo com uma dada predição direcional.
[00075] Como acima descrito, a primeira modalidade inclui um método e um aparelho para codificar eficientemente tanto as bordas definidas quanto as áreas lisas sem aumentar o excesso de taxa de bits derivando as informações necessárias do sinal vizinho reconstruído. Isto pode ser executado no mesmo modo tanto pelo codificador quanto pelo decodificador.
[00076] É notado que as etapas de método acima descritas com referência às Figuras 4 e 5 podem também ser executadas por qualquer outro aparelho que tenha uma estrutura diferente do exemplo acima descrito. Especificamente, as etapas dos fluxogramas podem também ser executadas por qualquer tipo de processador ou dispositivo.
[00077] Um dos problemas que pode surgir com a modalidade acima descrita é que a análise das características do sinal vizinho precisa ser executada para cada bloco no lado do codificador 100 e do decodi- ficador 200 independentemente do modo de intrapredição direcional selecionado. Isto aumenta a complexidade de intrapredição em um decodificador ou em um codificador bem otimizado. Para evitar execu- tar esta análise para cada bloco, uma segunda modalidade da presente invenção introduz um novo modo de intrapredição além dos modos de intrapredição direcional de H.264/MPEG-4 AVC, tal como o método de intrapredição descrito na EP 2 081 386 A1. A análise sobre o sinal vizinho é executada somente quando o novo modo de intrapredição é selecionado. A unidade de intrapredição como descrita com referência à Figura 3 é utilizada somente se o novo modo de intrapredição for selecionado. Para todos os outros modos, a unidade de intrapredição de H.264/MPEG-4 AVC 170 e/ou 270 no codificador e no decodificador, respectivamente, é utilizada.
[00078] Este novo modo de intrapredição baseia-se na detecção de borda no sinal vizinho. A filtragem é aplicada se nenhuma borda for detectada e a filtragem não é aplicada se uma borda for detectada.
[00079] A Figura 6 mostra um fluxograma que descreve o processo para calcular a predição de acordo com este novo modo de intrapredi- ção. A primeira etapa é executar uma detecção de borda 610 no sinal vizinho já reconstruído. Uma possibilidade para a detecção de borda é aplicar os operadores de Sobel nos blocos de 3 x 3 pixels no sinal vizi- nho:
Figure img0001
[00080] Outras matrizes que são adequadas para o cálculo de gra- dientes em um sinal 2D podem também ser utilizadas.
[00081] Para cada bloco de 3 x 3 pixels, um vetor de borda pode ser definido que é perpendicular ao vetor de gradiente. Para determinar a direção de borda principal, o vetor de borda com a máxima normal pode ser considerado, ou uma combinação de vetores de borda com as maiores normais.
[00082] Em geral, as bordas em uma imagem podem ser detectadas determinando um campo de vetor de gradiente da imagem. Um vetor de gradiente é maior sobre uma borda e é perpendicular a esta. Uma das propostas mais populares para detectar o campo de gradiente é a convolução da imagem com matrizes verticais e horizontais tal como os operadores de Sobel, dados pelas máscaras Sx e Sy acima.
[00083] Especificamente, uma coordenada de vetor de gradiente vertical Gx e uma coordenada de vetor de gradiente horizontal Gy em um pixel específico p(x, y) são então obtidas filtrando o pixel p(x, y) com a máscara de Sobel vertical Sx e horizontal Sy, respectivamente.
[00084] Muitas aplicações empregam o operador de Sobel para obter o campo de gradiente. No entanto, a presente invenção não está limitada a detectar o campo de gradiente por meio do operador de Sobel. Em geral, qualquer mecanismo de detecção de borda pode ser empregado que provenha o campo de gradiente. Por exemplo, máscaras com outros tamanhos do que o operador de Sobel podem ser utili-zadas tal como 2 x 2 ou 4 x 4, ou máscaras ainda maiores podem ser utilizadas. A seleção da máscara específica depende dos resultados desejados. O emprego de máscaras maiores pode aumentar a precisão da detecção de borda e suprimir a detecção de pequenas bordas locais, mas por outro lado, aumenta a complexidade computacional. Alternativamente, máscaras outras que a máscara de Sobel podem ser utilizadas para a detecção de borda, tal como o operador de Scharr, ou operadores baseados em derivadas mais altas.
[00085] Após obter as coordenadas vertical Gx e horizontal Gy do gradiente G, para uma pluralidade de pixels de blocos que circundam o bloco a ser predito, um gradiente dominante pode ser determinado. Um vetor de borda dominante E com as suas coordenadas horizontal e vertical Ex e Ey, respectivamente, é perpendicular ao vetor de gradien- te G. Correspondentemente, os tamanhos dos componentes horizontal Ex e vertical Ey do vetor de borda dominante E correspondem aos tamanhos do gradiente horizontal Gy e vertical Gx, respectivamente (por exemplo, Ex=-Gy, Ey=Gx para uma rotação anti-horária).
[00086] Tipicamente, a borda dominante para um bloco corrente é determinada ser uma borda com uma normal máxima entre as bordas que intersectam o bloco corrente. No entanto, outros métodos podem ser utilizados também, por exemplo, tomando uma média ponderada das bordas, ou a direção de borda detectada para uma maioria de pixels, etc. Deve ser notado que o cálculo de gradiente não é necessariamente executado para os blocos adjacentes inteiros. Em geral, é vantajoso selecionar um subconjunto de pixels próximo dos limites do bloco a ser predito e calcular o gradiente somente para estes pixels. Esta proposta reduz o número de operações necessárias para a con- volução dos blocos adjacentes com as máscaras de detecção de borda. Mais ainda, para a predição, somente as bordas prováveis serem similares às bordas reais dentro do bloco a ser predito são de importância, assim a detecção de borda próximo dos limites também reduz o risco de detectar uma borda inútil.
[00087] A normal do vetor de borda final ou as normais de cada um dos vetores de borda calculados pode ser comparada com um limite predefinido. Se uma normal estiver acima do limite, uma borda é detectada. Neste caso, os vetores de borda fornecem a direção da borda e a posição dos blocos de pixels de 3 x 3 onde os vetores de borda mais fortes foram calculados fornece a posição da borda. Se nenhuma normal estiver acima do limite, nenhuma borda é detectada.
[00088] Então o resultado da detecção é avaliado 630. Se uma borda for detectada ("sim" na etapa 630), a predição é executada por interpolação 620 de pixels de referência de sub-pel dependendo da direção da borda como descrito na EP 2 081 386 A1. Especificamente, o sinal de predição é calculado por extrapolação linear da interseção entre a linha de pixels de referência e a linha que tem a direção da borda detectada e que passa através do pixel a ser predito. Se nenhuma borda for detectada ("não" na etapa 630), a próxima etapa inclui aplicar 640 um filtro de passagem baixa sobre os pixels de referência de modo a uniformizar o sinal utilizado para a predição. Aqui os pixels de referência podem ser uma linha de pixels do bloco vizinho superior, a linha sendo a mais próxima do limite com o bloco corrente. Alternativamente, os pixels de referência podem ser uma coluna de pixels do bloco vizinho esquerdo, a coluna sendo a mais próxima do limite com o bloco corrente. A etapa seguinte inclui selecionar 650 uma dada direção predefinida, por exemplo, a direção que é a mais próxima da direção do vetor de borda com a maior normal. Especificamente, esta pode ser a direção que corresponde à direção geral dos pixels vizinhos, a qual pode ser determinada durante a etapa de detecção de borda 610. A predição é então executada 660 utilizando o método de predição como definido para a direção predefinida selecionada.
[00089] Alternativamente, a direção do vetor de borda com a normal mais forte poderia ser selecionada ao invés de uma das direções pre- definidas. Neste caso, a etapa de predição poderia utilizar o método descrito na EP 2 081 386 A1.
[00090] De acordo com uma terceira modalidade da presente invenção, um filtro de passagem baixa é aplicado para alguns pixels de referência e nenhum filtro é aplicado para outros pixels de referência, resultando em trocar a utilização do filtro de uniformização em uma base de pixel por pixel para cada bloco.
[00091] Esta modalidade está esquematicamente ilustrada na Figura 7. Se a detecção de borda for utilizada, é possível estender a borda através da linha de pixels de referência e através do bloco a ser predito como mostrado pela borda 750. Neste caso, a filtragem pode vanta- josamente ser desligada para os n pixels, com n igual a 1 ou 2, por exemplo, localizados ao redor da borda. Por outro lado, a filtragem pode ser aplicada aos outros pixels. A Figura 7 mostra uma fila de pixels de referência 730 utilizados para a intrapredição do bloco corrente 700. De acordo com esta modalidade, os pixels de referência na linha de pixels de referência 730 e próximos da borda 750 não são filtrados. O número n dos pixels a não serem filtrados pode ser definido com relação ao comprimento de filtro de passagem baixa aplicado de tal modo que os pixels utilizados para a filtragem não cruzem a borda.
[00092] De acordo com uma quarta modalidade da presente invenção, diferentes tipos de filtragem são aplicados para os n pixels ao redor da borda e para os outros pixels que pertencem a áreas planas. Esta modalidade está ilustrada na Figura 8. Neste caso, FILTER1 é um filtro de passagem baixa similar aos filtros de passagem baixa utilizados para filtrar os pixels de referência na técnica anterior (padrão H.264/MPEG-4 AVC ou HEVC working draft JCTVC-B205_draft007). FILTER2 é vantajosamente um filtro de uniformização na direção da borda somente. FILTER2 é de preferência não uniforme na direção perpendicular à borda. O efeito do FILTER2 é definir a borda.
[00093] De acordo com uma quinta modalidade da presente invenção, um decodificador aplica as mesmas técnicas como descritas na primeira modalidade. A única diferença na Figura 3 é que o modo de predição direcional selecionado é transmitido como uma entrada para a unidade de predição direcional.
[00094] Geralmente, um decodificador pode aplicar as mesmas técnicas de intrapredição como descritas nas modalidades um até quatro.
[00095] Daqui em diante, as aplicações do método de codificação de vídeo e do método de decodificação de vídeo descritos em cada uma das modalidades e de sistemas que os utilizam serão descritas.
[00096] A Figura 9 ilustra uma configuração geral de um sistema de provisão de conteúdo ex100 para implementar os serviços de distribuição de conteúdo. A área para prover os serviços de comunicação está dividida em células de tamanho desejado, e as estações de base ex106, ex107, ex108, ex109, e ex110 as quais são estações sem fio fixas estão colocadas dentro de cada uma das células.
[00097] O sistema de provisão de conteúdo ex100 está conectado a dispositivos, tal como um computador ex111, um assistente digital pessoal (PDA) ex112, uma câmera ex113, um telefone celular ex114 e uma máquina de jogos ex115, através da Internet ex101, e um provedor de serviço de Internet ex102, uma rede telefônica ex104, assim como as estações de base ex106 até ex110, respectivamente.
[00098] No entanto, a configuração do sistema de provisão de conteúdo ex100 não está limitada à configuração mostrada na Figura 9, e uma combinação na qual qualquer um dos elementos está conectado aceitável. Além disso, cada dispositivo pode estar diretamente conectado na rede telefônica ex104, ao invés de através das estações de base ex106 a ex110 as quais são as estações sem fio fixas. Mais ainda, os dispositivos podem ser interconectados uns nos outros através de uma conexão sem fio de curta distância e outros.
[00099] A câmera ex 113, tal como uma câmera de vídeo digital é capaz de capturar um vídeo. Uma câmera ex116, tal como uma câmera de vídeo digital, é capaz de capturar tanto imagens estáticas quanto vídeo. Mais ainda, o telefone celular ex114 pode ser um que atenda qualquer um dos padrões tal como Comunicações Móveis Para Sistema Global (GSM), Acesso de Múltiplo de Divisão de Código (CDMA), Acesso de Múltiplo de Divisão de Código de Banda Larga (W-CDMA), Evolução de Longo Prazo (LTE), e Acesso de Pacote de Alta Velocidade (HSPA). Alternativamente, o telefone celular ex114 pode ser um Personal Handyphone System (PHS).
[000100] No sistema de provisão de conteúdo ex100, um servidor de fluxo contínuo ex103 está conectado na câmera ex113 e outros através da rede telefônica ex104 e da estação de base ex109, o que permite a distribuição de imagens de um show ao vivo e outras. Em tal distribuição, um conteúdo (por exemplo, um vídeo de um show de música ao vivo) capturado pelo usuário que utiliza a câmera ex 113 é codificado como acima descrito em cada uma das modalidades, e o conteúdo codificado é transmitido para o servidor de fluxo contínuo ex103. Por outro lado, o servidor de fluxo contínuo ex103 executa uma distribuição de fluxo dos dados de conteúdo transmitidos para os clientes quando de sua solicitação. Os clientes incluem o computador ex111, o PDA ex112, a câmera ex113, o telefone celular ex114 e a máquina de jogos ex115 que são capazes de decodificar os dados codificados acima mencionados. Cada um dos dispositivos que recebeu os dados distribuídos decodifica e reproduz os dados codificados.
[000101] Os dados capturados podem ser codificados pela câmera ex113 ou o servidor de fluxo contínuo ex103 que transmite os dados, ou os processos de codificação podem ser compartilhados entre a câmera ex113 e o servidor de fluxo contínuo ex103. Similarmente, os dados distribuídos podem ser decodificados pelos clientes ou o servidor de fluxo contínuo ex103, ou os processo de decodificação podem ser compartilhados entre os clientes e o servidor de fluxo contínuo ex103. Mais ainda, os dados das imagens estáticas e do vídeo capturados não somente pela câmera ex113 mas também pela câmera ex116 podem ser transmitidos para o servidor de fluxo contínuo ex103 através do computador ex111. Os processo de codificação podem ser executados pela câmera ex116, o computador ex111 ou o servidor de fluxo contínuo ex103, ou compartilhados entre estes.
[000102] Mais ainda, os processos de codificação e de decodificação podem ser executados por um LSI ex500 geralmente incluído em cada um do computador ex111 e dos dispositivos. O LSI ex500 pode ser configurado de um único chip ou uma pluralidade de chips. Um software para codificar e decodificar o vídeo pode estar integrado em algum tipo de um meio de gravação (tal como um CD-ROM, um disco flexível, e um disco rígido) que é legível pelo computador ex111 e outros, e os processos de codificação e decodificação podem ser executados utilizando o software. Mais ainda, quando o telefone celular ex114 está equipado uma câmera, os dados de imagem obtidos pela câmera podem ser transmitidos. Os dados de vídeo são dados codificados pelo LSI ex500 incluído no telefone celular ex114.
[000103] Mais ainda, o servidor de fluxo contínuo ex103 pode ser composto de servidores e computadores, e pode descentralizar os dados e processar os dados descentralizados, gravar, ou distribuir os dados.
[000104] Como acima descrito, os clientes podem receber e reproduzir os dados codificados no sistema de provisão de conteúdo ex100. Em outras palavras, os clientes podem receber e decodificar as informações transmitidas pelo usuário, e reproduzir os dados decodificados em tempo real no sistema de provisão de conteúdo ex100, de modo que o usuário que não tem nenhum direito e equipamento específicos possa implementar uma transmissão pessoal.
[000105] Além do exemplo do sistema de provisão de conteúdo ex100, pelo menos um do aparelho de codificação de vídeo e do aparelho de decodificação de vídeo descrito em cada uma das modalidades pode ser implementado em um sistema de transmissão digital ex200 ilustrado na Figura 10. Mais especificamente, uma estação de transmissão ex201, comunica ou transmite, através de ondas de rádio para um satélite de transmissão ex202, dados multiplexados obtidos pela multiplexação de dados de áudio e outros por sobre dados de vídeo. Os dados de vídeo são dados codificados pelo método de codificação de vídeo descrito em cada uma das modalidades. Quando do recebimento dos dados multiplexados, o satélite de transmissão ex202 transmite ondas de rádio para transmissão. Então uma antena de uso doméstico ex204 com uma função de recepção de transmissão de satélite recebe as ondas de rádio.
[000106] A seguir, um dispositivo tal como uma televisão (receptor) ex300 e um conversor de frequência (STB) ex217 decodificam os dados multiplexados recebidos, e reproduzem os dados decodificados.
[000107] Mais ainda, um leitor / gravador ex218 (i) lê e decodifica os dados multiplexados gravados em um meio de gravação ex215, tal como um DVD e um BD, ou (ii) codifica os sinais de vídeo no meio de gravação ex215, e em alguns casos, escreve os dados obtidos pela multiplexação de um sinal de áudio sobre os dados codificados. O leitor /gravador ex218 pode incluir o aparelho de decodificação de vídeo ou o aparelho codificação de vídeo como mostrado em cada uma das modalidades. Neste caso, os sinais de vídeo reproduzidos são exibidos no monitor ex219, e podem ser reproduzidos por um outro dispositivo ou sistema utilizando o meio de gravação ex215 sobre o qual os dados multiplexados estão gravados. É também possível implementar o aparelho de decodificação de vídeo no conversor de frequência ex217 conectado no cabo ex203 para uma televisão a cabo ou na antena ex204 para transmissão de satélite e/ou terrestre, de modo a exibir os sinais de vídeo no monitor ex219 ou na televisão ex300. O aparelho de decodificação de vídeo pode ser implementado não no conversor de frequência mas na televisão ex300.
[000108] A Figura 11 ilustra a televisão (receptor) ex300 que utiliza o método de codificação de vídeo e o método de decodificação de vídeo descritos em cada uma das modalidades. A televisão ex300 inclui: um sintonizador ex301 que obtém ou provê os dados multiplexados obtidos pela multiplexação de dados de áudio por sobre os dados de vídeo, através da antena ex204, ou do cabo ex203, etc. que recebe uma transmissão; uma unidade de modulação / demodulação ex302 que demodula os dados multiplexados recebidos ou modula os dados em dados multiplexados a serem supridos para fora; e uma unidade de multiplexação / demultiplexação ex303 que demultiplexa os dados mul- tiplexados modulados em dados de vídeo e dados de áudio, ou multi- plexa os dados de vídeo e os dados de áudio codificados por uma unidade de processamento de sinal ex306 em dados.
[000109] A televisão ex300 ainda inclui: uma unidade de processamento de sinal ex306 que inclui uma unidade de processamento de sinal de áudio ex304 e uma unidade de processamento de sinal de vídeo ex305 que decodificam os dados de áudio e os dados de vídeo e codificam os dados de áudio e os dados de vídeo, respectivamente; e uma unidade de saída ex309 que inclui um alto-falante ex307 que provê o sinal de áudio decodificado, e uma unidade de display ex308 que exibe o sinal de vídeo decodificado, tal como um display. Mais ainda, a televisão ex300 inclui uma unidade de interface ex317 que inclui uma unidade de entrada de operação ex312 que recebe uma entrada de uma operação de usuário. Mais ainda, a televisão ex300 inclui uma unidade de controle ex310 que controla em geral cada elemento constituinte da televisão ex300, e uma unidade de circuito de fonte de alimentação ex311 que supre energia para cada um dos elementos. Além da unidade de entrada de operação ex312, a unidade de interface ex310 pode incluir: uma ponte ex313 que está conectada a um dispositivo externo, tal como o leitor / gravador ex218; uma unidade de conector ex314 para permitir a fixação do meio de gravação ex216, tal como um cartão SD; um driver ex315 para ser conectado no meio de gravação externo, tal como um disco rígido; e um modem ex316 para ser conectado a uma rede telefônica. Aqui, o meio de gravação ex216 pode gravar eletricamente as informações utilizando um elemento de memória de semicondutor não volátil / volátil para armazenamento. Os elementos constituintes da televisão ex300 estão conectados uns nos outros através de um barramento síncrono.
[000110] Primeiro, a configuração na qual a televisão ex300 e codifica os dados multiplexados obtidos de fora através da antena ex204 e outros e reproduz os dados decodificados será descrita. Na televisão ex 300, quando da operação de um usuário através de um controlador remoto ex220 e outros, a unidade de multiplexação / demultiplexação ex303 demultiplexa os dados multiplexados demodulados pela unidade de modulação / demodulação ex302, sob o controle da unidade de controle ex310 que inclui uma CPU. Mais ainda, a unidade de processamento de sinal de áudio ex304 decodifica os dados de áudio demul- tiplexados, e a unidade de processamento de sinal de vídeo ex305 decodifica os dados de vídeo demultiplexados, utilizando o método de decodificação descrito em cada uma das modalidades, na televisão ex300. A unidade de saída ex309 provê o sinal de vídeo e o sinal de áudio decodificados para fora, respectivamente, Quando a unidade de saída ex309 provê o sinal de vídeo e o sinal de áudio, os sinais podem ser temporariamente armazenados em armazenamentos temporários ex318 e ex319, e outros de modo que os sinais sejam reproduzidos em sincronização um com o outro. Mais ainda, a televisão ex300 pode ler os dados multiplexados não através de uma transmissão e outros mas dos meios de gravação ex215 e ex216, tal como um disco magnético, um disco ótico, e um cartão SD. A seguir, uma configuração na qual a televisão ex300 codifica um sinal de áudio e um sinal de vídeo, e transmite os dados para fora ou escreve os dados em um meio de gravação será descrita. Na televisão ex300, quando de uma operação de usuário através do controlador remoto ex220 e outros, a unidade de processamento de sinal de áudio ex304 codifica um sinal de áudio, e a unidade de processamento de sinal de vídeo ex303 codifica um sinal de vídeo, sob o controle da unidade de controle ex310 utilizando o mé- todo de codificação descrito em cada uma das modalidades. A unidade de multiplexação / demultiplexação ex303 multiplexa o sinal de vídeo e o sinal de áudio codificados, e provê o sinal resultante para fora. Quando a unidade de multiplexação / demultiplexação ex303 multiple- xa o sinal de vídeo e o sinal de áudio, os sinais podem ser temporariamente armazenados nos armazenamentos temporários ex320 e ex321, e outros de modo que os sinais sejam reproduzidos em sincronização um com o outro. Aqui os armazenamentos temporários ex318, ex319, ex320, e ex321 podem ser plurais como ilustrado, ou pelo menos um armazenamento temporário pode ser compartilhado dentro da televisão ex300. Mais ainda, os dados podem ser armazenados em um armazenamento temporário de modo que o estouro e esvaziamento de sistema possam ser evitados entre a unidade de modulação / demodulação ex302 e a unidade de multiplexação / demultiplexação ex303, por exemplo.
[000111] Mais ainda, a televisão ex300 pode incluir uma configuração para receber uma entrada de AV de um microfone ou uma câmara outra que a configuração para obter os dados de áudio e de vídeo de uma transmissão ou um meio de gravação, e pode codificar os dados obtidos. Apesar da televisão ex300 poder codificar, multiplexar, e prover dados para fora na descrição, esta pode ser capaz de somente receber, decodificar, e prover dados para fora mas não a codificação, multiplexação, e provisão de dados para fora.
[000112] Mais ainda, quando o leitor / gravador ex218 lê ou escreve os dados multiplexados de ou sobre um meio de gravação, um da televisão ex300 e do leitor / gravador ex218 pode compartilhar a codificação ou a decodificação.
[000113] Como um exemplo, a Figura 12 ilustra uma configuração de uma unidade de reprodução / gravação de informações ex400 quando os dados são lidos ou escritos de ou sobre um disco ótico. A unidade de reprodução / gravação de informações ex400 inclui os elementos constituintes ex401, ex402, ex403, ex404, ex405, ex406, e ex407 a serem daqui em diante descritos. O cabeçote ótico ex401 irradia um ponto de laser em uma superfície de gravação do meio de gravação ex215 que é um disco ótico para escrever as informações, e detecta a luz refletida da superfície de gravação do meio de gravação ex215 para ler as informações. A unidade de gravação de modulação ex402 aciona eletricamente um laser de semicondutor incluído no cabeçote ótico ex401, e modula a luz de laser de acordo com os dados gravados. A unidade de demodulação de reprodução ex403 amplifica um sinal de reprodução obtido detectando eletricamente a luz refletida da superfície de gravação utilizando um fotodetector incluído no cabeçote ótico ex401, e demodula o sinal de reprodução separando um componente de sinal gravado no meio de gravação ex215 para reproduzir as informações necessárias. O armazenamento temporário ex404 retém temporariamente as informações a serem gravadas sobre o meio de gravação ex215 e as informações reproduzidas pelo meio de gravação ex215. O motor de disco ex405 gira o meio de gravação ex215. A unidade de servocontrole ex406 move o cabeçote ótico ex401 para uma trilha de informações predeterminada enquanto controlando o acionamento de rotação do motor de disco ex405 de modo a acompanhar o ponto de laser. A unidade de controle de sistema ex407 controla em geral a unidade de reprodução / gravação de informações ex400. Os processos de leitura e de escrita podem ser implementados pela unidade de controle de sistema ex407 utilizando várias informações armazenadas no armazenamento temporário ex404 e gerando e adicionando novas informações conforme necessário, e pela unidade de gravação de modulação ex402, a unidade de demodulação de reprodução ex403, e a unidade de servocontrole ex406 que gravam e reproduzem as informações através do cabeçote ótico ex401 enquanto sendo operadas em um modo coordenado. A unidade de controle de sistema ex407 inclui, por exemplo, um microprocessador, e executa o processamento fazendo com que um computador execute um programa para ler e escrever.
[000114] Apesar do cabeçote ótico ex401 irradiar um ponto de laser na descrição, este pode executar uma gravação de alta densidade utilizando uma luz de campo próximo.
[000115] A Figura 13 ilustra o meio de gravação ex215 que é o disco ótico. Sobre a superfície de gravação do meio de gravação ex215, ranhuras de guia estão espiralmente formadas, e uma trilha de informações ex230 grava, com antecedência, as informações de endereço que indicam uma posição absoluta sobre o disco de acordo com a mudança em uma forma das ranhuras de guia. As informações de endereço incluem as informações para determinar as posições de blocos de gravação ex231 que são uma unidade para gravar dados. A reprodução da trilha de informações ex230 e a leitura das informações de endereço em um aparelho que grava e reproduz os dados podem levar à determinação das posições dos blocos de gravação. Mais ainda, o meio de gravação ex215 inclui uma área de gravação de dados ex233, uma área de circunferência interna ex232, e uma área de circunferên-cia externa ex 234. A área de gravação de dados ex233 é uma área para utilização na gravação dos dados de usuário. A área de circunferência interna ex232 e a área de circunferência externa ex234 que estão dentro e fora da área de gravação de dados ex233, respectivamente, são para utilização específica exceto para gravar os dados de usuário. A unidade de reprodução / gravação de informações ex400 lê e escreve áudio codificado, dados de vídeo codificado, ou dados multi- plexados obtidos pela multiplexação dos dados de áudio e de vídeo codificados, da e sobre a área de gravação de dados ex233 do meio de gravação ex215.
[000116] Apesar de um disco ótico que tem uma camada, tal como um DVD ou um BD ser descrito como um exemplo na descrição, o disco ótico não está limitado como tal, e pode ser um disco ótico que tem uma estrutura de múltiplas camadas e capaz de ser gravado sobre uma parte outra que a superfície. Mais ainda, o disco ótico pode ter uma estrutura para gravação / reprodução multidimensional, tal como a gravação de informações utilizando luz de cores com diferentes comprimentos de onda na mesma porção do disco ótico e para gravar as informações que têm diferentes camadas de vários ângulos.
[000117] Mais ainda, um carro ex210 que tem uma antena ex205 pode receber dados do satélite ex202 e outros, e reproduzir vídeo em um dispositivo de display tal como um sistema de navegação de varro ex211 colocado dentro do carro ex210, no sistema de transmissão digital ex200. Aqui, uma configuração do sistema de navegação de carro ex211 será uma configuração, por exemplo, que inclui uma unidade de recepção de GPS da configuração ilustrada na Figura 10. O mesmo será verdadeiro para a configuração do computador ex111, do telefone celular ex114, e outros.
[000118] A Figura 14(a) ilustra um telefone celular ex114 que utiliza o método de codificação de vídeo e o método de decodificação de vídeo descritos nas modalidades. O telefone celular ex114 inclui: uma antena ex350 para transmitir e receber as ondas de rádio através da estação de base ex110; uma unidade de câmera ex365 capaz de capturar imagens estáticas e móveis; e uma unidade de display ex358 tal como um display de cristal líquido para exibir os dados tal como um vídeo decodificado capturado pela unidade de câmera ex365 ou recebido pela antena ex350. O telefone celular ex114 ainda inclui: uma unidade de corpo principal que inclui uma unidade de teclas de operação ex366; uma unidade de saída de áudio ex357 tal como um alto-falante para a saída de áudio; uma unidade de entrada de áudio ex356 tal como um microfone para a entrada de áudio; uma unidade de memória ex367 para armazenar um vídeo ou imagens estáticas capturados, áudio gravado, dados codificados ou decodificados do vídeo recebido, imagens estáticas, e-mails, ou outros; e uma unidade de conector ex364 que é uma unidade de interface para um meio de gravação que armazena os dados no mesmo modo que a unidade de memória ex367.
[000119] A seguir, um exemplo de uma configuração do telefone celular ex114 será descrita com referência à Figura 14(b). No telefone celular ex114, uma unidade de controle principal ex360 projetada para controlar em geral cada unidade do corpo principal que inclui a unidade de display ex358 assim como a unidade de teclas de operação ex366 está conectada mutuamente, através de um barramento síncrono ex370, a uma unidade de circuito de fonte de alimentação ex361, uma unidade de controle de entrada de operação ex362, uma unidade de processamento de sinal de vídeo ex355, uma unidade de interface de câmera ex363, uma unidade de controle de display de cristal líquido (LCD) ex359, uma unidade de modulação / demodulação ex352, uma unidade de multiplexação / demultiplexação ex353, uma unidade de processamento de sinal de áudio ex354, a unidade de conector ex364, e a unidade de memória ex367.
[000120] Quando uma tecla de final de chamada ou uma tecla de energia é LIGADA pela operação de um usuário, a unidade de circuito de fonte de alimentação ex361 supre as respectivas unidades com energia de um pacote de baterias de modo a ativar o telefone celular ex114.
[000121] No telefone celular ex114, a unidade de processamento de sinal de áudio ex354 converte os sinais de áudio coletados pela unidade de entrada de áudio ex356 em modo de conversação de voz em sinais de áudio digital sob o controle da unidade de controle principal ex360 incluindo uma CPU, ROM, e RAM. Então, a unidade de modulação / demodulação ex352 executa um processamento de espectro expandido sobre os sinais de áudio digital, e a unidade de transmissão / recepção ex351 executa uma conversão digital para analógica e uma conversão de frequência sobre os dados, de modo a transmitir os dados resultantes através da antena ex350.
[000122] Também, no telefone celular ex114, a unidade de transmissão / recepção ex351 amplifica os dados recebidos pela antena ex350 em modo de conversação de voz e executa uma conversão de frequência e a conversão analógica para digital sobre os dados. Então, a unidade de modulação / demodulação ex352 executa um processamento de espectro expandido inverso sobre os dados, e a unidade de processamento de sinal de áudio ex354 converte-os em sinais de áudio analógicos, de modo a emiti-los através da unidade de saída de áudio ex356.
[000123] Mais ainda, quando um e-mail no modo de comunicação de dados é transmitido, os dados de texto do e-mail inserido operando a unidade de teclas de operação ex366 e outros do corpo principal são enviados para a unidade de controle principal ex360 através da unidade de controle de entrada de operação ex362. A unidade de controle principal ex360 faz com que a unidade de modulação / demodulação ex352 execute um processamento de espectro expandido sobre os dados de texto, e a unidade de transmissão / recepção ex351 executa a conversão digital para analógica e a conversão de frequência sobre os dados resultantes para transmitir os dados para a estação de base ex110 através da antena ex350. Quando um e-mail é recebido, um processamento que é aproximadamente inverso ao processamento para transmitir um e-mail é executado sobre os dados recebidos, e os dados resultantes são providos para a unidade de display ex358.
[000124] Quando um vídeo, imagens estáticas, ou vídeo e áudio no modo de comunicação de dados é ou são transmitidos, a unidade de processamento de sinal de vídeo ex355 comprime e codifica os sinais de vídeo supridos da unidade de câmera ex365 utilizando o método de codificação de vídeo mostrado em cada uma das modalidades, e transmite os dados de vídeo codificados para a unidade de multiplexa- ção / demultiplexação ex353. Em contraste, durante quando a unidade de câmera ex365 captura um vídeo, imagens estáticas, e outros, a unidade de processamento de sinal de áudio ex354 codifica os sinais de áudio coletados pela unidade de entrada de áudio ex356, e transmite os dados de áudio codificados para a unidade de multiplexação / demultiplexação ex353.
[000125] A unidade de multiplexação / demultiplexação ex353 multi- plexa os dados de vídeo codificados da unidade de processamento de sinal de vídeo ex355 e os dados de áudio codificados supridos da unidade de processamento de sinal de áudio ex354, utilizando um método predeterminado.
[000126] Então, a unidade de modulação / demodulação ex352 executa um processamento de espectro expandido sobre os dados multi- plexados, e a unidade de transmissão / recepção ex351 executa uma conversão digital para analógica e uma conversão de frequência sobre os dados de modo a transmitir os dados resultantes através da antena ex350.
[000127] Quando recebendo dados de um arquivo de vídeo o qual está ligado a uma página da Web e outros no modo de comunicação de dados ou quando recebendo um e-mail com vídeo e/ou áudio anexados, de modo a decodificar os dados multiplexados recebidos através da antena ex350, a unidade de multiplexação / demultiplexação ex353 demultiplexa os dados multiplexados em um fluxo de bits de dados de vídeo e um fluxo de bits de dados de áudio e supre a unidade de processamento de sinal de vídeo ex355 com os dados de vídeo codificados e a unidade de processamento de sinal de áudio ex354 com os dados de áudio codificados, através do barramento síncrono ex370. A unidade de processamento de sinal de vídeo ex355 decodifica o sinal de vídeo utilizando um método de decodificação de vídeo que corresponde ao método de codificação mostrado em cada uma das modalidades, e então a unidade de display ex358 exibe, por exemplo, o vídeo e as imagens estáticas incluídas no arquivo de vídeo ligado na página da Web através da unidade de controle de LCD ex359. Mais ainda, a unidade de processamento de sinal de áudio ex354 decodifica o sinal de áudio, e a unidade de saída de áudio ex357 provê o áudio.
[000128] Mais ainda, similarmente à televisão ex300, um terminal tal como um telefone celular ex114 provavelmente tem 3 tipos de configurações de implementação que incluem não somente (i) um terminal de transmissão e recepção que inclui tanto um aparelho de codificação quanto um aparelho de decodificação, mas também (ii) um terminal de transmissão que inclui somente um aparelho de codificação e (iii) um terminal de recepção que inclui somente um aparelho de decodifica- ção. Apesar do sistema de transmissão digital ex200 receber e transmitir os dados multiplexados obtidos pela multiplexação de dados de áudio por sobre os dados de vídeo na descrição, os dados multiplexa- dos podem ser dados obtidos pela multiplexação não dos dados de áudio mas de dados de caracteres relativos a dados de vídeo por so-bre vídeo, e podem não ser dados multiplexados mas os próprios dados de vídeo.
[000129] Como tal, o método de codificação de vídeo e o método de decodificação de vídeo em cada uma das modalidades podem ser utilizados em qualquer um dos dispositivos e sistemas descritos. Assim, as vantagens descritas em cada uma das modalidades podem ser obtidas.
[000130] Mais ainda, a presente invenção não está limitada às modalidades, e várias modificações e revisões são possíveis sem afastar do escopo da presente invenção.
[000131] Os dados de vídeo podem ser gerados comutando, conforme necessário, entre (i) o método de codificação de vídeo ou o aparelho de codificação de vídeo mostrados em cada uma das modalidades e (ii) um método de codificação de vídeo ou um aparelho de codificação de vídeo em conformidade com um padrão diferente, tal como MPEG-2, MPEG4-AVC, e VC-1.
[000132] Aqui, quando uma pluralidade de dados de vídeo que estão em conformidade dom os diferentes padrões é gerada e é então decodificada, os métodos de decodificação precisam ser selecionados para conformarem com os diferentes padrões. No entanto, como a qual padrão cada um da pluralidade de dados de vídeo a ser decodificado conforma não pode ser detectado, existe um problema que um método de decodificação apropriado não pode ser selecionado.
[000133] Para resolver o problema, os dados multiplexados obtidos pela multiplexação de dados de áudio e outros por sobre os dados de vídeo têm uma estrutura que inclui informações de identificação que indicam a qual padrão os dados de vídeo conformam. A estrutura específica dos dados multiplexados que incluem os dados de vídeo gerados no método de codificação de vídeo e pelo aparelho de codificação de vídeo mostrados em cada uma das modalidades será daqui em diante descrita. Os dados multiplexados são um fluxo digital no formato de Fluxo de Transporte MPEG2.
[000134] A Figura 15 ilustra uma estrutura dos dados multiplexados. Como ilustrado na Figura 15, os dados multiplexados podem ser obtidos multiplexando pelo menos um de um fluxo de vídeo, um fluxo de áudio, um fluxo de gráfico de apresentação (PG), e um fluxo de gráfico interativo. O fluxo de vídeo representa um vídeo primário e um vídeo secundário de um filme um fluxo de áudio (IG) representa uma parte de áudio primária e uma parte de áudio secundária a ser misturada com a parte de áudio primária, e o fluxo de gráfico de apresentação representa as legendas do filme. Aqui, o vídeo primário é um vídeo normal a ser exibido em uma tela, e o vídeo secundário é um vídeo a ser exibido em uma janela menor no vídeo primário. Mais ainda, o fluxo de gráfico interativo representa uma tela interativa a ser gerada dispondo os componentes de GUI sobre uma tela. O fluxo de vídeo é codificado no método de codificação de vídeo ou pelo aparelho de codificação de vídeo mostrados em cada uma das modalidades, ou em um método de codificação de vídeo ou por um aparelho de codificação de vídeo em conformidade com um padrão convencional, tal como MPEG-2, MPEG4-AVC, e VC-1. O fluxo de áudio é codificado de acordo com um padrão, tal como Dolby-AC-3, Dolby Digital Plus, MLP, DTS, DTS-HD, e PCM linear.
[000135] Cada fluxo incluído nos dados multiplexados é identificado por um PID. Por exemplo, 0x1011 é alocado para o fluxo de vídeo a ser utilizado para o vídeo de um filme, 0x1100 a 0x111F são alocados para os fluxos de áudio, 0x1200 a 0x121F são alocados para os fluxos de gráfico de apresentação, 0x1400 a 0x141F são alocados para os fluxos de gráfico interativo, 0x1B00 a 0x1B1F são alocados para os fluxos de vídeo a serem utilizados para o vídeo secundário do filme, e 0x1A00 a 0x1A1F são alocados para os fluxos de áudio a serem utilizados para o vídeo secundário a serem misturados com o áudio primário.
[000136] A Figura 16 ilustra esquematicamente como os dados são multiplexados. Primeiro, um fluxo de vídeo ex235 composto de quadros de vídeo e um fluxo de áudio ex238 composto de quadros de áudio são transformados em um fluxo de pacotes de PES ex236 e um fluxo de pacotes de PES ex239, e ainda em pacotes de TS ex237 e pacotes de TS ex240, respectivamente. Similarmente, os dados de um fluxo de gráfico de apresentação ex241 e os dados de um fluxo de gráfico interativo ex244 são transformados em um fluxo de pacotes de PES ex242 e um fluxo de pacotes de PES ex245, e ainda em pacotes de TS ex243 e pacotes de TS ex246, respectivamente. Estes pacotes de TS são multiplexados em um fluxo para obter os dados multiplexa- dos ex247.
[000137] A Figura 17 ilustra como um fluxo de vídeo é armazenado em um fluxo de pacotes de PES em mais detalhes. A primeira barra na Figura 17 mostra um fluxo de quadros de vídeo em um fluxo de vídeo. A segunda barra mostra o fluxo de pacotes de PES. Como indicado por setas denotadas como yy1, yy2, yy3, e yy4 na Figura 17, o fluxo de vídeo está dividido em imagens como imagens I, imagens B, e imagens P cada uma das quais é uma unidade de apresentação de vídeo, e as imagens são armazenadas em uma carga de cada um dos pacotes de PES. Cada um dos pacotes de PES tem um cabeçalho de PES, e o cabeçalho de PES armazena uma Estampa de Tempo de Apresentação (PTS) que indica um tempo de exibição da imagem, e uma Estampa de Tempo de Decodificação (DTS) que indica um tempo de de- codificação da imagem.
[000138] A Figura 18 ilustra um formato de pacotes de TS para serem finalmente escritos sobre os dados multiplexados. Cada um dos pacotes de TS é um pacote de comprimento fixo de 188 bytes que inclui um cabeçalho de TS de 4 bytes que tem informações, tal como um PID para identificar um fluxo e uma carga de TS de 184 bytes para armazenar dados. Os pacotes de PES são divididos, e armazenados nas cargas de TS, respectivamente. Quando um BD ROM é utilizado, a cada um dos pacotes de TS é dado um TP_Extra_Header de 4 bytes, assim resultando em pacotes de fonte de 192 bytes. Os pacotes de fonte são escritos sobre os dados multiplexados. O TP_Extra_Header armazena informações tais como Arri- val_Time_Stamp (ATS). A ATS mostra um tempo de início de transferência no qual cada um dos pacotes de TS deve ser transferido para um filtro de PID. Os pacotes de fonte são dispostos nos dados multi- plexados como mostrado no fundo da Figura 18. Os números que incrementam do cabeçalho dos dados multiplexados são denominados números de pacote de fonte (SPNs).
[000139] Cada um dos pacotes de PS incluídos nos dados multiple- xados inclui não somente fluxos de áudio, vídeo, legendas e outros, mas também uma Tabela de Associação de Programa (PAT), uma Tabela de Mapa de Programa (PMT), e uma Referência de Relógio de Programa (PCR). A PAT mostra o que um PID em uma PMT utilizado nos dados multiplexados indica, e um PID da própria PAT é registrado como zero. A PMT armazena os PIDs dos fluxos de vídeo, áudio, legendas e outros incluídos nos dados multiplexados, e as informações de atributo dos fluxos que correspondem aos PIDs. A PMT também tem vários descritores relativos aos dados multiplexados. Os descritores têm informações tais como as informações de controle de cópia que mostram se a cópia dos dados multiplexados é permitida ou não. A PCR armazena as informações de tempo de STC que correspondem a um ATS que mostra quando o pacote de PCR é transferido para um decodificador, de modo a obter uma sincronização entre um Relógio de Tempo de Chegada (ATC) que é um eixo geométrico de tempo de ATSs, e um Relógio de Tempo de Sistema (STC) que é um eixo geométrico de tempo de PTSs e DTSs.
[000140] A Figura 19 ilustra a estrutura de dados da PMT em detalhes. Um cabeçalho de PMT está disposto no topo da PMT. O cabeçalho de PMT descreve o comprimento de dados incluídos na PMT e outros. Uma pluralidade de descritores relativos aos dados multiplexados está disposta após o cabeçalho de PMT. Informações tais como as informações de controle de cópia estão descritas nos descritores. Após os descritores, uma pluralidade de porções de informações de fluxo relativas aos fluxos incluídos nos dados multiplexados está disposta. Cada porção de informações de fluxo inclui descritores de fluxo cada um descrevendo informações, tal como um tipo de fluxo para identificar um codec de compressão de um fluxo, um PID de fluxo, e informações de atributo de fluxo (tal como uma taxa de quadros ou uma razão de aspecto). Os descritores de fluxo são iguais em número ao número de fluxos nos dados multiplexados.
[000141] Quando os dados multiplexados são gravados em um meio de gravação e outros, estes são gravados juntamente com os arquivos de informações de dados multiplexados.
[000142] Cada um dos arquivos de informações de dados multiple- xados são informações de gerenciamento dos dados multiplexados como mostrado na Figura 20. Os arquivos de informações de dados multiplexados estão em uma correspondência de um para um com os dados multiplexados, e cada um dos arquivos inclui as informações de dados multiplexados, as informações de atributo de fluxo, e um mapa de entrada.
[000143] Como ilustrado na Figura 20, os dados multiplexados incluem uma taxa de sistema, um tempo de início de reprodução, e um tempo de final de reprodução. A taxa de sistema indica a taxa de transferência máxima na qual um decodificador alvo de sistema a ser posteriormente descrito transfere os dados multiplexados para um filtro de PID. Os intervalos das ATSs incluídas nos dados multiplexados são ajustados para não serem mais altos do que uma taxa de sistema. O tempo de início de reprodução indica uma PTS em quadro de vídeo no início dos dados multiplexados. Um intervalo de um quadro é adicionado a uma PTS em um quadro de vídeo e no final dos dados multi- plexados, e a PTS é ajustada para o tempo de final de reprodução.
[000144] Como mostrado na Figura 21, uma porção de informações de atributo é registrada nas informações de atributo de fluxo, para cada PID de cada fluxo incluído nos dados multiplexados. Cada porção de informações de atributo tem diferentes informações dependendo se o fluxo correspondente é um fluxo de vídeo, um fluxo de áudio, um fluxo de gráfico de apresentação, ou um fluxo de gráfico interativo. Cada porção de informações de atributo de fluxo de vídeo carrega informações que incluem qual tipo de codec de compressão é utilizado para comprimir o fluxo de vídeo, e a resolução, a razão de aspecto e a taxa de quadros das porções de dados de imagem que estão incluídas no fluxo de vídeo. Cada porção de informações de atributo de fluxo de áudio carrega informações que incluem qual tipo de codec de compressão é utilizado para comprimir o fluxo de áudio, quantos canais estão incluídos no fluxo de áudio, qual idioma o fluxo de áudio suporta, e quão alta é a frequência de amostragem. As informações de atributo de fluxo de vídeo e as informações de atributo de fluxo de áudio são utilizadas para a inicialização de um decodificador antes do reprodutor reproduzir as informações.
[000145] Os dados multiplexados a serem utilizados são de um tipo de fluxo incluído na PMT. Mais ainda, quando os dados multiplexados são gravados em um meio de gravação, as informações de atributo de fluxo de vídeo incluídas nas informações de dados multiplexados são utilizadas. Mais especificamente, o método de codificação de vídeo ou o aparelho de codificação de vídeo descritos em cada uma das modalidades incluem uma etapa ou uma unidade para alocar informações únicas que indicam os dados de vídeo gerados pelo método de codificação de vídeo ou o aparelho de codificações de vídeo em cada uma das modalidades, para o tipo de fluxo incluído na PMT ou nas informações de atributo de fluxo de vídeo. Com a configuração, os dados de vídeo gerados pelo método de codificação de vídeo ou o aparelho de codificação de vídeo descritos em cada uma das modalidades podem ser distinguidos de dados de vídeo que conformam com outro padrão.
[000146] Mais ainda, a Figura 22 ilustra as etapas do método de de- codificação de vídeo. Na Etapa exS100, o tipo de fluxo incluído na PMT ou as informações de atributo de fluxo de vídeo é obtido dos dados multiplexados. A seguir, na Etapa exS101, é determinado se o tipo de fluxo ou as informações de atributo de fluxo de vídeo indicam ou não que os dados multiplexados são gerados pelo método de codificação de vídeo ou o aparelho de codificação de vídeo em cada uma das modalidades. Quando é determinado que o tipo de fluxo ou as informações de atributo de fluxo de vídeo indicam que os dados multiple- xados são gerados pelo método de codificação de vídeo ou o aparelho de codificação de vídeo em cada uma das modalidades, na Etapa exS102, a decodificação é executada pelo método de decodificação de vídeo em cada uma das modalidades. Mais ainda, quando o tipo de fluxo ou as informações de atributo de fluxo de vídeo indicam conformidade com os padrões convencionais, tal como MPEG-2, MPEG4- AVC, e VC-1, na Etapa exS103, a decodificação é executada por um método de decodificação de vídeo em conformidade com os padrões convencionais.
[000147] Como tal, alocando um novo valor único para o tipo de fluxo ou as informações de atributo de fluxo de vídeo permite a determinação se o método de decodificação de vídeo ou o aparelho de decodifi- cação de vídeo que estão descritos em cada uma das modalidades, podem ou não executar a decodificação. Mesmo quando os dados multiplexados que conformam a um padrão diferente, um método ou aparelho de decodificação apropriado pode ser selecionado. Assim, torna-se possível decodificar as informações sem nenhum erro. Mais ainda, o método ou aparelho de codificação de vídeo, ou o método ou aparelho de decodificação de vídeo podem ser utilizados nos dispositi- vos e sistemas acima descritos.
[000148] Cada um do método de codificação de vídeo, do aparelho de codificação de vídeo, do método de decodificação de vídeo, e do aparelho de decodificação de vídeo em cada uma das modalidades é tipicamente conseguido na forma de um circuito integrado ou um circuito Integrado em Grande Escala (LSI). Como um exemplo do LSI, a Figura 23 ilustra uma configuração do LSI ex500 que é feito em um chip. O LSI ex500 inclui os elementos ex501, ex502, ex503, ex504, ex505, ex506, ex507, ex508, e ex509 a serem abaixo descritos, e os elementos estão conectados uns nos outros através de um barramento ex510. A unidade de circuito de fonte de alimentação ex505 é ativada suprindo cada um dos elementos com energia quando a unidade de circuito de fonte de alimentação ex505 é ligada.
[000149] Por exemplo, quando a codificação é executada, o LSI ex500 recebe um sinal de AV de um microfone ex117, uma câmera ex113, e outros através de um IO de AV ex509 sob o controle de uma unidade de controle ex501 que inclui uma CPU ex502, um controlador de memória ex503, um controlador de fluxo ex504, e uma unidade de controle de frequência de acionamento ex512. O sinal de AV recebido é temporariamente armazenado em uma memória externa ex511, tal como uma SDRAM. Sob o controle da unidade de controle ex501, os dados armazenados são segmentados em porções de dados de acordo com a quantidade de processamento e a velocidade a serem transmitidas para uma unidade de processamento de sinal ex507. Então, a unidade de processamento de sinal ex507 codifica um sinal de áudio e/ou um sinal de vídeo. Aqui, a codificação do sinal de vídeo é a codificação descrita em cada uma das modalidades. Mais ainda, a unidade de processamento de sinal ex507 algumas vezes multiplexa os dados de áudio codificados e os dados de vídeo codificados, e um IO de fluxo ex506 provê os dados multiplexados para fora. Os dados multiplexados providos são transmitidos para a estação de base ex107 ou escritos no meio de gravação ex215. Quando os conjuntos de dados são multiplexados, os dados devem ser temporariamente armazenados em um armazenamento temporário ex508 de modo que os conjuntos de dados sejam sincronizados uns com os outros.
[000150] Apesar da memória ex511 ser um elemento fora do LSI ex500, esta pode estar incluída no LSI ex500. O armazenamento temporário ex508 não está limitado a um armazenamento temporário, mas pode ser composto de armazenamentos temporários. Mais ainda, o LSI ex500 pode ser feito em um chip ou uma pluralidade de chips.
[000151] Mais ainda, apesar da unidade de controle ex510 incluir a CPU ex502, o controlador de memória ex503, o controlador de fluxo ex504, a unidade de controle de frequência de acionamento ex512, a configuração da unidade de controle ex510 não está limita a tal. Por exemplo, a unidade de processamento de sinal ex507 pode ainda incluir uma CPU. A inclusão de outra CPU na unidade de processamento de sinal ex507 pode aperfeiçoar a velocidade de processamento. Mais ainda, como outro exemplo, a CPU ex502 pode servir como ou ser uma parte da unidade de processamento de sinal ex507, e, por exemplo, pode incluir uma unidade de processamento de sinal de áudio. Em tal caso, a unidade de controle ex501 inclui a unidade de pro-cessamento de sinal ex507 ou a CPU ex502 incluindo uma parte da unidade de processamento de sinal ex507.
[000152] O nome aqui utilizado é LSI, mas este pode também ser denominado IC, LSI de sistema, super LSI, ou ultra LSI dependendo do grau de integração.
[000153] Mais ainda, os modos para obter a integração não estão limitados ao LSI, e um circuito especial ou um processador de uso geral e assim por diante podem também conseguir a integração. Uma Rede de Portas Programáveis no Campo (FPGA) que pode ser pro- gramada após a fabricação de LSIs ou um processador reconfigurável que permite uma reconfiguração da conexão ou configuração de um LSI pode ser utilizada para o mesmo propósito.
[000154] No futuro, com o avanço na tecnologia de semicondutor, uma tecnologia totalmente nova pode substituir o LSI. Os blocos funcionais podem ser integrados utilizando tal tecnologia. A possibilidade é que a presente invenção seja aplicada na biotecnologia.
[000155] Quando os dados de vídeo gerados no método de codificação de vídeo ou pelo aparelho de codificação de vídeo descritos em cada uma das modalidades são decodificados, comparado com quando os dados de vídeo em conformidade com um padrão convencional, tal como MPEG-2, MPEG4-AVC, e VC-1 são decodificados, a quantidade de processamento provavelmente aumenta. Assim, o LSI ex500 precisa ser ajustado para uma frequência de acionamento mais alta do que aquela da CPU ex502 a ser utilizada quando os dados de vídeo em conformidade com o padrão convencional são decodificados. No entanto, quando a frequência de acionamento é ajustada mais alta, existe um problema que o consumo de energia aumenta.
[000156] De modo a resolver o problema, o aparelho de decodifica- ção de vídeo, tal como a televisão ex300 e o LSI ex500 está configurado para determinar a qual padrão os dados de vídeo conformam, e comutar entre as frequências de acionamento de acordo com o padrão determinado. A Figura 24 ilustra uma configuração ex800. Uma unidade de comutação de frequência de acionamento ex803 ajusta uma frequência de acionamento para uma frequência de acionamento mais alta quando os dados de vídeo são gerados pelo método de codificação de vídeo ou o aparelho de codificação de vídeo descritos em cada uma das modalidades. Então a unidade de comutação de frequência de acionamento ex803 instrui uma unidade de processamento de de- codificação ex801 que executa o método de decodificação de vídeo descrito em cada uma das modalidades para decodificar os dados de vídeo. Quando os dados de vídeo conformam com o padrão convencional, a unidade de comutação de frequência de acionamento ex803 ajusta uma frequência de acionamento para uma frequência de acionamento mais baixa do que aquela dos dados de vídeo gerados pelo método de codificação de vídeo ou pelo aparelho de codificação de vídeo descritos em cada uma das modalidades. Então, a unidade de comutação de frequência de acionamento ex803 instrui a unidade de processamento de decodificação ex802 que conforma com o padrão convencional para decodificar os dados de vídeo.
[000157] Mais especificamente, a unidade de comutação de frequência de acionamento ex803 inclui a CPU ex502 e a unidade de controle de frequência de acionamento ex512 na Figura 23. Aqui, cada uma da unidade de processamento de decodificação ex801 que executa o método de decodificação de vídeo descrito em cada uma das modalidades e a unidade de processamento de decodificação ex802 que conforma com o padrão convencional corresponde à unidade de processamento de sinal ex507 na Figura 23. A CPU ex502 determina a qual padrão os dados de vídeo conformam. Então, a unidade de controle de frequência de acionamento ex512 determina uma frequência de acionamento com base em um sinal da CPU ex502. Mais ainda, a unidade de processamento de sinal ex507 decodifica os dados de vídeo com base no sinal da CPU ex502. Por exemplo, as informações de identificação descritas são provavelmente utilizadas para identificar os dados de vídeo. As informações de identificação não estão limitadas àquelas acima descritas mas podem ser quaisquer informações desde que as informações indiquem a qual padrão os dados de vídeo conformam. Por exemplo, quando a qual padrão os dados de vídeo conformam pode ser determinado com base em um sinal externo para determinar que os dados de vídeo são utilizados para uma televisão ou um disco, etc., a determinação pode ser feita com base em tal sinal externo. Mais ainda, a CPU ex502 seleciona uma frequência de acionamento com base em, por exemplo, uma tabela de consulta na qual os padrões dos dados de vídeo estão associados com as frequências de acionamento como mostrado na Figura 26. A frequência de acionamento pode ser selecionada armazenando a tabela de consulta no armazenamento temporário ex508 e em uma memória interna de um LSI, e com referência à tabela de consulta pela CPU ex502.
[000158] A Figura 25 ilustra as etapas para executar um método. Primeiro na Etapa exS200, a unidade de processamento de sinal ex507 obtém as informações de identificação dos dados multiplexa- dos. A seguir, na Etapa exS201, a CPU ex502 determina se os dados de vídeo são gerados ou não pelo método de codificação e o aparelho de codificação descritos em cada uma das modalidades, com base nas informações de identificação. Quando os dados de vídeo são gerados pelo método de codificação e pelo aparelho de codificação descritos em cada uma das modalidades, na Etapa exS202, a CPU ex502 transmite um sinal para ajustar a frequência de acionamento para uma frequência de acionamento mais alta para a unidade de controle de frequência de acionamento ex512. Então, a unidade de controle de frequência de acionamento ex512 ajusta a frequência de acionamento para a frequência de acionamento mais alta. Por outro lado, quando as informações de identificação indicam que os dados de vídeo conformam com o padrão convencional, tal como MPEG-2, MPEG4-AVC, e VC-1, na Etapa exS203, a CPU ex502 transmite um sinal para ajustar a frequência de acionamento para uma frequência de acionamento mais baixa para a unidade de controle de frequência de acionamento ex512. Então a unidade de controle de frequência de acionamento ex512 ajusta a frequência de acionamento para a frequência de acionamento mais baixa do que aquela no caso onde os dados de vídeo são gerados pelo método de codificação e pelo aparelho de codificação descritos em cada uma das modalidades.
[000159] Mais ainda, juntamente com a comutação das frequências de acionamento o efeito de conservação de energia pode ser aperfeiçoado mudando a voltagem a ser aplicada para o LSI ex500 ou um aparelho que inclui o LSI ex500. Por exemplo, quando a frequência de acionamento é ajustada mais baixa, a voltagem a ser aplicada no LSI ex500 ou no aparelho que inclui o LSI ex500 é provavelmente ajustada para uma voltagem mais baixa do que aquela no caso onde a frequência de acionamento é ajustada mais alta.
[000160] Mais ainda, quando a quantidade de processamento para decodificação é maior, a frequência de acionamento pode ser ajustada mais alta, e quando a quantidade de processamento para decodifica- ção é menor, a frequência de acionamento pode ser ajustada mais baixa como o método para ajustar a frequência de acionamento. Assim, o método de ajuste não está limitado àqueles acima descritos. Por exemplo, quando a quantidade de processamento para decodificar os dados de vídeo em conformidade com MPEG4-AVC é maior do que a quantidade de processamento para decodificar os dados de vídeo gerados método de codificação e pelo aparelho de codificação descritos em cada uma das modalidades, a frequência de acionamento é provavelmente ajustada em ordem inversa ao ajuste acima descrito.
[000161] Mais ainda, o método para ajustar a frequência de acionamento não está limitado ao método para ajustar a frequência de acionamento mais baixa. Por exemplo, quando as informações de identificação indicam que os dados de vídeo são gerados pelo método de codificação de vídeo e o aparelho de codificação de vídeo em cada uma das modalidades, a voltagem a ser aplicada no LSI ex500 ou no aparelho que inclui o LSI ex500 é provavelmente ajustada mais alta. Quando as informações de identificação indicam que os dados de ví- deo conformam com o padrão convencional, tal como MPEG-2, MPEG4-AVC, e VC-1, a voltagem a ser aplicada no LSI ex500 ou no aparelho que inclui o LSI ex500 é provavelmente ajustada mais baixa. Como outro exemplo, quando as informações de identificação indicam que os dados de vídeo são gerados pelo método de codificação de vídeo e o aparelho de codificação de vídeo em cada uma das modali- dades,o acionamento da CPU ex502 provavelmente não precisa ser suspenso. Quando as informações de identificação indicam que os dados de vídeo conformam com o padrão convencional, tal como MPEG-2, MPEG4-AVC, e VC-1, o acionamento de CPU ex502 é provavelmente suspenso em um dado tempo porque a CPU ex502 tem uma capacidade de processamento extra. Mesmo quando as informações de identificação indicam que os dados de vídeo são gerados pelo método de codificação de vídeo e o aparelho de codificação de vídeo descritos em cada uma das modalidades, no caso onde a CPU ex502 tem uma capacidade de processamento extra, o acionamento da CPU ex502 é provavelmente suspensa em um dado tempo. Em tal caso, o tempo de suspensão é provavelmente ajustada mais curto do que aquele no caso onde quando as informações de identificação indicam que os dados de vídeo conformam com o padrão convencional, tal como MPEG-2, MPEG4-AVC, e VC-1.
[000162] Consequentemente, o efeito de conservação de energia pode ser aperfeiçoado comutando entre as frequências de acionamento de acordo com o padrão ao qual os dados de vídeo conformam. Mais ainda, quando o LSI ex500 ou o aparelho que inclui o LSI ex500 é acionado utilizando uma bateria, a vida da bateria pode ser estendida com o efeito de conservação de energia.
[000163] Existem casos onde uma pluralidade de dados de vídeo que conformam com diferentes padrões, está provida para os dispositivos e sistemas, tal como uma televisão e um telefone móvel. De mo- do a permitir decodificar a pluralidade de dados de vídeo que conformam com os diferentes padrões, a unidade de processamento de sinal ex507 do LSI ex500 precisa conformar aos diferentes padrões. No entanto, os problemas de aumento na escala do circuito do LSI ex500 e o aumento no custo surgem com a utilização individual das unidades de processamento de sinal ex507 que conformam com os respectivos padrões.
[000164] De modo a resolver o problema, o que é concebido é uma configuração na qual a unidade de processamento de decodificação para implementar o método de decodificação de vídeo descrito em cada uma das modalidades e a unidade de processamento de decodifi- cação que conforme com o padrão convencional, tal como MPEG-2, MPEG4-AVC, e VC-1 são parcialmente compartilhados. Ex900 na Figura 27(a) mostra um exemplo da configuração. Por exemplo, o método de decodificação de vídeo descrito em cada uma das modalidades e o método de decodificação de vídeo que conforma com MPEG4- AVC têm, parcialmente em comum, os detalhes de processamento, tal como codificação de entropia, quantização inversa, filtragem de desbloqueio, e predição compensada em movimento. Os detalhes de processamento a serem compartilhados provavelmente incluem a utilização de uma unidade de processamento de decodificação ex902 que conforma com MPEG4-AVC. Em contraste, uma unidade de processamento de decodificação dedicada ex901 é provavelmente utilizada para outros processamentos únicos para a presente invenção. Como a presente invenção está caracterizada por uma predição espacial, por exemplo, a unidade de processamento de decodificação dedicada ex901 é utilizada para a predição espacial de acordo com a presente invenção. De outro modo, a unidade de processamento de decodifica- ção é provavelmente compartilhada para uma da codificação de entropia, quantização inversa, filtragem de desbloqueio, e predição com- pensada em movimento, ou todo o processamento. A unidade de pro-cessamento de decodificação para implementar o método de decodifi- cação de vídeo descrito em cada uma das modalidades pode ser compartilhada para o processamento a ser compartilhado, e uma unidade de processamento de decodificação dedicada pode ser utilizada para um processamento único àquele de MPEG4-AVC.
[000165] Mais ainda, ex1000 na Figura 27(b) mostra outro exemplo em que o processamento é parcialmente compartilhado. Este exemplo utiliza uma configuração que inclui uma unidade de processamento de decodificação dedicada ex1001 que suporta o processamento único para a presente invenção, uma unidade de processamento de decodi- ficação dedicada ex1002 que suporta o processamento único para outro padrão convencional, e uma unidade de processamento de decodi- ficação ex1003 que suporta um processamento a ser compartilhado entre o método de decodificação de vídeo na presente invenção e o método de decodificação de vídeo convencional. Aqui, as unidades de processamento de decodificação dedicadas ex1001 e ex1002 não são necessariamente especializadas para o processamento da presente invenção e o processamento do padrão convencional, respectivamente, e podem ser aquelas capazes de implementar um processamento geral. Mais ainda, a configuração pode ser implementada pelo LSI ex500.
[000166] Como tal, reduzir a escala do circuito de um LSI e reduzir o custo são possíveis compartilhando a unidade de processamento de decodificação para o processamento a ser compartilhado entre o método de decodificação de vídeo na presente invenção e o método de decodificação de vídeo em conformidade com o padrão convencional.
[000167] Resumindo, a presente invenção refere-se à intrapredição a qual pode ser executada durante a codificação e/ou decodificação de um sinal de imagem. Especificamente, a presente invenção refere-se à intrapredição de um bloco corrente, durante a qual uma filtragem é aplicada no sinal de predição e/ou no sinal utilizado para a predição. A filtragem é aplicada de acordo com uma decisão baseada em características de sinal de imagem incluídas em bloco(s) espacialmente adja- cente(s) ao bloco corrente.

Claims (3)

1. Método para decodificar, em uma base de bloco por bloco, dados de imagem codificados particionados em uma pluralidade de blocos, o método caracterizado pelo fato de que compreende as etapas de: detectar a localização e a direção de uma borda dominante dentro de cada dado de imagem de uma pluralidade de blocos decodificados anteriormente espacialmente adjacentes a um bloco atual, a borda que intercepta o bloco atual e a pluralidade dos blocos decodificados anteriormente sendo usados para intrapredição do bloco atual; decidir com base na borda dominante detectada se uma primeira filtragem ou uma segunda filtragem deve ser aplicada a pixels dos blocos anteriormente decodificados para ser usado como pixels de referência para intrapredição, dependendo da proximidade dos referidos pixels dos blocos decodificados anteriormente em relação à borda dominante detectada; e predizer o bloco corrente a partir dos dados de imagem dos blocos anteriormente decodificados pela intrapredição, onde na dita previsão do bloco atual, a intrapredição é realizada usando dados de imagem filtrada dos blocos decodificados anteriormente aos quais a primeira filtragem é aplicada como referência para a previsão, quando é decidido que a primeira filtragem deve ser aplicada, e em que, na dita previsão do bloco atual, a intrapredição é realizada usando dados de imagem filtrada dos blocos decodificados anteriormente aos quais a segunda filtragem é aplicada como referência para a previsão, quando é decidido na dita decisão que a primeira filtragem não deve ser aplicado, sendo a segunda filtragem de nitidez de borda aplicada a n pixels a ser usada como pixels de referência para a intrapredição do bloco atual em torno da interseção da borda com o bloco atual e a primeira filtragem sendo a filtragem passa-baixa aplicada ao restante dos pixels a serem usados como pixels de referência para a intrapredição do bloco atual.
2. Meio legível por computador caracterizado pelo fato de que tem incorporado no mesmo o método conforme definido na reivindicação 1.
3. Aparelho para decodificar, em uma base de bloco por bloco, dados de imagem particionados em uma pluralidade de blocos, o aparelho caracterizado pelo fato de que compreende uma unidade de controle, uma unidade de processamento, e uma memória, a unidade de processamento sendo configurada para: detectar a localização e a direção de uma borda dominante dentro de cada dado de imagem de uma pluralidade de blocos decodificados anteriormente espacialmente adjacentes a um bloco atual, a borda que intercepta o bloco atual e a pluralidade dos blocos decodificados anteriormente sendo usados para intrapredição do bloco atual; decidir com base na borda dominante detectada se uma primeira filtragem ou uma segunda filtragem deve ser aplicada a pixels dos blocos anteriormente decodificados para ser usado como pixels de referência para intrapredição, dependendo da proximidade dos referidos pixels dos blocos decodificados anteriormente em relação à borda dominante detectada; e predizer o bloco corrente a partir dos dados de imagem dos blocos anteriormente decodificados pela intrapredição, onde na dita previsão do bloco atual, a intrapredição é realizada usando dados de imagem filtrada dos blocos decodificados anteriormente aos quais a primeira filtragem é aplicada como referência para a previsão, quando é decidido que a primeira filtragem deve ser aplicada, e em que, na dita previsão do bloco atual, a intrapredição é realizada usando dados de imagem filtrada dos blocos decodificados anteriormente aos quais a segunda filtragem é aplicada como referência para a previsão, quando é decidido na dita decisão que a primeira filtragem não deve ser aplicado, sendo a segunda filtragem de nitidez de borda aplicada a n pixels a ser usada como pixels de referência para a intrapredição do bloco atual em torno da interseção da borda com o bloco atual e a primeira filtragem sendo a filtragem passa-baixa aplicada ao restante dos pixels a serem usados como pixels de referência para a intrapredição do bloco atual.
BR112012027438-4A 2010-04-26 2011-04-26 Método para decodificar, meio legível por computador e aparelho para decodificar BR112012027438B1 (pt)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US32792910P 2010-04-26 2010-04-26
US61327929 2010-04-26
US61/327,929 2010-04-26
PCT/EP2011/002089 WO2011134641A1 (en) 2010-04-26 2011-04-26 Filtering mode for intra prediction inferred from statistics of surrounding blocks

Publications (2)

Publication Number Publication Date
BR112012027438A2 BR112012027438A2 (pt) 2019-02-12
BR112012027438B1 true BR112012027438B1 (pt) 2022-02-22

Family

ID=44115563

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112012027438-4A BR112012027438B1 (pt) 2010-04-26 2011-04-26 Método para decodificar, meio legível por computador e aparelho para decodificar

Country Status (11)

Country Link
US (4) US9197893B2 (pt)
EP (2) EP2564593B1 (pt)
JP (2) JP5871906B2 (pt)
KR (1) KR101784031B1 (pt)
CN (2) CN108718413B (pt)
AU (1) AU2011247331B2 (pt)
BR (1) BR112012027438B1 (pt)
CA (1) CA2797313C (pt)
MX (1) MX2012012443A (pt)
SG (2) SG10201503012YA (pt)
WO (1) WO2011134641A1 (pt)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110113561A (ko) * 2010-04-09 2011-10-17 한국전자통신연구원 적응적인 필터를 이용한 인트라 예측 부호화/복호화 방법 및 그 장치
IL311020A (en) * 2010-07-02 2024-04-01 Dolby Int Ab After–selective bass filter
CA3188026A1 (en) * 2010-09-30 2012-04-05 Mitsubishi Electric Corporation Moving image encoding device, moving image decoding device, moving image coding method, and moving image decoding method
CN108848379A (zh) * 2010-12-07 2018-11-20 韩国电子通信研究院 视频编解码方法、生成比特流的方法和存储比特流的介质
US9930366B2 (en) 2011-01-28 2018-03-27 Qualcomm Incorporated Pixel level adaptive intra-smoothing
BR122020015659B1 (pt) 2011-03-09 2023-03-28 Nec Corporation Dispositivo de decodificação de vídeo e método de decodificação de vídeo
US9800870B2 (en) * 2011-09-16 2017-10-24 Qualcomm Incorporated Line buffer reduction for short distance intra-prediction
US10645398B2 (en) 2011-10-25 2020-05-05 Texas Instruments Incorporated Sample-based angular intra-prediction in video coding
US9282344B2 (en) 2011-11-04 2016-03-08 Qualcomm Incorporated Secondary boundary filtering for video coding
US9386305B2 (en) 2011-11-28 2016-07-05 Qualcomm Incorporated Largest coding unit (LCU) or partition-based syntax for adaptive loop filter and sample adaptive offset in video coding
CN103988508B (zh) * 2011-12-19 2018-10-12 索尼公司 图像处理设备和方法
SG10201608613QA (en) * 2013-01-29 2016-12-29 Fraunhofer Ges Forschung Decoder For Generating A Frequency Enhanced Audio Signal, Method Of Decoding, Encoder For Generating An Encoded Signal And Method Of Encoding Using Compact Selection Side Information
WO2014178563A1 (ko) 2013-04-29 2014-11-06 인텔렉추얼 디스커버리 주식회사 인트라 예측 방법 및 장치
KR102217225B1 (ko) * 2013-04-29 2021-02-18 인텔렉추얼디스커버리 주식회사 인트라 예측 방법 및 장치
US9451254B2 (en) * 2013-07-19 2016-09-20 Qualcomm Incorporated Disabling intra prediction filtering
JP6532542B2 (ja) * 2015-05-12 2019-06-19 サムスン エレクトロニクス カンパニー リミテッド イントラ予測を行う映像復号方法及びその装置並びにイントラ予測を行う映像符号化方法
JP6383327B2 (ja) * 2015-06-10 2018-08-29 日本電信電話株式会社 イントラ予測処理装置、イントラ予測処理方法、イントラ予測処理プログラム、画像符号化装置及び画像復号装置
WO2017142326A1 (ko) * 2016-02-16 2017-08-24 삼성전자 주식회사 비디오 부호화 방법 및 장치, 그 복호화 방법 및 장치
KR102631308B1 (ko) 2016-02-16 2024-01-30 삼성전자주식회사 영상을 부호화/복호화 하는 방법 및 그 장치
WO2017175898A1 (ko) * 2016-04-07 2017-10-12 엘지전자(주) 인트라 예측 필터링을 이용하여 비디오 신호를 인코딩, 디코딩하는 방법 및 장치
WO2018212430A1 (ko) * 2017-05-15 2018-11-22 엘지전자 주식회사 영상 코딩 시스템에서 주파수 도메인 필터링 방법 및 그 장치
EP3797514A4 (en) * 2018-06-13 2021-08-04 Huawei Technologies Co., Ltd. INTRASOLUTION AND / OR ENTRY FILTER FOR VIDEO ENCODING
CN112740670A (zh) 2018-06-25 2021-04-30 Oppo广东移动通信有限公司 帧内预测方法和装置
SG11202013015PA (en) * 2018-07-02 2021-01-28 Huawei Tech Co Ltd Apparatus and method for filtering in video coding
CN110166773B (zh) * 2019-06-25 2021-08-31 浙江大华技术股份有限公司 帧内预测方法、视频编码方法、视频处理装置、存储介质
US11159822B2 (en) * 2019-07-11 2021-10-26 Qualcomm Incorporated Intra-prediction according to virtual boundaries for video coding
US11375243B2 (en) * 2019-07-17 2022-06-28 Tencent America LLC Method and apparatus for video coding
US11438639B2 (en) * 2020-03-03 2022-09-06 Microsoft Technology Licensing, Llc Partial-video near-duplicate detection
KR102189259B1 (ko) * 2020-08-20 2020-12-09 인텔렉추얼디스커버리 주식회사 인트라 예측 방법 및 장치

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6281942B1 (en) * 1997-08-11 2001-08-28 Microsoft Corporation Spatial and temporal filtering mechanism for digital motion video signals
US6973221B1 (en) 1999-12-14 2005-12-06 Lsi Logic Corporation Method and apparatus for reducing block related artifacts in video
US6930982B2 (en) * 2000-12-12 2005-08-16 Cisco Technology, Inc. Devices, software and methods for measuring packet loss burstiness to determine quality of voice data transmission through a network
US7450641B2 (en) * 2001-09-14 2008-11-11 Sharp Laboratories Of America, Inc. Adaptive filtering based upon boundary strength
CN1738429A (zh) * 2001-09-12 2006-02-22 松下电器产业株式会社 图像解码方法
CA2448064C (en) * 2002-07-11 2012-08-07 Matsushita Electric Industrial Co., Ltd. Filtering strength determination method, moving picture coding method and moving picture decoding method
US20050100235A1 (en) * 2003-11-07 2005-05-12 Hao-Song Kong System and method for classifying and filtering pixels
EP1555832A3 (en) * 2004-01-14 2011-05-18 Samsung Electronics Co., Ltd. Adaptive loop filtering for reducing blocking artifacts
US7460596B2 (en) * 2004-04-29 2008-12-02 Mediatek Incorporation Adaptive de-blocking filtering apparatus and method for MPEG video decoder
NO322722B1 (no) * 2004-10-13 2006-12-04 Tandberg Telecom As Fremgangsmate for videokoding gjennom reduksjon av blokkartefakter
JP4317814B2 (ja) * 2004-12-06 2009-08-19 株式会社ルネサステクノロジ 動画像情報の符号化装置及び符号化方法
DE102005025629A1 (de) * 2005-06-03 2007-03-22 Micronas Gmbh Bildverarbeitungsverfahren zur Reduzierung von Blocking-Artefakten
KR100678958B1 (ko) * 2005-07-29 2007-02-06 삼성전자주식회사 인트라 bl 모드를 고려한 디블록 필터링 방법, 및 상기방법을 이용하는 다 계층 비디오 인코더/디코더
KR100727990B1 (ko) * 2005-10-01 2007-06-13 삼성전자주식회사 영상의 인트라 예측 부호화 방법 및 그 방법을 사용하는부호화 장치
KR100772873B1 (ko) * 2006-01-12 2007-11-02 삼성전자주식회사 스무딩 예측을 이용한 다계층 기반의 비디오 인코딩 방법,디코딩 방법, 비디오 인코더 및 비디오 디코더
JP5160451B2 (ja) * 2006-01-31 2013-03-13 トムソン ライセンシング エッジ・ベースの空間‐時間的フィルタリングの方法および装置
KR100745765B1 (ko) 2006-04-13 2007-08-02 삼성전자주식회사 화상 데이터의 공간상 예측 장치 및 방법과 그를 이용한부호화 장치 및 방법, 화상 데이터의 공간상 예측 보상장치 및 방법과 그를 이용한 복호화 장치 및 방법
JP2008072647A (ja) * 2006-09-15 2008-03-27 Toshiba Corp 情報処理装置、デコーダおよび再生装置の動作制御方法
JP4571955B2 (ja) * 2007-02-07 2010-10-27 日本電信電話株式会社 適応デブロッキング処理方法,装置および適応デブロッキング処理プログラム並びにコンピュータ読み取り可能な記録媒体
EP2003896A1 (en) 2007-06-12 2008-12-17 Panasonic Corporation Statistical image enhancement
EP2081386A1 (en) 2008-01-18 2009-07-22 Panasonic Corporation High precision edge prediction for intracoding
US8059909B2 (en) * 2008-04-29 2011-11-15 Sony Corporation Adaptive generation of irregular spatial sub-sampling for images
JP2010035137A (ja) 2008-07-01 2010-02-12 Sony Corp 画像処理装置および方法、並びにプログラム
WO2010029432A1 (en) * 2008-09-09 2010-03-18 Marvell World Trade, Ltd. Reducing digital image noise
JP2010068538A (ja) * 2009-11-18 2010-03-25 Sharp Corp 画像復号方法及び復号装置

Also Published As

Publication number Publication date
CN102948144B (zh) 2018-09-21
EP3288265B1 (en) 2019-01-23
JP2013527693A (ja) 2013-06-27
CA2797313C (en) 2018-05-15
US10116955B2 (en) 2018-10-30
BR112012027438A2 (pt) 2019-02-12
CN108718413B (zh) 2021-12-07
SG185050A1 (en) 2012-12-28
KR101784031B1 (ko) 2017-10-10
CN108718413A (zh) 2018-10-30
JP5871906B2 (ja) 2016-03-01
WO2011134641A1 (en) 2011-11-03
CA2797313A1 (en) 2011-11-03
CN102948144A (zh) 2013-02-27
EP2564593A1 (en) 2013-03-06
JP6064235B2 (ja) 2017-01-25
AU2011247331B2 (en) 2015-11-26
US20180234695A1 (en) 2018-08-16
US10477229B2 (en) 2019-11-12
US20190028728A1 (en) 2019-01-24
EP2564593B1 (en) 2018-01-03
US9197893B2 (en) 2015-11-24
EP3288265A1 (en) 2018-02-28
SG10201503012YA (en) 2015-06-29
US20130101032A1 (en) 2013-04-25
US20160021383A1 (en) 2016-01-21
MX2012012443A (es) 2012-11-21
US9973772B2 (en) 2018-05-15
KR20130051950A (ko) 2013-05-21
JP2016048966A (ja) 2016-04-07

Similar Documents

Publication Publication Date Title
JP7246008B2 (ja) 復号装置および符号化装置
JP6064235B2 (ja) 符号化方法、プログラムおよび符号化装置
JP6620995B2 (ja) 復号方法および復号装置
KR101780084B1 (ko) 공간 예측 방법, 화상 복호 방법, 및 화상 부호화 방법
JP6210249B2 (ja) 復号方法および復号装置
ES2807351T3 (es) Procedimiento de codificación de imágenes, procedimiento de descodificación de imágenes, dispositivo de codificación de imágenes, dispositivo de descodificación de imágenes y dispositivo de codificación/descodificación de imágenes
EP2774362B1 (en) Quantization parameter for blocks coded in the pcm mode
AU2011247331A1 (en) Filtering mode for intra prediction inferred from statistics of surrounding blocks
JP6004375B2 (ja) 画像符号化方法および画像復号化方法
WO2012117744A1 (en) Method of encoding an image into a coded image, method of decoding a coded image, and apparatuses thereof
JP2013526199A (ja) 予測誤差から導出されるブロック形状を用いた予測符号化
JPWO2011129090A1 (ja) 符号化歪み除去方法、符号化方法、復号化方法、符号化歪み除去装置、符号化装置、および復号化装置
WO2011129085A1 (ja) 空間予測方法、画像復号方法、および画像符号化方法
WO2012126627A1 (en) Classifications in cascaded filtering
BR112012026015B1 (pt) Método de previsão espacial, método de decodificação de imagem, e método de codificação de imagem

Legal Events

Date Code Title Description
B06F Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]
B25A Requested transfer of rights approved

Owner name: PANASONIC INTELLECTUAL PROPERTY CORPORATION OF AME

B25A Requested transfer of rights approved

Owner name: SUN PATENT TRUST (US)

B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]
B07A Application suspended after technical examination (opinion) [chapter 7.1 patent gazette]
B350 Update of information on the portal [chapter 15.35 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 26/04/2011, OBSERVADAS AS CONDICOES LEGAIS. PATENTE CONCEDIDA CONFORME ADI 5.529/DF, QUE DETERMINA A ALTERACAO DO PRAZO DE CONCESSAO.