JP7267404B2 - ビデオを符号化及び復号する方法、並びにその装置及びコンピュータプログラム - Google Patents

ビデオを符号化及び復号する方法、並びにその装置及びコンピュータプログラム Download PDF

Info

Publication number
JP7267404B2
JP7267404B2 JP2021512374A JP2021512374A JP7267404B2 JP 7267404 B2 JP7267404 B2 JP 7267404B2 JP 2021512374 A JP2021512374 A JP 2021512374A JP 2021512374 A JP2021512374 A JP 2021512374A JP 7267404 B2 JP7267404 B2 JP 7267404B2
Authority
JP
Japan
Prior art keywords
current
ctb
region
block
reconstructed
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
Application number
JP2021512374A
Other languages
English (en)
Other versions
JP2021521757A (ja
Inventor
シュイ,シアオジョォン
リィウ,シャン
リ,シアン
Original Assignee
テンセント・アメリカ・エルエルシー
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US16/528,148 external-priority patent/US11172236B2/en
Application filed by テンセント・アメリカ・エルエルシー filed Critical テンセント・アメリカ・エルエルシー
Publication of JP2021521757A publication Critical patent/JP2021521757A/ja
Application granted granted Critical
Publication of JP7267404B2 publication Critical patent/JP7267404B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/17Methods 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/176Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/55Motion estimation with spatial constraints, e.g. at image or region borders
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Description

関連出願の相互参照
本開示は、2019年7月31日に出願された米国特許出願第16/528,148号「Method and Apparatus for Video Coding」に対する優先権の利益を主張し、この特許出願は、2019年3月9日に出願された米国仮特許出願第62/816,125号「Search Range Adjustment for Intra Picture Block Compensation」、及び2018年9月21日に出願された米国仮特許出願第62/735,002号「Reference Search Range Optimization for Intra Picture Block Compensation」の優先権の利益を主張する。先出願の全開示は、参照によってその全体が本願に組み込まれる。
本開示は、一般にビデオ符号化に関する実施形態について説明する。
本明細書で提供される背景技術の説明は、本開示の背景を一般的に示すためのものである。本発明に記載されている発明者による研究については、研究がこの背景技術の項で説明されている範囲において、出願時には先行技術としてみなされない可能性のある本明細書の態様と同様に、明示的にも黙示的にも本開示に対する先行技術とは認められない。
ビデオの符号化及び復号は、動き補償を伴うインターピクチャ予測を使用して実行することができる。圧縮されていないデジタルビデオは、一連のピクチャを含むことができ、各ピクチャは、例えば、1920x1080のルミナンスサンプルと、関連するクロミナンスサンプルの空間次元を有する。一連のピクチャは、例えば、1秒毎に60ピクチャ、又は60Hzの固定又は可変のピクチャレート(非公式にはフレームレートとしても知られている)を有することができる。圧縮されていないビデオは、かなりのビットレート要件を有する。例えば、サンプル当り8ビットの1080p60 4:2:0のビデオ(60Hzのフレームレートで1920x1080ルミナンスサンプル分解能)は、1.5ギガビット/秒近い帯域幅を必要とする。このようなビデオは1時間分で、600ギガバイトを超える記憶空間を必要とする。
ビデオの符号化及び復号は、圧縮によって入力ビデオ信号の冗長性を低減することを1つの目的とすることができる。圧縮は、前述した帯域幅又は記憶空間要件を、場合によっては100倍以上低減するのに役立ち得る。可逆圧縮及び非可逆圧縮の両方、並びにこれらの組合せが使用されてもよい。可逆圧縮とは、圧縮された原信号から、原信号の完全なコピーを再構築できる技術のことをいう。非可逆圧縮を使用すると、再構築された信号は原信号と同一にならない場合があるが、原信号と再構築された信号との間の歪みは、再構築された信号が意図した用途に充分に役立つほど小さくなる。ビデオに関しては、非可逆圧縮が広く使用されている。歪み量は用途に応じて許容され、例えば、いくつかの消費者ストリーミングアプリケーションのユーザは、テレビ配信アプリケーションのユーザよりも高次の歪みを許容し得る。達成可能な圧縮比は、可能な/許容可能な歪みが高次になるほど高い圧縮比が得られるということを反映し得る。
ビデオ符号器及び復号器は、例えば、動き補償、変換、量子化、及びエントロピー符号化を含む、いくつかの幅広い範疇の技術を使用することができる。
ビデオコーデック技術は、イントラ符号化として知られている技術を含むことができる。イントラ符号化では、以前に再構築された参照ピクチャからサンプルその他のデータを参照することなく、サンプル値が表される。いくつかのビデオコーデックでは、ピクチャはサンプルのブロックに空間的に再分割される。サンプルのブロックがすべてイントラモードで符号化されると、そのピクチャはイントラピクチャとすることができる。イントラピクチャ、及び独立した復号器リフレッシュピクチャなどのその導出は、復号器の状態をリセットするために使用でき、したがって符号化されたビデオビットストリーム及びビデオセッション内の最初のピクチャとして、又は静止ピクチャとして使用することができる。イントラブロックのサンプルは変換することができ、変換係数は、エントロピー符号化の前に量子化することができる。イントラ予測は、事前変換領域のサンプル値を最小化する技術であってもよい。場合によっては、変換後のDC値が小さいほど、かつAC係数が小さいほど、エントロピー符号化後のブロックを表すための所与の量子化ステップサイズで必要とされるビットが少なくなる。
例えば、MPEG-2生成符号化技術で知られるような従来のイントラ符号化は、イントラ予測を使用しない。しかしながら、いくつかの新しいビデオ圧縮技術は、例えば、空間的に隣接し、かつ復号の順番において先行するデータのブロックの符号化/復号中に取得した、サンプルデータ及び/又はメタデータを囲むことを試みる技術を含む。このような技術は、以後、「イントラ予測」技術と呼ばれる。少なくともいくつかの事例では、イントラ予測は、再構築中であって参照ピクチャからのものでない、現在のピクチャからの参照データのみを使用していることに留意されたい。
イントラ予測にはさまざまな形式があってもよい。所与のビデオ符号化技術にこのような技術の1つ以上を使用できるとき、使用中の技術はイントラ予測モードで符号化される。いくつかの事例では、モードはサブモード及び/又はパラメータを有することができ、これらは個別に符号化する、又はモード符号語に含めることができる。所与のモード/サブモード/パラメータの組合せにどの符号語を使用するかは、イントラ予測を介して符号化効率利得に影響を及ぼす可能性があるので、符号語をビットストリームに変換するためにエントロピー符号化技術を使用することができる。
イントラ予測のいくつかのモードはH.264で導入され、H.265で洗練され、共同探索モデル(joint exploration model、JEM)、汎用ビデオ符号化(versatile video coding、VVC)及びベンチマークセット(BMS)などのより新しい符号化技術でさらに洗練された。予測子ブロックは、すでに使用可能なサンプルに属する、隣接するサンプル値を使用して形成することができる。隣接するサンプルのサンプル値は、方向に従って予測子ブロックにコピーされる。使用時の方向に対する参照はビットストリームで符号化でき、あるいはそれ自体が予測されてもよい。
図1を参照すると、右下に図示されているのは、H.265の33の可能な予測方向(35のイントラモードのうちの33の角度モードに対応する)によって知られる、9つの予測子方向のサブセットである。矢印が収束している点(101)は、予測されるサンプルを表す。矢印は、サンプルが予測される方向を表す。例えば、矢印(102)は、サンプル(101)が横軸から45度の角度で、1つ又は複数のサンプルから右上に予測されることを示す。同様に、矢印(103)は、サンプル(101)が横軸から22.5度の角度で、1つ又は複数のサンプルからサンプル(101)の左下に予測されることを示す。
さらに図1を参照すると、左上には4x4サンプル(破線の太線で示されている)の正方形のブロック(104)が図示されている。正方形のブロック(104)は16サンプルを含み、それぞれ「S」で標識され、Y次元におけるその位置(例えば、行インデックス)、及びX次元におけるその位置(例えば、列インデックス)を有する。例えば、サンプルS21は、Y次元における(上から)2番目のサンプルであり、かつX次元において(左から)1番目のサンプルである。同様に、サンプルS44は、Y方向次元及びX次元の両方において、ブロック(104)内の4番目のサンプルである。ブロックはサイズが4x4サンプルなので、S44は右下にある。さらに示されているのは、同様のナンバリング方法に従う参照サンプルである。参照サンプルはブロック(104)に対し、R、Y位置(例えば、行インデックス)、及びX位置(列インデックス)で標識される。H.264及びH.265の両方において、予測サンプルは再構築中のブロックに隣接しているため、負の値を使用する必要はない。
イントラピクチャ予測は、信号送信された予測方向によって、該当する場合は隣接するサンプルから参照サンプル値をコピーすることによって機能することができる。例えば、符号化されたビデオビットストリームが、このブロックに対して、矢印(102)と一致する予測方向を示す信号を含むと仮定すると、すなわちサンプルは横軸から45度の角度で、1つ又は複数の予測サンプルから右上に予測される。その場合、サンプルS41、S32、S23、及びS14が同じ参照サンプルR05から予測される。次に、サンプルS44が参照サンプルR08から予測される。
いくつかの事例では、特に方向が45度で均一に分割できないときは、参照サンプルを計算するために複数の参照サンプルの値が、例えば、補間によって結合されてもよい。
ビデオ符号化技術が発展するにつれて、可能な方向の数は増加している。H.264(2003年)では、9つの別の方向を表現することができる。これはH.265(2013年)、及びJEM/VVC/BMSでは33に増加し、本開示の時点で最大65方向をサポートすることができる。最も可能性の高い方向を特定する試みが行われており、このような可能性の高い方向を少数のビットで表現するためにエントロピー符号化のいくつかの技術が使用され、可能性の低い方向については一定の不利益を受け入れている。また、方向そのものは、隣接するすでに復号されたブロックで使用されている、隣接する方向から予測できることがある。
図2は、経時的に増加しつつある予測方向の数を図示するために、JEMによる65のイントラ予測方向を示す概略図(201)である
方向を表す、符号化されたビデオビットストリーム内のイントラ予測方向ビットのマッピングは、ビデオ符号化技術によって異なっていてもよく、例えば、予測方向の単純な直接マッピングから、イントラ予測モード、符号語、最確モードを含む複雑な適応的な方式、及び類似の技術までの範囲にわたっていてもよい。しかしながらすべての場合において、ビデオコンテンツの中で、いくつかの他の方向と比較して、統計的に発生しにくいいくつかの方向が存在する可能性がある。ビデオ圧縮の目標は冗長性の低減にあるので、良好なビデオ符号化技術においては、このような可能性の低い方向が、可能性の高い方向よりも多数のビットによって表現されることになる。
本開示の態様は、ビデオを符号化/復号する方法及び装置を提供する。いくつかの例では、ビデオを復号する装置は、処理回路を備える。処理回路は、符号化されたビデオビットストリームから現在のブロックの予測情報を復号し、予測情報はイントラブロックコピーモードを示し、現在のブロックは、現在のピクチャにおける現在の符号化ツリーブロック(CTB)の現在の領域にある複数の符号化ブロックのうちの1つである。処理回路は、現在のブロックが現在の領域において最初に再構築されるものかどうかを判定する。現在のブロックが現在の領域において最初に再構築されるときは、処理回路は現在のブロックのブロックベクトルを決定する。ブロックベクトルによって示された参照ブロックは、以前に再構築されたCTBにおける同一位置領域(collocated region)を除外した検索範囲にあり、以前に再構築されたCTBにおける同一位置領域の位置は、現在のCTBにおける現在の領域と同じ相対位置を有する。検索範囲は現在のピクチャにある。処理回路はブロックベクトルに従って、現在のブロックの少なくとも1つのサンプルを再構築する。検索範囲は、同一位置領域の後、かつ現在のブロックの前に再構築された符号化ブロックを含むことができる。
実施形態では、現在のCTBのサイズは参照メモリサイズと等しく、以前に再構築されたCTBは現在のCTBの左隣にあり、同一位置領域の位置は、現在の領域の位置から現在のCTBの幅だけオフセットされ、検索範囲にある符号化ブロックは、現在のCTB及び以前に再構築されたCTBのうちの少なくとも1つの中にある。
例では、現在のCTB及び以前に再構築されたCTBのサイズは128×128サンプルであり、現在のCTBは64×64サンプルの4つの領域を含み、以前に再構築されたCTBは64×64サンプルの4つの領域を含み、同一位置領域の位置は、現在の領域の位置から128サンプル分オフセットされ、現在の領域は、現在のCTB内の4つの領域のうちの1つであり、同一位置領域は、以前に再構築されたCTBの4つの領域のうちの1つである。現在のCTB内の4つの領域は、左上領域と、右上領域と、左下領域と、右下領域とを含むことができる。以前に再構築されたCTB内の4つの領域は、左上領域と、右上領域と、左下領域と、右下領域とを含むことができる。現在の領域が現在のCTBの左上領域のときは、同一位置領域は以前に再構築されたCTBの左上領域であり、検索範囲は以前に再構築されたCTBの左上領域を除外する。現在の領域が現在のCTBの右上領域のときは、同一位置領域は以前に再構築されたCTBの右上領域であり、検索範囲は以前に再構築されたCTBの左上領域及び右上領域を除外する。現在の領域が現在のCTBの左下領域のときは、同一位置領域は以前に再構築されたCTBの左下領域であり、検索範囲は以前に再構築されたCTBの左上領域、右上領域、及び左下領域を除外する。現在の領域が現在のCTBの右下領域のときは、同一位置領域は以前に再構築されたCTBの右下領域であり、検索範囲は以前に再構築されたCTBを除外する。
例では、現在のCTBは、同じサイズ及び形状を有する4つの領域を含み、以前に再構築されたCTBは、同じサイズ及び形状を有する4つの領域を含み、現在の領域は、現在のCTB内の4つの領域のうちの1つであり、同一位置領域は、以前に再構築されたCTB内の4つの領域のうちの1つである。
実施形態では、現在のCTBのサイズは参照メモリサイズ未満であり、同一位置領域の位置は、現在の領域の位置から現在のCTBの幅の複数倍分オフセットされ、検索範囲内の符号化ブロックは、現在のCTB、以前に再構築されたCTB、及び現在のCTBと以前に再構築されたCTBとの間にある1つ以上の再構築されたCTBのうちの少なくとも1つの中にある。例では、現在のCTBのサイズは64x64サンプルであり、参照メモリサイズは128x128サンプルであり、現在のCTBは32x32サンプルの4つの領域を含み、以前に再構築されたCTBは32x32サンプルの4つの領域を含み、同一位置領域の位置は、現在の領域の位置から256サンプル分オフセットされる。例では、検索範囲内にある符号化ブロックは、現在のCTB、及び現在のCTBと以前に再構築されたCTBとの間にある1つ以上の再構築されたCTBのうちの少なくとも1つの中にある。例では、検索範囲は、現在のCTBの幅のN倍だけオフセットされる以前に再構築されたCTBを除外し、Nは、現在のCTBのサイズに対する参照メモリサイズの比である。
本開示の態様は、コンピュータにビデオを復号する方法を実行させるコンピュータプログラムをさらに提供する。
本開示の主題のさらなる特徴、性質、及びさまざまな利点は、以下の詳細な説明、及び添付の図面でより明らかになるであろう。
イントラ予測モードの例示的なサブセットの概略図である。 例示的なイントラ予測方向の図である。 実施形態による、通信システム(300)の簡素化されたブロック図の概略図である。 実施形態による、通信システム(400)の簡素化されたブロック図の概略図である。 実施形態による、復号器の簡素化されたブロック図の概略図である。 実施形態による、符号器の簡素化されたブロック図の概略図である。 別の実施形態による、符号器のブロック図を示す。 別の実施形態による、復号器のブロック図を示す。 本開示の実施形態による、イントラブロックコピーの例を示す。 本開示の実施形態による、イントラブロックコピーの例を示す。 本開示の実施形態による、イントラブロックコピーの例を示す。 本開示の実施形態による、イントラブロックコピーの例を示す。 本開示の実施形態による、イントラブロックコピーの別の例を示す。 本開示の実施形態による、イントラブロックコピーのさらに別の例を示す。 本開示の実施形態による、イントラブロックコピーのさらに別の例を示す。 本開示の実施形態による、CTBサイズよりも大きい検索範囲を有する、イントラブロックコピーの例を示す。 本開示の実施形態による工程(1400)を概説したフローチャートを示す。 実施形態による、コンピュータシステムの概略図である。
図3は、本開示の実施形態による、通信システム(300)の簡素化されたブロック図を示す。通信システム(300)は、例えば、ネットワーク(350)を介して、互いに通信できる複数の端末装置を含む。例えば、通信システム(300)は、ネットワーク(350)を介して相互接続された、第1の対の端末装置(310)及び(320)を含む。図3の例では、第1の対の端末装置(310)及び(320)は、データの一方向伝送を行う。例えば、端末装置(310)は、ネットワーク(350)を介してもう一方の端末装置(320)に伝送するために、ビデオデータ(例えば、端末装置(310)によって捕捉されたビデオのストリーム)を符号化してもよい。符号化されたビデオデータは、1つ以上の符号化されたビデオビットストリームの形態で伝送することができる。端末装置(320)は、ネットワーク(350)から符号化されたビデオデータを受信し、ビデオを復元するために符号化されたビデオデータを復号し、復元されたビデオデータに従ってビデオを表示してもよい。一方向のデータ伝送は、媒体供給用途などにおいて一般的であろう。
別の例では、通信システム(300)は、例えば、ビデオ会議中に生じる場合がある、符号化されたビデオデータの双方向伝送を行う、第2の対の端末装置(330)及び(340)を含む。例では、データの双方向伝送の場合は、端末装置(330)及び(340)の各端末装置は、ネットワーク(350)を介して、端末装置(330)及び(340)のうちの他方の端末装置(320)に伝送するために、ビデオデータ(例えば、端末装置によって捕捉されたビデオのストリーム)を符号化してもよい。端末装置(330)及び(340)の各端末装置は、端末装置(330)及び(340)のうちの他方の端末装置によって伝送された、符号化されたビデオデータを受信してもよく、かつビデオを復元するために符号化されたビデオデータを復号してもよく、復元されたビデオデータに従って、アクセス可能な表示装置でビデオを表示してもよい。
図3の例では、端末装置(310)、(320)、(330)、及び(340)は、サーバ、パソコン、及びスマートフォンとして示されてもよいが、本開示の原理はそのように限定されなくてもよい。本開示の実施形態は、ノートパソコン、タブレットコンピュータ、メディアプレーヤ、及び/又は専用のビデオ会議機器にも適用される。ネットワーク(350)は、符号化されたビデオデータを端末装置(310)、(320)、(330)及び(340)間に伝達する、有線及び/又は無線通信ネットワークなどを含む任意の数のネットワークを表す。通信ネットワーク(350)は、回線交換チャネル及び/又はパケット交換チャネルでデータを交換してもよい。代表的なネットワークは、電気通信ネットワーク、ローカルエリアネットワーク、広域ネットワーク、及び/又はインターネットを含む。本考察の目的のために、ネットワーク(350)のアーキテクチャ及びトポロジは、以下で説明されない限り、本開示の運用には無関係な場合がある。
図4は、開示される主題の適用例として、ストリーミング環境におけるビデオ符号器及びビデオ復号器の配置を示す。開示される主題は、例えば、ビデオ会議や、デジタルテレビや、CD、DVD、メモリスティックなどのデジタル媒体への圧縮ビデオの記憶などを含む、他のビデオに対応した用途に等しく適用することができる。
ストリーミングシステムは捕捉サブシステム(413)を含んでもよく、捕捉サブシステム(413)は、例えば、圧縮されていないビデオのストリーム(402)を作成する、デジタルカメラなどのビデオソース(401)を含むことができる。例では、ビデオのストリーム(402)は、デジタルカメラによって取得されたサンプルを含む。符号化されたビデオデータ(404)(又は符号化されたビデオビットストリーム)と比較してデータ量が大きいことを強調するために太線で示されているビデオのストリーム(402)は、ビデオソース(401)に結合されたビデオ符号器(403)を備える電子機器(420)で処理することができる。以下でより詳細に説明するように、ビデオ符号器(403)は、開示される主題の態様を可能にする、又は実施するために、ハードウェア、ソフトウェア、又はこれらの組合せを含むことができる。ビデオのストリーム(402)と比較してデータ量が小さいことを強調するために細線で示されている符号化されたビデオデータ(404)(又は符号化されたビデオビットストリーム(404))は、後で使用するためにストリーミングサーバ(405)に記憶することができる。図4のクライアントサブシステム(406)及び(408)などの1つ以上のストリーミングクライアントサブシステムは、符号化されたビデオデータ(404)のコピー(407)及び(409)を検索するために、ストリーミングサーバ(405)にアクセスすることができる。クライアントサブシステム(406)は、例えば、電子機器(430)内に、ビデオ復号器(410)を含むことができる。ビデオ復号器(410)は、入ってくる符号化されたビデオデータのコピー(407)を復号して、表示装置(412)(例えば、表示スクリーン)、又は他の表示装置(図示せず)に表示できる、発信するビデオのストリーム(411)を生成する。一部のストリーミングシステムでは、符号化されたビデオデータ(404)、(407)、及び(409)(例えば、ビデオビットストリーム)は、いくつかのビデオ符号化/圧縮標準に従って符号化することができる。このような標準の例は、ITU-T勧告H.265を含む。例では、開発中のビデオ符号化標準は、汎用ビデオ符号化(Versatile Video Coding、VVC)として非公式に知られている。開示される主題は、VVCに関連して使用され得る。
電子機器(420)及び(430)は、他の構成要素(図示せず)を含んでもよいことに留意されたい。例えば、電子機器(420)は、ビデオ復号器(図示せず)を含むことができ、電子機器(430)は、同様にビデオ符号器(図示せず)を含むことができる。
図5は、本開示の実施形態による、ビデオ復号器(510)のブロック図を示す。ビデオ復号器(510)は、電子機器(530)に含まれていてもよい。電子機器(530)は、受信機(531)(例えば、受信回路)を備えることができる。ビデオ復号器(510)は、図4の例におけるビデオ復号器(410)の代わりに使用することができる。
受信機(531)は、ビデオ復号器(510)によって復号される1つ以上の符号化されたビデオシーケンスを受信してもよく、同一又は別の実施形態では、1つの符号化されたビデオシーケンスを同時に受信してもよく、符号化されたビデオシーケンスそれぞれの復号は、他の符号化されたビデオシーケンスから独立している。符号化されたビデオシーケンスは、チャネル(501)から受信されてもよく、チャネル(501)は、符号化されたビデオデータを記憶する記憶装置と連結する、ハードウェア/ソフトウェアであってもよい。受信機(531)は、符号化された音声データ及び/又は補助データストリームなどの他のデータとともに符号化されたビデオデータを受信してもよく、これはそれぞれが使用するエンティティ(図示せず)に転送されてもよい。受信機(531)は、符号化されたビデオシーケンスを他のデータから分離してもよい。ネットワークのジッタに対抗するために、受信機(531)とエントロピー復号器/構文解析器(520)(以下「構文解析器(520)」とする)との間にバッファメモリ(515)が結合されてもよい。いくつかの用途において、バッファメモリ(515)は、ビデオ復号器(510)の一部である。他の用途では、ビデオ復号器(510)の外部にあってもよい(図示せず)。さらに他の用途では、例えば、ネットワークのジッタに対抗するために、ビデオ復号器(510)の外部にバッファメモリ(図示せず)があってもよく、さらに、例えば、プレイアウトタイミングに対処するために、ビデオ復号器(510)の内部に別のバッファメモリ(515)があってもよい。受信機(531)が、帯域幅及び制御性が充分な記憶装置/転送装置から、又はアイソクロナス(isochronous)ネットワークからデータを受信しているときは、バッファメモリ(515)は必要でない場合がある、あるいは小さくすることができる。バッファメモリ(515)は、インターネットなどのベストエフォートのパケットネットワークで使用するために必要とされる場合があり、比較的大型で、好適には適応可能なサイズにすることができ、少なくとも部分的に、ビデオ復号器(510)の外部にあるオペレーティングシステム又は類似の要素(図示せず)で実施されてもよい。
ビデオ復号器(510)は、符号化されたビデオシーケンスからシンボル(521)を再構築するために、構文解析器(520)を備えてもよい。このようなシンボルの分類は、ビデオ復号器(510)の動作を管理するのに使用される情報、及び表示装置(512)(例えば、表示スクリーン)などの表示装置を制御するための潜在的な情報を含み、図5に示されていたように、表示装置は電子機器(530)の一体部品ではないが、電子機器(530)に結合することができる。(複数の)表示装置のための制御情報は、付加情報(Supplemental Enhancement Information、SEI)メッセージ、又はビデオ表示情報(Video Usability Information、VUI)パラメータ集合フラグメント(図示せず)の形式にされてもよい。構文解析器(520)は、受信した符号化されたビデオシーケンスを、構文解析/エントロピー復号してもよい。符号化されたビデオシーケンスの符号は、ビデオ符号化技術又は標準に従っていてもよく、可変長符号化、ハフマン符号化、文脈依存又は非文脈依存の算術符号化などを含む、さまざまな原理に従っていてもよい。構文解析器(520)は、符号化されたビデオシーケンスから、グループに対応する少なくとも1つのパラメータに基づいて、ビデオ復号器内の、画素のサブグループの少なくとも1つに対する、一群のサブグループパラメータを抽出してもよい。サブグループは、ピクチャのグループ(GOP)、ピクチャ、タイル、スライス、マクロブロック、符号化ユニット(CU)、ブロック、変換ユニット(TU)、予測ユニット(PU)などを含むことができる。また、構文解析器(520)は、符号化されたビデオシーケンスから、変換係数、量子化器パラメータ値、動きベクトルなどの情報を抽出してもよい。
構文解析器(520)は、シンボル(521)を生成するために、バッファメモリ(515)から受信したビデオシーケンスにエントロピー復号/構文解析動作を実行してもよい。
シンボル(521)の再構築は、符号化されたビデオ又はその部分の種別(例えば、インターピクチャ及びイントラピクチャ、インターブロック及びイントラブロック)、並びに他の要素に応じて、複数の異なるユニットを含むことができる。どのユニットがどのように含まれるかについては、構文解析器(520)によって符号化されたビデオシーケンスから構文解析された、サブグループ制御情報によって制御することができる。構文解析器(520)と、以下の複数のユニットとの間のこのようなサブグループ制御情報の流れは、明確にするために図示されていない。
すでに述べた機能ブロック以外に、ビデオ復号器(510)は、以下で説明するように、概念的にいくつかの機能ユニットに再分割することができる。商業的な制約の下で運用される実際の実施では、このようなユニットの多くは互いに密接に相互作用し、少なくとも部分的に互いに統合することができる。しかしながら、開示する主題を説明する目的のためには、以下の機能ユニットに概念的に再分割するのが適切である。
第1のユニットは、スケーラ/逆変換ユニット(551)である。スケーラ/逆変換ユニット(551)は、量子化変換係数、並びに制御情報を受信し、これには、構文解析器(520)からの(複数の)シンボル(521)として、使用する変換、ブロックサイズ、量子化因子、量子化スケーリング行列などが含まれている。スケーラ/逆変換ユニット(551)は、サンプル値を含むブロックを出力でき、これを集約装置(555)に入力することができる。
場合によっては、スケーラ/逆変換ユニット(551)の出力サンプルは、イントラ符号化されたブロックに関係することができ、つまり、以前に再構築されたピクチャからの予測情報を使用していないブロックは、現在のピクチャの以前に再構築された部分からの予測情報を使用することができる。このような予測情報は、イントラピクチャ予測ユニット(552)によって提供することができる。場合によっては、イントラピクチャ予測ユニット(552)は、現在のピクチャバッファ(558)から取り出した、周囲のすでに再構築された情報を使用して、再構築中のブロックと同じサイズ及び形状のブロックを生成する。現在のピクチャバッファ(558)は、例えば、部分的に再構築された現在のピクチャ及び/又は完全に再構築された現在のピクチャをバッファリングする。集約装置(555)は、場合により、イントラ予測ユニット(552)が生成した予測情報をサンプル毎に、スケーラ/逆変換ユニット(551)によって提供された出力サンプル情報に追加する。
他の事例では、スケーラ/逆変換ユニット(551)の出力サンプルは、インター符号化され、かつ潜在的に動き補償されたブロックに関係することができる。このような事例では、動き補償予測ユニット(553)が、予測に使用するサンプルを取り出すために、参照ピクチャメモリ(557)にアクセスすることができる。ブロックに関連するシンボル(521)に従って、取り出されたサンプルを動き補償した後に、これらのサンプルは、出力サンプル情報を生成するように、集約装置(555)によってスケーラ/逆変換ユニット(551)の出力(この場合は残差サンプル又は残差信号と呼ばれる)に追加することができる。動き補償予測ユニット(553)が予測サンプルを取り出す参照ピクチャメモリ(557)内のアドレスは、動きベクトルによって制御することができ、シンボル(521)の形態で動き補償予測ユニット(553)に使用可能で、例えば、X、Y、及び参照ピクチャ成分を有することができる。また動き補償は、サブサンプルの正確な動きベクトルが使用されているときに参照ピクチャメモリ(557)から取り出されたサンプル値の補間、動きベクトル予測機構などを含むことができる。
集約装置(555)の出力サンプルは、ループフィルタユニット(556)のさまざまなループフィルタリング技術にかけることができる。ビデオ圧縮技術は、符号化されたビデオシーケンス(符号化されたビデオビットストリームとも呼ばれる)に含まれるパラメータによって制御され、構文解析器(520)からのシンボル(521)としてループフィルタユニット(556)に対して使用可能になる、ループ内フィルタ技術を含むことができるが、さらに、符号化されたピクチャ又は符号化されたビデオシーケンスの以前の(復号順で)部分の復号中に取得されたメタ情報にも応答し、同様に以前に再構築されてループフィルタリングされたサンプル値にも応答することができる。
ループフィルタユニット(556)の出力は、表示装置(512)に出力でき、かつ以後のインターピクチャ予測に使用するために参照ピクチャメモリ(557)に記憶できる、サンプルストリームであってもよい。
いくつかの符号化されたピクチャは、いったん完全に再構築されると、以後の予測用の参照ピクチャとして使用することができる。例えば、現在のピクチャに対応する、符号化されたピクチャが完全に再構築され、符号化されたピクチャが(例えば、構文解析器(520)によって)参照ピクチャとして特定されていると、現在のピクチャバッファ(558)が参照ピクチャメモリ(557)の一部になることができ、後続の符号化されたピクチャの再構築を開始する前に、新しい現在のピクチャバッファを再配分することができる。
ビデオ復号器(510)は、ITU-T Rec. H.265などの一定の標準における所定のビデオ圧縮技術に従って、復号動作を実行してもよい。符号化されたビデオシーケンスが、ビデオ圧縮技術又は標準の構文と、ビデオ圧縮技術又は標準に記述されているプロファイルとの両方を遵守しているという意味において、符号化されたビデオシーケンスは、使用されるビデオ圧縮技術又は標準によって指定された構文に従っているといえる。具体的には、プロファイルは、ビデオ圧縮技術又は標準で使用可能なすべてのツールから、そのプロファイル下で使用できるツールとして、いくつかのツールだけを選択することができる。遵守のためにさらに必要なことは、符号化されたビデオシーケンスの複雑性が、ビデオ圧縮技術又は標準のレベルによって規定される範囲内にあることであろう。場合によっては、レベルによって最大ピクチャサイズ、最大フレームレート、最大再構築サンプルレート(例えば、メガサンプル/秒で測定される)、最大参照ピクチャサイズなどが制限される。レベルによって設定される制限は、場合によっては、仮想参照復号器(Hypothetical Reference Decoder、HRD)仕様、及び符号化されたビデオシーケンスで信号送信されたHRDバッファ管理のメタデータによってさらに制限される可能性がある。
実施形態では、受信機(531)は、符号化されたビデオとともに追加(冗長)データを受信してもよい。追加データは、(複数の)符号化されたビデオシーケンスの一部として含められてもよい。追加データは、ビデオ復号器(510)によって、データを適切に復号するため、かつ/又は元のビデオデータをより正確に再構築するために使用されてもよい。追加データは、例えば、時間的、空間的、又は信号雑音比(SNR)強化層、冗長スライス、冗長ピクチャ、転送エラー修正コードなどの形態であってもよい。
図6は、本開示の実施形態による、ビデオ符号器(603)のブロック図を示す。ビデオ符号器(603)は、電子機器(620)に含まれている。電子機器(620)は、送信機(640)(例えば、送信回路)を備える。ビデオ符号器(603)は、図4の例におけるビデオ符号器(403)の代わりに使用することができる。
ビデオ符号器(603)は、ビデオ符号器(603)によって符号化される(複数の)ビデオを捕捉し得るビデオソース(601)(図6の例では、電子機器(620)の一部ではない)から、ビデオサンプルを受信してもよい。別の例では、ビデオソース(601)は電子機器(620)の一部である。
ビデオソース(601)は、ビデオ符号器(603)によって符号化されるソースビデオシーケンスを、任意の適切なビット深度(8ビット、10ビット、12ビット~など)、任意の色空間(BT.601 Y CrCB、RGBなど)、及び任意の適切なサンプリング構造(Y CrCb 4:2:0、Y CrCb 4:4:4など)にすることが可能なデジタルビデオサンプルストリームの形態で提供し得る。媒体供給システムでは、ビデオソース(601)は、以前に準備したビデオを記憶している記憶装置であってもよい。ビデオ会議システムでは、ビデオソース(601)は、局所ピクチャ情報をビデオシーケンスとして捕捉するカメラであってもよい。ビデオデータは、シーケンスで見たときに動きを伝える複数の個別のピクチャとして提供されてもよい。ピクチャ自体は画素の空間的配列として編成されてもよく、各画素は、使用時のサンプリング構造、色空間などに応じて1つ以上のサンプルを含むことができる。当業者であれば、画素とサンプルとの関係を容易に理解できるであろう。以下、サンプルを中心に説明する。
実施形態によれば、ビデオ符号器(603)は、リアルタイムで、又は用途によって必要とされる他の時間制約下で、ソースビデオシーケンスのピクチャを符号化し圧縮して、符号化されたビデオシーケンス(643)にし得る。適切な符号化速度にすることが、コントローラ(650)の1つの機能である。いくつかの実施形態では、コントローラ(650)は、後述するように他の機能ユニットを制御し、かつ他の機能ユニットに機能的に結合される。明確にするために、結合については図示しない。コントローラ(650)によって設定されたパラメータは、レート制御関連パラメータ(ピクチャスキップ、量子化、レート-歪み最適化技術のラムダ値など)、ピクチャサイズ、ピクチャのグループ(GOP)のレイアウト、最大動きベクトル検索範囲などを含むことができる。コントローラ(650)は、いくつかのシステム設計用に最適化されたビデオ符号器(603)に関連する、他の適切な機能を有するように構成することができる。
いくつかの実施形態では、ビデオ符号器(603)は、符号化ループで動作するように構成される。過度に単純化した説明になるが、例において、符号化ループは、ソース符号器(630)(例えば、符号化される入力ピクチャ及び(複数の)参照ピクチャに基づいて、シンボルストリームなどのシンボルの生成に関与する)と、ビデオ符号器(603)に組み込まれた(ローカル)復号器(633)を含むことができる。復号器(633)は、(リモート)復号器が生成するのと同様の方法でサンプルデータを生成するために、シンボルを再構築する(シンボル及び符号化されたビデオビットストリーム間の圧縮は、本開示の主題で考慮されるビデオ圧縮技術においていずれも可逆であるため)。再構築されたサンプルストリーム(サンプルデータ)は、参照ピクチャメモリ(634)に入力される。シンボルストリームの復号が、復号器の位置(ローカル又はリモート)とは無関係に、結果としてビットパーフェクト(bit-exact)になると、参照ピクチャメモリ(634)のコンテンツもまた、ローカル符号器とリモート符号器との間でビットパーフェクトになる。言い換えれば、符号器の予測部は、参照ピクチャサンプルを、復号中に予測を使用しているときに復号器が「みなす」ものとまったく同じサンプル値と「みなす」。参照ピクチャ共時性のこの基本原理(及び、例えばチャネルエラーのために共時性を維持できない場合は、結果として生じるドリフト)は、一部の関連技術にも同様に用いられている。
「ローカル」復号器(633)の動作は、ビデオ復号器(510)などの「リモート」復号器と同じであってもよく、これについては、図5に関連してすでに詳細に上述した。しかしながら、一時的に図5も参照すると、シンボルが使用可能であり、かつエントロピー符号器(645)及び構文解析器(520)によって、シンボルを符号化されたビデオシーケンスに可逆的に符号化/復号できるので、バッファメモリ(515)を含むビデオ復号器(510)のエントロピー復号部、及び構文解析器(520)は、ローカル復号器(633)で完全に実施されなくてもよい。
現時点で考えられることは、復号器内に存在する、構文解析/エントロピー復号を除く復号器技術はいずれも、対応する符号器内にもほぼ同一の機能的形態で存在することが当然必要になる。このため、開示される主題は復号器の動作に重点を置いている。符号器技術の説明は、包括的に述べられている復号器技術の逆なので、省略することができる。いくつかの領域においてのみ、より詳細な説明が必要とされ以下で説明される。
いくつかの例では、動作中に、ソース符号器(630)は、動き補償された予測符号化を実行してもよく、「参照ピクチャ」として指定されたビデオシーケンスから、1つ以上の以前に符号化されたピクチャに関して入力ピクチャを予測的に符号化する。この方法では、符号化エンジン(632)は、入力ピクチャの画素ブロックと、入力ピクチャに対する(複数の)予測参照として選択され得る(複数の)参照ピクチャの画素ブロックとの差を符号化する。
ローカルビデオ復号器(633)は、ソース符号器(630)によって生成されたシンボルに基づいて、参照ピクチャとして指定され得るピクチャの符号化されたビデオデータを復号してもよい。符号化エンジン(632)の動作は、好適には非可逆の工程であってもよい。符号化されたビデオデータが、ビデオ復号器(図6には図示せず)で復号されてもよいときは、再構築されたビデオシーケンスは、通常はいくつかのエラーを伴う、ソースビデオシーケンスの複製であってもよい。ローカルビデオ復号器(633)は、ビデオ復号器によって参照ピクチャに対して実行されてもよく、かつ再構築された参照ピクチャが参照ピクチャキャッシュ(634)に記憶されるようにし得る、復号工程を複製する。この方法では、ビデオ符号器(603)は、遠端のビデオ復号器(伝送エラーのない)によって取得される、再構築された参照ピクチャと共通のコンテンツを有する、再構築された参照ピクチャのコピーを局所的に記憶してもよい。
予測子(635)は、符号化エンジン(632)用の予測検索を実行してもよい。つまり、予測子(635)は、符号化される新しいピクチャに対して、参照ピクチャメモリ(634)からサンプルデータ(候補参照画素ブロックとしての)、又は参照ピクチャ動きベクトル、ブロック形状などのいくつかのメタデータを検索してもよく、これは新しいピクチャの適切な予測参照として機能する。予測子(635)は、適切な予測参照を見つけるために、ブロック×画素ブロックを基準として、サンプルで動作してもよい。場合によっては、予測子(635)によって取得された検索結果によって決定されるように、入力ピクチャは、参照ピクチャメモリ(634)に記憶された複数の参照ピクチャから引き出された予測参照を有してもよい。
コントローラ(650)は、例えば、ビデオデータの符号化に使用される、パラメータ及びサブグループパラメータの設定を含む、ソース符号器(630)の符号化動作を管理してもよい。
前述した全機能ユニットの出力は、エントロピー符号器(645)でエントロピー符号化されてもよい。エントロピー符号器(645)は、さまざまな機能ユニットによって生成されると、ハフマン符号化、可変長符号化、算術符号化などの技術でシンボルを可逆圧縮することによって、シンボルを符号化されたビデオシーケンスに変換する。
送信機(640)は、通信チャネル(660)を介した送信に備えるために、エントロピー符号器(645)によって生成された際に、(複数の)符号化されたビデオシーケンスをバッファリングしてもよく、これは、符号化されたビデオデータを記憶する記憶装置に対するハードウェア/ソフトウェア連携であってもよい。送信機(640)は、ビデオ符号器(603)の符号化されたビデオデータを、送信される他のデータ、例えば、符号化された音声データ及び/又は補助データストリーム(ソースは図示せず)とマージしてもよい。
コントローラ(650)は、ビデオ符号器(603)の動作を管理してもよい。符号化中に、コントローラ(650)は、符号化されたピクチャのそれぞれにいくつかの符号化ピクチャ種別を割り当ててもよく、これは、各ピクチャに適用され得る符号化技術に影響を及ぼす場合がある。例えば、ピクチャは、以下のピクチャ種別のうちの1つに割り当てられることが多い。
イントラピクチャ(Iピクチャ)は、予測のソースとしてシーケンス内の他のピクチャを使用せずに符号化及び復号され得るものである。いくつかのビデオコーデックは、例えば、デコーダ復号動作の瞬時リフレッシュ(Instantaneous Decoder Refresh、「IDR」)ピクチャを含む、異なる種類のイントラピクチャを許容する。当業者には、このようなIピクチャの変形、並びにその各用途及び特徴が知られている。
予測ピクチャ(Pピクチャ)は、各ブロックのサンプル値を予測するために、最大で1つの動きベクトル及び参照インデックスを使用して、イントラ予測又はインター予測を用いて符号化及び復号され得るものである。
双方向予測ピクチャ(Bピクチャ)は、各ブロックのサンプル値を予測するために、最大で2つの動きベクトル及び参照インデックスを使用して、イントラ予測又はインター予測を用いて符号化及び復号され得るものである。同様に多重予測ピクチャは、1つのブロックを再構築するために、2つよりも多い参照ピクチャ、及び関連するメタデータを使用することができる。
ソースピクチャは、通常は空間的に複数のサンプルブロック(例えば、それぞれ4x4、8x8、4x8、又は16x16サンプルのブロック)に再分割されて、ブロック毎に符号化されてもよい。ブロックは、ブロックの各ピクチャに適用された符号割当てによって決定される際に、他の(すでに符号化された)ブロックを参照して予測的に符号化されてもよい。例えば、Iピクチャのブロックは、非予測的に符号化されてもよく、あるいは同じピクチャのすでに符号化されたブロックを参照して、予測的に符号化されてもよい(空間予測又はイントラ予測)。Pピクチャの画素ブロックは、1つの以前に符号化された参照ピクチャを参照して、空間予測によって、又は時間予測によって、予測的に符号化されてもよい。Bピクチャのブロックは、1つ又は2つの以前に符号化された参照ピクチャを参照して、空間予測によって、又は時間予測によって、予測的に符号化されてもよい。
ビデオ符号器(603)は、ITU-T Rec. H.265などの所定のビデオ符号化技術又は標準に従って、符号化動作を実行してもよい。その動作において、ビデオ符号器(603)はさまざまな圧縮動作を実行してもよく、これには入力ビデオシーケンスで時間的及び空間的冗長性を利用する予測符号化動作が含まれる。したがって符号化されたビデオデータは、使用されるビデオ符号化技術又は標準によって指定された構文に従っていてもよい。
実施形態では、送信機(640)は、符号化されたビデオとともに追加データを送信してもよい。ソース符号器(630)は、符号化されたビデオシーケンスの一部としてこのようなデータを含んでもよい。追加データは、時間/空間/SNR強化層、冗長ピクチャ及びスライス、SEIメッセージ、VUIパラメータ集合フラグメントなどの他の形式の冗長データを含んでもよい。
ビデオは、時間シーケンスにおいて、複数のソースピクチャ(ビデオ)として捕捉されてもよい。イントラピクチャ予測(イントラ予測と略されることが多い)は、所与のピクチャ内で空間相関を使用し、インターピクチャ予測は、ピクチャ間の(時間その他の)相関を使用する。例では、現在のピクチャと呼ばれる符号化/復号中の特定のピクチャが、ブロックに分割される。現在のピクチャ内のブロックが、ビデオ内の予め符号化されてまだバッファリングされている参照ピクチャの参照ブロックと類似しているときは、現在のピクチャのブロックは、動きベクトルと呼ばれるベクトルによって符号化することができる。動きベクトルは、参照ピクチャ内の参照ブロックを指し、参照ピクチャを特定する第3の次元を有することができ、場合によっては、複数の参照ピクチャが使用されている。
いくつかの実施形態では、インターピクチャ予測に双方向予測技術を使用することができる。双方向予測技術によれば2つの参照ピクチャが使用され、ビデオ内の現在のピクチャに対していずれも復号順が先になる(ただし表示順ではそれぞれ過去及び未来になってもよい)、第1の参照ピクチャ及び第2の参照ピクチャなどが使用される。現在のピクチャのブロックは、第1の参照ピクチャ内の第1の参照ブロックを指す第1の動きベクトル、及び第2の参照ピクチャ内の第2の参照ブロックを指す第2の動きベクトルによって符号化することができる。ブロックは、第1の参照ブロックと第2の参照ブロックとの組合せによって予測することができる。
また、符号化効率を向上させるために、インターピクチャ予測にマージモード技術を使用することができる。
本開示のいくつかの実施形態によれば、インターピクチャ予測及びイントラピクチャ予測などの予測は、ブロックのユニット内で実行される。例えば、HEVC標準によれば、ビデオシーケンス内のピクチャは、圧縮するために符号ツリーユニット(CTU)に分割され、ピクチャ内のCTUは、64x64画素、32x32画素、又は16x16画素などの同じサイズを有する。一般に、CTUは、3つの符号化ツリーブロック(CTB)を含み、これは、1つのルマCTB、及び2つのクロマCTBである。各CTUは、再帰的に4分木分割して、1つ又は複数の符号化ユニット(CU)にすることができる。例えば、64x64画素のCTUは、1つの64x64画素のCU、又は32x32画素の4つのCU、又は16x16画素の16のCUに分割することができる。例では、各CUは、インター予測種別、又はイントラ予測種別など、CUの予測種別を決定するために解析される。CUは、時間及び/又は空間予測可能性に応じて、1つ以上の予測ユニット(PU)に分割される。一般に、各PUは、1つのルマ予測ブロック(PB)と、2つのクロマPBとを含む。実施形態では、符号化(符号化/復号)における予測動作は、予測ブロックのユニットで実行される。予測ブロックの例としてルマ予測ブロックを使用すると、予測ブロックは、8x8画素、16x16画素、8x16画素、16x8画素などの画素の値(例えば、ルマ値)の行列を含む。
図7は、本開示の別の実施形態による、ビデオ符号器(703)の図を示す。ビデオ符号器(703)は、ビデオシーケンスの現在のビデオ内にあるサンプル値の処理ブロック(例えば、予測ブロック)を受信し、処理ブロックを符号化して、符号化されたビデオシーケンスの一部である符号化されたピクチャにするように構成される。例では、ビデオ符号器(703)は、図4の例におけるビデオ符号器(403)の代わりに使用される。
HEVCの例では、ビデオ符号器(703)は、8x8サンプルの予測ブロックなど、処理ブロックのサンプル値の行列を受信する。ビデオ符号器(703)は、例えばレート-歪み最適化を使用して、処理ブロックが、イントラモード、インターモード、又は双方向予測モードを使用して最良に符号化されるかどうかを判定する。処理ブロックがイントラモードで符号化されるときは、ビデオ符号器(703)は、処理ブロックを符号化して符号化されたピクチャにするためにイントラ予測技術を使用してもよく、処理ブロックがインターモード又は双方向予測モードで符号化されるときは、ビデオ符号器(703)は、処理ブロックを符号化して符号化されたピクチャにするためにインター予測又は双方向予測技術をそれぞれ使用してもよい。いくつかのビデオ符号化技術では、マージモードが、インターピクチャ予測サブモードであってもよく、ここで動きベクトルは1つ以上の動きベクトル予測子から得られ、予測子の外部にある符号化された動きベクトル成分は利用しない。いくつかの他のビデオ符号化技術では、対象ブロックに適用できる動きベクトル成分が存在し得る。例では、ビデオ符号器(703)は、処理ブロックのモードを決定するために、モード決定モジュール(図示せず)などの他の要素を含む。
図7の例では、ビデオ符号器(703)は、図7に示すように互いに結合された、インター符号器(730)と、イントラ符号器(722)と、残差計算器(723)と、スイッチ(726)と、残差符号器(724)と、統括コントローラ(721)と、エントロピー符号器(725)とを備える。
インター符号器(730)は、現在のブロック(例えば、処理ブロック)のサンプルを受信し、ブロックを参照ピクチャ内の1つ以上の参照ブロック(例えば、以前及び以後のピクチャ内のブロック)と比較し、インター予測情報(例えば、インター符号化技術、動きベクトル、マージモード情報による冗長情報の記述)を生成し、任意の適切な技術を使用して、インター予測情報に基づいてインター予測結果(例えば、予測されたブロック)を計算するように構成される。いくつかの例では、参照ピクチャは、符号化されたビデオ情報に基づいて復号された、復号された参照ピクチャである。
イントラ符号器(722)は、現在のブロック(例えば、処理ブロック)のサンプルを受信し、場合によってはブロックを、同じピクチャ内ですでに符号化されているブロックと比較し、変換後の量子化された係数、及び場合によっては、さらにイントラ予測情報(例えば、1つ以上のイントラ符号化技術によるイントラ予測方向情報)を生成するように構成される。例では、イントラ符号器(722)は、同じピクチャ内のイントラ予測情報及び参照ブロックに基づいて、イントラ予測結果(例えば、予測されたブロック)をさらに計算する。
統括コントローラ(721)は、統括制御データを決定し、統括制御データに基づいてビデオ符号器(703)の他の要素を制御するように構成される。例では、統括コントローラ(721)は、ブロックのモードを決定し、モードに基づいてスイッチ(726)に制御信号を供給する。例えば、モードがイントラモードのときは、統括コントローラ(721)は、残差計算器(723)が使用するイントラモード結果を選択するようにスイッチ(726)を制御し、かつイントラ予測情報を選択してビットストリーム内にイントラ予測情報を含めるようにエントロピー符号器(725)を制御し、モードがインターモードのときは、統括コントローラ(721)は、残差計算器(723)が使用するインター予測結果を選択するようにスイッチ(726)を制御し、かつインター予測情報を選択してビットストリーム内にインター予測情報を含めるようにエントロピー符号器(725)を制御する。
残差計算器(723)は、受信したブロックと、イントラ符号器(722)又はインター符号器(730)から選択された予測結果との間の差(残差データ)を計算するように構成される。残差符号器(724)は、残差データを符号化して変換係数を生成するために、残差データに基づいて動作するように構成される。例では、残差符号器(724)は、残差データを空間領域から周波数領域に変換して、変換係数を生成するように構成される。変換係数は、その後、量子化変換係数を取得するために量子化処理される。さまざまな実施形態において、ビデオ符号器(703)は残差復号器(728)をさらに備える。残差復号器(728)は、逆変換を実行して、復号された残差データを生成するように構成される。復号された残差データは、イントラ符号器(722)及びインター符号器(730)が適宜使用することができる。例えば、インター符号器(730)は、復号された残差データ及びインター予測情報に基づいて復号されたブロックを生成でき、イントラ符号器(722)は、復号された残差データ及びイントラ予測情報に基づいて復号されたブロックを生成することができる。復号されたブロックは復号されたピクチャを生成するように適宜処理され、復号されたピクチャはメモリ回路(図示せず)にバッファリングして、いくつかの例において参照ピクチャとして使用することができる。
エントロピー符号器(725)は、ビットストリームを、符号化されたブロックを含むようフォーマットするように構成される。エントロピー符号器(725)は、HEVC標準などの適切な標準に従って、さまざまな情報を含むように構成される。例えば、エントロピー符号器(725)は、統括制御データ、選択した予測情報(例えば、イントラ予測情報又はインター予測情報)、残差データその他の適切な情報をビットストリーム内に含めるように構成される。開示されている主題によれば、インターモード、又は双方向予測モードのいずれかのマージサブモードでブロックを符号化するときは、残差情報がないことに留意されたい。
図8は、本開示の別の実施形態による、ビデオ復号器(810)の図を示す。ビデオ復号器(810)は、符号化されたビデオシーケンスの一部である、符号化されたピクチャを受信して、再構築されたピクチャを生成するために、符号化されたピクチャを復号するように構成される。例では、ビデオ復号器(810)は、図4の例におけるビデオ復号器(410)の代わりに使用される。
図8の例では、ビデオ復号器(810)は、図8に示すように互いに結合された、エントロピー復号器(871)と、インター復号器(880)と、残差復号器(873)と、再構築モジュール(874)と、イントラ復号器(872)とを含む。
エントロピー復号器(871)は、符号化されたピクチャから、符号化されたピクチャが作成される構文要素を表す、いくつかのシンボルを再構築するように構成することができる。このようなシンボルは、例えば、ブロックが符号化されるモード(例えば、イントラモード、インターモード、双方向予測モード、マージサブモード又は別のサブモードのインターモード及び双方向予測モード)、イントラ復号器(872)又はインター復号器(880)のそれぞれによる予測に使用されるいくつかのサンプル又はメタデータを特定できる、予測情報(例えば、イントラ予測情報又はインター予測情報)、量子化変換係数などの形式の残差情報を含むことができる。例では、予測モードがインターモード又は双方向予測モードのときは、インター復号器(880)にインター予測情報が提供され、予測種別がイントラ予測種別のときは、イントラ復号器(872)にイントラ予測情報が提供される。残差情報は逆量子化でき、残差復号器(873)に提供される。
インター復号器(880)は、インター予測情報を受信して、インター予測情報に基づいてインター予測結果を生成するように構成される。
イントラ復号器(872)は、イントラ予測情報を受信して、イントラ予測情報に基づいて予測結果を生成するように構成される。
残差復号器(873)は、非量子化変換係数を抽出して、非量子化変換係数を処理して残差を周波数領域から空間領域に変換するために、逆量子化を実行するように構成される。残差復号器(873)は、(量子化器パラメータ(QP)を含めるために)いくつかの制御情報をさらに必要とする場合があり、その情報は、エントロピー復号器(871)によって提供されてもよい(これについては低容量の制御情報のみの場合があるため、データ経路は図示していない)。
再構築モジュール(874)は、再構築されたブロックを形成するために、空間領域において、残差復号器(873)の出力としての残差と、(場合により、インター又はイントラ予測モジュールによる出力としての)予測結果とを結合するように構成され、再構築されたブロックは再構築されたピクチャの一部になり、次に再構築されたビデオの一部になり得る。視覚品質を向上させるために、非ブロック化動作などの他の適切な動作を実行できることに留意されたい。
ビデオ符号器(403)、(603)、及び(703)、並びにビデオ復号器(410)、(510)、及び(810)は、任意の適切な技術を使用して実施できることに留意されたい。実施形態では、ビデオ符号器(403)、(603)、及び(703)、並びにビデオ復号器(410)、(510)、及び(810)は、1つ以上の集積回路を使用して実施することができる。別の実施形態では、ビデオ符号器(403)、(603)、及び(603)、並びにビデオ復号器(410)、(510)、及び(810)は、ソフトウェア命令を実行する1つ以上のプロセッサを使用して実施することができる。
本開示の態様は、イントラピクチャブロック補償の検索範囲調節のための技術を提供する。
インター予測及びイントラ予測には、ブロックに基づいた補償を使用することができる。インター予測の場合、異なるピクチャからのブロックに基づく補償は、動き補償として知られている。ブロックに基づく補償は、イントラ予測など、同じピクチャ内の以前に再構築された領域からも行うことができる。同じピクチャ内の再構築された領域からのブロックに基づく補償は、イントラピクチャブロック補償、現在のピクチャ参照(CPR)、又はイントラブロックコピー(IBC)と呼ばれる。現在のブロックと、同じピクチャ内の参照ブロック(予測ブロックとも呼ばれる)との間のオフセットを示す変位ベクトルはブロックベクトル(BV)と呼ばれ、現在のブロックは、参照ブロックに基づいて符号化/復号することができる。任意の値(正又は負、x方向でもy方向でも)をとれる動き補償の動きベクトルとは異なり、BVには、参照ブロックが使用可能ですでに再構築されていることを保証するためのいくつかの制約がある。また、いくつかの例では、並列処理を考慮するために、タイル境界、スライス境界、又は波面はしご形境界(wavefront ladder shape boundary)である、いくつかの参照領域が除外される。
ブロックベクトルの符号化は、明示的であっても暗黙的であってもよい。明示モードでは、ブロックベクトルとその予測子との間のBV差がシグナリングされる。暗黙モードでは、ブロックベクトルは、マージモードの動きベクトルと同様の方法で、BV差を使用せずに予測子(ブロックベクトル予測子と呼ばれる)から復元される。ブロックベクトルの分解能は、いくつかの実施では、整数位置に限定される。他のシステムでは、ブロックベクトルは分数位置を指すことができる。
いくつかの例では、ブロックレベルでのイントラブロックコピーの使用は、IBCフラグなどのブロックレベルフラグを使用してシグナリングすることができる。実施形態では、現在のブロックが明示的に符号化されるときは、ブロックレベルフラグがシグナリングされる。いくつかの例では、ブロックレベルでのイントラブロックコピーの使用は、参照インデックスの手法を使用してシグナリングすることができる。復号中の現在のピクチャは、その後、参照ピクチャ又は特別参照ピクチャとして扱われる。例では、このような参照ピクチャは、参照ピクチャのリストの最後の位置に置かれる。特別参照ピクチャは、他の時間的な参照ピクチャと一緒に、復号済みピクチャバッファ(DPB)などのバッファで管理される。
イントラブロックコピーには、反転イントラブロックコピー(参照ブロックが、現在のブロックの予測に使用される前に水平又は垂直に反転される)、又はラインに基づくイントラブロックコピー(MxNの符号化ブロック内部の各補償ユニットがMx1又は1xNライン)などのいくつかの変形がある。
前述したように、ピクチャ内で再構築されている現在のブロックのBVは、いくつかの制約がある可能性があり、したがって、現在のブロックの参照ブロックは検索範囲内にある。検索範囲とは、参照ブロックを選択できるピクチャの一部のことを言う。例えば、検索範囲は、ピクチャ内の再構築された領域のいくつかの部分の中にあってもよい。検索範囲のサイズ、位置、形状などは制約することができる。あるいは、BVを制約することができる。例では、BVはx及びy成分を含む二次元ベクトルであり、x及びy成分のうちの少なくとも1つを制約することができる。制約は、BV、検索範囲、又はBVと検索範囲との組合せに対して指定することができる。さまざまな例において、BVに対していくつかの制約が指定されると、これに従って検索範囲が制約される。同様に、検索範囲に対していくつかの制約が指定されると、これに従ってBVが制約される。
図9は、本開示の実施形態による、イントラブロックコピーの例を示す。現在のピクチャ(900)は、復号中に再構築される。現在のピクチャ(900)は、再構築領域(910)(灰色の領域)と、復号される領域(920)(白色の領域)とを含む。現在のブロック(930)は、復号器によって再構築中である。現在のブロック(930)は、再構築領域(910)にある参照ブロック(940)から再構築することができる。参照ブロック(940)と現在のブロック(930)との間の位置オフセットは、ブロックベクトル(950)(又はBV(950))と呼ばれる。図9の例では、検索範囲(960)は、再構築領域(910)内にあり、参照ブロック(940)は、検索範囲(960)内にあり、ブロックベクトル(950)は、検索範囲(960)内にある参照ブロック(940)を指すように制約される。
BV及び/又は検索範囲には、さまざまな制約を適用することができる。実施形態では、現在のCTBにおける再構築中の現在のブロックに対する検索範囲は、現在のCTB内になるように制約される。
実施形態において、イントラブロックコピーに使用される参照サンプルを記憶するのに効率的なメモリ要件は、1CTBサイズである。例では、CTBサイズは128x128サンプルである。現在のCTBは、再構築中の現在の領域を含む。現在の領域は、64x4サンプルのサイズを有する。参照メモリは、再構築されたサンプルを現在の領域にさらに記憶できるので、参照メモリは、参照メモリサイズが、128x128サンプルのCTBサイズと等しいときは、64x64のサンプルをさらに3領域記憶することができる。したがって、検索範囲は、参照サンプルを記憶するための総メモリ要件が変化しない(128x128サンプルの1CTBサイズ、又は64x64の合計4つの基準サンプルの)一方で、以前に再構築されたCTBのいくつかの部分を含むことができる。例では、図10に示すように、以前に再構築されたCTBが現在のCTBの左隣にある。
図10は、本開示の実施形態による、イントラブロックコピーの例を示す。現在のピクチャ(1001)は、再構築中の現在のCTB(1015)と、現在のCTB(1015)の左隣にある、以前に再構築されたCTB(1010)とを含む。現在のピクチャ(1001)内のCTBは、128x128サンプルなどのCTBサイズ、及び128サンプルなどのCTB幅を有する。現在のCTB(1015)は、4つの領域(1016)~(1019)を含み、現在の領域(1016)は再構築中である。現在の領域(1016)は、複数の符号化ブロック(1021)~(1029)を含む。同様に、以前に再構築されたCTB(1010)も4つの領域(1011)~(1014)を含む。符号化ブロック(1021)~(1025)は再構築されており、現在のブロック(1026)は再構築中であり、符号化ブロック(1026)~(1027)、及び領域(1017)~(1019)はこれから再構築される。
現在の領域(1016)は、同一位置(colloacated)領域(すなわち以前に再構築されたCTB(1010)内の領域(1011))を有する。以前に再構築されたCTB(1010)に対する同一位置領域(1011)の相対位置は、現在のCTB(1015)に対する現在の領域(1016)の相対位置と同一であってもよい。図10に示す例では、現在の領域(1016)は、現在のCTB(1015)の左上領域であり、したがって同一位置領域(1011)もまた、以前に再構築されたCTB(1010)の左上領域である。以前に再構築されたCTB(1010)の位置は、現在のCTB(1015)の位置からCTB幅だけオフセットされているので、同一位置領域(1011)の位置は、現在の領域(1016)の位置からCTB幅だけオフセットされる。
実施形態では、現在の領域(1016)の同一位置領域は、以前に再構築されたCTBにあり、以前に再構築されたCTBの位置は、現在のCTB(1015)の位置からCTB幅1つ分、又は倍数分オフセットされており、したがって、同一位置領域の位置もまた、現在の領域(1016)の位置から対応するCTB幅1つ分、又は倍数分オフセットされている。同一位置領域の位置は、現在の領域(1016)から、例えば、左シフトさせたり、上シフトさせたりすることができる。
前述したように、現在のブロック(1026)に対する検索範囲のサイズは、CTBサイズによって制約される。図10の例では、検索範囲は、以前に再構築されたCTB(1010)内の領域(1012)~(1014)、及び符号化ブロック(1021)~(1025)などの、すでに再構築された現在の領域(1016)の一部を含むことができる。検索範囲は、同一位置領域(1011)をさらに除外するので、検索範囲のサイズはCTBサイズ内に収まる。図10を参照すると、参照ブロック(1091)は、以前に再構築されたCTB(1010)の領域(1014)に配置される。ブロックベクトル(1020)は、現在のブロック(1026)と、それぞれの参照ブロック(1091)との間のオフセットを示す。参照ブロック(1091)は検索範囲内にある。
図10に示す例は、現在の領域が現在のCTB(1015)内の別の位置に配置される、他の状況に適宜適用することができる。例では、現在のブロックが領域(1017)にあるとき、現在のブロックの同一位置領域は領域(1012)である。したがって、検索範囲は領域(1013)~(1014)、領域(1016)、及びすでに再構築された領域(1017)の一部を含むことができる。検索範囲は、領域(1011)及び同一位置領域(1012)をさらに除外するので、検索範囲のサイズはCTBサイズ内に収まる。例では、現在のブロックが領域(1018)にあるとき、現在のブロックの同一位置領域は領域(1013)である。したがって、検索範囲は領域(1014)、領域(1016)~(1017)、及びすでに再構築された領域(1018)の一部を含むことができる。検索範囲は、領域(1011)~(1012)、及び同一位置領域(1013)をさらに除外するので、検索範囲のサイズはCTBサイズ内に収まる。例では、現在のブロックが領域(1019)にあるとき、現在のブロックの同一位置領域は領域(1014)である。したがって、検索範囲は領域(1016)~(1018)、及びすでに再構築された領域(1019)の一部を含むことができる。検索範囲は、以前に再構築されたCTB(1010)をさらに除外するので、検索範囲のサイズはCTBサイズ内に収まる。
前述の説明では、参照ブロックは、以前に再構築されたCTB(1010)又は現在のCTB(1015)にあってもよい。
実施形態では、検索範囲は以下の通りに指定することができる。例では、現在のピクチャはルマピクチャであり、かつ現在のCTBは複数のルマサンプルを含むルマCTBであり、ブロックベクトルmvLは、以下のビットストリーム適合性の制約を満たす。
制約は、現在のブロックの参照ブロックがすでに再構築されているという第1の条件を含む。参照ブロックが長方形のときは、参照ブロックの左上のサンプルと右下のサンプルとが再構築されているかどうかを確認するために、参照ブロックの可用性確認工程を実施することができる。参照ブロックの左上のサンプルと右下のサンプルとが両方とも再構築されていれば、参照ブロックは再構築されていると判定される。
例えば、参照ブロックの可用性の導出工程が、入力として(xCb,yCb)に設定された現在のブロックの左上サンプルの位置(xCurr,yCurr)、及び参照ブロックの左上サンプルの位置(xCb+(mvL[0]>>4),yCb+(mvL[1]>>4))によって呼び出されるときは、参照ブロックの左上サンプルが再構築されており、ブロックベクトルmvLがx成分mvL[0]とy成分mvL[1]を有する二次元ベクトルであるとき、出力はTRUEになる。
同様に、ブロックの可用性の導出工程が、(xCb,yCb)に設定された現在のブロックの左上サンプルの位置(xCurr,yCurr)、及び入力として参照ブロックの右下サンプルの位置(xCb+(mvL[0]>>4)+cbWidth-1,yCb+(mvL[1]>>4)+cbHeight-1)によって呼び出されるときは、参照ブロックの右下サンプルが再構築されているときの出力はTRUEになる。パラメータcbWidth及びcbHeightは、参照ブロックの幅及び高さを表す。
制約は、以下の第2の条件の少なくとも1つをさらに含むことができる。1)値(mvL[0]>>4)+cbWidthが0以下。これは、参照ブロックが現在のブロックの左にあって現在のブロックと重ならないことを示す。2)値(mvL[1]>>4)+cbHeightが0以下。これは、参照ブロックが現在のブロックの上方にあって、現在のブロックと重ならないことを示す。
制約は、ブロックベクトルmvLによって以下の第3の条件が満たされることをさらに含んでもよい。
(yCb+(mvL[1]>>4))>>CtbLog2SizeY=yCb>>CtbLog2SizeY(1)
(yCb+(mvL[1]>>4+cbHeight-1)>>CtbLog2SizeY=yCb>>CtbLog2Size(2)
(xCb+(mvL[0]>>4))>>CtbLog2SizeY>=(xCb>>CtbLog2SizeY)-1(3)
(xCb+(mvL[0]>>4)+cbWidth-1)>>CtbLog2SizeY<=(xCb>>CtbLog2SizeY)(4)
ここで、パラメータCtbLog2SizeYは、log2形式のCTB幅を表す。例えば、CTB幅が128サンプルのときは、CtbLog2SizeYは7である。式(1)~(2)は、参照ブロックが以前に再構築されたCTB(1010)にあるときは、参照ブロックを含むCTBが現在のCTBと同じCTB行にある(すなわち、以前に再構築されたCTB(1010)が、現在のCTB(1015)と同じ行にある)ことを示す。式(3)~(4)は、参照ブロックを含むCTBが、現在のCTBの左CTB列、又は現在のCTBと同じCTB列のいずれかにあることを示す。式(1)~(4)によって表される第3の条件は、図10を参照して説明したのと同様に、参照ブロックを含むCTBが、現在のCTB(1015)などの現在のCTB、又は以前に再構築されたCTB(1010)などの、現在のCTBの左隣のいずれかであることを示す。
制約は、第4の条件をさらに含むことができ、参照ブロックが現在のCTBの左隣にあるときは、参照ブロックの同一位置領域は再構築されていない(すなわち、同一位置領域内に再構築されたサンプルがない)。また、参照ブロックの同一位置領域は、現在のCTB内にある。図10の例では、参照ブロック(1091)に対する同一位置領域は、参照ブロック(1091)が配置された領域(1014)からCTB幅だけオフセットされた領域(1019)であり、領域(1019)は再構築されていない。したがって、ブロックベクトル(1020)及び参照ブロック(1091)は、前述した第4の条件を満たす。
例として、第4の条件は以下のように指定でき、(xCb+(mvL[0]>>4))>>CtbLog2SizeYが(xCb>>CtbLog2SizeY)-1と等しいとき、参照ブロック可用性の導出プロセスは、入力として、(xCb,yCb)と設定される現在のブロックの位置(xCurr,yCurr)、及び位置(((xCb+(mvL[0]>>4)+CtbSizeY)>>(CtbLog2SizeY-1))<<(CtbLog2SizeY-1),((yCb+(mvL[1]>>4))>>(CtbLog2SizeY-1))<<(CtbLog2SizeY-1))で呼び出され、図10に示すように、出力は、同一位置領域が再構築されていないことを示すFALSEになる。
検索範囲及び/又はブロックベクトルに対する制約は、前述した第1、第2、第3、及び第4の条件の適切な組合せを含むことができる。例では、制約は、図10に示すような第1、第2、第3、及び第4の条件を含む。例では、第1、第2、第3、及び/又は第4の条件は変更でき、制約は変更された第1、第2、第3、及び/又は第4の条件を含む。
第4の条件によれば、符号化ブロック(1022)~(1029)のうちの1つが現在のブロックのときは、参照ブロックが領域(1011)になることはなく、したがって符号化ブロック(1022)~(1029)のうちの1つに対する検索範囲から領域(1011)は除外される。領域(1011)が除外される理由は以下のように特定され、参照ブロックが領域(1011)にあるとすれば、参照ブロックに対する同一位置領域は領域(1016)になるが、少なくとも符号化ブロック(1021)内のサンプルは再構築されており、したがって第4の条件に反する。その一方で、図11の領域(1116)内の符号化ブロック(1121)のように、現在の領域で最初に再構築される符号化ブロックについては、第4の条件は、参照ブロックに対する同一位置領域(1116)がまだ再構築されていないために、参照ブロックが領域(1111)に置かれることの妨げにはならない。
図11は、本開示の実施形態による、イントラブロックコピーの例を示す。現在のピクチャ(1101)は、再構築中の現在のCTB(1115)と、現在のCTB(1115)の左隣にある、以前に再構築されたCTB(1110)とを含む。現在のピクチャ(1101)内のCTBは、CTBサイズ、及びCTB幅を有する。現在のCTB(1115)は4つの領域(1116)~(1119)を含み、現在の領域(1116)は再構築中である。現在の領域(1116)は、複数の符号化ブロック(1121)~(1129)を含む。同様に、以前に再構築されたCTB(1110)も4つの領域(1111)~(1114)を含む。再構築中の現在のブロック(1121)は、現在の領域(1116)で最初に再構築され、それから符号化ブロック(1122)~(1129)が再構築される。例では、CTBサイズは128x128サンプルで、領域(1111)~(1114)及び(1116)~(1119)はそれぞれ64x64サンプルである。参照メモリサイズはCTBサイズと等しい128x128サンプルであり、したがって検索範囲は、参照メモリサイズによって境界を定められるときは、3つの領域と、追加領域の一部とを含む。
同様に、図10を参照して説明したように、現在の領域(1116)は、同一位置領域(すなわち以前に再構築されたCTB(1110)内の領域(1111))を有する。前述した第4の条件によれば、現在のブロックの参照ブロック(1121)は領域(1111)にあってもよく、したがって検索範囲は領域(1111)~(1114)を含んでもよい。例えば、参照ブロックが領域(1111)にあるときは、参照ブロックの同一位置領域は領域(1116)であり、領域(1116)内に、現在のブロック(1121)が再構築される前に再構築されているサンプルはない。しかしながら、図10及び第4の条件を参照して説明したように、例えば、符号化ブロック(1121)が再構築された後は、符号化ブロック(1122)を再構築するために領域(1111)を検索範囲に含めることができなくなる。したがって、参照メモリバッファの厳密な同期及びタイミング制御が使用され、これは困難な場合がある。
いくつかの実施形態によれば、現在のブロックが、現在のCTBの現在の領域で最初に再構築されるときは、以前に再構築されたCTB内にある現在の領域の同一位置領域を検索範囲から除外でき、現在のCTB及び以前に再構築されたCTBは、同じ現在のピクチャ内にある。ブロックベクトルは、参照ブロックが、以前に再構築されたCTB内の同一位置領域を除外した検索範囲内になるように決定することができる。実施形態では、検索範囲は、復号順において同一位置領域の後、かつ現在のブロックの前に再構築された符号化ブロックを含む。
以下の説明では、CTBサイズは変更でき、最大CTBサイズは参照メモリサイズと同一に設定される。例では、参照メモリサイズ、又は最大CTBサイズは128x128サンプルである。説明は、他の参照メモリサイズ又は最大CTBサイズに適宜適用することができる。
実施形態では、CTBサイズは参照メモリサイズと等しい。以前に再構築されたCTBは現在のCTBの左隣にあり、同一位置領域の位置は現在の領域の位置からCTB幅だけオフセットされ、検索範囲内の符号化ブロックは、現在のCTB、及び以前に再構築されたCTBのうちの少なくとも1つの中にある。
図12A~図12Dは、本開示の実施形態による、イントラブロックコピーの例を示す。図12A~図12Dを参照すると、現在のピクチャ(1201)は、再構築中の現在のCTB(1215)と、現在のCTB(1215)の左隣にある、以前に再構築されたCTB(1210)とを含む。現在のピクチャ(1201)内のCTBは、CTBサイズ、及びCTB幅を有する。現在のCTB(1215)は、4つの領域(1216)~(1219)を含む。同様に、以前に再構築されたCTB(1210)も4つの領域(1211)~(1214)を含む。実施形態では、CTBサイズは最大CTBサイズであり、参照メモリサイズと等しい。例では、CTBサイズ及び参照メモリサイズは128x128サンプルであり、したがって各領域(1211)~(1214)及び(1216)~(1219)は、64×64サンプルのサイズを有する。
図12A~図12Dに示す例では、現在のCTB(1215)は、領域(1216)~(1219)にそれぞれ対応する、左上領域と、右上領域と、左下領域と、右下領域とを含む。以前に再構築されたCTB(1210)は、領域(1211)~(1214)にそれぞれ対応する、左上領域と、右上領域と、左下領域と、右下領域とを含む。
図12Aを参照すると、現在の領域(1216)が再構築中である。現在の領域(1216)は、複数の符号化ブロック(1221)~(1229)を含む。現在のブロック(1221)は、現在の領域(1216)で最初に再構築される。現在の領域(1216)は、同一位置領域、すなわち以前に再構築されたCTB(1210)内の領域(1211)を有する。いくつかの実施形態によれば、現在のブロック(1221)に対する検索範囲は、現在の領域(1216)内で現在のブロック(1221)が最初に再構築される、同一位置領域(1211)を除外する。したがって、参照メモリバッファの厳密な同期及びタイミング制御は必要とされない。別の場合では、現在のブロック(1221)が現在の領域(1216)で最初に再構築され、現在のブロック(1221)に対する検索範囲が同一位置領域(1211)及び領域(1212)~(1214)を含むときは、同一位置領域(1211)のサンプルは、現在のブロック(1221)の予測に使用することができる。例えば、サンプルは、以前に再構築されたCTB(1210)内の、現在のブロック(1221)の同一位置ブロックからのものであってもよく、その後、参照メモリバッファ内での処理順は、参照メモリバッファ内の位置xからサンプルを読み出す(又は取得する)こと、位置xからのサンプルを使用して、現在のブロック(1221)内のサンプルの予測を実行すること、予測に残差を加えること、そして次に、再構築されたサンプルを参照メモリバッファ内の位置xに書き戻すことを含んでもよい。同じ参照メモリ位置xに対する書戻し及び読出しの工程は、厳密な同期を必要とする可能性があり、これはいくつかの例では好ましくない場合がある。検索範囲は、同一位置領域(1211)の後、かつ現在のブロック(1221)の前に再構築された、以前に再構築されたCTB(1210)の領域(1212)~(1214)を含む。
図12Aを参照すると、同一位置領域(1211)の位置は、現在の領域(1216)の位置から、128サンプルなどCTB幅だけオフセットされている。例えば、同一位置領域(1211)の位置は、現在の領域(1216)の位置から128サンプル分左シフトされる。
図12Aを再度参照すると、現在の領域(1216)が現在のCTB(1215)の左上領域にあるとき、同一位置領域(1211)は、以前に再構築されたCTB(1210)の左上領域にあり、検索範囲は、以前に再構築されたCTBの左上領域を除外する。
図12Bを参照すると、現在の領域(1217)が再構築中である。現在の領域(1217)は、複数の符号化ブロック(1241)~(1249)を含む。現在のブロック(1241)は、現在の領域(1217)で最初に再構築される。現在の領域(1217)は、同一位置領域、すなわち以前に再構築されたCTB(1210)内の領域(1212)を有する。本開示の態様によれば、現在のブロック(1241)に対する検索範囲は、現在の領域(1217)内で現在のブロック(1241)が最初に再構築される同一位置領域(1212)を除外する。したがって、参照メモリバッファの厳密な同期及びタイミング制御は必要とされない。検索範囲は、以前に再構築されたCTB(1210)の領域(1213)~(1214)と、同一位置領域(1212)の後、かつ現在のブロック(1241)の前に再構築された、現在のCTB(1215)内の領域(1216)とを含む。検索範囲は、参照メモリサイズ(すなわち1CTBサイズ)の制約によって、領域(1211)をさらに除外する。同様に、同一位置領域(1212)の位置は、現在の領域(1217)の位置から、128サンプルなどCTB幅だけオフセットされている。
図12Bの例では、現在の領域(1217)が現在のCTB(1215)の右上領域にあるときは、同一位置領域(1212)もまた、以前に再構築されたCTB(1210)の右上領域にあり、検索範囲は、以前に再構築されたCTB(1210)の右上領域を除外する。
図12Cを参照すると、現在の領域(1218)が再構築中である。現在の領域(1218)は、複数の符号化ブロック(1261)~(1269)を含む。現在のブロック(1261)は、現在の領域(1218)で最初に再構築される。現在の領域(1218)は、同一位置領域、(すなわち以前に再構築されたCTB(1210)内の領域(1213)を有する。本開示の態様によれば、現在のブロック(1261)に対する検索範囲は、現在の領域(1218)内で現在のブロック(1261)が最初に再構築される同一位置領域(1213)を除外する。したがって、参照メモリバッファの厳密な同期及びタイミング制御は必要とされない。検索範囲は、以前に再構築されたCTB(1210)の領域(1214)と、同一位置領域(1213)の後、かつ現在のブロック(1261)の前に再構築された、現在のCTB(1215)内の領域(1216)~(1217)とを含む。同様に検索範囲は、参照メモリサイズの制約によって、領域(1211)~(1212)をさらに除外する。同一位置領域(1213)の位置は、現在の領域(1218)の位置から、128サンプルなどCTB幅だけオフセットされている。図12Cの例では、現在の領域(1218)が現在のCTB(1215)の左下領域にあるときは、同一位置領域(1213)もまた、以前に再構築されたCTB(1210)の左下領域にあり、検索範囲は、以前に再構築されたCTB(1210)の左下領域を除外する。
図12Dを参照すると、現在の領域(1219)が再構築中である。現在の領域(1219)は、複数の符号化ブロック(1281)~(1289)を含む。現在のブロック(1281)は、現在の領域(1219)で最初に再構築される。現在の領域(1219)は、同一位置領域、(すなわち以前に再構築されたCTB(1210)内の領域(1214)を有する。本開示の態様によれば、現在のブロック(1281)に対する検索範囲は、現在の領域(1219)内で現在のブロック(1281)が最初に再構築される同一位置領域(1214)を除外する。したがって、参照メモリバッファの厳密な同期及びタイミング制御は必要とされない。検索範囲は、復号順において同一位置領域(1214)の後、かつ現在のブロック(1281)の前に再構築された、現在のCTB(1215)内の領域(1216)~(1218)を含む。検索範囲は、参照メモリサイズの制約によって領域(1211)~(1213)を除外し、したがって検索範囲は、以前に再構築されたCTB(1210)を除外する。同様に、同一位置領域(1214)の位置は、現在の領域(1219)の位置から、128サンプルなどCTB幅だけオフセットされている。図12Dの例では、現在の領域(1219)が現在のCTB(1215)の右下領域にあるときは、同一位置領域(1214)もまた、以前に再構築されたCTB(1210)の右下領域にあり、検索範囲は、以前に再構築されたCTB(1210)の右下領域を除外する。
図12A~図12Dを参照して前述したように、検索範囲及び現在のブロックのブロックベクトルmvLは、変更された第4の条件を満たし、現在のブロックは、現在のCTBの現在の領域で最初に再構築される。いくつかの実施形態では、変更された第4の条件は以下のように指定でき、(xCb+(mvL[0]>>4))>>CtbLog2SizeYが(xCb>>CtbLog2SizeY)-1と等しいとき、参照ブロック可用性の導出プロセスは、入力として、(xCb,yCb)と設定される現在のブロックの位置(xCurr,yCurr)、及び位置(((xCb+(mvL[0]>>4)+CtbSizeY)>>(CtbLog2SizeY-1))<<(CtbLog2SizeY-1),((yCb+(mvL[1]>>4))>>(CtbLog2SizeY-1))<<(CtbLog2SizeY-1))で呼び出され、出力は、同一位置領域が再構築されていないことを示すFALSEになる。
また、変更された第4の条件は、位置(((xCb+(mvL[0]>>4)+CtbSizeY)>>(CtbLog2SizeY-1))<<(CtbLog2SizeY-1)、((yCb+(mvL[1]>>4))>>(CtbLog2SizeY-1))<<(CtbLog2SizeY-1))は、(xCb,yCb)と等しくないという追加条件を含む。図10を参照して説明したように、現在のブロックの左上サンプルの位置は、(xCb,yCb)で表され、参照ブロックの左上サンプルの位置は(xCb+(mvL[0]>>4),yCb+(mvL[1]>>4))で表され、したがって参照ブロックの同一位置領域の左上サンプルの位置は、位置(((xCb+(mvL[0]>>4)+CtbSizeY)>>(CtbLog2SizeY-1))<<(CtbLog2SizeY-1),((yCb+(mvL[1]>>4))>>(CtbLog2SizeY-1))<<(CtbLog2SizeY-1))で表され、ここで参照ブロックの同一位置領域は、現在のCTB内にある。追加条件は、参照ブロックの同一位置領域の左上サンプルの位置が、現在のブロックの左上サンプルの位置と等しくならないことを保証する。この点について、現在のブロックが現在の領域で最初に再構築されるときは、参照ブロックを現在の領域の同一位置領域に置くことはできない。そうでない場合は、追加条件が満たされない。したがって、検索範囲は現在の領域の同一位置領域を除外する。
図12A~図12Dに示す例では、検索範囲及びブロックベクトルは、図10を参照して説明した第1、第2、及び第3の条件をさらに満たす。
前述したように、現在のブロックが、現在のCTBの現在の領域で最初に再構築されるときは、以前に再構築されたCTB内にある現在の領域の同一位置領域を検索範囲から除外でき、現在のCTB及び以前に再構築されたCTBは、同じ現在のピクチャ内にある。本開示の態様によれば、CTBサイズが参照メモリサイズ未満のとき、同一位置領域の位置は、現在の領域の位置からCTB幅の倍数分オフセットすることができ、検索範囲内の符号化ブロックは、現在のCTB、以前に再構築されたCTB、及び現在のCTBと以前に再構築されたCTBとの間の1つ以上の再構築されたCTBのうちの少なくとも1つの中にある。図12A~図12Dに関する説明は、図13に示すように、CTBサイズが参照メモリサイズ未満のときに適宜適用することができる。
図13は、本開示の実施形態による、CTBサイズよりも大きい検索範囲を有する、イントラブロックコピーの例を示す。現在のピクチャ(1301)は、再構築中の現在のCTB(1315)と、複数の以前に再構築されたCTB(1310)、及び(1321)~(1323)とを含む。現在のピクチャ(1301)内のCTBは、CTBサイズ、及びCTB幅を有する。現在のCTB(1315)は、4つの領域(1316)~(1319)を含む。同様に、以前に再構築されたCTB(1310)も4つの領域(1311)~(1314)を含む。例では、参照メモリサイズは128x128サンプルであり、最大CTBサイズと等しくすることができ、参照メモリサイズ又は最大CTBサイズよりも小さいCTBサイズは64×64サンプルであり、領域(1311)~(1314)及び(1316)~(1319)はそれぞれ、32×32サンプルのサイズを有する。比Nは、CTBサイズに対する参照メモリサイズの比である。
現在のCTB(1315)は、領域(1316)~(1319)にそれぞれ対応する、左上領域と、右上領域と、左下領域と、右下領域とを含む。以前に再構築されたCTB(1310)は、領域(1311)~(1314)にそれぞれ対応する、左上領域と、右上領域と、左下領域と、右下領域とを含む。
現在の領域(1317)は、再構築中である。現在の領域(1317)は、複数の符号化ブロックA~Iを含む。現在のブロックAは、現在の領域(1317)で最初に再構築される。現在の領域(1317)は、以前に再構築されたCTB(1310)内の同一位置領域(1312)を有する。本開示の態様によれば、現在のブロックAの検索範囲は、同一位置領域(1312)を除外する。検索範囲は、以前に再構築されたCTB(1310)の領域(1313)~(1314)と、CTB(1321)~(1323)と、同一位置領域(1312)の後、かつ現在のブロックAの前に再構築された領域(1316)とを含む。したがって、検索範囲に含めることができる最左CTBは、現在のCTB(1315)からCTB幅のN倍だけオフセットされる。同一位置領域(1312)の位置もまた、現在の領域(1317)の位置からCTB幅のN倍だけオフセットされている。図13の例では、比Nは4であり、最左CTBは、現在のCTB(1315)からCTB幅の4つ分オフセットされている、以前に再構築されたCTB(1310)である。同一位置領域(1312)の位置は、現在の領域(1317)の位置から256サンプル分、すなわちCTB幅(64サンプル)の4つ分左シフトされる。
図13の例に示すように、現在の領域(1317)が現在のCTB(1315)の右上領域にあるときは、同一位置領域(1312)もまた、以前に再構築されたCTB(1310)の右上領域にあり、検索範囲は、以前に再構築されたCTB(1310)の右上領域を除外する。
図13に対する説明は、現在のブロックが、領域(1316)、領域(1318)、又は領域(1319)などの別の領域で最初に再構築されるときに、適宜適用することができる。簡潔にするために、詳細な説明は省略する。
CTBサイズが参照メモリサイズよりも小さいとき、例えば、CTBサイズが64x64サンプルで、参照メモリサイズが128x128サンプルのときは、以下のように図13の例以外の別の実施形態を実施することができる。以下の実施形態では、IBCモードを使用して再構築される現在のブロックは、再構築中の現在のCTBの現在の領域にある。現在のブロックの参照ブロックは、検索範囲内にある。CTBサイズに対する参照メモリサイズの比Nは、1よりも大きい。N個の以前に再構築されたCTBは、それぞれ現在のCTBからCTB幅のN、(N-1)、~1つ分左シフトされる。検索範囲は、現在のCTB、最左のCTB(すなわちCTB幅のN倍だけ左シフトされたCTB)、及び最左CTBと現在のCTBとの間にある(N-1)個の以前に再構築されたCTB((N-1)CTBとも呼ばれる)のうちの少なくとも1つを含むことができる。
第1の実施形態では、現在のブロックに対する検索範囲は、現在のCTB、及び現在のCTBの左隣の以前に再構築されたCTB内にある。参照メモリサイズが少なくともCTBサイズ2なので、左隣の各符号化ブロックは参照ブロックとして使用でき、したがって参照ブロック可用性の追加確認を必要としない。例では、現在のブロックは、現在の領域で最初に再構築される。例では、現在のブロックは、現在の領域内の以前に再構築された符号化ブロックの後に再構築される。
第2の実施形態では、検索範囲は、最左CTBと現在のCTBとの間の(N-1)CTBを含むように拡張される。したがって、検索範囲は(N-1)CTBを含み最左CTBを除外する。検索範囲は、現在のCTB内の再構築された部分をさらに含むことができる。参照メモリサイズがCTBサイズのN倍なので、検索範囲のサイズは参照メモリサイズ内に収まり、したがって、(N-1)CTB及び現在のCTBが同じタイル、同じスライスなどにあるときは、参照ブロック可用性の追加確認を必要としない。図13を参照すると、比Nは4であり、検索範囲は、3つの以前に再構築されたCTB(すなわち、最左CTB(1310)と現在のCTB(1315)との間にある以前に再構築されたCTB(1321)~(1323))を含む。以前に再構築されたCTB(1321)~(1323)は、完全に参照可能であり、例えば、以前に再構築されたCTB(1321)~(1323)と現在のCTB(1315)とが同じタイル又はスライス内にあれば、参照ブロック可用性の追加確認を必要としない。
第3の実施形態では、検索範囲は、最左CTBを含む、N個の以前に再構築されたCTBを有するように拡張され、特定の処理が必要になる場合がある。現在のCTB及び最左CTBは、等しいサイズの4つの領域に分割することができる。例では、4つの領域は正方形の領域である。現在のブロックがどの領域に位置するかによって、図10、図11、図12A~図12Dに対する説明と同様に、最左CTBの一部が参照用に使用可能になったり使用不可になったりする場合がある。
第3の実施形態の第1の例では、現在のブロックに対する検索範囲及びブロックベクトルは、図10に対して説明した制約から適宜適用される制約を満たす。例えば、変更された制約は第1の条件、第2の条件、変更された第3の条件、及び変更された第4の条件を含む。変更された第3の条件は、以下のように指定することができる。
(yCb+(mvL[1]>>4))>>CtbLog2SizeY=yCb>>CtbLog2SizeY(1)
(yCb+(mvL[1]>>4+cbHeight-1)>>CtbLog2SizeY=yCb>>CtbLog2Size(2)
(xCb+(mvL[0]>>4))>>CtbLog2SizeY>=(xCb>>CtbLog2SizeY)-1<<((MaxCtbLog2SizeY-CtbLog2SizeY)<<1))(5)
(xCb+(mvL[0]>>4)+cbWidth-1)>>CtbLog2SizeY<=(xCb>>CtbLog2SizeY)(4)
ここで式(1)、(2)及び(4)は、第3の条件のものと同一のままであり、式(5)は第3の条件の式(3)と置き換わる。パラメータMaxCtbLog2SizeYは、最大CTBサイズ又は参照メモリサイズをlog2形式で表す。前述したように、検索範囲は、現在のCTB(1315)からCTB幅のN倍だけオフセットされている最左CTB(1310)、及び図13の例では最左CTB(1310)と現在のCTB(1315)との間にある(N-1)CTBなどの、N個の以前に再構築されたCTBを含むことができる。式(4)、(5)は、最左CTB(1310)、現在のCTB(1315)、及び(N-1)CTB(1321)~(1323)内に収まるように参照ブロックに制約を課す。
変更された第4の条件は、参照ブロックが最左CTB(1310)内にあるときは、参照ブロックの同一位置領域は再構築されない(すなわち同一位置領域内でサンプルが再構築されておらず、参照ブロックの同一位置領域は現在のCTB(1315)内にある)ことを指定することができる。参照ブロックの同一位置領域は、参照ブロックが配置されている領域からCTB幅のN倍だけオフセットされている。例えば、変更された第4の条件は以下のように指定でき、(xCb+(mvL[0]>>4))>>CtbLog2SizeYが(xCb>>CtbLog2SizeY)-1<<((MaxCtbLog2SizeY-CtbLog2SizeY)<<1))と等しいとき、参照ブロック可用性の導出プロセスは、入力として、(xCb,yCb)と設定される現在のブロックの左上サンプルの位置(xCurr,yCurr)、及び位置(((xCb+(mvL[0]>>4)+N CtbSizeY)>>(CtbLog2SizeY-1))<<(CtbLog2SizeY-1),((yCb+(mvL[1]>>4))>>(CtbLog2SizeY-1))<<(CtbLog2SizeY-1))で呼び出され、出力は、参照ブロックの同一位置領域が再構築されていないことを示すFALSEになる。
第3の実施形態の第2の例では、現在のブロックに対する検索範囲及びブロックベクトルは、図10に対して説明した制約から適宜適用される制約を満たす。例えば、変更された制約は第1の条件、第2の条件、変更された第3の条件、及び変更された第4の条件を含む。変更された第3の条件は、第3の実施形態の第1の例に関して説明したものと同一であってもよく、したがって簡潔にするために詳細な説明は省略する。変更された第4の条件は、第3の実施形態の第1の例に関して説明した、変更された第4の条件を含む。また、変更された第4の条件は、CtbLog2SizeYがMaxCtbLog2SizeYと等しいとき、位置(((xCb+(mvL[0]>>4)+CtbSizeY)>>(CtbLog2SizeY-1))<<(CtbLog2SizeY-1)、((yCb+(mvL[1]>>4))>>(CtbLog2SizeY-1))<<(CtbLog2SizeY-1))は、(xCb,yCb)と等しくないという追加条件を含む。追加条件は、参照ブロックの同一位置領域の位置が、現在のブロックの位置と等しくならないことを保証する。この点について、現在のブロックが現在の領域で最初に再構築されるときは、参照ブロックを現在の領域の同一位置領域に置くことはできない。したがって、検索範囲は現在の領域の同一位置領域を除外する。
第4の実施形態では、最左CTBは参照用として使用不可に設定され、したがって検索範囲は最左CTBを除外する。したがって、検索範囲は、第2の実施形態と同様に、現在のCTBの再構築された部分、及び最左CTBと現在のCTBとの間にある(N-1)個のCTBを含むことができる。
第4の実施形態の第1の例では、現在のブロックに対する検索範囲及びブロックベクトルは、図10に対して説明した制約から適宜適用される制約を満たす。例えば、変更された制約は第1の条件、第2の条件、変更された第3の条件、及び変更された第4の条件を含む。変更された第3の条件は、以下のように指定することができる。
(yCb+(mvL[1]>>4))>>CtbLog2SizeY=yCb>>CtbLog2SizeY(1)
(yCb+(mvL[1]>>4+cbHeight-1)>>CtbLog2SizeY=yCb>>CtbLog2Size(2)
(xCb+(mvL[0]>>4))>>CtbLog2SizeY>=(xCb>>CtbLog2SizeY)-1<<((7-CtbLog2SizeY)<<1))+Min(1,MaxCtbLog2SizeY-CtbLog2SizeY)(6)
(xCb+(mvL[0]>>4)+cbWidth-1)>>CtbLog2SizeY<=(xCb>>CtbLog2SizeY)(4)
ここで式(1)、(2)及び(4)は、第3の条件のものと同一のままであり、式(6)は第3の条件の式(3)と置き換わる。式(4)及び(6)は、現在のCTB及び(N-1)CTBのうちの1つの中に収まるように参照ブロックに制約を課す。
変更された第4の条件は、参照ブロックが現在のCTBの左隣にあり、CTBサイズが最大CTBサイズ(参照メモリサイズでもある)のときに、参照ブロックの同一位置領域が再構築されないように指定することができる(すなわち同一位置領域内でサンプルが再構築されておらず、参照ブロックの同一位置領域は現在のCTB内にある)。例えば、変更された第4の条件は以下のように指定でき、(xCb+(mvL[0]>>4))>>CtbLog2SizeYが(xCb>>CtbLog2SizeY)-1と等しく、かつCtbLog2SizeYがMaxCtbLog2SizeYと等しいとき、参照ブロック可用性の導出プロセスは、入力として、(xCb,yCb)と設定される現在のブロックの左上サンプルの位置(xCurr,yCurr)、及び位置(((xCb+(mvL[0]>>4)+CtbSizeY)>>(CtbLog2SizeY-1))<<(CtbLog2SizeY-1),((yCb+(mvL[1]>>4))>>(CtbLog2SizeY-1))<<(CtbLog2SizeY-1))で呼び出され、出力は、参照ブロックの同一位置領域が再構築されていないことを示すFALSEになる。
第4の実施形態の第2の例では、現在のブロックに対する検索範囲及びブロックベクトルは、図10に対して説明した制約から適宜適用される制約を満たす。例えば、変更された制約は第1の条件、第2の条件、変更された第3の条件、及び変更された第4の条件を含む。変更された第3の条件は、第4の実施形態の第1の例における、変更された第3の条件と同一であってもよく、参照ブロックが、現在のCTB及び(N-1)個のCTBのうちの1つの中に収まるように制約を課す。
変更された第4の条件は、第4の実施形態の第1の例の変更された第4の条件を含む。したがって、参照ブロックが現在のCTBの左隣にあり、CTBサイズが最大CTBサイズ(参照メモリサイズでもある)のときは、参照ブロックの同一位置領域が再構築されない(すなわち同一位置領域内でサンプルが再構築されておらず、参照ブロックの同一位置領域は現在のCTB内にある)。また、変更された第4の条件は、CtbLog2SizeYがMaxCtbLog2SizeYと等しいとき、位置(((xCb+(mvL[0]>>4)+CtbSizeY)>>(CtbLog2SizeY-1))<<(CtbLog2SizeY-1)、((yCb+(mvL[1]>>4))>>(CtbLog2SizeY-1))<<(CtbLog2SizeY-1))は、(xCb,yCb)と等しくないという追加条件を含む。追加条件は、参照ブロックの同一位置領域の位置が、現在のブロックの位置と等しくならないことを保証する。この点について、現在のブロックが現在の領域で最初に再構築されるときは、参照ブロックを現在の領域の同一位置領域に置くことはできない。したがって、検索範囲は現在の領域の同一位置領域を除外する。
前述の説明では、CTBは4つの領域を含むことができる。例えば、現在のCTB1015は領域(1016)~(1019)を含む。説明は、CTBが任意の適切な数の領域を含み、かつ数が正の整数になり得る状況に、適宜適用することができる。また、領域は、任意の適切なサイズ、及び長方形、正方形などを含む形状を有することができる。例では、領域のサイズは、参照メモリサイズ、メモリ用のユニットサイズなどに基づいて決定することができる。前述の例では、領域は9個の符号化ブロックを含むことができる。一般に、領域は任意の適切な数の符号化ブロックを含むことができ、説明は適宜適用することができる。
図14は、本開示の実施形態による、工程(1400)を概説したフローチャートを示す。工程(1400)は、再構成中のブロックの参照ブロックを生成するようにイントラブロックコピーモードで符号化される、現在のブロックの再構築に使用することができる。さまざまな実施形態において、工程(1400)は、端末装置(310)、(320)、(330)、及び(340)内の処理回路、ビデオ符号器(403)の機能を実行する処理回路、ビデオ復号器(410)の機能を実行する処理回路、ビデオ復号器(510)の機能を実行する処理回路、ビデオ符号器(603)の機能を実行する処理回路などの処理回路によって実行される。いくつかの実施形態では、工程(1400)はソフトウェア命令で実施され、したがって処理回路がソフトウェア命令を実行すると、処理回路は工程(1400)を実行する。工程は、(S1401)から開始して、(S1410)に進む。
(S1410)において、符号化されたビデオビットストリームから、現在のブロックの予測情報が復号される。予測情報は、イントラブロックコピーモードを示す。現在のブロックは、現在のピクチャにおける現在のCTBの現在の領域内にある、複数の符号化ブロックのうちの1つである。
(S1420)において、現在の領域で現在のブロックが最初に再構築されるときは、現在のブロックに対するブロックベクトルが決定され、ブロックベクトルによって示された参照ブロックは、以前に再構築されたCTB内の同一位置領域を除外した検索範囲内にある。図10、図11、図12A~図12D、及び図13を参照して前述したように、以前に再構築されたCTB内の同一位置領域の位置は、現在のCTB内にある現在の領域と同じ相対位置を有する。
検索範囲は、現在のピクチャ内にある。実施形態では、検索範囲は、同一位置領域の後、かつ現在のブロックの前に再構築された符号化ブロックを含む。
実施形態では、CTBサイズは参照メモリサイズと比較することができる。例では、CTBサイズが参照メモリサイズと等しいときは、以前に再構築されたCTBは現在のCTBの左隣にあり、同一位置領域の位置は、現在の領域位置から、現在のCTBの幅だけオフセットされており、検索範囲内の符号化ブロックは、現在のCTB、及び以前に再構築されたCTBのうちの少なくとも1つの中にある。例では、現在のCTB、及び以前に再構築されたCTBのサイズは128×128サンプルであり、現在のCTBは64×64サンプルの4つの領域を含み、以前に再構築されたCTBは、64×64サンプルの4つの領域を含み、同一位置領域の位置は、現在の領域の位置から128サンプル分オフセットされ、現在の領域は、現在のCTB内の4つの領域のうちの1つになり、同一位置領域は、以前に再構築されたCTBの4つの領域のうちの1つになる。
例では、CTBサイズは参照メモリサイズ未満であり、CTBサイズに対する参照メモリサイズの比Nは1よりも大きい。したがって、同一位置領域の位置は、現在の領域の位置からCTB幅のN倍だけオフセットされ、検索範囲内の符号化ブロックは、現在のCTB、現在のCTBからCTB幅のN倍だけ左シフトされた、最左の以前に再構築されたCTB、及び現在のCTBと、最左の以前に再構築されたCTBとの間にある(N-1)個の再構築されたCTBのうちの少なくとも1つの中にある。例えば、CTBサイズは64x64サンプルであり、参照メモリサイズは128x128サンプルであり、現在のCTBは32x32サンプルの4つの領域を含み、以前に再構築されたCTBは32x32サンプルの4つの領域を含み、同一位置領域の位置は現在の領域の位置から256サンプル分オフセットされる。
あるいは、CTBサイズが参照メモリサイズ未満のときは、検索範囲は最左の以前に再構築されたCTBを除外する。例では、検索範囲は、(N-1)個の再構築されたCTBと、現在のCTBの再構築された部分とを含むことができる。
(S1430)において、ブロックベクトルに従って現在のブロックの少なくとも1つのサンプルが再構築される。例では、参照ブロックはブロックベクトルを使用して取得され、参照ブロックから少なくとも1つのサンプルが取得される。その後、工程(1400)は(S1499)に進んで終了する。
工程(1400)は、現在のCTBが、4つの領域とは異なるいくつかの領域を含むときなど、さまざまな状況に適宜適用することができる。実施形態では、工程(1400)は、現在の領域内の別の符号化ブロックの後に再構築される、符号化ブロックの再構築にも使用することができる。
前述した技術は、コンピュータ可読命令を使用してコンピュータソフトウェアとして実施でき、1つ以上のコンピュータ可読媒体に物理的に記憶される。例えば、図15は、開示される主題のいくつかの実施形態の実施に適したコンピュータシステム(1500)を示す。
コンピュータソフトウェアは、任意の適切な機械コード又はコンピュータ言語を使用して符号化でき、これは、1つ以上のコンピュータ中央処理ユニット(CPU)、グラフィック処理ユニット(GPU)などによって、直接、又は解釈、マイクロコードの実行などを介して実行できる命令を含むコードを作成するために、アセンブリ、コンパイル、リンクなどの機構に従ってもよい。
命令は、パソコン、タブレットコンピュータ、サーバ、スマートフォン、ゲーム機、IoT(internet of things)装置など、さまざまな種類のコンピュータ又はその構成要素で実行することができる。
図15に示すコンピュータシステム(1500)の構成要素は本来例示的であって、本開示の実施形態を実施するコンピュータソフトウェアの使用又は機能の範囲に対して、限定を示唆することは意図されていない。構成要素の構成は、コンピュータシステム(1500)の例示的な実施形態に示されている構成要素のいずれか1つ、又は構成要素の組合せに関して、依存性を有するものとも要件を有するものとも解釈されてはならない。
コンピュータシステム(1500)は、いくつかの人的インターフェース入力装置を備えてもよい。このような人的インターフェース入力装置は、例えば、触覚入力(キーを押す、スワイプする、データグローブを動かすなど)、音声入力(声、手をたたくなど)、視覚入力(身振りなど)、嗅覚入力(図示せず)による、1人以上のユーザによる入力に応答し得る。人的インターフェース装置は、音声(発話、音楽、周囲音など)、画像(走査画像、静止画カメラで取得される写真画像など)、ビデオ(二次元ビデオ、立体ビデオを含む三次元ビデオなど)などの人による意識的な入力に必ずしも直接関与しない、いくつかの媒体の捕捉にさらに使用することができる。
入力人的インターフェース装置は、キーボード(1501)、マウス(1502)、トラックパッド(1503)、タッチスクリーン(1510)、データグローブ(図示せず)、ジョイスティック(1505)、マイク(1506)、スキャナ(1507)、カメラ(1508)のうちの1つ以上を含んでもよい(それぞれ1つのみが図示されている)。
コンピュータシステム(1500)は、いくつかの人的インターフェース出力装置を備えてもよい。このような人的インターフェース出力装置は、触覚出力、音声、光、及び臭い/味など、1人以上のユーザの感覚を刺激し得る。このような人的インターフェース出力装置は、触覚出力装置(例えば、タッチスクリーン(1510)、データグローブ(図示せず)、又はジョイスティック(1505)による触覚フィードバック、ただし入力装置として機能しない触覚フィードバック装置もあり得る)、音声出力装置(スピーカ(1509)、ヘッドホン(図示せず))、視覚出力装置(それぞれがタッチスクリーン入力能力を有するか又は有さず、それぞれが触覚フィードバック能力を有するか又は有さず、そのうちのいくつかは二次元ビデオ出力、又は立体出力などの手段によって三次元を上回る出力を出力可能であってもよい、CRTスクリーン、LCDスクリーン、プラズマスクリーン、OLEDスクリーンを含むスクリーン(1510)など、VRグラス(図示せず)、ホログラフィック表示、発煙タンク(図示せず)、並びにプリンタ(図示せず))を含んでもよい。
コンピュータシステム(1500)は、人的にアクセス可能な記憶装置、及びCD/DVDなどの媒体(1521)を含むCD/DVD ROM/RW(1520)、USBメモリ(thumb-drive)(1522)、取り外し可能なハードドライブ又はソリッドステートドライブ(1523)、テープ及びフロッピーディスクなどのレガシー磁気媒体(図示せず)、セキュリティドングルなどの専門化されたROM/ASIC/PLDに基づく装置(図示せず)を含む光学媒体などの、その関連媒体をさらに含むことができる。
ここで開示されている主題に関して使用される「コンピュータ可読媒体」という用語は、伝送媒体、搬送波その他の一時的な信号は含まないことを当業者にはさらに理解されたい。
コンピュータシステム(1500)は、1つ以上の通信ネットワークに対するインターフェースをさらに備えることができる。ネットワークは、例えば、無線、有線、光であってもよい。ネットワークはさらに、ローカル、広域、メトロポリタン、車載及び産業用、リアルタイム、遅延耐性などであってもよい。ネットワークの例は、イーサネットなどのローカルエリアネットワーク、無線LAN、GSM、3G、4G、5G、LTEなどを含む移動体通信ネットワーク、ケーブルテレビ、衛星テレビ、及び地上波テレビを含む有線テレビ又は無線の広域デジタルネットワーク、車載及びCANBusを含む産業用ネットワークなどを含む。いくつかのネットワークは一般に、いくつかの汎用データポート又は周辺バス(1549)(例えば、コンピュータシステム(1500)のUSBポート)に取り付けられる外部ネットワークインターフェースアダプタを必要とし、他のネットワークは一般に、後述するようにシステムバスに取り付けることによって(例えば、イーサネットインターフェースをPCコンピュータシステムに、又は移動体通信ネットワークインターフェースをスマートフォンのコンピュータシステムに)、コンピュータシステム(1500)のコアに統合される。このような任意のネットワークを使用して、コンピュータシステム(1500)は他のエンティティと通信することができる。このような通信は、一方向通信、受信専用通信(例えば、テレビ放送)、一方向送信専用通信(例えば、CANbusからCANbusに送信する装置)、あるいは、例えば、ローカル又は広域デジタルネットワークを使用する、他のコンピュータシステムに対する双方向通信であってもよい。前述したように、いくつかのプロトコル及びプロトコルスタックをこのような各ネットワーク及び各ネットワークインターフェースに使用することができる。
前述した人的インターフェース装置、人的にアクセス可能な記憶装置、及びネットワークインターフェースは、コンピュータシステム(1500)のコア(1540)に取り付けることができる。
コア(1540)は、1つ以上の中央処理ユニット(CPU)(1541)、グラフィック処理ユニット(GPU)(1542)、FPGA(Field Programmable Gate Array)の形態の専門化されたプログラム可能処理ユニット(1543)、いくつかのタスク用のハードウェアアクセラレータ(1544)などを含むことができる。このような装置は、読出し専用メモリ(ROM)(1545)、ランダムアクセスメモリ(1546)、ユーザがアクセスできない内部ハードドライブ、SSDなど(1547)の内部大容量記憶装置とともに、システムバス(1548)を介して接続されてもよい。いくつかのコンピュータシステムでは、システムバス(1548)は、追加のCPU、GPUなどによる拡張が可能なように、1つ以上の物理プラグの形態でアクセスすることができる。周辺装置は、コアのシステムバス(1548)に直接取り付ける、又は周辺バス(1549)を介して取り付けることができる。周辺バスのアーキテクチャは、PCI、USBなどを含む。
CPU(1541)、GPU(1542)、FPGA(1543)、及びアクセラレータ(1544)は、前述したコンピュータコードを作成できるいくつかの命令を、組み合わせて実行することができる。コンピュータコードは、ROM(1545)又はRAM(1546)に記憶させることができる。過渡的なデータもRAM(1546)に記憶でき、これに反し永続的なデータは、例えば、内部大容量記憶装置(1547)に記憶することができる。キャッシュメモリを使用することによって、任意のメモリ装置に素早く記憶し検索することが可能になり、1つ以上のCPU(1541)、GPU(1542)、大容量記憶装置(1547)、ROM(1545)、RAM(1546)などに密接に関連付けることができる。
コンピュータ可読媒体は、さまざまなコンピュータ実施動作を実行するためのコンピュータコードを有することができる。媒体及びコンピュータコードは、本開示の目的のために特別に設計され構築されたものにすることができ、あるいはコンピュータソフトウェアの分野の当業者によく知られ、当業者が使用可能な種類のものであってもよい。
例として、かつ制限する目的ではなく、アーキテクチャ(1500)、具体的にはコア(1540)を有するコンピュータシステムは、1つ以上の有形のコンピュータ可読媒体に具体化されたソフトウェアを実行する、(複数の)プロセッサ(CPU、GPU、FPGA、アクセラレータなど)の結果としての機能性を提供することができる。このようなコンピュータ可読媒体は、先に紹介したようなユーザがアクセス可能な大容量記憶装置、並びにコア内部大容量記憶装置(1547)又はROM(1545)などの、非一時的な性質をもつ、コア(1540)のいくつかの記憶装置に関連する媒体であってもよい。本開示のさまざまな実施形態を実施するソフトウェアは、このような装置に記憶させて、コア(1540)によって実行することができる。コンピュータ可読媒体は、特定の需要に従って、1つ以上のメモリ装置又はチップを含むことができる。ソフトウェアは、コア(1540)及び具体的にはその中のプロセッサ(CPU、GPU、FPGAなどを含む)に、RAM(1546)に記憶されているデータ構造の定義、及びソフトウェアによって定義された工程に従ったこのようなデータ構造の変更を含む、本明細書で説明する特定の工程、又は特定の工程の特定の部分を実行させることができる。これに加えて、又はこれに代えて、コンピュータシステムは、回路(例えば、アクセラレータ(1544))に配線された、あるいは回路で具体化された論理の結果としての機能性を提供でき、本明細書で説明する特定の工程、又は特定の工程の特定の部分を実行するために、ソフトウェアの代わりに、又はソフトウェアとともに動作させることができる。ソフトウェアに対する言及は、必要に応じて論理を包含することができ、その逆もまた可能である。コンピュータ可読媒体に対する言及は、必要に応じて実行するソフトウェアを記憶する(集積回路(IC)などの)回路、実行する論理を具体化する回路、又はその両方を包含することができる。本開示は、ハードウェア及びソフトウェアの任意の適切な組合せを包含する。
付録:頭字語
JEM:共同調査モデル(joint exploration model)
VVC:汎用ビデオ符号化(versatile video coding)
BMS:ベンチマークセット(benchmark set)
MV:動きベクトル(Motion Vector)
HEVC:高効率ビデオ符号化(High Efficiency Video Coding)
SEI:補足拡張情報(Supplementary Enhancement Information)
VUI:ビデオ有用性情報(Video Usability Information)
GOP:ピクチャのグループ(Groups of Pictures)
TU:変換ユニット(Transform Unit)
PU:予測ユニット(Prediction Unit)
CTU:符号化ツリーユニット(Coding Tree Unit)
CTB:符号化ツリーブロック(Coding Tree Block)
PB:予測ブロック(Prediction Block)
HRD:仮想参照復号器(Hypothetical Reference Decoder)
SNR:信号雑音比(Signal Noise Ratio)
CPU:中央処理ユニット(Central Processing Unit)
GPU:グラフィック処理ユニット(Graphics Processing Unit)
CRT:ブラウン管(Cathode Ray Tube)
LCD:液晶表示装置(Liquid-Crystal Display)
OLED:有機発光ダイオード(Organic Light-Emitting Diode)
CD:コンパクトディスク(Compact Disc)
DVD:デジタルビデオディスク(Digital Video Disc)
ROM:読出し専用メモリ(Read-Only Memory)
RAM:ランダムアクセスメモリ(Random Access Memory)
ASIC:特定用途向け集積回路(Application-Specific Integrated Circuit)
PLD:プログラム可能論理装置(Programmable Logic Device)
LAN:ローカルエリアネットワーク(Local Area Network)
GSM:汎欧州デジタル移動電話方式(Global System for Mobile communications)
LTE:ロングタームエボリューション(Long-Term Evolution)
CANBus:コントローラエリアネットワークバス(Controller Area Network Bus)
USB:ユニバーサルシリアルバス(Universal Serial Bus)
PCI:周辺機器内部接続(Peripheral Component Interconnect)
FPGA:(Field Programmable Gate Array)
SSD:ソリッドステートドライブ(solid-state drive)
IC:集積回路(Integrated Circuit)
CU:符号化ユニット(Coding Unit)
SCC:スクリーンコンテンツ符号化(Screen Content Coding)
VTM:汎用テストモデル(Versatile test model)
BV:ブロックベクトル(Block Vector)
AMVP:先進的動きベクトル予測(Advanced Motion Vector Prediction)
CPR:現在のピクチャ参照(Current Picture Referencing)
IBC:イントラブロックコピー(Intra Block Copy)
DPB:復号器ピクチャバッファ(Decoder Picture Buffer)
本開示は、いくつかの例示的な実施形態について説明してきたが、変更、置換、及びさまざまな代替的な等価物があり、これらは本開示の範囲内に含まれる。したがって当業者であれば、本明細書に明確に図示又は説明されていなくても、本開示の原理を具体化し、したがってその原理と範囲内に含まれる多くのシステム及び方法を考案できることは理解されよう。
300 通信システム
310 端末装置
320 端末装置
330 端末装置
340 端末装置
350 ネットワーク
400 通信システム
401 ビデオソース
402 ビデオのストリーム
403 ビデオ符号器
404 符号化されたビデオデータ
405 ストリーミングサーバ
406 クライアントサブシステム
407 符号化されたビデオデータのコピー
408 クライアントサブシステム(エントロピー符号器)
409 符号化されたビデオデータのコピー
410 ビデオ復号器
411 発信するビデオのストリーム
412 表示装置
413 捕捉サブシステム
420 電子機器
430 電子機器
501 チャネル
510 ビデオ復号器
512 表示装置
515 バッファメモリ
520 構文解析器
521 シンボル
530 電子機器
531 受信機
551 スケーラ/逆変換ユニット
552 イントラピクチャ予測ユニット
553 動き補償予測ユニット
555 集約装置
556 ループフィルタユニット
557 参照ピクチャメモリ
558 現在のピクチャバッファ
601 ビデオソース
603 ビデオ符号器
620 電子機器
630 ソース符号器
632 符号化エンジン
633 ローカルビデオ復号器
634 参照ピクチャメモリ
635 予測子
640 送信機
643 符号化されたビデオシーケンス
645 エントロピー符号器
650 コントローラ
660 通信チャネル
703 ビデオ符号器
721 統括コントローラ
722 イントラ符号器
723 残差計算器
724 残差符号器
725 エントロピー符号器
726 スイッチ
728 残差復号器
730 インター符号器
810 ビデオ復号器
871 エントロピー復号器
872 イントラ復号器
873 残差復号器
874 再構築モジュール
880 インター復号器
1500 コンピュータシステム
1501 キーボード
1502 マウス
1503 トラックパッド
1505 ジョイスティック
1506 マイク
1507 スキャナ
1508 カメラ
1509 音声出力装置
1510 タッチスクリーン
1520 CD/DVD ROM/RW
1521 媒体
1522 USBメモリ
1523 ソリッドステートドライブ
1540 コア
1541中央処理ユニット(CPU)
1542 グラフィック処理ユニット(GPU)
1543 FPGA
1544 アクセラレータ
1545 読出し専用メモリ(ROM)
1546 ランダムアクセスメモリ(RAM)
1547 内部大容量記憶装置
1548 システムバス
1549 周辺バス
1550 グラフィックアダプタ
1554 ネットワークインターフェース

Claims (20)

  1. ビデオを復号する方法であって、
    符号化されたビデオビットストリームから、現在のブロックの予測情報を復号するステップであって、前記予測情報は、イントラブロックコピーモードを示し、前記現在のブロックは、現在のピクチャにおける現在の符号化ツリーブロック(CTB)の4つの領域のうちの現在の領域にある複数の符号化ブロックのうちの1つである、ステップと、
    前記現在のブロックが前記現在の領域において最初に再構築されるものかどうかを決定するステップと、
    前記現在のブロックが前記現在の領域において最初に再構築されるとき、前記現在のブロックのブロックベクトルを決定するステップであって、前記ブロックベクトルによって示される参照ブロックは、以前に再構築されたCTBにおける同一位置領域(collocated region)を除外した検索範囲にあり、前記以前に再構築されたCTBにおける前記同一位置領域の位置は、前記現在のCTBにおける前記現在の領域と同じ相対位置を有し、前記検索範囲は、前記現在のピクチャにあり、前記検索範囲は、前記現在のCTBにおける前記現在のブロックより前に再構築されたブロックおよび前記以前に再構築されたCTBにおいて除外されていないブロックを含み、前記参照ブロックの左上のサンプル及び右下のサンプルの両方が再構築されている場合に、前記参照ブロックは既に再構築されていると決定され前記検索範囲に含まれる、ステップと、
    前記ブロックベクトルに従って、前記現在のブロックの少なくとも1つのサンプルを再構築するステップと
    を含む方法。
  2. 前記検索範囲が、前記同一位置領域の後、かつ前記現在のブロックの前に再構築される符号化ブロックを含む、請求項1に記載の方法。
  3. 前記現在のCTBのサイズが、参照メモリサイズと等しく、前記以前に再構築されたCTBが、前記現在のCTBの左隣にあり、前記同一位置領域の位置が、前記現在の領域の位置から前記現在のCTBの幅だけオフセットされ、前記検索範囲にある前記符号化ブロックが、前記現在のCTB及び前記以前に再構築されたCTBのうちの少なくとも1つの中にある、請求項1又は2に記載の方法。
  4. 前記現在のCTB及び前記以前に再構築されたCTBのサイズが128×128サンプルであり、前記現在のCTBが64×64サンプルの4つの領域を含み、前記以前に再構築されたCTBが64×64サンプルの4つの領域を含み、前記同一位置領域の前記位置が、前記現在の領域の前記位置から128サンプル分オフセットされ、前記現在の領域が、前記現在のCTB内の前記4つの領域のうちの1つであり、前記同一位置領域が、前記以前に再構築されたCTBの前記4つの領域のうちの1つである、請求項1乃至3の何れか一項に記載の方法。
  5. 前記現在のCTB内の前記4つの領域が、左上領域、右上領域、左下領域、及び右下領域を含み、
    前記以前に再構築されたCTB内の前記4つの領域が、左上領域、右上領域、左下領域、及び右下領域を含み、
    前記現在の領域が前記現在のCTBの前記左上領域であるとき、前記同一位置領域は、前記以前に再構築されたCTBの前記左上領域であり、前記検索範囲は、前記以前に再構築されたCTBの前記左上領域を除外し、
    前記現在の領域が前記現在のCTBの前記右上領域であるとき、前記同一位置領域は、前記以前に再構築されたCTBの前記右上領域であり、前記検索範囲は、前記以前に再構築されたCTBの前記左上領域及び前記右上領域を除外し、
    前記現在の領域が前記現在のCTBの前記左下領域であるとき、前記同一位置領域は、前記以前に再構築されたCTBの前記左下領域であり、前記検索範囲は、前記以前に再構築されたCTBの前記左上領域、前記右上領域、及び前記左下領域を除外し、
    前記現在の領域が前記現在のCTBの前記右下領域であるとき、前記同一位置領域は、前記以前に再構築されたCTBの前記右下領域であり、前記検索範囲は、前記以前に再構築されたCTBを除外する、請求項4に記載の方法。
  6. 前記現在のCTBが、同じサイズ及び形状を有する4つの領域を含み、前記以前に再構築されたCTBが、前記同じサイズ及び形状を有する4つの領域を含み、前記現在の領域が、前記現在のCTB内の前記4つの領域のうちの1つであり、前記同一位置領域が、前記以前に再構築されたCTB内の前記4つの領域のうちの1つである、請求項1乃至3の何れか一項に記載の方法。
  7. 前記現在のCTBのサイズが、参照メモリサイズ未満であり、前記同一位置領域の位置が、前記現在の領域の位置から前記現在のCTBの幅の倍数分オフセットされ、前記検索範囲内にある前記符号化ブロックが、前記現在のCTB、前記以前に再構築されたCTB、及び前記現在のCTBと前記以前に再構築されたCTBとの間にある1つ以上の再構築されたCTBのうちの少なくとも1つの中にある、請求項1又は2に記載の方法。
  8. 前記現在のCTBの前記サイズが64x64サンプルであり、前記参照メモリサイズが128x128サンプルであり、前記現在のCTBが32x32サンプルの4つの領域を含み、前記以前に再構築されたCTBが32x32サンプルの4つの領域を含み、前記同一位置領域の前記位置が、前記現在の領域の前記位置から256サンプル分オフセットされる、請求項7に記載の方法。
  9. 前記検索範囲内にある前記符号化ブロックが、前記現在のCTB、及び前記現在のCTBと前記以前に再構築されたCTBとの間にある前記1つ以上の再構築されたCTBのうちの少なくとも1つの中にある、請求項7に記載の方法。
  10. 前記検索範囲が、前記現在のCTBから前記現在のCTBの幅のN倍だけオフセットされた前記以前に再構築されたCTBを除外し、Nは、前記現在のCTBの前記サイズに対する前記参照メモリサイズの比である、請求項7に記載の方法。
  11. ビデオを復号する装置であって、
    処理回路を備え、
    前記処理回路は、
    符号化されたビデオビットストリームから、現在のブロックの予測情報を復号し、前記予測情報は、イントラブロックコピーモードを示し、前記現在のブロックは、現在のピクチャにおける現在の符号化ツリーブロック(CTB)の4つの領域のうちの現在の領域にある複数の符号化ブロックのうちの1つであり、
    前記現在のブロックが前記現在の領域において、最初に再構築されるものかどうかを決定し、
    前記現在のブロックが前記現在の領域において最初に再構築されるとき、前記現在のブロックのブロックベクトルを決定し、前記ブロックベクトルによって示される参照ブロックは、以前に再構築されたCTBにおける同一位置領域(collocated region)を除外した検索範囲にあり、前記以前に再構築されたCTBにおける前記同一位置領域の位置は、前記現在のCTBにおける前記現在の領域と同じ相対位置を有し、前記検索範囲は、前記現在のピクチャにあり、前記検索範囲は、前記現在のCTBにおける前記現在のブロックより前に再構築されたブロックおよび前記以前に再構築されたCTBにおいて除外されていないブロックを含み、前記参照ブロックの左上のサンプル及び右下のサンプルの両方が再構築されている場合に、前記参照ブロックは既に再構築されていると決定され前記検索範囲に含まれ、
    前記ブロックベクトルに従って、前記現在のブロックの少なくとも1つのサンプルを再構築する、
    ように構成される、装置。
  12. 前記検索範囲が、前記同一位置領域の後、かつ前記現在のブロックの前に再構築される符号化ブロックを含む、請求項11に記載の装置。
  13. 前記現在のCTBのサイズが、参照メモリサイズと等しく、前記以前に再構築されたCTBが、前記現在のCTBの左隣にあり、前記同一位置領域の位置が、前記現在の領域の位置から前記現在のCTBの幅だけオフセットされ、前記検索範囲にある前記符号化ブロックが、前記現在のCTB及び前記以前に再構築されたCTBのうちの少なくとも1つの中にある、請求項11又は12に記載の装置。
  14. 前記現在のCTB及び前記以前に再構築されたCTBのサイズが128×128サンプルであり、前記現在のCTBが64×64サンプルの4つの領域を含み、前記以前に再構築されたCTBが64×64サンプルの4つの領域を含み、前記同一位置領域の前記位置が、前記現在の領域の前記位置から128サンプル分オフセットされ、前記現在の領域が、前記現在のCTB内の前記4つの領域のうちの1つであり、前記同一位置領域が、前記以前に再構築されたCTBの前記4つの領域のうちの1つである、請求項11乃至13の何れか一項に記載の装置。
  15. 前記現在のCTBが、同じサイズ及び形状を有する4つの領域を含み、前記以前に再構築されたCTBが、前記同じサイズ及び形状を有する4つの領域を含み、前記現在の領域が、前記現在のCTB内の前記4つの領域のうちの1つであり、前記同一位置領域が、前記以前に再構築されたCTB内の前記4つの領域のうちの1つである、請求項11乃至13の何れか一項に記載の装置。
  16. 前記現在のCTBのサイズが、参照メモリサイズ未満であり、前記同一位置領域の位置が、前記現在の領域の位置から前記現在のCTBの幅の複数倍分オフセットされ、前記検索範囲内にある前記符号化ブロックが、前記現在のCTB、前記以前に再構築されたCTB、及び前記現在のCTBと前記以前に再構築されたCTBとの間にある1つ以上の再構築されたCTBのうちの少なくとも1つの中にある、請求項11又は12に記載の装置。
  17. 前記現在のCTBの前記サイズが64x64サンプルであり、前記参照メモリサイズが128x128サンプルであり、前記現在のCTBが32x32サンプルの4つの領域を含み、前記以前に再構築されたCTBが32x32サンプルの4つの領域を含み、前記同一位置領域の前記位置が、前記現在の領域の前記位置から256サンプル分オフセットされる、請求項16に記載の装置。
  18. 前記検索範囲内にある前記符号化ブロックが、前記現在のCTB、及び前記現在のCTBと前記以前に再構築されたCTBとの間にある前記1つ以上の再構築されたCTBのうちの少なくとも1つの中にある、請求項16に記載の装置。
  19. 前記検索範囲が、前記現在のCTBから前記現在のCTBの幅のN倍だけオフセットされた前記以前に再構築されたCTBを除外し、Nは、前記現在のCTBの前記サイズに対する前記参照メモリサイズの比である、請求項16に記載の装置。
  20. コンピュータに、請求項1乃至10の何れか一項に記載の方法を実行させるコンピュータプログラム。
JP2021512374A 2019-03-09 2020-03-04 ビデオを符号化及び復号する方法、並びにその装置及びコンピュータプログラム Active JP7267404B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201962816125P 2019-03-09 2019-03-09
US62/816,125 2019-03-09
US16/528,148 US11172236B2 (en) 2018-09-21 2019-07-31 Method and apparatus for video decoding that defines a search range for a reference block indicated by a block vector
US16/528,148 2019-07-31
PCT/US2020/020999 WO2020185466A1 (en) 2019-03-09 2020-03-04 Method and apparatus for video coding

Publications (2)

Publication Number Publication Date
JP2021521757A JP2021521757A (ja) 2021-08-26
JP7267404B2 true JP7267404B2 (ja) 2023-05-01

Family

ID=72427099

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021512374A Active JP7267404B2 (ja) 2019-03-09 2020-03-04 ビデオを符号化及び復号する方法、並びにその装置及びコンピュータプログラム

Country Status (8)

Country Link
EP (1) EP3769534A4 (ja)
JP (1) JP7267404B2 (ja)
KR (1) KR102603451B1 (ja)
CN (4) CN114666607A (ja)
AU (1) AU2020238668B2 (ja)
CA (1) CA3131692A1 (ja)
SG (1) SG11202109622QA (ja)
WO (1) WO2020185466A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11722658B2 (en) * 2021-06-25 2023-08-08 Tencent America LLC Method and apparatus for video coding
KR20230175110A (ko) * 2022-06-22 2023-12-29 현대자동차주식회사 메타 정보를 이용하는 비디오 코딩방법 및 장치

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016539542A (ja) 2013-10-14 2016-12-15 マイクロソフト テクノロジー ライセンシング,エルエルシー ビデオ及び画像の符号化及び復号のためのイントラブロックコピー予測モードの特徴

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9838692B2 (en) * 2011-10-18 2017-12-05 Qualcomm Incorporated Detecting availabilities of neighboring video units for video coding
US9503715B2 (en) * 2013-08-30 2016-11-22 Qualcomm Incorporated Constrained intra prediction in video coding
EP3058736B1 (en) * 2013-10-14 2019-02-27 Microsoft Technology Licensing, LLC Encoder-side options for intra block copy prediction mode for video and image coding
US11284103B2 (en) * 2014-01-17 2022-03-22 Microsoft Technology Licensing, Llc Intra block copy prediction with asymmetric partitions and encoder-side search patterns, search ranges and approaches to partitioning
CA2942336A1 (en) * 2014-03-10 2015-09-17 Euclid Discoveries, Llc Continuous block tracking for temporal prediction in video encoding
US10477232B2 (en) * 2014-03-21 2019-11-12 Qualcomm Incorporated Search region determination for intra block copy in video coding
US10327002B2 (en) * 2014-06-19 2019-06-18 Qualcomm Incorporated Systems and methods for intra-block copy
JP6640751B2 (ja) * 2014-06-19 2020-02-05 ヴィド スケール インコーポレイテッド ブロックベクトル導出を用いるイントラブロックコピー符号化のための方法およびシステム
CN111147846B (zh) * 2014-07-07 2022-03-11 寰发股份有限公司 利用帧内区块复制模式编码的视频编码方法
EP3180916A4 (en) * 2014-09-03 2018-02-28 MediaTek Inc. Method for color index coding using a generalized copy previous mode
US10212445B2 (en) * 2014-10-09 2019-02-19 Qualcomm Incorporated Intra block copy prediction restrictions for parallel processing
US9955185B2 (en) * 2015-02-12 2018-04-24 Mediatek Inc. Method and apparatus of constrained intra block copy for coding video
US20170099490A1 (en) * 2015-10-02 2017-04-06 Qualcomm Incorporated Constrained intra-prediction for block copy mode
US10834419B2 (en) * 2016-04-13 2020-11-10 Qualcomm Incorporated Conformance constraint for collocated reference index in video coding
US10582209B2 (en) * 2017-03-30 2020-03-03 Mediatek Inc. Sub-prediction unit temporal motion vector prediction (sub-PU TMVP) for video coding
US10904559B2 (en) * 2018-07-13 2021-01-26 Tencent America LLC Block vector prediction in intra block copy mode
US10701385B1 (en) * 2019-01-13 2020-06-30 Tencent America LLC Method and apparatus for reference sample memory reuse for intra picture block compensation

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016539542A (ja) 2013-10-14 2016-12-15 マイクロソフト テクノロジー ライセンシング,エルエルシー ビデオ及び画像の符号化及び復号のためのイントラブロックコピー予測モードの特徴

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
GAO, Han et al.,Non-CE8: IBC Reference Memory for Arbitrary CTU Size,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 14th Meeting: Geneva, CH, 19-27 March 2019, [JVET-N0175],JVET-N0175 (version 1),ITU-T,2019年03月13日,<URL: http://phenix.it-sudparis.eu/jvet/doc_end_user/documents/14_Geneva/wg11/JVET-N0175-v1.zip>: JVET-N0175.docx: pp.1-7
PANG, Chao et al.,Non-RCE3: Intra Motion Compensation with 2-D MVs,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 14th Meeting: Vienna, AT, 25 July - 2 Aug. 2013, [JCTVC-N0256],JCTVC-N0256 (version 3),ITU-T,2013年08月02日,<URL: http://phenix.it-sudparis.eu/jct/doc_end_user/documents/14_Vienna/wg11/JCTVC-N0256-v4.zip>: JCTVC-N0256-v3.doc.doc: pp. 1-12
XU, Xiaozhong et al.,CE8: CPR reference memory reuse with reduced memory requirement (CE8.1.2b and CE8.1.2c),Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 13th Meeting: Marrakesh, MA, 9-18 Jan. 2019, [JVET-M0408-v3],JVET-M0408 (version 3),ITU-T,2019年01月17日,<URL: http://phenix.it-sudparis.eu/jvet/doc_end_user/documents/13_Marrakech/wg11/JVET-M0408-v3.zip>: JVET-M0408-CE8.1.2b-CE8.1.2c-v3.docx: pp. 1-8
XU, Xiaozhong et al.,CE8: CPR reference memory reuse without increasing memory requirement (CE8.1.2a and CE8.1.2d),Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 13th Meeting: Marrakesh, MA, 9-18 Jan. 2019, [JVET-M0407-v3],JVET-M0407 (version 3),ITU-T,2019年01月18日,<URL: http://phenix.it-sudparis.eu/jvet/doc_end_user/documents/13_Marrakech/wg11/JVET-M0407-v3.zip>: JVET-M0407-CE8.1.2a-CE8.1.2d-v3.docx: pp. 1-8
XU, Xiaozhong et al.,Non-CE8: IBC search range increase for small CTU size,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 14th Meeting: Geneva, CH, 19-27 March 2019, [JVET-N0384-v1],JVET-N0384 (version 1),ITU-T,2019年03月13日,<URL: http://phenix.it-sudparis.eu/jvet/doc_end_user/documents/14_Geneva/wg11/JVET-N0384-v1.zip>: JVET-N0384-v1.docx: pp. 1-4

Also Published As

Publication number Publication date
AU2020238668A1 (en) 2021-09-30
CN114666607A (zh) 2022-06-24
CN114666602A (zh) 2022-06-24
CN111989929A (zh) 2020-11-24
CA3131692A1 (en) 2020-09-17
JP2021521757A (ja) 2021-08-26
SG11202109622QA (en) 2021-10-28
EP3769534A4 (en) 2021-12-15
EP3769534A1 (en) 2021-01-27
CN114666608A (zh) 2022-06-24
KR102603451B1 (ko) 2023-11-20
WO2020185466A1 (en) 2020-09-17
AU2020238668B2 (en) 2023-02-23
CN111989929B (zh) 2022-03-22
KR20200121369A (ko) 2020-10-23

Similar Documents

Publication Publication Date Title
JP7152516B2 (ja) 動画を復号する方法、装置、及びコンピュータプログラム
US10743029B2 (en) Constraints on coding unit partition
US10958904B2 (en) Method and apparatus for video coding
KR20200124736A (ko) 비디오 코딩을 위한 방법 및 장치
CN112042200B (zh) 视频解码的方法和装置
JP7288078B2 (ja) スキップモードフラグを伝達するための方法、装置及びコンピュータプログラム
JP7185047B2 (ja) イントラ予測モードとブロック差分パルスコード変調モードとの間の相互作用のための方法および装置
US11758152B2 (en) Method and apparatus for video coding using planar intra prediction mode for intra sub-partition coding mode
JP2023171905A (ja) ローカルデュアルツリー構造の下でのパレットベースの符号化モードのための方法および装置
JP2022552381A (ja) ビデオ復号の方法、装置、およびコンピュータプログラム
CN113785564A (zh) 用于将视频分量编码为单色视频的编码工具的信令
WO2019232023A1 (en) Method and apparatus for video coding
CN112235573B (zh) 视频编解码的方法、装置、电子设备、存储介质
JP7236558B2 (ja) ビデオコーディングのための方法および装置
JP2023165926A (ja) ビデオ符号化のための方法、装置、媒体およびコンピュータ・プログラム
JP7267404B2 (ja) ビデオを符号化及び復号する方法、並びにその装置及びコンピュータプログラム
JP7203996B2 (ja) 映像を復号する方法、装置、およびコンピュータプログラム
US11019359B2 (en) Chroma deblock filters for intra picture block compensation
US10542260B1 (en) Method and apparatus for video coding
JP2023510690A (ja) ビデオコーディングのための方法及び装置
AU2020329833B2 (en) Method and apparatus for video coding
JPWO2021207026A5 (ja)
JP2023531866A (ja) ビデオコーディングのための方法、装置、非一時的コンピュータ可読記憶媒体およびコンピュータプログラム
JP2023521045A (ja) ビデオコーディングのための方法および装置
JP2023533904A (ja) ゼロ残差フラグコーディング

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201104

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220106

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220118

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220418

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220830

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221128

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: 20230328

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230419

R150 Certificate of patent or registration of utility model

Ref document number: 7267404

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150