JP7211816B2 - イントラブロックコピーマージモードおよび利用できないibc参照領域のパディング - Google Patents

イントラブロックコピーマージモードおよび利用できないibc参照領域のパディング Download PDF

Info

Publication number
JP7211816B2
JP7211816B2 JP2018516130A JP2018516130A JP7211816B2 JP 7211816 B2 JP7211816 B2 JP 7211816B2 JP 2018516130 A JP2018516130 A JP 2018516130A JP 2018516130 A JP2018516130 A JP 2018516130A JP 7211816 B2 JP7211816 B2 JP 7211816B2
Authority
JP
Japan
Prior art keywords
block
precision
video
motion vector
candidate
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
JP2018516130A
Other languages
English (en)
Other versions
JP2018530249A (ja
JP2018530249A5 (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
Application filed by クアルコム,インコーポレイテッド filed Critical クアルコム,インコーポレイテッド
Publication of JP2018530249A publication Critical patent/JP2018530249A/ja
Publication of JP2018530249A5 publication Critical patent/JP2018530249A5/ja
Application granted granted Critical
Publication of JP7211816B2 publication Critical patent/JP7211816B2/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/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/513Processing of motion vectors
    • 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/46Embedding additional information in the video signal during the compression process
    • 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/523Motion estimation or motion compensation with sub-pixel accuracy
    • 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/172Methods 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 picture, frame or field
    • 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/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/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

本出願は、その内容全体が参照により本明細書に組み込まれる、2015年10月2日に出願された米国仮特許出願第62/236,763号の利益を主張するものである。
本開示は、ビデオ符号化およびビデオ復号に関する。
デジタルビデオ能力は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末(PDA)、ラップトップコンピュータまたはデスクトップコンピュータ、タブレットコンピュータ、電子ブックリーダー、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲーミングデバイス、ビデオゲームコンソール、携帯電話または衛星無線電話、いわゆる「スマートフォン」、ビデオ会議デバイス、ビデオストリーミングデバイスなどを含む広範囲のデバイスに組み込まれ得る。デジタルビデオデバイスは、MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4、Part 10、アドバンストビデオコーディング(AVC)、現在開発中の高効率ビデオコーディング(HEVC)規格、およびそのような規格の拡張によって定義された規格に記載されるものなどのビデオ圧縮技法を実施する。ビデオデバイスは、そのようなビデオ圧縮技法を実施することにより、デジタルビデオ情報をより効率的に送信、受信、符号化、復号、および/または記憶することができる。
ビデオ圧縮技法は、空間(ピクチャ内)予測および/または時間(ピクチャ間)予測を実施して、ビデオシーケンスに固有の冗長性を低減または除去する。ブロックベースのビデオコーディングの場合、ビデオスライス(すなわち、ビデオフレームまたはビデオフレームの一部分)がビデオブロックに区分化される場合があり、ビデオブロックは、ツリーブロック、コーディングユニット(CU)、および/またはコーディングノードと呼ばれる場合もある。ピクチャのイントラコーディングされた(I)スライスの中のビデオブロックは、同じピクチャにおける隣接ブロックの中の参照サンプルに対する空間予測を使用して符号化される。ピクチャのインターコーディングされた(PまたはB)スライスの中のビデオブロックは、同じピクチャにおける隣接ブロックの中の参照サンプルに対する空間予測、または他の参照ピクチャの中の参照サンプルに対する時間予測を使用することができる。ピクチャはフレームと呼ばれる場合があり、参照ピクチャは参照フレームと呼ばれる場合がある。
空間予測または時間予測は、コーディングされるべきブロック用の予測ブロックをもたらす。残差データは、コーディングされるべき元のブロックと予測ブロックとの間のピクセル差分を表す。インターコーディングされたブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトル、およびコーディングされたブロックと予測ブロックとの間の差分を示す残差データに従って符号化される。イントラコーディングされたブロックは、イントラコーディングモードおよび残差データに従って符号化される。さらなる圧縮のために、残差データは、ピクセル領域から変換領域に変換されて残差変換係数をもたらす場合があり、残差変換係数は、次いで量子化される場合がある。最初に2次元アレイに配置される量子化変換係数は、変換係数の1次元ベクトルを生成するために走査される場合があり、さらなる圧縮を実現するために、エントロピーコーディングが適用される場合がある。
概して、本開示は、マージモードでコーディングされるビデオデータのブロック用のマージ候補リストにイントラブロックコピー候補を含めるための技法を記載する。
一例では、ビデオデータを復号する方法は、現在ピクチャの現在ブロックのために、現在ブロックの隣接ブロックの動き情報をマージ候補リストに追加することであって、動き情報が隣接ブロックの動きベクトルを備え、動きベクトルが現在ピクチャを参照する、追加することと、マージ候補リストからマージ候補を示すインデックスを受け取ることと、インデックスが隣接ブロックの動き情報に対応するマージ候補を示すことに応答して、隣接ブロックの動きベクトルの丸めバージョンを表す低精度動きベクトルを使用して現在ブロックを予測することとを含む。
別の例では、ビデオデータを符号化する方法は、現在ピクチャの現在ブロックのために、現在ブロックの隣接ブロックの動き情報をマージ候補リストに追加することであって、動き情報が隣接ブロックの動きベクトルを備え、動きベクトルが現在ピクチャを参照する、追加することと、マージ候補リストからマージ候補を選択することと、選択されたマージ候補が隣接ブロックの動き情報に対応することに応答して、隣接ブロックの動きベクトルの丸めバージョンを表す低精度動きベクトルを使用して現在ブロック用の予測ブロックを位置決めすることと、予測ブロックを使用して現在ブロックを符号化することとを含む。
別の例では、ビデオデータを復号するためのデバイスは、ビデオデータを記憶するように構成されたメモリと、現在ピクチャの現在ブロックのために、現在ブロックの隣接ブロックの動き情報をマージ候補リストに追加することであって、動き情報が隣接ブロックの動きベクトルを備え、動きベクトルが現在ピクチャを参照する、追加することと、マージ候補リストからマージ候補を示すインデックスを受け取ることと、インデックスが隣接ブロックの動き情報に対応するマージ候補を示すことに応答して、隣接ブロックの動きベクトルの丸めバージョンを表す低精度動きベクトルを使用して現在ブロックを予測することとを行うように構成された1つまたは複数のプロセッサとを含む。
別の例では、ビデオデータを符号化するためのデバイスは、ビデオデータを記憶するように構成されたメモリと、現在ピクチャの現在ブロックのために、現在ブロックの隣接ブロックの動き情報をマージ候補リストに追加することであって、動き情報が隣接ブロックの動きベクトルを備え、動きベクトルが現在ピクチャを参照する、追加することと、マージ候補リストからマージ候補を選択することと、選択されたマージ候補が隣接ブロックの動き情報に対応することに応答して、隣接ブロックの動きベクトルの丸めバージョンを表す低精度動きベクトルを使用して現在ブロック用の予測ブロックを位置決めすることと、予測ブロックを使用して現在ブロックを符号化することとを行うように構成された1つまたは複数のプロセッサとを含む。
別の例では、ビデオデータを復号するためのデバイスは、現在ブロックの隣接ブロックの動き情報をマージ候補リストに追加するための手段であって、動き情報が隣接ブロックの動きベクトルを備え、動きベクトルが現在ピクチャを参照する、手段と、マージ候補リストからマージ候補を示すインデックスを受け取るための手段と、インデックスが隣接ブロックの動き情報に対応するマージ候補を示すことに応答して、隣接ブロックの動きベクトルの丸めバージョンを表す低精度動きベクトルを使用して現在ブロックを予測するための手段とを含む。
別の例では、コンピュータ可読記憶媒体は、1つまたは複数のプロセッサによって実行されると、現在ピクチャの現在ブロックのために、現在ブロックの隣接ブロックの動き情報をマージ候補リストに追加することであって、動き情報が隣接ブロックの動きベクトルを備え、動きベクトルが現在ピクチャを参照する、追加することと、マージ候補リストからマージ候補を示すインデックスを受け取ることと、インデックスが隣接ブロックの動き情報に対応するマージ候補を示すことに応答して、隣接ブロックの動きベクトルの丸めバージョンを表す低精度動きベクトルを使用して現在ブロックを予測することとを1つまたは複数のプロセッサに行わせる命令を記憶する。
本開示の1つまたは複数の例の詳細が、添付の図面および下記の説明に記載されている。他の特徴、目的、および利点は、説明、図面、および特許請求の範囲から明らかになる。
本開示において記載される技法を利用することができる例示的なビデオ符号化および復号システムを示すブロック図である。 例示的なイントラブロックコピー(IBC)技法を示す概念図である。 IBC参照領域の一例を示す図である。 現在CTBの復号の開始前に現在CTB用のIBCパディングされた参照領域を生成する一例を示す図である。 本開示において記載される技法を実施することができる例示的なビデオエンコーダを示すブロック図である。 コーディングユニット(CU)およびCUに関連付けられた例示的なソース位置を示す概念図である。 例示的な候補リスト構築動作を示すフローチャートである。 本開示において記載される技法を実施することができる例示的なビデオデコーダを示すブロック図である。 本開示の1つまたは複数の技法による、ビデオエンコーダの例示的な動作を示すフローチャートである。 本開示の1つまたは複数の技法による、ビデオデコーダの例示的な動作を示すフローチャートである。
最近開発された高効率ビデオコーディング(HEVC)規格を含む様々なビデオコーディング規格は、ビデオブロック用の予測コーディングモードを含み、予測コーディングモードでは、現在コーディングされている(すなわち、符号化または復号されている)ブロックが、ビデオデータのすでにコーディングされたブロックに基づいて予測される。イントラ予測モードでは、現在ブロックは、現在ブロックと同じピクチャ内の1つまたは複数の以前コーディングされた隣接ブロックに基づいて予測され、インター予測モードでは、現在ブロックは、異なるピクチャ内のすでにコーディングされたブロックに基づいて予測される。インター予測モードでは、予測ブロックとして使用するために以前コーディングされたフレームのブロックを特定するプロセスは、動き推定と呼ばれるときがあり、それは概してビデオエンコーダによって実施され、予測ブロックを識別し取り出すプロセスは、動き補償と呼ばれるときがあり、それはビデオエンコーダとビデオデコーダの両方によって実施される。
ビデオエンコーダは、通常、複数のコーディングシナリオを使用してビデオをコーディングすること、および望ましいレート-ひずみトレードオフを作成するコーディングシナリオを識別することにより、ビデオデータのシーケンスをどのようにコーディングするかを決定する。特定のビデオブロックのためのイントラ予測コーディングシナリオをテストするとき、ビデオエンコーダは、通常、ピクセルの隣接行(すなわち、コーディングされているブロックの真上のピクセルの行)をテストし、ピクセルの隣接列(すなわち、コーディングされているブロックのすぐ左のピクセルの列)をテストする。対照的に、インター予測シナリオをテストするとき、ビデオエンコーダは、通常、はるかに大きい探索エリア内で候補予測ブロックを識別し、探索エリアは、ビデオデータの以前コーディングされたフレーム内のビデオブロックに対応する。
テキスト、シンボルまたは繰返しパターンを含むビデオ画像などの、ある特定のタイプのビデオ画像の場合、コーディング利得は、イントラ動き補償(IMC)モードと呼ばれることもある、イントラブロックコピー(IBC)モードを使用することにより、イントラ予測およびインター予測と比較して実現することができる。様々なコーディング規格の開発において、元はIMCモードという用語が使用されたが、後にIBCモードに修正された。IBCモードでは、ビデオエンコーダは、イントラ予測モードにおけるように、コーディングされているブロックと同じフレームまたはピクチャ内の予測ブロックを探索するが、ビデオエンコーダは、ピクセルの隣接する行および列だけではなく、より幅広い探索エリアを探索する。
IBCモードでは、ビデオエンコーダは、予測されているブロックと同じフレームまたはピクチャ内の予測ブロックを識別するために、動きベクトルまたはブロックベクトルと呼ばれることもあるオフセットベクトルを特定することができる。オフセットベクトルは、たとえば、x成分およびy成分を含み、x成分は、予測されているビデオブロックと予測ブロックとの間の水平変位を識別し、y成分は、予測されているビデオブロックと予測ブロックとの間の垂直変位を識別する。ビデオエンコーダは、符号化ビットストリーム内で、特定されたオフセットベクトルを通知し、その結果、ビデオデコーダは、符号化ビットストリームを復号するとき、ビデオエンコーダによって選択された同じ予測ブロックを識別することができる。
本開示の態様は、候補リストを利用する、マージモードおよび/または高度動きベクトル予測(AMVP)などの、様々なコーディングプロセスのための候補導出および新しい候補の追加の簡略化に関する。候補リストは、本明細書では動きベクトル候補リストとも呼ばれ、マージモードを参照するとき、マージ候補リストまたはマージリストと呼ばれる場合もある。下記でより詳細に説明されるように、候補リストは、IBCとインター予測の両方の候補を含む場合がある。本開示で使用される動き情報という用語は、両方の典型的なインター予測動き情報を含む場合があるが、ブロックベクトルなどのIBC情報を含む場合もある。
ビデオエンコーダがインター予測またはIBCを実施するとき、ビデオエンコーダは、PUについての動き情報をシグナリングすることができる。PUの動き情報には、たとえば、参照ピクチャインデックス、動きベクトル、および予測方向インジケータが含まれる場合がある。IBCのいくつかの実装形態では、IBC情報をシグナリングする態様は、インター予測シグナリングの様々な態様と統合される場合がある。一例として、マージモードシグナリングおよびAMVPモードシグナリングは、IBC候補を含むように修正される場合がある。
PUの動き情報を表すために必要なビット数を低減するために、ビデオエンコーダは、マージモードまたはAMVPプロセスに従って、PUの各々についての候補リストを生成することができる。PU用の候補リスト内の各候補は、動き情報を示すことができる。候補リスト内の候補のうちのいくつかによって示される動き情報は、他のPUの動き情報に基づく場合がある。たとえば、HEVCマージモードの場合、5つの空間候補位置および1つの時間候補(すなわち、時間隣接候補)位置が存在する場合がある。いくつか例では、ビデオエンコーダは、すでに決定された候補からの部分的な動きベクトルを組み合わせること、候補を修正すること、または、単に候補としてゼロ動きベクトルを挿入することによって追加候補を生成することができる。これらの追加候補は、元の候補であるとは考えられず、本開示では仮想候補と呼ばれる場合がある。
本開示の技法は、一般に、ビデオエンコーダにおいて候補リストを生成するための技法、およびビデオデコーダにおいて同じ候補リストを生成するための技法に関する。ビデオエンコーダおよびビデオデコーダは、候補リストを構築するための同じ技法を実施することにより、同じ候補リストを生成することができる。たとえば、ビデオエンコーダとビデオデコーダの両方は、同じ数の候補(たとえば、マージモード用の5つまたは6つの候補、およびAMVPモード用の2つまたは3つの候補)を有するリストを構築し、リストに候補を追加するための同じ意思決定基準を使用することができる。候補リスト生成のためのいくつかの技法は、ビデオエンコーダまたはビデオデコーダに関して本開示において記載される場合があるが、別段に記載されていない限り、技法は、一般に、ビデオエンコーダまたはビデオデコーダのうちの他方にも等しく適用可能であると理解されるべきである。
CUのPU用の候補リストを生成した後、ビデオエンコーダは、候補リストから候補を選択し、ビットストリーム内に候補インデックスを出力することができる。選択された候補は、コーディングされている対象PUと最も厳密に一致する予測ブロックを指す動きベクトル、またはIBCの場合ブロックベクトルを有する候補であり得る。候補インデックスは、候補リスト内の選択された候補の位置を示すことができる。ビデオエンコーダは、PUの動き情報によって示された参照ブロックに基づいて、PU用の予測ビデオブロックを生成することもできる。PUの動き情報は、選択された候補によって示される動き情報に基づいて決定可能であり得る。たとえば、マージモードでは、PUの動き情報は、選択された候補によって示される動き情報と同じ場合がある。AMVPモードでは、PUの動き情報は、PUの動きベクトル差分(またはIBCの場合のブロックベクトル差分)および選択された候補によって示される動き情報に基づいて決定される場合がある。ビデオエンコーダは、CUのPUの予測ビデオブロックおよびCUの元のビデオブロックに基づいて、CU用の1つまたは複数の残差ビデオブロックを生成することができる。ビデオエンコーダは、次いで、1つまたは複数の残差ビデオブロックを符号化し、ビットストリーム内に出力することができる。
ビットストリームは、PU用の候補リスト内の選択された候補を識別するデータを含む場合がある。ビデオデコーダは、PUの候補リスト内の選択された候補によって示される動き情報に基づいて、PUの動き情報を決定することができる。ビデオデコーダは、PUの動き情報に基づいて、PU用の1つまたは複数の参照ブロックを識別することができる。PUの1つまたは複数の参照ブロックを識別した後、ビデオデコーダは、PUの1つまたは複数の参照ブロックに基づいて、PU用の予測ビデオブロックを生成することができる。ビデオデコーダは、CUのPU用の予測ビデオブロックおよびCU用の1つまたは複数の残差ビデオブロックに基づいて、CU用のビデオブロックを復元することができる。
説明を簡単にするために、本開示は、CUまたはPUとの様々な空間関係を有するものとして、位置またはビデオブロックを記述する場合がある。そのような記述は、位置またはビデオブロックが、CUまたはPUに関連付けられたビデオブロックに対する様々な空間関係を有することを意味すると解釈される場合がある。さらに、本開示は、ビデオコーダ(すなわち、ビデオエンコーダまたはビデオデコーダ)が現在コーディングしているPUを、現在PUとして参照する場合がある。本開示は、ビデオコーダが現在コーディングしているCUを、現在CUとして参照する場合がある。本開示は、ビデオコーダが現在コーディングしているピクチャを、現在ピクチャとして参照する場合がある。
添付の図面は例を示す。添付の図面において参照番号によって示される要素は、以下の説明において同様の参照番号によって示される要素に対応する。本開示では、序数語(たとえば、「第1の」、「第2の」、「第3の」など)で始まる名称を有する要素は、必ずしもそれらの要素が特定の順序を有することを暗示するとは限らない。むしろ、そのような序数語は、同じまたは類似のタイプの異なる要素を指すために使用されるにすぎない。
図1は、IBCモードでブロックをコーディングするための技法を含む、本開示において記載される技法を利用することができる、例示的なビデオ符号化および復号システム10を示すブロック図である。図1に示されたように、システム10は、後で宛先デバイス14によって復号されるべき符号化ビデオデータを生成するソースデバイス12を含む。ソースデバイス12および宛先デバイス14は、デスクトップコンピュータ、ノートブック(すなわち、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、いわゆる「スマート」パッド、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲーミングコンソール、ビデオストリーミングデバイスなどを含む、広範囲のデバイスのうちのいずれかを備える場合がある。場合によっては、ソースデバイス12および宛先デバイス14は、ワイヤレス通信用に装備される場合がある。
宛先デバイス14は、リンク16を介して、復号されるべき符号化ビデオデータを受信することができる。リンク16は、ソースデバイス12から宛先デバイス14に符号化ビデオデータを移動することが可能な任意のタイプの媒体またはデバイスを備える場合がある。一例では、リンク16は、ソースデバイス12がリアルタイムで宛先デバイス14に直接符号化ビデオデータを送信することを可能にするために、通信媒体を備える場合がある。符号化ビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、宛先デバイス14に送信される場合がある。通信媒体は、無線周波数(RF)スペクトルまたは1つもしくは複数の物理伝送線路などの、任意のワイヤレスまたは有線の通信媒体を備える場合がある。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなどの、パケットベースネットワークの一部を形成する場合がある。通信媒体は、ルータ、スイッチ、基地局、またはソースデバイス12から宛先デバイス14への通信を容易にするために有用であり得る任意の他の機器を含む場合がある。
代替として、符号化データは、出力インターフェース22からストレージデバイス32に出力される場合がある。同様に、符号化データは、入力インターフェースによってストレージデバイス32からアクセスされる場合がある。ストレージデバイス32は、ハードドライブ、Blu-ray(登録商標)ディスク、DVD、CD-ROM、フラッシュメモリ、揮発性メモリもしくは不揮発性メモリ、または、符号化ビデオデータを記憶するための任意の他の適切なデジタル記憶媒体などの、様々な分散された、または局所的にアクセスされるデータ記憶媒体のうちのいずれかを含む場合がある。さらなる一例では、ストレージデバイス32は、ソースデバイス12によって生成された符号化ビデオを保持することができる、ファイルサーバまたは別の中間ストレージデバイスに対応する場がある。宛先デバイス14は、ストリーミングまたはダウンロードを介して、ストレージデバイス32からの記憶されたビデオデータにアクセスすることができる。ファイルサーバは、符号化ビデオデータを記憶し、その符号化ビデオデータを宛先デバイス14に送信することが可能な任意のタイプのサーバであり得る。例示的なファイルサーバには、(たとえば、ウェブサイト用の)ウェブサーバ、FTPサーバ、ネットワーク接続ストレージ(NAS)デバイス、またはローカルディスクドライブが含まれる。宛先デバイス14は、インターネット接続を含む任意の標準的なデータ接続を介して、符号化ビデオデータにアクセスすることができる。これには、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに適した、ワイヤレスチャネル(たとえば、Wi-Fi接続)、有線接続(たとえば、DSL、ケーブルモデムなど)、または両方の組合せが含まれる場合がある。ストレージデバイス32からの符号化されたビデオデータの送信は、ストリーミング送信、ダウンロード送信、または両方の組合せであり得る。
本開示の技法は、必ずしもワイヤレスの用途または設定に限定されるとは限らない。技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、たとえばインターネットを介したストリーミングビデオ送信、データ記憶媒体に記憶するためのデジタルビデオの符号化、データ記憶媒体に記憶されたデジタルビデオの復号、または他の用途などの、様々なマルチメディア用途のうちのいずれかをサポートするビデオコーディングに適用される場合がある。いくつかの例では、システム10は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、および/またはビデオ電話などの用途をサポートするために、一方向または双方向のビデオ送信をサポートするように構成される場合がある。
図1の例では、ソースデバイス12は、ビデオソース18と、ビデオエンコーダ20と、出力インターフェース22とを含む。場合によっては、出力インターフェース22は、変調器/復調器(モデム)および/または送信機を含む場合がある。ソースデバイス12において、ビデオソース18は、ビデオキャプチャデバイス、たとえば、ビデオカメラ、以前キャプチャされたビデオを含むビデオアーカイブ、ビデオコンテンツプロバイダからビデオを受信するビデオフィードインターフェース、および/もしくはソースビデオとしてコンピュータグラフィックスデータを生成するためのコンピュータグラフィックスシステム、またはそのようなソースの組合せなどのソースを含む場合がある。一例として、ビデオソース18がビデオカメラである場合、ソースデバイス12および宛先デバイス14は、いわゆるカメラ付き携帯電話またはビデオ付き携帯電話を形成する場合がある。しかしながら、本開示において記載される技法は、ビデオコーディング全般に適用可能な場合があり、ワイヤレス用途および/または有線用途に適用される場合がある。
キャプチャされたビデオ、以前キャプチャされたビデオ、またはコンピュータ生成されたビデオは、ビデオエンコーダ20によって符号化される場合がある。符号化ビデオデータは、ソースデバイス12の出力インターフェース22を介して、宛先デバイス14に直接送信される場合がある。符号化ビデオデータは、同様に(または、代替的に)、復号および/または再生のための宛先デバイス14または他のデバイスによる後のアクセスのために、ストレージデバイス32に記憶される場合がある。
宛先デバイス14は、入力インターフェース28と、ビデオデコーダ30と、ディスプレイデバイス34とを含む。場合によっては、入力インターフェース28は、受信機および/またはモデムを含む場合がある。宛先デバイス14の入力インターフェース28は、リンク16を介して符号化ビデオデータを受信する。リンク16を介して通信された、またはストレージデバイス32に供給された符号化ビデオデータは、ビデオデータを復号する際にビデオデコーダ30などのビデオデコーダによって使用するための、ビデオエンコーダ20によって生成された様々なシンタックス要素を含む場合がある。そのようなシンタックス要素は、通信媒体上で送信された、記憶媒体に記憶された、またはファイルサーバに記憶された符号化ビデオデータとともに含まれる場合がある。
ディスプレイデバイス34は、宛先デバイス14と統合されるか、または宛先デバイス14の外部にあってもよい。いくつかの例では、宛先デバイス14は、集積ディスプレイデバイスを含み、また外部ディスプレイデバイスとインターフェースするように構成される場合もある。他の例では、宛先デバイス14はディスプレイデバイスであり得る。一般に、ディスプレイデバイス34は、復号ビデオデータをユーザに表示し、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプのディスプレイデバイスなどの、様々なディスプレイデバイスのいずれかを備える場合がある。
ビデオエンコーダ20およびビデオデコーダ30は、1つまたは複数のビデオコーディング規格に従って動作することができる。ビデオコーディング規格には、ITU-T H.261、ISO/IEC MPEG-1 Visual、ITU-T H.262またはISO/IEC MPEG-2 Visual、ITU-T H.263、ISO/IEC MPEG-4 Visual、ならびにそのスケーラブルビデオコーディング(SVC)拡張およびマルチビュービデオコーディング(MVC)拡張を含む、(ISO/IEC MPEG-4 AVCとも呼ばれる)ITU-T H.264が含まれる。MVCの最新のジョイントドラフトは、「Advanced video coding for generic audiovisual services」、ITU-T勧告H.264、2010年3月に記載されている。
加えて、新しく開発されたビデオコーディング規格、すなわち、ITU-Tビデオコーディングエキスパートグループ(VCEG)およびISO/IECモーションピクチャエキスパートグループ(MPEG)のビデオコーディング共同研究部会(JCT-VC)によって開発された高効率ビデオコーディング(HEVC)が存在する。HEVCの最新ドラフトは、phenix.int-evry.fr/jct/doc_end_user/documents/12_Geneva/wg11/JCTVC-L1003-v34.zipから入手可能である。HEVC規格はまた、両方とも「High efficiency video coding」と題し、両方とも2014年10月に公開された、勧告ITU-T H.265および国際規格ISO/IEC 23008-2において一緒に提示されている。
動き付きのテキストおよびグラフィックスなどのスクリーンコンテンツ素材用の新しいコーディングツールも現在開発中である。これらの新しいコーディングツールは、H.265/HEVCスクリーンコンテンツコーディング(SCC)拡張などの、HEVCに対する拡張において実装される場合がある。SCCワーキングドラフト(SCC WD)、JCTVC-U1005は、http://phenix.int-evry.fr/jct/doc_end_user/documents/21_Warsaw/wg11/JCTVC-U1005-v1.zipにおいて入手可能である。これらの新しいコーディングツールも、HEVCに対する後継規格において実装される場合がある。
本開示は、全体的に、最近確定されたHEVC仕様テキストを、HEVCバージョン1またはベースHEVCとして参照する。範囲拡張仕様は、HEVCのバージョン2となる場合がある。動きベクトル予測などの多くのコーディングツールに関して、HEVCバージョン1または範囲拡張仕様は技術的に同様である。したがって、本開示がHEVCバージョン1に対する変更を記載するときはいつでも、全体的にベースHEVC仕様プラスいくつかの追加コーディングツールを含む範囲拡張仕様にも、同じ変更が適用される場合がある。さらに、HEVCバージョン1のモジュールがHEVC範囲拡張を実装するデコーダに組み込まれる場合もあることが、全体的に想定され得る。
ソースデバイス12のビデオエンコーダ20は、これらの現在または将来の規格のいずれかに従って、ビデオデータを符号化するように構成される場合があると一般的に考えられる。同様に、宛先デバイス14のビデオデコーダ30は、これらの現在または将来の規格のいずれかに従って、ビデオデータを復号するように構成される場合があるとも一般的に考えられる。
図1に示されていないが、いくつかの態様では、ビデオエンコーダ20およびビデオデコーダ30は、各々、オーディオエンコーダおよびオーディオデコーダと一体化される場合があり、共通のデータストリームまたは別個のデータストリームの中のオーディオとビデオの両方の符号化を処理するために、適切なMUX-DEMUXユニット、または他のハードウェアおよびソフトウェアを含む場合がある。適用可能な場合、いくつかの例では、MUX-DEMUXユニットは、ITU H.223マルチプレクサプロトコル、またはユーザデータグラムプロトコル(UDP)などの他のプロトコルに準拠することができる。
ビデオエンコーダ20およびビデオデコーダ30は、各々、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェア、またはそれらの任意の組合せなどの、様々な適切なエンコーダ回路のいずれかとして実装される場合がある。本技法が部分的にソフトウェアに実装されるとき、デバイスは、適切な非一時的コンピュータ可読媒体にソフトウェア用の命令を記憶し、1つまたは複数のプロセッサを使用してハードウェアにおいてその命令を実行して、本開示の技法を実行することができる。ビデオエンコーダ20およびビデオデコーダ30の各々は、1つまたは複数のエンコーダまたはデコーダに含まれる場合があり、これらのいずれも、それぞれのデバイス内で複合エンコーダ/デコーダ(CODEC)の一部として統合される場合がある。
HEVCおよび他のビデオコーディング規格では、ビデオシーケンスは、通常、一連のピクチャを含む。ピクチャは、「フレーム」と呼ばれる場合もある。ピクチャは、SL、SCb、およびSCrと表記される3つのサンプルアレイを含む場合がある。SLは、ルーマサンプルの2次元アレイ(すなわち、ブロック)である。SCbは、Cbクロミナンスサンプルの2次元アレイである。SCrは、Crクロミナンスサンプルの2次元アレイである。クロミナンスサンプルは、本明細書では「クロマ」サンプルと呼ばれる場合もある。他の事例では、ピクチャはモノクロームの場合があり、ルーマサンプルのアレイしか含まない場合がある。
ピクチャの符号化表現を生成するために、ビデオエンコーダ20は、コーディングツリーユニット(CTU)のセットを生成することができる。CTUの各々は、ルーマサンプルのコーディングツリーブロック、クロマサンプルの2つの対応するコーディングツリーブロック、およびコーディングツリーブロックのサンプルをコーディングするために使用されるシンタックス構造を備える場合がある。モノクロームピクチャ、または3つの別個のカラープレーンを有するピクチャでは、CTUは、単一のコーディングツリーブロック、およびコーディングツリーブロックのサンプルをコーディングするために使用されるシンタックス構造を備える場合がある。コーディングツリーブロックは、サンプルのN×Nブロックであり得る。CTUは、「ツリーブロック」または「最大コーディングユニット」(LCU)と呼ばれる場合もある。HEVCのCTUは、H.264/AVCなどの他の規格のマクロブロックに大まかに類似する場合がある。しかしながら、CTUは、必ずしも特定のサイズに限定されるとは限らず、1つまたは複数のコーディングユニット(CU)を含む場合がある。スライスは、ラスタ走査順序で連続的に順序付けられた整数個のCTUを含む場合がある。
コード化CTUを生成するために、ビデオエンコーダ20は、CTUのコーディングツリーブロック上で4分木区分化を再帰的に実行して、コーディングツリーブロックをコーディングブロックに分割することができ、したがって、「コーディングツリーユニット」という名前である。コーディングブロックは、サンプルのN×Nブロックであり得る。CUは、ルーマサンプルアレイ、Cbサンプルアレイ、およびCrサンプルアレイを有するピクチャの、ルーマサンプルのコーディングブロック、およびクロマサンプルの2つの対応するコーディングブロック、ならびにコーディングブロックのサンプルをコーディングするために使用されるシンタックス構造を備える場合がある。モノクロームピクチャまたは3つの別個のカラープレーンを有するピクチャでは、CUは、単一のコーディングブロック、およびそのコーディングブロックのサンプルをコーディングするために使用されるシンタックス構造を備える場合がある。
ビデオエンコーダ20は、CUのコーディングブロックを1つまたは複数の予測ブロックに区分化することができる。予測ブロックは、同じ予測が適用されるサンプルの矩形(すなわち、正方形または非正方形)ブロックである。CUの予測ユニット(PU)は、ルーマサンプルの予測ブロック、クロマサンプルの2つの対応する予測ブロック、および予測ブロックを予測するために使用されるシンタックス構造を備える場合がある。モノクロームピクチャまたは3つの別個のカラープレーンを有するピクチャでは、PUは、単一の予測ブロック、およびその予測ブロックを予測するために使用されるシンタックス構造を備える場合がある。ビデオエンコーダ20は、CUの各PUのルーマ予測ブロック、Cb予測ブロック、およびCr予測ブロック用の予測ルーマブロック、予測Cbブロック、および予測Crブロックを生成することができる。
ビデオエンコーダ20は、イントラ予測またはインター予測を使用して、PU用の予測ブロックを生成することができる。ビデオエンコーダ20がイントラ予測を使用してPUの予測ブロックを生成する場合、ビデオエンコーダ20は、PUに関連付けられたピクチャの復号サンプルに基づいて、PUの予測ブロックを生成することができる。ビデオエンコーダ20がインター予測を使用してPUの予測ブロックを生成する場合、ビデオエンコーダ20は、PUに関連付けられたピクチャ以外の1つまたは複数のピクチャの復号サンプルに基づいて、PUの予測ブロックを生成することができる。
ビデオエンコーダ20がCUの1つまたは複数のPU用の予測ルーマブロック、予測Cbブロック、および予測Crブロックを生成した後、ビデオエンコーダ20は、CU用のルーマ残差ブロックを生成することができる。CUのルーマ残差ブロック内の各サンプルは、CUの予測ルーマブロックのうちの1つの中のルーマサンプルと、CUの元のルーマコーディングブロックの中の対応するサンプルとの間の差分を示す。加えて、ビデオエンコーダ20は、CU用のCb残差ブロックを生成することができる。CUのCb残差ブロックの中の各サンプルは、CUの予測Cbブロックのうちの1つの中のCbサンプルと、CUの元のCbコーディングブロックの中の対応するサンプルとの間の差分を示すことができる。ビデオエンコーダ20は、CU用のCr残差ブロックを生成することもできる。CUのCr残差ブロックの中の各サンプルは、CUの予測Crブロックのうちの1つの中のCrサンプルと、CUの元のCrコーディングブロックの中の対応するサンプルとの間の差分を示すことができる。
さらに、ビデオエンコーダ20は、4分木区分化を使用して、CUのルーマ残差ブロック、Cb残差ブロック、およびCr残差ブロックを、1つまたは複数のルーマ変換ブロック、Cb変換ブロック、およびCr変換ブロックに分解することができる。変換ブロックは、同じ変換が適用されるサンプルの矩形(たとえば、正方形または非正方形)ブロックである。CUの変換ユニット(TU)は、ルーマサンプルの変換ブロック、クロマサンプルの2つの対応する変換ブロック、およびそれらの変換ブロックサンプルを変換するために使用されるシンタックス構造を備える場合がある。したがって、CUの各TUは、ルーマ変換ブロック、Cb変換ブロック、およびCr変換ブロックに関連付けられる場合がある。TUに関連付けられたルーマ変換ブロックは、CUのルーマ残差ブロックのサブブロックであり得る。Cb変換ブロックは、CUのCb残差ブロックのサブブロックであり得る。Cr変換ブロックは、CUのCr残差ブロックのサブブロックであり得る。モノクロームピクチャまたは3つの別個のカラープレーンを有するピクチャでは、TUは、単一の変換ブロック、および変換ブロックのサンプルを変換するために使用されるシンタックス構造を備える場合がある。
ビデオエンコーダ20は、TUのルーマ変換ブロックに1つまたは複数の変換を適用して、TU用のルーマ係数ブロックを生成することができる。係数ブロックは、変換係数の2次元アレイであり得る。変換係数は、スカラー量であり得る。ビデオエンコーダ20は、TUのCb変換ブロックに1つまたは複数の変換を適用して、TU用のCb係数ブロックを生成することができる。ビデオエンコーダ20は、TUのCr変換ブロックに1つまたは複数の変換を適用して、TU用のCr係数ブロックを生成することができる。
係数ブロック(たとえば、ルーマ係数ブロック、Cb係数ブロック、またはCr係数ブロック)を生成した後、ビデオエンコーダ20は、係数ブロックを量子化することができる。量子化は、一般に、変換係数を表すために使用されるデータの量をできるだけ減らすために変換係数が量子化され、さらなる圧縮をもたらすプロセスを指す。ビデオエンコーダ20が係数ブロックを量子化した後、ビデオエンコーダ20は、量子化変換係数を示すシンタックス要素をエントロピー符号化することができる。たとえば、ビデオエンコーダ20は、量子化された変換係数を示すシンタックス要素に対してコンテキスト適応型バイナリ算術コーディング(CABAC)を実施することができる。
ビデオエンコーダ20は、コード化ピクチャの表現および関連するデータを形成するビットのシーケンスを含むビットストリームを出力することができる。ビットストリームは、NALユニットのシーケンスを備える場合がある。NALユニットは、NALユニット内のデータのタイプの指示と、必要に応じてエミュレーション防止ビットとともに組み入れられたRBSPの形態でそのデータを含むバイトとを含む、シンタックス構造である。NALユニットの各々は、NALユニットヘッダを含み、RBSPをカプセル化する。NALユニットヘッダは、NALユニットタイプコードを示すシンタックス要素を含む場合がある。NALユニットのNALユニットヘッダによって指定されるNALユニットタイプコードは、NALユニットのタイプを示す。RBSPは、NALユニット内にカプセル化されている整数個のバイトを含むシンタックス構造であり得る。いくつかの事例では、RBSPは0個のビットを含む。
様々なタイプのNALユニットは、様々なタイプのRBSPをカプセル化することができる。たとえば、第1のタイプのNALユニットはPPS用のRBSPをカプセル化することができ、第2のタイプのNALユニットはコード化スライス用のRBSPをカプセル化することができ、第3のタイプのNALユニットはSEIメッセージ用のRBSPをカプセル化することができ、以下同様である。(パラメータセットおよびSEIメッセージ用のRBSPとは対照的に)ビデオコーディングデータ用のRBSPをカプセル化するNALユニットは、VCL NALユニットと呼ばれる場合がある。
ビデオデコーダ30は、ビデオエンコーダ20によって生成されたビットストリームを受信することができる。加えて、ビデオデコーダ30は、ビットストリームを構文解析して、ビットストリームからシンタックス要素を取得することができる。ビデオデコーダ30は、ビットストリームから取得されたシンタックス要素に少なくとも部分的に基づいて、ビデオデータのピクチャを復元することができる。ビデオデータを復元するプロセスは、全体的に、ビデオエンコーダ20によって実施されるプロセスの逆であり得る。加えて、ビデオデコーダ30は、現在CUのTUに関連付けられた係数ブロックを逆量子化することができる。ビデオデコーダ30は、係数ブロックに対して逆変換を実施して、現在CUのTUに関連付けられた変換ブロックを復元することができる。ビデオデコーダ30は、現在CUのPUの予測ブロックのサンプルを現在CUのTUの変換ブロックの対応するサンプルに加算することによって、現在CUのコーディングブロックを復元することができる。ピクチャのCUごとにコーディングブロックを復元することによって、ビデオデコーダ30はピクチャを復元することができる。
図2は、IBCモードの概念図を示す。ビデオエンコーダ20およびビデオデコーダ30は、たとえば、IBCモードを使用してビデオデータのブロックを符号化および復号するように構成される場合がある。リモートデスクトップ、リモートゲーミング、ワイヤレスディスプレイ、自動インフォテインメント、クラウドコンピューティングなどの多くの適用例が人々の日常生活における常套手段になりつつあり、そのようなコンテンツをコーディングするときのコーディング効率は、IBCモードの使用によって改善される場合がある。図1のシステム10は、これらの適用例のいずれかを実行するように構成されたデバイスを表すことができる。これらの適用例におけるビデオコンテンツは、しばしば、自然なコンテンツ、テキスト、人工グラフィックスなどの組合せである。ビデオフレームのテキストおよび人工グラフィックスの領域では、(文字、アイコン、シンボルなどの)繰返しパターンがしばしば存在する。上記で紹介されたように、IBCは、JCT-VC M0350において報告されたように、この種類の冗長性を除去し、イントラフレームコーディング効率を潜在的に改善することを可能にする専用の技法である。図2に示されたように、IBCを使用するCUの場合、予測信号は、同じフレーム内ですでに復元された領域から取得される。最終的に、現在CUから変位された予測信号の位置を示すオフセットベクトルは、残差信号と一緒に符号化される。
たとえば、図2は、たとえば、本開示の技法によるIBCモードに従って、本開示による、同じピクチャ内のビデオデータの予測ブロックからビデオデータのブロックのイントラ予測用のモードに従って、現在ピクチャ103内のビデオデータの現在ブロック102を予測するための例示的な技法を示す。図2は、現在ピクチャ103内のビデオデータの予測ブロック104を示す。ビデオコーダ、たとえば、ビデオエンコーダ20および/またはビデオデコーダ30は、本開示の技法によるIBCモードに従って、予測ビデオブロック104を使用して現在ビデオブロック102を予測することができる。
ビデオエンコーダ20は、ビデオデータの以前復元されたブロックのセットから、現在ビデオブロック102を予測するための予測ビデオブロック104を選択する。ビデオエンコーダ20は、符号化ビデオビットストリームにも含まれるビデオデータを逆量子化および逆変換し、得られた残差ブロックを、ビデオデータの復元されたブロックを予測するために使用される予測ブロックと加算することによってビデオデータのブロックを復元する。図2の例では、ピクチャ103内の対象領域108は、「対象エリア」または「ラスタエリア」と呼ばれる場合もあり、以前復元されたビデオブロックのセットを含む。ビデオエンコーダ20は、下記でより詳細に記載されるように、様々な方法でピクチャ103内の対象領域108を定義することができる。ビデオエンコーダ20は、対象領域108内の様々なビデオブロックに基づいて現在ビデオブロック102を予測およびコーディングする相対的な効率および精度の分析に基づいて、対象領域108内のビデオブロックの中から現在ビデオブロック102を予測するように、予測ビデオブロック104を選択することができる。
対象領域108は、本開示ではIBC予測領域と呼ばれる場合もある。本開示は、対象領域108にどのブロックが含まれるかを修正することができる、様々な技法を記載する。したがって、本開示の技法を実施するとき、対象領域108のサイズおよび形状は、図2の例に示されたサイズおよび形状とは異なる場合がある。
ビデオエンコーダ20は、現在ビデオブロック102に対する予測ビデオブロック104の位置または変位を表す2次元ベクトル106を特定する。2次元ベクトル106は、オフセットベクトルの一例であり、現在ビデオブロック102に対する予測ビデオブロック104の水平変位および垂直変位をそれぞれ表す、水平変位成分112および垂直変位成分110を含む。ビデオエンコーダ20は、符号化ビデオビットストリーム内の、2次元ベクトル106を識別または定義する、たとえば、水平変位成分112および垂直変位成分110を定義する、1つまたは複数のシンタックス要素を含む場合がある。ビデオデコーダ30は、1つまたは複数のシンタックス要素を復号して2次元ベクトル106を特定し、特定されたベクトルを使用して現在ビデオブロック102用の予測ビデオブロック104を識別することができる。
現在ビデオブロック102は、CU、またはCUのPUであり得る。いくつかの例では、ビデオコーダ、たとえば、ビデオエンコーダ20および/またはビデオデコーダ30は、IBCに従って予測されたCUをいくつかのPUに分割することができる。そのような例では、ビデオコーダは、CUのPUの各々のために、それぞれの(たとえば、異なる)2次元ベクトル106を特定することができる。たとえば、ビデオコーダは、2N×2NのCUを2つの2N×NのPU、2つのN×2NのPU、または4つのN×NのPUに分割することができる。他の例として、ビデオコーダは、2N×2NのCUを((N/2)×N+(3N/2)×N)のPU、((3N/2)×N+(N/2)×N)のPU、(N×(N/2)+N×(3N/2))のPU、(N×(3N/2)+N×(N/2))のPU、4つの(N/2)×2NのPU、または4つの2N×(N/2)のPUに分割することができる。いくつかの例では、ビデオコーダは、2N×2NのPUを使用して2N×2NのCUを予測することができる。
現在ビデオブロック102は、ルーマビデオブロック(たとえば、ルーマ成分)、およびルーマビデオブロックに対応するクロマビデオブロック(たとえば、クロマ成分)を含む。いくつかの例では、ビデオエンコーダ20は、ルーマビデオブロック用の2次元ベクトル106を定義する1つまたは複数のシンタックス要素のみを、符号化ビデオビットストリーム内に符号化することができる。そのような例では、ビデオデコーダ30は、ルーマブロック用にシグナリングされた2次元ベクトルに基づいて、ルーマブロックに対応する1つまたは複数のクロマブロックの各々のための2次元ベクトル106を導出することができる。本開示に記載された技法では、1つまたは複数のクロマブロックのための2次元ベクトルの導出において、ビデオデコーダ30は、ルーマブロック用の2次元ベクトルがクロマサンプル内のサブピクセル位置を指す場合、ルーマブロック用の2次元ベクトルを修正することができる。
色フォーマット、たとえば色サンプリングフォーマットまたはクロマサンプリングフォーマットに応じて、ビデオコーダは、ルーマビデオブロックに対して、対応するクロマビデオブロックをダウンサンプリングすることができる。色フォーマット4:4:4はダウンサンプリングを含まず、クロマブロックがルーマブロックと同じ数のサンプルを水平方向および垂直方向に含むことを意味する。色フォーマット4:2:2は水平方向にダウンサンプリングされ、ルーマブロックに対して、クロマブロック内で水平方向に半数のサンプルが存在することを意味する。色フォーマット4:2:0は水平方向および垂直方向にダウンサンプリングされ、ルーマブロックに対して、クロマブロック内で水平方向および垂直方向に半数のサンプルが存在することを意味する。
ビデオコーダが、対応するルーマブロック用のベクトル106に基づいてクロマビデオブロック用のベクトル106を特定する例では、ビデオコーダはルーマベクトルを修正する必要があり得る。たとえば、ルーマベクトル106が整数解像度を有し、水平変位成分112および/または垂直変位成分110が奇数の数のピクセルであり、色フォーマットが4:2:2または4:2:0である場合、変換されたルーマベクトルは、対応するクロマブロック内の整数ピクセル位置を指さない場合がある。そのような例では、ビデオコーダは、ルーマベクトルを、対応するクロマブロックを予測するクロマベクトルとして使用するためにスケーリングすることができる。
図2は、IBCモードでコーディングされている現在CUを示す。現在CU用の予測ブロックは、探索領域から取得される場合がある。探索領域は、現在CUと同じフレームからすでにコーディングされたブロックを含む。たとえば、フレームがラスタ走査順序(すなわち、左から右および上から下)でコーディングされていると仮定すると、図2に示されたように、フレームのすでにコーディングされたブロックは、現在CUの左および上にあるブロックに対応する。いくつかの例では、探索領域は、フレーム内のすでにコーディングされたブロックのすべてを含む場合があるが、他の例では、探索領域は、すでにコーディングされたブロックのすべてより少ないブロックを含む場合がある。図2のオフセットベクトルは、動きベクトルまたは予測ベクトルと呼ばれることがあり、現在CUの左上ピクセルと(図2において予測信号と標示された)予測ブロックの左上ピクセルとの間の差分を識別する。したがって、符号化ビデオビットストリーム内のオフセットベクトルをシグナリングすることにより、ビデオデコーダは、現在CUがIBCモードでコーディングされるとき、現在CU用の予測ブロックを識別することができる。
IBCは、HEVCに対するSCC拡張を含む、SCCの様々な実装形態に含まれている。IBCの一例が図2に関して上述され、そこでは、現在CU/PUは現在ピクチャ/スライスのすでに復号されたブロックから予測される。IBCでは、予測ブロック(たとえば、図2のブロック104)は、ループフィルタリングされていない、たとえば、デブロックフィルタリングまたはSAOフィルタリングされていない復元ブロックであり得る。
SCCの現在の実装形態では、ブロックベクトル予測子は、各CTBの最初に(-w、0)に設定され、ここで、wはCUの幅に相当する。そのようなブロックベクトル予測子は、それがIBCモードを用いてコーディングされる場合、最新のコード化CU/PUのうちの1つになるように更新される。CU/PUがIBCを用いてコーディングされない場合、ブロックベクトル予測子は変更されないままである。ブロックベクトル予測の後、HEVC内などのMV差分(MVD)コーディング方法を使用して、ブロックベクトルの差分が符号化される。
IBCの現在の実装形態は、CUレベルとPUレベルの両方におけるIBCコーディングを可能にする。PUレベルのIBCの場合、2N×NおよびN×2NのPU区分化がすべてのCUサイズに対してサポートされる。加えて、CUが最小のCUであるとき、N×NのPU区分化がサポートされる。
本開示は、イントラブロックコピーマージ候補のハンドリングおよび現在CTU内の利用できないIBC参照領域のパディングに関する技法を含む、IBCの様々な態様に関する技法を記載する。下記で、本開示は、現在のSCC WDにおけるいくつかの観察された潜在的な問題を説明し、これらの問題に対処する潜在的な解決策を紹介する。
潜在的な問題の第1の例は、IBCマージ候補に関する。現在のSCC WDでは、IBCルーマブロックベクトルは、整数の予測精度に限定される。したがって、IBCブロックのいかなるブロックベクトルにも適用されるルーマ補間は存在しない。ブロックベクトルは、マージモードまたはAMVPモードから導出される場合がある。マージモードの場合、マージ候補は、分数ピクセル精度を有するインター予測ブロックからであり得る。そのような候補は、IBCブロックに使用することができない。現在のSCC WDは、その概念を破る、IBCブロックに対するこれらの候補の使用を可能にする。
潜在的な問題の第2の例は、現在CTU内の利用できないIBC参照領域のパディングに関する。現在のSCC WDでは、図3に示されたように、IBC予測領域は波面並列処理(WPP)領域に続く。
図3は、現在CTUの一例を示す。CTU120は、たとえば、スライス、タイル、またはピクチャのうちの1つまたは複数内にある。CTU120は、現在コーディングされているブロックである現在ブロック122を含む。CTUは、グローバル探索領域124およびローカル探索領域126も含み、それらの両方とも以前復号されたブロックを含む。グローバル探索領域124およびローカル探索領域126は、まとめてIBC参照領域を形成する。CTU120は、参照に利用可能でない領域も含む。参照に利用可能でない領域には、たとえば、まだコーディングされていないブロックが含まれる。
図3において見られるように、現在CTU内のIBC参照領域はすでに復号された領域に限定され、それにより、IBC参照領域が削減される。この問題に対処し、参照領域のサイズを増やすために、過去に様々な技法が提案されている。たとえば、1つの提案された技法は、定数値(たとえば、1<<BitDepth)などを使用して利用できない領域をパディングすることに関与した。この技法は、しかしながら、効率的でない場合がある。
本開示は、上記で紹介された問題に対処することができるいくつかの技法を記載する。本明細書に記載される様々な技法は、単独で、または他と組み合わせて一緒に適用することができる。
上記で説明された第1の問題に潜在的に対処するために、本開示は、マージ候補がイントラブロックコピーモードに対応する(すなわち、参照ピクチャが現在ピクチャと同じである)ときにマージベクトルを丸めるための技法を記載する。このコンテキストにおける丸めという用語は、分数ピクセル精度のブロックベクトルを整数ピクセル精度のブロックベクトルに変換することを意味する。これを実現する1つの例示的な方法は、ベクトルを2だけ右シフトし、次いで2だけ左シフトすることによる。いくつかの例では、右シフトする前にオフセットが加算される場合がある。
既存のSCC WDテキストに対する例示的な修正が下記に記載され、イタリックは既存のSCC WDテキストに対して提案された付加を表す。
8.5.3.2.2:マージモードの場合のルーマ動きベクトルのための導出プロセス
以下の割当ては、Nがマージ候補リストmergeCandList(N=mergeCandList[merge_idx[xOrigP][yOrigP]])内の位置merge_idx[xOrigP][yOrigP]にある候補であり、Xが0または1によって交換される場合に行われる。
refIdxLX=refIdxLXN (8-122)
predFlagLX=predFlagLXN (8-123)
- use_integer_mv_flagが0に等しく、参照ピクチャが現在ピクチャでないとき
mvLX[0]=mvLXN[0] (8-124)
mvLX[1]=mvLXN[1] (8-125)
- そうでない(use_integer_mv_flagが1に等しく、または参照ピクチャが現在ピクチャである)場合
mvLX[0]=(mvLXN[0]>>2)<<2 (8-126)
mvLX[1]=(mvLXN[1]>>2)<<2 (8-127)
セクション8.5.3.2.2において上記に示されたように、スライスレベルフラグuse_integer_mv_flagが第1の値(たとえば、上記の例では1)に設定されたとき、現在ブロックに対する動きベクトル予測は整数ピクセル精度でなければならない。use_integer_mv_flagが第2の値(たとえば、上記の例では0)に設定されたとき、ブロックに対する動きベクトル予測は、整数ピクセル精度または分数ピクセル精度のいずれかであってよい。しかしながら、参照ピクチャが現在ピクチャである場合、動きベクトルは、use_integer_mv_flagの値が第2の値に設定された場合でも整数ピクセル精度に丸められる。
図4は、現在コーディングされているCTBである現在CTB132の一例を示す。CTB132は、すでにコーディングされている左CTB134の右側にある。上記で説明された第2の問題に潜在的に対処するために、本開示は、現在CTB(たとえば、CTB132)を左CTB(たとえば、左CTB134)からの復号サンプルでパディングする技法を紹介する。図4は、現在CTB132の復号の開始前に現在CTB132用のIBCパディングされた参照領域を生成する一例を示す。図4に示されたように、現在CTB132の復号の開始前に、左CTB134から復号されたフィルタリングされていないサンプルをコピーすることにより、現在CTB132に対応する参照サンプルが生成される。
現在CTB132内のパディングされた領域からの予測を可能にするために、一例では、本開示は以下の制限を取り除くことを提案する。
- 以下の条件のうち1つまたは両方は真でなければならない。
- (mvLX[0]>>2)+nPbW+xB1+offsetXの値が0以下である。
- (mvLX[1]>>2)+nPbH+yB1+offsetYの値が0以下である。
非4:4:4クロマフォーマットで動作するとき、クロマブロックベクトルに対する補間は可能である。この制約は、SCC WDにおける以下の制約によってさらに維持される。
- 以下の条件は真でなければならない。
(xPb+(mvLX[0]>>2)+nPbSw-1+offsetX)/CtbSizeY-xCurr/CtbSizeY<=yCurr/CtbSizeY-(yPb+(mvLX[1]>>2)+nPbSh-1+offsetY)/CtbSizeY
図5は、本開示において記載されるIBCコーディング技法を実施することができる例示的なビデオエンコーダ20を示すブロック図である。ビデオエンコーダ20は、ビデオスライス内のビデオブロックのイントラコーディングおよびインターコーディングを実施することができる。イントラコーディングは、所与のビデオフレームまたはピクチャ内のビデオにおける空間冗長性を低減または除去するために空間予測に依存する。インターコーディングは、ビデオシーケンスの隣接するフレームまたはピクチャ内のビデオにおける時間冗長性を低減または除去するために時間予測に依存する。イントラモード(Iモード)は、いくつかの空間ベースの圧縮モードのうちのいずれかを指す場合がある。
図5の例では、ビデオエンコーダ20は、ビデオデータメモリ40と、予測処理ユニット41と、復号ピクチャバッファ64と、加算器50と、変換処理ユニット52と、量子化ユニット54と、エントロピー符号化ユニット56とを含む。予測処理ユニット41は、区分化ユニット35と、動き推定ユニット42と、動き補償ユニット44と、IBCユニット48と、イントラ予測処理ユニット46とを含む。ビデオブロック復元のために、ビデオエンコーダ20はまた、逆量子化ユニット58と、逆変換処理ユニット60と、加算器62とを含む。加算器62と復号ピクチャバッファ64との間に、ループ内フィルタ(図示せず)が配置される場合がある。
様々な例では、ビデオエンコーダ20の固定またはプログラム可能なハードウェアユニットは、本開示の技法を実施するように仕事を課せられる場合がある。また、いくつかの例では、本開示の技法は、図5に示されたビデオエンコーダ20の示された固定またはプログラム可能なハードウェアユニットのうちの1つまたは複数の間で分割される場合があるが、他のデバイスが本開示の技法を実施する場合もある。たとえば、図5の例によれば、ビデオエンコーダ20のIBCユニット48は、本開示の技法を単独で実施するか、または、動き推定ユニット42、動き補償ユニット44、イントラ予測処理ユニット46、およびエントロピー符号化ユニット56などの、ビデオエンコーダ20の他のユニットとの組合せで実施することができる。いくつかの例では、ビデオエンコーダ20はIBCユニット48を含まない場合があり、IBCユニット48の機能は、動き推定ユニット42および/または動き補償ユニット44などの、予測処理ユニット41の他の構成要素によって実施される場合がある。
ビデオデータメモリ40は、ビデオエンコーダ20の構成要素によって符号化されるべきビデオデータを記憶することができる。ビデオデータメモリ40内に記憶されるビデオデータは、たとえば、ビデオソース18から取得される場合がある。復号ピクチャバッファ(DPB)64は、(たとえば、イントラ予測コーディングモードまたはインター予測コーディングモードとも呼ばれる、イントラコーディングモードまたはインターコーディングモードで)ビデオエンコーダ20によってビデオデータを符号化する際に使用するための参照ビデオデータを記憶するバッファである。ビデオデータメモリ40およびDPB64は、同期DRAM(SDRAM)を含むダイナミックランダムアクセスメモリ(DRAM)、磁気抵抗RAM(MRAM)、抵抗RAM(RRAM(登録商標))、または他のタイプのメモリデバイスなどの、様々なメモリデバイスのいずれかによって形成される場合がある。ビデオデータメモリ40およびDPB64は、同じメモリデバイスまたは別個のメモリデバイスによって提供される場合がある。様々な例では、ビデオデータメモリ40は、ビデオエンコーダ20の他の構成要素とともにオンチップであるか、またはそれらの構成要素に対してオフチップであり得る。
図5に示されたように、ビデオエンコーダ20はビデオデータを受信し、区分化ユニット35はデータをビデオブロックに区分化する。この区分化は、スライス、タイル、または他のより大きい単位への区分化、ならびに、たとえば、LCUおよびCUの4分木構造によるビデオブロック区分化を含む場合もある。ビデオエンコーダ20は、全体的に、符号化されるべきビデオスライス内のビデオブロックを符号化する構成要素を示す。スライスは、複数のビデオブロック(および、場合によっては、タイルと呼ばれるビデオブロックのセット)に分割される場合がある。予測処理ユニット41は、エラー結果(たとえば、コーディングレートおよびひずみのレベル)に基づいて、現在ビデオブロックのために、複数のイントラコーディングモードのうちの1つまたは複数のインターコーディングモードのうちの1つなどの、複数の可能なコーディングモードのうちの1つを選択することができる。予測処理ユニット41は、IBCモードで符号化するための上述された本開示の技法を実施するように構成される場合がある。予測処理ユニット41は、残差ブロックデータを生成するために加算器50に、参照ピクチャとして使用するための符号化ブロックを復元するために加算器62に、得られたイントラコード化ブロックまたはインターコード化ブロックを供給することができる。
予測処理ユニット41内のイントラ予測処理ユニット46は、空間圧縮を実現するために、コーディングされるべき現在ブロックと同じフレームまたはスライス内の1つまたは複数の隣接ブロックに対する現在ビデオブロックのイントラ予測コーディングを実施することができる。予測処理ユニット41内の動き推定ユニット42および動き補償ユニット44は、時間圧縮を実現するために、1つまたは複数の参照ピクチャの中の1つまたは複数の予測ブロックに対する現在ビデオブロックのインター予測コーディングを実施する。
動き推定ユニット42は、ビデオシーケンス用の所定のパターンに従って、ビデオスライス用のインター予測モードを決定するように構成される場合がある。所定のパターンは、シーケンス内のビデオスライスをPスライスまたはBスライスとして指定することができる。動き推定ユニット42および動き補償ユニット44は、高度に集積される場合があるが、概念的な目的のために別々に示されている。動き推定ユニット42によって実施される動き推定は、ビデオブロックに関する動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、たとえば、参照ピクチャ内の予測ブロックに対する現在のビデオフレームまたはピクチャ内のビデオブロックのPUの変位を示すことができる。IBCユニット48は、インター予測のための動き推定ユニット42による動きベクトルの特定と同様の方式で、IBCコーディングのためのベクトル、たとえばブロックベクトルを特定することができるか、または動き推定ユニット42を利用してブロックベクトルを特定することができる。
予測ブロックは、絶対差分和(SAD)、2乗差分和(SSD)、または他の差分メトリックによって決定され得るピクセル差分に関して、コーディングされるべきビデオブロックのPUと厳密に一致することが判明したブロックである。いくつかの例では、ビデオエンコーダ20は、復号ピクチャバッファ64に記憶された参照ピクチャのサブ整数ピクセル位置についての値を計算することができる。たとえば、ビデオエンコーダ20は、参照ピクチャの1/4ピクセル位置、1/8ピクセル位置、または他の分数ピクセル位置の値を補間することができる。したがって、動き推定ユニット42は、フルピクセル位置および分数ピクセル位置に対する動き探索を実施し、分数ピクセル精度で動きベクトルを出力することができる。
動き推定ユニット42は、PUの位置を参照ピクチャの予測ブロックの位置と比較することにより、インターコード化スライス内のビデオブロックのPU用の動きベクトルを計算する。参照ピクチャは、その各々が復号ピクチャバッファ64に記憶された1つまたは複数の参照ピクチャを識別する、第1の参照ピクチャリスト(リスト0)または第2の参照ピクチャリスト(リスト1)から選択される場合がある。動き推定ユニット42は、計算された動きベクトルをエントロピー符号化ユニット56および動き補償ユニット44に送る。
いくつかの例では、IBCユニット48は、動き推定ユニット42および動き補償ユニット44に関して上述された方式と同様の方式でベクトルを生成し、予測ブロックをフェッチすることができるが、予測ブロックは現在ブロックと同じピクチャまたはフレームの中にあり、ベクトルは動きベクトルの対語としてブロックベクトルと呼ばれる。他の例では、IBCユニット48は、動き推定ユニット42および動き補償ユニット44を使用して、全体的または部分的に、本明細書に記載された技法によるIBC予測のためのそのような機能を実施することができる。いずれにせよ、IBCの場合、予測ブロックは、絶対差分和(SAD)、2乗差分和(SSD)、または他の差分メトリックによって決定され得るピクセル差分に関して、コーディングされるべきブロックと厳密に一致することが判明したブロックの場合があり、ブロックの識別は、サブ整数ピクセル位置についての値の計算を含む場合がある。
動き補償ユニット44によって実施される動き補償は、場合によっては、サブピクセル精度への補間を実施する、動き推定によって決定された動きベクトルに基づいて、予測ブロックをフェッチまたは生成することを伴う場合がある。現在ビデオブロックのPU用の動きベクトルを受信すると、動き補償ユニット44は、参照ピクチャリストのうちの1つの中で動きベクトルが指す予測ブロックを位置決めすることができる。ビデオエンコーダ20は、コーディングされている現在ビデオブロックのピクセル値から予測ブロックのピクセル値を減算し、ピクセル差分値を形成することによって、残差ビデオブロックを形成する。ピクセル差分値は、ブロックに対する残差データを形成し、ルーマ差分成分とクロマ差分成分の両方を含む場合がある。加算器50は、この減算演算を実施する1つまたは複数の構成要素を表す。動き補償ユニット44は、ビデオスライスのビデオブロックを復号する際にビデオデコーダ30によって使用するための、ビデオブロックおよびビデオスライスに関連付けられたシンタックス要素を生成することもできる。
上記で紹介されたように、インター予測モードでブロックをコーディングするとき、予測処理ユニットは、マージモードを使用して動き情報をシグナリングすることができる。たとえば、現在ピクチャの現在ブロックに対して、動き推定ユニット42および/またはIBCユニット48は、マージ候補リストを生成することができ、マージ候補リスト内の各候補は関連する動き情報を有する。動き情報は、現在ブロックまたは以前コーディングされたピクチャと同じピクチャを指す動きベクトルを含む場合がある。動き推定ユニット42および/またはIBCユニット48は、マージ候補リストからマージ候補を選択し、選択された候補の動き情報を使用して現在ブロックを符号化することができる。予測処理ユニット41は、選択されたマージ候補を識別するシンタックス要素をエントロピー符号化ユニット56に出力することができる。エントロピー符号化ユニット56は、符号化ビットストリーム内に含めるためのシンタックス要素をエントロピー符号化することができる。
予測ビデオブロックが、IBC予測に従って同じピクチャからか、インター予測に従って異なるピクチャからかにかかわらず、ビデオエンコーダ20は、コーディングされている現在ビデオブロックのピクセル値から予測ブロックのピクセル値を減算し、ピクセル差分値を形成することによって、残差ビデオブロックを形成することができる。ピクセル差分値はブロック用の残差データを形成し、ルーマ成分差とクロマ成分差の両方を含む場合がある。加算器50は、この減算演算を実施する1つまたは複数の構成要素を表す。IBCユニット48および/または動き補償ユニット44は、ビデオスライスのビデオブロックを復号する際にビデオデコーダ30などのビデオデコーダによって使用するための、ビデオブロックおよびビデオスライスに関連付けられたシンタックス要素を生成することもできる。シンタックス要素には、たとえば、予測ブロックを識別するために使用されるベクトルを定義するシンタックス要素、予測モードを示す任意のフラグ、または本開示の技法に関して記載された任意の他のシンタックスが含まれる場合がある。
イントラ予測処理ユニット46は、上述されたように、動き推定ユニット42および動き補償ユニット44によって実施されるインター予測、またはIBCユニット48によって実施されるIBC予測の代替として、現在ブロックをイントラ予測することができる。詳細には、イントラ予測処理ユニット46は、現在ブロックを符号化するために使用する、IBCモードを含むイントラ予測モードを決定することができる。いくつかの例では、イントラ予測処理ユニット46は、たとえば、別々の符号化パスの間、様々なイントラ予測モードを使用して現在ブロックを符号化することができ、イントラ予測処理ユニット46(または、いくつかの例では、モード選択ユニット)は、テストされたモードから使用する適切なイントラ予測モードを選択することができる。
たとえば、イントラ予測処理ユニット46は、様々なテストされたイントラ予測モードに対してレートひずみ分析を使用してレートひずみ値を計算し、テストされたモードの中から最良のレートひずみ特性を有するイントラ予測モードを選択することができる。レートひずみ分析は、一般に、符号化ブロックと、符号化ブロックを生成するために符号化された、元の符号化されていないブロックとの間のひずみ(または誤差)の量、ならびに符号化ブロックを生成するために使用されるビットレート(すなわち、ビット数)を決定する。イントラ予測処理ユニット46は、どのイントラ予測モードがブロック用の最良のレートひずみ値を表すかを判定するために、様々な符号化ブロックについてのひずみおよびレートから比を計算することができる。
いずれの場合も、ブロック用のイントラ予測モードを選択した後、イントラ予測処理ユニット46は、エントロピー符号化ユニット56にブロック用の選択されたイントラ予測モードを示す情報を提供することができる。エントロピー符号化ユニット56は、本開示の技法に従って選択されたイントラ予測モードを示す情報を符号化することができる。ビデオエンコーダ20は、(コードワードマッピングテーブルとも呼ばれる)複数のイントラ予測モードインデックステーブルおよび複数の修正されたイントラ予測モードインデックステーブルを含む場合がある送信されたビットストリーム構成データの中に、コンテキストの各々のために使用する、様々なブロックのための符号化コンテキストの定義と、最も可能性の高いイントラ予測モードの指示と、イントラ予測モードインデックステーブルと、修正されたイントラ予測モードインデックステーブルとを含める場合がある。
予測処理ユニット41が、インター予測またはイントラ予測のいずれかを介して現在ビデオブロック用の予測ブロックを生成した後、ビデオエンコーダ20は、現在ビデオブロックから予測ブロックを減算することによって、残差ビデオブロックを形成する。残差ブロック内の残差ビデオデータは、1つまたは複数のTUに含められ、変換処理ユニット52に適用される場合がある。変換処理ユニット52は、離散コサイン変換(DCT)または概念的に同様の変換などの変換を使用して、残差ビデオデータを残差変換係数に変換する。変換処理ユニット52は、残差ビデオデータをピクセル領域から周波数領域などの変換領域に変換することができる。
変換処理ユニット52は、得られた変換係数を量子化ユニット54に送ることができる。量子化ユニット54は、変換係数を量子化してビットレートをさらに低減する。量子化プロセスは、係数の一部または全部に関連付けられたビット深度を低減することができる。量子化の程度は、量子化パラメータを調整することによって修正される場合がある。いくつかの例では、量子化ユニット54は、次いで、量子化変換係数を含む行列の走査を実施することができる。代替として、エントロピー符号化ユニット56が走査を実施する場合がある。
量子化に続いて、エントロピー符号化ユニット56は、量子化変換係数をエントロピー符号化する。たとえば、エントロピー符号化ユニット56は、コンテキスト適応型可変長コーディング(CAVLC)、コンテキスト適応型バイナリ算術コーディング(CABAC)、シンタックスベースコンテキスト適応型バイナリ算術コーディング(SBAC)、確率間隔区分化エントロピー(PIPE)コーディング、または別のエントロピー符号化の方法もしくは技法を実施することができる。エントロピー符号化ユニット56によるエントロピー符号化に続いて、符号化ビットストリームは、ビデオデコーダ30に送信されるか、または後の送信もしくはビデオデコーダ30による取出しのためにアーカイブされる場合がある。エントロピー符号化ユニット56は、コーディングされている現在ビデオスライスの動きベクトルおよび他のシンタックス要素を符号化することもできる。
逆量子化ユニット58および逆変換処理ユニット60は、それぞれ、逆量子化および逆変換を適用して、他のビデオブロックの予測のための参照ブロックとして後で使用するための、ピクセル領域における残差ブロックを復元する。動き補償ユニット44および/またはIBCユニット48は、参照ピクチャリストのうちの1つの中の参照ピクチャのうちの1つの予測ブロックに残差ブロックを加算することにより、参照ブロックを計算することができる。動き補償ユニット44および/またはIBCユニット48は、復元された残差ブロックに1つまたは複数の補間フィルタを適用して、動き推定において使用するためのサブ整数ピクセル値を計算することもできる。
加算器62は、動き補償ユニット44によって生成された動き補償予測ブロックに復元された残差ブロックを加算して、復号ピクチャバッファ64に記憶するための参照ブロックを生成する。参照ブロックは、後続のビデオフレームまたはピクチャの中のブロックをインター予測するために、参照ブロックとしてIBCユニット48、動き推定ユニット42、および動き補償ユニット44によって使用される場合がある。
図5のビデオエンコーダ20は、たとえば、図7に関して下記に記載されるプロセスに従って、マージモードを使用してビデオブロックを符号化するように構成される場合がある。図6は、ビデオデコーダ30がマージ候補リストを構築するために使用することができる、CU250、およびCU250に関連付けられた例示的な候補位置252A~Eを示す概念図である。本開示は、候補位置252A~252Eをまとめて候補位置252として参照する場合がある。候補位置252は、CU250と同じピクチャ内にある空間候補を表す。候補位置252Aは、CU250の左に位置する。候補位置252Bは、CU250の上に位置する。候補位置252Cは、CU250の右上に位置する。候補位置252Dは、CU250の左下に位置する。候補位置252Eは、CU250の左上に位置する。図6は、予測処理ユニット41が候補リストをどのように生成することができるかの例を提供するために使用される。
図7は、本開示の技法による、候補リストを構築するための例示的な方法を示すフローチャートである。図7の技法は、5つの候補を含むリストに関して記載されるが、本明細書に記載される技法は他のサイズのリストとともに使用される場合もある。5つの候補は、各々、マージインデックス(たとえば、0~4)を有することができる。図7の技法は、汎用ビデオコーダを参照して記載される。汎用ビデオコーダは、たとえば、ビデオエンコーダ20などのビデオエンコーダ、またはビデオデコーダ30などのビデオデコーダであり得る。図7の技法は、図6において上述されたCUおよび候補位置を参照してさらに記載される。
図7の例に従って候補リストを構築するために、ビデオコーダは4つの空間候補を最初に考慮する(702)。4つの空間候補には、たとえば、(図6に示された)候補位置252A、252B、252C、および252Dが含まれる場合がある。4つの空間候補は、現在CU(たとえば、CU250)と同じピクチャ内の4つのPUの動き情報に対応する。ビデオコーダは、特定の順序でリスト内の4つの空間候補を検討することができる。たとえば、候補位置252Aが最初に検討される場合がある。候補位置252Aが利用可能である場合、候補位置252A(すなわち、候補位置252Aに関連付けられた動き情報)は、マージインデックス0に割り当てられる場合がある。候補位置252Aが利用できない場合、ビデオコーダは、候補リストに候補位置252Aの動き情報を含めない場合がある。候補位置は様々な理由で利用できない場合がある。たとえば、候補位置が現在ピクチャ内にない場合、候補位置は利用できない場合がある。別の例では、候補位置がイントラ予測された場合、候補位置は利用できない場合がある。別の例では、候補位置が現在CUとは異なるスライス内にある場合、候補位置は利用できない場合がある。
候補位置252Aを検討した後、ビデオコーダは、次に候補位置252Bを検討することができる。候補位置252Bが利用可能であることと候補位置252Aとは異なることの両方である場合、ビデオコーダは、候補リストに候補位置252Bの動き情報を追加することができる。この特定のコンテキストでは、「同じ」および「異なる」という用語は、候補位置に関連付けられた動き情報を参照する。したがって、2つの候補位置が同じ動き情報を有する場合、2つの候補位置は同じであると考えられ、2つの候補が異なる動き情報を有する場合、異なると考えられる。候補位置252Aが利用可能でなかった場合、ビデオコーダは、マージインデックス0に候補位置252Bの動き情報を割り当てることができる。候補位置252Aが利用可能であった場合、ビデオコーダは、マージインデックス1に候補位置252Bの動き情報を割り当てることができる。候補位置252Bが利用可能でない、または候補位置252Aと同じであるのいずれかである場合、ビデオコーダは、候補位置252Bをスキップし、候補リストに候補位置252Bの動き情報を含めない場合がある。
候補位置252Cがビデオコーダによってリストに含めるために同様に検討される。候補位置252Cが利用可能であることと候補位置252Bおよび252Aとは同じでないことの両方である場合、ビデオコーダは、次の利用可能なマージインデックスに候補位置252Cの動き情報を割り当てる。候補位置252Cが利用できないか、または候補位置252Aおよび252Bのうちの少なくとも1つと異ならないかのいずれかである場合、ビデオコーダは、候補リストに候補位置252Cの動き情報を含めない。次に、候補位置252Dがビデオコーダによって検討される。候補位置252Dが利用可能であることと候補位置252A、252B、および252Cとは同じでないことの両方である場合、ビデオコーダは、次の利用可能なマージインデックスに候補位置252Dの動き情報を割り当てる。候補位置252Dが利用できないか、または候補位置252A、252B、および252Cのうちの少なくとも1つと異ならないかのいずれかである場合、ビデオコーダは、候補リストに候補位置252Dの動き情報を含めない。上記の例は、概して、候補リストに含めるために候補位置252A~Dが個々に検討されることを記載するが、いくつかの実装形態では、候補位置252A~Dのすべてが最初に候補リストに追加され、後で重複が候補リストから除外される場合がある。
ビデオコーダが最初の4つの空間候補を検討した後、候補リストは4つの空間候補の動き情報を含む場合があるか、またはリストは4つよりも少ない空間候補の動き情報を含む場合がある。リストが4つの空間候補の動き情報を含む場合(704、yes)、ビデオコーダは時間候補を検討する(706)。時間候補は、現在ピクチャ以外のピクチャのコロケートされた、またはほぼコロケートされたPUの動き情報に対応する場合がある。時間候補が利用可能であることと最初の4つの空間候補とは異なることの両方である場合、ビデオコーダは、マージインデックス4に時間候補の動き情報を割り当てることができる。時間候補が利用できないか、または最初の4つの空間候補のうちの1つと同じであるかのいずれかである場合、ビデオコーダは、候補リストに時間候補の動き情報を含めない。このようにして、ビデオコーダが時間候補を検討した(706)後、候補リストは、5つの候補(ブロック702において検討された最初の4つの空間候補およびブロック704において検討された時間候補)を含む場合があるか、または4つの候補(ブロック702において検討された最初の4つの空間候補)を含む場合があるかのいずれかである。候補リストが5つの候補を含む場合(708、yes)、ビデオコーダはリストの構築を終了する。
候補リストが4つの候補を含む場合(708、no)、ビデオコーダは第5の空間候補を検討することができる(710)。第5の空間候補は、たとえば、候補位置252Eに対応する場合がある。位置252Eにある候補が利用可能であることと候補位置252A、252B、252C、および252Dとは異なることの両方である場合、ビデオコーダは、マージインデックス4に割り当てられた候補リストに第5の空間候補の動き情報を追加することができる。位置252Eにある候補が利用可能でない、または候補位置252A、252B、252C、および252Dのうちの少なくとも1つと異ならないのいずれかである場合、ビデオコーダは、候補リストに位置252Eにある候補の動き情報を含めない場合がある。このようにして、第5の空間候補を検討した(710)後、リストは、5つの候補(ブロック702において検討された最初の4つの空間候補およびブロック710において検討された第5の空間候補)を含む場合があるか、または4つの候補(ブロック702において検討された最初の4つの空間候補)を含む場合がある。
候補リストが5つの候補を含む場合(712、yes)、ビデオコーダは候補リストの生成を終了する。候補リストが4つの候補を含む場合(712、no)、ビデオコーダは、リストが5つの候補を含む(716、yes)まで、人為的に生成された候補を追加する(714)。
ビデオコーダが最初の4つの空間候補を検討した後、リストが4つよりも少ない空間候補を含む場合(704、no)、ビデオコーダは第5の空間候補を検討することができる(718)。第5の空間候補は、たとえば、候補位置252Eに対応する場合がある。位置252Eにある候補が利用可能であることと候補リストにすでに含められた候補とは異なることの両方である場合、ビデオコーダは、次に利用可能なマージインデックスに割り当てられた候補リストに第5の空間候補を追加することができる。位置252Eにある候補が利用可能でない、または候候補リストにすでに含められた候補のうちの少なくとも1つと異ならないかのいずれかである場合、ビデオコーダは、候補リストに位置252Eにある候補を含めない場合がある。ビデオコーダは、次いで、時間候補を検討することができる(720)。時間候補が利用可能であることと候補リストにすでに含められた候補とは異なることの両方である場合、ビデオコーダは、次に利用可能なマージインデックスに割り当てられた候補リストに時間候補を追加することができる。時間候補が利用できないか、または候補リストにすでに含められた候補のうちの少なくとも1つと異ならないかのいずれかである場合、ビデオコーダは、候補リストに時間候補を含めない場合がある。
第5の空間候補(ブロック718)および時間候補(ブロック720)を検討した後、候補リストが5つの候補を含む場合(722、yes)、ビデオコーダは候補リストの生成を終了する。候補リストが5つよりも少ない候補を含む場合(722、no)、ビデオコーダは、リストが5つの候補を含む(716、yes)まで、人為的に生成された候補を追加することができる(714)。人為的に生成された候補には、たとえば、組み合わされた双予測マージ候補、スケーリングされた双予測マージ候補、および/またはゼロベクトルマージ/AMVP候補が含まれる場合がある。空間候補、時間候補、または人為的に生成された候補のうちのいずれも、現在ピクチャを指す参照インデックスを有するIBC候補であり得る。
図7に関して示された技法は、マージ候補リスト生成するために利用することができる技法の一例を表すにすぎない。たとえば、候補リストを生成するための他の技法は、異なる数の候補を利用するか、異なる順序で候補を含めるか、または異なるタイプの候補を含める場合がある。図7の技法は、HEVCマージ候補列挙プロセスの多くの態様を含むが、図7は、HEVCによって実装されたまさにそのプロセスを表現するものではない。
図2~図4に関して上記でさらに詳細に説明されたように、ビデオエンコーダ20は、隣接CTBの参照サンプルに基づいて現在CTB用の参照サンプルを生成し、CTBの現在ブロックに対して、現在CTB用の参照サンプルから現在ブロック用の予測ブロックを位置決めするように構成される場合がある、ビデオエンコーダの一例を表す。隣接CTBは、たとえば、左の隣接CTBであり得る。現在ブロックは、たとえば、AMVPモードまたはマージモードでコーディングされる場合がある。ビデオエンコーダは、現在ブロック用にマージ候補を決定するように構成される場合があり、マージ候補のブロックベクトルは、CTB内の位置を指すことができる。隣接CTBの参照サンプルに基づいて現在CTB用の参照サンプルを生成するために、ビデオエンコーダは、現在CTBの対応する位置に対して隣接CTBの一部または全部のピクセル値をコピーすることができる。
図2~図4に関して上記でさらに詳細に説明されたように、ビデオエンコーダ20はまた、追加または代替として、現在ブロックの動きベクトルが現在CTB内のブロックを参照するとき、現在CTBに隣接する隣接CTBからの値を用いて現在CTBの値をパディングし、パディングされた値を使用して現在CTBの現在ブロックを復号することができる、ビデオエンコーダの一例を表す。隣接CTBは、たとえば、左の隣接CTBであり得る。現在ブロックは、たとえば、AMVPモードまたはマージモードでコーディングされる場合がある。ビデオエンコーダは、現在ブロック用にマージ候補を決定するように構成される場合があり、マージ候補のブロックベクトルは、CTB内の位置を指すことができる。隣接CTBの参照サンプルに基づいて現在CTB用の参照サンプルを生成するために、ビデオエンコーダは、現在CTBの対応する位置に対して隣接CTBの一部または全部のピクセル値をコピーすることができる。
図8は、本開示において記載されるIBCモードのための技法を実施することができる例示的なビデオデコーダ30を示すブロック図である。図8の例では、ビデオデコーダ30は、ビデオデータメモリ79と、エントロピー復号ユニット80と、予測処理ユニット81と、逆量子化ユニット86と、逆変換処理ユニット88と、加算器90と、復号ピクチャバッファ92とを含む。予測処理ユニット81は、IBCユニット85と、動き補償ユニット82と、イントラ予測処理ユニット84とを含む。ビデオデコーダ30は、いくつかの例では、図5からのビデオエンコーダ20に関して記載された符号化パスとは全体的に逆の復号パスを実施することができる。
様々な例では、ビデオデコーダ30のユニットは、本開示の技法を実施するように仕事を課せられる場合がある。また、いくつかの例では、本開示の技法は、ビデオデコーダ30のユニットのうちの1つまたは複数の間で分割される場合がある。たとえば、IBCユニット85は、本開示の技法を単独で実施するか、または、動き補償ユニット82、イントラ予測処理ユニット84、およびエントロピー復号ユニット80などの、ビデオデコーダ30の他のユニットとの組合せで実施することができる。いくつかの例では、ビデオデコーダ30はIBCユニット85を含まない場合があり、IBCユニット85の機能は、動き補償ユニット82などの予測処理ユニット81の他の構成要素によって実施される場合がある。
ビデオデータメモリ79は、ビデオデコーダ30の構成要素によって復号されるべき符号化ビデオビットストリームなどのビデオデータを記憶することができる。ビデオデータメモリ79内に記憶されたビデオデータは、たとえば、ストレージデバイス32から、カメラなどのローカルビデオソースから、ビデオデータの有線もしくはワイヤレスのネットワーク通信を介して、または物理データ記憶媒体にアクセスすることによって取得される場合がある。ビデオデータメモリ79は、符号化ビデオビットストリームからの符号化ビデオデータを記憶するコード化ピクチャバッファ(CPB)を形成することができる。復号ピクチャバッファ92は、(たとえば、イントラ予測コーディングモードまたはインター予測コーディングモードとも呼ばれるイントラコーディングモードまたはインターコーディングモードで)ビデオデコーダ30によってビデオデータを復号する際に使用するための参照ビデオデータを記憶する復号ピクチャバッファ(DPB)の一例である。ビデオデータメモリ79およびDPB92は、同期DRAM(SDRAM)を含むダイナミックランダムアクセスメモリ(DRAM)、磁気抵抗RAM(MRAM)、抵抗RAM(RRAM(登録商標))、または他のタイプのメモリデバイスなどの様々なメモリデバイスのいずれかによって形成される場合がある。ビデオデータメモリ79およびDPB92は、同じメモリデバイスまたは別個のメモリデバイスによって提供される場合がある。様々な例では、ビデオデータメモリ79は、ビデオデコーダ30の他の構成要素とともにオンチップであるか、またはそれらの構成要素に対してオフチップであり得る。
復号プロセスの間に、ビデオデコーダ30は、ビデオエンコーダ20から、符号化ビデオスライスのビデオブロックおよび関連するシンタックス要素を表す符号化ビデオビットストリームを受信する。ビデオデコーダ30のエントロピー復号ユニット80は、ビットストリームをエントロピー復号して、量子化係数、動きベクトル、および他のシンタックス要素を生成する。エントロピー復号ユニット80は、予測処理ユニット81に動きベクトルおよび他のシンタックス要素を転送する。ビデオデコーダ30は、ビデオスライスレベルおよび/またはビデオブロックレベルにおいてシンタックス要素を受信することができる。
ビデオスライスがイントラコーディングされた(I)スライスとしてコーディングされたとき、予測処理ユニット81のイントラ予測処理ユニット84は、シグナリングされたイントラ予測モード、および現在フレームまたは現在ピクチャの以前復号されたブロックからのデータに基づいて、現在ビデオスライスのビデオブロック用の予測データを生成することができる。予測処理ユニット81は、IBCコーディングモードのための本開示の技法を実施するように構成される場合がある。ビデオフレームがインターコーディングされた(すなわち、BまたはP)スライスとしてコーディングされたとき、予測処理ユニット81の動き補償ユニット82は、エントロピー復号ユニット80から受信された動きベクトルおよび他の構文要素に基づいて、現在ビデオスライスのビデオブロック用の予測ブロックを生成する。予測ブロックは、参照ピクチャリストのうちの1つの中の参照ピクチャのうちの1つから生成される場合がある。ビデオデコーダ30は、復号ピクチャバッファ92内に記憶された参照ピクチャに基づいて、デフォルトの構築技法を使用して、参照フレームリスト、リスト0およびリスト1を構築することができる。
他の例では、ビデオブロックが本明細書に記載されたIBCモードに従ってコーディングされたとき、予測処理ユニット81のIBCユニット85は、エントロピー復号ユニット80から受信されたブロックベクトルおよび他のシンタックス要素に基づいて、現在ビデオブロック用の予測ブロックを生成する。予測ブロックは、ビデオエンコーダ20によって規定された現在ビデオブロックと同じピクチャ内の復元領域の中にあり、DPB92から取り出される場合がある。
動き補償ユニット82および/またはIBCユニット85は、動きベクトルおよび他のシンタックス要素を構文解析することにより、現在ビデオスライスのビデオブロックについての予測情報を特定し、予測情報を使用して、復号されている現在ビデオブロック用の予測ブロックを生成する。たとえば、動き補償ユニット82は、受信されたシンタックス要素のうちのいくつかを使用して、現在ビデオスライス内のビデオブロックを復号するために、ビデオスライスのビデオブロックをコーディングするために使用される予測モード(たとえば、イントラ予測またはインター予測)、インター予測スライスタイプ(たとえば、BスライスまたはPスライス)、スライス用の参照ピクチャリストのうちの1つまたは複数のための構築情報、スライスのインター符号化ビデオブロックごとの動きベクトル、スライスのインターコード化ビデオブロックごとのインター予測状態、および他の情報を特定する。
同様に、IBCユニット85は、受信されたシンタックス要素のうちのいくつか、たとえばフラグを使用して、IBCモード、ピクチャのどのビデオブロックが復元領域内にあり、DPB92に記憶されるべきかを示す構築情報、スライスのIBC予測ビデオブロックごとのブロックベクトル、スライスのIBC予測ビデオブロックごとのIBC予測状況、および現在ビデオスライス内のビデオブロックを復号するための他の情報を使用して現在ビデオブロックが予測されたと判断することができる。
動き補償ユニット82は、補間フィルタに基づいて補間を実施することもできる。動き補償ユニット82は、ビデオブロックの符号化中にビデオエンコーダ20によって使用されたような補間フィルタを使用して、参照ブロックのサブ整数ピクセル用の補間値を計算することができる。この場合、動き補償ユニット82は、受信されたシンタックス要素からビデオエンコーダ20によって使用された補間フィルタを特定し、補間フィルタを使用して予測ブロックを生成することができる。
ビデオデコーダ30は、マージモードおよび/またはAMVPモードでコーディングされたブロックを復号するように構成される場合があり、その場合、予測処理ユニット81は、ビデオエンコーダ20によって組み立てられた同じ候補リストを組み立てるように構成される場合がある。たとえば、予測処理ユニット81は、図6および図7に関して上述された技法を実施することもできる。マージモードの例では、マージ候補リストを組み立てた後、予測処理ユニット81は、マージ候補リスト内の候補のインデックスを識別するシンタックス要素をエントロピー復号ユニット80から受信することができる。IBCユニット85および/またはイントラ予測処理ユニット84は、選択されたマージ候補に関連付けられた動き情報を使用して、予測ブロックを位置決めすることができる。選択されたマージ候補が、現在復号されているブロックを含むピクチャと同じピクチャを参照する場合、IBCユニット85および/またはイントラ予測処理ユニット84は、選択されたマージ候補の動きベクトルを低精度動きベクトルまで丸めて、隣接ブロックの動きベクトルの丸めバージョンを生成することができる。
逆量子化ユニット86は、ビットストリーム内で供給され、エントロピー復号ユニット80によって復号された量子化変換係数を、逆量子化すなわち量子化解除する。逆量子化プロセスは、量子化の程度を決定し、同様に、適用されるべき逆量子化の程度を決定するために、ビデオスライス内のビデオブロックごとの、ビデオエンコーダ20によって計算された量子化パラメータの使用を含む場合がある。逆変換処理ユニット88は、ピクセル領域内の残差ブロックを生成するために、逆変換、たとえば、逆DCT、逆整数変換、または概念的に同様の逆変換プロセスを変換係数に適用する。
動き補償ユニット82またはIBCユニット85が、ベクトルまたは他のシンタックス要素に基づいて現在ビデオブロック用の予測ブロックを生成した後、ビデオデコーダ30は、逆変換処理ユニット88からの残差ブロックを、動き補償ユニット82およびIBCユニット85によって生成された対応する予測ブロックと加算することによって復号ビデオブロックを形成する。加算器90は、この加算演算を実施して復元ビデオブロックを生成する1つまたは複数の構成要素を表す。
加算器90は、この加算演算を実施する1つまたは複数の構成要素を表す。加算器90と復号ピクチャバッファ92との間に、ループ内フィルタ(図示せず)が配置される場合がある。次いで、所与のフレームまたはピクチャ内の復号ビデオブロックは、後続の動き補償に使用される参照ピクチャを記憶する復号ピクチャバッファ92に記憶される。復号ピクチャバッファ92はまた、図1のディスプレイデバイス34などのディスプレイデバイスに後で提示するための復号ビデオを記憶する。
上記でさらに詳細に説明されたように、ビデオデコーダ30はまた、現在ピクチャの現在ブロックがマージモードを使用してコーディングされたと判断し、現在ブロックの隣接ブロックの動きベクトルを特定し、隣接ブロックの動きベクトルに基づいてマージ候補を生成し、マージ候補の参照インデックスが現在ブロックを含むピクチャを参照することに応答して、動きベクトルを低精度動きベクトルまで丸めるように構成されたビデオデコーダの一例を表す。ビデオデコーダ30は、たとえば、現在ブロックの隣接ブロックの動きベクトルの非丸めバージョンをマージ候補リストに追加することができる。現在ブロックを復号するために隣接ブロックの動きベクトルが使用されるべきことを示すマージ候補インデックスをビデオデコーダが受信した場合、ビデオデコーダは、隣接ブロックの動きベクトルの丸めバージョンを使用して現在ブロックを復号することができる。
隣接ブロックの動きベクトルは、動きベクトルのx成分を表す第1の値(たとえば、整数値、浮動小数点値など)と、動きベクトルのy成分を表す(同様に、整数値、浮動小数点値などであり得る)第2の値とを含む場合がある。動きベクトルの丸めバージョンを取得するために、ビデオデコーダ30は、動きベクトルのx成分を表す第1の値を丸めて、丸められた動きベクトルのx成分を表す第1の丸め値を取得し、動きベクトルのy成分を表す第2の値を丸めて、丸められた動きベクトルのy成分を表す第2の丸め値を取得することができる。
値を丸めるために、ビデオデコーダ30は、たとえば、第1の値および第2の値についての1つまたは複数の最下位ビット位置内のビットの値をゼロに等しく設定することができ、場合によっては、最下位ビットの次の上位ビットの1つまたは複数に値を加算することを含む。追加または代替として、ビデオデコーダ30は、第1の値および第2の値に対してビット単位の左シフト演算を実施して、これらの値を丸めることができる。いくつかの例では、丸めは、動きベクトル成分の分数要素を低減または除去することを含む場合がある。たとえば、元の動きベクトルは1/4ピクセル精度を有する場合があるが、丸められた動きベクトルは、1/2ピクセル精度、フルピクセル精度(すなわち、整数ピクセル精度)、2倍ピクセル精度などを有する場合がある。
図2~図4に関して上記でさらに詳細に説明されたように、ビデオデコーダ30はまた、隣接CTBの参照サンプルに基づいて現在CTB用の参照サンプルを生成し、CTBの現在ブロックに対して、現在CTB用の参照サンプルから現在ブロック用の予測ブロックを位置決めするように構成される場合がある、ビデオデコーダの一例を表す。隣接CTBは、たとえば、左の隣接CTBであり得る。現在ブロックは、たとえば、AMVPモードまたはマージモードでコーディングされる場合がある。ビデオデコーダは、現在ブロック用にマージ候補を決定するように構成される場合があり、マージ候補のブロックベクトルは、CTB内の位置を指すことができる。隣接CTBの参照サンプルに基づいて現在CTB用の参照サンプルを生成するために、ビデオデコーダは、現在CTBの対応する位置に対して隣接CTBの一部または全部のピクセル値をコピーすることができる。
図2~図4に関して上記でさらに詳細に説明されたように、ビデオデコーダ30はまた、追加または代替として、現在ブロックの動きベクトルが現在CTB内のブロックを参照するとき、現在CTBに隣接する隣接CTBからの値を用いて現在CTBの値をパディングし、パディングされた値を使用して現在CTBの現在ブロックを復号することができる、ビデオデコーダの一例を表す。隣接CTBは、たとえば、左の隣接CTBであり得る。現在ブロックは、たとえば、AMVPモードまたはマージモードでコーディングされる場合がある。ビデオデコーダは、現在ブロック用にマージ候補を決定するように構成される場合があり、マージ候補のブロックベクトルは、CTB内の位置を指すことができる。隣接CTBの参照サンプルに基づいて現在CTB用の参照サンプルを生成するために、ビデオデコーダは、現在CTBの対応する位置に対して隣接CTBの一部または全部のピクセル値をコピーすることができる。
図9は、本開示の技法による、ビデオエンコーダの例示的な動作を示すフローチャートである。図9のフローチャートは一例として提供される。他の例では、フローチャートは、より多数の、より少数の、または異なるステップを含む場合がある。図9に記載された動作は、上述されたビデオエンコーダ20などのビデオエンコーダによって実施される場合があるが、図9の動作は、いかなる特定のタイプのビデオエンコーダにも限定されない。
図9の例では、ビデオエンコーダはビデオデータを符号化する。現在ピクチャのビデオデータの現在ブロックに対して、ビデオエンコーダが現在ブロックの隣接ブロックの動き情報をマージ候補リストに追加する(902)。動き情報には、たとえば、現在ピクチャを参照する隣接ブロックの動きベクトルが含まれる。ビデオエンコーダがマージ候補リストからマージ候補を選択する(904)。ビデオエンコーダは、選択されたマージ候補に関連付けられた動き情報を使用して現在ブロックを符号化する。選択されたマージ候補が隣接ブロックの動き情報に対応することに応答して、ビデオエンコーダが、隣接ブロックの動きベクトルの丸めバージョンを表す低精度動きベクトルを使用して、現在ブロック用の予測ブロックを位置決めする(906)。ビデオエンコーダが予測ブロックを使用して現在ブロックを符号化する(908)。
予測ブロックを使用して現在ブロックを符号化することの一部として、ビデオエンコーダは、たとえば、符号化ビデオデータのビットストリーム内の出力用に、選択されたマージ候補を識別するインデックスを生成することができる。ビデオエンコーダは、追加または代替として、予測ブロックを元のブロックと比較して残差データを特定し、残差データを変換および量子化することができる。
ビデオエンコーダは、たとえば、動き情報のための参照ピクチャが現在ピクチャに対応するとの判断にさらに応答して、低精度動きベクトルを使用して現在ブロックを予測することができる。ビデオエンコーダはまた、符号化ビデオデータのビットストリーム内に出力するためのフラグを生成する。フラグの第1の値は、現在ブロックの動きベクトル精度が整数ピクセル精度であることを示し、フラグの第2の値は、ブロックの動きベクトル精度が整数ピクセル精度または分数ピクセル精度のいずれかであり得ることを示す。低精度動きベクトルを使用して現在ブロックを予測するために、ビデオエンコーダは、現在ピクチャ内の予測ブロックを位置決めし、予測ブロックをビデオデータの対応する元のブロックと比較し、比較に基づいて残差データを生成し、(たとえば、残差データを変換および量子化し、次いで、得られた量子化変換係数をエントロピー符号化することによって)残差データを符号化することができる。
図10は、本開示の技法による、ビデオデコーダの例示的な動作を示すフローチャートである。図10のフローチャートは一例として提供される。他の例では、フローチャートは、より多数の、より少数の、または異なるステップを含む場合がある。図10に記載された動作は、上述されたビデオデコーダ30などのビデオデコーダによって実施される場合があるが、図10の動作は、いかなる特定のタイプのビデオデコーダにも限定されない。
図10の例では、ビデオデコーダはビデオデータを復号する。現在ピクチャの現在ブロックに対して、ビデオデコーダが現在ブロックの隣接ブロックの動き情報をマージ候補リストに追加する(1002)。動き情報には、たとえば、現在ピクチャを参照する隣接ブロックの動きベクトルが含まれる場合がある。ビデオデコーダがマージ候補リストからマージ候補を示すインデックスを受け取る(1004)。インデックスが隣接ブロックの動き情報に対応するマージ候補を示すことに応答して、ビデオデコーダが、隣接ブロックの動きベクトルの丸めバージョンを表す低精度動きベクトルを使用して、現在ブロックを予測する(1006)。
ビデオデコーダは、動き情報のための参照ピクチャが現在ピクチャに対応するとの判断にさらに応答して、低精度動きベクトルを使用して現在ブロックを予測する。ビデオデコーダはフラグも受信することができ、フラグの第1の値は、現在ブロックの動きベクトル精度が整数ピクセル精度であることを示し、フラグの第2の値は、ブロックの動きベクトル精度が整数ピクセル精度または分数ピクセル精度のうちの1つであることを示す。ビデオデコーダは、フラグが第2の値を有することにさらに応答して、低精度動きベクトルを使用して現在ブロックを予測することができる。
低精度動きベクトルを使用して現在ブロックを予測するために、ビデオデコーダは、現在ピクチャ内の予測ブロックを位置決めすることができる。ビデオデコーダはまた、残差データを受信し、残差データに基づいて残差ブロックを生成し、予測ブロックに残差ブロックを加算して復元ブロックを形成することができる。隣接ブロックは、空間隣接ブロックまたは時間隣接ブロックのいずれかであり得る。隣接ブロックが空間隣接ブロックである例では、空間隣接ブロックの動き情報は、現在ピクチャに対応する参照インデックスを含む場合がある。空間隣接ブロックがIBCを使用して予測されたので、空間隣接ブロックは、たとえば、現在ピクチャに対応する参照インデックスを有する場合がある。時間隣接ブロックは、たとえば、異なる(たとえば、以前コーディングされた)ピクチャ内の現在ブロックにコロケートされたブロックであり得る。いくつかの例では、コロケートされたブロックは、現在ブロックの中心にあるピクセルを含むか、または現在ブロックの右下位置にあるピクセルを含むブロックに対応する場合がある。隣接ブロックが時間隣接ブロックである例では、時間隣接ブロックが現在ピクチャ以外のピクチャからインター予測された場合でも、時間隣接ブロックの動きベクトルは、現在ピクチャに対応する参照インデックスに関連付けられる場合がある。言い換えれば、時間隣接ブロックの動き情報を候補リストに追加するとき、時間隣接ブロック用の参照インデックスは修正される場合がある。
図9と図10の両方の例では、低精度動きベクトルは、たとえば、整数ピクセル精度の動きベクトルの場合があり、動きベクトルは、分数ピクセル精度の動きベクトルの場合がある。他の例では、低精度動きベクトルも、動きベクトルよりも低い精度を有する分数精度の動きベクトルの場合がある。たとえば、動きベクトルが1/16ピクセル精度を有する場合、低精度動きベクトルは、1/8ピクセル精度、1/4ピクセル精度、1/2ピクセル精度、または整数ピクセル精度のいずれかであり得る。同様に、動きベクトルが1/8ピクセル精度を有する場合、低精度動きベクトルは、1/4ピクセル精度、1/2ピクセル精度、または整数ピクセル精度のいずれかであり得る。
1つまたは複数の例では、記載された機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せに実装される場合がある。ソフトウェアに実装される場合、機能は、1つまたは複数の命令またはコードとして、コンピュータ可読媒体上に記憶されるか、またはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行される場合がある。コンピュータ可読媒体は、データ記憶媒体などの有形媒体に対応するコンピュータ可読記憶媒体、または、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む通信媒体を含む場合がある。このようにして、コンピュータ可読媒体は、概して、(1)非一時的である有形コンピュータ可読記憶媒体、または(2)信号もしくは搬送波などの通信媒体に相当する場合がある。データ記憶媒体は、本開示に記載された技法の実装のための命令、コード、および/またはデータ構造を取り出すために、1つもしくは複数のコンピュータまたは1つもしくは複数のプロセッサによってアクセスされ得る、任意の利用可能な媒体であり得る。コンピュータプログラム製品は、コンピュータ可読媒体を含む場合がある。
限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM、CD-ROMもしくは他の光ディスクストレージ、磁気ディスクストレージもしくは他の磁気ストレージデバイス、フラッシュメモリ、または、命令もしくはデータ構造の形式の所望のプログラムコードを記憶するために使用され得るとともに、コンピュータによってアクセスされ得る任意の他の媒体を備えることができる。また、いかなる接続も適切にコンピュータ可読媒体と呼ばれる。たとえば、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから命令が送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。しかしながら、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時的媒体を含まず、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用されるディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピーディスク(disk)、およびBlu-ray(登録商標)ディスク(disc)を含み、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、レーザーを用いてデータを光学的に再生する。上記の組合せも、コンピュータ可読媒体の範囲内に含まれるべきである。
命令は、1つまたは複数のDSP、汎用マイクロプロセッサ、ASIC、FPGA、または他の等価な集積論理回路もしくはディスクリート論理回路などの、1つまたは複数のプロセッサによって実行される場合がある。したがって、本明細書で使用される「プロセッサ」という用語は、前述の構造、または本明細書に記載された技法の実装に適した任意の他の構造のいずれかを指す場合がある。加えて、いくつかの態様では、本明細書に記載された機能は、符号化および復号のために構成された専用のハードウェアモジュールおよび/もしくはソフトウェアモジュール内に提供されるか、または複合コーデックに組み込まれる場合がある。また、技法は、1つまたは複数の回路または論理要素の中に完全に実装される可能性がある。
本開示の技法は、ワイヤレスハンドセット、集積回路(IC)、またはICのセット(たとえば、チップセット)を含む、多種多様なデバイスまたは装置において実装される場合がある。開示された技法を実施するように構成されたデバイスの機能的態様を強調するために、様々な構成要素、モジュール、またはユニットが本開示に記載されているが、それらは、必ずしも異なるハードウェアユニットによる実現を必要とするとは限らない。むしろ、上述されたように、様々なユニットは、コーデックハードウェアユニットにおいて組み合わされるか、または適切なソフトウェアおよび/もしくはファームウェアとともに、上述された1つもしくは複数のプロセッサを含む、相互動作可能なハードウェアユニットの集合によって提供される場合がある。
様々な例が記載されている。これらおよび他の例は、以下の特許請求の範囲内に入る。
10 ビデオ符号化および復号システム
12 ソースデバイス
14 宛先デバイス
16 リンク
18 ビデオソース
20 ビデオエンコーダ
22 出力インターフェース
28 入力インターフェース
30 ビデオデコーダ
32 ストレージデバイス
34 ディスプレイデバイス
35 区分化ユニット
40 ビデオデータメモリ
41 予測処理ユニット
42 動き推定ユニット
44 動き補償ユニット
46 イントラ予測処理ユニット
48 IBCユニット
50 加算器
52 変換処理ユニット
54 量子化ユニット
56 エントロピー符号化ユニット
58 逆量子化ユニット
60 逆変換処理ユニット
62 加算器
64 復号ピクチャバッファ
79 ビデオデータメモリ
80 エントロピー復号ユニット
81 予測処理ユニット
82 動き補償ユニット
84 イントラ予測処理ユニット
85 IBCユニット
86 逆量子化ユニット
88 逆変換処理ユニット
90 加算器
92 復号ピクチャバッファ
102 現在ビデオブロック
103 現在ピクチャ
104 予測ビデオブロック
106 2次元ベクトル
108 対象領域
110 垂直変位成分
112 水平変位成分
120 CTU
122 現在ブロック
124 グローバル探索領域
126 ローカル探索領域
132 現在CTB
134 左CTB
250 CU
252A 候補位置
252B 候補位置
252C 候補位置
252D 候補位置
252E 候補位置

Claims (14)

  1. 第1のブロックのためのフラグを受信するステップであって、前記フラグの値は、現在ピクチャの前記第1のブロックに対する動きベクトル精度が第1の精度であることを示し、前記第1の精度が、整数ピクセル精度または分数ピクセル精度の1つである、ステップと、
    補間された参照ピクチャ空間内の第1の予測ブロックを位置決めすることによって、前記第1の精度で動きベクトルを使用して前記現在ピクチャの第1のブロックを予測するステップと、
    第2のブロックのためのフラグを受信するステップであって、前記フラグの第1の値が、前記第2のブロックの動きベクトル精度が整数ピクセル精度であることを示し、前記フラグの第2の値が、前記第2のブロックの前記動きベクトル精度が前記整数ピクセル精度または分数ピクセル精度のうちの1つであることを示す、ステップと、
    前記第1のブロックに空間的に隣接する前記現在ピクチャの前記第2のブロックに対して、複数のマージ候補を有するマージ候補リストを生成するステップであって、前記マージ候補リストを生成するステップが、前記第1のブロックを復号するために使用される前記動きベクトルを前記複数のマージ候補の1つのマージ候補に対する前記マージ候補リストに追加するステップと、参照ピクチャインデックスを前記マージ候補に割り当てるステップとを含む、ステップと、
    前記マージ候補リストからの前記マージ候補が前記第2のブロックを復号するために使用されることになることを示すインデックスを受信するステップと、
    前記マージ候補に対する前記参照ピクチャインデックスが、前記マージ候補に対する参照ピクチャとして前記第2のブロックを含む前記現在ピクチャを識別すると判断することによって、前記マージ候補がイントラブロックコピー(IBC)候補であると決定するステップと、
    前記マージ候補が前記IBC候補であるとの決定に応答して、前記現在ピクチャの前記第1のブロックを復号するために使用された前記第1の精度を有する前記動きベクトルを低精度に丸めて、低精度動きベクトルを決定するステップであって、前記第1の精度が前記低精度より高精度である、ステップと、
    前記現在ピクチャ内の第2の予測ブロックを識別することによって、前記第2のブロックのためのフラグが第2の値を有することに応答して、前記低精度動きベクトルを使用してかつ補間フィルタリングを適用することなく、前記第2のブロックを予測するステップと
    を含む、ビデオデータを復号する方法。
  2. 前記低精度動きベクトルが、整数ピクセル精度の動きベクトルを備える、請求項1に記載の方法。
  3. 前記第1の精度が、前記分数ピクセル精度を含む、請求項1に記載の方法。
  4. 前記低精度動きベクトルを使用して前記第2のブロックを予測するステップが、
    残差データを受信するステップと、
    前記残差データに基づいて残差ブロックを生成するステップと、
    前記第2の予測ブロックに前記残差ブロックを加算して復元ブロックを形成するステップと
    をさらに含む、請求項1に記載の方法。
  5. ワイヤレス通信デバイスの受信機において前記ビデオデータを受信するステップと、
    前記ワイヤレス通信デバイスのメモリに前記ビデオデータを記憶するステップと、
    前記ワイヤレス通信デバイスの1つまたは複数のプロセッサ上で前記ビデオデータを処理するステップと
    をさらに含む、請求項1に記載の方法。
  6. 前記ワイヤレス通信デバイスが電話ハンドセットを備え、前記ワイヤレス通信デバイスの前記受信機において前記ビデオデータを受信するステップが、ワイヤレス通信規格に従って、前記ビデオデータを備える信号を復調するステップを含む、請求項5に記載の方法。
  7. 現在ピクチャの第1のブロックに対する動きベクトル精度が第1の精度であると決定するステップであって、前記第1の精度が、整数ピクセル精度または分数ピクセル精度の1つである、ステップと、
    補間された参照ピクチャ空間内の第1の予測ブロックを位置決めすることによって、前記第1の精度で動きベクトルを使用して前記現在ピクチャの第1のブロックを予測するステップと、
    前記第1のブロックに空間的に隣接する前記現在ピクチャの第2のブロックに対して、複数のマージ候補を有するマージ候補リストを生成するステップであって、前記マージ候補リストを生成するステップが、前記第1のブロックを符号化するために使用される前記動きベクトルを前記複数のマージ候補の1つのマージ候補に対する前記マージ候補リストに追加するステップと、参照ピクチャインデックスを前記マージ候補に割り当てるステップとを含む、ステップと、
    前記マージ候補リストから前記マージ候補を選択して、前記第2のブロックを符号化するステップと、
    前記マージ候補に対する前記参照ピクチャインデックスが、前記マージ候補に対する参照ピクチャとして前記第2のブロックを含む前記現在ピクチャを識別すると判断することによって、前記マージ候補がイントラブロックコピー(IBC)候補であると決定するステップと、
    前記マージ候補が前記IBC候補であるとの決定に応答して、前記現在ピクチャの前記第1のブロックを符号化するために使用された前記第1の精度を有する前記動きベクトルを低精度に丸めて、低精度動きベクトルを決定するステップであって、前記第1の精度が前記低精度より高精度である、ステップと、
    前記低精度動きベクトルを使用してかつ補間フィルタリングを適用することなく、前記現在ピクチャ内の前記第2のブロックに対する第2の予測ブロックを位置決めするステップと、
    前記第2の予測ブロックを使用して前記第2のブロックを符号化するステップと、
    フラグを生成するステップであって、前記フラグの第1の値が、前記第2のブロックの前記動きベクトル精度が整数ピクセル精度であることを示し、前記フラグの第2の値が、前記第2のブロック用の前記動きベクトル精度が前記整数ピクセル精度または分数ピクセル精度のうちの1つであることを示す、ステップと
    を含む、ビデオデータを符号化する方法。
  8. 前記低精度動きベクトルが整数ピクセル精度の動きベクトルを備える、請求項7に記載の方法。
  9. 前記第1の精度が分数ピクセル精度を含む、請求項7に記載の方法。
  10. 前記第2の予測ブロックを前記ビデオデータの対応する元のブロックと比較するステップと、
    前記比較に基づいて残差データを生成するステップと、
    前記残差データを符号化するステップと
    をさらに含む、請求項7に記載の方法。
  11. ワイヤレス通信デバイスのメモリに前記ビデオデータを記憶するステップと、
    前記ワイヤレス通信デバイスの1つまたは複数のプロセッサ上で前記ビデオデータを処理するステップと、
    前記ワイヤレス通信デバイスの送信機から前記ビデオデータを送信するステップと
    をさらに含む、請求項7に記載の方法。
  12. 前記ワイヤレス通信デバイスが電話ハンドセットを備え、前記ワイヤレス通信デバイスの前記送信機から前記ビデオデータを送信するステップが、ワイヤレス通信規格に従って、前記ビデオデータを備える信号を変調するステップを含む、請求項11に記載の方法。
  13. ビデオデータを復号するためのデバイスであって、
    前記ビデオデータを記憶するように構成されたメモリと、
    1つまたは複数のプロセッサと
    を備え、前記1つまたは複数のプロセッサが、
    第1のブロックのためのフラグを受信することであって、前記フラグの値は、現在ピクチャの前記第1のブロックに対する動きベクトル精度が第1の精度であることを示し、前記第1の精度が、整数ピクセル精度または分数ピクセル精度の1つである、ことと、
    補間された参照ピクチャ空間内の第1の予測ブロックを位置決めすることによって、前記第1の精度で動きベクトルを使用して前記現在ピクチャの第1のブロックを予測することと、
    第2のブロックのためのフラグを受信することであって、前記フラグの第1の値が、前記第2のブロックの動きベクトル精度が整数ピクセル精度であることを示し、前記フラグの第2の値が、前記第2のブロックの前記動きベクトル精度が前記整数ピクセル精度または分数ピクセル精度のうちの1つであることを示す、ことと、
    前記第1のブロックに空間的に隣接する前記現在ピクチャの前記第2のブロックに対して、複数のマージ候補を有するマージ候補リストを生成することであって、前記マージ候補リストを生成することが、前記第1のブロックを復号するために使用される前記動きベクトルを前記複数のマージ候補の1つのマージ候補に対する前記マージ候補リストに追加することと、参照ピクチャインデックスを前記マージ候補に割り当てることとを含む、ことと、
    前記マージ候補リストからの前記マージ候補が前記第2のブロックを復号するために使用されることになることを示すインデックスを受信することと、
    前記マージ候補に対する前記参照ピクチャインデックスが、前記マージ候補に対する参照ピクチャとして前記第2のブロックを含む前記現在ピクチャを識別すると判断することによって、前記マージ候補がイントラブロックコピー(IBC)候補であると決定することと、
    前記マージ候補が前記IBC候補であるとの決定に応答して、前記現在ピクチャの前記第1のブロックを復号するために使用された前記第1の精度を有する前記動きベクトルを低精度に丸めて、低精度動きベクトルを決定することであって、前記第1の精度が前記低精度より高精度である、ことと、
    前記現在ピクチャ内の第2の予測ブロックを識別することによって、前記第2のブロックのためのフラグが第2の値を有することに応答して、前記低精度動きベクトルを使用してかつ補間フィルタリングを適用することなく、前記第2のブロックを予測することと
    を行うように構成される、デバイス。
  14. ビデオデータを符号化するためのデバイスであって、
    前記ビデオデータを記憶するように構成されたメモリと、
    1つまたは複数のプロセッサと
    を備え、前記1つまたは複数のプロセッサが、
    現在ピクチャの第1のブロックに対する動きベクト精度が第1の精度であると決定することであって、前記第1の精度が、整数ピクセル精度または分数ピクセル精度の1つである、ことと、
    補間された参照ピクチャ空間内の第1の予測ブロックを位置決めすることによって、前記第1の精度で動きベクトルを使用して前記現在ピクチャの第1のブロックを予測することと、
    前記第1のブロックに空間的に隣接する前記現在ピクチャの第2のブロックに対して、複数のマージ候補を有するマージ候補リストを生成することであって、前記マージ候補リストを生成することが、前記第1のブロックを符号化するために使用される前記動きベクトルを前記複数のマージ候補の1つのマージ候補に対する前記マージ候補リストに追加することと、参照ピクチャインデックスを前記マージ候補に割り当てることとを含む、ことと、
    前記マージ候補リストから前記マージ候補を選択して、前記第2のブロックを符号化することと、
    前記マージ候補に対する前記参照ピクチャインデックスが、前記マージ候補に対する参照ピクチャとして前記第2のブロックを含む前記現在ピクチャを識別すると判断することによって、前記マージ候補がイントラブロックコピー(IBC)候補であると決定することと、
    前記マージ候補が前記IBC候補であるとの決定に応答して、前記現在ピクチャの前記第1のブロックを符号化するために使用された前記第1の精度を有する前記動きベクトルを低精度に丸めて、低精度動きベクトルを決定することであって、前記第1の精度が前記低精度より高精度である、ことと、
    前記低精度動きベクトルを使用してかつ補間フィルタリングを適用することなく、前記現在ピクチャ内の前記第2のブロックに対する第2の予測ブロックを位置決めすることと、
    前記第2の予測ブロックを使用して前記第2のブロックを符号化することと、
    フラグを生成することであって、前記フラグの第1の値が、前記第2のブロックの前記動きベクトル精度が整数ピクセル精度であることを示し、前記フラグの第2の値が、前記第2のブロック用の前記動きベクトル精度が前記整数ピクセル精度または分数ピクセル精度のうちの1つであることを示す、ことと
    を行うように構成される、デバイス。
JP2018516130A 2015-10-02 2016-09-22 イントラブロックコピーマージモードおよび利用できないibc参照領域のパディング Active JP7211816B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201562236763P 2015-10-02 2015-10-02
US62/236,763 2015-10-02
US15/271,922 US10812822B2 (en) 2015-10-02 2016-09-21 Intra block copy merge mode and padding of unavailable IBC reference region
US15/271,922 2016-09-21
PCT/US2016/053112 WO2017058633A1 (en) 2015-10-02 2016-09-22 Intra block copy merge mode and padding of unavailable ibc reference region

Publications (3)

Publication Number Publication Date
JP2018530249A JP2018530249A (ja) 2018-10-11
JP2018530249A5 JP2018530249A5 (ja) 2019-10-17
JP7211816B2 true JP7211816B2 (ja) 2023-01-24

Family

ID=57068230

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018516130A Active JP7211816B2 (ja) 2015-10-02 2016-09-22 イントラブロックコピーマージモードおよび利用できないibc参照領域のパディング

Country Status (9)

Country Link
US (1) US10812822B2 (ja)
EP (1) EP3357246A1 (ja)
JP (1) JP7211816B2 (ja)
KR (1) KR102295418B1 (ja)
CN (1) CN108141605B (ja)
AU (1) AU2016332326A1 (ja)
BR (1) BR112018006627A2 (ja)
TW (1) TWI719053B (ja)
WO (1) WO2017058633A1 (ja)

Families Citing this family (80)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10812822B2 (en) * 2015-10-02 2020-10-20 Qualcomm Incorporated Intra block copy merge mode and padding of unavailable IBC reference region
KR20180043151A (ko) * 2016-10-19 2018-04-27 에스케이텔레콤 주식회사 영상 부호화 또는 복호화를 위한 장치 및 방법
US11272207B2 (en) * 2017-06-12 2022-03-08 Futurewei Technologies, Inc. Selection and signaling of motion vector (MV) precisions
US10798402B2 (en) * 2017-10-24 2020-10-06 Google Llc Same frame motion estimation and compensation
EP3711299A1 (en) * 2017-11-14 2020-09-23 Qualcomm Incorporated Unified merge candidate list usage
CN111971963A (zh) * 2018-03-29 2020-11-20 华为技术有限公司 图像编码和解码、图像编码器以及图像解码器
US10462483B1 (en) * 2018-04-26 2019-10-29 Tencent America LLC Method and apparatus for video coding
CN116668678A (zh) * 2018-05-10 2023-08-29 Lg电子株式会社 图像编解码方法、计算机可读存储介质和数据发送方法
WO2019225788A1 (ko) * 2018-05-25 2019-11-28 라인플러스 주식회사 복수의 채널을 이용하여 동적 비트레이트의 비디오를 송출 및 재생하는 방법 및 시스템
CN110620929B (zh) 2018-06-19 2023-04-18 北京字节跳动网络技术有限公司 没有运动矢量预测截断的选择的运动矢量差精度
WO2020001578A1 (en) 2018-06-28 2020-01-02 Huawei Technologies Co., Ltd. Motion vector refinement search with integer pixel resolution
EP3791586A1 (en) 2018-06-29 2021-03-17 Beijing Bytedance Network Technology Co. Ltd. Concept of using one or multiple look up tables to store motion information of previously coded in order and use them to code following blocks
CN110662043B (zh) 2018-06-29 2021-12-21 北京字节跳动网络技术有限公司 一种用于处理视频数据的方法、装置和计算机可读介质
TWI728390B (zh) 2018-06-29 2021-05-21 大陸商北京字節跳動網絡技術有限公司 查找表尺寸
EP3791585A1 (en) 2018-06-29 2021-03-17 Beijing Bytedance Network Technology Co. Ltd. Partial/full pruning when adding a hmvp candidate to merge/amvp
CN110662052B (zh) 2018-06-29 2022-07-08 北京字节跳动网络技术有限公司 更新查找表(lut)的条件
TWI731360B (zh) 2018-06-29 2021-06-21 大陸商北京字節跳動網絡技術有限公司 查找表的使用條件
EP4322533A3 (en) 2018-06-29 2024-03-06 Beijing Bytedance Network Technology Co., Ltd. Checking order of motion candidates in lut
SG11202012293RA (en) * 2018-06-29 2021-01-28 Beijing Bytedance Network Technology Co Ltd Update of look up table: fifo, constrained fifo
WO2020008349A1 (en) * 2018-07-02 2020-01-09 Beijing Bytedance Network Technology Co., Ltd. Merge index coding
US11057617B2 (en) * 2018-08-03 2021-07-06 Tencent America LLC Method and apparatus for video coding
CN110868601B (zh) * 2018-08-28 2024-03-15 华为技术有限公司 帧间预测方法、装置以及视频编码器和视频解码器
KR20230164769A (ko) 2018-09-07 2023-12-04 후아웨이 테크놀러지 컴퍼니 리미티드 비디오 코딩에서 인트라 예측 및 인터 예측을 위한 보간 필터링 방법 및 장치
WO2020053800A1 (en) 2018-09-12 2020-03-19 Beijing Bytedance Network Technology Co., Ltd. How many hmvp candidates to be checked
EP4325859A3 (en) 2018-09-19 2024-05-15 Beijing Bytedance Network Technology Co., Ltd. Syntax reuse for affine mode with adaptive motion vector resolution
US10764601B2 (en) * 2018-10-06 2020-09-01 Tencent America LLC Method and apparatus for video coding
WO2020076034A1 (ko) * 2018-10-08 2020-04-16 에스케이텔레콤 주식회사 현재 픽처 참조 모드를 이용한 예측 방법 및 영상 복호화 장치
KR20200040179A (ko) * 2018-10-08 2020-04-17 에스케이텔레콤 주식회사 현재 픽처 참조 모드를 이용한 예측 방법 및 영상 복호화 장치
SG11202103661XA (en) * 2018-10-10 2021-05-28 Huawei Tech Co Ltd Inter prediction method and apparatus
KR20210087450A (ko) 2018-11-06 2021-07-12 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 기하학적 파티션을 이용한 인터 예측을 위한 사이드 정보 시그널링
CN113016187B (zh) 2018-11-07 2023-06-06 寰发股份有限公司 利用当前画面参照编码方式的视频区块编码或解码方法和装置
SG11202104749RA (en) * 2018-11-08 2021-06-29 Guangdong Oppo Mobile Telecommunications Corp Ltd Image signal encoding/decoding method and apparatus therefor
SG11202104427RA (en) 2018-11-08 2021-05-28 Guangdong Oppo Mobile Telecommunications Corp Ltd Video signal encoding and decoding method, and apparatus therefor
WO2020103933A1 (en) 2018-11-22 2020-05-28 Beijing Bytedance Network Technology Co., Ltd. Configuration method for default motion candidate
CN113170108A (zh) * 2018-11-27 2021-07-23 Op方案有限责任公司 使用显式和隐式信令对不可用参考帧进行自适应块更新
US10999594B2 (en) 2018-12-20 2021-05-04 Qualcomm Incorporated Virtual search area for current picture referencing (CPR) and intra block copy (IBC)
CN113261290B (zh) * 2018-12-28 2024-03-12 北京字节跳动网络技术有限公司 基于修改历史的运动预测
US11902566B2 (en) * 2018-12-28 2024-02-13 Telefonaktiebolaget Lm Ericsson (Publ) Generating a motion vector predictor list
WO2020140862A1 (en) 2018-12-30 2020-07-09 Beijing Bytedance Network Technology Co., Ltd. Conditional application of inter prediction with geometric partitioning in video processing
WO2020141932A1 (ko) * 2019-01-04 2020-07-09 엘지전자 주식회사 Cpr 기반 mmvd를 이용하는 인터 예측 방법 및 장치
US11240518B2 (en) * 2019-01-06 2022-02-01 Tencent America LLC Method and apparatus for video coding
JP7275286B2 (ja) 2019-01-10 2023-05-17 北京字節跳動網絡技術有限公司 Lut更新の起動
WO2020143824A1 (en) 2019-01-13 2020-07-16 Beijing Bytedance Network Technology Co., Ltd. Interaction between lut and shared merge list
WO2020147772A1 (en) 2019-01-16 2020-07-23 Beijing Bytedance Network Technology Co., Ltd. Motion candidates derivation
US11683501B2 (en) 2019-01-17 2023-06-20 Tencent America LLC Method and apparatus for video coding
US10904557B2 (en) * 2019-01-22 2021-01-26 Tencent America LLC Method and apparatus for video coding
EP3900357A4 (en) 2019-02-02 2022-06-08 Beijing Bytedance Network Technology Co., Ltd. BUFFER INITIALIZATION FOR INTRA BLOCK COPY IN VIDEO ENCODING
WO2020156549A1 (en) * 2019-02-02 2020-08-06 Beijing Bytedance Network Technology Co., Ltd. Buffer access methods for intra block copy in video coding
US11595662B2 (en) 2019-02-06 2023-02-28 Tencent America LLC Method and apparatus for neighboring block availability in video coding
CN113424526A (zh) * 2019-02-17 2021-09-21 北京字节跳动网络技术有限公司 帧内块复制模式的应用性的限制
US11122260B2 (en) 2019-02-22 2021-09-14 Mediatek Inc. Method and apparatus of Merge list generation for Intra Block Copy mode
CN112514380A (zh) 2019-02-26 2021-03-16 株式会社 Xris 用于对视频信号进行编码/解码的方法及其设备
CN117395439A (zh) 2019-03-01 2024-01-12 北京字节跳动网络技术有限公司 用于视频编解码中的帧内块复制的基于方向的预测
KR20210125506A (ko) 2019-03-04 2021-10-18 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 비디오 코딩에서 인트라 블록 복사를 위한 버퍼 관리
WO2020180097A1 (ko) * 2019-03-04 2020-09-10 엘지전자 주식회사 인트라 블록 코딩 기반 비디오 또는 영상 코딩
KR102621959B1 (ko) * 2019-03-04 2024-01-05 후아웨이 테크놀러지 컴퍼니 리미티드 임의의 ctu 크기에 대한 ibc 검색 범위 최적화를 사용하는 인코더, 디코더 및 대응하는 방법
JP7477066B2 (ja) 2019-03-04 2024-05-01 ホアウェイ・テクノロジーズ・カンパニー・リミテッド Ibcマージリストを使用するエンコーダ、デコーダ、及び対応する方法
US11012686B2 (en) 2019-03-08 2021-05-18 Tencent America LLC Unified block vector prediction for intra picture block compensation
WO2020182113A1 (en) * 2019-03-10 2020-09-17 Beijing Bytedance Network Technology Co., Ltd. Combined screen content coding mode
WO2020192611A1 (en) 2019-03-22 2020-10-01 Beijing Bytedance Network Technology Co., Ltd. Interaction between merge list construction and other tools
CN116506609B (zh) * 2019-04-09 2024-03-15 北京达佳互联信息技术有限公司 用于在视频编码中用信号发送合并模式的方法和装置
US11394990B2 (en) 2019-05-09 2022-07-19 Tencent America LLC Method and apparatus for signaling predictor candidate list size
WO2020227892A1 (en) * 2019-05-13 2020-11-19 Alibaba Group Holding Limited Non-local intra block copy and parallel coding for motion prediction
WO2020244571A1 (en) * 2019-06-04 2020-12-10 Beijing Bytedance Network Technology Co., Ltd. Motion candidate list construction using neighboring block information
JP7446339B2 (ja) 2019-06-04 2024-03-08 北京字節跳動網絡技術有限公司 幾何学的分割モードコーディングを用いた動き候補リスト
US11070816B2 (en) 2019-06-18 2021-07-20 Tencent America LLC Conversion of decoded block vector for intra picture block compensation
CN114128279A (zh) * 2019-06-21 2022-03-01 Jvc建伍株式会社 动图像编码装置、动图像编码方法及动图像编码程序、动图像解码装置、动图像解码方法及动图像解码程序
WO2020259426A1 (en) * 2019-06-22 2020-12-30 Beijing Bytedance Network Technology Co., Ltd. Motion candidate list construction for intra block copy mode
US11146808B2 (en) 2019-06-27 2021-10-12 Tencent America LLC Method and apparatus for video coding
KR20230170800A (ko) 2019-07-06 2023-12-19 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 비디오 코딩에서 인트라 블록 카피를 위한 가상 예측 버퍼
BR112022000358A2 (pt) * 2019-07-10 2022-05-10 Beijing Bytedance Network Tech Co Ltd Método e aparelho para processar dados de vídeo e meios de armazenamento e gravação não transitórios legíveis por computador
KR20220030957A (ko) 2019-07-11 2022-03-11 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 비디오 코딩에서 인트라 블록 카피를 위한 비트스트림 적합 제약
US11218727B2 (en) * 2019-07-11 2022-01-04 Tencent America LLC Method and apparatus for predictor candidate list size signaling for intra picture block compensation
CN117354547A (zh) 2019-07-14 2024-01-05 北京字节跳动网络技术有限公司 自适应参数集中的自适应环路滤波的指示
CN114450959A (zh) 2019-09-28 2022-05-06 北京字节跳动网络技术有限公司 视频编解码中的几何分割模式
US11240524B2 (en) * 2019-11-27 2022-02-01 Mediatek Inc. Selective switch for parallel processing
CN111586415B (zh) * 2020-05-29 2022-01-04 浙江大华技术股份有限公司 视频编码方法、装置、编码器及存储装置
CN112004099B (zh) * 2020-07-30 2021-08-03 浙江大华技术股份有限公司 一种帧内块复制预测方法、装置及计算机可读存储介质
US20230217013A1 (en) * 2022-01-04 2023-07-06 FG Innovation Company Limited Device and method for decoding video data
US11849129B2 (en) * 2022-03-18 2023-12-19 Qualcomm Incorporated Intra-block copy decoding using dynamic re-mapping of on-chip memory

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017532885A (ja) 2014-09-26 2017-11-02 ヴィド スケール インコーポレイテッド 時間ブロックベクトル予測を用いたイントラブロックコピー符号化

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003189312A (ja) * 2001-12-20 2003-07-04 Oki Electric Ind Co Ltd 動画像符号化装置及び動画像復号化装置
TWI566586B (zh) * 2009-10-20 2017-01-11 湯姆生特許公司 一序列形象的現時區塊之寫碼方法和重建方法
US8755438B2 (en) * 2010-11-29 2014-06-17 Ecole De Technologie Superieure Method and system for selectively performing multiple video transcoding operations
EP2698999B1 (en) * 2011-04-12 2017-01-04 Sun Patent Trust Motion-video encoding method, motion-video encoding apparatus, motion-video decoding method, motion-video decoding apparatus, and motion-video encoding/decoding apparatus
US9131239B2 (en) * 2011-06-20 2015-09-08 Qualcomm Incorporated Unified merge mode and adaptive motion vector prediction mode candidates selection
JP2013098899A (ja) * 2011-11-04 2013-05-20 Sony Corp 符号化装置および符号化方法、並びに、復号装置および復号方法
JP5821542B2 (ja) 2011-11-07 2015-11-24 富士通株式会社 動画像符号化装置、および動画像復号装置
BR112014013969B1 (pt) * 2011-12-28 2022-05-10 JVC Kenwood Corporation Dispositivo de codificação de vídeo, método de codificação de vídeo, programa de codificação de vídeo, dispositivo de decodificação de vídeo, método de decodificação de vídeo, programa de decodificação de vídeo
JPWO2013111551A1 (ja) 2012-01-27 2015-05-11 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America 動画像符号化方法、動画像符号化装置、動画像復号方法、および、動画像復号装置
US9544592B2 (en) 2012-02-10 2017-01-10 Texas Instruments Incorporated Methods and systems for encoding pictures associated with video data
US9479778B2 (en) * 2012-08-13 2016-10-25 Qualcomm Incorporated Device and method for coding video information using base layer motion vector candidate
CN104704837A (zh) 2012-10-03 2015-06-10 联发科技股份有限公司 三维视频编码中的元素间运动预测的方法及装置
EP2966868B1 (en) * 2012-10-09 2018-07-18 HFI Innovation Inc. Method for motion information prediction and inheritance in video coding
US9948951B2 (en) * 2012-12-26 2018-04-17 Sharp Kabushiki Kaisha Image decoding device which generates a predicted image of a target prediction unit
WO2014103529A1 (ja) * 2012-12-28 2014-07-03 シャープ株式会社 画像復号装置、およびデータ構造
WO2015093565A1 (ja) * 2013-12-19 2015-06-25 シャープ株式会社 画像復号装置、画像符号化装置および残差予測装置
JP6441236B2 (ja) * 2013-12-19 2018-12-19 シャープ株式会社 画像復号装置及び画像符号化装置
CN105874789B (zh) * 2014-01-29 2019-10-29 联发科技股份有限公司 利用自适应运动向量精度的方法
CN111432220B (zh) * 2014-06-19 2022-05-06 Vid拓展公司 采用块向量导出的帧内块复制编码的方法和***
CA2961681C (en) * 2014-09-30 2022-08-09 Hfi Innovation Inc. Method of adaptive motion vetor resolution for video coding
US9918105B2 (en) * 2014-10-07 2018-03-13 Qualcomm Incorporated Intra BC and inter unification
WO2016078599A1 (en) * 2014-11-20 2016-05-26 Mediatek Inc. Method of motion vector and block vector resolution control
WO2016138513A1 (en) * 2015-02-27 2016-09-01 Arris Enterprises, Inc. Modification of unification of intra block copy and inter signaling related syntax and semantics
US10812822B2 (en) * 2015-10-02 2020-10-20 Qualcomm Incorporated Intra block copy merge mode and padding of unavailable IBC reference region
US10560718B2 (en) * 2016-05-13 2020-02-11 Qualcomm Incorporated Merge candidates for motion vector prediction for video coding

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017532885A (ja) 2014-09-26 2017-11-02 ヴィド スケール インコーポレイテッド 時間ブロックベクトル予測を用いたイントラブロックコピー符号化

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
CHUANG, Tzu-Der et al.,CE2-related: Temporal BV merge mode on CE2 Test-1 and Test-7,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 20th Meeting: Geneva, CH, 10 - 18 Feb. 2015, [JCTVC-T0057],2015年2月11日,JCTVC-T0057 (version 3),pp. 1-11
LI, Bin and XU, Jizheng,CE2: results of test 3.1 and 6.1,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 20th Meeting: Geneva, CH, 10 - 18 Feb. 2015, [JCTVC-T0040],2015年1月30日,JCTVC-T0040 (version 1),pp. 1-23
PANG, Chao et al.,Non-CE2: Intra block copy and Inter signaling unification,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 19th Meeting: Strasbourg, FR, 17-24 Oct. 2014, [JCTVC-S0302],JCTVC-S0302 (version 1),2014年10月22日,pp.1-5
PANG, Chao et al.,Non-CE2: Intra block copy with Inter signaling,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 19th Meeting: Strasbourg, FR, 17-24 Oct. 2014, [JCTVC-S0113-v4],2014年10月21日,JCTVC-S0113 (version 4),pp.1-3

Also Published As

Publication number Publication date
JP2018530249A (ja) 2018-10-11
BR112018006627A2 (pt) 2018-10-23
TWI719053B (zh) 2021-02-21
KR102295418B1 (ko) 2021-08-27
CN108141605B (zh) 2022-01-04
TW201714455A (zh) 2017-04-16
WO2017058633A1 (en) 2017-04-06
EP3357246A1 (en) 2018-08-08
AU2016332326A1 (en) 2018-03-29
KR20180063094A (ko) 2018-06-11
US20170099495A1 (en) 2017-04-06
US10812822B2 (en) 2020-10-20
CN108141605A (zh) 2018-06-08

Similar Documents

Publication Publication Date Title
JP7211816B2 (ja) イントラブロックコピーマージモードおよび利用できないibc参照領域のパディング
US11051034B2 (en) History-based motion vector predictor
US11431968B2 (en) Variable number of intra modes for video coding
US10771811B2 (en) Overlapped motion compensation for video coding
JP7000565B2 (ja) ビデオコーディングのためのアフィン予測動き情報をコーディングすること
CN111567043B (zh) 对视频数据进行译码的方法、装置和计算机可读存储介质
JP6378433B2 (ja) イントラbcとインター予測の統合のためのamvpおよびマージ候補リスト導出
KR102051718B1 (ko) 병렬 프로세싱을 위한 인트라 블록 복사 예측 제한들
KR101963054B1 (ko) 인트라 bc 및 인터 단일화
KR20190008230A (ko) 비디오 코딩에서 적응적 루프 필터링에서의 다중 필터들의 혼동
US20130272411A1 (en) Scalable video coding prediction with non-causal information
US20170244966A1 (en) Weighted prediction for screen content coding and multi-layer coding
JP2015510358A (ja) Bスライス中の予測単位の単方向インター予測への制限
KR20220136502A (ko) 비디오 코딩을 위한 서브-블록 시간적 움직임 벡터 예측
JP2024501137A (ja) ビデオコーディングにおけるテンプレートマッチング

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190904

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190904

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200908

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201019

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210419

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20211122

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220318

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20220318

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20220404

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20220411

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20220527

C211 Notice of termination of reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C211

Effective date: 20220606

C22 Notice of designation (change) of administrative judge

Free format text: JAPANESE INTERMEDIATE CODE: C22

Effective date: 20220801

C22 Notice of designation (change) of administrative judge

Free format text: JAPANESE INTERMEDIATE CODE: C22

Effective date: 20220912

C302 Record of communication

Free format text: JAPANESE INTERMEDIATE CODE: C302

Effective date: 20221019

C13 Notice of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: C13

Effective date: 20221024

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221102

C302 Record of communication

Free format text: JAPANESE INTERMEDIATE CODE: C302

Effective date: 20221114

C23 Notice of termination of proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C23

Effective date: 20221121

C03 Trial/appeal decision taken

Free format text: JAPANESE INTERMEDIATE CODE: C03

Effective date: 20221219

C30A Notification sent

Free format text: JAPANESE INTERMEDIATE CODE: C3012

Effective date: 20221219

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230112

R150 Certificate of patent or registration of utility model

Ref document number: 7211816

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150