BR112016028745B1 - DEVICES AND METHODS OF IMAGE CODING AND DECODING - Google Patents
DEVICES AND METHODS OF IMAGE CODING AND DECODING Download PDFInfo
- Publication number
- BR112016028745B1 BR112016028745B1 BR112016028745-2A BR112016028745A BR112016028745B1 BR 112016028745 B1 BR112016028745 B1 BR 112016028745B1 BR 112016028745 A BR112016028745 A BR 112016028745A BR 112016028745 B1 BR112016028745 B1 BR 112016028745B1
- Authority
- BR
- Brazil
- Prior art keywords
- unit
- image
- slice
- decoding
- data
- Prior art date
Links
Abstract
DISPOSITIVOS E MÉTODOS DE CODIFICAÇÃO E DECODIFICAÇÃO DE IMAGEM A presente descrição refere-se a um aparelho e um método de codificação de imagem, e a um aparelho e um método de decodificação de imagem de acor-do com os quais a eficiência de codificação pode ser melhorada em Cópia IntraBloco (IntraBC). Na presente técnica, um exemplo no qual uma figura é dividida em quatro fatias (Fatia n° 0 até Fatia n° 3) é mostrado. Em um caso em que uma referência a uma fatia diferente foi inibida, uma faixa de referên-cia disponível a partir de uma Unidade de Árvore de Codificação (CTU) atual na Fatia n° 2 era apenas uma parte que foi decodificada na Fatia n° 2; por exemplo, os blocos da Fatia n° 1 podem não ser referidos. Ao contrário, em um caso da presente técnica, a faixa de referência disponível também inclui fatias diferentes das decodificadas (Fatia n° 0 e Fatia n° 1); por exemplo, é possível referir, a partir da CTU atual na Fatia n° 2, a qualquer bloco da Fatia n° 1, da forma mostrada na figura 5. A presente descrição pode ser aplicada, por exemplo, em um aparelho de processamento de imagem.IMAGE CODING AND DECODING APPLIANCES AND METHODS The present description relates to an image encoding apparatus and method, and to an image decoding apparatus and method according to which the coding efficiency can be improved in IntraBlock Copy (IntraBC). In the present technique, an example in which a figure is divided into four slices (Slice #0 through Slice #3) is shown. In a case where a reference to a different slice was inhibited, a reference range available from a current Coding Tree Unit (CTU) in Slice #2 was just a portion that was decoded in Slice # two; for example, Slice #1 blocks may not be referenced. On the contrary, in a case of the present technique, the available reference range also includes slices other than the decoded ones (Slice n° 0 and Slice n° 1); for example, it is possible to refer, from the current CTU in Slice n° 2, to any block of Slice n° 1, in the way shown in figure 5. The present description can be applied, for example, in a data processing apparatus image.
Description
[001] A presente descrição refere-se a dispositivos e métodos de codificação de imagem e a dispositivos e métodos de decodificação de imagem. Mais particularmente, a presente descrição refere-se a um dispositivo e um método de codificação de imagem e a um dispositivo e um método de decodificação de imagem que podem melhorar a eficiência de codificação em IntraBC.[001] This description refers to image encoding devices and methods and image decoding devices and methods. More particularly, the present description relates to a picture coding device and method and a picture decoding device and method which can improve coding efficiency in IntraBC.
[002] Nos últimos anos, aparelhos que comprimem imagens pela implementação de um método de codificação para comprimir informação de imagem através de transformada ortogonal, tal como transformada discreta de cosseno, e compensação de movimento pelo uso de redundância inerente à informação de imagem, se difundiram para tratar informação de imagem como informação digital e alcançar transmissão e acúmulo de informação em alta eficiência fazendo isto. Este método de codificação pode ser Grupo de Especialistas em Imagem em Movimento (MPEG), H.264, MPEG-4 Part10 (Codificação Avançada de Vídeo, que será referida a seguir como AVC) ou congêneres.[002] In recent years, apparatus that compress images by implementing a coding method to compress image information through orthogonal transform, such as discrete cosine transform, and motion compensation by using redundancy inherent in the image information, have become spread to treat image information as digital information and achieve transmission and accumulation of information in high efficiency by doing so. This encoding method can be Moving Picture Expert Group (MPEG), H.264, MPEG-4 Part10 (Advanced Video Coding, which will be referred to below as AVC) or the like.
[003] Atualmente, para alcançar eficiência de codificação superior àquela de H.264/AVC, um método de codificação chamado de Codificação de Vídeo de Alta Eficiência (HEVC) está sendo desenvolvido como um padrão por JCTVC (Equipe de Colaboração em Conjunto - Codificação de Vídeo), que é uma organização de padrões em conjunto de ITU-T e ISO/IEC.[003] Currently, to achieve coding efficiency superior to that of H.264/AVC, a coding method called High Efficiency Video Coding (HEVC) is being developed as a standard by JCTVC (Joint Collaboration Team - Coding Video), which is a joint standards organization of ITU-T and ISO/IEC.
[004] Também, em HEVC, extensões de faixa (Extensões de Faixa HEVC) estão sendo consideradas para suportar formatos avançados, tais como imagens em formatos do sinal de crominância, como 4:2:2 e 4:4:4, e perfis para conteúdo da tela (veja Documento Não Patente 1, por exemplo).[004] Also, in HEVC, range extensions (HEVC Range Extensions) are being considered to support advanced formats, such as images in chrominance signal formats, such as 4:2:2 and 4:4:4, and profiles for screen content (see Non-Patent Document 1, for example).
[005] Neste particular, IntraBlockCopy (IntraBC) é uma ferramenta de codificação para realizar compensação de movimento em uma tela. IntraBC é conhecido como uma ferramenta que contribui para melhoria de eficiência na codificação de uma imagem artificial, tais como uma tela de computador ou uma imagem CG.[005] In this particular, IntraBlockCopy (IntraBC) is a coding tool to perform motion compensation on a screen. IntraBC is known as a tool that contributes to efficiency improvement in coding an artificial image, such as a computer screen or a CG image.
[006] Entretanto, IntraBC não é usado como uma tecnologia para as supradescritas Extensões de Faixa HEVC, e está sendo considerado como uma tecnologia padronizada para extensões de codificação do conteúdo da tela (SCC).[006] However, IntraBC is not used as a technology for the above-described HEVC Range Extensions, and is being considered as a standard technology for screen content encoding (SCC) extensions.
[007] Documento Não Patente 1: David Flynn, Joel Sole, and Teruhiko Suzuki, “High Efficiency Video Coding (HEVC), Range Extension text specification: Draft 4”, JCTVC-N1005_v1, 2013.8.8[007] Non-Patent Document 1: David Flynn, Joel Sole, and Teruhiko Suzuki, “High Efficiency Video Coding (HEVC), Range Extension text specification: Draft 4”, JCTVC-N1005_v1, 2013.8.8
[008] Aqui, baixos atrasos são a chave em aplicações SCC. Portanto, em um esquema HEVC, é necessário usar divisão de fatia.[008] Here, low delays are key in SCC applications. Therefore, in an HEVC scheme, it is necessary to use slice division.
[009] Entretanto, em casos em que uma tela é dividida em fatias, a melhoria da eficiência de codificação em IntraBC fica dramaticamente menor. Isto é em virtude de IntraBC não poder se referir a nenhum dado diferente da fatia atual.[009] However, in cases where a screen is sliced, the improvement in IntraBC coding efficiency is dramatically less. This is because IntraBC cannot refer to any data other than the current slice.
[0010] A presente descrição é feita em vista destas circunstâncias, e deve melhorar a eficiência de codificação em IntraBC.[0010] The present description is made in view of these circumstances, and should improve the coding efficiency in IntraBC.
[0011] Um dispositivo de codificação de imagem de um aspecto da presente descrição inclui: uma unidade de definição que define informação de controle para controlar a previsão de movimento na tela através de fatias; uma unidade de codificação que codifica uma imagem para gerar um fluxo contínuo de bits de acordo com a informação de controle definida pela unidade de definição; e uma unidade de transmissão que transmite a informação de controle definida pela unidade de definição e o fluxo contínuo de bits gerado pela unidade de codificação.[0011] An image coding device of an aspect of the present description includes: a definition unit that defines control information for controlling the prediction of movement on the screen through slices; a coding unit that encodes a picture to generate a continuous stream of bits in accordance with control information defined by the defining unit; and a transmission unit that transmits the control information defined by the definition unit and the continuous bit stream generated by the encoding unit.
[0012] A unidade de definição pode definir um indicador de permissão de referência como a informação de controle, o indicador de permissão de referência indicando uma permissão para referência a um resultado da decodificação da fatia atual e da fatia antes da fatia atual na ordem de escaneamento por rasterização.[0012] The definition unit can define a reference permission flag as the control information, the reference permission flag indicating a permission for reference to a result of decoding the current slice and the slice before the current slice in the order of raster scanning.
[0013] A unidade de definição pode definir o indicador de permissão de referência em um conjunto de parâmetro de imagem parada (PPS).[0013] The setting unit can set the reference permission flag in a still picture (PPS) parameter set.
[0014] A unidade de definição pode definir um parâmetro como a informação de controle, o parâmetro indicando o número de fatias prévias que têm resultados de decodificação referíveis.[0014] The definition unit can define a parameter as the control information, the parameter indicating the number of previous slices that have referable decoding results.
[0015] A unidade de definição pode definir um indicador ligado/desligado como a informação de controle, o indicador ligado/desligado indicando se a previsão de movimento na tela através das fatias pode ser realizada.[0015] The definition unit can set an on/off indicator as the control information, the on/off indicator indicating whether prediction of movement on the screen across the slices can be performed.
[0016] A unidade de definição pode definir o indicador ligado/desligado em um conjunto de parâmetro de sequência (SPS) ou um conjunto de parâmetro de vídeo (VPS).[0016] The setting unit can set the indicator on/off in a sequence parameter set (SPS) or a video parameter set (VPS).
[0017] Quando processamento paralelo de frente de onda (WPP) estiver “ligado”, a unidade de definição pode limitar uma faixa da referência, e definir o indicador de permissão de referência.[0017] When Wavefront Parallel Processing (WPP) is “on”, the setting unit can limit a range of the reference, and set the reference enable flag.
[0018] Quando divisão de mosaico estiver “ligada”, a unidade de definição pode definir o indicador de permissão de referência.[0018] When tiling is “on”, the setting unit can set the reference permission flag.
[0019] Quando SEI de definição de mosaico restrito no movimento temporal (MCTS-SEI) estiver “ligada”, a unidade de definição pode definir o indicador de permissão de referência em “desligado”.[0019] When Time Motion Restricted Mosaic Setting SEI (MCTS-SEI) is “on”, the setting unit can set the reference permission flag to “off”.
[0020] Um método de codificação de imagem de um aspecto da presente descrição é implementado por um dispositivo de codificação de imagem, e inclui: definir informação de controle para controlar a previsão de movimento na tela através de fatias; codificar uma imagem para gerar um fluxo contínuo de bits de acordo com a informação de controle definida; e transmitir a informação de controle definida e o fluxo contínuo de bits gerado.[0020] An image encoding method of an aspect of the present description is implemented by an image encoding device, and includes: defining control information for controlling prediction of motion on the screen across slices; encoding an image to generate a continuous stream of bits in accordance with defined control information; and transmitting the defined control information and the generated bitstream.
[0021] Um dispositivo de decodificação de imagem de um outro aspecto da presente descrição inclui: uma unidade de recepção que recebe um fluxo contínuo de bits gerado pela codificação de uma imagem; uma unidade de extração que extrai informação de controle a partir do fluxo contínuo de bits recebido pela unidade de recepção, a informação de controle sendo projetada para controlar a previsão de movimento na tela através de fatias; e uma unidade de decodificação que decodifica o fluxo contínuo de bits recebido pela unidade de recepção para gerar uma imagem, usando a informação de controle extraída pela unidade de extração.[0021] An image decoding device of another aspect of the present description includes: a receiver unit that receives a continuous stream of bits generated by encoding an image; an extractor unit extracting control information from the continuous stream of bits received by the receiver unit, the control information being designed to control prediction of movement on the screen through slices; and a decoding unit that decodes the continuous bit stream received by the receiving unit to generate an image using the control information extracted by the extracting unit.
[0022] A unidade de extração pode extrair um indicador de permissão de referência como a informação de controle, o indicador de permissão de referência indicando uma permissão para referência a um resultado da decodificação da fatia atual e da fatia antes da fatia atual na ordem de escaneamento por rasterização.[0022] The extraction unit can extract a reference permission indicator as the control information, the reference permission indicator indicating a permission for reference to a result of decoding the current slice and the slice before the current slice in the order of raster scanning.
[0023] A unidade de extração pode extrair o indicador de permissão de referência a partir de um conjunto de parâmetro de imagem parada (PPS).[0023] The extraction unit can extract the reference permission indicator from a still image (PPS) parameter set.
[0024] A unidade de extração pode extrair um parâmetro como a informação de controle, o parâmetro indicando o número de fatias prévias que têm resultados de decodificação referíveis.[0024] The extraction unit can extract a parameter as the control information, the parameter indicating the number of previous slices that have referable decoding results.
[0025] A unidade de extração pode extrair um indicador ligado/desligado como a informação de controle, o indicador ligado/desligado indicando se a previsão de movimento na tela através das fatias pode ser realizada.[0025] The extraction unit can extract an on/off indicator as the control information, the on/off indicator indicating whether prediction of movement on the screen across the slices can be performed.
[0026] A unidade de extração pode extrair o indicador ligado/desligado a partir de um conjunto de parâmetro de sequência (SPS) ou um conjunto de parâmetro de vídeo (VPS).[0026] The extraction unit can extract the on/off indicator from a sequence parameter set (SPS) or a video parameter set (VPS).
[0027] Quando processamento paralelo de frente de onda (WPP) estiver “ligado”, a unidade de extração pode limitar uma faixa da referência, e extrair o indicador de permissão de referência.[0027] When Wavefront Parallel Processing (WPP) is “on”, the extraction unit can limit a range of the reference, and extract the reference permission flag.
[0028] Quando divisão de mosaico estiver “ligada”, a unidade de extração pode extrair o indicador de permissão de referência.[0028] When split tile is “on”, the extraction unit can extract the reference permission indicator.
[0029] Quando SEI de definição de mosaico restrito no movimento temporal (MCTS-SEI) estiver “ligada”, a unidade de extração pode extrair o indicador de permissão de referência definido em “desligado”.[0029] When Time Motion Restricted Mosaic Setting SEI (MCTS-SEI) is “on”, the extraction unit can extract the reference permission flag set to “off”.
[0030] Um método de decodificação de imagem de um outro aspecto da presente descrição é implementado por um dispositivo de decodificação de imagem, e inclui: receber um fluxo contínuo de bits gerado pela codificação de uma imagem; extrair informação de controle a partir do fluxo contínuo de bits recebido, a informação de controle sendo projetada para controlar a previsão de movimento na tela através de fatias; e decodificar o fluxo contínuo de bits recebido para gerar uma imagem, usando a informação de controle extraída.[0030] An image decoding method of another aspect of the present description is implemented by an image decoding device, and includes: receiving a continuous stream of bits generated by encoding an image; extracting control information from the received bit stream, the control information being designed to control prediction of movement on the screen through slices; and decoding the received stream of bits to generate an image using the extracted control information.
[0031] Em um aspecto da presente descrição, informação de controle para controlar a previsão de movimento na tela através de fatias é definida, e uma imagem é codificada de acordo com a informação de controle definida, para gerar um fluxo contínuo de bits. A informação de controle definida e o fluxo contínuo de bits gerado são, então, transmitidos.[0031] In one aspect of the present description, control information for controlling the prediction of movement on the screen through slices is defined, and a picture is encoded according to the defined control information, to generate a continuous stream of bits. The defined control information and the generated continuous bit stream are then transmitted.
[0032] Em um outro aspecto da presente descrição, um fluxo contínuo de bits gerado pela codificação de uma imagem é recebido, e informação de controle para controlar a previsão de movimento na tela através de fatias é extraída a partir do fluxo contínuo de bits recebido. O fluxo contínuo de bits recebido é, então, decodificado com o uso da informação de controle extraída, e uma imagem é gerada.[0032] In another aspect of the present description, a stream of bits generated by encoding an image is received, and control information for controlling the prediction of movement on the screen through slices is extracted from the stream of received bits . The received stream of bits is then decoded using the extracted control information, and an image is generated.
[0033] Deve-se notar que os supradescritos dispositivo de codificação de imagem e dispositivo de decodificação de imagem podem ser dispositivos de processamento de imagem independentes, ou podem ser blocos internos que formam um dispositivo de codificação de imagem e um dispositivo de decodificação de imagem.[0033] It should be noted that the above-described image coding device and image decoding device may be independent image processing devices, or they may be internal blocks forming an image encoding device and an image decoding device .
[0034] De acordo com um aspecto da presente descrição, imagens podem ser codificadas. Particularmente, eficiência de codificação em IntraBC pode ser melhorada.[0034] According to one aspect of the present description, images may be encoded. Particularly, coding efficiency in IntraBC can be improved.
[0035] De acordo com um outro aspecto da presente descrição, imagens podem ser decodificadas. Particularmente, a eficiência de codificação em IntraBC pode ser melhorada.[0035] According to another aspect of the present description, images can be decoded. Particularly, the coding efficiency in IntraBC can be improved.
[0036] Deve-se notar que os efeitos da presente tecnologia não são limitados aos efeitos aqui descritos, e podem incluir qualquer um dos efeitos descritos na presente descrição.[0036] It should be noted that the effects of the present technology are not limited to the effects described herein, and may include any of the effects described in the present description.
[0037] A figura 1 é um diagrama para explicar estruturas de exemplo de unidades de codificação.[0037] Figure 1 is a diagram to explain example structures of encoding units.
[0038] A figura 2 é uma tabela que mostra sintaxes de exemplo de um SPS e um PPS.[0038] Figure 2 is a table showing example syntaxes for an SPS and a PPS.
[0039] A figura 3 é uma tabela que mostra um exemplo de semântica de acordo com a presente tecnologia.[0039] Figure 3 is a table that shows an example of semantics according to the present technology.
[0040] A figura 4 é uma tabela que mostra um exemplo de sintaxe de um VPS.[0040] Figure 4 is a table that shows an example of the syntax of a VPS.
[0041] A figura 5 é um diagrama que mostra um exemplo em que uma tela é dividida em quatro fatias de acordo com a presente tecnologia.[0041] Figure 5 is a diagram showing an example in which a screen is divided into four slices according to the present technology.
[0042] A figura 6 é um diagrama que mostra um caso em que intraBC_ref_prev_slice_num é 1.[0042] Figure 6 is a diagram showing a case where intraBC_ref_prev_slice_num is 1.
[0043] A figura 7 é um diagrama para explicar uma combinação da presente tecnologia e WPP.[0043] Figure 7 is a diagram to explain a combination of this technology and WPP.
[0044] A figura 8 é um diagrama para explicar uma combinação da presente tecnologia e WPP.[0044] Figure 8 is a diagram to explain a combination of this technology and WPP.
[0045] A figura 9 é um diagrama para explicar uma combinação da presente tecnologia e divisão de mosaico.[0045] Figure 9 is a diagram to explain a combination of the present technology and mosaic division.
[0046] A figura 10 é uma tabela para explicar efeitos vantajosos.[0046] Figure 10 is a table to explain advantageous effects.
[0047] A figura 11 é um diagrama para explicar uma combinação da presente tecnologia e MCTS-SEI.[0047] Figure 11 is a diagram to explain a combination of this technology and MCTS-SEI.
[0048] A figura 12 é uma tabela que mostra um exemplo de NOTA a ser adicionado na semântica de uma mensagem MCTS-SEI.[0048] Figure 12 is a table that shows an example of NOTE to be added to the semantics of an MCTS-SEI message.
[0049] A figura 13 é um diagrama de blocos que mostra uma configuração de exemplo de uma primeira modalidade de um dispositivo de codificação no qual a presente tecnologia é aplicada.[0049] Figure 13 is a block diagram showing an example configuration of a first embodiment of an encoding device in which the present technology is applied.
[0050] A figura 14 é um diagrama de blocos que mostra uma configuração de exemplo da unidade de codificação mostrada na figura 13.[0050] Figure 14 is a block diagram showing an example configuration of the encoding unit shown in Figure 13.
[0051] A figura 15 é um fluxograma para explicar um processo de geração de fluxo contínuo.[0051] Figure 15 is a flowchart to explain a continuous flow generation process.
[0052] A figura 16 é um fluxograma para explicar um processo de definição de conjunto de parâmetro.[0052] Figure 16 is a flowchart to explain a parameter set definition process.
[0053] A figura 17 é um fluxograma para explicar o processo de codificação mostrado na figura 15.[0053] Figure 17 is a flowchart to explain the encoding process shown in figure 15.
[0054] A figura 18 é um fluxograma para explicar o processo de codificação mostrado na figura 15.[0054] Figure 18 is a flowchart to explain the encoding process shown in figure 15.
[0055] A figura 19 é um fluxograma para especificar o processo de intraprevisão mostrado na figura 17.[0055] Figure 19 is a flowchart for specifying the intraforecast process shown in figure 17.
[0056] A figura 20 é um diagrama de blocos que mostra uma configuração de exemplo de uma primeira modalidade de um dispositivo de decodificação no qual a presente descrição é aplicada.[0056] Fig. 20 is a block diagram showing an example configuration of a first embodiment of a decoding device to which the present description is applied.
[0057] A figura 21 é um diagrama de blocos que mostra uma configuração de exemplo da unidade de decodificação mostrada na figura 20.[0057] Figure 21 is a block diagram showing an example configuration of the decoding unit shown in Figure 20.
[0058] A figura 22 é um fluxograma para explicar um processo de geração de imagem a ser realizado pelo dispositivo de decodificação mostrado na figura 20.[0058] Figure 22 is a flowchart to explain an image generation process to be performed by the decoding device shown in Figure 20.
[0059] A figura 23 é um fluxograma para explicar um processo de extração de conjunto de parâmetro.[0059] Figure 23 is a flowchart to explain a parameter set extraction process.
[0060] A figura 24 é um fluxograma para explicar um processo de decodificação com detalhes.[0060] Figure 24 is a flowchart to explain a decoding process in detail.
[0061] A figura 25 é um fluxograma para explicar um processo de decodificação de fatia com detalhes.[0061] Figure 25 is a flowchart to explain a slice decoding process in detail.
[0062] A figura 26 é um diagrama de blocos que mostra uma configuração de exemplo do hardware de um computador.[0062] Figure 26 is a block diagram that shows an example hardware configuration of a computer.
[0063] A figura 27 é um diagrama que mostra um exemplo de um método de codificação de imagem multivisualizações.[0063] Figure 27 is a diagram showing an example of a multiview image encoding method.
[0064] A figura 28 é um diagrama que mostra uma configuração de exemplo de um dispositivo de codificação de imagem multivisualizações no qual a presente descrição é aplicada.[0064] Fig. 28 is a diagram showing an example configuration of a multiview image coding device to which the present description is applied.
[0065] A figura 29 é um diagrama que mostra uma configuração de exemplo de um dispositivo de decodificação de imagem multivisualizações no qual a presente descrição é aplicada.[0065] Figure 29 is a diagram showing an example configuration of a multiview image decoding device in which the present description is applied.
[0066] A figura 30 é um diagrama que mostra um exemplo de um método de codificação hierárquica de imagem.[0066] Figure 30 is a diagram showing an example of a hierarchical image encoding method.
[0067] A figura 31 é um diagrama para explicar um exemplo de codificação escalonável espacial.[0067] Figure 31 is a diagram to explain an example of spatial scalable coding.
[0068] A figura 32 é um diagrama para explicar um exemplo de codificação escalonável temporal.[0068] Fig. 32 is a diagram to explain an example of temporal scalable coding.
[0069] A figura 33 é um diagrama para explicar um exemplo de codificação escalonável de razão de sinal por ruído.[0069] Figure 33 is a diagram to explain an example of scalable signal-to-noise ratio coding.
[0070] A figura 34 é um diagrama que mostra uma configuração de exemplo de um dispositivo de codificação hierárquica de imagem no qual a presente descrição é aplicada.[0070] Fig. 34 is a diagram showing an example configuration of a hierarchical image coding device in which the present description is applied.
[0071] A figura 35 é um diagrama que mostra uma configuração de exemplo de um dispositivo de decodificação hierárquica de imagem no qual a presente descrição é aplicada.[0071] Figure 35 is a diagram showing an example configuration of a hierarchical image decoding device in which the present description is applied.
[0072] A figura 36 é um diagrama que mostra esquematicamente uma configuração de exemplo de um aparelho de televisão no qual a presente descrição é aplicada.[0072] Fig. 36 is a diagram showing schematically an example configuration of a television set in which the present description is applied.
[0073] A figura 37 é um diagrama que mostra esquematicamente uma configuração de exemplo de um aparelho de telefone portátil no qual a presente descrição é aplicada.[0073] Figure 37 is a diagram showing schematically an example configuration of a portable telephone handset in which the present description is applied.
[0074] A figura 38 é um diagrama que mostra esquematicamente uma configuração de exemplo de um aparelho de gravação/reprodução no qual a presente descrição é aplicada.[0074] Fig. 38 is a diagram schematically showing an example configuration of a recording/playback apparatus to which the present description is applied.
[0075] A figura 39 é um diagrama que mostra esquematicamente uma configuração de exemplo de um aparelho de formação de imagem no qual a presente descrição é aplicada.[0075] Fig. 39 is a diagram schematically showing an exemplary configuration of an image forming apparatus in which the present description is applied.
[0076] A figura 40 é um diagrama de blocos que mostra um exemplo de uso de codificação escalonável.[0076] Figure 40 is a block diagram showing an example of using scalable coding.
[0077] A figura 41 é um diagrama de blocos que mostra um outro exemplo de uso de codificação escalonável.[0077] Figure 41 is a block diagram showing another example of using scalable coding.
[0078] A figura 42 é um diagrama de blocos que mostra ainda um outro exemplo de uso de codificação escalonável.[0078] Figure 42 is a block diagram showing yet another example of using scalable coding.
[0079] A figura 43 mostra esquematicamente uma configuração de exemplo de um aparelho de vídeo no qual a presente descrição é aplicada.[0079] Figure 43 schematically shows an example configuration of a video device in which the present description is applied.
[0080] A figura 44 mostra esquematicamente uma configuração de exemplo de um processador de vídeo no qual a presente descrição é aplicada.[0080] Figure 44 schematically shows an example configuration of a video processor in which the present description is applied.
[0081] A figura 45 mostra esquematicamente uma outra configuração de exemplo de um processador de vídeo no qual a presente descrição é aplicada.[0081] Figure 45 schematically shows another example configuration of a video processor in which the present description is applied.
[0082] O seguinte é uma descrição de modos para realizar a presente descrição (a seguir, referidas como as modalidades). Deve-se notar que explicação será feita na seguinte ordem. 0. Esboço 1. Primeira Modalidade (Dispositivo de Codificação e Dispositivo de Decodificação) 2. Segunda Modalidade (Computador) 3. Terceira Modalidade (Dispositivo de Codificação de Imagem Multivisualizações e Dispositivo de Decodificação de Imagem Multivisualizações) 4. Quarta Modalidade (Dispositivo de Codificação Hierárquica de Imagem e Dispositivo de Decodificação Hierárquica de Imagem) 5. Quinta Modalidade (Aparelho de Televisão) 6. Sexta Modalidade (Aparelho de Telefone Portátil) 7. Sétima Modalidade (Aparelho de Gravação/Reprodução) 8. Oitava Modalidade (Aparelho de Formação de Imagem) 9. Exemplo de Aplicações de Codificação Escalonável 10. Outros Exemplos de Modalidades[0082] The following is a description of modes for carrying out the present description (hereinafter referred to as the embodiments). It should be noted that explanation will be done in the following order. 0. Outline 1. First Modality (Coding Device and Decoding Device) 2. Second Modality (Computer) 3. Third Modality (Multiview Image Encoding Device and Multiview Image Decoding Device) 4. Fourth Modality (Multiview Image Decoding Device) Hierarchical Image and Hierarchical Image Decoding Device) 5. Fifth Modality (Television Apparatus) 6. Sixth Modality (Portable Telephone Apparatus) 7. Seventh Modality (Recording/Playback Apparatus) 8. Eighth Modality (Picture Formation Apparatus) Image) 9. Example of Scalable Coding Applications 10. Other Examples of Modalities
[0083] A presente tecnologia é descrita a seguir em conjunto com um caso de exemplo em que Codificação de Vídeo de Alta Eficiência (HEVC) é aplicada na codificação e na decodificação de imagem.[0083] The present technology is described below together with an example case where High Efficiency Video Coding (HEVC) is applied in image encoding and decoding.
[0084] A figura 1 é um diagrama para explicar unidades de codificação (CUs) que são unidades de codificação em HEVC.[0084] Figure 1 is a diagram to explain coding units (CUs) which are coding units in HEVC.
[0085] Em HEVC, imagens com grandes quadros de imagem, tais como imagens de ultra alta definição (UHD) de 4.000 x 2.000 pixels, devem ser processadas e, portanto, fixação do tamanho da unidade de codificação em 16 x 16 pixels não é uma maneira ideal. Em vista disto, CUs são definidas como unidades de codificação em HEVC.[0085] In HEVC, images with large image frames, such as ultra high definition (UHD) images of 4,000 x 2,000 pixels, must be processed, and therefore setting the encoding unit size to 16 x 16 pixels is not an ideal way. In view of this, CUs are defined as coding units in HEVC.
[0086] Uma CU desempenha um papel similar àquele de um macrobloco em AVC. Especificamente, uma CU é dividida em PUs, ou é dividida em TUs.[0086] A CU plays a role similar to that of a macroblock in AVC. Specifically, a CU is divided into PUs, or it is divided into TUs.
[0087] Deve-se notar que o tamanho de uma CU é igual a um quadrado representado por pixels em potência de dois que variam com sequências. Especificamente, uma CU é definida pela divisão de uma LCU como uma CU do maior tamanho ao meio na direção horizontal e na direção vertical um número de vezes apropriado, de forma que a CU não fique menor do que uma menor unidade de codificação (SCU) como uma CU do menor tamanho. Isto é, o tamanho de uma CU é o tamanho em um nível hierárquico quando uma LCU for hierarquizada até que SCUs sejam obtidas de forma que o tamanho em um nível hierárquico superior seja 1/4 do tamanho de uma CU em um nível inferior ao nível hierárquico superior.[0087] It should be noted that the size of a CU is equal to a square represented by pixels in power of two that vary with sequences. Specifically, a CU is defined by dividing an LCU as a CU of the largest size in half in the horizontal direction and in the vertical direction an appropriate number of times, such that the CU does not become smaller than the smallest coding unit (SCU) as a CU of the smallest size. That is, the size of a CU is the size at a hierarchical level when an LCU is hierarchical until SCUs are obtained such that the size at a higher hierarchical level is 1/4 the size of a CU at a lower level than the superior hierarchical.
[0088] Por exemplo, na figura 1, o tamanho de uma LCU é 128, e o tamanho de uma SCU é 8. Desta maneira, a profundidade hierárquica (Profundidade) de uma LCU é 0 até 4, e o número de níveis de profundidade hierárquica é 5. Isto é, o número de divisões correspondentes as CUs é um de 0 até 4.[0088] For example, in figure 1, the size of an LCU is 128, and the size of an SCU is 8. In this way, the hierarchical depth (Depth) of an LCU is 0 to 4, and the number of levels of hierarchical depth is 5. That is, the number of divisions corresponding to the CUs is one from 0 to 4.
[0089] Deve-se notar que informação que designa os tamanhos de uma LCU e uma SCU é incluída em um SPS. Também, o número de divisões correspondentes às CUs é designado com “split_flag” que indica se divide-se adicionalmente a CU em cada nível hierárquico. CUs são especificamente descritas no Documento Não Patente 1.[0089] It should be noted that information designating the sizes of an LCU and an SCU is included in an SPS. Also, the number of divisions corresponding to the CUs is designated with “split_flag” which indicates whether the CU is further divided at each hierarchical level. CUs are specifically described in Non-Patent Document 1.
[0090] O tamanho de uma TU pode ser designado com “split_transform_flag”, como com “split_flag” para uma CUs. Os máximos números de divisões de TUs em uma interprevisão e uma intraprevisão são designados como “max_transform_hierarchy_depth_inter” e “max_transform_hierarchy_depth_intra”, respectivamente, no SPS.[0090] The size of a TU can be designated with “split_transform_flag”, as with “split_flag” for a CUs. The maximum numbers of TU splits in an interforecast and an intraforecast are designated as “max_transform_hierarchy_depth_inter” and “max_transform_hierarchy_depth_intra”, respectively, in the SPS.
[0091] Além do mais, neste relatório descritivo, uma unidade de árvore de codificação (CTU) é uma unidade que inclui o bloco de árvore de codificação (CTB) de uma LCU e os parâmetros para processamento com base na LCU (nível). Adicionalmente, as CUs que constituem a CTU são unidades que incluem blocos de codificação (CBs) e os parâmetros para processamento com base na CU (nível).[0091] Furthermore, in this specification, a coding tree unit (CTU) is a unit that includes the coding tree block (CTB) of an LCU and the parameters for processing based on the LCU (level). Additionally, the CUs that make up the CTU are units that include coding blocks (CBs) and the parameters for processing based on the CU (level).
[0092] Neste particular, para alcançar eficiência de codificação superior com métodos de codificação AVC e HEVC, é crítico selecionar um modo de previsão apropriado.[0092] In this particular, to achieve superior coding efficiency with AVC and HEVC coding methods, it is critical to select an appropriate prediction mode.
[0093] Métodos implementados em software de referência de H.264/MPEG-4 AVC, chamado Modelo Conjunto (JM) (disponível em http://iphome.hhi.de/suehring/tml/index.htm), podem ser usados como exemplos de tais métodos de seleção.[0093] Methods implemented in H.264/MPEG-4 AVC reference software, called Joint Model (JM) (available at http://iphome.hhi.de/suehring/tml/index.htm), can be used as examples of such selection methods.
[0094] Em JM, os dois métodos de determinação de modo descritos a seguir, Modo de Alta Complexidade e Modo de Baixa Complexidade, podem ser selecionados. Por qualquer um dos métodos, um valor da função de custo tal para cada modo de previsão Modo é calculado, e o modo de previsão que minimiza o valor da função de custo é selecionado como o modo ideal para o bloco ou o macrobloco.[0094] In JM, the two mode determination methods described below, High Complexity Mode and Low Complexity Mode, can be selected. By either method, such a cost function value for each forecast mode is calculated, and the forecast mode that minimizes the cost function value is selected as the optimal mode for the block or macroblock.
[0095] Uma função de custo no Modo de Alta Complexidade é expressada como na seguinte expressão (1). Custo(Modo e Q) = D + λ * R ... (1)[0095] A cost function in High Complexity Mode is expressed as the following expression (1). Cost(Mode and Q) = D + λ * R ... (1)
[0096] Aqui, Q representa o conjunto universal de modos candidatos para codificação do bloco ou do macrobloco, e D representa a energia de diferença entre uma imagem decodificada e uma imagem de entrada quando codificação for realizada no atual modo de previsão. X representa o multiplicador indeterminado de Lagrange provido como uma função do parâmetro de quantização. R representa a taxa de bit total em um caso em que codificação for realizada no modo atual, incluindo o coeficiente de transformada ortogonal.[0096] Here, Q represents the universal set of candidate modes for encoding the block or macroblock, and D represents the difference energy between a decoded picture and an input picture when encoding is performed in the current preview mode. X represents the undetermined Lagrange multiplier provided as a function of the quantization parameter. R represents the total bit rate in a case where encoding is performed in the current mode, including the orthogonal transform coefficient.
[0097] Isto é, para realizar codificação em Modo de Alta Complexidade, um processo de codificação provisional precisa ser realizado em todos os modos candidatos para calcular os parâmetros expostos D e R e, portanto, uma maior quantidade de cálculo é exigida.[0097] That is, to perform encoding in High Complexity Mode, a provisional encoding process needs to be performed on all candidate modes to calculate the exposed parameters D and R, and therefore a greater amount of calculation is required.
[0098] Uma função de custo no Modo de Baixa Complexidade é expressada como na seguinte expressão (2). Custo(Modo e Q) = D + QP2Quant(QP) * HeaderBit ... (2)[0098] A cost function in Low Complexity Mode is expressed as the following expression (2). Cost(Mode and Q) = D + QP2Quant(QP) * HeaderBit ... (2)
[0099] Aqui, D difere daquele no Modo de Alta Complexidade, e representa a energia de diferença entre uma imagem prevista e uma imagem de entrada. QP2Quant(QP) representa uma função de um parâmetro de quantização QP, e HeaderBit representa a taxa de bit relacionada à informação que exclui o coeficiente de transformada ortogonal e pertence ao Cabeçalho, tais como vetores de movimento e o modo.[0099] Here, D differs from that in High Complexity Mode, and represents the difference energy between a predicted image and an input image. QP2Quant(QP) represents a function of a QP quantization parameter, and HeaderBit represents the bit rate related to information that excludes the orthogonal transform coefficient and belongs to the Header, such as motion vectors and the mode.
[00100] Isto é, no Modo de Baixa Complexidade, um processo de previsão precisa ser realizado para cada um dos modos candidatos, mas uma imagem decodificada não é exigida. Portanto, não há necessidade de realizar um processo de codificação. Desta maneira, a quantidade de cálculo é menor do que aquela no Modo de Alta Complexidade.[00100] That is, in Low Complexity Mode, a prediction process needs to be performed for each of the candidate modes, but a decoded image is not required. Therefore, there is no need to carry out an encoding process. In this way, the calculation amount is less than that in High Complexity Mode.
[00101] IntraBlockCopy (IntraBC) é uma ferramenta de codificação para realizar compensação de movimento em uma tela. IntraBC é conhecido como uma ferramenta que contribui para a melhoria de eficiência na codificação de uma imagem artificial, tais como uma tela de computador ou uma imagem CG.[00101] IntraBlockCopy (IntraBC) is a coding tool to perform motion compensation on a screen. IntraBC is known as a tool that contributes to improving efficiency in coding an artificial image, such as a computer screen or a CG image.
[00102] Entretanto, IntraBC não é usado como uma tecnologia para as supradescritas Extensões de Faixa HEVC, e está sendo considerado como uma tecnologia padronizada para extensões de codificação do conteúdo da tela (SCC).[00102] However, IntraBC is not used as a technology for the above-described HEVC Range Extensions, and is being considered as a standard technology for screen content encoding (SCC) extensions.
[00103] No caso de IntraBC, apenas um valor de vetor é transmitido. Portanto, quando uma tela for dividida em fatias, o relacionamento entre o bloco atual e as outras fatias não é tornado claro. No caso de previsão temporal, por outro lado, o relacionamento entre o bloco atual e o quadro de referência é tornado aparente por uma combinação de uma lista de referência e um índice, bem como um valor de vetor.[00103] In the case of IntraBC, only one vector value is transmitted. Therefore, when a screen is divided into slices, the relationship between the current tile and the other slices is not made clear. In the case of temporal prediction, on the other hand, the relationship between the current block and the reference frame is made apparent by a combination of a reference list and an index, as well as an array value.
[00104] Uma restrição é imposta, de forma que o valor de vetor se torne um valor com base nos dados na fatia atual. Desta maneira, referência a qualquer fatia diferente da fatia atual é proibida sem exceção.[00104] A constraint is imposed such that the vector value becomes a value based on the data in the current slice. As such, reference to any slice other than the current slice is prohibited without exception.
[00105] Pelo motivo exposto, os efeitos de IntraBC ficam menores, e eficiência de codificação torna-se mais fraca em um caso em que uma tela for dividida em fatias para alcançar transmissão com baixo atraso.[00105] For the above reason, the effects of IntraBC become smaller, and coding efficiency becomes weaker in a case where a screen is sliced to achieve transmission with low delay.
[00106] Em vista do exposto, a presente tecnologia sugere a transmissão de intra_BC_ref_prev_slice_flag, que é um indicador de permissão de referência para tornar claro que IntraBC refere-se a um resultado da decodificação de uma fatia prévia. Quando o valor de intra_BC_ref_prev_slice_flag for 0 (valor padrão), IntraBC pode se referir apenas à fatia atual. Quando o valor de intra_BC_ref_prev_slice_flag for 1, IntraBC pode se referir não apenas à fatia atual, mas, também, a um bloco em uma fatia prévia. Deve-se notar que este indicador indica o relacionamento entre fatias e, portanto, é apropriadamente definido em um conjunto de parâmetro de imagem parada (PPS).[00106] In view of the above, the present technology suggests the transmission of intra_BC_ref_prev_slice_flag, which is a reference permission indicator to make it clear that IntraBC refers to a result of decoding a previous slice. When the value of intra_BC_ref_prev_slice_flag is 0 (default value), IntraBC can only refer to the current slice. When the value of intra_BC_ref_prev_slice_flag is 1, IntraBC can refer not only to the current slice, but also to a block in a previous slice. It should be noted that this indicator indicates the relationship between slices and is therefore appropriately defined in a still image parameter set (PPS).
[00107] Também, na Derivação 1 da presente tecnologia, quantas fatias prévias podem ser referidas quando intraBC_ref_prev_slice_flag for 1 é tornado claro por um parâmetro chamado intraBC_ref_prev_slice_num no PPS, por exemplo.[00107] Also, in Derivation 1 of the present technology, how many previous slices can be referred to when intraBC_ref_prev_slice_flag is 1 is made clear by a parameter called intraBC_ref_prev_slice_num in PPS, for example.
[00108] Por exemplo, quando intraBC_ref_prev_slice_num for 5, e o número da fatia atual for 10, é possível se referir às imagens com números de fatia 5 até 10. Por exemplo, se o número da fatia atual for menor do que 5, é possível se referir às imagens da fatia 0 até a fatia atual. Adicionalmente, para economizar a taxa de bit, “intraBC_ref_prev_slice_num = 0” pode indicar todas as fatias prévias.[00108] For example, when intraBC_ref_prev_slice_num is 5, and the current slice number is 10, it is possible to refer to images with slice numbers 5 through 10. For example, if the current slice number is less than 5, it is possible to refer to images from slice 0 to the current slice. Additionally, to save bit rate, “intraBC_ref_prev_slice_num = 0” can indicate all previous slices.
[00109] Adicionalmente, na Derivação 2 da presente tecnologia, SPS_crossslice_intraBC_enable_flag, que é um indicador ligado/desligado para controlar a ativação e a desativação da ferramenta para IntraBC para se referir a um resultado da decodificação de uma fatia prévia, é adicionado no conjunto de parâmetro de sequência (SPS). Apenas quando SPS_crossslice_intraBC_enable_flag for verdadeiro, análise sintática é realizada em intraBC_ref_prev_slice_flag. Deve-se notar que este indicador para controlar a ativação e a desativação da ferramenta pode não ser adicionado no SPS, mas pode ser adicionado em um conjunto de parâmetro de vídeo (VPS).[00109] Additionally, in Derivation 2 of the present technology, SPS_crossslice_intraBC_enable_flag, which is an on/off flag to control the enabling and disabling of the tool for IntraBC to refer to a result of decoding a previous slice, is added in the set of string parameter (SPS). Only when SPS_crossslice_intraBC_enable_flag is true, parsing is performed on intraBC_ref_prev_slice_flag. It should be noted that this indicator for controlling the activation and deactivation of the tool may not be added in SPS, but it can be added in a video parameter set (VPS).
[00110] A figura 2 é uma tabela que mostra sintaxes de exemplo do SPS e do PPS. Nos exemplos da figura 2, a sintaxe do PPS é mostrada abaixo da sintaxe do SPS.[00110] Figure 2 is a table showing example syntax for SPS and PPS. In the examples in Figure 2, the PPS syntax is shown below the SPS syntax.
[00111] No SPS, intra_block_copy_enabled_flag, que é o indicador que indica que IntraBC deve ser realizado, é gravado, e SPS_crossslice_intraBC_enable_flag, que é o indicador ligado/desligado supradescrito como Derivação 2 da presente tecnologia, é adicionado sob intra_block_copy_enabled_flag. Apenas quando SPS_crossslice_intraBC_enable_flag for verdadeiro, análise sintática é realizada em SPS_crossslice_intraBC_enable_flag.[00111] In SPS, intra_block_copy_enabled_flag, which is the flag that indicates that IntraBC should be performed, is written, and SPS_crossslice_intraBC_enable_flag, which is the on/off flag described above as Derivation 2 of the present technology, is added under intra_block_copy_enabled_flag. Only when SPS_crossslice_intraBC_enable_flag is true, parsing is performed on SPS_crossslice_intraBC_enable_flag.
[00112] No PPS, intra_BC_ref_prev_slice_flag, que é o indicador de permissão de referência supradescrito como a presente tecnologia, é adicionado. Apenas quando SPS_crossslice_intraBC_enable_flag, que é o indicador ligado/desligado adicionado no SPS, for verdadeiro, análise sintática é realizada no intra_BC_ref_prev_slice_flag. Além do mais, sob intra_BC_ref_prev_slice_flag, intraBC_ref_prev_slice_num, que é o parâmetro supradescrito como Derivação 1 da presente tecnologia, é adicionado. Apenas quando intra_BC_ref_prev_slice_flag for verdadeiro, análise sintática é realizada em intraBC_ref_prev_slice_num.[00112] In PPS, intra_BC_ref_prev_slice_flag, which is the reference permission flag described above as the present technology, is added. Only when SPS_crossslice_intraBC_enable_flag, which is the on/off flag added in SPS, is true, parsing is performed on intra_BC_ref_prev_slice_flag. Furthermore, under intra_BC_ref_prev_slice_flag, intraBC_ref_prev_slice_num, which is the above-described parameter as Derivation 1 of the present technology, is added. Only when intra_BC_ref_prev_slice_flag is true, parsing is performed on intraBC_ref_prev_slice_num.
[00113] Deve-se notar que a informação para controlar IntraBC (previsão de movimento na tela através de fatias), tais como os indicadores e o parâmetro supradescrito, será a seguir referida coletivamente como informação de controle IntraBC. Também, o modo de intraprevisão que usa a informação de controle IntraBC será referido a seguir como o modo IntraBC.[00113] It should be noted that the information for controlling IntraBC (prediction of movement on the screen through slices), such as the indicators and the parameter described above, will hereinafter be collectively referred to as IntraBC control information. Also, the intraforecast mode that uses the IntraBC control information will be referred to below as the IntraBC mode.
[00114] A figura 3 é uma tabela que mostra um exemplo de semântica de acordo com a presente tecnologia. No exemplo da figura 3, SPS_crossslice_intraBC_enable_flag, intraBC_ref_prev_slice_flag e intraBC_ref_prev_slice_num são definidos como segue.[00114] Figure 3 is a table that shows an example of semantics according to the present technology. In the example in figure 3, SPS_crossslice_intraBC_enable_flag, intraBC_ref_prev_slice_flag and intraBC_ref_prev_slice_num are defined as follows.
[00115] SPS_crossslice_intraBC_enable_flag igual a 1 indica que intraBC_rev_prev_slice_flag pode ter o valor igual a 1 no CVS.[00115] SPS_crossslice_intraBC_enable_flag equal to 1 indicates that intraBC_rev_prev_slice_flag can have a value equal to 1 in CVS.
[00116] intraBC_ref_prev_slice_flag igual a 1 indica que uma unidade de previsão cujo modo de codificação é IntraBC (=predModeIntraBc é igual a 1) na fatia atual pode se referir aos dados de fatia previamente decodificados que prossegue a fatia atual na ordem de decodificação na imagem parada atual. intraBC_ref_prev_slice_flag igual a 0 indica que uma unidade de previsão cujo modo de codificação é IntraBC não deve se referir aos dados de fatia previamente decodificados. Quando não presente, o valor de intraBC_ref_prev_slice_flag é inferido em 0.[00116] intraBC_ref_prev_slice_flag equal to 1 indicates that a prediction unit whose encoding mode is IntraBC (=predModeIntraBc equals 1) in the current slice can refer to the previously decoded slice data that proceeds the current slice in the decoding order in the image current stop. intraBC_ref_prev_slice_flag equal to 0 indicates that a prediction unit whose encoding mode is IntraBC must not refer to previously decoded slice data. When not present, the value of intraBC_ref_prev_slice_flag is inferred as 0.
[00117] intraBC_ref_prev_slice_num indica um ou mais segmentos de fatia que podem ser referidos por uma unidade de previsão cujo modo de codificação é IntraBC na fatia atual. O conjunto de segmentos de fatia é derivado como segue.[00117] intraBC_ref_prev_slice_num indicates one or more slice segments that can be referenced by a prediction unit whose encoding mode is IntraBC in the current slice. The set of slice segments is derived as follows.
[00118] Considere C como a ordem da fatia na imagem parada atual (por exemplo 0 para a 1a fatia). E A é calculado como segue.[00118] Consider C as the slice order in the current still image (eg 0 for the 1st slice). And A is calculated as follows.
[00119] A = (C - intraBC_ref_prev_slice_num) < 0. 0 : (C - intraBC_ref_prev_slice_num)[00119] A = (C - intraBC_ref_prev_slice_num) < 0. 0 : (C - intraBC_ref_prev_slice_num)
[00120] Então, o X-ésimo segmento de fatia, em que X está na faixa de A até C, é o segmento de fatia alvo indicado pela sintaxe.[00120] Then, the Xth slice segment, where X is in the range from A to C, is the target slice segment indicated by the syntax.
[00121] A figura 4 é uma tabela que mostra um exemplo de sintaxe do VPS. No VPS mostrado na figura 4, SPS_crossslice_intraBC_enable_flag no SPS mostrado na figura 2 é escrito como VPS_crossslice_intraBC_enable_flag.[00121] Figure 4 is a table that shows an example of VPS syntax. In the VPS shown in Figure 4, SPS_crossslice_intraBC_enable_flag in the SPS shown in Figure 2 is written as VPS_crossslice_intraBC_enable_flag.
[00122] A figura 5 é um diagrama que mostra um exemplo em que uma tela é dividida em quatro fatias (Fatias n° 0 até n° 3) de acordo com a presente tecnologia.[00122] Figure 5 is a diagram showing an example in which a screen is divided into four slices (Slices No. 0 to No. 3) according to the present technology.
[00123] Em um caso em que referência a uma fatia diferente for proibida, a faixa que pode ser referida a partir da CTU atual na Fatia n° 2 é apenas a porção decodificada na Fatia n° 2 e, portanto, nenhum bloco na Fatia n° 1 pode ser referido, por exemplo.[00123] In a case where reference to a different slice is prohibited, the range that can be referred from the current CTU in Slice #2 is only the decoded portion in Slice #2 and therefore no blocks in Slice No. 1 may be referred to, for example.
[00124] No caso da presente tecnologia, por outro lado, fatias decodificadas diferentes (Fatia n° 0 e Fatia n° 1) são incluídas na faixa referível e, desta maneira, um bloco na Fatia n° 1 pode ser referido a partir da CTU atual na Fatia n° 2, por exemplo, da forma mostrada na figura 5.[00124] In the case of the present technology, on the other hand, different decoded slices (Slice n° 0 and Slice n° 1) are included in the referable range and, in this way, a block in Slice n° 1 can be referred from the Current CTU in Slice #2, for example, as shown in figure 5.
[00125] A figura 6 é um diagrama que mostra um caso em que intraBC_ref_prev_slice_num é 1 no exemplo mostrado na figura 5.[00125] Figure 6 is a diagram showing a case where intraBC_ref_prev_slice_num is 1 in the example shown in figure 5.
[00126] Já que intraBC_ref_prev_slice_num é 1, Fatia n° 1, que é uma fatia antes da fatia atual, pode ser referida a partir da CTU atual na Fatia n° 2, da forma mostrada na figura 6. Não é possível se referir à Fatia n° 0. Assim, qualquer bloco na Fatia n° 1 pode ser referido a partir da CTU atual na Fatia n° 2 no caso de exemplo mostrado na figura 6.[00126] Since intraBC_ref_prev_slice_num is 1, Slice #1, which is a slice before the current slice, can be referred from the current CTU in Slice #2, as shown in figure 6. It is not possible to refer to the Slice #0. Thus, any block in Slice #1 can be referred from the current CTU in Slice #2 in the example case shown in figure 6.
[00127] As figuras 7 e 8 são diagramas para explicar uma combinação da presente tecnologia e processamento paralelo de frente de onda (WPP).[00127] Figures 7 and 8 are diagrams to explain a combination of the present technology and wavefront parallel processing (WPP).
[00128] WPP é o processamento que é realizado quando entropy_coding_sync_enabled_flag no PPS for 1. Há dois métodos para realizar WPP. O primeiro é um método de codificação multifatias, com uma fatia sendo uma coluna da CTU. O segundo é um método de codificação que usa entry_poit_offset, com uma fatia sendo uma imagem parada. Já que a supradescrita presente tecnologia pode ser aplicada no caso do segundo método, o primeiro método é descrito a seguir.[00128] WPP is the processing that is performed when entropy_coding_sync_enabled_flag in PPS is 1. There are two methods to perform WPP. The first is a multi-slice encoding method, with a slice being a column of the CTU. The second is an encoding method that uses entry_poit_offset, with a slice being a still image. Since the above-described present technology can be applied in the case of the second method, the first method is described below.
[00129] Quando a função WPP estiver ligada, uma fatia é uma coluna da CTU. Portanto, se referência a uma fatia diferente for proibida, apenas a CTU adjacente no lado esquerdo é a faixa referível da CTU atual, e apenas a CTU adjacente no lado esquerdo pode ser referida.[00129] When the WPP function is on, a slice is a CTU column. Therefore, if reference to a different slice is prohibited, only the adjacent CTU on the left side is the referable range of the current CTU, and only the adjacent CTU on the left side can be referred.
[00130] De acordo com a presente tecnologia, por outro lado, quando a função WPP estiver ligada, a faixa de referência é limitada não à íntegra da Fatia n° 0, mas às CTUs até a CTU localizada no lado superior direito da CTU atual. Isto é em virtude de haver um atraso de tempo de decodificação equivalente a 2 CTUs entre colunas da CTU, devido ao desenho de WPP.[00130] According to the present technology, on the other hand, when the WPP function is on, the reference range is limited not to the entire Slice No. 0, but to the CTUs up to the CTU located on the upper right side of the current CTU . This is because there is a 2 CTU equivalent decoding time delay between CTU columns due to the WPP design.
[00131] Isto é, quando a CTU mais à esquerda na Fatia n° 1 for a CTU atual, da forma mostrada na figura 7, a CTU que fica localizada na Fatia n° 0 e imediatamente acima da CTU atual e a CTU que fica localizada na Fatia n° 0 e no lado superior direito da CTU atual formam a faixa referível.[00131] That is, when the leftmost CTU in Slice #1 is the current CTU, as shown in figure 7, the CTU that is located in Slice #0 and immediately above the current CTU and the CTU that is located on Slice #0 and on the upper right side of the current CTU form the referable range.
[00132] Também, quando a segunda CTU a partir da esquerda na Fatia n° 1 for a CTU atual, a CTU que fica localizada na Fatia n° 0 e no lado superior esquerdo da CTU atual, a CTU que fica localizada na Fatia n° 0 e imediatamente acima da CTU atual, a CTU que fica localizada na Fatia n° 0 e no lado superior direito da CTU atual e a CTU adjacente ao lado esquerdo da CTU atual na Fatia n° 1 formam a faixa referível, da forma mostrada na figura 8.[00132] Also, when the second CTU from the left in Slice #1 is the current CTU, the CTU that is located in Slice #0 and on the upper left side of the current CTU, the CTU that is located in Slice # ° 0 and immediately above the current CTU, the CTU that is located in Slice #0 and on the upper right side of the current CTU and the CTU adjacent to the left side of the current CTU in Slice #1 form the referable range, as shown in figure 8.
[00133] Desta maneira, a presente tecnologia e WPP podem ser combinados.[00133] In this way, the present technology and WPP can be combined.
[00134] A figura 9 é um diagrama para explicar uma combinação da presente tecnologia e divisão de mosaico.[00134] Figure 9 is a diagram to explain a combination of the present technology and mosaic division.
[00135] Divisão de mosaico é o processamento a ser realizado quando tiles_enabled_frag no PPS for 1. Mosaicos são especificados como ferramentas para processamento em paralelo em HEVC. Um mosaico é uma unidade de divisão de uma imagem parada. O tamanho da linha e o tamanho da coluna de cada mosaico são designados com base na LCU no SPS ou no PPS na informação de compressão de imagem.[00135] Tile splitting is the processing to be performed when tiles_enabled_frag in PPS is 1. Tiles are specified as tools for parallel processing in HEVC. A mosaic is a unit of division of a still image. Row size and column size of each tile are assigned based on LCU in SPS or PPS in image compression information.
[00136] As LCUs incluídas em cada mosaico são processadas na ordem de escaneamento por rasterização, e os mosaicos incluídos em cada imagem parada são processados na ordem de escaneamento por rasterização. Uma fatia também pode incluir mosaicos, e um contorno de fatia pode existir em um mosaico.[00136] The LCUs included in each tile are processed in raster scan order, and the tiles included in each still image are processed in raster scan order. A slice can also include tiles, and a slice outline can exist within a tile.
[00137] Em um caso em que uma tela for verticalmente dividida em duas porções, ou for dividido em mosaico na Fatia n° 0 e na Fatia n° 1, por exemplo, se referência a uma fatia diferente for proibida, a faixa que pode ser referida a partir da CTU atual compreende apenas os mosaicos na Fatia n° 1.[00137] In a case where a screen is vertically divided into two portions, or is divided into mosaics on Slice No. 0 and Slice No. 1, for example, if reference to a different slice is prohibited, the range that can to be referenced from the current CTU comprises only the tiles in Slice #1.
[00138] De acordo com a presente tecnologia, por outro lado, intra_BC_ref_prev_slice_flag como o indicador de permissão de referência é definido em 1, de forma que fatias de diferença decodificadas possam ser referidas. Desta maneira, em um caso em que a função de divisão de mosaico estiver ligada, referência à Fatia n° 0, que inclui mosaicos diferentes e é uma fatia diferente da CTU atual na Fatia n° 1, é permitida, da forma mostrada na figura 9.[00138] According to the present technology, on the other hand, intra_BC_ref_prev_slice_flag as the reference permission flag is set to 1, so that decoded difference slices can be referenced. In this way, in a case where the tile division function is turned on, reference to Slice No. 0, which includes different tiles and is a different slice from the current CTU in Slice No. 1, is allowed, as shown in the figure. 9.
[00139] A figura 10 é uma tabela para explicar efeitos vantajosos.[00139] Figure 10 is a table to explain advantageous effects.
[00140] Em um caso em que referência a uma fatia diferente for proibida, decodificação independente entre fatias pode ser realizada. No caso da presente tecnologia, por outro lado, IntraBC não pode ser realizado, a menos que uma fatia designada seja completamente decodificada. Portanto, decodificação independente entre fatias não é possível.[00140] In a case where reference to a different slice is prohibited, independent decoding between slices can be performed. In the case of present technology, on the other hand, IntraBC cannot be performed unless a designated slice is completely decoded. Therefore, independent decoding between slices is not possible.
[00141] Em um caso em que referência a uma fatia diferente for proibida, IntraBC não pode se referir às fatias prévias e, portanto, eficiência de codificação torna-se mais fraca. De acordo com a presente tecnologia, por outro lado, IntraBC pode se referir à as fatias prévias e, assim, eficiência de codificação é melhorada.[00141] In a case where reference to a different slice is prohibited, IntraBC cannot refer to the previous slices and therefore coding efficiency becomes weaker. According to the present technology, on the other hand, IntraBC can refer to the previous slices and thus coding efficiency is improved.
[00142] A figura 11 é um diagrama para explicar uma combinação da presente tecnologia e da SEI de definição de mosaico restrito no movimento temporal (MCTS-SEI).[00142] Figure 11 is a diagram to explain a combination of the present technology and the SEI definition of time-restricted mosaic (MCTS-SEI).
[00143] MCTS-SEI é SEI empregada na versão preliminar (JCTVC- Q1008_V2) de SHVC. Com o uso de MCTS-SEI, apenas os dados em mosaicos designados podem ser extraídos a partir de um fluxo contínuo de bits, de forma que os mosaicos designados possam ser independentemente decodificados. Deve-se notar que, sem esta SEI, não é possível decodificar independentemente apenas alguns dos mosaicos em uma tela.[00143] MCTS-SEI is SEI used in the preliminary version (JCTVC-Q1008_V2) of SHVC. With the use of MCTS-SEI, only data in designated tiles can be extracted from a bit stream so that designated tiles can be independently decoded. It should be noted that without this SEI it is not possible to independently decode only some of the mosaics on a screen.
[00144] No exemplo mostrado na figura 11, uma imagem parada é dividida em 10 x 6 mosaicos. Os mosaicos mcts_id[0] na região indicada por um quadro espesso são parte da imagem parada, mas apenas aqueles mosaicos podem ser extraídos e decodificados (tal decodificação será a seguir referida como decodificação independente).[00144] In the example shown in figure 11, a still image is divided into 10 x 6 mosaics. The mcts_id[0] tiles in the region indicated by a thick frame are part of the still picture, but only those tiles can be extracted and decoded (such decoding will be referred to as independent decoding in the following).
[00145] Igualmente, os mosaicos mcts_id[1] no quadro projetado com uma linha tracejada também podem ser independentemente decodificados. MCTS-SEI pode designar conjuntos de mosaicos em regiões complicadas, como mcts_id[0] e mcts_id[1] mostrados na figura 11.[00145] Likewise, the mcts_id[1] tiles in the frame projected with a dashed line can also be independently decoded. MCTS-SEI can designate mosaic sets in complicated regions, like mcts_id[0] and mcts_id[1] shown in figure 11.
[00146] Portanto, em uma fatia em um conjunto de mosaicos designado por MCTS-SEI, intraBC_ref_prev_slice_flag precisa ser definido em 0.[00146] Therefore, on a slice in a set of mosaics designated by MCTS-SEI, intraBC_ref_prev_slice_flag needs to be set to 0.
[00147] Isto é em virtude de referência a um mosaico/fatia diferente do atual ser proibida.[00147] This is because reference to a tile/slice other than the current one is prohibited.
[00148] A figura 12 é uma tabela que mostra um exemplo de NOTA a ser adicionado na semântica de uma mensagem MCTS-SEI.[00148] Figure 12 is a table that shows an example of NOTE to be added in the semantics of an MCTS-SEI message.
[00149] Para combinar a presente tecnologia e MCTS-SEI, NOTA mostrada na figura 12 é adicionada na semântica de uma mensagem MCTS- SEI de acordo com JCTVC-Q1008_V2.[00149] To match the present technology and MCTS-SEI, NOTE shown in Figure 12 is added in the semantics of an MCTS-SEI message according to JCTVC-Q1008_V2.
[00150] NOTA - Quando intraBC_ref_prev_slice_flag for igual a 1, processo de cópia intrabloco pode precisar da dependência da decodificação entre os mosaicos. É encorajado que codificadores definam intraBC_ref_prev_slice_flag igual a 0 nos mosaicos que são selecionados por um conjunto de mosaicos restrito no movimento temporal.[00150] NOTE - When intraBC_ref_prev_slice_flag is equal to 1, intrablock copying process may need dependency of decoding between slices. It is encouraged that coders set intraBC_ref_prev_slice_flag equal to 0 on slices that are selected by a set of slices constrained in temporal motion.
[00151] A seguir, aplicações de exemplo da supradescrita presente tecnologia nos dispositivos específicos são descritas.[00151] Below, example applications of the above-described present technology in specific devices are described.
[00152] A figura 13 é um diagrama de blocos que mostra uma configuração de exemplo de uma modalidade de um dispositivo de codificação no qual a presente descrição é aplicada.[00152] Figure 13 is a block diagram showing an example configuration of an embodiment of an encoding device in which the present description is applied.
[00153] O dispositivo de codificação 10 mostrado na figura 13 inclui uma unidade de definição 11, uma unidade de codificação 12 e uma unidade de transmissão 13, e codifica imagens por um método em conformidade com HEVC.[00153] The coding device 10 shown in Fig. 13 includes a definition unit 11, a coding unit 12 and a transmission unit 13, and encodes pictures by a HEVC-compliant method.
[00154] Especificamente, a unidade de definição 11 do dispositivo de codificação 10 define um VPS, um SPS, um PPS, VUI, SEI e congêneres. Particularmente, a unidade de definição 11 define informação de controle IntraBC em um SPS e um PPS. A unidade de definição 11 supre para a unidade de codificação 12 conjuntos de parâmetros, tais como o VPS, o SPS, o PPS, o VUI e o SEI, que foram definidos.[00154] Specifically, the definition unit 11 of the encoding device 10 defines a VPS, an SPS, a PPS, VUI, SEI and the like. Particularly, the defining unit 11 defines IntraBC control information in an SPS and a PPS. The definition unit 11 supplies to the encoding unit 12 sets of parameters, such as the VPS, the SPS, the PPS, the VUI and the SEI, which have been defined.
[00155] Uma imagem com base em quadro é inserida na unidade de codificação 12. Pela referência aos conjuntos de parâmetros supridos a partir da unidade de definição 11, a unidade de codificação 12 codifica a imagem de entrada por um método em conformidade com HEVC. Particularmente, de acordo com a informação de controle IntraBC no SPS e no PPS supridos a partir da unidade de definição 11, a unidade de codificação 12 realiza um processo de previsão no modo IntraBC no qual a presente tecnologia é aplicada, e faz uma intraprevisão. A unidade de codificação 12 gera um fluxo contínuo codificado a partir dos dados codificados obtidos em decorrência da codificação e a partir dos conjuntos de parâmetros, e supre o fluxo contínuo codificado para a unidade de transmissão 13.[00155] A frame-based picture is input into the coding unit 12. By reference to the parameter sets supplied from the setting unit 11, the coding unit 12 encodes the input picture by a HEVC-compliant method. Particularly, according to the IntraBC control information in the SPS and PPS supplied from the definition unit 11, the encoding unit 12 performs a prediction process in the IntraBC mode in which the present technology is applied, and makes an intraprediction. The coding unit 12 generates a coded stream from the coded data obtained as a result of coding and from the parameter sets, and supplies the coded stream to the transmission unit 13.
[00156] A unidade de transmissão 13 transmite o fluxo contínuo codificado suprido a partir da unidade de codificação 12 para um dispositivo de decodificação que será descrito a seguir.[00156] The transmission unit 13 transmits the encoded stream supplied from the encoding unit 12 to a decoding device which will be described below.
[00157] A figura 14 é um diagrama de blocos que mostra uma configuração de exemplo da unidade de codificação 12 mostrada na figura 13.[00157] Figure 14 is a block diagram showing an example configuration of the coding unit 12 shown in Figure 13.
[00158] A unidade de codificação 12 mostrada na figura 14 inclui um conversor A/D 31, um buffer de rearranjo da tela 32, uma unidade de operação aritmética 33, uma unidade de transformada ortogonal 34, uma unidade de quantização 35, uma unidade de codificação sem perdas 36, um buffer de acúmulo 37, uma unidade de quantização inversa 38, uma unidade de transformada ortogonal inversa 39 e uma unidade de adição 40. A unidade de codificação 12 também inclui um filtro de desbloqueio 41, um filtro de deslocamento adaptável 42, um filtro de malha adaptável 43, uma memória de quadro 44, um comutador 45, uma unidade de intraprevisão 46, uma unidade de previsão/compensação de movimento 47, uma unidade de seleção de imagem prevista 48 e uma unidade de controle de taxa 49.[00158] The coding unit 12 shown in figure 14 includes an A/D converter 31, a screen rearrangement buffer 32, an arithmetic operation unit 33, an orthogonal transform unit 34, a quantization unit 35, a unit a lossless coding unit 36, an accumulation buffer 37, an inverse quantization unit 38, an inverse orthogonal transform unit 39 and an addition unit 40. The coding unit 12 also includes a deblocking filter 41, an offset filter 42, an adaptive mesh filter 43, a frame memory 44, a switch 45, an intraprediction unit 46, a motion prediction/compensation unit 47, a predicted picture selection unit 48, and a motion control unit 48. rate 49.
[00159] O conversor A/D 31 da unidade de codificação 12 realiza conversão A/D em uma imagem com base em quadro que é inserida como o objeto atual a ser codificado. O conversor A/D 31 transmite uma imagem que é um sinal digital convertido para o buffer de rearranjo da tela 32, e armazena a imagem no buffer de rearranjo da tela 32.[00159] The A/D converter 31 of the encoding unit 12 performs A/D conversion on a frame-based image that is inserted as the current object to be encoded. The A/D converter 31 transmits an image which is a converted digital signal to the screen rearrangement buffer 32, and stores the image in the screen rearrangement buffer 32.
[00160] O buffer de rearranjo da tela 32 rearranja os quadros da imagem armazenados em ordem de exibição, de forma que os quadros da imagem sejam arranjados na ordem de codificação de acordo com a estrutura GOP. O buffer de rearranjo da tela 32 supre a imagem rearranjada para a unidade de operação aritmética 33, a unidade de intraprevisão 46 e a unidade de previsão/compensação de movimento 47.[00160] The screen rearrangement buffer 32 rearranges the stored image frames in display order, so that the image frames are arranged in the coding order according to the GOP structure. The screen rearrangement buffer 32 supplies the rearranged image to the arithmetic operation unit 33, the intraprediction unit 46 and the motion prediction/compensation unit 47.
[00161] A unidade de operação aritmética 33 realiza codificação pela subtração de uma imagem prevista suprida a partir da unidade de seleção de imagem prevista 48 da imagem suprida a partir do buffer de rearranjo da tela 32. A unidade de operação aritmética 33 transmite a imagem resultante como informação de erro residual (uma diferença) para a unidade de transformada ortogonal 34. Deve-se notar que, quando nenhuma imagem prevista for suprida a partir da unidade de seleção de imagem prevista 48, a unidade de operação aritmética 33 transmite a imagem lida a partir do buffer de rearranjo da tela 32 como informação de erro residual para a unidade de transformada ortogonal 34.[00161] The arithmetic operation unit 33 performs coding by subtracting a predicted image supplied from the predicted image selection unit 48 from the image supplied from the screen rearrangement buffer 32. The arithmetic operation unit 33 transmits the image as residual error information (a difference) to the orthogonal transform unit 34. It should be noted that when no predicted image is supplied from the predicted image selection unit 48, the arithmetic operation unit 33 transmits the image read from screen rearrangement buffer 32 as residual error information to orthogonal transform unit 34.
[00162] A unidade de transformada ortogonal 34 realiza um processo de transformada ortogonal na informação de erro residual suprida a partir da unidade de operação aritmética 33 para cada TU. A unidade de transformada ortogonal 34 supre um resultado da transformada ortogonal para a unidade de quantização 35 depois do processo de transformada ortogonal.[00162] The orthogonal transform unit 34 performs an orthogonal transform process on the residual error information supplied from the arithmetic operation unit 33 for each TU. The orthogonal transform unit 34 supplies an orthogonal transform result to the quantization unit 35 after the orthogonal transform process.
[00163] A unidade de quantização 35 quantiza o resultado da transformada ortogonal suprido a partir da unidade de transformada ortogonal 34. A unidade de quantização 35 supre o valor quantizado obtido em decorrência da quantização para a unidade de codificação sem perdas 36.[00163] The quantization unit 35 quantizes the result of the orthogonal transform supplied from the orthogonal transform unit 34. The quantization unit 35 supplies the quantized value obtained as a result of the quantization to the lossless coding unit 36.
[00164] A unidade de codificação sem perdas 36 adquire, a partir da unidade de intraprevisão 46, informação que indica o modo de intraprevisão ideal (a informação será referida a seguir como a informação do modo de intraprevisão). A unidade de codificação sem perdas 36 também adquire, a partir da unidade de previsão/compensação de movimento 47, informação que indica o modo de interprevisão ideal (a informação será referida a seguir como a informação do modo de interprevisão), um vetor de movimento, informação para identificar uma imagem de referência e congêneres.[00164] The lossless coding unit 36 acquires, from the intraprediction unit 46, information indicating the optimal intraprediction mode (the information will be referred to hereinafter as the intraprediction mode information). The lossless coding unit 36 also acquires, from the motion prediction/compensation unit 47, information that indicates the optimal interprediction mode (the information will be referred to hereinafter as the interprediction mode information), a motion vector , information to identify a reference image and congeners.
[00165] A unidade de codificação sem perdas 36 também adquire informação do filtro de deslocamento sobre um filtro de deslocamento a partir do filtro de deslocamento adaptável 42, e adquire um coeficiente de filtro a partir do filtro de malha adaptável 43.[00165] The lossless coding unit 36 also acquires shift filter information about a shift filter from the adaptive shift filter 42, and acquires a filter coefficient from the adaptive mesh filter 43.
[00166] A unidade de codificação sem perdas 36 realiza codificação sem perdas, tais como codificação com comprimento variável (codificação de comprimento variável adaptável ao contexto (CAVLC), por exemplo) ou codificação aritmética (codificação aritmética binária adaptável ao contexto (CABAC), por exemplo), no valor quantizado suprido a partir da unidade de quantização 35.[00166] The lossless coding unit 36 performs lossless coding, such as variable length coding (context adaptive variable length coding (CAVLC), for example) or arithmetic coding (context adaptive binary arithmetic coding (CABAC), for example), in the quantized value supplied from the quantization unit 35.
[00167] A unidade de codificação sem perdas 36 também realiza codificação sem perdas na informação de codificação relacionada à codificação, que é a informação do modo de intraprevisão, e um vetor IntraBC apenas no caso do modo IntraBC, ou a informação do modo de interprevisão, o vetor de movimento a informação para identificar a imagem de referência, a informação do filtro de deslocamento e o coeficiente de filtro. A unidade de codificação sem perdas 36 supre para o buffer de acúmulo 37 a informação de codificação e o valor quantizado sujeito à codificação sem perdas como dados codificados a ser armazenados.[00167] The lossless coding unit 36 also performs lossless coding on the coding information related to coding, which is the intraprediction mode information, and an IntraBC vector only in the case of the IntraBC mode, or the interprediction mode information , the motion vector the information to identify the reference image, the offset filter information and the filter coefficient. The lossless coding unit 36 supplies to the accumulation buffer 37 the coding information and the quantized value subject to lossless coding as coded data to be stored.
[00168] Deve-se notar que a informação de codificação sujeita à codificação sem perdas pode ser informação de cabeçalho (um cabeçalho de fatia, por exemplo) sobre o valor quantizado sujeito à codificação sem perdas.[00168] It should be noted that the encoding information subject to lossless encoding may be header information (a slice header, for example) about the quantized value subject to lossless encoding.
[00169] O buffer de acúmulo 37 armazena temporariamente os dados codificados supridos a partir da unidade de codificação sem perdas 36. O buffer de acúmulo 37 também supre os dados codificados armazenados, juntamente com os conjuntos de parâmetros supridos a partir da unidade de definição 11 mostrada na figura 13, como um fluxo contínuo codificado para a unidade de transmissão 13.[00169] The accumulation buffer 37 temporarily stores the encoded data supplied from the lossless coding unit 36. The accumulation buffer 37 also supplies the stored encoded data, together with the parameter sets supplied from the definition unit 11 shown in figure 13, as an encoded continuous stream to the transmission unit 13.
[00170] O valor quantizado que é transmitido a partir da unidade de quantização 35 também é inserido na unidade de quantização inversa 38. A unidade de quantização inversa 38 quantiza inversamente o valor quantizado. A unidade de quantização inversa 38 supre o resultado da transformada ortogonal obtido em decorrência da quantização inversa para a unidade de transformada ortogonal inversa 39.[00170] The quantized value that is transmitted from the quantization unit 35 is also input into the inverse quantization unit 38. The inverse quantization unit 38 inversely quantizes the quantized value. The inverse quantization unit 38 supplies the orthogonal transform result obtained as a result of the inverse quantization to the inverse orthogonal transform unit 39.
[00171] A unidade de transformada ortogonal inversa 39 realiza um processo de transformada ortogonal inversa no resultado da transformada ortogonal suprido a partir da unidade de quantização inversa 38 para cada TU. A transformada ortogonal inversa é realizada por transformada discreta de cosseno inversa (IDCT) ou transformada de seno discreta inversa (IDST), por exemplo. A unidade de transformada ortogonal inversa 39 supre a informação de erro residual obtida em decorrência do processo de transformada ortogonal inversa para a unidade de adição 40.[00171] The inverse orthogonal transform unit 39 performs an inverse orthogonal transform process on the orthogonal transform result supplied from the inverse quantization unit 38 for each TU. The inverse orthogonal transform is performed by inverse discrete cosine transform (IDCT) or inverse discrete sine transform (IDST), for example. The inverse orthogonal transform unit 39 supplies the residual error information obtained as a result of the inverse orthogonal transform process to the addition unit 40.
[00172] A unidade de adição 40 adiciona a informação de erro residual suprida a partir da unidade de transformada ortogonal inversa 39 para a imagem prevista suprida a partir da unidade de seleção de imagem prevista 48, para realizar decodificação. A unidade de adição 40 supre a imagem decodificada para o filtro de desbloqueio 41 e a memória de quadro 44.[00172] The addition unit 40 adds the residual error information supplied from the inverse orthogonal transform unit 39 to the predicted image supplied from the predicted image selection unit 48, to perform decoding. The summing unit 40 supplies the decoded image to the deblocking filter 41 and the frame memory 44.
[00173] O filtro de desbloqueio 41 realiza um processo de filtragem de desbloqueio adaptável na imagem decodificada suprida a partir da unidade de adição 40, para remover distorção de bloco. A imagem resultante é suprida para o filtro de deslocamento adaptável 42.[00173] The deblocking filter 41 performs an adaptive deblocking filtering process on the decoded image supplied from the summing unit 40 to remove block distortion. The resulting image is supplied to adaptive shift filter 42.
[00174] O filtro de deslocamento adaptável 42 realiza um processo de filtragem de deslocamento adaptável (deslocamento adaptável de amostra (SAO)) na imagem sujeita ao processo de filtragem de desbloqueio adaptável pelo filtro de desbloqueio 41, principalmente, para remover zumbido.[00174] The adaptive shift filter 42 performs an adaptive shift filtering process (sample adaptive shift (SAO)) on the image subjected to the adaptive deblocking filtering process by the deblocking filter 41, mainly to remove hum.
[00175] Especificamente, o filtro de deslocamento adaptável 42 determina um tipo de um processo de filtragem de deslocamento adaptável para cada maior unidade de codificação (LCU) como a maior unidade de codificação, e calcula o deslocamento a ser usado no processo de filtragem de deslocamento adaptável. Usando o deslocamento calculado, o filtro de deslocamento adaptável 42 realiza o processo de filtragem de deslocamento adaptável do tipo determinado na imagem sujeita ao processo de filtragem de desbloqueio adaptável.[00175] Specifically, the adaptive offset filter 42 determines a type of an adaptive offset filtering process for each largest coding unit (LCU) as the largest encoding unit, and calculates the offset to be used in the offset filtering process. adaptive displacement. Using the calculated offset, the adaptive offset filter 42 performs the adaptive offset filtering process of the determined type on the image subjected to the adaptive deblocking filtering process.
[00176] O filtro de deslocamento adaptável 42 supre para o filtro de malha adaptável 43 a imagem sujeita ao processo de filtragem de deslocamento adaptável. O filtro de deslocamento adaptável 42 também supre para a unidade de codificação sem perdas 36 a informação do filtro de deslocamento, que é informação que indica o tipo do processo de filtragem de deslocamento adaptável realizado, e o deslocamento.[00176] The adaptive shift filter 42 supplies the adaptive mesh filter 43 with the image subject to the adaptive shift filtering process. The adaptive shift filter 42 also supplies the lossless coding unit 36 with shift filter information, which is information indicating the type of adaptive shift filtering process performed, and the shift.
[00177] O filtro de malha adaptável 43 é formado com um filtro Wiener bidimensional, por exemplo. Para cada LCU, por exemplo, o filtro de malha adaptável 43 realiza um processo de filtragem de malha adaptável (ALF) na imagem que é suprida a partir do filtro de deslocamento adaptável 42 e foi sujeita ao processo de filtragem de deslocamento adaptável.[00177] The adaptive mesh filter 43 is formed with a two-dimensional Wiener filter, for example. For each LCU, for example, the adaptive mesh filter 43 performs an adaptive mesh filtering (ALF) process on the image that is supplied from the adaptive shift filter 42 and has been subjected to the adaptive shift filtering process.
[00178] Especificamente, para cada LCU, o filtro de malha adaptável 43 calcula o coeficiente de filtro a ser usado no processo de filtragem de malha adaptável, para minimizar o erro residual entre a imagem original que é a imagem transmitida a partir do buffer de rearranjo da tela 32 e a imagem sujeita ao processo de filtragem de malha adaptável. Então, usando o coeficiente de filtro calculado, o filtro de malha adaptável 43 realiza, para cada LCU, o processo de filtragem de malha adaptável na imagem sujeita ao processo de filtragem de deslocamento adaptável.[00178] Specifically, for each LCU, the adaptive mesh filter 43 calculates the filter coefficient to be used in the adaptive mesh filtering process, to minimize the residual error between the original image that is the image transmitted from the buffer rearrangement of the screen 32 and the image subjected to the adaptive mesh filtering process. Then, using the calculated filter coefficient, the adaptive mesh filter 43 performs, for each LCU, the adaptive mesh filtering process on the image subjected to the adaptive shift filtering process.
[00179] O filtro de malha adaptável 43 supre para a memória de quadro 44 a imagem sujeita ao processo de filtragem de malha adaptável. O filtro de malha adaptável 43 também supre para a unidade de codificação sem perdas 36 o coeficiente de filtro usado no processo de filtragem de malha adaptável.[00179] The adaptive mesh filter 43 supplies the image subject to the adaptive mesh filtering process to the frame memory 44. The adaptive mesh filter 43 also supplies the lossless coding unit 36 with the filter coefficient used in the adaptive mesh filtering process.
[00180] Deve-se notar que, embora o processo de filtragem de malha adaptável seja realizado para cada LCU neste exemplo, a unidade de processamento no processo de filtragem de malha adaptável não é limitada à LCU. Entretanto, o processamento pode ser eficientemente realizado quando o filtro de deslocamento adaptável 42 e o filtro de malha adaptável 43 usarem a mesma unidade de processamento.[00180] It should be noted that although the adaptive mesh filtering process is performed for each LCU in this example, the processing unit in the adaptive mesh filtering process is not limited to the LCU. However, processing can be efficiently performed when the adaptive shift filter 42 and the adaptive mesh filter 43 use the same processing unit.
[00181] A memória de quadro 44 armazena a imagem suprida a partir do filtro de malha adaptável 43 e a imagem suprida a partir da unidade de adição 40. Uma imagem adjacente a uma unidade de previsão (PU) dentre as imagens que são armazenadas na memória de quadro 44 e não foram sujeitas a nenhum processo de filtragem é suprida como uma imagem periférica para a unidade de intraprevisão 46 por meio do comutador 45. Neste particular, uma imagem que é armazenada na memória de quadro 44 e foi sujeita a um processo de filtragem é transmitida como uma imagem de referência para a unidade de previsão/compensação de movimento 47 por meio do comutador 45.[00181] The frame memory 44 stores the image supplied from the adaptive mesh filter 43 and the image supplied from the addition unit 40. An image adjacent to a prediction unit (PU) among the images that are stored in the frame memory 44 and have not been subjected to any filtering process is supplied as a peripheral image to the intraprediction unit 46 via switch 45. In this particular, an image which is stored in frame memory 44 and has been subjected to a frame filtering is transmitted as a reference image to the motion prediction/compensation unit 47 via switch 45.
[00182] A informação de controle IntraBC no SPS e no PPS é suprida a partir da unidade de definição 11 para a unidade de intraprevisão 46. Usando a imagem periférica que foi lida a partir da memória de quadro 44 por meio do comutador 45, a unidade de intraprevisão 46 realiza um processo de intraprevisão em todos os modos de intraprevisão candidatos para cada PU. Ao mesmo tempo, a unidade de intraprevisão 46 também realiza intraprevisão no modo IntraBC de acordo com a informação de controle IntraBC.[00182] The IntraBC control information in the SPS and PPS is supplied from the definition unit 11 to the intraprediction unit 46. Using the peripheral image that was read from the frame memory 44 through the switch 45, the Intraforecast unit 46 performs an intraforecast process on all candidate intraforecast modes for each PU. At the same time, the intraprediction unit 46 also performs intraprediction in the IntraBC mode according to the IntraBC control information.
[00183] Também, de acordo com uma imagem lida a partir do buffer de rearranjo da tela 32 e a imagem prevista gerada em decorrência do processo de intraprevisão, a unidade de intraprevisão 46 calcula valores da função de custo (descritos posteriormente com detalhes) de todos os modos de intraprevisão candidatos. A unidade de intraprevisão 46, então, determina o modo de intraprevisão ideal, que é o modo de intraprevisão com o menor valor da função de custo.[00183] Also, according to an image read from the screen rearrangement buffer 32 and the predicted image generated as a result of the intraforecast process, the intraforecast unit 46 calculates cost function values (described later in detail) from all candidate intraforecast modes. The intraforecast unit 46 then determines the optimal intraforecast mode, which is the intraforecast mode with the lowest value of the cost function.
[00184] A unidade de intraprevisão 46 supre a imagem prevista gerada no modo de intraprevisão ideal e o correspondente valor da função de custo para a unidade de seleção de imagem prevista 48. Quando notificada da seleção da imagem prevista gerada no modo de intraprevisão ideal pela unidade de seleção de imagem prevista 48, a unidade de intraprevisão 46 supre a informação do modo de intraprevisão para a unidade de codificação sem perdas 36. Deve-se notar que um modo de intraprevisão é um modo que indica o tamanho de cada PU e uma direção de previsão. Se o modo de intraprevisão ideal for o modo IntraBC, o vetor IntraBC também é suprido para a unidade de codificação sem perdas 36 neste estágio.[00184] The intraprediction unit 46 supplies the predicted image generated in the ideal intraprediction mode and the corresponding value of the cost function to the predicted image selection unit 48. When notified of the selection of the predicted image generated in the ideal intraprediction mode by predictive image selection unit 48, intraprediction unit 46 supplies intraprediction mode information to lossless coding unit 36. It should be noted that an intraprediction mode is a mode that indicates the size of each PU and a forecast direction. If the ideal intraprediction mode is the IntraBC mode, the IntraBC vector is also supplied to the lossless coding unit 36 at this stage.
[00185] A unidade de previsão/compensação de movimento 47 realiza um processo de previsão/compensação de movimento em todos os modos de interprevisão candidatos para cada PU. Especificamente, a unidade de previsão/compensação de movimento 47 detecta, para cada PU, vetores de movimento de todos os modos de interprevisão candidatos de acordo com a imagem suprida a partir do buffer de rearranjo da tela 32 e a imagem de referência lida a partir da memória de quadro 44 por meio do comutador 45. A unidade de previsão/compensação de movimento 47, então, realiza, para cada PU, um processo de compensação na imagem de referência de acordo com os vetores de movimento, e gera imagens previstas.[00185] The motion prediction/compensation unit 47 performs a motion prediction/compensation process in all candidate interprediction modes for each PU. Specifically, the motion prediction/compensation unit 47 detects, for each PU, motion vectors of all candidate interprediction modes according to the image supplied from the screen rearrangement buffer 32 and the reference image read from from the frame memory 44 via the switch 45. The motion prediction/compensation unit 47 then performs, for each PU, a compensation process on the reference image according to the motion vectors, and generates predicted images.
[00186] Neste ponto, a unidade de previsão/compensação de movimento 47 calcula valores da função de custo de todos os modos de interprevisão candidatos de acordo com a imagem suprida a partir do buffer de rearranjo da tela 32 e as imagens previstas, e determina o modo de interprevisão ideal, que é o modo de interprevisão com o menor valor da função de custo. A unidade de previsão/compensação de movimento 47, então, supre o valor da função de custo do modo de interprevisão ideal e a correspondente imagem prevista para a unidade de seleção de imagem prevista 48. Além do mais, quando notificada da seleção da imagem prevista gerada no modo de interprevisão ideal pela unidade de seleção de imagem prevista 48, a unidade de previsão/compensação de movimento 47 transmite a informação do modo de interprevisão, o correspondente vetor de movimento, a informação para identificar a imagem de referência e congêneres para a unidade de codificação sem perdas 36. Deve-se notar que um modo de interprevisão é um modo que indica o tamanho de cada PU e congêneres.[00186] At this point, the motion prediction/compensation unit 47 calculates cost function values of all candidate interprediction modes according to the image supplied from the screen rearrangement buffer 32 and the predicted images, and determines the optimal interforecast mode, which is the interforecast mode with the smallest value of the cost function. Motion prediction/compensation unit 47 then supplies the cost function value of the optimal interprediction mode and the corresponding predicted image to the predicted image selection unit 48. Furthermore, when notified of the prediction image selection generated in the ideal interprediction mode by the predicted image selection unit 48, the motion prediction/compensation unit 47 transmits the interprediction mode information, the corresponding motion vector, the information for identifying the reference image and the like for the lossless coding unit 36. It should be noted that an interprediction mode is a mode that indicates the size of each PU and the like.
[00187] De acordo com os valores da função de custo supridos a partir da unidade de intraprevisão 46 e da unidade de previsão/compensação de movimento 47, a unidade de seleção de imagem prevista 48 determina o modo de previsão ideal, que é o modo de intraprevisão ideal ou o modo de interprevisão ideal, qualquer que tenha o menor valor da função de custo. A unidade de seleção de imagem prevista 48, então, supre a imagem prevista no modo de previsão ideal para a unidade de operação aritmética 33 e a unidade de adição 40. A unidade de seleção de imagem prevista 48 também notifica a unidade de intraprevisão 46 ou a unidade de previsão/compensação de movimento 47 da seleção da imagem prevista no modo de previsão ideal.[00187] According to the values of the cost function supplied from the intraprediction unit 46 and the prediction/motion compensation unit 47, the predicted image selection unit 48 determines the ideal prediction mode, which is the ideal intraforecast mode or the ideal interforecast mode, whichever has the smallest value of the cost function. The predicted image selection unit 48 then supplies the predicted image in the optimal prediction mode to the arithmetic operation unit 33 and the addition unit 40. The predicted image selection unit 48 also notifies the intraprediction unit 46 or the prediction/motion compensation unit 47 of selecting the predicted image in the ideal prediction mode.
[00188] De acordo com os dados codificados armazenados no buffer de acúmulo 37, a unidade de controle de taxa 49 controla a taxa de operação de quantização da unidade de quantização 35 para não causar um sobrefluxo ou subfluxo.[00188] According to the encoded data stored in the accumulation buffer 37, the rate control unit 49 controls the quantization operation rate of the quantization unit 35 not to cause an overflow or underflow.
[00189] A figura 15 é um fluxograma para explicar um processo de geração de fluxo contínuo a ser realizado pelo dispositivo de codificação 10 mostrado na figura 13.[00189] Figure 15 is a flowchart to explain a continuous stream generation process to be performed by the coding device 10 shown in Figure 13.
[00190] Na etapa S11 na figura 15, a unidade de definição 11 do dispositivo de codificação 10 define conjuntos de parâmetros, tais como um VPS e um SPS. A unidade de definição 11 supre os conjuntos de parâmetros definidos para a unidade de codificação 12. Este processo de definição será descrito com detalhes a seguir em relação à figura 16.[00190] At step S11 in Figure 15, the definition unit 11 of the coding device 10 defines sets of parameters, such as a VPS and an SPS. The definition unit 11 supplies the sets of parameters defined for the coding unit 12. This definition process will be described in detail below in relation to figure 16.
[00191] Na etapa S12, a unidade de codificação 12 realiza um processo de codificação para codificar uma imagem com base em quadro inserida a partir do exterior por um método em conformidade com HEVC. Este processo de codificação será descrito com detalhes a seguir, em relação às figuras 17 e 18.[00191] In the step S12, the coding unit 12 performs a coding process for coding a frame-based picture inserted from the outside by a HEVC-compliant method. This encoding process will be described in detail below, in relation to figures 17 and 18.
[00192] Na etapa S13, o buffer de acúmulo 37 (figura 14) da unidade de codificação 12 gera um fluxo contínuo codificado a partir dos conjuntos de parâmetros supridos a partir da unidade de definição 11 e dados codificados armazenados, e supre o fluxo contínuo codificado para a unidade de transmissão 13.[00192] In step S13, the accumulation buffer 37 (Figure 14) of the coding unit 12 generates a coded stream from the parameter sets supplied from the definition unit 11 and stored coded data, and supplies the stream coded for transmission unit 13.
[00193] Na etapa S14, a unidade de transmissão 13 transmite o fluxo contínuo codificado suprido a partir da unidade de definição 11 para um dispositivo de decodificação 110 que será descrito a seguir, e o processo, então, chega ao final.[00193] In step S14, the transmission unit 13 transmits the supplied coded stream from the definition unit 11 to a decoding device 110 which will be described below, and the process then comes to an end.
[00194] Agora, em relação ao fluxograma da figura 16, o processo de definição de conjunto de parâmetro da etapa S11 na figura 15 é descrito com detalhes. No exemplo mostrado na figura 16, a informação de controle IntraBC é definida em um SPS e um PPS.[00194] Now, in relation to the flowchart in Figure 16, the parameter set definition process of step S11 in Figure 15 is described in detail. In the example shown in figure 16, the IntraBC control information is defined in an SPS and a PPS.
[00195] Na etapa S31, a unidade de definição 11 mostrada na figura 13 define SPS_crossslice_intraBC_enable_flag. Na etapa S32, a unidade de definição 11 determina se SPS_crossslice_intraBC_enable_flag é 1. Se SPS_crossslice_intraBC_enable_flag for determinado como 1 na etapa S32, o processo se move para a etapa S33.[00195] In step S31, the definition unit 11 shown in figure 13 defines SPS_crossslice_intraBC_enable_flag. In step S32, the definition unit 11 determines whether SPS_crossslice_intraBC_enable_flag is 1. If SPS_crossslice_intraBC_enable_flag is determined to be 1 in step S32, the process moves to step S33.
[00196] Na etapa S33, a unidade de definição 11 define intraBC_ref_prev_slice_flag. Na etapa S34, a unidade de definição 11 determina se intraBC_ref_prev_slice_flag é 1.[00196] In step S33, definition unit 11 sets intraBC_ref_prev_slice_flag. In step S34, the definition unit 11 determines whether intraBC_ref_prev_slice_flag is 1.
[00197] Se intraBC_ref_prev_slice_flag for determinado como 1 na etapa S34, o processo se move para a etapa S35. Na etapa S35, a unidade de definição 11 define intraBC_ref_prev_slice_num.[00197] If intraBC_ref_prev_slice_flag is set to 1 in step S34, the process moves to step S35. In step S35, the definition unit 11 defines intraBC_ref_prev_slice_num.
[00198] Se SPS_crossslice_intraBC_enable_flag for determinado como 0 na etapa S32, as etapas S33 até S35 são ignoradas, e o processo de definição de conjunto de parâmetro é terminado. O processo, então, retorna para a etapa S11 na figura 15.[00198] If SPS_crossslice_intraBC_enable_flag is set to 0 in step S32, steps S33 through S35 are skipped and the parameter set definition process is terminated. The process then returns to step S11 in Figure 15.
[00199] Se intraBC_ref_prev_slice_flag for determinado como 0 na etapa S34, a etapa S35 é ignorada, e o processo de definição de conjunto de parâmetro é terminado. O processo, então, retorna para a etapa S11 na figura 15.[00199] If intraBC_ref_prev_slice_flag is set to 0 in step S34, step S35 is skipped, and the parameter set definition process is terminated. The process then returns to step S11 in Figure 15.
[00200] A seguir, as figuras 17 e 18 são um fluxograma para explicar com detalhes o processo de codificação da etapa S12 na figura 15. Uma imagem com base em quadro é inserida a partir da unidade de definição 11 no conversor A/D 31, e a informação de controle IntraBC é suprida para a unidade de intraprevisão 46.[00200] Next, figures 17 and 18 are a flowchart to explain in detail the coding process of step S12 in figure 15. A frame-based image is inserted from the definition unit 11 into the A/D converter 31 , and the IntraBC control information is supplied to the intraforecast unit 46.
[00201] Na etapa S61 na figura 17, o conversor A/D 31 (figura 14) da unidade de codificação 12 realiza conversão A/D na imagem com base em quadro que foi inserida como o objeto atual a ser codificado. O conversor A/D 31 transmite uma imagem, que é um sinal digital convertido, para o buffer de rearranjo da tela 32, e armazena a imagem no buffer de rearranjo da tela 32.[00201] At step S61 in Fig. 17, the A/D converter 31 (Fig. 14) of the coding unit 12 performs A/D conversion on the frame-based image that has been entered as the current object to be encoded. The A/D converter 31 transmits an image, which is a converted digital signal, to the screen rearrangement buffer 32, and stores the image in the screen rearrangement buffer 32.
[00202] Na etapa S62, o buffer de rearranjo da tela 32 rearranja os quadros da imagem armazenados em ordem de exibição, de forma que os quadros da imagem sejam arranjados na ordem de codificação de acordo com a estrutura GOP. O buffer de rearranjo da tela 32 supre a imagem rearranjada com base em quadro para a unidade de operação aritmética 33, a unidade de intraprevisão 46 e a unidade de previsão/compensação de movimento 47. Também, a informação de controle IntraBC é suprida a partir da unidade de definição 11 para a unidade de intraprevisão 46.[00202] In step S62, the screen rearrangement buffer 32 rearranges the stored image frames in display order, so that the image frames are arranged in the coding order according to the GOP structure. The screen rearrangement buffer 32 supplies the frame-based rearranged image to the arithmetic operation unit 33, the intraprediction unit 46, and the motion prediction/compensation unit 47. Also, IntraBC control information is supplied from from definition unit 11 to intraforecast unit 46.
[00203] Na etapa S63, a unidade de intraprevisão 46 realiza um processo de intraprevisão em todos os modos de intraprevisão candidatos para cada PU. Este processo de intraprevisão será descrito com detalhes a seguir em relação à figura 19. Isto é, de acordo com uma imagem lida a partir do buffer de rearranjo da tela 32 e a imagem prevista gerada em decorrência do processo de intraprevisão, a unidade de intraprevisão 46 calcula valores da função de custo de todos os modos de intraprevisão candidatos (incluindo o modo IntraBC de previsão). A unidade de intraprevisão 46, então, determina o modo de intraprevisão ideal que é o modo de intraprevisão com o menor valor da função de custo. A unidade de intraprevisão 46 supre a imagem prevista gerada no modo de intraprevisão ideal e o correspondente valor da função de custo para a unidade de seleção de imagem prevista 48.[00203] In step S63, the intraforecast unit 46 performs an intraforecast process on all candidate intraforecast modes for each PU. This intraprediction process will be described in detail below with reference to Figure 19. That is, according to an image read from the rearrangement buffer of screen 32 and the predicted image generated as a result of the intraprediction process, the intraprediction unit 46 calculates cost function values of all candidate intraforecast modes (including the IntraBC forecast mode). The intraforecast unit 46 then determines the optimal intraforecast mode which is the intraforecast mode with the lowest value of the cost function. The intraprediction unit 46 supplies the predicted image generated in the optimal intraprediction mode and the corresponding cost function value to the predicted image selection unit 48.
[00204] Neste particular, na etapa S64, a unidade de previsão/compensação de movimento 47 realiza um processo de previsão/compensação de movimento em todos os modos de interprevisão candidatos para cada PU. A unidade de previsão/compensação de movimento 47 também calcula valores da função de custo de todos os modos de interprevisão candidatos de acordo com a imagem suprida a partir do buffer de rearranjo da tela 32 e as imagens previstas, e determina o modo de interprevisão ideal que é o modo de interprevisão com o menor valor da função de custo. A unidade de previsão/compensação de movimento 47, então, supre o valor da função de custo do modo de interprevisão ideal e a correspondente imagem prevista para a unidade de seleção de imagem prevista 48.[00204] In this regard, at step S64, the motion prediction/compensation unit 47 performs a motion prediction/compensation process on all candidate interprediction modes for each PU. Motion prediction/compensation unit 47 also calculates cost function values of all candidate interprediction modes according to the image supplied from screen rearrangement buffer 32 and the predicted images, and determines the optimal interprediction mode. which is the interforecast mode with the lowest value of the cost function. The motion prediction/compensation unit 47 then supplies the cost function value of the optimal interprediction mode and the corresponding predicted image to the predicted image selection unit 48.
[00205] Na etapa S65, de acordo com os valores da função de custo supridos a partir da unidade de intraprevisão 46 e da unidade de previsão/compensação de movimento 47, a unidade de seleção de imagem prevista 48 determina o modo de previsão ideal, que é o modo de intraprevisão ideal ou o modo de interprevisão ideal, qualquer que tenha o menor valor da função de custo. A unidade de seleção de imagem prevista 48, então, supre a imagem prevista no modo de previsão ideal para a unidade de operação aritmética 33 e a unidade de adição 40.[00205] In step S65, according to the cost function values supplied from the intraprediction unit 46 and the prediction/motion compensation unit 47, the prediction image selection unit 48 determines the optimal prediction mode, which is either the optimal intraforecast mode or the optimal interforecast mode, whichever has the smaller value of the cost function. The predicted image selection unit 48 then supplies the predicted image in the optimal prediction mode to the arithmetic operation unit 33 and the addition unit 40.
[00206] Na etapa S65, a unidade de seleção de imagem prevista 48 determina se o modo de previsão ideal é o modo de interprevisão ideal. Se o modo de previsão ideal for determinado como o modo de interprevisão ideal, na etapa S65, a unidade de seleção de imagem prevista 48 notifica a unidade de previsão/compensação de movimento 47 da seleção da imagem prevista gerada no modo de interprevisão ideal.[00206] In step S65, the predicted image selection unit 48 determines whether the ideal prediction mode is the ideal interprediction mode. If the ideal prediction mode is determined as the ideal interprediction mode, in step S65, the predicted image selection unit 48 notifies the motion prediction/compensation unit 47 of the selection of the predicted image generated in the ideal interprediction mode.
[00207] Então, na etapa S66, a unidade de previsão/compensação de movimento 47 supre para a unidade de codificação sem perdas 36 a informação do modo de interprevisão, o vetor de movimento e a informação para identificar a imagem de referência, e o processo se move para a etapa S68.[00207] Then, in step S66, the motion prediction/compensation unit 47 supplies the lossless coding unit 36 with the interprediction mode information, the motion vector and the information for identifying the reference image, and the process moves to step S68.
[00208] Se o modo de previsão ideal for determinado como não sendo o modo de interprevisão ideal, na etapa S65, ou se o modo de previsão ideal for o modo de intraprevisão ideal, por outro lado, a unidade de seleção de imagem prevista 48 notifica a unidade de intraprevisão 46 da seleção da imagem prevista gerada no modo de intraprevisão ideal. Então, na etapa S67, a unidade de intraprevisão 46 supre a informação do modo de intraprevisão para a unidade de codificação sem perdas 36, e o processo se move para a etapa S69. Se o modo de intraprevisão ideal for o modo IntraBC, o vetor IntraBC também é suprido para a unidade de codificação sem perdas 36 neste estágio.[00208] If the ideal prediction mode is determined not to be the ideal interprediction mode in step S65, or if the ideal prediction mode is the ideal intraprediction mode, on the other hand, the predicted image selection unit 48 notifies the intraprediction unit 46 of the selection of the predicted image generated in the optimal intraprediction mode. Then, at step S67, the intraprediction unit 46 supplies the intraprediction mode information to the lossless coding unit 36, and the process moves to step S69. If the ideal intraprediction mode is the IntraBC mode, the IntraBC vector is also supplied to the lossless coding unit 36 at this stage.
[00209] Na etapa S69, a unidade de operação aritmética 33 realiza codificação pela subtração da imagem prevista suprida a partir da unidade de seleção de imagem prevista 48 da imagem suprida a partir do buffer de rearranjo da tela 32. A unidade de operação aritmética 33 transmite a imagem resultante como informação de erro residual para a unidade de transformada ortogonal 34.[00209] At step S69, the arithmetic operation unit 33 performs coding by subtracting the predicted image supplied from the predicted image selection unit 48 from the image supplied from the screen rearrangement buffer 32. The arithmetic operation unit 33 transmits the resulting image as residual error information to the orthogonal transform unit 34.
[00210] Na etapa S70, a unidade de transformada ortogonal 34 realiza um processo de transformada ortogonal na informação de erro residual para cada TU. A unidade de transformada ortogonal 34 supre um resultado da transformada ortogonal para a unidade de quantização 35 depois do processo de transformada ortogonal.[00210] In step S70, the orthogonal transform unit 34 performs an orthogonal transform process on the residual error information for each TU. The orthogonal transform unit 34 supplies an orthogonal transform result to the quantization unit 35 after the orthogonal transform process.
[00211] Na etapa S71, a unidade de quantização 35 quantiza o resultado da transformada ortogonal suprido a partir da unidade de transformada ortogonal 34. A unidade de quantização 35 supre o valor quantizado obtido em decorrência da quantização para a unidade de codificação sem perdas 36 e a unidade de quantização inversa 38.[00211] At step S71, the quantization unit 35 quantizes the result of the orthogonal transform supplied from the orthogonal transform unit 34. The quantization unit 35 supplies the quantized value obtained as a result of the quantization to the lossless coding unit 36 and the inverse quantization unit 38.
[00212] Na etapa S72, a unidade de quantização inversa 38 quantiza inversamente o valor quantizado suprido a partir da unidade de quantização 35. A unidade de quantização inversa 38 supre o resultado da transformada ortogonal obtido em decorrência da quantização inversa para a unidade de transformada ortogonal inversa 39.[00212] In step S72, the inverse quantization unit 38 inversely quantizes the quantized value supplied from the quantization unit 35. The inverse quantization unit 38 supplies the result of the orthogonal transform obtained as a result of the inverse quantization to the transform unit inverse orthogonal 39.
[00213] Na etapa S73, a unidade de transformada ortogonal inversa 39 realiza um processo de transformada ortogonal inversa no resultado da transformada ortogonal suprido a partir da unidade de quantização inversa 38 para cada TU. A unidade de transformada ortogonal inversa 39 supre a informação de erro residual obtida em decorrência do processo de transformada ortogonal inversa para a unidade de adição 40.[00213] In step S73, the inverse orthogonal transform unit 39 performs an inverse orthogonal transform process on the orthogonal transform result supplied from the inverse quantization unit 38 for each TU. The inverse orthogonal transform unit 39 supplies the residual error information obtained as a result of the inverse orthogonal transform process to the addition unit 40.
[00214] Na etapa S74, a unidade de adição 40 adiciona a informação de erro residual suprida a partir da unidade de transformada ortogonal inversa 39 na imagem prevista suprida a partir da unidade de seleção de imagem prevista 48, para realizar decodificação. A unidade de adição 40 supre a imagem decodificada para o filtro de desbloqueio 41 e a memória de quadro 44.[00214] In the step S74, the addition unit 40 adds the residual error information supplied from the inverse orthogonal transform unit 39 into the predicted image supplied from the predicted image selection unit 48, to perform decoding. The summing unit 40 supplies the decoded image to the deblocking filter 41 and the frame memory 44.
[00215] Na etapa S75, o filtro de desbloqueio 41 realiza um processo de filtragem de desbloqueio na imagem decodificada suprida a partir da unidade de adição 40. O filtro de desbloqueio 41 supre a imagem resultante para o filtro de deslocamento adaptável 42.[00215] In step S75, the deblocking filter 41 performs a deblocking filtering process on the decoded image supplied from the summing unit 40. The deblocking filter 41 supplies the resulting image to the adaptive shift filter 42.
[00216] Na etapa S76, o filtro de deslocamento adaptável 42 realiza, para cada LCU, um processo de filtragem de deslocamento adaptável na imagem suprida a partir do filtro de desbloqueio 41. O filtro de deslocamento adaptável 42 supre a imagem resultante para o filtro de malha adaptável 43. O filtro de deslocamento adaptável 42 também supre a informação do filtro de deslocamento para a unidade de codificação sem perdas 36 para cada LCU.[00216] In step S76, the adaptive shift filter 42 performs, for each LCU, an adaptive shift filtering process on the image supplied from the deblocking filter 41. The adaptive shift filter 42 supplies the resulting image to the filter adaptive mesh filter 43. The adaptive shift filter 42 also supplies the shift filter information to the lossless coding unit 36 for each LCU.
[00217] Na etapa S77, o filtro de malha adaptável 43 realiza, para cada LCU, um processo de filtragem de malha adaptável na imagem suprida a partir do filtro de deslocamento adaptável 42. O filtro de malha adaptável 43 supre a imagem resultante para a memória de quadro 44. O filtro de malha adaptável 43 também supre para a unidade de codificação sem perdas 36 o coeficiente de filtro usado no processo de filtragem de malha adaptável.[00217] In step S77, the adaptive mesh filter 43 performs, for each LCU, an adaptive mesh filtering process on the supplied image from the adaptive shift filter 42. The adaptive mesh filter 43 supplies the resulting image to the frame memory 44. The adaptive mesh filter 43 also supplies the lossless coding unit 36 with the filter coefficient used in the adaptive mesh filtering process.
[00218] Na etapa S78, a memória de quadro 44 armazena a imagem suprida a partir do filtro de malha adaptável 43 e a imagem suprida a partir da unidade de adição 40. Uma imagem adjacente a uma PU dentre as imagens que são armazenadas na memória de quadro 44 e não foram sujeitas a nenhum processo de filtragem é suprida como uma imagem periférica para a unidade de intraprevisão 46 por meio do comutador 45. Neste particular, uma imagem que é armazenada na memória de quadro 44 e foi sujeita a um processo de filtragem é transmitida como uma imagem de referência para a unidade de previsão/compensação de movimento 47 por meio do comutador 45.[00218] In step S78, the frame memory 44 stores the image supplied from the adaptive mesh filter 43 and the image supplied from the addition unit 40. An image adjacent to a PU among the images that are stored in the memory frame memory 44 and have not been subjected to any filtering process is supplied as a peripheral image to the intraprediction unit 46 via switch 45. In this particular, an image that is stored in frame memory 44 and has been subjected to a frame filtering is transmitted as a reference image to motion prediction/compensation unit 47 via switch 45.
[00219] Na etapa S79, a unidade de codificação sem perdas 36 realiza codificação sem perdas na informação de codificação, tais como a informação do modo de intraprevisão ou a informação do modo de interprevisão, o vetor de movimento, a informação para identificar a imagem de referência, a informação do filtro de deslocamento e o coeficiente de filtro. Deve-se notar que, se o modo de previsão neste estágio for o modo de intraprevisão ideal, e o modo de intraprevisão ideal for o modo IntraBC, o vetor IntraBC como informação de codificação também é sujeito à codificação sem perdas.[00219] In the step S79, the lossless coding unit 36 performs lossless coding on the coding information, such as the intraprediction mode information or the interprediction mode information, the motion vector, the information for identifying the image reference, the offset filter information and the filter coefficient. It should be noted that if the prediction mode at this stage is the ideal intraprediction mode, and the ideal intraprediction mode is the IntraBC mode, the IntraBC vector as coding information is also subject to lossless coding.
[00220] Na etapa S80, a unidade de codificação sem perdas 36 realiza codificação sem perdas no valor quantizado suprido a partir da unidade de quantização 35. A unidade de codificação sem perdas 36, então, gera dados codificados a partir da informação de codificação sujeita à codificação sem perdas no procedimento da etapa S78 e do valor quantizado sujeito à codificação sem perdas, e supre os dados codificados para o buffer de acúmulo 37.[00220] At step S80, the lossless coding unit 36 performs lossless coding on the quantized value supplied from the quantization unit 35. The lossless coding unit 36 then generates coded data from the subject coding information lossless coding in the procedure of step S78 and the quantized value subjected to lossless coding, and supplies the encoded data to the accumulation buffer 37.
[00221] Na etapa S81, o buffer de acúmulo 37 armazena temporariamente os dados codificados supridos a partir da unidade de codificação sem perdas 36.[00221] At step S81, the accumulation buffer 37 temporarily stores the encoded data supplied from the lossless coding unit 36.
[00222] Na etapa S82, de acordo com os dados codificados armazenados no buffer de acúmulo 37, a unidade de controle de taxa 49 controla a taxa de operação de quantização da unidade de quantização 35 para não causar um sobrefluxo ou subfluxo. O processo, então, retorna para a etapa S12 na figura 15, e se move para a etapa S13.[00222] At step S82, according to the encoded data stored in the accumulation buffer 37, the rate control unit 49 controls the quantization operation rate of the quantization unit 35 not to cause an overflow or underflow. The process then returns to step S12 in Fig. 15, and moves to step S13.
[00223] Agora, em relação ao fluxograma da figura 19, o processo de intraprevisão da etapa S63 na figura 17 é descrito com detalhes. A informação de controle IntraBC, tais como SPS_crossslice_intraBC_enable_flag, intra_BC_ref_prev_slice_flag e intraBC_ref_prev_slice_num, é suprida a partir da unidade de definição 11 para a unidade de intraprevisão 46.[00223] Now, in relation to the flowchart of Fig. 19, the intraforecast process of step S63 in Fig. 17 is described in detail. IntraBC control information, such as SPS_crossslice_intraBC_enable_flag, intra_BC_ref_prev_slice_flag and intraBC_ref_prev_slice_num, is supplied from definition unit 11 to intraprediction unit 46.
[00224] Na etapa S91, a unidade de intraprevisão 46 divide uma imagem parada em fatias. Na etapa S92, a unidade de intraprevisão 46 realiza intraprevisão em modos de previsão diferentes do modo IntraBC, para calcular valores da função de custo.[00224] In step S91, the intraprediction unit 46 divides a still picture into slices. In step S92, the intraforecasting unit 46 performs intraforecasting in forecasting modes other than the IntraBC mode, to calculate cost function values.
[00225] Na etapa S93, a unidade de intraprevisão 46 determina se SPS_crossslice_intraBC_enable_flag é 1. Se SPS_crossslice_intraBC_enable_flag for determinado como 1, na etapa S93, o processo se move para a etapa S94.[00225] In step S93, the intraforecast unit 46 determines whether SPS_crossslice_intraBC_enable_flag is 1. If SPS_crossslice_intraBC_enable_flag is determined to be 1, in step S93, the process moves to step S94.
[00226] Na etapa S94, a unidade de intraprevisão 46 busca por um vetor de movimento de IntraBC. Na etapa S95, a unidade de intraprevisão 46 determina se a busca na faixa de busca foi concluída. Se for determinado, na etapa S95, que a busca na faixa de busca não foi completada, o processo se move para a etapa S96.[00226] In step S94, the intraprediction unit 46 searches for a movement vector of IntraBC. In step S95, the intraprediction unit 46 determines whether the search in the search range has completed. If it is determined, in step S95, that the search of the search range has not been completed, the process moves to step S96.
[00227] Na etapa S96, a unidade de intraprevisão 46 muda pontos de busca. Na etapa S97, a unidade de intraprevisão 46 determina se o ponto de busca mudado a partir do anterior na etapa S96 está localizado na fatia atual.[00227] In step S96, the intraprediction unit 46 changes search points. In step S97, the intraprediction unit 46 determines whether the search point changed from the previous one in step S96 is located in the current slice.
[00228] Se o ponto de busca for determinado como não localizado na fatia, na etapa S97, o processo se move para a etapa S98. Na etapa S98, a unidade de intraprevisão 46 determina se intra_BC_ref_prev_slice_flag é 1. Se intra_BC_ref_prev_slice_flag for determinado como 1, na etapa S98, o processo se move para a etapa S99.[00228] If the search point is determined not to be located in the slice, in step S97, the process moves to step S98. In step S98, the intraforecast unit 46 determines whether intra_BC_ref_prev_slice_flag is 1. If intra_BC_ref_prev_slice_flag is determined to be 1, in step S98, the process moves to step S99.
[00229] Na etapa S99, a unidade de intraprevisão 46 determina se a posição do ponto de busca está na faixa designada por intraBC_ref_prev_slice_num.[00229] In step S99, the intraprediction unit 46 determines whether the position of the search point is in the range designated by intraBC_ref_prev_slice_num.
[00230] Se a posição do ponto de busca for determinada como não estando na faixa designada por intraBC_ref_prev_slice_num, na etapa S99, o processo retorna para a etapa S96, e os procedimentos posteriores são repetidos. Se intra_BC_ref_prev_slice_flag for determinado como não sendo 1, na etapa S98, o processo também retorna para a etapa S96, e os procedimentos posteriores são repetidos.[00230] If the position of the search point is determined not to be in the range designated by intraBC_ref_prev_slice_num, in step S99, the process returns to step S96, and further procedures are repeated. If intra_BC_ref_prev_slice_flag is determined not to be 1, in step S98, the process also returns to step S96, and the further procedures are repeated.
[00231] Se a posição do ponto de busca for determinada como na faixa designada por intraBC_ref_prev_slice_num, na etapa S99, o processo se move para a etapa S100. Se o ponto de busca for determinado como localizado na fatia, na etapa S97, o processo também se move para a etapa S100.[00231] If the position of the search point is determined as in the range designated by intraBC_ref_prev_slice_num, in step S99, the process moves to step S100. If the search point is determined to be located on the slice in step S97, the process also moves to step S100.
[00232] Na etapa S100, a unidade de intraprevisão 46 calcula um valor da função de custo no modo IntraBC. O vetor IntraBC correspondente ao menor custo no modo IntraBC é armazenado em uma memória (não mostrada). Na etapa S101, a unidade de intraprevisão 46 determina se o valor da função de custo calculado na etapa S100 é menor do que o menor custo.[00232] In step S100, the intraforecast unit 46 calculates a cost function value in the IntraBC mode. The IntraBC vector corresponding to the lowest cost in IntraBC mode is stored in a memory (not shown). In step S101, the intraforecast unit 46 determines whether the value of the cost function calculated in step S100 is less than the smallest cost.
[00233] Se o valor da função de custo for determinado como menor do que o menor custo, na etapa S101, o processo se move para a etapa S102. Na etapa S102, o vetor IntraBC na memória e o menor custo são atualizados, e o processo retorna para a etapa S96. Os procedimentos posteriores são, então, repetidos.[00233] If the cost function value is determined to be less than the lowest cost, in step S101, the process moves to step S102. In step S102, the IntraBC vector in memory and the lowest cost are updated, and the process returns to step S96. The subsequent procedures are then repeated.
[00234] Se o valor da função de custo for determinado como não sendo menor do que o menor custo, na etapa S101, o processo retorna para a etapa S96, e os procedimentos posteriores são repetidos.[00234] If the cost function value is determined to be not less than the lowest cost, in step S101, the process returns to step S96, and further procedures are repeated.
[00235] Se for determinado, na etapa S95, que a busca na faixa de busca foi concluída, o processo se move para a etapa S103. Se SPS_crossslice_intraBC_enable_flag for determinado como não sendo 1, na etapa S93, o processo também se move para a etapa S103.[00235] If it is determined, in step S95, that the search in the search range has been completed, the process moves to step S103. If SPS_crossslice_intraBC_enable_flag is determined not to be 1, in step S93, the process also moves to step S103.
[00236] Na etapa S103, a unidade de intraprevisão 46 determina o modo de intraprevisão ideal de acordo com o valor da função de custo, e termina o processo de intraprevisão.[00236] In step S103, the intraforecast unit 46 determines the optimal intraforecast mode according to the value of the cost function, and ends the intraforecast process.
[00237] A figura 20 é um diagrama de blocos que mostra uma configuração de exemplo de uma modalidade de um dispositivo de decodificação no qual a presente descrição é aplicada. O dispositivo de decodificação decodifica um fluxo contínuo codificado transmitido a partir do dispositivo de codificação 10 mostrado na figura 13.[00237] Figure 20 is a block diagram showing an example configuration of an embodiment of a decoding device in which the present description is applied. The decoding device decodes an encoded stream transmitted from the encoding device 10 shown in Fig. 13.
[00238] O dispositivo de decodificação 110 na figura 20 inclui uma unidade de recepção 111, uma unidade de extração 112 e uma unidade de decodificação 113.[00238] The decoding device 110 in figure 20 includes a receiving unit 111, an extracting unit 112 and a decoding unit 113.
[00239] A unidade de recepção 111 do dispositivo de decodificação 110 recebe um fluxo contínuo codificado transmitido a partir do dispositivo de codificação 10 mostrado na figura 13, e supre o fluxo contínuo codificado para a unidade de extração 112.[00239] The receiving unit 111 of the decoding device 110 receives a coded stream transmitted from the coding device 10 shown in Fig. 13, and supplies the coded stream to the extraction unit 112.
[00240] A unidade de extração 112 extrai conjuntos de parâmetros, tais como um VPS, um SPS e um PPS, e dados codificados a partir do fluxo contínuo codificado suprido a partir da unidade de recepção 111, e supre os conjuntos de parâmetros e os dados codificados para a unidade de decodificação 113. Particularmente, a unidade de extração 112 extrai informação de controle IntraBC a partir de um SPS e um PPS.[00240] The extraction unit 112 extracts parameter sets, such as a VPS, an SPS and a PPS, and encoded data from the encoded continuous stream supplied from the receiving unit 111, and supplies the parameter sets and the encoded data to the decoding unit 113. Particularly, the extraction unit 112 extracts IntraBC control information from an SPS and a PPS.
[00241] A unidade de decodificação 113 decodifica os dados codificados supridos a partir da unidade de extração 112, por um método em conformidade com HEVC. Neste ponto, a unidade de decodificação 113 realiza um processo de decodificação em paralelo ou sequencialmente de acordo com a informação de controle IntraBC no SPS e no PPS supridos a partir da unidade de extração 112. A unidade de decodificação 113 transmite a imagem obtida em decorrência da decodificação.[00241] The decoding unit 113 decodes the encoded data supplied from the extracting unit 112 by a HEVC-compliant method. At this point, the decoding unit 113 performs a decoding process in parallel or sequentially according to the IntraBC control information in the SPS and PPS supplied from the extracting unit 112. The decoding unit 113 transmits the image obtained as a result of decoding.
[00242] A figura 21 é um diagrama de blocos que mostra uma configuração de exemplo da unidade de decodificação 113 mostrada na figura 20.[00242] Figure 21 is a block diagram showing an example configuration of the decoding unit 113 shown in Figure 20.
[00243] A unidade de decodificação 113 mostrada na figura 21 inclui um buffer de acúmulo 131, uma unidade de decodificação sem perdas 132, uma unidade de quantização inversa 133, uma unidade de transformada ortogonal inversa 134, uma unidade de adição 135, um filtro de desbloqueio 136, um filtro de deslocamento adaptável 137, um filtro de malha adaptável 138 e um buffer de rearranjo da tela 139. A unidade de decodificação 113 também inclui um conversor D/A 140, uma memória de quadro 141, um comutador 142, uma unidade de intraprevisão 143, uma unidade de compensação de movimento 144 e um comutador 145.[00243] The decoding unit 113 shown in figure 21 includes an accumulation buffer 131, a lossless decoding unit 132, an inverse quantization unit 133, an inverse orthogonal transform unit 134, an addition unit 135, a filter deblocking filter 136, an adaptive shift filter 137, an adaptive mesh filter 138, and a screen rearrangement buffer 139. The decoding unit 113 also includes a D/A converter 140, a frame memory 141, a switch 142, an intraprediction unit 143, a motion compensation unit 144 and a switch 145.
[00244] O buffer de acúmulo 131 da unidade de decodificação 113 recebe e acumula dados codificados provenientes da unidade de extração 112 mostrada na figura 20. O buffer de acúmulo 131 supre os dados codificados acumulados para a unidade de decodificação sem perdas 132.[00244] The accumulation buffer 131 of the decoding unit 113 receives and accumulates encoded data from the extraction unit 112 shown in Fig. 20 . The accumulation buffer 131 supplies the accumulated encoded data to the lossless decoding unit 132.
[00245] A unidade de decodificação sem perdas 132 obtém um valor quantizado e informação de codificação pela realização de decodificação sem perdas, tais como decodificação com comprimento variável ou decodificação aritmética, nos dados codificados supridos a partir do buffer de acúmulo 131. A unidade de decodificação sem perdas 132 supre o valor quantizado para a unidade de quantização inversa 133. Deve-se notar que a informação de controle IntraBC da unidade de extração 112 é inserida na unidade de decodificação sem perdas 132. De acordo com a informação de controle IntraBC proveniente da unidade de extração 112, a unidade de decodificação sem perdas 132 controla a determinação em relação a se o processo de decodificação de fatia posteriormente deve ser realizado em paralelo ou se o processo de decodificação de fatia posteriormente deve ser realizado sequencialmente.[00245] The lossless decoding unit 132 obtains a quantized value and encoding information by performing lossless decoding, such as variable length decoding or arithmetic decoding, on the encoded data supplied from the accumulation buffer 131. The lossless decoding unit 132 supplies the quantized value to the inverse quantization unit 133. It should be noted that the IntraBC control information from the extraction unit 112 is fed into the lossless decoding unit 132. According to the incoming IntraBC control information from the extracting unit 112, the lossless decoding unit 132 controls the determination regarding whether the slice decoding process afterwards is to be performed in parallel or whether the slice decoding process afterwards is to be performed sequentially.
[00246] A unidade de decodificação sem perdas 132 também supre informação do modo de intraprevisão (incluindo informação do modo IntraBC) e congêneres como informação de codificação para a unidade de intraprevisão 143. Se a informação do modo de intraprevisão indicar o modo IntraBC, o vetor IntraBC também é suprido para a unidade de intraprevisão 143 neste estágio. A unidade de decodificação sem perdas 132 também supre para a unidade de compensação de movimento 144 um vetor de movimento, informação do modo de interprevisão, informação para identificar uma imagem de referência e congêneres.[00246] The lossless decoding unit 132 also supplies intraprediction mode information (including IntraBC mode information) and the like as coding information to the intraprediction unit 143. If the intraprediction mode information indicates the IntraBC mode, the IntraBC vector is also supplied to intraforecast unit 143 at this stage. The lossless decoding unit 132 also supplies the motion compensation unit 144 with a motion vector, interprediction mode information, information for identifying a reference picture, and the like.
[00247] A unidade de decodificação sem perdas 132 supre adicionalmente para o comutador 145 a informação do modo de intraprevisão ou a informação do modo de interprevisão como informação de codificação. A unidade de decodificação sem perdas 132 supre informação do filtro de deslocamento como informação de codificação para o filtro de deslocamento adaptável 137. A unidade de decodificação sem perdas 132 supre um coeficiente de filtro como informação de codificação para o filtro de malha adaptável 138.[00247] The lossless decoding unit 132 further supplies to the switch 145 the intraprediction mode information or the interprediction mode information as coding information. Lossless decoding unit 132 supplies shift filter information as coding information to adaptive shift filter 137. Lossless decoding unit 132 supplies a filter coefficient as coding information to adaptive mesh filter 138.
[00248] A unidade de quantização inversa 133, a unidade de transformada ortogonal inversa 134, a unidade de adição 135, o filtro de desbloqueio 136, o filtro de deslocamento adaptável 137, o filtro de malha adaptável 138, a memória de quadro 141, o comutador 142, a unidade de intraprevisão 143 e a unidade de compensação de movimento 144 realizam processos similares àqueles realizados pela unidade de quantização inversa 38, pela unidade de transformada ortogonal inversa 39, pela unidade de adição 40, pelo filtro de desbloqueio 41, pelo filtro de deslocamento adaptável 42, pelo filtro de malha adaptável 43, pela memória de quadro 44, pelo comutador 45, pela unidade de intraprevisão 46 e pela unidade de previsão/compensação de movimento 47 mostradas na figura 14, para decodificar uma imagem.[00248] The inverse quantization unit 133, the inverse orthogonal transform unit 134, the addition unit 135, the deblocking filter 136, the adaptive shift filter 137, the adaptive mesh filter 138, the frame memory 141, the switch 142, the intraprediction unit 143 and the motion compensation unit 144 perform processes similar to those performed by the inverse quantization unit 38, the inverse orthogonal transform unit 39, the addition unit 40, the deblocking filter 41, the adaptive shift filter 42, adaptive mesh filter 43, frame memory 44, switch 45, intraprediction unit 46 and motion prediction/compensation unit 47 shown in Fig. 14, for decoding a picture.
[00249] Especificamente, a unidade de quantização inversa 133 é projetada de uma maneira similar àquela para a unidade de quantização inversa 38 mostrada na figura 14. A unidade de quantização inversa 133 quantiza inversamente um valor quantizado proveniente da unidade de decodificação sem perdas 132 para cada TU. A unidade de quantização inversa 133 supre o resultado da transformada ortogonal obtido para a unidade de transformada ortogonal inversa 134.[00249] Specifically, the inverse quantization unit 133 is designed in a similar manner to that for the inverse quantization unit 38 shown in Fig. 14. The inverse quantization unit 133 inversely quantizes a quantized value coming from the lossless decoding unit 132 to each TU. The inverse quantization unit 133 supplies the orthogonal transform result obtained to the inverse orthogonal transform unit 134.
[00250] A unidade de transformada ortogonal inversa 134 é projetada de uma maneira similar àquela para a unidade de transformada ortogonal inversa 39 mostrada na figura 14. A unidade de transformada ortogonal inversa 134 realiza um processo de transformada ortogonal inversa no resultado da transformada ortogonal suprido a partir da unidade de quantização inversa 133. A unidade de transformada ortogonal inversa 134 supre a informação de erro residual obtida em decorrência do processo de transformada ortogonal inversa para a unidade de adição 135.[00250] The inverse orthogonal transform unit 134 is designed in a similar manner to that for the inverse orthogonal transform unit 39 shown in Figure 14. The inverse orthogonal transform unit 134 performs an inverse orthogonal transform process on the supplied orthogonal transform result from the inverse quantization unit 133. The inverse orthogonal transform unit 134 supplies the residual error information obtained as a result of the inverse orthogonal transform process to the addition unit 135.
[00251] A unidade de adição 135 realiza decodificação pela adição da informação de erro residual suprida a partir da unidade de transformada ortogonal inversa 134 em uma imagem prevista suprida a partir do comutador 145. A unidade de adição 135 supre a imagem decodificada para o filtro de desbloqueio 136 e a memória de quadro 141.[00251] The addition unit 135 performs decoding by adding the residual error information supplied from the inverse orthogonal transform unit 134 into a predicted image supplied from the switch 145. The addition unit 135 supplies the decoded image to the filter unlock 136 and frame memory 141.
[00252] O filtro de desbloqueio 136 realiza um processo de filtragem de desbloqueio adaptável na imagem suprida a partir da unidade de adição 135, e supre a imagem resultante para o filtro de deslocamento adaptável 137.[00252] The deblocking filter 136 performs an adaptive deblocking filtering process on the image supplied from the summing unit 135, and supplies the resulting image to the adaptive shift filter 137.
[00253] Usando o deslocamento indicado pela informação do filtro de deslocamento suprida a partir da unidade de decodificação sem perdas 132, o filtro de deslocamento adaptável 137 também realiza, para cada LCU, um processo de filtragem de deslocamento adaptável do tipo indicado pela informação do filtro de deslocamento, na imagem sujeita ao processo de filtragem de desbloqueio adaptável. O filtro de deslocamento adaptável 137 supre para o filtro de malha adaptável 138 a imagem sujeita ao processo de filtragem de deslocamento adaptável.[00253] Using the offset indicated by the offset filter information supplied from the lossless decoding unit 132, the adaptive offset filter 137 also performs, for each LCU, an adaptive offset filtering process of the type indicated by the information in the displacement filter, on the image subjected to the adaptive unlocking filtering process. Adaptive shift filter 137 supplies to adaptive mesh filter 138 the image subjected to the adaptive shift filtering process.
[00254] Usando o coeficiente de filtro suprido a partir da unidade de decodificação sem perdas 132, o filtro de malha adaptável 138 realiza, para cada LCU, um processo de filtragem de malha adaptável na imagem suprida a partir do filtro de deslocamento adaptável 137. O filtro de malha adaptável 138 supre a imagem resultante para a memória de quadro 141 e o buffer de rearranjo da tela 139.[00254] Using the filter coefficient supplied from the lossless decoding unit 132, the adaptive mesh filter 138 performs, for each LCU, an adaptive mesh filtering process on the image supplied from the adaptive shift filter 137. Adaptive mesh filter 138 supplies the resulting image to frame memory 141 and screen rearrangement buffer 139.
[00255] O buffer de rearranjo da tela 139 armazena a imagem suprida a partir do filtro de malha adaptável 138 quadro a quadro. O buffer de rearranjo da tela 139 rearranja os quadros da imagem armazenada na ordem de exibição original, em vez da ordem de codificação, e supre a imagem rearranjada para o conversor D/A 140.[00255] The screen rearrangement buffer 139 stores the image supplied from the adaptive mesh filter 138 frame by frame. Screen rearrangement buffer 139 rearranges the stored image frames in original display order, rather than encoding order, and supplies the rearranged image to D/A converter 140.
[00256] O conversor D/A 140 realiza conversão D/A na imagem com base em quadro suprida a partir do buffer de rearranjo da tela 139, e transmite a imagem.[00256] The D/A converter 140 performs D/A conversion on the frame-based image supplied from the screen rearrangement buffer 139, and transmits the image.
[00257] A memória de quadro 141 armazena a imagem suprida a partir do filtro de malha adaptável 138 e a imagem suprida a partir da unidade de adição 135. Uma imagem adjacente a uma PU dentre as imagens que são armazenadas na memória de quadro 141 e não foram sujeitas a nenhum processo de filtragem é suprida como uma imagem periférica para a unidade de intraprevisão 143 por meio do comutador 142. Neste particular, uma imagem que é armazenada na memória de quadro 141 e foi sujeita a um processo de filtragem é transmitida como uma imagem de referência para a unidade de compensação de movimento 144 por meio do comutador 142.[00257] The frame memory 141 stores the image supplied from the adaptive mesh filter 138 and the image supplied from the addition unit 135. An image adjacent to a PU among the images that are stored in the frame memory 141 and not subjected to any filtering process is supplied as a peripheral image to the intraprediction unit 143 via switch 142. In this particular, an image that is stored in the frame memory 141 and has been subjected to a filtering process is transmitted as a reference image to motion compensation unit 144 via switch 142.
[00258] Usando a imagem periférica que foi lida a partir da memória de quadro 141 por meio do comutador 142, a unidade de intraprevisão 143 realiza um processo de intraprevisão no modo de intraprevisão ideal indicado pela informação do modo de intraprevisão suprida a partir da unidade de decodificação sem perdas 132. No caso do modo IntraBC, um vetor IntraBC também é enviado a partir da unidade de decodificação sem perdas 132, e intraprevisão é realizada no modo IntraBC usando o vetor IntraBC. A unidade de intraprevisão 143 supre a imagem resultante prevista para o comutador 145.[00258] Using the peripheral image that has been read from the frame memory 141 via the switch 142, the intraforecast unit 143 performs an intraforecast process in the optimal intraforecast mode indicated by the intraforecast mode information supplied from the unit lossless decoding unit 132. In the case of the IntraBC mode, an IntraBC vector is also sent from the lossless decoding unit 132, and intraprediction is performed in the IntraBC mode using the IntraBC vector. Intraprediction unit 143 supplies the resulting predicted image to switch 145.
[00259] A partir da memória de quadro 141 por meio do comutador 142, a unidade de compensação de movimento 144 lê a imagem de referência identificada pela informação suprida a partir da unidade de decodificação sem perdas 132 para identificar a imagem de referência. Usando o vetor de movimento e a imagem de referência supridos a partir da unidade de decodificação sem perdas 132, a unidade de compensação de movimento 144 realiza um processo de compensação de movimento no modo de interprevisão ideal indicado pela informação do modo de interprevisão suprida a partir da unidade de decodificação sem perdas 132. A unidade de compensação de movimento 144 supre a imagem resultante prevista para o comutador 145.[00259] From the frame memory 141 via the switch 142, the motion compensation unit 144 reads the reference picture identified by the information supplied from the lossless decoding unit 132 to identify the reference picture. Using the motion vector and reference image supplied from the lossless decoding unit 132, the motion compensation unit 144 performs a motion compensation process in the optimal interprediction mode indicated by the interprediction mode information supplied from from the lossless decoding unit 132. The motion compensation unit 144 supplies the expected resulting image to the switch 145.
[00260] Quando a informação do modo de intraprevisão for suprida a partir da unidade de decodificação sem perdas 132, o comutador 145 supre a imagem prevista suprida a partir da unidade de intraprevisão 143 para a unidade de adição 135. Quando a informação do modo de interprevisão for suprida a partir da unidade de decodificação sem perdas 132, por outro lado, o comutador 145 supre a imagem prevista suprida a partir da unidade de compensação de movimento 144 para a unidade de adição 135.[00260] When the intraprediction mode information is supplied from the lossless decoding unit 132, the switch 145 supplies the predicted image supplied from the intraprediction unit 143 to the summing unit 135. When the intraprediction mode information interprediction is supplied from the lossless decoding unit 132, on the other hand, the switch 145 supplies the predicted picture supplied from the motion compensation unit 144 to the summing unit 135.
[00261] A figura 22 é um fluxograma para explicar um processo de geração de imagem a ser realizado pelo dispositivo de decodificação 110 mostrado na figura 20.[00261] Figure 22 is a flowchart for explaining an image generation process to be performed by the decoding device 110 shown in Figure 20.
[00262] Na etapa S111 na figura 22, a unidade de recepção 111 do dispositivo de decodificação 110 recebe um fluxo contínuo codificado transmitido a partir do dispositivo de codificação 10 mostrado na figura 13, e supre o fluxo contínuo codificado para a unidade de extração 112.[00262] At step S111 in Fig. 22, the receiving unit 111 of the decoding device 110 receives a coded stream transmitted from the coding device 10 shown in Fig. 13, and supplies the coded stream to the extraction unit 112 .
[00263] Na etapa S112, a unidade de extração 112 extrai dados codificados a partir do fluxo contínuo codificado suprido a partir da unidade de recepção 111, e supre os dados codificados para a unidade de decodificação 113.[00263] In step S112, the extraction unit 112 extracts encoded data from the encoded streaming stream supplied from the receiving unit 111, and supplies the encoded data to the decoding unit 113.
[00264] Na etapa S113, a unidade de extração 112 extrai conjuntos de parâmetros, tais como um VPS, um SPS e um PPS, a partir do fluxo contínuo codificado suprido a partir da unidade de recepção 111, e supre os conjuntos de parâmetros para a unidade de decodificação 113. Particularmente, a unidade de extração 112 extrai informação de controle IntraBC a partir de um SPS e um PPS.[00264] In step S113, the extractor unit 112 extracts parameter sets, such as a VPS, an SPS and a PPS, from the coded streaming supplied from the receiver unit 111, and supplies the parameter sets to the decoding unit 113. Particularly, the extraction unit 112 extracts IntraBC control information from an SPS and a PPS.
[00265] Na etapa S114, usando os conjuntos de parâmetros supridos a partir da unidade de extração 112 conforme necessário, a unidade de decodificação 113 realiza um processo de decodificação para decodificar os dados codificados supridos a partir da unidade de extração 112 por um método em conformidade com HEVC. Deve-se notar que a unidade de decodificação 113 realiza um processo de decodificação em paralelo ou independentemente de acordo com a informação de controle IntraBC no SPS e no PPS supridos a partir da unidade de extração 112. Este processo de decodificação será descrito com detalhes a seguir em relação à figura 23. O processo, então, chega ao final.[00265] At step S114, using the parameter sets supplied from the extracting unit 112 as necessary, the decoding unit 113 performs a decoding process to decode the encoded data supplied from the extracting unit 112 by a method in HEVC compliance. It should be noted that the decoding unit 113 performs a decoding process in parallel or independently according to the IntraBC control information in the SPS and PPS supplied from the extraction unit 112. This decoding process will be described in detail below. follow in relation to figure 23. The process then comes to an end.
[00266] Agora, em relação ao fluxograma da figura 23, o processo de decodificação da etapa S114 na figura 22 é descrito com detalhes.[00266] Now, regarding the flowchart in Fig. 23, the decoding process of step S114 in Fig. 22 is described in detail.
[00267] Na etapa S121, a unidade de decodificação sem perdas 132 decodifica todos os cabeçalhos de fatia de uma unidade de acesso (AU).[00267] In step S121, the lossless decoding unit 132 decodes all slice headers of an access unit (AU).
[00268] Na etapa S122, a unidade de decodificação sem perdas 132 decodifica N fatias divisionais.[00268] In step S122, the lossless decoding unit 132 decodes N boundary slices.
[00269] Na etapa S123, a unidade de decodificação sem perdas 132 determina se SPS_crossslice_intraBC_enable_flag é 1. Se SPS_crossslice_intraBC_enable_flag for determinado como 1, na etapa S123, o processo se move para a etapa S124.[00269] In step S123, the lossless decoding unit 132 determines whether SPS_crossslice_intraBC_enable_flag is 1. If SPS_crossslice_intraBC_enable_flag is determined to be 1, in step S123, the process moves to step S124.
[00270] Na etapa S124, a unidade de decodificação sem perdas 132 determina se intra_BC_ref_prev_slice_flag é 1. Se intra_BC_ref_prev_slice_flag for determinado como 1, na etapa S124, o processo se move para a etapa S125.[00270] In step S124, the lossless decoding unit 132 determines whether intra_BC_ref_prev_slice_flag is 1. If intra_BC_ref_prev_slice_flag is determined to be 1, in step S124, the process moves to step S125.
[00271] Na etapa S125, a unidade de decodificação sem perdas 132 faz com que a unidade de quantização inversa 133 e os respectivos componentes localizados nos estágios posteriores decodifiquem sequencialmente as fatias 0 até N-1.[00271] In step S125, the lossless decoding unit 132 causes the inverse quantization unit 133 and the respective components located in the later stages to sequentially decode the slices 0 to N-1.
[00272] Se SPS_crossslice_intraBC_enable_flag for determinado como não sendo 1, na etapa S123, ou se intra_BC_ref_prev_slice_flag for determinado como não sendo 1, na etapa S124, por outro lado, o processo se move para a etapa S126.[00272] If SPS_crossslice_intraBC_enable_flag is determined not to be 1, in step S123, or if intra_BC_ref_prev_slice_flag is determined not to be 1, in step S124, on the other hand, the process moves to step S126.
[00273] Na etapa S126, a unidade de decodificação sem perdas 132 faz com que a unidade de quantização inversa 133 e os respectivos componentes localizados nos estágios posteriores decodifiquem as fatias 0 até N-1 em paralelo.[00273] In step S126, the lossless decoding unit 132 causes the inverse quantization unit 133 and the respective components located in the later stages to decode slices 0 to N-1 in parallel.
[00274] Deve-se notar que o processo de decodificação de fatia nas etapas S125 e S126 será descrito a seguir em relação à figura 25.[00274] It should be noted that the slice decoding process in steps S125 and S126 will be described below in relation to Fig. 25.
[00275] Agora, em relação ao fluxograma da figura 24, um outro exemplo do processo de decodificação da etapa S114 na figura 22 é descrito.[00275] Now, in relation to the flowchart of figure 24, another example of the decoding process of step S114 in figure 22 is described.
[00276] Na etapa S141, a unidade de decodificação sem perdas 132 decodifica todos os cabeçalhos de fatia de uma unidade de acesso (AU).[00276] In step S141, the lossless decoding unit 132 decodes all slice headers of an access unit (AU).
[00277] Na etapa S142, a unidade de decodificação sem perdas 132 decodifica N fatias divisionais.[00277] In step S142, the lossless decoding unit 132 decodes N boundary slices.
[00278] Na etapa S143, a unidade de decodificação sem perdas 132 determina se SPS_crossslice_intraBC_enable_flag é 1. Se SPS_crossslice_intraBC_enable_flag for determinado como 1 na etapa S143, o processo se move para a etapa S144.[00278] In step S143, the lossless decoding unit 132 determines whether SPS_crossslice_intraBC_enable_flag is 1. If SPS_crossslice_intraBC_enable_flag is determined to be 1 in step S143, the process moves to step S144.
[00279] Na etapa S144, a unidade de decodificação sem perdas 132 determina se intra_BC_ref_prev_slice_flag é 1. Se intra_BC_ref_prev_slice_flag for determinado como 1, na etapa S144, o processo se move para a etapa S145.[00279] In step S144, the lossless decoding unit 132 determines whether intra_BC_ref_prev_slice_flag is 1. If intra_BC_ref_prev_slice_flag is determined to be 1, in step S144, the process moves to step S145.
[00280] Na etapa S145, a unidade de decodificação sem perdas 132 refere-se ao relacionamento de dependência entre as fatias a partir de intraBC_ref_prev_slice_num de cada fatia, e faz uma determinação em cada fatia em relação a se a fatia está em um relacionamento de dependência.[00280] In step S145, the lossless decoding unit 132 refers to the dependency relationship between the slices from the intraBC_ref_prev_slice_num of each slice, and makes a determination on each slice as to whether the slice is in a dependency relationship dependency.
[00281] Se a fatia for determinada como uma fatia em um relacionamento de dependência, na etapa S145, o processo se move para a etapa S146. Na etapa S146, a unidade de decodificação sem perdas 132 faz com que a unidade de quantização inversa 133 e os respectivos componentes localizados nos estágios posteriores decodifiquem sequencialmente a fatia X (X sendo o número de fatia da fatia em um relacionamento de dependência).[00281] If the slice is determined as a slice in a dependency relationship, in step S145, the process moves to step S146. At step S146, the lossless decoding unit 132 causes the inverse quantization unit 133 and the respective components located in the later stages to sequentially decode the slice X (X being the slice number of the slice in a dependency relationship).
[00282] Se a fatia for determinada como não sendo uma fatia em um relacionamento de dependência, na etapa S145, por outro lado, o processo se move para a etapa S147. Na etapa S147, a unidade de decodificação sem perdas 132 faz com que a unidade de quantização inversa 133 e os respectivos componentes localizados nos estágios posteriores decodifiquem a fatia Y (Y sendo o número de fatia da fatia que não está em um relacionamento de dependência) em paralelo.[00282] If the slice is determined not to be a slice in a dependency relationship, at step S145, on the other hand, the process moves to step S147. At step S147, the lossless decoding unit 132 causes the inverse quantization unit 133 and the respective components located in the later stages to decode the slice Y (Y being the slice number of the slice that is not in a dependency relationship) in parallel.
[00283] Se SPS_crossslice_intraBC_enable_flag for determinado como não sendo 1, na etapa S143, ou se intra_BC_ref_prev_slice_flag for determinado como não sendo 1, na etapa S144, o processo se move para a etapa S148.[00283] If SPS_crossslice_intraBC_enable_flag is determined not to be 1, in step S143, or if intra_BC_ref_prev_slice_flag is determined not to be 1, in step S144, the process moves to step S148.
[00284] Na etapa S148, a unidade de decodificação sem perdas 132 faz com que a unidade de quantização inversa 133 e os respectivos componentes localizados nos estágios posteriores decodifiquem as fatias 0 até N-1 em paralelo.[00284] In step S148, the lossless decoding unit 132 causes the inverse quantization unit 133 and the respective components located in the later stages to decode slices 0 to N-1 in parallel.
[00285] Da maneira exposta, fatias são processadas em paralelo ou sequencialmente no dispositivo de decodificação 110 de acordo com a informação de controle IntraBC.[00285] As shown, slices are processed in parallel or sequentially in the decoding device 110 according to the IntraBC control information.
[00286] Deve-se notar que o processo de decodificação de fatia nas etapas S146 até S148 será descrito a seguir em relação à figura 25.[00286] It should be noted that the slice decoding process in steps S146 to S148 will be described below in relation to Fig. 25.
[00287] Agora, em relação ao fluxograma da figura 25, o processo de decodificação de fatia é descrito. Este processo é realizado nas fatias em paralelo ou sequencialmente pela unidade de decodificação sem perdas 132.[00287] Now, regarding the flowchart of Figure 25, the slice decoding process is described. This process is performed on the slices in parallel or sequentially by the lossless decoding unit 132.
[00288] Na etapa S161 da figura 25, o buffer de acúmulo 131 (figura 21) da unidade de decodificação 113 recebe e acumula dados codificados com base em quadro provenientes da unidade de extração 112 mostrada na figura 20. O buffer de acúmulo 131 supre os dados codificados acumulados para a unidade de decodificação sem perdas 132.[00288] In step S161 of Fig. 25, the accumulation buffer 131 (Fig. 21) of the decoding unit 113 receives and accumulates frame-based encoded data from the extraction unit 112 shown in Fig. 20. The accumulation buffer 131 supplies the accumulated encoded data to the lossless decoding unit 132.
[00289] Na etapa S162, a unidade de decodificação sem perdas 132 realiza decodificação sem perdas nos dados codificados supridos a partir do buffer de acúmulo 131, para obter um valor quantizado e informação de codificação. A unidade de decodificação sem perdas 132 supre o valor quantizado para a unidade de quantização inversa 133.[00289] At step S162, the lossless decoding unit 132 performs lossless decoding on the encoded data supplied from the accumulation buffer 131 to obtain a quantized value and encoding information. The lossless decoding unit 132 supplies the quantized value to the inverse quantization unit 133.
[00290] A unidade de decodificação sem perdas 132 também supre informação do modo de intraprevisão e congêneres como informação de codificação para a unidade de intraprevisão 143. A unidade de decodificação sem perdas 132 também supre para a unidade de compensação de movimento 144 um vetor de movimento, informação do modo de interprevisão, informação para identificar uma imagem de referência e congêneres.[00290] The lossless decoding unit 132 also supplies intraprediction mode information and the like as coding information to the intraprediction unit 143. The lossless decoding unit 132 also supplies to the motion compensation unit 144 a vector of motion, interprediction mode information, information to identify a reference image, and the like.
[00291] A unidade de decodificação sem perdas 132 supre adicionalmente para o comutador 145 a informação do modo de intraprevisão ou a informação do modo de interprevisão como informação de codificação. A unidade de decodificação sem perdas 132 supre informação do filtro de deslocamento como informação de codificação para o filtro de deslocamento adaptável 137, e supre um coeficiente de filtro para o filtro de malha adaptável 138.[00291] The lossless decoding unit 132 further supplies to the switch 145 the intraprediction mode information or the interprediction mode information as coding information. Lossless decoding unit 132 supplies shift filter information as coding information to adaptive shift filter 137, and supplies a filter coefficient to adaptive mesh filter 138.
[00292] Na etapa S163, a unidade de quantização inversa 133 quantiza inversamente o valor quantizado suprido a partir da unidade de decodificação sem perdas 132. A unidade de quantização inversa 133 supre o resultado da transformada ortogonal obtido em decorrência da quantização inversa para a unidade de transformada ortogonal inversa 134.[00292] At step S163, the inverse quantization unit 133 inversely quantizes the quantized value supplied from the lossless decoding unit 132. The inverse quantization unit 133 supplies the result of the orthogonal transform obtained as a result of the inverse quantization to the unit of inverse orthogonal transform 134.
[00293] Na etapa S164, a unidade de transformada ortogonal inversa 134 realiza um processo de transformada ortogonal inversa no resultado da transformada ortogonal suprido a partir da unidade de quantização inversa 133.[00293] At step S164, the inverse orthogonal transform unit 134 performs an inverse orthogonal transform process on the orthogonal transform result supplied from the inverse quantization unit 133.
[00294] Na etapa S165, a unidade de compensação de movimento 144 determina se a informação do modo de interprevisão foi suprida a partir da unidade de decodificação sem perdas 132. Se for determinado, na etapa S165, que a informação do modo de interprevisão foi suprida, o processo se move para a etapa S166.[00294] At step S165, the motion compensation unit 144 determines whether the interprediction mode information has been supplied from the lossless decoding unit 132. If it is determined, at step S165, that the interprediction mode information has been supplied, the process moves to step S166.
[00295] Na etapa S166, a unidade de compensação de movimento 144 lê a imagem de referência de acordo com a informação de identificação da imagem de referência suprida a partir da unidade de decodificação sem perdas 132, e realiza um processo de compensação de movimento no modo de interprevisão ideal indicado pela informação do modo de interprevisão, usando o vetor de movimento e a imagem de referência. A unidade de compensação de movimento 144 supre a imagem resultante prevista para a unidade de adição 135 por meio do comutador 145, e o processo, então, se move para a etapa S168.[00295] At step S166, the motion compensation unit 144 reads the reference picture according to the reference picture identification information supplied from the lossless decoding unit 132, and performs a motion compensation process on the ideal interforecast mode indicated by the interforecast mode information, using the motion vector and the reference image. Motion compensation unit 144 supplies the predicted resulting image to summing unit 135 via switch 145, and the process then moves to step S168.
[00296] Se for determinado, na etapa S165, que a informação do modo de interprevisão não foi suprida, ou se a informação do modo de intraprevisão tiver sido suprida para a unidade de intraprevisão 143, o processo se move para a etapa S167.[00296] If it is determined, in step S165, that the interforecast mode information has not been supplied, or if the intraforecast mode information has been supplied to the intraforecast unit 143, the process moves to step S167.
[00297] Na etapa S167, a unidade de intraprevisão 143 determina se o modo de intraprevisão indicado pela informação do modo de intraprevisão é o modo IntraBC. Se o modo for determinado como não sendo o modo IntraBC, na etapa S167, o processo se move para a etapa S168.[00297] In step S167, the intraforecast unit 143 determines whether the intraforecast mode indicated by the intraforecast mode information is the IntraBC mode. If the mode is determined not to be the IntraBC mode, in step S167, the process moves to step S168.
[00298] Na etapa S168, usando a imagem periférica que foi lida a partir da memória de quadro 141 por meio do comutador 142, a unidade de intraprevisão 143 realiza um processo de intraprevisão no modo de intraprevisão (não no modo IntraBC) indicado pela informação do modo de intraprevisão. A unidade de intraprevisão 143 supre a imagem prevista gerada em decorrência do processo de intraprevisão para a unidade de adição 135 por meio do comutador 145, e o processo, então, se move para a etapa S171.[00298] In step S168, using the peripheral image that has been read from the frame memory 141 via the switch 142, the intraforecast unit 143 performs an intraforecast process in the intraforecast mode (not the IntraBC mode) indicated by the information of the intraforecast mode. The intraprediction unit 143 supplies the predicted image generated as a result of the intraprediction process to the summing unit 135 via switch 145, and the process then moves to step S171.
[00299] Se o modo for determinado como o modo IntraBC, na etapa S167, o processo se move para a etapa S169. Na etapa S169, a unidade de intraprevisão 143 recebe um vetor IntraBC a partir da unidade de decodificação sem perdas 132. Na etapa S170, usando a imagem periférica que foi lida a partir da memória de quadro 141 por meio do comutador 142, a unidade de intraprevisão 143 realiza um processo de intraprevisão no modo IntraBC. A unidade de intraprevisão 143 supre a imagem prevista gerada em decorrência do processo de intraprevisão para a unidade de adição 135 por meio do comutador 145, e o processo, então, se move para a etapa S171.[00299] If the mode is determined to be IntraBC mode, in step S167, the process moves to step S169. In step S169, the intraprediction unit 143 receives an IntraBC vector from the lossless decoding unit 132. In step S170, using the peripheral image that was read from the frame memory 141 via the switch 142, the Intraforecast 143 performs an intraforecast process in IntraBC mode. The intraprediction unit 143 supplies the predicted image generated as a result of the intraprediction process to the summing unit 135 via switch 145, and the process then moves to step S171.
[00300] Na etapa S171, a unidade de adição 135 realiza decodificação pela adição da informação de erro residual suprida a partir da unidade de transformada ortogonal inversa 134 em uma imagem prevista suprida a partir do comutador 145. A unidade de adição 135 supre a imagem decodificada para o filtro de desbloqueio 136 e a memória de quadro 141.[00300] At step S171, the addition unit 135 performs decoding by adding the residual error information supplied from the inverse orthogonal transform unit 134 into a predicted image supplied from the switch 145. The addition unit 135 supplies the image decoded to deblocking filter 136 and frame memory 141.
[00301] Na etapa S172, o filtro de desbloqueio 136 realiza um processo de filtragem de desbloqueio na imagem suprida a partir da unidade de adição 135, para remover distorção de bloco. O filtro de desbloqueio 136 supre a imagem resultante para o filtro de deslocamento adaptável 137.[00301] In step S172, the deblocking filter 136 performs a deblocking filtering process on the image supplied from the summing unit 135, to remove block distortion. Deblocking filter 136 supplies the resulting image to adaptive shift filter 137.
[00302] Na etapa S173, de acordo com a informação do filtro de deslocamento suprida a partir da unidade de decodificação sem perdas 132, o filtro de deslocamento adaptável 137 realiza, para cada LCU, um processo de filtragem de deslocamento adaptável na imagem sujeita ao processo de filtragem de desbloqueio pelo filtro de desbloqueio 136. O filtro de deslocamento adaptável 137 supre para o filtro de malha adaptável 138 a imagem sujeita ao processo de filtragem de deslocamento adaptável.[00302] At step S173, according to the shift filter information supplied from the lossless decoding unit 132, the adaptive shift filter 137 performs, for each LCU, an adaptive shift filtering process on the image subjected to the deblocking filtering process by deblocking filter 136. Adaptive shift filter 137 supplies to adaptive mesh filter 138 the image subjected to the adaptive shift filtering process.
[00303] Na etapa S174, usando o coeficiente de filtro suprido a partir da unidade de decodificação sem perdas 132, o filtro de malha adaptável 138 realiza, para cada LCU, um processo de filtragem de malha adaptável na imagem suprida a partir do filtro de deslocamento adaptável 137. O filtro de malha adaptável 138 supre a imagem resultante para a memória de quadro 141 e o buffer de rearranjo da tela 139.[00303] In step S174, using the filter coefficient supplied from the lossless decoding unit 132, the adaptive mesh filter 138 performs, for each LCU, an adaptive mesh filtering process on the image supplied from the decoding filter. adaptive shift 137. Adaptive mesh filter 138 supplies the resulting image to frame memory 141 and screen rearrangement buffer 139.
[00304] Na etapa S175, a memória de quadro 141 armazena a imagem suprida a partir da unidade de adição 135 e a imagem suprida a partir do filtro de malha adaptável 138. Uma imagem adjacente a uma PU dentre as imagens que são armazenadas na memória de quadro 141 e não foram sujeitas a nenhum processo de filtragem é suprida como uma imagem periférica para a unidade de intraprevisão 143 por meio do comutador 142. Neste particular, uma imagem que é armazenada na memória de quadro 141 e foi sujeita a um processo de filtragem é transmitida como uma imagem de referência para a unidade de compensação de movimento 144 por meio do comutador 142.[00304] At step S175, the frame memory 141 stores the image supplied from the addition unit 135 and the image supplied from the adaptive mesh filter 138. An image adjacent to a PU among the images that are stored in the memory frame 141 and have not been subjected to any filtering process is supplied as a peripheral image to the intraprediction unit 143 via switch 142. In this particular, an image that is stored in frame memory 141 and has been subjected to a frame filtering is transmitted as a reference image to motion compensation unit 144 via switch 142.
[00305] Na etapa S176, o buffer de rearranjo da tela 139 armazena a imagem suprida a partir do filtro de malha adaptável 138 quadro a quadro, rearranja os quadros da imagem armazenada na ordem de exibição original, em vez da ordem de codificação, e supre a imagem rearranjada para o conversor D/A 140.[00305] In step S176, the screen rearrangement buffer 139 stores the image supplied from the adaptive mesh filter 138 frame by frame, rearranges the stored image frames in the original display order instead of the encoding order, and supplies the rearranged image to the D/A Converter 140.
[00306] Na etapa S177, o conversor D/A 140 realiza conversão D/A na imagem com base em quadro suprida a partir do buffer de rearranjo da tela 139, e transmite a imagem. O processo, então, retorna para uma das etapas S146 até S148, na figura 23, ou para as etapas S125 ou S126 na figura 24 e, então, chega ao final.[00306] In step S177, the D/A converter 140 performs D/A conversion on the frame-based image supplied from the screen rearrangement buffer 139, and transmits the image. The process then returns to one of steps S146 to S148 in Fig. 23 or to steps S125 or S126 in Fig. 24 and then comes to an end.
[00307] Da maneira exposta, a eficiência de codificação em IntraBC pode ser melhorada.[00307] In the above manner, the coding efficiency in IntraBC can be improved.
[00308] No exemplo exposto, um método em conformidade com HEVC é usado como o método de codificação. Entretanto, a presente tecnologia não é limitada ao exposto, e alguns outros métodos de codificação/decodificação podem ser usados.[00308] In the above example, a HEVC-compliant method is used as the encoding method. However, the present technology is not limited to the above, and some other encoding/decoding methods can be used.
[00309] Deve-se notar que a presente descrição pode ser aplicada em dispositivos de codificação de imagem e dispositivos de decodificação de imagem que são usados quando informação de imagem (fluxos contínuos de bits) comprimida através de transformada ortogonal, tal como transformada discreta de cosseno, e compensação de movimento for recebida por meio de uma mídia em rede, tais como difusão via satélite, televisão a cabo, a Internet ou um aparelho de telefone portátil, como em HEVC, por exemplo. A presente descrição também pode ser aplicada em dispositivos de codificação de imagem e dispositivos de decodificação de imagem que são usados quando informação de imagem comprimida for processada em uma mídia de armazenamento, tais como um disco óptico ou magnético ou uma memória flash.[00309] It should be noted that the present description can be applied to image coding devices and image decoding devices that are used when image information (continuous streams of bits) is compressed through orthogonal transform, such as discrete transform of cosine, and motion compensation is received via a networked media such as satellite broadcasting, cable television, the Internet, or a portable telephone set such as HEVC, for example. The present description can also be applied to image encoding devices and image decoding devices that are used when compressed image information is processed on a storage medium, such as an optical or magnetic disk or a flash memory.
[00310] A supradescrita série de processos pode ser realizada por hardware, e também pode ser realizada por software. Quando a série de processos precisar ser realizada por software, o programa que forma o software é instalado em um computador. Aqui, o computador pode ser um computador incorporado em hardware de uso especial, ou pode ser um computador pessoal de uso geral que pode executar vários tipos de funções, com vários tipos de programas instalados nos mesmos.[00310] The aforementioned series of processes can be performed by hardware, and can also be performed by software. When the series of processes needs to be performed by software, the program that forms the software is installed on a computer. Here, the computer can be a computer embedded in special purpose hardware, or it can be a general purpose personal computer that can perform various types of functions, with various types of programs installed on them.
[00311] A figura 26 é um diagrama de blocos que mostra uma configuração de exemplo do hardware de um computador que realiza a supradescrita série de processos de acordo com um programa.[00311] Figure 26 is a block diagram showing an example hardware configuration of a computer that performs the aforementioned series of processes according to a program.
[00312] No computador, uma unidade de processamento central (CPU) 201, uma memória exclusiva de leitura (ROM) 202 e uma memória de acesso aleatório (RAM) 203 são conectadas umas nas outras por um barramento 204.[00312] In the computer, a central processing unit (CPU) 201, a read only memory (ROM) 202 and a random access memory (RAM) 203 are connected to each other by a bus 204.
[00313] Uma interface de entrada/saída 205 é adicionalmente conectada no barramento 204. Uma unidade de entrada 206, uma unidade de saída 207, uma unidade de armazenamento 208, uma unidade de comunicação 209 e uma unidade 210 são conectadas na interface de entrada/saída 205.[00313] An input/output interface 205 is additionally connected to the bus 204. An input unit 206, an output unit 207, a storage unit 208, a communication unit 209 and a unit 210 are connected to the input interface /output 205.
[00314] A unidade de entrada 206 é formada com um teclado, um mouse, um microfone e congêneres. A unidade de saída 207 é formada com uma tela, um alto-falante e congêneres. A unidade de armazenamento 208 é formada com um disco rígido, uma memória não volátil ou congêneres. A unidade de comunicação 209 é formada com uma interface de rede ou congêneres. A unidade 210 aciona uma mídia removível 211, tais como um disco magnético, um disco óptico, um disco magneto-óptico ou uma memória semicondutora.[00314] The input unit 206 is formed with a keyboard, a mouse, a microphone and the like. The output unit 207 is formed with a screen, a speaker and the like. Storage unit 208 is formed with a hard disk, non-volatile memory or the like. The communication unit 209 is formed with a network interface or the like. Drive 210 drives removable media 211, such as a magnetic disk, optical disk, magneto-optical disk, or semiconductor memory.
[00315] No computador que tem a supradescrita configuração, a CPU 201 carrega um programa armazenado na unidade de armazenamento 208 na RAM 203 por meio da interface de entrada/saída 205 e do barramento 204, por exemplo, e executa o programa, de forma que a supradescrita série de processos seja realizada.[00315] In the computer that has the above-described configuration, the CPU 201 loads a program stored in the storage unit 208 in the RAM 203 through the input/output interface 205 and the bus 204, for example, and executes the program, so the above-described series of processes to be carried out.
[00316] O programa a ser executado pelo computador (a CPU 201) pode ser gravado na mídia removível 211 como uma mídia em pacote a ser provida, por exemplo. Alternativamente, o programa pode ser provido por meio de uma mídia de transmissão com fios ou sem fio, tais como uma rede de área local, a Internet ou difusão digital via satélite.[00316] The program to be executed by the computer (the CPU 201) can be recorded on the removable media 211 as a packaged media to be provided, for example. Alternatively, the program may be delivered via a wired or wireless transmission medium, such as a local area network, the Internet or digital satellite broadcasting.
[00317] No computador, o programa pode ser instalado na unidade de armazenamento 208 por meio da interface de entrada/saída 205 quando a mídia removível 211 for montada na unidade 210. O programa também pode ser recebido pela unidade de comunicação 209 por meio de uma mídia de transmissão com fios ou sem fio, e ser instalado na unidade de armazenamento 208. Também, o programa pode ser instalado antecipadamente na ROM 202 ou na unidade de armazenamento 208.[00317] On the computer, the program can be installed in the storage unit 208 through the input/output interface 205 when the removable media 211 is mounted in the unit 210. The program can also be received by the communication unit 209 through a wired or wireless transmission medium, and be installed in the storage unit 208. Also, the program can be installed in advance in the ROM 202 or in the storage unit 208.
[00318] Deve-se notar que o programa a ser executado pelo computador pode ser um programa para realizar processos em ordem cronológica de acordo com a sequência descrita neste relatório descritivo, ou pode ser um programa para realizar processos em paralelo ou realizar um processo quando necessário, tal como quando houver uma chamada.[00318] It should be noted that the program to be executed by the computer can be a program to carry out processes in chronological order according to the sequence described in this descriptive report, or it can be a program to carry out processes in parallel or to carry out a process when necessary, such as when there is an incoming call.
[00319] A supradescrita série de processos pode ser aplicada na codificação de imagem multivisualizações e na decodificação de imagem multivisualizações. A figura 27 mostra um exemplo de um método de codificação de imagem multivisualizações.[00319] The above-described series of processes can be applied in multiview image encoding and multiview image decoding. Figure 27 shows an example of a multiview image encoding method.
[00320] Da forma mostrada na figura 27, uma imagem multivisualizações inclui imagens de múltiplas visualizações. As visualizações de uma imagem multivisualizações incluem uma visualização base a ser codificada/decodificada apenas com o uso de imagens de sua própria visualização e sem o uso de imagens das outras visualizações, e visualizações não base a ser codificadas/decodificadas com o uso de imagens das outras visualizações. Uma visualização não base pode ser processada com o uso de uma imagem de uma visualização base, ou pode ser processada com o uso de uma imagem da outra visualização não base.[00320] As shown in Figure 27, a multiview image includes images from multiple views. Views of a multiview image include a base view to be encoded/decoded using only images from its own view and not using images from the other views, and non-base views to be encoded/decoded using images from the other views. other views. A non-base view can be rendered using an image from one base view, or it can be rendered using an image from the other non-base view.
[00321] Em um caso em que a imagem multivisualizações mostrada na figura 27 for codificada/decodificada, as imagens das respectivas visualizações são codificadas/decodificadas, e um método de acordo com a supradescrita primeira modalidade pode ser aplicado na codificação/decodificação das respectivas visualizações. Desta maneira, a eficiência de codificação em IntraBC pode ser melhorada. Assim, a eficiência de codificação é aumentada.[00321] In a case where the multiview image shown in Figure 27 is encoded/decoded, the images of the respective views are encoded/decoded, and a method according to the above-described first embodiment can be applied in the encoding/decoding of the respective views . In this way, the coding efficiency in IntraBC can be improved. Thus, the coding efficiency is increased.
[00322] Adicionalmente, na codificação/decodificação das respectivas visualizações, os parâmetros usados no método de acordo com a supradescrita primeira modalidade podem ser compartilhados. Mais especificamente, um VPS, um SPS, um PPS e congêneres, como informação de codificação, podem ser compartilhados na codificação/decodificação das respectivas visualizações. Informação necessária diferente destes conjuntos de parâmetros pode ser certamente compartilhada na codificação/decodificação das respectivas visualizações.[00322] Additionally, in the encoding/decoding of the respective views, the parameters used in the method according to the above-described first embodiment can be shared. More specifically, a VPS, an SPS, a PPS and the like as encoding information can be shared in encoding/decoding the respective views. Necessary information different from these parameter sets can certainly be shared in the encoding/decoding of the respective views.
[00323] Desta maneira, transmissão de informação redundante pode ser impedida, e a quantidade (taxa de bit) de informação a ser transmitida pode ser reduzida (ou uma redução na eficiência de codificação pode ser impedida).[00323] In this way, transmission of redundant information can be prevented, and the amount (bit rate) of information to be transmitted can be reduced (or a reduction in coding efficiency can be prevented).
[00324] A figura 28 é um diagrama que mostra um dispositivo de codificação de imagem multivisualizações que realiza a supradescrita codificação de imagem multivisualizações. Da forma mostrada na figura 28, o dispositivo de codificação de imagem multivisualizações 600 inclui uma unidade de codificação 601, uma unidade de codificação 602 e um multiplexador 603.[00324] Fig. 28 is a diagram showing a multiview image coding device that performs the above-described multiview image coding. As shown in Fig. 28, the multiview image coding device 600 includes a coding unit 601, a coding unit 602 and a multiplexer 603.
[00325] A unidade de codificação 601 codifica uma imagem de visualização base, e gera um fluxo contínuo codificado da imagem de visualização base. A unidade de codificação 602 codifica uma imagem de visualização não base, e gera um fluxo contínuo codificado da imagem de visualização não base. O multiplexador 603 multiplexa o fluxo contínuo codificado da imagem de visualização base gerado na unidade de codificação 601 e o fluxo contínuo codificado da imagem de visualização não base gerado na unidade de codificação 602, para gerar um fluxo contínuo codificado da imagem multivisualizações.[00325] The encoding unit 601 encodes a base display image, and generates an encoded streaming of the base display image. Encoder unit 602 encodes a non-base display image, and generates an encoded stream of the non-base display image. The multiplexer 603 multiplexes the coded stream of the base display picture generated in the coding unit 601 and the coded stream of the non-base display picture generated in the coding unit 602 to generate a coded stream of the multiview picture.
[00326] O dispositivo de codificação 10 (figura 13) pode ser usado como a unidade de codificação 601 e a unidade de codificação 602 do dispositivo de codificação de imagem multivisualizações 600. Isto é, a eficiência de codificação em IntraBC pode ser melhorada na codificação de cada visualização. Também, a unidade de codificação 601 e a unidade de codificação 602 podem realizar codificação (ou indicadores e parâmetros de compartilhamento), usando os mesmos indicadores e parâmetros (tais como os elementos de sintaxe relacionados a processamento entre imagens) entre as duas unidades de codificação. Assim, uma redução na eficiência de codificação pode ser impedida.[00326] The coding device 10 (Fig. 13) can be used as the coding unit 601 and the coding unit 602 of the multiview image coding device 600. That is, the coding efficiency in IntraBC can be improved in coding of each view. Also, the coding unit 601 and the coding unit 602 can perform coding (or sharing flags and parameters) using the same flags and parameters (such as the syntax elements related to interimage processing) between the two coding units. . Thus, a reduction in coding efficiency can be prevented.
[00327] A figura 29 é um diagrama que mostra um dispositivo de decodificação de imagem multivisualizações que realiza a supradescrita decodificação de imagem multivisualizações. Da forma mostrada na figura 29, o dispositivo de decodificação de imagem multivisualizações 610 inclui um demultiplexador 611, uma unidade de decodificação 612 e uma unidade de decodificação 613.[00327] Figure 29 is a diagram showing a multiview image decoding device that performs the above-described multiview image decoding. As shown in Fig. 29, the multiview image decoding device 610 includes a demultiplexer 611, a decoding unit 612 and a decoding unit 613.
[00328] O demultiplexador 611 demultiplexa um fluxo contínuo codificado da imagem multivisualizações formado pela multiplexação de um fluxo contínuo codificado da imagem de visualização base e um fluxo contínuo codificado da imagem de visualização não base, e extrai o fluxo contínuo codificado da imagem de visualização base e o fluxo contínuo codificado da imagem de visualização não base. A unidade de decodificação 612 decodifica o fluxo contínuo codificado da imagem de visualização base extraído pelo demultiplexador 611, e obtém uma imagem de visualização base. A unidade de decodificação 613 decodifica o fluxo contínuo codificado da imagem de visualização não base extraído pelo demultiplexador 611, e obtém uma imagem de visualização não base.[00328] The demultiplexer 611 demultiplexes a coded stream of the multiview image formed by multiplexing a coded stream of the base view image and a coded stream of the non-base view image, and extracts the coded stream of the base view image and the encoded streaming of the non-base preview image. Decoding unit 612 decodes the encoded stream of base view image extracted by demultiplexer 611, and obtains a base view image. Decoding unit 613 decodes the encoded stream of non-base display image extracted by demultiplexer 611, and obtains a non-base display image.
[00329] O dispositivo de decodificação 110 (figura 20) pode ser usado como a unidade de decodificação 612 e a unidade de decodificação 613 do dispositivo de decodificação de imagem multivisualizações 610. Isto é, a eficiência de codificação em IntraBC pode ser melhorada. Também, a unidade de decodificação 612 e a unidade de decodificação 613 podem realizar decodificação (ou indicadores e parâmetros de compartilhamento), usando os mesmos indicadores e parâmetros (tais como os elementos de sintaxe relacionados a processamento entre imagens) entre as duas unidades de decodificação. Assim, uma redução na eficiência de codificação pode ser impedida.[00329] The decoding device 110 ( Fig. 20 ) can be used as the decoding unit 612 and the decoding unit 613 of the multiview image decoding device 610. That is, the coding efficiency in IntraBC can be improved. Also, the decoding unit 612 and the decoding unit 613 can perform decoding (or sharing flags and parameters) using the same flags and parameters (such as syntax elements related to inter-picture processing) between the two decoding units. . Thus, a reduction in coding efficiency can be prevented.
[00330] A supradescrita série de processos pode ser aplicada em codificação de imagem hierárquica e decodificação de imagem hierárquica (codificação escalonável e decodificação escalonável). A figura 30 mostra um exemplo de um método de codificação hierárquica de imagem.[00330] The above-described series of processes can be applied in hierarchical image encoding and hierarchical image decoding (scalable encoding and scalable decoding). Figure 30 shows an example of a hierarchical image encoding method.
[00331] Codificação de imagem hierárquica (codificação escalonável) é realizada para dividir uma imagem em camadas (hierarquização) e codifica as camadas uma a uma de uma maneira tal que um parâmetro predeterminado tenha uma função escalonável. Decodificação de imagem hierárquica (decodificação escalonável) é a decodificação correspondente à codificação de imagem hierárquica.[00331] Hierarchical image encoding (scalable encoding) is performed to divide an image into layers (tiering) and encode the layers one by one in such a way that a predetermined parameter has a scalable function. Hierarchical image decoding (scalable decoding) is the decoding corresponding to hierarchical image encoding.
[00332] Da forma mostrada na figura 30, na hierarquização de uma imagem, o parâmetro predeterminado que tem a função escalonável serve como a referência, e a imagem individual é dividida em imagens (camadas). Isto é, a imagem hierarquizada (imagem hierárquica) inclui imagens de camadas com valores para o parâmetro predeterminado diferentes uns dos outros. As camadas desta imagem hierárquica incluem uma camada de base a ser codificada/decodificada apenas com o uso de uma imagem de sua própria camada e sem o uso de imagens das outras camadas, e camadas não base (também referidas como camadas de intensificação) a ser codificadas/decodificadas com o uso de imagens das outras camadas. Uma camada não base pode ser processada com o uso de uma imagem de uma camada de base, ou pode ser processada com o uso de uma imagem da outra camada não base.[00332] As shown in Figure 30, in the hierarchy of an image, the predetermined parameter that has the scalable function serves as the reference, and the individual image is divided into images (layers). That is, the hierarchical image (hierarchical image) includes images of layers with values for the predetermined parameter different from each other. The layers of this hierarchical image include a base layer to be encoded/decoded only using an image from its own layer and without using images from the other layers, and non-base layers (also referred to as enhancement layers) to be encoded/decoded using images from other layers. A non-base layer can be processed using an image from one base layer, or it can be processed using an image from the other non-base layer.
[00333] Normalmente, uma camada não base é formada com os dados de uma imagem de diferença entre sua própria imagem e uma imagem de uma outra camada, para reduzir a redundância. Por exemplo, em um caso em que uma imagem for dividida em duas camadas, que são uma camada de base e uma camada de intensificação (também referida como uma camada de intensificação), uma imagem de qualidade inferior àquela da imagem original é obtida quando apenas os dados da camada de base forem usados, e a imagem original (ou uma imagem de alta qualidade) é obtida quando os dados da camada de base e os dados da camada não base forem combinados.[00333] Typically, a non-base layer is formed with data from a difference image between its own image and an image from another layer, to reduce redundancy. For example, in a case where an image is divided into two layers, which are a base layer and an enhancement layer (also referred to as an enhancement layer), an image of lower quality than that of the original image is obtained when only the base layer data is used, and the original image (or a high quality image) is obtained when the base layer data and the non-base layer data are combined.
[00334] Como uma imagem é hierarquizada desta maneira, imagens com várias qualidades podem ser prontamente obtidas de acordo com as circunstâncias. Para um terminal com uma baixa capacidade de processamento, tal como um telefone portátil, informação de compressão de imagem apenas sobre uma camada de base é transmitida de forma que uma imagem em movimento com uma baixa resolução espacial e temporal ou de fraca qualidade de imagem seja reproduzida. Para um terminal com uma alta capacidade de processamento, tais como um aparelho de televisão ou um computador pessoal, informação de compressão de imagem sobre uma camada de base e uma camada de intensificação é transmitida de forma que uma imagem em movimento com uma alta resolução espacial e temporal ou de alta qualidade de imagem possa ser reproduzida. Desta maneira, informação de compressão de imagem de acordo com a capacidade de um terminal ou uma rede pode ser transmitida a partir de um servidor, sem nenhum processo de transcodificação.[00334] As an image is ranked in this way, images with various qualities can be readily obtained according to the circumstances. For a terminal with a low processing capacity, such as a portable telephone, image compression information only on a base layer is transmitted so that a moving image with a low spatial and temporal resolution or poor image quality is reproduced. For a terminal with a high processing capacity, such as a television set or a personal computer, image compression information on a base layer and an enhancement layer is transmitted so that a moving image with a high spatial resolution and temporal or high quality picture can be reproduced. In this way, image compression information according to the capability of a terminal or a network can be transmitted from a server without any transcoding process.
[00335] Em um caso em que o exemplo de uma imagem hierárquica mostrada na figura 30 for codificado/decodificado, as imagens das respectivas camadas são codificadas/decodificadas, e um método de acordo com a supradescrita primeira modalidade pode ser aplicado na codificação/decodificação das respectivas camadas. Desta maneira, a eficiência de codificação em IntraBC pode ser melhorada. Assim, a eficiência de codificação é aumentada.[00335] In a case where the example of a hierarchical image shown in Figure 30 is encoded/decoded, the images of the respective layers are encoded/decoded, and a method according to the above-described first embodiment can be applied in encoding/decoding of the respective layers. In this way, the coding efficiency in IntraBC can be improved. Thus, the coding efficiency is increased.
[00336] Adicionalmente, na codificação/decodificação das respectivas camadas, os indicadores e os parâmetros usados no método de acordo com a supradescrita primeira modalidade podem ser compartilhados. Mais especificamente, um VPS, um SPS, um PPS e congêneres como informação de codificação podem ser compartilhados na codificação/decodificação das respectivas camadas. Informação necessária diferente destes conjuntos de parâmetros pode ser certamente compartilhada na codificação/decodificação das respectivas camadas.[00336] Additionally, in the encoding/decoding of the respective layers, the indicators and parameters used in the method according to the above-described first modality can be shared. More specifically, a VPS, an SPS, a PPS and the like as coding information can be shared in the coding/decoding of the respective layers. Necessary information different from these parameter sets can certainly be shared in the encoding/decoding of the respective layers.
[00337] Desta maneira, transmissão de informação redundante pode ser impedida, e a quantidade (taxa de bit) da informação a ser transmitida pode ser reduzida (ou uma redução na eficiência de codificação pode ser impedida).[00337] In this way, transmission of redundant information can be prevented, and the amount (bit rate) of information to be transmitted can be reduced (or a reduction in coding efficiency can be prevented).
[00338] Em tais codificação de imagem hierárquica e decodificação de imagem hierárquica (codificação escalonável e decodificação escalonável), um parâmetro com uma função escalonável é usado como apropriado. Por exemplo, a resolução espacial mostrada na figura 31 pode ser usada como um parâmetro como este (escalonabilidade espacial). No caso desta escalonabilidade espacial, resoluções de imagem variam entre camadas. Especificamente, neste caso, cada imagem parada é hierarquizada em duas camadas que são uma camada de base com uma resolução espacial inferior àquela da imagem original, e uma camada de intensificação que pode alcançar a resolução espacial original quando combinada com a camada de base, da forma mostrada na figura 31. Certamente, este número de camadas é meramente um exemplo, e cada imagem parada pode ser hierarquizada em qualquer número apropriado de camadas.[00338] In such hierarchical image encoding and hierarchical image decoding (scalable encoding and scalable decoding), a parameter with a scalable function is used as appropriate. For example, the spatial resolution shown in figure 31 can be used as a parameter like this (spatial scalability). In the case of this spatial scalability, image resolutions vary between layers. Specifically, in this case, each still image is hierarchized into two layers which are a base layer with a lower spatial resolution than the original image, and an enhancement layer which can reach the original spatial resolution when combined with the base layer, of the form shown in Figure 31. Of course, this number of layers is merely an example, and each still image can be hierarchized into any appropriate number of layers.
[00339] Alternativamente, o parâmetro com tal escalonabilidade pode ser resolução temporal (escalonabilidade temporal), por exemplo, da forma mostrada na figura 32. No caso desta escalonabilidade temporal, taxas de quadro variam entre camadas. Isto é, neste caso, cada imagem parada é hierarquizada em duas camadas que são uma camada de base com uma taxa de quadro inferior àquela da imagem original em movimento, e uma camada de intensificação que pode alcançar a taxa de quadro original quando combinada com a camada de base, da forma mostrada na figura 32. Certamente, este número de camadas é meramente um exemplo, e cada imagem parada pode ser hierarquizada em qualquer número de camadas apropriado.[00339] Alternatively, the parameter with such scalability can be temporal resolution (temporal scalability), for example, as shown in figure 32. In the case of this temporal scalability, frame rates vary between layers. That is, in this case, each still image is hierarchized into two layers which are a base layer with a frame rate lower than that of the original moving image, and an enhancement layer which can achieve the original frame rate when combined with the base layer, as shown in Figure 32. Of course, this number of layers is merely an example, and each still image can be hierarchized into any appropriate number of layers.
[00340] Adicionalmente, o parâmetro com tal escalonabilidade pode ser razão de sinal por ruído (SNR) (escalonabilidade SNR), por exemplo. No caso desta escalonabilidade SNR, razões SN variam entre camadas. Especificamente, neste caso, cada imagem parada é hierarquizada em duas camadas, que são uma camada de base com uma SNR inferior àquela da imagem original, e uma camada de intensificação que pode alcançar a SNR original quando combinada com a camada de base, da forma mostrada na figura 33. Certamente, este número de camadas é meramente um exemplo, e cada imagem parada pode ser hierarquizada em qualquer número apropriado de camadas.[00340] Additionally, the parameter with such scalability can be signal-to-noise ratio (SNR) (SNR scalability), for example. In the case of this SNR schedulability, SN ratios vary between layers. Specifically, in this case, each still image is hierarchized into two layers, which are a base layer with an SNR lower than that of the original image, and an enhancement layer that can reach the original SNR when combined with the base layer, in the way shown in Figure 33. Of course, this number of layers is merely an example, and each still image can be hierarchized into any appropriate number of layers.
[00341] Alguns outros parâmetros diferentes dos expostos podem certamente servir como o parâmetro com escalonabilidade. Por exemplo, profundidade de bit pode ser usada como o parâmetro com escalonabilidade (escalonabilidade de profundidade de bit). No caso desta escalonabilidade de profundidade de bit, profundidades de bit variam entre camadas. Neste caso, uma camada de base é formada com uma imagem de 8 bits, e uma camada de intensificação é adicionada na camada de base, para obter uma imagem de 10 bits, por exemplo.[00341] Some other parameters other than those exposed can certainly serve as the parameter with scalability. For example, bit depth can be used as the parameter with scalability (Bit Depth Scalability). In the case of this bit depth scalability, bit depths vary between tiers. In this case, a base layer is formed with an 8-bit image, and an enhancement layer is added to the base layer, to obtain a 10-bit image, for example.
[00342] Alternativamente, formato de croma pode ser usado como o parâmetro com escalonabilidade (escalonabilidade de croma). No caso desta escalonabilidade de croma, formatos de croma variam entre camadas. Neste caso, uma camada de base é formada com uma imagem componente em um formato 4:2:0, e uma camada de intensificação é adicionada na camada de base, para obter uma imagem componente em um formato 4:2:2, por exemplo.[00342] Alternatively, chroma shape can be used as the parameter with scalability (chroma scaling). In the case of this chroma scalability, chroma shapes vary between layers. In this case, a base layer is formed with a component image in a 4:2:0 format, and an enhancement layer is added on the base layer, to obtain a component image in a 4:2:2 format, for example. .
[00343] A figura 34 é um diagrama que mostra um dispositivo de codificação hierárquica de imagem que realiza a supradescrita codificação de imagem hierárquica. Da forma mostrada na figura 34, o dispositivo de codificação hierárquica de imagem 620 inclui uma unidade de codificação 621, uma unidade de codificação 622 e um multiplexador 623.[00343] Fig. 34 is a diagram showing a hierarchical image coding device that performs the above-described hierarchical image coding. As shown in Fig. 34, the hierarchical image coding device 620 includes a coding unit 621, a coding unit 622 and a multiplexer 623.
[00344] A unidade de codificação 621 codifica uma imagem da camada de base, e gera um fluxo contínuo codificado da imagem da camada de base. A unidade de codificação 622 codifica uma imagem da camada não base, e gera um fluxo contínuo codificado da imagem da camada não base. O multiplexador 623 multiplexa o fluxo contínuo codificado da imagem da camada de base gerado na unidade de codificação 621 e o fluxo contínuo codificado da imagem da camada não base gerado na unidade de codificação 622, para gerar um fluxo contínuo codificado da imagem hierárquica.[00344] The encoding unit 621 encodes a base layer image, and generates an encoded streaming stream of the base layer image. Encoding unit 622 encodes a non-base layer image, and generates an encoded stream of the non-base layer image. Multiplexer 623 multiplexes the encoded base layer image stream generated in coding unit 621 and the non-base layer image encoded stream generated in coding unit 622 to generate a hierarchical image encoded stream.
[00345] O dispositivo de codificação 10 (figura 13) pode ser usado como a unidade de codificação 621 e a unidade de codificação 622 do dispositivo de codificação hierárquica de imagem 620. Isto é, a eficiência de codificação em IntraBC pode ser melhorada. Também, a unidade de codificação 621 e a unidade de codificação 622 podem controlar um processo de filtragem em intraprevisão e congêneres (ou indicadores e parâmetros de compartilhamento), usando os mesmos indicadores e parâmetros (tais como os elementos de sintaxe relacionados a processamento entre imagens) entre as duas unidades de codificação. Assim, uma redução na eficiência de codificação pode ser impedida.[00345] The coding device 10 ( Fig. 13 ) can be used as the coding unit 621 and the coding unit 622 of the hierarchical image coding device 620. That is, the coding efficiency in IntraBC can be improved. Also, coding unit 621 and coding unit 622 can control a filtering process on intraprediction and the like (or sharing flags and parameters), using the same flags and parameters (such as the syntax elements related to cross-picture processing ) between the two encoding units. Thus, a reduction in coding efficiency can be prevented.
[00346] A figura 35 é um diagrama que mostra um dispositivo de decodificação hierárquica de imagem que realiza a supradescrita decodificação de imagem hierárquica. Da forma mostrada na figura 35, o dispositivo de decodificação hierárquica de imagem 630 inclui um demultiplexador 631, uma unidade de decodificação 632 e uma unidade de decodificação 633.[00346] Fig. 35 is a diagram showing a hierarchical image decoding device that performs the above-described hierarchical image decoding. As shown in Fig. 35, the hierarchical picture decoding device 630 includes a demultiplexer 631, a decoding unit 632, and a decoding unit 633.
[00347] O demultiplexador 631 demultiplexa um fluxo contínuo codificado da imagem hierárquica formado pela multiplexação de um fluxo contínuo codificado da imagem da camada de base e um fluxo contínuo codificado da imagem da camada não base, e extrai o fluxo contínuo codificado da imagem da camada de base e o fluxo contínuo codificado da imagem da camada não base. A unidade de decodificação 632 decodifica o fluxo contínuo codificado da imagem da camada de base extraído pelo demultiplexador 631, e obtém uma imagem da camada de base. A unidade de decodificação 633 decodifica o fluxo contínuo codificado da imagem da camada não base extraído pelo demultiplexador 631, e obtém uma imagem da camada não base.[00347] The demultiplexer 631 demultiplexes a coded stream of the hierarchical image formed by multiplexing a coded stream of the base layer image and a coded stream of the non-base layer image, and extracts the coded stream of the layer image base layer and the coded stream of the non-base layer image. Decoding unit 632 decodes the encoded stream of base layer image extracted by demultiplexer 631, and obtains a base layer image. Decoding unit 633 decodes the encoded stream of non-base layer image extracted by demultiplexer 631, and obtains a non-base layer image.
[00348] O dispositivo de decodificação 110 (figura 20) pode ser usado como a unidade de decodificação 632 e a unidade de decodificação 633 do dispositivo de decodificação hierárquica de imagem 630. Isto é, eficiência de codificação em IntraBC pode ser melhorada. Também, a unidade de decodificação 612 e a unidade de decodificação 613 podem realizar decodificação (ou indicadores e parâmetros de compartilhamento), usando os mesmos indicadores e parâmetros (tais como os elementos de sintaxe relacionados a processamento entre imagens) entre as duas unidades de decodificação. Assim, uma redução na eficiência de codificação pode ser impedida.[00348] The decoding device 110 (Fig. 20) can be used as the decoding unit 632 and the decoding unit 633 of the hierarchical picture decoding device 630. That is, coding efficiency in IntraBC can be improved. Also, the decoding unit 612 and the decoding unit 613 can perform decoding (or sharing flags and parameters) using the same flags and parameters (such as syntax elements related to inter-picture processing) between the two decoding units. . Thus, a reduction in coding efficiency can be prevented.
[00349] A figura 36 mostra esquematicamente uma configuração de exemplo de um aparelho de televisão no qual a presente descrição é aplicada. O aparelho de televisão 900 inclui uma antena 901, um sintonizador 902, um demultiplexador 903, um decodificador 904, uma unidade de processamento do sinal de vídeo 905, uma unidade de exibição 906, uma unidade de processamento do sinal de áudio 907, um alto-falante 908 e uma unidade de interface externa 909. O aparelho de televisão 900 inclui adicionalmente uma unidade de controle 910, uma unidade de interface de usuário 911 e congêneres.[00349] Figure 36 schematically shows an example configuration of a television set in which the present description is applied. The television set 900 includes an antenna 901, a tuner 902, a demultiplexer 903, a decoder 904, a video signal processing unit 905, a display unit 906, an audio signal processing unit 907, a loudspeaker a speaker 908 and an external interface unit 909. The television set 900 further includes a control unit 910, a user interface unit 911, and the like.
[00350] O sintonizador 902 seleciona um canal desejado a partir de sinais de onda de difusão recebidos na antena 901, e realiza demodulação. O fluxo contínuo de bits codificado resultante é transmitido para o demultiplexador 903.[00350] Tuner 902 selects a desired channel from broadcast wave signals received at antenna 901, and performs demodulation. The resulting encoded bitstream is transmitted to demultiplexer 903.
[00351] O demultiplexador 903 extrai os pacotes de vídeo e de áudio do espetáculo a ser visualizado a partir do fluxo contínuo de bits codificado, e transmite os dados dos pacotes extraídos para o decodificador 904. O demultiplexador 903 também supre um pacote de dados, tal como Guia Eletrônico de Programa (EPG), para a unidade de controle 910. Deve-se notar que, quando mistura for realizada, o demultiplexador ou congêneres cancelam a mistura.[00351] The demultiplexer 903 extracts the video and audio packets of the show to be viewed from the continuous stream of encoded bits, and transmits the data from the extracted packets to the decoder 904. The demultiplexer 903 also supplies a data packet, such as the Electronic Program Guide (EPG), for the 910 control unit. It should be noted that when mixing is performed, the demultiplexer or the like cancels the mixing.
[00352] O decodificador 904 realiza um processo de decodificação de pacote, e transmite os dados de vídeo gerados através do processo de decodificação para a unidade de processamento do sinal de vídeo 905 e os dados de áudio para a unidade de processamento do sinal de áudio 907.[00352] The decoder 904 performs a packet decoding process, and transmits the video data generated through the decoding process to the video signal processing unit 905 and the audio data to the audio signal processing unit 907.
[00353] A unidade de processamento do sinal de vídeo 905 sujeita os dados de vídeo a eliminação de ruído e processamento de vídeo ou congêneres de acordo com definições de usuário. A unidade de processamento do sinal de vídeo 905 gera dados de vídeo do espetáculo a ser exibido na unidade de exibição 906, ou gera dados de imagem ou congêneres através de um processo com base em uma aplicação suprida por meio de uma rede. A unidade de processamento do sinal de vídeo 905 também gera dados de vídeo para exibir uma tela de menu ou congêneres para seleção de item, e sobrepõe os dados de vídeo gerados nos dados de vídeo do espetáculo. De acordo com os dados de vídeo gerados desta maneira, a unidade de processamento do sinal de vídeo 905 gera um sinal de acionamento, para acionar a unidade de exibição 906.[00353] The video signal processing unit 905 subjects the video data to noise elimination and video processing or the like according to user definitions. The video signal processing unit 905 generates video data of the show to be displayed on the display unit 906, or generates image data or the like through a process based on an application supplied via a network. The video signal processing unit 905 also generates video data for displaying a menu screen or the like for item selection, and superimposes the generated video data on the show video data. According to the video data generated in this way, the video signal processing unit 905 generates a trigger signal to trigger the display unit 906.
[00354] De acordo com o sinal de acionamento proveniente da unidade de processamento do sinal de vídeo 905, a unidade de exibição 906 aciona um dispositivo de exibição (um elemento da tela de cristal líquido, por exemplo) para exibir o vídeo do espetáculo.[00354] According to the triggering signal from the video signal processing unit 905, the display unit 906 triggers a display device (a liquid crystal display element, for example) to display the video of the show.
[00355] A unidade de processamento do sinal de áudio 907 sujeita os dados de áudio a processamento predeterminado, tal como eliminação de ruído, e realiza um processo de conversão D/A e um processo de amplificação nos dados de áudio processados. Os dados de áudio resultantes são supridos como um áudio transmitido para o alto-falante 908.[00355] The audio signal processing unit 907 subjects the audio data to predetermined processing such as denoising, and performs a D/A conversion process and an amplification process on the processed audio data. The resulting audio data is supplied as audio streamed to speaker 908.
[00356] A unidade de interface externa 909 é uma interface para uma conexão com um dispositivo externo ou uma rede, e transmite e recebe dados, tais como dados de vídeo e dados de áudio.[00356] The external interface unit 909 is an interface for a connection to an external device or a network, and transmits and receives data such as video data and audio data.
[00357] A unidade de interface de usuário 911 é conectada na unidade de controle 910. A unidade de interface de usuário 911 é formada com comutadores de operação, uma unidade de recepção do sinal de controle remoto e congêneres, e supre um sinal operacional de acordo com uma operação do usuário para a unidade de controle 910.[00357] The user interface unit 911 is connected to the control unit 910. The user interface unit 911 is formed with operation switches, a remote control signal reception unit and the like, and supplies an operational signal from according to a user operation for the control unit 910.
[00358] A unidade de controle 910 é formada com uma unidade de processamento central (CPU), uma memória e congêneres. A memória armazena o programa a ser executado pela CPU, vários tipos de dados necessários para que a CPU realize processamento, dados EPG, dados obtidos por meio de uma rede e congêneres. O programa armazenado na memória é lido e executado pela CPU em um momento predeterminado, tal como o momento de ativação do aparelho de televisão 900. A CPU executa o programa para controlar os respectivos componentes, de forma que o aparelho de televisão 900 opere de acordo com uma operação do usuário.[00358] The control unit 910 is formed with a central processing unit (CPU), a memory and the like. Memory stores the program to be executed by the CPU, various types of data needed by the CPU to perform processing, EPG data, data obtained over a network, and the like. The program stored in memory is read and executed by the CPU at a predetermined time, such as the time of activation of the television set 900. The CPU executes the program to control the respective components, so that the television set 900 operates accordingly. with a user operation.
[00359] Deve-se notar que, no aparelho de televisão 900, um barramento 912 é provido para conectar o sintonizador 902, o demultiplexador 903, a unidade de processamento do sinal de vídeo 905, a unidade de processamento do sinal de áudio 907, a unidade de interface externa 909 e congêneres na unidade de controle 910.[00359] It should be noted that, in the television set 900, a bus 912 is provided for connecting the tuner 902, the demultiplexer 903, the video signal processing unit 905, the audio signal processing unit 907, the external interface unit 909 and the like in the control unit 910.
[00360] No aparelho de televisão projetado como exposto, o decodificador 904 tem as funções de um dispositivo de decodificação (um método de decodificação) deste pedido. Assim, a eficiência de codificação em IntraBC pode ser melhorada em um processo de decodificação do fluxo contínuo codificado.[00360] In the television set designed as shown, the decoder 904 has the functions of a decoding device (a decoding method) of this order. Thus, the coding efficiency in IntraBC can be improved in a process of decoding the encoded stream.
[00361] A figura 37 mostra esquematicamente uma configuração de exemplo de um aparelho de telefone portátil no qual a presente descrição é aplicada. O aparelho de telefone portátil 920 inclui uma unidade de comunicação 922, um codec de áudio 923, uma unidade de câmera 926, uma unidade de processamento de imagem 927, uma unidade de multiplexação/separação 928, uma unidade de gravação/reprodução 929, uma unidade de exibição 930 e uma unidade de controle 931. Estes componentes são conectados uns nos outros por meio de um barramento 933.[00361] Figure 37 schematically shows an example configuration of a portable telephone set in which the present description is applied. The portable telephone set 920 includes a communication unit 922, an audio codec 923, a camera unit 926, an image processing unit 927, a multiplexing/splitting unit 928, a recording/playback unit 929, a display unit 930 and a control unit 931. These components are connected to each other via a bus 933.
[00362] Também, uma antena 921 é conectada na unidade de comunicação 922, e um alto-falante 924 e um microfone 925 são conectados no codec de áudio 923. Adicionalmente, uma unidade de operação 932 é conectada na unidade de controle 931.[00362] Also, an antenna 921 is connected to the communication unit 922, and a speaker 924 and a microphone 925 are connected to the audio codec 923. Additionally, an operation unit 932 is connected to the control unit 931.
[00363] O aparelho de telefone portátil 920 realiza vários tipos de operações, tais como transmissão e recepção de sinais de áudio, transmissão e recepção de correio eletrônico e dados de imagem, captura de imagem, e gravação de dados, em vários tipos de modos, tais como um modo de comunicação de áudio e um modo de comunicação de dados.[00363] The portable telephone set 920 performs various types of operations, such as transmission and reception of audio signals, transmission and reception of e-mail and image data, image capture, and data recording, in various types of modes , such as an audio communication mode and a data communication mode.
[00364] No modo de comunicação de áudio, um sinal de áudio gerado no microfone 925 é convertido em dados de áudio, e os dados são comprimidos no codec de áudio 923. Os dados comprimidos são supridos para a unidade de comunicação 922. A unidade de comunicação 922 realiza um processo de modulação, um processo de conversão de frequência e congêneres nos dados de áudio, para gerar um sinal de transmissão. A unidade de comunicação 922 também supre o sinal de transmissão para a antena 921, e o sinal de transmissão é transmitido para uma estação base (não mostrada). A unidade de comunicação 922 também amplifica um sinal recebido na antena 921, e realiza um processo de conversão de frequência, um processo de demodulação e congêneres. Os dados de áudio resultantes são supridos para o codec de áudio 923. O codec de áudio 923 descomprime dados de áudio, e converte os dados de áudio em um sinal de áudio analógico a ser transmitido para o alto-falante 924.[00364] In the audio communication mode, an audio signal generated at the microphone 925 is converted into audio data, and the data is compressed into the audio codec 923. The compressed data is supplied to the communication unit 922. The unit communication port 922 performs a modulation process, a frequency conversion process and the like on the audio data to generate a transmission signal. Communication unit 922 also supplies the transmission signal to antenna 921, and the transmission signal is transmitted to a base station (not shown). Communication unit 922 also amplifies a signal received at antenna 921, and performs a frequency conversion process, a demodulation process, and the like. The resulting audio data is supplied to audio codec 923. Audio codec 923 decompresses audio data, and converts the audio data into an analog audio signal to be transmitted to speaker 924.
[00365] Em um caso em que transmissão de correio for realizada no modo de comunicação de dados, a unidade de controle 931 recebe dados de texto que são inseridos pela operação da unidade de operação 932, e o texto inserido é exibido na unidade de exibição 930. Além do mais, de acordo com uma instrução de usuário ou congêneres através da unidade de operação 932, a unidade de controle 931 gera e supre dados de correio para a unidade de comunicação 922. A unidade de comunicação 922 realiza um processo de modulação, um processo de conversão de frequência e congêneres nos dados de correio, e transmite o sinal de transmissão resultante através da antena 921. A unidade de comunicação 922 também amplifica um sinal recebido na antena 921, e realiza um processo de conversão de frequência, um processo de demodulação e congêneres, para descomprimir os dados de correio. Estes dados de correio são supridos para a unidade de exibição 930, e o conteúdo do correio é exibido.[00365] In a case where mail transmission is carried out in the data communication mode, the control unit 931 receives text data that is entered by the operation of the operation unit 932, and the entered text is displayed on the display unit 930. Furthermore, in accordance with a user instruction or the like through the operation unit 932, the control unit 931 generates and supplies mail data to the communication unit 922. The communication unit 922 performs a modulation process , a frequency conversion process and the like on the mail data, and transmits the resulting transmission signal through the antenna 921. The communication unit 922 also amplifies a signal received at the antenna 921, and performs a frequency conversion process, a demodulation process and the like, to decompress mail data. This mail data is supplied to the display unit 930, and the content of the mail is displayed.
[00366] Deve-se notar que o aparelho de telefone portátil 920 pode fazer com que a unidade de gravação/reprodução 929 armazene dados de correio recebidos em uma mídia de armazenamento. A mídia de armazenamento é uma mídia de armazenamento regravável. Por exemplo, a mídia de armazenamento pode ser uma memória semicondutora, tais como uma RAM ou uma memória flash interna, um disco rígido, ou uma mídia removível, tais como um disco magnético, um disco magneto-óptico, um disco óptico, uma memória em barramento serial universal (USB) ou um cartão de memória.[00366] It should be noted that the portable telephone handset 920 can cause the record/playback unit 929 to store received mail data on a storage medium. The storage media is rewritable storage media. For example, the storage medium may be semiconductor memory such as RAM or internal flash memory, a hard disk, or removable media such as a magnetic disk, a magneto-optical disk, an optical disk, memory on universal serial bus (USB) or a memory card.
[00367] Em um caso em que dados de imagem forem transmitidos no modo de comunicação de dados, dados de imagem gerados na unidade de câmera 926 são supridos para a unidade de processamento de imagem 927. A unidade de processamento de imagem 927 realiza um processo de codificação nos dados de imagem, para gerar dados codificados.[00367] In a case where image data is transmitted in the data communication mode, image data generated in the camera unit 926 is supplied to the image processing unit 927. The image processing unit 927 performs a process of encoding on the image data, to generate encoded data.
[00368] A unidade de multiplexação/separação 928 multiplexa os dados codificados gerados na unidade de processamento de imagem 927 e os dados de áudio supridos a partir do codec de áudio 923 por uma técnica predeterminada, e supre os dados multiplexados para a unidade de comunicação 922. A unidade de comunicação 922 realiza um processo de modulação, um processo de conversão de frequência e congêneres nos dados multiplexados, e transmite o sinal de transmissão resultante através da antena 921. A unidade de comunicação 922 também amplifica um sinal recebido na antena 921, e realiza um processo de conversão de frequência, um processo de demodulação e congêneres, para descomprimir os dados multiplexados. Estes dados multiplexados são supridos para a unidade de multiplexação/separação 928. A unidade de multiplexação/separação 928 divide os dados multiplexados, e supre os dados codificados para a unidade de processamento de imagem 927, e os dados de áudio para o codec de áudio 923. A unidade de processamento de imagem 927 realiza um processo de decodificação nos dados codificados, para gerar dados de imagem. Estes dados de imagem são supridos para a unidade de exibição 930, para exibir as imagens recebidas. O codec de áudio 923 converte os dados de áudio em um sinal de áudio analógico, e supre o sinal de áudio analógico para o alto-falante 924, de forma que o som recebido seja transmitido.[00368] The multiplexing/separation unit 928 multiplexes the encoded data generated in the image processing unit 927 and the audio data supplied from the audio codec 923 by a predetermined technique, and supplies the multiplexed data to the communication unit 922. The communication unit 922 performs a modulation process, a frequency conversion process and the like on the multiplexed data, and transmits the resulting transmission signal through the antenna 921. The communication unit 922 also amplifies a signal received at the antenna 921 , and performs a frequency conversion process, a demodulation process, and the like, to decompress the multiplexed data. This multiplexed data is supplied to the multiplexing/separation unit 928. The multiplexing/separation unit 928 divides the multiplexed data, and supplies the encoded data to the image processing unit 927, and the audio data to the audio codec 923. The image processing unit 927 performs a decoding process on the encoded data to generate image data. This image data is supplied to the display unit 930 to display the received images. The 923 audio codec converts the audio data into an analog audio signal, and supplies the analog audio signal to the 924 speaker so that the received sound is transmitted.
[00369] No aparelho de telefone portátil projetado como exposto, a unidade de processamento de imagem 927 tem as funções de um dispositivo de codificação e um dispositivo de decodificação (um método de codificação e um método de decodificação) deste pedido. Assim, eficiência de codificação em IntraBC pode ser melhorada.[00369] In the above designed portable telephone apparatus, the image processing unit 927 has the functions of an encoding device and a decoding device (an encoding method and a decoding method) of this application. Thus, coding efficiency in IntraBC can be improved.
[00370] A figura 38 mostra esquematicamente uma configuração de exemplo de um aparelho de gravação/reprodução no qual a presente descrição é aplicada. O aparelho de gravação/reprodução 940 grava os dados de áudio e os dados de vídeo de um espetáculo difundido recebido em uma mídia de gravação, por exemplo, e provê os dados gravados para um usuário no tempo de acordo com uma instrução do usuário. O aparelho de gravação/reprodução 940 também pode obter dados de áudio e dados de vídeo a partir de um outro dispositivo, por exemplo, e gravar os dados em uma mídia de gravação. Adicionalmente, o aparelho de gravação/reprodução 940 decodifica e transmite dados de áudio e dados de vídeo gravados em uma mídia de gravação, de forma que um dispositivo de monitor ou congêneres possa exibir imagens e transmitir som.[00370] Figure 38 schematically shows an example configuration of a recording/reproduction apparatus in which the present description is applied. Recording/playback apparatus 940 records the audio data and video data of a received broadcast show onto a recording medium, for example, and provides the recorded data to a user in time according to an instruction from the user. Recording/playback apparatus 940 may also obtain audio data and video data from another device, for example, and record the data onto a recording medium. Additionally, recording/playback apparatus 940 decodes and transmits audio data and video data recorded on a recording medium so that a display device or the like can display images and transmit sound.
[00371] O aparelho de gravação/reprodução 940 inclui um sintonizador 941, uma unidade de interface externa 942, um codificador 943, uma unidade de disco rígido (HDD) 944, uma unidade de disco 945, um seletor 946, um decodificador 947, uma unidade de exibição na tela (OSD) 948, uma unidade de controle 949 e uma unidade de interface de usuário 950.[00371] The recording/playback apparatus 940 includes a tuner 941, an external interface unit 942, an encoder 943, a hard disk drive (HDD) 944, a disk drive 945, a selector 946, a decoder 947, an on-screen display (OSD) unit 948, a control unit 949 and a user interface unit 950.
[00372] O sintonizador 941 seleciona um canal desejado a partir de sinais de difusão recebidos em uma antena (não mostrada). O sintonizador 941 demodula o sinal recebido do canal desejado, e transmite o fluxo contínuo de bits codificado resultante para o seletor 946.[00372] Tuner 941 selects a desired channel from broadcast signals received at an antenna (not shown). Tuner 941 demodulates the received signal from the desired channel, and transmits the resulting encoded bitstream to selector 946.
[00373] A unidade de interface externa 942 é formada com pelo menos uma de uma interface IEEE1394, uma unidade da interface de rede, uma interface USB, uma interface de memória flash e congêneres. A unidade de interface externa 942 é uma interface para uma conexão com um dispositivo externo, uma rede, um cartão de memória ou congêneres, e recebe dados, tais como dados de vídeo e dados de áudio, a serem gravados e congêneres.[00373] The external interface unit 942 is formed with at least one of an IEEE1394 interface, a network interface unit, a USB interface, a flash memory interface, and the like. The external interface unit 942 is an interface for a connection to an external device, a network, a memory card or the like, and receives data, such as video data and audio data, to be recorded and the like.
[00374] O codificador 943 realiza codificação predeterminada nos dados de vídeo e dados de áudio que são supridos a partir da unidade de interface externa 942 e não são codificados, e transmite um fluxo contínuo de bits codificado para o seletor 946.[00374] The encoder 943 performs predetermined encoding on the video data and audio data that is supplied from the external interface unit 942 and is not encoded, and transmits a continuous stream of encoded bits to the selector 946.
[00375] A unidade HDD 944 grava dados de conteúdo, tais como vídeos e som, vários tipos de programas, outros dados e congêneres em um disco rígido interno, e lê os dados a partir do disco rígido no momento da reprodução ou congêneres.[00375] The HDD 944 unit records content data such as videos and sound, various types of programs, other data and the like on an internal hard disk, and reads the data from the hard disk at the time of playback or the like.
[00376] A unidade de disco 945 realiza gravação e reprodução de sinal em um disco óptico montado. O disco óptico pode ser um disco DVD (tai como um DVD-Vídeo, um DVD-RAM, um DVD-R, um DVD-RW, um DVD+R, ou um DVD+RW) ou um disco Blu-ray (uma marca registrada), por exemplo.[00376] Disk drive 945 performs signal recording and playback on a mounted optical disk. The optical disc can be a DVD disc (such as DVD-Video, DVD-RAM, DVD-R, DVD-RW, DVD+R, or DVD+RW) or a Blu-ray disc (a trademark), for example.
[00377] O seletor 946 seleciona um fluxo contínuo de bits codificado a partir do sintonizador 941 ou do codificador 943 no momento da gravação de vídeo e de áudio, e supre o fluxo contínuo de bits codificado tanto para a unidade HDD 944 quanto para a unidade de disco 945. O seletor 946 também supre um fluxo contínuo de bits codificado transmitido a partir da unidade HDD 944 ou da unidade de disco 945 para o decodificador 947 no momento da reprodução de vídeo e áudio.[00377] Selector 946 selects an encoded stream of bits from the tuner 941 or encoder 943 at the time of video and audio recording, and supplies the encoded stream of bits to both the HDD unit 944 and the unit of disk drive 945. Selector 946 also supplies an encoded bitstream transmitted from HDD drive 944 or disk drive 945 to decoder 947 at the time of video and audio playback.
[00378] O decodificador 947 realiza um processo de decodificação em um fluxo contínuo de bits codificado. O decodificador 947 supre os dados de vídeo gerados pela realização do processo de decodificação para a unidade de OSD 948. O decodificador 947 também transmite os dados de áudio gerados pela realização do processo de decodificação.[00378] The decoder 947 performs a decoding process on a continuous stream of encoded bits. Decoder 947 supplies the video data generated by performing the decoding process to OSD unit 948. Decoder 947 also transmits the audio data generated by performing the decoding process.
[00379] A unidade de OSD 948 gera dados de vídeo para exibir uma tela de menu ou congêneres para seleção de item, e sobrepõe os dados de vídeo nos dados de vídeo transmitidos a partir do decodificador 947.[00379] The OSD unit 948 generates video data to display a menu screen or the like for item selection, and superimposes the video data on the video data transmitted from the decoder 947.
[00380] A unidade de interface de usuário 950 é conectada na unidade de controle 949. A unidade de interface de usuário 950 é formada com comutadores de operação, uma unidade de recepção do sinal de controle remoto e congêneres, e supre um sinal operacional de acordo com uma operação do usuário para a unidade de controle 949.[00380] The user interface unit 950 is connected to the control unit 949. The user interface unit 950 is formed with operation switches, a remote control signal reception unit and the like, and supplies an operational signal from according to a user operation for the 949 control unit.
[00381] A unidade de controle 949 é formada por uma CPU, uma memória e congêneres. A memória armazena o programa a ser executado pela CPU e vários tipos de dados necessários para que a CPU realize o processamento. O programa armazenado na memória é lido e executado pela CPU em um momento predeterminado, tal como o momento de ativação do aparelho de gravação/reprodução 940. A CPU executa o programa para controlar os respectivos componentes de forma que o aparelho de gravação/reprodução 940 opere de acordo com uma operação do usuário.[00381] The control unit 949 is formed by a CPU, a memory and the like. Memory stores the program to be executed by the CPU and various types of data needed by the CPU to perform processing. The program stored in memory is read and executed by the CPU at a predetermined time, such as the time of activation of the recording/playback apparatus 940. The CPU executes the program to control the respective components so that the recording/playback apparatus 940 operate according to a user operation.
[00382] No aparelho de gravação/reprodução projetado como exposto, o codificador 943 tem as funções de um dispositivo de codificação (um método de codificação) deste pedido. Assim, a eficiência de codificação em IntraBC pode ser melhorada. Também, o decodificador 947 também tem as funções de um dispositivo de decodificação (um método de decodificação) deste pedido. Assim, a eficiência de codificação em IntraBC pode ser melhorada.[00382] In the recording/playback apparatus designed as disclosed, the encoder 943 has the functions of an encoding device (an encoding method) of this order. Thus, the coding efficiency in IntraBC can be improved. Also, decoder 947 also functions as a decoding device (a decoding method) of this order. Thus, the coding efficiency in IntraBC can be improved.
[00383] A figura 39 mostra esquematicamente uma configuração de exemplo de um aparelho de formação de imagem no qual a presente descrição é aplicada. Um aparelho de formação de imagem 960 toma uma imagem de um objeto, e faz com que uma unidade de exibição exiba a imagem do objeto ou grave a imagem como dados de imagem em uma mídia de gravação.[00383] Figure 39 schematically shows an example configuration of an image forming apparatus in which the present description is applied. An image forming apparatus 960 takes an image of an object, and causes a display unit to display the image of the object or record the image as image data onto a recording medium.
[00384] O aparelho de formação de imagem 960 inclui um bloco óptico 961, uma unidade de formação de imagem 962, uma unidade de processamento do sinal da câmera 963, uma unidade de processamento de dados de imagem 964, uma unidade de exibição 965, uma unidade de interface externa 966, uma unidade de memória 967, uma unidade de mídia 968, uma unidade de OSD 969 e uma unidade de controle 970. Além do mais, uma unidade de interface de usuário 971 é conectada na unidade de controle 970. Adicionalmente, a unidade de processamento de dados de imagem 964, a unidade de interface externa 966, a unidade de memória 967, a unidade de mídia 968, a unidade de OSD 969, a unidade de controle 970 e congêneres são conectadas umas nas outras por meio de um barramento 972.[00384] The image forming apparatus 960 includes an optical block 961, an image forming unit 962, a camera signal processing unit 963, an image data processing unit 964, a display unit 965, an external interface unit 966, a memory unit 967, a media unit 968, an OSD unit 969 and a control unit 970. Furthermore, a user interface unit 971 is connected to the control unit 970. Additionally, the image data processing unit 964, the external interface unit 966, the memory unit 967, the media unit 968, the OSD unit 969, the control unit 970 and the like are connected to each other by middle of a 972 bus.
[00385] O bloco óptico 961 é formado com uma lente de foco, um diafragma e congêneres. O bloco óptico 961 forma uma imagem óptica de um objeto na superfície de formação de imagem da unidade de formação de imagem 962. Formada com um sensor de imagem CCD ou CMOS, a unidade de formação de imagem 962 gera um sinal elétrico de acordo com a imagem óptica através uma conversão fotoelétrica, e supre o sinal elétrico para a unidade de processamento do sinal da câmera 963.[00385] The optical block 961 is formed with a focus lens, a diaphragm and the like. The optical block 961 forms an optical image of an object on the imaging surface of the imaging unit 962. Formed with a CCD or CMOS image sensor, the imaging unit 962 generates an electrical signal in accordance with the optical image through a photoelectric conversion, and supplies the electrical signal to the camera's signal processing unit 963.
[00386] A unidade de processamento do sinal da câmera 963 realiza vários tipos de processamento de sinal da câmera, tais como uma correção de knee, uma correção de gama e uma correção de cor, no sinal elétrico suprido a partir da unidade de formação de imagem 962. A unidade de processamento do sinal da câmera 963 supre os dados de imagem sujeitos ao processamento de sinal da câmera para a unidade de processamento de dados de imagem 964.[00386] The camera signal processing unit 963 performs various types of camera signal processing, such as a knee correction, a gamma correction and a color correction, on the electrical signal supplied from the image forming unit image 962. The camera signal processing unit 963 supplies the image data subject to camera signal processing to the image data processing unit 964.
[00387] A unidade de processamento de dados de imagem 964 realiza um processo de codificação nos dados de imagem supridos a partir da unidade de processamento do sinal da câmera 963. A unidade de processamento de dados de imagem 964 supre os dados codificados gerados através do processo de codificação para a unidade de interface externa 966 e a unidade de mídia 968. A unidade de processamento de dados de imagem 964 também realiza um processo de decodificação nos dados codificados supridos a partir da unidade de interface externa 966 e da unidade de mídia 968. A unidade de processamento de dados de imagem 964 supre os dados de imagem gerados através do processo de decodificação para a unidade de exibição 965. A unidade de processamento de dados de imagem 964 também realiza um processo para suprir os dados de imagem supridos a partir da unidade de processamento do sinal da câmera 963 para a unidade de exibição 965, ou sobrepõe dados de exibição obtidos a partir da unidade de OSD 969 nos dados de imagem e supre os dados de imagem para a unidade de exibição 965.[00387] The image data processing unit 964 performs a coding process on the image data supplied from the camera signal processing unit 963. The image data processing unit 964 supplies the encoded data generated through the encoding process for the external interface unit 966 and the media unit 968. The image data processing unit 964 also performs a decoding process on the encoded data supplied from the external interface unit 966 and the media unit 968 The image data processing unit 964 supplies the image data generated through the decoding process to the display unit 965. The image data processing unit 964 also performs a process for supplying the image data supplied from from the camera signal processing unit 963 to the display unit 965, or overlay display data obtained from the OSD unit 969 onto the image data and supply the image data to the display unit 965.
[00388] A unidade de OSD 969 gera uma tela de menu formada com símbolos, caracteres ou figuras, ou dados de exibição, tais como ícones, e transmite tais dados para a unidade de processamento de dados de imagem 964.[00388] The OSD unit 969 generates a menu screen formed with symbols, characters or figures, or display data such as icons, and transmits such data to the image data processing unit 964.
[00389] A unidade de interface externa 966 é formada com um terminal de entrada/saída USB, por exemplo, e é conectada em uma impressora quando impressão de imagem for realizada. Uma unidade também é conectada na unidade de interface externa 966 quando necessário, e uma mídia removível, tais como um disco magnético ou um disco óptico, é montada na unidade conforme apropriado. Um programa de computador lido a partir de um disco removível como este é instalado quando necessário. Adicionalmente, a unidade de interface externa 966 inclui uma interface de rede conectada em uma rede predeterminada, tais como uma LAN ou a Internet. A unidade de controle 970 lê dados codificados a partir da unidade de mídia 968 de acordo com uma instrução proveniente da unidade de interface de usuário 971, por exemplo, e pode suprir os dados codificados provenientes da unidade de interface externa 966 para um outro aparelho conectado na mesma por meio de uma rede. A unidade de controle 970 também pode obter, por meio da unidade de interface externa 966, dados codificados ou dados de imagem supridos a partir de um outro aparelho por meio de uma rede, e supre os dados codificados ou os dados de imagem para a unidade de processamento de dados de imagem 964.[00389] The external interface unit 966 is formed with a USB input/output terminal, for example, and is connected to a printer when image printing is performed. A drive is also connected to the external interface drive 966 when necessary, and removable media, such as a magnetic disk or an optical disk, is mounted in the drive as appropriate. A computer program read from a removable disk like this is installed as needed. Additionally, external interface unit 966 includes a network interface connected to a predetermined network, such as a LAN or the Internet. The control unit 970 reads encoded data from the media unit 968 in accordance with an instruction from the user interface unit 971, for example, and may supply the encoded data from the external interface unit 966 to another connected device. in the same via a network. Control unit 970 may also obtain, via external interface unit 966, encoded data or image data supplied from another apparatus via a network, and supplies the encoded data or image data to the unit. of image data processing 964.
[00390] Uma mídia de gravação a ser acionada pela unidade de mídia 968 pode ser uma mídia removível legível/regravável, tais como um disco magnético, um disco magneto-óptico, um disco óptico ou uma memória semicondutora. Além do mais, a mídia de gravação pode ser qualquer tipo de mídia removível, e pode ser um dispositivo de fita, um disco ou um cartão de memória. A mídia de gravação, certamente, pode ser um cartão de circuito integrado sem contato (IC) ou congêneres.[00390] A recording medium to be driven by the media unit 968 can be a readable/rewritable removable medium, such as a magnetic disk, a magneto-optical disk, an optical disk or a semiconductor memory. Furthermore, the recording medium can be any type of removable media, and it can be a tape device, a disk or a memory card. The recording medium, of course, can be a contactless integrated circuit (IC) card or the like.
[00391] Alternativamente, a unidade de mídia 968 e uma mídia de gravação podem ser integradas, e podem ser formadas com uma mídia de armazenamento imóvel, tais como uma unidade de disco rígido interna ou uma unidade em estado sólido (SSD).[00391] Alternatively, the media drive 968 and a recording medium may be integrated, and may be formed with an immovable storage medium, such as an internal hard disk drive or a solid state drive (SSD).
[00392] A unidade de controle 970 é formada com uma CPU. A unidade de memória 967 armazena o programa a ser executado pela unidade de controle 970, vários tipos de dados necessários para que a unidade de controle 970 realize processamento e congêneres. O programa armazenado na unidade de memória 967 é lido e executado pela unidade de controle 970 em um momento predeterminado, tal como o momento de ativação do aparelho de formação de imagem 960. A unidade de controle 970 executa o programa para controlar os respectivos componentes de forma que o aparelho de formação de imagem 960 opere de acordo com uma operação do usuário.[00392] The control unit 970 is formed with a CPU. Memory unit 967 stores the program to be executed by control unit 970, various types of data necessary for control unit 970 to perform processing, and the like. The program stored in the memory unit 967 is read and executed by the control unit 970 at a predetermined time, such as the time of activation of the image forming apparatus 960. The control unit 970 executes the program to control the respective computer components. such that the image forming apparatus 960 operates in accordance with a user operation.
[00393] No aparelho de formação de imagem projetado como exposto, a unidade de processamento de dados de imagem 964 tem as funções de um dispositivo de codificação e um dispositivo de decodificação (um método de codificação e um método de decodificação) deste pedido. Assim, a eficiência de codificação em IntraBC pode ser melhorada na codificação ou na decodificação de um fluxo contínuo codificado.[00393] In the image forming apparatus designed as above, the image data processing unit 964 has the functions of an encoding device and a decoding device (an encoding method and a decoding method) of this order. Thus, the coding efficiency in IntraBC can be improved when coding or decoding an encoded stream.
[00394] A seguir, exemplos de uso específicos de dados codificados escalonáveis sujeitos a codificação escalonável (codificação hierárquica) são descritos. Codificação escalonável é usada para selecionar dados a ser transmitidos, da forma mostrada no exemplo da figura 40.[00394] In the following, specific usage examples of scalable encoded data subject to scalable encoding (hierarchical encoding) are described. Scalable encoding is used to select data to be transmitted, as shown in the example in figure 40.
[00395] No sistema de transmissão de dados 1000 mostrado na figura 40, um servidor de distribuição 1002 lê dados codificados escalonáveis armazenados em uma unidade de armazenamento de dados codificados escalonáveis 1001, e distribui os dados codificados escalonáveis para um terminal, tais como um computador pessoal 1004, um dispositivo audiovisual (AV) 1005, um dispositivo tipo tablet 1006, ou um dispositivo tipo telefone portátil 1007 por meio de uma rede 1003.[00395] In the data transmission system 1000 shown in Fig. 40, a distribution server 1002 reads scalable encoded data stored in a scalable encoded data storage unit 1001, and distributes the scalable encoded data to a terminal such as a computer personal device 1004, an audio-visual (AV) device 1005, a tablet device 1006, or a portable phone device 1007 over a network 1003.
[00396] Fazendo isto, o servidor de distribuição 1002 seleciona e transmite dados codificados de qualidade apropriada, de acordo com a capacidade do dispositivo de terminal, o ambiente de comunicação e congêneres. Se o servidor de distribuição 1002 transmitir desnecessariamente dados de alta qualidade, o dispositivo de terminal não necessariamente obtém uma imagem de alta qualidade, e tal transmissão de dados de alta qualidade pode causar um atraso ou um sobrefluxo. Também, tais dados de alta qualidade podem ocupar desnecessariamente uma banda de comunicação, ou aumentar desnecessariamente a carga no dispositivo de terminal. Se o servidor de distribuição 1002 transmitir desnecessariamente dados de baixa qualidade, por outro lado, o dispositivo de terminal pode falhar em obter uma imagem de qualidade suficientemente alta. Portanto, o servidor de distribuição 1002 lê dados codificados escalonáveis armazenados na unidade de armazenamento de dados codificados escalonáveis 1001, e transmite os dados codificados escalonáveis lidos como dados codificados de qualidade apropriada para a capacidade do dispositivo de terminal, o ambiente de comunicação e congêneres.[00396] In doing so, the distribution server 1002 selects and transmits encoded data of appropriate quality, according to the capability of the terminal device, the communication environment and the like. If the distribution server 1002 transmits unnecessarily high quality data, the terminal device does not necessarily get a high quality image, and such transmission of high quality data may cause delay or overflow. Also, such high quality data may unnecessarily occupy a communication bandwidth, or unnecessarily increase the load on the terminal device. If the distribution server 1002 unnecessarily transmits low quality data, on the other hand, the terminal device may fail to obtain a sufficiently high quality image. Therefore, distribution server 1002 reads scalable encoded data stored in scalable encoded data storage unit 1001, and transmits the read scalable encoded data as encoded data of appropriate quality for the capacity of the terminal device, the communication environment and the like.
[00397] Por exemplo, a unidade de armazenamento de dados codificados escalonáveis 1001 armazena dados codificados escalonáveis (BL+EL) 1011 que foram codificados de forma escalonável. Os dados codificados escalonáveis (BL+EL) 1011 são dados codificados que contêm tanto uma camada de base quanto uma camada de intensificação, e pode prover tanto uma imagem da camada de base quanto uma imagem da camada de intensificação quando decodificados.[00397] For example, the scalable encoded data storage unit 1001 stores scalable encoded data (BL+EL) 1011 that has been scalably encoded. The scalable encoded data (BL+EL) 1011 is encoded data that contains both a base layer and an enhancement layer, and can provide both a base layer image and an enhancement layer image when decoded.
[00398] O servidor de distribuição 1002 seleciona uma camada apropriada de acordo com a capacidade do dispositivo de terminal para transmitir dados, o ambiente de comunicação e congêneres, e lê os dados da camada. Por exemplo, para o computador pessoal 1004 e o dispositivo tipo tablet 1006 com alta capacidade de processamento, o servidor de distribuição 1002 lê os dados de alta qualidade codificados escalonáveis (BL+EL) 1011 a partir da unidade de armazenamento de dados codificados escalonáveis 1001, e transmite os dados codificados escalonáveis (BL+EL) 1011 como eles estão. Por outro lado, para o dispositivo AV 1005 e o dispositivo tipo telefone portátil 1007 com baixa capacidade de processamento, por exemplo, o servidor de distribuição 1002 extrai os dados da camada de base a partir dos dados codificados escalonáveis (BL+EL) 1011, e transmite os dados extraídos como dados codificados escalonáveis (BL) 1012, que são os dados do mesmo conteúdo, como os dados codificados escalonáveis (BL+EL) 1011, mas são mais fracos em qualidade do que os dados codificados escalonáveis (BL+EL) 1011.[00398] The distribution server 1002 selects an appropriate layer according to the capability of the terminal device to transmit data, the communication environment and the like, and reads the data from the layer. For example, for the personal computer 1004 and tablet device 1006 with high processing capacity, the distribution server 1002 reads the scalable encoded high quality data (BL+EL) 1011 from the scalable encoded data storage unit 1001 , and transmits the scalable encoded data (BL+EL) 1011 as is. On the other hand, for the AV device 1005 and the portable phone-like device 1007 with low processing capacity, for example, the distribution server 1002 extracts the base layer data from the scalable encoded data (BL+EL) 1011, and transmits the extracted data as scalable encoded data (BL) 1012, which is the data of the same content as the scalable encoded data (BL+EL) 1011, but is weaker in quality than the scalable encoded data (BL+EL) ) 1011.
[00399] Como dados codificados escalonáveis são usados desta maneira, a quantidade de dados pode ser facilmente ajustada. Assim, um atraso e um sobrefluxo podem ser impedidos, e um aumento desnecessário na carga de um dispositivo de terminal ou uma mídia de comunicação podem ser impedidos. Também, os dados codificados escalonáveis (BL+EL) 1011 têm redundância reduzida entre camadas e, desta maneira, a quantidade de dados pode ser tornada menor do que aquela em um caso em que a camada codificada de cada camada é tratada como dados separados. Assim, a área de armazenamento da unidade de armazenamento de dados codificados escalonáveis 1001 pode ser usada com eficiência mais alta.[00399] Since scalable encoded data is used in this way, the amount of data can be easily adjusted. Thus, a delay and overflow can be prevented, and an unnecessary increase in the load of a terminal device or a communication medium can be prevented. Also, the scalable encoded data (BL+EL) 1011 has reduced redundancy between layers, and in this way, the amount of data can be made smaller than that in a case where the encoded layer of each layer is treated as separate data. Thus, the storage area of the scalable encoded data storage unit 1001 can be used with higher efficiency.
[00400] Deve-se notar que vários dispositivos podem ser usados como dispositivos de terminal, tais como os dispositivos de terminal do computador pessoal 1004 até o telefone portátil dispositivo 1007, e, portanto, desempenho de hardware varia entre os dispositivos de terminal. Já que as aplicações a ser executadas pelos dispositivos de terminal variam, o desempenho de software também varia. Adicionalmente, a rede 1003 que serve como uma mídia de comunicação pode ser uma rede de comunicação com fios ou sem fio, tais como a Internet ou uma rede de área local (LAN), ou qualquer sistema de rede de comunicação que inclui tanto uma rede com fios quanto uma rede sem fio. A capacidade da transmissão de dados varia entre as redes de comunicação. A capacidade da transmissão de dados pode variar adicionalmente com outras comunicações e congêneres.[00400] It should be noted that various devices can be used as terminal devices, such as the personal computer terminal devices 1004 through the portable telephone device 1007, and therefore, hardware performance varies between terminal devices. As the applications to be executed by the terminal devices vary, the software performance also varies. Additionally, the network 1003 serving as a communication medium may be a wired or wireless communication network, such as the Internet or a local area network (LAN), or any communication networking system that includes both a wired as well as a wireless network. Data transmission capacity varies between communication networks. Data transmission capacity may additionally vary with other communications and the like.
[00401] Em vista disto, o servidor de distribuição 1002 pode comunicar com o dispositivo de terminal como o destino da transmissão de dados antes de começar a transmissão de dados, e obtém informação relacionada à capacidade do dispositivo de terminal, tais como o desempenho de hardware do dispositivo de terminal e o desempenho das aplicações (software) a ser executadas pelo dispositivo de terminal, e informação relacionada ao ambiente de comunicação, tal como a largura de banda que pode ser usada pela rede 1003. Adicionalmente, de acordo com a informação aqui obtida, o servidor de distribuição 1002 pode selecionar uma camada apropriada.[00401] In view of this, the distribution server 1002 can communicate with the terminal device as the destination of data transmission before starting data transmission, and obtain information related to the capability of the terminal device, such as the performance of hardware of the terminal device and the performance of applications (software) to be executed by the terminal device, and information related to the communication environment, such as the bandwidth that can be used by the network 1003. Additionally, according to the information obtained here, the distribution server 1002 can select an appropriate layer.
[00402] Deve-se notar que a extração de camada pode ser realizada em um dispositivo de terminal. Por exemplo, o computador pessoal 1004 pode decodificar os dados codificados escalonáveis transmitidos (BL+EL) 1011, e exibir uma imagem da camada de base e uma imagem da camada de intensificação. Também, o computador pessoal 1004 pode extrair os dados codificados escalonáveis (BL) 1012 da camada de base a partir dos dados codificados escalonáveis transmitidos (BL+EL) 1011, e armazena os dados codificados escalonáveis (BL) 1012, transfere os dados codificados escalonáveis (BL) 1012 para um outro dispositivo, ou decodifica os dados codificados escalonáveis (BL) 1012 para exibir uma imagem da camada de base.[00402] It should be noted that layer extraction can be performed on a terminal device. For example, personal computer 1004 can decode transmitted scalable encoded data (BL+EL) 1011, and display a base layer image and an enhancement layer image. Also, the personal computer 1004 can extract the base layer scalable encoded data (BL) 1012 from the transmitted scalable encoded data (BL+EL) 1011, and stores the scalable encoded data (BL) 1012, transfers the scalable encoded data (BL) 1012 to another device, or decode the scalable encoded data (BL) 1012 to display a base layer image.
[00403] Os números das unidades de armazenamento dos dados codificados escalonáveis 1001, dos servidores de distribuição 1002, das redes 1003 e dos dispositivos de terminal, certamente, podem ser determinados como apropriado. Também, no supradescrito exemplo, o servidor de distribuição 1002 transmite dados para dispositivos de terminal. Entretanto, exemplos de uso não são limitados a este. O sistema de transmissão de dados 1000 pode ser qualquer sistema apropriado que seleciona uma camada apropriada de acordo com a capacidade de um dispositivo de terminal, o ambiente de comunicação e congêneres, durante a transmissão dos dados codificados sujeitos a codificação escalonável para o dispositivo de terminal.[00403] The numbers of scalable encoded data storage units 1001, distribution servers 1002, networks 1003 and terminal devices, of course, may be determined as appropriate. Also, in the above-described example, distribution server 1002 transmits data to terminal devices. However, usage examples are not limited to this. The data transmission system 1000 can be any suitable system that selects an appropriate layer according to the capability of a terminal device, the communication environment and the like, during transmission of the encoded data subject to scalable encoding to the terminal device. .
[00404] Codificação escalonável também é usada para transmissão por meio da mídia de comunicação, da forma mostrada no exemplo da figura 41.[00404] Scalable encoding is also used for transmission through the communication medium, as shown in the example in figure 41.
[00405] No sistema de transmissão de dados 1100 mostrado na figura 41, uma estação de difusão 1101 transmite os dados codificados escalonáveis (BL) 1121 da camada de base através de uma difusão terrestre 1111. A estação de difusão 1101 também transmite os dados codificados escalonáveis (EL) 1122 de uma camada de intensificação (depois do empacotamento dos dados codificados escalonáveis (EL) 1122) por meio de uma rede 1112 que é formada com uma rede de comunicação com fios e/ou sem fio.[00405] In the data transmission system 1100 shown in Fig. 41 , a broadcast station 1101 transmits the base layer scalable (BL) encoded data 1121 via a terrestrial broadcast 1111. The broadcast station 1101 also transmits the encoded data scalable (EL) encoded data 1122 of an enhancement layer (after packetizing the scalable (EL) encoded data 1122) through a network 1112 that is formed with a wired and/or wireless communication network.
[00406] Um dispositivo de terminal 1102 tem uma função para receber a difusão terrestre 1111 a partir da estação de difusão 1101, e receber os dados codificados escalonáveis (BL) 1121 da camada de base transmitidos através da difusão terrestre 1111. O dispositivo de terminal 1102 tem adicionalmente uma função de comunicação para realizar comunicação por meio da rede 1112, e recebe os dados codificados escalonáveis (EL) 1122 da camada de intensificação transmitidos por meio da rede 1112.[00406] A terminal device 1102 has a function for receiving the terrestrial broadcast 1111 from the broadcast station 1101, and receiving the base layer scalable encoded (BL) data 1121 transmitted via the terrestrial broadcast 1111. The terminal device 1102 further has a communication function for performing communication via the network 1112, and receives the enhancement layer scalable encoded (EL) data 1122 transmitted via the network 1112.
[00407] De acordo com a instrução de usuário ou congêneres, o dispositivo de terminal 1102 obtém uma imagem pela decodificação dos dados codificados escalonáveis (BL) 1121 da camada de base obtidos através da difusão terrestre 1111, armazena os dados codificados escalonáveis (BL) 1121, ou transmite os dados codificados escalonáveis (BL) 1121 para um outro dispositivo.[00407] According to user instruction or the like, the terminal device 1102 obtains a picture by decoding the base layer scalable encoded data (BL) 1121 obtained through terrestrial broadcast 1111, stores the scalable encoded data (BL) 1121, or transmit the scalable encoded data (BL) 1121 to another device.
[00408] Também, de acordo com uma instrução de usuário ou congêneres, o dispositivo de terminal 1102 obtém dados codificados escalonáveis (BL+EL) pela combinação dos dados codificados escalonáveis (BL) 1121 da camada de base obtidos através da difusão terrestre 1111 e dos dados codificados escalonáveis (EL) 1122 da camada de intensificação obtidos por meio da rede 1112, obtém uma imagem da camada de intensificação pela decodificação dos dados codificados escalonáveis (BL+EL), armazena os dados codificados escalonáveis (BL+EL) ou transmite os dados codificados escalonáveis (BL+EL) para um outro dispositivo.[00408] Also, in accordance with a user instruction or the like, the terminal device 1102 obtains scalable coded data (BL+EL) by combining the scalable coded data (BL) of the base layer 1121 obtained through terrestrial broadcast 1111 and of the scalable (EL) encoded data of the enhancement layer 1122 obtained via the network 1112, obtains an image of the enhancement layer by decoding the scalable encoded data (BL+EL), stores the scalable encoded data (BL+EL), or transmits scalable encoded data (BL+EL) to another device.
[00409] Da forma supradescrita, dados codificados escalonáveis podem ser transmitidos por meio de uma diferente mídia de comunicação para cada camada, por exemplo. Desta maneira, a carga pode ser espalhada, e um atraso e um sobrefluxo podem ser impedidos.[00409] As described above, scalable encoded data can be transmitted through a different communication medium for each layer, for example. In this way, the load can be spread out, and a delay and overflow can be prevented.
[00410] Também, a mídia de comunicação a ser usada para transmissão pode ser selecionada para cada camada de acordo com as circunstâncias. Por exemplo, os dados codificados escalonáveis (BL) 1121 da camada de base com uma quantidade de dados relativamente grande podem ser transmitidos por meio de uma mídia de comunicação com uma grande largura de banda, e os dados codificados escalonáveis (EL) 1122 da camada de intensificação com uma quantidade de dados relativamente pequena podem ser transmitidos por meio de uma mídia de comunicação com uma pequena largura de banda. Também, a mídia de comunicação para transmitir os dados codificados escalonáveis (EL) 1122 da camada de intensificação pode ser comutada entre a rede 1112 e a difusão terrestre 1111, de acordo com a largura de banda que pode ser usada pela rede 1112. O mesmo certamente se aplica aos dados de qualquer outra camada.[00410] Also, the communication medium to be used for transmission can be selected for each layer according to the circumstances. For example, the base layer scalable (BL) encoded data 1121 with a relatively large amount of data can be transmitted over a communication medium with a large bandwidth, and the base layer scalable (EL) encoded data 1122 boosters with a relatively small amount of data can be transmitted over a communication medium with a small bandwidth. Also, the communication medium for transmitting the scalable (EL) encoded data of the enhancement layer 1122 can be switched between the network 1112 and the terrestrial broadcast 1111, according to the bandwidth that can be used by the network 1112. certainly applies to data from any other layer.
[00411] Como o controle é realizado desta maneira, o aumento na carga devido à transmissão de dados pode ser adicionalmente reduzido.[00411] As the control is carried out in this way, the increase in load due to data transmission can be further reduced.
[00412] O número de camadas, certamente, pode ser determinado como apropriado, e o número de mídias de comunicação a ser usadas para transmissão também pode ser determinado como apropriado. O número de dispositivos de terminal 1102 como destinos de distribuição de dados também pode ser determinado como apropriado. Adicionalmente, no exemplo supradescrito, a estação de difusão 1101 provê uma difusão. Entretanto, exemplos de uso não são limitados a este. O sistema de transmissão de dados 1100 pode ser qualquer sistema apropriado que divide dados codificados sujeitos a codificação escalonável em camadas, e realiza transmissão por meio de duas ou mais linhas.[00412] The number of layers can certainly be determined as appropriate, and the number of communication media to be used for transmission can also be determined as appropriate. The number of terminal devices 1102 as data distribution destinations can also be determined as appropriate. Additionally, in the above-described example, broadcast station 1101 provides a broadcast. However, usage examples are not limited to this. The data transmission system 1100 can be any suitable system that divides encoded data subject to scalable encoding into layers, and performs transmission over two or more lines.
[00413] Codificação escalonável também é usada para armazenar dados codificados, da forma mostrada no exemplo da figura 42.[00413] Scalable encoding is also used to store encoded data, as shown in the example in figure 42.
[00414] No sistema de formação de imagem 1200 mostrado na figura 42, um aparelho de formação de imagem 1201 realiza codificação escalonável nos dados de imagem obtidos pela formação de imagem de um objeto 1211, e supre os dados de imagem como dados codificados escalonáveis (BL+EL) 1221 para um dispositivo de armazenamento de dados codificados escalonáveis 1202.[00414] In the image forming system 1200 shown in Fig. 42, an image forming apparatus 1201 performs scalable encoding on the image data obtained by imaging an object 1211, and supplies the image data as scalable coded data ( BL+EL) 1221 to a scalable encoded data storage device 1202.
[00415] O dispositivo de armazenamento de dados codificados escalonáveis 1202 armazena os dados codificados escalonáveis (BL+EL) 1221 supridos a partir do aparelho de formação de imagem 1201 em um nível de qualidade apropriado às circunstâncias. Por exemplo, em um tempo normal, o dispositivo de armazenamento de dados codificados escalonáveis 1202 extrai os dados da camada de base a partir dos dados codificados escalonáveis (BL+EL) 1221, e armazena os dados extraídos como os dados codificados escalonáveis (BL) 1222 da camada de base de baixa qualidade e com uma pequena quantidade de dados. Em um momento de observação, por outro lado, o dispositivo de armazenamento de dados codificados escalonáveis 1202 armazena os dados de alta qualidade codificados escalonáveis (BL+EL) 1221 com uma grande quantidade de dados como eles estão, por exemplo.[00415] The scalable encoded data storage device 1202 stores the scalable encoded data (BL+EL) 1221 supplied from the image forming apparatus 1201 at a quality level appropriate to the circumstances. For example, in a normal time, the scalable encoded data storage device 1202 extracts the base layer data from the scalable encoded data (BL+EL) 1221, and stores the extracted data as the scalable encoded data (BL) 1222 of the low quality base layer and with a small amount of data. At a moment's notice, on the other hand, the scalable encoded data storage device 1202 stores the scalable encoded high quality (BL+EL) data 1221 with a large amount of data as is, for example.
[00416] Desta maneira, o dispositivo de armazenamento de dados codificados escalonáveis 1202 pode armazenar imagens de alta qualidade apenas quando necessário. Desta maneira, um aumento na quantidade de dados pode ser impedido ao mesmo tempo em que uma redução no valor de cada imagem devido à degradação da qualidade de imagem é impedida. Assim, a usabilidade da área de armazenamento pode ser melhorada.[00416] In this way, the scalable coded data storage device 1202 can store high quality images only when needed. In this way, an increase in the amount of data can be prevented while a reduction in the value of each image due to degradation of image quality is prevented. Thus, the usability of the storage area can be improved.
[00417] O aparelho de formação de imagem 1201 é uma câmera de vigilância, por exemplo. Em um caso em que nenhum objeto de vigilância (um violador, por exemplo) for pego em uma imagem (em um momento normal), é altamente provável que os conteúdos da imagem sejam desimportantes. Portanto, prioridade é colocada na redução da quantidade de dados, e os dados de imagem (dados codificados escalonáveis) são armazenados em um baixo nível de qualidade. Em um caso em que um objeto de vigilância for pego como o objeto 1211 em uma imagem (em um momento de observação), por outro lado, é altamente provável que os conteúdos da imagem sejam importantes. Portanto, prioridade é colocada na qualidade de imagem, e os dados de imagem (dados codificados escalonáveis) são armazenados em um alto nível de qualidade.[00417] The image forming device 1201 is a surveillance camera, for example. In a case where no surveillance object (a violator, for example) is caught in an image (in a normal moment), it is highly likely that the contents of the image are unimportant. Therefore, priority is placed on reducing the amount of data, and image data (scalable encoded data) is stored at a low quality level. In a case where a surveillance object is caught as object 1211 in an image (in a moment of observation), on the other hand, it is highly likely that the contents of the image are important. Therefore, priority is placed on image quality, and image data (scalable encoded data) is stored at a high quality level.
[00418] Deve-se notar que o dispositivo de armazenamento de dados codificados escalonáveis 1202 pode determinar se o tempo atual é um tempo normal ou se o tempo atual é um momento de observação, pela análise da imagem, por exemplo. Alternativamente, o aparelho de formação de imagem 1201 pode realizar a determinação, e transmite um resultado da determinação para o dispositivo de armazenamento de dados codificados escalonáveis 1202.[00418] It should be noted that the scalable coded data storage device 1202 can determine whether the current time is a normal time or whether the current time is an observation time, by image analysis, for example. Alternatively, the image forming apparatus 1201 may perform the determination, and transmit a result of the determination to the scalable coded data storage device 1202.
[00419] Deve-se notar que qualquer critério apropriado pode ser usado como o critério para determinar se o tempo atual é um tempo normal, ou se o tempo atual é um momento de observação, e o conteúdo de uma imagem a ser usada como o critério para determinação pode ser determinado como apropriado. Uma condição diferente dos conteúdos de uma imagem pode ser certamente usada como o critério para determinação. Por exemplo, um tempo normal e um momento de observação podem ser comutados de acordo com o volume da voz gravada ou formas de onda, podem ser comutados em intervalos de tempo predeterminados, ou podem ser comutados de acordo com uma instrução externa, tal como uma instrução de usuário.[00419] It should be noted that any appropriate criteria can be used as the criterion for determining whether the current time is a normal time, or whether the current time is an observation time, and the content of an image to be used as the criterion for determination may be determined as appropriate. A different condition of the contents of an image can certainly be used as the criterion for determination. For example, a normal time and an observation time can be switched according to the recorded voice volume or waveforms, can be switched at predetermined time intervals, or can be switched according to an external instruction, such as a user instruction.
[00420] Além do mais, no exemplo supradescrito, o estado é comutado entre os dois estados de um tempo normal e um momento de observação. Entretanto, o número de estados pode ser determinado como apropriado. Por exemplo, o estado pode ser comutado entre três ou mais estados, tais como um tempo normal, um momento de baixo nível de observação, um momento de observação e um momento de alto nível de observação. Entretanto, o número limite superior dos estados comutáveis depende do número de camadas em dados codificados escalonáveis.[00420] Furthermore, in the above-described example, the state is switched between the two states of a normal time and an observation time. However, the number of states can be determined as appropriate. For example, the state can be switched between three or more states, such as normal time, low observation time, observation time, and high observation time. However, the upper bound number of switchable states depends on the number of layers in scalable encoded data.
[00421] Também, o aparelho de formação de imagem 1201 pode determinar o número de camadas em codificação escalonável, de acordo com as circunstâncias. Por exemplo, em um tempo normal, o aparelho de formação de imagem 1201 pode gerar os dados codificados escalonáveis (BL) 1222 da camada de base de baixa qualidade e com uma pequena quantidade de dados, e suprir os dados codificados escalonáveis (BL) 1222 para o dispositivo de armazenamento de dados codificados escalonáveis 1202. Além do mais, em um momento de observação, por outro lado, o aparelho de formação de imagem 1201 pode gerar os dados codificados escalonáveis (BL+EL) 1221 da camada de base de alta qualidade e com uma grande quantidade de dados, e suprir os dados codificados escalonáveis (BL+EL) 1221 para o dispositivo de armazenamento de dados codificados escalonáveis 1202, por exemplo.[00421] Also, the imaging apparatus 1201 can determine the number of layers in scalable encoding according to the circumstances. For example, in a normal time, the imaging apparatus 1201 can generate the base layer scalable encoded data (BL) 1222 of low quality and with a small amount of data, and supply the scalable encoded data (BL) 1222 to the scalable coded data storage device 1202. Furthermore, at a time of observation, on the other hand, the image forming apparatus 1201 can generate the scalable coded data (BL+EL) 1221 of the high-end base layer. quality and with a large amount of data, and supply the scalable encoded data (BL+EL) 1221 to the scalable encoded data storage device 1202, for example.
[00422] No exemplo supradescrito, uma câmera de vigilância foi descrita. Entretanto, o sistema de formação de imagem 1200 pode ser usado como apropriado, e não é limitado a uma câmera de vigilância.[00422] In the example above, a surveillance camera was described. However, the imaging system 1200 can be used as appropriate, and is not limited to a surveillance camera.
[00423] Embora exemplos de dispositivos, sistemas e congêneres nos quais a presente descrição é aplicada tenham sido supradescritos, a presente descrição não é limitada aos mesmos, e pode ser incorporada como qualquer estrutura a ser montada nos dispositivos expostos ou como dispositivos nos sistemas, tal como um processador que serve como um sistema de Integração em Larga Escala (LSI) ou congêneres, um módulo que usa processadores ou congêneres, uma unidade que usa módulos ou congêneres e um conjunto (ou uma estrutura em um dispositivo) que tem outras funções adicionadas na unidade.[00423] Although examples of devices, systems and the like in which the present description is applied have been described above, the present description is not limited to them, and can be incorporated as any structure to be mounted in the exposed devices or as devices in the systems, such as a processor that serves as a Large Scale Integration (LSI) system or congeners, a module that uses processors or congeners, a unit that uses modules or congeners, and an assembly (or a structure in a device) that has other functions added to the unit.
[00424] Agora, em relação à figura 43, um caso de exemplo em que a presente descrição é incorporada como um conjunto é descrito. A figura 43 mostra esquematicamente uma configuração de exemplo de um aparelho de vídeo no qual a presente descrição é aplicada.[00424] Now, referring to figure 43, an example case in which the present description is incorporated as a set is described. Fig. 43 schematically shows an example configuration of a video apparatus in which the present description is applied.
[00425] Nos últimos anos, aparelhos eletrônicos se tornaram multifuncionais. No processo de desenvolvimento e fabricação de aparelhos eletrônicos, não apenas uma estrutura em tais aparelhos eletrônicos deve ser vendida ou provida, ou uma estrutura com uma função é fabricada, mas também um aparelho com várias funções é fabricado pela combinação das estruturas com funções relevantes em muitos casos estes dias.[00425] In recent years, electronic gadgets have become multifunctional. In the process of developing and manufacturing electronic appliances, not only a structure in such electronic appliances must be sold or provided, or a structure with one function is manufactured, but also an apparatus with several functions is manufactured by combining the structures with relevant functions in many cases these days.
[00426] O aparelho de vídeo 1300 mostrado na figura 43 é uma estrutura multifuncional como esta, e é formado pela combinação de um dispositivo com uma função relacionada a codificação e decodificação de imagem (ou codificação ou decodificação, ou tanto codificação quanto decodificação) com uma outra função relacionada à função.[00426] The video apparatus 1300 shown in Figure 43 is a multifunctional structure like this, and is formed by combining a device with a function related to image encoding and decoding (or encoding or decoding, or both encoding and decoding) with another function related to the function.
[00427] Da forma mostrada na figura 43, o aparelho de vídeo 1300 inclui módulos, tais como um módulo de vídeo 1311, uma memória externa 1312, um módulo de gerenciamento de energia 1313, e um módulo de interface inicial 1314, e dispositivos com funções relevantes, tais como conectividade 1321, uma câmera 1322, e um sensor 1323.[00427] As shown in figure 43, the video device 1300 includes modules, such as a video module 1311, an external memory 1312, a power management module 1313, and an initial interface module 1314, and devices with relevant functions, such as connectivity 1321, a camera 1322, and a sensor 1323.
[00428] Um módulo é formado pela integração das funções de componentes relacionados uns aos outros, e serve como um componente que tem as funções integradas. Embora sua estrutura física específica não seja limitada, um módulo pode ser formado pela colocação de elementos de circuito eletrônico, tais como processadores, resistores e capacitores com respectivas funções em uma placa de fiação ou congêneres, e ser integrado na mesma. Alternativamente, um novo módulo pode ser formado pela combinação de um módulo com um outro módulo, um processador ou congêneres.[00428] A module is formed by integrating the functions of components related to each other, and serves as a component that has the integrated functions. Although its specific physical structure is not limited, a module can be formed by placing electronic circuit elements such as processors, resistors and capacitors with respective functions on a wiring board or the like and integrated therein. Alternatively, a new module can be formed by combining a module with another module, a processor or the like.
[00429] No caso de exemplo mostrado na figura 43, o módulo de vídeo 1311 é formado pela combinação de estruturas com funções relacionadas ao processamento de imagem, e inclui um processador de aplicação, um processador de vídeo, um modem de banda larga 1333 e um módulo de RF 1334.[00429] In the example shown in figure 43, the video module 1311 is formed by combining structures with functions related to image processing, and includes an application processor, a video processor, a broadband modem 1333 and an RF 1334 module.
[00430] Um processador é formado pela integração de uma estrutura com funções predeterminadas em um chip semicondutor pelo Sistema Em Um Chip (SoC), e alguns processadores são chamados de sistema de Integrações em Larga Escala (LSI), por exemplo. A estrutura com as funções predeterminadas pode ser um circuito lógico (uma estrutura de hardware), pode ser uma estrutura que inclui uma CPU, uma ROM e uma RAM, e um programa (uma estrutura de software) a ser executado com estes componentes, ou pode ser uma estrutura formada pela combinação das duas estruturas. Por exemplo, um processador pode incluir um circuito lógico, uma CPU, uma ROM e uma RAM, uma das funções pode ser alcançada pelo circuito lógico (estrutura de hardware), e as outras funções podem ser alcançadas pelo programa (estrutura de software) executado pela CPU.[00430] A processor is formed by integrating a structure with predetermined functions into a semiconductor chip by the System On A Chip (SoC), and some processors are called Large Scale Integrations (LSI) system, for example. The structure with the predetermined functions can be a logic circuit (a hardware structure), it can be a structure that includes a CPU, a ROM and a RAM, and a program (a software structure) to be executed with these components, or may be a structure formed by combining the two structures. For example, a processor may include a logic circuit, a CPU, a ROM and a RAM, one of the functions can be achieved by the logic circuit (hardware structure), and the other functions can be achieved by the executed program (software structure). by the CPU.
[00431] O processador de aplicação 1331 na figura 43 é um processador que executa uma aplicação relacionada ao processamento de imagem. A aplicação a ser executada pelo processador de aplicação 1331 pode não apenas realizar um processo aritmético, mas, também controlar estruturas no interior e no exterior do módulo de vídeo 1311, tais como o processador de vídeo 1332, conforme necessário, para alcançar funções predeterminadas.[00431] Application processor 1331 in Figure 43 is a processor that runs an application related to image processing. The application to be executed by the application processor 1331 can not only perform an arithmetic process, but also control structures inside and outside the video module 1311, such as the video processor 1332, as needed, to achieve predetermined functions.
[00432] O processador de vídeo 1332 é um processador que tem funções relacionadas à codificação e à decodificação de imagem (codificação e/ou decodificação).[00432] The video processor 1332 is a processor that has functions related to image encoding and decoding (coding and/or decoding).
[00433] O modem de banda larga 1333 é um processador (ou um módulo) que realiza processamento relacionado a comunicação em banda larga com fios ou sem fio (ou com fios e sem fio) que é conduzida por meio de uma rede de banda larga, tais como a Internet ou uma rede de telefonia pública. Por exemplo, o modem de banda larga 1333 pode converter dados a ser transmitidos (um sinal digital) em um sinal analógico pela realização de modulação digital nos dados, e converter um sinal analógico recebido em dados (um sinal digital) pela demodulação do sinal analógico. Por exemplo, o modem de banda larga 1333 pode realizar modulação/demodulação digital na informação desejada, tais como dados de imagem a ser processados pelo processador de vídeo 1332, um fluxo contínuo gerado pela codificação de dados de imagem, um programa de aplicação e dados de definição.[00433] The 1333 broadband modem is a processor (or a module) that performs processing related to wired or wireless (or wired and wireless) broadband communication that is conducted over a broadband network , such as the Internet or a public telephone network. For example, broadband modem 1333 can convert data to be transmitted (a digital signal) into an analog signal by performing digital modulation on the data, and convert a received analog signal into data (a digital signal) by demodulating the analog signal. . For example, broadband modem 1333 can perform digital modulation/demodulation on desired information, such as image data being processed by video processor 1332, a stream generated by encoding image data, an application program, and data. of definition.
[00434] O módulo de RF 1334 é um módulo que realiza conversão de frequência, modulação/demodulação, amplificação, um processo de filtragem, ou congêneres em um sinal de radiofrequência (RF) a ser transmitido ou recebido por meio de uma antena. Por exemplo, o módulo de RF 1334 gera um sinal de RF pela realização de conversão de frequência ou congêneres em um sinal de banda base gerado pelo modem de banda larga 1333. O módulo de RF 1334 também gera um sinal de banda base pela realização de conversão de frequência ou congêneres em um sinal de RF recebido por meio do módulo de interface inicial 1314, por exemplo.[00434] The RF module 1334 is a module that performs frequency conversion, modulation/demodulation, amplification, a filtering process, or the like in a radio frequency (RF) signal to be transmitted or received through an antenna. For example, RF module 1334 generates an RF signal by performing frequency conversion or the like on a baseband signal generated by broadband modem 1333. RF module 1334 also generates a baseband signal by performing frequency conversion or the like on an RF signal received through the initial interface module 1314, for example.
[00435] Deve-se notar que, da forma indicada por uma linha tracejada 1341 na figura 43, o processador de aplicação 1331 e o processador de vídeo 1332 podem ser integrados e formados como um processador.[00435] It should be noted that, as indicated by a dashed line 1341 in Fig. 43, the application processor 1331 and the video processor 1332 can be integrated and formed as one processor.
[00436] A memória externa 1312 é um módulo que é provido fora do módulo de vídeo 1311 e tem um dispositivo de armazenamento a ser usado pelo módulo de vídeo 1311. O dispositivo de armazenamento da memória externa 1312 pode ser incorporado por qualquer estrutura física. Normalmente, o dispositivo de armazenamento é frequentemente usado para armazenar grandes volumes de dados, tais como dados de imagem com base em quadro. Portanto, o dispositivo de armazenamento é preferivelmente incorporado por uma memória semicondutora de grande capacidade relativamente econômica, tal como uma memória de acesso aleatório dinâmica (DRAM).[00436] The external memory 1312 is a module that is provided outside the video module 1311 and has a storage device to be used by the video module 1311. The external memory storage device 1312 can be incorporated by any physical structure. Typically, the storage device is often used to store large volumes of data, such as frame-based image data. Therefore, the storage device is preferably incorporated by a relatively inexpensive high-capacity semiconductor memory, such as dynamic random-access memory (DRAM).
[00437] O módulo de gerenciamento de energia 1313 gerencia e controla o suprimento de energia para o módulo de vídeo 1311 (as respectivas estruturas no módulo de vídeo 1311).[00437] The 1313 power management module manages and controls the power supply to the 1311 video module (the respective structures in the 1311 video module).
[00438] O módulo de interface inicial 1314 é um módulo que provê para o módulo de RF 1334 as funções de interface inicial (circuitos nos terminais de transmissão e recepção da antena). Da forma mostrada na figura 35, o módulo de interface inicial 1314 inclui uma unidade de antena 1351, um filtro 1352 e uma unidade de amplificação 1353, por exemplo.[00438] The initial interface module 1314 is a module that provides the initial interface functions for the RF module 1334 (circuits at the transmit and receive terminals of the antenna). As shown in Figure 35, the initial interface module 1314 includes an antenna unit 1351, a filter 1352 and an amplifier unit 1353, for example.
[00439] A unidade de antena 1351 inclui uma antena que transmite e recebe sinais de rádio, e estruturas periféricas ao redor da antena. A unidade de antena 1351 transmite um sinal suprido a partir da unidade de amplificação 1353 como um sinal de rádio, e supre um sinal de rádio recebido como um sinal elétrico (sinal de RF) para o filtro 1352. O filtro 1352 realiza um processo de filtragem ou congêneres em um sinal de RF recebido por meio da unidade de antena 1351, e supre o sinal de RF processado para o módulo de RF 1334. A unidade de amplificação 1353 amplifica um sinal de RF suprido a partir do módulo de RF 1334, e supre o sinal de RF amplificado para a unidade de antena 1351.[00439] The antenna unit 1351 includes an antenna that transmits and receives radio signals, and peripheral structures around the antenna. The antenna unit 1351 transmits a signal supplied from the amplification unit 1353 as a radio signal, and supplies a received radio signal as an electrical signal (RF signal) to the filter 1352. The filter 1352 performs a process of filters or the like on an RF signal received via the antenna unit 1351, and supplies the processed RF signal to the RF module 1334. The amplification unit 1353 amplifies an RF signal supplied from the RF module 1334, and supplies the amplified RF signal to antenna unit 1351.
[00440] A conectividade 1321 é um módulo que tem uma função relacionada a conexões como exterior. A conectividade 1321 pode ter qualquer tipo de estrutura física. Por exemplo, a conectividade 1321 inclui uma estrutura que tem uma função de comunicação em conformidade com padrões diferentes dos padrões de comunicação com os quais o modem de banda larga 1333 está em conformidade, e um terminal de entrada/saída externo ou congêneres.[00440] Connectivity 1321 is a module that has a connection-related function as an exterior. The 1321 connectivity can have any type of physical structure. For example, connectivity 1321 includes a frame having a communication function conforming to standards other than the communication standards to which broadband modem 1333 conforms, and an external input/output terminal or the like.
[00441] Por exemplo, a conectividade 1321 pode incluir um módulo que tem uma função de comunicação em conformidade com padrões de comunicação sem fio, tais como Bluetooth (uma marca registrada), IEEE 802.11 (tal como Fidelidade Sem Fio (Wi-Fi: uma marca registrada), Comunicação de Campo Próximo (NFC), ou Associação de Dados em Infravermelho (IrDA), e uma antena ou congêneres que transmite e recebe sinais em conformidade com os padrões. Alternativamente, a conectividade 1321 pode incluir um módulo que tem uma função de comunicação em conformidade com padrões de comunicação a cabo, tais como Barramento Serial Universal (USB) ou Interface Multimídia em Alta Definição (uma marca registrada) (HDMI), e um terminal em conformidade com os padrões. Adicionalmente, a conectividade 1321 pode ter alguma outra função de transmissão de dados (sinal) ou congêneres, tal como um terminal de entrada/saída analógico.[00441] For example, 1321 connectivity may include a module that has a communication function conforming to wireless communication standards such as Bluetooth (a registered trademark), IEEE 802.11 (such as Wireless Fidelity (Wi-Fi: a trademark), Near Field Communication (NFC), or Infrared Data Association (IrDA), and an antenna or the like that transmits and receives standards-compliant signals. Alternatively, the 1321 connectivity may include a module that has a communication function that conforms to cable communication standards, such as Universal Serial Bus (USB) or High Definition Multimedia Interface (a registered trademark) (HDMI), and a standards-compliant terminal. Additionally, 1321 connectivity it may have some other data (signal) transmission function or the like, such as an analog input/output terminal.
[00442] A conectividade 1321 pode incluir um dispositivo que é um destino de transmissão de dados (sinal). Por exemplo, a conectividade 1321 pode incluir uma unidade (inclusive, de não apenas uma unidade para mídia removível, mas, também, um disco rígido, uma unidade em estado sólido (SSD), um armazenamento anexado em rede (NAS) ou congêneres) que realiza leitura e gravação de dados em uma mídia de gravação, tais como um disco magnético, um disco óptico, um disco magneto-óptico ou uma memória semicondutora. A conectividade 1321 também pode incluir um dispositivo de transmissão de imagem ou som (um monitor, um alto-falante ou congêneres).[00442] Connectivity 1321 may include a device that is a data (signal) transmission destination. For example, connectivity 1321 may include a drive (including not only a drive for removable media, but also a hard drive, solid state drive (SSD), network attached storage (NAS), or the like) that performs reading and writing data to a recording medium, such as a magnetic disk, an optical disk, a magneto-optical disk or a semiconductor memory. Connectivity 1321 may also include an image or sound transmission device (a monitor, a loudspeaker, or the like).
[00443] A câmera 1322 é um módulo que tem a função de formar a imagem de um objeto e obter dados de imagem do objeto. Os dados de imagem obtidos através da formação de imagem realizada pela câmera 1322 são supridos para o processador de vídeo 1332 e são codificados.[00443] Camera 1322 is a module whose function is to form an image of an object and obtain image data from the object. Image data obtained through imaging performed by camera 1322 is supplied to video processor 1332 and is encoded.
[00444] O sensor 1323 é um módulo que tem uma função de sensor, tais como um sensor de som, um sensor ultrassônico, um sensor óptico, um sensor de iluminância, um sensor infravermelho, um sensor de imagem, um sensor de rotação, um sensor de ângulo, um sensor de velocidade angular, um angular de velocidade, um angular de aceleração, um angular de inclinação, um angular de identificação magnética, um sensor de choque ou um magnético de temperatura. Dados detectados pelo sensor 1323 são supridos para o processador de aplicação 1331, e são usados por uma aplicação, por exemplo.[00444] The 1323 sensor is a module that has a sensor function, such as a sound sensor, an ultrasonic sensor, an optical sensor, an illuminance sensor, an infrared sensor, an image sensor, a rotation sensor, An angle sensor, an angular velocity sensor, a velocity angular sensor, an acceleration angular sensor, an inclination angular sensor, a magnetic identification angular sensor, a shock sensor or a temperature magnet. Data detected by sensor 1323 is supplied to application processor 1331, and is used by an application, for example.
[00445] As estruturas descritas como módulos expostas podem ser incorporadas como processadores, e as estruturas descritas como processadores anteriormente podem ser incorporadas como módulos.[00445] Structures described as exposed modules can be embedded as processors, and structures described as processors previously can be embedded as modules.
[00446] No aparelho de vídeo 1300 projetado como exposto, a presente descrição pode ser aplicada no processador de vídeo 1332, como será descrito a seguir. Assim, o aparelho de vídeo 1300 pode ser incorporado como um aparelho no qual a presente descrição é aplicada.[00446] In the video apparatus 1300 designed as shown, the present description can be applied in the video processor 1332, as will be described below. Thus, the video apparatus 1300 can be incorporated as an apparatus to which the present description is applied.
[00447] A figura 44 mostra esquematicamente uma configuração de exemplo do processador de vídeo 1332 (figura 43) no qual a presente descrição é aplicada.[00447] Figure 44 schematically shows an example configuration of the video processor 1332 (Figure 43) in which the present description is applied.
[00448] No caso de exemplo mostrado na figura 44, o processador de vídeo 1332 tem uma função para receber entradas de um sinal de vídeo e um sinal de áudio, e codificar estes sinais por um método predeterminado, e uma função para decodificar dados de vídeo e dados de áudio codificados, e reproduzir e transmitir um sinal de vídeo e um sinal de áudio.[00448] In the example case shown in Fig. 44, the video processor 1332 has a function for receiving inputs of a video signal and an audio signal, and encoding these signals by a predetermined method, and a function for decoding data from encoded video and audio data, and playing and transmitting a video signal and an audio signal.
[00449] Da forma mostrada na figura 44, o processador de vídeo 1332 inclui uma unidade de processamento de entrada de vídeo 1401, uma primeira unidade de ampliação/redução de imagem 1402, uma segunda unidade de ampliação/redução de imagem 1403, uma unidade de processamento de saída de vídeo 1404, uma memória de quadro 1405 e uma unidade de controle de memória 1406. O processador de vídeo 1332 também inclui um motor de codificação/decodificação 1407, buffers de fluxo contínuo (ES) elementar de vídeo 1408A e 1408B e buffers de ES de áudio 1409A e 1409B. O processador de vídeo 1332 inclui adicionalmente um codificador de áudio 1410, um decodificador de áudio 1411, um multiplexador (MUX) 1412, um demultiplexador (DMUX) 1413 e um buffer de fluxo contínuo 1414.[00449] As shown in Figure 44, the video processor 1332 includes a video input processing unit 1401, a first image enlargement/reduction unit 1402, a second image enlargement/reduction unit 1403, a unit video output processing unit 1404, a frame memory 1405, and a memory control unit 1406. The video processor 1332 also includes an encode/decode engine 1407, video elementary streaming (ES) buffers 1408A and 1408B and audio IO buffers 1409A and 1409B. Video processor 1332 further includes an audio encoder 1410, an audio decoder 1411, a multiplexer (MUX) 1412, a demultiplexer (DMUX) 1413, and a streaming buffer 1414.
[00450] A unidade de processamento de entrada de vídeo 1401 adquire um sinal de vídeo inserido a partir da conectividade 1321 (figura 43), por exemplo, e converte o sinal de vídeo em dados de imagem digital. A primeira unidade de ampliação/redução de imagem 1402 realiza conversão de formato, um processo de ampliação/redução de imagem ou congêneres nos dados de imagem. A segunda unidade de ampliação/redução de imagem 1403 realiza um processo de ampliação/redução de imagem nos dados de imagem de acordo com o formato no destino de saída por meio da unidade de processamento de saída de vídeo 1404 ou congêneres, a primeira unidade de ampliação/redução de imagem 1402 realiza conversão de formato, um processo de ampliação/redução de imagem ou congêneres. A unidade de processamento de saída de vídeo 1404 realiza conversão de formato, conversão para um sinal analógico ou congêneres nos dados de imagem, e transmite o resultado como um sinal de vídeo reproduzido para a conectividade 1321 (figura 43), por exemplo.[00450] The video input processing unit 1401 acquires an inserted video signal from connectivity 1321 (Figure 43), for example, and converts the video signal into digital image data. The first image enlargement/reduction unit 1402 performs format conversion, an image enlargement/reduction process, or the like on the image data. The second image enlargement/reduction unit 1403 performs an image enlargement/reduction process on the image data according to the format in the output destination by means of the video output processing unit 1404 or the like, the first image enlargement unit 1404 image enlargement/reduction 1402 performs format conversion, an image enlargement/reduction process, or the like. The video output processing unit 1404 performs format conversion, conversion to an analog signal or the like on the image data, and transmits the result as a reproduced video signal to connectivity 1321 (Figure 43), for example.
[00451] A memória de quadro 1405 é uma memória de dados de imagem que é compartilhada entre a unidade de processamento de entrada de vídeo 1401, a primeira unidade de ampliação/redução de imagem 1402, a segunda unidade de ampliação/redução de imagem 1403, a unidade de processamento de saída de vídeo 1404 e o motor de codificação/decodificação 1407. A memória de quadro 1405 é projetada como uma memória semicondutora, tal como uma DRAM.[00451] The frame memory 1405 is an image data memory that is shared between the video input processing unit 1401, the first image enlargement/reduction unit 1402, the second image enlargement/reduction unit 1403 , the video output processing unit 1404 and the encode/decode engine 1407. The frame memory 1405 is designed as a semiconductor memory, such as a DRAM.
[00452] A unidade de controle de memória 1406 recebe um sinal de sincronização a partir do motor de codificação/decodificação 1407, e controla acesso de gravação e leitura à memória de quadro 1405 de acordo com uma agenda de acesso à memória de quadro 1405 gravada em uma tabela de gerenciamento de acesso 1406A. A tabela de gerenciamento de acesso 1406A é atualizada pela unidade de controle de memória 1406 de acordo com processos realizados pelo motor de codificação/decodificação 1407, pela primeira unidade de ampliação/redução de imagem 1402, pela segunda unidade de ampliação/redução de imagem 1403 e congêneres.[00452] The memory control unit 1406 receives a synchronization signal from the encoding/decoding engine 1407, and controls write and read access to the frame memory 1405 according to a recorded frame memory access schedule 1405 in an access management table 1406A. The access management table 1406A is updated by the memory control unit 1406 according to processes performed by the encode/decode engine 1407, the first image enlargement/reduction unit 1402, the second image enlargement/reduction unit 1403 and congeners.
[00453] O motor de codificação/decodificação 1407 realiza um processo de codificação de dados de imagem, e um processo de decodificação de um fluxo contínuo de vídeo que compreende dados gerados pela codificação de dados de imagem. Por exemplo, o motor de codificação/decodificação 1407 codifica dados de imagem lidos a partir da memória de quadro 1405, e grava sequencialmente os dados de imagem codificados como um fluxo contínuo de vídeo no buffer de ES de vídeo 1408A. Também, o motor de codificação/decodificação 1407 lê e decodifica sequencialmente um fluxo contínuo de vídeo proveniente do buffer de ES de vídeo 1408B, e grava sequencialmente o fluxo contínuo decodificado de vídeo como dados de imagem na memória de quadro 1405, por exemplo. Na codificação e na decodificação, o motor de codificação/decodificação 1407 usa a memória de quadro 1405 como uma área de trabalho. O motor de codificação/decodificação 1407 também transmite um sinal de sincronização para a unidade de controle de memória 1406 quando um processo para um macrobloco for iniciado, por exemplo.[00453] The encoding/decoding engine 1407 performs a process of encoding image data, and a process of decoding a video stream comprising data generated by encoding image data. For example, encode/decode engine 1407 encodes picture data read from frame memory 1405, and sequentially writes the encoded picture data as a video stream into video IE buffer 1408A. Also, encode/decode engine 1407 sequentially reads and decodes a video stream from video IE buffer 1408B, and sequentially writes the decoded video stream as image data into frame memory 1405, for example. In encoding and decoding, encoding/decoding engine 1407 uses frame memory 1405 as a work area. Encoding/decoding engine 1407 also transmits a timing signal to memory control unit 1406 when a process for a macroblock is started, for example.
[00454] O buffer de ES de vídeo 1408A submete a buffer um fluxo contínuo de vídeo gerado pelo motor de codificação/decodificação 1407, e supre o fluxo contínuo de vídeo para o multiplexador (MUX) 1412. O buffer de ES de vídeo 1408B submete a buffer um fluxo contínuo de vídeo suprido a partir do demultiplexador (DMUX) 1413, e supre o fluxo contínuo de vídeo para o motor de codificação/decodificação 1407.[00454] The video IO buffer 1408A buffers a video stream generated by the encode/decode engine 1407, and supplies the video stream to the multiplexer (MUX) 1412. The video IO buffer 1408B submits buffers a video stream supplied from demultiplexer (DMUX) 1413, and supplies the video stream to encode/decode engine 1407.
[00455] O buffer de ES de áudio 1409A submete a buffer um fluxo contínuo de áudio gerado pelo codificador de áudio 1410, e supre o fluxo contínuo de áudio para o multiplexador (MUX) 1412. O buffer de ES de áudio 1409B submete a buffer um fluxo contínuo de áudio suprido a partir do demultiplexador (DMUX) 1413, e supre o fluxo contínuo de áudio para o decodificador de áudio 1411.[00455] The audio IO buffer 1409A buffers an audio stream generated by the audio encoder 1410, and supplies the audio stream to the multiplexer (MUX) 1412. The audio IO buffer 1409B buffers a stream of audio supplied from demultiplexer (DMUX) 1413, and supplies the stream of audio to audio decoder 1411.
[00456] O codificador de áudio 1410 realiza conversão digital, por exemplo, em um sinal de áudio inserido a partir da conectividade 1321 (figura 43) ou congêneres, e codifica o sinal de áudio por um método predeterminado, tais como um método de áudio MPEG ou AudioCode número 3 (AC3). O codificador de áudio 1410 grava sequencialmente um fluxo contínuo de áudio, que compreende os dados gerados pela codificação do sinal de áudio, no buffer de ES de áudio 1409A. O decodificador de áudio 1411 decodifica um fluxo contínuo de áudio suprido a partir do buffer de ES de áudio 1409B, realiza conversão para um sinal analógico, por exemplo, e supre o resultado como um sinal de áudio reproduzido para a conectividade 1321 (figura 43) e congêneres.[00456] The audio encoder 1410 performs digital conversion, for example, in an audio signal entered from connectivity 1321 (Figure 43) or the like, and encodes the audio signal by a predetermined method, such as an audio method MPEG or AudioCode number 3 (AC3). Audio encoder 1410 sequentially records a continuous stream of audio comprising the data generated by encoding the audio signal into audio IO buffer 1409A. Audio decoder 1411 decodes a stream of audio supplied from audio IO buffer 1409B, performs conversion to an analog signal, for example, and supplies the result as an audio signal played back to connectivity 1321 (Figure 43). and congeners.
[00457] O multiplexador (MUX) 1412 multiplexa um fluxo contínuo de vídeo e um fluxo contínuo de áudio. Qualquer método pode ser usado nesta multiplexação (ou qualquer formato pode ser usado para o fluxo contínuo de bits a ser gerado pela multiplexação). Nesta multiplexação, o multiplexador (MUX) 1412 também pode adicionar informação de cabeçalho predeterminada ou congêneres no fluxo contínuo de bits. Isto é, o multiplexador (MUX) 1412 pode converter um formato do fluxo contínuo pela realização da multiplexação. Por exemplo, o multiplexador (MUX) 1412 multiplexa um fluxo contínuo de vídeo e um fluxo contínuo de áudio, para converter o formato para um fluxo contínuo de transporte que é um fluxo contínuo de bits em um formato para transferência. Também, o multiplexador (MUX) 1412 multiplexa um fluxo contínuo de vídeo e um fluxo contínuo de áudio, para realizar conversão para dados (dados de arquivo) em um formato de arquivo para gravação, por exemplo.[00457] The multiplexer (MUX) 1412 multiplexes a video stream and an audio stream. Any method can be used for this multiplexing (or any format can be used for the continuous stream of bits to be generated by the multiplexing). In this multiplexing, the multiplexer (MUX) 1412 may also add predetermined header information or the like into the bitstream. That is, the multiplexer (MUX) 1412 can convert a streaming format by performing multiplexing. For example, multiplexer (MUX) 1412 multiplexes a video stream and an audio stream to convert the format to a transport stream which is a stream of bits in a format for transfer. Also, multiplexer (MUX) 1412 multiplexes a video stream and an audio stream to perform conversion to data (file data) in a file format for recording, for example.
[00458] O demultiplexador (DMUX) 1413 demultiplexa um fluxo contínuo de bits gerado pela multiplexação de um fluxo contínuo de vídeo e um fluxo contínuo de áudio, por um método compatível com a multiplexação realizada pelo multiplexador (MUX) 1412. Especificamente, o demultiplexador (DMUX) 1413 extrai um fluxo contínuo de vídeo e um fluxo contínuo de áudio a partir de um fluxo contínuo de bits lido a partir do buffer de fluxo contínuo 1414 (ou separa um fluxo contínuo de vídeo e um fluxo contínuo de áudio). Isto é, o demultiplexador (DMUX) 1413 pode converter um formato de fluxo contínuo pela realização de demultiplexação (a conversão reversa da conversão realizada pelo multiplexador (MUX) 1412). Por exemplo, o demultiplexador (DMUX) 1413 adquire, por meio do buffer de fluxo contínuo 1414, um fluxo contínuo de transporte suprido a partir da conectividade 1321 ou do modem de banda larga 1333 (ambos mostrados na figura 43), por exemplo, e demultiplexa o fluxo contínuo de transporte, para converter o fluxo contínuo de transporte em um fluxo contínuo de vídeo e um fluxo contínuo de áudio. Também, o demultiplexador (DMUX) 1413 adquire, por meio do buffer de fluxo contínuo 1414, dados de arquivo lidos a partir de uma mídia de gravação de qualquer tipo através da conectividade 1321 (figura 43), por exemplo, e demultiplexa os dados de arquivo, para converter os dados de arquivo em um fluxo contínuo de vídeo e um fluxo contínuo de áudio.[00458] The demultiplexer (DMUX) 1413 demultiplexes a bit stream generated by multiplexing a video stream and an audio stream, by a method compatible with the multiplexing performed by the multiplexer (MUX) 1412. Specifically, the demultiplexer (DMUX) 1413 extracts a video stream and an audio stream from a bit stream read from the stream buffer 1414 (or separates a video stream and an audio stream). That is, demultiplexer (DMUX) 1413 can convert a streaming format by performing demultiplexing (the reverse conversion of the conversion performed by multiplexer (MUX) 1412). For example, demultiplexer (DMUX) 1413 acquires, via streaming buffer 1414, a stream of transport supplied from connectivity 1321 or broadband modem 1333 (both shown in Fig. 43), for example, and demultiplexes the transport stream to convert the transport stream into a video stream and an audio stream. Also, demultiplexer (DMUX) 1413 acquires, via streaming buffer 1414, file data read from a recording medium of any type via connectivity 1321 (FIG. 43), for example, and demultiplexes the data from file, to convert the file data into a video stream and an audio stream.
[00459] O buffer de fluxo contínuo 1414 submete a buffer um fluxo contínuo de bits. Por exemplo, o buffer de fluxo contínuo 1414 submete a buffer um fluxo contínuo de transporte suprido a partir do multiplexador (MUX) 1412, e supre o fluxo contínuo de transporte para a conectividade 1321 ou o modem de banda larga 1333 (ambos mostrados na figura 43), por exemplo, em um tempo predeterminado ou em resposta a uma solicitação ou congêneres provenientes do exterior.[00459] Stream buffer 1414 buffers a stream of bits. For example, streaming buffer 1414 buffers a stream of transport supplied from multiplexer (MUX) 1412, and supplies the streaming transport to connectivity 1321 or broadband modem 1333 (both shown in Fig. 43), for example, at a predetermined time or in response to a request or the like from abroad.
[00460] Também, o buffer de fluxo contínuo 1414 submete a buffer dados de arquivo supridos a partir do multiplexador (MUX) 1412, e supre os dados de arquivo para a conectividade 1321 (figura 43) ou congêneres em um tempo predeterminado ou em resposta a uma solicitação ou congêneres provenientes do exterior, para gravar os dados de arquivo em uma mídia de gravação de qualquer tipo, por exemplo.[00460] Also, the streaming buffer 1414 buffers file data supplied from the multiplexer (MUX) 1412, and supplies the file data to connectivity 1321 (FIG. 43) or the like at a predetermined time or in response to a request or the like from abroad, to record the archival data on a recording medium of any kind, for example.
[00461] Adicionalmente, o buffer de fluxo contínuo 1414 submete a buffer um fluxo contínuo de transporte obtido por meio da conectividade 1321 ou do modem de banda larga 1333 (ambos mostrados na figura 43), por exemplo, e supre o fluxo contínuo de transporte para o demultiplexador (DMUX) 1413 em um tempo predeterminado ou em resposta a uma solicitação ou congêneres provenientes do exterior.[00461] Additionally, the streaming buffer 1414 buffers a transport stream obtained via connectivity 1321 or broadband modem 1333 (both shown in Fig. 43 ), for example, and supplies the transport stream to demultiplexer (DMUX) 1413 at a predetermined time or in response to a request or the like from outside.
[00462] Também, o buffer de fluxo contínuo 1414 submete a buffer dados de arquivo lidos a partir de uma mídia de gravação de qualquer tipo na conectividade 1321 (figura 43), por exemplo, e supre os dados de arquivo para o demultiplexador (DMUX) 1413 em um tempo predeterminado ou em resposta a uma solicitação ou congêneres provenientes do exterior.[00462] Also, the streaming buffer 1414 buffers file data read from a recording medium of any type in connectivity 1321 (Figure 43), for example, and supplies the file data to the demultiplexer (DMUX ) 1413 at a predetermined time or in response to a request or the like from abroad.
[00463] A seguir, uma operação de exemplo do processador de vídeo 1332 com a configuração exposta é descrita. Por exemplo, um sinal de vídeo que é inserido a partir da conectividade 1321 (figura 43) ou congêneres no processador de vídeo 1332 é convertido para dados de imagem digital em um formato predeterminado, tal como o formato 4:2:2 Y/Cb/Cr, na unidade de processamento de entrada de vídeo 1401, e os dados de imagem digital são sequencialmente gravados na memória de quadro 1405. Os dados de imagem digital também são lidos na primeira unidade de ampliação/redução de imagem 1402 ou na segunda unidade de ampliação/redução de imagem 1403, são sujeitos a conversão de formato para um formato predeterminado, tal como o formato 4:2:0 Y/Cb/Cr, e a um processo de ampliação/redução, e são novamente gravados na memória de quadro 1405. Estes dados de imagem são codificados pelo motor de codificação/decodificação 1407, e são gravados como um fluxo contínuo de vídeo no buffer de ES de vídeo 1408A.[00463] Below, an example operation of the 1332 video processor with the exposed configuration is described. For example, a video signal that is input from connectivity 1321 (Figure 43) or the like at video processor 1332 is converted to digital image data in a predetermined format, such as 4:2:2 Y/Cb format. /Cr, into the video input processing unit 1401, and the digital image data is sequentially written into the frame memory 1405. The digital image data is also read into the first image enlargement/reduction unit 1402 or the second unit image enlargement/reduction method 1403, are subjected to aspect ratio conversion to a predetermined aspect ratio, such as 4:2:0 Y/Cb/Cr format, and an enlargement/reduction process, and are again recorded in the image memory. frame 1405. This image data is encoded by encode/decode engine 1407, and is recorded as a video stream in video IO buffer 1408A.
[00464] Neste particular, um sinal de áudio que é inserido a partir da conectividade 1321 (figura 43) ou congêneres no processador de vídeo 1332 é codificado pelo codificador de áudio 1410, e é gravado como um fluxo contínuo de áudio no buffer de ES de áudio 1409A.[00464] In this particular, an audio signal that is inserted from the connectivity 1321 (Figure 43) or the like in the video processor 1332 is encoded by the audio encoder 1410, and is recorded as a continuous stream of audio in the ES buffer 1409A audio jack.
[00465] O fluxo contínuo de vídeo no buffer de ES de vídeo 1408A e o fluxo contínuo de áudio no buffer de ES de áudio 1409A são lidos no multiplexador (MUX) 1412, são, então, multiplexados e são convertidos para um fluxo contínuo de transporte ou dados de arquivo ou congêneres. Um fluxo contínuo de transporte gerado pelo multiplexador (MUX) 1412 é submetido a buffer pelo buffer de fluxo contínuo 1414, e é, então, transmitido para uma rede externa por meio da conectividade 1321 ou do modem de banda larga 1333 (ambos mostrados na figura 43), por exemplo. Também, dados de arquivo gerados pelo multiplexador (MUX) 1412 são submetidos a buffer pelo buffer de fluxo contínuo 1414, são transmitidos para a conectividade 1321 (figura 43), por exemplo, e são gravados em uma mídia de gravação de qualquer tipo.[00465] The video stream in video SE buffer 1408A and the audio stream in audio SE buffer 1409A are read into multiplexer (MUX) 1412, are then multiplexed, and are converted to a stream of audio transport or file data or the like. A transport stream generated by multiplexer (MUX) 1412 is buffered by streaming buffer 1414, and is then transmitted to an external network via connectivity 1321 or broadband modem 1333 (both shown in Fig. 43), for example. Also, file data generated by the multiplexer (MUX) 1412 is buffered by the streaming buffer 1414, is transmitted to the connectivity 1321 (Fig. 43), for example, and is recorded on a recording medium of any type.
[00466] Neste particular, um fluxo contínuo de transporte que é inserido a partir de uma rede externa no processador de vídeo 1332 por meio da conectividade 1321 ou do modem de banda larga 1333 (ambos mostrados na figura 43), por exemplo, é submetido a buffer pelo buffer de fluxo contínuo 1414 e é, então, demultiplexado pelo demultiplexador (DMUX) 1413. Também, dados de arquivo que são lidos a partir de uma mídia de gravação de qualquer tipo na conectividade 1321 (figura 43) ou congêneres e são inseridos no processador de vídeo 1332 são submetidos a buffer pelo buffer de fluxo contínuo 1414 e são, então, demultiplexados pelo demultiplexador (DMUX) 1413. Isto é, um fluxo contínuo de transporte ou dados de arquivo que são inseridos no processador de vídeo 1332 são divididos em um fluxo contínuo de vídeo e um fluxo contínuo de áudio pelo demultiplexador (DMUX) 1413.[00466] In this regard, a streaming transport that is inserted from an external network into the video processor 1332 via connectivity 1321 or broadband modem 1333 (both shown in figure 43), for example, is submitted buffered by the streaming buffer 1414 and is then demultiplexed by the demultiplexer (DMUX) 1413. Also, file data that is read from a recording medium of any type in connectivity 1321 (FIG. 43) or the like and is input to video processor 1332 is buffered by stream buffer 1414 and is then demultiplexed by demultiplexer (DMUX) 1413. That is, a stream of transport or file data that is input to video processor 1332 is divided into a video stream and an audio stream by the demultiplexer (DMUX) 1413.
[00467] O fluxo contínuo de áudio é suprido para o decodificador de áudio 1411 por meio do buffer de ES de áudio 1409B e é, então, decodificado para reproduzir um sinal de áudio. Neste particular, o fluxo contínuo de vídeo é gravado no buffer de ES de vídeo 1408B, é, então, sequencialmente lido e decodificado pelo motor de codificação/decodificação 1407 e é gravado na memória de quadro 1405. Os dados de imagem decodificados são sujeitos a um processo de ampliação/redução pela segunda unidade de ampliação/redução de imagem 1403 e são gravados na memória de quadro 1405. Os dados de imagem decodificados são, então, lidos na unidade de processamento de saída de vídeo 1404, são sujeitos a conversão de formato para um formato predeterminado, tal como o formato 4:2:2Y/Cb/Cr, e são adicionalmente convertidos para um sinal analógico, de forma que um sinal de vídeo seja reproduzido e transmitido.[00467] The audio stream is supplied to audio decoder 1411 via audio IO buffer 1409B and is then decoded to reproduce an audio signal. In this regard, the video stream is written to video IE buffer 1408B, is then sequentially read and decoded by encode/decode engine 1407, and is written to frame memory 1405. The decoded picture data is subjected to an enlargement/reduction process by the second image enlargement/reduction unit 1403 and are written to the frame memory 1405. The decoded picture data is then read from the video output processing unit 1404, is subjected to conversion from format to a predetermined format, such as 4:2:2Y/Cb/Cr format, and are further converted to an analog signal so that a video signal is reproduced and transmitted.
[00468] Em um caso em que a presente descrição for aplicada no processador de vídeo 1332 projetado como exposto, a presente descrição de acordo com qualquer uma das supradescritas modalidades pode ser aplicada no motor de codificação/decodificação 1407. Isto é, o motor de codificação/decodificação 1407 pode ter as funções do dispositivo de codificação e do dispositivo de decodificação de acordo com a primeira modalidade, por exemplo. Com isto, o processador de vídeo 1332 pode alcançar efeitos similares àqueles supradescritos em relação às figuras 1 até 25.[00468] In a case where the present description is applied to the video processor 1332 designed as set forth, the present description according to any of the above-described embodiments can be applied to the encoding/decoding engine 1407. That is, the encoding engine encoding/decoding 1407 may have the functions of encoding device and decoding device according to the first embodiment, for example. With this, the video processor 1332 can achieve effects similar to those described above with respect to Figures 1 through 25.
[00469] Deve-se notar que, no motor de codificação/decodificação 1407, a presente descrição (ou as funções do dispositivo de codificação de imagem e do dispositivo de decodificação de imagem de acordo com um das supradescritas modalidades) pode ser incorporada por hardware, tal como um circuito lógico, pode ser incorporada por software, tal como um programa embutido, ou pode ser incorporada tanto por hardware quanto por software.[00469] It should be noted that, in the encoding/decoding engine 1407, the present description (or the functions of the image encoding device and the image decoding device according to one of the above-described embodiments) can be embodied by hardware , like a logic circuit, can be built into software, such as an embedded program, or it can be built into both hardware and software.
[00470] A figura 45 mostra esquematicamente uma outra configuração de exemplo do processador de vídeo 1332 (figura 43) no qual a presente descrição é aplicada. No caso de exemplo mostrado na figura 45, o processador de vídeo 1332 tem uma função para codificar e decodificar dados de vídeo por um método predeterminado.[00470] Figure 45 schematically shows another example configuration of the video processor 1332 (Figure 43) in which the present description is applied. In the example case shown in Fig. 45, the video processor 1332 has a function for encoding and decoding video data by a predetermined method.
[00471] Mais especificamente, da forma mostrada na figura 45, o processador de vídeo 1332 inclui uma unidade de controle 1511, uma interface de exibição 1512, um motor de exibição 1513, um motor de processamento de imagem 1514 e uma memória interna 1515. O processador de vídeo 1332 também inclui um motor de codec 1516, uma interface de memória 1517, um multiplexador/demultiplexador (MUX DMUX) 1518, uma interface de rede 1519 e uma interface de vídeo 1520.[00471] More specifically, as shown in Figure 45, the video processor 1332 includes a control unit 1511, a display interface 1512, a display engine 1513, an image processing engine 1514 and an internal memory 1515. Video processor 1332 also includes a codec engine 1516, a memory interface 1517, a multiplexer/demultiplexer (MUX DMUX) 1518, a network interface 1519, and a video interface 1520.
[00472] A unidade de controle 1511 controla as operações das respectivas unidades de processamento no processador de vídeo 1332, tais como a interface de exibição 1512, o motor de exibição 1513, o motor de processamento de imagem 1514 e o motor de codec 1516.[00472] The control unit 1511 controls the operations of the respective processing units in the video processor 1332, such as the display interface 1512, the display engine 1513, the image processing engine 1514 and the codec engine 1516.
[00473] Da forma mostrada na figura 45, a unidade de controle 1511 inclui uma CPU principal 1531, uma CPU subordinada 1532, e um controlador de sistema 1533, por exemplo. A CPU principal 1531 executa um programa ou congêneres para controlar as operações das respectivas unidades de processamento no processador de vídeo 1332. A CPU principal 1531 gera um sinal de controle de acordo com o programa ou congêneres, e supre o sinal de controle para as respectivas unidades de processamento (ou controla as operações das respectivas unidades de processamento). A CPU subordinada 1532 desempenha um papel auxiliar para a CPU principal 1531. Por exemplo, a CPU subordinada 1532 executa um processo filho, uma sub-rotina ou congêneres do programa ou congêneres a ser executados pela CPU principal 1531. O controlador de sistema 1533 controla as operações da CPU principal 1531 e da CPU subordinada 1532, tal como designar programas a serem executados pela CPU principal 1531 e pela CPU subordinada 1532.[00473] As shown in Fig. 45, the control unit 1511 includes a main CPU 1531, a subordinate CPU 1532, and a system controller 1533, for example. The main CPU 1531 executes a program or the like to control the operations of the respective processing units in the video processor 1332. The main CPU 1531 generates a control signal in accordance with the program or the like, and supplies the control signal to the respective processing units (or controls the operations of the respective processing units). Slave CPU 1532 plays an auxiliary role to master CPU 1531. For example, slave CPU 1532 executes a child process, a subroutine or the like of the program or the like to be executed by the master CPU 1531. The system controller 1533 controls the operations of the master CPU 1531 and the slave CPU 1532, such as assigning programs to be executed by the master CPU 1531 and the slave CPU 1532.
[00474] Sob o controle da unidade de controle 1511, a interface de exibição 1512 transmite dados de imagem para a conectividade 1321 (figura 43), por exemplo. A interface de exibição 1512 converte dados de imagem digital em um sinal analógico, e transmite os dados de imagem como um sinal de vídeo reproduzido ou os dados de imagem digital como eles estão para um dispositivo de monitor ou congêneres da conectividade 1321 (figura 43), por exemplo.[00474] Under the control of the control unit 1511, the display interface 1512 transmits image data to connectivity 1321 (Figure 43), for example. The display interface 1512 converts digital image data into an analog signal, and transmits the image data as a reproduced video signal or the digital image data as-is to a display device or the like of connectivity 1321 (Figure 43). , for example.
[00475] Sob o controle da unidade de controle 1511, o motor de exibição 1513 realiza vários processos de conversão, tais como conversão de formato, conversão de tamanho e conversão de gama de cor, nos dados de imagem, para se conformar com as especificações de hardware do dispositivo de monitor ou congêneres que exibirão a imagem.[00475] Under the control of the control unit 1511, the display engine 1513 performs various conversion processes, such as format conversion, size conversion and color gamma conversion, on the image data, to conform to the specifications hardware of the monitor device or the like that will display the image.
[00476] Sob o controle da unidade de controle 1511, o motor de processamento de imagem 1514 realiza processamento de imagem predeterminado, tal como um processo de filtragem, para melhorar a qualidade de imagem, nos dados de imagem.[00476] Under the control of the control unit 1511, the image processing engine 1514 performs predetermined image processing, such as a filtering process, to improve the image quality on the image data.
[00477] A memória interna 1515 é uma memória que é compartilhada entre o motor de exibição 1513, o motor de processamento de imagem 1514 e o motor de codec 1516, e é provida no processador de vídeo 1332. A memória interna 1515 é usada na troca de dados entre o motor de exibição 1513, o motor de processamento de imagem 1514 e o motor de codec 1516, por exemplo. A memória interna 1515 armazena dados supridos a partir do motor de exibição 1513, do motor de processamento de imagem 1514 ou do motor de codec 1516, e supre os dados para o motor de exibição 1513, o motor de processamento de imagem 1514 ou o motor de codec 1516, conforme necessário (em resposta a uma solicitação, por exemplo). A memória interna 1515 pode ser formada com qualquer dispositivo de armazenamento. Normalmente, a memória interna 1515 é frequentemente usada para armazenar pequenos volumes de dados, tais como dados de imagem e parâmetros com base em bloco. Portanto, a memória interna 1515 é preferivelmente formada com uma memória semicondutora que tem uma capacidade relativamente pequena (comparada com a memória externa 1312), mas tem uma alta velocidade de resposta, tal como uma memória de acesso aleatório estática (SRAM).[00477] The internal memory 1515 is a memory that is shared between the display engine 1513, the image processing engine 1514 and the codec engine 1516, and is provided in the video processor 1332. The internal memory 1515 is used in the exchanging data between the display engine 1513, the image processing engine 1514 and the codec engine 1516, for example. Internal memory 1515 stores data supplied from display engine 1513, image processing engine 1514, or codec engine 1516, and supplies the data to display engine 1513, image processing engine 1514, or of codec 1516 as needed (in response to a request, for example). Internal memory 1515 can be formed with any storage device. Typically, internal memory 1515 is often used to store small volumes of data, such as image data and block-based parameters. Therefore, the internal memory 1515 is preferably formed with a semiconductor memory that has a relatively small capacity (compared to the external memory 1312) but has a high response speed, such as static random access memory (SRAM).
[00478] O motor de codec 1516 realiza processamento relacionado a codificação e decodificação dos dados de imagem. O motor de codec 1516 é compatível com qualquer método de codificação/decodificação, e o número de métodos compatíveis pode ser um, ou pode ser dois ou mais. Por exemplo, o motor de codec 1516 tem uma função de codec compatível com métodos de codificação/decodificação, e pode codificar dados de imagem ou decodificar dados codificados por um método selecionado a partir destes métodos.[00478] The codec engine 1516 performs processing related to encoding and decoding of image data. The codec engine 1516 supports any encoding/decoding method, and the number of supported methods can be one, or it can be two or more. For example, codec engine 1516 has a codec function compatible with encoding/decoding methods, and can encode image data or decode data encoded by a method selected from these methods.
[00479] No exemplo mostrado na figura 45, o motor de codec 1516 inclui MPEG-2 Vídeo 1541, AVC/H.264 1542, HEVC/H.265 1543, HEVC/H.265 (Escalonável) 1544, HEVC/H.265 (Multivisualizações) 1545 e MPEG-DASH 1551, como blocos funcionais para processamento relacionado a codec.[00479] In the example shown in Fig. 45, the codec engine 1516 includes MPEG-2 Video 1541, AVC/H.264 1542, HEVC/H.265 1543, HEVC/H.265 (Scalable) 1544, HEVC/H. 265 (Multiview) 1545 and MPEG-DASH 1551, as functional blocks for codec-related processing.
[00480] O MPEG-2 Vídeo 1541 é um bloco funcional que codifica ou decodifica dados de imagem por MPEG-2. O AVC/H.264 1542 é um bloco funcional que codifica ou decodifica dados de imagem por AVC. O HEVC/H.265 1543 é um bloco funcional que codifica ou decodifica dados de imagem por HEVC. O HEVC/H.265 (Escalonável) 1544 é um bloco funcional que realiza codificação escalonável ou decodificação escalonável em dados de imagem por HEVC. O HEVC/H.265 (Multivisualizações) 1545 é um bloco funcional que realiza codificação multivisualizações ou decodificação multivisualizações nos dados de imagem por HEVC.[00480] The MPEG-2 Video 1541 is a functional block that encodes or decodes image data by MPEG-2. AVC/H.264 1542 is a functional block that encodes or decodes image data by AVC. HEVC/H.265 1543 is a function block that encodes or decodes image data by HEVC. HEVC/H.265 (Scalable) 1544 is a function block that performs scalable encoding or scalable decoding on HEVC image data. HEVC/H.265 (Multiview) 1545 is a function block that performs multiview encoding or multiview decoding on HEVC image data.
[00481] O MPEG-DASH 1551 é um bloco funcional que transmite e recebe dados de imagem por Transferência Contínua Adaptável Dinâmica MPEG sobre HTTP (MPEG-DASH). MPEG-DASH é uma tecnologia para conduzir transferência contínua de vídeo usando Protocolo de Transferência em HiperTexto (HTTP), e uma das características da mesma reside em selecionar e transmitir, para cada segmento, uma peça apropriada de dados codificados dentre peças de dados codificadas predeterminadas com resoluções diferentes umas das outras. O MPEG-DASH 1551 gera um fluxo contínuo em conformidade com os padrões e realiza controle ou congêneres na transmissão do fluxo contínuo. Quanto à codificação/decodificação dos dados de imagem, o MPEG-DASH 1551 usa o MPEG-2 Vídeo 1541 através do HEVC/H.265 (Multivisualizações) 1545 supradescrito.[00481] The MPEG-DASH 1551 is a functional block that transmits and receives image data by MPEG Dynamic Adaptive Continuous Transfer over HTTP (MPEG-DASH). MPEG-DASH is a technology for conducting streaming video transfer using HyperText Transfer Protocol (HTTP), and one of the characteristics of the same lies in selecting and transmitting, for each segment, an appropriate piece of encoded data among predetermined pieces of encoded data. with different resolutions from each other. The MPEG-DASH 1551 generates a standards-compliant streaming stream and performs control or the like on the streaming stream. As for encoding/decoding the image data, MPEG-DASH 1551 uses MPEG-2 Video 1541 through HEVC/H.265 (Multiview) 1545 described above.
[00482] A interface de memória 1517 é uma interface para a memória externa 1312. Dados supridos a partir do motor de processamento de imagem 1514 e do motor de codec 1516 são supridos para a memória externa 1312 por meio da interface de memória 1517. Neste particular, dados lidos a partir da memória externa 1312 são supridos para o processador de vídeo 1332 (o motor de processamento de imagem 1514 ou o motor de codec 1516) por meio da interface de memória 1517.[00482] The memory interface 1517 is an interface to the external memory 1312. Data supplied from the image processing engine 1514 and the codec engine 1516 are supplied to the external memory 1312 through the memory interface 1517. In particular, data read from external memory 1312 is supplied to video processor 1332 (image processing engine 1514 or codec engine 1516) via memory interface 1517.
[00483] O multiplexador/demultiplexador (MUX DMUX) 1518 multiplexa ou demultiplexa vários tipos de dados relacionados a imagens, tais como um fluxo contínuo de bits de dados codificados, dados de imagem e um sinal de vídeo. Qualquer método pode ser usado nesta multiplexação/demultiplexação. Por exemplo, em um momento de multiplexação, o multiplexador/demultiplexador (MUX DMUX) 1518 pode não apenas integrar peças de dados em uma, mas, também, adicionar informação de cabeçalho predeterminada ou congêneres nos dados. No momento da demultiplexação, o multiplexador/demultiplexador (MUX DMUX) 1518 pode não apenas dividir um conjunto de dados em peças, mas, também, adicionar informação de cabeçalho predeterminada ou congêneres em cada peça dos dados divididos. Isto é, o multiplexador/demultiplexador (MUX DMUX) 1518 pode converter um formato de dados pela realização de multiplexação/demultiplexação. Por exemplo, o multiplexador/demultiplexador (MUX DMUX) 1518 pode converter um fluxo contínuo de bits em um fluxo contínuo de transporte, que é um fluxo contínuo de bits em um formato para transferência, ou em dados (dados de arquivo) em um formato de arquivo para gravação, pela multiplexação do fluxo contínuo de bits. Certamente, a conversão reversa também é possível através da demultiplexação.[00483] The multiplexer/demultiplexer (MUX DMUX) 1518 multiplexes or demultiplexes various types of image-related data, such as a continuous bitstream of encoded data, image data, and a video signal. Any method can be used for this multiplexing/demultiplexing. For example, at a time of multiplexing, the multiplexer/demultiplexer (MUX DMUX) 1518 can not only integrate pieces of data into one, but also add predetermined header information or the like into the data. At the time of demultiplexing, the multiplexer/demultiplexer (MUX DMUX) 1518 can not only divide a set of data into pieces, but also add predetermined header information or the like into each piece of the divided data. That is, the multiplexer/demultiplexer (MUX DMUX) 1518 can convert a data format by performing multiplexing/demultiplexing. For example, multiplexer/demultiplexer (MUX DMUX) 1518 can convert a stream of bits into a transport stream, which is a stream of bits in a format for transfer, or into data (file data) in a format. of file for recording, by multiplexing the continuous stream of bits. Of course, reverse conversion is also possible through demultiplexing.
[00484] A interface de rede 1519 é uma interface para o modem de banda larga 1333 e a conectividade 1321 (ambos mostrados na figura 43), por exemplo. A interface de vídeo 1520 é uma interface para a conectividade 1321 e a câmera 1322 (ambas mostradas na figura 43), por exemplo.[00484] Network interface 1519 is an interface for broadband modem 1333 and connectivity 1321 (both shown in Figure 43), for example. Video interface 1520 is an interface for connectivity 1321 and camera 1322 (both shown in Figure 43), for example.
[00485] A seguir, uma operação de exemplo deste processador de vídeo 1332 é descrita. Quando um fluxo contínuo de transporte for recebido a partir de uma rede externa por meio da conectividade 1321 ou do modem de banda larga 1333 (ambos mostrados na figura 43), por exemplo, o fluxo contínuo de transporte é suprido para o multiplexador/demultiplexador (MUX DMUX) 1518 por meio da interface de rede 1519, é demultiplexado e é decodificado pelo motor de codec 1516. Os dados de imagem obtidos através da decodificação realizada pelo motor de codec 1516 são sujeitos a processamento de imagem predeterminado pelo motor de processamento de imagem 1514, por exemplo, são sujeitos a conversão predeterminada pelo motor de exibição 1513, e são supridos para a conectividade 1321 (figura 43) ou congêneres por meio da interface de exibição 1512, de forma que a imagem seja exibida em um monitor. Também, os dados de imagem obtidos através da decodificação realizada pelo motor de codec 1516 são novamente codificados pelo motor de codec 1516, são multiplexados e convertidos para dados de arquivo pelo multiplexador/demultiplexador (MUX DMUX) 1518, são transmitidos para a conectividade 1321 (figura 43) ou congêneres por meio da interface de vídeo 1520, e são gravados em uma mídia de gravação de qualquer tipo.[00485] In the following, an example operation of this 1332 video processor is described. When a transport stream is received from an external network via connectivity 1321 or broadband modem 1333 (both shown in Fig. 43), for example, the transport stream is supplied to the multiplexer/demultiplexer ( MUX DMUX) 1518 through the network interface 1519, is demultiplexed and is decoded by the codec engine 1516. The image data obtained through the decoding performed by the codec engine 1516 is subjected to predetermined image processing by the image processing engine 1514, for example, are subject to predetermined conversion by display engine 1513, and are provided for connectivity 1321 (Fig. 43) or the like via display interface 1512, so that the image is displayed on a monitor. Also, the image data obtained through the decoding performed by the codec engine 1516 is encoded again by the codec engine 1516, is multiplexed and converted to file data by the multiplexer/demultiplexer (MUX DMUX) 1518, is transmitted to the connectivity 1321 ( figure 43) or the like through the video interface 1520, and are recorded on a recording medium of any type.
[00486] Adicionalmente, dados de arquivo dos dados codificados que são gerados pela codificação de dados de imagem e são lidos a partir de uma mídia de gravação (não mostrada) pela conectividade 1321 (figura 43) ou congêneres são supridos para o multiplexador/demultiplexador (MUX DMUX) 1518 por meio da interface de vídeo 1520, são demultiplexados e são decodificados pelo motor de codec 1516. Os dados de imagem obtidos através da decodificação realizada pelo motor de codec 1516 são sujeitos a processamento de imagem predeterminado pelo motor de processamento de imagem 1514, são sujeitos a conversão predeterminada pelo motor de exibição 1513 e são supridos para a conectividade 1321 (figura 43) ou congêneres por meio da interface de exibição 1512, de forma que a imagem seja exibida em um monitor. Também, os dados de imagem obtidos através da decodificação realizada pelo motor de codec 1516 são novamente codificados pelo motor de codec 1516, são multiplexados e convertidos para um fluxo contínuo de transporte pelo multiplexador/demultiplexador (MUX DMUX) 1518, são supridos para a conectividade 1321 ou o modem de banda larga 1333 (ambos mostrados na figura 43), por exemplo, por meio da interface de rede 1519, e são transmitidos para um outro aparelho (não mostrado).[00486] Additionally, file data of the encoded data that is generated by encoding image data and is read from a recording medium (not shown) by connectivity 1321 (Figure 43) or the like are supplied to the multiplexer/demultiplexer (MUX DMUX) 1518 through the video interface 1520, are demultiplexed and are decoded by the codec engine 1516. The image data obtained through the decoding performed by the codec engine 1516 is subjected to predetermined image processing by the video processing engine. image 1514, are subject to predetermined conversion by display engine 1513 and are supplied to connectivity 1321 (Fig. 43) or the like via display interface 1512, so that the image is displayed on a monitor. Also, the image data obtained through the decoding performed by the codec engine 1516 is encoded again by the codec engine 1516, is multiplexed and converted to a transport stream by the multiplexer/demultiplexer (MUX DMUX) 1518, is supplied for connectivity 1321 or broadband modem 1333 (both shown in Fig. 43), for example, via network interface 1519, and are transmitted to another device (not shown).
[00487] Deve-se notar que a troca de dados de imagem e outros dados entre as respectivas unidades de processamento no processador de vídeo 1332 é conduzida com o uso da memória interna 1515 ou da memória externa 1312, por exemplo. Além do mais, o módulo de gerenciamento de energia 1313 controla o suprimento de energia para a unidade de controle 1511, por exemplo.[00487] It should be noted that the exchange of image data and other data between the respective processing units in the video processor 1332 is conducted using the internal memory 1515 or the external memory 1312, for example. Furthermore, the power management module 1313 controls the power supply to the control unit 1511, for example.
[00488] Em um caso em que a presente descrição for aplicada no processador de vídeo 1332 projetado como exposto, a presente descrição de acordo com qualquer uma das supradescritas modalidades pode ser aplicada no motor de codec 1516. Isto é, o motor de codec 1516 pode ter os blocos funcionais que formam o dispositivo de codificação e o dispositivo de decodificação de acordo com a primeira modalidade, por exemplo. Adicionalmente, como o motor de codec 1516 é projetado como exposto, o processador de vídeo 1332 pode alcançar efeitos similares àqueles supradescritos em relação às figuras 1 até 25.[00488] In a case where the present description is applied on the video processor 1332 designed as set out, the present description according to any of the above-described embodiments can be applied on the codec engine 1516. That is, the codec engine 1516 it may have the functional blocks that form the coding device and the decoding device according to the first embodiment, for example. Additionally, as the codec engine 1516 is designed as shown, the video processor 1332 can achieve effects similar to those described above with respect to Figures 1 through 25.
[00489] Deve-se notar que, no motor de codec 1516, a presente descrição (ou as funções de um dispositivo de codificação de imagem e um dispositivo de decodificação de imagem de acordo com qualquer uma das supradescritas modalidades) pode ser incorporada por hardware, tal como um circuito lógico, pode ser incorporada por software, tal como um programa embutido, ou pode ser incorporada tanto por hardware quanto por software.[00489] It should be noted that in the codec engine 1516, the present description (or the functions of a picture coding device and a picture decoding device according to any of the above-described embodiments) can be embodied by hardware , like a logic circuit, can be built into software, such as an embedded program, or it can be built into both hardware and software.
[00490] Embora duas configurações de exemplo para o processador de vídeo 1332 tenham sido supradescritas, o processador de vídeo 1332 pode ter qualquer configuração apropriada diferente das duas configurações de exemplo supradescritas. Também, o processador de vídeo 1332 pode ser formado como um único chip semicondutor, ou pode ser formado como chips semicondutores. Por exemplo, o processador de vídeo 1332 pode ser formado como uma LSI empilhada tridimensional na qual semicondutores são empilhados. Alternativamente, o processador de vídeo 1332 pode ser formado com LSIs.[00490] Although two example configurations for video processor 1332 have been described above, video processor 1332 may have any appropriate configuration other than the two example configurations described above. Also, the video processor 1332 can be formed as a single semiconductor chip, or it can be formed as semiconductor chips. For example, video processor 1332 can be formed as a three-dimensional stacked LSI in which semiconductors are stacked. Alternatively, video processor 1332 may be formed with LSIs.
[00491] O aparelho de vídeo 1300 pode ser incorporado em vários aparelhos que processam dados de imagem. Por exemplo, o aparelho de vídeo 1300 pode ser incorporado no aparelho de televisão 900 (figura 36), no aparelho de telefone portátil 920 (figura 37), no aparelho de gravação/reprodução 940 (figura 38), no aparelho de formação de imagem 960 (figura 39) e congêneres. Como o aparelho de vídeo 1300 é incorporado em um aparelho, o aparelho pode alcançar efeitos similares àqueles supradescritos em relação às figuras 1 até 25.[00491] The video apparatus 1300 can be incorporated into various apparatus that process image data. For example, the video apparatus 1300 can be incorporated into the television apparatus 900 (Figure 36), the portable telephone apparatus 920 (Figure 37), the recording/reproduction apparatus 940 (Figure 38), the image forming apparatus 960 (figure 39) and the like. As the video apparatus 1300 is incorporated in an apparatus, the apparatus can achieve effects similar to those described above with respect to figures 1 to 25.
[00492] O aparelho de vídeo 1300 também pode ser incorporado em dispositivos de terminal, tais como o computador pessoal 1004, o dispositivo AV 1005, o dispositivo tipo tablet 1006 e o dispositivo tipo telefone portátil 1007, no sistema de transmissão de dados 1000 mostrado na figura 40, na estação de difusão 1101 e no dispositivo de terminal 1102 no sistema de transmissão de dados 1100 mostrado na figura 41, e no aparelho de formação de imagem 1201 e no dispositivo de armazenamento de dados codificados escalonáveis 1202 no sistema de formação de imagem 1200 mostrado na figura 42, por exemplo. Como o aparelho de vídeo 1300 é incorporado em um aparelho, o aparelho pode alcançar efeitos similares àqueles supradescritos em relação às figuras 1 até 25.[00492] The video apparatus 1300 can also be incorporated into terminal devices, such as the personal computer 1004, the AV device 1005, the tablet device 1006 and the portable phone device 1007, in the data transmission system 1000 shown 40, the broadcasting station 1101 and the terminal device 1102 in the data transmission system 1100 shown in Fig. 41, and the image forming apparatus 1201 and the scalable encoded data storage device 1202 in the image forming system. image 1200 shown in Fig. 42, for example. As the video apparatus 1300 is incorporated in an apparatus, the apparatus can achieve effects similar to those described above with respect to figures 1 to 25.
[00493] Deve-se notar que, mesmo um dos componentes no supradescrito aparelho de vídeo 1300 pode ser incorporado como uma estrutura na qual a presente descrição é aplicada, desde que o um componente inclua o processador de vídeo 1332. Por exemplo, o processador de vídeo 1332 pode ser incorporado como um processador de vídeo no qual a presente descrição é aplicada. Também, o processador indicado pela supramencionada linha tracejada 1341, pelo módulo de vídeo 1311 e congêneres pode ser incorporado como um processador, um módulo e congêneres nos quais a presente descrição é aplicada. Adicionalmente, o módulo de vídeo 1311, a memória externa 1312, o módulo de gerenciamento de energia 1313 e o módulo de interface inicial 1314, por exemplo, podem ser combinados em uma unidade de vídeo 1361 na qual a presente descrição é aplicada. Com qualquer uma das estruturas expostas, efeitos similares àqueles supradescritos em relação às figuras 1 até 25 podem ser alcançados.[00493] It should be noted that even one of the components in the above-described video apparatus 1300 can be incorporated as a structure to which the present description is applied, as long as the one component includes the video processor 1332. For example, the processor video processor 1332 may be incorporated as a video processor to which the present description is applied. Also, the processor indicated by the aforementioned dashed line 1341, the video module 1311 and the like can be incorporated as a processor, a module and the like to which the present description is applied. Additionally, the video module 1311, the external memory 1312, the power management module 1313 and the home interface module 1314, for example, can be combined into a video unit 1361 to which the present description is applied. With any of the exposed structures, effects similar to those described above in relation to figures 1 to 25 can be achieved.
[00494] Isto é, como o aparelho de vídeo 1300, qualquer estrutura que inclui o processador de vídeo 1332 pode ser incorporada em vários tipos de aparelhos que processam dados de imagem. Por exemplo, o processador de vídeo 1332, o processador indicado pela linha tracejada 1341, o módulo de vídeo 1311 ou a unidade de vídeo 1361 podem ser incorporados no aparelho de televisão 900 (figura 36), no aparelho de telefone portátil 920 (figura 37), no aparelho de gravação/reprodução 940 (figura 38), no aparelho de formação de imagem 960 (figura 39), nos dispositivos de terminal, tais como o computador pessoal 1004, o dispositivo AV 1005, o dispositivo tablet 1006 e o dispositivo de telefone portátil 1007 no sistema de transmissão de dados 1000 mostrado na figura 40, na estação de difusão 1101 e no dispositivo de terminal 1102 no sistema de transmissão de dados 1100 mostrado na figura 41, e no aparelho de formação de imagem 1201 e no dispositivo de armazenamento de dados codificados escalonáveis 1202 no sistema de formação de imagem 1200 mostrado na figura 42. Como uma das estruturas nas quais a presente descrição é aplicada é incorporada em um aparelho, o aparelho pode alcançar efeitos similares àqueles supradescritos em relação às figuras 1 até 25, como no caso do aparelho de vídeo 1300.[00494] That is, like the video apparatus 1300, any structure that includes the video processor 1332 can be incorporated into various types of apparatus that process image data. For example, the video processor 1332, the processor indicated by the dashed line 1341, the video module 1311 or the video unit 1361 can be incorporated in the television set 900 (Figure 36), in the portable telephone set 920 (Figure 37 ), recording/playback apparatus 940 (Fig. 38), imaging apparatus 960 (Fig. 39), terminal devices such as personal computer 1004, AV device 1005, tablet device 1006, and device 40, the broadcasting station 1101 and the terminal device 1102 in the data transmission system 1100 shown in Fig. 41, and the image forming apparatus 1201 and the device scalable coded data storage 1202 in the image forming system 1200 shown in Fig. 42. As one of the structures to which the present disclosure is applied is incorporated in an apparatus, the apparatus can achieve effects similar to those described above with respect to Figs. 25, as in the case of the video device 1300.
[00495] Deve-se notar que, neste relatório descritivo, exemplos nos quais várias peças de informação, tais como um VPS e um SPS, são multiplexadas com dados codificados e são transmitidas do lado de codificação para o lado de decodificação foram descritos. Entretanto, o método de transmissão da informação não é limitado aos exemplos expostos. Por exemplo, as peças de informação podem ser transmitidas ou gravadas como dados separados associados com dados codificados, sem ser multiplexadas com os dados codificados. Aqui, o termo "associar" significa permitir que imagens (que podem ser parte de imagens, tais como fatias ou blocos) contidas em um fluxo contínuo de bits sejam ligadas à informação correspondente às imagens no momento da decodificação. Isto é, a informação pode ser transmitida por meio de um trajeto de transmissão diferente daquele para os dados codificados. Alternativamente, a informação pode ser gravada em uma mídia de gravação (ou em uma área diferente na mesma mídia de gravação) diferente da mídia de gravação para os dados codificados. Além do mais, a informação e os dados codificados podem ser associados uns com os outros em quaisquer unidades, tais como em unidades de alguns quadros, um quadro ou parte de um quadro.[00495] It should be noted that, in this specification, examples in which various pieces of information, such as a VPS and an SPS, are multiplexed with encoded data and are transmitted from the encoding side to the decoding side have been described. However, the method of transmitting the information is not limited to the exposed examples. For example, pieces of information can be transmitted or recorded as separate data associated with encoded data, without being multiplexed with the encoded data. Here, the term "associate" means allowing images (which may be part of images, such as slices or blocks) contained in a continuous stream of bits to be linked with information corresponding to the images at the time of decoding. That is, the information may be transmitted via a different transmission path than the encoded data. Alternatively, the information may be recorded on a recording medium (or in a different area on the same recording medium) different from the recording medium for the encoded data. Furthermore, the encoded information and data can be associated with each other in any units, such as in units of a few frames, a frame or part of a frame.
[00496] Além do mais, neste relatório descritivo, um sistema significa um conjunto de componentes (aparelhos, módulos (partes) e congêneres), e nem todos os componentes precisam ser providos no mesmo alojamento. Em vista disto, aparelhos que são alojados em diferentes alojamentos e são conectados uns nos outros por meio de uma rede formam um sistema, e um aparelho com módulos alojados em um alojamento também é um sistema.[00496] Furthermore, in this descriptive report, a system means a set of components (appliances, modules (parts) and the like), and not all components need to be provided in the same housing. In view of this, apparatus that are housed in different housings and are connected to each other via a network form a system, and an apparatus with modules housed in one housing is also a system.
[00497] Os efeitos vantajosos descritos neste relatório descritivo são meramente exemplos, e os efeitos vantajosos da presente tecnologia não são limitados aos mesmos e podem incluir outros efeitos.[00497] The advantageous effects described in this specification are merely examples, and the advantageous effects of the present technology are not limited to them and may include other effects.
[00498] Deve-se notar que modalidades da presente descrição não são limitadas às supradescritas modalidades, e várias modificações podem ser feitas nas mesmas sem fugir do escopo da presente descrição.[00498] It should be noted that embodiments of the present description are not limited to the above-described embodiments, and various modifications can be made to them without departing from the scope of the present description.
[00499] Por exemplo, a presente descrição também pode ser aplicada em um dispositivo de codificação e em um dispositivo de decodificação que implementam um método de codificação diferente de HEVC, e podem realizar omissão de transformada.[00499] For example, the present description can also be applied to an encoding device and a decoding device that implement an encoding method other than HEVC, and can perform transform omission.
[00500] A presente descrição também pode ser aplicada em um dispositivo de codificação e em um dispositivo de decodificação que são usados para receber um fluxo contínuo codificado por meio de uma mídia em rede, tais como difusão via satélite, TV a cabo, a Internet ou um telefone portátil, ou para processamento de um fluxo contínuo codificado em uma mídia de armazenamento, tais como um disco óptico ou disco magnético ou uma memória flash.[00500] This description can also be applied to an encoding device and a decoding device that are used to receive an encoded streaming stream through networked media, such as satellite broadcasting, cable TV, the Internet or a portable telephone, or for processing an encoded stream on a storage medium, such as an optical disk or magnetic disk, or a flash memory.
[00501] Adicionalmente, a presente descrição pode ser incorporada em uma configuração de computação em nuvem na qual uma função é compartilhada entre dispositivos por meio de uma rede, e processamento é realizado pelos dispositivos que cooperam uns com os outros.[00501] Additionally, the present description can be incorporated into a cloud computing configuration in which a function is shared between devices through a network, and processing is performed by the devices cooperating with each other.
[00502] Além do mais, as respectivas etapas descritas em relação aos supradescritos fluxogramas podem ser realizadas por um dispositivo ou podem ser compartilhadas entre dispositivos.[00502] Furthermore, the respective steps described in relation to the above-described flowcharts can be performed by one device or can be shared between devices.
[00503] Em um caso em que mais de um processo for incluído em uma etapa, os processos incluídos na etapa podem ser realizados por um dispositivo ou podem ser compartilhados entre dispositivos.[00503] In a case where more than one process is included in a step, the processes included in the step can be performed by a device or can be shared between devices.
[00504] Embora modalidades preferidas da presente descrição tenham sido supradescritas em relação aos desenhos anexos, a presente descrição não é limitada a estes exemplos. Fica aparente que versados na técnica podem fazer várias mudanças ou modificações no escopo do espírito técnico aqui reivindicado, e entende-se que estas mudanças ou modificações estão no escopo técnico da presente descrição.[00504] Although preferred embodiments of the present description have been described above in relation to the accompanying drawings, the present description is not limited to these examples. It is apparent that those skilled in the art can make various changes or modifications within the scope of the technical spirit claimed herein, and it is understood that these changes or modifications are within the technical scope of the present specification.
[00505] Deve-se notar que a presente tecnologia também pode ser incorporada nas estruturas descritas a seguir. (1) Um dispositivo de codificação de imagem, que inclui: uma unidade de definição que define informação de controle para controlar previsão de movimento na tela através de fatias; uma unidade de codificação que codifica uma imagem para gerar um fluxo contínuo de bits de acordo com a informação de controle definida pela unidade de definição; e uma unidade de transmissão que transmite a informação de controle definida pela unidade de definição e o fluxo contínuo de bits gerado pela unidade de codificação. (2) O dispositivo de codificação de imagem de acordo com (1), em que a unidade de definição define um indicador de permissão de referência como a informação de controle, o indicador de permissão de referência indicando uma permissão para referência a um resultado da decodificação de uma fatia atual e uma fatia antes da fatia atual em uma ordem de escaneamento por rasterização. (3) O dispositivo de codificação de imagem de acordo com (2), em que a unidade de definição define o indicador de permissão de referência em um conjunto de parâmetro de imagem parada (PPS). (4) O dispositivo de codificação de imagem de acordo com qualquer um de (1) até (3), em que a unidade de definição define um parâmetro como a informação de controle, o parâmetro indicando o número de fatias prévias que têm resultados de decodificação referíveis. (5) O dispositivo de codificação de imagem de acordo com qualquer um de (1) até (4), em que a unidade de definição define um indicador ligado/desligado como a informação de controle, o indicador ligado/desligado indicando se a previsão de movimento na tela através das fatias pode ser realizada. (6) O dispositivo de codificação de imagem de acordo com (5), em que a unidade de definição define o indicador ligado/desligado em um de um conjunto de parâmetro de sequência (SPS) e de um conjunto de parâmetro de vídeo (VPS). (7) O dispositivo de codificação de imagem de acordo com qualquer um de (2) até (6), em que, quando processamento paralelo de frente de onda (WPP) estiver “ligado”, a unidade de definição limita uma faixa da referência, e define o indicador de permissão de referência. (8) O dispositivo de codificação de imagem de acordo com qualquer um de (2) até (6), em que, quando divisão de mosaico estiver “ligada”, a unidade de definição define o indicador de permissão de referência. (9) O dispositivo de codificação de imagem de acordo com qualquer um de (2) até (6), em que, quando SEI de definição de mosaico restrito no movimento temporal (MCTS-SEI) estiver “ligada”, a unidade de definição define o indicador de permissão de referência em “desligado”. (10) Um método de codificação de imagem implementado por um dispositivo de codificação de imagem, o método de codificação de imagem incluindo: definir informação de controle para controlar a previsão de movimento na tela através de fatias; codificar uma imagem para gerar um fluxo contínuo de bits de acordo com a informação de controle definida; e transmitir a informação de controle definida e o fluxo contínuo de bits gerado. (11) Um dispositivo de decodificação de imagem, que inclui: uma unidade de recepção que recebe um fluxo contínuo de bits gerado pela codificação de uma imagem; uma unidade de extração que extrai informação de controle a partir do fluxo contínuo de bits recebido pela unidade de recepção, a informação de controle sendo projetada para controlar a previsão de movimento na tela através de fatias; e uma unidade de decodificação que decodifica o fluxo contínuo de bits recebido pela unidade de recepção, para gerar uma imagem, usando a informação de controle extraída pela unidade de extração. (12) O dispositivo de decodificação de imagem de acordo com (11), em que a unidade de extração extrai um indicador de permissão de referência como a informação de controle, o indicador de permissão de referência indicando uma permissão para referência a um resultado da decodificação de uma fatia atual e uma fatia antes da fatia atual em uma ordem de escaneamento por rasterização. (13) O dispositivo de decodificação de imagem de acordo com (12), em que a unidade de extração extrai o indicador de permissão de referência a partir de um conjunto de parâmetro de imagem parada (PPS). (14) O dispositivo de decodificação de imagem de acordo com qualquer um de (11) até (13), em que a unidade de extração extrai um parâmetro como a informação de controle, o parâmetro indicando o número de fatias prévias que têm resultados de decodificação referíveis. (15) O dispositivo de decodificação de imagem de acordo com qualquer um de (11) até (14), em que a unidade de extração extrai um indicador ligado/desligado como a informação de controle, o indicador ligado/desligado indicando se a previsão de movimento na tela através das fatias pode ser realizada. (16) O dispositivo de decodificação de imagem de acordo com (15), em que a unidade de extração extrai o indicador ligado/desligado a partir de um de um conjunto de parâmetro de sequência (SPS) e de um conjunto de parâmetro de vídeo (VPS). (17) O dispositivo de decodificação de imagem de acordo com qualquer um de (12) até (16), em que, quando processamento paralelo de frente de onda (WPP) estiver “ligado”, a unidade de extração limita uma faixa da referência, e extrai o indicador de permissão de referência. (18) O dispositivo de decodificação de imagem de acordo com qualquer um de (12) até (16), em que, quando divisão de mosaico estiver “ligada”, a unidade de extração extrai o indicador de permissão de referência. (19) O dispositivo de decodificação de imagem de acordo com qualquer um de (12) até (16), em que, quando SEI de definição de mosaico restrito no movimento temporal (MCTS-SEI) estiver “ligada”, a unidade de extração extrai o indicador de permissão de referência definido em “desligado”. (20) Um método de decodificação de imagem implementado por um dispositivo de decodificação de imagem, em que o método de decodificação de imagem inclui: (21) ber um fluxo contínuo de bits gerado pela codificação de uma imagem; extrair informação de controle a partir do fluxo contínuo de bits recebido, a informação de controle sendo projetada para controlar a previsão de movimento na tela através de fatias; e decodificar o fluxo contínuo de bits recebido para gerar uma imagem, usando a informação de controle extraída. Lista dos Sinais de Referência 10 Dispositivo de codificação 11 Unidade de definição 12 Unidade de codificação 13 Unidade de transmissão 46 Unidade de intraprevisão 110 Dispositivo de decodificação 111 Unidade de recepção 112 Unidade de extração 113 Unidade de decodificação 143 Unidade de intraprevisão[00505] It should be noted that the present technology can also be incorporated into the structures described below. (1) An image coding device, including: a definition unit that defines control information for controlling motion prediction on the screen through slices; a coding unit that encodes a picture to generate a continuous stream of bits in accordance with control information defined by the defining unit; and a transmission unit that transmits the control information defined by the definition unit and the continuous bit stream generated by the encoding unit. (2) The image coding device according to (1), wherein the definition unit sets a reference permission flag as the control information, the reference permission flag indicating a permission for reference to a result of the decoding a current slice and a slice before the current slice in raster scan order. (3) The picture coding device according to (2), wherein the definition unit sets the reference permission flag in a still picture parameter set (PPS). (4) The image coding device according to any one of (1) to (3), wherein the definition unit defines a parameter as the control information, the parameter indicating the number of previous slices that have results of referable decoding. (5) The picture coding device according to any one of (1) to (4), wherein the definition unit sets an on/off indicator as the control information, the on/off indicator indicating whether the prediction of movement on the screen through the slices can be performed. (6) The picture coding device according to (5), wherein the setting unit sets the on/off flag to one of a sequence parameter set (SPS) and a video parameter set (VPS ). (7) The picture coding device according to any one of (2) through (6), wherein, when wavefront parallel processing (WPP) is “on”, the definition unit limits a range of the reference , and sets the reference permission indicator. (8) The picture coding device according to any one of (2) through (6), wherein, when tessellation is “on”, the setting unit sets the reference permission flag. (9) The picture coding device according to any one of (2) through (6), wherein, when Time Motion Restricted Mosaic Definition SEI (MCTS-SEI) is "on", the definition unit sets the reference permission indicator to “off”. (10) An image encoding method implemented by an image encoding device, the image encoding method including: defining control information for controlling motion prediction on the screen through slices; encoding an image to generate a continuous stream of bits in accordance with defined control information; and transmitting the defined control information and the generated bitstream. (11) An image decoding device, including: a receiver unit that receives a continuous stream of bits generated by encoding an image; an extractor unit extracting control information from the continuous stream of bits received by the receiver unit, the control information being designed to control prediction of movement on the screen through slices; and a decoding unit that decodes the continuous bit stream received by the receiving unit to generate an image using the control information extracted by the extracting unit. (12) The image decoding device according to (11), wherein the extraction unit extracts a reference permission flag as the control information, the reference permission flag indicating a permission for reference to a result of the decoding a current slice and a slice before the current slice in raster scan order. (13) The picture decoding device according to (12), wherein the extraction unit extracts the reference permission flag from a still picture parameter set (PPS). (14) The image decoding device according to any one of (11) to (13), wherein the extraction unit extracts a parameter as the control information, the parameter indicating the number of previous slices that have results of referable decoding. (15) The picture decoding device according to any one of (11) to (14), wherein the extraction unit extracts an on/off indicator as the control information, the on/off indicator indicating whether the prediction of movement on the screen through the slices can be performed. (16) The picture decoding device according to (15), wherein the extraction unit extracts the on/off indicator from one of a sequence parameter set (SPS) and a video parameter set (VPS). (17) The image decoding device according to any one of (12) through (16), wherein, when wavefront parallel processing (WPP) is "on", the extraction unit limits a range of the reference , and extracts the reference permission indicator. (18) The picture decoding device according to any one of (12) through (16), wherein, when tessellation is "on", the extraction unit extracts the reference permission flag. (19) The picture decoding device according to any one of (12) through (16), wherein, when Time Motion Restricted Mosaic Setting SEI (MCTS-SEI) is "on", the extraction unit extracts the reference permission indicator set to “off”. (20) An image decoding method implemented by an image decoding device, the image decoding method including: (21) ber a continuous bit stream generated by encoding an image; extracting control information from the received bit stream, the control information being designed to control prediction of movement on the screen through slices; and decoding the received stream of bits to generate an image using the extracted control information. List of Reference Signals 10 Coding device 11 Defining unit 12 Coding unit 13 Transmitting unit 46 Intraforecasting unit 110 Decoding device 111 Receiving unit 112 Extraction unit 113 Decoding unit 143 Intraforecasting unit
Claims (13)
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014127683 | 2014-06-20 | ||
JP2014-127683 | 2014-06-20 | ||
PCT/JP2015/066289 WO2015194394A1 (en) | 2014-06-20 | 2015-06-05 | Image encoding apparatus and method, and image decoding apparatus and method |
Publications (3)
Publication Number | Publication Date |
---|---|
BR112016028745A2 BR112016028745A2 (en) | 2017-08-22 |
BR112016028745A8 BR112016028745A8 (en) | 2021-09-14 |
BR112016028745B1 true BR112016028745B1 (en) | 2023-07-04 |
Family
ID=
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12063357B2 (en) | Image encoding device and method, and image decoding device and method | |
BR112014032225B1 (en) | IMAGE PROCESSING DEVICE AND METHOD | |
RU2673100C1 (en) | Image processing device and method | |
KR102338523B1 (en) | Decoding device, decoding method, encoding device, and encoding method | |
BR112014032227B1 (en) | DECODING DEVICE AND METHOD | |
BR112016000132B1 (en) | DEVICE AND METHOD FOR IMAGE DECODING | |
EP3570547A1 (en) | Image processing device and image processing method | |
RU2679990C2 (en) | Image coding apparatus and method and image decoding apparatus and method | |
BR112016028745B1 (en) | DEVICES AND METHODS OF IMAGE CODING AND DECODING | |
BR112016021329B1 (en) | APPARATUS AND METHOD FOR IMAGE DECODING, AND, NON-TRAINER COMPUTER READABLE MEDIUM | |
JP2017158206A (en) | Image processing apparatus, method, and program |