JP7512492B2 - 品質最適化デブロッキングを実行するためのイメージ処理デバイス及び方法 - Google Patents
品質最適化デブロッキングを実行するためのイメージ処理デバイス及び方法 Download PDFInfo
- Publication number
- JP7512492B2 JP7512492B2 JP2023136385A JP2023136385A JP7512492B2 JP 7512492 B2 JP7512492 B2 JP 7512492B2 JP 2023136385 A JP2023136385 A JP 2023136385A JP 2023136385 A JP2023136385 A JP 2023136385A JP 7512492 B2 JP7512492 B2 JP 7512492B2
- Authority
- JP
- Japan
- Prior art keywords
- pixel
- value
- pixel value
- clipping
- filtered
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000012545 processing Methods 0.000 title claims description 62
- 238000000034 method Methods 0.000 title claims description 53
- 238000001914 filtration Methods 0.000 claims description 29
- 230000003247 decreasing effect Effects 0.000 claims description 5
- 230000001419 dependent effect Effects 0.000 claims description 5
- 238000012886 linear function Methods 0.000 claims description 5
- 230000008859 change Effects 0.000 claims description 4
- 238000013139 quantization Methods 0.000 description 73
- 230000006870 function Effects 0.000 description 40
- 239000000523 sample Substances 0.000 description 30
- 230000006854 communication Effects 0.000 description 20
- 238000004891 communication Methods 0.000 description 20
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 13
- 238000009499 grossing Methods 0.000 description 9
- 238000007781 pre-processing Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 8
- 230000006835 compression Effects 0.000 description 7
- 238000007906 compression Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 238000000638 solvent extraction Methods 0.000 description 7
- 238000003491 array Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 6
- 238000005192 partition Methods 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000012805 post-processing Methods 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 241000023320 Luma <angiosperm> Species 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000007423 decrease Effects 0.000 description 3
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 230000002441 reversible effect Effects 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 238000012937 correction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 239000013074 reference sample Substances 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 238000012952 Resampling Methods 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001131 transforming 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/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/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
- H04N19/14—Coding unit complexity, e.g. amount of activity or edge presence estimation
-
- 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/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/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
- H04N19/34—Scalability techniques involving progressive bit-plane based encoding of the enhancement layer, e.g. fine granular scalability [FGS]
-
- 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/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/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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Picture Signal Circuits (AREA)
Description
本開示の実施形態は、画像処理の分野、例えば、静止画像及び/又はビデオ画像符号化に関する。特に、本開示は、デブロッキングフィルタの改善に言及する。
本開示の実施形態は、画像処理の分野、例えば、静止画像及び/又はビデオ画像符号化に関する。特に、本開示は、デブロッキングフィルタの改善に言及する。
H.264/AVC及びHEVCなどのビデオ符号化スキームは、ブロックベースのハイブリッドビデオ符号化の成功原理に沿って設計されている。この原理を用いて、画像は、まずブロックに区分化され、次に、各ブロックがイントラ画像又はインター画像予測を用いることにより予測される。これらのブロックは、隣接ブロックから相対的に符号化され、同程度の類似性を有する元の信号に近似する。符号化されたブロックのみが元の信号に近似するので、近似間の差が、予測における不連続性を引き起こし、ブロック境界を変えてしまうかもしれない。これらの不連続性は、デブロッキングフィルタにより弱められる。HEVCは、最大サイズの64×64画素の符号化ツリーユニット(CTU)の概念を有するH.264/AVCのマクロブロック構造に代わるものである。CTUは、8×8画素の最小サイズまで細分され得るより小さい符号化ユニット(CU)への四分木分解スキームへとさらに区分化され得る。HEVCはまた、予測ブロック(PB)及び変換ブロック(TB)の概念を導入する。
HEVCでは、2つのフィルタ、すなわち、普通のフィルタ及び強力なフィルタがデブロッキングフィルタにおいて規定される。普通のフィルタは、エッジの両側に対して多くても2つのサンプルを修正する。強力な方は、閾値と比較して、エッジに沿って3つの追加のサンプルをフィルタリングする。これらのチェックのすべてが正しい場合、強力なフィルタが適用される。強力なフィルタは、エッジに沿うサンプルに対してより集中的な平滑化効果を有し、エッジの両側に対して多くても3つのサンプルを修正できる。
ITU-T VCEG(Q6/16)及びISO/IEC MPEG (JTC1/SC29/WG11)は、次世代ビデオコーデック、すなわち、多目的ビデオ符号化(VVC)を検討している。この新しいビデオコーデック規格は、(スクリーンコンテンツ符号化及び高ダイナミックレンジ符号化のための、その現在の拡張及び短期的な拡張を含む)現在のHEVC規格の圧縮能力を大幅に上回る圧縮能力を目標としている。当該グループは、映像符号化共同研究チーム(JVET)として知られる共同コラボレーションの取り組みにおいて、この調査活動を一緒に作業して、この分野におけるそれらの専門家により提案される圧縮技術設計を評価する。
VVCテストモデル(VTM)は、HEVCの性能を超える将来の進化型ビデオ符号化技術として、ITU-T VCEG及びISO/IEC MPEGの映像符号化共同研究チーム(JVET)により協調したテストモデル研究下にある特徴を説明する。VTM2.0において現在用いられているデブロッキングフィルタはHEVCと同じである。
しかしながら、今のところ、デブロッキングは、特にブロックエッジのすぐそばにはない領域の過度な平滑化又はぼかしの原因となることが多い。これは、準最適な低デブロッキング品質の原因となっている。
上述した課題を考慮して、本開示は、従来のデブロッキングフィルタリングを改善することを目標とする。本開示は、最適化された品質でデブロッキングフィルタリングを実行できるイメージ処理デバイスを提供することを目的とする。さらに、デブロッキングは効率的かつ正確となるはずである。
本開示の実施形態は、独立請求項の特徴、及び、従属請求項の特徴による実施形態のさらに有利な実装により規定される。
本開示の第1実施形態によれば、ブロック符号でエンコードされたイメージの第1符号化ブロックと第2符号化ブロックとの間のブロックエッジをデブロッキングするための、イメージエンコーダ及び/又はイメージデコーダにおける使用のためのイメージ処理デバイスが提供される。イメージ処理デバイスは、ブロックエッジをフィルタリングするためのフィルタを備え、ブロックエッジからのデブロッキング範囲であって、ブロックエッジに対して垂直となるデブロッキング範囲内のフィルタリング対象の画素の少なくともいくつかに対して、画素の元の画素値及び少なくとも1つのさらなる画素値からフィルタリングされる画素値を決定し、ブロックエッジからの画素の距離に依存する画素のクリッピング値を決定し、クリッピング値を用いてフィルタリングされる画素値をクリッピングし、結果としてデブロッキングされた画素値が得られるように構成される。これは、過度な平滑化又はぼかしの影響を減らし、デブロッキングの品質を大きく改善する。イメージ処理デバイスは、本開示において説明される演算を実行するための処理回路であってよい。処理回路は、ハードウェア及びソフトウェアを有してよい。処理回路は、例えば、1つ又は複数のプロセッサと、1つ又は複数のプロセッサによる実行のためのプログラムコードを運ぶ不揮発性メモリとを有してよい。1つ又は複数のプロセッサにより実行される場合、プログラムコードは、イメージ処理デバイスに、それぞれの演算を実行するように指示する。
有利なことに、クリッピング値は、元の画素値とデブロッキングされた画素値との間で最大限許容される変化量である。これは、過度な平滑化又はぼかしをさらに制限する。
さらに有利なことに、クリッピング値を用いてフィルタリングされる画素値をクリッピングして、結果としてデブロッキングされた画素値が得られることは、フィルタリングされる画素値とデブロッキングされた画素値との間の差の絶対値が画素のクリッピング値を越えない場合、デブロッキングされた画素値をフィルタリングされる画素値に設定することと、フィルタリングされる画素値が元の画素値プラスクリッピング値を超える場合、デブロッキングされた画素値を元の画素値プラス画素のクリッピング値に設定することと、フィルタリングされる画素値が元の画素値マイナスクリッピング値より小さい場合、デブロッキングされた画素値を元の画素値マイナス画素のクリッピング値に設定することとを有する。これは、デブロッキング品質をさらに高める。
有利なことに、フィルタは、関数又はルックアップテーブルを用いることにより、ブロックエッジからの画素の距離に依存する画素のクリッピング値を決定するように適合される。これは、クリッピング値の非常に正確な設定を可能にし、これにより、デブロッキング品質をさらにもっと向上させることを可能にする。
さらに有利なことに、フィルタは、ブロックエッジからの画素の距離を拡大しつつ単調に減少する関数を用いることにより、ブロックエッジからの画素の距離に依存する画素のクリッピング値を決定するように適合される。これは、ブロックエッジからの距離を拡大しつつ過度な平滑化又はぼかしの影響を大幅に減らし、これにより、デブロッキング品質を高めている。
有利なことに、関数は指数関数である。これは、特に高いデブロッキング品質をもたらす。
好ましくは、関数は以下のとおりである。
tc’=tc+(tc>>i)
tc’はクリッピング値である。
tcは一定値である。
iは、ブロックエッジ(403、800)からの画素の距離である。
>>は、右シフトを示す。これは、指数関数の単純な計算を可能にする。
tc’=tc+(tc>>i)
tc’はクリッピング値である。
tcは一定値である。
iは、ブロックエッジ(403、800)からの画素の距離である。
>>は、右シフトを示す。これは、指数関数の単純な計算を可能にする。
用いられ得る別の代替的な指数関数は、以下のとおりである。
tc’=((2*tc)>>i)
tc’はクリッピング値である。
tcは一定値である。
iは、ブロックエッジ(403、800)からの画素の距離である。
>>は、右シフトを示す。これは、指数関数の単純な計算を可能にする。
tc’=((2*tc)>>i)
tc’はクリッピング値である。
tcは一定値である。
iは、ブロックエッジ(403、800)からの画素の距離である。
>>は、右シフトを示す。これは、指数関数の単純な計算を可能にする。
代替的に、関数は線形関数である。これは、同時に計算の複雑性を最小限にとどめつつ、デブロッキング品質の向上を可能にする。
有利なことに、関数は、以下のとおりである。
tc’=tc+(tc-(i*x)
tc’はクリッピング値である。
tcは一定値である。
iは、ブロックエッジ(403、800)からの画素の距離である。
xは一定値である。これは、線形関数のとりわけ単純な計算を可能にする。
tc’=tc+(tc-(i*x)
tc’はクリッピング値である。
tcは一定値である。
iは、ブロックエッジ(403、800)からの画素の距離である。
xは一定値である。これは、線形関数のとりわけ単純な計算を可能にする。
好ましくは、フィルタは、ブロックエッジからのデブロッキング範囲であって、ブロックエッジに対して垂直となるデブロッキング範囲内のフィルタリング対象の各画素に対して、画素の元の画素値及び少なくとも1つのさらなる画素値からフィルタリングされる画素値を決定し、ブロックエッジからの画素の距離に依存する画素のクリッピング値を決定し、クリッピング値を用いてフィルタリングされる画素値をクリッピングして、結果としてデブロッキングされた画素値が得られるように適合される。フィルタリング対象の各画素に対して同じ計算を用いることにより、とりわけ単純な実装が実現される。
代替的に、フィルタは、垂直方向のブロックエッジの場合、決定画素列の数がブロックエッジを囲むブロック内の画素列の数より少ないということに基づいて、及び、水平方向のブロックエッジの場合、決定画像行の数がブロックエッジを囲むブロック内の画素行の数より少ないということに基づいて、ブロックエッジがフィルタリングされる必要があるかどうかを決定するように適合される。フィルタは、次に、ブロックエッジからのデブロッキング範囲であって、ブロックエッジに対して垂直となるデブロッキング範囲内の決定画素行又は決定画素列にはないフィルタリング対象の各画素に対して、画素の元の画素値及び少なくとも1つのさらなる画素値からフィルタリングされる画素値を決定し、ブロックエッジからの画素の距離に依存する画素のクリッピング値を決定し、クリッピング値を用いてフィルタリングされる画素値をクリッピングして、結果としてデブロッキングされた画素値が得られるように適合される。フィルタは、さらに、ブロックエッジからのデブロッキング範囲であって、ブロックエッジに対して垂直であるデブロッキング範囲内の決定画素行又は決定画素列にあるフィルタリング対象の各画素に対して、画素の元の画素値及び少なくとも1つのさらなる画素値からフィルタの画素値を決定し、一定のクリッピング値を用いてフィルタリングされる画素値をクリッピングして、結果として、デブロッキングされた画素値が得られるように適合される。これは、同時に、決定行又は列にはない画素値が、範囲に依存するクリッピング値を用いてフィルタリングされる一方、決定行又は列内の画素が、固定のクリッピング値を用いてフィルタリングされることを意味する。これは、さらに、増大した計算の複雑性を犠牲にして、デブロッキング品質を高める。
有利なことに、フィルタは、1個、又は、少なくとも2個、又は、少なくとも3個、又は、少なくとも4個、又は、少なくとも5個、又は、少なくとも6個、又は、少なくとも7個、又は、少なくとも8個、又は、少なくとも9個、又は、少なくとも10個、又は、少なくとも11個、又は、少なくとも12個、又は、少なくとも13個、又は、少なくとも14個、又は、少なくとも15個、又は、少なくとも16個の画素のフィルタタップ長を有する。これは、多種多様な様々なフィルタ設計への本開示の適用を可能にする。
本開示の第2態様によれば、本開示の第1態様に係るイメージ処理デバイスを備える、イメージをエンコードするためのエンコーダが提供される。
本開示の第3態様によれば、本開示の第1態様に係るイメージ処理デバイスを備える、イメージをデコードするためのデコーダが提供される。
本開示の第4態様によれば、ブロック符号でエンコードされたイメージの第1符号化ブロックと第2符号化ブロックとの間のブロックエッジをデブロッキングするためのデブロッキング方法が提供される。方法は、ブロックエッジからのデブロッキング範囲であって、ブロックエッジに対して垂直となるデブロッキング範囲内のフィルタリング対象の画素の少なくともいくつかに対して、画素の元の画素値及び少なくとも1つのさらなる画素値からフィルタリングされる画素値を決定する段階と、ブロックエッジからの画素の距離に依存する画素のクリッピング値を決定する段階と、クリッピング値を用いてフィルタリングされる画素値をクリッピングして、結果としてデブロッキングされた画素値が得られる段階とを備える。これは、過度な平滑化又はぼかしの影響を減らし、デブロッキングの品質を大きく改善する。
本開示の第5態様によれば、本開示の第4態様のデブロッキング方法を備える、イメージをエンコードするためのエンコーディング方法が提供される。
本開示の第6態様によれば、本開示の第4態様に係るデブロッキング方法を備える、イメージをデコードするためのデコーディング方法が提供される。
最後に、本開示の第7態様によれば、コンピュータプログラムがコンピュータ上で動作する場合、本開示の第4態様、第5態様又は第6態様に係る方法を実行するためのプログラムコードを有するコンピュータプログラムが提供される。
1つ又は複数の実施形態の詳細は、以下の添付の図面及び説明において説明される。他の特徴、目的及び利点は、説明、図面及び特許請求の範囲から明らかとなる。
本開示の以下の実施形態では、添付の図及び図面を参照してより詳細に説明される。
以下では、同一の参照符号は、同一又は少なくとも機能的に同等の特徴を指す。一部において、同じ要素を指す異なる参照符号が、異なる図において用いられている。
まず、図1~図3に従うイメージ符号化の一般的な概念を明らかにする。図4及び図8に従って、従来のデブロッキングフィルタのデメリットが示される。図5~図7に関して、本発明の装置の異なる実施形態の構成及び機能が示され、説明される。最後に、図9に関して、本発明の方法の実施形態が示され、説明される。異なる図において、同様の要素及び参照番号が部分的に省略されている。
以下の説明では、添付の図に対する参照が行われ、本開示の一部を形成し、図示する目的で本開示の実施形態の具体的態様又は本開示の実施形態が用いられ得る具体的態様を示す。本開示の実施形態が、他の態様において用いられてよく、図に示されていない構造的又は論理的な変更を有することが理解される。したがって、以下の詳細な説明は、限定的な意味で考慮されるものではなく、本開示の範囲は、添付の特許請求の範囲により規定される。
例えば、説明される方法に関連する開示は、方法を実行するように構成される対応するデバイス又はシステムにも当てはまってもよく、逆もまた同様であることが理解される。例えば、1つ又は複数の特定の方法の段階が説明される場合、対応するデバイスは、たとえ、そのような1つ又は複数のユニットが図において明確に説明又は示されていない場合であっても、説明される1つ又は複数の方法の段階を実行する1つ又は複数のユニット、例えば、機能ユニット(例えば、1つ又は複数の段階を実行する1つのユニット、又は、それぞれが複数の段階のうちの1つを又は複数を実行する複数のユニット)を含んでよい。一方、例えば、特定の装置が1つ又は複数のユニット、例えば、機能ユニットに基づいて説明される場合、対応する方法は、たとえ、1つ又は複数の段階が図において明確に説明又は示されていない場合であっても、1つ又は複数のユニットの機能を実行する1つの段階(例えば、1つ又は複数のユニットの機能を実行する1つの段階、又は、それぞれが複数のユニットの1つ又は複数の機能を実行する複数の段階)を含んでよい。さらに、特に断りのない限り、様々な例示的な実施形態の特徴及び/又は本明細書において説明される態様は、互いに組み合わせられてよいことが理解される。
ビデオ符号化は、典型的には、ビデオ又はビデオシーケンスを形成する一連の画像の処理を指す。画像という用語の代わりに、ビデオ符号化の分野における同義語として、フレーム又はイメージという用語が用いられてよい。ビデオ符号化は、ビデオエンコーディング及びビデオデコーディングの2つの部分を有する。ビデオエンコーディングは、元のビデオ画像を(例えば、圧縮により)処理して、典型的には、ビデオ画像を表現すために(より効率的な格納及び/又は伝送のために)必要とされるデータ量を減らすことを有するソース側で実行される。ビデオデコーディングは、宛先側で実行され、典型的には、ビデオ画像を再構築するためにエンコーダと比較して逆の処理を有する。ビデオ画像(又は、後で説明されるような一般的な画像)の「符号化」に言及する実施形態は、ビデオ画像の「エンコード」及び「デコード」の両方に関連することが理解されるものとする。エンコード部分及びデコード部分の組み合わせは、コーデック(符号化及びデコード)とも称される。
可逆ビデオ符号化の場合、元のビデオ画像は、再構築されることができ、すなわち、再構築されたビデオ画像は、(格納又は伝送中に伝送損失又は他のデータ損失がないと仮定して)元のビデオ画像と同じ品質を有する。不可逆ビデオ符号化の場合、ビデオ画像を表現すデータ量を減らすために、例えば、量子化によるさらなる圧縮が実行され、デコーダにおいて完全に再構築されることができず、すなわち、元のビデオ画像の品質と比較して、再構築されたビデオ画像の品質は低い又は悪い。
H.261以降のいくつかのビデオ符号化規格は、「不可逆ハイブリッドビデオコーデック」のグループに属する(すなわち、サンプル領域における空間及び時間予測と、変換領域における量子化を適用するための2D変換符号化とを組み合わせている)。ビデオシーケンスの各画像は、典型的には、非重複ブロックのセットに区分化され、符号化は、典型的には、ブロックレベルで実行される。つまり、エンコーダでは、ビデオは典型的には、例えば、予測ブロックを生成するために空間(イントラ画像)予測及び時間(インター画像)予測を用いて、現在のブロック(現在処理中/処理予定のブロック)から予測ブロックを減算して残差ブロックを取得し、残差ブロックを変換し、変換領域における残差ブロックを量子化して、伝送されるデータ量を減らす(圧縮)ことにより、ブロック(ビデオブロック)レベルで処理され、すなわち、エンコードされ、一方、デコーダでは、エンコーダと比較して逆の処理が、表示のために現在のブロックを再構築するためにエンコード又は圧縮されたブロックに対して適用される。さらに、エンコーダは、両方が同一の予測(例えば、イントラ及びインター予測)及び/又は後続のブロックを処理、すなわち、符号化するための再構築を生成するように、デコーダ処理ループを繰り返す。
ビデオ画像処理(動画像処理とも称される)及び静止画像処理(処理という用語は符号化を含む)は、より多くの概念及び技術又はツールを共有し、以下では、用語「画像」は、必ずというわけではないが、ビデオ画像と静止画像と間の不必要な繰り返し及び区別を避けるために、(上記で説明したような)ビデオシーケンスのビデオ画像及び/又は静止画像を指すために用いられる。静止画像(又は、静止イメージ)のみを指す説明の場合、用語「静止画像」が用いられるものとする。
エンコーダ100の以下の実施形態では、本開示の実施形態を図4~図9に基づいてより詳細に説明する前に、デコーダ200及び符号化システム300が図1から図3に基づいて説明される。
図3は、符号化システム300、例えば、画像符号化システム300の実施形態を示す概念的又は概略的なブロック図であり、符号化システム300は、エンコードされたデータ330、例えば、エンコードされた画像330を、例えば、エンコードされたデータ330をデコードするための宛先デバイス320に提供するように構成されるソースデバイス310を備える。
ソースデバイス310は、エンコーダ100又はエンコーディングユニット100を有し、追加的に、すなわち、任意選択的に、画像ソース312と、前処理ユニット314、例えば、画像前処理ユニット314と、通信インタフェース又は通信ユニット318とを有してよい。
画像ソース312は、例えば、現実世界の画像を撮像するための任意の種類の画像撮像デバイス、及び/又は、任意の種類の画像生成デバイス、例えば、コンピュータアニメーション画像を生成するためのコンピュータグラフィックスプロセッサ、又は、現実世界の画像、コンピュータアニメーション画像(例えば、スクリーンコンテンツ、仮想現実(VR)画像)及び/又はこれらの任意の組み合わせ(例えば、拡張現実(AR)画像)を取得及び/又は提供するための任意の種類のデバイスを備えてよい、又は、それらであってよい。以下では、これらの種類の画像のすべて及び任意の他の種類の画像は、特に説明しない限り「画像」又は「イメージ」と称され、一方、「ビデオ画像」及び「静止画像」をカバーする用語「画像」に関する以前の説明は、明示的に異なって特定されない限り依然として当てはまる。
(デジタル)画像は、強度値を有するサンプルの2次元アレイ又はマトリクスとみなされる、又は、みなされ得る。アレイ内のサンプルは、画素(画像要素の省略形)又はペルとも称され得る。アレイ又は画像の水平及び垂直方向(又は、軸)におけるサンプルの数は、画像のサイズ及び/又は解像度を規定する。色の表現に関して、典型的には、3つの色成分が使用され、すなわち、画像は、3つのサンプルアレイが表現され得る、又は、それらを含んでよい。RGB形式又は色空間において、画像は、対応する赤、緑及び青のサンプルアレイを有する。しかしながら、ビデオ符号化において、各画素は、典型的には、輝度/クロミナンス形式又は色空間、例えば、Y(場合によってはまた、Lが代わりに用いられる)で示される輝度成分と、Cb及びCrにより示される2つのクロミナンス成分とを含むYCbCrで表現される。輝度(又は、簡潔に、ルマ)成分Yは、明度又はグレーレベルの強度(例えば、グレースケール画像のような)を表す一方、2つのクロミナンス(又は、簡潔に、クロマ)成分Cb及びCrは、色度又は色情報成分を表す。適宜、YCbCr形式における画像は、輝度サンプル値(Y)の輝度サンプルアレイと、クロミナンス値(Cb及びCr)の2つのクロミナンスサンプルアレイとを有する。RGB形式における画像は、YCbCr形式に転換又は変換されてよく、逆もまた同様であり、当該処理は、色変換又は転換としても知られている。画像が単色である場合、画像は、輝度サンプルアレイのみを有し得る。
画像ソース312は、例えば、画像を撮像するためのカメラ、以前に撮像又は生成された画像を有する又は格納するメモリ、例えば、画像メモリ、及び/又は、画像を取得又は受信するための任意の種類のインタフェース(内部又は外部)であってよい。カメラは、例えば、ソースデバイスに統合されたローカル又は統合カメラであってよく、メモリは、例えば、ソースデバイスに統合されたローカル又は統合メモリであってよい。インタフェースは、例えば、外部のビデオソース、例えば、カメラのような外部の画像撮像デバイス、外部のメモリ、又は、外部の画像生成デバイス、例えば、外部のコンピュータグラフィックスプロセッサ、コンピュータ又はサーバから画像を受信する外部のインタフェースであってよい。インタフェースは、任意の種類のインタフェース、例えば、任意の独自の又は標準化されたインタフェースプロトコルに従う有線又は無線インタフェース、光インタフェースとすることができる。画像データ312を取得するためのインタフェースは、通信インタフェース318と同じインタフェース又はその一部であってよい。
前処理ユニット314と、前処理ユニット314により実行される処理との区別において、画像又は画像データ313は、未加工画像又は未加工画像データ313とも称され得る。
前処理ユニット314は、(未加工)画像データ313を受信し、画像データ313に対する前処理を実行して、前処理された画像315又は前処理された画像データ315を取得するように構成される。前処理ユニット314により実行される前処理は、例えば、トリミング、(例えば、RGBからYCbCrへの)色フォーマット変換、色補正又はノイズ除去を有してよい。
エンコーダ100は、前処理された画像データ315を受信し、エンコードされた画像データ171を提供するように構成される(さらなる詳細は、例えば、図1に基づいて説明される)。
ソースデバイス310の通信インタフェース318は、エンコードされた画像データ171を受信し、それを別のデバイス、例えば、宛先デバイス320又は格納又は直接的な再構築のための任意の他のデバイスに直接伝送し、又は、エンコードされたデータ330を格納し、及び/又は、エンコードされたデータ330を別のデバイス、例えば、宛先デバイス320に、又は、デコード又は格納するための任意の他のデバイスに伝送する前に、それぞれに対してエンコードされた画像データ171を処理するように構成されてよい。
宛先デバイス320は、デコーダ200又はデコーデイングユニット200を有し、追加的に、すなわち、任意選択的に、通信インタフェース又は通信ユニット322と、後処理ユニット326と、ディスプレイデバイス328とを有してよい。
宛先デバイス320の通信インタフェース322は、エンコードされた画像データ171又はエンコードされたデータ330を、例えば、ソースデバイス310から直接、又は、任意の他のソース、例えば、メモリ、例えば、エンコードされた画像データメモリから受信するように構成される。
通信インタフェース318及び通信インタフェース322はそれぞれ、ソースデバイス310と宛先デバイス320との間のダイレクト通信リンク、例えば、ダイレクト有線又は無線通信を介して、又は、任意の種類のネットワーク、例えば、有線又は無線ネットワーク又はこれらの任意の組み合わせ、又は、任意の種類のプライベート及び公衆ネットワーク、又は、それらの任意の組み合わせを介して、エンコードされた画像データ171又はエンコードされたデータ330を伝送し、受信するように構成されてよい。
通信インタフェース318は、通信リンク又は通信ネットワークを介した伝送のために、例えば、エンコードされた画像データ171を適切なフォーマット、例えば、パケットにパッケージ化するように構成されてよく、さらに、データ損失保護及びデータ損失回復を有してよい。
通信インタフェース318の片割れを形成する通信インタフェース322は、例えば、エンコードされたデータ330をデパッケージ化して、エンコードされた画像データ171を取得するように構成されてよく、さらに、例えば、エラー隠蔽を含むデータ損失保護及びデータ損失回復を実行するように構成されてよい。
ソースデバイス310から宛先デバイス320に向いている図3のエンコードされた画像データ330に関する矢印により示されるように、通信インタフェース318及び通信インタフェース322は両方とも、単方向通信インタフェース又は双方向通信インタフェースとして構成されてよい、又は、例えば、メッセージを送信及び受信して、例えば、接続をセットアップし、画像データを含む失われた又は遅延しているデータを確認及び/又は再送信し、通信リンク及び/又はデータ伝送、例えば、エンコードされた画像データ伝送に関連する任意の他の情報を交換するように構成されてよい。
デコーダ200は、エンコードされた画像データ171を受信し、デコードされた画像データ231又はデコードされた画像231を提供するように構成される(さらなる詳細は、例えば、図2に基づいて説明される)。
宛先デバイス320のポストプロセッサ326は、デコードされた画像データ231、例えば、デコードされた画像231を後処理して、後処理された画像データ327、例えば、後処理された画像327を取得するように構成される。後処理ユニット326により実行される後処理は、例えば、(例えば、YCbCrからRGBへの)色フォーマット変換、色補正、トリミング又は再サンプリング、又は、例えば、ディスプレイデバイス328による表示のために、例えば、デコードされた画像データ231を準備するための任意の他の処理を有してよい。
宛先デバイス320のディスプレイデバイス328は、例えば、ユーザ又は視聴者に画像を表示するために、後処理された画像データ327を受信するように構成される。ディスプレイデバイス328は、再構築された画像を表現するための任意の種類のディスプレイ、例えば、統合された又は外部のディスプレイ又はモニタであってよい、又は、それらを有してよい。ディスプレイは、例えば、ブラウン管(CRT)、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、任意の種類の他のディスプレイ...プロジェクタ、ホログラム(3D)...を有してよい。
図3は、ソースデバイス310及び宛先デバイス320を別個のデバイスとして示しているが、デバイスの実施形態はまた、両方又は両方の機能、ソースデバイス310又は対応する機能、及び、宛先デバイス320又は対応する機能を有してよい。そのような実施形態において、ソースデバイス310又は対応する機能、及び、宛先デバイス320又は対応する機能は、同じハードウェア及び/又はソフトウェアを用いて、又は、別個のハードウェア及び/又はソフトウェア、又は、これらの任意の組み合わせにより実装されてよい。
説明に基づいて当業者に対して明らかとなるように、図3に示されるようなソースデバイス310及び/又は宛先デバイス320内の異なるユニットの機能又は機能の存在及び(厳密な)分割は、実際のデバイス及びアプリケーションに応じて変わり得る。
したがって、図3に示されるようなソースデバイス310及び宛先デバイス320は、本開示の例示的な実施形態に過ぎず、本開示の実施形態は、図3に示されるものに限定されるものではない。
ソースデバイス310及び宛先デバイス320は、任意の種類のハンドヘルド又は固定デバイス、例えば、ノートブック又はラップトップコンピュータ、携帯電話、スマートフォン、タブレット又はタブレットコンピュータ、カメラ、デスクトップコンピュータ、セットトップボックス、テレビ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミングデバイス又はブロードキャスト受信デバイスなど(また、例えば、大規模な専門的なエンコード/デコードのためのサーバ及びワークステーション、例えば、ネットワークエンティティ)を含む広範囲のデバイスのうちのいずれかを有してよく、任意の種類のオペレーティングシステムを用いても用いなくてもよい。
図1は、エンコーダ100、例えば、画像エンコーダ100の実施形態の概略的/概念的なブロック図を示し、入力102、残差計算ユニット104、変換ユニット106、量子化ユニット108、逆量子化ユニット110及び逆変換ユニット112、再構築ユニット114、バッファ116、ループフィルタ120、デコードされた画像バッファ(DPB)130、予測ユニット160[インター推定ユニット142、インター予測ユニット144、イントラ推定ユニット152、イントラ予測ユニット154]、モード選択ユニット162、エントロピーエンコーディングユニット170及び出力172を備える。図1に示されるようなビデオエンコーダ100は、ハイブリッドビデオエンコーダ、又は、ハイブリッドビデオコーデックに係るビデオエンコーダとも称され得る。
例えば、残差計算ユニット104、変換ユニット106、量子化ユニット108及びエントロピーエンコーディングユニット170は、エンコーダ100の順方向の信号経路を形成し、一方、例えば、逆量子化ユニット110、逆変換ユニット112、再構築ユニット114、バッファ116、ループフィルタ120、デコードされた画像バッファ(DPB)130、インター予測ユニット144及びイントラ予測ユニット154は、エンコーダの逆方向の信号経路を形成し、エンコーダの逆方向の信号経路は、デコーダの信号経路に対応する(図2におけるデコーダ200を参照)。
エンコーダは、例えば、入力102により、画像101又は画像101の画像ブロック103、例えば、ビデオ又はビデオシーケンスを形成する一連の画像のうちの画像を受信するように構成される。画像ブロック103は、現在の画像ブロック又は符号化対象の画像ブロックとも称されてよく、(特に、現在の画像を他の画像、例えば、同じビデオシーケンス、すなわち、現在の画像も有するビデオシーケンスの以前にエンコード及び/又はデコードされた画像、から区別するビデオ符号化において)画像101は、現在の画像又は符号化される画像とも称され得る。
エンコーダ100の実施形態は、例えば、画像区分化ユニットとも称されてよく、画像103を、複数のブロック、例えば、ブロック103のようなブロックに、典型的、複数の非重複ブロックに区分化するように構成される区分化ユニット(図1には示されていない)を備えてよい。区分化ユニットは、ビデオシーケンスのすべての画像に対する同じブロックサイズと、ブロックサイズを規定する対応するグリッドとを用いる、又は、画像間、又は、画像のサブセット又はグループ間のブロックサイズを変更し、各画像を対応するブロックに区分化するように構成されてよい。
画像101のように、ブロック103もまた、画像101より小さい寸法のものであるが、強度値(サンプル値)を有するサンプルの2次元アレイ又はマトリクスとみなされる、又は、みなされ得る。つまり、ブロック103は、例えば、適用される色フォーマットに応じて、1つのサンプルアレイ(例えば、単色画像101の場合、ルマアレイ)、又は、3つのサンプルアレイ(例えば、カラー画像101の場合、ルマ及び2つのクロマアレイ)、又は、任意の他の数及び/又は種類のアレイを有してよい。ブロック103の水平及び垂直方向(又は、軸)におけるサンプルの数は、ブロック103のサイズを規定する。
図1に示されるようなエンコーダ100は、ブロックごとに画像101をエンコードするように構成され、例えば、エンコード及び予測がブロック103ごとに実行される。
残差計算ユニット104は、画像ブロック103及び予測ブロック165に基づいて、例えば、画像ブロック103のサンプル値から予測ブロック165のサンプル値を減算して、サンプルごとに(画素ごとに)、サンプル領域内の残差ブロック105を取得することにより、残差ブロック105を算出するように構成される(予測ブロック165に関するさらなる詳細は後で提供される)。
変換ユニット106は、残差ブロック105のサンプル値に対して変換、例えば、空間周波数変換又は線形空間変換、例えば、離散コサイン変換(DCT)又は離散サイン変換(DST)を適用して、変換領域における変換された係数107を取得するように構成される。変換された係数107は、変換された残差係数とも称され、変換領域における残差ブロック105を表してよい。
変換ユニット106は、HEVC/H.265に規定されているコア変換などのDCT/DSTの整数近似を適用するように構成されてよい。正規直交DCT変換と比較して、そのような整数近似は、典型的には、一定の係数によりスケーリングされる。順変換及び逆変換により処理された残差ブロックのノルムを保つために、変換処理の一部として、追加のスケーリング係数が適用される。スケーリング係数は、典型的には、シフト演算のための2の累乗であるスケーリング係数、変換された係数のビット深度、精度と実装コストとの間のトレードオフなどのような一定の制約に基づいて選択される。特定のスケーリング係数は、デコーダ200における、例えば、逆変換ユニット212による、例えば、逆変換(及び、例えば、エンコーダ100における逆変換ユニット112による対応する逆変換)に対して規定され、エンコーダ100における、例えば、変換ユニット106による順変換に対する対応するスケーリング係数が適宜規定されてよい。
量子化ユニット108は、例えば、スカラー量子化又はベクトル量子化により、変換された係数107を量子化して、量子化係数109を取得するように構成される。量子化係数109は、量子化された残差係数109とも称され得る。例えば、スカラー量子化について、異なるスケーリングは、より細かい又はより粗い量子化を実現するために適用されてよい。量子化ステップサイズが小さければ小さいほど、より細かい量子化に対応し、量子化ステップサイズが大きければ大きいほど、より粗い量子化に対応する。適用可能な量子化ステップサイズは、量子化パラメータ(QP)により示されてよい。量子化パラメータは、例えば、適用可能な量子化ステップサイズの予め定義されたセットに対するインデックスであってよい。例えば、小さい量子化パラメータは、細かい量子化(小さい量子化ステップサイズ)に対応してよく、大きい量子化パラメータは、粗い量子化(大きい量子化ステップサイズ)に対応してよく、又は、逆もまた同様である。量子化は、量子化ステップサイズでの除算を含んでよく、例えば、逆量子化110による対応する又は逆の逆量子化は、量子化ステップサイズでの乗算を含んでよい。
HEVCに係る実施形態は、量子化パラメータを用いて、量子化ステップサイズを決定するように構成されてよい。一般に、量子化ステップサイズは、除算を含む式の不動点近似を用いた量子化パラメータに基づいて計算されてよい。追加のスケーリング係数は、残差ブロックのノルムを復元するために、量子化及び逆量子化に対して導入されてよく、量子化ステップサイズ及び量子化パラメータに対する式の不動点近似において用いられるスケーリングにより修正され得る。1つの例示的な実装において、逆変換及び逆量子化のスケーリングは、組み合わせられ得る。代替的に、カスタマイズされた量子化テーブルが用いられてよく、例えば、ビットストリームにおいてエンコーダからデコーダへシグナリングされてよい。量子化は不可逆演算であり、量子化ステップサイズが大きくなるにつれて、損失が大きくなる。
エンコーダ100(又は、それぞれの量子化ユニット108)の実施形態は、デコーダ200が、対応する逆量子化を受信及び適用し得るように、例えば、対応する量子化パラメータを用いて量子化スキーム及び量子化ステップサイズを出力するように構成されてよい。エンコーダ100(又は、量子化ユニット108)の実施形態は、例えば、直接的に、又は、エントロピーエンコーディングユニット170又は任意の他のエントロピー符号化ユニットを介してエントロピーエンコードされた量子化スキーム及び量子化ステップサイズを出力するように構成されてよい。
逆量子化ユニット110は、量子化係数に対して量子化ユニット108の逆量子化を適用して、例えば、量子化ユニット108と同じ量子化ステップサイズに基づいて又はこれを用いて、量子化ユニット108により適用される量子化スキームの逆を適用することにより、逆量子化係数111を取得するように構成される。逆量子化係数111は、逆量子化された残差係数111とも称されてよく、典型的には、量子化による損失に起因して変換された係数と同一ではないが、変換された係数108に対応する。
逆変換ユニット112は、変換ユニット106により適用される変換の逆変換、例えば、逆離散コサイン変換(DCT)又は逆離散サイン変換(DST)を適用して、サンプル領域における逆変換したブロック113を取得するように構成される。逆変換したブロック113は、逆変換された逆量子化ブロック113又は逆変換された残差ブロック113とも称され得る。
再構築ユニット114は、逆変換したブロック113と予測ブロック165とを組み合わせて、例えば、デコードされた残差ブロック113のサンプル値及び予測ブロック165のサンプル値をサンプルごとに加えることにより、サンプル領域における再構築したブロック115を取得するように構成される。
バッファユニット116(又は、簡潔に、「バッファ」116)、例えば、ラインバッファ116は、例えば、イントラ推定及び/又はイントラ予測のために、再構築したブロック及びそれぞれのサンプル値をバッファ又は格納するように構成される。さらなる実施形態において、エンコーダは、任意の種類の推定及び/又は予測のために、バッファユニット116に格納されているフィルタリングされていない再構築したブロック及び/又はそれぞれのサンプル値を用いるように構成されてよい。
エンコーダ100の実施形態は、例えば、バッファユニット116が、イントラ推定152及び/又はイントラ予測154のための再構築したブロック115を格納するためだけでなく、ループフィルタユニット120(図1には示されていない)のために用いられるように、及び/又は、例えば、バッファユニット116及びデコードされた画像バッファユニット130が1つのバッファを形成するように、構成されてよい。さらなる実施形態は、イントラ推定152及び/又はイントラ予測154に対する入力又は基礎として、フィルタリングされたブロック121、及び/又は、デコードされた画像バッファ130からのブロック又はサンプル(図1には両方とも示されていない)を用いるように構成されてよい。
ループフィルタユニット120(又は、簡潔に、「ループフィルタ」120)は、例えば、デブロッキングサンプル適応オフセット(SAO)フィルタ又は他のフィルタ、例えば、鮮明化又は平滑化フィルタ又は協調フィルタを適用することにより、再構築したブロック115をフィルタリングして、フィルタリングされたブロック121を取得するように構成される。フィルタリングされたブロック121は、フィルタリングされた再構築したブロック121とも称され得る。ループフィルタ120は、以下では、デブロッキングフィルタとも称される。
ループフィルタユニット120の実施形態は、フィルタ分析ユニット及び実際のフィルタユニット(図1には示されていない)を有してよく、フィルタ分析ユニットは、実際のフィルタのためのループフィルタパラメータを決定するように構成される。フィルタ分析ユニットは、固定の予め決定されたフィルタリングパラメータを実際のループフィルタに適用し、予め決定されたフィルタリングパラメータのセットからフィルタリングパラメータを適応的に選択する、又は、実際のループフィルタのためのフィルタリングパラメータを適応的に算出するように構成されてよい。
ループフィルタユニット120の実施形態は、1つ又は複数のフィルタ(ループフィルタ/コンポーネント/サブフィルタ)、例えば、直列又は並列又はそれらの任意の組み合わせで接続される、例えば、異なる種類又はタイプのフィルタのうちの1つ又は複数を有してよく、フィルタのそれぞれは、例えば、前の段落で説明されたようなそれぞれのループフィルタパラメータを決定するために、個々に又は複数のフィルタのうちの他のフィルタと共同でフィルタ分析ユニットを有してよい(図1には示されていない)。
エンコーダ100(それぞれのループフィルタユニット120)の実施形態は、例えば、直接的に、又は、エントロピーエンコーディングユニット170又は任意の他のエントロピー符号化ユニットを介してエントロピーエンコードされたループフィルタパラメータを出力するように構成されてよく、その結果、例えば、デコーダ200は、デコードのための同じループフィルタパラメータを受信及び適用し得る。
デコードされた画像バッファ(DPB)130は、フィルタリングされるブロック121を受信及び格納するように構成される。デコードされた画像バッファ130は、さらに、同じ現在の画像の、又は、異なる画像、例えば、以前に再構築された画像の、他の以前にフィルタリングされたブロック、例えば、以前に再構築及びフィルタリングされたブロック121を格納するように構成されてよく、例えば、インター推定及び/又はインター推定のために、完全に以前に再構築された、すなわち、デコードされた画像(及び、対応する参照ブロック及びサンプル)、及び/又は、部分的に再構築された現在の画像(及び、対応する参照ブロック及びサンプル)を提供してよい。
本開示のさらなる実施形態は、任意の種類の推定又は予測、例えば、イントラ及びインター推定及び予測のために、デコードされた画像バッファ130の以前にフィルタリングされたブロックと、対応するフィルタリングされたサンプル値とを用いるように構成されてもよい。
ブロック予測ユニット160とも称される予測ユニット160は、画像ブロック103(現在の画像101の現在の画像ブロック103)と、デコード又は少なくとも再構築された画像データ、例えば、同じ(現在の)画像の参照サンプルとをバッファ116から、及び/又は、1つ又は複数の以前にデコードされた画像のうちのデコードされた画像データ231をデコードされた画像バッファ130から受信又は取得して、予測のためにそのようなデータを処理する、すなわち、インター予測されたブロック145又はイントラ予測されたブロック155であり得る予測ブロック165を提供するように構成される。
モード選択ユニット162は、予測モード(例えば、イントラ又はインター予測モード)、及び/又は、残差ブロック105の計算ため、及び、再構築されるブロック115の再構築のための予測ブロック165として用いられる対応する予測ブロック145又は155を選択するように構成されてよい。
モード選択ユニット162の実施形態は、予測モードを(例えば、予測ユニット160によりサポートされるものから)選択するように構成されてよく、ベストマッチ、又は、すなわち最小残差(最小残差は、伝送又は格納に対する圧縮率が高いことを意味する)、又は、最小のシグナリングオーバヘッド(最小のシグナリングオーバヘッドは、伝送又は格納に対する圧縮率が高いことを意味する)を提供する、又は、両方を考慮又はそのバランスを取る。モード選択ユニット162は、レート歪み最適化(RDO)に基づいて予測モードを決定する、すなわち、最小のレート歪み最適化を提供する、又は、関連するレート歪みが予測モード選択基準を少なくとも満たす予測モードを選択するように構成されてよい。
以下では、例示的なエンコーダ100により実行される予測処理(例えば、予測ユニット160)及びモード選択(例えば、モード選択ユニット162による)がより詳細に説明される。
上記で説明したように、エンコーダ100は、(予め決定された)予測モードのセットから最良の又は最適な予測モードを決定又は選択するように構成される。予測モードのセットは、例えば、イントラ予測モード及び/又はインター予測モードを有してよい。
イントラ予測モードのセットは、例えば、H.264に規定されているような、32個の異なるイントラ予測モード、例えば、DC(又は、平均)モード及びプラーナモードのような無指向性モード、又は、指向性モードを有してよい、又は、例えば、H.265に規定されているような、65個の異なるイントラ予測モード、例えば、DC(又は、平均)モード及びプラーナモードのような無指向性モード、又は、指向性モードを有してよい。
インター予測モードのセット(又は、可能のある)は、例えば、参照画像全体又は一部のみか、例えば、参照画像の現在のブロックのエリアの周りにある検索ウィンドウエリアが、最も一致する参照ブロックを検索するために用いられるか否か、及び/又は、例えば、画素補間が適用されるか否か、例えば、1/2/セミペル及び/又は1/4ペル補間かどうかは、利用可能な参照画像(すなわち、例えば、DBP230に格納されている以前の少なくとも部分的にデコードされた画像)及び他のインター予測パラメータに依存する。
上記の予測モードに加えて、スキップモード及び/又はダイレクトモードが適用されてよい。
予測ユニット160は、さらに、例えば、四分木区分化(QT)、二分木区分化(BT)、三分木区分化(TT)又はこれらの任意の組み合わせを繰り返し用いて、ブロック103をより小さいブロック区分又はサブブロックに区分化し、例えば、ブロック区分又はサブブロックのそれぞれに対して予測を実行するように構成されてよく、モード選択は、区分化されたブロック103の木構造、及び、ブロック区分又はサブブロックのそれぞれに適用される予測モードの選択を有する。
インター画像推定ユニット142とも称されるインター推定ユニット142は、インター推定(又は、「インター画像推定」)のために、画像ブロック103(現在の画像101の現在の画像ブロック103)及びデコードされた画像231、又は、少なくとも1つ又は複数の以前に再構築したブロック、例えば、1つ又は複数の他の/異なる以前にデコードされた画像231のうちの再構築したブロックを受信又は取得するように構成される。例えば、ビデオシーケンスは、現在の画像及び以前にデコードされた画像231を有してよく、つまり、現在の画像及び以前にデコードされた画像231は、ビデオシーケンスを形成する一連の画像の一部であってよい、又は、一連の画像を形成してよい。
エンコーダ100は、例えば、複数の他の画像の同じ又は異なる画像の複数の参照ブロックから参照ブロックを選択し、参照画像(又は、参照画像インデックス、...)、及び/又は、参照ブロックの位置(x、y座標)と現在のブロックの位置との間のオフセット(空間オフセット)をインター推定パラメータ143としてインター予測ユニット144に提供するように構成されてよい。このオフセットは、動きベクトル(MV)とも呼ばれる。インター推定は、動き推定(ME)とも称され、インター予測は、動き予測(MP)とも称される。
インター予測ユニット144は、インター予測パラメータ143を取得、例えば、受信し、インター予測パラメータ143に基づいて、又は、これを用いてインター予測を実行して、インター予測ブロック145を取得するように構成される。
図1は、インター符号化に関する2つの別個のユニット(又は、段階)、つまり、インター推定142及びインター予測144を示すが、例えば、現在の最良のインター予測モード及びそれぞれのインター予測ブロックを格納しつつ、可能なインター予測モードのすべての可能な又は予め決定されたサブセットを繰り返しテストして、インター予測144を別のときに実行することなく現在の最良のインター予測モード及びそれぞれのインター予測ブロックを(最終的な)インター予測パラメータ143及びインター予測ブロック145として用いることにより、インター予測ブロック、すなわち、いわゆる「ある種の」インター予測144)を算出することを、一方(インター推定)が要求する/有する際に、両方の機能が実行されてよい。
イントラ推定ユニット152は、画像ブロック103(現在の画像ブロック)、及び、イントラ推定のための同じ画像の1つ又は複数の以前に再構築したブロック、例えば、再構築された隣接ブロックを取得、例えば、受信するように構成される。エンコーダ100は、例えば、複数の(予め決定された)イントラ予測モードからイントラ予測モードを選択し、それをイントラ推定パラメータ153としてイントラ予測ユニット154に提供するように構成されてよい。
エンコーダ100の実施形態は、最適化基準、例えば、最小残差(例えば、現在の画像ブロック103に最も類似する予測ブロック155を提供するイントラ予測モード)又は最小のレート歪みに基づいて、イントラ予測モードを選択するように構成されてよい。
イントラ予測ユニット154は、イントラ予測パラメータ153、例えば、選択されたイントラ予測モード153に基づいて、イントラ予測ブロック155を決定するように構成される。
図1は、イントラ符号化に関する2つの別個のユニット(又は、段階)、つまり、イントラ推定152及びイントラ予測154を示すが、例えば、現在の最良のイントラ予測モード及びそれぞれのイントラ予測ブロックを格納しつつ、可能なイントラ予測モードのすべての可能な又は予め決定されたサブセットを繰り返しテストして、イントラ予測154を別のときに実行することなく現在の最良のイントラ予測モード及びそれぞれのイントラ予測ブロックを(最終的な)イントラ予測パラメータ153及びイントラ予測ブロック155として用いることにより、イントラ予測ブロック、すなわち、いわゆる「ある種の」イントラ予測154)を算出することを、一方(イントラ推定)が要求する/有する際に、両方の機能が実行されてよい。
エントロピーエンコーディングユニット170は、量子化された残差係数109、インター予測パラメータ143、イントラ予測パラメータ153、及び/又は、ループフィルタパラメータに対して、エントロピーエンコーディングアルゴリズム又はスキーム(例えば、可変長符号化(VLC)スキーム、コンテキスト適応型VLCスキーム(CALVC)、算術符号化スキーム、コンテキスト適応型バイナリ算術符号化(CABAC))を個々に又は共同で(又は、いずれでもなく)適用して、例えば、エンコードされたビットストリーム171の形式で、出力172により出力されることができるエンコードされた画像データ171を取得するように構成される。
図2は、例えば、エンコーダ100によりエンコードされる、エンコードされた画像データ(例えば、エンコードされたビットストリーム)171を受信して、デコードされた画像231を取得するように構成される例示的なビデオデコーダ200を示す。
デコーダ200は、入力202と、エントロピーデコードユニット204と、逆量子化ユニット210と、逆変換ユニット212と、再構築ユニット214と、バッファ216と、ループフィルタ220と、デコードされた画像バッファ230と、予測ユニット260と、インター予測ユニット244と、イントラ予測ユニット254と、モード選択ユニット260と、出力232とを備える。
エントロピーデコードユニット204は、エンコードされた画像データ171に対してエントロピーデコードを実行して、例えば、量子化係数209及び/又はデコードされた符号化パラメータ(図2には示されていない)、例えば、(デコードされた)インター予測パラメータ143、イントラ予測パラメータ153及び/又はループフィルタパラメータのいずれか又はすべてを取得するように構成される。
デコーダ200の実施形態では、逆量子化ユニット210、逆変換ユニット212、再構築ユニット214、バッファ216、ループフィルタ220、デコードされた画像バッファ230、予測ユニット260及びモード選択ユニット260は、エンコーダ100(及び、それぞれの機能ユニット)の逆の処理を実行して、エンコードされた画像データ171をデコードするように構成される。
特に、逆量子化ユニット210は、機能において逆量子化ユニット110と同一であってよく、逆変換ユニット212は、機能において逆変換ユニット112と同一であってよく、再構築ユニット214は、機能において再構築ユニット114と同一であってよく、バッファ216は、機能においてバッファ116と同一であってよく、ループフィルタ220は、機能においてループフィルタ220と同一であってよく(実際のループフィルタに関して、ループフィルタ220は、典型的には、元のイメージ101又はブロック103に基づいてフィルタリングパラメータを決定するフィルタ分析ユニットを有していないが、例えば、エントロピーデコードユニット204からエンコードするために用いられるフィルタリングパラメータを(明示的に又は暗黙的に)受信又は取得するので)、デコードされた画像バッファ230は、機能においてデコードされた画像バッファ130と同一であってよい。
予測ユニット260は、インター予測ユニット244及びインター予測ユニット254を有してよく、インター予測ユニット144は、機能においてインター予測ユニット144と同一であってよく、インター予測ユニット154は、機能においてイントラ予測ユニット154と同一であってよい。予測ユニット260及びモード選択ユニット262は、典型的には、(元のイメージ101に関してこれ以上の情報を用いることなく)エンコードされたデータ171のみから、ブロック予測を実行し、及び/又は、予測されたブロック265を取得し、予測パラメータ143又は153、及び/又は、選択された予測モードに関する情報を、例えば、エントロピーデコードユニット204から(明示的に又は暗黙的に)受信又は取得するように構成される。
デコーダ200は、ユーザへの提示又は視聴のために、例えば、出力232を介してデコードされた画像230を出力するように構成される。
本開示の実施形態は、ビデオ符号化に基づいて主に説明されてきたが、エンコーダ100及びデコーダ200(及び、対応して、システム300)の実施形態は、静止画像処理又は符号化、すなわち、ビデオ符号化にあるような任意の前述した又は連続的な画像とは関係のない個別の画像の処理又は符号化のために構成されてもよいことに留意されたい。一般的に、画像処理符号化が単一の画像101に限定される場合、インター推定142、インター予測144、242のみが利用可能ではない。ほとんどの場合、必ずしもビデオエンコーダ100及びビデオデコーダ200の他のすべての機能(ツール又は技術とも称される)、例えば、区分化、変換(スケーリング)106、量子化108、逆量子化110、逆変換112、イントラ推定142、イントラ予測154、254、及び/又は、ループフィルタリング120、220、及び、エントロピー符号化170及びエントロピーデコード204が、静止画像に対して等しく用いられるわけではないかもしれない。
本開示は、図1及び図2においてループフィルタとも称されるデブロッキングフィルタの仕組みに言及する。
図4には、ブロックエッジ403により分けられる2つの例示的な符号化ブロック401、402が示されている。符号化ブロック401、402は、画素列402-407及び画素行408-415を有する。ここでは特に、ブロックエッジは、垂直方向のブロックエッジである。この例では、ブロックは、4×4画素のサイズを有する。しかしながら、実施の際、他のブロックサイズが使用され得る。
ブロック境界の各セグメントに対して、デブロッキング決定が別個に行われる。
HEVCにおける強力なデブロッキングフィルタは、エリアを平滑化するために適用され、ブロックアーチファクトがより見やすくなる。フィルタリングモードは、ブロック境界から3つのサンプルを修正し、強力なローパスフィルタリングを有効にする。各サンプルに対して、クリッピング演算がさらに実行される。クリッピング演算を実行するための理由は、フィルタリング決定において評価されていなかったラインに対する過度のフィルタリングがないことを確認するために、フィルタリングの量を制限するからである。図4に示されるように、画素列405及び406は、フィルタリングするか、フィルタリングしないかの決定において用いられていない。これは、計算の複雑性の理由で行われる。ここでは、決定画素列404及び407のみが、実行対象のフィルタリングを決定するために用いられる。
以下では、デブロッキングされた画素値を決定するための関数が示される。
P0’、P1’、P2’は、元の画素値P0、P1及びP2にそれぞれ対応するフィルタリングされる画素値である。ここで、図4に示されるように、第2インデックスは省略されている。
記号「>>」は、右シフトを示す。右シフトは2yの除算に対応し、yは右シフトの量である。例えば、関数7.17において、「>>3」は、23で除算した値=8を示す。
修正されたサンプル値は、次に、[Pi-2tc,Pi+2tc]の範囲に対してクリッピングされ、Piは画素iの画素値であり、tcは一定値である。tcは、例えば、テーブルへのインデックスとして平均量子化パラメータQPを用いるテーブルから導出され得る。通常、QP値が高くなればなるほど、tc値が大きくなる。
図8は、ブロックエッジ800における典型的なブロッキングアーチファクトを示す。サンプルP0及びQ0は、最大の歪みを有し、ブロックエッジからさらに離れるサンプル、例えば、サンプルP3及びQ3は、歪みが少ない傾向にあることが容易に分かり得る。
画素値のすべてが同じクリッピング範囲[Pi-2tc,Pi+2tc]にクリッピングされるので、ブロック境界から遠く離れている画素値、例えば、P3及びQ3はまた、同じクリッピング範囲を用いており、したがって、画素値P0及びQ0と同じ範囲内で修正されることを可能にする。この一定のクリッピング範囲は、結果的に、境界から遠く離れるサンプルも大幅に修正されることになるため、結果的に、過度な平滑化又はぼかし、又は、場合により、意味のあるイメージコンテンツの損失を伴う依然として正しくないデブロッキングフィルタリングをもたらす。
すべての画素値に対して固定のクリッピング範囲を用いる代わりに、本開示によれば、クリッピング範囲が適応可能になっている。特に、クリッピング範囲は、ブロックエッジからのそれぞれの画素の距離から適応可能になっている。
有利なことに、ルックアップテーブル又は関数は、フィルタリングされる画素値がクリッピングされることにより、クリッピング値を決定するために用いられる。好ましくは、そのような関数は、エッジからの画素の距離に基づいて単調に減少する関数である。エッジ/境界からのサンプルの距離が大きくなればなるほど、画素に対して規定されるクリッピング値が小さくなる。したがって、ブロックエッジから遠く離れている画素値は、より小さいクリッピング値を有することを可能にすることで、ブロックエッジに近い画素値と比較して、クリッピング後により小さい偏差を有することを可能にする。このように、フィルタリングの量が制御されるので、過度な平滑化又はぼかしが防止される。
有利なことに、指数関数は、クリッピング値を決定するために用いられる。クリッピング値は、次に、以下のように決定され得る。
tc’=tc+(tc>>i)
tc’はクリッピング値である。
tcは一定値である。
iは、ブロックエッジからの画素の距離である。
>>は、右シフトを示す。
tc’=tc+(tc>>i)
tc’はクリッピング値である。
tcは一定値である。
iは、ブロックエッジからの画素の距離である。
>>は、右シフトを示す。
これは、結果として、デブロッキングされた画素値のクリッピングのための以下の式が得られる。
P’a,b=(Pa,b-(tc+(tc>>i))、
Pa,b+(tc+(tc>>i)))。
ここで、
P’a,bは、画素a、bのデブロッキングされた画素値である。
aは画素行の整数インデックスである。
bは画素列の整数インデックスである。
Pa,bは画素a、bの元の画素値である。
iは、ブロックエッジからの画素の整数距離である。
P’a,b=(Pa,b-(tc+(tc>>i))、
Pa,b+(tc+(tc>>i)))。
ここで、
P’a,bは、画素a、bのデブロッキングされた画素値である。
aは画素行の整数インデックスである。
bは画素列の整数インデックスである。
Pa,bは画素a、bの元の画素値である。
iは、ブロックエッジからの画素の整数距離である。
例えば、P0、0及びQ0、0の場合、iの値が0である(距離が0である)ので、クリッピングは、式7.17-7.19に沿う説明と同じ状態を保つ。クリッピング値がtc’=tc+(tc>>0)=2tcに設定され、結果として、P’0,0=(P0,0-2tc),P0,0+2tc))が得られる。
例えば、P’1,0の場合、クリッピングは、tc’=tc+(tc>>1)=tc+tc/2=1.5tcに低下し、結果として、P’1,0=(P1,0-1.5tc)、P1,0+1.5tc))が得られる。
例えば、P’2,0の場合、クリッピングは、tc’=tc+(tc>>2)=tc+tc/4=1.25tcに低下し、結果として、P’2,0=(P2,0-1.25tc),P2,0+1.25tc))が得られる。
分かり得るように、サンプル距離iがブロックエッジから大きくなるにつれて、クリッピング値が次第に低下する。
用いられ得る別の代替的な指数関数は、以下のとおりである。
tc’=((2*tc)>>i)
tc’はクリッピング値である。
tcは一定値である。
iは、ブロックエッジからの画素の距離である。
>>は、右シフトを示す。
tc’=((2*tc)>>i)
tc’はクリッピング値である。
tcは一定値である。
iは、ブロックエッジからの画素の距離である。
>>は、右シフトを示す。
これは、結果として、デブロッキングされた画素値のクリッピングのための以下の式が得られる。
P’a,b=(Pa,b-((2*tc)>>i))
Pa,b+((2*tc)>>i)))。
ここで、
P’a,bは、画素a、bのデブロッキングされた画素値である。
aは画素行の整数インデックスである。
bは画素列の整数インデックスである。
Pa,bは画素a、bの元の画素値である。
iは、ブロックエッジからの画素の整数距離である。
P’a,b=(Pa,b-((2*tc)>>i))
Pa,b+((2*tc)>>i)))。
ここで、
P’a,bは、画素a、bのデブロッキングされた画素値である。
aは画素行の整数インデックスである。
bは画素列の整数インデックスである。
Pa,bは画素a、bの元の画素値である。
iは、ブロックエッジからの画素の整数距離である。
しかしながら、指数関数の計算は、結果として、大幅な計算の複雑性をもたらす。代替的な実施形態では、線形関数が用いられ得る。この場合、クリッピング値は、以下のように設定される。
tc’=tc+(tc-(i*x)
tc’はクリッピング値である。
tcは一定値である。
iは、ブロックエッジからの画素の距離である。
xは一定値である。
tc’=tc+(tc-(i*x)
tc’はクリッピング値である。
tcは一定値である。
iは、ブロックエッジからの画素の距離である。
xは一定値である。
これは、結果として、クリッピングされるデブロッキングされた画素値が得られる。
P’a,b=
(Pa,b-(tc+(tc-(i*x)),Pa,b+(tc+(tc-(i*x)))
ここで、
P’a,bは、画素a、bのデブロッキングされた画素値である。
aは画素行の整数インデックスである。
bは画素列の整数インデックスである。
Pa,bは画素a、bの元の画素値である。
iは、ブロックエッジからの画素の整数距離である。
xは一定の整数値である。
P’a,b=
(Pa,b-(tc+(tc-(i*x)),Pa,b+(tc+(tc-(i*x)))
ここで、
P’a,bは、画素a、bのデブロッキングされた画素値である。
aは画素行の整数インデックスである。
bは画素列の整数インデックスである。
Pa,bは画素a、bの元の画素値である。
iは、ブロックエッジからの画素の整数距離である。
xは一定の整数値である。
有利なことに、xは、デブロッキング処理において用いられる平均量子化パラメータQPによって決まる。一般的に、QP値が増加するにつれて、xの値は増加する。また、xの値は、8ビットのビデオ及び10ビットのビデオに対して別個に導出され得る。
例として、10ビットのビデオに対するxの値は、以下のように設定することができる。
例として、37の平均QP値の場合、xの値が2であるので、画素値は、以下のように修正される。
例えば、P0、0の場合、iの値が0である(距離が0である)ので、クリッピングは、式7.17-7.19に沿う説明と同じ状態を保つ。クリッピング値がtc’=tc+(tc-(0*2)=2tcに設定され、結果として、P’0,0=(P0,0-(tc+(tc-(0*2))、P0,0+(tc+(tc-(0*2)))が得られる。
例えば、P’1,0の場合、クリッピングは、tc’=tc+(tc-(1*2)=2tc-2に低下し、結果として、P’1,0=(P1,0-2tc-2),P1,0+2tc-2))が得られる。
例えば、P’2,0の場合、クリッピングは、tc’=tc+(tc-2*2)=tc+(tc-4)=2tc-4に低下し、結果として、P’2,0=(P2,0-(2tc-4)),P2,0+(2tc-4))が得られる。
さらに有利な実施形態において、距離に依存するクリッピングの使用は、前に示したように、図4に示されるような非決定画素列及び非決定画素行に限定されている。前に説明したように、ブロックエッジのフィルタリングが実行されるかどうかを決定するために、決定画素列(垂直方向のブロックエッジ)又は決定画素行(水平方向のブロックエッジ)からの画素の数が用いられる。しかしながら、計算の複雑性を省くために、ブロック内のすべての画素列/行がこの決定を基礎として用いられているわけではない。しかしながら、範囲に依存するクリッピングは、非決定画素列/行でのみ実行され、決定画素列/行である画素列/行では実行されない。決定画素列/行では、一定値を用いる従来のクリッピングが実行される。
図5には、本開示の第1態様の実施形態が示されている。特に、ここでは、フィルタ502を備えるイメージ処理デバイス501が示されている。フィルタ502は、上記に示されるデブロッキングフィルタリングを実行するように適合される。
図6には、本開示の第2態様の実施形態が示されている。特に、ここでは、イメージ処理デバイス601を備え、さらに、フィルタ602を備えるエンコーダ600が示されている。上記に示されるように、フィルタ602は、デブロッキングフィルタリングを実行する。
図7には、本開示の第3態様の実施形態が示されている。特に、ここでは、イメージ処理デバイス701を備え、次に、フィルタ702を備えるデコーダ700が示されている。上記に示されるように、フィルタ702は、デブロッキングフィルタリングを実行する。
最後に、図9には、本開示の第5態様の実施形態がフロー図で示されている。第1段階1000において、ブロックエッジからのデブロッキング範囲内のフィルタリング対象の画素の少なくともいくつかに対して、画素の元の画素値及び少なくとも1つのさらなる画素値から、フィルタリングされる画素値が決定される。第2段階1001において、ブロックエッジからの画素の距離に依存して、画素のクリッピング値が決定される。最後の第3段階1002において、クリッピング値を用いて、フィルタリングされる画素値がクリッピングされ、結果として、デブロッキングされた画素値が得られる。
上記からどのようにデブロッキングフィルタリングが実行されるかに関する詳細がまた、本開示の第4態様に係る方法に適用可能であることが指摘される。
本開示は、実施形態に、特に、上記に示される符号化ブロックサイズ及びフィルタタップ長に限定されるものではないことに留意することが重要である。本開示は、任意の符号化ブロックサイズ及び任意のフィルタタップ長に適用され得る。
[頭文字の定義]
CTU/CTB-符号化ツリーユニット/符号化ツリーブロック
CU/CB-符号化ユニット/符号化ブロック
PU/PB-予測ユニット/予測ブロック
TU/TB-変換ユニット/変換ブロック
HEVC-高効率ビデオ符号化
CTU/CTB-符号化ツリーユニット/符号化ツリーブロック
CU/CB-符号化ユニット/符号化ブロック
PU/PB-予測ユニット/予測ブロック
TU/TB-変換ユニット/変換ブロック
HEVC-高効率ビデオ符号化
[参照番号のリスト]
図1
100 エンコーダ
103 画像ブロック
102 入力(例えば、入力ポート、入力インタフェース)
104 残差計算[ユニット又は段階]
105 残差ブロック
106 変換(例えば、スケーリングを追加的に備える)[ユニット又は段階]
107 変換係数
108 量子化[ユニット又は段階]
109 量子化係数
110 逆量子化[ユニット又は段階]
111 逆量子化係数
112 逆変換(例えば、スケーリングを追加的に備える)[ユニット又は段階]
113 逆変換したブロック
114 再構築[ユニット又は段階]
115 再構築したブロック
116 (ライン)バッファ[ユニット又は段階]
117 参照サンプル
120 ループフィルタ[ユニット又は段階]
121 フィルタリングされるブロック
130 デコードされた画像バッファ(DPB)[ユニット又は段階]
142 インター推定(又は、インター画像推定)[ユニット又は段階]
143 インター推定パラメータ(例えば、参照画像/参照画像インデックス、動きベクトル/オフセット)
144 インター予測(又は、インター画像予測)[ユニット又は段階]
145 インター予測ブロック
152 イントラ推定(又は、イントラ画像推定)[ユニット又は段階]
153 イントラ予測パラメータ(例えば、イントラ予測モード)
154 イントラ予測(イントラフレーム/画像予測)[ユニット又は段階]
155 イントラ予測ブロック
162 モード選択[ユニット又は段階]
165 予測ブロック(インター予測ブロック145又はイントラ予測ブロック155のいずれか)
170 エントロピーエンコード[ユニット又は段階]
171 エンコードされた画像データ(例えば、ビットストリーム)
172 出力(出力ポート、出力インタフェース)
231 デコードされた画像
図2
200 デコーダ
171 エンコードされた画像データ(例えば、ビットストリーム)
202 入力(ポート/インタフェース)
254 エントロピーデコード
209 量子化係数
210 逆量子化
211 逆量子化係数
212 逆変換(スケーリング)
213 逆変換したブロック
214 再構築(ユニット)
215 再構築したブロック
216 (ライン)バッファ
217 参照サンプル
220 ループフィルタ(インループフィルタ)
221 フィルタリングされるブロック
230 デコードされた画像バッファ(DPB)
231 デコードされた画像
232 出力(ポート/インタフェース)
244 インター予測(インターフレーム/画像予測)
245 インター予測ブロック
254 イントラ予測(イントラフレーム/画像予測)
255 イントラ予測ブロック
260 モード選択
265 予測ブロック(インター予測ブロック245又はイントラ予測ブロック255)
図3
300 符号化システム
310 ソースデバイス
312 画像ソース
313 (未加工)画像データ
314 プリプロセッサ/前処理ユニット
315 前処理された画像データ
318 通信ユニット/インタフェース
320 宛先デバイス
322 通信ユニット/インタフェース
326 ポストプロセッサ/後処理ユニット
327 後処理された画像データ
328 ディスプレイデバイス/ユニット
330 伝送され/受信され/通信された(エンコードされた)画像データ
図4
401 符号化ブロック
402 符号化ブロック
403 ブロックエッジ
404 画素列
405 画素列
406 画素列
407 画素列
408 画素行
409 画素行
410 画素行
411 画素行
412 画素行
413 画素行
414 画素行
415 画素行
図5
501 イメージ処理デバイス
502 フィルタ
図6
600 エンコーダ
601 イメージ処理デバイス
602 フィルタ
図7
700 デコーダ
701 イメージ処理デバイス
702 フィルタ
図8
800 ブロックエッジ
図9
1000 第1段階
1001 第2段階
1002 第3段階
図1
100 エンコーダ
103 画像ブロック
102 入力(例えば、入力ポート、入力インタフェース)
104 残差計算[ユニット又は段階]
105 残差ブロック
106 変換(例えば、スケーリングを追加的に備える)[ユニット又は段階]
107 変換係数
108 量子化[ユニット又は段階]
109 量子化係数
110 逆量子化[ユニット又は段階]
111 逆量子化係数
112 逆変換(例えば、スケーリングを追加的に備える)[ユニット又は段階]
113 逆変換したブロック
114 再構築[ユニット又は段階]
115 再構築したブロック
116 (ライン)バッファ[ユニット又は段階]
117 参照サンプル
120 ループフィルタ[ユニット又は段階]
121 フィルタリングされるブロック
130 デコードされた画像バッファ(DPB)[ユニット又は段階]
142 インター推定(又は、インター画像推定)[ユニット又は段階]
143 インター推定パラメータ(例えば、参照画像/参照画像インデックス、動きベクトル/オフセット)
144 インター予測(又は、インター画像予測)[ユニット又は段階]
145 インター予測ブロック
152 イントラ推定(又は、イントラ画像推定)[ユニット又は段階]
153 イントラ予測パラメータ(例えば、イントラ予測モード)
154 イントラ予測(イントラフレーム/画像予測)[ユニット又は段階]
155 イントラ予測ブロック
162 モード選択[ユニット又は段階]
165 予測ブロック(インター予測ブロック145又はイントラ予測ブロック155のいずれか)
170 エントロピーエンコード[ユニット又は段階]
171 エンコードされた画像データ(例えば、ビットストリーム)
172 出力(出力ポート、出力インタフェース)
231 デコードされた画像
図2
200 デコーダ
171 エンコードされた画像データ(例えば、ビットストリーム)
202 入力(ポート/インタフェース)
254 エントロピーデコード
209 量子化係数
210 逆量子化
211 逆量子化係数
212 逆変換(スケーリング)
213 逆変換したブロック
214 再構築(ユニット)
215 再構築したブロック
216 (ライン)バッファ
217 参照サンプル
220 ループフィルタ(インループフィルタ)
221 フィルタリングされるブロック
230 デコードされた画像バッファ(DPB)
231 デコードされた画像
232 出力(ポート/インタフェース)
244 インター予測(インターフレーム/画像予測)
245 インター予測ブロック
254 イントラ予測(イントラフレーム/画像予測)
255 イントラ予測ブロック
260 モード選択
265 予測ブロック(インター予測ブロック245又はイントラ予測ブロック255)
図3
300 符号化システム
310 ソースデバイス
312 画像ソース
313 (未加工)画像データ
314 プリプロセッサ/前処理ユニット
315 前処理された画像データ
318 通信ユニット/インタフェース
320 宛先デバイス
322 通信ユニット/インタフェース
326 ポストプロセッサ/後処理ユニット
327 後処理された画像データ
328 ディスプレイデバイス/ユニット
330 伝送され/受信され/通信された(エンコードされた)画像データ
図4
401 符号化ブロック
402 符号化ブロック
403 ブロックエッジ
404 画素列
405 画素列
406 画素列
407 画素列
408 画素行
409 画素行
410 画素行
411 画素行
412 画素行
413 画素行
414 画素行
415 画素行
図5
501 イメージ処理デバイス
502 フィルタ
図6
600 エンコーダ
601 イメージ処理デバイス
602 フィルタ
図7
700 デコーダ
701 イメージ処理デバイス
702 フィルタ
図8
800 ブロックエッジ
図9
1000 第1段階
1001 第2段階
1002 第3段階
本開示の追加の詳細は、付属書Aに提示される。
いくつかの実施形態が本開示において提供されてきたが、開示されるシステム及び方法は、本開示の趣旨又は範囲から逸脱することなく、多くの他の特定の形式で具現化されてよいことを理解されたい。本例は、例示的なものであって、限定的なものではないとみなされるべきであり、その意図は、本明細書において与えられた詳細に限定されるべきではない。例えば、様々な要素又はコンポーネントが、別のシステムに組み合わせられ、又は、統合されてよく、又は、一定の特徴が省略されても、実装されなくてもよい。
さらに、様々な実施形態において、別個に又は分離して説明及び示された技術、システム、サブシステム及び方法は、本開示の範囲から逸脱することなく、他のシステム、モジュール、技術又は方法と組み合わせられ、又は、統合されてよい。互いに連結される、互いに直接連結される、又は互いに通信するものとして示され論じられた他の要素が、電気的であれ、機械的であれ、又は別の方法であれ、何らかのインタフェース、デバイス、又は中間コンポーネントを介して間接的に連結されても、通信してもよい。変更、置換及び代替の他の例が当業者によって確認可能であり、本明細書で開示される趣旨及び範囲から逸脱することなく行われ得る。以下に与えられるものは、特定の実施形態をリスト化したものである。丸括弧内の参照番号は、限定なものとしてではなく、例示的なものとして解釈されるべきである。
実施形態1
ブロック符号でエンコードされたイメージの第1符号化ブロック(401)と第2符号化ブロック(402)との間のブロックエッジ(403、800)をデブロッキングするための、イメージエンコーダ(600)及び/又はイメージデコーダ(700)における使用のためのイメージ処理デバイス(501、601、701)であって、イメージ処理デバイス(501、601、701)は、ブロックエッジ(403、800)をフィルタリングするためのフィルタ(502、602、702)を備え、ブロックエッジ(403、800)からのデブロッキング範囲であってブロックエッジ(403、800)に対して垂直となるデブロッキング範囲内のフィルタリング対象の画素の少なくともいくつかに対して、
画素の元の画素値及び少なくとも1つのさらなる画素値からフィルタリングされる画素値を決定し、
ブロックエッジ(403、800)からの画素の距離に依存する画素のクリッピング値を決定し、
クリッピング値を用いてフィルタリングされる画素値をクリッピングして、結果としてデブロッキングされた画素値が得られる
ように構成される。
実施形態2
クリッピング値は、元の画素値とデブロッキングされた画素値との間で最大限許容される変化量である、実施形態1のイメージ処理デバイス(501、601、701)。
実施形態3
クリッピング値を用いてフィルタリングされる画素値をクリッピングして、結果としてデブロッキングされた画素値が得られることは、
フィルタリングされる画素値とデブロッキングされた画素値との間の差の絶対値が画素のクリッピング値を越えない場合、デブロッキングされた画素値をフィルタリングされる画素値に設定することと、
フィルタリングされる画素値が、元の画素値プラスクリッピング値を超える場合、デブロッキングされた画素値を、元の画素値プラス画素のクリッピング値に設定することと、
フィルタリングされる画素値が、元の画素値マイナスクリッピング値より小さい場合、デブロッキングされた画素値を、元の画素値マイナス画素のクリッピング値に設定することと
を有する、実施形態1又は2のイメージ処理デバイス(501、601、701)。
実施形態4
フィルタ(502、602、702)は、関数又はルックアップテーブルを用いることにより、ブロックエッジ(403、800)からの画素の距離に依存する画素のクリッピング値を決定するように適合される、実施形態1から3のうちのいずれかのイメージ処理デバイス(501、601、701)。
実施形態5
フィルタ(502、602、702)は、ブロックエッジ(403、800)からの画素の距離を拡大しつつ単調に減少する関数を用いることにより、ブロックエッジ(403、800)からの画素の距離に依存する画素のクリッピング値を決定するように適合される、実施形態1から3のうちのいずれかのイメージ処理デバイス(501、601、701)。
実施形態6
関数は指数関数である、実施形態5のイメージ処理デバイス(501、601、701)。
実施形態7
関数は、tc’=tc+(tc>>i)であり、tc’はクリッピング値であり、tcは一定値であり、iは、ブロックエッジ(403、800)からの画素の距離であり、>>は、右シフトを示す、実施形態6のイメージ処理デバイス(501、601、701)。
実施形態8
関数は線形関数である、実施形態5のイメージ処理デバイス(501、601、701)。
実施形態9
関数はtc’=tc+(tc-(i*x)であり、tc’はクリッピング値であり、tcは一定値であり、iは、ブロックエッジ(403、800)からの画素の距離であり、xは一定値である、実施形態8のイメージ処理デバイス(501、601、701)。
実施形態10
実施形態1から9のうちのいずれかのイメージ処理デバイス(501、601、701)であって、フィルタ(502、602、702)は、ブロックエッジ(403、800)からのデブロッキング範囲であって、ブロックエッジ(403、800)に対して垂直となるデブロッキング範囲内のフィルタリング対象の各画素に対して、
画素の元の画素値及び少なくとも1つのさらなる画素値からフィルタリングされる画素値を決定し、ブロックエッジ(403、800)から画素の距離に依存する画素のクリッピング値を決定し、クリッピング値を用いてフィルタリングされる画素値をクリッピングして、結果としてデブロッキングされた画素値が得られるように適合される。
実施形態11
フィルタ(502、602、702)は、垂直方向のブロックエッジ(403、800)の場合、決定画素列の数がブロックエッジ(403、800)を囲むブロック内の画素列の数より小さいということに基づいて、及び、水平方向のブロックエッジ(403、800)の場合、決定画像行の数がブロックエッジ(403、800)を囲むブロック内の画素行の数より小さいということに基づいて、ブロックエッジ(403、800)がフィルタリングされる必要があるかどうかを決定することであって、フィルタ(502、602、702)は、ブロックエッジ(403、800)からのデブロッキング範囲内の決定画素行又は決定画素列にはないフィルタリング対象の各画素に対して、デブロッキング範囲がブロックエッジ(403、800)に対して垂直となるように適合される、決定することと、
画素の元の画素値及び少なくとも1つのさらなる画素値からフィルタリングされる画素値を決定することと、
ブロックエッジ(403、800)からの画素の距離に依存する画素のクリッピング値を決定することと、
クリッピング値を用いてフィルタリングされる画素値をクリッピングして、結果として、デブロッキングされた画素値が得られることと
を行うように適合され、
フィルタ(502、602、702)は、ブロックエッジ(403、800)からのデブロッキング範囲であって、ブロックエッジ(403、800)に対して垂直となるデブロッキング範囲内の決定画素行又は決定画素列にあるフィルタリング対象の各画素に対して、
画素の元の画素値及び少なくとも1つのさらなる画素値からフィルタリングされる画素値を決定することと、
一定のクリッピング値を用いてフィルタリングされる画素値をクリッピングして、結果として、デブロッキングされた画素値が得られることと
を行うように適合される、実施形態1から9のうちのいずれかのイメージ処理デバイス(501、601、701)。
実施形態12
フィルタ(502、602、702)は、1個、又は、少なくとも2個、又は、少なくとも3個、又は、少なくとも4個、又は、少なくとも5個、又は、少なくとも6個、又は、少なくとも7個、又は、少なくとも8個、又は、少なくとも9個、又は、少なくとも10個、又は、少なくとも11個、又は、少なくとも12個、又は、少なくとも13個、又は、少なくとも14個、又は、少なくとも15個、又は、少なくとも16個の画素のフィルタタップ長を有する、実施形態1から11のうちのいずれかのイメージ処理デバイス(501、601、701)。
実施形態13
実施形態1から12のうちのいずれかのイメージ処理デバイス(501、601、701)を備える、イメージをエンコードするためのエンコーダ。
実施形態14
実施形態1から12のうちのいずれかのイメージ処理デバイス(501、601、701)を備える、イメージをデコードするためのデコーダ。
実施形態15
ブロック符号でエンコードされたイメージの第1符号化ブロックと第2符号化ブロックとの間のブロックエッジ(403、800)をデブロッキングするためのデブロッキング方法であって、方法は、ブロックエッジ(403、800)からのデブロッキング範囲であって、ブロックエッジ(403、800)に対して垂直となるデブロッキング範囲内のフィルタリング対象となる画素の少なくともいくつかに対して、
画素の元の画素値及び少なくとも1つのさらなる画素値からフィルタリングされる画素値を決定する段階(1000)と、
ブロックエッジ(403、800)からの画素の距離に依存する画素のクリッピング値を決定する段階(1001)と、
クリッピング値を用いてフィルタリングされる画素値をクリッピングして、結果としてデブロッキングされた画素値が得られる(1002)と
を備える方法。
実施形態16
実施形態15のデブロッキング方法を備える、イメージをエンコードするためのエンコーディング方法。
実施形態17
実施形態15のデブロッキング方法を備える、イメージをデコードするためのデコーディング方法。
実施形態18
コンピュータプログラムがコンピュータ上で動作する場合、実施形態15から17のうちのいずれかに係る方法を実行するためのプログラムコードを備えるコンピュータプログラム製品。
実施形態1
ブロック符号でエンコードされたイメージの第1符号化ブロック(401)と第2符号化ブロック(402)との間のブロックエッジ(403、800)をデブロッキングするための、イメージエンコーダ(600)及び/又はイメージデコーダ(700)における使用のためのイメージ処理デバイス(501、601、701)であって、イメージ処理デバイス(501、601、701)は、ブロックエッジ(403、800)をフィルタリングするためのフィルタ(502、602、702)を備え、ブロックエッジ(403、800)からのデブロッキング範囲であってブロックエッジ(403、800)に対して垂直となるデブロッキング範囲内のフィルタリング対象の画素の少なくともいくつかに対して、
画素の元の画素値及び少なくとも1つのさらなる画素値からフィルタリングされる画素値を決定し、
ブロックエッジ(403、800)からの画素の距離に依存する画素のクリッピング値を決定し、
クリッピング値を用いてフィルタリングされる画素値をクリッピングして、結果としてデブロッキングされた画素値が得られる
ように構成される。
実施形態2
クリッピング値は、元の画素値とデブロッキングされた画素値との間で最大限許容される変化量である、実施形態1のイメージ処理デバイス(501、601、701)。
実施形態3
クリッピング値を用いてフィルタリングされる画素値をクリッピングして、結果としてデブロッキングされた画素値が得られることは、
フィルタリングされる画素値とデブロッキングされた画素値との間の差の絶対値が画素のクリッピング値を越えない場合、デブロッキングされた画素値をフィルタリングされる画素値に設定することと、
フィルタリングされる画素値が、元の画素値プラスクリッピング値を超える場合、デブロッキングされた画素値を、元の画素値プラス画素のクリッピング値に設定することと、
フィルタリングされる画素値が、元の画素値マイナスクリッピング値より小さい場合、デブロッキングされた画素値を、元の画素値マイナス画素のクリッピング値に設定することと
を有する、実施形態1又は2のイメージ処理デバイス(501、601、701)。
実施形態4
フィルタ(502、602、702)は、関数又はルックアップテーブルを用いることにより、ブロックエッジ(403、800)からの画素の距離に依存する画素のクリッピング値を決定するように適合される、実施形態1から3のうちのいずれかのイメージ処理デバイス(501、601、701)。
実施形態5
フィルタ(502、602、702)は、ブロックエッジ(403、800)からの画素の距離を拡大しつつ単調に減少する関数を用いることにより、ブロックエッジ(403、800)からの画素の距離に依存する画素のクリッピング値を決定するように適合される、実施形態1から3のうちのいずれかのイメージ処理デバイス(501、601、701)。
実施形態6
関数は指数関数である、実施形態5のイメージ処理デバイス(501、601、701)。
実施形態7
関数は、tc’=tc+(tc>>i)であり、tc’はクリッピング値であり、tcは一定値であり、iは、ブロックエッジ(403、800)からの画素の距離であり、>>は、右シフトを示す、実施形態6のイメージ処理デバイス(501、601、701)。
実施形態8
関数は線形関数である、実施形態5のイメージ処理デバイス(501、601、701)。
実施形態9
関数はtc’=tc+(tc-(i*x)であり、tc’はクリッピング値であり、tcは一定値であり、iは、ブロックエッジ(403、800)からの画素の距離であり、xは一定値である、実施形態8のイメージ処理デバイス(501、601、701)。
実施形態10
実施形態1から9のうちのいずれかのイメージ処理デバイス(501、601、701)であって、フィルタ(502、602、702)は、ブロックエッジ(403、800)からのデブロッキング範囲であって、ブロックエッジ(403、800)に対して垂直となるデブロッキング範囲内のフィルタリング対象の各画素に対して、
画素の元の画素値及び少なくとも1つのさらなる画素値からフィルタリングされる画素値を決定し、ブロックエッジ(403、800)から画素の距離に依存する画素のクリッピング値を決定し、クリッピング値を用いてフィルタリングされる画素値をクリッピングして、結果としてデブロッキングされた画素値が得られるように適合される。
実施形態11
フィルタ(502、602、702)は、垂直方向のブロックエッジ(403、800)の場合、決定画素列の数がブロックエッジ(403、800)を囲むブロック内の画素列の数より小さいということに基づいて、及び、水平方向のブロックエッジ(403、800)の場合、決定画像行の数がブロックエッジ(403、800)を囲むブロック内の画素行の数より小さいということに基づいて、ブロックエッジ(403、800)がフィルタリングされる必要があるかどうかを決定することであって、フィルタ(502、602、702)は、ブロックエッジ(403、800)からのデブロッキング範囲内の決定画素行又は決定画素列にはないフィルタリング対象の各画素に対して、デブロッキング範囲がブロックエッジ(403、800)に対して垂直となるように適合される、決定することと、
画素の元の画素値及び少なくとも1つのさらなる画素値からフィルタリングされる画素値を決定することと、
ブロックエッジ(403、800)からの画素の距離に依存する画素のクリッピング値を決定することと、
クリッピング値を用いてフィルタリングされる画素値をクリッピングして、結果として、デブロッキングされた画素値が得られることと
を行うように適合され、
フィルタ(502、602、702)は、ブロックエッジ(403、800)からのデブロッキング範囲であって、ブロックエッジ(403、800)に対して垂直となるデブロッキング範囲内の決定画素行又は決定画素列にあるフィルタリング対象の各画素に対して、
画素の元の画素値及び少なくとも1つのさらなる画素値からフィルタリングされる画素値を決定することと、
一定のクリッピング値を用いてフィルタリングされる画素値をクリッピングして、結果として、デブロッキングされた画素値が得られることと
を行うように適合される、実施形態1から9のうちのいずれかのイメージ処理デバイス(501、601、701)。
実施形態12
フィルタ(502、602、702)は、1個、又は、少なくとも2個、又は、少なくとも3個、又は、少なくとも4個、又は、少なくとも5個、又は、少なくとも6個、又は、少なくとも7個、又は、少なくとも8個、又は、少なくとも9個、又は、少なくとも10個、又は、少なくとも11個、又は、少なくとも12個、又は、少なくとも13個、又は、少なくとも14個、又は、少なくとも15個、又は、少なくとも16個の画素のフィルタタップ長を有する、実施形態1から11のうちのいずれかのイメージ処理デバイス(501、601、701)。
実施形態13
実施形態1から12のうちのいずれかのイメージ処理デバイス(501、601、701)を備える、イメージをエンコードするためのエンコーダ。
実施形態14
実施形態1から12のうちのいずれかのイメージ処理デバイス(501、601、701)を備える、イメージをデコードするためのデコーダ。
実施形態15
ブロック符号でエンコードされたイメージの第1符号化ブロックと第2符号化ブロックとの間のブロックエッジ(403、800)をデブロッキングするためのデブロッキング方法であって、方法は、ブロックエッジ(403、800)からのデブロッキング範囲であって、ブロックエッジ(403、800)に対して垂直となるデブロッキング範囲内のフィルタリング対象となる画素の少なくともいくつかに対して、
画素の元の画素値及び少なくとも1つのさらなる画素値からフィルタリングされる画素値を決定する段階(1000)と、
ブロックエッジ(403、800)からの画素の距離に依存する画素のクリッピング値を決定する段階(1001)と、
クリッピング値を用いてフィルタリングされる画素値をクリッピングして、結果としてデブロッキングされた画素値が得られる(1002)と
を備える方法。
実施形態16
実施形態15のデブロッキング方法を備える、イメージをエンコードするためのエンコーディング方法。
実施形態17
実施形態15のデブロッキング方法を備える、イメージをデコードするためのデコーディング方法。
実施形態18
コンピュータプログラムがコンピュータ上で動作する場合、実施形態15から17のうちのいずれかに係る方法を実行するためのプログラムコードを備えるコンピュータプログラム製品。
Claims (22)
- ブロックベースのコーディングを用いてイメージの第1のブロックと第2のブロックとの間のブロックエッジをデブロッキングするための、イメージエンコーダ及び/又はイメージデコーダにおける使用のためのイメージ処理デバイスであって、前記イメージ処理デバイスは、前記ブロックエッジをフィルタリングするためのフィルタを備え、前記ブロックエッジからのデブロッキング範囲内のフィルタリング対象の少なくとも1つの第1の画素に対して、
前記第1の画素の元の第1の画素値からフィルタリングされた第1の画素値を決定し、
前記ブロックエッジからの前記第1の画素の距離に依存する前記第1の画素のクリッピング値を決定し、
前記第1の画素の前記クリッピング値を用いて前記フィルタリングされた第1の画素値をクリッピングして、結果としてデブロッキングされた第1の画素値が得られる
ように構成され、
前記フィルタは、前記ブロックエッジからの前記デブロッキング範囲内のフィルタリング対象の少なくとも1つの第2の画素に対して、
前記第2の画素の元の第2の画素値からフィルタリングされた第2の画素値を決定し、
一定のクリッピング値を用いて前記フィルタリングされた第2の画素値をクリッピングして、結果としてデブロッキングされた第2の画素値が得られる
ようにさらに構成される、イメージ処理デバイス。 - 前記クリッピング値は、前記元の第1の画素値と前記デブロッキングされた第1の画素値との間で最大限許容される変化量である、請求項1に記載のイメージ処理デバイス。
- 前記第1の画素の前記クリッピング値を用いて前記フィルタリングされた第1の画素値を前記クリッピングして、結果として前記デブロッキングされた第1の画素値が得られることは、
前記フィルタリングされた第1の画素値と前記デブロッキングされた第1の画素値との間の差の絶対値が前記第1の画素の前記クリッピング値を越えない場合、前記デブロッキングされた第1の画素値を前記フィルタリングされた第1の画素値に設定すること、
前記フィルタリングされた第1の画素値が、前記元の第1の画素値プラス前記クリッピング値を超える場合、前記デブロッキングされた第1の画素値を前記元の第1の画素値プラス前記第1の画素の前記クリッピング値に設定すること、
前記フィルタリングされた第1の画素値が、前記元の第1の画素値マイナス前記クリッピング値より小さい場合、前記デブロッキングされた第1の画素値を前記元の第1の画素値マイナス前記第1の画素の前記クリッピング値に設定すること
を含む、請求項1又は2に記載のイメージ処理デバイス。 - 前記クリッピング値は、前記ブロックエッジからの前記第1の画素の前記距離の単調に減少する関数である、請求項1から3のいずれか一項に記載のイメージ処理デバイス。
- 前記単調に減少する関数は指数関数である、請求項4に記載のイメージ処理デバイス。
- 前記関数は、tc’=tc+(tc-(i*x))であり、tc’は前記クリッピング値であり、tcは一定値であり、iは、前記ブロックエッジからの前記第1の画素の前記距離であり、xは一定値である、請求項5に記載のイメージ処理デバイス。
- 前記フィルタは、垂直方向のブロックエッジの場合、決定画素列の数が前記ブロックエッジを囲む前記ブロック内の画素列の数より少ないということに基づいて、及び、水平方向のブロックエッジの場合、決定画像行の数が、前記ブロックエッジを囲む前記ブロック内の画素行の数より少ないということに基づいて、ブロックエッジがフィルタリングされる必要があるかどうかを決定することであって、前記フィルタは、前記ブロックエッジからの前記デブロッキング範囲内の決定画素行又は決定画素列にはないフィルタリング対象の各第1の画素に対して、前記デブロッキング範囲が前記ブロックエッジに対して垂直であるように構成される、前記決定することと、
前記第1の画素の前記元の第1の画素値及び少なくとも1つのさらなる画素値から前記フィルタリングされた第1の画素値を決定することと、
前記ブロックエッジからの前記第1の画素の前記距離に依存する前記第1の画素の前記クリッピング値を決定することと、
前記クリッピング値を用いて前記フィルタリングされた第1の画素値をクリッピングして、結果として、前記デブロッキングされた第1の画素値が得られることと
を行うように構成され、
前記フィルタは、前記ブロックエッジからの前記デブロッキング範囲であって、前記ブロックエッジに対して垂直であるデブロッキング範囲内の決定画素行又は決定画素列にあるフィルタリング対象の各第2の画素に対して、
前記第2の画素の前記元の第2の画素値及び少なくとも1つのさらなる画素値から前記フィルタリングされた第2の画素値を決定することと、
前記一定のクリッピング値を用いて前記フィルタリングされた第2の画素値をクリッピングして、結果として前記デブロッキングされた第2の画素値が得られることと
を行うように構成される、請求項1から6のいずれか一項に記載のイメージ処理デバイス。 - 前記フィルタは、少なくとも2個、又は、少なくとも3個、又は、少なくとも4個、又は、少なくとも5個、又は、少なくとも6個、又は、少なくとも7個、又は、少なくとも8個、又は、少なくとも9個、又は、少なくとも10個、又は、少なくとも11個、又は、少なくとも12個、又は、少なくとも13個、又は、少なくとも14個、又は、少なくとも15個、又は、少なくとも16個の画素のフィルタタップ長を有する、請求項1から7のいずれか一項に記載のイメージ処理デバイス。
- 前記フィルタは、前記第1の画素の前記元の第1の画素値及び少なくとも1つのさらなる画素値から前記フィルタリングされた第1の画素値を決定するように構成される、請求項1から7のいずれか一項に記載のイメージ処理デバイス。
- 前記デブロッキング範囲は、前記ブロックエッジに対して垂直である列における画素の数であり、前記画素の数は、前記第1の画素および前記第2の画素を含む、請求項1から9のいずれか一項に記載のイメージ処理デバイス。
- 請求項1から10のいずれか一項に記載のイメージ処理デバイスを備える、イメージをエンコードするためのエンコーダ。
- 請求項1から10のいずれか一項に記載のイメージ処理デバイスを備える、イメージをデコードするためのデコーダ。
- ブロックベースのコーディングを用いてイメージの第1のブロックと第2のブロックとの間のブロックエッジをデブロッキングするためのデブロッキング方法であって、前記ブロックエッジからのデブロッキング範囲内のフィルタリング対象の少なくとも1つの第1の画素に対して、
前記第1の画素の元の第1の画素値からフィルタリングされた第1の画素値を決定する段階と、
前記ブロックエッジからの前記第1の画素の距離に依存する前記第1の画素のクリッピング値を決定する段階と、
前記第1の画素の前記クリッピング値を用いて前記フィルタリングされた第1の画素値をクリッピングして、結果としてデブロッキングされた第1の画素値が得られる段階と
を備え、
前記方法は、前記ブロックエッジからの前記デブロッキング範囲内のフィルタリング対象の少なくとも1つの第2の画素に対して、
前記第2の画素の元の第2の画素値からフィルタリングされた第2の画素値を決定する段階と、
一定のクリッピング値を用いて前記フィルタリングされた第2の画素値をクリッピングして、結果としてデブロッキングされた第2の画素値が得られる段階と
をさらに備える方法。 - 前記クリッピング値は、前記元の第1の画素値と前記デブロッキングされた第1の画素値との間で最大限許容される変化量である、請求項13に記載の方法。
- 前記第1の画素の前記クリッピング値を用いて前記フィルタリングされた第1の画素値を前記クリッピングして、結果として前記デブロッキングされた第1の画素値が得られる段階は、
前記フィルタリングされた第1の画素値と前記デブロッキングされた第1の画素値との間の差の絶対値が前記第1の画素の前記クリッピング値を越えない場合、前記デブロッキングされた第1の画素値を前記フィルタリングされた第1の画素値に設定する段階、
前記フィルタリングされた第1の画素値が、前記元の第1の画素値プラス前記クリッピング値を超える場合、前記デブロッキングされた第1の画素値を前記元の第1の画素値プラス前記第1の画素の前記クリッピング値に設定する段階、
前記フィルタリングされた第1の画素値が、前記元の第1の画素値マイナス前記クリッピング値より小さい場合、前記デブロッキングされた第1の画素値を前記元の第1の画素値マイナス前記第1の画素の前記クリッピング値に設定する段階
を備える、請求項13又は14に記載の方法。 - 前記クリッピング値は、前記ブロックエッジからの前記第1の画素の前記距離の単調に減少する関数である、請求項13から15のいずれか一項に記載の方法。
- 前記単調に減少する関数は線形関数である、請求項16に記載の方法。
- 前記方法は、前記第1の画素の前記元の第1の画素値及び少なくとも1つのさらなる画素値から前記フィルタリングされた第1の画素値を決定する段階をさらに含む、請求項13から17のいずれか一項に記載の方法。
- 前記デブロッキング範囲は、前記ブロックエッジに対して垂直である列における画素の数であり、前記画素の数は、前記第1の画素および前記第2の画素を含む、請求項13から18のいずれか一項に記載の方法。
- 請求項13から19のいずれか一項に記載のデブロッキング方法を備える、イメージをエンコードするためのエンコーディング方法。
- 請求項13から19のいずれか一項に記載のデブロッキング方法を備える、イメージをデコードするためのデコーディング方法。
- コンピュータデバイス又はプロセッサによって実行されるとき、前記コンピュータデバイス又は前記プロセッサに、請求項13から19のいずれか一項に記載の方法を実行させるプログラムコードを記憶した非一時的コンピュータ可読媒体。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862735712P | 2018-09-24 | 2018-09-24 | |
US62/735,712 | 2018-09-24 | ||
JP2021515208A JP7367755B2 (ja) | 2018-09-24 | 2019-09-24 | 品質最適化デブロッキングを実行するためのイメージ処理デバイス及び方法 |
PCT/CN2019/107409 WO2020063555A1 (en) | 2018-09-24 | 2019-09-24 | Image processing device and method for performing quality optimized deblocking |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021515208A Division JP7367755B2 (ja) | 2018-09-24 | 2019-09-24 | 品質最適化デブロッキングを実行するためのイメージ処理デバイス及び方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2023160855A JP2023160855A (ja) | 2023-11-02 |
JP7512492B2 true JP7512492B2 (ja) | 2024-07-08 |
Family
ID=69952413
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021515208A Active JP7367755B2 (ja) | 2018-09-24 | 2019-09-24 | 品質最適化デブロッキングを実行するためのイメージ処理デバイス及び方法 |
JP2023136385A Active JP7512492B2 (ja) | 2018-09-24 | 2023-08-24 | 品質最適化デブロッキングを実行するためのイメージ処理デバイス及び方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021515208A Active JP7367755B2 (ja) | 2018-09-24 | 2019-09-24 | 品質最適化デブロッキングを実行するためのイメージ処理デバイス及び方法 |
Country Status (11)
Country | Link |
---|---|
US (2) | US11800154B2 (ja) |
EP (2) | EP3850855B1 (ja) |
JP (2) | JP7367755B2 (ja) |
KR (2) | KR102584455B1 (ja) |
CN (4) | CN117834865A (ja) |
AU (2) | AU2019351346B2 (ja) |
BR (1) | BR112021005561A2 (ja) |
CA (1) | CA3113538A1 (ja) |
MX (1) | MX2021003365A (ja) |
NZ (1) | NZ774817A (ja) |
WO (1) | WO2020063555A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116051662B (zh) * | 2023-03-31 | 2023-06-23 | 腾讯科技(深圳)有限公司 | 图像处理方法、装置、设备和介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011113343A1 (en) | 2010-03-15 | 2011-09-22 | Mediatek Singapore Pte. Ltd. | Deblocking filtering method and deblocking filter |
WO2014007735A1 (en) | 2012-07-03 | 2014-01-09 | Telefonaktiebolaget L M Ericsson (Publ) | Controlling deblocking filtering |
JP2014207718A (ja) | 2011-11-03 | 2014-10-30 | パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America | 画像復号方法および画像復号装置 |
WO2018057339A1 (en) | 2016-09-23 | 2018-03-29 | Apple Inc. | Video compression system providing selection of deblocking filters parameters based on bit-depth of video data |
Family Cites Families (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4114494B2 (ja) * | 2002-03-07 | 2008-07-09 | セイコーエプソン株式会社 | 画像処理装置及び画像処理プログラム、並びに画像処理方法 |
US20050024487A1 (en) * | 2003-07-31 | 2005-02-03 | William Chen | Video codec system with real-time complexity adaptation and region-of-interest coding |
US7460596B2 (en) * | 2004-04-29 | 2008-12-02 | Mediatek Incorporation | Adaptive de-blocking filtering apparatus and method for MPEG video decoder |
US7782339B1 (en) * | 2004-06-30 | 2010-08-24 | Teradici Corporation | Method and apparatus for generating masks for a multi-layer image decomposition |
NO322722B1 (no) * | 2004-10-13 | 2006-12-04 | Tandberg Telecom As | Fremgangsmate for videokoding gjennom reduksjon av blokkartefakter |
US7747088B2 (en) * | 2005-09-28 | 2010-06-29 | Arc International (Uk) Limited | System and methods for performing deblocking in microprocessor-based video codec applications |
JPWO2010035732A1 (ja) * | 2008-09-24 | 2012-02-23 | ソニー株式会社 | 画像処理装置および方法 |
KR101001676B1 (ko) | 2009-04-27 | 2010-12-15 | 전남대학교산학협력단 | 화소 분류를 이용한 에지보존 디블로킹 필터 |
CA2785036A1 (en) | 2010-02-05 | 2011-08-11 | Telefonaktiebolaget L M Ericsson (Publ) | De-blocking filtering control |
KR101682147B1 (ko) | 2010-04-05 | 2016-12-05 | 삼성전자주식회사 | 변환 및 역변환에 기초한 보간 방법 및 장치 |
US9344716B2 (en) * | 2010-09-28 | 2016-05-17 | Samsung Electronics Co., Ltd. | Adaptive filtering method and apparatus |
CN101984463A (zh) * | 2010-11-02 | 2011-03-09 | 中兴通讯股份有限公司 | 全景图合成方法及装置 |
EP2664139A2 (en) | 2011-01-14 | 2013-11-20 | Telefonaktiebolaget LM Ericsson (PUBL) | A method for deblocking filter control and a deblocking filtering control device |
JP5684407B2 (ja) * | 2011-01-14 | 2015-03-11 | テレフオンアクチーボラゲット エル エム エリクソン(パブル) | ブロッキングアーチファクトを低減する方法、デブロッキングフィルタユニット、符号器、復号器、ユーザ機器、ネットワーク装置、コンピュータプログラム及びコンピュータプログラム記憶媒体 |
EP2679006B1 (en) * | 2011-02-25 | 2017-10-11 | Sun Patent Trust | Efficient decisions for deblocking |
WO2012119540A1 (en) * | 2011-03-10 | 2012-09-13 | Mediatek Singapore Pte. Ltd. | Method and apparatus of deblocking filter |
CN107172424B (zh) * | 2011-03-30 | 2020-04-14 | Lg 电子株式会社 | 环路滤波方法及其设备 |
WO2012175196A1 (en) * | 2011-06-20 | 2012-12-27 | Panasonic Corporation | Deblocking control by individual quantization parameters |
WO2013001957A1 (ja) * | 2011-06-28 | 2013-01-03 | ソニー株式会社 | 画像処理装置と画像処理方法 |
EP2754295B1 (en) * | 2011-09-09 | 2018-01-24 | Sun Patent Trust | Low complex deblocking filter decisions |
EP2774359B1 (en) * | 2011-11-04 | 2015-12-30 | Panasonic Intellectual Property Corporation of America | Deblocking filtering with modified image block boundary strength derivation |
US20130170562A1 (en) * | 2011-12-28 | 2013-07-04 | Qualcomm Incorporated | Deblocking decision functions for video coding |
AR092786A1 (es) | 2012-01-09 | 2015-05-06 | Jang Min | Metodos para eliminar artefactos de bloque |
CN102547296B (zh) * | 2012-02-27 | 2015-04-01 | 开曼群岛威睿电通股份有限公司 | 移动估计加速电路、移动估计方法及环路滤波加速电路 |
US9906786B2 (en) * | 2012-09-07 | 2018-02-27 | Qualcomm Incorporated | Weighted prediction mode for scalable video coding |
US9414067B2 (en) * | 2013-02-19 | 2016-08-09 | Interra Systems Inc. | Methods and systems for detection of block based video dropouts |
US9092856B2 (en) * | 2013-10-31 | 2015-07-28 | Stmicroelectronics Asia Pacific Pte. Ltd. | Recursive de-banding filter for digital images |
US9906790B2 (en) * | 2014-03-14 | 2018-02-27 | Qualcomm Incorporated | Deblock filtering using pixel distance |
WO2016195586A1 (en) * | 2015-06-05 | 2016-12-08 | Telefonaktiebolaget Lm Ericsson (Publ) | Filtering for video processing |
JP6620354B2 (ja) * | 2015-09-30 | 2019-12-18 | Kddi株式会社 | 動画像の処理装置、処理方法及びコンピュータ可読記憶媒体 |
JP7094076B2 (ja) * | 2016-08-19 | 2022-07-01 | 沖電気工業株式会社 | 映像符号化装置、プログラム及び方法、並びに、映像復号装置、プログラム及び方法、並びに、映像伝送システム |
EP3297282A1 (en) * | 2016-09-15 | 2018-03-21 | Thomson Licensing | Method and apparatus for video coding with adaptive clipping |
CN106604039B (zh) * | 2016-12-28 | 2020-07-31 | 北京奇艺世纪科技有限公司 | 一种滤波方法及装置 |
US20180192071A1 (en) * | 2017-01-05 | 2018-07-05 | Mediatek Inc. | Decoder-side motion vector restoration for video coding |
US10616577B2 (en) * | 2017-10-16 | 2020-04-07 | Intel Corporation | Adaptive video deblocking |
-
2019
- 2019-09-24 EP EP19866185.2A patent/EP3850855B1/en active Active
- 2019-09-24 CN CN202311384433.7A patent/CN117834865A/zh active Pending
- 2019-09-24 CN CN201980061633.4A patent/CN112740706A/zh active Pending
- 2019-09-24 CN CN202110515966.9A patent/CN113411575B/zh active Active
- 2019-09-24 KR KR1020217011345A patent/KR102584455B1/ko active IP Right Grant
- 2019-09-24 WO PCT/CN2019/107409 patent/WO2020063555A1/en active Application Filing
- 2019-09-24 NZ NZ774817A patent/NZ774817A/en unknown
- 2019-09-24 AU AU2019351346A patent/AU2019351346B2/en active Active
- 2019-09-24 JP JP2021515208A patent/JP7367755B2/ja active Active
- 2019-09-24 CA CA3113538A patent/CA3113538A1/en active Pending
- 2019-09-24 CN CN202310864305.6A patent/CN117528079A/zh active Pending
- 2019-09-24 MX MX2021003365A patent/MX2021003365A/es unknown
- 2019-09-24 KR KR1020237033018A patent/KR20230141945A/ko not_active Application Discontinuation
- 2019-09-24 BR BR112021005561-4A patent/BR112021005561A2/pt unknown
- 2019-09-24 EP EP23171497.3A patent/EP4221229A1/en active Pending
-
2021
- 2021-03-24 US US17/211,638 patent/US11800154B2/en active Active
-
2023
- 2023-08-24 JP JP2023136385A patent/JP7512492B2/ja active Active
- 2023-09-28 US US18/476,309 patent/US20240107077A1/en active Pending
- 2023-10-10 AU AU2023248068A patent/AU2023248068A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011113343A1 (en) | 2010-03-15 | 2011-09-22 | Mediatek Singapore Pte. Ltd. | Deblocking filtering method and deblocking filter |
JP2014207718A (ja) | 2011-11-03 | 2014-10-30 | パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America | 画像復号方法および画像復号装置 |
WO2014007735A1 (en) | 2012-07-03 | 2014-01-09 | Telefonaktiebolaget L M Ericsson (Publ) | Controlling deblocking filtering |
WO2018057339A1 (en) | 2016-09-23 | 2018-03-29 | Apple Inc. | Video compression system providing selection of deblocking filters parameters based on bit-depth of video data |
Also Published As
Publication number | Publication date |
---|---|
MX2021003365A (es) | 2021-05-27 |
BR112021005561A2 (pt) | 2021-06-29 |
CA3113538A1 (en) | 2020-04-02 |
EP3850855A4 (en) | 2021-11-10 |
EP3850855A1 (en) | 2021-07-21 |
KR102584455B1 (ko) | 2023-10-05 |
US20240107077A1 (en) | 2024-03-28 |
CN117834865A (zh) | 2024-04-05 |
WO2020063555A1 (en) | 2020-04-02 |
JP7367755B2 (ja) | 2023-10-24 |
EP4221229A1 (en) | 2023-08-02 |
US11800154B2 (en) | 2023-10-24 |
JP2022500942A (ja) | 2022-01-04 |
KR20230141945A (ko) | 2023-10-10 |
CN117528079A (zh) | 2024-02-06 |
AU2019351346A1 (en) | 2021-05-13 |
EP3850855B1 (en) | 2023-11-01 |
US20210281884A1 (en) | 2021-09-09 |
KR20210058939A (ko) | 2021-05-24 |
NZ774817A (en) | 2023-07-28 |
JP2023160855A (ja) | 2023-11-02 |
AU2023248068A1 (en) | 2023-10-26 |
CN113411575A (zh) | 2021-09-17 |
AU2019351346B2 (en) | 2023-07-13 |
CN112740706A (zh) | 2021-04-30 |
CN113411575B (zh) | 2022-07-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111819852B (zh) | 用于变换域中残差符号预测的方法及装置 | |
US20200404339A1 (en) | Loop filter apparatus and method for video coding | |
JP7384974B2 (ja) | 適応乗算係数を用いた画像フィルタリングのための方法および装置 | |
JP7087101B2 (ja) | 効率的なデブロッキングを実行するための画像処理デバイス及び方法 | |
JP7512492B2 (ja) | 品質最適化デブロッキングを実行するためのイメージ処理デバイス及び方法 | |
JP7293460B2 (ja) | 効率的なデブロッキングを実行するための画像処理デバイス及び方法 | |
RU2793920C2 (ru) | Устройство обработки изображений и способ выполнения устранения блочности с оптимизацией качества | |
US11259054B2 (en) | In-loop deblocking filter apparatus and method for video coding |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230914 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230914 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20240527 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240626 |