BR112014026021B1 - Aparelhos e métodos para decodificação e codificação de dados de vídeo, e, aparelho de armazenamento, transmissão, captura ou exibição de vídeo - Google Patents
Aparelhos e métodos para decodificação e codificação de dados de vídeo, e, aparelho de armazenamento, transmissão, captura ou exibição de vídeo Download PDFInfo
- Publication number
- BR112014026021B1 BR112014026021B1 BR112014026021-4A BR112014026021A BR112014026021B1 BR 112014026021 B1 BR112014026021 B1 BR 112014026021B1 BR 112014026021 A BR112014026021 A BR 112014026021A BR 112014026021 B1 BR112014026021 B1 BR 112014026021B1
- Authority
- BR
- Brazil
- Prior art keywords
- samples
- prediction
- data
- scan pattern
- chrominance
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 178
- 230000005540 biological transmission Effects 0.000 title claims description 15
- 230000009466 transformation Effects 0.000 claims abstract description 74
- 238000013507 mapping Methods 0.000 claims abstract description 47
- 238000000926 separation method Methods 0.000 claims abstract description 39
- 238000000844 transformation Methods 0.000 abstract description 3
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 154
- 241000023320 Luma <angiosperm> Species 0.000 description 152
- 238000013139 quantization Methods 0.000 description 127
- 239000000523 sample Substances 0.000 description 127
- 239000011159 matrix material Substances 0.000 description 65
- 230000008569 process Effects 0.000 description 54
- 238000007906 compression Methods 0.000 description 35
- 230000006835 compression Effects 0.000 description 32
- 230000006837 decompression Effects 0.000 description 29
- 230000006870 function Effects 0.000 description 21
- 239000013598 vector Substances 0.000 description 21
- 238000012545 processing Methods 0.000 description 20
- 238000012360 testing method Methods 0.000 description 20
- 230000001419 dependent effect Effects 0.000 description 19
- 238000005070 sampling Methods 0.000 description 18
- 238000001914 filtration Methods 0.000 description 17
- 230000003044 adaptive effect Effects 0.000 description 15
- 238000013144 data compression Methods 0.000 description 12
- 230000004048 modification Effects 0.000 description 10
- 238000012986 modification Methods 0.000 description 10
- 230000000694 effects Effects 0.000 description 9
- 230000008859 change Effects 0.000 description 8
- 238000006073 displacement reaction Methods 0.000 description 8
- 238000009499 grossing Methods 0.000 description 8
- 239000013074 reference sample Substances 0.000 description 8
- 238000000638 solvent extraction Methods 0.000 description 8
- 206010047571 Visual impairment Diseases 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 230000000670 limiting effect Effects 0.000 description 4
- 239000003607 modifier Substances 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000005192 partition Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000003466 anti-cipated effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000009795 derivation Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002829 reductive effect Effects 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 241000269627 Amphiuma means Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000012417 linear regression Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002250 progressing effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 230000017105 transposition Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N11/00—Colour television systems
- H04N11/24—High-definition television systems
- H04N11/28—High-definition television systems involving bandwidth reduction, e.g. subsampling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/11—Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/12—Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
- H04N19/122—Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
- H04N19/126—Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/182—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/186—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/547—Motion estimation performed in a transform domain
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/56—Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/587—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal sub-sampling or interpolation, e.g. decimation or subsequent interpolation of pictures in a video sequence
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/59—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/649—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding the transform being applied to non rectangular image segments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/86—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/117—Filters, e.g. for pre-processing or post-processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/12—Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/129—Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/523—Motion estimation or motion compensation with sub-pixel accuracy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
- H04N19/82—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Discrete Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Color Television Systems (AREA)
Abstract
aparelhos e métodos para decodificação e codificação de dados de vídeo, e, aparelho de armazenamento, transmissão, captura ou exibição de vídeo. é descrito um método de codificação de dados de vídeo 4:2:2 ou 4:4:4 que compreende prever amostras de luminância e/ou de crominância de uma imagem a partir de outras respectivas amostras de referência derivadas a partir da mesma imagem de acordo com um modo de previsão associado com uma amostra a ser prevista, o modo de previsão sendo selecionado para cada um de uma pluralidade de blocos de amostras a partir de um conjunto de dois ou mais modos de previsão candidatos; detectar diferenças entre as amostras e as respectivas amostras previstas; selecionar uma transformação de separação de frequência a partir de duas ou mais transformações de separação de frequência candidatas de acordo com o modo de previsão associado com um bloco atual de amostras usando um mapeamento entre a transformação e o modo de previsão, o mapeamento diferente, como entre amostras de crominância e de luminância, pelo menos para o formato 4:4:4:; e codificar as diferenças detectadas pela separação de frequência das diferenças usando a transformação de separação de frequência selecionada.
Description
[0001] O presente pedido reivindica o benefício da data de depósito anterior de GB1211628.1 e GB1207459.7, depositados no United Kingdom Intellectual Property Office em 29 de junho de 2012 e 26 de abril de 2012, respectivamente, e de GB1211629.9 e GB1211623.2, ambos depositados no United Kingdom Intellectual Property Office em 29 de junho de 2012, pedidos estes cuja íntegra dos conteúdos é aqui incorporada pela referência.
[0002] Esta descrição refere-se à codificação e à decodificação de dados.
[0003] A descrição dos "fundamentos da invenção" aqui provida é com o propósito de, no geral, apresentar o contexto da descrição. O trabalho dos inventores atualmente nomeados, até o limite em que ele é descrito nesta seção de fundamentos da invenção, bem como aspectos da descrição que podem, em outras circunstâncias, não se qualificar como tecnologia anterior no momento do depósito, não são expressamente nem implicitamente admitidos como tecnologia anterior em relação à presente descrição.
[0004] Há diversos sistemas de codificação e decodificação de dados de vídeo que envolvem transformar dados de vídeo em uma representação de domínio de frequência, quantizar os coeficientes de domínio de frequência e, então, aplicar alguma forma de codificação de entropia nos coeficientes quantizados. Isto pode alcançar a compressão dos dados de vídeo. Uma correspondente técnica de decodificação ou de descompressão é aplicada para recuperar uma versão reconstruída dos dados de vídeo originais.
[0005] Atuais codecs (codificadores - decodificadores) de vídeo, tais como aqueles usados em Codificação de Vídeo Avançada (AVC) H.264/MPEG-4, alcançam compressão de dados primariamente apenas pela codificação das diferenças entre sucessivos quadros de vídeo. Estes codecs usam um arranjo regular de assim denominados macroblocos, cada um dos quais é usado como uma região de comparação com um correspondente macrobloco em um quadro de vídeo prévio, e a região da imagem no macrobloco é, então, codificada de acordo com o grau de movimento encontrado entre os correspondentes macroblocos atuais e prévios na sequência de vídeo, ou entre macroblocos vizinhos em um único quadro da sequência de vídeo.
[0006] Codificação de Vídeo de Alta Eficiência (HEVC), também conhecida como H.265 ou MPEG-H Parte 2, é um sucessor proposto para H.264/MPEG-4 AVC. Pretende-se que HEVC aumente a qualidade de vídeo e dobre a razão de compressão de dados, se comparado com H.264, e que seja escalonável na resolução de 128 x 96 até 7.680 x 4.320 de pixels, grosseiramente equivalente a taxas de bits que variam de 128 kbits/s até 800 Mbits/s.
[0007] Em HEVC, uma assim denominada estrutura de bloco 4:2:0 é proposta para equipamento do consumidor, em que a quantidade de dados usada em cada canal de croma é um quarto daquela no canal de luma. Isto é em virtude de, subjetivamente, pessoas serem mais sensíveis a variações de brilho do que a variações de cor e, então, é possível usar maior compressão e/ou menos informação nos canais de cor sem uma perda subjetiva da qualidade.
[0008] HEVC substitui os macroblocos encontrados em padrões H.264 e MPEG existentes com um esquema mais flexível com base em unidades de codificação (CUs), que são estruturas de tamanho variável.
[0009] Consequentemente, durante a codificação dos dados da imagem em quadros de vídeo, os tamanhos da CU podem ser selecionados responsivo à complexidade da imagem aparente ou aos níveis de movimento detectados, em vez de usando macroblocos uniformemente distribuídos. Consequentemente, muito maior compressão pode ser alcançada em regiões com pouco movimento entre quadros e com pouca variação em um quadro, enquanto melhor qualidade de imagem pode ser preservada em áreas de altos movimento interquadros ou complexidade da imagem.
[00010] Cada CU contém uma ou mais unidades de previsão (PUs) com tamanho de bloco variável do tipo de previsão tanto intrafigura quanto interfiguras, e uma ou mais unidades de transformação (TUs) que contêm coeficientes para transformada e quantização de bloco espacial.
[00011] Além do mais, blocos PU e TU são providos para cada um de três canais; luma (Y), que é um canal de luminância ou de brilho, e que pode ser concebido como um canal de escala de cinzas, e dois canais de diferença de cor ou de crominância (croma); Cb e Cr. Estes canais proveem a cor para a imagem em escala de cinzas do canal de luma. Os termos Y, luminância e luma são usados intercambiavelmente nesta descrição e, similarmente, os termos Cb e Cr, crominância e croma são usados intercambiavelmente conforme apropriado, notando que crominância ou croma podem ser usados genericamente para "um ou ambos de Cr e Cb", enquanto que, quando um canal de crominância específico estiver sendo discutido, ele será identificado pelos termos Cb ou Cr.
[00012] No geral, PUs são consideradas como independentes do canal, exceto em que uma PU tem uma parte de luma e uma parte de croma. No geral, isto significa que as amostras que formam parte da PU para cada canal representam a mesma região da imagem, de forma que haja um relacionamento fixo entre as PUs entre os três canais. Por exemplo, para vídeo 4:2:0, uma PU 8 x 8 para Luma sempre tem uma correspondente PU 4 x 4 para croma, com as partes de croma da PU representando a mesma área da parte de luma, mas contendo um menor número de pixels em virtude da natureza subamostrada dos dados de croma 4:2:0, se comparadas com os dados de luma no vídeo 4:2:0. Os dois canais de croma compartilham informação intraprevisão; e os três canais compartilham informação interprevisão. Similarmente, a estrutura da TU também tem um relacionamento fixo entre os três canais.
[00013] Entretanto, para equipamento de difusão e cinema digital profissional, é desejável ter menos compressão (ou mais informação) nos canais de croma, e isto pode afetar como o processamento de HEVC atual e proposto opera.
[00014] A presente descrição aborda ou mitiga problemas que surgem a partir deste processamento.
[00015] Respectivos aspectos e recursos da presente descrição são definidos nas reivindicações anexas.
[00016] Deve-se entender que tanto a descrição geral exposta quanto a seguinte descrição detalhada são exemplares, mas não são restritivas da presente tecnologia.
[00017] Uma apreciação mais completa da descrição e muitas das vantagens presentes desta serão prontamente obtidas à medida que a mesma torna-se mais bem entendida pela referência à seguinte descrição detalhada quando considerada em conjunto com os desenhos anexos, em que: a figura 1 ilustra esquematicamente um sistema de transmissão e recepção de dados de áudio/vídeo (A/V) que usa compressão e descompressão de dados de vídeo; a figura 2 ilustra esquematicamente um sistema de exibição de vídeo que usa descompressão de dados de vídeo; a figura 3 ilustra esquematicamente um sistema de armazenamento de áudio/vídeo que usa compressão e descompressão de dados de vídeo; a figura 4 ilustra esquematicamente uma câmera de vídeo que usa compressão de dados de vídeo; a figura 5 provê uma visão geral esquemática de um aparelho de compressão e descompressão de dados de vídeo; a figura 6 ilustra esquematicamente a geração de imagens previstas; a figura 7 ilustra esquematicamente uma maior unidade de codificação (LCU); a figura 8 ilustra esquematicamente um conjunto de quatro unidades de codificação (CU); as figuras 9 e 10 ilustram esquematicamente as unidades de codificação da figura 8 subdivididas em menores unidades de codificação; a figura 11 ilustra esquematicamente um arranjo de unidades de previsão (PU); a figura 12 ilustra esquematicamente um arranjo de unidades de transformação (TU); a figura 13 ilustra esquematicamente uma imagem parcialmente codificada; a figura 14 ilustra esquematicamente um conjunto de possíveis direções de intraprevisão; a figura 15 ilustra esquematicamente um conjunto de modos de previsão; a figura 16 ilustra esquematicamente um escaneamento diagonal para cima e para a direita; a figura 17 ilustra esquematicamente um aparelho de compressão de vídeo; a figura 18a e 18b ilustra esquematicamente possíveis tamanhos do bloco; a figura 19 ilustra esquematicamente o uso de informação colocalizada a partir de blocos de croma e luma; a figura 20 ilustra esquematicamente uma situação na qual informação colocalizada proveniente de um canal de croma é usada em relação a um outro canal de croma; a figura 21 ilustra esquematicamente pixels usados para um modo LM-CROMA; a figura 22 ilustra esquematicamente um conjunto de direções de previsão de luma; a figura 23 ilustra esquematicamente as direções da figura 22, da forma aplicada em um canal de croma horizontalmente esparso; a figura 24 ilustra esquematicamente as direções da figura 22 mapeadas para um arranjo de pixel croma retangular; as figuras 25 - 28 ilustram esquematicamente interpolação de pixel luma e croma; as figuras 29a e 29b ilustram esquematicamente tabelas de parâmetro de quantização para 4:2:0 e 4:2:2, respectivamente; as figuras 30 e 31 ilustram esquematicamente tabelas de variação de quantização; a figura 32 ilustra esquematicamente um arranjo para modificar uma fase do ângulo; a figura 33 ilustra esquematicamente a modificação de fases do ângulo; as figuras 34 e 35 ilustram esquematicamente padrões de escaneamento; a figura 36 ilustra esquematicamente a seleção de padrão de escaneamento de acordo com o modo de previsão; a figura 37 ilustra esquematicamente a seleção de padrão de escaneamento de acordo com o modo de previsão para um bloco de croma retangular; a figura 38 ilustra esquematicamente um arranjo para selecionar um padrão de escaneamento; a figura 39 ilustra esquematicamente um arranjo para selecionar uma transformação de separação de frequência; a figura 40 ilustra esquematicamente um codificador CABAC; as figuras 41A - 41D ilustram esquematicamente uma alocação de vizinhança previamente proposta; e as figuras 42A a 45 ilustram esquematicamente a alocação de variável de contexto de acordo com modalidades da descrição.
[00018] Agora, em relação aos desenhos, as figuras 1 - 4 são providas para proporcionar ilustrações esquemáticas de aparelho ou sistemas que fazem uso do aparelho de compressão e/ou de descompressão a ser descrito a seguir em conexão com modalidades da descrição.
[00019] Todos os aparelhos de compressão e/ou de descompressão de dados a serem descritos a seguir podem ser implementados em hardware, em software em execução em um aparelho de processamento de dados de uso geral, tal como um computador de uso geral, como hardware programável, tais como um circuito integrado específico de aplicação (ASIC) ou arranjo de porta programável no campo (FPGA), ou como combinações destes. Em casos em que as modalidades forem implementadas por software e/ou software embarcado, será percebido que tais software e/ou software embarcado, e mídia de armazenamento de dados não temporária pela qual tais software e/ou software embarcado são armazenados ou de outra forma providos, são considerados como modalidades da presente descrição.
[00020] A figura 1 ilustra esquematicamente um sistema de transmissão e recepção de dados de áudio/vídeo que usa compressão e descompressão de dados de vídeo.
[00021] Um sinal de áudio/vídeo de entrada 10 é suprido para um aparelho de compressão de dados de vídeo 20 que comprime pelo menos o componente de vídeo do sinal de áudio/vídeo 10 para transmissão ao longo de uma rota de transmissão 30, tais como um cabo, uma fibra ótica, uma ligação sem fios ou congêneres. O sinal comprimido é processado por um aparelho de descompressão 40 para prover um sinal de áudio/vídeo de saída 50. Para o caminho de retorno, um aparelho de compressão 60 comprime um sinal de áudio/vídeo para transmissão ao longo da rota de transmissão 30 para um aparelho de descompressão 70.
[00022] O aparelho de compressão 20 e o aparelho de descompressão 70 podem, portanto, formar um nó de uma ligação de transmissão. O aparelho de descompressão 40 e o aparelho de descompressão 60 podem formar um outro nó da ligação de transmissão. Certamente, em instâncias em que a ligação de transmissão for unidirecional, apenas um dos nós exigirá um aparelho de compressão e o outro nó exigirá apenas um aparelho de descompressão.
[00023] A figura 2 ilustra esquematicamente um sistema de exibição de vídeo que usa descompressão de dados de vídeo. Em particular, um sinal de áudio/vídeo comprimido 100 é processado por um aparelho de descompressão 110 para prover um sinal descomprimido que pode ser exibido em um visor 120. O aparelho de descompressão 110 pode ser implementado como uma parte integral do visor 120, por exemplo, que é provida no mesmo invólucro do dispositivo de exibição. Alternativamente, o aparelho de descompressão 110 pode ser provido como (por exemplo) um assim denominado receptor/decodificador integrado (STB), notando que a expressão "set top box" não implica uma exigência de que ele fique situado em qualquer orientação ou posição em particular em relação ao visor 120; este é simplesmente um termo usado na tecnologia para indicar um dispositivo que é conectável em um visor como um dispositivo periférico.
[00024] A figura 3 ilustra esquematicamente um sistema de armazenamento de áudio/vídeo que usa compressão e descompressão de dados de vídeo. Um sinal de áudio/vídeo de entrada 130 é suprido para um aparelho de compressão 140 que gera um sinal comprimido para armazenamento por um dispositivo de armazenamento 150, tal como um dispositivo de disco magnético, um dispositivo de disco ótico, um dispositivo de fita magnética, um dispositivo de armazenamento em estado sólido, tal como uma memória semicondutora, ou outro dispositivo de armazenamento. Para repetição, dados comprimidos são lidos a partir do dispositivo de armazenamento 150 e passados para um aparelho de descompressão 160 para descompressão para prover um sinal de áudio/vídeo de saída 170.
[00025] Será percebido que o sinal comprimido ou codificado e uma mídia de armazenamento que armazena este sinal são considerados como modalidades da presente descrição.
[00026] A figura 4 ilustra esquematicamente uma câmera de vídeo que usa compressão de dados de vídeo. Na figura 4, um dispositivo de captura de imagem 180, tais como um sensor de imagem tipo dispositivo com carga acoplada (CCD) e componentes eletrônicos de leitura e de controle associados, gera um sinal de vídeo que é passado para um aparelho de compressão 190. Um microfone (ou diversos microfones) 200 gera um sinal de áudio a ser passado para o aparelho de compressão 190. O aparelho de compressão 190 gera um sinal de áudio/vídeo comprimido 210 a ser armazenado e/ou transmitido (mostrado genericamente como um estágio esquemático 220).
[00027] As técnicas a serem descritas a seguir dizem respeito, primariamente, a compressão e descompressão de dados de vídeo. Será percebido que muitas técnicas existentes podem ser usadas para compressão de dados de áudio em conjunto com as técnicas de compressão de dados de vídeo que serão descritas, para gerar um sinal de áudio/vídeo comprimido. Desta maneira, uma discussão separada da compressão de dados de áudio não será provida. Também será percebido que a taxa de dados associada com dados de vídeo, em particular, dados de vídeo com qualidade de difusão, é, no geral, muito mais alta que a taxa de dados associada com dados de áudio (se comprimidos ou descomprimidos). Portanto, será percebido que dados de áudio descomprimidos podem acompanhar dados de vídeo comprimidos para formar um sinal de áudio/vídeo comprimido. Será adicionalmente percebido que, embora os presentes exemplos (mostrados nas figuras 1 - 4) digam respeito a dados de áudio/vídeo, as técnicas a serem descritas a seguir podem encontrar uso em um sistema que lida simplesmente com (isto é, comprime, descomprime, armazena, exibe e/ou transmite) dados de vídeo. Isto é, as modalidades podem se aplicar na compressão de dados de vídeo, sem ter necessariamente nenhum tratamento de dados de áudio associados.
[00028] A figura 5 provê uma visão geral esquemática de um aparelho de compressão e descompressão de dados de vídeo.
[00029] Um controlador 343 controla a operação geral do aparelho e, em particular, quando se refere a um modo de compressão, controla os processos de codificação de teste (a serem descritos a seguir) para selecionar vários modos de operação, tais como tamanhos do bloco de CU, PU e TU.
[00030] Imagens sucessivas de um sinal de vídeo de entrada 300 são supridas para um adicionador 310 e para um previsor de imagem 320. O previsor de imagem 320 será descrito a seguir com mais detalhes em relação à figura 6. O adicionador 310, de fato, realiza uma operação de subtração (adição negativa), em que ele recebe o sinal de vídeo de entrada 300 em uma entrada "+" e a saída do previsor de imagem 320 em uma entrada "-", de forma que a imagem prevista seja subtraída da imagem de entrada. O resultado é gerar um assim denominado sinal de imagem residual 330 que representa a diferença entre as imagens real e prevista.
[00031] Um motivo pelo qual um sinal de imagem residual é gerado é como segue. As técnicas de codificação de dados a serem descritas, isto é, as técnicas que serão aplicadas no sinal de imagem residual, tendem a funcionar mais eficientemente quando houver menos "energia" na imagem a ser codificada. Aqui, o termo "eficientemente" refere-se à geração de uma pequena quantidade de dados codificados; para um nível de qualidade de imagem em particular, é desejável (e considerado "eficiente") gerar tão poucos dados quanto seja praticamente possível. A referência a "energia" na imagem residual refere-se à quantidade de informação contida na imagem residual. Se a imagem prevista precisar ser idêntica à imagem real, a diferença entre as duas (isto é, a imagem residual) conterá zero informação (zero energia) e será muito fácil de codificar em uma pequena quantidade de dados codificados. No geral, se puder ser feito com que o processo de previsão funcione razoavelmente bem, a expectativa é que os dados de imagem residuais conterão menos informação (menos energia) que a imagem de entrada e, então, serão mais fáceis de codificar em uma pequena quantidade de dados codificados.
[00032] Os dados de imagem residuais 330 são supridos para uma unidade de transformação 340 que gera uma representação de transformada discreta de cosseno (DCT) dos dados de imagem residuais. A própria técnica DCT é bem conhecida e não será aqui descrita com detalhes. Entretanto, há aspectos das técnicas usadas no presente aparelho que serão descritos com mais detalhes a seguir, em particular, em relação à seleção de diferentes blocos de dados no qual a operação de DCT é aplicada. Estes serão discutidos em relação às figuras 7 - 12 a seguir. Em algumas modalidades, uma diferente transformação de separação de frequência pode ser seletivamente usada em vez da DCT, em um sistema conhecido como MDDT (Transformação Direcional Dependente do Modo), que será descrito a seguir. Por enquanto, será considerado que a transformada DCT está em uso.
[00033] A saída da unidade de transformação 340, isto é, um conjunto de coeficientes de DCT para cada bloco transformado de dados da imagem, é suprida para um quantizador 350. Várias técnicas de quantização são conhecidas no campo de compressão de dados de vídeo, variando de uma simples multiplicação por um fator de escalonamento de quantização até a aplicação de complicadas tabelas de busca sob o controle de um parâmetro de quantização. O objetivo geral é dobrar. Primeiramente, o processo de quantização reduz o número de possíveis valores dos dados transformados. Em segundo lugar, o processo de quantização pode aumentar a probabilidade de que valores dos dados transformados sejam zero. Ambos estes podem fazer o processo de codificação de entropia, a ser descrito a seguir, funcionar mais eficientemente na geração de pequenas quantidades de dados de vídeo comprimidos.
[00034] Um processo de escaneamento de dados é aplicado por uma unidade de escaneamento 360. O propósito do processo de escaneamento é reordenar os dados transformados quantizados para reunir o tanto quanto possível dos coeficientes não zero quantizados transformados, e, portanto, certamente para reunir o tanto quanto possível dos coeficientes de valor zero. Estes recursos podem permitir que assim denominada codificação run-length ou técnicas similares sejam aplicadas eficientemente. Então, o processo de escaneamento envolve selecionar coeficientes a partir dos dados transformados quantizados e, em particular, a partir de um bloco de coeficientes correspondente a um bloco de dados da imagem que foi transformado e quantizado, de acordo com uma "ordem de escaneamento" ou padrão de escaneamento, de forma que (a) todos os coeficientes sejam selecionados uma vez como parte do escaneamento e (b) o escaneamento tenda a prover a reordenação desejada. Um exemplo de ordem de escaneamento que pode tender a dar resultados úteis é uma assim denominada ordem de escaneamento diagonal para cima e à direita. Em algumas modalidades, um assim denominado sistema MDCS (Escaneamento de Coeficiente Dependente de Modo) pode ser usado, de maneira tal que o padrão de escaneamento possa variar de bloco para bloco. Tais arranjos serão descritos com mais detalhes a seguir. Por enquanto, considera-se que o escaneamento diagonal para cima e para a direita é usado.
[00035] Os coeficientes escaneados são, então, passados para um codificador de entropia (EE) 370. Novamente, vários tipos de codificação de entropia podem ser usados. Dois exemplos são variantes do assim denominado sistema CABAC (Codificação Aritmética Binária Adaptável ao Contexto) e variantes do assim denominado sistema CAVLC (Codificação de Comprimento Variável Adaptável ao Contexto). Em termos gerais, considera- se que CABAC provê uma melhor eficiência e, em alguns estudos, mostrou prover uma redução de 10 - 20 % na quantidade de dados de saída codificados para uma qualidade de imagem comparável, se comparada com CAVLC. Entretanto, considera-se que CAVLC representa um nível de complexidade muito inferior (em termos de sua implementação) do que CABAC. Note que o processo de escaneamento e o processo de codificação de entropia são mostrados como processos separados, mas, de fato, podem ser combinados ou tratados em conjunto. Isto é, a leitura de dados no codificador de entropia pode ocorrer na ordem do escaneamento. Correspondentes considerações se aplicam nos respectivos processos inversos a serem descritos a seguir. Note que os atuais documentos HEVC em consideração no momento do depósito não mais incluem a possibilidade de um codificador de coeficiente CAVLC.
[00036] A saída do codificador de entropia 370, juntamente com dados adicionais (supramencionados e/ou discutidos a seguir), por exemplo, que define a maneira na qual o previsor 320 gerou a imagem prevista, provê um sinal de vídeo de saída comprimido 380.
[00037] Entretanto, um caminho de retorno também é provido em virtude de a própria operação do previsor 320 depender de uma versão descomprimida dos dados de saída comprimidos.
[00038] O motivo para este recurso é como segue. No estágio apropriado no processo de descompressão (a ser descrito a seguir), uma versão descomprimida dos dados residuais é gerada. Estes dados residuais descomprimidos precisam ser adicionados em uma imagem prevista para gerar uma imagem de saída (em virtude de os dados residuais originais serem a diferença entre a imagem de entrada e uma imagem prevista). A fim de que este processo seja comparável, como entre o lado de compressão e o lado de descompressão, as imagens previstas geradas pelo previsor 320 devem ser as mesmas durante o processo de compressão e durante o processo de descompressão. Certamente, na descompressão, o aparelho não tem acesso às imagens de entrada originais, mas apenas às imagens descomprimidas. Portanto, na compressão, o previsor 320 baseia sua previsão (pelo menos, para codificação interimagens) em versões descomprimidas das imagens comprimidas.
[00039] O processo de codificação de entropia realizado pelo codificador de entropia 370 é considerado "sem perdas", o que significa que ele pode ser invertido para chegar exatamente nos mesmos dados que foram supridos primeiro para o codificador de entropia 370. Então, o caminho de retorno pode ser implementado antes do estágio de codificação de entropia. De fato, o processo de escaneamento realizado pela unidade de escaneamento 360 também é considerado sem perdas, mas, na presente modalidade, o caminho de retorno 390 é da saída do quantizador 350 até a entrada de um quantizador inverso complementar 420.
[00040] Em termos gerais, um decodificador de entropia 410, a unidade de escaneamento reversa 400, um quantizador inverso 420 e uma unidade de transformação inversa 430 proveem as respectivas funções inversas do codificador de entropia 370, da unidade de escaneamento 360, do quantizador 350 e da unidade de transformação 340. Por enquanto, a discussão continuará através do processo de compressão; o processo para descomprimir um sinal de vídeo comprimido de entrada será discutido separadamente a seguir.
[00041] No processo de compressão, os coeficientes escaneados são passados pelo caminho de retorno 390 do quantizador 350 até o quantizador inverso 420 que realiza a operação inversa da unidade de escaneamento 360. Um processo de quantização inversa e transformada inversa é realizado pelas unidades 420, 430 para gerar um sinal de imagem residual comprimido - descomprimido 440.
[00042] O sinal de imagem 440 é adicionado, em um adicionador 450, na saída do previsor 320 para gerar uma imagem de saída reconstruída 460. Isto forma uma entrada no previsor de imagem 320, como será descrito a seguir.
[00043] Voltando agora para o processo aplicado para descomprimir um sinal de vídeo comprimido recebido 470, o sinal é suprido para o decodificador de entropia 410 e, a partir deste, para a cadeia da unidade de escaneamento reversa 400, do quantizador inverso 420 e da unidade de transformação inversa 430 antes de ser adicionado na saída do previsor de imagem 320 pelo adicionador 450. Em termos diretos, a saída 460 do adicionador 450 forma o sinal de vídeo descomprimido de saída 480. Na prática, filtragem adicional pode ser aplicada antes de o sinal ser transmitido.
[00044] Então, o aparelho das figuras 5 e 6 pode agir como um aparelho de compressão ou um aparelho de descompressão. As funções dos dois tipos de aparelho se sobrepõem muito pesadamente. A unidade de escaneamento 360 e o codificador de entropia 370 não são usados em um modo de descompressão, e a operação do previsor 320 (que será descrita com detalhes a seguir) e outras unidades seguem a informação de modo e parâmetro contida no fluxo contínuo de bits comprimido recebido, ou de outra forma associada com ele, em vez de gerar tal informação elas próprias.
[00045] A figura 6 ilustra esquematicamente a geração de imagens previstas e, em particular, a operação do previsor de imagem 320.
[00046] Há dois modos de previsão básicos: assim denominadas previsão intraimagem e interimagens, ou previsão com movimento compensado (MC).
[00047] Previsão intraimagem baseia uma previsão do conteúdo de um bloco da imagem nos dados a partir da mesma imagem. Isto corresponde a assim denominada codificação de quadro I em outras técnicas de compressão de vídeo. Ao contrário da codificação de quadro I, em que a íntegra da imagem é intracodificada, nas presentes modalidades, a escolha entre intracodificação e intercodificação pode ser feita em uma base bloco a bloco, embora, em outras modalidades da descrição, a escolha ainda seja feita em uma base imagem a imagem.
[00048] Previsão com movimento compensado é um exemplo de previsão interimagens e faz uso de informação de movimento que tenta definir a fonte, em uma outra imagem adjacente ou nas proximidades, de detalhes da imagem a serem codificados na imagem atual. Desta maneira, em um exemplo ideal, os conteúdos de um bloco de dados da imagem na imagem prevista podem ser codificados muito simplesmente como uma referência (um vetor de movimento) que aponta para um bloco correspondente na mesma posição ou uma posição ligeiramente diferente em uma imagem adjacente.
[00049] Retornando para a figura 6, dois arranjos de previsão de imagem (correspondentes a previsão intraimagem e interimagens) são mostrados, cujos resultados são selecionados por um multiplexador 500 sob o controle de um sinal de modo 510 para prover blocos da imagem prevista para suprir para os adicionadores 310 e 450. A escolha é feita na dependência de qual seleção proporciona a "energia" mais baixa (que, da forma discutida anteriormente, pode ser considerada como conteúdo de informação que exige codificação), e a escolha é sinalizada para o codificador no fluxo contínuo de dados de saída codificado. Energia da imagem, neste contexto, pode ser detectada, por exemplo, pela realização de uma subtração de teste de uma área das duas versões da imagem prevista a partir da imagem de entrada, elevação ao quadrado cada valor de pixel da imagem da diferença, soma dos valores elevados ao quadrado e identificação de qual das duas versões dá origem ao valor quadrado médio mais baixo da imagem da diferença em relação a esta área da imagem.
[00050] A previsão real, no sistema de intracodificação, é feita com base em blocos de imagem recebidos como parte do sinal 460, isto é, a previsão é com base em blocos de imagem codificados - decodificados a fim de que exatamente a mesma previsão possa ser feita em um aparelho de descompressão. Entretanto, dados podem ser derivados a partir do sinal de vídeo de entrada 300 por um seletor de modo intra 520 para controlar a operação do previsor intraimagem 530.
[00051] Para previsão interimagens, um previsor com movimento compensado (MC) 540 usa informação de movimento, tais como vetores de movimento derivados por um estimador de movimento 550 a partir do sinal de vídeo de entrada 300. Estes vetores de movimento são aplicados em uma versão processada da imagem reconstruída 460 pelo previsor com movimento compensado 540 para gerar blocos da previsão interimagens.
[00052] O processamento aplicado no sinal 460 será agora descrito. Primeiramente, o sinal é filtrado por uma unidade de filtro 560, que será descrita com mais detalhes a seguir. Isto envolve aplicar um filtro de "desbloqueio" para remover ou pelo menos tender a reduzir os efeitos do processamento com base em bloco realizado pela unidade de transformação 340 e subsequentes operações. Um filtro de deslocamento adaptativo de amostra (SAO) (descrito adicionalmente a seguir) também pode ser usado. Também, um filtro em malha adaptativo é aplicado usando coeficientes derivados pelo processamento do sinal reconstruído 460 e do sinal de vídeo de entrada 300. O filtro em malha adaptativo é um tipo de filtro que, usando técnicas conhecidas, aplica coeficientes de filtro adaptativo nos dados a serem filtrados. Isto é, os coeficientes de filtro podem variar na dependência de vários fatores. Dados que definem quais coeficientes de filtro usar são incluídos como parte do fluxo contínuo de dados de saída codificado.
[00053] Filtragem adaptativa representa filtragem em malha para restauração de imagem. Uma LCU pode ser filtrada por até 16 filtros, com uma escolha de filtro e um estado ativo/inativo do ALF sendo derivados em relação a cada CU na LCU. Atualmente, o controle é no nível da LCU, não no nível da CU.
[00054] A saída filtrada a partir da unidade de filtro 560, de fato, forma o sinal de vídeo de saída 480 quando o aparelho estiver operando como um aparelho de compressão. Ele também é temporariamente armazenado em um ou mais armazenamentos de imagem ou de quadro 570; o armazenamento de imagens sucessivas é uma exigência do processamento de previsão com movimento compensado e, em particular, da geração de vetores de movimento. Para poupar as exigências de armazenamento, as imagens armazenadas nos armazenamentos de imagem 570 podem ser mantidas de uma forma comprimida e, então, descomprimidas para uso na geração de vetores de movimento. Com este propósito em particular, qualquer sistema de compressão/descompressão conhecido pode ser usado. As imagens armazenadas são passadas para um filtro de interpolação 580 que gera uma versão de resolução mais alta das imagens armazenadas; neste exemplo, amostras intermediárias (subamostras) são geradas de maneira tal que a resolução da imagem interpolada transmitida pelo filtro de interpolação 580 seja 4 vezes (em cada dimensão) aquela das imagens armazenadas nos armazenamentos de imagem 570 para o canal de luminância de 4:2:0 e 8 vezes (em cada dimensão) aquela das imagens armazenadas nos armazenamentos de imagem 570 para os canais de crominância de 4:2:0. As imagens interpoladas são passadas como uma entrada para o estimador de movimento 550 e, também, para o previsor com movimento compensado 540.
[00055] Em modalidades da descrição, é provido um estágio opcional adicional, que é para multiplicar os valores de dados do sinal de vídeo de entrada por um fator de quatro usando um multiplicador 600 (efetivamente, somente deslocando os valores de dados para a esquerda em dois bits), e para aplicar uma correspondente operação de divisão (deslocamento para a direita em dois bits) na saída do aparelho usando um divisor ou deslocador para a direita 610. Então, o deslocamento para a esquerda e o deslocamento para a direita mudam os dados puramente para a operação interna do aparelho. Esta medida pode prover precisão de cálculo superior no aparelho, já que o efeito de todos os erros de arredondamento de dados é reduzido.
[00056] A maneira na qual uma imagem é particionada para processamento de compressão será agora descrita. Em um nível básico, uma imagem a ser comprimida é considerada como um arranjo de blocos de amostras. Com os propósitos da presente discussão, o maior tal bloco em consideração é uma assim denominada maior unidade de codificação (LCU) 700, que representa um arranjo quadrado de, tipicamente, 64 x 64 amostras (o tamanho da LCU é configurável pelo codificador, até um tamanho máximo, tal como definido pelos documentos HEVC). Aqui, a discussão refere-se a amostras de luminância. Dependendo do modo de crominância, tais como 4:4:4, 4:2:2, 4:2:0 ou 4:4:4:4 (GBR mais dados chaves), haverá números diferentes de correspondentes amostras de crominância correspondentes ao bloco de luminância.
[00057] Três tipos básicos de blocos serão descritos: unidades de codificação, unidades de previsão e unidades de transformação. Em termos gerais, a subdivisão recursiva das LCUs permite que uma figura de entrada seja particionada de uma maneira tal que tanto os tamanhos do bloco quanto os parâmetros de codificação de bloco (tais como modos de previsão ou de codificação residual) possam ser definidos de acordo com as características específicas da imagem a ser codificada.
[00058] A LCU pode ser subdividida em assim denominadas unidades de codificação (CU). Unidades de codificação são sempre quadradas e têm um tamanho entre 8 x 8 amostras e o tamanho completo da LCU 700. As unidades de codificação podem ser arranjadas como um tipo de estrutura de árvore, de forma que uma primeira subdivisão possa ocorrer, da forma mostrada na figura 8, proporcionando unidades de codificação 710 de 32 x 32 amostras; subsequentes subdivisões podem, então, ocorrer em uma base seletiva para proporcionar algumas unidades de codificação 720 de 16 x 16 amostras (figura 9) e, potencialmente, algumas unidades de codificação 730 de 8 x 8 amostras (figura 10). No geral, este processo pode prover uma estrutura de árvore de codificação com adaptação de conteúdo de blocos de CU, cada um dos quais podendo ser tão grande quanto a LCU ou tão pequeno quanto 8 x 8 amostras. Codificação dos dados de vídeo de saída ocorre com base na estrutura da unidade de codificação, o que significa que uma LCU é codificada, e, então, o processo se move para a próxima LCU, e assim por diante.
[00059] A figura 11 ilustra esquematicamente um arranjo de unidades de previsão (PU). Uma unidade de previsão é uma unidade básica para conduzir informação em relação aos processos de previsão de imagem ou, em outras palavras, os dados adicionais adicionados nos dados de imagem residuais codificados com entropia para formar o sinal de vídeo de saída proveniente do aparelho da figura 5. No geral, unidades de previsão não são restritas a ter forma quadrada. Elas podem tomar outras formas, em particular, formas retangulares que formam metade de uma das unidades de codificação quadradas (por exemplo, CUs 8 x 8 podem ter PUs 8 x 4 ou 4 x 8). Empregar PUs que se alinham a recursos de imagem não é uma parte compulsória do sistema HEVC, mas o objetivo geral será permitir que um bom codificador se alinhe ao contorno de unidades de previsão adjacentes para corresponder (tão intimamente quanto possível) ao contorno de objetos reais na figura, de forma que diferentes parâmetros de previsão possam ser aplicados em diferentes objetos reais. Cada unidade de codificação pode conter uma ou mais unidades de previsão.
[00060] A figura 12 ilustra esquematicamente um arranjo de unidades de transformação (TU). Uma unidade de transformação é uma unidade básica do processo de transformada e quantização. Unidades de transformação podem ou não ser quadradas e podem tomar um tamanho de 4 x 4 até 32 x 32 amostras. Cada unidade de codificação pode conter uma ou mais unidades de transformação. O acrônimo SDIP-P na figura 12 significa uma assim denominada partição de intraprevisão em curta distância. Neste arranjo apenas transformadas unidimensionais são usadas, então, um bloco 4 x N é passado através de N transformadas com dados de entrada nas transformadas sendo com base nos blocos vizinhos previamente decodificados e nas linhas vizinhas previamente decodificadas na SDIP-P atual. SDIP-P, atualmente, não está incluída em HEVC no momento do depósito do presente pedido.
[00061] Da forma supramencionada, codificação ocorre como uma LCU, então, uma próxima LCU, e congêneres. Em uma LCU, codificação é realizada CU a CU. Em uma CU, codificação é realizada para uma TU, então, uma próxima TU e congêneres.
[00062] O processo de intraprevisão será agora discutido. Em termos gerais, intraprevisão envolve gerar uma previsão de um bloco atual (uma unidade de previsão) de amostras a partir de amostras previamente codificadas e decodificadas na mesma imagem. A figura 13 ilustra esquematicamente uma imagem parcialmente codificada 800. Aqui, a imagem está sendo codificada do topo à esquerda até a base à direita com base em uma LCU. Uma LCU de exemplo codificada parcialmente através do tratamento da íntegra da imagem é mostrada como um bloco 810. Uma região sombreada 820 acima e à esquerda do bloco 810 já foi codificada. A previsão intraimagem dos conteúdos do bloco 810 pode fazer uso de qualquer uma da área sombreada 820, mas não pode fazer uso da área não sombreada abaixo desta. Note, entretanto, que, para uma TU individual na LCU atual, a ordem hierárquica de codificação (CU a CU, então, TU a TU) discutida anteriormente significa que pode haver amostras previamente codificadas na LCU atual e disponíveis para a codificação desta TU que estão, por exemplo, acima e à direita ou abaixo e à esquerda desta TU.
[00063] O bloco 810 representa uma LCU; da forma discutida anteriormente, com os propósitos de processamento de previsão intraimagem, esta pode ser subdividida em um conjunto de menores unidades de previsão e unidades de transformação. Um exemplo de uma TU atual 830 é mostrado na LCU 810.
[00064] A previsão intraimagem leva em consideração amostras codificadas antes de a TU atual ser considerada, tais como aquelas acima e/ou à esquerda da TU atual. Amostras de origem, a partir das quais as amostras exigidas são previstas, podem ficar localizadas em diferentes posições ou direções em relação à TU atual. Para decidir qual direção (modo de previsão) a partir dos modos de previsão candidatos é apropriada para uma unidade de previsão atual, o seletor de modo 520 de um codificador de exemplo pode testar todas as combinações de estruturas da TU disponíveis para cada direção candidata e selecionar a direção da PU e a estrutura da TU com a melhor eficiência de compressão.
[00065] A figura também pode ser codificada em uma base por "fatia". Em um exemplo, uma fatia é um grupo horizontalmente adjacente de LCUs. Mas, em termos mais gerais, a íntegra da imagem residual pode formar uma fatia, ou uma fatia pode ser uma única LCU, ou uma fatia pode ser uma linha de LCUs e congêneres. Fatias pode proporcionar alguma resiliência a erros, já que elas são codificadas como unidades independentes. Os estados do codificador e do decodificador são completamente redefinidos em um contorno da fatia. Por exemplo, intraprevisão não é realizada através dos contornos da fatia; contornos da fatia são tratados como contornos da imagem com este propósito.
[00066] A figura 14 ilustra esquematicamente um conjunto de direções de previsão possíveis (candidatas). O conjunto completo de 34 direções candidatas é disponível para uma unidade de previsão de 8 x 8, 16 x 16 ou 32 x 32 amostras. Os casos especiais de tamanhos da unidade de previsão de 4 x 4 e 64 x 64 amostras tem um conjunto reduzido de direções candidatas disponíveis para eles (17 direções candidatas e 5 direções candidatas, respectivamente). As direções são determinadas por deslocamento horizontal e vertical em relação a uma posição do bloco atual, mas são codificadas como "modos" de previsão, um conjunto dos quais é mostrado na figura 15. Note que o assim denominado modo DC representa uma simples média aritmética das amostras superior e esquerda circundantes.
[00067] A figura 16 ilustra esquematicamente um assim denominado escaneamento diagonal para cima e para a direita, sendo um exemplo de padrão de escaneamento que pode ser aplicado pela unidade de escaneamento 360. Na figura 16, o padrão é mostrado para um exemplo de bloco de 8 x 8 coeficientes de DCT, com o coeficiente dc ficando posicionado na posição no topo à esquerda 840 do bloco, e crescentes frequências espaciais horizontal e vertical sendo representadas por coeficientes em distâncias crescentes para baixo e à direita da posição no topo à esquerda 840. Outras ordens de escaneamento alternativas podem ser usadas em vez disto.
[00068] Variações dos arranjos de bloco e das estruturas da CU, da PU e da TU serão discutidas a seguir. Estas serão discutidas no contexto do aparelho da figura 17, que é similar, em muitos aspectos, àquele ilustrado nas figuras 5 e 6 discutidas anteriormente. De fato, muitos dos mesmos números de referência foram usados, e estas partes não serão discutidas adicionalmente.
[00069] As principais diferenças substantivas em relação às figuras 5 e 6 dizem respeito ao filtro 560 (figura 6), que, na figura 17, é mostrado com mais detalhes compreendendo um filtro de desbloqueio 1000 e bloco de decisão de codificação associado 1030, um filtro de deslocamento adaptativo de amostra (SAO) 1010 e gerador de coeficiente associado 1040, e um filtro em malha adaptativo (ALF) 1020 e gerador de coeficiente associado 1050.
[00070] O filtro de desbloqueio 1000 tenta reduzir distorção e melhorar a qualidade visual e o desempenho de previsão pela uniformização das bordas acentuadas que podem se formar entre contornos da CU, PU e TU quando técnicas de codificação de bloco forem usadas.
[00071] O filtro SAO 1010 classifica pixels reconstruídos em diferentes categorias e, então, tenta reduzir distorção pela simples adição de um deslocamento para cada categoria de pixels. A intensidade de pixel e as propriedades da borda são usadas para classificação de pixel. Para melhorar adicionalmente a eficiência de codificação, uma figura pode ser dividida em regiões para localização de parâmetros de deslocamento.
[00072] O ALF 1020 tenta restaurar a figura comprimida de maneira tal que a diferença entre os quadros reconstruídos e de origem seja minimizada. Os coeficientes de ALF são calculados e transmitidos em uma base por quadro. O ALF pode ser aplicado na íntegra do quadro ou em áreas locais.
[00073] Como exposto, os documentos HEVC propostos usam um esquema de amostragem croma em particular conhecido como o esquema 4:2:0. O esquema 4:2:0 pode ser usado para equipamento do doméstico/consumidor. Entretanto, diversos outros esquemas são possíveis.
[00074] Em particular, um assim denominado esquema 4:4:4 será adequado para difusão profissional, masterização e cinema digital e, em princípio, terá as mais alta qualidade e taxa de dados.
[00075] Similarmente, um assim denominado esquema 4:2:2 pode ser usado em difusão profissional, masterização e cinema digital com alguma perda de fidelidade.
[00076] Estes esquemas e suas correspondentes possíveis estruturas da PU e da TU de bloco são descritas a seguir.
[00077] Além do mais, outros esquemas incluem o esquema monocromático 4:0:0.
[00078] No esquema 4:4:4, cada um dos três canais Y, Cb e Cr tem a mesma taxa de amostragem. Portanto, em princípio, neste esquema, haverá duas vezes mais dados de croma que dados de luma.
[00079] Portanto, em HEVC, neste esquema, cada um dos três canais Y, Cb e Cr terá blocos correspondentes PU e TU que têm o mesmo tamanho; por exemplo, um bloco luma 8 x 8 terá correspondentes blocos croma 8 x 8 para cada um dos dois canais de croma.
[00080] Consequentemente, neste esquema, haverá, no geral, um relacionamento 1:1 direto entre tamanhos do bloco em cada canal.
[00081] No esquema 4:2:2, os dois componentes de croma são amostrados em metade da taxa de amostragem de luma (por exemplo, usando subamostragem vertical ou horizontal, mas, com os propósitos da presente descrição, subamostragem horizontal é considerada). Portanto, em princípio, neste esquema, haverá tantos dados de croma quantos forem os dados de luma, embora os dados de croma sejam divididos entre os dois canais de croma.
[00082] Portanto, em HEVC, neste esquema, os canais Cb e Cr terão blocos PU e TU de tamanhos diferentes do canal de luma; por exemplo, um bloco luma 8 x 8 pode ter correspondentes 4 blocos croma de largura x 8 blocos croma de altura para cada canal de croma.
[00083] Notavelmente, portanto, neste esquema, os blocos croma podem ser não quadrados, mesmo embora eles correspondam a blocos luma quadrados.
[00084] No esquema HEVC 4:2:0 atualmente proposto, os dois componentes de croma são amostrados em um quarto da taxa de amostragem de luma (por exemplo, usando subamostragem vertical e horizontal). Portanto, em princípio, neste esquema, há metade dos dados de croma em relação aos dados de luma, os dados de croma sendo divididos entre os dois canais de croma.
[00085] Portanto, em HEVC, neste esquema, novamente, os canais Cb e Cr têm blocos PU e TU de diferentes tamanhos em relação ao canal de luma. Por exemplo, um bloco luma 8 x 8 terá correspondentes blocos croma 4 x 4 para cada canal de croma.
[00086] Os esquemas expostos são coloquialmente conhecidos na tecnologia como 'razões de canal', como em 'uma razão de canal 4:2:0'; entretanto, será percebido, a partir da descrição exposta, que, de fato, isto nem sempre significa que os canais Y, Cb e Cr são comprimidos ou de outra forma providos nesta razão. Portanto, embora referida como uma razão de canal, esta não deve ser considerada literal. De fato, as razões corretas para o esquema 4:2:0 são 4:1:1 (as razões para o esquema 4:2:2 e o esquema 4:4:4 estão, de fato, corretas).
[00087] Antes de discutir arranjos em particular em relação às figuras 18a e 18b, alguma terminologia geral será sumarizada ou revisitada.
[00088] Uma Maior Unidade de Codificação (LCU) é um objeto de figura raiz. Tipicamente, ela cobre a área equivalente a 64 x 64 pixels luma. Ela é recursivamente dividida para formar uma hierarquia de árvore das Unidades de Codificação (CUs). Em termos gerais, os três canais (um canal de luma e dois canais de croma) têm a mesma hierarquia de árvore de CU. Tendo dito isto, entretanto, dependendo da razão de canal, uma CU luma em particular pode compreender um diferente número de pixels em relação a correspondentes CUs croma.
[00089] As CUs no fim da hierarquia de árvore, isto é, as menores CUs resultantes do processo de divisão recursiva (que podem ser referidas como CUs folhas) são, então, divididos em Unidades de Previsão (PUs). Os três canais (luma e dois canais de croma) têm a mesma estrutura de PU, exceto quando a correspondente PU para um canal de croma tiver muito poucas amostras, em cujo caso somente uma PU para este canal está disponível. Isto é configurável, mas, comumente, a mínima dimensão de uma PU intra é 4 amostras; a mínima dimensão de uma PU inter é 4 amostras de luma (ou 2 amostras de croma para 4:2:0). A restrição sobre o mínimo tamanho da CU é sempre grande o suficiente para pelo menos uma PU para qualquer canal.
[00090] As CUs folhas também são divididas em Unidades de Transformação (TUs). As TUs podem - e, quando elas forem muito grandes (por exemplo, acima de 32 x 32 amostras), devem - ser divididas em TUs adicionais. Um limite é aplicado de forma que TUs podem ser divididas até uma máxima profundidade da árvore, atualmente, configurada como 2 níveis. Isto é, pode haver não mais que 16 TUs para cada CU. Um menor tamanho de TU permissível ilustrativo é 4 x 4 amostras e o maior tamanho de TU permissível é 32 x 32 amostras. Novamente, os três canais têm a mesma estrutura da TU sempre que possível, mas, se uma TU não puder ser dividida em uma profundidade em particular para um dado canal devido à restrição de tamanho, ela permanece no maior tamanho. O assim denominado arranjo de transformada de árvore quádrupla não quadrada (NSQT) é similar, mas o método de divisão em quatro TUs não precisa ser 2 x 2, mas pode ser 4 x 1 ou 1 x 4.
[00091] Em relação às figuras 18a e 18b, os diferentes tamanhos de bloco possíveis são sumarizados para Blocos de CU, PU e TU, com 'Y' em relação a blocos luma e 'C' em relação, em um sentido genérico, a um bloco croma representativo dos blocos croma e os números em relação aos pixels. 'Inter' refere-se a PUs de previsão interquadros (em oposição a PUs de previsão intraquadro). Em muitos casos, apenas os tamanhos do bloco para os blocos luma são mostrados. Os correspondentes tamanhos dos blocos croma associados são relacionados aos tamanhos do bloco luma de acordo com as razões de canal. Então, para 4:4:4, os canais de croma têm os mesmos tamanhos do bloco dos blocos luma mostrados nas figuras 18a e 18b. Para 4:2:2 e 4:2:0, os cada um dos blocos croma terá menos pixels que o correspondente bloco luma, de acordo com a razão de canal.
[00092] Os arranjos mostrados nas figuras 18a e 18b dizem respeito a quatro possíveis tamanhos da CU: 64 x 64, 32 x 32, 16 x 16 e 8 x 8 pixels luma, respectivamente. Cada uma destas CUs tem uma linha correspondente de opções de PU (mostradas em uma coluna 1140) e opções de TU (mostradas em uma coluna 1150). Para os possíveis tamanhos da CU definidos anteriormente, as linhas de opções são referenciadas como 1100, 1110, 1120 e 1130, respectivamente.
[00093] Note que 64 x 64 é, atualmente, um máximo tamanho da CU, mas esta restrição pode mudar.
[00094] Em cada linha 1100... 1130, diferentes opções de PU são mostradas aplicáveis a este tamanho da CU. As opções de TU aplicáveis a estas configurações de PU são mostradas horizontalmente alinhadas com a(s) respectiva(s) opção(ões) de PU.
[00095] Note que, em diversos casos, múltiplas opções de PU são providas. Da forma discutida anteriormente, o objetivo do aparelho na seleção de uma configuração de PU é corresponder (tão intimamente quanto possível) ao contorno de objetos reais na figura, de forma que diferentes parâmetros de previsão possam ser aplicados em diferentes objetos reais.
[00096] Os tamanhos e as formas do bloco e das PUs são uma decisão com base no codificador, sob o controle do controlador 343. O método atual envolve conduzir testes de muitas estruturas de árvore de TU para muitas direções, e adquirir o melhor "custo" em cada nível. Aqui, o custo pode ser expressado como um medida da distorção, ou ruído, ou erros, ou taxa de bits resultante de cada estrutura de bloco. Então, o codificador pode tentar duas ou mais (ou mesmo todas disponíveis) permutas de tamanhos e formas do bloco entre aqueles permitidos sob as estruturas de árvore e hierarquias discutidas anteriormente, antes de selecionar qual dos testes proporciona a mais baixa taxa de bits para uma certa medida de qualidade exigida, ou a mais baixa distorção (ou erros, ou ruído ou combinações destas medidas) para uma taxa de bits exigida, ou uma combinação destas medidas.
[00097] Dada a seleção de uma configuração de PU em particular, vários níveis de divisão podem ser aplicados para gerar as correspondentes TUs. Em relação à linha 1100, no caso do uma PU 64 x 64, este tamanho do bloco é muito grande para uso como uma TU e, então, um primeiro nível de divisão (do "nível 0" (não dividido) para "nível 1") é compulsório, resultando em um arranjo de quatro TUs luma 32 x 32. Cada uma destas pode ser sujeita a divisão adicional em uma hierarquia de árvore (do "nível 1" até o "nível 2") conforme exigido, com a divisão sendo realizada antes da transformação ou da quantização desta TU serem realizadas. O número máximo de níveis na árvore de TU é limitado (por exemplo) pelos documentos HEVC.
[00098] Outras opções são providas para tamanhos e formas da PU no caso de um pixel CU luma 64 x 64. Estes são restritos para uso apenas com figuras intercodificadas e, em alguns casos, com a assim denominada opção AMP habilitada. AMP refere-se a Particionamento de Movimento Assimétrico e permite que PUs sejam particionadas assimetricamente.
[00099] Similarmente, em alguns casos, são providas opções para tamanhos e formas de TU. Se NQST (transformada de árvore quádrupla não quadrada, basicamente, permitindo uma TU não quadrada) for habilitada, então, divisão para nível 1 e/ou nível 2 pode ser realizada, da forma mostrada, enquanto que, se NQST não for habilitada, os tamanhos de TU seguem o padrão de divisão da respectiva maior TU para este tamanho da CU.
[000100] São providas opções similares para outros tamanhos da CU.
[000101] Além da representação gráfica mostrada nas figuras 18a e 18b, a parte numérica da mesma informação é provida na seguinte tabela, embora a apresentação das figuras 18a e 18b seja considerada definitiva. "n/a" indica um modo que não é permitido. O tamanho do pixel horizontal é citado primeiro. Se uma terceira figura for dada, ela refere-se ao número de instâncias deste tamanho do bloco, como em (horizontal) x (vertical) x (número de instâncias) blocos. N é um número inteiro.
[000102] Foi percebido que esquemas tanto 4:2:0 quanto 4:4:4 têm blocos de PU quadrada para codificação com intraprevisão. Além do mais, atualmente, o esquema 4:2:0 permite blocos PU e TU de 4 x 4 pixels.
[000103] Em modalidades da presente descrição, é consequentemente proposto que, para o esquema 4:4:4, permita-se que o recurso para blocos de CU até 4 x 4 pixels, em vez de 8 x 8 pixels, já que, como exposto, no modo 4:4:4, os blocos luma e croma terão o mesmo tamanho (isto é, os dados de croma não são subamostrados) e, então, para uma CU 4 x 4, nenhuma PU ou TU precisará ser menor que o mínimo de 4 x 4 pixels já permitido.
[000104] Similarmente, no esquema 4:4:4, em uma modalidade da presente descrição, cada um dos canais Y, Cr, Cb, ou o canal Y e os dois canais Cr, Cb em conjunto, podem ter respectivas hierarquias de árvore CU. Um indicador pode, então, ser usado para sinalizar qual hierarquia ou arranjo de hierarquias devem ser usados. Esta abordagem também pode ser usada para um esquema de espaço de cor 4:4:4 RGB. Entretanto, em uma alternativa, as hierarquias de árvore para croma e luma podem ser, ao contrário, independentes.
[000105] No exemplo de uma CU 8 x 8 no esquema 4:2:0, isto resulta em quatro PUs luma 4 x 4 e um PU croma 4 x 4. Portanto, no esquema 4:2:2, com duas vezes mais dados de croma, uma opção é, neste caso, ter duas PUs croma 4 x 4, em que (por exemplo) o bloco croma da base corresponderá, em posição, ao bloco luma da base à esquerda. Entretanto, foi percebido que, usar uma PU croma 4 x 8 não quadrada, neste caso, será mais consistente com arranjos para o formato croma 4:2:0.
[000106] No esquema 4:2:0, há, em princípio, alguns blocos TU não quadrados permitidos para certas classes de codificação com interprevisão, mas não para codificação com intraprevisão. Entretanto, em codificação com interprevisão, quando transformadas de árvore quádrupla não quadrada (NSQT) forem desabilitadas (que é o padrão atual para o esquema 4:2:0), todas as TUs são quadradas. Portanto, de fato, o esquema 4:2:0 impõe atualmente TUs quadradas. Por exemplo, uma TU luma 16 x 16 4:2:0 corresponderá a respectivas TUs Croma Cb & Cr 8 x 8 4:2:0.
[000107] Entretanto, como exposto, o esquema 4:2:2 pode ter PUs não quadradas. Consequentemente, em uma modalidade da presente descrição, é proposto permitir TUs não quadradas para o esquema 4:2:2.
[000108] Por exemplo, embora uma TU luma 16 x 16 4:2:2 possa corresponder a duas respectivas TUs Croma Cb & Cr 8 x 8 4:2:2, nesta modalidade, ela pode corresponder, ao contrário, a respectivas TUs Croma Cb & Cr 8x16 4:2:2.
[000109] Similarmente, quatro TUs luma 4 x 4 4:2:2 podem corresponder a duas respectivas TUs 4 x 4 Cb + Cr 4:2:2 ou, nesta modalidade, pode corresponder, ao contrário, a respectivas TUs 4 x 8 Cb & Cr 4:2:2.
[000110] Ter TUs Croma não quadradas e, portanto, menos TUs, pode ser mais eficiente, já que é provável que elas contenham menos informação. Entretanto, isto pode afetar os processos de transformação e escaneamento de tais TUs, como será descrito posteriormente.
[000111] Para 4:4:4:, é possível, em modalidades da descrição, impedir a divisão de blocos luma em (por exemplo) blocos de 4 x 4, se esta for uma divisão adicional à que os blocos croma passaram. Isto pode levar a codificação mais eficiente.
[000112] Finalmente, para o esquema 4:4:4, pode ser preferível ter a estrutura da TU independente de canal, e selecionável na sequência, figura, fatia ou nível mais fino.
[000113] Como exposto, NSQT é atualmente desabilitado no esquema 4:2:0 de HEVC. Entretanto, se para previsão interfiguras, NSQT for habilitada e Particionamento de Movimento Assimétrico (AMP) for permitido, isto permite que PUs sejam particionadas assimetricamente; assim, por exemplo, uma CU 16 x 16 pode ter uma PU 4 x 16 e uma PU 12 x 16. Nestas circunstâncias, considerações adicionais da estrutura de bloco são importantes para cada um dos esquemas 4:2:0 e 4:2:2.
[000114] Para o esquema 4:2:0, em NSQT, as mínimas largura/altura de uma TU podem ser restritas a 4 amostras de luma/croma.
[000115] Portanto, em um exemplo não limitante, uma estrutura de PU luma 16 x 4/16 x 12 tem quatro TUs luma 16 x 4 e quatro TUs croma 4 x 4, em que as TUs luma ficam em um arranjo de bloco vertical 1 x 4 e as TUs croma ficam em um arranjo de bloco 2 x 2.
[000116] Em um arranjo similar em que o particionamento era vertical em vez de horizontal, uma estrutura de PU luma 4 x 16/12 x 16 tem quatro TUs luma 4 x 16 e quatro TUs croma 4 x 4, em que as TUs luma ficam em um arranjo de bloco horizontal 4 x 1 e as TUs croma ficam em um arranjo de bloco 2 x 2.
[000117] Para o esquema 4:2:2, em NSQT, como um exemplo não limitante, uma estrutura de PU luma 4 x 16/12 x 16 tem quatro TUs luma 4 x 16 e quatro TUs 4 x 8 croma, em que as TUs luma ficam em um arranjo de bloco horizontal 4 x 1; as TUs croma ficam em um arranjo de bloco 2 x 2.
[000118] Entretanto, foi percebido que uma diferente estrutura pode ser considerada para alguns casos. Portanto, em uma modalidade da presente descrição, em NSQT, como um exemplo não limitante, a estrutura de PU luma 16 x 4/16 x 12 tem quatro TUs luma 16 x 4 e quatro 8 x 4 TUs croma, mas, agora, as TUs luma e croma ficam em um arranjo de bloco vertical 1 x 4, alinhado com o esquema PU (em oposição ao arranjo estilo 4:2:0 de quatro TUs croma 4 x 8 em um arranjo de bloco 2 x 2).
[000119] Similarmente, PU 32 x 8 pode ter quatro TUs luma 16 x 4 e quatro TUs croma 8 x 4, mas, agora, as TUs luma e croma ficam em um arranjo de bloco 2 x 2.
[000120] Portanto, mais no geral, para o esquema 4:2:2, em NSQT, os tamanhos do bloco de TU são selecionados para alinhar com o esquema do bloco PU assimétrico. Consequentemente, a NSQT permite utilmente que contornos da TU alinhem com contornos da PU, o que reduz artefatos em alta frequência que podem ocorrer em outras circunstâncias.
[000121] Em termos gerais, modalidades da descrição podem dizer respeito a um método, aparelho ou programa de codificação de vídeo operáveis em relação às imagens de um sinal de vídeo em formato 4:2:2. Uma imagem a ser codificada é dividida em unidades de codificação, unidades de previsão e unidades de transformação para codificação, uma unidade de codificação sendo um arranjo quadrado de amostras de luminância e as correspondentes amostras de crominância, havendo uma ou mais unidades de previsão em uma unidade de codificação, e havendo uma ou mais unidades de transformação em uma unidade de codificação; em que uma unidade de previsão é uma unidade de previsão elementar, de forma que todas as amostras em uma única unidade de previsão sejam previstas usando uma técnica de previsão comum, e uma unidade de transformação é uma unidade básica de transformação e quantização.
[000122] Um modo de transformação não quadrado (tal como um modo NSQT) é habilitado para permitir unidades de previsão não quadradas.Opcionalmente, Particionamento de Movimento Assimétrico é habilitado para permitir assimetria entre duas ou mais unidades de previsão correspondentes a uma única unidade de codificação.
[000123] O controlador 343 controla a seleção dos tamanhos do bloco da unidade de transformação para alinhar com o esquema da unidade de previsão bloco, por exemplo, pela detecção de recursos de imagem na parte da imagem correspondente a uma PU e seleção de tamanhos do bloco de TU em relação a esta PU para alinhar contornos da TU com bordas de recursos de imagem na parte da imagem.
[000124] As regras discutidas anteriormente indicam quais combinações de tamanhos do bloco estão disponíveis. O codificador pode tentar somente diferentes combinações. Da forma discutida anteriormente, uma tentativa pode incluir duas ou mais, até todas as opções disponíveis. Os processos de tentativa de codificação podem ser realizados de acordo com uma métrica da função de custo e um resultado selecionado de acordo com uma avaliação da função de custo.
[000125] Dado que há três níveis de variação, de acordo com o tamanho e a forma da CU, o tamanho e a forma da PU e o tamanho e a forma da TU, isto pode levar a um grande número de permutas a serem codificado por tentativa. Para reduzir esta variação, o sistema pode tentar codificar para um tamanho da CU pelo uso de uma das configurações arbitrariamente selecionadas das configurações de PU/TU permissíveis para cada tamanho da CU; então, tendo selecionado um tamanho da CU, um tamanho e uma forma da PU podem ser selecionados por codificação de teste das diferentes opções de PU, cada qual com uma única configuração de TU arbitrariamente escolhida. Então, tendo selecionado uma CU e uma PU, o sistema pode tentar todas as configurações de TU aplicáveis para selecionar uma configuração de TU final.
[000126] Uma outra possibilidade é que alguns codificadores podem usar uma escolha fixa da configuração do bloco, ou podem permitir um subconjunto limitado das combinações apresentadas nas discussões expostas.
[000127] Voltando agora para a figura 22, para intraprevisão, HEVC permite previsão de croma angular.
[000128] A título de introdução, a figura 22 ilustra 35 modos de previsão aplicáveis a blocos luma, 33 dos quais especificam direções para amostras de referência para uma posição de amostra prevista atual 110. Os dois modos restantes são modo 0 (plano) e modo 1 (dc). Um modo de previsão é selecionado para cada bloco a partir destes modos de previsão candidatos.
[000129] HEVC permite que croma tenha modos DC, Vertical, Horizontal, Plano, DM_CROMA e LM_CROMA.
[000130] DM_CROMA indica que o modo de previsão a ser usado é o mesmo daquele da PU luma colocalizada (isto é, um dos 35 mostrados na figura 22).
[000131] LM_CROMA (modo croma linear) indica que amostras de luma colocalizadas (descendentemente amostradas conforme apropriado em relação às razões de canal) são usadas para derivar as amostras de croma previstas. Neste caso, se a PU luma a partir do qual o modo de previsão DM_CROMA será tomado selecionou DC, Vertical, Horizontal ou Plano, esta entrada na lista da previsão de croma é substituída usando o modo 34. No modo LM_CROMA, os pixels luma a partir dos quais os pixels croma são previstos são escalonados (e têm um deslocamento aplicado, se apropriado) de acordo com um relacionamento linear entre luma e croma. Este relacionamento linear é derivado de pixels circundantes, e a derivação pode ser realizada em uma base bloco a bloco, com o decodificador finalizando decodificação de um bloco antes de mover para o próximo.
[000132] É notável que os modos de previsão 2-34 amostram uma faixa angular de 45 graus até 225 graus; isto é, uma metade diagonal de um quadrado. Isto é útil no caso do esquema 4:2:0, que, como exposto, usa apenas PUs croma quadradas para previsão intrafigura.
[000133] Entretanto, também, como exposto, o esquema 4:2:2 pode ter PUs croma retangulares (não quadradas) mesmo quando as PUs luma forem quadradas. Ou, de fato, o oposto pode ser verdadeiro: uma PU luma retangular pode corresponder a uma PU croma quadrada. O motivo para a discrepância é que, em 4:2:2, o croma é subamostrado horizontalmente (em relação ao luma), mas não verticalmente. Então, espera-se que a razão de aspecto de um bloco luma e um correspondente bloco croma sejam diferentes. Desta maneira, o formato 4:2:2 representa um exemplo (e há outros exemplos, tal como 4:2:0) de um formato de vídeo no qual as amostras de crominância têm uma taxa de amostragem horizontal e/ou vertical inferior às amostras de luminância, de forma que a razão da resolução horizontal da luminância pela resolução horizontal da crominância seja diferente da razão da resolução vertical da luminância pela resolução vertical da crominância, de forma que um bloco de amostras de luminância tenha uma diferente razão de aspecto em relação a um bloco correspondente de amostras de crominância.
[000134] Consequentemente, em uma modalidade da presente descrição, para PUs croma com uma diferente razão de aspecto em relação ao correspondente bloco luma, uma tabela de mapeamento pode ser exigida para a direção. Considerando (por exemplo) uma razão de aspecto 1 por 2 para PUs croma retangulares, então, por exemplo, o modo 18 (atualmente, em um ângulo de 135 graus) pode ser remapeado para 123 graus. Alternativamente, a seleção do modo 18 atual pode ser remapeada para uma seleção de modo atual 22, para o mesmo efeito.
[000135] Portanto, mais no geral, para PUs não quadradas, um mapeamento diferente entre a direção da amostra de referência e o modo de intraprevisão selecionado pode ser provido, se comparado com aquele para PUs quadradas.
[000136] Ainda mais no geral, qualquer um dos modos, incluindo os modos não direcionais, também pode ser remapeado com base em evidência empírica.
[000137] É possível que tal mapeamento resulte em um relacionamento muitos para um, tornando a especificação do conjunto completo de modos redundante para PUs croma 4:2:2. Neste caso, por exemplo, pode ser que apenas 17 modos (correspondentes à metade da resolução angular) sejam necessários. Alternativamente ou além do mais, estes modos podem ser angularmente distribuídos de uma maneira não uniforme.
[000138] Similarmente, o filtro de uniformização usado na amostra de referência durante a previsão do pixel na posição da amostra pode ser usado diferentemente; no esquema 4:2:0, ele é usado apenas para uniformizar pixels luma, mas não pixels croma. Entretanto, nos esquemas 4:2:2 e 4:4:4, este filtro também pode ser usado para as PUs croma. No esquema 4:2:2, novamente, o filtro pode ser modificado em resposta à diferente razão de aspecto da PU, por exemplo, apenas sendo usado para um subconjunto de modos horizontais próximos. Um exemplo de subconjunto de modos é, preferivelmente, 2-18 e 34 ou, mais preferivelmente, 7-14. Em 4:2:2, uniformização apenas da coluna esquerda das amostras de referência pode ser realizada em modalidades da descrição.
[000139] Em termos gerais, em modalidades a serem descritas, uma primeira direção da previsão é definida em relação a uma primeira grade de uma primeira razão de aspecto em relação a um conjunto de amostras atuais a serem previstas; e um mapeamento de direção é aplicado na direção da previsão para gerar uma segunda direção da previsão definida em relação a uma segunda grade de uma diferente razão de aspecto. A primeira direção da previsão pode ser definida em relação a um bloco quadrado de amostras de luminância que inclui uma amostra de luminância atual; e a segunda direção da previsão pode ser definida em relação a um bloco retangular de amostras de crominância que inclui uma amostra de crominância atual.
[000140] Estes arranjos são discutidos a seguir com mais detalhes.
[000141] No esquema 4:4:4, as PUs croma e luma têm o mesmo tamanho e, então, o modo de intraprevisão para uma PU croma pode ser tanto igual à PU luma colocalizada (então, poupando algum sobreprocessamento no fluxo contínuo de bits por não precisar codificar um modo separado) ou, alternativamente, ele pode ser independentemente selecionado.
[000142] Neste último caso, portanto, em uma modalidade da presente descrição, pode-se ter 1, 2 ou 3 diferentes modos de previsão para cada uma da PUs em uma CU;
[000143] Em um primeiro exemplo, as PUs Y, Cb e Cr podem, todas, usar o mesmo modo de intraprevisão.
[000144] Em um segundo exemplo, a PU Y pode usar um modo de intraprevisão, e as PUs tanto Cb quanto Cr usam um outro modo de intraprevisão independentemente selecionado.
[000145] Em um terceiro exemplo, cada uma das PUs Y, Cb e Cr usa um respectivo modo de intraprevisão independentemente selecionado.
[000146] Será percebido que ter modos de previsão independentes para os canais de croma (ou cada canal de croma) aumentará a precisão da previsão de cor. Mas isto é às custas de um sobreprocessamento de dados adicionais para comunicar os modos de previsão independentes como parte dos dados codificados.
[000147] Para aliviar isto, a seleção do número de modos pode ser indicada na sintaxe de alto nível (por exemplo, no nível da sequência, da figura ou da fatia). Alternativamente, o número de modos independentes pode ser derivado a partir do formato de vídeo; por exemplo, GBR pode ter até 3, enquanto YCbCr pode ser restrito a até 2.
[000148] Além de selecionar independentemente os modos, pode-se permitir que os modos disponíveis difiram do esquema 4:2:0 no esquema 4:4:4.
[000149] Por exemplo, como as PUs luma e croma têm o mesmo tamanho em 4:4:4, a PU croma pode se beneficiar do acesso a todas as 35 direções + LM_CROMA + DM_CROMA disponíveis. Portanto, para o caso de Y, Cb e Cr, cada qual tendo modos de previsão independentes, então, o canal Cb pode ter acesso a DM_CROMA & LM_CROMA, enquanto o canal Cr pode ter acesso a DM_CROMA_Y, DM_CROMA_Cb, LM_CROMA_Y e LM_CROMA_Cb, em que estes substituem referências ao canal de luma com referências aos canais croma Y ou Cb.
[000150] Quando os modos de previsão luma forem sinalizados pela derivação de uma lista de modos mais prováveis e envio de um índice para esta lista, então, se o(s) modo(s) de previsão de croma for(em) independente(s), pode ser necessário derivar listas independentes de modos mais prováveis para cada canal.
[000151] Finalmente, de uma maneira similar àquela notada para o caso 4:2:2 exposto, no esquema 4:4:4, o filtro de uniformização usado na amostra de referência durante a previsão do pixel na posição da amostra pode ser usado para PUs croma de uma maneira similar às PUs luma. Atualmente, um filtro passa baixa [1,2,1] pode ser aplicado nas amostras de referência antes de intraprevisão. Isto é usado apenas para TUs luma durante o uso de certos modos de previsão.
[000152] Um dos modos de intraprevisão disponíveis para TUs croma é basear as amostras previstas em amostras de luma colocalizadas. Um arranjo como este é ilustrado esquematicamente na figura 19, que mostra um arranjo de TUs 1200 (a partir de uma região de uma imagem de origem) representado por pequenos quadrados nos canais Cb, Cr e Y, que mostram o alinhamento especial entre recursos de imagem (esquematicamente indicado por caixas sombreadas escura e clara 1200) nos canais Cb e Y e nos canais Cr e Y. Neste exemplo, é benéfico forçar as TUs croma a basear suas amostras previstas em amostras de luma colocalizadas. Entretanto, não é sempre o caso em que recursos de imagem correspondem entre os três canais. De fato, certos recursos podem aparecer apenas em um ou dois dos canais e, no geral, o conteúdo da imagem dos três canais pode diferir.
[000153] Em modalidades da descrição, para TUs Cr, LM_Croma pode ser opcionalmente com base em amostras colocalizadas do canal Cb (ou, em outras modalidades, a dependência pode ser o contrário). Um arranjo como este é mostrado de forma esquemática na figura 20. Aqui, TUs espacialmente alinhadas são ilustradas entre os canais Cr, Cb e Y. Um conjunto adicional de TUs rotuladas "origem" é uma representação esquemática da figura a cores vista como um todo. Os recursos de imagem (um triângulo no topo à esquerda e um triângulo inferior à direita) vistos na imagem de origem não representam, de fato, mudanças na luminância, mas, apenas mudanças na crominância entre as duas regiões triangulares. Neste caso, basear LM_Croma para Cr nas amostras de luminância produzirá uma previsão fraca, mas baseá- lo nas amostras Cb pode proporcionar uma melhor previsão.
[000154] A decisão em relação a qual modo LM_CROMA deve ser usado pode ser feita pelo controlador 343 e/ou pelo seletor de modo 520, com base na codificação de teste das diferentes opções (incluindo a opção de basear LM_Croma nas amostras de luma colocalizadas ou croma colocalizadas), com a decisão em relação a qual modo selecionar sendo feita pela avaliação de uma função de custo, similar àquela supradescrita, em relação às diferentes codificações de teste. Exemplos da função de custo são ruído, distorção, taxa de erro ou taxa de bits. Um modo dentre aqueles sujeitos a codificação de teste que proporcionam a mais baixa de qualquer uma ou mais destas funções de custo é selecionado.
[000155] A figura 21 ilustra esquematicamente um método usado para obter amostras de referência para intraprevisão em modalidades da descrição. Na visualização da figura 21, deve-se manter em mente que codificação é realizada de acordo com um padrão de escaneamento, de forma que, em termos gerais, versões codificadas dos blocos acima e à esquerda de um bloco atual a ser codificado fiquem disponíveis para o processo de codificação. Algumas vezes, amostras abaixo e à esquerda ou acima e à direita são usadas, se elas tiverem sido previamente codificadas como parte de outras TUs já codificadas na LCU atual. Referência é feita à figura 13, como exposto, por exemplo.
[000156] Uma área sombreada 1210 representa uma TU atual, isto é, uma TU que está sendo atualmente codificada.
[000157] Em 4:2:0 e 4:2:2, a coluna de pixels imediatamente à esquerda da TU atual não contém amostras colocalizadas de luminância e de crominância em virtude de subamostragem horizontal. Em outras palavras, isto é em virtude de os formatos 4:2:0 e 4:2:2 terem metade dos pixels de crominância em relação aos pixels de luminância (em uma direção horizontal), então, nem toda posição de amostra de luminância tem uma amostra de crominância colocalizada. Portanto, embora amostras de luminância possam estar presentes na coluna de pixels imediatamente à esquerda da TU, amostras de crominância não estão presentes. Portanto, em modalidades da descrição, a coluna localizada duas amostras à esquerda da TU atual é usada para prover amostras de referência para LM_Croma. Note que a situação é diferente em 4:4:4, em que a coluna imediatamente à esquerda da TU atual, de fato, contém amostras de luma e croma colocalizadas. Esta coluna pode, portanto, ser usada para prover amostras de referência.
[000158] As amostras de referência são usadas como segue.
[000159] No modo LM_CROMA, amostras de croma previstas são derivadas a partir de amostras de luma reconstruídas de acordo com um relacionamento linear. Então, em termos gerais, pode-se dizer que os valores de crominância previstos na TU são dados por:PC = a + bPL em que PC é um valor da amostra de crominância, PL é um valor de amostra de luminância reconstruído nesta posição da amostra, e a e b são constantes. As constantes são derivadas para um bloco em particular pela detecção do relacionamento entre amostras de luma e amostras de croma reconstruídas na linha exatamente acima deste bloco e na coluna exatamente à esquerda deste bloco, estas sendo posições de amostra que já foram codificadas (veja anteriormente).
[000160] Em modalidades da descrição, as constantes a e b são derivadas como segue:a = R(PL', PC') / R(PL', PL') em que R representa uma função de regressão linear (quadrados mínimos), e PL' e PC' são amostras de luminância e de crominância, respectivamente, da linha e da coluna adjacentes, da forma discutida anteriormente, e:b = média (PC') - a.média (PL')
[000161] Para 4:4:4, os valores PL' e PC' são tomados a partir da coluna imediatamente à esquerda da TU atual e da linha imediatamente acima da TU atual. Para 4:2:2, os valores PL' e PC' são tomados a partir da linha imediatamente acima da TU atual e da coluna no bloco adjacente, que fica duas posições distantes da amostra da borda esquerda da TU atual. Para 4:2:0 (que é subamostrado verticalmente e horizontalmente), os valores PL' e PC' seriam tomados de forma ideal a partir de uma linha que fica duas linhas acima da TU atual, mas, de fato, são tomados a partir de uma linha no bloco adjacente, que fica uma posição de amostra acima da TU atual, e da coluna no bloco adjacente, que fica duas posições distantes da amostra da borda esquerda da TU atual. O motivo é evitar precisar manter a íntegra de uma linha de dados adicional na memória. Então, neste particular, 4:2:2 e 4:2:0 são tratados de uma maneira similar.
[000162] Desta maneira, estas técnicas se aplicam em métodos de codificação de vídeo com um modo de previsão de crominância no qual um bloco atual de amostras de crominância que representa uma região da imagem é codificado pela derivação e codificação de um relacionamento das amostras de crominância em relação a um bloco colocalizado de amostras de luminância (tais como amostras de luminância reconstruídas) que representam a mesma região da imagem. O relacionamento (tal como o relacionamento linear) é derivado pela comparação de amostras de luminância e de crominância colocalizadas (de outra forma expressadas como correspondentemente localizadas) a partir de blocos adjacentes já codificados. As amostras de crominância são derivadas a partir de amostras de luminância de acordo com o relacionamento; e a diferença entre as amostras de crominância previstas e as amostras de crominância reais é codificada como dados residuais.
[000163] Em relação a uma primeira resolução de amostragem (tal como 4:4:4), em que as amostras de crominância têm a mesma taxa de amostragem que as amostras de luminância, as amostras colocalizadas são amostras em posições de amostra adjacentes ao bloco atual.
[000164] Em relação a uma segunda resolução de amostragem (tais como 4:2:2 ou 4:2:0), em que as amostras de crominância têm uma taxa de amostragem inferior àquela das amostras de luminância, uma coluna ou uma linha mais próximas das amostras de luminância e de crominância colocalizadas a partir do bloco adjacente já codificado são usadas para prover as amostras colocalizadas. Ou quando, no caso de a segunda resolução de amostragem ser uma resolução de amostragem 4:2:0, as amostras correspondentemente localizadas forem uma linha de amostras adjacente ao bloco atual e uma coluna ou uma linha mais próximas de amostras correspondentemente localizadas de luminância e de crominância, provenientes dos blocos adjacentes já codificados.
[000165] A figura 22 ilustra esquematicamente os ângulos de previsão disponíveis para amostras de luma. O pixel atual sendo previsto da forma mostrada no centro do diagrama como um pixel 1220. Os menores pontos 1230 representam pixels adjacentes. Aqueles localizados nos lados de topo ou à esquerda do pixel atual são disponíveis como amostras de referência para gerar uma previsão, em virtude de eles terem sido previamente codificados. Outros pixels são atualmente desconhecidos (no momento da previsão do pixel 1220) e serão previstos no devido tempo.
[000166] Cada direção da previsão numerada aponta para amostras de referência 1230 a partir de um grupo de amostras de referência candidatas nas bordas de topo ou esquerda do bloco atual que são usadas para gerar o pixel previsto atual. No caso dos menores blocos, em que as direções de previsão apontarem pra locais entre amostras de referência, uma interpolação linear entre amostras de referência adjacentes (cada lado da posição da amostra apontado pela direção indicada pelo modo de previsão atual) é usada.
[000167] Voltando agora para previsão intra-angular para amostras de croma, para 4:2:0, menos direções de previsão são disponíveis em virtude da relativa escassez das amostras de croma. Entretanto, se o modo DM_CROMA for selecionado, então, o bloco croma atual usará a mesma direção da previsão do bloco luma colocalizado. Por sua vez, isto significa que as direções de luma para intraprevisão também são disponíveis para croma.
[000168] Entretanto, para amostras de croma em 4:2:2, pode ser considerado contraintuitivo usar os mesmos algoritmo e direção de previsão de luma quando DM_CROMA for selecionado, dado que blocos croma, agora, têm uma razão de aspecto diferente daquela dos blocos luma. Por exemplo, uma linha em 45 ° para um arranjo luma quadrado de amostras ainda deve mapear para uma linha em 45 ° para amostras de croma, apesar de com um arranjo de amostras de tamanho retangular. Sobrepor a grade retangular em uma grade quadrada indica que a linha em 45 °, então, de fato, mapeará para uma linha de 26,6 °.
[000169] Em modalidades da descrição, pode ser definido que todas as regiões de uma imagem, ou todas as regiões de cada imagem, usam o mesmo modo de previsão (por exemplo, pelo menos para amostras de crominância), tal como o modo DM_CROMA.
[000170] A figura 23 ilustra esquematicamente direções de intraprevisão luma aplicadas em pixels croma em 4:2:2, em relação a um pixel atual a ser previsto 1220. Note que há metade dos pixels horizontalmente em relação aos que há verticalmente, em virtude de 4:2:2 ter metade da taxa de amostragem horizontal no canal de croma, se comparado com o canal de luma.
[000171] A figura 24 ilustra esquematicamente a transformação ou o mapeamento dos pixels croma 4:2:2 para uma grade quadrada e, subsequentemente, como esta transformação muda as direções de previsão.
[000172] As direções de previsão de luma são mostradas como linhas rompidas 1240. Os pixels croma 1250 são remapeados para uma grade quadrada que proporciona um arranjo retangular com metade da largura 1260 do correspondente arranjo luma (tal como aquele mostrado na figura 22). As direções de previsão mostradas na figura 23 foram remapeadas para o arranjo retangular. Pode-se ver que, para alguns pares de direções (um par sendo uma direção de luma e uma direção de croma), há tanto uma sobreposição quanto um relacionamento íntimo. Por exemplo, a direção 2 no arranjo luma substancialmente sobrepõe a direção 6 no arranjo croma. Entretanto, também será notado que algumas direções de luma, aproximadamente metade delas, não têm direção de croma correspondente. Um exemplo é a direção de luma de número 3. Também, algumas direções de croma (2-5) não têm equivalentes no arranjo luma, e algumas direções de luma (31-34) não têm equivalente no arranjo croma. Mas, no geral, a superposição mostrada na figura 24 demonstra que seria inapropriado usar o mesmo ângulo para os canais tanto de luma quanto de croma.
[000173] A figura 33 ilustra esquematicamente um arranjo (que pode ser implementado como parte da função do controlador 343) para modificar uma "fase do ângulo" que define uma direção da previsão. Na figura 33, uma fase do ângulo é suprida para um modificador 1500 que, fazendo uso de dados de suporte 1510, tal como uma tabela de busca, indexados por uma fase do ângulo de entrada, que mapeiam fases do ângulo de entrada para fases do ângulo de saída, ou dados que definem um algoritmo ou função de modificação predeterminados, mapeia a direção definida pela fase do ângulo de entrada sobre uma direção definida pela fase do ângulo de saída.
[000174] Mas, antes de discutir a operação da figura 33 com detalhes, alguns fundamentos adicionais da invenção na derivação de ângulos de previsão e, particularmente, "fases do ângulo", serão providas.
[000175] Da forma discutida anteriormente, em uma operação de intraprevisão, amostras em um bloco atual podem ser previstas a partir de uma ou mais amostras de referência. Estas são selecionadas a partir de um grupo de amostras de referência candidatas que formam uma linha acima do bloco atual 1560 e uma coluna à esquerda do bloco atual. A figura 33 ilustra esquematicamente uma linha 1520 e uma coluna 1530 de amostras de referência candidatas como estas.
[000176] Nas amostras de referência candidatas, a amostra real a ser usada para uma operação de previsão em particular é apontada pela direção da previsão. Esta é expressada como uma "fase do ângulo". Para uma direção da previsão predominantemente vertical (que, neste contexto, é uma que abordará uma amostra de referência na linha 1520), a fase do ângulo é um deslocamento à esquerda ou à direita de uma posição da amostra 1540 que é deslocada verticalmente acima da posição 1550 de uma amostra atual que é prevista. Para uma direção de previsão predominantemente horizontal (que, neste contexto, é uma que abordará uma amostra de referência na coluna 1530), a fase do ângulo é um deslocamento acima ou abaixo de uma posição da amostra 1570 que é deslocada horizontalmente à esquerda da posição da amostra atual 1550.
[000177] Portanto, será entendido que a fase do ângulo pode ser zero (no caso de uma direção da previsão horizontal pura ou vertical pura) ou pode representar um deslocamento em qualquer sentido (para cima/para baixo/para a esquerda/para a direita).
[000178] De fato, com os propósitos de cálculo nas modalidades da descrição, a coluna 1530 e a linha 1520 podem ser consideradas como um único arranjo linear ordenado que provê um conjunto de amostras de referência candidatas, começando a partir da base da coluna 1530 e progredindo até a extremidade direita da linha 1520. Em modalidades da descrição, o arranjo linear é filtrado (por um filtro, que forma parte do previsor 530) para aplicar uma operação de uniformização ou filtragem passa baixo ao longo do arranjo linear. Um exemplo de um filtro de uniformização adequado é um filtro 1-2-1 normalizado, o que significa que o filtro substitui uma amostra em particular (apenas com os propósitos de agir como uma amostra de referência) pelo soma de ^ da amostra à esquerda (no arranjo linear), ^ desta amostra e ^ da amostra à direita (no arranjo linear). O filtro de uniformização pode ser aplicado em todo o arranjo ou em um subconjunto do arranjo (tal como as amostras que originam da linha ou da coluna)
[000179] A fim de derivar o ângulo de previsão apropriado para croma quando (a) DM_CROMA for selecionado e (b) o modo DM_CROMA atualmente em uso indicar que a direção de croma da previsão deve ser aquela do bloco luma colocalizado, o seguinte procedimento é aplicado pelo modificador 1500 para modificar os valores da fase do ângulo. Note que o procedimento refere-se ao inverso da fase do ângulo. Este valor pode ser usado como um conveniente recurso dos cálculos realizados para gerar uma previsão, mas é a variação da fase do ângulo que é significativa para a presente discussão. (i) Derivar a fase do ângulo de intraprevisão (e, opcionalmente, seu inverso) de acordo com a direção de luma. (ii) Se a direção de luma for predominantemente vertical (isto é, por exemplo, um modo numerado de 18 até 34 inclusive), então, a fase do ângulo de intraprevisão é dividida ao meio (e seu inverso é dobrado). (iii) Caso contrário, se a direção de luma for predominantemente horizontal (isto é, por exemplo, um modo numerado de 2 a 17 inclusive), então, a fase do ângulo de intraprevisão é dobrada (e seu inverso dividido ao meio).
[000180] Estes cálculos representam um exemplo da aplicação pelo modificador 1500 de um algoritmo predeterminado para modificar os valores da fase do ângulo, a fim de mapear uma direção derivada em relação a uma grade de luma das posições de amostra sobre uma direção aplicável a um 4:2:2 ou outra grade de croma subamostrada das posições de amostra. Um resultado similar pode ser obtido pelo modificador 1500, em vez disto, em relação a uma tabela de busca que mapeia fases do ângulo de entrada para fases do ângulo de saída.
[000181] Desta maneira, nestas modalidades, a direção da previsão define uma posição da amostra em relação a um grupo de amostras de referência candidatas que compreende uma linha horizontal e uma coluna vertical de amostras respectivamente dispostas acima e à esquerda do conjunto de amostras atuais a serem previstas. O previsor 530 implementa uma operação de filtragem que, da forma discutida anteriormente, ordena o grupo de amostras de referência candidatas como um arranjo linear de amostras de referência; e aplica um filtro de uniformização nas amostras de referência do arranjo linear em uma direção ao longo do arranjo linear.
[000182] O processo de realização do mapeamento pode ser realizado, por exemplo, em relação a fases do ângulo, em que uma direção da previsão para uma amostra atual é definida com uma fase do ângulo associado; a fase do ângulo para uma direção da previsão predominantemente vertical é um deslocamento ao longo da linha horizontal das posições de amostra do grupo de amostras de referência candidatas, em relação a uma posição da amostra naquela linha que é verticalmente deslocada em relação à amostra atual; a fase do ângulo para uma direção de previsão predominantemente horizontal é um deslocamento ao longo da coluna vertical das posições de amostra do grupo de amostras de referência candidatas, em relação a uma posição da amostra nesta coluna que é horizontalmente deslocada em relação à amostra atual; e a posição da amostra ao longo da linha horizontal ou da coluna vertical indicada pelo deslocamento provê um apontador para uma posição da amostra a ser usado na previsão da amostra atual.
[000183] Em algumas modalidades, a etapa de aplicar o mapeamento de direção pode compreender aplicar uma função pré-determinada na fase do ângulo correspondente à primeira direção da previsão. Um exemplo de uma função como esta é aquele supradescrito, a saber:
[000184] derivar uma fase do ângulo de acordo com a primeira direção da previsão; e (i) se a primeira direção da previsão for predominantemente vertical, então, dividir ao meio a respectiva fase do ângulo para gerar uma fase do ângulo da segunda direção da previsão; ou (ii) se a primeira direção da previsão for predominantemente horizontal, então, dobrar a respectiva fase do ângulo para gerar uma fase do ângulo da segunda direção da previsão.
[000185] Em modalidades da descrição, se a fase do ângulo (tal como a fase modificada derivada anteriormente) não for um número inteiro, a fase do ângulo é usada para definir um grupo de duas ou mais posições de amostras no grupo de amostras de referência candidatas (por exemplo, as duas amostras em cada lado da posição apontada por esta direção) para interpolação para prover uma previsão da amostra atual.
[000186] Em outras modalidades da descrição, a etapa de aplicar o mapeamento de direção compreende usar a primeira direção da previsão para indexar uma tabela de busca, a tabela provendo correspondentes valores da segunda direção da previsão.
[000187] De acordo com modalidades da descrição, a etapa de detecção da primeira direção da previsão pode compreender: no caso do uma operação de codificação, selecionar uma direção da previsão de acordo com uma tentativa de duas ou mais direções de previsão candidatas; ou, no caso de uma operação de decodificação, detectar informação que define uma direção da previsão associada com os dados de vídeo a serem decodificados. Este é um ponto geral que distingue modalidades de sistemas de codificação e de decodificação: em um decodificador, certos parâmetros são providos nos dados codificados ou associados com eles. Em um codificador, tais parâmetros são gerados para comunicação com os dados codificados ao decodificador.
[000188] Em modalidades da descrição, a primeira direção da previsão é usada para previsão de amostras de luminância de um conjunto de amostras; e a segunda direção da previsão derivada pela etapa de aplicação a partir daquela primeira direção da previsão é usada para previsão de amostras de crominância deste conjunto de amostras.
[000189] Modalidades da descrição podem prover um método de codificação ou de decodificação de vídeo em que luminância e primeira e segunda amostras do componente de crominância são previstas de acordo com um modo de previsão associado com uma amostra a ser prevista, o método compreendendo prever amostras do segundo componente de crominância a partir de amostras do primeiro componente de crominância.
[000190] Modalidades da descrição podem prover um método de codificação ou de decodificação de vídeo em que conjuntos de amostras são previstos a partir de outras respectivas amostras de referência de acordo com uma direção da previsão associada com uma amostra a ser prevista, a direção da previsão definindo uma posição da amostra, em relação a um grupo de amostras de referência candidatas dispostas em relação ao conjunto de amostras atuais a serem previstas, o método compreendendo:ordenar o grupo de amostras de referência candidatas como um arranjo linear de amostras de referência; e aplicar um filtro de uniformização em um subconjunto do arranjo linear das amostras de referência em uma direção ao longo do arranjo linear.
[000191] Modalidades da descrição podem prover um método de codificação ou de decodificação de vídeo no qual amostras de luminância e de crominância de uma imagem são previstas a partir de outras respectivas amostras de referência derivadas a partir da mesma imagem de acordo com uma direção da previsão associada com uma amostra a ser prevista, as amostras de crominância tendo uma taxa de amostragem horizontal e/ou vertical inferior às amostras de luminância, de forma que a razão da resolução horizontal da luminância pela resolução horizontal da crominância seja diferente da razão de resolução vertical da luminância pela resolução vertical da crominância, de forma que um bloco de amostras de luminância tenha uma diferente razão de aspecto em relação a um bloco correspondente de amostras de crominância, as amostras de crominância representando primeiro e segundo componentes de crominância;o método compreendendo: selecionar um modo de previsão que define uma seleção de uma ou mais amostras ou valores de referência para prever uma amostra de crominância atual do primeiro componente de crominância; e selecionar um diferente modo de previsão que define uma diferente seleção de uma ou mais amostras ou valores de referência para prever uma amostra de crominância atual do segundo componente de crominância, colocalizada com a amostra de crominância atual do primeiro componente de crominância.
[000192] Modalidades da descrição podem prover um método de codificação ou de decodificação de vídeo no qual amostras de luminância e de crominância são previstas a partir de outras respectivas amostras de referência de acordo com uma direção da previsão associada com uma amostra a ser prevista, as amostras de crominância tendo uma taxa de amostragem horizontal e/ou vertical inferior às amostras de luminância, de forma que a razão da resolução horizontal da luminância pela resolução horizontal da crominância seja diferente da razão de resolução vertical da luminância pela resolução vertical da crominância, de forma que um bloco de amostras de luminância tenha uma diferente razão de aspecto em relação a um bloco correspondente de amostras de crominância; o método compreendendo:aplicar um diferente respectivo algoritmo de previsão nas amostras de luminância e de crominância na dependência da diferença na razão de aspecto.
[000193] A figura 33 mostra um exemplo desta técnica em uso. Uma fase do ângulo 1580 é derivada de acordo com a grade de luma (É possível que ele também seja usado em relação à previsão da amostra de luma, mas é suficiente para a presente discussão que ele seja derivado de acordo com a grade de luma e procedimentos. Em outras palavras, ele pode não ser de fato usado para previsão luma). Um arranjo de amostras de croma 4:2:2 1580 é mostrado como tendo largura dupla na mesma grade; mas, usando a mesma direção da previsão 1590, aponta para uma diferente amostra de referência (um deslocamento diferente da amostra verticalmente localizada 1540) em um caso como este. Portanto, a fase do ângulo é modificada de acordo com o procedimento apresentado anteriormente para prover uma fase do ângulo modificada 1600 que aponta para a correta amostra de croma de referência para representar a mesma direção da previsão na grade de croma.
[000194] Desta maneira, estas modalidades da presente descrição dizem respeito a métodos, aparelhos ou programas de codificação ou de decodificação de vídeo nos quais amostras de luminância e de crominância são previstas a partir de outras respectivas amostras de referência de acordo com uma direção da previsão associada com uma amostra atual a ser prevista. Em modos, tal como 4:2:2, as amostras de crominância têm uma taxa de amostragem horizontal e/ou vertical inferior às amostras de luminância, de forma que a razão da resolução horizontal da luminância pela resolução horizontal da crominância seja diferente da razão de resolução vertical da luminância pela resolução vertical da crominância. Em resumo, isto significa que um bloco de amostras de luminância tem uma diferente razão de aspecto em relação a um bloco correspondente de amostras de crominância.
[000195] O intraprevisor de quadro 530, por exemplo, é operável como um detector para detectar uma primeira direção da previsão definida em relação a uma primeira grade de uma primeira razão de aspecto em relação a um conjunto de amostras atuais a serem previstas; e como um mapeador de direção para aplicar um mapeamento de direção na direção da previsão para gerar uma segunda direção da previsão definida em relação a uma segunda grade de uma diferente razão de aspecto. Desta maneira, o previsor 530 representa um exemplo de um mapeador de direção. O previsor 540 pode prover um outro exemplo correspondente.
[000196] Em modalidades da descrição, a primeira grade, usada para detectar a primeira direção da previsão, é definida em relação às posições de amostra de uma das amostras de luminância ou de crominância, e a segunda grade, usada para detectar a segunda direção da previsão, é definida em relação às posições de amostras da outra das amostras de luminância ou de crominância. Nos exemplos em particular discutidos na presente descrição, a direção da previsão da luminância pode ser modificada para prover a direção da previsão da crominância. Mas, o contrário pode ser usado.
[000197] A técnica é particularmente aplicável em intraprevisão, de forma que as amostras de referência sejam amostras derivadas a partir de (por exemplo, reconstruídas a partir de dados comprimidos derivados a partir de) a mesma respectiva imagem das amostras a serem previstas.
[000198] Em pelo menos alguns arranjos, a primeira direção da previsão é definida em relação a um bloco quadrado de amostras de luminância que inclui a amostra de luminância atual; e a segunda direção da previsão é definida em relação a um bloco retangular de amostras de crominância que inclui a amostra de crominância atual.
[000199] É possível prover modos de previsão independentes para os dois componentes de crominância. Em um arranjo como este, as amostras de crominância compreendem amostras do primeiro e do segundo componentes de crominância, e a técnica compreende aplicar a etapa de mapeamento de direção discutida anteriormente em relação ao primeiro componente de crominância (tal como Cb); e prover um modo de previsão diferente em relação ao segundo componente de crominância (tal como Cr), que pode (por exemplo) envolver prever o segundo componente de crominância a partir de amostras do primeiro componente de crominância.
[000200] Os dados de vídeo podem ser em um formato 4:2:2, por exemplo.
[000201] No caso de um decodificador ou método de decodificação, as direções de previsão podem ser detectadas pela detecção de dados que definem as direções de previsão nos dados de vídeo codificados.
[000202] Em termos gerais, modalidades da descrição podem prover modos de previsão independentes para os componentes de crominância (por exemplo, para cada um dos componentes de luminância e de crominância separadamente). Estas modalidades dizem respeito a métodos de codificação de vídeo nos quais amostras de luminância e de crominância de uma imagem são previstas a partir de outras respectivas amostras de referência derivadas a partir da mesma imagem de acordo com uma direção da previsão associada com uma amostra a ser prevista, as amostras de crominância tendo uma taxa de amostragem horizontal e/ou vertical inferior às amostras de luminância, de forma que a razão da resolução horizontal da luminância pela resolução horizontal da crominância seja diferente da razão de resolução vertical da luminância pela resolução vertical da crominância, de forma que um bloco de amostras de luminância tenha uma diferente razão de aspecto em relação a um bloco correspondente de amostras de crominância, e as amostras de crominância representando primeiro e segundo componentes de crominância.
[000203] O seletor de modo intraquadro 520 seleciona um modo de previsão que define uma seleção de uma ou mais amostras de referência para prever uma amostra de crominância atual do primeiro componente de crominância (tal como Cb). Ele também seleciona um modo de previsão diferente que define uma diferente seleção de uma ou mais amostras de referência para prever uma amostra de crominância atual do segundo componente de crominância (tal como Cr), colocalizada com a amostra de crominância atual do primeiro componente de crominância.
[000204] Um filtro de amostra de referência pode ser opcionalmente aplicado em amostras horizontais ou amostras verticais (ou ambas). Da forma discutida anteriormente, o filtro pode ser um filtro de 3 derivações normalizado "1 2 1", atualmente aplicado em todas as amostras de luma de referência, exceto a base à esquerda e o topo à direita (as amostras de um bloco N x N são reunidas para formar um único arranjo 1D de tamanho 2N + 1, e, então, opcionalmente filtradas). Em modalidades da descrição, ele é aplicado apenas nas primeiras (borda esquerda) ou últimas (borda do topo) N + 1 amostras de croma para 4:2:2, mas, notando que a base à esquerda, o topo à direita e o topo à esquerda, então não serão ajustados; ou todas as amostras de croma (quanto a luma), para 4:2:2 e 4:4:4.
[000205] Modalidades da descrição também podem prover métodos, aparelhos ou programas de codificação ou de decodificação de vídeo nos quais luminância e primeira e segunda amostras do componente de crominância são previstas (por exemplo, a partir de outras respectivas amostras ou valores de referência) de acordo com um modo de previsão associado com uma amostra a ser prevista, envolvendo prever amostras do segundo componente de crominância a partir de amostras do primeiro componente de crominância. Em algumas modalidades, o modo de previsão associado com uma amostra a ser prevista pode indicar uma direção da previsão que define uma ou mais outras respectivas amostras de referência a partir das quais esta amostra deve ser prevista.
[000206] Modalidades da descrição também podem prover métodos, aparelhos ou programas de codificação ou de decodificação de vídeo nos quais luminância e primeira e segunda amostras do componente de crominância são previstas a partir de outras respectivas amostras de referência de acordo com uma direção da previsão associada com uma amostra a ser prevista, envolvendo filtragem das amostras de referência.
[000207] Da forma discutida em relação às figuras 19 e 20, é possível que o diferente modo de previsão compreenda um modo pelo qual amostras do segundo componente de crominância são previstas a partir de amostras do primeiro componente de crominância.
[000208] Note que os modos 0 e 1 não são modos de previsão angulares e, então, não são incluídos neste procedimento. O efeito do procedimento mostrado anteriormente é mapear as direções de previsão de croma sobre as direções de previsão de luma na figura 24.
[000209] Para 4:2:0, quando tanto um modo de previsão puramente horizontal (modo luma 10) quanto um modo de previsão puramente vertical (modo luma 26) for selecionado, as bordas de topo ou esquerda da TU prevista são sujeitas a filtragem para o canal de luma apenas. Para o modo de previsão horizontal, a linha de topo é filtrada na direção vertical. Para o modo de previsão vertical, a coluna esquerda é filtrada na direção horizontal.
[000210] Filtragem de uma coluna de amostras na direção horizontal pode ser entendida como aplicando um filtro horizontalmente orientado em cada amostra, uma por vez, da coluna de amostras. Então, para uma amostra individual, seu valor será modificado pela ação do filtro, com base em um valor filtrado gerado a partir do valor atual desta amostra e de uma ou mais outras amostras nas posições de amostra deslocadas desta amostra em uma direção horizontal (isto é, uma ou mais outras amostras à esquerda e/ou à direita da amostra em questão).
[000211] Filtragem de uma linha de amostras na direção vertical pode ser entendida como aplicando um filtro verticalmente orientado em cada amostra, uma por vez, da linha de amostras. Então, para uma amostra individual, seu valor será modificado pela ação do filtro, com base em um valor filtrado gerado a partir do valor atual desta amostra e de uma ou mais outras amostras nas posições de amostra deslocadas desta amostra em uma direção vertical (isto é, uma ou mais outras amostras acima e/ou abaixo da amostra em questão).
[000212] Um propósito do processo de filtragem do pixel de borda supradescrito é visar a reduzir efeitos de borda com base em bloco na previsão, desse modo, visando a reduzir a energia nos dados de imagem residuais.
[000213] Em modalidades da descrição, um correspondente processo de filtragem também é provido para TUs croma em 4:4:4 e 4:2:2. Levando em consideração a subamostragem horizontal, uma proposta é apenas filtrar a linha de topo da TU croma em 4:2:2, mas filtrar tanto a linha de topo quanto a coluna esquerda (conforme apropriado, de acordo com o modo selecionado) em 4:4:4. É considerado apropriado filtrar apenas nestas regiões para evitar eliminar por filtragem muitos detalhes úteis, que (se eliminados por filtragem) levarão a uma maior energia dos dados residuais.
[000214] Para 4:2:0, quando modo DC for selecionado, as bordas de topo e/ou esquerda da TU prevista são sujeitas a filtragem para o canal de luma apenas.
[000215] A filtragem pode ser de maneira tal que, no modo DC, o filtro realize uma operação de ponderação (1 x amostra fora da vizinhança + 3 * amostra da borda)/4 para todas as amostras em ambas as bordas. Entretanto, para o topo à esquerda, a função de filtro é (2 x amostra atual + 1 x amostra acima + 1 x amostra à esquerda)/4.
[000216] O filtro H/V é uma média entre amostra fora da vizinhança e amostra da borda.
[000217] Em modalidades da descrição, este processo de filtragem também é provido para TUs croma em 4:4:4 e 4:2:2. Novamente, levando em consideração a subamostragem horizontal, em algumas modalidades da descrição, apenas a linha de topo das amostras de croma é filtrada para 4:2:2, mas a linha de topo e a coluna esquerda da TU croma são filtradas para 4:4:4.
[000218] Desta maneira, esta técnica pode aplicar em relação a um método, aparelho ou programa de codificação ou de decodificação de vídeo nos quais amostras de luminância e de crominância em um formato 4:4:4 ou um formato 4:2:2 são previstas a partir de outras respectivas amostras de acordo com uma direção da previsão associada com blocos de amostras a serem previstos.
[000219] Em modalidades da técnica, uma direção da previsão é detectada em relação a um bloco atual a ser previsto. Um bloco previsto de amostras de crominância é gerado de acordo com outras amostras de crominância definidas pela direção da previsão. Se a direção da previsão detectada for substancialmente vertical (por exemplo, sendo em +/- n modos de ângulo em relação ao modo exatamente vertical, em que n é (por exemplo) 2), a coluna esquerda de amostras é filtrada (por exemplo, em uma direção horizontal) no bloco previsto de amostras de crominância. Ou, se a direção da previsão detectada for substancialmente horizontal (por exemplo, sendo em +/- n modos de ângulo em relação ao modo exatamente horizontal, em que n é (por exemplo) 2), a linha de topo das amostras é filtrada (por exemplo, em uma direção vertical) no bloco previsto das amostras de crominância. Então a diferença entre o bloco de crominância previsto filtrado e o bloco de crominância real é codificada, por exemplo, como dados residuais. Alternativamente, o teste pode ser para um modo exatamente vertical ou horizontal, em vez de um modo substancialmente vertical ou horizontal. A tolerância de +/- n pode ser aplicada em um dos testes (vertical ou horizontal), mas não no outro.
[000220] Percebe-se que interprevisão em HEVC já permite PUs retangulares, então, modos 4:2:2 e 4:4:4 já são compatíveis com processamento de interprevisão da PU.
[000221] Cada quadro de uma imagem do vídeo é uma amostragem discreta de uma cena real e, em decorrência disto, cada pixel é uma aproximação gradual de um gradiente do mundo real em cor e brilho.
[000222] Em reconhecimento disto, durante a previsão do valor Y, Cb ou Cr de um pixel em um novo quadro de vídeo a partir de um valor em um quadro de vídeo prévio, os pixels neste quadro de vídeo prévio são interpolados para criar uma melhor estimativa dos gradientes originais do mundo real, para permitir uma seleção mais precisa de brilho ou cor para o novo pixel. Consequentemente, os vetores de movimento usados para apontar entre quadros de vídeo não são limitados a uma resolução de pixel integral. Em vez disto, eles podem apontar para uma posição de subpixel na imagem interpolada.
[000223] Agora, em relação às figuras 25 e 26, no esquema 4:2:0 exposto, tipicamente, uma PU luma 8 x 8 1300 será associada com PUs croma Cb e Cr 4 x 4 1310. Consequentemente, para interpolar os dados de pixel luma e croma até a mesma resolução efetiva, diferentes filtros de interpolação são usados.
[000224] Por exemplo, para a PU luma 8 x 8 4:2:0, interpolação é ^ de pixel e, então, um filtro de 8 derivações x 4 é aplicado horizontalmente primeiro e, então, o mesmo filtro de 8 derivações x 4 é aplicado verticalmente, de forma que a PU luma seja efetivamente estirada 4 vezes em cada direção, para formar um arranjo interpolado 1320, da forma mostrada na figura 25. Neste particular, a correspondente PU croma 4 x 4 4:2:0 é 1/8 de pixel interpolado para gerar a mesma resolução eventual e, então, um filtro de 4 derivações x 8 é aplicado horizontalmente primeiro, então, o mesmo filtro de 4 derivações x 8 é aplicado verticalmente, de forma que as PUs croma 4:2:0 sejam efetivamente estiradas 8 vezes em cada direção para formar um arranjo 1330, da forma mostrada na figura 26.
[000225] Um arranjo similar para 4:2:2 será agora descrito em relação às figuras 27 e 28, que ilustram uma PU luma 1350 e um par de correspondentes PUs croma 1360.
[000226] Em relação à figura 28, como exposto, no esquema 4:2:2, a PU croma 1360 pode ser não quadrada e, para o caso de um PU luma 8 x 8 4:2:2, tipicamente, será um PU croma 4 de largura x 8 de altura 4:2:2 para cada um dos canais Cb e Cr. Note que a PU croma é desenhada, com os propósitos da figura 28, como um arranjo de forma quadrada de pixels não quadrados, mas, em termos gerais, percebe-se que as PUs 1360 são arranjos de 4 (horizontal) x 8 (vertical) pixels.
[000227] Embora possa ser possível, portanto, usar o filtro luma de 8 derivações x 4 existente verticalmente na PU croma, em uma modalidade da presente descrição, foi percebido que o filtro croma de 4 derivações x 8 existente será suficiente para interpolação vertical, já que, na prática, alguém está interessado apenas nos locais fracionários pares da PU croma interpolada.
[000228] Portanto, a figura 27 mostra a PU luma 8 x 8 4:2:2 1350 interpolada como antes com um filtro de 8 derivações x 4, e as PUs croma 4 x 8 4:2:2 1360 interpoladas com o filtro croma de 4 derivações x 8 existente na direção horizontal e vertical, mas apenas com os resultados fracionários pares usados para formar a imagem interpolada na direção vertical.
[000229] Estas técnicas são aplicáveis a métodos, aparelhos ou programas de codificação ou de decodificação de vídeo usando previsão interimagens para codificar dados de vídeo de entrada nos quais cada componente de crominância tem 1/M-ésimo da resolução horizontal do componente de luminância e 1/N-ésimo da resolução vertical do componente de luminância, em que M e N são números inteiros iguais a 1 ou mais. Por exemplo, para 4:2:2, M = 2, N = 1. Para 4:2:0, M = 2, N = 2.
[000230] O armazenamento de quadro 570 é operável para armazenar uma ou mais imagens que precedem uma imagem atual.
[000231] O filtro de interpolação 580 é operável para interpolar uma versão de resolução mais alta das unidades de previsão das imagens armazenadas, de forma que o componente de luminância de uma unidade de previsão interpolada tenha uma resolução horizontal P vezes aquela da correspondente parte da imagem armazenada e uma resolução vertical Q vezes aquela da correspondente parte da imagem armazenada, em que P e Q são números inteiros maiores que 1. Nos exemplos atuais, P = Q = 4, de forma que o filtro de interpolação 580 seja operável para gerar uma imagem interpolada em ^ da resolução da amostra.
[000232] O estimador de movimento 550 é operável para detectar movimento interimagens entre uma imagem atual e as uma ou mais imagens interpoladas armazenadas para gerar vetores de movimento entre uma unidade de previsão da imagem atual e áreas das uma ou mais imagens precedentes.
[000233] O previsor com movimento compensado 540 é operável para gerar uma previsão com movimento compensado da unidade de previsão da imagem atual em relação a uma área de uma imagem interpolada armazenada apontada por um respectivo vetor de movimento.
[000234] Retornando para uma discussão da operação do filtro de interpolação 580, modalidades deste filtro são operáveis para aplicar um filtro de interpolação horizontal xR e vertical xS nos componentes de crominância de uma imagem armazenada para gerar uma unidade de previsão de crominância interpolada, em que R é igual a (U x M x P) e S é igual a (V x N x Q), U e V sendo números inteiros iguais a 1 ou mais; e para subamostrar a unidade de previsão de crominância interpolada, de maneira tal que sua resolução horizontal seja dividida por um fator de U e sua resolução vertical seja dividida por um fator de V, desse modo, resultando em um bloco de MP x NQ amostras.
[000235] Então, no caso de 4:2:2, o filtro de interpolação 580 aplica uma interpolação x8 nas direções horizontal e vertical, mas, então subamostra verticalmente por um fator de 2, por exemplo, pelo uso de cada 2a amostra na saída interpolada.
[000236] Esta técnica, portanto, permite que o mesmo filtro (por exemplo, x8) seja usado em relação a 4:2:0 e 4:2:2, mas com uma etapa adicional de subamostragem quando necessário com 4:2:2.
[000237] Em modalidades da descrição, da forma discutida, a unidade de previsão de crominância interpolada tem uma altura nas amostras duas vezes aquela de uma unidade de previsão interpolada no formato 4:2:0 usando os mesmos filtros de interpolação xR e xS.
[000238] A necessidade de prover diferentes filtros pode ser evitada ou aliviada usando estas técnicas e, em particular, pelo uso dos mesmos filtros de interpolação xR horizontal e xS vertical, em relação a dados de vídeo de entrada 4:2:0 e dados de vídeo de entrada 4:2:2.
[000239] Da forma discutida, a etapa de subamostragem da unidade de previsão de crominância interpolada compreende usar cada V-ésima amostra da unidade de previsão de crominância interpolada na direção vertical, e/ou usar cada U-ésima amostra da unidade de previsão de crominância interpolada na direção vertical.
[000240] Modalidades da descrição podem envolver derivar um vetor de movimento de luminância para uma unidade de previsão; e derivar independentemente um ou mais vetores de movimento de crominância para esta unidade de previsão.
[000241] Em modalidades da descrição, pelo menos um de R e S é igual a 2 ou mais e, em modalidades da descrição, os filtros de interpolação xR horizontal e xS vertical também são aplicados nos componentes de luminância da imagem armazenada.
[000242] Por extensão, o mesmo princípio de usar apenas os resultados fracionários pares para o filtro croma de 4 derivações x 8 existente pode ser aplicado tanto verticalmente quanto horizontalmente para as PUs croma 8 x 8 4:4:4.
[000243] Adicionalmente a estes exemplos, o filtro croma x8 pode ser usado para toda interpolação, incluindo luma.
[000244] Em uma implementação da derivação do vetor de movimento (MV), um vetor é produzido para uma PU em uma fatia P (e dois vetores para uma PU em uma fatia B (em que uma fatia P toma previsões a partir de um quadro precedente, e uma fatia B toma previsões a partir de quadros precedente e seguinte, de uma maneira similar a quadros P e B MPEG). Notavelmente, nesta implementação, no esquema 4:2:0, os vetores são comuns a todos os canais e, além do mais, os dados de croma não precisam ser usados para calcular os vetores de movimento. Em outras palavras, todos os canais usam um vetor de movimento com base nos dados de luma.
[000245] Em uma modalidade da presente descrição, no esquema 4:2:2, o vetor de croma pode ser derivado para ser independente de luma (isto é, um único vetor para os canais Cb e Cr pode ser derivado separadamente) e, no esquema 4:4:4, vetores de croma podem ser adicionalmente independentes para cada um dos canais Cb e Cr.
[000246] Modalidades da descrição podem prover um método de codificação ou de decodificação de vídeo no qual amostras de luminância e de crominância de uma imagem são previstas a partir de outras respectivas amostras de referência derivadas a partir da mesma imagem de acordo com um modo de previsão associado com uma amostra a ser prevista, as amostras de crominância representando primeiro e segundo componentes de crominância; o método compreendendo: selecionar, para pelo menos algumas amostras, o mesmo modo de previsão para cada um dos componentes de luminância e de crominância correspondentes a uma região da imagem.
[000247] Modalidades da descrição podem prover um método de codificação ou de decodificação de vídeo no qual amostras de luminância e de crominância de uma imagem são previstas a partir de outras respectivas amostras de referência derivadas a partir da mesma imagem de acordo com um modo de previsão associado com uma amostra a ser prevista, as amostras de crominância representando primeiro e segundo componentes de crominância; o método compreendendo: selecionar, para pelo menos algumas amostras, diferentes respectivos modos de previsão para cada um dos componentes de luminância e de crominância correspondentes a uma região da imagem.
[000248] Em cada caso, tanto o mesmo modo de previsão quanto diferentes respectivos modos de previsão podem ser usados para cada um dos componentes de luminância e de crominância correspondentes a uma região da imagem, a seleção sendo feita de acordo com uma sequência de imagem, uma imagem ou uma região de uma imagem.
[000249] Para selecionar um esquema de modo de previsão em uma operação de codificação, as modalidades podem, por exemplo, realizar uma primeira codificação de teste de uma região da imagem usando o mesmo modo de previsão para os componentes de luminância e de crominância; realizar uma segunda codificação de teste desta região da imagem usando diferentes respectivos modos de previsão para os componentes de luminância e de crominância; e selecionar tanto o mesmo modo de previsão quanto diferentes respectivos modos de previsão para uso em relação a uma sequência de figura, uma figura ou uma região de uma figura com base nos dados codificados pelas primeira e segunda codificações de teste.
[000250] O processamento dos resultados do teste pode, em modalidades da descrição, envolver detectar uma ou mais propriedades predeterminadas dos dados codificados pelas primeira e segunda codificações de teste; e selecionar tanto o mesmo modo de previsão quanto diferentes respectivos modos de previsão para uso em relação a uma sequência de figura, uma figura ou uma região de uma figura com base em uma ou mais propriedades detectadas. As uma ou mais propriedades podem, por exemplo, compreender propriedades selecionadas a partir do conjunto que consiste em: ruído da imagem; distorção da imagem; e quantidade de dados da imagem. A seleção pode ser feita para fatias de imagem ou blocos de imagem individuais. Modalidades da descrição são operáveis para associar informação com o sinal de vídeo codificado (por exemplo, como parte do fluxo contínuo de dados codificados, como um ou mais indicadores de dados no fluxo contínuo de dados) indicando: se os mesmos modos de previsão ou diferentes modos de previsão são usados; e, no caso em que o mesmo modo de previsão for usado, uma identificação deste modo de previsão individual; ou, no caso em que diferentes respectivos modos de previsão forem usados, uma identificação destes diferentes respectivos modos de previsão, por exemplo, usando o esquema de numeração discutido neste pedido em relação aos modos de previsão.
[000251] Para modalidades que realizam uma operação de decodificação, o método pode compreender: detectar informação associada com dados de vídeo para decodificação, a informação definindo se o mesmo modo de previsão ou diferentes modos de previsão são associados com os dados de vídeo para decodificação. Se tal informação (por exemplo, um indicador de um bit em uma posição pré-determinada em relação ao fluxo contínuo de dados) indicar que os mesmos modos de previsão são usados, o decodificador aplica a informação do modo de previsão definida em relação a um componente (tal como luma) na decodificação dos outros componentes (tal como croma). Caso contrário, o decodificador aplica os modos de previsão individualmente especificados em cada componente.
[000252] Em modalidades da descrição, da forma discutida, a imagem forma parte de um sinal de vídeo 4:2:2 ou 4:4:4.
[000253] Em HEVC, a maior parte das imagens é codificada como vetores de movimento a partir de quadros previamente codificados/decodificados, com os vetores de movimento dizendo ao decodificador a partir de onde, nestes outros quadros decodificados, copiar boas aproximações da imagem atual. O resultado é uma versão aproximada da imagem atual. HEVC, então, codifica o assim denominado resíduo, que é o erro entre esta versão aproximada e a imagem correta. Este resíduo exige muito menos informação do que a especificação da imagem real diretamente. Entretanto, ainda é, no geral, preferível comprimir esta informação residual para reduzir a taxa de bits geral adicionalmente.
[000254] Em muitos métodos de codificação, incluindo HEVC, tais dados são transformados no domínio de frequência espacial usando uma transformada de cosseno integral (ICT) e, tipicamente, alguma compressão é, então, alcançada pela retenção de dados de baixa frequência espacial e descarte dados de frequência espacial mais alta de acordo com o nível de compressão desejado.
[000255] As transformadas de frequência espacial usadas em HEVC são, convencionalmente, aquelas que geram coeficientes em potências de 4 (por exemplo, 64 coeficientes de frequência), já que estes são particularmente receptivos a métodos de quantização/compressão comuns. As TUs quadradas no esquema 4:2:0 são todas em potências de 4 e, portanto, isto é fácil de alcançar.
[000256] Se as opções da NSQT forem habilitadas, algumas transformadas não quadradas ficam disponíveis para TUs não quadradas, tal como 4 x 16, mas, novamente, notavelmente, estas resultam em 64 coeficientes, isto é, novamente, uma potência de 4.
[000257] O esquema 4:2:2 pode resultar em TUs não quadradas que não são potências de 4; por exemplo, uma TU 4 x 8 tem 32 pixels, e 32 não é uma potência de 4.
[000258] Em uma modalidade da presente descrição, portanto, uma transformada não quadrada para um número de coeficientes não potência de 4 pode ser usado, reconhecendo que modificações podem ser exigidas para o subsequente processo de quantização.
[000259] Alternativamente, em uma modalidade da presente descrição, TUs não quadradas são divididas em blocos quadrados como uma área de potência de 4 para transformação, e, então, os coeficientes resultantes podem ser intercalados.
[000260] Por exemplo, para blocos 4 x 8, amostras verticais par/ímpar podem ser divididas em dois blocos quadrados. Alternativamente, para blocos 4 x 8, os pixels 4 x 4 do topo e os pixels 4 x 4 da base podem formar dois blocos quadrados. Alternativamente, novamente, para blocos 4 x 8 uma decomposição ondeleta de Haar pode ser usada para formar um bloco de 4 x 4 de frequência inferior e um de frequência superior.
[000261] Quaisquer destas opções podem se tornar disponíveis, e a seleção de uma alternativa em particular pode ser sinalizada para o decodificador, ou derivada por ele.
[000262] No esquema 4:2:0, há um indicador proposto (o assim denominado 'qpprime_y_zero_transquant_bypass_flag') que permite que os dados residuais sejam incluídos no fluxo contínuo de bits sem perdas (isto é, sem ser transformado, quantizado ou adicionalmente filtrado). No esquema 4:2:0, o indicador aplica em todos os canais.
[000263] Desta maneira, tais modalidades representam um método, aparelho ou programa de codificação ou de decodificação de vídeo em que amostras de luminância e de crominância são previstas e a diferença entre as amostras e as respectivas amostras previstas é codificada, fazendo uso de um indicador configurado para indicar se dados de diferença da luminância devem ser incluídos em um fluxo contínuo de bits de saída sem perdas; e para indicar independentemente se dados de diferença da crominância devem ser incluídos no fluxo contínuo de bits sem perdas.
[000264] Em uma modalidade da presente descrição, é proposto que o indicador para o canal de luma seja separado dos canais de croma. Portanto, para o esquema 4:2:2, tais indicadores devem ser providos separadamente para o canal de luma e para os canais de croma, e para o esquema 4:4:4, tais indicadores devem ser providos separadamente tanto para os canais de luma quanto de croma, ou um indicador é provido para cada um dos três canais. Isto reconhece as maiores taxas de dados de croma associadas com os esquemas 4:2:2 e 4:4:4, e habilita, por exemplo, dados de luma sem perdas juntamente com dados de croma comprimidos.
[000265] Para codificação com intraprevisão, transformação direcional dependente do modo (MDDT) permite que a ICT horizontal ou vertical (ou ambas ICTs) para uma TU seja substituída com uma Transformada de Seno Integral, dependendo da direção da intraprevisão. No esquema 4:2:0, isto não é aplicado em TUs Croma. Entretanto, em uma modalidade da presente descrição, é proposto aplica-la em TUs Croma 4:2:2 e 4:4:4, notando que a IST é apenas atualmente definida para dimensões de transformada de 4 amostras (tanto horizontalmente quanto verticalmente), e, portanto, não pode ser atualmente aplicada verticalmente em uma TU 4 x 8 croma. MDDT será discutida adicionalmente a seguir.
[000266] Em métodos de codificação de vídeo, as várias modalidades da descrição podem ser arranjadas para indicar se dados de diferença da luminância devem ser incluídos em um fluxo contínuo de bits de saída sem perdas; e, independentemente, para indicar se dados de diferença da crominância devem ser incluídos no fluxo contínuo de bits sem perdas, e para codificar ou incluir os dados relevantes na forma definida por tais indicações. Quantização
[000267] No esquema 4:2:0, o cálculo de quantização é o mesmo tanto para crominância quanto para luminância. Apenas os parâmetros de quantização (QPs) diferem.
[000268] QPs para crominância são calculados a partir dos QPs da luminância como segue:em que a tabela de escalonamento é definida da forma vista nas figuras 29a ou 29b (para 4:2:0 e 4:2:2, respectivamente), e "chroma_qp_index_offset" e "second_chroma_qp_index_offset" são definidos no conjunto de parâmetro de figura e podem ser os mesmos ou diferentes para Cr e Cb. Em outras palavras, o valor em colchetes define, em cada caso, um "índice" na tabela de escalonamento (figuras 29a e 29b) e a tabela de escalonamento, então, proporciona um valor revisado de Qp ("valor"). Note que "chroma_qp_index_offset" e "second_chroma_qp_index_offset" podem, em vez disto, ser referidos como cb_qp_offset e cr_qp_offset, respectivamente.
[000269] Canais de crominância, tipicamente, contêm menos informação do que luminância e, portanto, têm coeficientes de menor magnitude; esta limitação no QP da crominância pode impedir que todos os detalhes da crominância sejam perdidos em pesados níveis de quantização.
[000270] O relacionamento do divisor de QP em 4:2:0 é um relacionamento logarítmico, de maneira tal que um aumento de 6 no QP seja equivalente ao dobro do divisor (o tamanho da etapa de quantização discutido em outro local nesta descrição, embora notando que ele pode ser adicionalmente modificado por matrizes Q antes do uso). Portanto, a maior diferença na tabela de escalonamento de 51 - 39 = 12 representa uma mudança de fator de 4no divisor.
[000271] Entretanto, em uma modalidade da presente descrição, para o esquema 4:2:2, que contém potencialmente duas vezes mais informação de croma que o esquema 4:2:0, o máximo valor QP da crominância na tabela de escalonamento pode ser elevado para 45 (isto é, dividindo ao meio o divisor). Similarmente, para o esquema 4:4:4, o máximo valor QP da crominância na tabela de escalonamento pode ser elevado para 51 (isto é, o mesmo divisor). Neste caso, a tabela de escalonamento é, de fato, redundante, mas pode ser retida simplesmente para eficiência operacional (isto é, de forma que o sistema funcione pela referência a uma tabela da mesma maneira para cada esquema). Portanto, mais no geral, em uma modalidade da presente descrição, o divisor QP de croma é modificado responsivo à quantidade de informação no esquema de codificação em relação ao esquema 4:2:0.
[000272] Desta maneira, modalidades da descrição aplicam em um método de codificação ou de decodificação de vídeo operável para quantizar blocos de dados de vídeo com componente de luminância e crominância com frequência transformada em um formato 4:4:4 ou um formato 4:2:2 de acordo com um parâmetro de quantização selecionado que define um tamanho da etapa de quantização. Uma associação do parâmetro de quantização (tal como, por exemplo, a tabela apropriada nas figuras 29a ou 29b) é definida entre parâmetros de quantização de luminância e de crominância, em que a associação é de maneira tal que um máximo tamanho da etapa de quantização da crominância seja menor que um máximo tamanho da etapa de quantização da luminância para o formato 4:2:2 (por exemplo, 45), mas igual ao máximo tamanho da etapa de quantização da luminância para o formato 4:4:4 (por exemplo, 51). O processo de quantização opera em que cada componente dos dados transformados na frequência seja dividido por um respectivo valor derivado do respectivo tamanho da etapa de quantização, e o resultado é arredondado para um valor integral, para gerar um bloco correspondente de dados de frequência espacial quantizados.
[000273] Será percebido que as etapas de divisão e arredondamento são exemplos indicativos de um estágio de quantização genérico, de acordo com o respectivo tamanho da etapa de quantização (ou dados derivado desta, por exemplo, pela aplicação de matrizes Q).
[000274] Modalidades da descrição incluem a etapa de seleção de um parâmetro ou índice de quantização (QP para luminância) para quantizar os coeficientes de frequência espacial, o parâmetro de quantização que age como uma referência a um respectivo tamanho de um conjunto de tamanhos da etapa de quantização de acordo com as tabelas de QP aplicáveis a dados de luminância. O processo de definição da associação do parâmetro de quantização pode, então, compreender: para componentes de crominância, referenciar uma tabela de parâmetros de quantização modificados (tal como a tabela das figuras 29a ou 29b) de acordo com o parâmetro de quantização selecionado, que, por sua vez, pode envolver (i) para o primeiro componente de crominância, adicionar um primeiro deslocamento (tal como chroma_qp_index_offset) no parâmetro de quantização e selecionar o índice de quantização modificado correspondente à entrada, na tabela, para o índice de quantização mais o primeiro deslocamento; e (ii), para o segundo componente de crominância, adicionar um segundo deslocamento (tal como second_chroma_qp_index_offset) no parâmetro de quantização e selecionar o índice de quantização modificado correspondente à entrada, na tabela, para o índice de quantização mais o segundo deslocamento; e referenciar um respectivo tamanho da etapa de quantização no conjunto de acordo com o parâmetro de quantização para os dados de luminância e o primeiro e o segundo índices de quantização modificados para o primeiro e o segundo componentes de crominância. Visualizado de uma maneira diferente, este é um exemplo de um processo que envolve selecionar um parâmetro de quantização para quantizar os coeficientes de frequência espacial, o parâmetro de quantização agindo como uma referência a um respectivo tamanho de um conjunto de tamanhos da etapa de quantização; e em que a etapa de definição compreende: para componentes de crominância, referenciar uma tabela de parâmetros de quantização modificados de acordo com o parâmetro de quantização selecionado, a etapa de referência compreendendo: para cada componente de crominância, adicionar um respectivo deslocamento no parâmetro de quantização e selecionar o parâmetro de quantização modificado correspondente à entrada, na tabela, para o parâmetro de quantização mais o respectivo deslocamento; e referenciar um respectivo tamanho da etapa de quantização no conjunto de acordo com o parâmetro de quantização para os dados de luminância e o primeiro e o segundo parâmetros de quantização modificados para o primeiro e o segundo componentes de crominância.
[000275] As técnicas são particularmente aplicáveis a arranjos nos quais sucessivos valores dos tamanhos da etapa de quantização no conjunto são relacionados de forma logarítmica, de maneira que uma mudança no parâmetro de quantização de m (em que m é um número inteiro) represente uma mudança no tamanho da etapa de quantização em um fator de p (em que p é um número inteiro maior que 1). Nas presentes modalidades, m = 6 e p = 2.
[000276] Em modalidades da descrição, da forma discutida anteriormente, um máximo parâmetro de quantização da luminância é 51; um máximo parâmetro de quantização da crominância é 45 para o formato 4:2:2; e um máximo parâmetro de quantização da crominância é 51 para o formato 4:4:4.
[000277] Em modalidades da descrição, o primeiro e o segundo deslocamentos podem ser comunicados em associação com os dados de video codificados.
[000278] Em 4:2:0, as matrizes de transformação A são inicialmente criadas (pela unidade de transformação 340) a partir daquelas de uma DCT N x N A' verdadeira normalizada usando:em que i e j indicam uma posição na matriz. Este escalonamento em relação a uma matriz de transformação normalizada provê um aumento na precisão, evita a necessidade de cálculos fracionários e aumenta a precisão interna.
[000279] Ignorando diferenças devido ao arredondamento de Aij, já que X é multiplicado tanto por A quanto por AT (a transposição da matriz A), os coeficientes resultantes diferem daqueles de uma DCT M x N (M = altura; N = largura) verdadeira normalizada em um fator de escalonamento comum de:
[000280] Note que o fator de escalonamento comum pode ser diferente deste exemplo. Note também que multiplicação de matriz tanto por A quanto por AT pode ser realizada de várias maneiras, tal como o assim denominado método Butterfly. O fato significativo é, se a operação que é realizada é equivalente a uma multiplicação de matriz tradicional, não se ela é realizada na ordem de operações tradicional um particular.
[000281] Este fator de escalonamento é equivalente a uma operação bit a bit de deslocamento para a esquerda binário em um número de bits transformShift, já que, em HEVC, isto resulta em uma potência de 2:transformShift = (12+0.5log2(N)+0.5log2(i))
[000282] Para reduzir a exigência de precisão de bit interno, os coeficientes são deslocados para a direita (usando arredondamento positivo) duas vezes durante o processo de transformação:shift1 = log2(N) + bitDepth -9 shift2 = log2(i) + 6
[000283] Em decorrência disto, os coeficientes, à medida que eles deixam o processo de transformação direto e entram no quantizador, são efetivamente deslocados para a esquerda por: resultingShift = (12+0.5log2(NM))- (shift1+ shift2) = (12+0.5log2(N)+0.5log2(M))-(log2(N)+bitDepth-9+log2(M)+6) = 15-(0.5log2(N)+0.5log2(M)+bitDepth)
[000284] Em 4:2:0, os coeficientes com frequência separada (por exemplo, DCT) gerados pela transformada de frequência compreendem um fator de (2resultingShift) maior que aqueles que um DCT normalizada produziria.
[000285] Em algumas modalidades da descrição, os blocos são tanto quadrados quanto retangulares, com uma razão de aspecto 2:1. Portanto, para um tamanho do bloco de N x M, tanto: N = M, em cujo caso, resultingShift é um número inteiro e S = N = M = sqrt(NM); quanto 0,5N = 2M ou 2N = 0,5M, em cujo caso resultingShift ainda é um número inteiro e S = sqrt(NM). resultingShift = 15-(0.5log2(N)+0.5log2(M)+bitDepth)= 15- (log2(S) + bitDepth)
[000286] Os coeficientes são subsequentemente quantizados, em que o divisor de quantização é derivado de acordo com o parâmetro de quantização QP.
[000287] Note que resultingShift é equivalente a um número inteiro, então, o fator de escalonamento comum é uma potência de 2 integral, e o deslocamento para a esquerda geral 'resultingShift' do processo de transformação também é considerado neste estágio pela aplicação de um deslocamento para a direita igual, mas oposto, 'quantTransformRightShift'.
[000288] Esta operação de deslocamento de bit é possível em virtude de resultingShift ser um número inteiro.
[000289] Note também que o relacionamento divisor - QP (parâmetro ou índice de quantização) segue uma curva de potência base 2, da forma supramencionada, em que um aumento em QP de 6 tem o efeito de dobra o divisor, enquanto que um aumento em QP de 3 tem o efeito de aumentar o divisor em um fator de sqrt(2) (raiz quadrada de 2).
[000290] Devido ao formato de croma em 4:2:2, há mais razões de largura:altura (N:M) da TU: N = M (a partir de antes), em que S = N = M = sqrt(NM) (resultingShift é um número inteiro) 0,5N = 2M e 2N = 0,5M, (a partir de antes), em que S = sqrt(NM) (resultingShift é um número inteiro) N = 2M, em que S = sqrt(NM) 2M = N, em que S = sqrt(NM) 4N = 0,5M, em que S = sqrt(NM) resultingShift = 15 - (log2(S)+ bitDepth)
[000291] Nestas três últimas situações, resultingShift não é um número inteiro. Por exemplo, isto pode ser aplicar quando pelo menos alguns dos blocos das amostras dos dados de vídeo compreenderem M x N amostras, em que a raiz quadrada de N/M não é igual a uma potência de 2 integral. Tais tamanhos do bloco podem ocorrer em relação às amostras de croma em algumas das presentes modalidades.
[000292] Desta maneira, em tais instâncias, as seguintes técnicas são relevantes, isto é, em métodos, aparelhos ou programas de codificação ou de decodificação de vídeo operáveis para gerar blocos de dados de frequência espacial quantizados pela realização de transformação de frequência em blocos de amostras dos dados de vídeo usando uma matriz de transformação que compreende um arranjo de valores integrais que são, cada qual, escalonados em relação a respectivos valores de uma matriz de transformação normalizada em uma quantidade dependente de uma dimensão da matriz de transformação, e para quantizar os dados de frequência espacial de acordo com um tamanho da etapa de quantização selecionado, tendo a etapa de transformação de frequência de um bloco de amostras dos dados de vídeo pela multiplicação de matriz do bloco pela matriz de transformação e pela transposição da matriz de transformação para gerar um bloco de coeficientes de frequência espacial escalonados que são, cada qual, maiores, em um fator de escalonamento comum (por exemplo, resultingShift), que os coeficientes de frequência espacial que resultariam de uma transformação de frequência normalizada deste bloco de amostras dos dados de vídeo.
[000293] Portanto, no estágio de quantização, uma operação de deslocamento de bit apropriada não pode ser usada para cancelar a operação de uma maneira simples.
[000294] Uma solução para isto é proposta como segue: No estágio do quantizador, aplica-se um deslocamento para a direita: quantTransformRightShift = 15 - log2 (S') - bitDepth
[000295] Em que o valor S' é derivado de maneira tal que resultingShift - quantTransformRightShift = +V2 quantTransformRightShift é um número inteiro
[000296] O diferença entre deslocamentos de ^ é equivalente à multiplicação por sqrt(2), isto é, neste ponto, os coeficientes são sqrt(2) vezes maior que eles deveriam ser, tornando o deslocamento de bit um deslocamento de bit integral.
[000297] Para o processo de quantização, aplica-se um parâmetro de quantização de (QP + 3), significando que o divisor de quantização é efetivamente aumentado em um fator de sqrt(2), assim, cancelando o fator de escala sqrt(2) da etapa prévia.
[000298] Desta maneira, estas etapas podem ser sumarizadas (no contexto de um método de codificação ou de decodificação de vídeo (ou correspondentes aparelho ou programa) operável para gerar blocos de dados de frequência espacial quantizados pela realização de transformação de frequência em blocos de amostras dos dados de vídeo usando uma matriz de transformação que compreende um arranjo de valores integrais que são, cada qual, escalonados em relação a respectivos valores de uma matriz de transformação normalizada, e para quantizar os dados de frequência espacial de acordo com um tamanho da etapa de quantização selecionado, envolvendo a transformação de frequência de um bloco de amostras dos dados de vídeo pela multiplicação de matriz do bloco pela matriz de transformação e a transposição da matriz de transformação para gerar um bloco de coeficientes de frequência espacial escalonados que são, cada qual, maiores, em um fator de escalonamento comum, que os coeficientes de frequência espacial que resultariam de uma transformação de frequência normalizada deste bloco de amostras dos dados de vídeo) como segue: selecionar um tamanho da etapa de quantização para quantizar os coeficientes de frequência espacial; aplicar um deslocamento de n-bits (por exemplo, quantTransformRightShift) para dividir cada um dos coeficientes de frequência espacial escalonados por um fator de 2n, em que n é um número inteiro; e detectar um fator de escalonamento residual (por exemplo, resultingShift - quantTransformRightShift), que é o fator de escalonamento comum dividido por 2n. Por exemplo, na situação discutida anteriormente, o tamanho da etapa de quantização é, então, de acordo com o fator de escalonamento residual para gerar um tamanho modificado da etapa de quantização; e cada um dos coeficientes de frequência espacial escalonados no bloco é dividido por um valor dependente do tamanho modificado da etapa de quantização, e arredonda-se o resultado para um valor integral, para gerar o bloco de dados de frequência espacial quantizados. Da forma discutida, a modificação do tamanho da etapa de quantização pode ser realizada simplesmente pela adição de um deslocamento em QP para selecionar um tamanho diferente da etapa de quantização quando QP for mapeado para a tabela de tamanhos da etapa de quantização.
[000299] Os coeficientes são, agora, da magnitude correta para o QP original.
[000300] A matriz de transformação pode compreender um arranjo de valores integrais que são, cada qual, escalonados em relação a respectivos valores de uma matriz de transformação normalizada em uma quantidade dependente de uma dimensão da matriz de transformação.
[000301] Segue que o valor exigido para S' sempre pode ser derivado como segue: S'= sqrt(2 * M * N)
[000302] Como uma alternativa proposta, S' pode ser derivado de maneira tal que: resultingShift - quantTransformRightShift = -Y
[000303] Neste caso, S' = sqrt( Y * M * N), e o parâmetro de quantização aplicado é (QP - 3).
[000304] Em cada um destes casos, (adicionar 3 em QP ou subtrair 3 de QP), a etapa de seleção do tamanho da etapa de quantização compreende selecionar um índice de quantização (por exemplo, QP), o índice de quantização definindo uma respectiva entrada em uma tabela de tamanhos da etapa de quantização, e a etapa de modificação compreende mudar o índice de quantização para selecionar um diferente tamanho da etapa de quantização, de maneira tal que a razão do diferente tamanho da etapa de quantização pelo tamanho da etapa de quantização originalmente selecionado seja substancialmente igual ao fator de escalonamento residual.
[000305] Isto funciona particularmente bem quando, como nas presentes modalidades, sucessivos valores dos tamanhos da etapa de quantização na tabela forem relacionados de forma logarítmica, de maneira que uma mudança no índice de quantização (por exemplo, QP) de m (em que m é um número inteiro) represente uma mudança no tamanho da etapa de quantização em um fator de p (em que p é um número inteiro maior que 1). Nas presentes modalidades, m = 6 e p = 2, de forma que um aumento de 6 em QP represente o dobro do tamanho da etapa de quantização aplicada, e uma diminuição em QP de 6 represente uma divisão ao meio do tamanho resultante da etapa de quantização.
[000306] Da forma discutida anteriormente, a modificação pode ser realizada pela seleção de um índice de quantização (por exemplo, um QP de base) em relação às amostras de luminância; gerar um deslocamento do índice de quantização, em relação ao índice de quantização selecionado para as amostras de luminância, para amostras de cada um ou ambos os componentes de crominância; mudar o deslocamento do índice de quantização de acordo com o fator de escalonamento residual; e comunicar o deslocamento do índice de quantização em associação com os dados de vídeo codificados. Em modalidades de HEVC, deslocamentos de QP para os dois canais de croma são enviados no fluxo contínuo de bits. Estas etapas correspondem a um sistema no qual o deslocamento de QP (para considerar o fator de escalonamento residual) de +/- 3 pode ser incorporado nestes deslocamentos, ou elas podem ser incrementadas/decrementadas quando elas forem usadas para derivar o QP de croma.
[000307] Note que o deslocamento de QP não precisa ser +/-3 se blocos diferentemente modelados forem usados; é que somente +/-3 representa um deslocamento aplicável às formas de bloco e às razões de aspecto discutidas anteriormente em relação a vídeo 4:2:2, por exemplo.
[000308] Em algumas modalidades, n (o deslocamento de bit aplicado) é selecionado de forma que 2n seja maior ou igual ao fator de escalonamento comum. Em outras modalidades, n é selecionado de forma que 2n seja menor ou igual ao fator de escalonamento comum. Em modalidades da descrição (usando cada um destes arranjos), um deslocamento de bit n pode ser selecionado para ser o próximo mais próximo (em cada direção) do fator de escalonamento comum, de forma que o fator de escalonamento residual represente um fator que tem uma magnitude menor que 2.
[000309] Em outras modalidades, a modificação do tamanho da etapa de quantização pode ser simplesmente realizada pela multiplicação do tamanho da etapa de quantização por um fator dependente do fator de escalonamento residual. Isto é, a modificação não precisa envolver modificar o índice QP.
[000310] Note, também, que o tamanho da etapa de quantização, da forma discutida, não é necessariamente o tamanho real da etapa de quantização pela qual uma amostra transformada é dividida. O tamanho da etapa de quantização derivado desta maneira pode ser adicionalmente modificado. Por exemplo, em alguns arranjos, o tamanho da etapa de quantização é adicionalmente modificado por respectivas entradas em uma matriz de valores (Matriz Q), de forma que diferentes tamanhos finais da etapa de quantização sejam usados em diferentes posições de coeficiente em um bloco de coeficientes quantizado.
[000311] Também é notável que, no esquema 4:2:0, a maior TU croma é 16 x 16, enquanto que, para o esquema 4:2:2, 16 x 32 TUs são possíveis, e, para o esquema 4:4:4, 32 x 32 TUs croma são possíveis. Consequentemente, em uma modalidade da presente descrição, matrizes de quantização (matrizes Q) para 32 x 32 TUs croma são propostas. Similarmente, matrizes Q deve ser definidas para TUs não quadradas, tal como a TU 16 x 32, com uma modalidade sendo a subamostragem de uma maior matriz Q quadrada
[000312] Matrizes Q podem ser definidas por qualquer um dos seguintes: valores em uma grade (quanto a matrizes Q 4 x 4 e 8 x 8); espacialmente interpoladas a partir de matrizes menores ou maiores; - em HEVC, maiores matrizes Q podem ser derivadas a partir de respectivos grupos de coeficientes de menores coeficientes de referência, ou menores matrizes podem ser subamostradas a partir de maiores matrizes. Note que esta interpolação ou subamostragem podem ser realizadas em uma razão de canal - por exemplo, uma maior matriz para uma razão de canal pode ser interpolada a partir de uma menor matriz para esta razão de canal.
[000313] Em relação a outras matrizes Q (isto é, valores da diferença, ou deltas); - portanto, apenas os deltas precisam ser enviados.
[000314] Tomando um pequeno exemplo somente com propósitos ilustrativos, uma matriz em particular para uma razão de canal pode ser definida, tal como uma matriz 4 x 4 em relação a 4:2:0- a b ) ( c d )em que a, b, c e d são respectivos coeficientes. Esta age como uma matriz de referência.
[000315] Modalidades da descrição podem, então, definir um conjunto de valores da diferença para uma matriz similarmente dimensionada em relação a uma outra razão de canal:( diff1 diff2 ) ( diff3 diff4 )de forma que, a fim de gerar a matriz Q para a outra razão de canal, a matriz de diferenças seja adicionada em matriz na matriz de referência.
[000316] Em vez das diferenças, uma matriz de fatores multiplicativos pode ser definida para a outra razão de canal, de maneira tal que tanto (i) a matriz de fatores multiplicativos seja multiplicado por matriz com a matriz de referência para gerar a matriz Q para a outra razão de canal, quanto (ii) cada coeficiente na matriz de referência seja individualmente multiplicado por um respectivo fator para gerar a matriz Q para a outra razão de canal.
[000317] Como uma função de uma outra matriz Q; - por exemplo, uma razão de escalonamento em relação a uma outra matriz (de forma que cada uma de a, b, c e d no exemplo exposto seja multiplicado pelo mesmo fator, ou tenha a mesma diferença adicionada em si). Isto reduz as exigências de dados para transmitir a diferença ou dados do fator. - portanto, apenas os coeficientes das funções precisam ser enviados (tal como a razão de escalonamento), como uma equação/função (por exemplo curva linear parte a parte, exponencial, polinomial); - portanto, apenas os coeficientes das equações precisam ser enviados para derivar a matriz, ou qualquer combinação dos expostos. Por exemplo, cada um de a, b, c e d pode, de fato, ser definido por uma função que pode incluir uma dependência da posição do coeficiente (i,j) na matriz. (I, j) pode representar, por exemplo, a posição do coeficiente da esquerda até a direita seguida pela posição do coeficiente do topo até base da matriz. Um exemplo é: coeficiente i,j = 3i + 2j.
[000318] Note que matrizes Q podem ser referidas como Listas de Escalonamento no ambiente HEVC. Em modalidades nas quais a quantização é aplicada depois do processo de escaneamento, os dados escaneados podem ser um fluxo contínuo linear de sucessivas amostras de dados. Em tais instâncias, o conceito de uma matriz Q ainda se aplica, mas a matriz (ou a Lista de Escaneamento) pode ser considerada como uma matriz 1 x N, de maneira tal que a ordem dos N valores de dados na matriz 1 x N corresponda à ordem de amostras escaneadas nas quais a respectiva matriz Q valor deve ser aplicada. Em outras palavras, há um relacionamento 1:1 entre ordem de dados nos dados escaneados, frequência espacial de acordo com o padrão de escaneamento e ordem de dados na matriz Q 1 x N.
[000319] Note que é possível, em algumas implementações, desviar ou omitir o estágio da DCT (separação de frequência), mas reter o estágio de quantização.
[000320] Outra informação útil inclui um indicador opcional de a qual outra matriz os valores estão relacionados, isto é, o canal prévio ou o primeiro canal (primário); por exemplo, a matriz para Cr pode ser um fator escalonado de uma matriz para Y, ou para Cb, da forma indicada.
[000321] Desta maneira, modalidades da descrição podem prover um método de codificação ou de decodificação de vídeo (e correspondentes aparelho ou programa de computador) operável para gerar blocos de dados de frequência espacial quantizados pela (opcionalmente) realização da transformação de frequência nos blocos de amostras dos dados de vídeo e quantização dos dados de vídeo (tais como os dados de frequência espacial) de acordo com um tamanho da etapa de quantização selecionada e uma matriz de dados que modifica o tamanho da etapa de quantização para uso em diferentes respectivas posições do bloco em um bloco de amostras ordenado (tal como um bloco ordenado de amostras com frequência transformada), o método sendo operável em relação a pelo menos dois diferentes formatos de subamostragem de crominância.
[000322] Para pelo menos um dos formatos de subamostragem de crominância, uma ou mais matrizes de quantização são definidas como uma ou mais modificações predeterminadas em relação a uma ou mais matrizes de referência de quantização definidas para uma referência a um dos formatos de subamostragem de crominância.
[000323] Em modalidades da descrição, a etapa de definição compreende definir uma ou mais matrizes de quantização como uma matriz de valores, cada qual interpolado a partir de uma respectiva pluralidade de valores de uma matriz de quantização de referência. Em outras modalidades, a etapa de definição compreende definir uma ou mais matrizes de quantização como uma matriz de valores, cada qual subamostrado a partir de valores de uma matriz de quantização de referência.
[000324] Em modalidades da descrição, a etapa de definição compreende definir uma ou mais matrizes de quantização como uma matriz de diferenças em relação aos valores correspondentes de uma matriz de quantização de referência.
[000325] Em modalidades da descrição, a etapa de definição compreende definir uma ou mais matrizes de quantização como uma função pré-determinada de valores de uma matriz de quantização de referência. Em tais instâncias, a função pré-determinada pode ser uma função polinomial.
[000326] Em modalidades da descrição, um ou ambos dos seguintes é provido, por exemplo, como parte dos dados de vídeo codificados, ou em associação com eles: (i) dados do indicador de referência para indicar, em relação a dados de vídeo codificados, a matriz de quantização de referência; e (ii) dados do indicador de modificação para indicar, em relação a valores de dados codificados, as uma ou mais modificações predeterminadas.
[000327] Estas técnicas são particularmente aplicáveis quando dois dos formatos de subamostragem de crominância forem formatos 4:4:4 e 4:2:2.
[000328] O número de matrizes Q em HEVC 4:2:0 é, atualmente, 6 para cada tamanho de transformada: 3 para os canais correspondentes, e um conjunto para intra e para inter. No caso de um esquema 4:4:4 GBR, será percebido que qualquer um conjunto de matrizes de quantização pode ser usado para todos os canais, ou três respectivos conjuntos de matrizes de quantização podem ser usados.
[000329] Em modalidades da descrição, pelo menos uma das matrizes é uma matriz 1 x N. Este será o caso quando (da forma aqui descrita) uma ou mais das matrizes for, de fato, uma Lista de Escalonamento ou congêneres, sendo um arranjo de coeficientes 1 x N ordenado linear.
[000330] As soluções propostas envolvem incrementar ou decrementar o QP aplicado. Entretanto, isto pode ser alcançado de inúmeras maneiras:
[000331] Em HEVC, deslocamentos de QP para os dois canais de croma são enviados no fluxo contínuo de bits. Os +/- 3 podem ser incorporados nestes deslocamentos, ou eles podem ser incrementados/decrementados quando eles forem usados para derivar o QP de croma.
[000332] Da forma discutida anteriormente, em HEVC, (QP de luma + deslocamento de croma) é usado como um índice para uma tabela a fim de derivar o QP de croma. Esta tabela pode ser modificada para incorporar os +/3 (isto é, pelo incremento/decremento dos valores da tabela original em 3).
[000333] Depois que o QP de croma tiver sido derivado, como pelo processo HEVC normal, os resultados podem, então, se incrementados (ou decrementados) em 3.
[000334] Como uma alternativa para modificação do QP, um fator de sqrt(2) ou 1/sqrt(2) pode ser usado para modificar os coeficientes de quantização.
[000335] Para quantização direta/inversa, os processos de divisão/multiplicação são implementados pelo uso de (QP % 6) como um índice para uma tabela para obter um coeficiente de quantização ou tamanho da etapa de quantização, inverseQStep/scaledQStep. (Aqui, QP % 6 significa QP modulo 6). Note que, da forma discutida anteriormente, isto pode não representar o tamanho da etapa de quantização final, que é aplicado nos dados transformados; ele pode ser adicionalmente modificado pelas matrizes Q antes do uso.
[000336] As tabelas padrões em HEVC têm comprimento 6, cobrindo um oitavo (o dobro) dos valores. Este é simplesmente um meio de reduzir exigências de armazenamento; as tabelas são estendidas para uso real pela seleção de uma entrada na tabela de acordo com o módulo de QP (mod 6) e, então, multiplicação ou divisão por uma apropriada potência de 2, dependente da diferença de (QP - QP módulo 6) a partir de um valor base predeterminado.
[000337] Este arranjo pode ser variado para permitir o deslocamento de +/-3 no valor de QP. O deslocamento pode ser aplicado no processo de busca da tabela, ou o processo de módulo discutido anteriormente pode, em vez disto, ser realizado usando o QP modificado. Considerando que o deslocamento é aplicado na busca da tabela, entretanto, entradas adicionais na tabela podem ser providas como segue:
[000338] Uma alternativa é estender as tabelas em 3 entradas, em que as novas entradas são como segue (para os valores de índice de 6 - 8).
[000339] A tabela de exemplo mostrada na figura 30 será indexada por [(QP % 6) + 3] (um "método de incremento de QP"), em que a notação QP % 6 significa "QP módulo 6".
[000340] A tabela de exemplo mostrada na figura 31 será indexada por [(QP % 6) - 3] (um "método de decremento de QP"), com entradas extras para os valores de índice de -1 até -3:
[000341] Codificação de entropia básica compreende atribuir palavras códigos a símbolos de dados de entrada, em que as mais curtas palavras códigos disponíveis são atribuídas aos símbolos mais prováveis nos dados de entrada. Na média, o resultado é uma representação sem perdas, mas muito menor, dos dados de entrada.
[000342] Este esquema básico pode ser melhorado pelo reconhecimento adicional que a probabilidade do símbolo é frequentemente condicional aos recentes dados anteriores e, consequentemente, fazendo o processo de atribuição adaptável ao contexto.
[000343] Em um esquema como este, variáveis de contexto (CVs) são usadas para determinar a escolha de respectivos modelos de probabilidade, e tais CVs são providas no esquema HEVC 4:2:0.
[000344] Para estender a codificação de entropia para o esquema 4:2:2, que, por exemplo, usará TUs 4 x 8 croma em vez de TUs 4 x 4 para uma TU luma8 x 8, opcionalmente, as variáveis de contexto podem ser providas, simplesmente, pela repetição vertical das equivalentes seleções de CV.
[000345] Entretanto, em uma modalidade da presente descrição as seleções de CV não são repetidas para os coeficientes no topo à esquerda (isto é, os coeficientes de alta energia, DC e/ou de baixa frequência espacial) e, em vez disto, novas CVs são derivadas. Neste caso, por exemplo, um mapeamento pode ser derivado do mapa de luma. Esta abordagem também pode ser usada para o esquema 4:4:4.
[000346] Durante a codificação, no esquema 4:2:0, um assim denominado escaneamento em zigue-zague escaneia através dos coeficientes, em ordem, da alta até baixa frequências. Entretanto, novamente, percebe-se que as TUs croma no esquema 4:2:2 podem ser não quadradas e, então, em uma modalidade da presente descrição, um diferente escaneamento de croma é proposto com o ângulo do escaneamento inclinado para torná-lo mais horizontal, ou, mais no geral, responsivo à razão de aspecto da TU.
[000347] Similarmente, a vizinhança para seleção de CV do mapa de significância e o sistema c1/c2 para seleção de CV maior que um e maior que dois podem ser adaptados desta maneira.
[000348] Igualmente, em uma modalidade da presente descrição, a posição do coeficiente menos significativa (que torna-se o ponto inicial durante a decodificação) também pode ser ajustada para o esquema 4:4:4, com posições menos significativas para TUs croma sendo codificadas diferencialmente da posição menos significativa na TU luma colocalizada.
[000349] O escaneamento do coeficiente também pode se tornar dependente do modo de previsão para certos tamanhos de TU. Portanto, uma diferente ordem do escaneamento pode ser usada para alguns tamanhos de TU dependente do modo de intraprevisão.
[000350] No esquema 4:2:0, Escaneamento de Coeficiente Dependente de Modo (MDCS) é aplicado apenas para TUs luma 4 x 4/8 x 8 e TUs croma 4 x 4 para intraprevisão. MDCS é usado dependente do modo de intraprevisão, com ângulos +/-4 em relação a horizontal e vertical sendo considerados.
[000351] Em uma modalidade da presente descrição, é proposto que o esquema MDCS 4:2:2 seja aplicado em TUs croma 4 x 8 e 8 x 4 para intraprevisão. Similarmente, é proposto que o esquema MDCS 4:4:4 seja aplicado em TUs croma 8 x 8 e 4 x 4. MDCS para 4:2:2 pode ser feito apenas nas direções horizontal ou vertical, e as faixas de ângulo podem diferir para croma 4:4:4 em relação a luma 4:4:4 em relação a croma 4:2:2 em relação a luma 4:2:2 em relação a luma 4:2:0.
[000352] Desbloqueio é aplicado em todos os contornos da CU, PU e TU, e a forma da CU/PU/TU não é considerada. A intensidade e o tamanho do filtro são dependentes das estatísticas do local, e desbloqueio tem uma granularidade de 8 x 8 pixels luma.
[000353] Consequentemente, é previsto que o atual desbloqueio aplicado para o esquema 4:2:0 também deve ser aplicável para os esquemas 4:2:2 e 4:4:4.
[000354] Em deslocamento adaptativo de amostra (SAO), cada canal é completamente independente. SAO divide os dados da imagem para cada canal usando uma árvore quádrupla, e os blocos resultantes têm pelo menos uma LCU de tamanho. Os blocos folhas são alinhados com os contornos da LCU e cada folha pode funcionar em um de três modos, da forma determinada pelo codificador ("deslocamento de banda Central", "deslocamento de banda Lateral" ou "deslocamento de Borda"). Cada folha categoriza seus pixels, e o codificador deriva um valor de deslocamento para cada uma das 16 categorias pela comparação dos dados de entrada do SAO com os dados de origem. Estes deslocamentos são enviados para o decodificador. O deslocamento para uma categoria de pixel decodificado é adicionado em seu valor para minimizar o desvio da origem.
[000355] Além do mais, SAO é habilitado ou desabilitado no nível da figura; se habilitado para luma, ele também pode ser habilitado separadamente para cada canal de croma. SÃO, portanto, será aplicado em croma apenas se ele for aplicado em luma.
[000356] Consequentemente, o processo é amplamente transparente ao esquema de bloco fundamental e é previsto que o SAO atual aplicado para o esquema 4:2:0 também deva ser aplicável para os esquemas 4:2:2 e 4:4:4.
[000357] No esquema 4:2:0, filtragem de malha adaptativo (ALF) é desabilitada por padrão. Entretanto, em princípio (isto é, se permitido), então, ALF será aplicado na íntegra da figura para croma.
[000358] Em ALF, amostras de luma podem ser classificadas em uma de inúmeras categorias, da forma determinada pelos documentos HEVC; cada categoria usa um diferente filtro com base em Wiener.
[000359] Ao contrário, em 4:2:0, amostras de croma não são categorizadas - há somente um filtro com base em Wiener para Cb e um para Cr.
[000360] Portanto, em uma modalidade da presente descrição, à luz da maior informação de croma nos esquemas 4:2:2 e 4:4:4, é proposto que as amostras de croma sejam categorizadas; por exemplo, com K categorias para 4:2:2 e J categorias para 4:4:4.
[000361] Enquanto, no esquema 4:2:0, ALF pode ser desabilitado para luma em uma base por CU usando um indicador de controle de ALF (até o nível do CU especificado pela profundidade de controle do ALF), ele apenas pode ser desabilitado para croma em uma base por figura. Note que, em HEVC, esta profundidade é atualmente limitada ao nível da LCU apenas.
[000362] Consequentemente em uma modalidade da presente descrição, os esquemas 4:2:2 e 4:4:4 são providos com um ou dois indicadores de controle de ALF específicos do canal para croma.
[000363] Em HEVC, sintaxe já está presente para indicar esquemas 4:2:0, 4:2:2 ou 4:4:4, e é indicada no nível da sequência. Entretanto, em uma modalidade da presente descrição, é proposto também indicar codificação 4:4:4 GBR neste nível.
[000364] O uso de transformações direcionais dependentes do modo e de escaneamento de coeficiente dependente de modo será agora descrito. Note que ambos podem ser implementados no mesmo sistema, ou um pode ser usado e o outro não, ou nenhum pode ser usado.
[000365] MDCS será descrito primeiro, em relação às figuras 34 até 38.
[000366] Um assim denominado padrão de escaneamento diagonal para cima e para a direita foi supradescrito em relação à figura 16. O padrão de escaneamento é usado para derivar uma ordem pela qual coeficientes com frequência separada, tais como coeficientes de DCT, são processados. O padrão diagonal para cima e à direita é um exemplo de um padrão de escaneamento, mas outros padrões são disponíveis. Dois exemplos adicionais são mostrados esquematicamente nas figuras 34 e 35, desta vez usando o exemplo de um bloco de 4 x 4. Estes são: um padrão de escaneamento horizontal (figura 34) e um padrão de escaneamento vertical (figura 35).
[000367] Em MDCS, um padrão de escaneamento é selecionado a partir de um grupo de dois ou mais padrões de escaneamento candidatos na dependência do modo de previsão em uso.
[000368] O presente exemplo refere-se a um grupo de três padrões de escaneamento candidatos, o padrão diagonal para cima e à direita, o padrão horizontal e o padrão vertical. Mas um diferente grupo de dois ou mais padrões candidatos pode ser usado.
[000369] Em relação à figura 36, o padrão de escaneamento vertical é usado para modos 6 a 14, que são modos que ficam em um ângulo limite (ou número de modo) em relação à horizontal (predominantemente horizontal). O padrão de escaneamento horizontal é usado para modos 22 a 30, que são modos que ficam em um ângulo limite (ou número de modo) em relação à vertical (predominantemente vertical). O escaneamento diagonal para cima e para a direita, referido na figura 36 somente como o escaneamento "diagonal", é usado para outros modos.
[000370] A figura 37 ilustra esquematicamente um possível mapeamento de dois padrões de escaneamento candidatos (vertical e horizontal) para os modos de previsão direcionais aplicáveis a um arranjo retangular de amostras de croma. O padrão é diferente daquele usado (figura 36) para amostras de luma.
[000371] A figura 38 ilustra esquematicamente um arranjo para selecionar um padrão de escaneamento. Este pode formar parte da funcionalidade do controlador 343, por exemplo.
[000372] Um seletor 1620 é responsivo a um modo de previsão para o bloco atual e uma tabela de busca 1630 que mapeia o modo de previsão para o padrão de escaneamento. O seletor 1620 transmite dados indicativos do padrão de escaneamento selecionado.
[000373] MDCS pode ser habilitado para 4:2:2 e 4:4:4. O mapeamento de padrões de escaneamento para modos de previsão pode ser o mesmo que para 4:2:0, ou pode ser diferente. Cada razão de canal pode ter um respectivo mapeamento (em cujo caso o seletor 1620 também pode ser responsivo à razão de canal) ou o mapeamento pode ser consistente através das razões de canal. MDCS pode ser aplicado apenas em certos tamanhos do bloco, por exemplo, tamanhos do bloco não maiores que um tamanho do bloco limite. Por exemplo, os máximos tamanhos de TU na qual MDCS é aplicado podem ser:
[000374] Para croma, MDCS pode ser desabilitado, limitado a TUs 4 x 4 (luma) apenas ou limitado às TUs usando apenas escaneamento horizontal ou vertical. A implementação do recurso de MDCS pode variar com a razão de canal.
[000375] Portanto, modalidades da descrição proveem um método de codificação de dados de vídeo 4:2:2 ou 4:4:4: no qual diferenças entre amostras previstas e originais passam por separação de frequência e são codificadas, compreendendo: prever amostras de luminância e/ou de crominância de uma imagem a partir de outras respectivas amostras de referência derivadas a partir da mesma imagem de acordo com um modo de previsão associado com uma amostra a ser prevista, o modo de previsão sendo selecionado para cada um de uma pluralidade de blocos de amostras a partir de um conjunto de dois ou mais modos de previsão candidatos; detectar diferenças entre as amostras e as respectivas amostras previstas; separar frequência das diferenças detectadas para um bloco de amostras, usando uma transformação de separação de frequência, para gerar um correspondente conjunto de coeficientes com frequência separada; selecionar um padrão de escaneamento a partir de um conjunto de dois ou mais padrões de escaneamento candidatos, cada padrão de escaneamento definindo uma ordem de codificação do conjunto de coeficientes com frequência separada, na dependência do modo de previsão para este bloco de amostras, usando um mapeamento provido (por exemplo, pelo controlador 343) entre padrão de escaneamento e modo de previsão, o mapeamento diferente, como entre amostras de crominância e de luminância, pelo menos para o formato 4:4:4: (então, em outras palavras, o mapeamento é diferente para dados de croma 4:4:4 e de luma 4:4:4, e pode ou não ser diferente como entre dados de luma 4:2:2 e de croma 4:2:2); e codificar os dados de diferença com frequência separada em uma ordem dos coeficientes com frequência separada de acordo com o padrão de escaneamento selecionado.
[000376] O mapeamento pode ser diferente para dados de luminância e de crominância 4:2:2.
[000377] O mapeamento pode ser diferente para dados de vídeo 4:2:2 e 4:4:4.
[000378] Em modalidades da descrição, o tamanho de um bloco atual de amostras de luminância compreende amostras 4 x 4 ou 8 x 8. Alternativamente, modalidades da descrição compreendem selecionar o tamanho do bloco atual de amostras a partir de um conjunto de tamanhos candidatos; e aplicar a etapa de seleção de um padrão de escaneamento se o tamanho do bloco selecionado for um de um subconjunto predeterminado do conjunto de tamanhos candidatos. Desta maneira, o processo de mapeamento pode ser aplicado em relação a alguns tamanhos do bloco, mas não outros. O mapeamento pode ser aplicado (para 4:2:2) apenas em relação às amostras de luminância.
[000379] Em modalidades da descrição, o conjunto de padrões de escaneamento candidatos é diferente para uso em relação às amostras de luminância e de crominância.
[000380] A etapa de seleção pode ser configurada para selecionar um padrão de escaneamento horizontal em relação a um conjunto de modos de previsão predominantemente horizontais, para selecionar um padrão de escaneamento vertical em relação a um conjunto de modos de previsão predominantemente verticais e para selecionar um padrão de escaneamento diagonal em relação a outros modos de previsão.
[000381] Modalidades da descrição também proveem um método de decodificação de dados de vídeo 4:2:2 ou 4:4:4 no qual diferenças entre amostras previstas e originais passam por separação de frequência e são codificadas, compreendendo: prever amostras de luminância e/ou de crominância de uma imagem a partir de outras respectivas amostras de referência derivadas a partir da mesma imagem de acordo com um modo de previsão associado com uma amostra a ser prevista, o modo de previsão sendo selecionado para cada um de uma pluralidade de blocos de amostras a partir de um conjunto de dois ou mais modos de previsão candidatos; selecionar um padrão de escaneamento a partir de um conjunto de dois ou mais padrões de escaneamento candidatos, cada padrão de escaneamento definindo uma ordem de codificação do conjunto de coeficientes com frequência separada, na dependência do modo de previsão para este bloco de amostras, usando um mapeamento entre padrão de escaneamento e modo de previsão, o mapeamento diferente, como entre amostras de crominância e de luminância, pelo menos para o formato 4:4:4: (então, em outras palavras, o mapeamento é diferente para dados de croma 4:4:4 e de luma 4:4:4, e pode ou não ser diferente como entre dados de luma 4:2:2 e de croma 4:2:2); e decodificar dados de diferença com frequência separada que representam uma versão com frequência separada dos dados indicativos das diferenças entre as amostras a serem decodificadas e respectivas amostras previstas, em uma ordem dos coeficientes com frequência separada de acordo com o padrão de escaneamento selecionado.
[000382] Em relação a MDDT, a figura 39 ilustra esquematicamente um arranjo para selecionar uma transformação de separação de frequência de acordo com o modo de previsão. O arranjo pode formar parte da funcionalidade da unidade de transformação ou do controlador.
[000383] Um seletor 1700 recebe dados que definem o atual modo de previsão e seleciona uma transformada (a partir de um conjunto de duas ou mais transformadas candidatas) na dependência deste modo. A transformada é aplicada por um motor de transformada 1710 para converter amostras de imagem em coeficientes com frequência transformada, com base nos dados indicativos da transformada exigida, armazenadas em um armazenamento dos dados da transformada.
[000384] Exemplos de transformadas candidatas incluem a transformada discreta de cosseno (DCT), a transformada discreta de seno (DST), a transformada Karhunen-Loève; e transformadas definidas por respectivas matrizes de linha e coluna para multiplicação de matriz pelo bloco atual de amostras.
[000385] MDDT pode ser habilitada, por exemplo, em relação a blocos croma 4 x 4 em um sistema 4:4:4. Entretanto, em modalidades da descrição, MDDT é habilitada em relação a dados 4:2:2.
[000386] Desta maneira, modalidades da descrição podem prover um método de codificação de dados de vídeo 4:2:2 ou 4:4:4, compreendendo: prever amostras de luminância e/ou de crominância de uma imagem a partir de outras respectivas amostras de referência derivadas a partir da mesma imagem de acordo com um modo de previsão associado com uma amostra a ser prevista, o modo de previsão sendo selecionado para cada um de uma pluralidade de blocos de amostras a partir de um conjunto de dois ou mais modos de previsão candidatos; detectar diferenças entre as amostras e as respectivas amostras previstas; selecionar uma transformação de separação de frequência a partir de duas ou mais transformações de separação de frequência candidatas de acordo com o modo de previsão associado com um bloco atual de amostras usando um mapeamento (provido, por exemplo, pelo controlador 343) entre transformada e modo de previsão, o mapeamento sendo diferente, como entre amostras de crominância e de luminância, pelo menos para o formato 4:4:4: (então, em outras palavras, o mapeamento é diferente para dados de croma 4:4:4 e de luma 4:4:4, e pode ou não ser diferente como entre dados de luma 4:2:2 e de croma 4:2:2); e codificar as diferenças detectadas pela separação de frequência das diferenças, usando a transformação de separação de frequência selecionada.
[000387] As transformadas candidatas podem compreender duas ou mais transformadas selecionadas a partir da lista que consiste em: a transformada discreta de cosseno; a transformada discreta de seno; a transformada Karhunen-Loève; e transformadas definidas por respectivas matrizes de linha e coluna para multiplicação de matriz pelo bloco atual de amostras (de forma que, por exemplo, uma transformada seja definida por TXTT, em que T é a matriz de transformação, o T sobrescrito significa a transposição da matriz e X significa um bloco de amostras em forma de matriz).
[000388] Como antes, em modalidades da descrição, o modo de previsão associado com um bloco de amostras a ser previsto indica uma direção da previsão que define uma ou mais outras respectivas amostras de referência a partir das quais cada amostra deste bloco deve ser prevista, ou pode indicar um modo de previsão dc, por exemplo.
[000389] Em modalidades da descrição, um mapeamento provido entre o modo de previsão e a transformação de separação de frequência pode ser diferente entre dados de luminância e de crominância para o formato 4:2:2.
[000390] Em modalidades da descrição, o tamanho de um bloco atual de amostras de luminância é 4 x 4 amostras. Alternativamente, o método pode compreender selecionar o tamanho do bloco atual de amostras a partir de um conjunto de tamanhos candidatos; e aplicar a etapa de seleção de uma transformação de separação de frequência se o tamanho do bloco selecionado for um de um subconjunto predeterminado do conjunto de tamanhos candidatos, de forma que MDDT seja usada apenas para alguns, mas não todos os tamanhos de bloco (por exemplo, TU).
[000391] Em modalidades da descrição, a etapa de codificação das diferenças detectadas compreende selecionar um padrão de escaneamento a partir de um conjunto de dois ou mais padrões de escaneamento candidatos, cada padrão de escaneamento definindo uma ordem de codificação do conjunto de coeficientes com frequência separada, na dependência do modo de previsão para este bloco de amostras; e codificar os dados de diferença com frequência separada em uma ordem dos coeficientes com frequência separada de acordo com o padrão de escaneamento selecionado. Em outras palavras, isto representa um sistema que usa tanto MDCS quanto MDDT.
[000392] Indicador de Bloco Codificado
[000393] O indicador de bloco codificado (CBF) é usado para indicar - para uma TU luma - se esta TU contém alguns coeficientes não zero. Ele provê uma simples resposta sim/não que permite que o processo de codificação ignore blocos que não têm dados a serem codificados.
[000394] Em alguns arranjos, CBFs são usados para dados de croma, mas são providos em cada nível de divisão. Isto é em virtude de componentes de croma frequentemente terem uma quantidade de informação inferior e, então, poder ser descoberto um bloco croma que contém zero dados em um nível de divisão superior àquele no qual é descoberto que um correspondente bloco luma não contém dados.
[000395] Em algumas modalidades, entretanto, croma é tratado exatamente como luma, com os propósitos de alocação de indicadores CBF.
[000396] Codificação CABAC e Modelagem de Contexto
[000397] A figura 40 ilustra esquematicamente a operação de um codificador de entropia CABAC.
[000398] O codificador CABAC opera em relação aos dados binários, isto é, dados representados por apenas os dois símbolos 0 e 1. O codificador faz uso de um assim denominado processo de modelagem de contexto que seleciona um modelo de "contexto" ou probabilidade para dados subsequentes com base nos dados previamente codificados. A seleção do contexto é realizada de uma maneira determinística, de forma que a mesma determinação, com base em dados previamente decodificados, possa ser realizada no decodificador sem a necessidade de que dados adicionais (que especificam o contexto) sejam adicionados no fluxo contínuo de dados codificado passado para o decodificador.
[000399] Em relação à figura 40, dados de entrada a serem codificados podem ser passados para um conversor binário 1900 se eles ainda não estiverem em uma forma binária; se os dados já estiverem em forma binária, o conversor 1900 é desviado (por um comutador esquemático 1910). Nas presentes modalidades, conversão para uma forma binária é realmente realizada pela expressão dos dados de coeficiente da DCT quantizada (ou outros com frequência separada) como uma série de "mapas" binários, o que será descrito adicionalmente a seguir.
[000400] Os dados binários podem, então, ser tratados por um de dois caminhos de processamento, um caminho "regular" e um caminho de "desvio" (que são mostrados esquematicamente como caminhos separados, mas, que, em modalidades da descrição discutidas a seguir, podem ser, de fato, implementados pelos mesmos estágios de processamento, usando somente parâmetros ligeiramente diferentes). O caminho de desvio emprega um assim denominado codificador de desvio 1920 que não necessariamente faz uso da modelagem de contexto na mesma forma do caminho regular. Em alguns exemplos de codificação CABAC, este caminho de desvio pode ser selecionado se houver uma necessidade de processamento particularmente rápido de um lote de dados, mas, nas presentes modalidades, dois recursos de assim denominados dados de "desvio" são notados: primeiramente, os dados de desvio são tratados pelo codificador CABAC (1950, 1960) usando somente um modelo de contexto fixo que representa uma probabilidade de 50 %; e, em segundo lugar, os dados de desvio dizem respeito a certas categorias de dados, um exemplo em particular sendo dados de sinal do coeficiente. Caso contrário, o caminho regular é selecionado por comutadores esquemáticos 1930, 1940. Isto envolve os dados serem processados por um modelador de contexto 1950 seguido por um motor de codificação 1960.
[000401] O codificador de entropia mostrado na figura 40 codifica um bloco de dados (isto é, por exemplo, dados correspondentes a um bloco de coeficientes em relação a um bloco da imagem residual) como um único valor se o bloco for formado integralmente por dados com valor zero. Para cada bloco que não cai nesta categoria, isto é, um bloco que contém pelo menos alguns dados não zero, um "mapa de significância" é preparado. O mapa de significância indica se, para cada posição em um bloco de dados a ser codificado, o correspondente coeficiente no bloco não é zero. Os dados do mapa de significância, que estão em forma binária, são eles próprios codificados por CABAC. O uso do mapa de significância auxilia com a compressão em virtude de nenhum dado precisar ser codificado para um coeficiente com uma magnitude que o mapa de significância indica ser zero. Também, o mapa de significância pode incluir um código especial para indicar o coeficiente final não zero no bloco, de forma que todos os coeficientes de alta frequência final/delimitador zero possa ser omitidos da codificação. O mapa de significância é seguido, no fluxo contínuo de bit codificado, por dados que definem os valores dos coeficientes não zero especificados pelo mapa de significância.
[000402] Níveis adicionais dos dados do mapa também são preparados e são codificados por CABAC. Um exemplo é um mapa que define, como um valor binário (1 = sim, 0 = não) se os dados de coeficiente em uma posição do mapa que o mapa de significância indicou como "não zero" têm realmente o valor de "a". Um outro mapa especifica se os dados de coeficiente em uma posição do mapa que o mapa de significância indicou como "não zero" realmente têm o valor de "dois". Uma mapa adicional indica, para aquelas posições de mapa onde o mapa de significância indicou que os dados de coeficiente são "não zero", se os dados têm um valor "maior que dois". Um outro mapa indica, novamente para dados identificados como "não zero", o sinal dos valor de dados (usando uma notação binária pré-determinada, tal como 1 para +, 0 para - ou, certamente, o contrário).
[000403] Em modalidades da descrição, o mapa de significância e outros mapas são gerados a partir dos coeficientes de DCT quantizados, por exemplo, pela unidade de escaneamento 360, e são sujeitos a um processo de escaneamento em zigue-zague (ou um processo de escaneamento selecionado a partir daqueles discutidos anteriormente) antes de serem sujeitos à codificação CABAC.
[000404] Em termos gerais, codificação CABAC envolve prever um contexto, ou um modelo de probabilidade, para que um próximo bit seja codificado, com base em outros dados previamente codificados. Se o próximo bit for igual ao bit identificado como "mais provável" pelo modelo de probabilidade, então, a codificação da informação que "o próximo bit concorda com o modelo de probabilidade" pode ser codificada com grande eficiência. Ele é menos eficiente para codificar do que "o próximo bit que não concorda com o modelo de probabilidade", então, a derivação dos dados de contexto é importante para boa operação do codificador. O termo "adaptativo" significa que os modelos de contexto ou de probabilidade são adaptados ou variados durante a codificação, em uma tentativa de prover uma boa correspondência em relação aos próximos dados (ainda não codificados).
[000405] Usando uma simples analogia, na língua inglesa escrita, a letra "U" é relativamente incomum. Mas, em uma posição da letra imediatamente depois da letra "Q", ela é muito comum, de fato. Então, um modelo de probabilidade pode definir a probabilidade de um "U" como um valor muito baixo, mas, se a letra atual for um "Q", o modelo de probabilidade para um "U" como a próxima letra pode ser definido em um valor de probabilidade muito alto.
[000406] Codificação CABAC é usada, nos presentes arranjos, para pelo menos o mapa de significância e os mapas que indicam se os valores não zero são um ou dois. Processamento de desvio - que, nestas modalidades, é idêntico à codificação CABAC, mas, para o fato de que o modelo de probabilidade é fixo em uma distribuição de probabilidade igual (0,5:0,5) de 1 s e 0 s, é usado para pelo menos os dados do sinal e o mapa que indica se um valor é > 2. Para aquelas posições de dados identificadas como > 2, uma assim denominada codificação de dados de fuga separada pode ser usada para codificar o real valor dos dados. Isto pode incluir uma técnica de codificação Golomb-Rice.
[000407] A modelagem de contexto e o processo de codificação CABAC são descritos com mais detalhes em WD4: Working Draft 4 of High- Efficiency Video Coding, JCTVC-F803_d5, Draft ISO/IEC 23008-HEVC; 201x(E) 2011-10-28.
[000408] As variáveis de contexto são redefinidas no fim do processamento de uma fatia.
[000409] Agora, referência será feita a um método de codificação de dados de vídeo, que compreende: prever blocos de amostras de luminância e/ou de crominância de uma imagem a partir de outras respectivas amostras ou valores de referência; detectar diferenças entre as amostras em um bloco e as respectivas amostras previstas; separar a frequência das diferenças detectadas em relação a cada bloco para gerar um correspondente arranjo de coeficientes com frequência separada ordenados de acordo com frequências espaciais crescentes representadas pelos coeficientes; e realizar codificação de entropia dos coeficientes com frequência separada usando um código aritmético adaptável ao contexto que codifica coeficientes em relação a variáveis de contexto indicativas da probabilidade de um coeficiente ter um valor de coeficiente em particular; em que a etapa de codificação de entropia compreende: particionar cada arranjo em dois ou mais grupos de coeficiente, os grupos sendo subarranjos não quadrados; e selecionar uma variável de contexto para codificar um coeficiente de acordo com as frequências espaciais representadas por este coeficiente e na dependência dos valores de coeficientes em um ou mais grupos de coeficientes nas proximidades deste arranjo ou um arranjo correspondente a um bloco de amostras vizinho.
[000410] Isto é algumas vezes conhecido como alocação de variável de contexto da vizinhança, que permite que o padrão de alocação da variável de contexto na posição do coeficiente seja definido em um subarranjo por base de subarranjo (um subarranjo sendo uma parte de um bloco de coeficientes) de acordo com se houver algum coeficiente não zero em subarranjos vizinhos. O padrão de escaneamento selecionado para uso com os dados com frequência separada pode ser relevante, de maneira tal que a etapa de codificação de entropia compreenda codificar os coeficientes de um arranjo em uma ordem dependente de um padrão de escaneamento selecionado a partir de um conjunto de um ou mais padrões de escaneamento candidatos. Cada subarranjo de coeficientes pode ser considerado como um conjunto sucessivo de n coeficientes na ordem definida pelo padrão de escaneamento aplicável a este arranjo, em que n é um fator integral do número de coeficientes no arranjo. Por exemplo, n pode ser 16.
[000411] As figuras 41A a 41D ilustram esquematicamente a situação para alocação de vizinhança previamente proposta.
[000412] Em modalidades da descrição, a etapa de seleção aloca coeficientes em um grupo em um de um conjunto de variáveis de contexto candidatas, de forma que, em cada grupo, sucessivos subconjuntos de coeficientes, na ordem do escaneamento, sejam alocados em respectivas variáveis de contexto candidatas. Nos exemplos mostrados nas figuras 42A a 43B, uma ordem do escaneamento vertical é usada e alocações são feitas nesta ordem. Na figura 44, uma ordem do escaneamento horizontal é usada e alocações são feitas nesta ordem.
[000413] Da forma mencionada, a etapa de seleção depende se os coeficientes nas proximidades têm um valor zero. Pode haver duas variáveis de contexto candidatas para cada grupo de coeficientes.
[000414] Voltando agora para as figuras 42A, 42B, 43A, 43B e 44, o formato dos desenhos mostrados é aquele em que os coeficientes são ordenados em um arranjo, de forma que a frequência espacial horizontal aumente da esquerda até a direita no arranjo e a frequência espacial vertical aumente do topo até base em um arranjo.
[000415] Há duas opções sobre como lidar com dados ausentes (por exemplo, dados nas bordas de uma figura ou fatia, ou dados que ainda não foram codificados. Em uma opção (figura 42A), se um grupo de coeficientes nas proximidades de um grupo atual ainda não tiver passado por separação de frequência, a etapa de seleção atribui valores zero a este grupo com os propósitos de selecionar uma variável de contexto para um coeficiente no grupo atual. Em uma outra opção (figura 42B), se um primeiro grupo de coeficientes nas proximidades de um grupo atual ainda não passou por separação de frequência, mas um segundo grupo vizinho de um grupo atual passou por separação de frequência, então, a seleção atribui os valores do segundo grupo no primeiro grupo com os propósitos de selecionar uma variável de contexto para um coeficiente no grupo atual.
[000416] Em relação às figuras 42A a 42B, se ambos os grupos à direita e abaixo do grupo atual contiverem dados de coeficiente não zero, então, uma variável de contexto é alocada, pela etapa de seleção, nos primeiros m coeficientes do grupo atual na ordem do escaneamento e uma outra variável de contexto nos coeficientes restantes do grupo atual. Se o grupo à direita do grupo atual tiver dados não zero, mas o grupo abaixo do grupo atual não, então, uma variável de contexto é alocada, pela etapa de seleção, em uma metade superior do grupo atual e uma outra variável de contexto nos coeficientes restantes do grupo atual. Se o grupo abaixo do grupo atual tiver dados não zero, mas o grupo à direita do grupo atual não, então, uma variável de contexto é alocada, pela etapa de seleção, nos primeiros p coeficientes do grupo atual na ordem do escaneamento e uma outra variável de contexto nos coeficientes restantes do grupo atual. Se o grupo abaixo do grupo atual tiver dados não zero, mas o grupo à direita do grupo atual não, então, uma variável de contexto é alocada, pela etapa de seleção, em uma metade esquerda do grupo atual e uma outra variável de contexto nos coeficientes restantes do grupo atual. Nos exemplos mostrados, m e p são números inteiros, e m não é igual a p. Em particular, nos exemplos mostrados, um grupo atual compreende um subarranjo de 8 x 2 ou 2 x 8 coeficientes; e m = 13 e p = 6.
[000417] O método mostrado é aplicável a blocos de amostras que têm um tamanho de pelo menos 8 amostras em pelo menos uma dimensão. Um exemplo é um bloco 8 x 8 ou maior.
[000418] A técnica é usada se pelo menos alguns dos blocos de amostras (TUs) forem quadrados ou pelo menos alguns dos blocos de amostras (TUs) não forem quadrados.
[000419] Agora, em relação à figura 45, modalidades da descrição também proveem um método de codificação de dados de vídeo, compreendendo: prever blocos de amostras de luminância e/ou de crominância de uma imagem a partir de outras respectivas amostras ou valores de referência; detectar diferenças entre as amostras em um bloco e as respectivas amostras previstas; realizar separação de frequência das diferenças detectadas em relação a cada bloco para gerar um correspondente arranjo de coeficientes com frequência separada ordenados de acordo com as frequências espaciais representadas pelos coeficientes, um dos coeficientes representando um valor dc do bloco; e realizar codificação de entropia dos coeficientes com frequência separada usando um código aritmético adaptável ao contexto que codifica coeficientes em relação a variáveis de contexto indicativas da probabilidade de um coeficiente ter um valor de coeficiente em particular; em que a etapa de codificação de entropia compreende: particionar cada arranjo em dois ou mais grupos de coeficiente, os grupos sendo subarranjos não quadrados; e gerar uma alocação de variáveis de contexto para codificar respectivos coeficientes gerados em relação a um subarranjo não quadrado de acordo com as frequências espaciais representadas por este coeficiente, pela repetição da posição de alocações de variável de contexto aplicáveis a um subarranjo quadrado, mas não repetição da posição de alocação de uma variável de contexto no coeficiente dc. Da forma mostrada na figura 45, o padrão de alocação para o subarranjo 8 x 16 é um padrão com valor repetido derivado a partir do padrão de alocação do subarranjo 8 x 8, mas a alocação dc (o canto no topo à esquerda desenhado) não tem valor repetido. Em outras palavras, a variável de contexto alocada no coeficiente dc não é alocada em nenhum outro coeficiente.
[000420] Será percebido que sinais de dados gerados pelas variantes do aparelho de codificação discutido anteriormente, e mídias de armazenamento ou transmissão que portam tais sinais, são considerados representando modalidades da presente descrição.
[000421] Quando métodos de processamento, codificação ou decodificação forem discutidos anteriormente, será percebido que também considera-se que o aparelho configurado para realizar tais métodos também representa modalidades da descrição. Também será percebido que considera- se que o aparelho de armazenamento, transmissão, captura e/ou exibição de vídeo que incorpora tais técnicas representa uma modalidade da presente descrição.
[000422] Até aqui, como modalidades da descrição foram descritas como implementadas, pelo menos em parte, por aparelho de processamento de dados controlado por software, será percebido que considera-se que uma mídia legível por máquina não temporária que porta tal software, tais como um disco ótico, um disco magnético, memória semicondutora ou congêneres, também representa uma modalidade da presente descrição.
[000423] Ficará aparente que inúmeras modificações e variações da presente descrição são possíveis à luz dos preceitos expostos. Portanto, deve ser entendido que, no escopo das reivindicações anexas, a tecnologia pode ser praticada de outra forma em relação ao que foi aqui especificamente descrito.
[000424] Respectivos recursos das modalidades são definidos pelas seguintes cláusulas numeradas: 1. Um método de codificação de dados de vídeo, que compreende: prever blocos de amostras de luminância e/ou de crominância de uma imagem a partir de outras respectivas amostras ou valores de referência; detectar diferenças entre as amostras em um bloco e as respectivas amostras previstas; realizar separação de frequência das diferenças detectadas em relação a cada bloco para gerar um correspondente arranjo de coeficientes com frequência separada ordenados de acordo com frequências espaciais crescentes representadas pelos coeficientes; e realizar codificação de entropia dos coeficientes com frequência separada usando um código aritmético adaptável ao contexto que codifica coeficientes em relação a variáveis de contexto indicativas da probabilidade de um coeficiente ter um valor de coeficiente em particular; em que a etapa de codificação de entropia compreende: particionar cada arranjo em dois ou mais grupos de coeficiente, os grupos sendo subarranjos não quadrados; e selecionar uma variável de contexto para codificar um coeficiente de acordo com as frequências espaciais representadas por este coeficiente e na dependência dos valores de coeficientes em um ou mais grupos de coeficientes nas proximidades deste arranjo ou um arranjo correspondente a um bloco de amostras vizinho. 2. Um método, de acordo com a cláusula 1, em que a etapa de codificação de entropia compreende codificar os coeficientes de um arranjo em uma ordem dependente de um padrão de escaneamento selecionado a partir de um conjunto de um ou mais padrões de escaneamento candidatos. 3. Um método, de acordo com a cláusula 2, em que cada grupo de coeficientes em um arranjo compreende um conjunto sucessivo de n coeficientes na ordem definida pelo padrão de escaneamento aplicável a este arranjo, em que n é um fator integral do número de coeficientes no arranjo. 4. Um método, de acordo com a cláusula 3, em que n é 16. 5. Um método, de acordo com qualquer uma das cláusulas anteriores, em que a etapa de seleção alocou coeficientes em um grupo em uma de um conjunto de variáveis de contexto candidatas de forma que, em cada grupo, sucessivos subconjuntos de coeficientes, na ordem do escaneamento, sejam alocados em respectivas variáveis de contexto candidatas. 6. Um método, de acordo com qualquer uma das cláusulas anteriores, em que a etapa de seleção depende se os coeficientes nas proximidades têm um valor zero. 7. Um método, de acordo com a cláusula 6, em que há duas variáveis de contexto candidatas para cada grupo de coeficientes. 8. Um método, de acordo com a cláusula 6 ou a cláusula 7, em que: os coeficientes são ordenados em um arranjo de forma que a frequência espacial horizontal aumente da esquerda até a direita no arranjo e a frequência espacial vertical aumente do topo até base em um arranjo; se ambos os grupos à direita e abaixo do grupo atual contiverem dados de coeficiente não zero, então, uma variável de contexto é alocada, pela etapa de seleção, nos primeiros m coeficientes do grupo atual na ordem do escaneamento e uma outra variável de contexto nos coeficientes restantes do grupo atual; se o grupo à direita do grupo atual tiver dados não zero, mas o grupo abaixo do grupo atual não, então, uma variável de contexto é alocada, pela etapa de seleção, em uma metade superior do grupo atual e uma outra variável de contexto nos coeficientes restantes do grupo atual; se o grupo abaixo do grupo atual tiver dados não zero, mas o grupo à direita do grupo atual não, então, uma variável de contexto é alocada, pela etapa de seleção, nos primeiros p coeficientes do grupo atual na ordem do escaneamento e uma outra variável de contexto nos coeficientes restantes do grupo atual; e se o grupo abaixo do grupo atual tiver dados não zero, mas o grupo à direita do grupo atual não, então, uma variável de contexto é alocada, pela etapa de seleção, em uma metade esquerda do grupo atual e uma outra variável de contexto nos coeficientes restantes do grupo atual; em que m e p são números inteiros, e m não é igual a p. 9. Um método, de acordo com a cláusula 8, em que um grupo atual compreende um subarranjo de 8 x 2 ou 2 x 8 coeficientes; e m = 13 e p = 6. 10. Um método, de acordo com qualquer uma das cláusulas 6 a 9, em que, se um grupo de coeficientes nas proximidades de um grupo atual ainda não tiver passado por separação de frequência, a etapa de seleção atribui valores zero a este grupo com os propósitos de selecionar uma variável de contexto para um coeficiente no grupo atual. 11. Um método, de acordo com qualquer uma das cláusulas 6 a 9, em que, se um primeiro grupo de coeficientes nas proximidades de um grupo atual ainda não passou por separação de frequência, mas um segundo grupo vizinho de um grupo atual passou por separação de frequência, então, a seleção atribui os valores do segundo grupo no primeiro grupo com os propósitos de selecionar uma variável de contexto para um coeficiente no grupo atual. 12. Um método, de acordo com qualquer uma das cláusulas anteriores, em que os blocos de amostras têm um tamanho de pelo menos 8 amostras em pelo menos uma dimensão. 13. Um método, de acordo com qualquer uma das cláusulas anteriores, em que pelo menos alguns dos blocos de amostras são quadrados. 14. Um método, de acordo com qualquer uma das cláusulas anteriores, em que pelo menos alguns dos blocos de amostras são não quadrados. 15. Um método de codificação de dados de vídeo, que compreende: prever blocos de amostras de luminância e/ou de crominância de uma imagem a partir de outras respectivas amostras ou valores de referência; detectar diferenças entre as amostras em um bloco e as respectivas amostras previstas; realizar separação de frequência das diferenças detectadas em relação a cada bloco para gerar um correspondente arranjo de coeficientes com frequência separada ordenados de acordo com as frequências espaciais representadas pelos coeficientes, um dos coeficientes representando um valor dc do bloco; e realizar codificação de entropia dos coeficientes com frequência separada usando um código aritmético adaptável ao contexto que codifica coeficientes em relação a variáveis de contexto indicativas da probabilidade de um coeficiente ter um valor de coeficiente em particular; em que a etapa de codificação de entropia compreende: particionar cada arranjo em dois ou mais grupos de coeficiente, os grupos sendo subarranjos não quadrados; e gerar uma alocação de variáveis de contexto para codificar respectivos coeficientes gerados em relação a um subarranjo não quadrado de acordo com as frequências espaciais representadas por este coeficiente, pela repetição da posição de alocações de variável de contexto aplicáveis a um subarranjo quadrado, mas não repetição da posição de alocação de uma variável de contexto no coeficiente dc. 16. Um método, de acordo com a cláusula 15, em que, em relação ao bloco não quadrado, a variável de contexto alocada no coeficiente dc não é alocada em nenhum outro coeficiente. 17. Software de computador, que, quando executado por um computador, faz com que o computador realize um método de acordo com qualquer uma das cláusulas anteriores. 18. Uma mídia de armazenamento não temporário legível por máquina, que armazena software de acordo com a cláusula 17. 19. Um sinal de dados, que compreende dados codificados gerados de acordo com o método de qualquer uma das cláusulas 1 a 16. 20. Aparelho de codificação de dados de vídeo, que compreende: um previsor configurado para prever blocos de amostras de luminância e/ou de crominância de uma imagem a partir de outras respectivas amostras ou valores de referência; um detector configurado para detectar diferenças entre as amostras em um bloco e as respectivas amostras previstas; uma unidade de transformação configurada para realizar separação de frequência das diferenças detectadas em relação a cada bloco para gerar um correspondente arranjo de coeficientes com frequência separada ordenados de acordo com frequências espaciais crescentes representadas pelos coeficientes; e um codificador de entropia configurado para realizar codificação de entropia dos coeficientes com frequência separada usando um código aritmético adaptável ao contexto que codifica coeficientes em relação a variáveis de contexto indicativas da probabilidade de um coeficiente ter um valor de coeficiente em particular; em que: o codificador de entropia é configurado para particionar cada arranjo em dois ou mais grupos de coeficiente, os grupos sendo subarranjos não quadrados, e para selecionar uma variável de contexto para codificar um coeficiente de acordo com as frequências espaciais representadas por este coeficiente e na dependência dos valores de coeficientes em um ou mais grupos de coeficientes nas proximidades deste arranjo ou um arranjo correspondente a um bloco de amostras vizinho. 21. Aparelho de codificação de dados de vídeo, que compreende: um previsor configurado para prever blocos de amostras de luminância e/ou de crominância de uma imagem a partir de outras respectivas amostras ou valores de referência; um detector configurado para detectar diferenças entre as amostras em um bloco e as respectivas amostras previstas; uma unidade de transformação configurada para realizar separação de frequência das diferenças detectadas em relação a cada bloco para gerar um correspondente arranjo de coeficientes com frequência separada ordenados de acordo com as frequências espaciais representadas pelos coeficientes, um dos coeficientes representando um valor dc do bloco; e um codificador de entropia configurado para realizar codificação de entropia dos coeficientes com frequência separada usando um código aritmético adaptável ao contexto que codifica coeficientes em relação a variáveis de contexto indicativas da probabilidade de um coeficiente ter um valor de coeficiente em particular; em que o codificador de entropia é configurado para particionar cada arranjo em dois ou mais grupos de coeficiente, os grupos sendo subarranjos não quadrados, e para gerar uma alocação de variáveis de contexto para codificar respectivos coeficientes gerados em relação a um subarranjo não quadrado de acordo com as frequências espaciais representadas por este coeficiente, pela repetição da posição de alocações de variável de contexto aplicáveis a um subarranjo quadrado, mas não repetição da posição de alocação de uma variável de contexto no coeficiente dc. 22. Aparelho de armazenamento, transmissão, captura ou exibição de vídeo, que compreende o aparelho de acordo com a cláusula 21 ou a cláusula 22.
[000425] Respectivas modalidades adicionais são definidas pelas seguintes cláusulas numeradas: 1. Um método de codificação ou de decodificação de vídeo, em que amostras de luminância e de crominância de uma imagem são previstas a partir de outras respectivas amostras de referência derivadas a partir da mesma imagem de acordo com um modo de previsão associado com uma amostra a ser prevista, as amostras de crominância representando primeiro e segundo componentes de crominância; o método compreendendo: selecionar, para pelo menos algumas amostras, o mesmo modo de previsão para cada um dos componentes de luminância e de crominância correspondentes a uma região da imagem. 2. Um método de codificação ou de decodificação de vídeo, em que amostras de luminância e de crominância de uma imagem são previstas a partir de outras respectivas amostras de referência derivadas a partir da mesma imagem de acordo com um modo de previsão associado com uma amostra a ser prevista, as amostras de crominância representando primeiro e segundo componentes de crominância; o método compreendendo: selecionar, para pelo menos algumas amostras, diferentes respectivos modos de previsão para cada um dos componentes de luminância e de crominância correspondentes a uma região da imagem. 3. Um método, de acordo com a cláusula 1 ou a cláusula 2, que compreende a etapa de: selecionar tanto o mesmo modo de previsão quanto diferentes respectivos modos de previsão para cada um dos componentes de luminância e de crominância correspondentes a uma região da imagem, a seleção sendo feita de acordo com uma sequência de imagem, uma imagem ou uma região de uma imagem. 4. Um método, de acordo com a cláusula 3, que compreende, para uma operação de codificação: realizar uma primeira codificação de teste de uma região da imagem usando o mesmo modo de previsão para os componentes de luminância e de crominância; realizar uma segunda codificação de teste desta região da imagem usando diferentes respectivos modos de previsão para os componentes de luminância e de crominância; e selecionar tanto o mesmo modo de previsão quanto diferentes respectivos modos de previsão para uso em relação a uma sequência de figura, uma figura ou uma região de uma figura com base nos dados codificados pelas primeira e segunda codificações de teste. 5. Um método, de acordo com a cláusula 4, que compreende a etapa de: detectar uma ou mais propriedades predeterminadas dos dados codificados pelas primeira e segunda codificações de teste; e selecionar tanto o mesmo modo de previsão quanto diferentes respectivos modos de previsão para uso em relação a uma sequência de figura, uma figura ou uma região de uma figura com base em uma ou mais propriedades detectadas. 6. Um método, de acordo com a cláusula 5, em que as uma ou mais propriedades compreendem propriedades selecionadas a partir do conjunto que consiste em: ruído da imagem; distorção da imagem; e quantidade de dados da imagem. 7. Um método, de acordo com qualquer uma das cláusulas 4 a 6, em que a seleção é feita para fatias de imagem ou blocos de imagem individuais. 8. Um método, de acordo com qualquer uma das cláusulas 4 a 7, que compreende: associar informação com o sinal de vídeo codificado que indica: se os mesmos modos de previsão ou diferentes modos de previsão são usados; e no caso em que o mesmo modo de previsão for usado, uma identificação deste modo de previsão individual; ou no caso em que diferentes respectivos modos de previsão forem usados, uma identificação destes diferentes respectivos modos de previsão. 9. Um método, de acordo com qualquer uma das cláusulas 1 a 3, em que, para uma operação de decodificação, o método compreende: [000426] detectar informação associada com dados de vídeo para decodificação, a informação definindo se o mesmo modo de previsão ou diferentes modos de previsão são associados com os dados de vídeo para decodificação. 10. Um método, de acordo com qualquer uma das cláusulas anteriores, em que a imagem forma parte de um sinal de vídeo 4:2:2 ou 4:4:4. 11. Software de computador, que, quando executado por um computador, faz com que o computador realize um método de acordo com qualquer uma das cláusulas anteriores. 12. Uma mídia de armazenamento não temporário legível por máquina, que armazena software de acordo com a cláusula 11. 13. Um sinal de dados, que compreende dados codificados gerados de acordo com o método de qualquer uma das cláusulas 1 a 10. 14. Um aparelho de codificação ou decodificação de vídeo, em que amostras de luminância e de crominância de uma imagem são previstas a partir de outras respectivas amostras de referência derivadas a partir da mesma imagem de acordo com um modo de previsão associado com uma amostra a ser prevista, as amostras de crominância representando primeiro e segundo componentes de crominância; o aparelho compreendendo um controlador configurado para selecionar, para pelo menos algumas amostras, o mesmo modo de previsão para cada um dos componentes de luminância e de crominância correspondentes a uma região da imagem. 15. Um aparelho de codificação ou decodificação de vídeo, em que amostras de luminância e de crominância de uma imagem são previstas a partir de outras respectivas amostras de referência derivadas a partir da mesma imagem de acordo com um modo de previsão associado com uma amostra a ser prevista, as amostras de crominância representando primeiro e segundo componentes de crominância; o aparelho compreendendo um controlador configurado para selecionar, para pelo menos algumas amostras, diferentes respectivos modos de previsão para cada um dos componentes de luminância e de crominância correspondentes a uma região da imagem. 16. Aparelho, de acordo com a cláusula 14 ou a cláusula 15, em que o controlador é configurado para selecionar tanto o mesmo modo de previsão quanto diferentes respectivos modos de previsão para cada um dos componentes de luminância e de crominância correspondentes a uma região da imagem, de acordo com uma sequência de imagem, uma imagem ou uma região de uma imagem. 17. Aparelho de armazenamento, transmissão, captura ou exibição de vídeo, que compreende o aparelho de acordo com qualquer uma das cláusulas 14 a 16.
Claims (10)
1. Aparelho para decodificação de dados de vídeo em que diferenças entre amostras previstas e originais passam por separação de frequência, usando uma transformação de separação de frequência, e são codificadas, caracterizado pelo fato de que compreende: um previsor (530) configurado para prever amostras de luminância e/ou de crominância de uma imagem a partir de outras respectivas amostras de referência derivadas a partir da mesma imagem de acordo com um modo de previsão associado com uma amostra a ser prevista, o modo de previsão sendo selecionado para cada um de uma pluralidade de blocos de amostras a partir de um conjunto de dois ou mais modos de previsão candidatos numerados; um seletor (1620) configurado para selecionar, para a previsão de amostras de luminância, um padrão de escaneamento a partir de um conjunto de dois ou mais padrões de escaneamento candidatos, cada padrão de escaneamento definindo uma ordem de codificação do conjunto de coeficientes com frequência separada, na dependência do modo de previsão para este bloco de amostras, usando um mapeamento entre padrão de escaneamento e modo de previsão, em que o seletor é configurado para selecionar um padrão de escaneamento horizontal com relação a um conjunto de modos de previsão em um número de modo limite de um modo de previsão vertical, para selecionar um padrão de escaneamento vertical com relação a um conjunto de modos de previsão em um número de modo limite de um modo de previsão horizontal, e para selecionar um padrão de escaneamento diagonal com relação a outros modos de previsão, o seletor sendo configurado para aplicar um mapeamento diferente entre padrões de escaneamento e modos de previsão para amostras de crominância, o mapeamento diferente usando um conjunto de padrões de escaneamento candidatos consistindo apenas do padrão de escaneamento horizontal e do padrão de escaneamento vertical; e um decodificador configurado para decodificar dados de diferença com frequência separada que representam uma versão com frequência separada dos dados indicativos das diferenças entre as amostras a serem decodificadas e respectivas amostras previstas, em uma ordem dos coeficientes com frequência separada de acordo com o padrão de escaneamento selecionado.
2. Aparelho, de acordo com a reivindicação 1, caracterizado pelo fato de que o modo de previsão associado com um bloco de amostras a ser previsto indica uma direção da previsão que define uma ou mais outras respectivas amostras de referência a partir das quais cada amostra deste bloco deve ser prevista, e havendo um mapeamento entre o modo de previsão e o padrão de escaneamento, em que os dados de vídeo compreendem dados de vídeo 4:2:2 e/ou 4:4:4 e o mapeamento é diferente para dados de luminância 4:2:2 e de crominância 4:2:2.
3. Aparelho para codificação de dados de vídeo em que diferenças entre amostras previstas e originais passam por separação de frequência, usando uma transformação de separação de frequência,e são codificadas, caracterizado pelo fato de que compreende: um previsor (530) configurado para prever amostras de luminância e/ou de crominância de uma imagem a partir de outras respectivas amostras de referência derivadas a partir da mesma imagem de acordo com um modo de previsão associado com uma amostra a ser prevista, o modo de previsão sendo selecionado para cada um de uma pluralidade de blocos de amostras a partir de um conjunto de dois ou mais modos de previsão candidatos numerados; um detector (530) configurado para detectar diferenças entre as amostras e as respectivas amostras previstas; uma unidade de transformação (1710) configurada para realizar separação de frequência das diferenças detectadas para um bloco de amostras, usando uma transformação de separação de frequência, para gerar um correspondente conjunto de coeficientes com frequência separada; um seletor (1700) configurado para selecionar, para a previsão de amostras de luminância, um padrão de escaneamento a partir de um conjunto de dois ou mais padrões de escaneamento candidatos, cada padrão de escaneamento definindo uma ordem de codificação do conjunto de coeficientes com frequência separada, na dependência do modo de previsão para este bloco de amostras em que o seletor é configurado para selecionar um padrão de escaneamento horizontal com relação a um conjunto de modos de previsão em um número de modo limite de um modo de previsão vertical, para selecionar um padrão de escaneamento vertical com relação a um conjunto de modos de previsão em um número de modo limite de um modo de previsão horizontal, e para selecionar um padrão de escaneamento diagonal com relação a outros modos de previsão, o seletor sendo configurado para aplicar um mapeamento diferente entre padrões de escaneamento e modos de previsão para amostras de crominância, o mapeamento diferente usando um conjunto de padrões de escaneamento candidatos consistindo apenas do padrão de escaneamento horizontal e do padrão de escaneamento vertical; e um codificador configurado para codificar os dados de diferença com frequência separada em uma ordem dos coeficientes com frequência separada de acordo com o padrão de escaneamento selecionado.
4. Método de codificação de dados de vídeo em que diferenças entre amostras previstas e originais passam por separação de frequência e são codificadas, caracterizado pelo fato de que compreende: prever amostras de luminância e/ou de crominância de uma imagem a partir de outras respectivas amostras de referência derivadas a partir da mesma imagem de acordo com um modo de previsão associado com uma amostra a ser prevista, o modo de previsão sendo selecionado para cada um de uma pluralidade de blocos de amostras a partir de um conjunto de dois ou mais modos de previsão candidatos numerados; detectar diferenças entre as amostras e as respectivas amostras previstas; realizar separação de frequência das diferenças detectadas para um bloco de amostras, usando uma transformação de separação de frequência, para gerar um correspondente conjunto de coeficientes com frequência separada; selecionar, para a previsão de amostras de luminância, um padrão de escaneamento a partir de um conjunto de dois ou mais padrões de escaneamento candidatos, cada padrão de escaneamento definindo uma ordem de codificação do conjunto de coeficientes com frequência separada, na dependência do modo de previsão para este bloco de amostras, usando um mapeamento entre padrão de escaneamento e modo de previsão, em que a etapa de seleção é configurada para selecionar um padrão de escaneamento horizontal com relação a um conjunto de modos de previsão em um número de modo limite de um modo de previsão vertical, para selecionar um padrão de escaneamento vertical com relação a um conjunto de modos de previsão em um número de modo limite de um modo de previsão horizontal, e para selecionar um padrão de escaneamento diagonal com relação a outros modos de previsão, a etapa de seleção compreendendo a seleção de um padrão de escaneamento de acordo com um mapeamento diferente entre padrões de escaneamento e modos de previsão para amostras de crominância, o mapeamento diferente usando um conjunto de padrões de escaneamento candidatos consistindo apenas do padrão de escaneamento horizontal e do padrão de escaneamento vertical; e codificar os dados de diferença com frequência separada em uma ordem dos coeficientes com frequência separada de acordo com o padrão de escaneamento selecionado.
5. Método, de acordo com a reivindicação 5, caracterizado pelo fato de que o modo de previsão associado com um bloco de amostras a ser previsto indica uma direção da previsão que define uma ou mais outras respectivas amostras de referência a partir das quais cada amostra deste bloco deve ser prevista.
6. Método, de acordo com a reivindicação 5 ou 6, caracterizado pelo fato de que compreende: prover o mapeamento entre o modo de previsão e o padrão de escaneamento.
7. Método, de acordo com a reivindicação 6, caracterizado pelo fato de que os dados de vídeo compreendem dados de vídeo 4:2:2 e/ou 4:4:4 e o mapeamento é diferente para dados de luminância 4:2:2 e de crominância 4:2:2.
8. Método, de acordo com a reivindicação 6 ou 7, caracterizado pelo fato de que os dados de vídeo compreendem dados de vídeo 4:2:2 e/ou 4:4:4 e o mapeamento é diferente para dados de vídeo 4:2:2 e 4:4:4.
9. Método de decodificação de dados de vídeo, em que diferenças entre amostras previstas e originais passam por separação de frequência, usando uma transformação de separação de frequência, e são codificadas, caracterizado pelo fato de que compreende: prever amostras de luminância e/ou de crominância de uma imagem a partir de outras respectivas amostras de referência derivadas a partir da mesma imagem de acordo com um modo de previsão associado com uma amostra a ser prevista, o modo de previsão sendo selecionado para cada um de uma pluralidade de blocos de amostras a partir de um conjunto de dois ou mais modos de previsão candidatos numerados; selecionar, para a previsão de amostras de luminância, um padrão de escaneamento a partir de um conjunto de dois ou mais padrões de escaneamento candidatos, cada padrão de escaneamento definindo uma ordem de codificação do conjunto de coeficientes com frequência separada, na dependência do modo de previsão para este bloco de amostras, usando um mapeamento entre padrão de escaneamento e modo de previsão, em que a etapa de seleção é configurada para selecionar um padrão de escaneamento horizontal com relação a um conjunto de modos de previsão em um número de modo limite de um modo de previsão vertical, para selecionar um padrão de escaneamento vertical com respeito a um conjunto de modos de previsão em um número de modo limite de um modo de previsão horizontal, e para selecionar um padrão de escaneamento diagonal com relação a outros modos de previsão, a etapa de seleção compreendendo a seleção de um padrão de escaneamento de acordo com um mapeamento diferente entre padrões de escaneamento e modos de previsão para amostras de crominância, o mapeamento diferente usando um conjunto de padrões de escaneamento candidatos consistindo apenas do padrão de escaneamento horizontal e do padrão de escaneamento vertical; e decodificar dados de diferença com frequência separada que representam uma versão com frequência separada dos dados indicativos das diferenças entre as amostras a serem decodificadas e respectivas amostras previstas, em uma ordem dos coeficientes com frequência separada de acordo com o padrão de escaneamento selecionado.
10. Aparelho de armazenamento, transmissão, captura ou exibição de vídeo, caracterizado pelo fato de que compreende o aparelho como definido na reivindicação 1 ou 3.
Applications Claiming Priority (9)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1207459.7 | 2012-04-26 | ||
GB1207459.7A GB2501535A (en) | 2012-04-26 | 2012-04-26 | Chrominance Processing in High Efficiency Video Codecs |
GB1211623.2A GB2501555A (en) | 2012-04-26 | 2012-06-29 | Selecting the Same or Different Prediction Modes for Luminance and Chrominance Samples of a Video Sequence Image |
GB1211628.1A GB2501556A (en) | 2012-04-26 | 2012-06-29 | Encoding / Decoding Video Data Using Selected Frequency Separation Transform in HEVC |
GB1211623.2 | 2012-06-29 | ||
GB1211628.1 | 2012-06-29 | ||
GB1211629.9A GB2501557A (en) | 2012-04-26 | 2012-06-29 | Entropy Encoding Frequency Separated Residuals in HEVC |
GB1211629.9 | 2012-06-29 | ||
PCT/GB2013/051071 WO2013160694A1 (en) | 2012-04-26 | 2013-04-26 | Mode-dependent coefficient scanning and directional transforms for different colour sampling formats |
Publications (3)
Publication Number | Publication Date |
---|---|
BR112014026021A2 BR112014026021A2 (pt) | 2017-06-27 |
BR112014026021A8 BR112014026021A8 (pt) | 2021-06-22 |
BR112014026021B1 true BR112014026021B1 (pt) | 2023-12-19 |
Family
ID=46330504
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
BR112014026021-4A BR112014026021B1 (pt) | 2012-04-26 | 2013-04-26 | Aparelhos e métodos para decodificação e codificação de dados de vídeo, e, aparelho de armazenamento, transmissão, captura ou exibição de vídeo |
BR112014026035-4A BR112014026035B1 (pt) | 2012-04-26 | 2013-04-26 | Métodos e aparelhos de decodificação e codificação de vídeo, meio de armazenamento não transitório legível por computador, e, aparelho de captura, exibição, transmissão, recepção e/ou armazenamento de vídeo |
BR112014026024A BR112014026024A8 (pt) | 2012-04-26 | 2013-04-26 | métodos e aparelhos de decodificação e codificação de vídeo, meio de armazenamento legível por máquina, sinal de dados, e, aparelho de armazenamento, transmissão, captura ou exibição de vídeo |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
BR112014026035-4A BR112014026035B1 (pt) | 2012-04-26 | 2013-04-26 | Métodos e aparelhos de decodificação e codificação de vídeo, meio de armazenamento não transitório legível por computador, e, aparelho de captura, exibição, transmissão, recepção e/ou armazenamento de vídeo |
BR112014026024A BR112014026024A8 (pt) | 2012-04-26 | 2013-04-26 | métodos e aparelhos de decodificação e codificação de vídeo, meio de armazenamento legível por máquina, sinal de dados, e, aparelho de armazenamento, transmissão, captura ou exibição de vídeo |
Country Status (13)
Country | Link |
---|---|
US (20) | US9948929B2 (pt) |
EP (8) | EP2842321A2 (pt) |
JP (11) | JP2015518339A (pt) |
KR (6) | KR101840025B1 (pt) |
CN (14) | CN104285445A (pt) |
AU (5) | AU2013254443A1 (pt) |
BR (3) | BR112014026021B1 (pt) |
CA (6) | CA2870591C (pt) |
GB (13) | GB2501535A (pt) |
MX (3) | MX343351B (pt) |
RU (4) | RU2603548C2 (pt) |
TW (5) | TWI611689B (pt) |
WO (9) | WO2013160656A2 (pt) |
Families Citing this family (213)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2549157C1 (ru) * | 2010-04-23 | 2015-04-20 | М энд К ХОЛДИНГС ИНК. | Устройство для кодирования движущегося изображения |
CN103283237B (zh) * | 2010-12-22 | 2017-03-22 | Lg电子株式会社 | 帧内预测方法和使用该方法的设备 |
US10645398B2 (en) * | 2011-10-25 | 2020-05-05 | Texas Instruments Incorporated | Sample-based angular intra-prediction in video coding |
EP2777250B1 (en) * | 2011-11-07 | 2017-05-31 | Intel Corporation | Cross-channel residual prediction |
GB2501535A (en) | 2012-04-26 | 2013-10-30 | Sony Corp | Chrominance Processing in High Efficiency Video Codecs |
US9591302B2 (en) * | 2012-07-02 | 2017-03-07 | Microsoft Technology Licensing, Llc | Use of chroma quantization parameter offsets in deblocking |
US9414054B2 (en) | 2012-07-02 | 2016-08-09 | Microsoft Technology Licensing, Llc | Control and use of chroma quantization parameter values |
AU2012232992A1 (en) | 2012-09-28 | 2014-04-17 | Canon Kabushiki Kaisha | Method, apparatus and system for encoding and decoding the transform units of a coding unit |
US9667994B2 (en) | 2012-10-01 | 2017-05-30 | Qualcomm Incorporated | Intra-coding for 4:2:2 sample format in video coding |
RU2641223C2 (ru) * | 2012-11-08 | 2018-01-16 | Кэнон Кабусики Кайся | Способ, устройство и система для кодирования и декодирования единиц преобразования единицы кодирования |
US9743091B2 (en) | 2012-12-17 | 2017-08-22 | Lg Electronics Inc. | Method for encoding/decoding image, and device using same |
JP6005572B2 (ja) * | 2013-03-28 | 2016-10-12 | Kddi株式会社 | 動画像符号化装置、動画像復号装置、動画像符号化方法、動画像復号方法、およびプログラム |
HUE056673T2 (hu) | 2013-03-29 | 2022-02-28 | Jvckenwood Corp | Képdekódoló készülék, képdekódoló eljárás és képdekódoló program |
AU2013202653A1 (en) * | 2013-04-05 | 2014-10-23 | Canon Kabushiki Kaisha | Method, apparatus and system for generating intra-predicted samples |
GB2513111A (en) | 2013-04-08 | 2014-10-22 | Sony Corp | Data encoding and decoding |
WO2014166965A1 (en) * | 2013-04-08 | 2014-10-16 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Inter-component prediction |
GB2513110A (en) | 2013-04-08 | 2014-10-22 | Sony Corp | Data encoding and decoding |
WO2014166381A1 (en) | 2013-04-09 | 2014-10-16 | Mediatek Singapore Pte. Ltd. | Method and apparatus for non-square intra mode coding |
US9686561B2 (en) * | 2013-06-17 | 2017-06-20 | Qualcomm Incorporated | Inter-component filtering |
EP3021578B1 (en) * | 2013-07-10 | 2019-01-02 | KDDI Corporation | Sub-sampling of reference pixels for chroma prediction based on luma intra prediction mode |
NZ715990A (en) * | 2013-07-24 | 2019-11-29 | Microsoft Technology Licensing Llc | Scanning orders for non-transform coding |
US9294766B2 (en) * | 2013-09-09 | 2016-03-22 | Apple Inc. | Chroma quantization in video coding |
US9813737B2 (en) * | 2013-09-19 | 2017-11-07 | Blackberry Limited | Transposing a block of transform coefficients, based upon an intra-prediction mode |
KR101530774B1 (ko) | 2013-09-30 | 2015-06-22 | 연세대학교 산학협력단 | 영상 부호화 및 복호화 방법, 장치 및 시스템 |
RU2654129C2 (ru) | 2013-10-14 | 2018-05-16 | МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи | Функциональные возможности режима внутреннего предсказания с блочным копированием для кодирования и декодирования видео и изображений |
EP3058736B1 (en) | 2013-10-14 | 2019-02-27 | Microsoft Technology Licensing, LLC | Encoder-side options for intra block copy prediction mode for video and image coding |
JP6336058B2 (ja) | 2013-10-14 | 2018-06-06 | マイクロソフト テクノロジー ライセンシング,エルエルシー | ビデオ及び画像符号化及び復号のためのベースカラーインデックスマップモードの機能 |
KR101530782B1 (ko) | 2013-12-03 | 2015-06-22 | 연세대학교 산학협력단 | 영상 부호화 및 복호화 방법, 장치 및 시스템 |
EP3041235A4 (en) * | 2013-12-27 | 2017-03-22 | Sony Corporation | Image processing device and method |
US10390034B2 (en) | 2014-01-03 | 2019-08-20 | Microsoft Technology Licensing, Llc | Innovations in block vector prediction and estimation of reconstructed sample values within an overlap area |
RU2669005C2 (ru) | 2014-01-03 | 2018-10-05 | МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи | Предсказание вектора блока в кодировании/декодировании видео и изображений |
US10368097B2 (en) * | 2014-01-07 | 2019-07-30 | Nokia Technologies Oy | Apparatus, a method and a computer program product for coding and decoding chroma components of texture pictures for sample prediction of depth pictures |
US11284103B2 (en) | 2014-01-17 | 2022-03-22 | Microsoft Technology Licensing, Llc | Intra block copy prediction with asymmetric partitions and encoder-side search patterns, search ranges and approaches to partitioning |
US10542274B2 (en) | 2014-02-21 | 2020-01-21 | Microsoft Technology Licensing, Llc | Dictionary encoding and decoding of screen content |
JP5897159B2 (ja) | 2014-02-25 | 2016-03-30 | キヤノン株式会社 | 表示装置及びその制御方法 |
JP6504174B2 (ja) * | 2014-03-03 | 2019-04-24 | ソニー株式会社 | 装置及び方法 |
CA2939431C (en) | 2014-03-04 | 2020-09-22 | Microsoft Techology Licensing, Llc | Block flipping and skip mode in intra block copy prediction |
JP6731574B2 (ja) * | 2014-03-06 | 2020-07-29 | パナソニックIpマネジメント株式会社 | 動画像符号化装置および動画像符号化方法 |
US10171823B2 (en) * | 2014-05-26 | 2019-01-01 | Sharp Kabushiki Kaisha | Image decoding device and image coding device |
US10715833B2 (en) * | 2014-05-28 | 2020-07-14 | Apple Inc. | Adaptive syntax grouping and compression in video data using a default value and an exception value |
US10142642B2 (en) | 2014-06-04 | 2018-11-27 | Qualcomm Incorporated | Block adaptive color-space conversion coding |
KR102413529B1 (ko) | 2014-06-19 | 2022-06-24 | 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 | 통합된 인트라 블록 카피 및 인터 예측 모드 |
US10567755B2 (en) | 2014-07-06 | 2020-02-18 | Lg Electronics Inc. | Method for processing video signal, and apparatus therefor |
WO2016049839A1 (en) | 2014-09-30 | 2016-04-07 | Microsoft Technology Licensing, Llc | Rules for intra-picture prediction modes when wavefront parallel processing is enabled |
GB2532420A (en) | 2014-11-18 | 2016-05-25 | Sony Corp | Data encoding and decoding |
US9591325B2 (en) | 2015-01-27 | 2017-03-07 | Microsoft Technology Licensing, Llc | Special case handling for merged chroma blocks in intra block copy prediction mode |
EP3051818A1 (en) | 2015-01-30 | 2016-08-03 | Thomson Licensing | Method and device for decoding a color picture |
US10057587B2 (en) * | 2015-01-31 | 2018-08-21 | Qualcomm Incorporated | Coding escape pixels for palette mode coding |
CN107211149A (zh) * | 2015-02-05 | 2017-09-26 | 联发科技股份有限公司 | 调色板语法的解码操作装置与方法 |
CN107251558B (zh) * | 2015-02-27 | 2019-12-31 | Kddi株式会社 | 编码装置以及解码装置 |
US10291932B2 (en) * | 2015-03-06 | 2019-05-14 | Qualcomm Incorporated | Method and apparatus for low complexity quarter pel generation in motion search |
WO2016145162A2 (en) * | 2015-03-12 | 2016-09-15 | NGCodec Inc. | Intra-picture prediction processor with progressive block size computations and dual stage computations |
US10362305B2 (en) * | 2015-03-27 | 2019-07-23 | Sony Corporation | Image processing device, image processing method, and recording medium |
RU2684193C1 (ru) * | 2015-05-21 | 2019-04-04 | Хуавэй Текнолоджиз Ко., Лтд. | Устройство и способ для компенсации движения в видеоизображении |
WO2016200984A1 (en) * | 2015-06-08 | 2016-12-15 | Vid Scale, Inc. | Intra block copy mode for screen content coding |
CN106664405B (zh) | 2015-06-09 | 2020-06-09 | 微软技术许可有限责任公司 | 用调色板模式对经逸出编码的像素的稳健编码/解码 |
FR3038484B1 (fr) * | 2015-07-01 | 2017-07-28 | Ateme | Procede d'encodage d'image et equipement pour la mise en oeuvre du procede |
ES2677193B1 (es) | 2015-08-28 | 2019-06-19 | Kt Corp | Procedimiento y dispositivo para procesar señales de vídeo |
WO2017041271A1 (en) * | 2015-09-10 | 2017-03-16 | Mediatek Singapore Pte. Ltd. | Efficient context modeling for coding a block of data |
WO2017043786A1 (ko) * | 2015-09-10 | 2017-03-16 | 엘지전자 주식회사 | 비디오 코딩 시스템에서 인트라 예측 방법 및 장치 |
WO2017073362A1 (ja) * | 2015-10-30 | 2017-05-04 | ソニー株式会社 | 画像処理装置および方法 |
WO2017084577A1 (en) | 2015-11-18 | 2017-05-26 | Mediatek Inc. | Method and apparatus for intra prediction mode using intra prediction filter in video and image compression |
US10194170B2 (en) * | 2015-11-20 | 2019-01-29 | Mediatek Inc. | Method and apparatus for video coding using filter coefficients determined based on pixel projection phase |
KR20180075660A (ko) * | 2015-11-24 | 2018-07-04 | 삼성전자주식회사 | 비디오 복호화 방법 및 그 장치 및 비디오 부호화 방법 및 그 장치 |
US20170150186A1 (en) * | 2015-11-25 | 2017-05-25 | Qualcomm Incorporated | Flexible transform tree structure in video coding |
CN108702508B (zh) | 2016-02-12 | 2023-04-11 | 交互数字Vc控股公司 | 用于帧内预测编码/解码的方法和设备 |
RU2707719C1 (ru) | 2016-02-12 | 2019-11-28 | Хуавей Текнолоджиз Ко., Лтд. | Способ и устройство выбора порядка сканирования |
KR102159252B1 (ko) | 2016-02-12 | 2020-10-14 | 후아웨이 테크놀러지 컴퍼니 리미티드 | 스캔 순서 선택을 위한 방법 및 장치 |
EP3220643A1 (en) * | 2016-03-14 | 2017-09-20 | Thomson Licensing | Method and device for encoding at least one image unit, and method and device for decoding a stream representative of at least one image unit |
US10455228B2 (en) * | 2016-03-21 | 2019-10-22 | Qualcomm Incorporated | Determining prediction parameters for non-square blocks in video coding |
US20170332103A1 (en) * | 2016-05-13 | 2017-11-16 | Intel Corporation | Interleaving luma and chroma coefficients to reduce the intra prediction loop dependency in video encoders and decoders |
WO2017205700A1 (en) * | 2016-05-25 | 2017-11-30 | Arris Enterprises Llc | Binary, ternary and quad tree partitioning for jvet coding of video data |
EP4199515A1 (en) * | 2016-05-27 | 2023-06-21 | SHARP Kabushiki Kaisha | Systems and methods for varying quantization parameters |
PL3731527T3 (pl) * | 2016-05-28 | 2023-01-09 | Hfi Innovation Inc. | Sposób i urządzenie do kodowania w trybie palety dla danych kolorowego wideo |
CN114222139A (zh) * | 2016-05-28 | 2022-03-22 | 世宗大学校产学协力团 | 视频信号的解码方法 |
US11039147B2 (en) | 2016-05-28 | 2021-06-15 | Mediatek Inc. | Method and apparatus of palette mode coding for colour video data |
US10687003B2 (en) | 2016-08-04 | 2020-06-16 | Omnivision Technologies, Inc. | Linear-logarithmic image sensor |
US10326986B2 (en) | 2016-08-15 | 2019-06-18 | Qualcomm Incorporated | Intra video coding using a decoupled tree structure |
US10368107B2 (en) | 2016-08-15 | 2019-07-30 | Qualcomm Incorporated | Intra video coding using a decoupled tree structure |
US10652575B2 (en) * | 2016-09-15 | 2020-05-12 | Qualcomm Incorporated | Linear model chroma intra prediction for video coding |
ES2711473R1 (es) * | 2016-09-20 | 2021-04-07 | Kt Corp | Metodo y aparato para procesar una senal de video |
WO2018062921A1 (ko) * | 2016-09-30 | 2018-04-05 | 엘지전자 주식회사 | 영상 코딩 시스템에서 블록 분할 및 인트라 예측 방법 및 장치 |
US10506228B2 (en) * | 2016-10-04 | 2019-12-10 | Qualcomm Incorporated | Variable number of intra modes for video coding |
US10341659B2 (en) * | 2016-10-05 | 2019-07-02 | Qualcomm Incorporated | Systems and methods of switching interpolation filters |
WO2018079888A1 (ko) * | 2016-10-28 | 2018-05-03 | 엘지전자(주) | 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치 |
CN116647677A (zh) | 2016-10-28 | 2023-08-25 | 韩国电子通信研究院 | 视频编码/解码方法和设备以及存储比特流的记录介质 |
US10192295B2 (en) * | 2016-11-09 | 2019-01-29 | AI Analysis, Inc. | Methods and systems for normalizing images |
US10609367B2 (en) * | 2016-12-21 | 2020-03-31 | Qualcomm Incorporated | Low-complexity sign prediction for video coding |
KR102327944B1 (ko) * | 2016-12-23 | 2021-11-17 | 후아웨이 테크놀러지 컴퍼니 리미티드 | 미리 결정된 방향성 인트라 예측 모드들의 세트로부터 방향성 인트라 예측 모드를 제거하기 위한 인트라 예측 장치 |
CN115633170A (zh) * | 2016-12-23 | 2023-01-20 | 华为技术有限公司 | 一种用于矩形视频编码块的解码方法、装置及计算机可读存储介质 |
EP3535972B1 (en) * | 2016-12-23 | 2020-11-18 | Huawei Technologies Co., Ltd. | An intra-prediction apparatus for extending a set of predetermined directional intra-prediction modes |
US11025903B2 (en) * | 2017-01-13 | 2021-06-01 | Qualcomm Incorporated | Coding video data using derived chroma mode |
CN116684603A (zh) * | 2017-03-31 | 2023-09-01 | 松下电器(美国)知识产权公司 | 图像编码装置、图像解码装置及存储介质 |
AU2018252853A1 (en) * | 2017-04-13 | 2019-12-05 | Lg Electronics Inc. | Image encoding/decoding method and device therefor |
CN114422780A (zh) * | 2017-04-28 | 2022-04-29 | 夏普株式会社 | 图像解码装置以及图像编码装置 |
CN108989820B (zh) * | 2017-06-03 | 2022-07-05 | 上海天荷电子信息有限公司 | 各阶段采用各自相应色度采样格式的数据压缩方法和装置 |
RU2759218C2 (ru) * | 2017-06-21 | 2021-11-11 | Вид Скейл, Инк. | Адаптивное квантование для кодирования 360-градусного видео |
CN117560488A (zh) * | 2017-07-06 | 2024-02-13 | Lx 半导体科技有限公司 | 图像编码/解码方法、发送方法和数字存储介质 |
US10567772B2 (en) * | 2017-07-11 | 2020-02-18 | Google Llc | Sub8×8 block processing |
CN109274969B (zh) * | 2017-07-17 | 2020-12-22 | 华为技术有限公司 | 色度预测的方法和设备 |
WO2019027241A1 (ko) * | 2017-07-31 | 2019-02-07 | 한국전자통신연구원 | 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체 |
CN107483934B (zh) * | 2017-08-17 | 2019-12-10 | 西安万像电子科技有限公司 | 编解码方法、装置和*** |
JP2021005741A (ja) * | 2017-09-14 | 2021-01-14 | シャープ株式会社 | 画像符号化装置及び画像復号装置 |
RU2669874C1 (ru) * | 2017-09-15 | 2018-10-16 | Федеральное государственное унитарное предприятие "Государственный научно-исследовательский институт авиационных систем" (ФГУП "ГосНИИАС") | Способы и устройство сжатия изображений. Способ и устройство восстановления изображений |
KR20190033457A (ko) | 2017-09-21 | 2019-03-29 | 주식회사 케이티 | 비디오 신호 처리 방법 및 장치 |
CN118042095A (zh) * | 2017-10-09 | 2024-05-14 | 诺基亚技术有限公司 | 用于视频编码和解码的装置、方法和计算机程序 |
US10812798B2 (en) * | 2017-10-19 | 2020-10-20 | Qualcomm Incorporated | Chroma quantization parameter (QP) offset |
US10368071B2 (en) * | 2017-11-03 | 2019-07-30 | Arm Limited | Encoding data arrays |
EP3490253A1 (en) * | 2017-11-23 | 2019-05-29 | Thomson Licensing | Encoding and decoding methods and corresponding devices |
CN108063947B (zh) * | 2017-12-14 | 2021-07-13 | 西北工业大学 | 一种基于像素纹理的无损参考帧压缩方法 |
US10986349B2 (en) | 2017-12-29 | 2021-04-20 | Microsoft Technology Licensing, Llc | Constraints on locations of reference blocks for intra block copy prediction |
US11825117B2 (en) | 2018-01-15 | 2023-11-21 | Samsung Electronics Co., Ltd. | Encoding method and apparatus therefor, and decoding method and apparatus therefor |
GB2570711B (en) * | 2018-02-05 | 2023-04-05 | Sony Corp | Data encoding and decoding |
US11069026B2 (en) | 2018-03-02 | 2021-07-20 | Mediatek Inc. | Method for processing projection-based frame that includes projection faces packed in cube-based projection layout with padding |
US10922783B2 (en) | 2018-03-02 | 2021-02-16 | Mediatek Inc. | Cube-based projection method that applies different mapping functions to different square projection faces, different axes, and/or different locations of axis |
CN116366844A (zh) | 2018-03-09 | 2023-06-30 | 韩国电子通信研究院 | 使用样点滤波的图像编码/解码方法和设备 |
JP6982525B2 (ja) * | 2018-03-16 | 2021-12-17 | Kddi株式会社 | 動画像の符号化装置および方法、復号装置および方法ならびに符号化復号システム |
CN118301330A (zh) | 2018-03-25 | 2024-07-05 | 有限公司B1影像技术研究所 | 图像编码/解码方法、存储介质和传输比特流的方法 |
US11336919B2 (en) * | 2018-03-30 | 2022-05-17 | Sony Corporation | Image processing apparatus and method |
JP7073495B2 (ja) * | 2018-04-01 | 2022-05-23 | エルジー エレクトロニクス インコーポレイティド | 量子化パラメータ導出に基づく映像コーディング装置及び方法 |
WO2019194147A1 (en) | 2018-04-02 | 2019-10-10 | Sharp Kabushiki Kaisha | Systems and methods for deriving quantization parameters for video blocks in video coding |
US11259023B2 (en) * | 2018-04-12 | 2022-02-22 | Qualcomm Incorporated | Harmonization of transform-based quantization and dynamic range adjustment scale derivation in video coding |
WO2019209028A1 (ko) * | 2018-04-24 | 2019-10-31 | 삼성전자 주식회사 | 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치 |
US11449256B2 (en) | 2018-05-15 | 2022-09-20 | Samsung Electronics Co., Ltd. | Method for accelerating image storing and retrieving differential latency storage devices based on access rates |
US10949087B2 (en) | 2018-05-15 | 2021-03-16 | Samsung Electronics Co., Ltd. | Method for rapid reference object storage format for chroma subsampled images |
WO2019234605A1 (en) * | 2018-06-05 | 2019-12-12 | Beijing Bytedance Network Technology Co., Ltd. | Extended quad-tree with asymmetric sub-blocks and different tree for chroma |
KR20230127354A (ko) * | 2018-06-29 | 2023-08-31 | 후아웨이 테크놀러지 컴퍼니 리미티드 | 인트라-예측을 위한 디바이스 및 방법 |
US10284844B1 (en) | 2018-07-02 | 2019-05-07 | Tencent America LLC | Method and apparatus for video coding |
US10382772B1 (en) | 2018-07-02 | 2019-08-13 | Tencent America LLC | Method and apparatus for video coding |
CN112425161A (zh) | 2018-07-11 | 2021-02-26 | 英迪股份有限公司 | 基于帧内预测的视频编码方法和装置 |
US11265579B2 (en) * | 2018-08-01 | 2022-03-01 | Comcast Cable Communications, Llc | Systems, methods, and apparatuses for video processing |
CA3109014C (en) * | 2018-08-09 | 2024-04-09 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | Video image component prediction method and apparatus, and computer storage medium |
WO2020036132A1 (ja) | 2018-08-15 | 2020-02-20 | 日本放送協会 | 画像符号化装置、画像復号装置、及びプログラム |
CN112771865A (zh) * | 2018-08-23 | 2021-05-07 | 交互数字Vc控股法国公司 | 使用参数化模型对量化矩阵进行编解码 |
CN110876061B (zh) * | 2018-09-03 | 2022-10-11 | 华为技术有限公司 | 色度块预测方法及装置 |
KR20200033195A (ko) | 2018-09-19 | 2020-03-27 | 한국전자통신연구원 | 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체 |
WO2020060077A1 (ko) * | 2018-09-20 | 2020-03-26 | 삼성전자 주식회사 | 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치 |
US10469845B1 (en) | 2018-09-21 | 2019-11-05 | Tencent America, Llc | Method and apparatus for intra mode coding |
CN112740276A (zh) * | 2018-09-23 | 2021-04-30 | 华为技术有限公司 | 用于帧内参考样本插值滤波器切换的方法和装置 |
US11303904B2 (en) * | 2018-09-28 | 2022-04-12 | Qualcomm Incorporated | Rectangular block transform scaling |
US11178397B2 (en) * | 2018-10-09 | 2021-11-16 | Mediatek Inc. | Method and apparatus of encoding or decoding using reference samples determined by predefined criteria |
US11140404B2 (en) * | 2018-10-11 | 2021-10-05 | Tencent America LLC | Method and apparatus for video coding |
CN112889277B (zh) * | 2018-10-22 | 2024-07-23 | 松下电器(美国)知识产权公司 | 编码装置、解码装置、编码方法和解码方法 |
WO2020085955A1 (en) * | 2018-10-26 | 2020-04-30 | Huawei Technologies Co., Ltd. | Method and apparatus for reference sample filtering |
WO2020094067A1 (en) | 2018-11-06 | 2020-05-14 | Beijing Bytedance Network Technology Co., Ltd. | Simplified parameter derivation for intra prediction |
WO2020094154A1 (en) * | 2018-11-09 | 2020-05-14 | Beijing Bytedance Network Technology Co., Ltd. | Improvements for region based adaptive loop filter |
WO2020098786A1 (en) * | 2018-11-16 | 2020-05-22 | Mediatek Inc. | Method and apparatus of luma-chroma separated coding tree coding with constraints |
US11438583B2 (en) * | 2018-11-27 | 2022-09-06 | Tencent America LLC | Reference sample filter selection in intra prediction |
KR20210084567A (ko) | 2018-11-28 | 2021-07-07 | 주식회사 윌러스표준기술연구소 | 화면 내 예측 필터링을 이용한 비디오 신호 처리 방법 및 장치 |
CN113170122B (zh) | 2018-12-01 | 2023-06-27 | 北京字节跳动网络技术有限公司 | 帧内预测的参数推导 |
CN113170169B (zh) * | 2018-12-07 | 2024-01-30 | 夏普株式会社 | 预测图像生成装置、运动图像解码装置、运动图像编码装置以及预测图像生成方法 |
CN116962710A (zh) * | 2018-12-15 | 2023-10-27 | 华为技术有限公司 | 图像重建方法和装置 |
JP2020098984A (ja) * | 2018-12-17 | 2020-06-25 | キヤノン株式会社 | 画像符号化装置及び画像復号装置及びそれらの制御方法及びプログラム |
CN116886927B (zh) * | 2018-12-21 | 2024-05-14 | 北京达佳互联信息技术有限公司 | 视频编码的方法和装置、存储介质和计算机程序产品 |
WO2020135346A1 (en) | 2018-12-23 | 2020-07-02 | Huawei Technologies Co., Ltd. | An encoder, a decoder and corresponding methods using an adaptive loop filter |
WO2020176635A1 (en) | 2019-02-27 | 2020-09-03 | Futurewei Technologies, Inc. | Adaptation parameter set identifier value spaces in video coding |
US20200288130A1 (en) * | 2019-03-07 | 2020-09-10 | Qualcomm Incorporated | Simplification of sub-block transforms in video coding |
CN117956147A (zh) * | 2019-03-08 | 2024-04-30 | 佳能株式会社 | 自适应环路滤波器 |
CN113545049B (zh) | 2019-03-08 | 2024-04-19 | 北京字节跳动网络技术有限公司 | 视频处理中对基于模型的整形的约束 |
AU2019201653A1 (en) * | 2019-03-11 | 2020-10-01 | Canon Kabushiki Kaisha | Method, apparatus and system for encoding and decoding a tree of blocks of video samples |
CN114143548B (zh) * | 2019-03-11 | 2023-02-14 | 北京达佳互联信息技术有限公司 | 视频编解码中变换系数的编解码 |
EP4351135A3 (en) * | 2019-03-24 | 2024-07-03 | Huawei Technologies Co., Ltd. | Method and apparatus for chroma intra prediction in video coding |
JP7480170B2 (ja) | 2019-03-25 | 2024-05-09 | オッポ広東移動通信有限公司 | 画像予測方法、エンコーダー、デコーダー及び記憶媒体 |
EP3935836A4 (en) | 2019-04-12 | 2022-06-08 | Beijing Bytedance Network Technology Co., Ltd. | INTRA PREDICTION CALCULATION BASED ON A MATRIX |
CN118175314A (zh) | 2019-04-16 | 2024-06-11 | Lg电子株式会社 | 解码和编码设备及发送用于图像的数据的设备 |
CN113767623B (zh) * | 2019-04-16 | 2024-04-02 | 北京字节跳动网络技术有限公司 | 用于视频编解码的自适应环路滤波 |
US10764507B1 (en) | 2019-04-18 | 2020-09-01 | Kneron (Taiwan) Co., Ltd. | Image processing system capable of generating a snapshot image with high image quality by using a zero-shutter-lag snapshot operation |
WO2020211869A1 (en) * | 2019-04-18 | 2020-10-22 | Beijing Bytedance Network Technology Co., Ltd. | Parameter derivation in cross component mode |
CN117579841A (zh) | 2019-04-23 | 2024-02-20 | 北京字节跳动网络技术有限公司 | 降低跨分量依赖性的方法 |
JP7368496B2 (ja) * | 2019-04-26 | 2023-10-24 | 華為技術有限公司 | クロマ量子化パラメータのマッピング関数のシグナリングのための方法及び装置 |
CN113785566A (zh) * | 2019-04-27 | 2021-12-10 | 韦勒斯标准与技术协会公司 | 基于帧内预测处理视频信号的方法和设备 |
WO2020224629A1 (en) | 2019-05-08 | 2020-11-12 | Beijing Bytedance Network Technology Co., Ltd. | Conditions for applicability of cross-component coding |
CN110266316B (zh) * | 2019-05-08 | 2023-02-21 | 创新先进技术有限公司 | 一种数据压缩、解压方法、装置和设备 |
JP7265040B2 (ja) | 2019-05-13 | 2023-04-25 | 北京字節跳動網絡技術有限公司 | 変換スキップ・モードのブロック寸法設定 |
WO2020228718A1 (en) * | 2019-05-13 | 2020-11-19 | Beijing Bytedance Network Technology Co., Ltd. | Interaction between transform skip mode and other coding tools |
CN113841397A (zh) * | 2019-05-15 | 2021-12-24 | 现代自动车株式会社 | 影像编码和解码方法及装置 |
CN117354528A (zh) | 2019-05-22 | 2024-01-05 | 北京字节跳动网络技术有限公司 | 基于子块使用变换跳过模式 |
WO2020239017A1 (en) | 2019-05-31 | 2020-12-03 | Beijing Bytedance Network Technology Co., Ltd. | One-step downsampling process in matrix-based intra prediction |
WO2020244610A1 (en) * | 2019-06-05 | 2020-12-10 | Beijing Bytedance Network Technology Co., Ltd. | Context determination for matrix-based intra prediction |
US11212545B2 (en) | 2019-06-07 | 2021-12-28 | Tencent America LLC | Method and apparatus for improved implicit transform selection |
CN114208175B (zh) | 2019-06-11 | 2023-06-13 | Lg电子株式会社 | 基于色度量化参数数据的图像解码方法及其设备 |
CN114208169A (zh) | 2019-06-11 | 2022-03-18 | Lg电子株式会社 | 用于色度分量的图像解码方法及其装置 |
TW202106017A (zh) * | 2019-06-21 | 2021-02-01 | 法商內數位Vc控股法國公司 | 用於視訊編碼及解碼的單一索引量化矩陣設計 |
CN113994697A (zh) | 2019-06-22 | 2022-01-28 | 北京字节跳动网络技术有限公司 | 色度残差缩放的语法元素 |
CN116866574A (zh) * | 2019-06-25 | 2023-10-10 | 日本放送协会 | 帧内预测装置、图像解码装置及程序 |
US11368693B2 (en) * | 2019-07-01 | 2022-06-21 | Sony Group Corporation | Forward and inverse quantization for point cloud compression using look-up tables |
KR20220004767A (ko) | 2019-07-05 | 2022-01-11 | 엘지전자 주식회사 | 루마 맵핑 기반 비디오 또는 영상 코딩 |
KR102660738B1 (ko) | 2019-07-07 | 2024-04-26 | 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 | 크로마 잔차 스케일링의 시그널링 |
WO2021023258A1 (en) | 2019-08-06 | 2021-02-11 | Beijing Bytedance Network Technology Co., Ltd. | Video region partition based on color format |
CN117395420A (zh) | 2019-08-15 | 2024-01-12 | 字节跳动有限公司 | 用于调色板逸出符号的熵编解码 |
KR20220044278A (ko) | 2019-08-15 | 2022-04-07 | 바이트댄스 아이엔씨 | 상이한 분할 구조들을 갖는 팔레트 모드 |
EP4018668A4 (en) * | 2019-08-23 | 2023-06-21 | Samsung Electronics Co., Ltd. | INTRA PREDICTION METHOD AND DEVICE USING IT, ENCODING AND DECODE METHOD AND DEVICE USING IT BASED ON INTRA PREDICTION |
CN114270842A (zh) * | 2019-08-27 | 2022-04-01 | 现代自动车株式会社 | 利用差分编码的视频编码和解码 |
EP4008106A4 (en) | 2019-09-02 | 2022-11-09 | Beijing Bytedance Network Technology Co., Ltd. | PARTITION OF A VIDEO ZONE ACCORDING TO A COLOR FORMAT |
WO2021051044A1 (en) | 2019-09-14 | 2021-03-18 | Bytedance Inc. | Quantization parameter offset for chroma deblocking filtering |
JP7232160B2 (ja) * | 2019-09-19 | 2023-03-02 | Tvs Regza株式会社 | 画質回路、映像処理装置および信号特徴検出方法 |
JP2022548737A (ja) * | 2019-09-19 | 2022-11-21 | バイトダンス インコーポレイテッド | パレット・モードのための量子化パラメータ導出 |
MX2022003122A (es) | 2019-09-21 | 2022-04-06 | Beijing Bytedance Network Tech Co Ltd | Modo intra basado para croma de restriccion de tama?o. |
CN114667734A (zh) * | 2019-09-23 | 2022-06-24 | 阿里巴巴集团控股有限公司 | 通过重采样执行运动补偿插值的滤波器 |
CN114424567B (zh) * | 2019-09-24 | 2023-07-07 | 华为技术有限公司 | 使用基于矩阵的帧内预测进行组合的帧间-帧内预测的方法和装置 |
WO2021072177A1 (en) | 2019-10-09 | 2021-04-15 | Bytedance Inc. | Cross-component adaptive loop filtering in video coding |
JP2022552338A (ja) | 2019-10-14 | 2022-12-15 | バイトダンス インコーポレイテッド | クロマ残差の共同コーディング及びビデオ処理におけるフィルタリング |
CN114762352A (zh) * | 2019-11-27 | 2022-07-15 | 北京达佳互联信息技术有限公司 | 用于视频编解码的去块滤波 |
EP4055827A4 (en) | 2019-12-09 | 2023-01-18 | ByteDance Inc. | USING QUANTIFICATION GROUPS IN VIDEO CODING |
CA3129687A1 (en) * | 2019-12-24 | 2021-07-01 | Telefonaktiebolaget Lm Ericsson (Publ) | Virtual boundary processing for adaptive loop filtering |
KR102558336B1 (ko) * | 2019-12-30 | 2023-07-20 | 베이징 다지아 인터넷 인포메이션 테크놀로지 컴퍼니 리미티드 | 비디오 데이터의 크로마 및 루마 성분의 교차 성분 결정 |
CN114902657A (zh) | 2019-12-31 | 2022-08-12 | 字节跳动有限公司 | 视频编解码中的自适应颜色变换 |
US11197001B2 (en) * | 2020-02-05 | 2021-12-07 | Tencent America LLC | Method and apparatus for interactions between decoder-side intra mode derivation and adaptive intra prediction modes |
CN116193125B (zh) * | 2020-04-30 | 2024-07-23 | 北京达佳互联信息技术有限公司 | 用于针对视频编解码的预测相关残差缩放的方法和设备 |
GB2599433A (en) * | 2020-10-02 | 2022-04-06 | Sony Group Corp | Data encoding and decoding |
TWI776294B (zh) * | 2020-11-30 | 2022-09-01 | 中華電信股份有限公司 | 光框架交換機 |
CN113099229B (zh) * | 2021-02-22 | 2022-08-09 | 浙江大华技术股份有限公司 | 块划分方法、帧间预测方法、视频编码方法及相关装置 |
WO2023131211A1 (en) * | 2022-01-05 | 2023-07-13 | Beijing Bytedance Network Technology Co., Ltd. | Method, apparatus, and medium for video processing |
Family Cites Families (142)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4602285A (en) * | 1983-04-08 | 1986-07-22 | Ampex Corporation | System and method for transforming and filtering a video image |
GB9013217D0 (en) * | 1990-06-13 | 1990-08-01 | Indep Broadcasting Authority | Evaluation of detail in video images,and applications thereof |
US5294974A (en) * | 1992-07-24 | 1994-03-15 | Matsushita Electric Corporation Of America | High-definition video encoding system having color-sensitive quantization |
JPH07121687A (ja) | 1993-10-20 | 1995-05-12 | Sony Corp | 画像コーデック用プロセッサおよびアクセスパターン変換方法 |
KR100208375B1 (ko) * | 1995-12-27 | 1999-07-15 | 윤종용 | 동화상 부호화 방법 및 장치 |
US5737023A (en) * | 1996-02-05 | 1998-04-07 | International Business Machines Corporation | Hierarchical motion estimation for interlaced video |
EP1835762A3 (en) * | 1996-05-28 | 2007-10-03 | Matsushita Electric Industrial Co., Ltd. | decoding apparatus with intra prediction |
FR2752474B1 (fr) | 1996-08-14 | 1998-12-31 | Iona Donescu | Procede de transformation du signal image sur des supports de forme arbitraire |
KR100442229B1 (ko) * | 1996-09-13 | 2004-10-08 | 엘지전자 주식회사 | 간이형hdtv비디오디코더및디코딩방법 |
TW366648B (en) | 1996-10-24 | 1999-08-11 | Matsushita Electric Ind Co Ltd | Method of supplementing pixel signal coding device, and pixel signal decoding device |
WO1999016252A1 (en) * | 1997-09-19 | 1999-04-01 | Sony Electronics Inc. | Motion compensated digital video decoding with buffered picture storage memory map |
AR025609A1 (es) | 1999-09-13 | 2002-12-04 | Hoffmann La Roche | Formulaciones lipidas solidas |
US6647061B1 (en) * | 2000-06-09 | 2003-11-11 | General Instrument Corporation | Video size conversion and transcoding from MPEG-2 to MPEG-4 |
US6788338B1 (en) * | 2000-11-20 | 2004-09-07 | Petko Dimitrov Dinev | High resolution video camera apparatus having two image sensors and signal processing |
JP4254147B2 (ja) * | 2001-11-30 | 2009-04-15 | ソニー株式会社 | 画像情報符号化方法及び装置、並びにプログラム及び記録媒体 |
EP1833261A1 (en) * | 2002-01-18 | 2007-09-12 | Kabushiki Kaisha Toshiba | Video encoding method and apparatus and video decoding method and apparatus |
CN100448285C (zh) | 2002-12-18 | 2008-12-31 | 索尼株式会社 | 信息处理设备和信息处理方法 |
US8824553B2 (en) * | 2003-05-12 | 2014-09-02 | Google Inc. | Video compression method |
CN1778118A (zh) * | 2003-06-06 | 2006-05-24 | 联发科技股份有限公司 | 用于影像信号的格式转换及混合的装置与方法 |
EP1509045A3 (en) * | 2003-07-16 | 2006-08-09 | Samsung Electronics Co., Ltd. | Lossless image encoding/decoding method and apparatus using intercolor plane prediction |
JP4617644B2 (ja) | 2003-07-18 | 2011-01-26 | ソニー株式会社 | 符号化装置及び方法 |
US7193656B2 (en) * | 2003-08-14 | 2007-03-20 | Broadcom Corporation | Line address computer for providing coefficients to a chroma filter |
US7599438B2 (en) * | 2003-09-07 | 2009-10-06 | Microsoft Corporation | Motion vector block pattern coding and decoding |
US7620106B2 (en) | 2003-09-07 | 2009-11-17 | Microsoft Corporation | Joint coding and decoding of a reference field selection and differential motion vector information |
US7724827B2 (en) * | 2003-09-07 | 2010-05-25 | Microsoft Corporation | Multi-layer run level encoding and decoding |
US7317839B2 (en) * | 2003-09-07 | 2008-01-08 | Microsoft Corporation | Chroma motion vector derivation for interlaced forward-predicted fields |
EP2373033A3 (en) * | 2004-01-30 | 2011-11-30 | Panasonic Corporation | Picture coding and decoding method, apparatus, and program thereof |
KR100813958B1 (ko) | 2004-06-07 | 2008-03-14 | 세종대학교산학협력단 | 동영상의 무손실 인코딩 및 디코딩 방법, 그 장치 |
JP4763422B2 (ja) * | 2004-12-03 | 2011-08-31 | パナソニック株式会社 | イントラ予測装置 |
KR100843196B1 (ko) * | 2004-12-17 | 2008-07-02 | 삼성전자주식회사 | H.264/avc 비디오 디코더의 디블록킹 필터 |
KR101138392B1 (ko) * | 2004-12-30 | 2012-04-26 | 삼성전자주식회사 | 색차 성분의 상관관계를 이용한 컬러 영상의 부호화,복호화 방법 및 그 장치 |
EP1869568A4 (en) | 2005-03-23 | 2009-04-29 | Alcatel Lucent | SYSTEM AND METHOD FOR SEARCHING A DIGITAL MEDIA CONTENT FROM A BROADCAST LIST FROM A NETWORK NODE |
WO2006118383A1 (en) * | 2005-04-29 | 2006-11-09 | Samsung Electronics Co., Ltd. | Video coding method and apparatus supporting fast fine granular scalability |
KR101424969B1 (ko) * | 2005-07-15 | 2014-08-04 | 삼성전자주식회사 | 영상 복호화 방법 |
WO2007010690A1 (ja) * | 2005-07-22 | 2007-01-25 | Mitsubishi Electric Corporation | 画像符号化装置、画像復号装置、および画像符号化方法、画像復号方法、画像符号化プログラム、画像復号プログラム、ならびに画像符号化プログラムを記録したコンピュータ読み取り可能な記録媒体、画像復号プログラムを記録したコンピュータ読み取り可能な記録媒体 |
US7933337B2 (en) * | 2005-08-12 | 2011-04-26 | Microsoft Corporation | Prediction of transform coefficients for image compression |
US8199819B2 (en) * | 2005-10-21 | 2012-06-12 | Electronics And Telecommunications Research Institute | Apparatus and method for encoding and decoding moving picture using adaptive scanning |
JP5143120B2 (ja) * | 2006-03-23 | 2013-02-13 | サムスン エレクトロニクス カンパニー リミテッド | 画像の符号化方法及び装置、復号化方法及び装置 |
US7995649B2 (en) * | 2006-04-07 | 2011-08-09 | Microsoft Corporation | Quantization adjustment based on texture level |
US9001899B2 (en) | 2006-09-15 | 2015-04-07 | Freescale Semiconductor, Inc. | Video information processing system with selective chroma deblock filtering |
CA2665182A1 (en) | 2006-10-10 | 2008-04-17 | Nippon Telegraph And Telephone Corporation | Video encoding method and decoding method, apparatuses therefor, programs therefor, and storage media for recording the programs |
US8121195B2 (en) * | 2006-11-30 | 2012-02-21 | Lsi Corporation | Memory reduced H264/MPEG-4 AVC codec |
JP2008193627A (ja) * | 2007-01-12 | 2008-08-21 | Mitsubishi Electric Corp | 画像符号化装置、画像復号装置、および画像符号化方法、画像復号方法 |
JP5026092B2 (ja) * | 2007-01-12 | 2012-09-12 | 三菱電機株式会社 | 動画像復号装置および動画像復号方法 |
US8718139B2 (en) | 2007-01-12 | 2014-05-06 | Mitsubishi Electric Corporation | Image decoding device and image decoding method |
KR101539240B1 (ko) * | 2007-06-14 | 2015-07-30 | 삼성전자주식회사 | 영상 데이터의 엔트로피 부호화, 복호화 방법 및 장치 |
US8488668B2 (en) * | 2007-06-15 | 2013-07-16 | Qualcomm Incorporated | Adaptive coefficient scanning for video coding |
JP2009004920A (ja) * | 2007-06-19 | 2009-01-08 | Panasonic Corp | 画像符号化装置および画像符号化方法 |
US8422803B2 (en) * | 2007-06-28 | 2013-04-16 | Mitsubishi Electric Corporation | Image encoding device, image decoding device, image encoding method and image decoding method |
US8265144B2 (en) * | 2007-06-30 | 2012-09-11 | Microsoft Corporation | Innovations in video decoder implementations |
TWI410139B (zh) * | 2007-09-12 | 2013-09-21 | Sony Corp | Image processing apparatus and image processing method |
JP2009081579A (ja) * | 2007-09-25 | 2009-04-16 | Toshiba Corp | 動画像復号装置、および動画像復号方法 |
US8194741B2 (en) * | 2007-10-12 | 2012-06-05 | Broadcom Corporation | Method and system for processing B pictures with missing or invalid forward reference pictures |
US8953685B2 (en) * | 2007-12-10 | 2015-02-10 | Qualcomm Incorporated | Resource-adaptive video interpolation or extrapolation with motion level analysis |
JP2009206911A (ja) * | 2008-02-28 | 2009-09-10 | Mitsubishi Electric Corp | 動画像変換装置 |
US8804831B2 (en) * | 2008-04-10 | 2014-08-12 | Qualcomm Incorporated | Offsets at sub-pixel resolution |
KR101493905B1 (ko) * | 2008-08-12 | 2015-03-02 | 삼성전자 주식회사 | 영상처리장치 및 영상처리방법 |
EP2157799A1 (en) * | 2008-08-18 | 2010-02-24 | Panasonic Corporation | Interpolation filter with local adaptation based on block edges in the reference frame |
JP4952685B2 (ja) | 2008-08-26 | 2012-06-13 | 株式会社Jvcケンウッド | 映像信号符号化装置 |
US8548041B2 (en) * | 2008-09-25 | 2013-10-01 | Mediatek Inc. | Adaptive filter |
US8483285B2 (en) * | 2008-10-03 | 2013-07-09 | Qualcomm Incorporated | Video coding using transforms bigger than 4×4 and 8×8 |
US9078007B2 (en) * | 2008-10-03 | 2015-07-07 | Qualcomm Incorporated | Digital video coding with interpolation filters and offsets |
US9055293B2 (en) * | 2008-10-15 | 2015-06-09 | France Telecom | Prediction of an image by compensation during forward movement |
EP2187647A1 (en) * | 2008-11-12 | 2010-05-19 | Sony Corporation | Method and device for approximating a DC coefficient of a block of pixels of a frame |
CN101742328B (zh) * | 2008-11-14 | 2013-03-27 | 北京中星微电子有限公司 | 图像残差矩阵整数变换方法及装置、反变换方法及装置 |
US8578272B2 (en) | 2008-12-31 | 2013-11-05 | Apple Inc. | Real-time or near real-time streaming |
TW201028018A (en) | 2009-01-07 | 2010-07-16 | Ind Tech Res Inst | Encoder, decoder, encoding method and decoding method |
US20100178038A1 (en) * | 2009-01-12 | 2010-07-15 | Mediatek Inc. | Video player |
JP2010177809A (ja) * | 2009-01-27 | 2010-08-12 | Toshiba Corp | 動画像符号化装置および動画像復号装置 |
JP5502336B2 (ja) * | 2009-02-06 | 2014-05-28 | パナソニック株式会社 | 映像信号符号化装置及び、映像信号符号化方法 |
WO2010113227A1 (ja) | 2009-03-31 | 2010-10-07 | パナソニック株式会社 | 画像復号装置 |
EP2237557A1 (en) * | 2009-04-03 | 2010-10-06 | Panasonic Corporation | Coding for filter coefficients |
JP5158003B2 (ja) * | 2009-04-14 | 2013-03-06 | ソニー株式会社 | 画像符号化装置と画像符号化方法およびコンピュータ・プログラム |
JP5169978B2 (ja) * | 2009-04-24 | 2013-03-27 | ソニー株式会社 | 画像処理装置および方法 |
US8761531B2 (en) * | 2009-07-09 | 2014-06-24 | Qualcomm Incorporated | Image data compression involving sub-sampling of luma and chroma values |
JP5234368B2 (ja) | 2009-09-30 | 2013-07-10 | ソニー株式会社 | 画像処理装置および方法 |
US8477845B2 (en) | 2009-10-16 | 2013-07-02 | Futurewei Technologies, Inc. | Predictive adaptive scan ordering for video coding |
TW201143448A (en) * | 2009-10-30 | 2011-12-01 | Panasonic Corp | Image encoding method, image decoding method, image encoding device and image decoding device |
EA021750B1 (ru) * | 2009-10-30 | 2015-08-31 | Панасоник Интеллекчуал Проперти Корпорэйшн оф Америка | Способ декодирования, декодирующее устройство, способ кодирования и кодирующее устройство |
JPWO2011061880A1 (ja) * | 2009-11-19 | 2013-04-04 | 三菱電機株式会社 | 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法 |
JP5488612B2 (ja) | 2009-12-28 | 2014-05-14 | 富士通株式会社 | 動画像符号化装置および動画像復号装置 |
TWI562600B (en) * | 2010-02-08 | 2016-12-11 | Nokia Technologies Oy | An apparatus, a method and a computer program for video coding |
US20110200108A1 (en) * | 2010-02-18 | 2011-08-18 | Qualcomm Incorporated | Chrominance high precision motion filtering for motion interpolation |
CN102164284A (zh) * | 2010-02-24 | 2011-08-24 | 富士通株式会社 | 视频解码方法和*** |
KR101503269B1 (ko) * | 2010-04-05 | 2015-03-17 | 삼성전자주식회사 | 영상 부호화 단위에 대한 인트라 예측 모드 결정 방법 및 장치, 및 영상 복호화 단위에 대한 인트라 예측 모드 결정 방법 및 장치 |
US8929440B2 (en) | 2010-04-09 | 2015-01-06 | Sony Corporation | QP adaptive coefficients scanning and application |
JP2011223303A (ja) * | 2010-04-09 | 2011-11-04 | Sony Corp | 画像符号化装置と画像符号化方法および画像復号化装置と画像復号化方法 |
CN102860009A (zh) * | 2010-04-13 | 2013-01-02 | 松下电器产业株式会社 | 编码失真除去方法、编码方法、解码方法、编码失真除去装置、编码装置、及解码装置 |
CN102236502A (zh) | 2010-04-21 | 2011-11-09 | 上海三旗通信科技有限公司 | 一种移动终端压力触控手势识别的人机交互方式 |
US20110317757A1 (en) * | 2010-06-25 | 2011-12-29 | Qualcomm Incorporated | Intra prediction mode signaling for finer spatial prediction directions |
US9661338B2 (en) * | 2010-07-09 | 2017-05-23 | Qualcomm Incorporated | Coding syntax elements for adaptive scans of transform coefficients for video coding |
CA3011241C (en) * | 2010-07-20 | 2019-09-10 | Ntt Docomo, Inc. | Video prediction encoding and decoding for partitioned regions while determining whether or not to use motion information from neighboring regions |
KR20180039757A (ko) * | 2010-08-17 | 2018-04-18 | 엠앤케이홀딩스 주식회사 | 영상 복호화 장치 |
KR101719448B1 (ko) | 2010-09-27 | 2017-03-23 | 엘지전자 주식회사 | 블록 분할 방법 및 복호화 장치 |
CN102447895B (zh) | 2010-09-30 | 2013-10-02 | 华为技术有限公司 | 扫描方法及装置、反扫描方法及装置 |
US8885704B2 (en) * | 2010-10-01 | 2014-11-11 | Qualcomm Incorporated | Coding prediction modes in video coding |
CN101938657B (zh) * | 2010-10-07 | 2012-07-04 | 西安电子科技大学 | 高效视频编码中编码单元自适应划分方法 |
US20120134425A1 (en) * | 2010-11-29 | 2012-05-31 | Faouzi Kossentini | Method and System for Adaptive Interpolation in Digital Video Coding |
KR102555352B1 (ko) * | 2010-12-08 | 2023-07-13 | 엘지전자 주식회사 | 인트라 예측 방법과 이를 이용한 부호화 장치 및 복호화 장치 |
JP5741076B2 (ja) | 2010-12-09 | 2015-07-01 | ソニー株式会社 | 画像処理装置及び画像処理方法 |
US10045046B2 (en) * | 2010-12-10 | 2018-08-07 | Qualcomm Incorporated | Adaptive support for interpolating values of sub-pixels for video coding |
US9049444B2 (en) * | 2010-12-22 | 2015-06-02 | Qualcomm Incorporated | Mode dependent scanning of coefficients of a block of video data |
US9172972B2 (en) * | 2011-01-05 | 2015-10-27 | Qualcomm Incorporated | Low complexity interpolation filtering with adaptive tap size |
GB2487242A (en) * | 2011-01-17 | 2012-07-18 | Sony Corp | Interpolation Using Shear Transform |
JP2012186617A (ja) | 2011-01-31 | 2012-09-27 | Sony Corp | 画像処理装置および方法 |
JP5966932B2 (ja) | 2011-02-10 | 2016-08-10 | ソニー株式会社 | 画像処理装置、画像処理方法、プログラム及び媒体 |
WO2012113197A1 (zh) * | 2011-02-24 | 2012-08-30 | 中兴通讯股份有限公司 | 一种预测模式的编码或解码方法及装置 |
JP2012175615A (ja) | 2011-02-24 | 2012-09-10 | Sony Corp | 画像処理装置及び画像処理方法 |
US10499059B2 (en) * | 2011-03-08 | 2019-12-03 | Velos Media, Llc | Coding of transform coefficients for video coding |
US8494290B2 (en) * | 2011-05-05 | 2013-07-23 | Mitsubishi Electric Research Laboratories, Inc. | Method for coding pictures using hierarchical transform units |
US9602839B2 (en) * | 2011-06-15 | 2017-03-21 | Futurewei Technologies, Inc. | Mode dependent intra smoothing filter table mapping methods for non-square prediction units |
KR101753551B1 (ko) * | 2011-06-20 | 2017-07-03 | 가부시키가이샤 제이브이씨 켄우드 | 화상 부호화 장치, 화상 부호화 방법 및 화상 부호화 프로그램을 저장한 기록매체 |
JP5678814B2 (ja) * | 2011-06-20 | 2015-03-04 | 株式会社Jvcケンウッド | 画像符号化装置、画像符号化方法及び画像符号化プログラム、並びに、送信装置、送信方法及び送信プログラム |
GB2492130A (en) * | 2011-06-22 | 2012-12-26 | Canon Kk | Processing Colour Information in an Image Comprising Colour Component Sample Prediction Being Based on Colour Sampling Format |
US20140104383A1 (en) * | 2011-06-22 | 2014-04-17 | Sony Corporation | Image processing device and method |
JP5990948B2 (ja) * | 2011-06-22 | 2016-09-14 | セイコーエプソン株式会社 | プロジェクター |
JP5614381B2 (ja) * | 2011-06-23 | 2014-10-29 | 株式会社Jvcケンウッド | 画像符号化装置、画像符号化方法、及び画像符号化プログラム、並びに、送信装置、送信方法、及び送信プログラム |
CN103621087B (zh) | 2011-06-23 | 2016-12-07 | Jvc建伍株式会社 | 图像解码装置及图像解码方法 |
US9854275B2 (en) * | 2011-06-25 | 2017-12-26 | Qualcomm Incorporated | Quantization in video coding |
JP5907367B2 (ja) * | 2011-06-28 | 2016-04-26 | ソニー株式会社 | 画像処理装置および方法、プログラム、並びに記録媒体 |
US20130044811A1 (en) * | 2011-08-18 | 2013-02-21 | Hyung Joon Kim | Content-Based Adaptive Control of Intra-Prediction Modes in Video Encoding |
WO2013036845A2 (en) * | 2011-09-08 | 2013-03-14 | General Instrument Corporation | Methods and apparatus for quantization and dequantization of a rectangular block of coefficients |
US9787982B2 (en) * | 2011-09-12 | 2017-10-10 | Qualcomm Incorporated | Non-square transform units and prediction units in video coding |
US9762899B2 (en) * | 2011-10-04 | 2017-09-12 | Texas Instruments Incorporated | Virtual memory access bandwidth verification (VMBV) in video coding |
US9807401B2 (en) * | 2011-11-01 | 2017-10-31 | Qualcomm Incorporated | Transform unit partitioning for chroma components in video coding |
GB2496197A (en) | 2011-11-07 | 2013-05-08 | Sony Corp | Frequency Domain Video Data Reordering for Encoding |
GB201119180D0 (en) | 2011-11-07 | 2011-12-21 | Sony Corp | Data encoding and decoding |
GB2496201A (en) | 2011-11-07 | 2013-05-08 | Sony Corp | Context adaptive data encoding and decoding |
GB2496194A (en) | 2011-11-07 | 2013-05-08 | Sony Corp | Entropy encoding video data using reordering patterns |
BR112014004645B1 (pt) * | 2011-11-08 | 2022-04-26 | Kabushiki Kaisha Toshiba | Método de codificação de imagem e aparelho de codificação de imagem |
US9451252B2 (en) * | 2012-01-14 | 2016-09-20 | Qualcomm Incorporated | Coding parameter sets and NAL unit headers for video coding |
US9363516B2 (en) * | 2012-01-19 | 2016-06-07 | Qualcomm Incorporated | Deblocking chroma data for video coding |
US8581753B2 (en) * | 2012-01-19 | 2013-11-12 | Sharp Laboratories Of America, Inc. | Lossless coding technique for CABAC in HEVC |
JP5995448B2 (ja) * | 2012-01-19 | 2016-09-21 | シャープ株式会社 | 画像復号装置、および画像符号化装置 |
US9538200B2 (en) * | 2012-01-19 | 2017-01-03 | Qualcomm Incorporated | Signaling of deblocking filter parameters in video coding |
EP2805492B1 (en) * | 2012-01-19 | 2018-11-14 | VID SCALE, Inc. | System and method of video coding quantization and dynamic range control |
US9106936B2 (en) * | 2012-01-25 | 2015-08-11 | Altera Corporation | Raw format image data processing |
US9123278B2 (en) * | 2012-02-24 | 2015-09-01 | Apple Inc. | Performing inline chroma downsampling with reduced power consumption |
US9325991B2 (en) * | 2012-04-11 | 2016-04-26 | Qualcomm Incorporated | Motion vector rounding |
GB2501535A (en) * | 2012-04-26 | 2013-10-30 | Sony Corp | Chrominance Processing in High Efficiency Video Codecs |
US9253483B2 (en) * | 2012-09-25 | 2016-02-02 | Google Technology Holdings LLC | Signaling of scaling list |
US9667994B2 (en) * | 2012-10-01 | 2017-05-30 | Qualcomm Incorporated | Intra-coding for 4:2:2 sample format in video coding |
-
2012
- 2012-04-26 GB GB1207459.7A patent/GB2501535A/en not_active Withdrawn
- 2012-06-22 GB GB1211070.6A patent/GB2501549A/en not_active Withdrawn
- 2012-06-22 GB GB1211073.0A patent/GB2501551A/en not_active Withdrawn
- 2012-06-22 GB GB1211066.4A patent/GB2501546A/en not_active Withdrawn
- 2012-06-22 GB GB1211069.8A patent/GB2501548A/en not_active Withdrawn
- 2012-06-22 GB GB1211067.2A patent/GB2501547A/en not_active Withdrawn
- 2012-06-22 GB GB1211072.2A patent/GB2501550A/en not_active Withdrawn
- 2012-06-22 GB GB1211075.5A patent/GB2501553A/en not_active Withdrawn
- 2012-06-29 GB GB1211623.2A patent/GB2501555A/en not_active Withdrawn
- 2012-06-29 GB GB201211619A patent/GB2501554B/en active Active
- 2012-06-29 GB GB1211629.9A patent/GB2501557A/en not_active Withdrawn
- 2012-06-29 GB GB1211628.1A patent/GB2501556A/en not_active Withdrawn
- 2012-11-19 GB GB1220836.9A patent/GB2501566A/en not_active Withdrawn
-
2013
- 2013-04-08 JP JP2015507590A patent/JP2015518339A/ja active Pending
- 2013-04-08 WO PCT/GB2013/050903 patent/WO2013160656A2/en active Application Filing
- 2013-04-08 US US14/396,190 patent/US9948929B2/en active Active
- 2013-04-08 EP EP13721026.6A patent/EP2842321A2/en not_active Withdrawn
- 2013-04-08 CN CN201380022425.6A patent/CN104285445A/zh active Pending
- 2013-04-25 TW TW102114853A patent/TWI611689B/zh active
- 2013-04-25 TW TW106131037A patent/TWI677236B/zh active
- 2013-04-25 TW TW102114851A patent/TWI575942B/zh active
- 2013-04-25 TW TW108118597A patent/TWI711301B/zh active
- 2013-04-25 TW TW102114850A patent/TWI586152B/zh active
- 2013-04-26 WO PCT/GB2013/051078 patent/WO2013160700A1/en active Application Filing
- 2013-04-26 CN CN201810164769.5A patent/CN108134931B/zh active Active
- 2013-04-26 CA CA2870591A patent/CA2870591C/en active Active
- 2013-04-26 CN CN201380022421.8A patent/CN104272739B/zh active Active
- 2013-04-26 JP JP2015507601A patent/JP5986294B2/ja active Active
- 2013-04-26 AU AU2013254443A patent/AU2013254443A1/en not_active Abandoned
- 2013-04-26 MX MX2014012847A patent/MX343351B/es active IP Right Grant
- 2013-04-26 JP JP2015507602A patent/JP6050478B2/ja active Active
- 2013-04-26 US US14/394,834 patent/US10827169B2/en active Active
- 2013-04-26 CA CA3128787A patent/CA3128787C/en active Active
- 2013-04-26 CN CN201380022426.0A patent/CN104255030B/zh active Active
- 2013-04-26 CN CN201380022423.7A patent/CN104255029B/zh active Active
- 2013-04-26 US US14/396,979 patent/US9686547B2/en active Active
- 2013-04-26 WO PCT/GB2013/051076 patent/WO2013160699A1/en active Application Filing
- 2013-04-26 EP EP23184270.9A patent/EP4243420A3/en active Pending
- 2013-04-26 WO PCT/GB2013/051072 patent/WO2013160695A1/en active Application Filing
- 2013-04-26 JP JP2015507605A patent/JP5965054B2/ja active Active
- 2013-04-26 RU RU2014147451/08A patent/RU2603548C2/ru active
- 2013-04-26 EP EP23184271.7A patent/EP4243421A3/en active Pending
- 2013-04-26 AU AU2013254448A patent/AU2013254448B2/en active Active
- 2013-04-26 MX MX2014012565A patent/MX346235B/es active IP Right Grant
- 2013-04-26 CN CN201910234246.8A patent/CN110225337A/zh active Pending
- 2013-04-26 WO PCT/GB2013/051075 patent/WO2013160698A1/en active Application Filing
- 2013-04-26 BR BR112014026021-4A patent/BR112014026021B1/pt active IP Right Grant
- 2013-04-26 CN CN201380021815.1A patent/CN104247425B/zh active Active
- 2013-04-26 JP JP2015507603A patent/JP6328613B2/ja active Active
- 2013-04-26 KR KR1020177012287A patent/KR101840025B1/ko active IP Right Grant
- 2013-04-26 RU RU2017116180A patent/RU2751080C2/ru active
- 2013-04-26 CN CN201911312887.7A patent/CN110933409B/zh active Active
- 2013-04-26 KR KR1020177009416A patent/KR20170041288A/ko not_active Application Discontinuation
- 2013-04-26 WO PCT/GB2013/051070 patent/WO2013160693A2/en active Application Filing
- 2013-04-26 US US14/396,983 patent/US9693058B2/en active Active
- 2013-04-26 BR BR112014026035-4A patent/BR112014026035B1/pt active IP Right Grant
- 2013-04-26 AU AU2013254444A patent/AU2013254444B2/en active Active
- 2013-04-26 US US14/396,127 patent/US9826231B2/en active Active
- 2013-04-26 KR KR1020197017932A patent/KR102104400B1/ko active IP Right Grant
- 2013-04-26 CN CN201810353123.1A patent/CN108366257B/zh active Active
- 2013-04-26 CN CN201811158537.5A patent/CN109068135B/zh active Active
- 2013-04-26 EP EP13719164.9A patent/EP2842315B1/en active Active
- 2013-04-26 MX MX2014012846A patent/MX345237B/es active IP Right Grant
- 2013-04-26 EP EP13719166.4A patent/EP2842317A1/en not_active Ceased
- 2013-04-26 RU RU2014147445/08A patent/RU2599935C2/ru active
- 2013-04-26 WO PCT/GB2013/051074 patent/WO2013160697A1/en active Application Filing
- 2013-04-26 CN CN201911311674.2A patent/CN111182299B/zh active Active
- 2013-04-26 CN CN201710999406.9A patent/CN107734330B/zh active Active
- 2013-04-26 WO PCT/GB2013/051073 patent/WO2013160696A1/en active Application Filing
- 2013-04-26 KR KR1020147029912A patent/KR20150003219A/ko active Application Filing
- 2013-04-26 BR BR112014026024A patent/BR112014026024A8/pt not_active Application Discontinuation
- 2013-04-26 EP EP13719165.6A patent/EP2842316A1/en not_active Ceased
- 2013-04-26 CN CN201810162324.3A patent/CN108347604B/zh active Active
- 2013-04-26 KR KR1020147029919A patent/KR101734974B1/ko active IP Right Grant
- 2013-04-26 CA CA2870596A patent/CA2870596C/en active Active
- 2013-04-26 KR KR1020187007295A patent/KR101994597B1/ko active IP Right Grant
- 2013-04-26 EP EP13719163.1A patent/EP2842314B1/en active Active
- 2013-04-26 CN CN201380022424.1A patent/CN104247426A/zh active Pending
- 2013-04-26 JP JP2015507604A patent/JP6128707B2/ja active Active
- 2013-04-26 WO PCT/GB2013/051071 patent/WO2013160694A1/en active Application Filing
- 2013-04-26 CA CA2870602A patent/CA2870602C/en active Active
- 2013-04-26 EP EP18186999.1A patent/EP3442229A1/en not_active Withdrawn
- 2013-04-26 CA CA3028883A patent/CA3028883C/en active Active
- 2013-04-26 RU RU2014147453A patent/RU2619888C2/ru active
- 2013-04-26 CA CA2871556A patent/CA2871556C/en active Active
-
2014
- 2014-10-24 US US14/523,637 patent/US9686548B2/en active Active
- 2014-10-24 US US14/523,675 patent/US9674531B2/en active Active
-
2016
- 2016-06-22 AU AU2016204227A patent/AU2016204227B2/en active Active
- 2016-06-30 JP JP2016129527A patent/JP6325606B2/ja active Active
- 2016-11-24 JP JP2016227411A patent/JP6231647B2/ja active Active
-
2017
- 2017-06-05 US US15/614,226 patent/US10244232B2/en active Active
- 2017-06-14 US US15/623,059 patent/US10205941B2/en active Active
- 2017-06-26 US US15/632,970 patent/US10419750B2/en active Active
- 2017-10-19 JP JP2017202338A patent/JP6407389B2/ja active Active
- 2017-11-01 US US15/800,186 patent/US10531083B2/en active Active
-
2018
- 2018-01-18 US US15/874,737 patent/US10440358B2/en active Active
- 2018-03-29 US US15/940,084 patent/US10291909B2/en active Active
- 2018-04-12 JP JP2018077039A patent/JP6606794B2/ja active Active
- 2018-04-12 JP JP2018077038A patent/JP6503492B2/ja active Active
- 2018-08-17 AU AU2018217304A patent/AU2018217304B2/en active Active
-
2019
- 2019-02-11 US US16/272,644 patent/US11252402B2/en active Active
- 2019-03-22 US US16/362,276 patent/US10499052B2/en active Active
- 2019-04-26 US US16/395,908 patent/US10616572B2/en active Active
- 2019-09-16 US US16/572,235 patent/US10674144B2/en active Active
- 2019-12-02 US US16/700,775 patent/US11109019B2/en active Active
- 2019-12-23 US US16/725,966 patent/US10841572B2/en active Active
-
2022
- 2022-01-20 US US17/580,261 patent/US11770519B2/en active Active
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220150468A1 (en) | Mode-dependent coefficient scanning and directional transforms for different colour sampling formats |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
B15K | Others concerning applications: alteration of classification |
Ipc: H04N 7/00 (2011.01) |
|
B06F | Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette] | ||
B15K | Others concerning applications: alteration of classification |
Free format text: A CLASSIFICACAO ANTERIOR ERA: H04N 7/00 Ipc: H04N 19/11 (2014.01), H04N 19/117 (2014.01), H04N |
|
B06U | Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette] | ||
B06A | Patent application procedure suspended [chapter 6.1 patent gazette] | ||
B09A | Decision: intention to grant [chapter 9.1 patent gazette] | ||
B16A | Patent or certificate of addition of invention granted [chapter 16.1 patent gazette] |
Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 26/04/2013, OBSERVADAS AS CONDICOES LEGAIS. PATENTE CONCEDIDA CONFORME ADI 5.529/DF, QUE DETERMINA A ALTERACAO DO PRAZO DE CONCESSAO. |