JP2024512785A - 適応的空間解像度を有するブロックベクトルを用いるビデオコーディング方法及び装置 - Google Patents
適応的空間解像度を有するブロックベクトルを用いるビデオコーディング方法及び装置 Download PDFInfo
- Publication number
- JP2024512785A JP2024512785A JP2023560960A JP2023560960A JP2024512785A JP 2024512785 A JP2024512785 A JP 2024512785A JP 2023560960 A JP2023560960 A JP 2023560960A JP 2023560960 A JP2023560960 A JP 2023560960A JP 2024512785 A JP2024512785 A JP 2024512785A
- Authority
- JP
- Japan
- Prior art keywords
- block vector
- block
- spatial resolution
- difference value
- sign
- 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.)
- Pending
Links
- 239000013598 vector Substances 0.000 title claims abstract description 577
- 238000000034 method Methods 0.000 title claims abstract description 110
- 230000003044 adaptive effect Effects 0.000 title claims abstract description 29
- 230000001939 inductive effect Effects 0.000 claims description 18
- 230000033001 locomotion Effects 0.000 description 73
- 238000010586 diagram Methods 0.000 description 24
- 238000013139 quantization Methods 0.000 description 21
- 230000002093 peripheral effect Effects 0.000 description 15
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 14
- 230000006870 function Effects 0.000 description 14
- 230000009466 transformation Effects 0.000 description 14
- 238000005516 engineering process Methods 0.000 description 12
- 238000001914 filtration Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 7
- 239000000284 extract Substances 0.000 description 7
- 230000011664 signaling Effects 0.000 description 6
- 230000000903 blocking effect Effects 0.000 description 4
- 230000006835 compression Effects 0.000 description 4
- 238000007906 compression Methods 0.000 description 4
- 241000023320 Luma <angiosperm> Species 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 3
- 230000002457 bidirectional effect Effects 0.000 description 3
- 238000006073 displacement reaction Methods 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 3
- 230000008054 signal transmission Effects 0.000 description 3
- 230000001131 transforming effect Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- VZSRBBMJRBPUNF-UHFFFAOYSA-N 2-(2,3-dihydro-1H-inden-2-ylamino)-N-[3-oxo-3-(2,4,6,7-tetrahydrotriazolo[4,5-c]pyridin-5-yl)propyl]pyrimidine-5-carboxamide Chemical compound C1C(CC2=CC=CC=C12)NC1=NC=C(C=N1)C(=O)NCCC(N1CC2=C(CC1)NN=N2)=O VZSRBBMJRBPUNF-UHFFFAOYSA-N 0.000 description 1
- AFCARXCZXQIEQB-UHFFFAOYSA-N N-[3-oxo-3-(2,4,6,7-tetrahydrotriazolo[4,5-c]pyridin-5-yl)propyl]-2-[[3-(trifluoromethoxy)phenyl]methylamino]pyrimidine-5-carboxamide Chemical compound O=C(CCNC(=O)C=1C=NC(=NC=1)NCC1=CC(=CC=C1)OC(F)(F)F)N1CC2=C(CC1)NN=N2 AFCARXCZXQIEQB-UHFFFAOYSA-N 0.000 description 1
- 208000034188 Stiff person spectrum disease Diseases 0.000 description 1
- 229920010524 Syndiotactic polystyrene Polymers 0.000 description 1
- 108010063123 alfare Proteins 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 208000012112 ischiocoxopodopatellar syndrome Diseases 0.000 description 1
- 239000000203 mixture Substances 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
- 238000005457 optimization Methods 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000002490 spark plasma sintering Methods 0.000 description 1
Images
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/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/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/137—Motion inside a coding unit, e.g. average field, frame or block difference
-
- 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/137—Motion inside a coding unit, e.g. average field, frame or block difference
- H04N19/139—Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
-
- 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
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame 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/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/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/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/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/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
【課題】適応的空間解像度を有するブロックベクトルを用いるビデオコーディング方法及び装置を提供する。【解決手段】本発明のビデオコーディング方法及び装置は、現在ブロックにイントラブロックコピー(Intra Block Copy:IBC)を適用する際の符号化効率を向上させるために、参照ブロックの位置を表すブロックベクトル(Block Vector:BV)の空間解像度を適応的にシグナリングするか、又はブロックベクトル差分値の符号を適応的にシグナリングする。【選択図】図5
Description
本発明は、適応的空間解像度を有するブロックベクトルを用いるビデオコーディング方法及び装置に関する。
以下に記述する内容は、単に本発明に関連する背景情報のみを提供するだけであって、従来技術を構成するものではない。
ビデオデータは音声データや静止画像データなどに比べて多くのデータ量を有するため、圧縮のための処理なしにそれ自体を保存又は伝送するためにはメモリを含む多くのハードウェアリソースを必要とする。
従って、通常ビデオデータを保存又は伝送する際には符号化器を用いてビデオデータを圧縮して保存又は伝送し、復号化器では圧縮されたビデオデータを受信して圧縮を解除して再生する。このようなビデオ圧縮技術としては、H.264/AVC、HEVC(High Efficiency Video Coding)などをはじめ、HEVCに比べて約30%以上の符号化効率を向上させたVVC(Versatile Video Coding)が存在する。
しかし、映像のサイズ及び解像度やフレームレートが徐々に増加しており、これに伴い符号化すべきデータ量も増加しているため、従来の圧縮技術よりも符号化効率が良く画質改善効果も高い新たな圧縮技術が要求される。
一般にイメージセンサを用いて取得される映像(以下、「自然映像(natural video)」と称する)とは異なり、コンピュータによって生成された映像(以下、「スクリーンコンテンツ(screen content)」と称する)は、繰り返しのパターン、強いエッジ、ノイズなどを含まないという特性を示す。このような特性により、自然映像の符号化に焦点を当てたHEVCやVVC等の従来の符号化器を用いてスクリーンコンテンツを符号化すると、符号化効率が低下する問題がある。これは、自然映像の特性とスクリーンコンテンツの特性とが非常に異なるためである。
このような問題を解決するために、スクリーンコンテンツの符号化に特化された技術が最近多く開発されている。IBC(Intra Block Copy)技術は、符号化(又は復号化)しようとする領域(即ち、現在ブロック)に最も類似した領域(即ち参照ブロック)を現在ピクチャで探索した後、それを予測子(predictor)として使用する。現在ブロックに対してIBCモードで予測が遂行された場合、参照ブロックは現在ブロックの予測子になり、現在ブロックと参照ブロックとの間の変位(displacement)がブロックベクトル(Block Vector:BV)で表される。符号化器はブロックベクトルを符号化した後、復号化器に伝送する。このとき、圧縮効率を高くするために、符号化器はブロックベクトルをそのまま伝送せずに、ブロックベクトル予測子(Block Vector Predictor:BVP)及びブロックベクトル差分値(Block Vector Difference:BVD)で割った後、これらを符号化する。
一方、ブロックベクトル予測子の符号化のために、動きベクトル符号化で用いるマージ(merge)モード及びAMVP(Advanced Motion Vector Prediction)モードがブロックベクトルの符号化にも適用される。例えば、周辺ブロックで使用されたブロックベクトルをブロックベクトル予測子として使用するために、符号化器は選択されたブロックベクトル予測子を示すインデックスを復号化器にシグナリングする。
ブロックベクトル差分値を復号化器にシグナリングする際に、符号化器はブロックベクトル差分値の空間解像度を示すフラグを一緒に伝送する。従来技術では、該当フラグに応じてブロックベクトル差分値の空間解像度は1-pel及び4-pelの中のいずれかでシグナリングされ、符号化器及び復号化器はこのような解像度に応じてブロックベクトルの空間解像度及びブロックベクトル差分値の空間解像度を決定する。従って、1つのピクセル単位よりも小さい副画素単位(sub-pel unit)によってブロックベクトルを表現することができなかった。これは、自然映像とは異なり、従来のスクリーンコンテンツはコンピュータを用いて制作されるため、画素単位(pixel unit)よりも小さい副画素単位は必要ないという前提のもとで従来の符号化方法が設計されたためであった。しかし、これまでのスクリーンコンテンツとは異なり、最近製作された超高画質(super high definition)スクリーンコンテンツにおいて、副画素単位でブロックベクトルを表現することが有利な場合も多く発生している。従って、スクリーンコンテンツの符号化効率を向上させるために、ブロックベクトルの空間解像度を効果的に符号化する方法が考慮される必要がある。
本発明は、上記従来技術に鑑みてなされたものであって、本発明の目的は、ブロックベクトル(Block Vector:BV)の空間解像度又はブロックベクトル差分値の符号を適応的にシグナリングするビデオコーディング方法及び装置を提供することにある。
上記目的を達成するためになされた本発明の一態様による映像復号化装置によって遂行されるIBC(Intra Block Copy)モードで現在ブロックのブロックベクトルを適応的に生成する方法は、ビットストリームから、ブロックベクトル予測子インデックス、ブロックベクトル差分値の絶対値、及びブロックベクトル空間解像度精度インデックスを復号化するステップと、前記現在ブロックのブロックベクトル予測子候補リストを生成した後、前記ブロックベクトル予測子インデックスを用いて前記ブロックベクトル予測子候補リストからブロックベクトル予測子を生成するステップと、ブロックベクトル空間解像度候補リストを生成した後、前記ブロックベクトル空間解像度精度インデックスを用いて前記ブロックベクトル空間解像度候補リストからブロックベクトル空間解像度を生成するステップと、前記ブロックベクトル空間解像度、前記ブロックベクトル予測子、及び前記ブロックベクトル差分値の絶対値を用いて前記ブロックベクトル差分値の符号を誘導又は復号化するステップと、前記ブロックベクトル差分値の絶対値と符号とを結合して前記ブロックベクトル差分値を生成するステップと、前記ブロックベクトル予測子と前記ブロックベクトル差分値とを結合して前記ブロックベクトルを生成するステップと、を有することを特徴とする。
上記目的を達成するためになされた本発明の他の態様による映像復号化装置によって遂行されるIBC(Intra Block Copy)モードで現在ブロックのブロックベクトルを適応的に生成する方法は、ビットストリームから、ブロックベクトル予測子インデックス、及びブロックベクトル差分値の絶対値を復号化するステップと、前記現在ブロックのブロックベクトル予測子候補リストを生成した後、前記ブロックベクトル予測子インデックスを用いて前記ブロックベクトル予測子候補リストからブロックベクトル予測子を生成するステップと、ブロックベクトル空間解像度を誘導するステップと、前記ブロックベクトル空間解像度、前記ブロックベクトル予測子、及び前記ブロックベクトル差分値の絶対値を用いて前記ブロックベクトル差分値の符号を誘導又は復号化するステップと、前記ブロックベクトル差分値の絶対値と符号とを結合して前記ブロックベクトル差分値を生成するステップと、前記ブロックベクトル予測子と前記ブロックベクトル差分値とを結合して前記ブロックベクトルを生成するステップと、を有することを特徴とする。
上記目的を達成するためになされた本発明の更に他の態様による映像符号化装置によって遂行されるIBC(Intra Block Copy)モードで現在ブロックのブロックベクトルを適応的に生成する方法は、上位ステップから、ブロックベクトル予測子インデックス、及びブロックベクトル差分値の絶対値を獲得するステップと、前記現在ブロックのブロックベクトル予測子候補リストを生成した後、前記ブロックベクトル予測子インデックスを用いて前記ブロックベクトル予測子候補リストからブロックベクトル予測子を生成するステップと、ブロックベクトル空間解像度を誘導するステップと、前記ブロックベクトル空間解像度、前記ブロックベクトル予測子、及び前記ブロックベクトル差分値の絶対値を用いて前記ブロックベクトル差分値の符号を誘導又は獲得するステップと、前記ブロックベクトル差分値の絶対値と符号とを結合して前記ブロックベクトル差分値を生成するステップと、前記ブロックベクトル予測子と前記ブロックベクトル差分値とを結合して前記ブロックベクトルを生成するステップと、を有することを特徴とする。
本発明によれば、現在ブロックにイントラブロックコピー(Intra Block Copy:IBC)を適用する際に、参照ブロックの位置を示すブロックベクトル(Block Vector:BV)の空間解像度を適応的にシグナリングするか、又はブロックベクトル差分値の符号を適応的にシグナリングするビデオコーディング方法及び装置を提供することで、符号化効率を向上させることが可能になる効果がある。
以下、本発明を実施するための形態の具体例を、図面を参照しながら詳細に説明する。各図面の構成要素に参照符号を付加するにあたり、同一の構成要素に対しては、他の図面上に表示される場合も可能な限り同一の符号を有するようにしていることに留意されたい。なお、本実施形態を説明するにあたり、関連する公知の構成又は機能に関する具体的な説明が本発明の要旨を曖昧にすると判断される場合には、その詳しい説明は省く。
図1は、本発明の技術を具現する映像符号化装置に関する例示的なブロック図である。以下では、図1に示した図を参照して映像符号化装置及びこの装置の下位構成について説明する。
映像符号化装置は、ピクチャ分割部110、予測部120、減算器130、変換部140、量子化部145、並べ替え部150、エントロピー符号化部155、逆量子化部160、逆変換部165、加算器170、ループフィルタ部180、及びメモリ190を含むように構成される。
映像符号化装置の各構成要素は、ハードウェア又はソフトウェアで具現されるか、或いはハードウェア及びソフトウェアの組み合わせで具現される。更に、各構成要素の機能がソフトウェアで具現されて、マイクロプロセッサが各構成要素に対応するソフトウェアの機能を実行するように具現され得る。
1つの映像(ビデオ)は、複数のピクチャを含む1つ以上のシーケンスで構成される。各ピクチャは、複数の領域に分割され、領域毎に符号化が遂行される。例えば、1つのピクチャは、1つ以上のタイル(Tile)又は/及びスライス(Slice)に分割される。ここで、1つ以上のタイルをタイルグループ(Tile Group)として定義する。各タイル又は/及びスライスは、1つ以上のCTU(Coding Tree Unit)に分割される。そして、各CTUはツリー構造によって1つ以上のCU(Coding Unit)に分割される。各CUに適用される情報はCUのシンタックスとして符号化され、1つのCTUに含まれるCUに共通に適用される情報はCTUのシンタックスとして符号化される。更に、1つのスライス内の全てのブロックに共通に適用される情報はスライスヘッダのシンタックスとして符号化され、1つ以上のピクチャを構成する全てのブロックに適用される情報はピクチャパラメータセット(PPS:Picture Parameter Set)或いはピクチャヘッダに符号化される。更に、複数のピクチャが共通に参照する情報は、シーケンスパラメータセット(SPS:Sequence Parameter Set)に符号化される。そして、1つ以上のSPSが共通に参照する情報は、ビデオパラメータセット(VPS:Video Parameter Set)に符号化される。更に、1つのタイル又はタイルグループに共通に適用される情報は、タイル又はタイルグループヘッダのシンタックスとして符号化される。SPS、PPS、スライスヘッダ、タイル、又はタイルグループヘッダに含まれるシンタックスは、上位水準(high level)のシンタックスと称する。
ピクチャ分割部110は、CTU(Coding Tree Unit)のサイズを決定する。CTUのサイズに関する情報(CTU size)は、SPS又はPPSのシンタックスとして符号化されて映像復号化装置に伝達される。
ピクチャ分割部110は、映像を構成する各ピクチャ(picture)を予め決定されたサイズを有する複数のCTU(Coding Tree Unit)に分割した後に、ツリー構造(tree structure)を用いてCTUを繰り返し(recursively)分割する。ツリー構造におけるリーフノード(leaf node)が符号化の基本単位であるCU(coding unit)になる。
ツリー構造では、上位ノード(或いは親ノード)が同じサイズの4つの下位ノード(或いは子ノード)に分割されるクワッドツリー(QuadTree:QT)、上位ノードが2つの下位ノードに分割されるバイナリツリー(BinaryTree:BT)、又は上位ノードが1:2:1の比率で3つの下位ノードに分割されるターナリーツリー(TernaryTree:TT)、或いはこれらのQT構造、BT構造、及びTT構造の中の2つ以上を混用した構造である。例えば、QTBT(QuadTree plus BinaryTree)構造が用いられるか、或いはQTBTTT(QuadTree plus BinaryTree TernaryTree)構造が用いられる。ここで、BTTTを合わせてMTT(Multiple-Type Tree)と称する。
図2は、QTBTTT構造を用いてブロックを分割する方法を説明するための図である。
図2に示したように、CTUは最初にQT構造に分割される。クワッドツリー分割は、分割ブロック(splitting block)のサイズがQTで許容されるリーフノードの最小ブロックサイズMinQTSizeに到達するまで繰り返される。QT構造の各ノードが下位レイヤの4つのノードに分割されるか否かを示す第1のフラグQT_split_flagは、エントロピー符号化部155によって符号化されて映像復号化装置にシグナリングされる。QTのリーフノードがBTで許容されるルートノードの最大ブロックサイズMaxBTSizeよりも大きくない場合、BT構造又はTT構造の中のいずれか1つ以上に更に分割される。BT構造及び/又はTT構造では、複数の分割方向が存在する。例えば、該当ノードのブロックが横に分割される方向及び縦に分割される方向の2つが存在する。図2に示すように、MTT分割が開始されると、ノードが分割されたか否かを示す第2のフラグmtt_split_flagと、分割された場合に追加的に分割方向(vertical或いはhorizontal)を示すフラグ及び/又は分割タイプ(Binary或いはTernary)を示すフラグとがエントロピー符号化部155によって符号化されて映像復号化装置にシグナリングされる。
代替的に、各ノードが下位レイヤの4つのノードに分割されるか否かを示す第1のフラグQT_split_flagを符号化する前に、そのノードが分割されるか否かを示すCU分割フラグsplit_cu_flagが符号化される。CU分割フラグsplit_cu_flag値が分割されていないことを示す場合、該当ノードのブロックが分割ツリー構造におけるリーフノード(leaf node)になり、符号化の基本単位であるCU(coding unit)になる。CU分割フラグsplit_cu_flag値が分割されることを示す場合、映像符号化装置は、上述した方式で第1のフラグから符号化を開始する。
ツリー構造を示す他の例としてQTBTが使用される場合、該当ノードのブロックを同一サイズの2つのブロックに横に分割するタイプ(即ち、symmetric horizontal splitting)及び縦に分割するタイプ(即ち、symmetric vertical splitting)の2つが存在する。BT構造の各ノードが下位レイヤのブロックに分割されるか否かを示す分割フラグsplit_flag、及び分割されるタイプを示す分割タイプ情報がエントロピー符号化部155によって符号化されて映像復号化装置に伝達される。一方、該当ノードのブロックを互いに非対称形態の2つのブロックに分割するタイプが追加で更に存在する。非対称形態には、該当ノードのブロックを1:3のサイズ比率を有する2つの長方形ブロックに分割する形態が含まれるか、或いは該当ノードのブロックを対角線方向に分割する形態が含まれる。
CUは、CTUからのQTBT又はQTBTTT分割に応じて様々なサイズを有する。以下では、符号化又は復号しようとするCU(即ち、QTBTTTのリーフノード)に該当するブロックを「現在ブロック」と称する。QTBTTT分割の採用に応じて、現在ブロックの形状は正方形だけでなく長方形であってもよい。
予測部120は、現在ブロックを予測して予測ブロックを生成する。予測部120は、イントラ予測部122及びインター予測部124を含む。
一般に、ピクチャ内の現在ブロックはそれぞれ予測的にコーディングされる。一般に、現在ブロックの予測は(現在ブロックを含むピクチャからのデータを使用する)イントラ予測技術又は(現在ブロックを含むピクチャの前にコーディングされたピクチャからのデータを使用する)インター予測技術を使用して遂行される。インター予測は、一方向予測及び双方向予測の両方を含む。
イントラ予測部122は、現在ブロックが含まれる現在ピクチャ内で現在ブロックの周辺に位置するピクセル(参照ピクセル)を用いて現在ブロック内のピクセルを予測する。予測方向によって複数のイントラ予測モードが存在する。例えば、図3aに見られるように、複数のイントラ予測モードは、プラナー(planar)モード及びDCモードを含む2つの非方向性モードと65個の方向性モードとを含む。各予測モードによって使用される周辺ピクセルとは演算式が異なるように定義される。
長方形形状の現在ブロックに対する効率的な方向性予測のために、図3bに破線の矢印で示した方向性モード(67~80番、-1~-14番イントラ予測モード)が追加で使用される。これらは、「広角イントラ予測モード(wide angle intra-prediction modes)」と称される。図3bで、矢印は、予測に使用される対応する参照サンプルを指すものであり、予測方向を示すものではない。予測方向は、矢印が指す方向とは反対である。広角イントラ予測モードは、現在ブロックが長方形の場合に追加のビットの伝送なしに特定の方向性モードを反対方向で予測を遂行するモードである。このとき、広角イントラ予測モードの中から、長方形の現在ブロックの幅と高さとの比率により、現在ブロックに利用可能な一部の広角イントラ予測モードが決定される。例えば、45度よりも小さい角度を有する広角イントラ予測モード(67~80番イントラ予測モード)は、現在ブロックが、高さが幅よりも小さい長方形の形態である場合に利用可能であり、-135度よりも大きい角度を有する広角イントラ予測モード(-1~-14番イントラ予測モード)は、現在ブロックが、幅が高さよりも大きい長方形の形態である場合に利用可能である。
イントラ予測部122は、現在ブロックを符号化するのに使用されるイントラ予測モードを決定する。一部の例で、イントラ予測部122は、様々なイントラ予測モードを使用して現在ブロックをエンコーディングし、テストされたモードから使用される適切なイントラ予測モードを選択する。例えば、イントラ予測部122は、様々なテストされたイントラ予測モードに対するビットレート歪み(rate-distortion)分析を用いてビットレート歪み値を計算し、テストされたモードの中の最善のビットレート歪み特徴を有するイントラ予測モードを選択する。
イントラ予測部122は、複数のイントラ予測モードの中から1つのイントラ予測モードを選択し、選択されたイントラ予測モードによって決定される周辺ピクセル(参照ピクセル)及び演算式を用いて現在ブロックを予測する。選択されたイントラ予測モードに関する情報は、エントロピー符号化部155によって符号化されて映像復号化装置に伝達される。
インター予測部124は、動き補償プロセスを用いて現在ブロックに対する予測ブロックを生成する。インター予測部124は、現在ピクチャよりも先に符号化及び復号化された参照ピクチャ内で現在ブロックに最も類似したブロックを探索し、その探索されたブロックを用いて現在ブロックに対する予測ブロックを生成する。そして、現在ピクチャ内の現在ブロックと参照ピクチャ内の予測ブロックとの間の変位(displacement)に該当する動きベクトル(Motion Vector:MV)を生成する。一般に、動き推定はルーマ(luma)成分に対して遂行され、ルーマ成分に基づいて計算された動きベクトルはルーマ成分及びクロマ成分の両方に対して使用される。現在ブロックを予測するために使用された参照ピクチャに関する情報、及び動きベクトルに関する情報を含む動き情報は、エントロピー符号化部155によって符号化されて映像復号化装置に伝達される。
インター予測部124は、予測の正確性を高めるために、参照ピクチャ又は参照ブロックに対する補間を遂行する。即ち、連続する2つの整数サンプル間のサブサンプルは、その2つの整数サンプルを含む連続した複数の整数サンプルにフィルタ係数を適用して補間される。補間された参照ピクチャに対して現在ブロックに最も類似したブロックを検索するステップを遂行すると、動きベクトルは整数サンプル単位の精度(precision)ではなく小数単位の精度まで表される。動きベクトルの精度又は解像度(resolution)は、符号化しようとする対象領域、例えばスライス、タイル、CTU、CUなどの単位毎に異なるように設定される。このような適応的動きベクトル解像度(Adaptive Motion Vector Resolution:AMVR)が適用される場合、各対象領域に適用される動きベクトル解像度に関する情報は、対象領域毎にシグナリングされなければならない。例えば、対象領域がCUである場合、CU毎に適用された動きベクトル解像度に関する情報がシグナリングされる。動きベクトル解像度に関する情報は、後述する差分動きベクトルの精度を示す情報である。
一方、インター予測部124は、双方向予測(bi-prediction)を用いてインター予測を遂行する。双方向予測の場合、2つの参照ピクチャと、各参照ピクチャ内で現在ブロックに最も類似したブロック位置を表す2つの動きベクトルとが用いられる。インター予測部124は、参照ピクチャリスト0(RefPicList0)及び参照ピクチャリスト1(RefPicList1)からそれぞれ第1の参照ピクチャ及び第2の参照ピクチャを選択し、各参照ピクチャ内で現在ブロックに類似したブロックを探索して第1の参照ブロック及び第2の参照ブロックを生成する。そして、第1の参照ブロックと第2の参照ブロックとを平均又は加重平均して現在ブロックに対する予測ブロックを生成する。そして、現在ブロックを予測するために使用した2つの参照ピクチャに関する情報、及び2つの動きベクトルに関する情報を含む動き情報を符号化部150に伝達する。ここで、参照ピクチャリスト0は、予め復元されたピクチャの中のディスプレイ順序で現在ピクチャの前のピクチャで構成され、参照ピクチャリスト1は、予め復元されたピクチャの中のディスプレイ順序で現在ピクチャ以降のピクチャで構成される。しかし、必ずしもこれに限定されるわけではなく、ディスプレイ順序上で現在ピクチャ以降の既復元のピクチャが参照ピクチャリスト0に追加で更に含まれるか、又は逆に現在ピクチャの前の既復元のピクチャが参照ピクチャリスト1に追加で更に含まれる。
動き情報を符号化するのに所要されるビット量を最小化するために多様な方法が用いられる。
例えば、現在ブロックの参照ピクチャ及び動きベクトルが周辺ブロックの参照ピクチャ及び動きベクトルと同一の場合には、その周辺ブロックを識別できる情報を符号化することで、現在ブロックの動き情報を映像復号化装置に伝達する。この方法を「マージモード(merge mode)」と称する。
マージモードで、インター予測部124は、現在ブロックの周辺ブロックから予め決定された個数のマージ候補ブロック(以下、「マージ候補」という)を選択する。
マージ候補を誘導するための周辺ブロックとしては、図4に示したように、現在ピクチャ内で現在ブロックに隣接する左側ブロックA0、左下段ブロックA1、上段ブロックB0、右上段ブロックB1、及び左上段ブロックA2の中の全部又は一部が使用される。更に、現在ブロックが位置する現在ピクチャではなく、参照ピクチャ(現在ブロックを予測するために使用された参照ピクチャと同一であるか又は異なる)内に位置するブロックがマージ候補として使用される。例えば、参照ピクチャ内で現在ブロックと同一の位置にあるブロック(co-located block)又はその同一の位置のブロックに隣接するブロックがマージ候補として追加で更に使用される。以上で記述した方法によって選定されたマージ候補の個数が予め設定された個数よりも小さい場合、0ベクトルをマージ候補に追加する。
インター予測部124は、このような周辺ブロックを用いて予め決定された個数のマージ候補を含むマージリストを構成する。マージリストに含まれるマージ候補の中から現在ブロックの動き情報として使用されるマージ候補を選択し、選択された候補を識別するためのマージインデックス情報を生成する。生成されたマージインデックス情報は、符号化部150によって符号化されて映像復号化装置に伝達される。
マージスキップ(merge skip)モードは、マージモードの特別な場合であり、量子化を遂行した後、エントロピー符号化のための変換係数が全て零(zero)に近い場合、残差信号の伝送なしに周辺ブロック選択情報のみを伝送する。マージスキップモードを用いることで、動きの少ない映像、静止画像、スクリーンコンテンツ映像などで相対的に高い符号化効率を達成することができる。
以下、マージモード及びマージスキップモードを総称して、マージ/スキップモードで表す。
動き情報を符号化するための更に他の方法は、AMVP(Advanced Motion Vector Prediction)モードである。
AMVPモードで、インター予測部124は、現在ブロックの周辺ブロックを用いて現在ブロックの動きベクトルに対する予測動きベクトル候補を誘導する。予測動きベクトル候補を誘導するために使用される周辺ブロックとしては、図4に示した現在ピクチャ内で現在ブロックに隣接する左側ブロックA0、左下段ブロックA1、上段ブロックB0、右上段ブロックB1、及び左上段ブロックA2の中の全部又は一部が用いられる。更に、現在ブロックが位置する現在ピクチャではなく、参照ピクチャ(現在ブロックを予測するために使用された参照ピクチャと同じであるか又は異なる)内に位置するブロックが、予測動きベクトル候補を誘導するために使用される周辺ブロックとして使用される。例えば、参照ピクチャ内で現在ブロックと同じ位置にあるブロック(collocated block)、又はその同じ位置のブロックに隣接するブロックが使用される。以上で記述した方法によって動きベクトル候補の個数が予め設定された個数よりも小さい場合、0ベクトルを動きベクトル候補に追加する。
インター予測部124は、この周辺ブロックの動きベクトルを用いて予測動きベクトル候補を誘導し、予測動きベクトル候補を用いて現在ブロックの動きベクトルに対する予測動きベクトルを決定する。そして、現在ブロックの動きベクトルから予測動きベクトルを減算して差分動きベクトルを算出する。
予測動きベクトルは、予測動きベクトル候補に予め定義された関数(例えば、中央値、平均値演算など)を適用して求める。この場合、映像復号化装置も予め定義された関数を知っている。また、予測動きベクトル候補を誘導するために使用される周辺ブロックは既に符号化及び復号化が完了されたブロックであるため、映像復号化装置もその周辺ブロックの動きベクトルも既に知っている。従って、映像符号化装置は、予測動きベクトル候補を識別するための情報を符号化する必要がない。従って、この場合には、差分動きベクトルに関する情報と、現在ブロックを予測するために使用した参照ピクチャに関する情報とが符号化される。
一方、予測動きベクトルは、予測動きベクトル候補の中のいずれか1つを選択する方式で決定される。この場合には、差分動きベクトルに関する情報及び現在ブロックを予測するために使用された参照ピクチャに関する情報と共に、選択された予測動きベクトル候補を識別するための情報が追加で符号化される。
減算器130は、現在ブロックからイントラ予測部122又はインター予測部124によって生成された予測ブロックを減算して残差ブロックを生成する。
変換部140は、空間領域のピクセル値を有する残差ブロック内の残差信号を周波数ドメインの変換係数に変換する。変換部140は、残差ブロックの全体サイズを変換単位として使用して残差ブロック内の残差信号を変換するか、又は残差ブロックを複数個のサブブロックに分割してそのサブブロックを変換単位として使用して変換する。或いは、変換領域及び非変換領域である2つのサブブロックに区分し、変換領域サブブロックのみを変換単位として使用して残差信号を変換する。ここで、変換領域サブブロックは、横軸(又は縦軸)基準に1:1のサイズ比率を有する2つの長方形ブロックの中の1つである。この場合、サブブロックのみを変換したことを示すフラグcu_sbt_flag、方向性(vertical/horizontal)情報cu_sbt_horizontal_flag、及び/又は位置情報cu_sbt_pos_flagがエントロピー符号化部155によって符号化されて映像復号化装置にシグナリングされる。また、変換領域のサブブロックのサイズは、横軸(或いは縦軸)基準に1:3のサイズ比率を有し、このような場合、該当分割を区分するフラグcu_sbt_quad_flagが追加的にエントロピー符号化部155によって符号化されて映像復号化装置にシグナリングされる。
一方、変換部140は、残差ブロックに対して横方向及び縦方向に個別に変換を遂行する。変換のために、様々なタイプの変換関数又は変換行列が用いられる。例えば、横方向変換及び縦方向変換のための変換関数の対をMTS(Multiple Transform Set)と定義する。変換部140は、MTSの中から変換効率が最も良い1つの変換関数対を選択し、横及び縦方向にそれぞれ残差ブロックを変換する。MTSの中から選択された変換関数対に関する情報mts_idxは、エントロピー符号化部155によって符号化されて映像復号化装置にシグナリングされる。
量子化部145は、変換部140から出力される変換係数を、量子化パラメータを用いて量子化し、量子化された変換係数をエントロピー符号化部155に出力する。量子化部145は、任意のブロック又はフレームに対して、変換なしに関連する残差ブロックを直ちに量子化する。量子化部145は、変換ブロック内の変換係数の位置に応じてそれぞれ異なる量子化係数(スケーリング値)を適用する。二次元に配置された量子化された変換係数に適用される量子化行列は符号化されて映像復号化装置にシグナリングされる。
並べ替え部150は、量子化された残差値に対して係数値の並べ替えを遂行する。
並べ替え部150は、係数走査(coefficient scanning)を用いて2次元の係数アレイを1次元の係数シーケンスに変更する。例えば、並べ替え部150では、千鳥状スキャン(zig-zag scan)又は対角線スキャン(diagonal scan)を用いてDC係数から高周波数領域の係数までスキャンして1次元の係数シーケンスを出力する。変換単位のサイズ及びイントラ予測モードによって千鳥状スキャンの代わりに2次元の係数アレイを列方向にスキャンする垂直スキャン、及び2次元のブロック形態係数を行方向にスキャンする水平スキャンが使用され得る。即ち、変換単位のサイズ及びイントラ予測モードによって、千鳥状スキャン、対角線スキャン、垂直方向スキャン、及び水平方向スキャンの中から使用されるスキャン方法が決定される。
エントロピー符号化部155は、CABAC(Context-based Adaptive Binary Arithmetic Code)、指数ゴロム(Exponential Golomb)などの様々な符号化方式を用いて、並べ替え部150から出力された1次元の量子化された変換係数のシーケンスを符号化することによってビットストリームを生成する。
また、エントロピー符号化部155は、ブロック分割に関連するCTUサイズ、CU分割フラグ、QT分割フラグ、MTT分割タイプ、MTT分割方向などの情報を符号化し、映像復号化装置が映像符号化装置と同様にブロックを分割できるようにする。また、エントロピー符号化部155は、現在ブロックがイントラ予測によって符号化されたか、それともインター予測によって符号化されたかの如何を示す予測タイプに関する情報を符号化し、予測タイプによってイントラ予測情報(即ち、イントラ予測モードに関する情報)又はインター予測情報(動き情報の符号化モード(マージモード又はAMVPモード)、マージモードの場合はマージインデックス、AMVPモードの場合は参照ピクチャインデックス及び差分動きベクトルに関する情報)を符号化する。また、エントロピー符号化部155は、量子化に関連する情報、即ち量子化パラメータに関する情報及び量子化行列に関する情報を符号化する。
逆量子化部160は量子化部145から出力される量子化された変換係数を逆量子化して変換係数を生成する。逆変換部165は、逆量子化部160から出力される変換係数を周波数ドメインから空間ドメインに変換して残差ブロックを復元する。
加算部170は、復元された残差ブロックと予測部120によって生成された予測ブロックとを加算して現在ブロックを復元する。復元された現在ブロック内のピクセルは、次の順序のブロックをイントラ予測するときに参照ピクセルとして使用される。
ループ(loop)フィルタ部180は、ブロックベースの予測及び変換/量子化によって発生するブロッキングアーチファクト(blocking artifacts)、リンギングアーチファクト(ringing artifacts)、ぼかしアーチファクト(blurring artifacts)等を減らすために復元されたピクセルに対するフィルタリングを遂行する。フィルタ部180は、インループ(in-loop)フィルタとしてデブロックフィルタ182、SAO(Sample Adaptive Offset)フィルタ184、及びALF(Adaptive Loop Filter)186の全部又は一部を含む。
デブロックフィルタ182は、ブロック単位の符号化/復号化によって発生するブロッキング現象(blocking artifact)を除去するために復元されたブロック間の境界をフィルタリングし、SAOフィルタ184及びalf186は、デブロックフィルタリングされた映像に対して追加のフィルタリングを遂行する。SAOフィルタ184及びalf186は、損失符号化(lossy coding)によって発生する復元されたピクセルと元本ピクセルとの間の差を補償するために使用されるフィルタである。SAOフィルタ184は、CTU単位でオフセットを適用することで、主観的な画質だけでなく符号化効率も向上させる。これに比べて、ALF186はブロック単位のフィルタリングを遂行し、該当ブロックのエッジ及び変化量の程度を区分して異なるフィルタを適用して歪みを補償する。ALFに使用されるフィルタ係数に関する情報は符号化されて映像復号化装置にシグナリングされる。
デブロックフィルタ182、SAOフィルタ184、及びALF186を介してフィルタリングされた復元ブロックはメモリ190に保存される。あるピクチャ内の全てのブロックが復元されると、復元されたピクチャは、後に符号化しようとするピクチャ内のブロックをインター予測するための参照ピクチャとして使用される。
図5は、本発明の技術を具現する映像復号化装置の例示的なブロック図である。以下では、図5を参照して映像復号化装置及びこの装置の下位構成について説明する。
映像復号化装置は、エントロピー復号化部510、並べ替え部515、逆量子化部520、逆変換部530、予測部540、加算器550、ループフィルタ部560、及びメモリ570を含むように構成される。
図1の映像符号化装置と同様に、映像復号化装置の各構成要素は、ハードウェア又はソフトウェアで具現されるか、或いはハードウェア及びソフトウェアの組み合わせで具現される。更に、各構成要素の機能がソフトウェアで具現され、マイクロプロセッサが各構成要素に対応するソフトウェアの機能を実行するように具現され得る。
エントロピー復号化部510は、映像符号化装置によって生成されたビットストリームを復号化してブロック分割に関連する情報を抽出することで、復号化しようとする現在ブロックを決定し、現在ブロックを復元するために必要な予測情報や残差信号に関する情報などを抽出する。
エントロピー復号化部510は、SPS(Sequence Parameter Set)又はPPS(Picture Parameter Set)からCTUサイズに関する情報を抽出してCTUのサイズを決定し、ピクチャを決定されたサイズのCTUに分割する。そして、CTUをツリー構造の最上位レイヤ、即ちルートノードとして決定し、CTUに関する分割情報を抽出することで、ツリー構造を用いてCTUを分割する。
例えば、QTBTTT構造を用いてCTUを分割する場合、先ずQTの分割に関連する第1のフラグQT_split_flagを抽出して各ノードを下位レイヤの4つのノードに分割する。そして、QTのリーフノードに該当するノードに対しては、MTTの分割に関連する第2のフラグMTT_split_flag、及び分割方向(vertical/horizontal)及び/又は分割タイプ(binary/ternary)情報を抽出して該当リーフノードをMTT構造に分割する。これにより、QTのリーフノード以下の各ノードをBT又はTT構造に繰り返し(recursively)分割する。
更に他の例として、QTBTTT構造を用いてCTUを分割する場合、先ずCUの分割可否を示すCU分割フラグsplit_cu_flagを抽出し、該当ブロックが分割された場合、第1のフラグQT_split_flagを抽出する。分割の過程で、各ノードは、0回以上の繰り返しのQT分割後に0回以上の繰り返しのMTT分割が発生する。例えば、CTUはすぐにMTT分割が発生するか又は逆に複数回のQT分割のみが発生する。
他の例として、QTBT構造を用いてCTUを分割する場合、QTの分割に関連する第1のフラグQT_split_flagを抽出して各ノードを下位レイヤの4つのノードに分割する。そして、QTのリーフノードに該当するノードに対しては、BTで更に分割されるか否かを示す分割フラグsplit_flag及び分割方向情報を抽出する。
一方、エントロピー復号化部510は、ツリー構造の分割を用いて復号化しようとする現在ブロックを決定すると、現在ブロックがイントラ予測されたか、それともインター予測されたかを示す予測タイプに関する情報を抽出する。予測タイプ情報がイントラ予測を指示す場合、エントロピー復号化部510は、現在ブロックのイントラ予測情報(イントラ予測モード)に関するシンタックス要素を抽出する。予測タイプ情報がインター予測を示す場合、エントロピー復号化部510は、インター予測情報に関するシンタックス要素、即ち動きベクトル及びその動きベクトルが参照する参照ピクチャを表す情報を抽出する。
また、エントロピー復号化部510は、量子化関連の情報、及び残差信号に関する情報として現在ブロックの量子化された変換係数に関する情報を抽出する。
並べ替え部515は、映像符号化装置によって遂行された係数走査順序の逆順で、エントロピー復号化部510でエントロピー復号化された1次元の量子化された変換係数のシーケンスを再び2次元の係数アレイ(即ち、ブロック)に変更する。
逆量子化部520は、量子化された変換係数を逆量子化し、量子化パラメータを用いて量子化された変換係数を逆量子化する。逆量子化部520は、二次元に配列された量子化された変換係数に対してそれぞれ異なる量子化係数(スケーリング値)を適用する。逆量子化部520は、映像符号化装置から量子化係数(スケーリング値)の行列を量子化された変換係数の2次元アレイに適用して逆量子化を遂行する。
逆変換部530は、逆量子化された変換係数を周波数ドメインから空間ドメインに逆変換して残差信号を復元することで、現在ブロックに対する残差ブロックを生成する。
また、逆変換部530は、変換ブロックの一部領域(サブブロック)のみを逆変換する場合、変換ブロックのサブブロックのみを変換したことを示すフラグcu_sbt_flag、サブブロックの方向性(vertical/horizontal)情報cu_sbt_ horizontal_ flag、及び/又はサブブロックの位置情報cu_sbt_pos_flagを抽出し、該当サブブロックの変換係数を周波数ドメインから空間ドメインに逆変換することによって残差信号を復元し、逆変換されない領域に対しては残差信号で「0」値を満たすことによって現在ブロックに対する最終残差ブロックを生成する。
また、MTSが適用された場合、逆変換部530は、映像符号化装置からシグナリングされたMTS情報mts_idxを用いて横及び縦方向にそれぞれ適用される変換関数又は変換行列を決定し、決定された変換関数を用いて横及び縦方向に変換ブロック内の変換係数に対して逆変換を遂行する。
予測部540は、イントラ予測部542及びインター予測部544を含む。イントラ予測部542は現在ブロックの予測タイプがイントラ予測である場合に活性化され、インター予測部544は現在ブロックの予測タイプがインター予測である場合に活性化される。
イントラ予測部542は、エントロピー復号化部510から抽出されたイントラ予測モードに対するシンタックス要素から複数のイントラ予測モードの中の現在ブロックのイントラ予測モードを決定し、イントラ予測モードに応じて現在ブロック周囲の参照ピクセルを用いて現在ブロックを予測する。
インター予測部544は、エントロピー復号化部510から抽出されたインター予測モードに対するシンタックス要素を用いて現在ブロックの動きベクトル、及びその動きベクトルが参照する参照ピクチャを決定し、動きベクトル及び参照ピクチャを用いて現在ブロックを予測する。
加算器550は、逆変換部から出力される残差ブロックと、インター予測部又はイントラ予測部から出力される予測ブロックとを加算して現在ブロックを復元する。復元された現在ブロック内のピクセルは、後で復号化するブロックをイントラ予測するときの参照ピクセルとして活用される。
ループフィルタ部560は、インループフィルタとしてデブロックフィルタ562、SAOフィルタ564、及びALF566を含む。デブロックフィルタ562は、ブロック単位の復号化に因って発生するブロッキング現象(blocking artifact)を除去するために、復元されたブロック間の境界をデブロックフィルタリングする。SAOフィルタ564及びALF566は、損失符号化(lossy coding)に因って発生する復元されたピクセルと元本ピクセルとの間の差を補償するために、デブロックフィルタリング以降の復元されたブロックに対して追加のフィルタリングを遂行する。ALFのフィルタ係数は、ビットストリームから復号されたフィルタ係数に関する情報を用いて決定される。
デブロックフィルタ562、SAOフィルタ564、及びALF566を介してフィルタリングされた復元ブロックはメモリ570に保存される。あるピクチャ内の全てのブロックが復元されると、復元されたピクチャは、後で符号化しようとするピクチャ内のブロックをインター予測するための参照ピクチャとして使用される。
本実施形態は、以上で説明したような映像(ビデオ)の符号化及び復号化に関する。より詳しくは、現在ブロックにイントラブロックコピー(Intra Block Copy:IBC)を適用する際、参照ブロックの位置を示すブロックベクトル(Block Vector:BV)の空間解像度を適応的にシグナリングするか、又はブロックベクトル差分値の符号を適応的にシグナリングするビデオコーディング方法及び装置を提供する。
以下の実施形態は、映像符号化装置内のイントラ予測部122に適用される。また、映像復号化装置内のエントロピー復号化部510及びイントラ予測部542に適用される。
以下の説明で、符号化/復号化しようとする「対象ブロック(target block)」という用語は、上述したような現在ブロック又はコーディングユニットCUと同じ意味で用いられるか、或いはコーディングユニットの一部の領域を意味する。
以下、特定フラグが真であるということは該当するフラグの値が1であることを示し、特定フラグが偽であるということは該当するフラグの値が0であることを示す。
≪I.イントラブロックコピー(Intra Block Copy:IBC)技術≫
現在ブロックに対してIBCモードで探索及び予測が行われる場合、図6に例示したように、参照ブロックが現在ブロックの予測子になり、現在ブロックと参照ブロックとの間の変位がブロックベクトル(Block Vector:BV)で表される。映像符号化装置は、符号化効率を高めるために、ブロックベクトルをそのまま伝送せずに、ブロックベクトル予測子(Block Vector Predictor:BVP)とブロックベクトル差分値(Block Vector Difference:BVD)とに分割し、これらを符号化した後、映像復号化装置に伝送する。
現在ブロックに対してIBCモードで探索及び予測が行われる場合、図6に例示したように、参照ブロックが現在ブロックの予測子になり、現在ブロックと参照ブロックとの間の変位がブロックベクトル(Block Vector:BV)で表される。映像符号化装置は、符号化効率を高めるために、ブロックベクトルをそのまま伝送せずに、ブロックベクトル予測子(Block Vector Predictor:BVP)とブロックベクトル差分値(Block Vector Difference:BVD)とに分割し、これらを符号化した後、映像復号化装置に伝送する。
以下、BVDの空間解像度とブロックベクトルの空間解像度とは同じとみなす。また、ブロックベクトルの水平成分及び垂直成分の空間解像度値は、1つのフラグを用いて等しく決定される。
図7は、IBCの伝送方式別ブロックベクトルの伝送方法を示すフローチャートである。
一方、図7に例示したように、ブロックベクトルの伝送方式によって、IBC技術は、IBCスキップ(skip)モード、IBCマージ(merge)モード、及びIBC AMVPモードに区分される。映像符号化装置は、IBCスキップモードでIBCマージモードと同じブロックベクトルの伝送方法を用いるが、現在ブロックと予測ブロックとの差に該当する残差ブロックを伝送しない。一方、図7に示した例は、映像復号化装置にも同様に適用されるが、映像復号化装置はビットストリームから必要なフラグを解析する。
映像符号化装置は、IBCスキップモードであるか否かを確認した後(S700)、そうでない場合にIBCマージモードであるか否かを確認する(S704)。
IBCスキップモード又はIBCマージモードの場合、映像符号化装置は、IBCマージリスト(merge list)に含まれるブロックベクトルの中の1つを示すマージインデックスmerge_idxを取得する(S702、S706)。しかし、映像符号化装置はBVDを取得しない。IBCマージリストは、映像符号化装置及び映像復号化装置によって同じ方法で構成される。映像符号化装置は、マージインデックスが示すブロックベクトル予測子BVPを選択した後、これをブロックベクトルとして使用する。一方、映像符号化装置は、マージインデックスを映像復号化装置に伝送するが、BVDを伝送しない。
IBC AMVPモードの場合、映像符号化装置は、mvp_l0_flag、BVD、及びamvr_precision_idxを順次獲得する(S708~S712)。ここで、mvp_l0_flagは、動きベクトルの予測子を示すインデックスであり、ブロックベクトルに対してBVPを示すインデックスとしても用いられる。また、amvr_precision_idxは、適応的動きベクトル解像度(Adaptive Motion Vector Resolution:AMVR)の適用による動きベクトルの空間解像度を示すインデックスであり、ブロックベクトルの空間解像度を示すインデックスとしても用いられる。映像符号化装置は、mvp_l0_flagが示すブロックベクトルをBVPとして選択した後、これをBVDと合算してブロックベクトルを生成する。一方、映像符号化装置は、mvp_l0_flag、BVD、及びamvr_precision_idxを映像復号化装置に伝送する。
以下、mvp_l0_flagをブロックベクトル予測子インデックスで表し、amvr_precision_idxをブロックベクトル空間解像度精度インデックスで表す。
図7に示した例で、IBC AMVPモードを用いる場合、映像符号化装置は、ビットレート歪み最適化の観点からブロックベクトル差分値の空間解像度を示すamvr_precision_idxを決定する。画像符号化装置は、ブロックベクトルの空間解像度を伝達するために、amvr_flag及びamvr_precision_idxを映像復号化器にシグナリングする。即ち、映像符号化装置は、amvr_flagを伝送し、ブロックベクトルに対するAMVR技術の適用如何をシグナリングする。更に、映像符号化装置は、ブロックベクトルの空間解像度候補リストの中の1つを示すamvr_precision_idxを伝送し、予測に使用された空間解像度をシグナリングする。映像符号化装置及び映像復号化装置は、同じブロックベクトルの空間解像度候補リストを共有する。一方、既存のIBC AMVPモードにAMVR技術が用いられる場合、amvr_flagは1とみなされるため、映像符号化装置はamvr_flagの伝送を省略する。
既存のIBC AMVPモードで映像符号化装置と映像復号化装置との間で共有されるブロックベクトル空間解像度候補リストは{1-pel、4-pel}である。この候補リストに基づくAMVR技術の適用時に、映像符号化装置及び映像復号化装置は、ブロックベクトルの空間解像度を表1のように決定する。
上述したように、表1によると、ブロックベクトルの空間解像度として1-pel及び4-pelの中の1つが選定され、選定された解像度に応じてブロックベクトルの空間解像度及びブロックベクトル差分値の空間解像度度が決定される。即ち、1つのピクセル単位よりも小さい副画素単位(sub-pel unit)に基づいてブロックベクトルが表されない。これは、自然映像とは異なり、従来のスクリーンコンテンツはコンピュータを用いて制作されるため、画素単位よりも小さい副画素単位は必要ないという前提のもとで、従来の符号化方法が設計されたためである。しかし、これまでのスクリーンコンテンツとは異なり、最近制作された超高画質(super high definition)スクリーンコンテンツにおいて、副画素単位でブロックベクトルを表すことが有利な場合も多く観察される。
一般に、自然映像では、物体の動きを予測するために副画素単位で予測を遂行することがより効率的である。また、自然映像の符号化プロセスでIBCモードがうまく選択されず、たとえ選択されたとしても副画素単位の空間解像度をサポートできないため符号化効率が非常に低い。一方、スクリーンコンテンツの符号化プロセスでIBCモードが多く選択されるが、画素単位の空間解像度を用いても比較的高い符号化効率が達成される。このような理由から、副画素単位のブロックベクトル空間解像度の必要性はなかった。
しかし、最近の映像レンダリング(rendering)技術が非常に発展するにつれ、動きや滑らかな映像を生成するために様々な技術がスクリーンコンテンツに用いられる。従って、既存のビデオコーディング技術の側面で考慮されていない副画素単位のBVが有利な場合が実験的に観察される。
例えば、レイトレーシング(raytracing)、モーションブラー効果(motion blur effect)、ディープラーニングベースのスーパーサンプリング(Deep Learning Super Sampling:DLSS)、アンチエイリアシング(anti-aliasing)などを含むゲームグラフィックス映像(graphic video)の場合、自然映像に非常に類似するように作る技術が多様に適用される。このような映像はコンピュータで生成されたスクリーンコンテンツであるが、光滲み(light smearing)、モーションブラーなど、実際の自然画像で見られる特徴を有する。このようなグラフィック映像に対して整数画素単位の空間解像度を有する既存のAMVR技術を適用すると、細密な予測が遂行されず、IBC技術の効率が非常に低下する。本発明によってブロックベクトルの空間解像度を副画素単位で用いることで、このような既存の技術の問題が解決される。
上述の空間解像度問題の他、既存の技術は更なる非効率的な側面を有する。以下、図8に示す図を用いて追加的な非効率的な側面を記述する。
図8は、ブロックベクトル差分値の復号化方法を示すフローチャートである。
IBC技術で、ブロックベクトルを伝送するために、映像符号化装置は、ブロックベクトルをブロックベクトル予測子とブロックベクトル差分値とに分割した後、それらを映像復号化装置に伝送する。映像復号化装置は、図8に示した例のように、ブロックベクトル差分値を復号化する。一方、図8に示した例は、映像符号化装置にも同様に適用されるが、映像符号化装置は上位ステップから必要なフラグを獲得する。
映像復号化装置は、ブロックベクトル差分値の絶対値が0よりも大きいか否かを示すフラグabs_mvd _greater0_flagを解析した後(S800)、その値を確認する(S802)。BVDの絶対値が0以下である場合、BVDの解析が終了する。
映像復号化装置は、BVDの絶対値が0よりも大きい場合、ブロックベクトル差分値の絶対値が1よりも大きいか否かを示すフラグabs_mvd _greater1_flagを解析した後(S804)、その値を確認する(S806)。BVDの絶対値が1以下である場合、ブロックベクトル差分値の絶対値は1に決定されて、BVDの符号を復号化するステップS810が遂行される。
映像復号化装置は、BVDの絶対値が1よりも大きい場合、ゴロムライスコーディング(Golomb-Rice coding)を用いて|BVD-2|の値を復号化する(S808)。映像復号化装置は、|BVD-2|の値を用いてBVDの絶対値を生成する。
映像復号化装置は、BVDの符号を復号化する(S810)。その後、映像復号化装置は、BVDの絶対値とBVDの符号とを結合して最終的にブロックベクトル差分値を生成する。映像復号化装置は、BVDの水平成分及び垂直成分のそれぞれに対して上述したプロセスを実行する。
一方、ブロックベクトル予測子が、参照ブロックが存在し得る領域のエッジ付近を指す場合、ブロックベクトル差分値によってブロックベクトル差分値の符号が制限される。参照ブロックが存在し得る領域は、ピクチャ、スライス、タイル、又はCTU単位で構成されるか、或いは別途の仮想バッファ(virtual buffer)単位で構成される。ブロックベクトル予測子が指す参照ブロックが、図9に示した例のように、参照可能な領域の上段境界付近にある場合を仮定する。このとき、ブロックベクトル差分値の垂直成分の符号が負の数である場合、現在ブロックは、ブロックベクトルによって示される領域を参照ブロックとして用いることはできない。即ち、ブロックベクトル差分値の垂直成分の符号は正にほかならない。それにも拘らず、従来技術ではブロックベクトル差分値の符号が常にシグナリングされる。
ブロックベクトル差分値の符号を符号化又は解析する前にブロックベクトルを予め計算することで、このような既存の技術の問題が解決される。一方、ブロックベクトルを予め計算するために、参照ブロックが存在し得る領域、ブロックベクトル予測子、ブロックベクトル差分値のサイズ、ブロックベクトル空間解像度などが考慮される。
以下、上述の問題を解決するための好ましい実現例を記述する。
以下、本実現例は、映像符号化装置による現在ブロックのブロックベクトルの適応的符号化を中心に記述する。このようなブロックベクトルの適応的符号化は、映像符号化装置内のイントラ予測部122によって実行される。一方、説明の便宜上必要な場合に映像復号化装置に言及する。それにも拘らず、以下に記述した殆どの実施形態は、映像復号化装置にも同じか又は類似な形で適用される。一方、画像符号化装置は、ビットレート歪みの最適化の側面からブロックベクトルの適応的符号化に関する情報(以降、説明するフラグ及びインデックス)を決定する。その後、映像符号化装置は、これらを符号化してビットストリームを生成した後、映像復号化装置にシグナリングする。また、映像符号化装置は、上位ステップからブロックベクトルの適応的符号化に関連する情報を獲得して現在ブロックのブロックベクトルの空間解像度を決定する。
≪II.適応的空間解像度を有するブロックベクトル≫
<実施例1>ブロックベクトル空間解像度をシグナリングする方法
<実施例1>ブロックベクトル空間解像度をシグナリングする方法
本実現例で、映像符号化装置は、単一又は複数のブロックベクトル空間解像度候補リストの中から1つを選択した後、選択されたリストに対してamvr_precision_idxに応じてブロックベクトル空間解像度を選択する。このとき、各ブロックベクトル空間解像度候補リストの構成は実現例によって多様であり、リストの構成方法も実現例によって多様に具現される。例えば、映像符号化装置は、ブロックベクトル空間解像度候補リストの構成のために、次の中の少なくとも1つを候補リストの構成要素(element)として用いる。
先ず、現在ブロックの上段、右上段、左上段、左側、左下段などに位置する周辺ブロックのブロックベクトル空間解像度が用いられる。更に、符号化(又は復号化)順序上以前に使用されたブロックベクトル空間解像度が用いられる。更に、予め設定されたブロックベクトル空間解像度が用いられる。最後に、ブロックベクトル空間解像度の使用頻度(frequency)に基づいて決定されたブロックベクトル空間解像度が用いられる。
図10は、本発明の一実施形態による周辺ブロックのブロックベクトル空間解像度値を示す例示図である。
周辺ブロックのブロックベクトル空間解像度値が図10に例示したように分布する場合、映像符号化装置は、ブロックベクトル空間解像度値の使用頻度を考慮して、最頻解像度に近接するほどリストの前側に配置する。例えば、{1-pel、1/2-pel、4-pel}のようにリストが構成される。
一方、上述したように、1つのブロックベクトル空間解像度候補リストが構成されるが、実現例によって複数のリストが構成される。
整数画素単位及び副画素単位のブロックベクトル空間解像度を用いるために、映像符号化装置は、候補リストを構成した後、ブロックベクトル空間解像度を示すamvr_precision_idxを映像復号化装置に伝送する。以下、これに関連する詳しい実現例を記述する。
実現例1-1:1つのブロックベクトル空間解像度リストを用いる方法
本実現例で、映像符号化装置は、1つのブロックベクトル空間解像度リストを構成した後、amvr_precision_idxを用いてブロックベクトルの空間解像度をシグナリングする。
本実現例で、映像符号化装置は、1つのブロックベクトル空間解像度リストを構成した後、amvr_precision_idxを用いてブロックベクトルの空間解像度をシグナリングする。
ブロックベクトル空間解像度リストは、上述したような様々な構成要素の全部又は一部を用いて構成される。例えば、図10に示した例に基づき、上述したように、1つのブロックベクトル空間解像度候補リスト{1-pel、1/2-pel、4-pel}が構成された場合、映像符号化装置はamvr_precision_idxを映像復号化装置に伝送して空間解像度を示す。例えば、amvr_precision_idxが1で伝送された場合、対応するブロックベクトルは1/2-pelの空間解像度を有する。
実施例1-2:複数のブロックベクトル空間解像度リストを用いる方法
本実現例で、映像符号化装置は、信号を用いてブロックベクトル空間解像度候補リスト及びブロックベクトルの空間解像度を決定する。上述のように、映像符号化装置は、様々なブロックベクトル空間解像度候補を予め設定された条件に従って複数のグループに分類した後、複数のブロックベクトル空間解像度候補リストを構成する。
本実現例で、映像符号化装置は、信号を用いてブロックベクトル空間解像度候補リスト及びブロックベクトルの空間解像度を決定する。上述のように、映像符号化装置は、様々なブロックベクトル空間解像度候補を予め設定された条件に従って複数のグループに分類した後、複数のブロックベクトル空間解像度候補リストを構成する。
このとき、複数のグループを分類する基準として、先ず整数画素単位、副画素単位などのようなブロックベクトルの空間解像度の種類が用いられる。次に、現在ブロックの周辺ブロックの位置が用いられる。例えば、1つのリストは現在ブロックの上段(上段、右上段、及び左上段など)に位置するブロックのブロックベクトル空間解像度を含み、他のリストは現在ブロックの左側(左側、左上段、及び左下段など)に位置するブロックのブロックベクトル空間解像度を含む。
一実施形態として、使用可能な空間解像度を{1/4-pel、1-pel、2-pel、4-pel、1/2-pel}と仮定する。整数画素単位及び副画素単位でブロックベクトル空間解像度値が分類される場合、映像符号化装置は、表2に例示するように、2つの空間解像度候補リストを構成する。
表2により、映像符号化装置は、amvr_set_idxを用いて複数のブロックベクトル空間解像度候補リストの中の1つを選択した後、amvr_precision_idxを用いてブロックベクトル空間解像度を決定する。例えば、amvr_set_idxが1でamvr_precision_idxが1の場合、ブロックベクトル空間解像度は1/4-pelに決定される。
<実施例2>別途の信号伝送なしに1つの副画素単位空間解像度を使用
本実施形態で、映像符号化装置は、別途の信号伝送なしに1つのブロックベクトル空間解像度を用いる。従来技術では、IBCモードを用いるCUに対して、常にamvr_precision_idxが伝送される。しかし、本実施形態で、映像符号化装置は、amvr_precision_idxの伝送なしでも様々な空間解像度を有するブロックベクトルを用いる。別途の信号伝送なしに様々なブロックベクトル空間解像度を用いるために、映像符号化装置は少なくとも次の事項を考慮する。
本実施形態で、映像符号化装置は、別途の信号伝送なしに1つのブロックベクトル空間解像度を用いる。従来技術では、IBCモードを用いるCUに対して、常にamvr_precision_idxが伝送される。しかし、本実施形態で、映像符号化装置は、amvr_precision_idxの伝送なしでも様々な空間解像度を有するブロックベクトルを用いる。別途の信号伝送なしに様々なブロックベクトル空間解像度を用いるために、映像符号化装置は少なくとも次の事項を考慮する。
先ず、映像符号化装置は周辺ブロックのブロックベクトル使用の有無を考慮する。また、映像符号化装置は、周辺ブロック(上段、右上段、左上段、左側、左下段など)のブロックベクトル空間解像度値を考慮する。更に、映像符号化装置は、予め設定されたブロックベクトル空間解像度を考慮する。
例えば、予め設定されたブロックベクトルの空間解像度が1/2-pelである場合、映像符号化装置は、amvr_flag及びamvr_precision_idxを伝送しなくても1/2-pel空間解像度を有するブロックベクトルを使用する。
他の実施形態として、周辺ブロックのブロックベクトル空間解像度の分布が次のように考慮される。映像符号化装置は、上段及び左側のブロックにAMVRが適用されない場合、予め設定された空間解像度を用いる。ここで、予め設定された空間解像度は、4-pel、2-pel、1-pel、1/2-pel、1/4-pelなどのような空間解像度の値の中の1つである。又は、映像符号化装置は、上段及び左側のブロックの中の1つのブロックにAMVRが適用された場合、AMVRが適用されたブロックのブロックベクトル空間解像度を用いる。或いは、映像符号化装置は、上段及び左側のブロックにAMVRが適用された場合、予め設定された方式に応じて2つのブロックの中の1つのブロックベクトル空間解像度を用いる。ここで、予め設定された方式は、より精密な空間解像度の使用、より精密ではない空間解像度の使用、及び予め設定された空間解像度の使用の中の1つである。
例えば、図11に示した例のように上段のブロックにAMVRが適用されて対応するブロックベクトル空間解像度が1/2-pelであり、左側のブロックにAMVRが適用されない場合、映像符号化装置は現在ブロックのブロックベクトル空間解像度を1/2-pelに決定する。
他の実施形態として、図11に示した例とは異なり、上段又は左側のブロックが複数存在する場合、映像符号化装置は、複数のブロックの中の代表ブロックを選定した後、選定された代表ブロックのブロックベクトルの空間解像度を考慮する。代表ブロックは、次のような方法の中の1つによって決定される。上段ブロックの中から、最も左側にあるブロック、中央にあるブロック、又は最も右側にあるブロックが上段代表ブロックとして決定される。或いは、左側ブロックの中から、最も上段にあるブロック、中央にあるブロック、又は最も下段にあるブロックが左側代表ブロックとして決定される。
或いは、映像符号化装置は代表ブロックを決定することなく、複数のブロックの中の最頻ブロックベクトル空間解像度を考慮する。例えば、上段のブロックのブロックベクトル空間解像度分布が図12に示した例のような場合、最頻ブロックベクトル空間解像度である1/4-pelが上段のブロックベクトル空間解像度である。
<実施例3>実現例1と実現例2の使用をフラグに基づいて決定
本実現例で、映像符号化装置は、実現例1と実現例2の適用を、フラグを用いて決定する。即ち、映像符号化装置は、abvr_enable_flagを用いて実現例1及び実現例2の方法を用いる。例えば、映像符号化装置は、abvr_enable_flagが1の場合に実現例1又は実現例2の方法を用い、abvr_enable_flagが0の場合に実現例を適用しない。フラグの名前に含まれるabvrは、適応的ブロックベクトル解像度(adaptive block vector resolution)を意味する。
本実現例で、映像符号化装置は、実現例1と実現例2の適用を、フラグを用いて決定する。即ち、映像符号化装置は、abvr_enable_flagを用いて実現例1及び実現例2の方法を用いる。例えば、映像符号化装置は、abvr_enable_flagが1の場合に実現例1又は実現例2の方法を用い、abvr_enable_flagが0の場合に実現例を適用しない。フラグの名前に含まれるabvrは、適応的ブロックベクトル解像度(adaptive block vector resolution)を意味する。
≪III.ブロックベクトル差分値の符号の適応的シグナリング≫
<実施例4>ブロックベクトル差分値の符号を誘導する方法
本実現例で、映像符号化装置は、IBC技術の適用時にブロックベクトル予測子が、現在ブロックが参照できる領域のエッジ付近にある場合、ブロックベクトル差分値の符号を誘導した後、誘導された符号を用いる。現在ブロックが参照できない領域は、まだ復元されない領域、他のスライスの領域、他のCTUの領域、仮想バッファ以外の領域などである。ブロックベクトル差分値の符号を誘導して差分値の符号を示すフラグのシグナリング及び解析が省略されることで、符号化効率が向上する。
<実施例4>ブロックベクトル差分値の符号を誘導する方法
本実現例で、映像符号化装置は、IBC技術の適用時にブロックベクトル予測子が、現在ブロックが参照できる領域のエッジ付近にある場合、ブロックベクトル差分値の符号を誘導した後、誘導された符号を用いる。現在ブロックが参照できない領域は、まだ復元されない領域、他のスライスの領域、他のCTUの領域、仮想バッファ以外の領域などである。ブロックベクトル差分値の符号を誘導して差分値の符号を示すフラグのシグナリング及び解析が省略されることで、符号化効率が向上する。
従来技術で、映像符号化装置は、ブロックベクトル予測子を先に生成した後にブロックベクトル差分値を獲得する。映像符号化装置は、ブロックベクトル差分値とブロックベクトル空間解像度とを結合して最終ブロックベクトルを算定することができるが、特定の場合に対してブロックベクトル差分値の符号を伝送する必要がない。このような場合は、ブロックベクトル空間解像度をブロックベクトル差分値よりも先に獲得する場合により頻繁に発生する。
例えば、図13aに示した例のようにBVPが指す参照ブロックが参照可能領域のエッジであり、ブロックベクトル空間解像度が4‐pelであり、ブロックベクトル差分値の垂直成分が2であると仮定する。ブロックベクトル差分値の垂直成分の符号が負(-)である場合、ブロックベクトルによる参照ブロックの位置は、図13aに示した例のように未復元領域を含む。従って、ブロックベクトル差分値の垂直成分の符号は必ず正(+)となる。一方、図13bに示した例のように、ブロックベクトル差分値の垂直成分が2であり、ブロックベクトルの空間解像度が1‐pelである場合、ブロックベクトル差分値の垂直成分の符号は正(+)及び負(-)の両方が可能である。従って、映像符号化装置は、ブロックベクトルの差分値の符号を取得する前にブロックベクトル空間解像度を先に獲得することで、本実現例による効率を極大化することができる。
一方、映像符号化装置は、本実現例によるブロックベクトル差分値を次のように誘導する。
ブロックベクトル予測子をBVP(BVPx、BVPy)で表し、ブロックベクトル差分値の絶対値にブロックベクトル空間解像度を適用したものをBVD(BVDx、BVDy)で表す。ここで、BVDx及びBVDyは、それぞれBVDの水平成分及び垂直成分を表す。映像符号化装置は、BVDの水平成分と垂直成分の符号とを異なるように結合して、式1に示すような4つのブロックベクトル候補を生成する。
映像符号化装置は、式1に示した4つのブロックベクトル候補を用いて各ブロックベクトル候補が指す位置で参照ブロックを生成する。このとき、特定のブロックベクトル候補が指す位置の参照ブロックが参照不可能な領域を含む場合、映像符号化装置は該当するブロックベクトル候補を使用することができない。このような方法で、4つの候補の中の使用可能な候補を判断したときにブロックベクトル差分値の符号が正及び負の中のいずれかに決定される場合、映像符号化装置はブロックベクトル差分値の符号に対して符号化を省略する。また、映像復号化装置は、ブロックベクトル差分値の符号を解析することなく誘導した後にそれを用いる。例えば、4つのブロックベクトル候補の中のBV1及びBV2のみが使用可能な場合、ブロックベクトル差分値の水平成分の符号は正に誘導されるために符号化されず、垂直成分の符号は符号化される。
一方、ブロックベクトル差分値の水平又は垂直成分が0である場合、4つのブロックベクトル候補の代わりに2つのブロックベクトル候補が用いられる。例えば、映像符号化装置は、ブロックベクトル差分値の水平成分が0の場合に式2に示した2つの候補を用い、垂直成分が0の場合に式3に示した2つの候補を用いる。
以下、図14及び図15に示す図を用いて、映像符号化装置及び映像復号化装置が実現例1及び実現例4に基づいて現在ブロックのブロックベクトルを適応的に生成する方法を記述する。
図14は、本発明の一実施形態による映像符号化装置によって遂行される現在ブロックのブロックベクトルを適応的に生成する方法を示すフローチャートである。
映像符号化装置は、上位ステップからブロックベクトル予測子インデックス、ブロックベクトル差分値の絶対値、及びブロックベクトル空間解像度精度インデックスを獲得する(S1400)。また、映像符号化装置は、ブロックベクトル予測子インデックス、ブロックベクトル差分値の絶対値、及びブロックベクトル空間解像度精度インデックスを符号化した後、それらを映像復号化装置にシグナリングする。
映像符号化装置は、現在ブロックのブロックベクトル予測子候補リストを生成した後、ブロックベクトル予測子インデックスを用いてブロックベクトル予測子候補リストからブロックベクトル予測子を生成する(S1402)。映像符号化装置は、インター予測のAMVP候補リストを生成する方法と同様に、現在ブロックのブロックベクトル予測子候補リストを生成する。
映像符号化装置は、ブロックベクトル空間解像度候補リストを生成した後、ブロックベクトル空間解像度精度インデックスを用いてブロックベクトル空間解像度候補リストからブロックベクトル空間解像度を生成する(S1404)。
映像符号化装置は、実現例に応じて様々なブロックベクトル空間解像度候補リストを構成することができ、リストの構成方法を多様に用いることができる。例えば、映像符号化装置は、ブロックベクトル空間解像度候補リストの構成のために、次の中の少なくとも1つを候補リストの構成要素(element)として用いる。
先ず、現在ブロックの上段、右上段、左上段、左側、左下段などに位置する周辺ブロックのブロックベクトル空間解像度が用いられる。更に、符号化順序上以前に使用されたブロックベクトル空間解像度が用いられる。更に、予め設定されたブロックベクトル空間解像度が用いられる。最後に、ブロックベクトル空間解像度の使用頻度に基づいて決定されたブロックベクトル空間解像度が用いられる。使用頻度に基づいて候補リストを構成する場合、使用頻度が高いブロックベクトル空間解像度であればあるほど、候補リストの前側に配置される。
一方、ブロックベクトル空間解像度候補リストは、少なくとも1つの整数画素単位の空間解像度の値、及び少なくとも1つの副画素単位の空間解像度の値を含む。
映像符号化装置は、ブロックベクトル空間解像度、ブロックベクトル予測子、及びブロックベクトル差分値の絶対値を用いてブロックベクトル差分値の符号を誘導又は獲得する(S1406)。
映像符号化装置は、次のステップを用いてブロックベクトル差分値の符号を誘導又は獲得する。
映像符号化装置は、ブロックベクトル空間解像度をブロックベクトル予測子及びブロックベクトル差分値の絶対値に適用する(S1420)。
映像符号化装置は、ブロックベクトル予測子にブロックベクトル差分値の水平成分及び垂直成分の符号を異なるように結合してブロックベクトル候補を生成する(S1422)。
映像符号化装置は、各ブロックベクトル候補が指す位置に現在ブロックの参照ブロックを生成する(S1424)。
映像符号化装置は、参照ブロックが参照不可能な領域を含むか否かにより、該当するブロックベクトル候補を使用可能ブロックベクトル候補に含めるか否かを決定する(S1426)。
映像符号化装置は、使用可能ブロックベクトル候補に基づいてブロックベクトル差分値の符号を誘導又は獲得する(S1428)。
映像符号化装置は、使用可能ブロックベクトル候補を判断する際に、ブロックベクトル差分値の符号が正又は負に決定された場合、ブロックベクトル差分値の符号を誘導する。或いは、映像符号化装置は、ブロックベクトル差分値の符号が正又は負に決定されない場合、上位ステップからブロックベクトル差分値の符号を獲得する。
映像符号化装置は、ブロックベクトル差分値の絶対値と符号とを結合してブロックベクトル差分値を生成する(S1408)。
映像符号化装置は、ブロックベクトル予測子とブロックベクトル差分値とを結合してブロックベクトルを生成する(S1410)。
図15は、本発明の一実施形態による映像復号化装置によって遂行される現在ブロックのブロックベクトルを適応的に生成する方法を示すフローチャートである。
映像復号化装置は、ビットストリームからブロックベクトル予測子インデックス、ブロックベクトル差分値の絶対値、及びブロックベクトル空間解像度精度インデックスを復号化する(S1500)。
映像復号化装置は、現在ブロックのブロックベクトル予測子候補リストを生成した後、ブロックベクトル予測子インデックスを用いてブロックベクトル予測子候補リストからブロックベクトル予測子を生成する(S1502)。映像復号化装置は、インター予測のAMVP候補リストを生成する方法と同様に、現在ブロックのブロックベクトル予測子候補リストを生成する。
映像復号化装置は、ブロックベクトル空間解像度候補リストを生成した後、ブロックベクトル空間解像度精度インデックスを用いてブロックベクトル空間解像度候補リストからブロックベクトル空間解像度を生成する(S1504)。映像復号化装置は、上述したような映像符号化装置と同一の方法を用いてブロックベクトル空間解像度を生成するため、これ以上の詳しい説明は省略する。
一方、ブロックベクトル空間解像度候補リストは、少なくとも1つの整数画素単位の空間解像度の値、及び少なくとも1つの副画素単位の空間解像度の値を含む。
映像復号化装置は、ブロックベクトル空間解像度、ブロックベクトル予測子、及びブロックベクトル差分値の絶対値を用いてブロックベクトル差分値の符号を誘導又は復号化する(S1506)。
映像復号化装置は、次のステップを用いてブロックベクトル差分値の符号を誘導又は復号化する。
映像復号化装置は、ブロックベクトル空間解像度をブロックベクトル予測子及びブロックベクトル差分値の絶対値に適用する(S1520)。
映像復号化装置は、ブロックベクトル予測子にブロックベクトル差分値の水平成分及び垂直成分の符号を異なるように結合してブロックベクトル候補を生成する(S1522)。
映像復号化装置は、各ブロックベクトル候補が指す位置に現在ブロックの参照ブロックを生成する(S1524)。
映像復号化装置は、参照ブロックが参照不可能な領域を含むか否かにより、該当するブロックベクトル候補を使用可能ブロックベクトル候補に含めるか否かを決定する(S1526)。
映像復号化装置は、使用可能ブロックベクトル候補に基づいてブロックベクトル差分値の符号を誘導又は復号化する(S1528)。
映像復号化装置は、使用可能ブロックベクトル候補を判断する際に、ブロックベクトル差分値の符号が正又は負に決定される場合、ブロックベクトル差分値の符号を誘導する。或いは、映像復号化装置は、ブロックベクトル差分値の符号が正又は負に決定されない場合、ビットストリームからブロックベクトル差分値の符号を復号化する。
映像復号化装置は、ブロックベクトル差分値の絶対値と符号とを結合してブロックベクトル差分値を生成する(S1508)。
映像復号化装置は、ブロックベクトル予測子とブロックベクトル差分値とを結合してブロックベクトルを生成する(S1510)。
以下、16及び図17に示した図を用いて、映像符号化装置及び映像復号化装置が実現例2及び実現例4に基づいて現在ブロックのブロックベクトルを適応的に生成する方法を記述する。
図16は、本発明の他の実施形態による、映像符号化装置によって遂行される現在ブロックのブロックベクトルを適応的に生成する方法を示すフローチャートである。
映像符号化装置は、上位ステップからブロックベクトル予測子インデックス、及びブロックベクトル差分値の絶対値を獲得する(S1600)。また、映像符号化装置は、ブロックベクトル予測子インデックス、及びブロックベクトル差分値の絶対値を符号化した後、これらを映像復号化装置にシグナリングする。
映像符号化装置は、現在ブロックのブロックベクトル予測子候補リストを生成した後、ブロックベクトル予測子インデックスを用いてブロックベクトル予測子候補リストからブロックベクトル予測子を生成する(S1602)。
映像符号化装置はブロックベクトル空間解像度を誘導する(S1604)。
映像符号化装置は、予め設定されたブロックベクトル空間解像度をブロックベクトル空間解像度として用いる。このとき、予め設定されたブロックベクトル空間解像度は、整数画素単位又は副画素単位の空間解像度である。
映像符号化装置は、現在ブロックの上段及び左側のブロックに適応的空間解像度が適用されない場合、予め設定されたブロックベクトル空間解像度をブロックベクトル空間解像度として用いる。このとき、予め設定されたブロックベクトル空間解像度は、整数画素単位又は副画素単位の空間解像度である。また、映像符号化装置は、現在ブロックの上段及び左側のブロックの中の1つのブロックに適応的空間解像度が適用された場合、適応的空間解像度が適用されたブロックの空間解像度をブロックベクトル空間解像度として用いる。また、映像符号化装置は、現在ブロックの上段及び左側のブロックに適応的空間解像度が適用された場合、予め設定された方式により、上段及び左側のブロックの中の1つの空間解像度をブロックベクトル空間解像度として用いる。ここで、予め設定された方式は、より精密な空間解像度の使用、より精密でない空間解像度の使用、及び予め設定された空間解像度の使用の中の1つである。
映像符号化装置は、ブロックベクトル空間解像度、ブロックベクトル予測子、及びブロックベクトル差分値の絶対値を用いてブロックベクトル差分値の符号を誘導又は獲得する(S1606)。映像符号化装置がブロックベクトル差分値の符号を誘導又は獲得するステップは、図14の例示と同一であるため、これ以上の説明は省く。
映像符号化装置は、ブロックベクトル差分値の絶対値と符号とを結合してブロックベクトル差分値を生成する(S1608)。
映像符号化装置は、ブロックベクトル予測子とブロックベクトル差分値をと結合してブロックベクトルを生成する(S1610)。
図17は、本発明の他の実施形態による映像復号化装置によって遂行される現在ブロックのブロックベクトルを適応的に生成する方法を示すフローチャートである。
映像復号化装置は、ビットストリームからブロックベクトル予測子インデックス、及びブロックベクトル差分値の絶対値を復号化する(S1700)。
映像復号化装置は、現在ブロックのブロックベクトル予測子候補リストを生成した後、ブロックベクトル予測子インデックスを用いてブロックベクトル予測子候補リストからブロックベクトル予測子を生成する(S1702)。
映像復号化装置はブロックベクトル空間解像度を誘導する(S1704)。映像復号化装置は、上述したような映像符号化装置と同一の方法を用いてブロックベクトル空間解像度を誘導するため、これ以上の詳しい説明は省く。
映像復号化装置は、ブロックベクトル空間解像度、ブロックベクトル予測子、及びブロックベクトル差分値の絶対値を用いてブロックベクトル差分値の符号を誘導又は復号化する(S1706)。映像復号化装置がブロックベクトル差分値の符号を誘導又は復号化するステップは、図15の例示と同一であるため、これ以上の説明は省く。
映像復号化装置は、ブロックベクトル差分値の絶対値と符号とを結合してブロックベクトル差分値を生成する(S1708)。
映像復号化装置は、ブロックベクトル予測子とブロックベクトル差分値とを結合してブロックベクトルを生成する(S1710)。
本明細書のフローチャート/タイミング図では、各プロセスを順次実行するものとして説明しているが、これは、本発明の実施形態の技術思想を例示的に説明したに過ぎない。言い換えると、本発明が属する技術分野で通常の知識を有する者であれば、本発明の本質的な特性から逸脱しない範囲でフローチャート/タイミング図に記載された順序を変更して実行するか、或いは各プロセスの中の1つ以上のプロセスを並列に実行することによって様々に修正及び変形して適用可能であるため、フローチャート/タイミング図は時系列的な順序に限定されるものではない。
以上の説明における例示的な実施形態は、多くの異なる方式で具現されることを理解されたい。1つ以上に示した例で説明した機能又は方法は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組み合わせで具現される。本明細書で説明した機能的コンポーネントは、それらの具現の独立性を特に強調するために「…部(unit)」とラベル付けされたことを理解されたい。
一方、本実施形態で説明した様々な機能又は方法は、1つ以上のプロセッサによって読み取られて実行される非一時的記録媒体に保存された命令語で具現される。非一時的記録媒体は、例えばコンピュータシステムによって読み取り可能な形式でデータが保存されるあらゆる種類の記録装置を含む。例えば、非一時的記録媒体は、EPROM(erasable programmable read only memory)、フラッシュドライブ、光学ドライブ、磁気ハードドライブ、ソリッドステートドライブ(SSD)などのような保存媒体を含む。
以上の説明は、本発明の技術思想を例示的に説明したものに過ぎず、本発明が属する技術分野で通常の知識を有する者であれば、本発明の本質的な特性から逸脱しない範囲で様々な修正及び変形が可能であるだろう。従って、本実施形態は、本発明の技術思想を限定するものではなく説明するためのものであり、このような実施形態によって本発明の技術思想の範囲が限定されるものではない。本発明の保護範囲は、特許請求の範囲によって解釈すべきであり、それと均等の範囲内にある全ての技術思想は、本発明の権利範囲に含まれるものと解釈すべきである。
CROSS-REFERENCE TO RELATED APPLICATION
本特許出願は、2021年4月2日付で韓国に出願した特許出願番号第10-2021--0043574号、2022年3月25日付で韓国に出願した特許出願番号第10-2022-0037102号に対して優先権を主張し、その全ての内容は参考文献として本特許出願に併合される。
本特許出願は、2021年4月2日付で韓国に出願した特許出願番号第10-2021--0043574号、2022年3月25日付で韓国に出願した特許出願番号第10-2022-0037102号に対して優先権を主張し、その全ての内容は参考文献として本特許出願に併合される。
110 ピクチャ分割部
120、540 予測部
122、542 イントラ予測部
124、544 インター予測部
130 減算器
140 変換部
145 量子化部
150、515 並べ替え部
155 エントロピー符号化部
160、520 逆量子化部
165、530 逆変換部
170、550 加算器
180、560 ループフィルタ部
182、562 デブロックフィルタ
184、564 SAO(Sample Adaptive Offset)フィルタ
186、566 ALF(Adaptive Loop Filter)
190、570 メモリ
510 エントロピー復号化部
120、540 予測部
122、542 イントラ予測部
124、544 インター予測部
130 減算器
140 変換部
145 量子化部
150、515 並べ替え部
155 エントロピー符号化部
160、520 逆量子化部
165、530 逆変換部
170、550 加算器
180、560 ループフィルタ部
182、562 デブロックフィルタ
184、564 SAO(Sample Adaptive Offset)フィルタ
186、566 ALF(Adaptive Loop Filter)
190、570 メモリ
510 エントロピー復号化部
一方、インター予測部124は、双方向予測(bi-prediction)を用いてインター予測を遂行する。双方向予測の場合、2つの参照ピクチャと、各参照ピクチャ内で現在ブロックに最も類似したブロック位置を表す2つの動きベクトルとが用いられる。インター予測部124は、参照ピクチャリスト0(RefPicList0)及び参照ピクチャリスト1(RefPicList1)からそれぞれ第1の参照ピクチャ及び第2の参照ピクチャを選択し、各参照ピクチャ内で現在ブロックに類似したブロックを探索して第1の参照ブロック及び第2の参照ブロックを生成する。そして、第1の参照ブロックと第2の参照ブロックとを平均又は加重平均して現在ブロックに対する予測ブロックを生成する。そして、現在ブロックを予測するために使用した2つの参照ピクチャに関する情報、及び2つの動きベクトルに関する情報を含む動き情報を符号化部に伝達する。ここで、参照ピクチャリスト0は、予め復元されたピクチャの中のディスプレイ順序で現在ピクチャの前のピクチャで構成され、参照ピクチャリスト1は、予め復元されたピクチャの中のディスプレイ順序で現在ピクチャ以降のピクチャで構成される。しかし、必ずしもこれに限定されるわけではなく、ディスプレイ順序上で現在ピクチャ以降の既復元のピクチャが参照ピクチャリスト0に追加で更に含まれるか、又は逆に現在ピクチャの前の既復元のピクチャが参照ピクチャリスト1に追加で更に含まれる。
マージ候補を誘導するための周辺ブロックとしては、図4に示したように、現在ピクチャ内で現在ブロックに隣接する左側ブロックA0、左下段ブロックA1、上段ブロックB0、右上段ブロックB1、及び左上段ブロックB2の中の全部又は一部が使用される。更に、現在ブロックが位置する現在ピクチャではなく、参照ピクチャ(現在ブロックを予測するために使用された参照ピクチャと同一であるか又は異なる)内に位置するブロックがマージ候補として使用される。例えば、参照ピクチャ内で現在ブロックと同一の位置にあるブロック(co-located block)又はその同一の位置のブロックに隣接するブロックがマージ候補として追加で更に使用される。以上で記述した方法によって選定されたマージ候補の個数が予め設定された個数よりも小さい場合、0ベクトルをマージ候補に追加する。
インター予測部124は、このような周辺ブロックを用いて予め決定された個数のマージ候補を含むマージリストを構成する。マージリストに含まれるマージ候補の中から現在ブロックの動き情報として使用されるマージ候補を選択し、選択された候補を識別するためのマージインデックス情報を生成する。生成されたマージインデックス情報は、符号化部によって符号化されて映像復号化装置に伝達される。
AMVPモードで、インター予測部124は、現在ブロックの周辺ブロックを用いて現在ブロックの動きベクトルに対する予測動きベクトル候補を誘導する。予測動きベクトル候補を誘導するために使用される周辺ブロックとしては、図4に示した現在ピクチャ内で現在ブロックに隣接する左側ブロックA0、左下段ブロックA1、上段ブロックB0、右上段ブロックB1、及び左上段ブロックB2の中の全部又は一部が用いられる。更に、現在ブロックが位置する現在ピクチャではなく、参照ピクチャ(現在ブロックを予測するために使用された参照ピクチャと同じであるか又は異なる)内に位置するブロックが、予測動きベクトル候補を誘導するために使用される周辺ブロックとして使用される。例えば、参照ピクチャ内で現在ブロックと同じ位置にあるブロック(collocated block)、又はその同じ位置のブロックに隣接するブロックが使用される。以上で記述した方法によって動きベクトル候補の個数が予め設定された個数よりも小さい場合、0ベクトルを動きベクトル候補に追加する。
デブロックフィルタ182は、ブロック単位の符号化/復号化によって発生するブロッキング現象(blocking artifact)を除去するために復元されたブロック間の境界をフィルタリングし、SAOフィルタ184及びALF186は、デブロックフィルタリングされた映像に対して追加のフィルタリングを遂行する。SAOフィルタ184及びALF186は、損失符号化(lossy coding)によって発生する復元されたピクセルと元本ピクセルとの間の差を補償するために使用されるフィルタである。SAOフィルタ184は、CTU単位でオフセットを適用することで、主観的な画質だけでなく符号化効率も向上させる。これに比べて、ALF186はブロック単位のフィルタリングを遂行し、該当ブロックのエッジ及び変化量の程度を区分して異なるフィルタを適用して歪みを補償する。ALFに使用されるフィルタ係数に関する情報は符号化されて映像復号化装置にシグナリングされる。
Claims (18)
- 映像復号化装置によって遂行されるIBC(Intra Block Copy)モードで現在ブロックのブロックベクトルを適応的に生成する方法であって、
ビットストリームから、ブロックベクトル予測子インデックス、ブロックベクトル差分値の絶対値、及びブロックベクトル空間解像度精度インデックスを復号化するステップと、
前記現在ブロックのブロックベクトル予測子候補リストを生成した後、前記ブロックベクトル予測子インデックスを用いて前記ブロックベクトル予測子候補リストからブロックベクトル予測子を生成するステップと、
ブロックベクトル空間解像度候補リストを生成した後、前記ブロックベクトル空間解像度精度インデックスを用いて前記ブロックベクトル空間解像度候補リストからブロックベクトル空間解像度を生成するステップと、
前記ブロックベクトル空間解像度、前記ブロックベクトル予測子、及び前記ブロックベクトル差分値の絶対値を用いて前記ブロックベクトル差分値の符号を誘導又は復号化するステップと、
前記ブロックベクトル差分値の絶対値と符号とを結合して前記ブロックベクトル差分値を生成するステップと、
前記ブロックベクトル予測子と前記ブロックベクトル差分値とを結合して前記ブロックベクトルを生成するステップと、を有することを特徴とする方法。 - 前記ブロックベクトル空間解像度候補リストは、前記ブロックベクトル空間解像度の候補として、前記現在ブロックの周辺ブロックのブロックベクトル空間解像度、復号順序上以前に使用されたブロックベクトル空間解像度、予め設定されたブロックベクトル空間解像度、及び使用頻度(frequency)に基づいて決定されたブロックベクトル空間解像度の全部又は一部を含むことを特徴とする請求項1に記載の方法。
- 前記ブロックベクトル空間解像度候補リストは、前記使用頻度が高いブロックベクトル空間解像度であればあるほど、前記ブロックベクトル空間解像度候補リストの前側に配置されることを特徴とする請求項2に記載の方法。
- 前記ブロックベクトル空間解像度候補リストは、少なくとも1つの整数画素単位の空間解像度の値、及び少なくとも1つの副画素単位の空間解像度の値を含むことを特徴とする請求項1に記載の方法。
- 前記誘導又は復号化するステップは、
前記ブロックベクトル空間解像度を前記ブロックベクトル予測子及び前記ブロックベクトル差分値の絶対値に適用するステップと、
前記ブロックベクトル予測子に前記ブロックベクトル差分値の符号を異なるように結合してブロックベクトル候補を生成するステップと、
各ブロックベクトル候補が指す位置で前記現在ブロックの参照ブロックを生成するステップと、
前記参照ブロックが参照不可能な領域を含むか否かにより、該当するブロックベクトル候補を使用可能ブロックベクトル候補に含めるか否かを決定するステップと、
前記使用可能ブロックベクトル候補に基づいて前記ブロックベクトル差分値の符号を誘導又は復号化するステップと、を含むことを特徴とする請求項1に記載の方法。 - 前記誘導又は復号化するステップは、前記使用可能ブロックベクトル候補を判断するとき、前記ブロックベクトル差分値の符号が正又は負に決定される場合に前記ブロックベクトル差分値の符号を誘導し、前記ブロックベクトル差分値の符号が正又は負に決定されない場合に前記ビットストリームから前記ブロックベクトル差分値の符号を復号化することを特徴とする請求項5に記載の方法。
- 映像復号化装置によって遂行されるIBC(Intra Block Copy)モードで現在ブロックのブロックベクトルを適応的に生成する方法であって、
ビットストリームから、ブロックベクトル予測子インデックス、及びブロックベクトル差分値の絶対値を復号化するステップと、
前記現在ブロックのブロックベクトル予測子候補リストを生成した後、前記ブロックベクトル予測子インデックスを用いて前記ブロックベクトル予測子候補リストからブロックベクトル予測子を生成するステップと、
ブロックベクトル空間解像度を誘導するステップと、
前記ブロックベクトル空間解像度、前記ブロックベクトル予測子、及び前記ブロックベクトル差分値の絶対値を用いて前記ブロックベクトル差分値の符号を誘導又は復号化するステップと、
前記ブロックベクトル差分値の絶対値と符号とを結合して前記ブロックベクトル差分値を生成するステップと、
前記ブロックベクトル予測子と前記ブロックベクトル差分値とを結合して前記ブロックベクトルを生成するステップと、を有することを特徴とする方法。 - 前記ブロックベクトル空間解像度を誘導するステップは、予め設定されたブロックベクトル空間解像度を前記ブロックベクトル空間解像度として用い、
前記予め設定されたブロックベクトル空間解像度は、整数画素単位又は副画素単位の空間解像度であることを特徴とする請求項7に記載の方法。 - 前記ブロックベクトル空間解像度を誘導するステップは、前記現在ブロックの上段及び左側のブロックに適応的空間解像度が適用されない場合、予め設定されたブロックベクトル空間解像度を前記ブロックベクトル空間解像度として用い、
前記予め設定されたブロックベクトル空間解像度は、整数画素単位又は副画素単位の空間解像度であることを特徴とする請求項7に記載の方法。 - 前記ブロックベクトル空間解像度を誘導するステップは、前記現在ブロックの上段及び左側のブロックの中の1つのブロックに前記適応的空間解像度が適用された場合、前記適応的空間解像度が適用されたブロックの空間解像度を前記ブロックベクトル空間解像度として用いることを特徴とする請求項9に記載の方法。
- 前記ブロックベクトル空間解像度を誘導するステップは、前記現在ブロックの上段及び左側のブロックに前記適応的空間解像度が適用された場合、予め設定された方式によって前記上段及び左側のブロックの中の1つの空間解像度を前記ブロックベクトル空間解像度として用いることを特徴とする請求項10に記載の方法。
- 映像符号化装置によって遂行されるIBC(Intra Block Copy)モードで現在ブロックのブロックベクトルを適応的に生成する方法であって、
上位ステップからブロックベクトル予測子インデックス、及びブロックベクトル差分値の絶対値を獲得するステップと、
前記現在ブロックのブロックベクトル予測子候補リストを生成した後、前記ブロックベクトル予測子インデックスを用いて前記ブロックベクトル予測子候補リストからブロックベクトル予測子を生成するステップと、
ブロックベクトル空間解像度を誘導するステップと、
前記ブロックベクトル空間解像度、前記ブロックベクトル予測子、及び前記ブロックベクトル差分値の絶対値を用いて前記ブロックベクトル差分値の符号を誘導又は獲得するステップと、
前記ブロックベクトル差分値の絶対値と符号とを結合して前記ブロックベクトル差分値を生成するステップと、
前記ブロックベクトル予測子と前記ブロックベクトル差分値とを結合して前記ブロックベクトルを生成するステップと、を有することを特徴とする方法。 - 前記ブロックベクトル空間解像度を誘導するステップは、予め設定されたブロックベクトル空間解像度を前記ブロックベクトル空間解像度として用い、
前記予め設定されたブロックベクトル空間解像度は、整数画素単位又は副画素単位の空間解像度であることを特徴とする請求項12に記載の方法。 - 前記ブロックベクトル空間解像度を誘導するステップは、前記現在ブロックの上段及び左側のブロックに適応的空間解像度が適用されない場合、予め設定されたブロックベクトル空間解像度を前記ブロックベクトル空間解像度として用い、
前記予め設定されたブロックベクトル空間解像度は、整数画素単位又は副画素単位の空間解像度であることを特徴とする請求項12に記載の方法。 - 前記ブロックベクトル空間解像度を誘導するステップは、前記現在ブロックの上段及び左側のブロックの中の1つのブロックに前記適応的空間解像度が適用された場合、前記適応的空間解像度が適用されたブロックの空間解像度を前記ブロックベクトル空間解像度として用いることを特徴とする請求項14に記載の方法。
- 前記ブロックベクトル空間解像度を誘導するステップは、前記現在ブロックの上段及び左側のブロックに前記適応的空間解像度が適用された場合、予め設定された方式によって前記上段及び左側のブロックの中の1つの空間解像度を前記ブロックベクトル空間解像度として用いることを特徴とする請求項15に記載の方法。
- 前記誘導又は獲得するステップは、
前記ブロックベクトル空間解像度を前記ブロックベクトル予測子及び前記ブロックベクトル差分値の絶対値に適用するステップと、
前記ブロックベクトル予測子に前記ブロックベクトル差分値の符号を異なるように結合してブロックベクトル候補を生成するステップと、
各ブロックベクトル候補が指す位置で前記現在ブロックの参照ブロックを生成するステップと、
前記参照ブロックが参照不可能な領域を含むか否かにより、該当するブロックベクトル候補を使用可能ブロックベクトル候補に含めるか否かを決定するステップと、
前記使用可能ブロックベクトル候補に基づいて前記ブロックベクトル差分値の符号を誘導又は獲得するステップと、を含むことを特徴とする請求項12に記載の方法。 - 前記誘導又は獲得するステップは、前記使用可能ブロックベクトル候補を判断するとき、前記ブロックベクトル差分値の符号が正又は負に決定される場合に前記ブロックベクトル差分値の符号を誘導し、前記ブロックベクトル差分値の符号が正又は負に決定されない場合に前記上位ステップから前記ブロックベクトル差分値の符号を獲得することを特徴とする請求項17に記載の方法。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20210043574 | 2021-04-02 | ||
KR10-2021-0043574 | 2021-04-02 | ||
KR10-2022-0037102 | 2022-03-25 | ||
KR1020220037102A KR20220137545A (ko) | 2021-04-02 | 2022-03-25 | 적응적 공간해상도를 갖는 블록벡터를 이용하는 비디오 코딩방법 및 장치 |
PCT/KR2022/004317 WO2022211411A1 (ko) | 2021-04-02 | 2022-03-28 | 적응적 공간해상도를 갖는 블록벡터를 이용하는 비디오 코딩방법 및 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2024512785A true JP2024512785A (ja) | 2024-03-19 |
Family
ID=83456532
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023560960A Pending JP2024512785A (ja) | 2021-04-02 | 2022-03-28 | 適応的空間解像度を有するブロックベクトルを用いるビデオコーディング方法及び装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20240031558A1 (ja) |
JP (1) | JP2024512785A (ja) |
WO (1) | WO2022211411A1 (ja) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102393736B1 (ko) * | 2017-04-04 | 2022-05-04 | 한국전자통신연구원 | 영상 부호화 및 복호화 장치 |
WO2020184922A1 (ko) * | 2019-03-08 | 2020-09-17 | 한국전자통신연구원 | 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체 |
KR20200110164A (ko) * | 2019-03-14 | 2020-09-23 | 에스케이텔레콤 주식회사 | 인트라 블록 복사를 이용하는 영상 부호화 및 복호화 |
US11394990B2 (en) * | 2019-05-09 | 2022-07-19 | Tencent America LLC | Method and apparatus for signaling predictor candidate list size |
WO2021052506A1 (en) * | 2019-09-22 | 2021-03-25 | Beijing Bytedance Network Technology Co., Ltd. | Transform unit based combined inter intra prediction |
-
2022
- 2022-03-28 JP JP2023560960A patent/JP2024512785A/ja active Pending
- 2022-03-28 WO PCT/KR2022/004317 patent/WO2022211411A1/ko active Application Filing
-
2023
- 2023-09-28 US US18/374,488 patent/US20240031558A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20240031558A1 (en) | 2024-01-25 |
WO2022211411A1 (ko) | 2022-10-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20220077095A (ko) | 인트라 예측을 이용하는 비디오 코딩 방법 및 장치 | |
JP2024509216A (ja) | イントラ予測モード誘導を用いるビデオコーディングのためのイントラ予測方法及び装置 | |
KR20220071939A (ko) | 비디오 부호화 및 복호화를 위한 장치 및 방법 | |
KR20210104592A (ko) | 크로마 신호의 리샘플링에 기반하는 영상 부호화 및 복호화 | |
KR20210036851A (ko) | 360도 비디오 가상 경계의 인루프 필터를 제한하는 방법 | |
KR20220137545A (ko) | 적응적 공간해상도를 갖는 블록벡터를 이용하는 비디오 코딩방법 및 장치 | |
KR20230105646A (ko) | 크로마 성분을 위한 템플릿 기반 인트라 모드 유도 방법 | |
KR20220126233A (ko) | 행렬 기반 크로스 컴포넌트 예측을 이용하는 비디오 코딩방법 및 장치 | |
KR20220125175A (ko) | 인트라 예측모드 유도를 이용하는 비디오 코딩방법 및 장치 | |
KR20220077096A (ko) | 블록병합을 이용하는 비디오 코딩 방법 및 장치 | |
JP2024512785A (ja) | 適応的空間解像度を有するブロックベクトルを用いるビデオコーディング方法及び装置 | |
US20230179762A1 (en) | Video encoding and decoding using arbitrary block partitioning | |
US20230308662A1 (en) | Method and apparatus for video coding using block merging | |
US20220417552A1 (en) | Method and apparatus for inter-prediction of pictures with different resolutions | |
KR20230160170A (ko) | 기하학적 움직임 예측을 사용하는 비디오 코딩방법 및 장치 | |
JP2024511887A (ja) | 適応的イントラ予測精度を用いるビデオコーディング方法及び装置 | |
KR20230073970A (ko) | 템플릿 매칭 기반의 인트라 예측을 사용하는 비디오 코딩 방법 및 장치 | |
KR20240074642A (ko) | 기하학적 분할에 기반하여 크로마 블록을 인트라 예측하는 비디오 코딩방법 및 장치 | |
KR20230085063A (ko) | 참조샘플라인의 유도 기반 인트라 예측을 이용하는 비디오 코딩방법 및 장치 | |
KR20220131178A (ko) | 성분별 적응적 공간해상도를 갖는 움직임벡터를 이용하는 비디오 코딩방법 및 장치 | |
KR20220126226A (ko) | 나선스캔 순서를 이용하는 비디오 코딩방법 및 장치 | |
KR20230160171A (ko) | 혼합 성분간 예측을 사용하는 비디오 코딩방법 및 장치 | |
KR20220125171A (ko) | 인트라 예측의 예측 신호를 개선하는 비디오 코딩방법 및 장치 | |
KR20230160172A (ko) | 가상의 참조라인을 사용하는 비디오 코딩방법 및 장치 | |
KR20220137549A (ko) | 적응적 인트라 예측 정밀도를 이용하는 비디오 코딩방법 및 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20231003 |