BR122020018232B1 - Sistema de codificação e decodificação de vídeo - Google Patents

Sistema de codificação e decodificação de vídeo Download PDF

Info

Publication number
BR122020018232B1
BR122020018232B1 BR122020018232-6A BR122020018232A BR122020018232B1 BR 122020018232 B1 BR122020018232 B1 BR 122020018232B1 BR 122020018232 A BR122020018232 A BR 122020018232A BR 122020018232 B1 BR122020018232 B1 BR 122020018232B1
Authority
BR
Brazil
Prior art keywords
image
decoding
picture
video data
encoded
Prior art date
Application number
BR122020018232-6A
Other languages
English (en)
Inventor
Kimihiko Kazui
Junpei KOYAMA
Satoshi Shimada
Original Assignee
Fujitsu Limited
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 Fujitsu Limited filed Critical Fujitsu Limited
Publication of BR122020018232B1 publication Critical patent/BR122020018232B1/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
    • 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/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal 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/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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • 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/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23424Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving splicing one content stream with another content stream, e.g. for inserting or substituting an advertisement

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

A presente invenção refere-se a um aparelho de codificação de vídeo que anexa informação de correção de atraso de decodificação e de atraso de exibição a dados de vídeo codificados a fim de assegurar que, mesmo quando uma ou mais imagens que estejam mais tarde na ordem de codificação do que uma imagem codificada inicial em um fluxo de dados de vídeo a ser juntado a uma extremidade posterior de um outro fluxo de dados de vídeo codificados tenham sido descartadas dentre imagens contidas no fluxo de dados de vídeo, a imagem codificada inicial e suas imagens subsequentes podem ser decodificadas e exibidas continuamente por um aparelho de decodificação de vídeo. A informação de correção é calculada com base em um intervalo de decodificação entre cada imagem descartada e uma imagem que precede imediatamente a imagem descartada. O aparelho de decodificação de vídeo corrige o atraso de decodificação e o atraso de exibição da imagem codificada inicial e de suas imagens subsequentes ao usar a informação de correção calculada.

Description

Campo
[001] A presente invenção refere-se a um aparelho de codificação de vídeo e a um método de codificação vídeo que podem editar dados de vídeo codificados sem decodificar os dados de vídeo, e também refere-se a um aparelho de decodificação de vídeo e a um método de decodificação de vídeo para decodificar dados de vídeo codificados por meio de um aparelho de codificação de vídeo como este. Antecedentes
[002] De uma maneira geral, a quantidade de dados usados para representar dados de vídeo é muito grande. Desta maneira, um aparelho manuseando tais dados de vídeo compacta os dados de vídeo por meio de codificação antes de transmitir os dados de vídeo para um outro aparelho ou antes de armazenar os dados de vídeo em um dispositivo de armazenamento. Padrões de codificação tais como MPEG- 2 (Grupo de Especialistas de Imagens em Movimento Fase 2), MPEG- 4, e Codificação Avançada de Vídeo MPEG-4 H.264 (MPEG-4 AVC/H.264), planejados pela Organização de Normalização Internaci- onal/Comissão Internacional de Eletrotécnica (ISO/ IEC), são padrões de codificação de vídeo típicos amplamente usados atualmente.
[003] Tais padrões de codificação empregam intercodificação, um método de codificação que codifica uma imagem ao usar não somente informação da imagem propriamente dita, mas também informação de imagens antes e após a mesma, e intracodificação, um método de codificação que codifica uma imagem ao usar somente informação contida na imagem a ser codificada. O método de intercodificação usa três tipos de imagens, referidas como a imagem intracodificada (imagem I), a imagem predita progressiva (imagem P) que usualmente é predita a partir de uma imagem passada, e a imagem predita bidirecional (imagem B) que usualmente é predita a partir de imagens tanto passadas quanto futuras.
[004] De uma maneira geral, a quantidade de codificação de uma imagem ou de um bloco codificado por intercodificação é menor do que a quantidade de codificação de uma imagem ou de um bloco codificado por intracodificação. Deste modo, a quantidade de codificação varia de imagem para imagem dentro da mesma sequência de vídeo, dependendo do modo de codificação selecionado. De forma similar, a quantidade de codificação varia de bloco para bloco dentro da mesma imagem, dependendo do modo de codificação selecionado. Portanto, a fim de capacitar um fluxo de dados contendo vídeo codificado para ser transmitido em uma taxa de transmissão constante mesmo se a quantidade de codificação variar temporalmente, um armazenamento temporário de transmissão para armazenamento temporário do fluxo de dados é fornecido na extremidade de transmissão, e um armazenamento temporário de recebimento para armazenamento temporário do fluxo de dados é fornecido na extremidade de recebimento.
[005] Cada em de MPEG-2 e MPEG-4 AVC/H.264 define o comportamento de um armazenamento temporário de recebimento em um aparelho de decodificação de vídeo idealizado chamado de verificador de armazenamento temporário de vídeo (VBV) ou de armazenamento temporário de imagem codificada (CPB), respectivamente. Por conve-niência, o aparelho de decodificação de vídeo idealizado será referido em seguida simplesmente como o decodificador idealizado. É especificado que o decodificador idealizado executa decodificação instantânea que gasta tempo zero para decodificação. Por exemplo, a Publicação de Patente Japonesa Aberta À Inspeção Pública No. 2003-179938 revela um método de controle de codificador de vídeo se relacionando com o VBV.
[006] A fim de não causar no armazenamento temporário de recebimento no decodificador idealizado sobrecarga ou excesso de capacidade negativa, o codificador de vídeo controla a quantidade de codificação para garantir que todos os dados necessários para decodificar uma dada imagem estão disponíveis no armazenamento temporário de recebimento quando o decodificador idealizado decodifica essa dada imagem.
[007] Quando o codificador de vídeo está transmitindo um fluxo de dados de vídeo codificados em uma taxa de transmissão constante, o armazenamento temporário de recebimento pode ter excesso de capacidade negativa se a transmissão dos dados necessários para decodificar a imagem não tiver sido completada no tempo em que a imagem é para ser decodificada e exibida pelo decodificador de vídeo. Isto é, o excesso de capacidade negativa de armazenamento temporário de recebimento se refere a uma situação na qual os dados necessários para decodificar a imagem não estão disponíveis no armazenamento temporário de recebimento do decodificador de vídeo. Se isto acontecer, o decodificador de vídeo é incapaz de executar decodifica- ção, e salto de quadro ocorre.
[008] Por causa disto o decodificador de vídeo exibe a imagem após atrasar o fluxo por um tempo prescrito a partir de seu momento de recebimento de maneira que a decodificação pode ser feita sem causar no armazenamento temporário de recebimento excesso de capacidade negativa. Tal como descrito anteriormente, é especificado que o decodificador idealizado executa decodificação em tempo zero. Como resultado, se o tempo de entrada da imagem de ordem i para o codificador de vídeo for t(i), e o tempo de decodificação da imagem de ordem i no decodificador idealizado for tr(i), então o tempo mais cedo no qual a imagem fica pronta para exibição é igual à tr(i). Uma vez que o período de exibição de imagem {t(i+1) - t(i)} é igual a {tr(i+1) - tr(i)} para qualquer imagem, o tempo de decodificação tr(i) é dado como tr(i) = t(i) + dly, isto é, o tempo atrasado por um tempo fixo dly a partir do tempo de entrada t(i). Isto significa que o codificador de vídeo tem que completar a transmissão de todos os dados necessários para decodifi- cação para o armazenamento temporário de recebimento no tempo tr(i).
[009] Referindo-se à Figura 1, será dada uma descrição de como o armazenamento temporário de recebimento opera. Na Figura 1, a abscissa representa o tempo, e a ordenada representa a ocupação de armazenamento temporário do armazenamento temporário de recebimento. O gráfico de linha contínua 100 representa a ocupação de armazenamento temporário como uma função do tempo.
[0010] A ocupação de armazenamento temporário do armazenamento temporário de recebimento é restaurada em uma taxa sincronizada para uma taxa de transmissão prescrita, e os dados usados para decodificar cada imagem são recuperados do armazenamento temporário no tempo de decodificação da imagem. Os dados da imagem de ordem i começam a ser introduzidos no armazenamento temporário de recebimento no tempo at(i), e os dados finais da imagem de ordem i são introduzidos no tempo ft(i). O decodificador idealizado completa a decodificação da imagem de ordem i no tempo tr(i), e assim a imagem de ordem i fica pronta para exibição no tempo tr(i). Entretanto, se o fluxo de dados contiver uma imagem B, o tempo de exibição real da imagem de ordem i pode se tornar mais tarde do que tr(i) por causa da ocorrência de reordenação de imagem (mudando a ordem de codificação).
[0011] O método de descrever o tempo de decodificação e o tempo de exibição de cada imagem em MPEG-4 AVC/H.264 será descrito detalhadamente a seguir.
[0012] Em MPEG-4 AVC/H.264, informação suplementar não relevante diretamente para a decodificação de pixels é descrita em uma mensagem de informação suplementar de enriquecimento (SEI). Dezenas de tipos de mensagens SEI são definidos, e o tipo é identificado por um parâmetro payloadType. A SEI é anexada a cada imagem.
[0013] BPSEI (SEI de Período de Armazenamento Temporário) como um tipo de SEI é anexada a uma imagem autocontida, isto é, uma imagem (de uma maneira geral, uma imagem I) que pode ser decodificada sem quaisquer imagens passadas. Um parâmetro Initi- alCpbRemovalDelay é descrito na BPSEI. O parâmetro InitialCpbRe- movalDelay indica a diferença entre o tempo de chegada ao armazenamento temporário de recebimento do primeiro bit da imagem anexada à BPSEI e o tempo de decodificação da imagem anexada à BPSEI. A resolução da diferença é 90 kHz. O tempo de decodificação tr(0) da primeira imagem é o tempo de chegada ao decodificador de vídeo do primeiro bit dos dados de vídeo codificados (o tempo é designado como 0); isto é, o tempo de decodificação é atrasado a partir do tempo at(0) por uma quantidade de tempo igual a InitialCpbRemovalDelay + 90.000 [s].
[0014] De uma maneira geral, PTSEI (SEI de Sincronismo de Imagens) como um tipo de SEI é anexada a cada imagem. Os parâmetros CpbRemovalDelay e DpbOutputDelay são descritos na PTSEI. O parâmetro CpbRemovalDelay indica a diferença entre o tempo de decodi- ficação da imagem anexada à BPSEI imediatamente precedente e o tempo de decodificação da imagem anexada à PTSEI. O parâmetro DpbOutputDelay indica a diferença entre o tempo de decodificação da imagem anexada à PTSEI e o tempo de exibição dessa imagem. A resolução destas diferenças é um intervalo de imagens de campo. Desta maneira, quando a imagem é um quadro, o valor de cada um dos parâmetros CpbRemovalDelay e DpbOutputDelay é um múltiplo de 2.
[0015] O tempo de decodificação tr(i) de cada uma de a segunda e das imagens subsequentes é atrasado a partir do tempo de decodifi- cação tr(0) da primeira imagem por uma quantidade de tempo igual a tc*CpbRemovalDelay(i) [s]. CpbRemovalDelay(i) é o CpbRemoval- Delay anexado à imagem de ordem i. Por outro lado, tc é o intervalo de tempo entre imagens [s]; por exemplo, no caso de vídeo progressivo de 29,97 Hz, tc é 1.001/60.000.
[0016] O tempo de exibição de cada uma das imagens, incluindo a imagem anexada à BPSEI, é atrasado a partir de tr(i) por uma quantidade de tempo igual a tc*DpbOutputDelay(i). DpbOutputDelay(i) é o DpbOutputDelay anexado à imagem de ordem i. Isto é, após o tempo tr(0), cada imagem é decodificada e exibida no tempo igual a um múltiplo integral de tc.
[0017] Dependendo do propósito dos dados de vídeo, o vídeo codificado pode ser editado. Editar o vídeo codificado envolve dividir os dados de vídeo codificados em partes inferiores e juntá-los para gerar um novo fluxo de dados de vídeo codificados. Por exemplo, inserção de um outro fluxo de vídeo (por exemplo, uma propaganda) no fluxo de vídeo difundido correntemente (isto é, junção) é um exemplo de operação de edição.
[0018] Ao editar vídeo codificado preditivo interquadros, particularmente no caso de uma imagem intercodificada, a imagem codificada não pode ser decodificada corretamente por si mesma. Desta maneira, ao juntar dois fluxos de dados de vídeo codificados em uma posição de imagem desejada, uma máquina de edição de dados de vídeo codificados primeiro decodifica os dois fluxos de dados de vídeo codificados a serem juntados e então junta os fluxos em uma base de imagem por imagem decodificada, e em seguida recodifica os dados de vídeo juntados.
[0019] Entretanto, uma vez que a tarefa de recodificação pode ser muito difícil, em particular no caso de processamento em tempo real tal como junção, é comum restringir o ponto de junção e editar os dados de vídeo codificados diretamente ao eliminar a necessidade de recodificação. Ao juntar dois fluxos de dados de vídeo codificados ao editar sem a necessidade de recodificação, a primeira imagem do fluxo de dados de vídeo codificados a ser juntada no lado a jusante temporalmente tem que ser uma imagem I. Além disso, a estrutura GOP do fluxo de dados de vídeo codificados a ser juntada no lado a jusante temporalmente é limitada para a assim chamada de estrutura GOP fechada na qual todas as imagens seguintes à imagem I inicial são decodificáveis sem se referir a quaisquer imagens precedendo temporalmente a imagem I inicial. Com este arranjo, é possível decodificar corretamente todas as imagens seguintes à imagem I inicial do fluxo de dados de vídeo codificados juntado no lado à jusante ao editar no ponto de junção desejado.
[0020] Entretanto, uma vez que a eficiência de codificação da estrutura GOP fechada é menor do que aquela da estrutura GOP não fechada, a estrutura GOP não fechada pode ser empregada. Nesse caso, algumas das imagens imediatamente seguintes à imagem I inicial após o ponto de junção não são decodificadas corretamente, mas uma vez que estas imagens são imagens precedendo a imagem I inicial na ordem de exibição, não existirá problema se elas não forem exibidas. Portanto, como uma prática geral, após exibir a última imagem do fluxo de dados de vídeo codificados precedente temporalmente, o decodificador de vídeo executa processamento tal como congelar a exibição, mascarando assim a exibição das imagens que falharam para ser decodificadas corretamente.
[0021] Na técnica anterior, mesmo quando os dados de vídeo codificados preditivo interquadros são editados sem recodificação, a in- formação de cabeçalho também é editada de maneira que uma discrepância não ocorre entre os dois fluxos de dados de vídeo codificados unidos conjuntamente. Por exemplo, em MPEG-4 AVC/H.264, POC (Contagem de Ordem de Imagem) e FrameNum são anexados ao cabeçalho de porção a fim de manter a relação temporal entre imagens e identificar a imagem de referência. POC indica a ordem de exibição relativa da imagem. FrameNum é um valor que incrementa por 1 cada vez que a imagem de referência aparece no vídeo codificado. Uma vez que valores POC e valores FrameNum necessitam ser contínuos entre os dois fluxos de dados de vídeo codificados juntados, surge uma necessidade de editar todos os valores POC e valores FrameNum nos fluxos de dados de vídeo codificados a ser juntados no lado a jusante do fluxo de dados de vídeo codificados precedente temporalmente.
[0022] Por outro lado, no método revelado no documento não patente JCTVC-J1003, "High-Efficiency Video Coding (HEVC) text specification Draft 8", Equipe Colaborativa Conjunta em Codificação de Vídeo do ITU-T SG16 WP3 e ISO/IEC JTC1/SC29/WG11, julho de 2012, FrameNum foi abolido porque um novo método para identificar imagens de referência foi introduzido. Além disso, uma vez que o valor POC da primeira imagem do fluxo de dados de vídeo codificados juntado no lado à jusante não necessita ter continuidade com relação ao fluxo de dados de vídeo codificados juntado no lado a montante, não existe necessidade de editar o cabeçalho de porção. No método revelado no documento não patente indicado acima, uma imagem CRA (Acesso Aleatório Claro), uma imagem BLA (Acesso de Vínculo Rompido), uma imagem TFD (Etiquetada Para Descarte), uma imagem DLP (Imagem Dianteira Decodificável) e uma imagem TP (Imagem Posterior) foram introduzidas como novos tipos de imagens além da imagem IDR (Restauração Instantânea de Decodificação) definida em MPEG-4 AVC/H.264.
[0023] Destas imagens, a imagem CRA e a imagem BLA são ambas imagens autocontidas, isto é, imagens que não se referem a quaisquer outras imagens, de maneira que imagens seguintes à imagem CRA ou à imagem BLA podem ser decodificadas corretamente. Quando o decodificador de vídeo começa a decodificar iniciando por uma imagem CRA, por exemplo, quaisquer imagens subsequentes a não ser a imagem TFD imediatamente seguinte à imagem CRA podem ser decodificadas corretamente.
[0024] A imagem TFD é uma imagem que aparece imediatamente seguinte à imagem CRA ou à imagem BLA, e que se refere a uma imagem aparecendo mais cedo do que a imagem CRA ou do que a imagem BLA na ordem de tempo e na ordem de decodificação. No caso da estrutura GOP não fechada que está de acordo com MPEG-2, cada uma da pluralidade das imagens B imediatamente seguintes à imagem I na cabeça do GOP corresponde à imagem TFD.
[0025] A imagem BLA ocorre como resultado de edição dos dados de vídeo codificados. Dos dois fluxos de dados de vídeo codificados juntados, o fluxo de dados de vídeo codificados juntado no lado à jusante de uma maneira geral começa com uma imagem CRA, mas se esta imagem CRA aparecer parcialmente por meio dos dados de vídeo codificados juntados, seu tipo de imagem é mudado da imagem CRA para a imagem BLA. No método revelado no documento não patente indicado acima, quando a imagem BLA aparece, é permitido que os valores POC se tornem descontínuos. Adicionalmente, a imagem TFD imediatamente seguinte a esta imagem BLA é incapaz de ser decodificada corretamente a partir de qualquer ponto nos dados de vídeo codificados juntados porque a imagem a ser referida por ela foi perdida dos dados de vídeo codificados juntados. Portanto, o codificador de vídeo pode deletar dos dados de vídeo codificados qualquer imagem TFD seguinte à imagem BLA na cabeça do fluxo de dados de vídeo codificados a ser juntado no lado a jusante.
[0026] Uma imagem DLP, tal como a imagem TFD, é uma imagem que aparece imediatamente seguinte a uma imagem CRA ou imagem BLA. De modo diferente da imagem TFD, a imagem DLP não se refere a uma imagem que precede a imagem CRA ou imagem BLA tanto na ordem de tempo quanto na ordem de decodificação. Como resultado, mesmo se a decodificação for iniciada pela imagem CRA ou imagem BLA, a imagem DLP pode ser decodificada corretamente.
[0027] Uma imagem TP é uma imagem que aparece mais tarde do que a imagem CRA ou do que a imagem BLA e as imagens TFD e DLP na ordem de decodificação, e seguinte à imagem CRA ou imagem BLA na ordem de tempo. Como resultado, mesmo se a decodifi- cação for iniciada pela imagem CRA ou imagem BLA, a imagem TP pode ser decodificada corretamente.
Sumário
[0028] No método revelado no documento não patente acima, tal como em MPEG-4 AVC/H.264, o tempo de decodificação e tempo de exibição de cada imagem codificada são determinados ao usar os parâmetros InitialCpbRemovalDelay, CpbRemovalDelay e DpbOutputDelay. Ao juntar dois fluxos de dados de vídeo codificados, os parâmetros CpbRemovalDelay e DpbOutputDelay da imagem após o ponto de junção necessitam ser corrigidas para valores apropriados a fim de assegurar decodificação e exibição de vídeo contínuas através do ponto de junção.
[0029] Mais especificamente, o codificador de vídeo ou o decodifi- cador de vídeo necessita corrigir o valor de CpbRemovalDelay da imagem CRA na cabeça do fluxo de dados de vídeo codificados juntado no lado a jusante, com base no número de imagens seguintes à última imagem anexada à BPSEI no fluxo de dados de vídeo codificados pre- cedente temporalmente. Além disso, o codificador de vídeo ou o deco- dificador de vídeo incrementa o valor de CpbRemovalDelay a fim de assegurar continuidade de armazenamento temporário de CPB. Adici-onalmente, ao descartar a imagem TFD no fluxo de dados de vídeo codificados a ser juntados no lado a jusante, o codificador de vídeo ou o decodificador de vídeo necessita corrigir o valor de CpbRemoval- Delay da imagem a ser decodificada após a imagem TFD descartada assim como o valor de DpbOutputDelay da primeira imagem CRA após o ponto de junção.
[0030] Assim, no método revelado no documento não patente indicado acima, ainda existe uma necessidade de corrigir os conteúdos de PTSEI ao executar operações de edição para juntar dois fluxos de dados de vídeo codificados.
[0031] Desta maneira, um objetivo da presente invenção é fornecer um aparelho de codificação de vídeo de movimento e um aparelho de decodificação de vídeo de movimento que possam assegurar o processo de decodificação de vídeo e o processo de exibição contínuos sem editar os parâmetros no cabeçalho de dados de vídeo codificados originais ao juntar dois fluxos de dados de vídeo codificados preditivos interquadros.
[0032] De acordo com uma modalidade, é fornecido um aparelho de codificação de vídeo para gerar dados de vídeo codificados juntados ao unir conjuntamente primeiros dados de vídeo e segundos dados de vídeo, ambos codificados usando codificação preditiva inter- quadros. O aparelho de codificação de vídeo inclui: uma unidade de processamento de informação de identificação de ponto de junção que obtém informação de correção de atraso de decodificação e de atraso de exibição para assegurar que, mesmo quando uma ou mais imagens que estejam mais tarde na ordem de codificação do que uma imagem codificada inicial nos segundos dados de vídeo a ser juntados a uma extremidade posterior dos primeiros dados de vídeo codificados tenha sido descartada dentre imagens contidas nos segundos dados de vídeo, a imagem codificada inicial e imagens subsequentes contidas nos segundos dados de vídeo codificados podem ser decodificadas e exibidas continuamente por um aparelho de decodificação de vídeo, e que anexa a informação de correção aos dados de vídeo juntados; e uma unidade de junção de dados que descarta dos dados de vídeo juntados qualquer imagem que esteja mais tarde na ordem de codificação do que a imagem codificada inicial e que não é garantida para ser decodificada corretamente se decodificação for iniciada da imagem codificada inicial. A informação de correção é calculada com base em um intervalo de decodificação entre cada imagem descartada e uma imagem que precede imediatamente a imagem descartada na ordem de decodificação.
[0033] De acordo com uma outra modalidade, um aparelho de de- codificação de vídeo para decodificar dados de vídeo codificados por codificação preditiva interquadros é fornecido. O aparelho de decodifi- cação de vídeo inclui: uma unidade de determinação de tempo de de- codificação/exibição de imagem que usa informação indicando que os dados de vídeo codificados são gerados ao juntar segundos dados de vídeo codificados a uma extremidade posterior de primeiros dados de vídeo codificados e informação indicando que uma ou mais imagens codificadas que estejam mais tarde na ordem de codificação do que uma imagem codificada inicial nos segundos dados de vídeo codificados juntados a jusante de um ponto de junção no qual os primeiros dados de vídeo codificados e os segundos dados de vídeo codificados são juntados são descartadas, e que corrige, com base em informação de correção, um atraso de decodificação para uma imagem seguinte à imagem codificada inicial, enquanto também corrigindo, com base na informação de correção, atrasos de exibição para a imagem codificada inicial e a imagem seguinte à imagem codificada inicial. A informação de correção carrega um valor calculado com base em um intervalo de decodificação entre cada imagem que esteja mais tarde na ordem de decodificação do que a imagem codificada inicial, e que tenha sido descartada dos segundos dados de vídeo codificados, e uma imagem que preceda imediatamente a imagem descartada na ordem de deco- dificação.
Breve Descrição dos Desenhos
[0034] A Figura 1 é um diagrama ilustrando a relação entre a ocupação de armazenamento temporário de um armazenamento temporário de recebimento e o tempo de exibição.
[0035] A Figura 2 é um diagrama ilustrando a relação entre a ordem de exibição e a ordem de decodificação de várias imagens contidas em dados de vídeo e os valores de atraso de decodificação e de atraso de exibição das respectivas imagens.
[0036] A Figura 3 é um diagrama para explicar os valores de atraso de decodificação e de atraso de exibição das imagens após o ponto de junção quando dois fluxos de dados de vídeo codificados são juntados.
[0037] A Figura 4 é um diagrama para explicar a estrutura de dados de uma imagem em vídeo codificado de acordo com uma primeira modalidade.
[0038] A Figura 5 é um diagrama de blocos simplificado de um aparelho de codificação de vídeo de acordo com a primeira modalidade.
[0039] A Figura 6 é um fluxograma de operação de um processo de codificação de vídeo de acordo com a primeira modalidade.
[0040] A Figura 7 é um fluxograma de operação de um processo de edição de vídeo de acordo com a primeira modalidade.
[0041] A Figura 8 é um diagrama de blocos simplificado de um aparelho de decodificação de vídeo de acordo com a primeira modalidade.
[0042] A Figura 9 é um fluxograma de operação de um processo de decodificação de vídeo de acordo com a primeira modalidade.
[0043] A Figura 10 é um diagrama para explicar os valores de atraso de decodificação e de atraso de exibição das imagens após o ponto de junção quando dois fluxos de dados de vídeo codificados são juntados de acordo com uma segunda modalidade.
[0044] A Figura 11 é um diagrama para explicar a estrutura de dados de uma imagem em vídeo codificado de acordo com a segunda modalidade.
[0045] A Figura 12 é um diagrama ilustrando a configuração de um computador que opera tal como o aparelho de codificação de vídeo ou aparelho de decodificação de vídeo ao executar um programa de computador para implementar as funções das várias unidades no aparelho de codificação de vídeo ou aparelho de decodificação de vídeo de acordo com qualquer uma das modalidades ou de seus exemplos modificados.
Descrição de Modalidades
[0046] O aparelho de codificação de vídeo e o aparelho de decodi- ficação de vídeo de acordo com várias modalidades serão descritos a seguir com referência aos desenhos. Ao juntar dois fluxos de dados de vídeo codificados sem decodificá-los, o aparelho de codificação de vídeo computa os valores a ser usados para corrigir os parâmetros indicando o tempo de decodificação e tempo de exibição de cada imagem aparecendo após o ponto de junção, e adiciona os valores à informação de cabeçalho de cada imagem aparecendo após o ponto de junção. Deste modo, o aparelho de codificação de vídeo elimina a necessidade de editar os parâmetros no cabeçalho dos dados de vídeo codificados originais ao juntar dois fluxos de dados de vídeo codificados.
[0047] Nas presentes modalidades, a imagem é um quadro. Entretanto, a imagem não precisa estar limitada a um quadro, e pode ser um campo. Um quadro se refere a uma imagem estática completa nos dados de vídeo, enquanto que um campo se refere a uma imagem estática obtida ao extrair dados somente nas linhas de números ímpares ou linhas de números pares de um quadro. Os dados de vídeo codificados podem ser dados de vídeo colorido ou dados de vídeo mono- crômico.
[0048] Primeiro, se referindo à Figura 2, os valores de atraso de decodificação CpbRemovalDelay e de atraso de exibição DpbOutputDelay de imagem de acordo com uma primeira modalidade serão descritos ao usar uma estrutura de codificação de imagem como um exemplo.
[0049] Na Figura 2, a estrutura de codificação de imagem 201 como um exemplo da estrutura de codificação de imagem contém uma pluralidade de imagens. Cada bloco na estrutura de codificação de imagem 201 representa uma imagem. Dos dois caracteres transportados no bloco correspondendo a cada imagem, o caractere alfabético à esquerda indica o modo de codificação aplicado a essa imagem. Os caracteres I, P e B significam imagem I, imagem P e imagem B, respectivamente. Dos dois caracteres transportados em cada bloco, o número à direita indica a ordem de entrada no aparelho de codificação de vídeo. A ordem de entrada coincide com a ordem na qual a imagem é produzida pelo aparelho de decodificação de vídeo. Cada seta representada acima da estrutura de codificação de imagem 201 indica a imagem de referência à qual uma imagem a ser codificada por predição de quadro progressiva se refere. Por exemplo, uma imagem P4 se refere a uma imagem I0 que aparece mais cedo que a imagem P4. Por outro lado, cada seta representada abaixo da estrutura de codificação de imagem 201 indica a imagem de referência à qual uma imagem a ser codificada por predição de quadro regressiva se refere. Por exemplo, uma imagem B2 se refere à imagem P4 que aparece mais tarde que a imagem B2.
[0050] A sequência de imagens apresentada abaixo da estrutura de codificação de imagem 201 é a ordem de decodificação 202 das imagens contidas na estrutura de codificação de imagem 201. Cada bloco na ordem de decodificação 202 representa uma imagem e, tal como no caso da estrutura de codificação de imagem 201, os caracteres transportados no bloco indicam o modo de codificação e a ordem de entrada no aparelho de codificação de vídeo. A ordem de decodifi- cação 202 coincide com a ordem de codificação executada pelo aparelho de codificação de vídeo. Cada seta representada acima da ordem de decodificação de imagem 202 e cada seta representada abaixo da ordem de decodificação de imagem 202 indicam, respectivamente, a imagem de referência à qual uma imagem codificada por predição de quadro progressiva se refere e a imagem de referência à qual uma imagem codificada por predição de quadro regressiva se refere.
[0051] Na ordem de decodificação 202, BPSEI é anexada a cada imagem que carrega a designação "BPSEI" abaixo dela. No exemplo ilustrado, BPSEI esta anexada a cada imagem I. Isto é, para cada imagem I, o parâmetro InitialCpbRemovalDelay que indica a diferença entre o tempo de chegada ao armazenamento temporário de recebimento do primeiro bit da imagem I e o tempo de decodificação da imagem I é definido.
[0052] Um conjunto de blocos 203 apresentado abaixo da ordem de decodificação 202 indica os valores de CpbRemovalDelay e DpbOutputDelay transportados na PTSEI anexada a cada imagem. Cada bloco na fileira superior do conjunto de blocos 203 carrega o valor de CpbRemovalDelay para a imagem correspondente na ordem de decodificação 202 localizada diretamente acima desse bloco. Igual- mente, cada bloco na fileira inferior do conjunto de blocos 203 carrega o valor de DpbOutputDelay para a imagem correspondente na ordem de decodificação 202 localizada diretamente acima desse bloco. CpbRemovalDelay corresponde à ordem de codificação tal como contada a partir da imagem mais recente na ordem de codificação entre as imagens às quais BPSEI é anexada. Por exemplo, uma imagem P8 é a quinta imagem na ordem de codificação tal como contada a partir da imagem I0. Na presente modalidade, uma vez que cada imagem é um quadro, e o intervalo de tempo entre imagens tc é um valor expressado em unidades de campos, o valor CpbRemovalDelay da imagem P8 é dado como 10 (= 5*2).
[0053] Por outro lado, DpbOutputDelay especifica o atraso de exibição que é necessário no aparelho de decodificação de vídeo para produzir sequencialmente as imagens na ordem correta. Por exemplo, o valor DpbOutputDelay da imagem P4 é 10. Este é o atraso necessário para exibir corretamente a imagem B1 cuja diferença entre a ordem de entrada e a ordem de codificação no aparelho de codificação de vídeo é a maior. Isto é, uma vez que a imagem B1 é decodificada com um atraso de duas imagens após a imagem P4 ser decodificada, o tempo de exibição da imagem P4 tem que ser atrasado adicionalmente por três tempos de imagem a partir do tempo mais cedo no qual a imagem B1 fica pronta para exibição, isto é, o tempo no qual a imagem B1 é decodificada. Uma vez que a diferença entre o tempo de decodi- ficação e o tempo de exibição da imagem P4 é igual a cinco tempos de imagem, e uma vez que tc é expressado em unidades de campos, o valor de DpbOutputDelay é dado como 10.
[0054] A seguir, se referindo à Figura 3, será dada uma explicação dos valores que, quando dois fluxos de dados de vídeo codificados são juntados, o atraso de decodificação CpbRemovalDelay e atraso de exibição DpbOutputDelay de cada imagem no fluxo de dados de vídeo codificados juntado a jusante do ponto de junção podem tomar a fim de eliminar quaisquer inconsistências em atraso de decodificação e atraso de exibição antes e após o ponto de junção dos dois fluxos de dados de vídeo codificados.
[0055] Cada bloco no primeiro fluxo de dados de vídeo codificados 301 juntado a montante do ponto de junção representa uma imagem, e os caracteres transportados no bloco indicam o modo de codificação e a ordem de entrada no aparelho de codificação de vídeo, tal como no caso da Figura 2. No exemplo ilustrado, a estrutura de codificação do primeiro fluxo de dados de vídeo codificados 301 é idêntica à estrutura de codificação 201 representada na Figura 2.
[0056] No exemplo ilustrado, o segundo fluxo de dados de vídeo codificados 302 é juntado imediatamente seguinte à última imagem B15 do primeiro fluxo de dados de vídeo codificados. No segundo fluxo de dados de vídeo codificados 302 cada bloco também representa uma imagem, e os caracteres transportados em cada bloco indicam o modo de codificação e a ordem de entrada no aparelho de codificação de vídeo. Setas representadas acima do segundo fluxo de dados de vídeo codificados 302 indicam as imagens de referência às quais as imagens B70, B69 e B71, respectivamente, se referem quando codificadas por predição de quadro progressiva. Por outro lado, setas representadas abaixo do segundo fluxo de dados de vídeo codificados 302 indicam as imagens de referência às quais as imagens B70, B69 e B71, respectivamente, se referem quando codificadas por predição de quadro regressiva. A estrutura de codificação do segundo fluxo de dados de vídeo codificados 302 é idêntica à estrutura de codificação 201 representada na Figura 2, exceto para as imagens B70, B69 e B71. A ordem de codificação das imagens B70, B69 e B71 é a mesma ordem de codificação das imagens preditas bidirecionais contidas na estrutura de codificação 201 representada na Figura 2. Entretanto, as ima- gens de referência para as imagens B70, B69 e B71 são diferentes das imagens de referência para as imagens preditas bidirecionais contidas na estrutura de codificação 201. Cada uma de as imagens B70 e B71 se refere somente a uma imagem mais tarde no tempo de exibição, isto é, a imagem I72. Por outro lado, a imagem B69 se refere somente a uma imagem mais cedo no tempo de exibição, isto é, a imagem I68. Uma situação como esta ocorre, por exemplo, quando existe uma mudança de cena entre as imagens B69 e B70. Uma vez que a imagem muda repentinamente através do limite de mudança de cena, qualquer imagem predita bidirecional localizada perto do limite de mudança de cena se refere somente a uma imagem localizada no mesmo lado do limite de mudança de cena para maior eficiência de predição. No exemplo dado aqui, B69 é uma imagem TFD, e B70 e B71 são imagens DLP. No exemplo ilustrado, a imagem I72 e as imagens sub-sequentes no segundo fluxo de dados de vídeo codificados 302 são juntadas a fim de seguir a imagem B15 no primeiro fluxo de dados de vídeo codificados. O método revelado no documento não patente (JCTVC-J1003, "High-Efficiency Video Coding (HEVC) text specification Draft 8", Equipe Colaborativa Conjunta em Codificação de vídeo do ITU-T SG16 WP3 e ISO/IEC JTC1/SC29/WG11, julho de 2012) impõe as condições em que o tempo de exibição de uma imagem TFD seja mais cedo que o tempo de exibição de uma imagem DLP e que uma imagem DLP não seja referida de uma imagem TP.
[0057] Um conjunto de blocos 303 apresentado abaixo do segundo fluxo de dados de vídeo codificados 302 indica os valores do atraso de decodificação CpbRemovalDelay e atraso de exibição DpbOutputDelay transportados na PTSEI anexada a cada imagem do segundo fluxo de dados de vídeo codificados 302. Cada bloco na fileira superior do conjunto de blocos 303 carrega o valor do atraso de de- codificação CpbRemovalDelay para a imagem correspondente no se gundo fluxo de dados de vídeo codificados 302 localizada diretamente acima desse bloco. Igualmente, cada bloco na fileira inferior do conjunto de blocos 303 carrega o valor do atraso de exibição DpbOutputDelay para a imagem correspondente no segundo fluxo de dados de vídeo codificados 302 localizada diretamente acima desse bloco.
[0058] Os dados de vídeo codificados juntados 304 gerados ao juntar os primeiro e segundo fluxos de dados de vídeo codificados 301 e 302 estão representados abaixo do conjunto de blocos 303. No exemplo ilustrado, a imagem B67 no segundo fluxo de dados de vídeo codificados 302 e as imagens precedendo a imagem B67 na ordem de codificação não estão contidas nos dados de vídeo codificados juntados 304. Adicionalmente, a imagem B69 é uma imagem TFD que se refere à imagem codificada I68 que precede a imagem I72 na ordem de codificação. Como resultado, quando os dados são juntados na imagem I72, a imagem B69 se torna incapaz de ser reproduzida corretamente. Portanto, a imagem B69 é descartada ao juntar os dados. Entretanto, a imagem B69 pode não ser descartada e pode ser retida nos dados de vídeo codificados juntados. Por outro lado, cada uma das imagens B70 e B71 é uma imagem DLP que não se refere a uma imagem precedendo a imagem I72 na ordem de codificação e, portanto, pode ser reproduzida corretamente. Entretanto, uma vez que nenhuma das imagens B70 e B71 é imagem que é referida à imagem P76 ou a suas imagens subsequentes, se as imagens B70 e B71 fossem descartadas simultaneamente com a imagem TFD 69, isso não afetaria a reprodução da imagem P76 e de suas imagens subsequentes.
[0059] Um conjunto de blocos 305 indica os valores do atraso de decodificação CpbRemovalDelay e do atraso de exibição DpbOutputDelay que as imagens I72, B70, B71, P76, B74, B73 e B75 nos dados de vídeo codificados juntados 304 são supostos para ter. Cada bloco na fileira superior do conjunto de blocos 305 carrega o valor do atraso de decodificação CpbRemovalDelay para a imagem correspondente nos dados de vídeo codificados juntados 304 localizada diretamente acima desse bloco. Igualmente, cada bloco na fileira inferior do conjunto de blocos 305 carrega o valor do atraso de exibição DpbOutputDelay para a imagem correspondente nos dados de vídeo codificados juntados 304 localizada diretamente acima desse bloco.
[0060] O atraso de decodificação CpbRemovalDelay da imagem I72, após junção, necessita ser feito para unir com o intervalo de imagens codificadas em relação à imagem I12 que é a imagem tendo a BPSEI imediatamente precedente. No exemplo ilustrado, uma vez que a imagem I72 é a oitava imagem na ordem de codificação tal como contada a partir da imagem I12, o atraso de decodificação CpbRemo- valDelay é dado como 16 (= 8*2). O atraso de exibição DpbOutputDelay da imagem I72 também necessita ser corrigido de maneira que a imagem B73 a ser decodificada mais tarde que a imagem I72 possa ser exibida corretamente. O valor do atraso de exibição DpbOutputDelay da imagem I72 é diferente antes e após o descarte da imagem B69. O valor do atraso de exibição DpbOutputDelay após o descarte da imagem B69 diminui por um valor igual ao intervalo de de- codificação que é definido pela diferença entre o tempo de decodifica- ção da imagem descartada que está mais tarde na ordem de decodifi- cação que a I72 e o tempo de decodificação da imagem que precede imediatamente a imagem descartada na ordem de decodificação. No exemplo ilustrado, a imagem B69 é a imagem descartada, e o intervalo de decodificação da B69 (isto é, a diferença entre o tempo de decodifi- cação da B69 e o tempo de decodificação da imagem B70 imediatamente precedente a ela na ordem de decodificação) é 2; portanto, o valor do atraso de exibição DpbOutputDelay da imagem I72 é dado como 2. Igualmente, o atraso de exibição DpbOutputDelay da imagem B70 também diminui por um valor igual ao intervalo de decodificação da imagem descartada seguinte B70 na ordem de decodificação, isto é, por 2, e é assim dado como 2.
[0061] O valor do atraso de decodificação CpbRemovalDelay de cada uma das imagens B71, P76, B74, B73 e B75 também é diferente antes e após o descarte da imagem B69. O valor do atraso de decodi- ficação CpbRemovalDelay de cada uma das imagens B71, P76, B74, B73 e B75 após o descarte da imagem B69 diminui a partir do valor original do atraso de decodificação CpbRemovalDelay por um valor igual ao intervalo de decodificação da imagem descartada que precede a imagem I72 na ordem de decodificação. No exemplo ilustrado, os valores do atraso de decodificação CpbRemovalDelay das imagens B71, P76, B74, B73 e B75 são dados como 4, 6, 8, 10 e 12, respectivamente, ao subtrair o intervalo de decodificação, 2, da imagem TFD B69 dos valores originais do atraso de decodificação CpbRemoval- Delay das respectivas imagens. Para a imagem DLP B70, por outro lado, o valor de CpbRemovalDelay permanece inalterado após o descarte da imagem B69, uma vez que não existe imagem descartada que precede a B70 na ordem de decodificação. Os valores do atraso de exibição DpbOutputDelay das imagens P76, B74, B73 e B75 tam-bém permanecem inalterados. Adicionalmente, para qualquer imagem que foi introduzida mais tarde que a imagem que se tornaria a primeira imagem CRA nos dados de vídeo codificados juntados, nem o atraso de decodificação CpbRemovalDelay nem o atraso de exibição DpbOutputDelay necessitam ser corrigidos.
[0062] Tal como descrito anteriormente, quando dois fluxos de dados de vídeo codificados são unidos conjuntamente, surge uma necessidade no tempo de decodificação para corrigir os valores do atraso de decodificação CpbRemovalDelay e do atraso de exibição DpbOutputDelay para algumas das imagens contidas no fluxo de dados de vídeo codificados juntado a jusante do ponto de junção. Na presente modalidade, em vez de corrigir os valores do atraso de deco- dificação CpbRemovalDelay e do atraso de exibição DpbOutputDelay das imagens afetadas contidas nos dados de vídeo codificados originais antes da junção, o aparelho de codificação de vídeo adiciona ao cabeçalho dos dados de vídeo codificados os parâmetros que podem ser usados para mudar os valores do atraso de decodificação CpbRe- movalDelay e do atraso de exibição DpbOutputDelay para valores apropriados quando o aparelho de decodificação de vídeo decodifica os dados de vídeo codificados juntados.
[0063] A seguir, se referindo à Figura 4, a estrutura dos dados de vídeo codificados de acordo com a primeira modalidade será descrita que contém os parâmetros que podem ser usados para mudar os valores do atraso de decodificação CpbRemovalDelay e do atraso de exibição DpbOutputDelay para valores apropriados.
[0064] Tal como representado na Figura 4, a estrutura de dados 400 de uma imagem contém os seis tipos de unidades de camada de abstração de rede (NAL) 410 a 415. Estas unidades NAL 410 a 415 estão de acordo com as unidades NAL definidas em MPEG-4 AVC/H.264 e com o método revelado no documento não patente (JCTVC-J1003, "High-Efficiency Video Coding (HEVC) text specification Draft 8", Equipe Colaborativa Conjunta em Codificação de vídeo do ITU-T SG16 WP3 e ISO/IEC JTC1/SC29/WG11, julho de 2012). Um cabeçalho NUH 420 é anexado a cada unidade NAL. O cabeçalho NUH 420 contém um campo NalUnitType que indica o tipo da unidade NAL. Quando NalUnitType é 1 ou 2, ele indica que a imagem é uma imagem TP. Quando NalUnitType é 7, ele indica que a imagem é uma imagem BLA autocontida imediatamente após a qual uma imagem TFD e uma imagem DLP podem aparecer. Quando NalUnitType é 8, ele indica que a imagem é uma imagem BLA autocontida imediatamente após a qual uma imagem DLP pode aparecer. Quando NalU- nitType é 9, ele indica que a imagem é uma imagem BLA autocontida imediatamente após a qual nem uma imagem TFD nem uma imagem DLP aparecem. Quando NalUnitType é 12, ele indica que a imagem é uma imagem CRA autocontida. Quando NalUnitType é 13, ele indica que a imagem é uma imagem DLP. Quando NalUnitType é 14, ele indica que a imagem é uma imagem TFD.
[0065] O valor NalUnitType de cada imagem não necessita ficar limitado ao valor específico indicado acima, mas pode ser estabelecido para algum outro valor adequado.
[0066] As unidades NAL serão explicadas a seguir.
[0067] A unidade NAL 410 é uma unidade NAL delimitadora (DE- LIM) e indica um limite de imagem.
[0068] A unidade NAL 411 é uma unidade NAL de conjunto de parâmetros de sequência (SPS) que carrega um conjunto de parâmetros comuns à sequência total do vídeo codificado. A unidade NAL 411 é anexada a uma imagem autocontida.
[0069] A unidade NAL 412 é uma unidade NAL de conjunto de parâmetros de imagem (PPS) que carrega um conjunto de parâmetros comuns a uma pluralidade de imagens codificadas. A unidade NAL PPS 412 é anexada a uma imagem autocontida, e algumas vezes pode ser anexada para outros tipos de imagens.
[0070] A unidade NAL 413 é uma unidade NAL BPSEI que é anexada somente a uma imagem autocontida. Na presente modalidade, os parâmetros a ser usados pelo aparelho de decodificação de vídeo para corrigir o atraso de decodificação e o atraso de exibição de cada imagem aparecendo após o ponto de junção são adicionados a esta unidade NAL 413.
[0071] A unidade NAL 414 é uma unidade NAL PTSEI que é ane- xada para cada imagem.
[0072] A unidade NAL 415 é uma unidade NAL de porção (SLICE) que é o conteúdo da imagem codificada.
[0073] A unidade NAL BPSEI 413 de acordo com a presente modalidade contém um número, (N+1), de pares de campos Initi- alCpbRemovalDelay/InitialCpbRemovalDelayOffset (onde N é um número inteiro não menor que 0). A definição destes campos pode ser a mesma dada no método revelado no documento não patente citado anteriormente (JCTVC-J1003, "High-Efficiency Video Coding (HEVC) text specification Draft 8", Equipe Colaborativa Conjunta em Codificação de vídeo do ITU-T SG16 WP3 e ISO/IEC JTC1/SC29/WG11, julho de 2012) ou em MPEG-4 AVC/H.264.
[0074] O motivo pelo qual existem mais de um par de campos Ini- tialCpbRemovalDelay/InitialCpbRemovalDelayOffset é descrever os parâmetros InitialCpbRemovalDelay e InitialCpbRemovalDelayOffset adequados para o caso onde o fluxo de bits codificados é transmitido em (N+1) diferentes taxas de bits. O parâmetro InitialCpbRemoval- DelayOffset define a diferença entre o tempo de conclusão de codificação da primeira imagem no aparelho de codificação de vídeo e o tempo de início da transmissão dos dados de imagem codificados para o aparelho de decodificação de vídeo.
[0075] A unidade NAL PTSEI 414 contém um campo CpbRemo- valDelay de atraso de decodificação, um campo DpbOutputDelay de atraso de exibição e um campo NumRemovedTfds. O campo Num- RemovedTfds é um exemplo de informação de correção usada para a correção do atraso de decodificação e do atraso de exibição. O campo NumRemovedTfds carrega a soma dos intervalos de decodificação das imagens descartadas durante o intervalo entre a imagem anexada à PTSEI e a próxima imagem anexada à BPSEI na ordem de decodifi- cação. O intervalo de decodificação de uma imagem é definido como o valor obtido ao subtrair, do valor de campo CpbRemovalDelay transportado na PTSEI anexada à imagem, o valor de campo CpbRemo- valDelay transportado na PTSEI anexada à imagem imediatamente precedente na ordem de decodificação. Quando a imagem imediatamente precedente na ordem de decodificação é uma imagem BLA, o valor de campo CpbRemovalDelay transportado na PTSEI anexada à imagem BLA é tratado como 0. Quando o fluxo de bits codificados é gerado, o valor de campo NumRemovedTfds é estabelecido para 0.
[0076] A Figura 5 é um diagrama de blocos simplificado do aparelho de codificação de vídeo de acordo com a primeira modalidade. O aparelho de codificação de vídeo 1 inclui uma unidade de controle 11, uma unidade de controle de codificação 12, uma unidade de codificação de imagem 13, uma unidade de processamento de informação de identificação de ponto de junção 14 e uma unidade de junção de dados 15. Cada uma destas unidades constituindo o aparelho de codificação de vídeo 1 é implementada como um circuito separado no aparelho de codificação de vídeo 1. Alternativamente, estas unidades constituindo o aparelho de codificação de vídeo 1 podem ser implementadas no aparelho de codificação de vídeo 1 na forma de um único circuito integrado ao qual são integrados os circuitos implementando as funções das respectivas unidades. Adicionalmente, estas unidades constituindo o aparelho de codificação de vídeo 1 podem ser módulos funcionais implementados ao executar um programa de computador em um processador incorporado no aparelho de codificação de vídeo 1.
[0077] A unidade de controle 11 controla a operação de cada unidade designada do aparelho de codificação de vídeo 1 ao codificar os dados de vídeo ou ao editar os dados de vídeo codificados. Por exemplo, com base na natureza dos dados de vídeo, tal como a mudança de posição de cena, etc., e na qualidade de imagem reproduzida, ra- zão de compressão, etc. necessária dos dados de vídeo codificados, a unidade de controle 11 determina a estrutura GOP, etc. que é aplicada aos dados de vídeo a ser codificados. Então, a unidade de controle 11 sinaliza a estrutura GOP, etc. para a unidade de controle de codificação 12.
[0078] Primeiro, um processo de codificação de vídeo para codificar os dados de vídeo será descrito. O processo de codificação de vídeo é executado usando a unidade de controle de codificação 12 e a unidade de codificação de imagem 13.
[0079] A unidade de controle de codificação 12 determina a ordem de codificação, o modo de codificação (por exemplo, intracodificação, predição progressiva, ou predição bidirecional), etc. para cada imagem de acordo com a estrutura GOP sinalizada pela unidade de controle 11. Então, com base no modo de codificação, na posição dentro da estrutura GOP, etc. de cada imagem, a unidade de controle de codificação 12 determina o intervalo de inserção de imagem CRA, o número de imagens a ser reordenadas no tempo de codificação e o atraso de exibição máximo. No exemplo ilustrado na Figura 2, o intervalo de inserção de imagem CRA é 12, o número de imagens a ser reordenada é 2 e o atraso de exibição máximo é 5. A unidade de controle de codificação 12 gera a informação de cabeçalho de cada imagem com base nestes valores.
[0080] Por exemplo, se o tipo de imagem for a imagem I (imagem CRA) que é codificada sem se referir a qualquer outra imagem, e se a imagem não for a imagem inicial dos dados de vídeo codificados, a unidade de controle de codificação 12 estabelece NalUnitType no NUH 420 de cada porção da imagem para 12. NalUnitType no NUH 420 de cada porção da imagem inicial dos dados de vídeo codificados é estabelecido para 10 (imagem IDR). Adicionalmente, quando o número de imagens a ser reordenadas não é menor que 1, a unidade de controle de codificação 12 estabelece NalUnitType para 14 (imagem TFD) para uma imagem imediatamente seguinte à imagem CRA e que se refere a uma imagem que está mais cedo tanto na ordem de decodificação quanto na ordem de exibição do que a imagem CRA. Por outro lado, para uma imagem imediatamente seguinte à imagem CRA e que não se refere a qualquer imagem que precede a imagem CRA no tempo de exibição e que está mais cedo tanto na ordem de decodificação quanto na ordem de exibição do que a imagem CRA, a unidade de controle de codificação 12 estabelece NalUnitType para 13 (imagem DLP). Para as outras imagens, a unidade de controle de codificação 12 estabelece NalUnitType para 1 ou 2 (imagem TP).
[0081] A unidade de controle de codificação 12 notifica a unidade de codificação de imagem 13 do valor de NalUnitType que tenha sido estabelecido no cabeçalho NUH 420 de cada porção da imagem a ser codificada. Adicionalmente, a unidade de controle de codificação 12 obtém os valores do atraso de decodificação CpbRemovalDelay e do atraso de exibição DpbOutputDelay na PTSEI de cada imagem da estrutura de predição de imagem, tal como mostrado na Figura 2, e notifica a unidade de codificação de imagem 13 desta maneira.
[0082] Quando NalUnitType no NUH 420 de cada porção da imagem é 10 ou 12, a unidade de controle de codificação 12 anexa BPSEI a essa imagem.
[0083] Para cada imagem, a unidade de controle de codificação 12 sinaliza o modo de codificação e a informação de cabeçalho da imagem para a unidade de codificação de imagem 13, e emite uma instrução para codificar a imagem.
[0084] A unidade de codificação de imagem 13, em resposta à instrução da unidade de controle de codificação 12, codifica a imagem com o modo de codificação especificado ao empregar um dos métodos de codificação de vídeo capazes de codificação preditiva interqua- dros. O método de codificação vídeo que a unidade de codificação de imagem 13 emprega pode ser, por exemplo, MPEG-4 AVC/H.264 ou MPEG-2. A unidade de codificação de imagem 13 armazena os dados de vídeo codificados, contendo cada imagem codificada, em uma unidade de armazenamento (não representada).
[0085] A seguir, um processo de edição executado ao juntar dois fluxos de dados de vídeo codificados será descrito. O processo de edição é executado usando a unidade de processamento de informação de identificação de ponto de junção 14 e a unidade de junção de dados 15.
[0086] A unidade de processamento de informação de identificação de ponto de junção 14 lê em uma unidade de armazenamento (não representada) os dois fluxos de dados de vídeo codificados selecionados, por exemplo, por meio de uma unidade de interface de usuário (não representada). Então, de acordo com um sinal de controle aplicado externamente (não representado), a unidade de processamento de informação de identificação de ponto de junção 14 identifica a imagem inicial de ponto de junção no segundo fluxo de dados de vídeo codificados a ser juntado temporalmente a jusante do outro fluxo dos fluxos de dados de vídeo codificados. O sinal de controle externo especifica, por exemplo, o número de imagens codificadas tal como contado a partir do começo do segundo fluxo de dados de vídeo codificados, e a unidade de processamento de informação de identificação de ponto de junção 14 identifica, por exemplo, a imagem CRA mais recente dentro deste número de imagens codificadas como sendo a imagem de ponto de junção.
[0087] Para a imagem CRA de ponto de junção assim identificada, se o número de imagens a ser reordenadas não for menor que 1, a unidade de processamento de informação de identificação de ponto de junção 14 muda o valor do NalUnitType de cada porção dessa imagem de 12 para 7 que indica que a imagem é uma imagem BLA que poten-cialmente pode ser seguida por uma imagem TFD. Este valor NalU- nitType indica que os dois fluxos de dados de vídeo codificados foram unidos conjuntamente nesse ponto de junção, e também que uma ou mais imagens codificadas mais tarde que a imagem BLA de ponto de junção tanto na ordem de codificação quanto na ordem de decodifica- ção foram descartadas. Adicionalmente, a unidade de processamento de informação de identificação de ponto de junção 14 fornece a imagem CRA de ponto de junção e suas imagens subsequentes no segundo fluxo de dados de vídeo codificados para a unidade de junção de dados 15, e emite uma instrução para descartar a imagem TFD imediatamente seguinte à imagem CRA de ponto de junção. Por outro lado, se o número de imagens a ser reordenadas for 0, a unidade de processamento de informação de identificação de ponto de junção 14 muda o valor do NalUnitType de cada porção da imagem CRA de ponto de junção de 12 para 9 que indica que a imagem é uma imagem BLA e que imediatamente após a mesma nem uma imagem TFD nem uma imagem DLP aparece.
[0088] A seguir, a unidade de processamento de informação de identificação de ponto de junção 14 calcula o intervalo de decodifica- ção da imagem TFD a ser descartada, e o valor do campo NumRemo- vedTfds de uma imagem não TFD precedendo imediatamente a imagem TFD a ser descartada é incrementado por um valor igual ao intervalo de decodificação da imagem TFD descartada seguinte à imagem não TFD. Quando o intervalo de decodificação de cada imagem é igual, o valor do campo NumRemovedTfds da imagem não TFD representará eventualmente o número de imagens descartadas em unidades de campos seguintes à imagem não TFD na ordem de decodifica- ção. Então, a unidade de processamento de informação de identificação de ponto de junção 14 corrige o valor do campo NumRemovedT- fds da PTSEI anexada a qualquer imagem que precede na ordem de decodificação a imagem TFD a ser descartada no segundo fluxo de dados de vídeo codificados.
[0089] A unidade de junção de dados 15 recebe o segundo fluxo de dados de vídeo codificados da unidade de processamento de informação de identificação de ponto de junção 14, e o junta à extremidade posterior do primeiro fluxo de dados de vídeo codificados que é juntado temporalmente a montante do ponto de junção. Neste tempo, a unidade de junção de dados 15 descarta qualquer imagem TFD imediatamente seguinte à imagem inicial no segundo fluxo de dados de vídeo codificados e que não esteja garantida para ser decodificada corretamente. Neste caso, a unidade de junção de dados 15 também pode descartar uma imagem DLP ao considerá-la como uma imagem TFD. Então, a unidade de junção de dados 15 armazena na unidade de armazenamento (não representada) os dados de vídeo codificados juntados, criados ao unir conjuntamente os primeiro e segundo fluxos de dados de vídeo codificados.
[0090] A Figura 6 é um fluxograma de operação ilustrando o processo de codificação de vídeo executado pelo aparelho de codificação de vídeo de acordo com a primeira modalidade. O aparelho de codificação de vídeo 1 codifica a sequência de vídeo completa de acordo com o fluxograma de operação da Figura 6.
[0091] Antes de iniciar o processo de codificação para a sequência completa, a estrutura de predição de imagem tal como a estrutura GOP é determinada, por exemplo, pela unidade de controle 11 (etapa S101). A estrutura de predição de imagem determinada é indicada para a unidade de controle de codificação 12.
[0092] Então, com base na estrutura de predição de imagem, na posição da imagem alvo a partir do início dos dados de vídeo, etc., a unidade de controle de codificação 12 determina o modo de codifica- ção a ser aplicado para codificar a imagem alvo, e gera a informação de cabeçalho da imagem alvo a ser codificada (etapa S102).
[0093] Após a etapa S102, a unidade de controle de codificação 12 fornece os dados da imagem alvo para a unidade de codificação de imagem 13 juntamente com o tipo do modo de codificação e a informação de cabeçalho dessa imagem. Então, a unidade de codificação de imagem 13 codifica a imagem alvo de acordo com o modo de codificação e a informação de cabeçalho, e anexa a informação de cabeçalho aos dados da imagem codificada (etapa S103).
[0094] Depois disso, a unidade de controle 11 determina se existe qualquer imagem remanescente para ser codificada na sequência de vídeo (etapa S104). Se existir alguma imagem remanescente para ser codificada (Sim na etapa S104), a unidade de controle 11 executa o processo da etapa S102 para frente para codificar a próxima imagem alvo. Por outro lado, se não existir mais qualquer imagem remanescente para ser codificada (Não na etapa S104), a unidade de controle 11 termina o processo de codificação.
[0095] A Figura 7 é um fluxograma de operação ilustrando o processo de edição de vídeo executado pelo aparelho de codificação de vídeo de acordo com a primeira modalidade. No exemplo ilustrado, imagens DLP não são descartadas, mas somente imagens TFD são descartadas.
[0096] A unidade de processamento de informação de identificação de ponto de junção 14 inicializa uma lista L[ ] de imagens que não são descartadas entre as imagens TFD e DLP, e inicializa com 2 uma variável m que representa o valor obtido ao adicionar 2 ao número de imagens não descartadas (etapa S201). Se não existir imagem TFD seguinte à última imagem DLP na ordem de decodificação, a variável m pode ser estabelecida para representar o número de imagens não descartadas entre as imagens TFD e DLP.
[0097] A seguir, a unidade de processamento de informação de identificação de ponto de junção 14 lê sequencialmente na unidade de armazenamento (não representada) as imagens codificadas até o ponto de junção fora do primeiro fluxo de dados de vídeo codificados a ser juntado a montante do ponto de junção (etapa S202).
[0098] Adicionalmente, a unidade de processamento de informação de identificação de ponto de junção 14 lê sequencialmente na unidade de armazenamento (não representada) as imagens codificadas após o ponto de junção do segundo fluxo de dados de vídeo codificados a ser juntado a jusante do ponto de junção (etapa S203). A seguir, para a imagem CRA inicial lida do segundo fluxo de dados de vídeo codificados, a unidade de processamento de informação de identificação de ponto de junção 14 muda o valor de NalUnitType em cada NUH de porção para o valor que indica uma imagem BLA (etapa S204).
[0099] A seguir, a unidade de processamento de informação de identificação de ponto de junção 14 determina se o valor de NalU- nitType da próxima imagem na ordem de decodificação é 14 ou não, isto é, se a próxima imagem é uma imagem TFD ou não (etapa S205). Se a imagem for uma imagem TFD (Sim na etapa S205), a unidade de processamento de informação de identificação de ponto de junção 14 emite uma instrução para a unidade de junção 15 para descartar a imagem TFD, e adiciona o intervalo de decodificação dessa imagem TFD, isto é, a diferença em valor CpbRemovalDelay PTSEI entre essa imagem TFD e a imagem imediatamente precedente na ordem de de- codificação, a cada uma das entradas de ordem zero à de ordem m na lista [ ] (etapa S206). Depois disso, a unidade de processamento de informação de identificação de ponto de junção 14 retorna para a etapa S205 para avaliar o NalUnitType da próxima imagem.
[00100] Por outro lado, se a imagem não for uma imagem TFD (Não na etapa S205), a unidade de processamento de informação de identi- ficação de ponto de junção 14 determina se o valor de NalUnitType da próxima imagem na ordem de decodificação é 13 ou não, isto é, se a próxima imagem é uma imagem DLP ou não (etapa S207). Se a próxima imagem for uma imagem DLP (Sim na etapa S207), a unidade de processamento de informação de identificação de ponto de junção 14 incrementa a variável m por 1 (etapa S208). Depois disso, a unidade de processamento de informação de identificação de ponto de junção 14 retorna para a etapa S205 para repetir o processo indicado anteriormente. Por outro lado, se a próxima imagem na ordem de decodifi- cação não for uma imagem DLP (Não na etapa S207), a próxima imagem não é uma imagem TFD nem uma imagem DLP, mas é uma imagem TP. Não existe imagem TFD seguinte à imagem TP na ordem de decodificação. Portanto, com base na lista L[ ], a unidade de processamento de informação de identificação de ponto de junção 14 atualiza o campo NumRemovedTfds da PTSEI anexada a cada uma das imagens BLA e DLP (etapa S209). Mais especificamente, para as imagens não TFD até a imagem de ordem m na ordem de decodificação tal como contada a partir da imagem BLA, a unidade de processamento de informação de identificação de ponto de junção 14 atualiza o valor do campo NumRemovedTfds da PTSEI anexada à imagem de ordem k para L[k]. Depois disso, a unidade de processamento de informação de identificação de ponto de junção 14 fornece a imagem BLA e suas imagens subsequentes para a unidade de junção de dados 15.
[00101] A unidade de junção 15 junta a imagem BLA e suas imagens subsequentes no segundo fluxo de dados de vídeo codificados a fim de seguir a última imagem do primeiro fluxo de dados de vídeo codificados a montante do ponto de junção. Neste tempo, a unidade de junção 15 descarta as imagens TFD especificadas pela unidade de processamento de informação de identificação de ponto de junção 14 para serem removidas.
[00102] A seguir, será dada uma descrição do aparelho de decodifi- cação de vídeo para decodificar os dados de vídeo codificados ou editados pelo aparelho de codificação de vídeo 1 de acordo com a primeira modalidade.
[00103] A Figura 8 é um diagrama de blocos simplificado do aparelho de decodificação de vídeo de acordo com a primeira modalidade. O aparelho de decodificação de vídeo 2 inclui uma unidade de controle 21, uma unidade de análise de informação de cabeçalho 22, uma unidade de determinação de tempo de decodificação/exibição de imagem 23, uma unidade de decodificação de imagem 24 e uma memória de quadro 25. Cada uma destas unidades constituindo o aparelho de de- codificação de vídeo 2 é implementada como um circuito separado no aparelho de decodificação de vídeo 2. Alternativamente, estas unidades constituindo o aparelho de decodificação de vídeo 2 podem ser implementadas no aparelho de decodificação de vídeo 2 na forma de um único circuito integrado ao qual os circuitos implementando as funções das respectivas unidades são integrados. Adicionalmente, estas unidades constituindo o aparelho de decodificação de vídeo 2 podem ser módulos funcionais implementados ao executar um programa de computador em um processador incorporado ao aparelho de decodifi- cação de vídeo 2.
[00104] A unidade de controle 21 controla a operação de cada unidade designada do aparelho de decodificação de vídeo 2 ao decodificar os dados de vídeo codificados.
[00105] A unidade de análise de informação de cabeçalho 22 analisa a informação de cabeçalho dos dados de vídeo codificados, e passa os parâmetros necessários para a determinação dos tempos de de- codificação e de exibição de imagem, por exemplo, NalUnitType de cada imagem e CpbRemovalDelay, DpbOutputDelay e NumRemove- dTfds transportados em PTSEI, para a unidade de determinação de tempo de decodificação/exibição de imagem 23.
[00106] A imagem de determinação de tempo de decodifica- ção/exibição de imagem 23 que recebeu os parâmetros da unidade de análise de informação de cabeçalho 22 verifica o NUH de porção da imagem a ser decodificada. Quando o valor de NalUnitType transportado no NUH é 7 ou 8 ou 9, a unidade de determinação de tempo de decodificação/exibição de imagem 23 determina que a imagem a ser decodificada é uma imagem BLA.
[00107] Quando a imagem a ser decodificada é uma imagem BLA, a unidade de determinação de tempo de decodificação/exibição de imagem 23 usa, como o atraso de decodificação CpbRemovalDelay da imagem BLA, o valor calculado no modo seguinte, e não o valor do CpbRemovalDelay transportado na PTSEI anexada à imagem BLA.
[00108] A unidade de determinação de tempo de decodifica- ção/exibição de imagem 23 calcula a soma A de intervalos de decodi- ficação de imagens contados a partir da imagem imediatamente seguinte à imagem anexada à BPSEI mais recente antes da imagem BLA até a imagem BLA. Então, a unidade de determinação de tempo de decodificação/exibição de imagem 23 estabelece o atraso de deco- dificação CpbRemovalDelay da imagem BLA igual a A. Quando o intervalo de decodificação de cada imagem é igual, a unidade de determinação de tempo de decodificação/exibição de imagem 23 pode estabelecer o atraso de decodificação CpbRemovalDelay da imagem BLA igual ao número de imagens contadas em unidades de campos a partir da imagem imediatamente seguinte à imagem anexada à BPSEI mais recente antes da imagem BLA até a imagem BLA.
[00109] Adicionalmente, a unidade de determinação de tempo de decodificação/exibição de imagem 23 verifica o campo NumRemove- dTfds da PTSEI anexada à imagem BLA. Se o valor de NumRemove- dTfds não for zero, a unidade de determinação de tempo de decodifi- cação/exibição de imagem 23 determina que a imagem TFD imediatamente seguinte à imagem BLA foi descartada, e corrige o atraso de exibição CpbRemovalDelay da imagem BLA ao subtrair o valor de NumRemovedTfds do valor do atraso de exibição CpbRemovalDelay da imagem BLA.
[00110] A unidade de determinação de tempo de decodifica- ção/exibição de imagem 23 executa adicionalmente o processamento seguinte em cada imagem seguinte à imagem BLA na ordem de deco- dificação até a próxima imagem anexada à BPSEI aparecer.
[00111] Para cada imagem designada, a unidade de determinação de tempo de decodificação/exibição de imagem 23 corrige o atraso de decodificação CpbRemovalDelay ao subtrair do valor original de CpbRemovalDelay a diferença entre o valor de NumRemovedTfds transportado na PTSEI anexada à imagem BLA e o valor de NumRe- movedTfds transportada na PTSEI anexada à imagem designada (isto é, a soma dos intervalos de decodificação das imagens descartadas que ocorreram após a imagem designada). Adicionalmente, para cada imagem designada, a unidade de determinação de tempo de decodifi- cação/exibição de imagem 23 corrige o atraso de exibição DpbOutputDelay ao subtrair do valor original de DpbOutputDelay o valor de NumRemovedTfds transportado na PTSEI anexada à imagem designada.
[00112] Adicionalmente, para cada imagem TP, a unidade de determinação de tempo de decodificação/exibição de imagem 23 corrige o atraso de decodificação CpbRemovalDelay ao subtrair do valor original do atraso de decodificação CpbRemovalDelay dessa imagem o valor de NumRemovedTfds transportado na PTSEI anexada à imagem BLA.
[00113] Para qualquer outra imagem além das imagens indicadas acima, a unidade de determinação de tempo de decodificação/exibição de imagem 23 determina o atraso de decodificação CpbRemovalDelay e o atraso de exibição DpbOutputDelay da imagem ao pegar diretamente os valores de CpbRemovalDelay e DpbOutputDelay transportados na PTSEI anexada a essa imagem.
[00114] A unidade de determinação de tempo de decodifica- ção/exibição de imagem 23 determina o tempo de decodificação de cada imagem com base no atraso de decodificação CpbRemovalDelay indicado acima, e emite uma instrução de decodificação para a unidade de decodificação de imagem 24 no tempo de decodificação determinado. Adicionalmente, a unidade de determinação de tempo de de- codificação/exibição de imagem 23 determina o tempo de exibição de cada imagem com base no atraso de exibição DpbOutputDelay indicado acima, e emite uma instrução de exibição para a memória de quadro 25 no tempo de exibição determinado.
[00115] Ao receber a instrução de decodificação para a imagem a ser decodificada, a unidade de decodificação de imagem 24 decodifica a imagem ao usar uma imagem de referência armazenada na memória de quadro 25. Então, a unidade de decodificação de imagem 24 armazena a imagem decodificada na memória de quadro 25. A unidade de decodificação de imagem 24 executa a decodificação ao empregar o mesmo método de codificação empregado pela unidade de codificação de imagem no aparelho de codificação de vídeo 1.
[00116] A memória de quadro 25 armazena a imagem decodificada. Adicionalmente, a memória de quadro 25 envia a imagem decodificada para a unidade de decodificação de imagem 24 para apresentar uma imagem de referência para uma imagem a ser decodificada subsequentemente. A memória de quadro 25 também envia a imagem decodificada para uma unidade de exibição (não representada) de acordo com a instrução de exibição recebida da unidade de determinação de tempo de decodificação/exibição de imagem 23.
[00117] A Figura 9 é um fluxograma de operação ilustrando o processo de decodificação de vídeo executado pelo aparelho de decodifi- cação de vídeo de acordo com a primeira modalidade. O aparelho de decodificação de vídeo 2 decodifica a sequência de vídeo completa de acordo com o fluxograma de operação da Figura 9.
[00118] Antes de iniciar o processo de decodificação para a sequência completa, a unidade de controle 21 inicializa uma variável "sinalização" como 0 (etapa S301). A variável "sinalização" é uma variável que indica se a imagem é uma imagem não BLA cujos CpbRemo- valDelay e DpbOutputDelay necessitam correção. Se a sinalização for 1, CpbRemovalDelay e DpbOutputDelay necessitam correção, e se a sinalização for 0, nem CpbRemovalDelay nem DpbOutputDelay necessitam de correção.
[00119] A seguir, a unidade de análise de informação de cabeçalho 22 analisa a informação de cabeçalho da imagem a ser decodificada, e passa os parâmetros necessários para determinar o tempo de decodi- ficação e o tempo de exibição da imagem para a unidade de determinação de tempo de decodificação/exibição de imagem 23 (etapa S302). A unidade de determinação de tempo de decodifica- ção/exibição de imagem 23 determina se a variável "sinalização" é 1 ou não (etapa S303). Se a variável "sinalização" for 1 (Sim na etapa S303), a unidade de determinação de tempo de decodificação/exibição de imagem 23 corrige o atraso de decodificação CpbRemovalDelay da imagem a ser decodificada, a qual, neste caso, é uma imagem não BLA, ao usar o NumRemovedTfds da imagem a ser decodificada e o NumRemovedTfds da imagem BLA mais recente (etapa S304). A unidade de determinação de tempo de decodificação/exibição de imagem 23 também corrige o atraso de exibição DpbOutputDelay da imagem a ser decodificada, ao usar o NumRemovedTfds da imagem a ser decodificada.
[00120] Após a etapa S304, ou após ser determinado na etapa S303 que a variável "sinalização" é 0 (Não na etapa S303), a unidade de determinação de tempo de decodificação/exibição de imagem 23 prossegue para determinar se a imagem a ser decodificada é uma imagem anexada à BPSEI ou não (etapa S305).
[00121] Se a imagem a ser decodificada for uma imagem anexada à BPSEI (Sim na etapa S305), a unidade de determinação de tempo de decodificação/exibição de imagem 23 determina se a imagem a ser decodificada é uma imagem BLA ou não (etapa S306). Se a imagem a ser decodificada não for uma imagem BLA (Não etapa S306), a unidade de determinação de tempo de decodificação/exibição de imagem 23 restabelece a variável "sinalização" para 0 (etapa S307).
[00122] Se a imagem a ser decodificada for uma imagem BLA (Sim na etapa S306), a unidade de determinação de tempo de decodifica- ção/exibição de imagem 23 corrige o atraso de decodificação CpbRe- movalDelay e o atraso de exibição DpbOutputDelay da imagem, e estabelece a variável "sinalização" para 1 (etapa S308). Neste caso, a unidade de determinação de tempo de decodificação/exibição de imagem 23 determina o atraso de decodificação CpbRemovalDelay da imagem BLA ao usar a soma de intervalos de decodificação de imagens contados a partir da imagem imediatamente seguinte à imagem anexada à BPSEI mais recente até a imagem BLA. Adicionalmente, a unidade de determinação de tempo de decodificação/exibição de imagem 23 determina o atraso de exibição DpbOutputDelay da imagem ao subtrair o valor de NumRemovedTfds do valor original de DpbOutputDelay.
[00123] Após a etapa S307 ou S308, ou após ser determinada na etapa S305 que a imagem a ser decodificada não é uma imagem anexada à BPSEI (Não na etapa S305), a unidade de controle 21 prossegue para determinar se existe qualquer imagem remanescente para ser decodificada nos dados de vídeo codificados (etapa S309). Se existir alguma imagem remanescente para ser decodificada (Sim na etapa S309), a unidade de controle 21 retorna o processo para a etapa S302. Então, a imagem a ser decodificada a seguir na ordem de deco- dificação é considerada como a imagem alvo, e o processo de início da etapa S302 é repetido. Por outro lado, se não existir mais nenhuma imagem remanescente para ser decodificada (Não na etapa S309), a unidade de controle 21 termina o processo de decodificação de vídeo.
[00124] O método de derivar NumRemovedTfds e o método de corrigir CpbRemovalDelay e DpbOutputDelay descritos até agora serão ilustrados a título de exemplo com referência à Figura 10.
[00125] Cada bloco no primeiro fluxo de dados de vídeo codificados 1001 a ser juntado a montante do ponto de junção representa uma imagem, e os caracteres transportados em cada bloco indicam o modo de codificação e a ordem de entrada no aparelho de codificação de vídeo, tal como na Figura 2.
[00126] No exemplo ilustrado, o segundo fluxo de dados de vídeo codificados 1002 é juntado imediatamente seguinte à última imagem B11 do primeiro fluxo de dados de vídeo codificados. Também no segundo fluxo de dados de vídeo codificados 1002 cada bloco representa uma imagem, e os caracteres transportados em cada bloco indicam o modo de codificação e a ordem de entrada no aparelho de codificação de vídeo. Setas representadas acima do segundo fluxo de dados de vídeo codificados 1002 indicam as imagens de referência às quais as imagens B4 a B7, respectivamente, se referem quando codificadas por predição de quadro progressiva. Por outro lado, setas representadas abaixo do segundo fluxo de dados de vídeo codificados 1002 indicam as imagens de referência às quais as imagens B4 a B7, respectivamente, se referem quando codificadas por predição de quadro regressiva.
[00127] No segundo fluxo de dados de vídeo codificados 1002, as imagens B4, B2, B1, B3 e B5 são imagens TFD, tal como designado abaixo do segundo fluxo de dados de vídeo codificados 1002. As imagens B6 e B7 são imagens DLP.
[00128] Um conjunto de blocos 1003 apresentado abaixo do segundo fluxo de dados de vídeo codificados 1002 indica os valores do atraso de decodificação CpbRemovalDelay e do atraso de exibição DpbOutputDelay transportados em PTSEI anexada a cada imagem do segundo fluxo de dados de vídeo codificados 1002. Cada bloco na fileira superior do conjunto de blocos 1003 carrega o valor do atraso de decodificação CpbRemovalDelay para a imagem correspondente no segundo fluxo de dados de vídeo codificados 1002 localizada diretamente acima desse bloco. Igualmente, cada bloco na fileira inferior do conjunto de blocos 1003 carrega o valor do atraso de exibição DpbOutputDelay para a imagem correspondente no segundo fluxo de dados de vídeo codificados 1002 localizada diretamente acima desse bloco.
[00129] Os dados de vídeo codificados juntados 1004 gerados ao juntar os primeiro e segundo fluxos de dados de vídeo codificados 1001 e 1002 estão representados abaixo do conjunto de blocos 1003. No exemplo ilustrado, as imagens TFD B4, B2, B1, B3 e B5 no segundo fluxo de dados de vídeo codificados 1002 são descartadas e, portanto, não estão contidas nos dados de vídeo codificados juntados 1004.
[00130] O NumRemovedTfds 1005 dos dados de vídeo codificados juntados 1004 está representado abaixo do conjunto de blocos 1004. O campo NumRemovedTfds da imagem BLA I8 carrega a soma dos intervalos de decodificação das imagens TFD descartadas (B4, B2, B1, B3 e B5) seguintes à I8 na ordem de decodificação, isto é, no exemplo ilustrado, o valor "10" que representa o número de imagens em unidades de campos que tenham sido descartadas após I8. De forma similar, o campo NumRemovedTfds da imagem DLP B6 carrega a soma dos intervalos de decodificação das imagens TFD descartadas (B5) seguintes à B6 na ordem de decodificação, isto é, no exemplo ilustrado, o valor "2" que representa o número de imagens em unidades de campos que tenham sido descartadas após B6. Para a imagem B7 e suas imagens subsequentes, o valor de NumRemovedTfds permanece 0 porque não existem imagens TFD descartadas seguintes na ordem de decodificação.
[00131] Um conjunto de blocos 1006 apresentado abaixo do Num- RemovedTfds 1005 dos dados de vídeo codificados juntados 1004 indica os valores do atraso de decodificação CpbRemovalDelay e do atraso de exibição DpbOutputDelay dos dados de vídeo codificados juntados 1004 que tenham sido corrigidos com base nos valores NumRemovedTfds. Cada bloco na fileira superior do conjunto de blocos 1006 carrega o valor corrigido do atraso de decodificação CpbRe- movalDelay para a imagem localizada diretamente acima desse bloco, e cada bloco na fileira inferior do conjunto de blocos 1006 carrega o valor corrigido do atraso de exibição DpbOutputDelay para a imagem localizada diretamente acima desse bloco.
[00132] Para a imagem BLA I8, o valor corrigido do atraso de exibição DpbOutputDelay é dado como "10" ao subtrair o valor NumRemo- vedTfds "10" do valor original "20" do atraso de exibição DpbOutputDelay. Deste modo, não somente o valor original, mas também o valor corrigido do atraso de exibição DpbOutputDelay da imagem I8 pode ser expressado em termos da diferença entre o tempo de decodificação e o tempo de exibição da imagem I8 obtida pela referência ao tempo de exibição da imagem B9 para a qual o número de imagens a ser reordenadas é o maior entre as imagens seguintes à imagem I8.
[00133] Para a imagem DLP B6, o valor corrigido do atraso de de- codificação CpbRemovalDelay é dado como "2" ao subtrair a diferença "8" entre o valor NumRemovedTfds (=10) da imagem I8 e o valor NumRemovedTfds (=2) da imagem B6 do valor original "10" do atraso de decodificação CpbRemovalDelay. Adicionalmente, o valor corrigido do atraso de exibição DpbOutputDelay da imagem B6 é dado como "4" ao subtrair o valor NumRemovedTfds (=2) da imagem B6 do valor original "6" do atraso de exibição DpbOutputDelay. Para a imagem B7 e suas imagens subsequentes, uma vez que o valor NumRemovedTfds é 0, o valor corrigido do atraso de decodificação CpbRemovalDelay é obtido ao subtrair o valor NumRemovedTfds da imagem I8 do valor original do atraso de decodificação CpbRemovalDelay. Para a imagem B7 e suas imagens subsequentes, o atraso de exibição DpbOutputDelay permanece inalterado.
[00134] Tal como foi descrito anteriormente, quando dois ou mais fluxos de dados de vídeo codificados são unidos conjuntamente sem antes decodificá-los, o aparelho de codificação de vídeo de acordo com a presente modalidade necessita somente armazenar dentro dos dados de vídeo codificados os parâmetros de correção de atraso de decodificação e de atraso de exibição determinados com base no número de imagens descartadas no tempo de junção, e não necessita corrigir os parâmetros de atraso de decodificação e de atraso de exibição determinados no tempo de codificação. Então, uma vez que o atraso de decodificação e o atraso de exibição de cada imagem podem ser corrigidos usando os parâmetros de correção de atraso de decodificação e de atraso de exibição adicionados ao tempo de juntar os fluxos de dados de vídeo codificados, o aparelho de decodificação de vídeo de acordo com a presente modalidade pode decodificar e exibir cada imagem no sincronismo correto.
[00135] A seguir, uma segunda modalidade será descrita. A segun- da modalidade difere da primeira modalidade na estrutura dos dados de vídeo codificados.
[00136] Referindo-se à Figura 11, a estrutura dos dados de vídeo codificados de acordo com a segunda modalidade será descrita. Em comum com a estrutura de imagem codificada de acordo com a primeira modalidade, representada na Figura 4, a estrutura de dados 1100 de uma imagem contém os seis tipos das unidades NAL 1110 a 1115. Destas, a BPSEI 1113 e a PTSEI 1114 são diferentes da BPSEI 413 e da PTSEI 414 representadas na Figura 4. Por outro lado, a DELIM 1110, SPS 1111, PPS 1112, SLICE 1115 e o NUH 1120 são idênticos à DELIM 410, SPS 411, PPS 412, SLICE 415 e ao NUH 420, respectivamente, representados na Figura 4.
[00137] A BPSEI 1113 contém um campo NumEntries que carrega um número calculado ao adicionar 1 à variável m que representa o valor obtido ao adicionar 2 ao número de imagens não descartadas no tempo de junção entre as imagens TFD e DLP localizadas entre uma imagem BLA e a próxima imagem CRA. A BPSEI 1113 contém adicionalmente tantos campos AltCpbRemovalDelayOffset e campos AltD- pbOutputDelayOffset quantos NumEntries existem. O campo NumEntries, o campo AltCpbRemovalDelayOffset e o campo AltD- pbOutputDelayOffset conjuntamente constituem um outro exemplo da informação de correção usada para a correção do atraso de decodifi- cação e do atraso de exibição. Por outro lado, a PTSEI 1140, ao contrário da PTSEI 440, não contém o campo NumRemovedTfds.
[00138] Quando o valor do campo NumEntries é 0, o aparelho de decodificação de vídeo não necessita corrigir os valores de CpbRemo- valDelay e DpbOutputDelay para qualquer uma de a imagem anexada à BPSEI e suas imagens subsequentes (precedendo a próxima imagem anexada à BPSEI). Por outro lado, quando o valor do campo NumEntries não é 0, o aparelho de decodificação de vídeo corrige o atra- so de decodificação CpbRemovalDelay da imagem de ordem k na ordem de decodificação tal como contada a partir da imagem anexada à BPSEI ao subtrair o valor de AltCpbRemovalDelayOffset [k] do valor original do atraso de decodificação CpbRemovalDelay. Igualmente, o aparelho de decodificação de vídeo corrige o atraso de exibição DpbOutputDelay ao subtrair o valor de AltDpbOutputDelayOffset [k] do valor original do atraso de exibição DpbOutputDelay.
[00139] Tal como descrito anteriormente, a diferença para a primeira modalidade está no tipo de SEI que carrega os valores corrigidos dos campos CpbRemovalDelay e DpbOutputDelay. Portanto, o aparelho de codificação de vídeo da segunda modalidade difere do aparelho de codificação de vídeo da primeira modalidade na operação da unidade de processamento de informação de identificação de ponto de junção 14. O exposto a seguir, portanto, descreve a operação da unidade de processamento de informação de identificação de ponto de junção 14.
[00140] A unidade de processamento de informação de identificação de ponto de junção 14 armazena no campo NumEntries o valor obtido ao adicionar 1 à variável m calculada de acordo com o fluxo- grama de operação do processo de edição de vídeo ilustrado na Figura 7. Adicionalmente, a unidade de processamento de informação de identificação de ponto de junção 14 armazena o valor de L [0]-L[k] no campo AltCpbRemovalDelayOffset de ordem k (k = [0, m-1]). Ela também armazena o valor de L[k] no AltDpbOutputDelayOffset de ordem k.
[00141] A seguir, a operação do aparelho de decodificação de vídeo de acordo com a segunda modalidade será descrita. A configuração do aparelho de decodificação de vídeo de acordo com a segunda modalidade é essencialmente igual àquela do aparelho de decodificação de vídeo de acordo com a primeira modalidade. Entretanto, o aparelho de decodificação de vídeo da segunda modalidade difere daquele da primeira modalidade na operação da unidade de determinação de tempo de decodificação/exibição de imagem 23. O exposto a seguir, portanto, descreve a operação da unidade de determinação de tempo de decodificação/exibição de imagem 23.
[00142] Somente quando o valor do campo NumEntries na BPSEI da imagem anexada à BPSEI precedendo imediatamente a imagem a ser decodificada não é zero, a unidade de determinação de tempo de decodificação/exibição de imagem 23 corrige os valores do atraso de decodificação CpbRemovalDelay e do atraso de exibição DpbOutputDelay na PTSEI da imagem no modo indicado a seguir.
[00143] A ordem de decodificação da imagem tal como contada a partir da imagem anexada à BPSEI (neste caso, uma imagem BLA) precedendo-a imediatamente é denotada como k (k = 0, 1, 2, ...). Quando k é igual ou maior que NumEntries, a unidade de determinação de tempo de decodificação/exibição de imagem 23 corrige o valor do atraso de decodificação CpbRemovalDelay ao subtrair o valor de AltCpbRemovalDelayOffset [NumEntries-1] do valor original do atraso de decodificação CpbRemovalDelay da imagem de ordem k. Por outro lado, quando k é menor que NumEntries, a unidade de determinação de tempo de decodificação/exibição de imagem 23 corrige o valor de CpbRemovalDelay para a imagem de ordem k ao subtrair o valor de AltCpbRemovalDelayOffset [k] do valor original do atraso de decodifi- cação CpbRemovalDelay, e corrige o valor de DpbOutputDelay ao subtrair o valor de AltDpbOutputDelayOffset do valor original do atraso de exibição DpbOutputDelay.
[00144] A Figura 12 é um diagrama ilustrando a configuração de um computador que opera como o aparelho de codificação de vídeo ou o aparelho de decodificação de vídeo ao executar um programa de computador para implementar as funções das várias unidades no apa- relho de codificação de vídeo ou no aparelho de decodificação de vídeo de acordo com qualquer uma das modalidades indicadas anteriormente ou seus exemplos modificados.
[00145] O computador 100 inclui uma unidade de interface de usuário 101, uma unidade de interface de comunicação 102, uma unidade de armazenamento 103, um dispositivo de acesso à mídia de armazenamento 104 e um processador 105. O processador 105 é conectado à unidade de interface de usuário 101, à unidade de interface de comunicação 102, à unidade de armazenamento 103 e ao dispositivo de acesso a mídia de armazenamento 104, por exemplo, por meio de um barramento.
[00146] A unidade de interface de usuário 101 inclui, por exemplo, um dispositivo de entrada tal como um teclado e um mouse, e um dispositivo de exibição tal como uma tela de cristal líquido. Alternativamente, a unidade de interface de usuário 101 pode incluir um dispositivo, tal como um painel de toque exibição, no qual um dispositivo de entrada e um dispositivo de exibição sejam integrados. A unidade de interface de usuário 101 gera, por exemplo, em resposta a uma operação de usuário, um sinal de operação para selecionar dados de vídeo a ser codificados, dados de vídeo codificados a ser editados, ou dados de vídeo codificados a ser decodificados, e fornece o sinal de operação para o processador 105. A unidade de interface 101 também pode exibir os dados de vídeo decodificados recebidos do processador 105.
[00147] A unidade de interface de comunicação 102 pode incluir uma interface de comunicação para conectar o computador 100 a um aparelho de geração de dados de vídeo, por exemplo, uma câmera de vídeo, e um circuito de controle para a interface de comunicação. Uma interface de comunicação como esta pode ser, por exemplo, uma interface de Barramento Serial Universal (USB).
[00148] Adicionalmente, a unidade de interface de comunicação 102 pode incluir uma interface de comunicação para conexão a uma rede de comunicação estando de acordo com um padrão de comunicação tal como a Ethernet (marca registrada), e um circuito de controle para a interface de comunicação.
[00149] No último caso, a interface de comunicação 102 recebe dados de vídeo a serem codificados, dados de vídeo codificados a ser editados, ou dados de vídeo codificados a ser decodificados, de um outro aparelho conectado à rede de comunicação, e passa os dados recebidos para o processador 105. Adicionalmente, a interface de comunicação 102 pode receber dados de vídeo codificados, dados de vídeo codificados juntados, ou dados de vídeo codificados do processador 105 e pode transmitir os dados para um outro aparelho por meio da rede de comunicação.
[00150] A unidade de armazenamento 103 inclui, por exemplo, uma memória semicondutora legível/gravável e uma memória semiconduto- ra somente de leitura. A unidade de armazenamento 103 armazena um programa de computador para codificação de vídeo ou decodifica- ção de vídeo para ser executado no processador 105, e também armazena os dados gerados como resultado da execução do programa ou durante a mesma.
[00151] O dispositivo de acesso à mídia de armazenamento 104 é um dispositivo que acessa uma mídia de armazenamento 106 tal como um disco magnético, um cartão de memória semicondutor ou uma mídia de armazenamento óptico. O dispositivo de acesso à mídia de armazenamento 104 acessa a mídia de armazenamento 106 para ler, por exemplo, o programa de computador para codificação de vídeo ou decodificação de vídeo para ser executado no processador 105, e passa o programa de computador lido para o processador 105.
[00152] O processador 105 gera dados de vídeo codificados ao executar o programa de computador de codificação de vídeo de acor- do com qualquer uma das modalidades indicadas anteriormente ou de seus exemplos modificados. O processador 105 armazena então os dados de vídeo codificados assim gerados na unidade de armazenamento 103, ou transmite os dados gerados para um outro aparelho por meio da unidade de interface de comunicação 102. Adicionalmente, o processador 105 gera dados de vídeo codificados juntados ao unir conjuntamente dois fluxos de dados de vídeo codificados. O processador 105 armazena então os dados de vídeo codificados juntados gerados na unidade de armazenamento 103, ou transmite os dados gerados para um outro aparelho por meio da unidade de interface de comunicação 102. Além disso, o processador 105 decodifica os dados de vídeo codificados ao executar o programa de computador de decodifi- cação de vídeo de acordo com qualquer uma das modalidades indicadas anteriormente ou seus exemplos modificados. O processador 105 armazena então os dados de vídeo codificados na unidade de arma-zenamento 103, apresenta os dados para a unidade de interface de usuário 101 para exibição, ou transmite os dados para um outro aparelho por meio da unidade de interface de comunicação 102.
[00153] Um programa de computador que é executado em um computador para implementar as funções das várias unidades constituindo o aparelho de codificação de vídeo ou o aparelho de decodifica- ção de vídeo de acordo com cada uma das modalidades indicadas anteriormente ou seus exemplos modificados pode ser distribuído na forma armazenada em uma memória semicondutora ou na forma gravada em uma mídia de gravação tal como uma mídia de gravação óptica. A expressão "mídia de gravação" usada aqui não inclui uma onda transportadora.
[00154] O aparelho de codificação de vídeo e o aparelho de decodi- ficação de vídeo de acordo com as modalidades expostas anteriormente ou seus exemplos modificados são usados em várias aplica- ções. Por exemplo, o aparelho de codificação de vídeo e o aparelho de decodificação de vídeo são incorporados a uma câmera de vídeo, um aparelho de transmissão de vídeo, um aparelho de recepção de vídeo, um sistema telefônico de vídeo, um computador ou a um telefone móvel.
[00155] Todos os exemplos e linguagem condicional relatados neste documento são pretendidos para propósitos pedagógicos para ajudar o leitor a entender a invenção e os conceitos contribuídos pelo inventor para promover a técnica, e são para ser interpretados como sendo sem limitação para tais exemplos e condições relatados especificamente, e nem a organização de tais exemplos no relatório descritivo dizem respeito a uma mostra da superioridade e inferioridade da invenção. Embora as modalidades das presentes invenções tenham sido descritas detalhadamente, deve ser entendido que várias mudanças, substituições e alterações podem ser feita a ela sem divergir do espírito e do escopo da invenção.

Claims (1)

1. Sistema de codificação e decodificação de vídeo carac-terizado pelo fato de que compreende: um aparelho de codificação de vídeo para gerar dados de vídeo codificados juntados ao unir conjuntamente primeiros dados de vídeo e segundos dados de vídeo, ambos codificados usando codificação preditiva interquadros, compreendendo: uma unidade de processamento de informação de identificação de ponto de junção que obtém informação de correção de atraso de decodificação e de atraso de exibição para assegurar que, mesmo quando uma ou mais imagens que estejam mais tarde na ordem de codificação do que uma imagem codificada inicial nos segundos dados de vídeo a ser juntados a uma extremidade posterior dos primeiros dados de vídeo codificados tenham sido descartadas dentre imagens contidas nos segundos dados de vídeo, a imagem codificada inicial e imagens subsequentes contidas nos segundos dados de vídeo codificados podem ser decodificadas e exibidas continuamente por um aparelho de decodificação de vídeo, e que anexa a informação de correção aos dados de vídeo juntados; e uma unidade de junção de dados que descarta dos dados de vídeo juntados qualquer imagem que esteja mais tarde na ordem de codificação do que a imagem codificada inicial e que não seja garantida para ser decodificada corretamente se decodificação for iniciada da imagem codificada inicial, e em que a informação de correção é calculada com base em um intervalo de decodificação entre cada imagem descartada e uma imagem que precede imediatamente a imagem descartada na ordem de decodificação, e; um aparelho de decodificação de vídeo para decodificar dados de vídeo codificados por codificação preditiva interquadros, compreendendo: uma unidade de determinação de tempo de decodifi- cação/exibição de imagem que usa informação indicando que os dados de vídeo codificados são gerados ao juntar segundos dados de vídeo codificados a uma extremidade posterior de primeiros dados de vídeo codificados e informação indicando que uma ou mais imagens codificadas que estão mais tarde na ordem de codificação do que uma imagem codificada inicial nos segundos dados de vídeo codificados juntados a jusante de um ponto de junção no qual os primeiros dados de vídeo codificados e os segundos dados de vídeo codificados são juntados são descartadas para corrigir, com base em informação de correção, um atraso de decodificação para uma imagem seguinte à imagem codificada inicial, e para corrigir, com base na informação de correção, atrasos de exibição para a imagem codificada inicial e para a imagem seguinte à imagem codificada inicial, e em que a informação de correção carrega um valor calculado com base em um intervalo de decodificação entre cada imagem que está mais tarde na ordem de decodificação do que a imagem codificada inicial, e que tenha sido descartada dos segundos dados de vídeo codificados, e uma imagem que precede imediatamente a imagem descartada na ordem de decodificação.
BR122020018232-6A 2012-10-01 2013-10-01 Sistema de codificação e decodificação de vídeo BR122020018232B1 (pt)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2012219663A JP6094126B2 (ja) 2012-10-01 2012-10-01 動画像復号装置
JP2012-219663 2012-10-01

Publications (1)

Publication Number Publication Date
BR122020018232B1 true BR122020018232B1 (pt) 2023-01-10

Family

ID=49212655

Family Applications (4)

Application Number Title Priority Date Filing Date
BR102013025344-8A BR102013025344B1 (pt) 2012-10-01 2013-10-01 Aparelho de codificação de vídeo
BR122020018234-2A BR122020018234B1 (pt) 2012-10-01 2013-10-01 Método de codificação vídeo
BR122020018231-8A BR122020018231B1 (pt) 2012-10-01 2013-10-01 Método de decodificação de vídeo
BR122020018232-6A BR122020018232B1 (pt) 2012-10-01 2013-10-01 Sistema de codificação e decodificação de vídeo

Family Applications Before (3)

Application Number Title Priority Date Filing Date
BR102013025344-8A BR102013025344B1 (pt) 2012-10-01 2013-10-01 Aparelho de codificação de vídeo
BR122020018234-2A BR122020018234B1 (pt) 2012-10-01 2013-10-01 Método de codificação vídeo
BR122020018231-8A BR122020018231B1 (pt) 2012-10-01 2013-10-01 Método de decodificação de vídeo

Country Status (9)

Country Link
US (6) US20140092966A1 (pt)
EP (1) EP2713620B1 (pt)
JP (1) JP6094126B2 (pt)
KR (5) KR101612162B1 (pt)
CN (5) CN106878708B (pt)
BR (4) BR102013025344B1 (pt)
CA (5) CA2828843C (pt)
MX (5) MX344755B (pt)
TW (1) TWI488471B (pt)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9911460B2 (en) * 2014-03-24 2018-03-06 Microsoft Technology Licensing, Llc Fast and smart video trimming at frame accuracy on generic platform
CN113038188B (zh) * 2015-03-31 2023-06-06 松下电器(美国)知识产权公司 发送方法、接收方法、发送装置以及接收装置
CN106331835B (zh) * 2015-06-26 2019-06-07 成都鼎桥通信技术有限公司 一种动态调整数据接收缓存的方法及视频解码设备
KR102477964B1 (ko) * 2015-10-12 2022-12-16 삼성전자주식회사 미디어 전송 시스템에서 비디오 비트스트림의 임의 접근 및 재생을 가능하게 하는 기법
CN110636306B (zh) * 2018-06-22 2021-07-20 杭州海康威视数字技术股份有限公司 一种图像显示方法、解码设备及电视墙系统
JP7210944B2 (ja) * 2018-09-05 2023-01-24 富士通株式会社 映像符号化装置、映像符号化方法および映像符号化プログラム
CN111479111B (zh) * 2019-01-23 2024-04-09 华为技术有限公司 图像显示顺序的确定方法、装置和视频编解码设备
CN114615506B (zh) * 2019-06-13 2023-07-04 北京达佳互联信息技术有限公司 视频解码方法、计算设备、存储介质
CN114302173B (zh) 2021-12-31 2022-07-15 广东工业大学 一种平面编码靶标的二维图像拼接系统及其拼接方法

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5917830A (en) * 1996-10-18 1999-06-29 General Instrument Corporation Splicing compressed packetized digital video streams
US6154496A (en) * 1997-11-25 2000-11-28 Philips Electronics N.A. Corp. Video buffer for seamless splicing of MPEG streams
JPH11261958A (ja) * 1998-03-09 1999-09-24 Sony Corp 映像編集装置及び映像編集方法
US7031348B1 (en) * 1998-04-04 2006-04-18 Optibase, Ltd. Apparatus and method of splicing digital video streams
US6380991B1 (en) * 1998-11-19 2002-04-30 Tektronix, Inc. Method for splicing MPEG-2 transport streams
US20060093045A1 (en) 1999-06-29 2006-05-04 Roger Anderson Method and apparatus for splicing
EP1310092A1 (en) 2000-07-25 2003-05-14 Agilevision, L.L.C. Splicing compressed, local video segments into fixed time slots in a network feed
FI114527B (fi) * 2002-01-23 2004-10-29 Nokia Corp Kuvakehysten ryhmittely videokoodauksessa
JP4390112B2 (ja) * 2002-09-05 2009-12-24 エージェンシー フォー サイエンス,テクノロジー アンド リサーチ ビデオシーケンスのレートを制御する方法及び装置並びにビデオ符号化装置
JP4276420B2 (ja) 2002-11-05 2009-06-10 三菱電機株式会社 動き補償方法
US7266147B2 (en) * 2003-03-31 2007-09-04 Sharp Laboratories Of America, Inc. Hypothetical reference decoder
KR101148701B1 (ko) * 2004-08-31 2012-05-23 파나소닉 주식회사 동화상 부호화 방법 및 장치
TWI285055B (en) * 2004-09-30 2007-08-01 Nippon Telegraph & Telephone Method for progressive lossless video coding, method for progressive lossless video decoding, progressive lossless video coding apparatus, progressive lossless video decoding apparatus, and recording media of progressive lossless video coding program...
US7447978B2 (en) * 2004-11-16 2008-11-04 Nokia Corporation Buffering packets of a media stream
US20060215755A1 (en) * 2005-03-24 2006-09-28 Mediatek Incorporation Video encoding methods and systems for battery-powered apparatus
US7724305B2 (en) * 2006-03-21 2010-05-25 Mediatek Inc. Video data conversion method and system for multiple receivers
JP2008109637A (ja) * 2006-09-25 2008-05-08 Toshiba Corp 動画像符号化装置及びその方法
TWI339073B (en) * 2006-11-13 2011-03-11 Univ Nat Chiao Tung Video coding method using image data skipping
AR064274A1 (es) * 2006-12-14 2009-03-25 Panasonic Corp Metodo de codificacion de imagenes en movimiento, dispositivo de codificacion de imagenes en movimiento, metodo de grabacion de imagenes en movimiento, medio de grabacion, metodo de reproduccion de imagenes en movimiento, dispositivo de reproduccion de imagenes en movimiento, y sistema de reproducci
EP2123044A1 (en) * 2007-01-08 2009-11-25 Thomson Licensing Methods and apparatus for video stream splicing
WO2009052262A2 (en) * 2007-10-16 2009-04-23 Cisco Technology, Inc. Conveyance of concatenation properties and picture orderness in a video stream
US8904426B2 (en) * 2008-06-30 2014-12-02 Rgb Networks, Inc. Preconditioning ad content for digital program insertion
US8781003B2 (en) * 2008-07-17 2014-07-15 Cisco Technology, Inc. Splicing of encrypted video/audio content
US8170401B2 (en) * 2008-11-25 2012-05-01 Cisco Technology, Inc. Optimizing ad insertion by removing low information frames
KR101280700B1 (ko) * 2009-02-27 2013-07-01 후지쯔 가부시끼가이샤 동화상 부호화 장치, 동화상 부호화 방법 및 동화상 부호화용 컴퓨터 프로그램
JP5072893B2 (ja) * 2009-03-25 2012-11-14 株式会社東芝 画像符号化方法および画像復号化方法
JP5227875B2 (ja) * 2009-04-06 2013-07-03 株式会社日立製作所 動画像符号化装置
CN101742321B (zh) * 2010-01-12 2011-07-27 浙江大学 基于图层分解的视频编、解码方法及装置
US8918533B2 (en) * 2010-07-13 2014-12-23 Qualcomm Incorporated Video switching for streaming video data
US20130170561A1 (en) * 2011-07-05 2013-07-04 Nokia Corporation Method and apparatus for video coding and decoding
US9532055B2 (en) * 2012-04-16 2016-12-27 Microsoft Technology Licensing, Llc Constraints and unit types to simplify video random access
US9979958B2 (en) * 2012-04-20 2018-05-22 Qualcomm Incorporated Decoded picture buffer processing for random access point pictures in video sequences
US9516308B2 (en) * 2012-04-27 2016-12-06 Qualcomm Incorporated Parameter set updates in video coding
JP5891975B2 (ja) * 2012-07-02 2016-03-23 富士通株式会社 動画像符号化装置、動画像復号装置、動画像符号化方法および動画像復号方法

Also Published As

Publication number Publication date
TWI488471B (zh) 2015-06-11
CN106851266B (zh) 2019-06-28
KR101612162B1 (ko) 2016-04-12
CA2910306A1 (en) 2014-04-01
TW201415900A (zh) 2014-04-16
EP2713620A2 (en) 2014-04-02
MX344755B (es) 2017-01-05
KR101612235B1 (ko) 2016-04-12
JP2014072854A (ja) 2014-04-21
MX344754B (es) 2017-01-05
US20160156922A1 (en) 2016-06-02
CA2910432A1 (en) 2014-04-01
CA2910488C (en) 2018-05-01
US20160156920A1 (en) 2016-06-02
CN106878708A (zh) 2017-06-20
KR20150124438A (ko) 2015-11-05
BR122020018231B1 (pt) 2023-01-10
CA2828843A1 (en) 2014-04-01
MX344753B (es) 2017-01-05
CA2910306C (en) 2018-01-16
BR122020018234B1 (pt) 2023-01-17
KR101612236B1 (ko) 2016-04-26
KR101612237B1 (ko) 2016-04-12
CN106851266A (zh) 2017-06-13
CN107105277B (zh) 2020-03-06
MX344446B (es) 2016-12-15
CA2910309A1 (en) 2014-04-01
US20160219296A1 (en) 2016-07-28
US20160156921A1 (en) 2016-06-02
CN107105277A (zh) 2017-08-29
US20140092966A1 (en) 2014-04-03
CN103716621B (zh) 2017-11-21
MX344749B (es) 2017-01-05
KR20150124439A (ko) 2015-11-05
KR20140043681A (ko) 2014-04-10
US20200177907A1 (en) 2020-06-04
US10582208B2 (en) 2020-03-03
MX2013011346A (es) 2014-04-28
CN106878708B (zh) 2019-10-18
CN103716621A (zh) 2014-04-09
CA2828843C (en) 2017-10-03
EP2713620B1 (en) 2019-07-03
BR102013025344B1 (pt) 2023-01-10
CA2910488A1 (en) 2014-04-01
KR101612234B1 (ko) 2016-04-26
CN107071402A (zh) 2017-08-18
BR102013025344A2 (pt) 2014-10-14
EP2713620A3 (en) 2014-09-03
KR20150126337A (ko) 2015-11-11
JP6094126B2 (ja) 2017-03-15
KR20150124440A (ko) 2015-11-05

Similar Documents

Publication Publication Date Title
BR122020018232B1 (pt) Sistema de codificação e decodificação de vídeo
US10070144B2 (en) Video encoding apparatus, video decoding apparatus, video encoding method, and video decoding method
US20140003519A1 (en) Video encoding apparatus, video decoding apparatus, video encoding method, and video decoding method
JP6399189B2 (ja) 動画像符号化方法
JP6229759B2 (ja) 動画像復号方法
JP2016174401A (ja) 動画像符号化復号システム
JP2016174402A (ja) 動画像符号化方法
JP2016174400A (ja) 動画像符号化装置

Legal Events

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

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