JP2017511620A - オーバーラップエリア内の再構成されたサンプル値のブロックベクトル予測及び推定におけるイノベーション - Google Patents

オーバーラップエリア内の再構成されたサンプル値のブロックベクトル予測及び推定におけるイノベーション Download PDF

Info

Publication number
JP2017511620A
JP2017511620A JP2016544439A JP2016544439A JP2017511620A JP 2017511620 A JP2017511620 A JP 2017511620A JP 2016544439 A JP2016544439 A JP 2016544439A JP 2016544439 A JP2016544439 A JP 2016544439A JP 2017511620 A JP2017511620 A JP 2017511620A
Authority
JP
Japan
Prior art keywords
value
block
values
prediction
encoder
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.)
Granted
Application number
JP2016544439A
Other languages
English (en)
Other versions
JP6719379B2 (ja
JP2017511620A5 (ja
Inventor
ズー,リフア
ジェイ. サリヴァン,ゲイリー
ジェイ. サリヴァン,ゲイリー
ウ,ヨンジュン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2017511620A publication Critical patent/JP2017511620A/ja
Publication of JP2017511620A5 publication Critical patent/JP2017511620A5/ja
Application granted granted Critical
Publication of JP6719379B2 publication Critical patent/JP6719379B2/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
    • 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/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • 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
    • 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/124Quantisation
    • 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/167Position within a video image, e.g. region of interest [ROI]
    • 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/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
    • 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/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
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • 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/583Motion compensation with overlapping blocks
    • 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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • 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/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Abstract

イントラブロックコピー(“BC”)予測モードのためのエンコーダ側オプションにおけるイノベーションが、エンコーディングのレート歪み性能及び/又は計算効率の観点においてより効率的であるイントラBC予測を容易にする。例えば、イノベーションのうちいくつかは、ブロックベクトル推定の間における現在のブロックのオーバーラップエリア内のサンプル値の推定に関する。別のイノベーションが、「ピンポン」アプローチを用いたエンコーディング及びデコーディングの間におけるブロックベクトル(“BV”)値の予測に関する。

Description

エンジニアは、圧縮(ソースコーディング又はソースエンコーディングとも呼ばれる)を使用して、デジタルビデオのビットレートを低減させる。圧縮は、ビデオ情報をより低いビットレート形式にコンバートすることによって、該情報を記憶し及び送信することのコストを減らす。伸張(デコーディングとも呼ばれる)は、圧縮された形式から、元の情報のあるバージョンを再構成する。「コーデック」は、エンコーダ/デコーダシステムである。
この20年を通じて、様々なビデオコーデック標準が採用されてきており、ITU‐T H.261、H.262(MPEG‐2又はISO/IEC13818‐2)標準、H.263及びH.264(MPEG‐4AVC又はISO/IEC14496‐10)標準、MPEG‐1(ISO/IEC11172‐2)及びMPEG‐4Visual(ISO/IEC14496‐2)標準、SMPTE421M(VC‐1)標準が含まれる。最近では、HEVC標準(ITU‐T H.265又はISO/IEC23008‐2)が承認されている。HEVC標準に対するエクステンション(例えば、スケーラブルビデオコーディング/デコーディングのための、あるいはサンプルビット深度又はクロマサンプリングレートの観点においてより高い忠実度を有するビデオのコーディング/デコーディングのための、あるいはマルチビューコーディング/デコーディングのための)が、現在開発下にある。ビデオコーデック標準は典型的に、エンコードされるビデオビットストリームのシンタックスについてのオプションを定義し、特定の特徴がエンコーディング及びデコーディングにおいて使用されるときにビットストリームの中のパラメータを詳述する。多くの場合において、ビデオコーデック標準は、デコーディングにおいて合致する結果を達成するためにデコーダが実行すべきであるデコーディング動作に関する詳細をさらに提供する。コーデック標準の他に、様々な独自コーデックフォーマットが、エンコードされるビデオビットストリームのシンタックスと対応するデコーディング動作とについての他のオプションを定義している。
イントラブロックコピー(“BC”)は、HEVCエクステンションに関する開発下の予測モードである。イントラBC予測モードについて、ピクチャの現在のブロックのサンプル値は、同じピクチャの中の事前に再構成されたサンプル値を用いて予測される。ブロックベクトル(“BV”)が、予測に使用される事前に再構成されたサンプル値を含むピクチャの領域に対する、現在ブロックからの変位を示す。BVは、ビットストリーム内で信号伝達される。イントラBC予測は、ピクチャ内予測の一形態であり、ピクチャのブロックのイントラBC予測は、同じピクチャの中のサンプル値以外のいかなるサンプル値も使用しない。
現在、HEVC標準に対するドラフトのエクステンションにおいて規定され、HEVC標準に対するドラフトのエクステンションに対するいくつかの参照ソフトウェアにおいて実装されるとおり、イントラBC予測モードはいくつかの問題を有する。例えば、イントラBC予測を如何にして使用するかに関するエンコーダ側の判断が、効率的に行われない。別の例として、多くのシナリオにおいて、BV値が効率的に信号伝達されない。
要約すると、発明の詳細は、イントラブロックコピー(“BC”)予測モードのエンコーダ側動作におけるイノベーションを提示する。例えば、イノベーションのいくつかは、ブロックベクトル(“BV”)推定の間に現在のブロックのオーバーラップエリア内で再構成されたサンプル値を推定する方法に関する。別のイノベーションが、「ピンポン」アプローチを用いたエンコーディング又はデコーディングの間のBV値の予測に関し、これにおいて、エンコーダ又はデコーダは、ブロックのBV値を予測するとき、候補BV値のペア間で選択する。
本明細書に説明されるイノベーションの一態様に従い、エンコーダ又はデコーダが現在のピクチャの符号化ユニット(“CU”)を処理し、これにおいて、CUは4つの予測ユニット(“PU”)を有する。CUは、一般に、エンコーディング及びデコーディングの目的のための1つ以上のブロックのセットであり、PUの各々は、予測情報及び/又は予測処理を信号伝達する目的のための、CU内の1つ以上のブロックのセットである。4つのPUの各々について、エンコーダ又はデコーダは、(1)候補BV値のペアのうち1つを用いてBV値を予測し、これにおいてフラグ値が候補BV値のペア間における選択を示し、(2)予測されたBV値を用いてPUのBV値を処理する。候補BV値のペアは、CUの異なるPUについて、異なり得る。例えば、第1のPUについて、候補BV値のペアは、第1の初期候補BV値(BVinit_0とラベル付けされる)及び第2の初期候補BV値(BVinit_1とラベル付けられる)を含む。第2のPUについて、候補BV値のペアは、第1のPUのためのBV値とBVinit_0とを含む。第3のPUについて、候補BV値のペアは、現在のCUの第1及び第2のPUのためのBV値を含む。最後、第4のPUについて、候補BV値のペアは、現在のCUの第2及び第3のPUのためのBV値を含む。しかしながら、現在のピクチャの後のCUについて、候補BV値のペアは、(現在のCUの第1及び第2のPUのためのBV値が、現在のCUの第3及び第4のPUのためのBV値の前に処理されたにもかかわらず、)現在のCUの第1及び第2のPUのためのBV値を含む。
本明細書に説明されるイノベーションの別の態様に従い、エンコーダ又はデコーダが現在のピクチャの複数のCUを処理する。CUのうち少なくとも1つが単一のPUを有し、CUのうち少なくとも1つが複数のPUを有する。複数のCUのうちの所与のCUについて、この所与のCUが単一のPUを有する場合、エンコーダ又はデコーダは、(1)候補BV値のペア(第1のBVバッファに記憶された第1の初期候補BV値と、第2のBVバッファに記憶された第2の初期候補BV値とを含む)のうち1つを用いてBV値を予測し、これにおいてフラグ値が候補BV値のペア間における選択を示し、(2)予測されたBV値を用いて単一のPUのためのBV値を処理する。こうすることにおいて、エンコーダ又はデコーダは、PUのBV値が第1のBVバッファに記憶されたBV値に等しいかどうかに依存して、第1のBVバッファ及び第2のBVバッファを選択的に更新する。
そうでない場合(所与のCUが複数のPUを有する)、PUの各々について、エンコーダ又はデコーダは、(1)候補BV値のペアのうち1つを用いてBV値を予測し、これにおいてフラグ値が候補BV値のペア間における選択を示し、(2)予測されたBV値を用いてPUのBV値を処理する。候補BV値のペアは、異なるPUについて、異なることが可能である。PUが所与のCUの第1又は第2のPUである場合、エンコーダ又はデコーダは、PUのBV値が第1のBVバッファに記憶されたBV値に等しいかどうかに依存して、第1のBVバッファ及び第2のBVバッファを選択的に更新する。所与のCUの第3のPU又は第4のPUについて、エンコーダはBVバッファを更新することをスキップする。
本明細書に説明されるイノベーションの別の態様に従い、エンコーダが、ピクチャの現在のブロックのオーバーラップエリア内の再構成されたサンプル値を推定する。現在のブロックは、複数のより小さいブロックを有する。オーバーラップエリアは、複数のより小さいブロックのうち少なくとも1つについての潜在的なイントラ予測領域内である、現在のブロックの一部をカバーする。それから、エンコーダは、BV推定を実行して、現在のブロックのBV値を決定する。BV推定は、現在のブロックのオーバーラップエリア内の推定された再構成されたサンプル値のうち少なくともいくつかを使用する。
イントラBC予測モードのためのBV予測及びエンコーダ側オプションのイノベーションは、方法の一部として、あるいは方法を実行するように適合されたコンピューティング装置の一部として、あるいはコンピューティング装置に方法を実行させるコンピュータ実行可能命令を記憶した有形コンピュータ可読媒体の一部として実施されることができる。様々なイノベーションが、組み合わせにおいて又は別個に使用されることができる。
本発明に係る前述及び他の目的、特徴、及び利点は、添付図面を参照して進む下記の詳細な説明からより明らかになるであろう。
いくつかの説明される実施形態が実施されることが可能な一例示的なコンピューティングシステムの図である。 いくつかの説明される実施形態が実施されることが可能な例示的なネットワーク環境の図である。 いくつかの説明される実施形態が実施されることが可能な例示的なネットワーク環境の図である。 一例示的なエンコーダシステムの図であり、該エンコーダシステムと関連して、いくつかの説明される実施形態が実施されることができる。 一例示的なデコーダシステムの図であり、該デコーダシステムと関連して、いくつかの説明される実施形態が実施されることができる。 一例示的なビデオエンコーダを例示する図であり、該ビデオエンコーダと関連して、いくつかの説明される実施形態が実施されることができる。 一例示的なビデオエンコーダを例示する図であり、該ビデオエンコーダと関連して、いくつかの説明される実施形態が実施されることができる。 一例示的なビデオデコーダを例示する図であり、該ビデオデコーダと関連して、いくつかの説明される実施形態が実施されることができる。 ピクチャのブロックのためのイントラBC予測を例示する図である。 BV値の検索範囲に対する例示的な制約を例示する図である。 BV値の選択に対する1つ以上の制約にさらされた、イントラBC予測モードでエンコードする一般化された手法を例示するフローチャートである。 ピクチャのブロックの例示的なzスキャンオーダを例示する図である。 BVバッファの中の候補BV値を例示する図である。 別のデータ構造の中の候補BV値を例示する図である。 例示的なピンポンアプローチに従う、2N×2N CUの、2N×2N PUのためのBV予測の一例を示す図である。 例示的なピンポンアプローチに従う、2N×2N CUの、N×N PUのためのBV予測の例を示す図である。 例示的なピンポンアプローチに従う、2N×2N CUの、N×2N PU又は2N×N PUのためのBV予測の例を示す図である。 例示的なピンポンアプローチに従う、複数のPUを有するCUのためのBV値を予測する一例示的な手法を例示するフローチャートである。 例示的なピンポンアプローチに従う、CUのBV値を予測する一例示的な手法を例示するフローチャートである。 BV推定の間に複数のブロックをより大きいブロックに選択的にマージする一般化された手法を例示するフローチャートである。 BV推定の間に複数のブロックをより大きいブロックに選択的にマージすることの利点を例示するフローチャートである。 同時的にBV推定を実行し、ブロックのブロック分割判断を行う一般化された手法を例示するフローチャートである。 同時的に候補BV値とブロックのブロック分割判断とを評価する一例示的な手法を例示するフローチャートである。 BV推定の間の現在のブロックのオーバーラップエリアを例示する図である。 BV推定の間の現在のブロックのオーバーラップエリアを例示する図である。 エンコーダがオーバーラップエリア内で再構成されたサンプル値を推定するBV推定の一例示的な手法を例示するフローチャートである。 BV推定の間のYUV4:2:2フォーマットにおけるビデオの、最小変換サイズを有するブロックのオーバーラップエリアを例示する図である。
本詳細な説明は、エンコーディング及びデコーディングの間のブロックベクトル(“BV”)予測におけるイノベーション、並びにエンコーディングの間のイントラブロックコピー(“BC”)予測モードのためのエンコーダ側判断におけるイノベーションを提示する。具体的に、本詳細な説明は、BV推定の間に現在のブロックのオーバーラップエリア内のサンプル値を推定するイノベーションを提示する。本詳細な説明は、さらに、「ピンポン(ping-pong)」アプローチを用いたエンコーディング及びデコーディングの間のBV予測のイノベーションを提示し、該イノベーションに従い、エンコーダ又はデコーダは、ブロックのBV値を予測するとき、候補BV値のペア間において選択する。
本明細書に説明される動作は、所々で、ビデオエンコーダ又はビデオデコーダにより実行されるものとして説明されるが、多くの場合において、上記動作は、別のタイプのメディア処理ツール(例えば、画像エンコーダ又は画像デコーダ)により実行されることが可能である。
本明細書に説明されるイノベーションのいくつかは、HEVC標準に固有のシンタックス要素及び動作を参照して例示される。例えば、HEVC標準のドラフトバージョンJCTVC‐O1005、“High Efficiency Video Coding(HEVC) Range Extensions Text Specification:Draft 5”、JCTVC‐O1005‐v3、2013年11月に対して、参照が行われる。本明細書に説明されるイノベーションは、さらに、他の標準又はフォーマットのために実施されることが可能である。
より一般的に、本明細書に説明される例に対する様々な代替物があり得る。例えば、本明細書に説明される方法のいくつかは、特定の方法動作を分割し、繰り返し、又は省略することなどにより、説明される方法動作の順序付けを変更することによって変えられることが可能である。開示されるテクノロジーの様々な態様が、組み合わせにおいて又は別個に使用されることができる。種々の実施形態が、説明されるイノベーションの1つ以上を使用する。本明細書に説明されるイノベーションのいくつかは、背景技術において記された問題のうち1つ以上に対処する。典型的に、所与の手法/ツールは、すべての上記の問題を解決するものではない。
I.例示的なコンピューティングシステム
図1は、説明されるイノベーションのいくつかが実施され得る適切なコンピューティングシステム(100)の一般化された一例を例示する。イノベーションは、多様な汎用目的又は特別目的コンピューティングシステムにおいて実施され得るので、コンピューティングシステム(100)は、使用法又は機能性の範囲に関していかなる限定も示唆するものではない。
図1を参照すると、コンピューティングシステム(100)は、1つ以上の処理ユニット(110、115)、及びメモリ(120、125)を含む。処理ユニット(110、115)は、コンピュータ実行可能命令を実行する。処理ユニットは、汎用目的中央処理ユニット(“CPU”)、特定用途向け集積回路(“ASIC”)におけるプロセッサ、又は任意の他のタイプのプロセッサであり得る。マルチプロセシングシステムにおいて、複数の処理ユニットが、コンピュータ実行可能命令を実行して処理パワーを増大させる。例えば、図1は、中央処理ユニット(110)と、グラフィクス処理ユニット又はコプロセシングユニット(115)とを示す。有形メモリ(120、125)は、処理ユニットによりアクセス可能な揮発性メモリ(例えば、レジスタ、キャッシュ、RAM)、不揮発性メモリ(例えば、ROM、EEPROM、フラッシュメモリ等)、又は上記2つの何らかの組み合わせであり得る。メモリ(120、125)は、BV予測のための1つ以上のイノベーションを実施し、及び/又はBV推定の間に現在のブロックのオーバーラップエリア内のサンプル値を推定するソフトウェア(180)、又はイントラBC予測モードのための他のエンコーダ側オプションを、処理ユニットによる実行に適したコンピュータ実行可能命令の形式において記憶する。
コンピューティングシステムは、さらなる特徴を有し得る。例えば、コンピューティングシステム(100)は、記憶装置(140)、1つ以上の入力装置(150)、1つ以上の出力装置(160)、及び1つ以上の通信接続(170)を含む。相互接続メカニズム(図示されていない)、例えば、バス、コントローラ、又はネットワークなどが、コンピューティングシステム(100)のコンポーネントを相互接続する。典型的に、オペレーティングシステムソフトウェア(図示されていない)が、コンピューティングシステム(100)において実行される他のソフトウェアのための動作環境を提供し、コンピューティングシステム(100)のコンポーネントのアクティビティを調整する。
有形記憶装置(140)は、取外し可能又は取外し不能であることが可能であり、磁気ディスク、磁気テープ若しくはカセット、CD‐ROM、DVD、又は、情報を記憶することに使用されることが可能でありコンピューティングシステム(100)内でアクセスされることが可能である任意の他の媒体を含む。記憶装置(140)は、BV予測のための1つ以上のイノベーションを実施し、及び/又はBV推定の間に現在のブロックのオーバーラップエリア内のサンプル値を推定するソフトウェア(180)、又はイントラBC予測モードのための他のエンコーダ側オプションの命令を記憶する。
入力装置(150)は、キーボード、マウス、ペン、若しくはトラックボールなどのタッチ入力装置、音声入力装置、スキャニング装置、又は、コンピューティングシステム(100)に対する入力を提供する別の装置であり得る。ビデオについて、入力装置(150)は、カメラ、ビデオカード、TVチューナカード、若しくは、アナログ若しくはデジタル形式においてビデオ入力を受け入れる同様の装置、又は、コンピューティングシステム(100)へのビデオ入力を読み出すCD‐ROM若しくはCD‐RWであり得る。出力装置(160)は、ディスプレイ、プリンタ、スピーカー、CDライタ、又は、コンピューティングシステム(100)からの出力を提供する別の装置であり得る。
通信接続(170)は、通信媒体を通じて別のコンピューティングエンティティに対する通信を可能にする。通信媒体は、コンピュータ実行可能命令、オーディオ若しくはビデオの入力若しくは出力、又は他のデータなどの情報を、変調されたデータ信号において運ぶ。変調されたデータ信号は、その特性のうち1つ以上を、信号の中に情報をエンコードする仕方において設定させ又は変更させた信号である。限定ではなく例として、通信媒体は、電気、光、RF、又は他の搬送波を使用することができる。
イノベーションは、コンピュータ可読媒体の一般的文脈において説明されることができる。コンピュータ可読媒体は、コンピューティング環境内でアクセスされることが可能な任意の利用可能な有形媒体である。限定ではなく例として、コンピューティングシステム(100)において、コンピュータ可読媒体は、メモリ(120、125)、記憶装置(140)、及び上記のうち任意のものの組み合わせを含む。
イノベーションは、コンピューティングシステムにおいてターゲットの実プロセッサ又は仮想プロセッサ上で実行される、プログラムモジュールに含まれるものなどのコンピュータ実行可能命令の一般的文脈において説明されることができる。一般に、プログラムモジュールは、特定のタスクを実行し又は特定の抽象データタイプを実装するルーチン、プログラム、ライブラリ、オブジェクト、クラス、コンポーネント、データ構造等を含む。プログラムモジュールの機能性は、様々な実施形態において所望されるとおりにプログラムモジュール間で組み合わせられ又は分割されてもよい。プログラムモジュールのコンピュータ実行可能命令は、局所的な又は分散されたコンピューティングシステム内で実行されることが可能である。
用語「システム」及び「装置」は、本明細書において、交換可能に使用される。文脈が別段明確に示さない限り、いずれの用語も、コンピューティングシステム又はコンピューティング装置のタイプに対するいかなる限定も暗示しない。一般に、コンピューティングシステム又はコンピューティング装置は、局所的であるか又は分散されることが可能であり、本明細書に説明される機能性を実施するソフトウェアを有する特別目的ハードウェア及び/又は汎用目的ハードウェアの任意の組み合わせを含むことができる。
開示される方法は、さらに、開示される方法のうち任意のものを実行するように構成された専用のコンピューティングハードウェアを用いて実施されてもよい。例えば、開示される方法は、開示される方法のうち任意のものを実施するように特別に設計され又は構成された集積回路(例えば、ASIC(ASICデジタルシグナルプロセッサ(“DSP”)、グラフィクス処理ユニット(“GPU”)、又は、プログラマブルロジック装置(“PLD”)、例えば、フィールドプログラマブルゲートアレイ(“FPGA”)など)によって実施されることが可能である。
提示のために、本詳細な説明は、「決定する」及び「使用する」などの用語を用いて、コンピューティングシステムにおけるコンピュータ動作を説明する。上記用語は、コンピュータによって実行される動作の高レベル抽象化であり、人間によって実行される行為と混同されるべきではない。上記用語に対応する実際のコンピュータ動作は、実装に依存して変動する。本明細書において使用されるとき、用語「最適*(optimiz*)」(最適化又は最適化することなどのバリエーションを含む)は、所与の判断スコープ下にある選択肢間での選択を参照し、最適化された選択が拡張された判断スコープに対する「最良の」又は「最適な」選択であることを暗示する訳ではない。
II.例示的なネットワーク環境
図2a及び図2bは、ビデオエンコーダ(220)及びビデオデコーダ(270)を含む例示的なネットワーク環境(201、202)を示す。エンコーダ(220)及びデコーダ(270)は、ネットワーク(250)を通じて適切な通信プロトコルを用いて接続される。ネットワーク(250)は、インターネット又は別のコンピュータネットワークを含み得る。
図2aに示されるネットワーク環境(201)において、各リアルタイム通信(“RTC”)ツール(210)が、双方向通信のためにエンコーダ(220)とデコーダ(270)との双方を含む。所与のエンコーダ(220)が、HEVC標準(H.265としても知られる)、SMPTE421M標準、ISO‐IEC14496‐10標準(H.264又はAVCとしても知られる)、別の標準、又は独自フォーマットの、バリエーション又はエクステンションに準拠した出力を生成することができ、対応するデコーダ(270)は、エンコーダ(220)からのエンコードされたデータを受け入れることができる。双方向通信は、ビデオ会議、ビデオ電話呼び出し、又は、他の2つのパーティ若しくはマルチパーティの通信シナリオの一部であり得る。図2aにおけるネットワーク環境(201)は2つのリアルタイム通信ツール(210)を含むが、ネットワーク環境(201)は、代わって、マルチパーティ通信に参加する3つ又はそれ以上のリアルタイム通信ツール(210)を含んでもよい。
リアルタイム通信ツール(210)は、エンコーダ(220)によるエンコーディングを管理する。図3は、リアルタイム通信ツール(210)に含まれることが可能な一例示的なエンコーダシステム(300)を示す。別法として、リアルタイム通信ツール(210)は別のエンコーダシステムを使用する。リアルタイム通信ツール(210)は、さらに、デコーダ(270)によるデコーディングを管理する。図4は、一例示的なデコーダシステム(400)を示し、デコーダシステム(400)は、リアルタイム通信ツール(210)に含まれ得る。別法として、リアルタイム通信ツール(210)は別のデコーダシステムを使用する。
図2bに示されるネットワーク環境(202)において、エンコーディングツール(212)が、複数の再生ツール(214)に対する配信のためにビデオをエンコードするエンコーダ(220)を含み、上記再生ツール(214)は、デコーダ(270)を含む。ビデオ監視システム、ウェブカメラモニタリングシステム、リモートデスクトップ会議プレゼンテーション、又は他のシナリオに対して、単方向通信が提供されることが可能であり、これにおいて、ビデオはエンコードされて、ある場所から1つ以上の他の場所に送られる。図2bにおけるネットワーク環境(202)は2つの再生ツール(214)を含むが、ネットワーク環境(202)は、より多くの又はより少ない再生ツール(214)を含むことが可能である。一般に、再生ツール(214)はエンコーディングツール(212)と通信して、再生ツール(214)が受信すべきビデオのストリームを決定する。再生ツール(214)は、ストリームを受信し、受信されたエンコードデータを適切な期間の間バッファし(buffers)、デコーディング及び再生を始める。
図3は、エンコーディングツール(212)に含まれることが可能な一例示的なエンコーダシステム(300)を示す。別法として、エンコーディングツール(212)は別のエンコーダシステムを使用する。エンコーディングツール(212)は、1つ以上の再生ツール(214)との接続を管理するサーバ側コントローラロジックをさらに含み得る。図4は、一例示的なデコーダシステム(400)を示し、デコーダシステム400は、再生ツール(214)に含まれ得る。別法として、再生ツール(214)は別のデコーダシステムを使用する。再生ツール(214)は、エンコーディングツール(212)との接続を管理するクライアント側コントローラロジックをさらに含み得る。
III.例示的なエンコーダシステム
図3は、一例示的なエンコーダシステム(300)のブロック図であり、エンコーダシステム(300)と関連して、いくつかの説明される実施形態が実施され得る。エンコーダシステム(300)は、複数のエンコーディングモードのうち任意のもの、例えば、リアルタイム通信のための低レイテンシエンコーディングモード、トランスコーディングモード、及びファイル又はストリームから再生のためのメディアを生成するより高いレイテンシのエンコーディングモードなどにおいて動作することができる汎用目的エンコーディングツールであることが可能であり、あるいは、エンコーダシステム(300)は、上記のエンコーディングモードの1つに適合された特別目的エンコーディングツールであってもよい。エンコーダシステム(300)は、オペレーティングシステムモジュールとして、アプリケーションライブラリの一部として、あるいはスタンドアロンアプリケーションとして実装されることが可能である。全体的に見て、エンコーダシステム(300)は、ビデオソース(310)からソースビデオフレーム(311)のシーケンスを受信し、エンコードされたデータをチャネル(390)に対する出力として生成する。チャネルに対して出力される、エンコードされたデータは、イントラBC予測モードを用いてエンコードされたコンテンツを含み得る。
ビデオソース(310)は、カメラ、チューナカード、記憶媒体、又は他のデジタルビデオソースであり得る。ビデオソース(310)は、例えば30フレーム毎秒のフレームレートにおいて、ビデオフレームのシーケンスを生成する。本明細書において使用されるとき、用語「フレーム」は、ソースの、符号化され又は再構成された画像データを一般に参照する。プログレッシブスキャンビデオについて、フレームは、プログレッシブスキャンビデオフレームである。インターレースされたビデオについて、例示的な実施形態において、インターレースされたビデオフレームは、エンコーディングの前にインターレース解除される。別法として、2つの相補的なインターレースされたビデオフィールドが、単一のビデオフレームとして一緒にエンコードされ、あるいは2つの別個にエンコードされるフィールドとしてエンコードされる。プログレッシブスキャンビデオフレーム又はインターレーススキャンビデオフレームを示すことの他に、用語「フレーム」又は「ピクチャ」は、単一の非ペアのビデオフィールド、相補的なペアのビデオフィールド、所与の時間におけるビデオオブジェクトを表すビデオオブジェクトプレーン、又はより大きい画像における関心のある領域を示し得る。ビデオオブジェクトプレーン又は領域は、あるシーンの複数のオブジェクト又は領域を含むより大きい画像のうちの一部であり得る。
到着するソースフレーム(311)はソースフレーム一時メモリ記憶エリア(320)に記憶され、ソースフレーム一時メモリ記憶エリア(320)は複数のフレームバッファ記憶エリア(321、322、・・・、32n)を含む。フレームバッファ(321、322等)は、ソースフレーム記憶エリア(320)の中の1つのソースフレームを保持する。ソースフレーム(311)のうち1つ以上がフレームバッファ(321、322等)に記憶された後、フレーム選択器(330)が、ソースフレーム記憶エリア(320)から個々のソースフレームを選択する。エンコーダ(340)に対する入力のためにフレーム選択器(330)によってフレームが選択される順序は、ビデオソース(310)によってフレームが生成される順序とは異なってもよい。例えば、いくつかのフレームのエンコーディングが順序において遅らせられて、いくつかの後のフレームが最初にエンコードされることを可能にし、ゆえに時間的に後方の予測を容易にすることができる。エンコーダ(340)の前に、エンコーダシステム(300)はプリプロセッサ(図示されていない)を含んでもよく、プリプロセッサは、エンコーディングの前に選択されたフレーム(331)の前処理(例えば、フィルタリング)を実行する。前処理には、一次(例えば、ルマ)及び二次(例えば、赤に向かう及び青に向かうクロマ差分)成分への色空間コンバージョン、及び、エンコーディングのためのリサンプリング処理(例えば、クロマ成分の空間解像度を低減させるため)を含むことができる。典型的に、エンコーディングの前、ビデオはYUVなどの色空間にコンバートされており、これにおいて、ルマ(Y)成分のサンプル値は明るさ又は輝度値を表し、クロマ(U、V)成分のサンプル値は色差値を表す。クロマサンプル値は、より低いクロマサンプリングレートへ(例えば、YUV4:2:0フォーマット又はYUV4:2:2のために)サブサンプリングされ(sub-sampled)てもよく、あるいは、クロマサンプル値は、ルマサンプル値と同じ(例えば、YUV4:4:4フォーマットのための)解像度を有してもよい。YUV4:2:0フォーマットにおいて、クロマ成分は、ファクタの2によって水平に、及びファクタの2によって垂直にダウンサンプリングされる(downsampled)。YUV4:2:2フォーマットにおいて、クロマ成分は、ファクタの2によって水平にダウンサンプリングされる。あるいは、ビデオは別のフォーマット(例えば、RGB4:4:4フォーマット)においてエンコードされてもよい。
エンコーダ(340)は、選択されたフレーム(331)をエンコードして、符号化されたフレーム(341)を生成し、さらに、メモリ管理制御動作(“MMCO”)信号(342)又は参照ピクチャセット(“RPS”)情報を生成する。現在のフレームが、エンコードされている最初のフレームでない場合、そのエンコーディング処理を実行するとき、エンコーダ(340)は、デコード済みフレーム一時メモリ記憶エリア(360)に記憶されている1つ以上の事前にエンコードされた/デコードされたフレーム(369)を使用することができる。こうした記憶されているデコードされたフレーム(369)が、現在のソースフレーム(331)のコンテンツのフレーム間(inter-frame)予測のための参照フレームとして使用される。MMCO/RPS情報(342)は、デコーダに対して、どの再構成されたフレームが参照フレームとして使用されることが可能であり、したがってフレーム記憶エリアに記憶されるべきであるかを示す。
一般に、エンコーダ(340)は、エンコーディングタスク、例えば、タイルへの区分化、イントラ予測推定及び予測、動き推定及び補償、周波数変換、量子化、並びにエントロピー符号化などを実行する、複数のエンコーディングモジュールを含む。エンコーダ(340)により実行される正確な動作は、圧縮フォーマットに依存して変動し得る。出力されるエンコードされたデータのフォーマットは、HEVCフォーマット(H.265)、Windows Media Videoフォーマット、VC‐1フォーマット、MPEGxフォーマット(例えば、MPEG‐1、MPEG‐2、又はMPEG‐4)、H.26xフォーマット(例えば、H.261、H.262、H.263、H.264)、又は別のフォーマットの、バリエーション又はエクステンションであり得る。
エンコーダ(340)は、フレームを、同じサイズ又は異なるサイズの複数のタイルに区分することができる。例えば、エンコーダ(340)は、フレームをタイル行及びタイル列に沿って分割する。該タイル行及びタイル列は、フレーム境界を用いて、フレーム内のタイルの水平及び垂直の境界を定義し、各タイルは、長方形の領域である。タイルは、並列処理のオプションを提供するためにしばしば使用される。フレームは、さらに、1つ以上のスライスとして編成されてもよく、スライスは、フレーム全体又はフレームのうちの領域であり得る。スライスは、フレームの中の他のスライスから独立してデコードされることが可能であり、このことは誤り耐性を向上させる。スライス又はタイルのコンテンツは、エンコーディング及びデコーディングの目的で、ブロック又は、サンプルの他のセットにさらに区分される。
HEVC標準に従うシンタックスのために、エンコーダは、フレーム(又は、スライス若しくはタイル)のコンテンツを、符号化ツリーユニット(coding tree unit)に分割する。符号化ツリーユニット(“CTU”)は、ルマ符号化ツリーブロック(“CTB”)として編成されたルマサンプル値と、2つのクロマCTBとして編成された、対応するクロマサンプル値とを含む。CTU(及び、そのCTB)のサイズはエンコーダによって選択され、例えば、64×64、32×32、又は16×16サンプル値であり得る。CTUは1つ以上の符号化ユニットを含む。符号化ユニット(“CU”)は、ルマ符号化ブロック(“CB”)と、2つの対応するクロマCBとを有する。例えば、64×64ルマCTB及び2つの64×64クロマCTBを有するCTU(YUV4:4:4フォーマット)が4つのCUに分割されることが可能であり、これにおいて、各CUは32×32ルマCB及び2つの32×32クロマCBを含み、各CUは可能性として、より小さいCUにさらに分割される。あるいは、別の例として、64×64ルマCTB及び2つの32×32クロマCTBを有するCTU(YUV4:2:0フォーマット)が4つのCUに分割されることが可能であり、これにおいて、各CUは32×32ルマCB及び2つの16×16クロマCBを含み、各CUは可能性として、より小さいCUにさらに分割される。CUの最小許容可能サイズ(例えば、8×8、16×16)が、ビットストリームの中で信号伝達される(signaled)ことができる。
一般に、CUはインター又はイントラなどの予測モードを有する。CUは、予測情報(例えば、予測モード詳細、変位値等)及び/又は予測処理を信号伝達する目的で、1つ以上の予測ユニットを含む。予測ユニット(“PU”)は、ルマ予測ブロック(“PB”)と2つのクロマPBとを有する。イントラ予測されるCUについて、PUは、CUが最小サイズ(例えば、8×8)を有さない限り、CUと同じサイズを有する。上記の場合、CUのシンタックス要素により示されるとおり、CUが4つのより小さいPUに分割されてもよく(例えば、最小CUサイズが8×8である場合、各々4×4)、あるいは、PUが最小CUサイズを有してもよい。CUは、残差符号化/デコーディングの目的で1つ以上の変換ユニットをさらに有し、変換ユニット(“TU”)は、変換ブロック(“TB”)と2つのクロマTBとを有する。イントラ予測されるCUにおけるPUは、単一のTU(サイズにおいてPUに等しい)又は複数のTUを包含し得る。本明細書において使用されるとき、用語「ブロック」は、文脈に依存して、CB、PB、TB、又はサンプル値の他のセットを示すことがある。エンコーダは、ビデオを如何にしてCTU、CU、PU、TU等に区分するかを決める。
図3に戻ると、エンコーダは、ソースフレーム(331)のイントラ符号化されたブロックを、予測の観点において、フレーム(331)の中の他の事前に再構成されたサンプル値から表現する。イントラBC予測について、ピクチャ内推定器が、他の事前に再構成されたサンプル値に関して、ブロックの変位を推定する。フレーム内(intra-frame)予測参照領域(又は、短くは、イントラ予測領域)は、ブロックのBC予測値を作り出すために使用されるフレームの中のサンプルの領域である。フレーム内予測領域は、ブロックベクトル(“BV”)値(BV推定において決定される)で示されることができる。ブロックのイントラ空間予測について、ピクチャ内推定器は、近隣の再構成されたサンプル値の、ブロックへの補外を推定する。ピクチャ内推定器は、予測情報(例えば、イントラBC予測のためのBV値、又はイントラ空間予測のための予測モード(方向)など)を出力することができ、これがエントロピー符号化される。フレーム内予測予測器が予測情報を適用して、イントラ予測値を決定する。
エンコーダ(340)は、ソースフレームのフレーム間符号化された予測されたブロックを、予測の観点において、参照フレームから表現する。動き推定器が、1つ以上の参照フレーム(369)に関して、ブロックの動きを推定する。複数の参照フレームが使用されるとき、この複数の参照フレームは、異なる時間方向又は同じ時間方向からであり得る。動き補償された予測参照領域は、現在のフレームのサンプル値のブロックについての動き補償された予測値を作り出すために使用される参照フレームの中のサンプル領域である。動き推定器は動きベクトル(“MV”)情報などの動き情報を出力し、これがエントロピー符号化される。動き補償器がMVを参照フレーム(369)に適用して、フレーム間予測のための動き補償された予測値を決定する。
エンコーダは、ブロックの予測値(イントラ又はインター)と対応する元の値とにおける差を(もしあれば)決定することができる。これら予測残差値は、周波数変換、量子化、及びエントロピーエンコーディングを用いて、さらにエンコードされる。例えば、エンコーダ(340)は、ピクチャ、タイル、スライス、及び/又はビデオの他の部分のための量子化パラメータ(“QP”)の値を設定し、これに従って、変換係数を量子化する。エンコーダ(340)のエントロピー符号器が、量子化された変換係数値と、特定の付帯情報(例えば、MV情報、BV値、QP値、モード判断、パラメータ選択)とを圧縮する。典型的に、エントロピー符号化手法には、指数ゴロム(Exponential-Golomb)符号化、ゴロム・ライス符号化、算術符号化、差分符号化、ハフマン符号化、ランレングス符号化、可変長対可変長(“V2V”;variable-length-to-variable-length)符号化、可変長対固定長(“V2F”;variable-length-to-fixed-length)符号化、レンペル・ジブ(“LZ”)符号化、辞書符号化、確率間隔区分エントロピー符号化(“PIPE”;probability interval partitioning entropy coding)、及び上記の組み合わせが含まれる。エントロピー符号器は、異なる種類の情報に対して異なる符号化手法を使用することができ、複数の手法を組み合わせにおいて適用することができ(例えば、ゴロム・ライス符号化の後に算術符号化を適用することによって)、特定の符号化手法内の複数の符号テーブルの中から選ぶことができる。
適応的デブロッキングフィルタが、エンコーダ(340)の中の動き補償ループ内に含まれて、デコードされたフレームの中のブロック境界行及び/又は列にわたる不連続性を滑らかにする。別法として、又はさらに、他のフィルタリング(例えば、デリンギング(de-ringing)フィルタリング、適応ループフィルタリング(“ALF”)、又はサンプル適応オフセット(“SAO”)フィルタリングなど;図示されていない)がインループフィルタリング動作として適用されてもよい。
符号化されたフレーム(341)及びMMCO/RPS情報(342)(又は、MMCO/RPS情報(342)と同等の情報、なぜならば、フレームの依存性及び順序付け構造がエンコーダ(340)においてすでに知られているため)は、デコーディング処理エミュレータ(350)によって処理される。デコーディング処理エミュレータ(350)は、デコーダの機能性のうちいくつか、例えば、参照フレームを再構成するデコーディングタスクを実施する。MMCO/RPS情報(342)に準拠する仕方において、デコーディング処理エミュレータ(350)は、所与の符号化されたフレーム(341)が、エンコードされるべき後のフレームのフレーム間予測における参照フレームとしての使用のために再構成され及び記憶される必要があるかどうかを決定する。符号化されたフレーム(341)が記憶される必要がある場合、デコーディング処理エミュレータ(350)は、符号化されたフレーム(341)を受信して対応するデコードされたフレーム(351)を生成するデコーダによって指揮されるであろうデコーディング処理を、モデル化する。そのようにすることにおいて、エンコーダ(340)が、デコードされたフレームの記憶領域(360)に記憶されているデコードされたフレーム(369)を使用しているとき、デコーディング処理エミュレータ(350)は、デコーディング処理の一部として、記憶領域(360)から、デコードされたフレーム(369)をさらに使用する。
デコード済みフレーム一時メモリ記憶エリア(360)は、複数のフレームバッファ記憶エリア(361、362、・・・、36n)を含む。MMCO/RPS情報(342)に準拠する仕方において、デコーディング処理エミュレータ(350)は、記憶エリア(360)のコンテンツを管理して、エンコーダ(340)によって参照フレームとしての使用にもはや必要とされないフレームを有する任意のフレームバッファ(361、362等)を識別する。デコーディング処理をモデル化した後、デコーディング処理エミュレータ(350)は、上記の仕方において識別されたフレームバッファ(361、362等)に、新たにデコードされたフレーム(351)を記憶する。
符号化されたフレーム(341)及びMMCO/RPS情報(342)は、一時符号化済みデータエリア(370)にバッファされる。符号化済みデータエリア(370)に集められる符号化されたデータは、要素的な符号化されたビデオビットストリームのシンタックスの一部として、1つ以上のピクチャについてのエンコードされたデータを含む。符号化済みデータエリア(370)に集められる符号化されたデータは、符号化されたビデオデータに関するメディアメタデータを(例えば、1つ以上のサプリメンタルエンハンスメント情報(“SEI”;supplemental enhancement information)メッセージ又はビデオユーザビリティ情報(“VUI”;video usability information)メッセージの中の1つ以上のパラメータとして)さらに含み得る。
一時符号化済みデータエリア(370)からの集められたデータ(371)は、チャネルエンコーダ(380)によって処理される。チャネルエンコーダ(380)は、集められたデータを送信又は記憶のためにメディアストリームとして(例えば、ITU‐T H.222.0 | ISO/IEC13818‐1などのメディアプログラムストリーム若しくはトランスポートストリームフォーマット、又はIETF RFC3550などのインターネットリアルタイムトランスポートプロトコルフォーマットに従って)パケット化し、かつ/あるいは多重化することができる。上記の場合、チャネルエンコーダ(380)は、シンタックス要素をメディア送信ストリームのシンタックスの一部として追加することができる。あるいは、チャネルエンコーダ(380)は、集められたデータを記憶のためにファイルとして(例えば、ISO/IEC14496‐12などのメディアコンテナフォーマットに従って)編成することができ、この場合、チャネルエンコーダ(380)は、シンタックス要素をメディア記憶ファイルのシンタックスの一部として追加することができる。あるいは、より一般的に、チャネルエンコーダ(380)は、1つ以上のメディアシステム多重化プロトコル又はトランスポートプロトコルを実装することができ、この場合、チャネルエンコーダ(380)は、シンタックス要素をプロトコルのシンタックスの一部として追加することができる。チャネルエンコーダ(380)は、チャネルに対する出力を提供し、該チャネルは、記憶装置、通信接続、又は出力のための別のチャネルを表す。チャネルエンコーダ(380)又はチャネル(390)は、例えば、前方誤り訂正(“FEC”)エンコーディング及びアナログ信号変調のために、他の要素(図示されていない)をさらに含んでもよい。
IV.例示的なデコーダシステム
図4は、一例示的なデコーダシステム(400)のブロック図であり、デコーダシステム400と関連して、いくつかの説明される実施形態が実施されることができる。デコーダシステム(400)は、複数のデコーディングモードのうち任意のもの、例えば、リアルタイム通信のための低レイテンシデコーディングモード、及びファイル又はストリームからのメディア再生のためのより高いレイテンシのデコーディングモードなどにおいて動作することができる汎用目的デコーディングツールであることが可能であり、あるいは、デコーダシステム(400)は、上記のデコーディングモードの1つに適合された特別目的デコーディングツールであってもよい。デコーダシステム(400)は、オペレーティングシステムモジュールとして、アプリケーションライブラリの一部として、あるいはスタンドアロンアプリケーションとして実装されることが可能である。全体的に見て、デコーダシステム(400)は、符号化されたデータをチャネル(410)から受信し、再構成されたフレームを出力として出力あて先(490)のために生成する。符号化されたデータは、イントラBC予測モードを用いてエンコードされたコンテンツを含み得る。
デコーダシステム(400)はチャネル(410)を含み、チャネル410は、記憶装置、通信接続、又は入力としての符号化されたデータのための別のチャネルを表し得る。チャネル(410)は、チャネル符号化されている符号化されたデータを生成する。チャネルデコーダ(420)は、符号化されたデータを処理することができる。例えば、チャネルデコーダ(420)は、(例えば、ITU‐T H.222.0 | ISO/IEC13818‐1などのメディアプログラムストリーム若しくはトランスポートストリームフォーマット、又はIETF RFC3550などのインターネットリアルタイムトランスポートプロトコルフォーマットに従って)メディアストリームとして送信又は記憶のために集められたデータをパケット化解除し(de-packetizes)、かつ/あるいは多重分離する(demultiplexes)。上記の場合、チャネルデコーダ(420)は、メディア送信ストリームのシンタックスの一部として追加されたシンタックス要素をパースする(parse)ことができる。あるいは、チャネルデコーダ(420)は、(例えば、ISO/IEC14496‐12などのメディアコンテナフォーマットに従って)ファイルとして記憶のために集められている符号化されたビデオデータを分離し、この場合、チャネルデコーダ(420)は、メディア記憶ファイルのシンタックスの一部として追加されたシンタックス要素をパースすることができる。あるいは、より一般的に、チャネルデコーダ(420)は、1つ以上のメディアシステム多重分離プロトコル又はトランスポートプロトコルを実装することができ、この場合、チャネルデコーダ(420)は、プロトコルのシンタックスの一部として追加されたシンタックス要素をパースすることができる。チャネル(410)又はチャネルデコーダ(420)は、例えば、FECデコーディング及びアナログ信号復調のために、他の要素(図示されていない)をさらに含んでもよい。
チャネルデコーダ(420)から出力される符号化されたデータ(421)は、十分な量のこうしたデータが受信されるまで、一時符号化済みデータエリア(430)に記憶される。符号化されたデータ(421)は、符号化されたフレーム(431)及びMMCO/RPS情報(432)を含む。符号化済みデータエリア(430)の中の符号化されたデータ(421)は、要素的な符号化されたビデオビットストリームのシンタックスの一部として、1つ以上のピクチャのための符号化されたデータを含む。符号化済みデータエリア(430)の中の符号化されたデータは、エンコードされたビデオデータに関するメディアメタデータを(例えば、1つ以上のSEIメッセージ又はVUIメッセージの中の1つ以上のパラメータとして)さらに含み得る。
一般に、符号化済みデータエリア(430)は、符号化されたデータ(421)を、こうした符号化されたデータ(421)がデコーダ(450)によって使用されるまで、一時的に記憶する。このポイントにおいて、符号化されたフレーム(431)及びMMCO/RPS情報(432)のための符号化されたデータ(421)は、符号化済みデータエリア(430)からデコーダ(450)に転送される。デコーディングが継続するとき、新しい符号化されたデータが、符号化済みデータエリア(430)に対して追加され、符号化済みデータエリア(430)に残っている最も古い符号化されたデータが、デコーダ(450)に転送される。
デコーダ(450)は、符号化されたフレーム(431)をデコードして、対応するデコードされたフレーム(451)を生成する。必要に応じて、デコーダ(450)は、そのデコーディング処理を実行するとき、1つ以上の事前にデコードされたフレーム(469)を参照フレームとしてフレーム間予測に使用してもよい。デコーダ(450)は、こうした事前にデコードされたフレーム(469)を、デコード済みフレーム一時メモリ記憶エリア(460)から読み出す。一般に、デコーダ(450)は、デコーディングタスク、例えば、エントロピーデコーディング、フレーム内予測、動き補償されたフレーム間予測、逆量子化、逆周波数変換、及びタイルをマージすることなどを実行する、複数のデコーディングモジュールを含む。デコーダ(450)により実行される正確な動作は、圧縮フォーマットに依存して変動し得る。
例えば、デコーダ(450)は、圧縮されたフレーム又はフレームのシーケンスのエンコードされたデータを受信し、デコードされたフレーム(451)を含む出力を生成する。デコーダ(450)において、バッファが、圧縮されたフレームのエンコードされたデータを受信し、適切な時間に、受信したエンコードされたデータをエントロピーデコーダに対して利用可能にする。エントロピーデコーダは、エントロピー符号化された量子化されたデータとエントロピー符号化された付帯情報とを、典型的にはエンコーダにおいて実行されたエントロピーエンコーディングの逆のことを適用することによって、エントロピーデコードする。動き補償器が、動き情報を1つ以上の参照フレームに適用して、再構成されるフレームの任意のインター符号化されたブロックについて、動き補償された予測値を形成する。フレーム内予測モジュールが、現在のブロックのサンプル値を、近隣の事前に再構成されたサンプル値から空間的に予測し、あるいは、イントラBC予測について、現在のブロックのサンプル値を、フレームの中のフレーム内予測領域の事前に再構成されたサンプル値を用いて予測することができる。フレーム内予測領域は、BV値を用いて示されることができる。デコーダ(450)は、予測残差値をさらに再構成する。逆量子化器が、エントロピーデコードされたデータを逆量子化する。例えば、デコーダ(450)は、ビットストリームの中のシンタックス要素に基づいて、ピクチャ、タイル、スライス、及び/又はビデオの他の部分についてのQPの値を設定し、これに従って、変換係数を逆量子化する。逆周波数変換器が、量子化された周波数ドメインデータを空間ドメインデータにコンバートする。フレーム間予測されたブロックについて、デコーダ(450)は、再構成された予測残差値を、動き補償された予測値と組み合わせる。デコーダ(450)は、同様に、予測残差値を、フレーム内予測からの予測値と組み合わせてもよい。適応的デブロッキングフィルタがビデオデコーダ(450)の中の動き補償ループ内に含まれて、デコードされたフレーム(451)の中のブロック境界行及び/又は列にわたる不連続性を滑らかにする。別法として、又はさらに、他のフィルタリング(例えば、デリンギング(de-ringing)フィルタリング、ALF、又はSAOフィルタリングなど;図示されていない)がインループフィルタリング動作として適用されてもよい。
デコード済みフレーム一時メモリ記憶エリア(460)は、複数のフレームバッファ記憶エリア(461、462、・・・、46n)を含む。デコードされたフレームの記憶エリア(460)は、デコード済みピクチャバッファの一例である。デコーダ(450)は、MMCO/RPS情報(432)を使用して、デコードされたフレーム(451)をデコーダ(450)が記憶することができるフレームバッファ(461、462等)を識別する。デコーダ(450)は、上記フレームバッファの中にデコードされたフレーム(451)を記憶する。
出力シーケンサ(480)は、出力順序において生成される次のフレームがデコード済みフレーム記憶エリア(460)の中でいつ利用可能であるかを識別する。出力順序において生成される次のフレーム(481)が、デコード済みフレーム記憶エリア(460)において利用可能であるとき、該フレームは出力シーケンサ(480)によって読み出され、出力あて先(490)(例えば、ディスプレイ)に対して出力される。一般に、出力シーケンサ(480)によってデコード済みフレーム記憶エリア(460)からフレームが出力される順序は、デコーダ(450)によってフレームがデコードされる順序とは異なってもよい。
V.例示的なビデオエンコーダ
図5a及び図5bは、一般化されたビデオエンコーダ(500)のブロック図であり、ビデオエンコーダ(500)と関連して、いくつかの説明される実施形態が実施され得る。エンコーダ(500)は、入力ビデオ信号(505)として現在のピクチャを含むビデオピクチャのシーケンスを受信し、出力として符号化されたビデオビットストリーム(595)におけるエンコードされたデータを生成する。
エンコーダ(500)はブロックベースであり、実装に依存するブロックフォーマットを使用する。ブロックは、異なる段階において、例えば、予測、周波数変換、及び/又はエントロピーエンコーディング段階において、さらに細分されてもよい。例えば、ピクチャが、64×64ブロック、32×32ブロック、又は16×16ブロックに分けられることが可能であり、次に上記ブロックが、符号化及びデコーディングのためにサンプル値のより小さいブロックに分けられることが可能である。HEVC標準のエンコーディングの実施において、エンコーダは、ピクチャをCTU(CTB)、CU(CB)、PU(PB)、及びTU(TB)に区分する。
エンコーダ(500)は、ピクチャ内(intra-picture)符号化及び/又はピクチャ間(inter-picture)符号化を用いて、ピクチャを圧縮する。エンコーダ(500)のコンポーネントの多くは、ピクチャ内符号化及びピクチャ間符号化の双方に使用される。上記コンポーネントによって実行される正確な動作は、圧縮される情報のタイプに依存して変動し得る。
タイル化モジュール(tiling module)(510)が、場合により、ピクチャを、同じサイズ又は異なるサイズの複数のタイルに区分する。例えば、タイル化モジュール(510)は、ピクチャをタイル行及びタイル列に沿って分割する。該タイル行及びタイル列は、ピクチャ境界を用いて、ピクチャ内のタイルの水平及び垂直の境界を定義し、各タイルは、長方形の領域である。
一般エンコーディング制御(520)が、入力ビデオ信号(505)のピクチャと、エンコーダ(500)の様々なモジュールからのフィードバック(図示されていない)とを受信する。全体的に見て、一般エンコーディング制御(520)は、制御信号(図示されていない)を他のモジュール(例えば、タイル化モジュール(510)、変換器/スケーラ(scaler)/量子化器(530)、スケーラ/逆変換器(535)、ピクチャ内推定器(540)、動き推定器(550)、及びイントラ/インタースイッチなど)に提供して、エンコーディングの間の符号化パラメータを設定し及び変更する。具体的に、一般エンコーディング制御(520)は、エンコーディングの間にイントラBC予測を使用するかどうかと如何にして使用するかとを決めることができる。一般エンコーディング制御(520)はさらに、エンコーディング、例えば、レート歪み分析を実行する間、中間結果を評価することができる。一般エンコーディング制御(520)は、エンコーディングの間に行われた判断を示す一般制御データ(522)を生成し、したがって、対応するデコーダが、一貫性のある判断を行うことができる。一般制御データ(522)は、ヘッダフォーマッタ(formatter)/エントロピー符号器(590)に提供される。
現在のピクチャがピクチャ間予測を用いて予測される場合、動き推定器(550)が、1つ以上の参照ピクチャに関して、入力ビデオ信号(505)の現在のピクチャのサンプル値のブロックの動きを推定する。デコード済みピクチャバッファ(570)が、1つ以上の再構成された事前に符号化されたピクチャを、参照ピクチャとしての使用のためにバッファする。複数の参照ピクチャが使用されるとき、この複数の参照ピクチャは、異なる時間方向又は同じ時間方向からであり得る。動き推定器(550)は、付帯情報として、動きデータ(552)、例えば、MVデータ、マージモードインデックス値、及び参照ピクチャ選択データなどを生成する。動きデータ(552)は、ヘッダフォーマッタ/エントロピー符号器(590)と動き補償器(555)とに対して提供される。
動き補償器(555)は、MVを、デコード済みピクチャバッファ(570)からの再構成された参照ピクチャに適用する。動き補償器(555)は、現在のピクチャの動き補償された予測を生成する。
エンコーダ(500)内の別個の経路において、ピクチャ内推定器(540)が、入力ビデオ信号(505)の現在のピクチャのサンプル値のブロックについて、ピクチャ内予測を如何にして実行するかを決定する。現在のピクチャは、ピクチャ内符号化を用いて、全体的に又は部分的に符号化されることが可能である。現在のピクチャの再構成(538)の値を用いて、イントラ空間予測について、ピクチャ内推定器(540)は、現在のピクチャの現在のブロックのサンプル値を、現在のピクチャについての近隣の事前に再構成されたサンプル値から如何にして空間的に予測するかを決定する。あるいは、BV値を用いるイントラBC予測について、ピクチャ内推定器(540)は、現在のピクチャ内の異なる候補領域に対する、現在のブロックのサンプル値の変位を推定する。BV値は、以下に説明されるとおり、BV予測に対するピンポンアプローチを用いて予測されることができる。イントラBC予測について、イントラ予測推定器(540)は、以下に説明される1つ以上の制約を用いてBV選択処理を含むことができ、イントラ予測推定器(540)は、BV推定の目的で、現在のブロックのオーバーラップエリアの中の再構成されたサンプル値を推定することができる。
ピクチャ内推定器(540)は、付帯情報として、イントラ予測データ(542)、例えば、イントラ予測が空間予測又はイントラBC予測を使用するか(例えば、イントラブロックごとのフラグ値)、予測モード方向(イントラ空間予測のための)、及びBV値(イントラBC予測のための)を示す情報などを生成する。イントラ予測データ(542)は、ヘッダフォーマッタ/エントロピー符号器(590)とピクチャ内予測器(545)とに対して提供される。
イントラ予測データ(542)に従い、ピクチャ内予測器(545)は、現在のピクチャの現在のブロックのサンプル値を、現在のピクチャについての近隣の事前に再構成されたサンプル値から空間的に予測する。あるいは、イントラBC予測について、ピクチャ内予測器(545)は、現在のブロックのサンプル値を、イントラ予測領域の事前に再構成されたサンプル値を用いて予測し、該イントラ予測領域は、現在のブロックのBV値によって示される。ピクチャのクロマデータが、ルマデータと同じ解像度を有するとき(例えば、フォーマットが、YUV4:4:4フォーマット又はRGB4:4:4フォーマットであるとき)、クロマブロックに適用されるBV値は、ルマブロックに適用されるBV値と同じであり得る。一方、ピクチャのクロマデータが、ルマデータに対して低減された解像度を有するとき(例えば、フォーマットが、YUV4:2:0フォーマット又はYUV4:2:2フォーマットであるとき)、クロマブロックに適用されるBV値は、下方にスケール変更され(scaled)、可能性として丸められて、クロマ解像度における差に関して調整される(例えば、YUV4:2:0フォーマットについては、BV値の垂直及び水平の成分を2で除算することと、これらを整数値へと切り捨て又は丸めることとによって;YUB4:2:2フォーマットについては、BV値の水平成分を2で除算することと、これを整数値へと切り捨て又は丸めることとによって)。
イントラ/インタースイッチは、所与のブロックのための予測(558)としての使用のために、動き補償された予測又はピクチャ内予測の値を選択する。予測(558)のブロックと入力ビデオ信号(505)の元の現在のピクチャの対応する部分とにおける差が(もしあれば)、残差(518)の値を提供する。現在のピクチャの再構成の間、再構成された残差値は、予測(558)と組み合わせられて、ビデオ信号(505)からの元のコンテンツの再構成(538)が生成される。しかしながら、不可逆圧縮において、いくつかの情報は、ビデオ信号(505)から依然として失われる。
変換器/スケーラ/量子化器(530)において、周波数変換器は、空間ドメインビデオデータを周波数ドメイン(すなわち、スペクトルの、変換)データにコンバートする。ブロックベースのビデオ符号化について、周波数変換器は、離散コサイン変換(“DCT”)、その整数近似、又は別のタイプの前方ブロック変換(例えば、離散サイン変換又はその整数近似)を、予測残差データのブロック(又は、予測(558)がヌルである場合はサンプル値データ)に対して適用し、周波数変換係数のブロックを生成する。エンコーダ(500)はさらに、こうした変換ステップがスキップされることを示すことが可能であり得る。スケーラ/量子化器は、変換係数をスケール変更し、量子化する。例えば、量子化器は、デッドゾーンスケーラ量子化を、周波数ドメインデータに対して、フレーム単位基準、タイル単位基準、スライス単位基準、ブロック単位基準、周波数固有基準、又は他の基準で変動する量子化ステップサイズを用いて適用する。量子化された変換係数データ(532)は、ヘッダフォーマッタ/エントロピー符号器(590)に提供される。
スケーラ/逆変換器(535)において、スケーラ/逆量子化器は、量子化された変換係数に対して逆スケール変更及び逆量子化を実行する。逆周波数変換器が逆周波数変換を実行し、再構成された予測残差値又はサンプル値のブロックを生成する。エンコーダ(500)は、再構成された残差値を予測(558)の値(例えば、動き補償された予測値、ピクチャ内予測値)と組み合わせて、再構成(538)を形成する。
ピクチャ内予測について、再構成(538)の値は、ピクチャ内推定器(540)及びピクチャ内予測器(545)にフィードバックされることができる。さらに、再構成(538)の値は、後のピクチャの動き補償された予測に使用されてもよい。再構成(538)の値は、さらにフィルタされてもよい。フィルタリング制御(560)が、ビデオ信号(505)の所与のピクチャについて、再構成(538)の値に対してデブロックフィルタリング及びSAOフィルタリングを如何にして実行するかを決定する。フィルタリング制御(560)はフィルタ制御データ(562)を生成し、これがヘッダフォーマッタ/エントロピー符号器(590)とマージ器/フィルタ(565)とに対して提供される。
マージ器/フィルタ(565)において、エンコーダ(500)は、異なるタイルからのコンテンツをピクチャの再構成されたバージョンにマージする。エンコーダ(500)は、デブロックフィルタリング及びSAOフィルタリングをフィルタ制御データ(562)に従って選択的に実行して、フレームの中の境界をわたる不連続性を適応的に滑らかにする。別法として、又はさらに、他のフィルタリング(例えば、デリンギングフィルタリング又はALFなど;図示されていない)が適用されてもよい。タイル境界は、エンコーダ(500)の設定に依存して、選択的にフィルタされ、あるいはまったくフィルタされないことが可能であり、エンコーダ(500)は、符号化されたビットストリーム内でシンタックスを提供して、上記のフィルタリングが適用されたか否かを示してもよい。デコード済みピクチャバッファ(570)は、再構成された現在のピクチャを、後の動き補償された予測における使用のためにバッファする。
ヘッダフォーマッタ/エントロピー符号器(590)は、一般制御データ(522)、量子化された変換係数データ(532)、イントラ予測データ(542)、動きデータ(522)、及びフィルタ制御データ(562)をフォーマットし、かつ/あるいはエントロピー符号化する。例えば、ヘッダフォーマッタ/エントロピー符号器(590)は、様々なシンタックス要素、例えば、BV値のシンタックス要素などのエントロピー符号化のために、コンテキスト適応バイナリ算術符号化を使用する。ヘッダフォーマッタ/エントロピー符号器(590)は、BV値をエンコードするとき、以下に説明されるとおり、BV予測に対してピンポンアプローチを使用する。
ヘッダフォーマッタ/エントロピー符号器(590)は、符号化されたビデオビットストリーム(595)におけるエンコードされたデータを提供する。符号化されたビデオビットストリーム(595)のフォーマットは、HEVCフォーマット、Windows Media Videoフォーマット、VC‐1フォーマット、MPEG‐xフォーマット(例えば、MPEG‐1、MPEG‐2、又はMPEG‐4)、H.26xフォーマット(例えば、H.261、H.262、H.263、H.264)、又は別のフォーマットの、バリエーション又はエクステンションであり得る。
所望される実装及び圧縮のタイプに依存して、エンコーダのモジュールは、追加され、省略され、複数のモジュールに分割され、他のモジュールと組み合わせられ、かつ/あるいは同様のモジュールと置換されることができる。別の実施形態において、異なるモジュール及び/又はモジュールの他の構成を有するエンコーダが、所望される手法のうち1つ以上を実行する。エンコーダの具体的な実施形態は、典型的に、エンコーダ(500)のバリエーション又は補足されたバージョンを使用する。エンコーダ(500)内のモジュール間に示される関係はエンコーダにおける情報の一般的フローを示し、他の関係は簡潔さのために示されていない。
VI.例示的なビデオデコーダ
図6は、一般化されたデコーダ(600)のブロック図であり、デコーダ(600)と関連して、いくつかの説明される実施形態が実施されることができる。デコーダ(600)は、符号化されたビットストリーム(605)におけるエンコードされたデータを受信し、再構成されたビデオ(695)のピクチャを含む出力を生成する。符号化されたビデオビットストリーム(605)のフォーマットは、HEVCフォーマット、Windows Media Videoフォーマット、VC‐1フォーマット、MPEG‐xフォーマット(例えば、MPEG‐1、MPEG‐2、又はMPEG‐4)、H.26xフォーマット(例えば、H.261、H.262、H.263、H.264)、又は別のフォーマットの、バリエーション又はエクステンションであり得る。
デコーダ(600)はブロックベースであり、実装に依存するブロックフォーマットを使用する。ブロックは、異なる段階においてさらに細分されてもよい。例えば、ピクチャが、64×64ブロック、32×32ブロック、又は16×16ブロックに分けられることが可能であり、次に上記ブロックが、サンプル値のより小さいブロックに分けられることが可能である。HEVC標準のデコーディングの実施において、ピクチャは、CTU(CTB)、CU(CB)、PU(PB)、及びTU(TB)に区分される。
デコーダ(600)は、ピクチャ内デコーディング及び/又はピクチャ間デコーディングを用いて、ピクチャを伸張する。デコーダ(600)のコンポーネントの多くは、ピクチャ内デコーディング及びピクチャ間デコーディングの双方に使用される。上記コンポーネントによって実行される正確な動作は、伸張される情報のタイプに依存して変動し得る。
バッファが、符号化されたビデオビットストリーム(605)におけるエンコードされたデータを受信し、受信したエンコードされたデータをパーサ/エントロピーデコーダ(610)に対して利用可能にする。パーサ/エントロピーデコーダ(610)は、典型的にはエンコーダ(500)において実行されたエントロピー符号化の逆のことを適用することによって(例えば、コンテキスト適応バイナリ算術デコーディング)、エントロピー符号化されたデータをエントロピーデコードする。パース及びエントロピーデコードの結果として、パーサ/エントロピーデコーダ(610)は、一般制御データ(622)、量子化された変換係数データ(632)、イントラ予測データ(642)、動きデータ(652)、及びフィルタ制御データ(662)を生成する。具体的に、イントラ予測データ(642)について、パーサ/エントロピーデコーダ(610)は、BV値のシンタックス要素を、例えば、コンテキスト適応バイナリ算術デコーディングを用いて、エントロピーデコードする。パーサ/エントロピーデコーダ(610)は、BV値をデコーディングするとき、以下に説明されるとおり、BV予測に対してピンポンアプローチを使用することができる。
一般デコーディング制御(620)は一般制御データ(622)を受信し、制御信号(図示されていない)を他のモジュール(例えば、スケーラ/逆変換器(635)、ピクチャ内予測器(645)、動き補償器(655)、及びイントラ/インタースイッチ)に対して提供して、デコーディングの間のデコーディングパラメータを設定し及び変更する。
現在のピクチャがピクチャ間予測を用いて予測される場合、動き補償器(655)は、動きデータ(652)、例えば、MVデータ、参照ピクチャ選択データ、マージモードインデックス値などを受信する。動き補償器(655)は、MVを、デコード済みピクチャバッファ(670)からの再構成された参照ピクチャに適用する。動き補償器(655)は、現在のピクチャのインター符号化されたブロックについての動き補償された予測を生成する。デコード済みピクチャバッファ(670)は、1つ以上の事前に再構成されたピクチャを参照ピクチャとしての使用のために記憶する。
デコーダ(600)内の別の経路において、フレーム内予測予測器(645)が、イントラ予測データ(642)、例えば、イントラ予測が空間予測又はイントラBC予測を使用するか(例えば、イントラブロックごとのフラグ値)、予測モード方向(イントラ空間予測のための)、及びBV値(イントラBC予測のための)を示す情報などを受信する。イントラ空間予測について、現在のピクチャの再構成(638)の値を用いて、予測モードデータに従って、ピクチャ内予測器(645)は、現在のピクチャの現在のブロックのサンプル値を、現在のピクチャについての近隣の事前に再構成されたサンプル値から空間的に予測する。あるいは、BV値を用いるイントラBC予測について、ピクチャ内予測器(645)は、現在のブロックのサンプル値を、イントラ予測領域の事前に再構成されたサンプル値を用いて予測し、該イントラ予測領域は、現在のブロックのBV値によって示される。
イントラ/インタースイッチは、所与のブロックのための予測(658)としての使用のために、動き補償された予測又はピクチャ内予測の値を選択する。例えば、HEVCシンタックスが守られるとき、イントラ/インタースイッチは、イントラ予測されたCU及びインター予測されたCUを含み得るピクチャのCUのためにエンコードされたシンタックス要素に基づいて制御されることができる。デコーダ(600)は、予測(658)を再構成された残差値と組み合わせて、ビデオ信号からのコンテンツの再構成(638)を生成する。
残差を再構成するために、スケーラ/逆変換器(635)は、量子化された変換係数データ(632)を受信し、処理する。スケーラ/逆変換器(635)において、スケーラ/逆量子化器は、量子化された変換係数に対して逆スケール変更及び逆量子化を実行する。逆周波数変換器が逆周波数変換を実行し、再構成された予測残差値又はサンプル値のブロックを生成する。例えば、逆周波数変換器は逆ブロック変換を周波数変換係数に適用し、サンプル値データ又は予測残差データを生成する。逆周波数変換は、逆DCT、その整数近似、又は別のタイプの逆周波数変換(例えば、逆離散サイン変換又はその整数近似)であり得る。
ピクチャ内予測について、再構成(638)の値は、ピクチャ内予測器(645)に対してフィードバックされることができる。ピクチャ間予測について、再構成(638)の値はさらにフィルタされることができる。マージ器/フィルタ(665)において、デコーダ(600)は、異なるタイルからのコンテンツをピクチャの再構成されたバージョンにマージする。デコーダ(600)は、デブロックフィルタリング及びSAOフィルタリングを、フィルタ制御データ(662)及びフィルタ適応の規則に従って選択的に実行して、フレームの中の境界をわたる不連続性を適応的に滑らかにする。別法として、又はさらに、他のフィルタリング(例えば、デリンギングフィルタリング又はALFなど;図示されていない)が適用されてもよい。タイル境界は、デコーダ(600)の設定又はエンコードされたビットストリームデータ内のシンタックス指標に依存して、選択的にフィルタされ、あるいはまったくフィルタされないことが可能である。デコード済みピクチャバッファ(670)は、再構成された現在のピクチャを、後の動き補償された予測における使用のためにバッファする。
デコーダ(600)は、後処理(post-processing)フィルタをさらに含んでもよい。後処理フィルタは、デリンギングフィルタリング、適応ウィナー(Wiener)フィルタリング、フィルム粒子再現(film-grain reproduction)フィルタリング、SAOフィルタリング、又は別の種類のフィルタリングを含み得る。
所望される実装及び伸張のタイプに依存して、デコーダのモジュールは、追加され、省略され、複数のモジュールに分割され、他のモジュールと組み合わせられ、かつ/あるいは同様のモジュールと置換されることができる。別の実施形態において、異なるモジュール及び/又はモジュールの他の構成を有するデコーダが、所望される手法のうち1つ以上を実行する。デコーダの具体的な実施形態は、典型的に、デコーダ(600)のバリエーション又は補足されたバージョンを使用する。デコーダ(600)内のモジュール間に示される関係はデコーダにおける情報の一般的フローを示し、他の関係は簡潔さのために示されていない。
VII.イントラブロックコピー予測モード
本セクションは、イントラブロックコピー(“BC”)予測モードの様々な特徴を提示する。特徴のうちいくつかはブロックベクトル(“BV”)値の選択に関し、特徴のうち別のものはBV値のエンコーディング/デコーディングに関する。こうした特徴が、エンコーディング及びデコーディングのレート歪み性能及び/又は計算効率の観点においてより効率的であるイントラBC予測を容易にすることができる。具体的に、イントラBC予測は、特定の「人工的に」作成されたビデオコンテンツ、例えば、スクリーンキャプチャコンテンツなどをエンコードするとき、レート歪み性能を向上させることができる。スクリーンキャプチャコンテンツは、繰り返される構造(例えば、グラフィクス、テキスト文字)を典型的に含み、このことは、イントラBC予測に関して性能を向上させる機会を提供する。スクリーンキャプチャコンテンツは、大抵、高いクロマサンプリング解像度を有するフォーマット(例えば、YUV4:4:4又はRGB4:4:4)においてエンコードされるが、さらに、より低いクロマサンプリング解像度(例えば、YUV4:2:0、YUV4:2:2)を有するフォーマットにおいてエンコードされることもある。
A.イントラBC予測モード ‐ 導入
イントラBC予測モードについて、ピクチャの現在のブロックのサンプル値は、同じピクチャの中のサンプル値を用いて予測される。BVは、予測に使用されるサンプル値を含むピクチャの領域に対する、現在のブロックからの変位を示す。典型的には、予測に使用されるサンプル値は、事前に再構成されたサンプル値である。BVは、ビットストリームの中で信号伝達される。イントラBC予測は、ピクチャ内予測(intra-picture prediction)の一形式であり、ピクチャのブロックのためのイントラBC予測は、同じピクチャの中のサンプル値以外のいかなるサンプル値も使用しない。
図7は、現在のフレーム(710)の現在のブロック(730)についてのイントラBC予測を例示する。現在のブロックは、符号化ユニット(“CU”)の符号化ブロック(“CB”)、予測ユニット(“PU”)の予測ブロック(“PB”)、変換ユニット(“TU”)の変換ブロック(“TB”)、又は他のブロックであり得る。現在のブロックのサイズは、64×64、32×32、16×16、8×8、又は何らかの他のサイズであり得る。より一般的に、現在のブロックのサイズはm×nであり、これにおいて、m及びnの各々は自然数であり、m及びnは互いに等しくてもよく、あるいは異なる値を有してもよい。別法として、現在のブロックは、何らかの他の形状(例えば、非長方形の形状を有する符号化されたビデオオブジェクトのエリア)を有してもよい。
BV(740)は、現在のブロック(730)からの、予測に使用されるサンプル値を含むピクチャの領域(750)に対する変位(又は、オフセット)を示す。現在のブロックの左上位置が現在のフレームにおける位置(x,y)にあると仮定し、イントラ予測領域の左上位置が現在のフレームにおける位置(x,y)にあると仮定する。BVは、変位(x−x,y−y)を示す。例えば、現在のブロックの左上位置が位置(320,256)にあり、イントラ予測領域の左上位置が位置(295,270)にある場合、BV値は(−25,14)である。上記の例において、負の水平の変位は現在のブロックの左に対する位置を示し、負の垂直の変位は現在のブロックの上の位置を示す。
いくつかの例示的な実施において、イントラ予測された領域(750)は、現在のブロック(730)と同じスライス及びタイル内であるように制約される。こうしたイントラBC予測は、他のスライス又はタイルの中のサンプル値を使用しない。イントラ予測された領域(750)の場所は、1つ以上の他の制約にさらされることがある(例えば、検索範囲について、インター符号化されたブロックの再構成されたサンプル値の使用に関して)。
イントラBC予測の予測モードを有するブロックは、CB、PB、又は他のブロックであり得る。ブロックがCBであるとき、ブロックのBVはCUレベルにおいて信号伝達されることができる(及び、CUの中の他のCBは、同じBV又はそのスケール変更されたバージョンを使用する)。あるいは、ブロックがPBであるとき、ブロックのBVはPUレベルにおいて信号伝達されることができる(及び、PUの中の他のPBは、同じBV又はそのスケール変更されたバージョンを使用する)。より一般的に、イントラBC予測ブロックのためのBVは、ブロックのための適切なシンタックスレベルにおいて信号伝達される。
イントラBC予測モードに従った予測のブロックコピー動作は、CBのレベル(BVがCBごとに信号伝達されるとき)、又はPBのレベル(BVがPBごとに信号伝達されるとき)において実行されることができる。例えば、16×16CBが単一の16×16PBを有すると仮定する。(PBのための)BVは、16×16領域をブロックコピーするように適用される。イントラ予測領域が、予測される16×16ブロックにオーバーラップしないように制約されるとき、BVは、水平に又は垂直に、少なくとも16の大きさ(絶対値)を有する。
別法として、ブロックコピー動作は、BVがPB又はCBに対して信号伝達されるときでも、PB又はCB内のTBのレベルにおいて実行されることができる。こうして、BVは、TBに適用されるとき、同じPB又はCBにおける他のTBの位置を参照することができる。例えば、16×16CBが単一の16×16PBを有し、しかし残差符号化/デコーディングの目的で16個の4×4TBに分割されると仮定する。(PBのための)BVは、ラスタースキャン順序において第1のTBのための4×4領域をブロックコピーするように適用され、それから、同じBVが、ラスタースキャン順序において第2のTBのための4×4領域をブロックコピーするように適用される、などする。TBのためのBC動作に使用される4×4領域は、残差値を上記の事前に再構成されたTBの予測された値と組み合わせた後、同じCBにおける事前に再構成されたTBの中の位置を含み得る。(BVは、予測されている同じTBの中の位置を依然として参照しない。)BC動作をTBレベルにおいて適用することは、比較的小さい大きさを有するBVの使用を容易にする。
CUのクロマブロックのためのイントラBC予測動作は、一般に、CUのルマブロックのためのイントラBC予測動作に対応する。通常、クロマPB及びクロマTBのセグメンテーションは、CUにおけるルマPB及びルマTBのセグメンテーションに直接対応する。ビデオのフォーマットがYUV4:4:4であるとき、クロマPB及びTBのサイズは、対応するルマPB及びTBのサイズにマッチする。ビデオのフォーマットがYUV4:2:0であるとき、クロマPB及びTBは、対応するルマPB及びTBの半分の幅及び半分の高さである。しかしながら、ルマTBが最小変換サイズを有する場合、最小変換サイズを有する単一のクロマTBが使用される。ビデオのフォーマットがYUV4:2:2であるとき、クロマPB及びTBは、対応するルマPB及びTBの半分の幅である。
いくつかの実施において、イントラBC予測されたCUについて、PUの中のクロマブロックのためのイントラBC予測は、可能性として、クロマデータがルマデータに対して低減された解像度を有するとき(例えば、フォーマットがYUV4:2:0フォーマット又はYUV4:2:2フォーマットであるとき)はスケール変更及び丸めの後、PUの中のルマブロックのためのイントラBC予測と同じBV値を使用する。別法として、PUのルマブロック及びクロマブロックについて、異なるBV値が信号伝達されてもよい。
いくつかの実施において、PUのルマブロックの予測モードがイントラBC予測である場合、PUのクロマブロックのための予測モードがさらにイントラBC予測される。例えば、予測モードがPUのために信号伝達される。別法として、予測モードは、PUのルマブロック又はクロマブロックのためのイントラBC予測であり、しかし双方でないことが可能である。
B.イントラBC予測モードのBV検索の制約
いくつかの例示的な実施において、エンコーダは、1つ以上の制約に従ってBV範囲を制限する。BV範囲を制限することによって、エンコーディング及びデコーディングの間にイントラBC予測のために高速メモリアクセスにより参照される再構成されたサンプル値のエリアが低減されることが可能であり、このことは実装コストを下げる傾向がある。
図8は、BV値のための検索範囲に対する例示的な制約を例示する。現在のフレーム(810)の現在のブロック(830)に加えて、図8は、2つのCTB(820、822)によって定義された検索範囲を示す。現在のCTB(820)は現在のCTUの一部であり、現在のブロック(830)を含む。現在のCTB(820)は、その左にCTB(822)を有して、現在のブロック(830)に対して許容可能なBVが見つけられることが可能な検索範囲を定義する。BV(842、844)は検索範囲の外側の領域を参照しており、ゆえにこれらBV値(842、844)は許容されない。
いくつかの例示的な実施において、現在のブロックのBV値のための検索範囲は、現在のCTB及びその左に対するCTBである。例えば、CTBは64×64、32×32、又は16×16サンプル値のサイズを有することが可能であり、このことは、128×64、64×32、又は32×16サンプル値の検索範囲を生じる。現在のCTB及び左のCTBの中のサンプル値だけが、現在のブロックのためのイントラBC予測に使用される。このことは、検索処理を制約することによってエンコーダ実装を簡素化する。上記のことはさらに、イントラ予測のためにデコーダが高速メモリにバッファするサンプル値の数を制限することによって、デコーダ実装を簡素化する。別の制約は、イントラ予測が別のスライス又はタイルからサンプル値を参照できないことである。(x,y)における左上位置を有する現在のm×nブロックと、次元CTBsizeY×CTBsizeYを各々が有する(1つ以上の)CTBとについて、エンコーダは、水平成分BV[0]及び垂直成分BV[1]を有する2次元BVに関する上記制約を、下記の、
・BV[0]≧−((x%CTBsizeY)+CTBsizeY
・BV[1]≧−(y%CTBsizeY
・位置(x,y)、(x+BV[0],y+BV[1])、及び(x+BV[0]+m−1,y+BV[1]+n−1)におけるサンプル値は、同じスライス内であるべきである
・位置(x,y)、(x+BV[0],y+BV[1])、及び(x+BV[0]+m−1,y+BV[1]+n−1)におけるサンプル値は、同じタイル内であるべきである
としてチェックすることができる。
図9は、BV値の選択に対する1つ以上の制約にさらされた、イントラBC予測モードを用いたエンコーディングの手法(900)を示す。エンコーダ、例えば、図3又は図5a〜図5bを参照して説明されたものなどが、手法(900)を実行することができる。
始めに、エンコーダは、ピクチャの現在のブロックのためのBVを決定する(910)。現在のブロックは、CB、PB、又は他のブロックであり得る。BVは、ピクチャ内の領域に対する変位を示す。BVを決定することにおいて、エンコーダは、1つ以上の制約をチェックする。
1つのあり得る制約に従い、エンコーダは、イントラBC予測に使用されるサンプル値の範囲をチェックする。エンコーダは、候補イントラ予測領域が現在のCTBと1つ以上の他のCTB(例えば、現在のCTBの左に対するCTB)とによって定義される範囲内であることをチェックすることができる。例えば、BVが第1の成分BV[0]及び第2の成分BV[1]を有するとき、現在のブロックは位置(x,y)における左上位置を有し、CTBの各々は幅CTBwidth及び高さCTBheightを有し、制約は、BV[0]≧−((x%CTBwidth)+CTBwidth)及びBV[1]≧−(y%CTBheight)の場合に満足される。エンコーダは、同様に、検索範囲、すなわち、BV[0]<(CTBwidth−m−(x0%CTBwidth))及びBV[1]<(CTBheight−n−(y0%CTBheight))内で、BV[0]及びBV[1]の値に対する上限をチェックすることができる。別法として、検索範囲はより多くの又はより少ないCTBを含み、あるいは、検索範囲は何らかの他の方法において定義される。
別のあり得る制約に従い、エンコーダは、検索を、現在のスライス及びタイルに制限する(すなわち、現在のブロック及び領域は、ピクチャのわずか1つのスライス及びピクチャのわずか1つのタイルの一部である)。エンコーダは、現在のブロックの左上位置と候補イントラ予測領域の左上位置と候補イントラ予測領域の右下位置とが単一のスライス及び単一のタイルの一部であることをチェックすることができる。例えば、この制約は、(x,y)と(x+BV[0],y+BV[1])と(x+BV[0]+m−1,y+BV[1]+n−1)とが単一のスライス及び単一のタイルの一部である場合、満足される。
別法として、エンコーダは、他の及び/又はさらなる制約をチェックする。
エンコーダは、BV値を用いて現在のブロックのためのイントラBC予測を実行する(920)。例えば、エンコーダは、現在のブロック全体に対してイントラBC予測を実行する。あるいは、エンコーダは、現在のブロックに関連付けられた複数のブロックに対してイントラBC予測を実行する(例えば、TB単位基準において、BVを有する現在のPBに複数のTBが関連付けられる場合に、複数のTBに対して)。
エンコーダは、BVをエンコードする(930)。例えば、エンコーダは、以下に説明されるとおり、BVをエンコードする(930)。エンコーダは、別のイントラBC予測モードブロックについて、手法(900)を繰り返すことができる。
イントラBC予測について、エンコーダ及びデコーダは、再構成されたサンプル値を使用する。まだエンコード及び再構成されていないピクチャの一部として、再構成されていないサンプル値が存在する可能性がある。イントラBC予測に関して、再構成されていないサンプル値の使用を回避するために、エンコーダは、実際の事前に再構成されたサンプル値だけがBCに従ってイントラBC予測に使用されるように、BVの許容可能値に対する制約を設定することができる。
いくつかの例示的な実施において、エンコーダは、現在のブロックと候補イントラ予測領域の右下位置を含むブロックとのzスキャン順序を考慮することによって、BV値をチェックする。より具体的に、エンコーダは、位置(x+BV[0]+m−1,y+BV[1]+n−1)を含むブロックのzスキャン順序が、(x,y)を含むzスキャン順序より小さいことをチェックする。そうである場合、イントラ予測領域の右下位置を含むブロックは、事前に再構成されている(したがって、イントラ予測領域の残り部分も同様にされている)。BVはさらに、条件BV[0]+m≦0及びBV[1]+n≦0のうち少なくとも1つを満足し、イントラ予測領域が現在のブロックにオーバーラップしないことを確保する。
zスキャン順序は、ピクチャを区分するブロックのシーケンシャルに規定された順序付けに従う。図10は、現在のブロック(1030)のための例示的なzスキャン順序(1000)と、候補BVのイントラ予測領域の右下位置を含み得る複数のブロックを示す。現在のブロック(1030)は、CB、PB、又は他のブロックであり得る。zスキャン順序は、一般に、行において左から右にシーケンシャルにブロックに割り当てられ、連続的な行において上から下に繰り返す。ブロックが分割されるとき、zスキャン順序は、再帰的に、分割されたブロック内に割り当てられる。HEVC標準のためのエンコーディング/デコーディングの実施について、zスキャン順序は、CTBラスタスキャンパターンによって、CTB対CTBで(CTB-to-CTB)進む(1つのCTB行において左から右であり、連続するCTB行において上から下に繰り返す)。CTBが分割される場合、zスキャン順序は、分割されたCTB内の四分木のCBのためのラスタスキャンパターンに従う。そして、CBが分割される場合(例えば、複数CBに、あるいは複数のPBに)、zスキャン順序は、分割されたCB内のブロックのためのラスタスキャンパターンに従う。
別法として、イントラBC予測がTB単位基準で実行されることが可能な場合、エンコーダ及びデコーダは、イントラ予測領域と現在のブロック(TB)との間のあり得るオーバーラップについてチェックし、それから、チェックの結果を使用して、イントラBC予測動作の適用のために現在のTBがより小さいTBに分割されるべきであるかどうかを決めることができる。現在のTBがm×nのサイズを有し、m及びnは互いに等しくてもよく、あるいは異なる値を有してもよいと仮定する。BV[0]>−m及びBV[1]>−nの場合、イントラ予測領域は、現在のm×nのTBにオーバーラップし、このことは、イントラBC予測動作の適用に関して、現在のm×nのTBがより小さいTBに分割されない限り、問題である。ゆえに、BV[0]>−m及びBV[1]>−nの場合、エンコーダ及びデコーダは、現在のTBをより小さいTBに分割する。より小さいTBについて、同じ条件がチェックされ(例えば、再帰的にチェックされ)、該より小さいTBは、分割の後のより小さい値のm及びnについてもなおBV[0]>−m及びBV[1]>−nの場合、さらに分割され得る。
例えば、PBのためのBVが(−9,−5)であり、現在のTBが32×32ブロックであると仮定する。エンコーダ及びデコーダは、−9>−32及び−5>−32と決定し、イントラ予測領域(その左上角は変位させた−9,−5である)が現在の32×32TBにオーバーラップすることになると示す。エンコーダ及びデコーダは、32×32TBを4つの16×16TBに分割する。16×16TBの各々について、エンコーダ及びデコーダは、−9>−16及び−5>−16と決定し、イントラ予測領域(その左上角は変位させた−9,−5である)が現在の16×16TBにオーバーラップすることになると示す。エンコーダ及びデコーダは、各々の16×16TBを、連続して、4つの8×8TBに分割する。8×8TBについて、(−9,−5)のBVは問題でなく、ゆえに8×8TBは、さらに分割されるように強制されない。
上記のシナリオにおいて、TBが、BV値とTBのサイズとに起因して分割されるとき、エンコーダは、さもなければ現在のTBをより小さいTBに分割するべきかどうかを信号伝達することになるフラグ値について、信号伝達することをスキップすることができる。エンコードされたデータのビットストリームは、現在のTBをより小さいTBに分割するようにデコーダに向けるフラグ値を欠く。代わって、デコーダは、BV値とTBのサイズとに起因して、TBが分割されるべきであると推論することができる。このことは、さもなければTBを分割することに関する情報を信号伝達するのに費やされることになるビットを、節約することができる。
C.BV値のエンコーディング及びデコーディング
集合的に、イントラBC予測を用いてエンコードされるブロックのBV値は、相当数のビットを消費する可能性がある。BV値は、ビットレートを低減させるようにエントロピーエンコードされることができる。BV値のためのビットレートをさらに低減させるために、エンコーダは、BV値の予測を使用することができる。BV値は、冗長性をしばしば見せる。所与のブロックのためのBV値は、ピクチャの中の前のブロックのBV値としばしば類似し、あるいは同じでありさえする。BV予測について、所与のブロックのためのBV値は、BV予測子を用いて予測される。それから、所与のブロックのためのBV値とBV予測子とにおける差(又は、BV差分)がエントロピー符号化される。典型的には、BV差分は、BV値の水平及び垂直の成分とBV予測子とについて計算される。BV予測がうまく働くとき、BV差分は、効率的なエントロピー符号化をサポートする確率分布を有する。エンコーダ及びデコーダは、BV値をエンコードする/デコードするとき、基本的なBV予測及び/又はマージモード/BV競合を使用することができる。
エンコーディング及びデコーディングの間の基本的なBV予測について、現在のブロックのためのBV値は、1つ以上の前のブロックのBV値に基づいて予測されることができる。例えば、近隣のブロック(例えば、現在のブロックの左のブロック)のBV値が使用されて、現在のブロックのBV値のためのBV予測子を決定することができる。現在のブロックのBV値が(−80,−24)であり、BV予測子が(−80,−32)である場合、(0,8)のBV差分がエントロピーエンコードされる。あるいは、現在のブロックのBV値のためのBV予測子は、複数の近隣のブロック(例えば、現在のブロックの左、上、及び左上に対するブロック)のBV値の、成分観点での中央値又は平均であってもよい。
デコーディングの間、デコーダは、BV値のためのエントロピー符号化されたBV差分を、もしあれば、受信し、エントロピーデコードする。デコーダは、さらに、BV値のためのBV予測子を決定する。(デコーダによって決定されるBV予測子は、エンコーダによって決定されるBV予測子と同じである。)それから、再構成されるBV差が、もしあれば、BV予測子と組み合わせられる。
エンコーダ及びデコーダは、前のブロックからの実際のBV値が利用可能でないとき(例えば、所与のCTUの中の最初のイントラBC予測されたブロックのためのBV値を決定するとき)、デフォルトのBV予測子を使用することができる。例えば、デフォルトBV予測子は、(0,0)であり得る。あるいは、デフォルトBV予測子は(−W,0)又は(−2*W,0)であってもよく、ここで、Wは現在のブロックの幅である。あるいは、デフォルトBV予測子は、(0,−H)又は(0,−2*H)であってもよく、ここで、Hは現在のブロックの高さである。ゼロ値のデフォルトBV予測子と比べて、非ゼロ成分を有するデフォルトBV予測子は、現在のブロックのBV値により近くなる傾向があり、このことは、BV差分についてのより効率的なエントロピー符号化を結果としてもたらす。あるいは、デフォルトBV予測子の成分は、固定された非ゼロ値(例えば、8又は16)を有してもよい。
いずれの場合も、現在のブロックに関してあり得るBV値が特定の検索範囲(例えば、前のセクションにおいて説明されたとおり、現在のCTB及び、現在のCTBの左に対するCTB)内に入るように制約され、BV値が現在のブロックとそのイントラ予測領域とにおけるオーバーラップを結果としてもたらし得ない場合、いくつかの場合において、現在のブロックのためのBV値は、1つのとり得る値だけを有し得る。例えば、(1)現在のCTBが現在のブロックとして単一のCBを有し、(2)BV値の検索範囲が現在のCTB及びその左に対するCTBであり、(3)現在のブロックとそのイントラ予測領域との間でオーバーラップすることが許容されない、という場合、単一のCBのためのBV値は(−W,0)のBV値を有さなければならない。他のBV値は、検索範囲の外側の場所を参照するか、あるいは現在のブロック内の場所を参照するかのいずれかである。この状況において、エンコーダは、現在のブロックのためのBV値(又は、BV差分)を信号伝達することをスキップすることができる。デコーダは、現在のブロックのためのいかなるBV値(又は、BV差分)もパース及びデコードすることなく、条件をチェックして状況を識別し、(−W,0)のBV値を推論することができる。
あるいは、エンコーダ又はデコーダは、現在のブロックのための1つ以上の候補BV値を、空間的に現在のブロックの近くにある再構成されたブロック(例えば、現在のブロックの左に対するブロック、現在のブロックの上のブロック、など)に使用されたBV値の中から決定する。候補BV値は、時間的に現在のブロックの近くにある再構成されたブロックに使用された1つ以上のBV値をさらに含んでもよく、これにおいて、時間的に近隣のブロックは、別のピクチャの中で現在のブロックと対応する位置(例えば、同じ位置又はオーバーラップする位置)にある。候補BV値のリストが、エンコーディング及びデコーディングの間に規則によって決定されて、冗長なBV値を消去することができる。エンコーディングの間、エンコーダは、候補BV値のうちいずれを現在のブロックのためのBV予測子として使用すべきかを示す1つ以上のシンタックス要素を信号伝達することができる。いくつかのモードにおいて、そのBV予測子が現在のブロックのためのBV値として使用されることが可能であり、このことは、現在のブロックのBV値を、候補BV値を提供する近隣のBV値と効率的に「マージする」。あるいは、エンコーダは、BV値とBV予測子とに基づいてBV差を決定し、エンコードしてもよい。デコーディングの間、デコーダは、候補BV値のうちいずれを現在のブロックのためのBV予測子として使用すべきかを示す1つ以上のシンタックス要素を受信することができる。いくつかのモードにおいて、そのBV予測子が現在のブロックのためのBV値として使用されることが可能であり、このことは、現在のブロックのBV値を、候補BV値を提供する近隣のBV値と効率的に「マージする」。あるいは、デコーダはBV差を受信し、デコードしてもよく、該BV差をデコーダがBV予測子と組み合わせて、BV値が再構成される。BV「スキップ」又はBV「直接」モードが提供されることが可能であり、これにおいて、BV予測子(規則により選択される)が現在のブロックのBV値として使用され、残差値は現在のブロックに関して信号伝達されない。ピンポンアプローチを用いたBV予測の例が以下に説明され、これにおいて、エンコーダ及びデコーダは、ブロックのためのBV値を予測するとき、候補BV値のペア間で選択する。
D.イントラBC予測の特徴を組み合わせた例示的な実施
述べられたとおり、イントラBC予測についての前述の特徴は、別個に及び個々に使用されることができる。あるいは、イントラBC予測についての前述の特徴は、組み合わせにおいて使用されてもよい。
例えば、HEVCシンタックスに一般的に従う1つの組み合わせられた実施において、BV値がPUのために信号伝達される(PUは、CU又はCUの一部であり得る)。PUは、1つ以上のTUを含み得る。イントラBC予測処理は、PUのために信号伝達されたBV値を用いて、TB単位基準で、TBのレベルにおいて動作する。(すべてのTBが同じBV値を使用し、現在のTBのためのイントラBC予測は、同じCUにおける他のより早いTBについての、再構成された値を使用することができる。)BV値は、1つ以上の近隣のPUのBV値を用いて(例えば、BV予測に対してピンポンアプローチを用いて)予測されることができる。BV値の選択は、(a)まだエンコード/再構成されていないエリア内にある任意のサンプル値が参照されることを引き起こすことになるBV値を選択することをエンコーダが禁止される(すなわち、現在のTBのためのイントラ予測領域のサンプル値が、デコーディング/ビットストリーム順序において現在のTBの前にくる他のTBによってカバーされたエリアの中であるべきであり;すなわち、所与のTBについて、BV値は、該TBの外側にある領域を参照するように制約される)ように、(b)デコーダにおける必要なメモリ容量を(例えば、参照をBV値に従って現在のCTBと現在のCTBの左に対する1つ又は2つのCTBとの中にあるように制約することによって)低減させるように、及び(C)参照がBV値に従って現在のスライスの外側、現在のタイルの外側、又はピクチャの外側からであることを禁止するように、制約される。
VIII.ブロックベクトル予測におけるイノベーション
本明細書に説明されるイノベーションの一態様に従い、エンコーダ及びデコーダは、「ピンポン」アプローチに従ってブロックベクトル(“BV”)予測を使用する。具体的に、BV予測に対する例示的なピンポンアプローチは、いくつかのシナリオにおいてスクリーンコンテンツビデオをエンコードするとき、符号化効率を向上させる。
例示的なピンポンアプローチにおいて、エンコーダ及びデコーダは、候補BV値のペアを状態情報として維持する。図11は、例示的なピンポンアプローチにおいて使用されることが可能なBVバッファ(1100)における候補BV値のペアを示す。BVバッファ(1100)において、BVバッファ0は第1の初期候補BV値を記憶し、これはBVinit_0とラベル付けされる。BVバッファ1は第2の初期候補BV値を記憶し、これはBVinit_1とラベル付けされる。一般に、BVバッファ0のためのBV値変数はPBV0とラベル付けされることが可能であり、BVバッファ1のためのBV値変数はPBV1とラベル付けされることが可能である。
図12は、例示的なピンポンアプローチに従って候補BV値のペアを記憶することが可能な別のデータ構造(1200)を示す。データ構造(1200)は第1の初期候補BV値を記憶し、これはBVinit_0とラベル付けされ、インデックス値idx0に関連付けられる。第2の初期候補BV値(BVinit_1)は、データ構造(1200)においてインデックス値idx1に関連付けられる。一般に、idx0に関連付けられるBV値変数はPBV0とラベル付けされることが可能であり、idx1に関連付けられるBV値変数はPBV1とラベル付けされることが可能である。
別法として、エンコーダ及びデコーダは、別のデータ構造を使用して、ピンポンアプローチに従ってBV予測のための候補BV値のペアを追跡する。
例示的なピンポンアプローチに従い、候補BV値のペアから、エンコーダは、PUのBV値に使用するBV予測子を選択する。例えば、PUが、選択された候補BV値でイントラBC予測を用いてエンコードされることになるとき、エンコーダは、参照されるイントラ予測領域が何らかのメトリック(例えば、絶対差の和、平均二乗誤差)によってPUに最も近くマッチするための候補BV値を選択する。あるいは、PUが、イントラBC予測に使用されることになる(BV推定を通して識別された)BV値を有するとき、エンコーダは、PUのためのBV値に最も近くマッチする候補BV値を選択する。上記選択は、最小のBV差分を結果としてもたらし、このことは、エントロピー符号化の効率を向上させる傾向がある。
BV値について、エンコーダは、候補BV値のペアのうち選択された1つを示すフラグ値を信号伝達して、デコーダに、候補BV値のペアのうちいずれがBV予測子として使用されるべきであるかを示す。フラグ値は、固定長値としてエントロピー符号化され、あるいは信号伝達されることができる。フラグ値は、ビットストリームの中で別個のシンタックス要素として(条件付きで)信号伝達されてもよく、あるいは、フラグ値は、ビットストリームの中で別のシンタックス要素と共同で信号伝達されてもよい。
候補BV値のペアの中の各候補BV値が、等しくBV予測子である可能性があるとき、フラグ値は、固定長値(例えば、1ビット)として、あるいはバイパスモードにおいてバイナリ算術符号化を用いて(2つのとり得る値が等しく見込みがあると仮定して)効率的に信号伝達されることができる。第1の値(例えば、0)が第1の候補BV値の選択を示し、第2の値(例えば、1)が第2の候補BV値の選択を示す。フラグ値は、さらに、候補BV値のペアのうち一方が他方よりさらに可能性があるとき、固定長値として信号伝達されてもよく、しかし、符号化効率は低減される可能性がある。
ペアの中の候補BV値のうち1つが、BV予測子として選択される可能性がより大きいとき、コンテキストベースの算術符号化を使用してフラグ値を信号伝達することが、より効率的である可能性がある。例えば、フラグ値の確率内容が、スライスについて符号化又はデコーディングが始まるときに、2つのとり得るフラグ値の確率を等しくするように初期化され、それから、符号化/デコーディングの間に、異なるフラグ値の発生について説明をするように更新されることが可能である。BV予測子フラグ値のための別個のコンテキストを有することは、符号化効率を向上させる可能性があり、しかし、コンテキストモデル化等に起因して、エンコーディング及びデコーディングの複雑さを追加する。典型的に、より頻繁に選択されるように予期される候補BV値は、第1のBVバッファ(例えば、BVバッファ0)に記憶され、第1のフラグ値を用いて示され、あまり頻繁に選択されないように予期される候補BV値は、他のBVバッファ(例えば、BVバッファ1)に記憶され、他のフラグ値を用いて示される。ゆえに、第1のBVバッファを示すフラグ値が、平均で、算術符号化において、より小さい数の小数ビット(fractional bits)を用いてエンコードされることができる。しかしながら、いくつかのコンテンツについて、より一般的な候補BV値が、他のBVバッファ(例えば、BVバッファ1)に記憶され、コンテキストモデル化が、BV予測子分布における変更について説明をしてもよい。
デコーダは、BV値のためのフラグ値をパースし/デコードし、フラグ値を使用して、候補BV値のペアのうちいずれがBV値のためのBV予測子であるかを決定する。デコーダは、選択された候補BV値をBV予測子として使用する。
エンコーダ及びデコーダは、いずれのBV値が候補BV値のペアの中にあるかを追跡し、更新する。前のピンポンアプローチにおいて、新しいBV値が生成される(又は、再構成される)とき、ペアの中のより古い候補BV値(PBV1)は、ペアの中のより新しいBV値(PBV0)で置換され、ペアの中のより新しいBV値(PBV0)は、ちょうど生成された/再構成されたBV値(BVnew)で置換される。(すなわち、PBV1=PBV0、及び、PBV0=BVnewである。)候補BV値のペアは、各BV値が生成され又は再構成されるとき、更新される。
本明細書に説明される例示的なピンポンアプローチにおいて、エンコーダ及びデコーダは、BV値が生成され又は再構成された後、該BV値を含むように、候補BV値のペアを自動的に更新することができる。しかしながら、このことは、候補BV値のペアが2つの同一の候補BV値を有することを結果としてもたらす可能性がある。上記の状況において、エンコーダ(双方の候補BV値が同一であると認識する)は、候補BV値のペア間における選択を示すフラグ値を信号伝達することをスキップすることができ、デコーダ(双方の候補BV値が同一であると認識する)は、同一の候補BV値のうちいずれかをBV予測子として単に使用することに代わって、フラグ値をパースすることをスキップすることができる。
あるいは、本明細書に説明される例示的なピンポンアプローチにおいて、エンコーダ及びデコーダは、候補BV値のペア(及び、BVバッファ)を選択的に更新して、同一の候補BV値を有することを回避することができる。エンコーダ又はデコーダは、新しいBV値が、ペアの中に残ることになる候補BV値に等しくないときのみ、候補BV値のペアを更新する。新しいBV値が、ペアの中に残ることになる候補BV値に等しい場合、エンコーダ又はデコーダは、更新動作をスキップする。例えば、エンコーダ又はデコーダは、候補BV値のペア(PBV0及びPBV1)を選択的に更新して、新しいBV値BVnewを下記の、
if(BVnew!=PBV0){
PBV1=PBV0;
PBV0=BVnew
}else{
do nothing;

として含む。条件BVnew!=PBV0をテストすることによって、エンコーダ及びデコーダは、PBV0がPBV1に等しい状況を回避し、この場合、BV予測子を示すフラグ値は無駄にされる。一方、条件をチェックすることはBV予測に対する複雑さを追加し、このことは、リソース要件を所与として許容可能でなく、あるいは符号化効率におけるゲインによって正当化される可能性がある。
例えば、PBV0が(−12,0)であり、PBV1が(−16,0)であると仮定する。BVnewが(−17,0)である場合、(−12,0)はPBV1の(−16,0)に取って代わり、(−17,0)はPBV0の(−12,0)に取って代わる。PBV1からの前のBV値(−16,0)は破棄される。一方、BVnewが(−12,0)である場合、BVnewがPBV0にマッチするので、PBV0及びPBV1は変更されない。BVnewがPBV1にマッチする場合(この例において、双方(−16,0))、PBV0及びPBV1の順序が効率的に切り替えられる。(−12,0)がPBV1の(−16,0)に取って代わり、(−16,0)(BVnewのための)がPBV0の(−12,0)に取って代わる。
本明細書に説明される例示的なピンポンアプローチにおいて、4つのPUを有するCUについて、エンコーダ及びデコーダは、BV予測に使用される候補BV値のペアを更新するとき、異なるパターンを使用する。概念的に、上記異なるパターンは、PUレベル更新とは対照的に、候補BV値のペアのCUレベル更新を使用する。BV予測がCUについて終了された後、候補BV値のペアは、CUについての最初の2つのPUのBV値、BVバッファ0におけるPU1のためのBV値とBVバッファ1におけるPU0のためのBV値とを含む。対照的に、前のピンポンアプローチに従って、BV予測がCUについて終了された後、候補BV値のペアは、CUについての最後の2つのPUのBV値を含み、該2つのPUは、PU3及びPU2であり得る。
別法として、エンコーダ及びデコーダは、BV予測に使用される候補BV値のペアを更新するとき、異なるパターンを使用することができる。フラグ値が、固定長値を用いて符号化される場合、例えば、エンコーダ及びデコーダは、ちょうど生成され又は再構成されたBV値で2つのバッファを更新することの間で「トグルする(toggle)」(交互にする)ことができる。こうして、エンコーダ及びデコーダは、(より新しい候補BV値を、より古い候補BV値の箇所にシフトし、それから、新しいBV値を、より新しい候補BV値の前の箇所に追加することに代わって)単一の動作を使用して、より古い候補BV値を置換することができ、しかし、エンコーダ及びデコーダは、どのBVバッファが次に更新されるべきであるかを追跡する必要がある。さらに、トグルすることは、コンテキスト適応バイナリ算術符号化と干渉することによって、フラグ値の符号化効率を損ねる可能性がある。
実際のBV値が、候補BV値としての使用に利用可能でないとき(例えば、CTUの最初のCUを符号化又はデコードする前)、候補BV値のペアは、デフォルト値に初期化されることができる。例えば、候補BV値の双方が(−2W,0)に初期化され、ここでWはCUの幅である。あるいは、候補BV値のうち一方が(−2W,0)に初期化されることが可能であり、他方の候補BV値が(0,−2H)に初期化されることが可能であり、ここでHはCUの高さである(及び、Wと同じであり得る)。あるいは、候補BV値は、別の値、例えば、(−W,0)又は(0,−H)などに初期化されることが可能である。あるいは、簡潔さのために、実際のCUサイズに依存するデフォルト値を使用することに代わって、候補BV値は、固定値、例えば、(−8,0)、(−16,0)、(0,−8)、(0,−16)など、又は、ビットストリームの中で信号伝達される値に初期化されることが可能である。このことは、例えば、サイズ8又は16のCUがイントラBC予測について最も一般的であるとき、適切であり得る。いずれの場合も、BV予測の開始の後、実際のBV値が、候補BV値のペアの中のデフォルトBV値を置換する。
下記の例のすべてにおいて、別段示されない限り、BVバッファ0は「好まれた」候補BV値を記憶し、この値は、BVバッファ1に記憶された他の候補BV値よりも選択される可能性が大きい。コンテキスト適応バイナリ算術符号化が、より一般的なBV予測子フラグ値のより高い確率を活用して、フラグ値の符号化効率を向上させることができる。
A.2N×2N CUの、2N×2N PUのための例示的なBV予測
図13は、例示的なピンポンアプローチに従う、2N×2N CUの、2N×2N PUのためのBV予測の一例を示す。2N×2NのCUは単一の2N×2NのPU(PU0)を含み、そのBVは候補BV値のペアを用いて予測される。
図13において、BVバッファ0は、第1の初期候補BV値BVinit_0(PBV0)を最初記憶し、BVバッファ1は、第2の初期候補BV値BVinit_1(PBV1)を最初記憶する。単一の2N×2NのPU(PU0)のためのBV値は、2N×2NのPUのためのフラグ値によって示されるとおり、PBV0又はPBV1のいずれかを用いて予測される。PU0のためのBV値は、選択されたBV予測子を用いて(例えば、エンコーディング又はデコーディングの間に)処理される。
それから、候補BV値のペアは、下記のとおり更新される。PBV1が、PBV0で置換され、PBV0が、PU0のためのBV値で置換される。すなわち、PBV1=PBV0、及び、PBV0=BV PU0である。図13において、BVバッファ1は、BVinit_0を記憶するように更新され、BVバッファ0は、PU0のためのBV値(BVPU0)を記憶するように更新される。別法として、上記で説明されたとおり、エンコーダ又はデコーダは、新しいBV値BVnew(ここでは、BVPU0)がPBV0に等しいかどうかに依存して、候補BV値のペア(及び、BVバッファ)を選択的に更新する。
B.2N×2N CUの、N×N PUのための例示的なBV予測
図14は、例示的なピンポンアプローチに従う、2N×2N CUの、4つのN×N PUのためのBV予測の一例を示す。2N×2NのCUは4つのN×NのPU(PU0、PU1、PU2、及びPU3)を含み、それらのBV値は候補BV値のペアを用いて予測され、該ペアはCUのためのBV予測処理の間に更新される。
図14において、BVバッファ0は、第1の初期候補BV値BVinit_0(PBV0)を最初記憶し、BVバッファ1は、第2の初期候補BV値BVinit_1(PBV1)を最初記憶する。第1のN×NのPU(PU0)のためのBV値は、PU0のためのフラグ値によって示されるとおり、PBV0又はPBV1のいずれかを用いて予測される。PU0のためのBV値(BVPU0)は、選択されたBV予測子を用いて(例えば、エンコーディング又はデコーディングの間に)処理される。
それから、候補BV値のペアは、PBV1をPBV0で置換することによって、及び、PBV0をPU0のためのBV値で置換することによって、更新される。すなわち、PBV1=PBV0、及び、PBV0=BVPU0である。図14において、BVバッファ1は、BVinit_0を記憶するように更新され、BVバッファ0は、BVPU0を記憶するように更新される。別法として、上記で説明されたとおり、エンコーダ又はデコーダは、新しいBV値BVnew(ここでは、BVPU0)がPBV0に等しいかどうかに依存して、候補BV値のペア(及び、BVバッファ)を選択的に更新する。
次いで、第2のN×NのPU(PU1)のためのBV値が、PU1のためのフラグ値によって示されるとおり、PBV0(図14において、その左の近隣のBVPU0)又はPBV1(図14において、BVinit_0)のいずれかを用いて予測される。PU1のためのBV値(BVPU1)は、選択されたBV予測子を用いて(例えば、エンコーディング又はデコーディングの間に)処理される。
それから、候補BV値のペアは、PBV1をPBV0置換することによって、及び、PBV0をPU1のためのBV値で置換することによって、更新される。すなわち、PBV1=PBV0、及び、PBV0=BVPU1である。図14において、BVバッファ1は、BVPU0を記憶するように更新され、BVバッファ0は、BVPU1を記憶するように更新される。別法として、上記で説明されたとおり、エンコーダ又はデコーダは、新しいBV値BVnew(ここでは、BVPU1)がPBV0に等しいかどうかに依存して、候補BV値のペア(及び、BVバッファ)を選択的に更新する。
次いで、第3のN×NのPU(PU2)のためのBV値が、PU2のためのフラグ値によって示されるとおり、PBV0(図14において、その右上の近隣のBVPU1)又はPBV1(図14において、その上の近隣のBVPU0)のいずれかを用いて予測される。このフラグ値について、BVバッファ1は、BVバッファ0でなく、好まれる候補BV値を記憶する。上記調整は、BVPU0(上の近隣)がBVPU1(右上の近隣)よりも可能性の大きい候補であることについて説明をする。PU2のためのBV値(BVPU2)は、選択されたBV予測子を用いて(例えば、エンコーディング又はデコーディングの間に)処理される。その後、BVバッファ0の中の候補BV値(図14において、BVPU1)とBVバッファ1の中の候補BV値(図14において、BVPU0)は、変更されない。
最後、第4のN×NのPU(PU3)のためのBV値が、PU3のためのフラグ値によって示されるとおり、別の場所にバッファされるPU2のためのBV値(BVPU2)、又はPBV1(図14において、その上の近隣のBVPU1)のいずれかを用いて予測される。このフラグ値について、BVバッファ0は、再度、好まれる候補BV値を記憶し、しかしながら、他方の候補BV値は、BVバッファ1に記憶されていない。PU3のためのBV値(BVPU3)は、選択されたBV予測子を用いて(例えば、エンコーディング又はデコーディングの間に)処理される。その後、BVバッファ0及びBVバッファ1の中の候補BV値は、変更されない。図14において、CUについての4つのN×NのPUのためのBV予測の終わりにおいて、候補BV値のペアは、BVPU1(BVバッファ0の中)とBVPU0(BVバッファ1の中)である。
対照的に、前のピンポンアプローチに従い、2N×2N CUの、N×N PUのためのBV予測について、BV値が生成され又は再構成されるとき、BVバッファ0の中の候補BV値はBVバッファ1に移動され、ちょうど生成された/再構成されたBV値はBVバッファ0に記憶される。2N×2NのCUの、4つのN×NのPUのためのBV予測の終わりにおいて、候補BV値のペアは、BVPU3(BVバッファ0の中)とBVPU2(BVバッファ1の中)であることになる。実施において、前のピンポンアプローチに対していくつかの欠点が存在する。次のCUが単一の2N×2NのPUを有する場合、大抵、現在のCUのBVPU0が最良のBV予測子であることになり、しかし、現在のCUのBVPU0は候補BV値のうちの1つとして保有されない。あるいは、次のCUが2つのN×2NのPUを有する場合、大抵、現在のCUのBVPU0及びBVPU1が、それぞれ、次のCUのPU0及びPU1のための最良のBV予測子であることにあり、しかし、現在のCUのBVPU0及びBVPU1は候補BV値として保有されない。
しかしながら、本明細書に説明される例示的なピンポンアプローチに従い、(図14に示されるとおり)2N×2NのCUについてのN×NのPUのためのBV予測の後、候補BV値のペアは、BVPU1(BVバッファ0の中)とBVPU0(BVバッファ1の中)である。これは、次のCUのBV予測に最も有用である可能性のある候補BV値を保有する。
C.2N×2N CUの、N×2N PU又は2N×N PUのための例示的なBV予測
図15は、例示的なピンポンアプローチに従う、2N×2N CUの、2つのN×2N PU又は2つの2N×N PUのためのBV予測の一例を示す。2N×2NのCUは2つのN×2NのPU(左のPU0及び右のPU1)又は2つの2N×NのPU(上のPU0及び下のPU1)を含み、そのBV値は候補BV値のペアを用いて予測され、該ペアはCUのためのBV予測処理の間に更新される。
図15において、BVバッファ0は、第1の初期候補BV値BVinit_0(PBV0)を最初記憶し、BVバッファ1は、第2の初期候補BV値BVinit_1(PBV1)を最初記憶する。第1のPU(PU0)のためのBV値は、PU0のためのフラグ値によって示されるとおり、PBV0又はPBV1のいずれかを用いて予測される。PU0のためのBV値(BVPU0)は、選択されたBV予測子を用いて(例えば、エンコーディング又はデコーディングの間に)処理される。
それから、候補BV値のペアは、PBV1をPBV0で置換することによって、及び、PBV0をPU0のためのBV値で置換することによって、更新される。すなわち、PBV1=PBV0、及び、PBV0=BVPU0である。図15において、BVバッファ1は、BVinit_0を記憶するように更新され、BVバッファ0は、BVPU0を記憶するように更新される。別法として、上記で説明されたとおり、エンコーダ又はデコーダは、新しいBV値BVnew(ここでは、BVPU0)がPBV0に等しいかどうかに依存して、候補BV値のペア(及び、BVバッファ)を選択的に更新する。
次いで、第2のPU(PU1)のためのBV値が、PU1のためのフラグ値によって示されるとおり、PBV0(図15において、その近隣のBVPU0)又はPBV1(図15において、BVinit_0)のいずれかを用いて予測される。PU1のためのBV値(BVPU1)は、選択されたBV予測子を用いて(例えば、エンコーディング又はデコーディングの間に)処理される。
それから、候補BV値のペアは、PBV1をPBV0置換することによって、及び、PBV0をPU1のためのBV値で置換することによって、更新される。すなわち、PBV1=PBV0、及び、PBV0=BVPU1である。図15において、BVバッファ1は、BVPU0を記憶するように更新され、BVバッファ0は、BVPU1を記憶するように更新される。別法として、上記で説明されたとおり、エンコーダ又はデコーダは、新しいBV値BVnew(ここでは、BVPU1)がPBV0に等しいかどうかに依存して、候補BV値のペア(及び、BVバッファ)を選択的に更新する。
D.ピンポンアプローチに従う例示的なBV予測手法
図16は、例示的なピンポンアプローチに従う、複数のPUを有するCUのためのBV値を予測する一例示的な手法を示す。CUは、一般に、エンコーディング及びデコーディングの目的の1つ以上のブロックのセットであり、PUの各々は、予測情報及び/又は予測処理を信号伝達する目的の、CU内の1つ以上のブロックのセットである。画像エンコーダ若しくはビデオエンコーダ、例えば、図3若しくは図5a〜図5bを参照して説明されるものなど、又は他のエンコーダが、手法(1600)を実行することができる。あるいは、画像デコーダ若しくはビデオデコーダ、例えば、図4若しくは図6を参照して説明されるものなど、又は他のデコーダが、手法(1600)を実行することができる。
始め、候補BV値のペアは、第1の初期候補BV値BVinit_0(PBV0)と第2の初期候補BV値BVinit_1(PBV1)であり、これらはそれぞれ、BVバッファ0及び1に記憶される。
現在のピクチャの現在のCUの複数のPUの各々について、エンコーダ又はデコーダは、候補BV値のペアのうち1つを用いて、PUのBV値を予測する(1610)。フラグ値が、候補BV値のペア間における選択を示す。候補BV値のペアは、CUの異なるPUについて、異なることが可能である。例えば、現在のCUが4つのPUを含むとき、第1のPUについて、候補BV値PBV0及びPBV1のペアは、それぞれ、BVinit_0及びBVinit_1であり得る。第2のPUについて、候補BV値PBV0及びPBV1のペアは、それぞれ、第1のPUのBV値(BVPU0)及びBVinit_0であり得る。第3のPUについて、候補BV値PBV0及びPBV1のペアは、それぞれ、第2のPUのBV値(BVPU1)及びBVPU0であり得る。最後、第4のPUについて、候補BV値のペアは、BVPU1及び第3のPUのBV値(BVPU2)であり得る。
それから、エンコーダ又はデコーダは、PUの予測された値を用いて、PUのBV値を処理する(1620)。例えば、エンコードしている間、エンコーダは、PUのBV値と予測されたBV値とを用いて、BV差分値を決定する。あるいは、デコードしている間、デコーダは、予測されたBV値に少なくとも部分的に基づいて、PUのBV値を再構成する。
BVバッファは、(新しいBV値BVnewがPBV0に等しいかどうかに依存して)自動的に又は選択的に更新されることができる。例えば、(図14に示されるとおり、)現在のCUが4つのPUを含むとき、第1のPU(PU0)のBV予測の前、BVバッファ0がBVinit_0を記憶し、BVバッファ1がBVinit_1を記憶する。第2のPU(PU1)のBV予測の前、BVバッファ0はBVPU0を記憶し、BVバッファ1はBVinit_1を記憶する。第3のPU(PU2)のBV予測の前、BVバッファ0はBVPU1を記憶し、BVバッファ1はBVPU0を記憶する。PU2の処理の後、BVバッファ0はBVPU1を保有し、BVバッファ1はBVPU0を保有する。
現在のCUのBV予測の後、BVバッファに対する更新が発生したとき、候補BV値のペアは現在のCUのBVPU1及びBVPU0である。これらは、現在のピクチャの後のCUのBV予測のための、初期候補BV値であることになる。ゆえに、現在のCUが4つのPUを含むとき、候補BV値の最終的なペアは、現在のCUの第1及び第2のPUのBV値が現在のCUの第3及び第4のPUのBV値の前に処理されたとしても、現在のCUの第1及び第2のPUのBV値を含むことができる。
図17は、例示的なピンポンアプローチに従う、BVバッファの選択的な更新を用いた、CUのためのBV値を予測する別の例示的な手法を示す。画像エンコーダ若しくはビデオエンコーダ、例えば、図3若しくは図5a〜図5bを参照して説明されるものなど、又は他のエンコーダが、手法(1700)を実行することができる。あるいは、画像デコーダ若しくはビデオデコーダ、例えば、図4若しくは図6を参照して説明されるものなど、又は他のデコーダが、手法(1700)を実行することができる。
エンコーダ又はデコーダは、現在のピクチャの複数のCUを処理する。例えば、エンコーダは、複数のCUをエンコーディングの一部として処理し、エンコードされたデータをビットストリームの一部として出力する。あるいは、デコーダは、複数のCUをデコーディングの一部として処理し、再構成されたサンプル値を出力する。複数のCUのうちのいずれの所与のCUも、単一のPU又は複数のPUを含むことができる。
始め、候補BV値のペアは、第1の初期候補BV値BVinit_0(PBV0)と第2の初期候補BV値BVinit_1(PBV1)であり、これらはそれぞれ、BVバッファ0及び1に記憶される。
複数のCUのうちの所与のCUについて、エンコーダ又はデコーダは、所与のCUが単一のPU又は複数のPUを有するかどうかをチェックする(1710)。所与のCUが単一のPUを有する場合、エンコーダ又はデコーダは、候補BV値のPBV0及びPBV1(図17において、BVinit_0及びBVinit_1)のうち1つを用いて単一のPUのためのBV値を予測し(1720)、これにおいて、フラグ値が候補BV値のペア間における選択を示す。エンコーダ又はデコーダは、予測されたBV値を用いて単一のPUのためのBV値を処理する(1730)。エンコーダ又はデコーダは、PUのBV値(BVPU0)がBVバッファ0に記憶されたBV値(BVinit_0)に等しいかどうかに依存して、BVバッファ0及び1を選択的に更新する。例えば、エンコーダ又はデコーダは、BVPU0とBVバッファ0に記憶されたBV値(BVinit_0)とを比較する。BVPU0がBVバッファ0に記憶されたBV値(BVinit_0)と異なる場合、エンコーダ又はデコーダは、BVバッファ1にBVバッファ0からのBV値(BVinit_0)を記憶し、BVバッファ0にBVPU0を記憶する。
上記処理(1730)の後、BVバッファに対する更新が発生したとき、BVバッファ0は単一のPUのためのBV値(BVPU0)を記憶し、BVバッファ1はBVinit_0を記憶する。エンコーダ又はデコーダは、ピクチャの次のCUで継続すべきかどうかをチェックする(1740)。そうである場合、バッファされたBV値のペアは、次のCUのための初期候補BV値BVinit_0及びBVinit_1として扱われる。
そうでない場合、所与のCUが複数のPUを有するとき、エンコーダ又はデコーダは、所与のCUのPUのためのBV予測及び処理を実行する。所与のCUの複数のPUの各々について、エンコーダ又はデコーダは、候補BV値PBV0及びPBV1のペア(当初BVinit_0及びBVinit_1であり、しかし後に更新される)のうち1つを用いて、PUのBV値を予測する(1750)。PUのためのフラグ値が、候補BV値のペア間における選択を示す。エンコーダ又はデコーダは、予測されたBV値を用いてPUのBV値を処理する(1760)。PUが所与のCUの第1又は第2のPUである場合、エンコーダ又はデコーダは、PUのBV値(BVPUx)がBVバッファ0に記憶されたBV値(PBV0)に等しいかどうかに依存して、バッファ0及び1を選択的に更新する。例えば、エンコーダ又はデコーダは、BVPUxとPBV0とを比較する。BVPUxがPBV0と異なる場合、エンコーダ又はデコーダは、BVバッファ1にPBV0を記憶し、BVバッファ0にBVPUxを記憶する。
エンコーダ又はデコーダは、PUが所与のCUにおける最後のPUであるかどうかをチェックする(1770)。そうでない場合、エンコーダ又はデコーダは、所与のCUの次のPUのためのBV予測で継続する(1750)。例えば、PUは、2N×2NのCUについての、4つのN×Nブロック、2つのN×2Nブロック、又は2つの2N×Nブロックである。
所与のCUの最後のPUの処理(1760)の後、BVバッファに対する双方の更新が発生したとき、BVバッファ0は所与のCUの第2のPUのためのBV値(BVPU1)を記憶し、BVバッファ1は所与のCUの第1のPUのためのBV値(BVPU0)を記憶する。エンコーダ又はデコーダは、ピクチャの次のCUで継続すべきかどうかをチェックする(1740)。そうである場合、バッファされたBV値のペアBVPU1及びBVPU0は、次のCUのための初期候補BV値BVinit_0及びBVinit_1として扱われる。
IX.イントラブロックコピー予測モードのエンコーダ側オプション
本セクションは、イントラブロックコピー(“BC”)予測のエンコーダ側オプションのための様々なイノベーションを提示する。イノベーションのいくつかは、ブロックについて同時的にブロックベクトル(“BV”)推定を実行すること及びブロック分割判断を行うことに関する。別のイノベーションが、BV推定の間に複数のブロックをより大きいブロックに選択的にマージすることに関する。さらに別のイノベーションが、BV推定の間に現在のブロックのオーバーラップエリア内のサンプル値を推定することに関する。一般に、上記イノベーションは、イントラBC予測の符号化効率を向上させる。
BV推定の一部として、エンコーダは、いくつかのアプローチのうち任意のものを使用することができる。エンコーダはフル検索を使用し、検索範囲の中で許容されるあらゆる候補BV値を評価することができる。あるいは、エンコーダは部分検索を使用し、検索範囲の中で許容される候補BV値のいくつかのみを評価することができる。例えば、エンコーダは、(例えば、1つ以上の近隣のブロックについてのBV値に基づいて予測された)現在のブロックのための予測されたBV値において部分検索を開始することができる。部分検索の開始位置において候補BV値を評価した後、エンコーダは、(例えば、らせん状検索パターン又は何らかの他のパターンに従って)開始位置から増加する距離における1つ以上の他の候補BV値を評価することができる。所与の候補BV値を評価するとき、エンコーダは、イントラ予測領域と現在のブロックとの中のすべてのサンプル値を比較することができる。あるいは、エンコーダは、サンプル値のサブセット(すなわち、値が評価されるサブサンプル)を評価することができる。イントラ予測領域と現在のブロックとにおけるサンプル値を比較して歪みコストを決定するとき、エンコーダは、平均二乗誤差、二乗された差の和、絶対差の和、又は歪みについての何らかの他の測定を計算することができる。エンコーダは、候補BV値のエンコーディングに関連付けられたレートコストをさらに決定することができる。
エンコーディングの間、様々な段階において、エンコーダはレート歪み最適化(“RDO”)を使用することができ、これにおいて、様々なオプションのレートコスト及び歪みコストが評価される。一般に、オプションのレート歪みコストは、D+λR(又は、R+λD)によって与えられ、ここで、Rは、エンコードされたデータのビットの観点におけるレートコストを表し、Dは、平均二乗誤差又は知覚的歪み測定などのメトリックを用いた歪みコストを表し、λは、歪みコストDと比較してレートコストRを重み付けするラグランジュの乗数(Lagrangian multiplier)(重み付けパラメータの例)である。エンコーダは、典型的に、最も低いレート歪みコストを与えるオプションを選択する。
A.BV推定の間における複数ブロックのより大きいブロックへの選択的マージ
BV推定の間、エンコーダは、複数のブロックをより大きいブロックにマージすることができる。こうして、エンコーダは、BV情報を信号伝達するために使用されるビットの数を低減することができる。具体的に、イントラBC予測がTB単位基準(TB-by-TB basis)で実行されるとき、エンコーダは、TBとそのイントラ予測領域とにおけるオーバーラップを回避するようにイントラBC予測の間にCBをより小さいTBに分割することに依存して、CB単位基準(CB-by-CB basis)でBV推定を実行し、それから、小さい複数のCBをより大きいCBにマージすることができる。
図18は、BV推定の間に複数のブロックをより大きいブロックに選択的にマージする手法(1800)を示す。手法(1800)は、画像エンコーダ若しくはビデオエンコーダ、例えば、図3若しくは図5a〜図5bを参照して説明されるものなどによって、又は別のエンコーダによって実行されることができる。
この手法に従い、エンコーダがイントラBC予測を用いてピクチャのデータをエンコードするとき、第1のサイズを有する複数のブロックの各々について、エンコーダは、BV推定を用いてBV値を識別する(1810)。第1のサイズは、8×8、16×16、32×32、又は何らかの他のサイズであり得る。一般に、第1のサイズを有するブロックの各々について、BV推定は、候補BV値のコストを決定することを含む。コストは、レートコスト及び/又は歪みコストを含むことができる。識別されたBV値は、第1のサイズを有するブロックにオーバーラップしないイントラ予測領域を参照する。
エンコーダは、複数のブロックのうち2つ又はそれ以上を、第1のサイズより大きい第2のサイズを有するブロックに選択的にマージする(1820)。第2のサイズは、16×16、32×32、64×64、又は何らかの他のサイズであり得る。例えば、エンコーダは、第1のサイズを有する複数のブロックの中の2つ以上の隣接ブロックについてのBV値を比較し、比較されたBV値が同一である場合、該2つ以上の隣接ブロックを第2のサイズを有するブロックにマージする。第2のサイズを有するブロックは、同一のBV値を割り当てられる。第1のサイズを有するブロックとは違って、BV値は、第2のサイズを有するブロックにオーバーラップするイントラ予測領域を参照する可能性がある。
エンコーダは、別のブロックについて、手法(1800)を繰り返すことができる。最終的に、エンコーダは、ピクチャのためのエンコードされたデータを出力する。
いくつかの例示的な実施において、第1のサイズを有する複数のブロックの各々がCBであり、第2のサイズを有するブロックもまたCBである。しかしながら、イントラBC予測は、TB単位基準で実行される。BV推定は、第1のサイズを有する複数のブロックの各々について、検索範囲のフル検索を使用することができる。あるいは、BV推定は、第1のサイズを有する複数のブロックの各々について、検索範囲の部分検索を使用し、例えば、ブロックのための予測されたBV値で始まり、可能性として、評価された候補BV値のコストに少なくとも部分的に依存して部分検索を終了することができる。
図19は、BV推定の間に複数のブロックをより大きいブロックに選択的にマージすること(1900)の利点を例示する。図19において、0、1、2、及び3と番号付けされた(薄い実線で示された)4つのブロックが、それぞれ、対応するイントラ予測領域0’、1’、2’、及び3’を参照するBV値を有する。すなわち、BV値は、ブロック0についてイントラ予測領域0’を参照し、ブロック1’についてイントラ予測領域1を参照する、などする。イントラ予測領域は、点線で示される。ブロック0、1、2、又は3のいずれも、その対応するイントラ予測領域にオーバーラップしない。しかしながら、ブロック0、1、2、及び3を含む(濃い実線で示された)より大きいブロックは、その対応するイントラ予測領域にオーバーラップする。エンコーダが、より大きいブロックのBV推定を実行することになる場合、イントラ予測領域とブロックとの間におけるオーバーラップが禁止されているとき、エンコーダは、図19に示されるBV値を許容可能なBV値として識別することができないことになる。対照的に、エンコーダが、より小さいブロック0、1、2、及び3のBV推定を実行するとき、エンコーダは、すべての4つのブロックについて同じBV値を識別し、エンコーダは、4つのブロックを、同じBV値を有するより大きいブロックにマージすることができる。エンコーディング又はデコーディングの間、より大きいブロックは、実際のイントラBV予測オプションのために、より小さいブロックに分割されることになる。例えば、所与のサイズを有するCBが、TBとそのイントラ予測領域とにおけるオーバーラップなしの、TB単位基準でのイントラBC予測動作の実行のために、より小さいTBに分割される。
B.同時的なブロックベクトル推定及びブロック分割判断
エンコーダは、現在のブロックについて同時的にBV推定及びブロック分割判断を実行することができる。具体的に、イントラBC予測動作がTB単位基準で実行されるとき、エンコーダは、現在のブロックのための候補BV値ととり得るブロック分割判断とを同時的に評価することができる。
図20は、ブロックについて同時的にBV推定を実行すること及びブロック分割判断を行うことのための一般化された手法を例示するフローチャートである。この手法(2000)は、画像エンコーダ若しくはビデオエンコーダ、例えば、図3若しくは図5a〜図5bを参照して説明されるものなどによって、又は別のエンコーダによって実行されることができる。
エンコーダが、イントラBC予測を用いてピクチャのデータをエンコードするとき、エンコーダは、現在のブロックのデータをエンコードする(2010)。エンコーディング(2010)の一部として、エンコーダは、BV推定動作及びブロック分割判断動作を同時的に実行する。いくつかの例示的な実施において、現在のブロックは、サイズにおいてTBに対応するCBであり、イントラBC予測はTB単位基準で実行される。例えば、エンコーディング(2010)の一部として、エンコーダは、図21に示される手法(2100)を実行して、現在のブロックのための候補BV値ととり得るブロック分割判断とを同時的に評価する。
図21は、ブロックについての候補BV値及びブロック分割判断を同時的に評価する一例示的な手法を示すフローチャートである。この手法(2100)は、画像エンコーダ若しくはビデオエンコーダ、例えば、図3若しくは図5a〜図5bを参照して説明されるものなどによって、又は別のエンコーダによって実行されることができる。
エンコーダは、BV推定動作を用いて現在のブロックの候補BV値を識別する(2110)。現在のブロックは第1のサイズを有する。例えば、第1のサイズは、8×8、16×16、32×32、64×64、又は何らかの他のサイズである。
エンコーダは、現在のブロックを分割すべきかどうかをチェックする(2120)。例えば、エンコーダは、現在のブロックのための候補BV値を有するイントラBC予測が、現在のブロックと候補BV値により参照されるイントラ予測領域とにおけるオーバーラップをもたらすかどうかを評価する。
チェック(2120)の結果に依存して、エンコーダは、現在のブロックを、各々が第1のサイズより小さい第2のサイズを有する複数のブロックに選択的に分割する(2130)。例えば、第2のサイズは、4×4、8×8、16×16、32×32、又は何らかの他のサイズである。それから(現在のブロックが分割されて)、エンコーダは、より小さいブロックの各々について、この手法(2100)を繰り返す(2140)。すなわち、第2のサイズを有するブロックの各々について、エンコーダは、第2のサイズを有するブロックが現在のブロックとして扱われる状態で、識別すること、評価すること、選択的に分割すること等を繰り返す。
一方、現在のブロックが分割されない場合、エンコーダは現在のブロックをエンコードし(2150)、現在のブロックをエンコードすることのコストを測定する(2160)。例えば、エンコーダが現在のブロックをエンコードするとき、エンコーダは、(a)現在のブロックのサンプル値をイントラBC予測を用いて予測し、(b)予測されたサンプル値と現在のブロックのサンプル値とを用いて、現在のブロックのための残差値を決定し、(c)場合により、残差値に周波数変換を適用して、変換係数を生成し、変換係数を量子化し、(d)場合により、変換係数を逆量子化し、逆周波数変換を適用して、残差値を再構成し、(e)残差値と予測されたサンプル値とを組み合わせる。測定されるコストは、レート歪みコスト、レートコスト、又は歪みコストであり得る。レートコストは、BV値を信号伝達することのコストとブロック分割判断情報を信号伝達することのコストとの双方について説明をすることができる。
別法として、エンコーダは、何らかの他の方法において、現在のブロックのための候補BV値ととり得るブロック分割判断とを評価する。例えば、イントラ予測領域とブロックとにおけるオーバーラップを考慮することに加えて、エンコーダは、ブロックが最小の許容可能サイズをすでに有するかどうかをさらに考慮する。そうである場合、ブロックは分割されず、しかし、候補BV値は許容されない。
図20に戻ると、エンコーディング(2010)の一部として、エンコーダは、候補BV値のコストを記録することができる。それから、エンコーダは、1つ以上の他の候補BV値を評価することができる。例えば、エンコーダは、別の候補BV値について、上記手法(2100)を繰り返す。最終的に、エンコーダは、現在のブロック(及び現在のブロック内のブロック)について、1つ以上のBVを選択し、ブロック分割判断を行い、このことは、最も低いコスト(例えば、レート歪みコスト、レートコスト、又は歪みコスト)を結果としてもたらす。
エンコーダは、ブロックのエンコードされたデータを出力する(2020)。エンコーダは、別のブロックについて、上記手法(2000)を繰り返すことができる。
C.オーバーラップエリア内の再構成されたサンプル値の推定
本明細書に説明されるいくつかの例において、BVは、CUのレベルにおいて信号伝達され、CBレベルにおいてブロックに適用される。CBと対応するイントラ予測領域とにおけるオーバーラップは、許容されない。本明細書に説明される別の例において、エンコーダは、BV値がより高いシンタックスレベルおいて(例えば、CUに対して)信号伝達されるとしても、BV値をより小さいブロックに対してTB単位基準で適用する。例えば、BV値は、32×32CBを有するCUについて信号伝達され、しかしBV値は、4×4TB又は8×8TBのレベルにおいてブロックに適用される。このことは、TBレベルにおけるブロックとコピーされるイントラブロック領域とにおけるオーバーラップを依然として有さないと同時に、BV値がより小さい大きさを有することを許可する。
所与のブロックが、イントラBC予測動作の目的でより小さいブロックに分割されるとき、所与のブロックは、該所与のブロックのサンプル値がより小さいブロックのうち1つ以上のためのイントラ予測領域の一部であり得るオーバーラップエリアを含む。本セクションは、オーバーラップエリア内の再構成されたサンプル値を推定することに対するアプローチを説明する。具体的に、本セクションは、ブロックのBV値がTB単位基準でより小さいブロックに適用されるとき、ブロックのオーバーラップエリア内の再構成されたサンプル値を推定することに対するアプローチを説明する。
図22aは、サイズ2m×2nを有する現在のブロック(2210)を例示する。現在のブロック(2210)は、イントラBC動作の目的で、4つのm×nブロック(2221、2222、2223、2224)を含む。例えば、現在のブロック(2210)はCUの8×8ブロックであり、4つのより小さいブロック(2221、2222、2223、2224)は、4×4TBを有する4×4ブロックである。あるいは、現在のブロック(2210)はCUの16×16ブロックであり、4つのより小さいブロック(2221、2222、2223、2224)は、8×8TBを有する8×8ブロックである。イントラBC予測動作が、ジグザグスキャン順序(図22aにおいて、ブロック0、ブロック1、ブロック2、それからブロック3)においてm×nブロックに適用されるとき、第1のm×nブロック(2221)のためのイントラ予測領域は、現在の2m×2nブロック(2210)の外側である。しかしながら、第2のm×nブロック(2222)について、イントラ予測領域は、部分的に又は完全に、第1のm×nブロック(2221)にオーバーラップする可能性がある。第3のm×nブロック(2223)について、イントラ予測領域は、部分的に又は完全に、第1のm×nブロック(2221)又は第2のm×nブロック(2222)にオーバーラップする可能性がある。そして第4のm×nブロック(2224)について、イントラ予測領域は、部分的に又は完全に、現在のブロック(2210)についての最初の3つのm×nブロック(2221、2222、2223)のいずれかにオーバーラップする可能性がある。
図22bは、現在のブロック(2210)のオーバーラップエリア(2230)を示す。オーバーラップエリア(2230)は、ジグザグスキャン順序における最初の3つのm×nブロック(2221、2222、2223)をカバーする。なぜならば、これら3つのm×nブロックの中のサンプル値が、現在のブロック(2210)の少なくとも1つのm×nブロックのためのイントラ予測領域の一部である可能性があるからである。別のサイズのより小さいブロック(16×16ブロック又は32×32ブロックの、4×4ブロック)について、オーバーラップエリアは、現在のブロックのさらに多くをカバーし得る。
BV推定の間、エンコーダが、イントラBC予測動作の目的でより小さいブロックに分割される現在のブロックのための候補BV値を評価するとき、エンコーダは、該エンコーダがジグザグ順序においてそれぞれのより小さいブロックにわたって候補BV値を適用するので、オーバーラップエリア内における実際の再構成されたサンプル値を算出することができる。このことは、より小さいブロックごとに候補BV値ごとに適用されるエンコーディング動作及び再構成動作を伴うので、計算的に集中的であり得る。代わって、エンコーダは、オーバーラップエリア内の再構成されたサンプル値を推定することができる。具体的に、イントラBC予測動作がより小さいブロックについてTB単位基準で実行されるとき、エンコーダは、複数のより小さいブロックを含む現在のブロックのオーバーラップエリア内の再構成されたサンプル値を推定することができる。
図23は、エンコーダがオーバーラップエリア内の再構成されたサンプル値を推定する、BV推定の一例示的な手法を示すフローチャートである。この手法(2300)は、画像エンコーダ若しくはビデオエンコーダ、例えば、図3若しくは図5a〜図5bを参照して説明されるものなどによって、又は別のエンコーダによって実行されることができる。
ピクチャの現在のブロックについて、エンコーダは、現在のブロックのオーバーラップエリア内の再構成されたサンプル値を推定する(2310)。現在のブロックは、複数のより小さいブロックを有する。例えば、現在のブロックは、第1のサイズ(例えば、32×32、16×16、又は8×8)を有し、複数のブロックの各々は、第1のサイズより小さい第2のサイズ(例えば、16×16、8×8、又は4×4)を有する。現在のブロックはCUのブロックであることが可能であり、この場合、複数のより小さいブロックの各々は、TUのTBのレベルにあり得る。オーバーラップエリアは、複数のより小さいブロックのうち少なくとも1つについての潜在的なイントラ予測領域内である、現在のブロックの一部をカバーする(covers)。
オーバーラップエリア内の再構成されたサンプル値を推定することに対する第1のアプローチに従い、エンコーダは、オーバーラップエリア内の対応する元のサンプル値を、それぞれ、再構成されたサンプル値として使用する。現在のブロックの外側で、BV推定は、ピクチャ内の元のサンプル値を使用することができる。別法として、現在のブロックの外側で、BV推定は、ピクチャ内の再構成されたサンプル値を使用することができる(すなわち、現在のブロックの外側の再構成されたサンプル値;現在のブロックのオーバーラップエリア内の元のサンプル値)。この場合、元のサンプル値は、実際の再構成されたサンプル値がBV推定の間に利用可能でないときに、イントラ予測領域に使用されることができ、しかし、その他の場合は、実際の再構成されたサンプル値が使用される。
オーバーラップエリア内の再構成されたサンプル値を推定することに対する第2のアプローチに従い、エンコーダは、オーバーラップエリア内の元のサンプル値を処理する。具体的に、エンコーダは、オーバーラップエリア内の元のサンプル値に周波数変換、量子化、逆量子化、及び逆周波数変換を適用し、オーバーラップエリア内の再構成されたサンプル値の近似を生じさせる。量子化及び逆量子化は、現在のブロックの周りの近隣において適用された(又は、適用されると予期される)量子化パラメータを使用することができる。
オーバーラップエリア内の再構成されたサンプル値を推定することに対する第3のアプローチに従い、エンコーダは、オーバーラップエリア内の再構成されたサンプル値を推定するとき、イントラBC予測動作を使用する。エンコーダは、少なくとも1つのBV予測子(例えば、ピクチャにおける前のブロック、例えば、近隣のブロックのBV値、又は、デフォルトBV予測子など)を用いて、オーバーラップエリア内のサンプル値を予測する。エンコーダは、予測されたサンプル値とオーバーラップエリア内の対応する元のサンプル値とにおける差に基づいて、残差値を決定する。残差値に対して、エンコーダは、周波数変換、量子化、逆量子化、及び逆周波数変換を適用する。量子化及び逆量子化は、現在のブロックの周りの近隣において適用された(又は、適用されると予期される)量子化パラメータを使用することができる。エンコーダは、処理の結果(すなわち、再構成された残差値)を予測されたサンプル値と組み合わせ、このことが、オーバーラップエリア内の再構成されたサンプル値の近似を生じさせる。
第3のアプローチの1つのバリエーションにおいて、エンコーダは、少なくとも1つのBV予測子(例えば、ピクチャにおける前のブロック、例えば、近隣のブロックのBV値、又はデフォルトBV予測子など)を用いて、オーバーラップエリア内のサンプル値を予測し、しかし、残差値の処理をスキップする。オーバーラップエリアにおける推定された再構成されたサンプル値は、予測されたサンプル値である。
第3のアプローチの別のバリエーションにおいて、エンコーダは、オーバーラップエリアの残差が有意である(significant)(例えば、変換、量子化等の後、非ゼロの変換係数値を有する)ことになるかどうかを推定することができる。例えば、エンコーダは、残差値が小さい大きさを有するかどうかを個々に又は集合的に評価し、あるいは、残差値の何らかの他の条件をチェックすることができる。残差値が有意でない場合、エンコーダは、残差処理をスキップし、予測されたサンプル値をオーバーラップエリアにおける推定された再構成されたサンプル値として単に使用することができる。そうでない場合(残差値が有意である)、エンコーダは、上記で説明されたとおり、残差値を再構成し、それから、これらを予測されたサンプル値と組み合わせて、オーバーラップエリアにおける推定された再構成されたサンプル値を生成することができる。
エンコーダは、BV推定を実行して(2320)、現在のブロックのBV値を決定する。BV推定は、現在のブロックのオーバーラップエリア内の推定された再構成されたサンプル値のうち少なくともいくつかを使用する。BV推定は、現在のブロックの外側のピクチャ内の再構成されたサンプル値(又は、1つのアプローチにおいて、元のサンプル値)をさらに使用する。
BV推定は、現在のブロックのための1つ以上の候補BV値の各々について、候補BV値に従ってより小さいブロックそれぞれと候補イントラ予測領域とにおけるブロックマッチング動作を実行することを含むことができる。例えば、4つのより小さいブロックを有する現在のブロックの所与の候補BV値について、エンコーダは、この所与の候補BV値に従って、4つのより小さいブロックとその対応する候補イントラ予測領域とにおけるブロックマッチング動作を実行する。
別法として、BV推定は、(1)複数のより小さいブロックの各々について、より小さいブロックのためのBV値を決定することと、(2)複数のより小さいブロックのためのBV値を、現在のブロックのためのBV値へ合成することと、を含むことができる。例えば、4つのより小さいブロックを有する現在のブロックについて、エンコーダは、連続して、第1のより小さいブロックのためのBV値、第2のより小さいブロックのためのBV値、第3のより小さいブロックのためのBV値、及び第4のより小さいブロックのためのBV値を決定する。第1のより小さいブロックの後、BV推定は、現在のブロックのオーバーラップエリアの中のイントラ予測領域の評価を含んでもよい。それから、エンコーダは、4つのより小さいブロックのためのBV値を、現在のブロックのためのBV値に合成する。例えば、エンコーダは、(a)複数のより小さいブロックのためのBV値を平均し、(b)複数のより小さいブロックのためのBV値の中央値を算出し、(c)複数のより小さいブロックのためのBV値の周りの近隣(neighborhood)の中で、現在のブロックのためのBV値を識別し、(d)複数のより小さいブロックのためのBV値の周りの近隣の中で、候補BV値に対してRDOを用いて、現在のブロックのためのBV値を識別し、あるいは、(e)何らかの他の方法において複数のより小さいブロックのためのBV値を現在のブロックのBV値に合成することができる。
現在のブロックのためのBV値がBV推定によって識別された後、エンコーダは、現在のブロックのためのBV値を用いて、現在のブロックのためのイントラBC予測を実行することができる。そうすることにおいて、エンコーダは、複数のより小さいブロックについて、ブロック単位基準(block-by-block basis)でBC動作を実行する。ゆえに、エンコーダは、現在のブロックのレベルにおいてBV推定を実行し、しかし、より小さいブロックのレベルにおいてBV補償を実行することができる。例えば、エンコーダは、8×8CUの8×8ブロックのためのBV推定を実行し、しかし、4つの4×4ブロックについてジグザグスキャン順序においてTB単位基準でイントラBC動作(及び、再構成動作)を実行することができる。4×4ブロックは、(8×8CUの)同じBV値を共有し、エンコーダは、残差値の連続した4×4ブロックに対して、4×4変換、量子化、逆量子化、4×4逆変換等を実行する。第1の4×4ブロック(TB0のための)が再構成され、それから、第2の4×4ブロック(TB1のための)のイントラ予測領域に使用されることができる。第2の4×4ブロックが再構成され、それから、第3の4×4ブロック(TB2のための)のイントラ予測領域に使用されることができる。第4の4×4ブロック(TB3のための)について、最初の3つの4×4ブロックのうち任意のものがイントラ予測領域に使用されることができる。
デコーダ側において、上記で説明されたとおり、デコーダは、BV値がイントラ予測領域と現在のブロックとにおけるオーバーラップを結果的にもたらすかどうかをチェックすることができる。そうである場合、(TBレベルにおける)ブロックは、(より小さいTBのレベルにおける)4つのより小さいブロック分割され、それから、4つのより小さいブロックは、ジグザグ順序において(イントラBC予測及び再構成動作を用いて)連続的にデコードされる。ゆえに、より小さいブロックのうち1つについての再構成されたサンプル値は、ジグザグ順序における次のより小さいブロックのためのイントラ予測領域での使用に利用可能である。TUの変換ブロックフラグがゼロである場合、イントラBC予測はCUレベルにおいてのみ適用され、クロマ非相関が無効にされる。
D.代替物及びバリエーション
前述の例の多くが、ルマブロックのためのイントラBC予測動作及びBV値に対処する。YUV4:4:4フォーマットにおけるビデオについて、クロマ成分は、ルマ成分と同じ解像度を有する。現在のルマブロックに使用されるBV値は、対応するクロマブロックに使用されることができる。現在のルマブロックが、イントラBC予測動作のためにより小さいルマブロックに分割されるとき、対応するクロマブロックがさらに、イントラBC予測動作のために同じ仕方において、より小さいクロマブロックに分割される。
YUV4:2:0フォーマットにおけるビデオについて、クロマ成分が、2のファクタによって水平に、及び2のファクタによって垂直にダウンサンプリングされる。例えば、現在のルマブロックが16×16のサイズを有する場合、対応するクロマブロックは8×8のサイズを有する。現在のルマブロックに使用されるBV値は、適切なスケール変更及び丸め(及び/又は切り捨て)演算の後、対応するクロマブロックに使用されることができる。一般に、現在のルマブロックがイントラBC予測動作のためにより小さいルマブロックに分割されるとき、対応するクロマブロックもまた、イントラBC予測動作のために同じ仕方において、より小さいクロマブロックに分割される。
しかしながら、いくつかの実施において、上記のことは常には当てはまらない。いくつかの実施において、YUV4:2:0フォーマットにおけるビデオのルマTBが最小変換サイズを有する場合、この最小変換サイズを有するクロマTBが、上記ルマTBと同じCBのためのその3つの近隣のルマTBとのためのクロマ相当物(counterparts)に使用される。例えば、現在のルマTBが4×4の最小サイズを有する(及び、8×8ルマCBに関連付けられる)場合、対応するクロマCBは、4×4のサイズを有する。各々の4×4クロマCBは、単一の4×4クロマTBを有する。サイズ2×2を有するクロマTBは、YUV4:2:0フォーマットのダウンサンプリングで予期されるであろうとおり、サポートされない。こうした実施において、イントラBC予測のために現在のルマブロックをより小さいルマブロックに分割することは、より小さいルマブロックが最小変換サイズを有することになる場合、サポートされない。なぜならば、対応するクロマブロックに適用されるとき、上記分割が、最小変換サイズより小さいクロマブロックを結果としてもたらすことになるからである。こうした実施において、イントラBC予測動作のために現在のルマブロック(及び、対応するクロマブロック)をより小さいブロックに分割することは、より大きいサイズについて、依然として許可される。
YUV4:2:2フォーマットにおけるビデオについて、クロマ成分は、2のファクタによって水平にダウンサンプリングされる。例えば、現在のルマブロックが16×16のサイズを有する場合、対応するクロマブロックは8×16のサイズを有する。現在のルマブロックに使用されるBV値は、適切なスケール変更及び丸め(及び/又は切り捨て)演算の後、対応するクロマブロックに使用されることができる。一般に、現在のルマブロックがイントラBC予測動作のためにより小さいルマブロックに分割されるとき、対応するクロマブロックがさらに、イントラBC予測動作のために同じ仕方において、より小さいクロマブロックに分割されることができる。
しかしながら、いくつかの実施において、上記のことは常には当てはまらない。いくつかの実施において、YUV4:2:2フォーマットにおけるビデオのルマTBが最小変換サイズを有する場合、この最小変換サイズを有するクロマTBが、上記ルマTBと同じCBにおける近隣のルマTBとのためのクロマ相当物に使用される。例えば、現在のルマTBが4×4の最小サイズを有する(及び、8×8CBに関連付けられる)場合、対応する4×8クロマCBは、各々、2つの4×4クロマTBを有する。サイズ2×4を有するクロマTBは、YUV4:2:2フォーマットのダウンサンプリングで予期されるであろうとおり、サポートされない。代わって、4×8クロマCBの4×4クロマTBの各々は、2つの2×4クロマエリアのための残差値を含む。こうした実施において、(上記で説明されたとおりの、イントラBC予測動作のための、クロマブロックのより小さいクロマブロックへの対応する分割と共に、)上記で説明されたとおり、イントラBC予測のために現在のルマブロックをより小さいルマブロックに分割することは、最小変換サイズより大きいブロックサイズについて、許可される。より小さいブロックが、最小変換サイズを有する場合、イントラBC予測動作のために現在のルマブロックをより小さいルマブロックに分割することは、残差値のクロマブロックが図24に示されるとおり再配置される場合、サポートされる。
図24は、YUV4:2:2フォーマットにおけるビデオの、4×4の最小変換サイズを有するブロックを示す。8×8ルマブロック(2410)が4×4ルマブロック(2421、2422、2423、2424)を含み、これらは0...3と番号付けされる。対応する4×8クロマブロック(2430)は対応するクロマ成分を含み、これらは2のファクタによって水平にダウンサンプリングされる。2×4の変換サイズはサポートされない。
HEVC標準の現在のドラフトによれば、4×8クロマブロックについて、2×4ブロック0及び1は、残差符号化及びデコーディングのための4×4変換サイズを有する4×4クロマTBとして一緒に処理され、2×4ブロック2及び3は、残差符号化及びデコーディングのための4×4変換サイズを有する4×4クロマTBとして一緒に処理される。結果として、2×4ブロック0は、2×4ブロック1が再構成されるまで再構成されないことになるので、2×4ブロック1のためのイントラBC予測動作は、2×4ブロック0における再構成されたサンプル値を参照することができない。同様にして、2×4ブロック3のためのイントラBC予測動作は、2×4ブロック2における再構成されたサンプル値を参照することができない。
図24に示されるとおり、4×8クロマブロック(2440)の2×4ブロックは、残差の符号化及びデコーディングの目的で、再配置されることができる。この場合、2×4ブロック0及び2が、残差符号化及びデコーディングのための4×4変換サイズを有する4×4クロマTBとして一緒に処理され、2×4ブロック1及び3が、残差符号化及びデコーディングのための4×4変換サイズを有する4×4クロマTBとして一緒に処理される。イントラBC予測動作は、4×8クロマブロック(2430)の「再配置されていない(un-rearranged)」2×4ブロックにおいて、依然として起こる。4×8クロマブロックがデコードされるとき、2×4ブロック0及び2のためのイントラBC予測が最初起こり、その後に、2×4ブロック0及び2のための残差デコーディングと2×4ブロック0及び2のためのサンプル値の再構成とが続く。それから、2×4ブロック1及び3が再構成される。ゆえに、2×4ブロック0は、2×4ブロック1が再構成される前に、再構成されることができ、ゆえに、2×4ブロック1のためのイントラBC予測動作は、2×4ブロック0における再構成されたサンプル値を参照することができる。同様にして、2×4ブロック3のためのイントラBC予測動作は、2×4ブロック2における再構成されたサンプル値を参照することができる。残差値の2×4クロマブロックの上記再配置は、エンコーダにおいて、及びデコーダにおいて起こる。
4×8クロマブロック(2440)が、残差符号化及びデコーディングのための再配置された2×4ブロックを有して、オーバーラップエリアが、グレイにおいて図示されるとおり、ルマブロックの左半分と対応するクロマブロックとについてサポートされる。BV推定の間、エンコーダは、(上記で説明されたとおり)オーバーラップエリアの中の再構成されたサンプル値を推定し、オーバーラップエリアを部分的に又は完全にカバーするイントラ予測領域を参照する候補BV値を評価することができる。
上記アプローチにおいて、非ゼロの水平BV成分を有するBV値が許容され、しかし、BV値は非ゼロの垂直BV成分を有する。このことは、例えば、サンプル値において水平連続性を典型的に見せる、スクリーンキャプチャコンテンツに適切である。
例示的な実施において、イントラBC予測が、ルマブロックについて、及びクロマブロックについて、整数サンプル精度を有するBV値を使用する。小数の変位(及び、再構成されたサンプル値間における小数の補間)は、BV値に使用されない。ピクチャのクロマデータが、ピクチャのルマデータに対して低減された解像度を有するとき(例えば、フォーマットがYUV4:2:0フォーマット又はYUV4:2:2フォーマットであるとき)、ルマブロックからのBV値は、それが対応するクロマブロックに適用される前に下方にスケール変更されて、クロマ解像度における差について調整されることができ、しかし、整数サンプル精度を有する値に丸められ、かつ/あるいは切り捨てられる。
別法として、BV値は、ルマブロックについて整数サンプル精度を有し、しかし、対応するクロマブロックについて小数サンプル(fractional-sample)精度を有してもよい。具体的に、ピクチャのクロマデータが、ピクチャのルマデータに対して低減された解像度を有するとき、ルマブロックからのBV値は、それが対応するクロマブロックに適用される前、下方にスケール変更されて、クロマ解像度における差について調整されることができる。YUV4:2:0フォーマットについて、BV値の垂直及び水平成分は、2で除算され、切り捨てられ、あるいは丸められ、整数サンプル精度又はハーフサンプル(half-sample)精度などの小数サンプル精度のいずれかを有する値を生じさせることができる。例えば、ルマブロックについての3のBVy成分値は、対応するクロマブロックについての1.5のBVy成分値にスケール変更される。YUV4:2:2フォーマットについて、BV値の水平成分が、2で除算され、切り捨てられ、あるいは丸められ、整数精度又はハーフサンプル位置精度などの小数サンプル精度のいずれかを有する値を生じさせることができる。BV値が小数サンプル精度を有するとき、再構成された値間における補間は、双一次補間、双三次補間、又は別の形式の補間を使用することができる。
別法として、BV値は、ルマブロックと対応するクロマブロックとのための小数サンプル予測を有することができる。再びになるが、BV値が小数サンプル精度を有するとき、再構成されたサンプル値間における補間は、双一次補間、双三次補間、又は別の形式の補間を使用することができる。
開示された発明の原理が適用され得る多くのとり得る実施形態の観点から、例示された実施形態は本発明の好適な例に過ぎず、本発明の範囲を限定するものと解されるべきでないことが認識されるべきである。むしろ、本発明の範囲は、別記の請求項によって定義される。したがって、これら請求項の範囲及び主旨内に入るすべてを本発明として主張する。

Claims (14)

  1. ビデオエンコーダ又は画像エンコーダを実装するコンピューティング装置において、
    ピクチャの現在のブロックのオーバーラップエリア内の再構成されたサンプル値を推定するステップであって、前記現在のブロックは複数のより小さいブロックを有し、前記オーバーラップエリアは、前記複数のより小さいブロックのうち少なくとも1つについての潜在的なイントラ予測領域内である前記現在のブロックの一部をカバーする、ステップと、
    ブロックベクトル(“BV”)推定を実行して前記現在のブロックのBV値を決定するステップであって、前記BV推定は、前記現在のブロックの前記オーバーラップエリア内の前記の推定された再構成されたサンプル値のうち少なくともいくつかを使用する、ステップと、
    を含む方法。
  2. 前記オーバーラップエリア内の再構成されたサンプル値を推定するステップは、前記オーバーラップエリア内の対応する元のサンプル値を、それぞれ、前記再構成されたサンプル値として使用することを含む、請求項1に記載の方法。
  3. 前記BV推定は、前記現在のブロックの外側の前記ピクチャ内の元のサンプル値、又は前記現在のブロックの外側の前記ピクチャ内の再構成されたサンプル値をさらに使用する、請求項2に記載の方法。
  4. 前記オーバーラップエリア内の再構成されたサンプル値を推定するステップは、
    前記オーバーラップエリア内の対応する元のサンプル値を、周波数変換、量子化、逆量子化、及び逆周波数変換を用いて処理することと、
    前記の処理されたサンプル値を、それぞれ、前記オーバーラップエリア内の前記再構成されたサンプル値として使用することと、
    を含む、請求項1に記載の方法。
  5. 前記オーバーラップエリア内の再構成されたサンプル値を推定するステップは、
    前記オーバーラップエリア内のサンプル値を少なくとも1つのBV予測子を用いて予測することと、
    前記の予測されたサンプル値と前記オーバーラップエリア内の対応する元のサンプル値とにおける差に基づいて残差値を決定することと、
    前記残差値を、周波数変換、量子化、逆量子化、及び逆周波数変換を用いて処理することと、
    前記処理の結果を、前記の予測されたサンプル値と組み合わせることと、
    前記組み合わせの結果を、それぞれ、前記オーバーラップエリア内の前記再構成されたサンプル値として使用することと、
    を含む、請求項1に記載の方法。
  6. 前記少なくとも1つのBV予測子は、前記ピクチャにおける前のブロックのBV値、又はデフォルトBV予測子を含む、請求項5に記載の方法。
  7. 前記BV推定は、前記現在のブロックの1つ以上の候補BV値の各々について、
    前記候補BV値に従って前記より小さいブロックそれぞれと候補イントラ予測領域とにおけるブロックマッチング動作を実行すること、
    を含む、請求項1に記載の方法。
  8. 前記BV推定は、
    前記複数のより小さいブロックの各々について、前記より小さいブロックのBV値を決定することと、
    前記複数のより小さいブロックの前記BV値を、前記現在のブロックの前記BV値に合成することと、
    を含む、請求項1に記載の方法。
  9. 前記合成することは、
    前記複数のより小さいブロックの前記BV値を平均すること、
    前記複数のより小さいブロックの前記BV値の周りの近隣の中で前記現在のブロックの前記BV値を識別すること、又は、
    前記複数のより小さいブロックの前記BV値の周りの近隣の中で候補BV値のレート歪み最適化を用いて前記現在のブロックの前記BV値を識別すること、
    を含む、請求項8に記載の方法。
  10. 前記現在のブロックの前記BV値を用いて、前記現在のブロックのイントラブロックコピー(“BC”)予測を実行するステップであって、前記複数のより小さいブロックに対してブロック単位基準でBC動作を実行することを含む、ステップ、
    をさらに含む請求項1に記載の方法。
  11. 前記現在のブロックは第1のサイズを有し、前記複数のブロックの各々は前記第1のサイズより小さい第2のサイズを有する、請求項1に記載の方法。
  12. 前記現在のブロックは符号化ユニットの符号化ブロックであり、前記複数のブロックの各々は変換ユニットの変換ブロックである、請求項1に記載の方法。
  13. ビデオエンコーダ又は画像エンコーダを実装するコンピューティング装置であって、
    ピクチャの現在のブロックのオーバーラップエリア内の再構成されたサンプル値を推定する手段であって、前記現在のブロックは複数のより小さいブロックを有し、前記オーバーラップエリアは、前記複数のより小さいブロックのうち少なくとも1つについての潜在的なイントラ予測領域内である前記現在のブロックの一部をカバーする、手段と、
    ブロックベクトル(“BV”)推定を実行して前記現在のブロックのBV値を決定する手段であって、前記BV推定は、前記現在のブロックの前記オーバーラップエリア内の前記の推定された再構成されたサンプル値のうち少なくともいくつかを使用する、手段と、
    を含むコンピューティング装置。
  14. コンピュータ実行可能命令を記憶した1つ以上のコンピュータ可読媒体であって、前記コンピュータ実行可能命令によりプログラムされたコンピューティング装置に、
    ピクチャの現在のブロックのオーバーラップエリア内の再構成されたサンプル値を推定するステップであって、前記現在のブロックは複数のより小さいブロックを有し、前記オーバーラップエリアは、前記複数のより小さいブロックのうち少なくとも1つについての潜在的なイントラ予測領域内である前記現在のブロックの一部をカバーする、ステップと、
    ブロックベクトル(“BV”)推定を実行して前記現在のブロックのBV値を決定するステップであって、前記BV推定は、前記現在のブロックの前記オーバーラップエリア内の前記の推定された再構成されたサンプル値のうち少なくともいくつかを使用する、ステップと、
    を含む方法を実行させる、1つ以上のコンピュータ可読媒体。
JP2016544439A 2014-01-03 2014-12-22 オーバーラップエリア内の再構成されたサンプル値のブロックベクトル予測及び推定におけるイノベーション Active JP6719379B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201461923628P 2014-01-03 2014-01-03
US61/923,628 2014-01-03
US14/222,580 2014-03-21
US14/222,580 US10390034B2 (en) 2014-01-03 2014-03-21 Innovations in block vector prediction and estimation of reconstructed sample values within an overlap area
PCT/US2014/071780 WO2015102975A2 (en) 2014-01-03 2014-12-22 Innovations in block vector prediction and estimation of reconstructed sample values within an overlap area

Publications (3)

Publication Number Publication Date
JP2017511620A true JP2017511620A (ja) 2017-04-20
JP2017511620A5 JP2017511620A5 (ja) 2018-01-11
JP6719379B2 JP6719379B2 (ja) 2020-07-08

Family

ID=52392221

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016544439A Active JP6719379B2 (ja) 2014-01-03 2014-12-22 オーバーラップエリア内の再構成されたサンプル値のブロックベクトル予測及び推定におけるイノベーション

Country Status (11)

Country Link
US (1) US10390034B2 (ja)
EP (1) EP3090546B1 (ja)
JP (1) JP6719379B2 (ja)
KR (1) KR102283407B1 (ja)
CN (1) CN105874791B (ja)
AU (1) AU2014374141B2 (ja)
BR (1) BR112016015369A2 (ja)
CA (1) CA2934813A1 (ja)
MX (1) MX360920B (ja)
RU (1) RU2683495C1 (ja)
WO (1) WO2015102975A2 (ja)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9491461B2 (en) * 2012-09-27 2016-11-08 Qualcomm Incorporated Scalable extensions to HEVC and temporal motion vector prediction
WO2015054813A1 (en) 2013-10-14 2015-04-23 Microsoft Technology Licensing, Llc Encoder-side options for intra block copy prediction mode for video and image coding
CN105765974B (zh) 2013-10-14 2019-07-02 微软技术许可有限责任公司 用于视频和图像编码和解码的帧内块复制预测模式的特征
WO2015054812A1 (en) 2013-10-14 2015-04-23 Microsoft Technology Licensing, Llc Features of base color index map mode for video and image coding and decoding
RU2669005C2 (ru) 2014-01-03 2018-10-05 МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи Предсказание вектора блока в кодировании/декодировании видео и изображений
US10390034B2 (en) 2014-01-03 2019-08-20 Microsoft Technology Licensing, Llc Innovations in block vector prediction and estimation of reconstructed sample values within an overlap area
US11284103B2 (en) 2014-01-17 2022-03-22 Microsoft Technology Licensing, Llc Intra block copy prediction with asymmetric partitions and encoder-side search patterns, search ranges and approaches to partitioning
US10542274B2 (en) 2014-02-21 2020-01-21 Microsoft Technology Licensing, Llc Dictionary encoding and decoding of screen content
US11070810B2 (en) 2014-03-14 2021-07-20 Qualcomm Incorporated Modifying bit depths in color-space transform coding
US10785486B2 (en) 2014-06-19 2020-09-22 Microsoft Technology Licensing, Llc Unified intra block copy and inter prediction modes
CN106576176B (zh) 2014-06-20 2020-10-02 索尼公司 图像编码设备和方法以及图像解码设备和方法
EP2980793A1 (en) * 2014-07-28 2016-02-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Encoder, decoder, system and methods for encoding and decoding
FR3024582A1 (fr) * 2014-07-29 2016-02-05 Orange Gestion de la perte de trame dans un contexte de transition fd/lpd
US10856009B2 (en) * 2014-09-04 2020-12-01 Mediatek Inc. Method of block vector clipping and coding for screen content coding and video coding
US10812817B2 (en) 2014-09-30 2020-10-20 Microsoft Technology Licensing, Llc Rules for intra-picture prediction modes when wavefront parallel processing is enabled
GB2531001B (en) * 2014-10-06 2019-06-05 Canon Kk Method and apparatus for vector encoding in video coding and decoding
CN105847842B (zh) * 2015-01-29 2021-01-22 同济大学 图像编码方法及装置、图像解码方法及装置
CN106664405B (zh) 2015-06-09 2020-06-09 微软技术许可有限责任公司 用调色板模式对经逸出编码的像素的稳健编码/解码
US10462468B2 (en) * 2015-09-08 2019-10-29 Mediatek Inc. Method and system of decoded picture buffer for intra block copy mode
US10225561B2 (en) * 2015-10-08 2019-03-05 Mediatek Inc. Method and apparatus for syntax signaling in image and video compression
US10362314B2 (en) 2015-11-27 2019-07-23 Mediatek Inc. Apparatus and method for video coding by intra-prediction
US10542258B2 (en) * 2016-01-25 2020-01-21 Google Llc Tile copying for video compression
US11270470B2 (en) * 2017-10-12 2022-03-08 Sony Group Corporation Color leaking suppression in anchor point cloud compression
US10986349B2 (en) 2017-12-29 2021-04-20 Microsoft Technology Licensing, Llc Constraints on locations of reference blocks for intra block copy prediction
JP2019129371A (ja) * 2018-01-23 2019-08-01 富士通株式会社 動画像符号化装置、動画像符号化方法、動画像復号装置、動画像復号方法、及び動画像符号化用コンピュータプログラムならびに動画像復号用コンピュータプログラム
US10687071B2 (en) * 2018-02-05 2020-06-16 Tencent America LLC Method and apparatus for video coding
US10764601B2 (en) * 2018-10-06 2020-09-01 Tencent America LLC Method and apparatus for video coding
CN111050184A (zh) * 2018-10-15 2020-04-21 华为技术有限公司 图像块的划分方法和装置
EP3900349A4 (en) * 2019-02-02 2023-08-02 Beijing Bytedance Network Technology Co., Ltd. BUFFER MANAGEMENT FOR INTRA BLOCK COPY IN VIDEO CODING
EP3915265A4 (en) 2019-03-01 2022-06-22 Beijing Bytedance Network Technology Co., Ltd. DIRECTION-BASED PREDICTION FOR INTRA BLOCK COPY IN VIDEO CODING
WO2020185747A1 (en) * 2019-03-11 2020-09-17 Vid Scale, Inc. Methods and systems for post-reconstruction filtering
US11240516B2 (en) * 2019-03-20 2022-02-01 Tencent America LLC Coding mode signaling for small blocks
US11109041B2 (en) * 2019-05-16 2021-08-31 Tencent America LLC Method and apparatus for video coding
CN114026853A (zh) * 2019-06-07 2022-02-08 弗劳恩霍夫应用研究促进协会 基于区域的帧内块复制
MX2022000110A (es) 2019-07-10 2022-02-10 Beijing Bytedance Network Tech Co Ltd Identificacion de muestras para la copia intra-bloque en codificacion de video.
WO2021006773A1 (en) * 2019-07-11 2021-01-14 Huawei Technologies Co., Ltd. Motion field storage optimization for the line buffer
US11184638B1 (en) * 2020-07-16 2021-11-23 Facebook, Inc. Systems and methods for selecting resolutions for content optimized encoding of video data
CN112004088B (zh) * 2020-08-06 2024-04-16 杭州当虹科技股份有限公司 一种适用于avs2编码器的cu级qp分配算法
US11949894B2 (en) 2020-12-07 2024-04-02 Tencent America LLC Method and apparatus for string matching with reference location constraints
US20230103405A1 (en) * 2021-10-04 2023-04-06 Tencent America LLC Method and apparatus for intra block copy prediction with sample padding

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000102016A (ja) * 1998-09-22 2000-04-07 Victor Co Of Japan Ltd 動き補償予測回路
JP2009525705A (ja) * 2006-01-31 2009-07-09 クゥアルコム・インコーポレイテッド マルチメディアコンテンツのリサイズ方法およびシステム
EP2249571A1 (en) * 2009-05-04 2010-11-10 Thomson Licensing SA Method and device for encoding an image frame comprising macroblocks
JP2012257148A (ja) * 2011-06-10 2012-12-27 Nippon Hoso Kyokai <Nhk> 動きベクトル検出装置、符号化装置、復号装置、及びこれらのプログラム
US20130089266A1 (en) * 2010-06-21 2013-04-11 Thomson Licensing Method and apparatus for encoding/decoding image data

Family Cites Families (212)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2114404B (en) 1982-01-28 1986-07-02 British Broadcasting Corp Generating a colour video signal representative of a stored picture
JPH087553B2 (ja) 1988-10-27 1996-01-29 インターナショナル・ビジネス・マシーンズ・コーポレーション 色画像量子化方法及び装置
US5706290A (en) 1994-12-15 1998-01-06 Shaw; Venson Method and apparatus including system architecture for multimedia communication
US6389162B2 (en) 1996-02-15 2002-05-14 Canon Kabushiki Kaisha Image processing apparatus and method and medium
JP2001251507A (ja) 2000-03-03 2001-09-14 Fujitsu Ltd 画像処理装置
US6701012B1 (en) 2000-07-24 2004-03-02 Sharp Laboratories Of America, Inc. Out-of-layer pixel generation for a decomposed-image layer
US6748116B1 (en) 2000-08-22 2004-06-08 Airzip, Inc. Apparatus and method for compressing and decompressing image files
DE10049571C1 (de) 2000-10-06 2002-06-13 Siemens Ag Verfahren und Anordnung zum Übertragen eines Vektors
US7023924B1 (en) 2000-12-28 2006-04-04 Emc Corporation Method of pausing an MPEG coded video stream
US6853755B2 (en) 2001-03-28 2005-02-08 Sharp Laboratories Of America, Inc. Method and apparatus for adaptive compression of scanned documents
US7031540B2 (en) 2001-09-12 2006-04-18 Mobitv, Inc. Transformation to increase the lempel-ziv compressibility of images with minimal visual distortion
JP2004007379A (ja) 2002-04-10 2004-01-08 Toshiba Corp 動画像符号化方法及び動画像復号化方法
US7120196B2 (en) 2002-04-29 2006-10-10 Ess Technology, Inc. Intra-prediction using intra-macroblock motion compensation
RU2314656C2 (ru) 2002-06-11 2008-01-10 Нокиа Корпорейшн Внутреннее кодирование, основанное на пространственном прогнозировании
US7289674B2 (en) 2002-06-11 2007-10-30 Nokia Corporation Spatial prediction based intra coding
US7016547B1 (en) 2002-06-28 2006-03-21 Microsoft Corporation Adaptive entropy encoding/decoding for screen capture content
BR0317962A (pt) 2003-01-10 2005-11-29 Thomson Licensing Sa Aparelho decodificador e método para suavizar artefatos criados durante ocultação de erro
DE10301362B4 (de) 2003-01-16 2005-06-09 GEMAC-Gesellschaft für Mikroelektronikanwendung Chemnitz mbH Blockdatenkompressionssystem, bestehend aus einer Kompressionseinrichtung und einer Dekompressionseinrichtung, und Verfahren zur schnellen Blockdatenkompression mit Multi-Byte-Suche
US7373005B2 (en) 2003-04-10 2008-05-13 Micron Technology, Inc. Compression system for integrated sensor devices
US7609763B2 (en) 2003-07-18 2009-10-27 Microsoft Corporation Advanced bi-directional predictive coding of video frames
KR101050828B1 (ko) 2003-08-26 2011-07-21 톰슨 라이센싱 하이브리드 인트라-인터 코딩된 블록을 디코딩하기 위한 방법 및 장치
US7317839B2 (en) 2003-09-07 2008-01-08 Microsoft Corporation Chroma motion vector derivation for interlaced forward-predicted fields
US7724827B2 (en) 2003-09-07 2010-05-25 Microsoft Corporation Multi-layer run level encoding and decoding
KR101044934B1 (ko) 2003-12-18 2011-06-28 삼성전자주식회사 움직임 벡터 추정방법 및 부호화 모드 결정방법
JP4591657B2 (ja) 2003-12-22 2010-12-01 キヤノン株式会社 動画像符号化装置及びその制御方法、プログラム
US8036271B2 (en) 2004-02-24 2011-10-11 Lsi Corporation Method and apparatus for determining a second picture for temporal direct-mode block prediction
JP4418762B2 (ja) 2004-05-07 2010-02-24 キヤノン株式会社 画像符号化装置及び画像復号装置及びそれらの制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体
US8116374B2 (en) 2004-05-07 2012-02-14 Broadcom Corporation Method and system for generating a transform size syntax element for video decoding
WO2006012383A2 (en) 2004-07-20 2006-02-02 Qualcomm Incorporated Method and apparatus for motion vector prediction in temporal video compression
JP2006140683A (ja) 2004-11-11 2006-06-01 Canon Inc 画像符号化装置
US7720154B2 (en) 2004-11-12 2010-05-18 Industrial Technology Research Institute System and method for fast variable-size motion estimation
JP2006140758A (ja) 2004-11-12 2006-06-01 Toshiba Corp 動画像符号化方法、動画像符号化装置および動画像符号化プログラム
KR100679035B1 (ko) 2005-01-04 2007-02-06 삼성전자주식회사 인트라 bl 모드를 고려한 디블록 필터링 방법, 및 상기방법을 이용하는 다 계층 비디오 인코더/디코더
US20060274070A1 (en) 2005-04-19 2006-12-07 Herman Daniel L Techniques and workflows for computer graphics animation system
US20060282855A1 (en) 2005-05-05 2006-12-14 Digital Display Innovations, Llc Multiple remote display system
KR100716999B1 (ko) 2005-06-03 2007-05-10 삼성전자주식회사 영상의 대칭성을 이용한 인트라 예측 방법, 이를 이용한영상의 복호화, 부호화 방법 및 장치
KR101211665B1 (ko) 2005-08-12 2012-12-12 삼성전자주식회사 영상의 인트라 예측 부호화, 복호화 방법 및 장치
JP2007053561A (ja) 2005-08-17 2007-03-01 Matsushita Electric Ind Co Ltd 画像符号化装置および画像符号化方法
DE602006005689D1 (de) 2005-08-19 2009-04-23 Ericsson Telefon Ab L M Texturkomprimierung auf der basis zweier farbtöne mit modifizierter helligkeit
US7986844B2 (en) 2005-11-22 2011-07-26 Intel Corporation Optimized video compression using hashing function
US7956930B2 (en) 2006-01-06 2011-06-07 Microsoft Corporation Resampling and picture resizing operations for multi-resolution video coding and decoding
CN101026761B (zh) 2006-02-17 2010-05-12 中国科学院自动化研究所 一种具有最小误差的快速变尺寸块匹配的运动估计方法
US7668382B2 (en) 2006-02-24 2010-02-23 Microsoft Corporation Block-based fast image compression
US7616816B2 (en) 2006-03-20 2009-11-10 Sarnoff Corporation System and method for mission-driven visual information retrieval and organization
WO2007119198A1 (en) 2006-04-14 2007-10-25 Nxp B.V. Motion estimation at image borders
US8457200B2 (en) 2006-07-07 2013-06-04 Telefonaktiebolaget Lm Ericsson (Publ) Video data management
DE102007035204A1 (de) 2006-07-28 2008-02-07 Mediatek Inc. Videoverarbeitungs- und - betriebsvorrichtung
US8472527B2 (en) 2006-09-13 2013-06-25 Texas Instruments Incorporated Hierarchical motion estimation using original frame for sub-sampled reference
FR2906433B1 (fr) 2006-09-22 2009-02-27 Canon Kk Procedes et dispositifs de codage et de decodage d'images, programme d'ordinateur les mettant en oeuvre et support d'informaton permettant de les mettre en oeuvre
CN102833544A (zh) 2006-09-22 2012-12-19 汤姆森许可贸易公司 多通道视频编码和解码的方法及装置
US20080084924A1 (en) 2006-10-05 2008-04-10 Donald Martin Monro Matching pursuits basis selection design
US8218641B2 (en) 2006-10-31 2012-07-10 Sony Computer Entertainment Inc. Picture encoding using same-picture reference for pixel reconstruction
JP2008154015A (ja) 2006-12-19 2008-07-03 Hitachi Ltd 復号化方法および符号化方法
US7907783B2 (en) 2007-01-24 2011-03-15 Samsung Electronics Co., Ltd. Apparatus and method of matching symbols in a text image coding and decoding system
CN100527842C (zh) 2007-01-26 2009-08-12 清华大学 基于背景的运动估计编码方法
ES2393226T3 (es) 2007-02-23 2012-12-19 Nippon Telegraph And Telephone Corporation Método de predicción Intra de codificación de video y método de descodificación, su dispositivo, su programa y medio de programa grabado
US8160150B2 (en) 2007-04-10 2012-04-17 Texas Instruments Incorporated Method and system for rate distortion optimization
US7903873B2 (en) 2007-09-13 2011-03-08 Microsoft Corporation Textual image coding
CN101420606A (zh) 2007-10-23 2009-04-29 青岛海信电器股份有限公司 图像处理方法和装置
JP2009147807A (ja) 2007-12-17 2009-07-02 Fujifilm Corp 画像処理装置
CN101232619B (zh) 2008-01-25 2011-05-11 浙江大学 嵌入帧内编码块的视频编码方法
TWI375472B (en) 2008-02-04 2012-10-21 Ind Tech Res Inst Intra prediction method for luma block of video
JP5413923B2 (ja) 2008-04-11 2014-02-12 トムソン ライセンシング 変位イントラ予測およびテンプレート・マッチングのためのデブロッキング・フィルタリング
JP2009260473A (ja) 2008-04-14 2009-11-05 Canon Inc 色処理方法及び装置、プログラム、記録媒体
JP2010035137A (ja) 2008-07-01 2010-02-12 Sony Corp 画像処理装置および方法、並びにプログラム
CN102113326A (zh) 2008-08-04 2011-06-29 杜比实验室特许公司 重叠块差异估计和补偿体系结构
US8213503B2 (en) 2008-09-05 2012-07-03 Microsoft Corporation Skip modes for inter-layer residual video coding and decoding
US8385404B2 (en) 2008-09-11 2013-02-26 Google Inc. System and method for video encoding using constructed reference frame
KR101306834B1 (ko) 2008-09-22 2013-09-10 에스케이텔레콤 주식회사 인트라 예측 모드의 예측 가능성을 이용한 영상 부호화/복호화 장치 및 방법
US8254704B2 (en) 2008-10-30 2012-08-28 Microsoft Corporation Remote computing platforms providing high-fidelity display and interactivity for clients
US8180165B2 (en) 2008-12-19 2012-05-15 Microsoft Corp. Accelerated screen codec
TW201028018A (en) 2009-01-07 2010-07-16 Ind Tech Res Inst Encoder, decoder, encoding method and decoding method
US8345994B2 (en) 2009-02-02 2013-01-01 Calgary Scientific Inc. Image data transmission
RU2420021C2 (ru) 2009-03-24 2011-05-27 Корпорация "САМСУНГ ЭЛЕКТРОНИКС Ко., Лтд." Способ сжатия изображений и видеопоследовательностей
US8837587B2 (en) 2009-06-22 2014-09-16 Thomson Licensing Process for coding and decoding video data of a sequence of images and corresponding encoder and decoder
US20120275518A1 (en) 2009-07-10 2012-11-01 Shinya Kadono Moving picture coding method, apparatus, program, and integrated circuit
CN101626512A (zh) 2009-08-11 2010-01-13 北京交通大学 一种基于相关性优化准则的多描述视频编码方法及装置
EP2493195A1 (en) 2009-10-20 2012-08-29 Sharp Kabushiki Kaisha Video encoding device, video decoding device, and data structure
TWI566586B (zh) 2009-10-20 2017-01-11 湯姆生特許公司 一序列形象的現時區塊之寫碼方法和重建方法
JP5321426B2 (ja) 2009-11-26 2013-10-23 株式会社Jvcケンウッド 画像符号化装置、画像復号化装置、画像符号化方法、及び画像復号化方法
KR101623124B1 (ko) 2009-12-03 2016-05-24 에스케이 텔레콤주식회사 비디오 인코딩 장치 및 그 인코딩 방법, 비디오 디코딩 장치 및 그 디코딩 방법, 및 거기에 이용되는 방향적 인트라 예측방법
WO2011095260A1 (en) 2010-02-05 2011-08-11 Telefonaktiebolaget L M Ericsson (Publ) Managing predicted motion vector candidates
US20110194613A1 (en) 2010-02-11 2011-08-11 Qualcomm Incorporated Video coding with large macroblocks
WO2011121227A1 (fr) 2010-03-31 2011-10-06 France Telecom Procedes et dispositifs de codage et de decodage d'une sequence d'images mettant en œuvre une prediction par compensation de mouvement avant, flux et programme d'ordinateur correspondants
US8644375B2 (en) 2010-04-09 2014-02-04 Sharp Laboratories Of America, Inc. Methods and systems for intra prediction
KR101752418B1 (ko) 2010-04-09 2017-06-29 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
CN105472386B (zh) 2010-04-09 2018-09-18 Lg电子株式会社 处理视频数据的方法和装置
US8619857B2 (en) 2010-04-09 2013-12-31 Sharp Laboratories Of America, Inc. Methods and systems for intra prediction
KR20110123651A (ko) 2010-05-07 2011-11-15 한국전자통신연구원 생략 부호화를 이용한 영상 부호화 및 복호화 장치 및 그 방법
CN106851292A (zh) 2010-07-02 2017-06-13 数码士有限公司 用于帧内预测的解码图像的方法
KR101484281B1 (ko) 2010-07-09 2015-01-21 삼성전자주식회사 블록 병합을 이용한 비디오 부호화 방법 및 그 장치, 블록 병합을 이용한 비디오 복호화 방법 및 그 장치
PT2594076T (pt) 2010-07-14 2017-04-05 Ntt Docomo Inc Intra previsão de complexidade reduzida para codificação de vídeo
CN107071491B (zh) 2010-11-04 2020-11-03 Ge视频压缩有限责任公司 支持区块合并和跳过模式的图像编码
KR101756442B1 (ko) 2010-11-29 2017-07-11 에스케이텔레콤 주식회사 인트라예측모드의 중복성을 최소화하기 위한 영상 부호화/복호화 방법 및 장치
US8767835B2 (en) 2010-12-28 2014-07-01 Mitsubishi Electric Research Laboratories, Inc. Method for coding videos using dictionaries
US20120163457A1 (en) 2010-12-28 2012-06-28 Viktor Wahadaniah Moving picture decoding method, moving picture coding method, moving picture decoding apparatus, moving picture coding apparatus, and moving picture coding and decoding apparatus
KR101739579B1 (ko) 2011-01-04 2017-05-24 에스케이 텔레콤주식회사 코딩 유닛 단위 병렬 인트라예측을 이용한 부호화/복호화 방법 및 장치
US8913662B2 (en) 2011-01-06 2014-12-16 Qualcomm Incorporated Indicating intra-prediction mode selection for video coding using CABAC
KR20120080122A (ko) 2011-01-06 2012-07-16 삼성전자주식회사 경쟁 기반의 다시점 비디오 부호화/복호화 장치 및 방법
KR101929026B1 (ko) 2011-01-07 2018-12-13 엘지전자 주식회사 영상 정보 부호화 방법 및 복호화 방법과 이를 이용한 장치
WO2012097377A1 (en) 2011-01-14 2012-07-19 General Instrument Corporation Joint spatial and temporal block merge mode for hevc
KR102222957B1 (ko) 2011-01-14 2021-03-04 지이 비디오 컴프레션, 엘엘씨 엔트로피 인코딩 및 디코딩 방식
US8755437B2 (en) 2011-03-17 2014-06-17 Mediatek Inc. Method and apparatus for derivation of spatial motion vector candidate and motion vector prediction candidate
CN103329534B (zh) 2011-01-19 2017-03-08 瑞萨电子株式会社 图像编码装置及图像解码装置
US9532066B2 (en) 2011-01-21 2016-12-27 Qualcomm Incorporated Motion vector prediction
US8548057B2 (en) 2011-01-25 2013-10-01 Microsoft Corporation Video coding redundancy reduction
US9319716B2 (en) 2011-01-27 2016-04-19 Qualcomm Incorporated Performing motion vector prediction for video coding
US9288501B2 (en) 2011-03-08 2016-03-15 Qualcomm Incorporated Motion vector predictors (MVPs) for bi-predictive inter mode in video coding
AU2011362447B2 (en) 2011-03-14 2015-09-24 Hfi Innovation Inc. Method and apparatus for deriving temporal motion vector prediction
US9374598B2 (en) 2011-03-21 2016-06-21 Lg Electronics Inc. Method for selecting motion vector predictor and device using same
US8693547B2 (en) 2011-04-06 2014-04-08 Google Inc. Apparatus and method for coding using motion vector segmentation
US20140050414A1 (en) 2011-04-29 2014-02-20 Telefonaktiebolaget L M Ericsson (Publ) Encoder, Decoder and Methods Thereof for Texture Compression
US20120281760A1 (en) 2011-05-04 2012-11-08 Hyung Joon Kim Iterative Grid-Pattern Motion Search
US8971416B2 (en) 2011-05-05 2015-03-03 Vixs Systems, Inc Video decoder with vector processor and methods for use therewith
CN102137263B (zh) 2011-05-09 2013-07-03 松日数码发展(深圳)有限公司 基于cnm关键帧分类的分布式视频编码及解码方法
WO2012157443A1 (ja) 2011-05-16 2012-11-22 ソニー株式会社 画像処理装置、及び、画像処理方法
US20120294353A1 (en) 2011-05-16 2012-11-22 Mediatek Inc. Apparatus and Method of Sample Adaptive Offset for Luma and Chroma Components
CN102238391B (zh) 2011-05-25 2016-12-07 深圳市云宙多媒体技术有限公司 一种预测编码方法、装置
WO2012175003A1 (en) 2011-06-20 2012-12-27 Mediatek Singapore Pte. Ltd. Method and apparatus of chroma intra prediction with reduced line memory
KR101566848B1 (ko) 2011-06-24 2015-11-06 미디어텍 인크. 모션 벡터 예측기에서의 중복성을 제거하는 방법 및 장치
MY169636A (en) 2011-06-27 2019-04-24 Sun Patent Trust Image decoding method, image coding method, image decoding apparatus, image coding apparatus, and image coding and decoding apparatus
US9060173B2 (en) 2011-06-30 2015-06-16 Sharp Kabushiki Kaisha Context initialization based on decoder picture buffer
EP2705668A1 (en) 2011-07-12 2014-03-12 Huawei Technologies Co., Ltd Pixel-based intra prediction for coding in hevc
CN102223541B (zh) 2011-07-14 2013-07-03 北京工业大学 一种混合图像的编码方法
CN103748877B (zh) 2011-08-17 2017-05-10 联发科技(新加坡)私人有限公司 帧内预测方法和装置
MX343471B (es) 2011-08-29 2016-11-07 Ibex Pt Holdings Co Ltd Metodo para generar un bloque de prediccion en modo de prediccion de vector de movimiento avanzada (amvp).
US8804816B2 (en) 2011-08-30 2014-08-12 Microsoft Corporation Video encoding enhancements
US9578336B2 (en) 2011-08-31 2017-02-21 Texas Instruments Incorporated Hybrid video and graphics system with automatic content detection process, and other circuits, processes, and systems
CN103999468A (zh) 2011-10-21 2014-08-20 诺基亚公司 用于视频编码的方法和装置
GB2495990A (en) 2011-10-28 2013-05-01 Canon Kk Motion compensated image coding with omission of coding mode cost calculation for a motion predictor in a set.
US9484952B2 (en) 2011-11-03 2016-11-01 Qualcomm Incorporated Context state and probability initialization for context adaptive entropy coding
US10390046B2 (en) 2011-11-07 2019-08-20 Qualcomm Incorporated Coding significant coefficient information in transform skip mode
CN104094601B (zh) 2011-11-08 2018-01-19 谷歌技术控股有限责任公司 用于采样自适应偏移编码和/或信令的装置和方法
EP2777284B1 (en) 2011-11-11 2018-09-05 GE Video Compression, LLC Effective wedgelet partition coding using spatial prediction
US20130121417A1 (en) 2011-11-16 2013-05-16 Qualcomm Incorporated Constrained reference picture sets in wave front parallel processing of video data
US9883203B2 (en) 2011-11-18 2018-01-30 Qualcomm Incorporated Adaptive overlapped block motion compensation
EP2781091B1 (en) 2011-11-18 2020-04-08 GE Video Compression, LLC Multi-view coding with efficient residual handling
CN103621097B (zh) 2011-11-25 2018-04-24 太阳专利托管公司 图像处理方法及图像处理装置
RU2493670C2 (ru) 2011-12-15 2013-09-20 Федеральное государственное автономное образовательное учреждение высшего профессионального образования "Национальный исследовательский университет "МИЭТ" Способ блочной межкадровой компенсации движения для видеокодеков
CN104012092A (zh) 2011-12-20 2014-08-27 摩托罗拉移动有限责任公司 高效变换单元编码的方法和设备
US9762904B2 (en) 2011-12-22 2017-09-12 Qualcomm Incorporated Performing motion vector prediction for video coding
US20130163664A1 (en) 2011-12-22 2013-06-27 Qualcomm Incorporated Unified partition mode table for intra-mode coding
US9900615B2 (en) 2011-12-28 2018-02-20 Microsoft Technology Licensing, Llc Representative motion information for temporal motion prediction in video encoding and decoding
WO2013102293A1 (en) 2012-01-04 2013-07-11 Mediatek Singapore Pte. Ltd. Improvements of luma-based chroma intra prediction
US9451252B2 (en) 2012-01-14 2016-09-20 Qualcomm Incorporated Coding parameter sets and NAL unit headers for video coding
JP2013150173A (ja) 2012-01-19 2013-08-01 Sony Corp 画像処理装置および方法
US20130188718A1 (en) 2012-01-20 2013-07-25 Qualcomm Incorporated Motion prediction in svc without including a temporally neighboring block motion vector in a candidate list
CA2861951C (en) 2012-01-20 2020-08-11 Thomas Schierl Coding concept allowing parallel processing, transport demultiplexer and video bitstream
JP2013150215A (ja) 2012-01-20 2013-08-01 Fujitsu Ltd 動画像復号装置、動画像符号化装置、動画像復号方法、動画像符号化方法、動画像復号プログラム及び動画像符号化プログラム
US9210438B2 (en) 2012-01-20 2015-12-08 Sony Corporation Logical intra mode naming in HEVC video coding
US10244246B2 (en) 2012-02-02 2019-03-26 Texas Instruments Incorporated Sub-pictures for pixel rate balancing on multi-core platforms
WO2013128010A2 (en) 2012-03-02 2013-09-06 Canon Kabushiki Kaisha Method and devices for encoding a sequence of images into a scalable video bit-stream, and decoding a corresponding scalable video bit-stream
US8737824B1 (en) 2012-03-09 2014-05-27 Google Inc. Adaptively encoding a media stream with compound prediction
US9503720B2 (en) 2012-03-16 2016-11-22 Qualcomm Incorporated Motion vector coding and bi-prediction in HEVC and its extensions
WO2013148002A2 (en) 2012-03-26 2013-10-03 Euclid Discoveries, Llc Context based video encoding and decoding
US20130258052A1 (en) 2012-03-28 2013-10-03 Qualcomm Incorporated Inter-view residual prediction in 3d video coding
US9838684B2 (en) 2012-04-11 2017-12-05 Qualcomm Incorporated Wavefront parallel processing for video coding
US20130272409A1 (en) 2012-04-12 2013-10-17 Qualcomm Incorporated Bandwidth reduction in video coding through applying the same reference index
CA2864002A1 (en) 2012-04-24 2013-10-31 Mediatek Inc. Method and apparatus of motion vector derivation for 3d video coding
US9521410B2 (en) 2012-04-26 2016-12-13 Qualcomm Incorporated Quantization parameter (QP) coding in video coding
GB2501535A (en) 2012-04-26 2013-10-30 Sony Corp Chrominance Processing in High Efficiency Video Codecs
US9762903B2 (en) 2012-06-01 2017-09-12 Qualcomm Incorporated External pictures in video coding
CN102752595B (zh) 2012-06-29 2014-07-09 香港应用科技研究院有限公司 用于深度图编码和解码的混合型跳过模式
US9621905B2 (en) 2012-06-29 2017-04-11 Qualcomm Incorporated Tiles and wavefront parallel processing
US9716892B2 (en) 2012-07-02 2017-07-25 Qualcomm Incorporated Video parameter set including session negotiation information
US9549182B2 (en) 2012-07-11 2017-01-17 Qualcomm Incorporated Repositioning of prediction residual blocks in video coding
US9264713B2 (en) * 2012-07-11 2016-02-16 Qualcomm Incorporated Rotation of prediction residual blocks in video coding with transform skipping
US9467692B2 (en) 2012-08-31 2016-10-11 Qualcomm Incorporated Intra prediction improvements for scalable video coding
US20140071235A1 (en) 2012-09-13 2014-03-13 Qualcomm Incorporated Inter-view motion prediction for 3d video
WO2014053099A1 (en) 2012-10-03 2014-04-10 Mediatek Inc. Method and apparatus for motion information inheritance in three-dimensional video coding
US9615090B2 (en) 2012-12-28 2017-04-04 Qualcomm Incorporated Parsing syntax elements in three-dimensional video coding
US9826244B2 (en) 2013-01-08 2017-11-21 Qualcomm Incorporated Device and method for scalable coding of video information based on high efficiency video coding
US9800857B2 (en) 2013-03-08 2017-10-24 Qualcomm Incorporated Inter-view residual prediction in multi-view or 3-dimensional video coding
US9516306B2 (en) 2013-03-27 2016-12-06 Qualcomm Incorporated Depth coding modes signaling of depth data for 3D-HEVC
US10904551B2 (en) 2013-04-05 2021-01-26 Texas Instruments Incorporated Video coding using intra block copy
CN103237226B (zh) 2013-04-07 2016-08-03 宁波大学 一种立体视频宏块丢失错误隐藏方法
WO2014166104A1 (en) 2013-04-12 2014-10-16 Mediatek Singapore Pte. Ltd. Removal of parsing dependency for illumination compensation
US11323747B2 (en) 2013-06-05 2022-05-03 Qualcomm Incorporated Residual differential pulse code modulation (DPCM) extensions and harmonization with transform skip, rotation, and scans
CN103281538B (zh) 2013-06-06 2016-01-13 上海交通大学 基于滚动哈希和块级别帧内预测的帧内编码方法
CN111800641B (zh) 2013-06-13 2023-08-25 上海天荷电子信息有限公司 同模式采用不同种类重构像素的图像编码解码方法和装置
US9300967B2 (en) 2013-06-19 2016-03-29 Apple Inc. Sample adaptive offset control
US10015515B2 (en) 2013-06-21 2018-07-03 Qualcomm Incorporated Intra prediction from a predictive block
GB2516422A (en) 2013-07-09 2015-01-28 Sony Corp Data encoding and decoding
US9558567B2 (en) 2013-07-12 2017-01-31 Qualcomm Incorporated Palette prediction in palette-based video coding
US20150016516A1 (en) 2013-07-15 2015-01-15 Samsung Electronics Co., Ltd. Method for intra prediction improvements for oblique modes in video coding
WO2015010226A1 (en) 2013-07-24 2015-01-29 Qualcomm Incorporated Simplified advanced motion prediction for 3d-hevc
CN112383781B (zh) 2013-08-16 2023-05-02 上海天荷电子信息有限公司 参考块的位置决定其重构阶段的块匹配编解码方法和装置
US9503715B2 (en) 2013-08-30 2016-11-22 Qualcomm Incorporated Constrained intra prediction in video coding
US20150071357A1 (en) * 2013-09-12 2015-03-12 Qualcomm Incorporated Partial intra block copying for video coding
AU2013228045A1 (en) 2013-09-13 2015-04-02 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding video data
WO2015054813A1 (en) 2013-10-14 2015-04-23 Microsoft Technology Licensing, Llc Encoder-side options for intra block copy prediction mode for video and image coding
WO2015054812A1 (en) 2013-10-14 2015-04-23 Microsoft Technology Licensing, Llc Features of base color index map mode for video and image coding and decoding
CN105765974B (zh) 2013-10-14 2019-07-02 微软技术许可有限责任公司 用于视频和图像编码和解码的帧内块复制预测模式的特征
US20150110181A1 (en) 2013-10-18 2015-04-23 Samsung Electronics Co., Ltd. Methods for palette prediction and intra block copy padding
US10291827B2 (en) 2013-11-22 2019-05-14 Futurewei Technologies, Inc. Advanced screen content coding solution
WO2015090219A1 (en) 2013-12-18 2015-06-25 Mediatek Inc. Method and apparatus for palette initialization and management
TWI536811B (zh) 2013-12-27 2016-06-01 財團法人工業技術研究院 影像處理方法與系統、解碼方法、編碼器與解碼器
US10390034B2 (en) 2014-01-03 2019-08-20 Microsoft Technology Licensing, Llc Innovations in block vector prediction and estimation of reconstructed sample values within an overlap area
RU2669005C2 (ru) 2014-01-03 2018-10-05 МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи Предсказание вектора блока в кодировании/декодировании видео и изображений
US9883197B2 (en) 2014-01-09 2018-01-30 Qualcomm Incorporated Intra prediction of chroma blocks using the same vector
US20150271515A1 (en) 2014-01-10 2015-09-24 Qualcomm Incorporated Block vector coding for intra block copy in video 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
GB2522844A (en) 2014-01-29 2015-08-12 Sony Corp Data encoding and decoding
US9699468B2 (en) 2014-02-10 2017-07-04 Microsoft Technology Licensing, Llc Adaptive screen and video coding scheme
US10542274B2 (en) 2014-02-21 2020-01-21 Microsoft Technology Licensing, Llc Dictionary encoding and decoding of screen content
CN105393537B (zh) 2014-03-04 2019-08-27 微软技术许可有限责任公司 用于基于散列的块匹配的散列表构建和可用性检查
CA2939431C (en) 2014-03-04 2020-09-22 Microsoft Techology Licensing, Llc Block flipping and skip mode in intra block copy prediction
US11323733B2 (en) 2014-05-23 2022-05-03 Qualcomm Incorporated Predictor palette initialization in palette-based video coding
CN106576178B (zh) 2014-06-19 2020-03-13 Vid拓展公司 采用块向量导出的帧内块复制编码的方法
US10785486B2 (en) 2014-06-19 2020-09-22 Microsoft Technology Licensing, Llc Unified intra block copy and inter prediction modes
US10812817B2 (en) 2014-09-30 2020-10-20 Microsoft Technology Licensing, Llc Rules for intra-picture prediction modes when wavefront parallel processing is enabled
US9591325B2 (en) 2015-01-27 2017-03-07 Microsoft Technology Licensing, Llc Special case handling for merged chroma blocks in intra block copy prediction mode

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000102016A (ja) * 1998-09-22 2000-04-07 Victor Co Of Japan Ltd 動き補償予測回路
JP2009525705A (ja) * 2006-01-31 2009-07-09 クゥアルコム・インコーポレイテッド マルチメディアコンテンツのリサイズ方法およびシステム
EP2249571A1 (en) * 2009-05-04 2010-11-10 Thomson Licensing SA Method and device for encoding an image frame comprising macroblocks
US20130089266A1 (en) * 2010-06-21 2013-04-11 Thomson Licensing Method and apparatus for encoding/decoding image data
JP2012257148A (ja) * 2011-06-10 2012-12-27 Nippon Hoso Kyokai <Nhk> 動きベクトル検出装置、符号化装置、復号装置、及びこれらのプログラム

Non-Patent Citations (7)

* Cited by examiner, † Cited by third party
Title
BIN LI, JIZHENG XU, GARY. J. SULLIVAN: "On Intra BC mode", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11, JPN6018026706, 21 October 2013 (2013-10-21), pages 1 - 12, ISSN: 0004140021 *
CHAO PANG, JOEL SOLE, LIWEI GUO, RAJAN JOSHI, MARTA KARCZEWICZ, TAO LIN, SHUHUI WANG: "AhG5: Intra block copying with padding", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11, JPN6018026704, 24 October 2013 (2013-10-24), pages 1 - 6, ISSN: 0004140019 *
D. FLYNN, C. ROSEWARNE: "BoG report on Range Extensions topics", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11, JPN6018026702, 1 November 2013 (2013-11-01), pages 20 - 22, ISSN: 0004140024 *
J. SOLE, E. ALSHINA, D.-K. KWON, W.-H. PENG: "HEVC Range Extensions Core Experiment 3 (RCE3): Intra block copy refinement", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11, JPN6018026707, 20 November 2013 (2013-11-20), pages 1 - 6, ISSN: 0004140022 *
KENICHI IWATA, RYOJI HASHIMOTO, SEIJI MOCHIZUKI, KIYOHARU AIZAWA: "Intra texture prediction based on repetitive pixel replenishment", 2012 19TH IEEE INTERNATIONAL CONFERENCE ON IMAGE PROCESSING (ICIP), JPN6018026705, 30 September 2012 (2012-09-30), pages 2933 - 2936, XP032333810, ISSN: 0004140020, DOI: 10.1109/ICIP.2012.6467514 *
SUNIL LEE, ELENA ALSHINA, CHANYUL KIM: "AHG5: Extension of intra block copy", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11, JPN6018026703, 22 October 2013 (2013-10-22), pages 1 - 8, ISSN: 0004140023 *
TIAGO A. DA FONSECA, ET AL.: "Open-Loop Prediction in H.264/AVC for High Definition Sequences", XXV SIMPOSIO BRASILEIRO DE TELECOMUNICACOES [オンライン], JPN7019000550, 3 September 2007 (2007-09-03), pages 1 - 4, XP002545660, ISSN: 0004140025 *

Also Published As

Publication number Publication date
WO2015102975A3 (en) 2015-08-27
KR102283407B1 (ko) 2021-07-28
RU2683495C1 (ru) 2019-03-28
WO2015102975A2 (en) 2015-07-09
MX2016008786A (es) 2016-09-08
CN105874791A (zh) 2016-08-17
CA2934813A1 (en) 2015-07-09
AU2014374141A1 (en) 2016-07-07
JP6719379B2 (ja) 2020-07-08
EP3090546A2 (en) 2016-11-09
US10390034B2 (en) 2019-08-20
EP3090546B1 (en) 2021-03-03
CN105874791B (zh) 2019-11-05
KR20160105855A (ko) 2016-09-07
BR112016015369A2 (pt) 2017-08-08
MX360920B (es) 2018-11-22
AU2014374141B2 (en) 2018-11-08
US20150195526A1 (en) 2015-07-09

Similar Documents

Publication Publication Date Title
JP6719379B2 (ja) オーバーラップエリア内の再構成されたサンプル値のブロックベクトル予測及び推定におけるイノベーション
US11910005B2 (en) Block vector prediction in video and image coding/decoding
US20210360262A1 (en) Encoder-side options for intra block copy prediction mode for video and image coding
US10708594B2 (en) Adaptive skip or zero block detection combined with transform size decision
JP6359101B2 (ja) ビデオ及び画像の符号化及び復号のためのイントラブロックコピー予測モードの特徴
RU2683165C1 (ru) Внутреннее предсказание блочного копирования с асимметричными разделами и схемами поиска на стороне кодера, диапазоны поиска и подходы к разделению
KR102401946B1 (ko) 인트라 블록 카피 예측에서의 스킵 모드 및 블록 플립핑
KR20230130178A (ko) 통합된 인트라 블록 카피 및 인터 예측 모드
US9762912B2 (en) Gradual updating using transform coefficients for encoding and decoding
KR20160129076A (ko) 스크린 컨텐츠의 딕셔너리 인코딩 및 디코딩
US20240146955A1 (en) Block vector prediction in video and image coding/decoding

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171127

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180717

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181016

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190305

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190605

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191029

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200128

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200616

R150 Certificate of patent or registration of utility model

Ref document number: 6719379

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250