JP2019530351A - ビデオコーディングにおけるイントラ予測のための改善された補間フィルタ - Google Patents

ビデオコーディングにおけるイントラ予測のための改善された補間フィルタ Download PDF

Info

Publication number
JP2019530351A
JP2019530351A JP2019516387A JP2019516387A JP2019530351A JP 2019530351 A JP2019530351 A JP 2019530351A JP 2019516387 A JP2019516387 A JP 2019516387A JP 2019516387 A JP2019516387 A JP 2019516387A JP 2019530351 A JP2019530351 A JP 2019530351A
Authority
JP
Japan
Prior art keywords
block
video
interpolation filter
prediction
video data
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
JP2019516387A
Other languages
English (en)
Other versions
JP2019530351A5 (ja
JP7241680B2 (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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2019530351A publication Critical patent/JP2019530351A/ja
Publication of JP2019530351A5 publication Critical patent/JP2019530351A5/ja
Application granted granted Critical
Publication of JP7241680B2 publication Critical patent/JP7241680B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
    • 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/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • 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/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop

Landscapes

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

Abstract

ビデオコーダが、補間フィルタの1つまたは複数の特性を使用して、参照バッファに記憶されるべき参照サンプルの数を決定するように構成される技法が説明されている。ビデオコーダはさらに、参照バッファ中の該数の参照サンプルに対応する複数の値を生成するようにさらに構成される。ビデオコーダはさらに、補間フィルタおよび複数の値を使用して、イントラ予測のための予測情報を生成するように構成される。ビデオコーダはさらに、予測情報に基づいて、ビデオデータのブロックを再構築するように構成される。【選択図】図15

Description

関連出願
[0001]本願は、2016年9月28日付で出願された米国仮出願第62/401,067号の利益を主張し、この内容全体が、参照により本明細書に組み込まれている。
[0002]本開示は、ビデオコーディングに関する。
[0003]デジタルビデオ能力(Digital video capabilities)は、デジタルテレビ、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末(PDA)、ラップトップまたはデスクトップコンピュータ、タブレットコンピュータ、電子書籍リーダ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレイヤ、ビデオゲームデバイス、ビデオゲーム機、セルラ式または衛星無線電話、いわゆる「スマートフォン」、ビデオ電話会議デバイス、ビデオストリーミングデバイス等を含む、幅広い範囲のデバイス中に組み込まれ得る。デジタルビデオデバイスは、MPEG−2、MPEG−4、ITU−T H.263、ITU−T H.264/MPEG−4、Part10、アドバンスドビデオコーディング(AVC)、ITU−T H.265、高効率ビデオコーディング(HEVC)規格、およびそのような規格の拡張版によって定義されている規格に説明されているもののような、ビデオ圧縮技法を実装する。ビデオデバイスは、そのようなビデオ圧縮技法を実装することによって、デジタルビデオ情報をより効率的に送信、受信、符号化、復号、および/または記憶し得る。
[0004]ビデオ圧縮技法は、ビデオシーケンスに内在する冗長性を低減または取り除くために、空間(イントラピクチャ)予測および/または時間(インターピクチャ)予測を実行する。ブロックベースのビデオコーディングでは、ビデオスライス(即ち、ビデオフレームまたはビデオフレームの一部分)が、ツリーブロック、コーディングユニット(CU)、および/またはコーディングノードとも称され得る、ビデオブロックに分割され得る。ピクチャのイントラコーディングされた(I)スライス中のビデオブロックは、同じピクチャ中の隣接ブロックにおける参照サンプルに対して空間予測を使用して符号化される。ピクチャのインターコーディングされた(PまたはB)スライス中のビデオブロックは、同じピクチャ中の隣接ブロックにおける参照サンプルに対して空間予測を、または他の参照ピクチャ中の参照サンプルに対して時間予測を使用し得る。空間または時間予測は結果として、コーディングされるべきブロックについての予測ブロック(predictive block)をもたらす。残差データは、コーディングされるべき元のブロックと予測ブロックとの間のピクセル差分を表現する。インターコーディングされるブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトル、およびコーディングされるブロックと予測ブロックとの間の差分を示す残差データにしたがって符号化される。イントラコーディングされるブロックは、イントラコーディングモードおよび残差データにしたがって符号化される。さらなる圧縮のために、残差データはピクセルドメインから変換ドメインに変換され得、その結果、残差変換係数が生じ、該残差変換係数はその後量子化され得る。
[0005]一般に本開示は、イントラ予測と併せて使用される補間フィルタリングに関する技法を説明する。本明細書で説明される1つまたは複数の技法は、HEVCの拡張版またはビデオコーディング規格の次世代版といったアドバンスドビデオコーデックのコンテキストで使用され得る。
[0006]一例では、本開示は、ビデオデータのブロックを処理する方法を説明し、該方法は、補間フィルタの1つまたは複数の特性を使用して、参照バッファに記憶されるべき参照サンプルの数を決定することを含む。方法はさらに、参照バッファ中の該数の参照サンプルに対応する複数の値を生成することを含む。方法はさらに、補間フィルタおよび複数の値を使用して、イントラ予測のための予測情報を生成することを含む。方法はさらに、予測情報に基づいて、ビデオデータのブロックを再構築することを含む。
[0007]一例では、本開示は、ビデオデータを記憶するように構成されたメモリと、1つまたは複数のプロセッサとを含むビデオデータのブロックを処理するための装置を説明する。1つまたは複数のプロセッサは、補間フィルタの1つまたは複数の特性を使用して、参照バッファに記憶されるべき参照サンプルの数を決定するように構成される。1つまたは複数のプロセッサは、参照バッファ中の該数の参照サンプルに対応する複数の値を生成するように構成される。1つまたは複数のプロセッサは、補間フィルタおよび複数の値を使用して、イントラ予測のための予測情報を生成するように構成される。1つまたは複数のプロセッサは、予測情報に基づいて、ビデオデータのブロックを再構築するように構成される。
[0008]一例では、本開示は、命令を記憶する非一時的コンピュータ可読記憶媒体を説明し、該命令は、実行されると、ビデオデータをコーディングするためのデバイスの1つまたは複数のプロセッサに、補間フィルタの1つまたは複数の特性を使用して、参照バッファに記憶されるべき参照サンプルの数を決定させる。命令はさらに、1つまたは複数のプロセッサに、参照バッファ中の該数の参照サンプルに対応する複数の値を生成させる。命令はさらに、1つまたは複数のプロセッサに、補間フィルタおよび複数の値を使用して、イントラ予測のための予測情報を生成させる。命令はさらに、1つまたは複数のプロセッサに、予測情報に基づいて、ビデオデータのブロックを再構築させる。
[0009]一例では、本開示は、ビデオデータのブロックを処理するための装置を説明し、それは、補間フィルタの1つまたは複数の特性を使用して、参照バッファに記憶されるべき参照サンプルの数を決定するための手段を含む。装置はさらに、参照バッファ中の該数の参照サンプルに対応する複数の値を生成するための手段を含む。装置はさらに、補間フィルタおよび複数の値を使用して、イントラ予測のための予測情報を生成するための手段を含む。装置はさらに、予測情報に基づいて、ビデオデータのブロックを再構築するための手段を含む。
[0010]本開示の1つまたは複数の態様の詳細は、添付の図面および以下の説明において述べられる。本開示において説明される技法の他の特徴、目的、および利点が、説明、図面、および請求項から明らかになるだろう。
本開示で説明される1つまたは複数の技法を利用し得る例となるビデオ符号化および復号システムを例示するブロック図である。 16x16ブロックについてのイントラ予測の例である。 例となるイントラ予測モードを示す概念図である。 例となるplanarイントラ予測モードを示す概念図である。 angular予測モードに基づく双線形補間の例を示す概念図である。 イントラ予測において使用される例となる参照サンプルを示す概念図である。 angularイントラ予測のための例となる正および負の予測方向を示す概念図である。 angularイントラ予測についての例となる参照サンプルマッピングプロセスを示す概念図である。 他の例となるイントラ予測モードを示す概念図である。 angular予測モードに基づく例となる4タップ補間の例を示す概念図である。 境界ロケーションにおける例となる4タップ補間を示す概念図である。 成分間線形予測モデル予測モードのための線形予測パラメータの導出に使用されるクロマサンプルのロケーションを示す概念図である。 成分間線形予測モデル予測モードのための線形予測パラメータの導出に使用されるルーマサンプルのロケーションを示す概念図である。 本開示で説明される1つまたは複数の技法を実装し得る例となるビデオエンコーダを例示するブロック図である。 本開示で説明される1つまたは複数の技法を実装し得る例となるビデオデコーダを例示するブロック図である。 本開示の第1の例となるコーディング方法を例示するフローチャートである。 本開示の第2の例となるコーディング方法を例示するフローチャートである。 本開示の第3の例となるコーディング方法を例示するフローチャートである。
[0029]一般に本開示は、ビデオコーディングにおけるイントラ予測のための補間フィルタに関する技法を説明する。補間フィルタは、HEVCの拡張版またはビデオコーディング規格の次世代版といったアドバンスドビデオコーデックのコンテキストで使用され得る。
[0030]ビデオエンコーダは、ビデオエンコーダからビデオデコーダへの出力に適した形態のビデオデータの残差ブロックを生成し得る。ビデオデコーダは、補間フィルタを使用して予測ブロックを生成し、残差ブロックおよび予測ブロックを使用してビデオデータのコーディングブロックを生成し得る。ビデオエンコーダからビデオデコーダに送信されるデータの量が低減されるように、残差ブロックを表現するために使用されるデータの量を低減することが望ましい。一般に、補間フィルタの精度が増加すると、残差ブロックを表現するためのビデオエンコーダからビデオデコーダに送信されるデータの量は減少する。
[0031]ビデオコーディングでは、4タップ補間フィルタが、参照サンプルバッファに記憶された参照サンプルを使用し得る。いくつかの技法では、MxNブロックについての参照サンプルバッファは、イントラ予測のために2*(M+N)+1個の参照サンプルを含み得る。(たとえば、4タップに対して)より長いタップフィルタ、たとえば6タップ、8タップ、または別のより長いタップフィルタは、4タップ補間フィルタと比較して、コーディングパフォーマンスをさらに改善し得る。しかしながら、そのようなより長いタップ補間フィルタは通常、4タップ補間フィルタと比較して、より多くの参照サンプルを取得する際の複雑性に起因して、ビデオコーディングのためには実装されない。
[0032]加えて、ブロック境界近くに配置される参照ピクセルについて、ビデオエンコーダおよびデコーダは、ある特定の補間フィルタのための参照サンプルバッファに記憶された参照サンプルの範囲外の(即ち利用可能でない)参照サンプルにアクセスし得る。範囲外の参照ピクセルを順応させるために、いくつかの技法は、ビデオエンコーダおよび/またはビデオデコーダが利用可能でない参照サンプルに関する近隣参照値を使用するクリッピングオペレーション(clipping operation)を実行することを含み得、これは、結果的に参照サンプルバッファに記憶された参照サンプルの範囲外の参照サンプルを生じさせないより少ないタップを有する補間フィルタと比較して、複雑性が加わり得る。
[0033]さらには、補間フィルタリングのためのいくつかの技法は、丸めオペレーションを実行するイントラ参照サンプルマッピングプロセスを含み得る。しかしながら、丸めオペレーションは、予測された方向に沿って予測誤差を提示し得、これにより結果として生じる残差ブロックに誤差を加える。
[0034]イントラ予測のために静的な数(たとえば、2*(M+N)+1のような固定の数)の参照サンプルを含むMxNブロックについての参照サンプルバッファに依存するのではなく、ビデオコーダ(たとえば、ビデオデコーダ、ビデオエンコーダ等)は、画像ブロック予測に使用される補間フィルタの1つまたは複数の特性に順応する、動的な(たとえば適応可能または修正可能な)数の参照サンプルを含む参照サンプルバッファを生成し得る。このように、動的な数の参照サンプルを使用するビデオコーダは、静的な数(たとえば、2*(M+N)+1個)の参照サンプルを使用するビデオコーダと比較して、より長いタップフィルタを許容する参照サンプルの数を選択し得る。さらに、動的な数の参照サンプルを使用するビデオコーダは、静的な数(たとえば、2*(M+N)+1個)の参照サンプルを使用するビデオコーダと比較して、クリッピングオペレーションの数を低減または消去するように、参照サンプルの数を選択し得る。さらに、動的な数の参照サンプルを使用するビデオコーダは、丸めオペレーション(rounding operation)を実行するイントラ参照サンプルマッピングプロセスを低減または消去するように、参照サンプルを選択し得、これにより、静的な数(たとえば、2*(M+N)+1個)の参照サンプルを使用するビデオコーダと比較して、結果として生じる残差ブロックに対する誤差を低減する。
[0035]ブロック、スライス、タイル、またはピクチャに単一の補間フィルタを適用するのではなく、ビデオコーダは、ブロック、スライス、タイル、またはピクチャの各々について1つの補間フィルタを選択し得る。このように、マルチプル補間フィルタ(a multiple interpolations filters)を使用するビデオコーダは、全ブロック、スライス、タイル、またはピクチャについて単一の補間フィルタを使用するビデオコーダと比較して、より効率的なより長いタップの補間フィルタの使用を許すために、より多くの参照サンプルを取得する際の複雑性に基づいて、補間フィルタを選択し得る。
[0036]参照値を導くために最も近い隣接参照を使用するのではなく、ビデオコーダは、値を導くために、隣接参照サンプルに補間フィルタを適用し得る。このように、補間フィルタを適用するビデオコーダは、参照値を導くために、最も近い隣接参照を使用するビデオコーダと比較して、結果として生じる残差ブロックの誤差を低減し得る。
[0037]図1は、本開示の技法を利用し得る例となるビデオ符号化および復号システム10を例示するブロック図である。図1で示されているように、システム10は、宛先デバイス14によって後に復号されるべき符号化されたビデオデータを提供するソースデバイス12を含む。特に、ソースデバイス12は、コンピュータ可読媒体16を介して宛先デバイス14にビデオデータを提供する。ソースデバイス12および宛先デバイス14は、デスクトップコンピュータ、ノートブック(即ちラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンのような電話ハンドセット、タブレットコンピュータ、テレビ、カメラ、ディスプレイデバイス、デジタルメディアプレイヤ、ビデオゲーム機、ビデオストリーミングデバイス、または同様のものを含む、幅広いデバイスの何れも備え得る。いくつかのケースでは、ソースデバイス12および宛先デバイス14は、ワイヤレス通信のために装備され得る。したがって、ソースデバイス12および宛先デバイス14は、ワイヤレス通信デバイスであり得る。ソースデバイス12は、例となるビデオコーディングデバイス、より具体的には例となるビデオ符号化デバイス(即ち、ビデオデータを符号化するためのデバイス)である。宛先デバイス14は、例となるビデオコーディングデバイス、より具体的には例となるビデオ復号デバイス(即ち、ビデオデータを復号するためのデバイス)である。本明細書で使用される場合、ビデオコーダは、ビデオデコーダ(たとえば、ビデオ復号デバイス)、ビデオエンコーダ(たとえば、ビデオ符号化デバイス)、または別のビデオコーディングデバイスを指し得る。
[0038]図1の例では、ソースデバイス12は、ビデオソース18、ビデオデータを記憶するように構成された記憶媒体19、ビデオエンコーダ20、および出力インターフェース24を含む。宛先デバイス14は、入力インターフェース26、符号化されたビデオデータを記憶するように構成された記憶媒体28、ビデオデコーダ30、およびディスプレイデバイス32を含む。他の例では、ソースデバイス12および宛先デバイス14は、他のコンポーネントまたは配列を含む。たとえば、ソースデバイス12は、外部のカメラのような外部のビデオソースからビデオデータを受信し得る。同様に、宛先デバイス14は、統合されたディスプレイデバイスを含むのではなく、外部のディスプレイデバイスとインターフェース接続し得る。
[0039]図1の例示されているシステム10は一例に過ぎない。ビデオデータを処理するための技法は、何れのデジタルビデオ符号化および/または復号デバイスによっても実行され得る。一般に、本開示の技法は、ビデオ符号化デバイスによって実行されるけれども、本技法は、通常「CODEC」と称されるビデオエンコーダ/デコーダによっても実行され得る。ソースデバイス12および宛先デバイス14は単に、ソースデバイス12が宛先デバイス14への送信のためのコーディングされたビデオデータを生成するようなコーディングデバイスの例に過ぎない。いくつかの例では、ソースデバイス12および宛先デバイス14は、ソースデバイス12および宛先デバイス14の各々がビデオ符号化および復号コンポーネントを含むような実質的に対称的な形でオペレートし得る。したがってシステム10は、たとえば、ビデオストリーミング、ビデオ再生、ビデオブロードキャスト、またはビデオ電話のために、ソースデバイス12と宛先デバイス14との間の一方向または二方向ビデオ送信をサポートし得る。
[0040]ソースデバイス12のビデオソース18は、ビデオカメラのようなビデオキャプチャデバイス、以前にキャプチャされたビデオを保有するビデオアーカイブ、および/またはビデオコンテンツプロバイダからビデオデータを受信するためのビデオフィードインターフェースを含み得る。さらなる代替として、ビデオソース18は、ソースビデオとしてのコンピュータグラフィックベースのデータ、またはライブビデオ、アーカイブされたビデオ、およびコンピュータ処理されたビデオの組合せを生成し得る。ソースデバイス12は、ビデオデータを記憶するように構成された1つまたは複数のデータ記憶媒体(たとえば、記憶媒体19)を備え得る。本開示で説明されている技法は、ビデオコーディング全般に適用可能であり得、ワイヤレスおよび/または有線アプリケーションに適用され得る。各ケースでは、キャプチャされた、事前キャプチャされた、またはコンピュータ処理されたビデオは、ビデオエンコーダ20によって符号化され得る。出力インターフェース24は、符号化されたビデオ情報をコンピュータ可読媒体16に出力し得る。
[0041]宛先デバイス14は、コンピュータ可読媒体16を介して、復号されるべき符号化されたビデオデータを受信し得る。コンピュータ可読媒体16は、ソースデバイス12から宛先デバイス14に符号化されたビデオデータを移動させることが可能な何れのタイプの媒体またはデバイスも備え得る。いくつかの例では、コンピュータ可読媒体16は、ソースデバイス12がリアルタイムに符号化されたビデオデータを直接宛先デバイス14に送信することを可能にする通信媒体を備える。符号化されたビデオデータは、ワイヤレス通信プロトコルのような通信規格にしたがって変調され、宛先デバイス14に送信され得る。通信媒体は、無線周波数(RF)スペクトルまたは1つまたは複数の物理的な伝送線といった何れのワイヤレスまたは有線通信媒体も備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットのようなグローバルネットワークといったパケットベースのネットワークの一部を形成し得る。通信媒体は、ルータ、スイッチ、基地局、またはソースデバイス12から宛先デバイス14への通信を容易にするのに役立ち得る何れの他の機器も含み得る。宛先デバイス14は、符号化されたビデオデータおよび復号されたビデオデータを記憶するように構成された1つまたは複数のデータ記憶媒体を備え得る。
[0042]いくつかの例では、符号化されたデータは、出力インターフェース24から記憶デバイスに出力され得る。同様に、符号化されたデータは、記憶デバイスから入力インターフェースによってアクセスされ得る。記憶デバイスは、ハードドライブ、ブルーレイディスク、DVD、CD−ROM、フラッシュメモリ、揮発性または非揮発性メモリ、あるいは符号化されたビデオデータを記憶するためのあらゆる他の適したデジタル記憶媒体といった様々な分散型または局所的にアクセスされるデータ記憶媒体の何れも含み得る。さらなる例では、記憶デバイスは、ファイルサーバ、またはソースデバイス12によって生成された符号化されたビデオを記憶し得る別の中間記憶デバイスに対応し得る。宛先デバイス14は、ストリーミングまたはダウンロードを介して、記憶デバイスから、記憶されたビデオデータにアクセスし得る。ファイルサーバは、符号化されたビデオデータを記憶すること、およびその符号化されたビデオデータを宛先デバイス14に送信することが可能な何れのタイプのサーバでもあり得る。例となるファイルサーバは、(たとえば、ウェブサイトのための)ウェブサーバ、FTPサーバ、ネットワーク接続記憶(NAS:network attached storage)デバイス、またはローカルディスクドライブを含む。宛先デバイス14は、符号化されたビデオデータに、インターネット接続を含むあらゆる規格データ接続を通じてアクセスし得る。これは、ファイルサーバに記憶された符号化されたビデオデータにアクセスするのに適している、ワイヤレスチャネル(たとえばWi−Fi接続)、有線接続(たとえば、DSL、ケーブルモデム等)、またはその両方の組合せを含み得る。記憶デバイスからの符号化されたビデオデータの送信は、ストリーミング送信、ダウンロード送信、またはそれらの組合せであり得る。
[0043]本技法は、無線テレビブロードキャスト、ケーブルテレビ送信、衛星テレビ送信、HTTPを介した動的適応型ストリーミング(DASH:dynamic adaptive streaming over HTTP)のようなインターネットストリーミングビデオ送信、データ記憶媒体上に符号化されるデジタルビデオ、データ記憶媒体上に記憶されたデジタルビデオの復号、または他のアプリケーションといった様々なマルチメディアアプリケーションの何れもサポートするビデオコーディングに適用され得る。いくつかの例では、システム10は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスト、および/またはビデオ電話といったアプリケーションをサポートするために、一方向または二方向ビデオ送信をサポートするように構成され得る。
[0044]コンピュータ可読媒体16は、ワイヤレスブロードキャストまたは有線ネットワーク送信といった一時的な媒体、またはハードディスク、フラッシュドライブ、コンパクトディスク、デジタルビデオディスク、ブルーレイディスク、または他のコンピュータ可読媒体といった記憶媒体(つまり非一時的記憶媒体)を含み得る。いくつかの例では、ネットワークサーバ(図示せず)は、ソースデバイス12から符号化されたビデオデータを受信し、たとえばネットワーク送信を介して、該符号化されたビデオデータを宛先デバイス14に提供し得る。同様に、ディスクスタンピング設備(disc stamping facility)のような媒体製造設備(medium production facility)のコンピューティングデバイスは、ソースデバイス12から符号化されたビデオデータを受信し、該符号化されたビデオデータを保有するディスクを製造し得る。したがって、コンピュータ可読媒体16は、様々な例において、様々な形態の1つまたは複数のコンピュータ可読媒体を含むように理解され得る。
[0045]宛先デバイス14の入力インターフェース26は、コンピュータ可読媒体16から情報を受信する。コンピュータ可読媒体16の情報は、ブロックおよび他のコーディングされたユニット、たとえばピクチャグループ(GOP)の特性および/または処理を記述するシンタックス要素を含む、ビデオエンコーダ20のビデオエンコーダ20によって定義され、ビデオデコーダ30によっても使用されるシンタックス情報を含み得る。記憶媒体28は、入力インターフェース26によって受信される符号化されたビデオデータ(たとえば、ビットストリーム)のような符号化されたビデオデータを記憶するように構成され得る。ディスプレイデバイス32は、復号されたビデオデータをユーザに表示し、陰極線管(CRT)、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプのディスプレイデバイスといった様々なディスプレイデバイスの何れも備え得る。
[0046]ビデオエンコーダ20およびビデオデコーダ30は各々、1つまたは複数のマイクロプロセッサ、デジタルシグナルプロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理回路、ソフトウェア、ハードウェア、ファームウェア、またはそれらのあらゆる組合せといった、様々な適したエンコーダ回路またはデコーダ回路の何れとしても実装され得る。本技法がソフトウェアにおいて部分的に実装されるとき、デバイスは、適した非一時的コンピュータ可読媒体にソフトウェアのための命令を記憶し、本開示の技法を実行するために1つまたは複数のプロセッサを使用してハードウェアにおいて該命令を実行し得る。ビデオエンコーダ20およびビデオデコーダ30の各々は、1つまたは複数のエンコーダまたはデコーダに含まれ得、エンコーダまたはデコーダのどちらも、それぞれのデバイスにおいて組み合わされたエンコーダ/デコーダ(CODEC)の一部として統合され得る。
[0047]いくつかの例では、ビデオエンコーダ20およびビデオデコーダ30は、既存または将来的な規格のようなビデオコーディング規格にしたがってオペレートし得る。例となるビデオコーディング規格は、限定されないが、ITU−T H.261、ISO/IEC MPEG−1ビジュアル、ITU−T H.262またはISO/IEC MPEG−2ビジュアル、ITU−T H.263、ISO/IEC MPEG−4ビジュアル、および(ISO/IEC MPEG−4 AVCとしても知られている)ITU−T H.264を含み、そのスケーラブルビデオコーディング(SVC:Scalable Video Coding)およびマルチビュービデオコーディング(MVC:Multi-View Video Coding)拡張版も含む。加えて、新たなビデオコーディング規格、即ち高効率ビデオコーディング(HEVC)あるいはITU−T H.265(その範囲およびスクリーンコンテンツコーディング拡張版を含む)と、3Dビデオコーディング(3D−HEVC)と、マルチビュー拡張(MV−HEVC)と、スケーラブル拡張(SHVC)とが、ITU−T VCEG(Video Coding Experts Group)およびISO/IEC MPEG(Motion Picture Experts Group)のJCT−VC(Joint Collaboration Team on Video Coding)およびJCT−3V(Joint Collaboration Team on 3D Video Coding Extension Development)によって近年開発されてきた。以下、HEVC WDと称される最新のHEVCドラフト仕様書は、http://phenix.int-evry.fr/jct/doc_end_user/documents/14_Vienna/wg11/JCTVC-N1003-v1.zipから入手可能である。
[0048]いくつかの例では、ビデオエンコーダ20は、マルチプル補間フィルタから1つの補間フィルタを選択し、該補間フィルタを使用して、ビデオデータのブロックを再構築するための予測情報を生成するように構成され得る。たとえば、ビデオエンコーダ20は、マルチプルフィルタのうちの他のフィルタと比較して、最大量の利用可能な参照サンプルを参照サンプルバッファから使用し、参照サンプルバッファに含まれない参照サンプルは何れも使用しないだろうフィルタを選択し得る。同様に、ビデオデコーダ30は、マルチプル補間フィルタから1つの補間フィルタを選択し、該補間フィルタを使用して、ビデオデータのブロックを再構築するための予測情報を生成するように構成され得る。たとえば、ビデオデコーダ30は、マルチプルフィルタのうちの他のフィルタと比較して、最大量の利用可能な参照サンプルを参照サンプルバッファから使用し、参照サンプルバッファに含まれない参照サンプルは何れも使用しないだろうフィルタを選択し得る。
[0049]より具体的には、たとえば、ビデオエンコーダ20は、ビデオブロックについて、ターゲット補間フィルタタイプおよびターゲット補間フィルタタップを決定するように構成され得る。たとえば、ビデオエンコーダ20は、ビデオブロックについてブロックの高さおよび/または幅に基づいて、ターゲット補間フィルタタイプおよび/またはターゲット補間フィルタタップを決定するように構成され得る。いくつかの事例では、ビデオエンコーダ20は、ビデオブロックの形状に基づいて、ターゲット補間フィルタタイプおよび/またはターゲット補間フィルタタップを決定するように構成され得る。いくつかの事例では、ビデオエンコーダ20は、ビデオブロックの面積サイズ(area size)に基づいて、ターゲット補間フィルタタイプおよび/またはターゲット補間フィルタタップを決定するように構成され得る。いくつかの事例では、ビデオエンコーダ20は、イントラ予測モードに基づいて、ターゲット補間フィルタタイプおよび/またはターゲット補間フィルタタップを決定するように構成され得る。いくつかの事例では、ビデオエンコーダ20は、隣接復号情報(たとえば、隣接ブロックの再構築されたサンプル値)に基づいて、ターゲット補間フィルタタイプおよび/またはターゲット補間フィルタタップを決定するように構成され得る。何れのケースでも、ビデオエンコーダ20は、ビデオブロックについてターゲット補間フィルタタイプおよびターゲット補間フィルタタップに対応する1つの補間フィルタを選択し、該選択された補間フィルタを使用して、ビデオブロックを再構築するための予測情報を生成し得る。
[0050]同様に、たとえば、ビデオデコーダ30は、ビデオブロックについて、ターゲット補間フィルタタイプおよびターゲット補間フィルタタップを決定するように構成され得る。たとえば、ビデオデコーダ30は、ビデオブロックについてブロックの高さおよび/または幅に基づいて、ターゲット補間フィルタタイプおよび/またはターゲット補間フィルタタップを決定するように構成され得る。いくつかの事例では、ビデオデコーダ30は、ビデオブロックの形状に基づいて、ターゲット補間フィルタタイプおよび/またはターゲット補間フィルタタップを決定するように構成され得る。いくつかの事例では、ビデオデコーダ30は、ビデオブロックの面積サイズに基づいて、ターゲット補間フィルタタイプおよび/またはターゲット補間フィルタタップを決定するように構成され得る。いくつかの事例では、ビデオデコーダ30は、イントラ予測モードに基づいて、ターゲット補間フィルタタイプおよび/またはターゲット補間フィルタタップを決定するように構成され得る。いくつかの事例では、ビデオデコーダ30は、隣接復号情報(たとえば、隣接ブロックの再構築されたサンプル値)に基づいて、ターゲット補間フィルタタイプおよび/またはターゲット補間フィルタタップを決定するように構成され得る。何れのケースでも、ビデオデコーダ30は、ビデオブロックについてターゲット補間フィルタタイプおよびターゲット補間フィルタタップに対応する1つの補間フィルタを選択し、該選択された補間フィルタを使用して、ビデオブロックを再構築するための予測情報を生成し得る。
[0051]ビデオエンコーダ20は、単一のビデオブロックに異なるフィルタを適用するように構成され得る。たとえば、ビデオエンコーダ20は、ビデオブロックの第1の部分(たとえば、サブブロック)についてマルチプル補間フィルタから第1の補間フィルタを選択し、ビデオブロックの第2の部分(たとえば、サブブロック)についてマルチプル補間フィルタから第2の補間フィルタを選択するように構成され得、ここで、第1の補間フィルタと第2の補間フィルタとは異なる。たとえば、ビデオエンコーダ20が参照サンプルバッファに含まれる参照サンプルを使用して4タップ補間フィルタを適用し得るとき、および参照サンプルバッファが6タップ補間フィルタについて少なくとも1つの参照サンプルを含まないとき、ビデオエンコーダ20は、ビデオブロックの第1の部分(たとえば、サブブロック)についてマルチプル補間フィルタから4タップ補間フィルタを選択するように構成され得る。この例では、ビデオエンコーダ20が参照サンプルバッファに含まれる参照サンプルを使用して6タップ補間フィルタを適用し得るとき、ビデオエンコーダ20は、ビデオブロックの第2の部分(たとえば、サブブロック)についてマルチプル補間フィルタから6タップ補間フィルタを選択するように構成され得る。ビデオエンコーダ20は予想ブロック(prediction blocks)を決定し得、ここで、予想ブロックを決定することは、ビデオブロックの第1の部分に第1の補間フィルタを適用すること、およびビデオブロックの第2の部分に第2の補間フィルタを適用することを含む。
[0052]同様に、ビデオデコーダ30は、単一のビデオブロックに異なるフィルタを適用するように構成され得る。たとえば、ビデオデコーダ30は、ビデオブロックの第1の部分(たとえば、サブブロック)についてマルチプル補間フィルタから第1の補間フィルタを選択し、ビデオブロックの第2の部分(たとえば、サブブロック)についてマルチプル補間フィルタから第2の補間フィルタを選択するように構成され得、ここで、第1の補間フィルタと第2の補間フィルタとは異なる。たとえば、ビデオデコーダ30が参照サンプルバッファに含まれる参照サンプルを使用して4タップ補間フィルタを適用し得るとき、および参照サンプルバッファが6タップ補間フィルタについて少なくとも1つの参照サンプルを含まないとき、ビデオデコーダ30は、ビデオブロックの第1の部分(たとえば、サブブロック)についてマルチプル補間フィルタから4タップ補間フィルタを選択するように構成され得る。この例では、ビデオデコーダ30が参照サンプルバッファに含まれる参照サンプルを使用して6タップ補間フィルタを適用し得るとき、ビデオデコーダ30は、ビデオブロックの第2の部分(たとえば、サブブロック)についてマルチプル補間フィルタから6タップ補間フィルタを選択するように構成され得る。ビデオデコーダ30は予想ブロックを決定し得、ここで、予想ブロックを決定することは、ビデオブロックの第1の部分に第1の補間フィルタを適用すること、およびビデオブロックの第2の部分に第2の補間フィルタを適用することを含む。
[0053]いくつかの例では、ビデオエンコーダ20は、拡張参照サンプルについての値を導き、該拡張参照サンプルについての値を使用して、ビデオデータのブロックを再構築するための予測情報を生成するように構成され得る。同様に、ビデオデコーダ30は、拡張参照サンプルについての値を導き、該拡張参照サンプルについての値を使用して、ビデオデータのブロックを再構築するための予測情報を生成するように構成され得る。
[0054]より具体的には、たとえば、ビデオエンコーダ20は、拡張参照サンプルバッファのための拡張参照サンプルを生成するために、参照サンプルバッファに含まれる参照サンプルに第1のフィルタを適用するように構成され得、ここで、該拡張参照サンプルバッファは、参照サンプルバッファからの参照サンプルおよび拡張参照サンプルを含む。この例では、ビデオエンコーダ20は、ビデオデータのブロックを再構築するための予測情報を生成するために、拡張参照サンプルバッファに含まれる1つまたは複数の参照サンプルに第2のフィルタを適用し得る。同様に、たとえば、ビデオデコーダ30は、拡張参照サンプルバッファのための拡張参照サンプルを生成するために、参照サンプルバッファに含まれる参照サンプルに第1のフィルタを適用するように構成され得、ここで、該拡張参照サンプルバッファは、参照サンプルバッファからの参照サンプルおよび拡張参照サンプルを含む。この例では、ビデオデコーダ30は、ビデオデータのブロックを再構築するための予測情報を生成するために、拡張参照サンプルバッファに含まれる1つまたは複数の参照サンプルに第2のフィルタを適用し得る。
[0055]ビデオエンコーダ20は、拡張参照サンプルバッファについての値を生成し、該拡張参照サンプルバッファについての値を使用して、ビデオデータのブロックを再構築するための予測情報を生成するように構成され得る。同様に、ビデオデコーダ30は、拡張参照サンプルバッファについての値を生成し、該拡張参照サンプルバッファについての値を使用して、ビデオデータのブロックを再構築するための予測情報を生成するように構成され得る。
[0056]より具体的には、たとえば、ビデオエンコーダ20は、参照サンプルバッファに含まれる参照サンプルに対して補完的である、拡張参照サンプルバッファのための1つまたは複数の参照サンプルを生成し得る。いくつかの例では、ビデオエンコーダ20は、補間フィルタのフィルタタイプおよび/またはフィルタタップにしたがって、1つまたは複数の参照サンプルを生成し得る。言い換えると、たとえば、ビデオエンコーダ20は、補間フィルタによって適用されるべき参照サンプルは全て、拡張参照サンプルバッファから抽出可能であるように、1つまたは複数の参照サンプルを生成し得る。
[0057]同様に、たとえば、ビデオデコーダ30は、参照サンプルバッファに含まれる参照サンプルに対して補完的である拡張参照サンプルバッファのための1つまたは複数の参照サンプルを生成し得る。いくつかの例では、ビデオデコーダ30は、補間フィルタのフィルタタイプおよび/またはフィルタタップにしたがって、1つまたは複数の参照サンプルを生成し得る。言い換えると、たとえば、ビデオデコーダ30は、補間フィルタによって適用されるべき参照サンプルは全て、拡張参照サンプルバッファから抽出可能であるように、1つまたは複数の参照サンプルを生成し得る。
[0058]HEVCおよび他のビデオコーディングの仕様では、ビデオシーケンスは通常、一連のピクチャを含む。ピクチャは「フレーム」とも称され得る。ピクチャは、S、SCb、およびSCrで表される3つのサンプルアレイを含み得る。Sは、ルーマサンプルの二次元アレイ(即ちブロック)である。SCbは、Cb色差サンプルの二次元アレイである。SCrは、Cr色差サンプルの二次元アレイである。色差サンプルは、本明細書では「クロマ」サンプルとも称され得る。他の事例では、ピクチャはモノクロであり得、ルーマサンプルのアレイのみを含み得る。
[0059]ピクチャの符号化表現を生成するために、ビデオエンコーダ20は、ビデオデータのピクチャのブロックを符号化し得る。ビデオエンコーダ20は、ビットストリームに、ビデオブロックの符号化表現を含め得る。たとえば、HEVCでは、ピクチャの符号化表現を生成するために、ビデオエンコーダ20は、コーディングツリーユニット(CTU)のセットを生成し得る。CTUの各々は、1つまたは複数のコーディングツリーブロック(CTB)を備え得、1つまたは複数のコーディングツリーブロックのサンプルをコーディングするために使用されるシンタックス構造を備え得る。たとえば、CTUの各々は、ルーマサンプルの1つのコーディングツリーブロック、クロマサンプルの2つの対応するコーディングツリーブロック、および該コーディングツリーブロックのサンプルをコーディングするために使用されるシンタックス構造を備え得る。モノクロのピクチャまたは3つの別個の色平面(color plane)を有するピクチャでは、CTUは、単一のコーディングツリーブロック、および該コーディングツリーブロックのサンプルをコーディングするために使用されるシンタックス構造を備え得る。コーディングツリーブロックは、NxNサンプルブロックであり得る。CTUは、「ツリーブロック」または「最大コーディングユニット」(LCU)とも称され得る。シンタックス構造は、ゼロか、またはビットストリーム中に指定された順序で一緒に存在するより多くのシンタックス要素として定義され得る。CTBのサイズは、(厳密には、8x8CTBサイズはサポートされ得るが)HEVCメインプロファイルでは16x16〜64x64の範囲に及び得る。
[0060]HEVCでは、1つのスライスは、ラスター走査順に連続して並べられた整数の数のCTUを含む。したがって、HEVCでは、スライス中の最大コーディングユニットは、コーディングツリーブロック(CTB)と呼ばれる。
[0061]HEVCでは、ピクチャのコーディングされたCTUを生成するために、ビデオエンコーダ20は、CTUのコーディングツリーブロックに対して四分木分割を再帰的に実行して、コーディングツリーブロックをコーディングブロックに分け得、これにより名前が「コーディングツリーユニット」なのである。コーディングブロックは、N×Nサンプルブロックである。コーディングユニット(CU)は、1つまたは複数のコーディングブロック、および該1つまたは複数のコーディングブロックのサンプルをコーディングするために使用されるシンタックス構造を備え得る。たとえば、CUは、ルーマサンプルアレイ、CbサンプルアレイおよびCrサンプルアレイを有するピクチャの、ルーマサンプルの1つのコーディングブロックおよびクロマサンプルの2つの対応するコーディングブロック、ならびに該コーディングブロックのサンプルをコーディングするために使用されるシンタックス構造を備え得る。モノクロのピクチャまたは3つの別個の色平面を有するピクチャでは、CUは、単一のコーディングブロック、および該コーディングブロックのサンプルをコーディングするために使用されるシンタックス構造を備え得る。したがって、CTBは四分木を保有し得、そのノードはCUである。
[0062]さらに、ビデオエンコーダ20は、CUを符号化し得る。たとえば、CUを符号化するために、ビデオエンコーダ20は、CUのコーディングブロックを1つまたは複数の予想ブロックに分割し得る。予想ブロックは、同じ予測が適用される矩形(即ち、正方形または非正方形)のサンプルブロックであり得る。CUの予測ユニット(PU)は、CUの1つまたは複数の予想ブロック、および該1つまたは複数の予想ブロックを予測するために使用されるシンタックス構造を備え得る。たとえば、PUは、ルーマサンプルの予想ブロック、クロマサンプルの2つの対応する予想ブロック、および該予想ブロックを予測するために使用されるシンタックス構造を備え得る。モノクロのピクチャまたは3つの別個の色平面を有するピクチャでは、PUは、単一の予想ブロック、および該予想ブロックを予測するために使用されるシンタックス構造を備え得る。ビデオエンコーダ20は、CUの各PUの予想ブロック(たとえば、ルーマ、Cb、およびCr予想ブロック)についての予測ブロック(たとえば、ルーマ、Cb、およびCr予測ブロック)を生成し得る。
[0063]HEVCでは、各CUは1つのモードでコーディングされ、該モードはイントラモードまたはインターモードのどちらかであり得るだろう。CUがインターコーディングされる(即ち、インターモードが適用される)とき、CUは2つまたは4つのPUにさらに分割され得るか、またはさらなる分割が適用されないときはたった1つのPUになり得る。1つのCUに2つのPUが存在するとき、該2つのPUは、ハーフサイズの矩形であり得るか、またはCUの1/4サイズまたは3/4サイズの2つの矩形サイズであり得る。
[0064]CUがインターコーディングされるとき、1セットの動き情報がPU毎に存在する。加えて、各PUは、該1セットの動き情報を導くために、一意のインター予測モードを用いてコーディングされる。ビデオエンコーダ20が、PUの予測ブロックを生成するためにイントラ予測を使用する場合、ビデオエンコーダ20は、PUを含むピクチャの復号されたサンプルに基づいて、PUの予測ブロックを生成し得る。CUがイントラコーディングされるとき、2Nx2NおよびNxNが唯一の(the only)許容可能なPU形状であり、各PU内では、単一のイントラ予測モードがコーディングされる(一方で、クロマ予測モードがCUレベルではシグナリングされる)。NxNイントラPU形状は、現在のCUサイズがシーケンスパラメータセット(SPS)で定義されている最小CUサイズに等しいときにのみ許容される。
[0065]ビデオエンコーダ20は、CUについての1つまたは複数の残差ブロックを生成し得る。たとえばビデオエンコーダ20は、CUについてルーマ残差ブロックを生成し得る。CUのルーマ残差ブロック中の各サンプルは、CUの予測ルーマブロックのうちの1つにおけるルーマサンプルと、CUの元のルーマコーディングブロックにおける対応するサンプルとの間の差分を示す。加えてビデオエンコーダ20は、CUについてのCb残差ブロックを生成し得る。CUのCb残差ブロック中の各サンプルは、CUの予測Cbブロックのうちの1つにおけるCbサンプルと、CUの元のCbコーディングブロックにおける対応するサンプルとの間の差分を示し得る。ビデオエンコーダ20はまた、CUについてのCr残差ブロックを生成し得る。CUのCr残差ブロック中の各サンプルは、CUの予測Crブロックのうちの1つにおけるCrサンプルと、CUの元のCrコーディングブロックにおける対応するサンプルとの間の差分を示し得る。
[0066]さらに、ビデオエンコーダ20は、CUの残差ブロックを1つまたは複数の変換ブロックに分解し得る。たとえば、ビデオエンコーダ20は、CUの残差ブロックを1つまたは複数の変換ブロックに分解するために四分木分割を使用し得る。変換ブロックは、同じ変換が適用される矩形(たとえば、正方形または非正方形)のサンプルブロックである。CUの変換ユニット(TU)は、1つまたは複数の変換ブロックを備え得る。たとえば、TUは、ルーマサンプルの変換ブロック、クロマサンプルの2つの対応する変換ブロック、および該変換ブロックサンプルを変換するために使用されるシンタックス構造を備え得る。したがってCUの各TUは、ルーマ変換ブロック、Cb変換ブロック、およびCr変換ブロックを有し得る。TUのルーマ変換ブロックは、CUのルーマ残差ブロックのサブブロックであり得る。Cb変換ブロックは、CUのCb残差ブロックのサブブロックであり得る。Cr変換ブロックは、CUのCr残差ブロックのサブブロックであり得る。モノクロのピクチャまたは3つの別個の色平面を有するピクチャでは、TUは、単一の変換ブロック、および該変換ブロックのサンプルを変換するために使用されるシンタックス構造を備え得る。
[0067]ビデオエンコーダ20は、TUについての係数ブロックを生成するために、TUの変換ブロックに1つまたは複数の変換を適用し得る。たとえば、ビデオエンコーダ20は、TUについてのルーマ係数ブロックを生成するために、TUのルーマ変換ブロックに1つまたは複数の変換を適用し得る。係数ブロックは、変換係数の二次元アレイであり得る。変換係数は、スカラー量であり得る。ビデオエンコーダ20は、TUについてのCb係数ブロックを生成するために、TUのCb変換ブロックに1つまたは複数の変換を適用し得る。ビデオエンコーダ20は、TUについてのCr係数ブロックを生成するために、TUのCr変換ブロックに1つまたは複数の変換を適用し得る。
[0068]いくつかの例では、ビデオエンコーダ20は、変換ブロックへの変換の適用を省略する。そのような例では、ビデオエンコーダ20は、変換係数と同じ方法で残差サンプル値が扱われる得ることを扱い得る。したがって、ビデオエンコーダ20が変換の適用を省略する例では、変換係数および係数ブロックについての以下の考察が、残差サンプルの変換ブロックに適用可能であり得る。
[0069]係数ブロックを生成した後、ビデオエンコーダ20は、係数ブロックを量子化し得る。量子化は一般に、変換係数を表現するために使用されるデータの量を出来る限り低減するために変換係数が量子化されるプロセスを指し、これは、さらなる圧縮を提供する。いくつかの例では、ビデオエンコーダ20は量子化を省略する。ビデオエンコーダ20が係数ブロックを量子化した後、ビデオエンコーダ20は、量子化された変換係数を示すシンタックス要素を生成し得る。ビデオエンコーダ20は、量子化された変換係数を示すシンタックス要素のうちの1つまたは複数をエントロピー符号化し得る。たとえば、ビデオエンコーダ20は、量子化された変換係数を示すシンタックス要素に対してコンテキスト適応型バイナリ算術コーディング(CABAC)を実行し得る。
[0070]ビデオデコーダ20は、符号化されたビデオデータを含むビットストリームを出力し得る。たとえば、ビットストリームは、ビデオデータのコーディングされたピクチャの表現を形成するビットのシーケンスおよび関連付けられたデータを備え得る。したがってビットストリームは、ビデオデータの符号化表現を備える。いくつかの例では、コーディングされたピクチャの表現は、ブロックの符号化表現を含み得る。したがって、ビデオエンコーダ20は、ビットストリームにおいて、ブロックの符号化表現におけるブロックの変換係数をシグナリングし得る。いくつかの事例では、ビデオエンコーダ20は、ブロックの各変換係数をシグナリングするために1つまたは複数のシンタックス要素を使用し得る。
[0071]ビットストリームは、ネットワーク抽象化レイヤ(NAL)ユニットのシーケンスを備え得る。NALユニットは、NALユニットにおけるデータのタイプのインジケーション、および必要に応じてエミュレーション防止ビットが点在している生バイトシーケンスペイロード(RBSP)の形態でそのデータを保有するバイトを含むシンタックス構造である。NALユニットの各々は、NALユニットヘッダを含み得、RBSPをカプセル化する。NALユニットヘッダは、NALユニットタイプコードを示すシンタックス要素を含み得る。NALユニットのNALユニットヘッダによって指定されるNALユニットタイプコードは、NALユニットのタイプを示す。RBSPは、NALユニット内にカプセル化される整数の数のバイトを保有するシンタックス構造であり得る。いくつかの事例では、RBSPはゼロビットを含む。
[0072]ビデオデコーダ30は、ビデオエンコーダ20によって生成されたビットストリームを受信し得る。加えて、ビデオデコーダ30は、ビットストリームからシンタックス要素を取得するためにビットストリームを解析し得る。ビデオデコーダ30は、ビットストリームから取得されたシンタックス要素に少なくとも部分的に基づいて、ビデオデータのピクチャを再構築し得る。ビデオデータを再構築するためのプロセスは、ビデオエンコーダ20によって実行されるプロセスと概ね互恵的で(generally reciprocal)得る。たとえば、ビデオデコーダ30は、現在CUのPUについての予測ブロックを決定するために、PUの動きベクトルを使用し得る。加えて、ビデオデコーダ30は、現在CUのTUの係数ブロックを逆量子化し得る。ビデオデコーダ30は、現在CUのTUの変換ブロックを再構築するために、係数ブロックに対して逆変換を実行し得る。ビデオデコーダ30は、現在CUのPUについての予測ブロックのサンプルを、現在CUのTUの変換ブロックの対応するサンプルに加えることによって、現在CUのコーディングブロックを再構築し得る。ピクチャの各CUについてのコーディングブロックを再構築することによって、ビデオデコーダ30は、ピクチャを再構築し得る。
[0073]イントラ予測が以下で論じられる。いくつかの例では、イントラ予測モードは、HEVCおよび/またはHEVC拡張版のうちの1つまたは複数において定義され得る。ビデオエンコーダ20および/またはビデオデコーダ30は、空間的に隣接する再構築された画像サンプルを使用して画像ブロック予測を実行し得る。16×16画像ブロックについてのイントラ予測の例が、図2で示されている。該例では、ビデオエンコーダ20および/またはビデオデコーダ30は、(正方形202の)16x16画像ブロックを、上および左の隣接する再構築されたサンプル(参照サンプル)によって(矢印204によって示されているような)選択された予測方向に沿って予測し得る。
[0074]HEVCは、ルーマブロックのイントラ予測について、図3で例示されるようなplanarモード、DCモード、および33個のangularモードを含む35個のモードを定義する。HEVCにおいて定義されているイントラ予測の35個のモードは、表1においてインデックス付けされている。
Figure 2019530351
[0075]通常最も頻繁に使用されるイントラ予測モードであるplanarモードでは、予測サンプルは、図4で示されているように生成される。N×Nブロックについてplanar予測を実行するために、(x,y)に位置する各サンプルpxyについて、ビデオエンコーダ20および/またはビデオデコーダ30は、双線形フィルタ(bilinear filter)を用いて、4つの特定の隣接する再構築されたサンプル、即ち参照サンプルを使用して予測情報を計算し得る。4つの参照サンプルは、右上の再構築されたサンプルTR、左下の再構築されたサンプルBL、現在のサンプルの、同じTによって表されている列(rx,−1)およびLによって表されている行(r−1,y)に位置する2つの再構築されたサンプルを含み得る。ビデオエンコーダ20および/またはビデオデコーダ30は、以下の通り、planarモードを公式化し得る。
pxy = (N-x-1) L + (N-y-1) T + x・TR + y・BL
[0076]図4で示されているように、DCモードでは、ビデオエンコーダ20および/またはビデオデコーダ30は、1つまたは複数の隣接する再構築されたサンプルの平均値で予想ブロックを満たし得る。一般に、ビデオエンコーダ20および/またはビデオデコーダ30は、平滑に変化する一定の画像領域をモデリングするためにplanarモードとDCモードとの両方を適用し得る。
[0077]全体で33個の異なる予測方向を含む、HEVCにおけるangularイントラ予測モードについて、イントラ予測は以下の通り説明される。各所与のangularイントラ予測について、ビデオエンコーダ20および/またはビデオデコーダ30は、それにしたがってイントラ予測方向を識別し得る。たとえば、図3にしたがうと、イントラモード10は、純水平(pure horizontal)の予測方向に対応し、イントラモード26は、純垂直(pure vertical)の予測方向に対応する。特定のイントラ予測方向を前提とすると、ビデオエンコーダ20および/またはビデオデコーダ30は、予想ブロックの各サンプルについて、図5における例で示されているように、予測方向に沿って隣接する再構築されたサンプルの行および/または列にそれぞれの座標(x,y)を投影し得る。(x,y)が2つの隣接する再構築されたサンプルLとRとの間の分数位置に投影されるとすると、ビデオエンコーダ20および/またはビデオデコーダ30は、2タップの双線形補間フィルタを使用して、(x,y)についての予測情報を計算し得、それは以下の通り公式化される。
pxy = (1- α)・L + α・R.
[0078]浮動小数点オペレーション(floating point operation)を避けるため、HEVCでは、ビデオエンコーダ20および/またはビデオデコーダ30は、以下の通り、整数演算を使用して上記計算を概算し得る。
pxy = ( (32- a)・L + a・R + 16 )>>5
上記式では、aは32*αに等しい整数である。
[0079]HEVCで使用される参照サンプルは、サンプルサークル602によって図6で示される。図6で示されているように、コーディングされているビデオブロックのサンプルは、正方形604によって示されている。これに対して、サークル602は、隣接する参照サンプルを示す。本明細書で使用される場合、サンプルは、ピクセル値の成分(たとえば、ルーマサンプル、または2つのクロマサンプルのうちの1つ)を指し得る。
[0080]いくつかの例では、HxWブロックについて、ビデオエンコーダ20および/またはビデオデコーダ30は、隣接する上の行と左の列との両方について、W+H+1個の参照サンプルを使用し得る。該例では、ビデオエンコーダ20および/またはビデオデコーダ30は、参照サンプルバッファ中に該参照サンプルを満たし得、該参照サンプルバッファは、全体で2*(W+H)+1個の参照サンプルを保有し得る。35個のangularモードの定義にしたがうと、該参照サンプルはサンプルサークル602からのものであり得、これは、該参照サンプルが利用可能であることを意味する。いくつかの例では、ビデオエンコーダ20および/またはビデオデコーダ30は、隣接する再構築された参照サンプルから参照サンプルを導き得る。たとえば、再構築された参照サンプルの一部が利用可能でないとき、ビデオエンコーダ20および/またはビデオデコーダ30は、隣接する利用可能な再構築された参照サンプルを使用して、利用可能でない再構築された参照サンプルの一部を埋め得る(たとえば、直接コピーし得る)。
[0081]加えて、HEVCにおける33個のangularイントラ予測方向は、2つのグループとして分類され得、1つは正方向であり、もう一方は負方向である。正方向(たとえば、図7におけるモード2〜10およびモード26〜34)では、ビデオエンコーダ20および/またはビデオデコーダ30は、参照サンプルの片側(one side)(たとえば、上の行または左の列)のみを使用し得る。負方向(たとえば、図7におけるモード11〜25)では、ビデオエンコーダ20および/またはビデオデコーダ30は、参照サンプルの両側(たとえば、上の行と左の列との両方)を使用し得る。図7は、非破線を使用して負方向を、および破線を使用して正方向を例示している。
[0082]ビデオエンコーダ20および/またはビデオデコーダ30が負予測方向を適用するとき、HEVCでは、参照マッピングプロセスが、以下で説明される通り適用され得る。図8で示されているように、イントラ予測方向にしたがうと、ビデオエンコーダ20および/またはビデオデコーダ30は、左列の隣接するサンプル804A〜804Eを使用して、上の行の左側に伸びている(extended)拡張参照サンプル802A〜802E(集合的に、拡張参照サンプル802)を導き得る。たとえば、ビデオエンコーダ20および/またはビデオデコーダ30は、左列の隣接するサンプル804Aを使用してサンプル802Aを、左列の隣接するサンプル804Bを使用してサンプル802Bを、そしてこの後に続くものも同様に(and so forth)導き得る。ビデオエンコーダ20および/またはビデオデコーダ30は、全ての参照サンプル802を使用してイントラ予測プロセスを実行し得る。
[0083]より具体的には、拡張参照サンプル802を導くために、拡張参照サンプル802のうちの各拡張参照サンプルについて、ビデオエンコーダ20および/またはビデオデコーダ30は、その座標を左列の隣接するサンプルにマッピングし得る。たとえば、ビデオエンコーダ20および/またはビデオデコーダ30は、拡張参照サンプル802Aを座標806Aに、拡張参照サンプル802Bを座標806Bに、拡張参照サンプル802Cを座標806Cに、拡張参照サンプル802Dを座標806Dに、および拡張参照サンプル802Eを座標806Eにマッピングし得る。該例では、ビデオエンコーダ20および/またはビデオデコーダ30は、現在の拡張参照サンプルの値として最も近いサンプルの値を使用し得る。たとえば、ビデオエンコーダ20および/またはビデオデコーダ30は、座標806Aがサンプル804B〜804Eよりもサンプル804Aに近いとき、拡張参照サンプル802Aの値としてサンプル804Aを使用し得る。しかしながら、いくつかのケースでは、マッピングされた位置は、分数位置が左列の隣接するサンプルにあることを示し得、最も近いサンプルを使用することは、予測方向に沿って何らかの予測誤差を表現し得る。言い換えると、たとえば、座標806Aは、拡張参照サンプル804Aと804Bとの間にある分数位置を示し、これは結果として、サンプル804Aの値が拡張参照サンプル802Aの値として使用されるときに拡張参照サンプル802Aに予測誤差を生じさせ得る。
[0084]JEMにおけるイントラ予測モードが以下で論じられる。近年、ITU−T VCEG(Q6/16)およびISO/IEC MPEG(JTC1/SC29/WG11)は、現在のHEVC規格(スクリーンコンテンツコーディングおよび高ダイナミックレンジコーディングのための、それの現在の拡張版および近い未来の拡張版を含む)の圧縮能力を著しく上回る圧縮能力をもつ将来的なビデオコーディング技術の標準化を求める潜在的なニーズを研究し続けている。該団体は、この領域の専門家によって提案された圧縮技術設計を評価するために、JVET(Joint Video Exploration Team)として知られている共同の試みでこの調査活動に関して協力し合っている。テストモデル、即ちJoint Exploration Modelが、この目的でJVETによって開発されており、最新のJEMバージョン、即ちJEM−3.0における新しいアルゴリズムに関する説明が、http://phenix.it-sudparis.eu/jvet/doc_end_user/documents/3_Geneva/wg11/JVET-C1001-v3. zipから入手可能である。上記文書は、HEVCの能力を超えた潜在的な拡張ビデオコーディング技術として、ITU−T VCEGおよびISO/IEC MPEGのJVET(Joint Video Exploration Team)による共同テストモデル研究中であるコーディング特徴を説明している。情報は、「HM reference software」https://hevc.hhi.fraunhofer.de/svn/svn_HEVCSoftware/tags/HM-14.0/から入手され得る。
[0085]拡張されたイントラ予測方向が以下で論じられる。JEM−3.0における1つのイントラ関連コーディングツールは、図9で示されているような、67個のイントラ予測モードの導入である。HEVCにおけるイントラ予測モードと比較すると、図9における破線によって示されている32個の追加のイントラ予測角度がある。イントラモードインデックス0および1は、HEVCにおける同じplanarおよびDCモードを指し、イントラモードインデックス2〜66は、異なるイントラ予測角度を指すが一方で、18、34、および50は、純水平予測、対角予測、および純垂直予測をそれぞれ示す。67個のイントラ予測モードでは、より細かなイントラ予測精度が達成され得る。
[0086]イントラ予測のための4タップ補間フィルタが以下で論じられる。イントラ予想ブロックを生成するために、2タップ双線形補間を使用する代わりに、JEM−3.0では、ビデオエンコーダ20および/またはビデオデコーダ30は、1/32ピクセル(pel)精度をもつ4タップ補間フィルタを使用し得る。本明細書で使用される場合、1/32ピクセルは、1/32のサンプル間距離を使用することを指す。垂直ライクな(vertical-like)angularイントラ予測方向(たとえば、イントラモードインデックス>=34)では、ブロック幅が8よりも大きい場合、ビデオエンコーダ20および/またはビデオデコーダ30は、4タップガウス補間フィルタを使用し得る。そうでなければ、ビデオエンコーダ20および/またはビデオデコーダ30は、4タップキュービック補間フィルタを使用し得る。水平ライクな(horizontal-like)angularイントラ予測方向(たとえば、イントラモードインデックス<34)では、ブロック高さが6よりも大きい場合、ビデオエンコーダ20および/またはビデオデコーダ30は、4タップガウス補間フィルタを使用し得る。そうでなければ、ビデオエンコーダ20および/またはビデオデコーダ30は、4タップキュービック補間フィルタを使用し得る。例示的な4タップキュービック補間および4タップガウス補間フィルタは以下の通り示される。
Short g_aiIntraCubicFilter[32][4]=
{
{ 0, 256, 0, 0 }, // 整数位置
{ -3, 252, 8, -1 }, // 1/32位置
{ -5, 247, 17, -3 }, // 2/32位置
{ -7, 242, 25, -4 }, // 3/32位置
{ -9, 236, 34, -5 }, // 4/32位置
{ -10, 230, 43, -7 }, // 5/32位置
{ -12, 224, 52, -8 }, // 6/32位置
{ -13, 217, 61, -9 }, // 7/32位置
{ -14, 210, 70, -10 }, // 8/32位置
{ -15, 203, 79, -11 }, // 9/32位置
{ -16, 195, 89, -12 }, // 10/32位置
{ -16, 187, 98, -13 }, // 11/32位置
{ -16, 179, 107, -14 }, // 12/32位置
{ -16, 170, 116, -14 }, // 13/32位置
{ -17, 162, 126, -15 }, // 14/32位置
{ -16, 153, 135, -16 }, // 15/32位置
{ -16, 144, 144, -16 }, // 2分の1ピクセル位置
{ -16, 135, 153, -16 }, // 17/32位置
{ -15, 126, 162, -17 }, // 18/32位置
{ -14, 116, 170, -16 }, // 19/32位置
{ -14, 107, 179, -16 }, // 20/32位置
{ -13, 98, 187, -16 }, // 21/32位置
{ -12, 89, 195, -16 }, // 22/32位置
{ -11, 79, 203, -15 }, // 23/32位置
{ -10, 70, 210, -14 }, // 24/32位置
{ -9, 61, 217, -13 }, // 25/32位置
{ -8, 52, 224, -12 }, // 26/32位置
{ -7, 43, 230, -10 }, // 27/32位置
{ -5, 34, 236, -9 }, // 28/32位置
{ -4, 25, 242, -7 }, // 29/32位置
{ -3, 17, 247, -5 }, // 30/32位置
{ -1, 8, 252, -3 }, // 31/32位置
};
Short g_aiIntraGaussFilter[32][4]=
{
{ 47, 161, 47, 1 }, // 整数位置
{ 43, 161, 51, 1 }, // 1/32位置
{ 40, 160, 54, 2 }, // 2/32位置
{ 37, 159, 58, 2 }, // 3/32位置
{ 34, 158, 62, 2 }, // 4/32位置
{ 31, 156, 67, 2 }, // 5/32位置
{ 28, 154, 71, 3 }, // 6/32位置
{ 26, 151, 76, 3 }, // 7/32位置
{ 23, 149, 80, 4 }, // 8/32位置
{ 21, 146, 85, 4 }, // 9/32位置
{ 19, 142, 90, 5 }, // 10/32位置
{ 17, 139, 94, 6 }, // 11/32位置
{ 16, 135, 99, 6 }, // 12/32位置
{ 14, 131, 104, 7 }, // 13/32位置
{ 13, 127, 108, 8 }, // 14/32位置
{ 11, 123, 113, 9 }, // 15/32位置
{ 10, 118, 118, 10 }, // 2分の1ピクセル位置
{ 9, 113, 123, 11 }, // 17/32位置
{ 8, 108, 127, 13 }, // 18/32位置
{ 7, 104, 131, 14 }, // 19/32位置
{ 6, 99, 135, 16 }, // 20/32位置
{ 6, 94, 139, 17 }, // 21/32位置
{ 5, 90, 142, 19 }, // 22/32位置
{ 4, 85, 146, 21 }, // 23/32位置
{ 4, 80, 149, 23 }, // 24/32位置
{ 3, 76, 151, 26 }, // 25/32位置
{ 3, 71, 154, 28 }, // 26/32位置
{ 2, 67, 156, 31 }, // 27/32位置
{ 2, 62, 158, 34 }, // 28/32位置
{ 2, 58, 159, 37 }, // 29/32位置
{ 2, 54, 160, 40 }, // 30/32位置
{ 1, 51, 161, 43 }, // 31/32位置
};
[0087]4タップ補間プロセスを使用するイントラ予測プロセスが図10で図示されている。図10の例では、予想ブロック中の各サンプルについて、ビデオエンコーダ20および/またはビデオデコーダ30は、予想ブロック中のそれぞれのサンプルが、2つの参照サンプルP1とP2との間の分数位置αを指していると想定し得る。該例では、ビデオエンコーダ20および/またはビデオデコーダ30は、以下の通りにこのサンプルについての予測情報を計算し得る。
[0088]いくつかの例では、分数位置αおよび補間フィルタ(たとえば、4タップキュービックフィルタまたは4タップガウスフィルタ)を前提とすると、ビデオエンコーダ20および/またはビデオデコーダ30は、f0、f1、f2、f3としてフィルタ係数を選択し得る。該例では、ビデオエンコーダ20および/またはビデオデコーダ30は、以下の通りこのサンプルについての予測情報を計算し得る。
P(x,y) = ( f0 * P0 + f1 * P1 + f2 * P2 + f3 * P3 + r ) / W
[0089]上記式では、P0−P3参照サンプルであり、rは丸めオフセットであり、Wは正規化係数(normalization factor)であり、これはf0+f1+f2+f3に近くなければならない。上記では、4タップキュービックフィルタおよび4タップガウスフィルタを前提とすると、正規化係数は256であり得る。
[0090]JEMにおける現在の4タップ補間フィルタ設計では、いくつかの境界のケースについて、いくつかのフィルタタップにおける参照サンプルは利用可能でないことがある。たとえば、図11で示されているように、矢印によって表されているイントラ予測角度を前提とすると、4つのタップフィルタ{f0,f1,f2,f3}を使用してサンプルxの予測情報を生成するために、ビデオエンコーダ20および/またはビデオデコーダ30は、参照サンプルp0、p1、p2、およびp3を使用し得る。しかしながら、現在のJEM設計にしたがうと、参照サンプル1102のみが参照サンプルバッファにおいて利用可能であり、右端のもの(塗り潰されたサークル1104によって表されているp3)は利用可能でない。このケースでは、ビデオエンコーダ20および/またはビデオデコーダ30は、たとえば以下の式を使用して、p0〜p2のみが補間プロセスにおいて使用されるように、参照サンプル座標に対してクリッピングオペレーションを実行し得る。
x = f0*p0 + f1*p1 + f2*p2 + f3*p2
[0091]いくつかの例では、ビデオエンコーダ20および/またはビデオデコーダ30は、参照サンプルバッファの範囲外の何れのサンプルにアクセスすることも避けるために、補間プロセス中、クリッピングオペレーションを使用し得る。しかしながら、このことは、N>2である間、Nタップ補間フィルタを実行する複雑性を加え得る。HEVCにおいて使用されるような2タップ補間フィルタでは、そのような問題は、参照サンプル1102のみが使用されるために存在しない。
[0092]図12Aは、成分間線形予測モデル予測モードのための線形予測パラメータの導出に使用されるクロマサンプルのロケーションを示す概念図である。図12Bは、成分間線形予測モデル予測モードのための線形予測パラメータの導出に使用されるルーマサンプルのロケーションを示す概念図である。
[0093]成分間線形モデル予測モードが以下で論じられる。補数間の(cross complement)冗長性は、YCbCr色空間において著しく低減されるけれども、3つの色成分同士の(between)相関関係は依然として存在し得る。様々な方法が、相関関係をさらに低減させることによってビデオコーディングパフォーマンスを向上させるために研究されてきた。
[0094]4:2:0クロマビデオコーディングでは、線形モデル(LM)予測モードと名付けられた方法が、HEVC規格の開発中に、よく研究されてきた。たとえば、Matsuo, Shohei, Seishi Takamura, and Hirohisa Jozawa, “Improved intra angular prediction by DCT-based interpolation filter.” In Signal Processing Conference (EUSIPCO), 2012 Proceedings of the 20th European, pp. 1568-1572. IEEE, 2012は、例となるイントラangular予測を提供している。
[0095]LM予測モードでは、ビデオエンコーダ20および/またはビデオデコーダ30は、以下の通り、線形モデルを使用することによって、同じブロックの再構築されたルーマサンプルに基づいてクロマサンプルを予測し得る。
Figure 2019530351
[0096]上記式では、
Figure 2019530351
は、ブロック中のクロマサンプルの予測を表現し、
Figure 2019530351
は、同じブロックのダウンサンプリングされた再構築されたルーマサンプルを表現する。いくつかの例では、ビデオエンコーダ20および/またはビデオデコーダ30は、現在ブロック周辺の元となる(causal)再構築されたサンプルから線形パラメータαおよびβを導き得る。いくつかの例では、パラメータαおよびβは、成分間線形予測モデル予測モードのための線形予測パラメータである。図12Aの例では、クロマブロック1200は、NxNのサイズを有する。このように、この例では、iとjとの両方が、範囲[0,N]内にあり得る。
[0097]ビデオエンコーダ20および/またはビデオデコーダ30は、現在ブロック周辺の隣接する再構築されたルーマサンプルとクロマサンプルとの間の回帰誤差を最小限にすることによって、上記式においてパラメータαおよびβを導き得る。
Figure 2019530351
[0098]ビデオエンコーダ20および/またはビデオデコーダ30は、以下の通り、パラメータαおよびβを解き得る。
Figure 2019530351
[0099]上記式では、xは、ダウンサンプリングされた再構築されたルーマ参照サンプルであり、yは、再構築されたクロマ参照サンプルであり、Iは、参照サンプルの量である。ターゲットN×Nクロマブロックでは、左と上両方の元となるサンプルが利用可能であるとき、関連する参照サンプル数の総数Iは、2Nに等しい。図12Bの例では、ルーマブロック1210は、図12Aのターゲットクロマブロック1200について2Nx2Nのサイズを有する。左または上の元となるサンプルのみが利用可能であるとき、関連する参照サンプル数の総数Iは、Nに等しい、
[0100]要約すると、一例では、ビデオエンコーダ20および/またはビデオデコーダ30がLM予測モード適用するとき、以下のステップが順番に呼び出され得る:(a)ビデオエンコーダ20および/またはビデオデコーダ30は隣接するルーマサンプルをダウンサンプリングし得る、(b)ビデオエンコーダ20および/またはビデオデコーダ30は、線形パラメータ(即ち、αおよびβ)を導き得る、および(c)ビデオエンコーダ20および/またはビデオデコーダ30は、現在のルーマブロックをダウンサンプリングし、該ダウンサンプリングされたルーマブロックおよび線形パラメータから予測を導き得る。
[0101]現在のJEM設計では、ビデオエンコーダ20および/またはビデオデコーダ30は、4タップ補間フィルタを使用し得るが、より長いタップフィルタを使用することは、複雑性の負担があまりない状態でビデオエンコーダ20および/またはビデオデコーダ30のコーディングパフォーマンスをさらに向上させ得る。
[0102]いくつかの境界のケースでは、ビデオエンコーダ20および/またはビデオデコーダ30は、現在の参照サンプルの範囲外にあるいくつかの参照サンプル位置(たとえば、図6におけるサンプルサークル602、図11の塗り潰されたサークル1104によって表されているp3等)にアクセスし得、クリッピングオペレーションが、知られていないメモリにアクセスするのを避けるために使用され得る。該例では、クリッピングオペレーションは、4タップ補間フィルタリング技法の複雑性を増大させ得る。
[0103] HEVCとJEMとの両方における現在の例となるイントラ予測プロセスでは、イントラ参照サンプルマッピングプロセスは、いくらかの予測誤差を必然的に与える丸めオペレーション(たとえば、最も近い整数と同一である)によって実行される。
[0104]Matsuo, Shohei, Seishi Takamura, and Hirohisa Jozawa, “Improved intra angular prediction by DCT-based interpolation filter,” In Signal Processing Conference (EUSIPCO), 2012 Proceedings of the 20th European, pp. 1568-1572. IEEE, 2012は、4x4ブロックサイズおよび8x8ブロックサイズについて4タップDCTベースの補間フィルタを適用することを提案し、イントラ平滑化フィルタもまた、4タップフィルタが適用されるときにオフにされ、16x16以上のブロックサイズについては、2タップ双線形補間フィルタが適用される。
[0105]2011年12月6日付けで出願された米国特許出願第13/312,946号である、Maani, Ehsan, “Interpolation filter for intra prediction of HEVC,”では、イントラ平滑化フィルタがオフであるとき4タップ補間フィルタが使用されるが、4タップ補間フィルタは、CUBIC補間プロセス、DCTベースの補間プロセス、またはエルミネート補間プロセスに基づいて取得され得るだろう。
[0106]2016年6月16日付けで出願された米国特許出願第15/184,033号である、Zhao, “Intra Prediction and Intra Mode Coding.”では、4タップCUBIC補間フィルタおよび4タップガウス補間フィルタは、イントラ予測プロセスのために一緒に使用される。
[0107]上で言及された問題を解決するのを助けるために、以下の技法が提案される。以下の箇条書きの技法が個別に適用され得る。代わりとして、または加えて、以下で説明される技法の何れの組合せも合わせて使用され得る。
[0108]いくつかの例では、ビデオエンコーダ20および/またはビデオデコーダ30は、イントラ予測のためにマルチプル補間フィルタを適用し得る。たとえば、ビデオエンコーダ20および/またはビデオデコーダ30は、1つのブロック、スライス、タイル、ピクチャ、またはそれらの組合せ内で異なる補間フィルタタップ(たとえば、長さ)を適用し得る。言い換えると、ビデオデコーダ30は、ピクチャの第1の部分に第1の補間フィルタを適用し、ピクチャの第2の部分に、第1の補間フィルタとは異なる第2の補間フィルタを適用し得る。同様に、ビデオエンコーダ20は、ピクチャの第1の部分に第1の補間フィルタを適用し、ピクチャの第2の部分に、第1の補間フィルタとは異なる第2の補間フィルタを適用し得る。
[0109]いくつかの例では、ビデオエンコーダ20および/またはビデオデコーダ30は、六次フィルタとして補間フィルタを定義し得る。本明細書で使用される場合、六次フィルタは、6つの補間フィルタタップを有する補間フィルタを指し得る。
[0110]いくつかの例では、マルチプル補間フィルタは、DCTベースの補間フィルタ、ガウスフィルタ、シンク補間フィルタ、および画像相関モデルを使用して導かれる補間フィルタを含み得る。
[0111]ビデオエンコーダ20および/またはビデオデコーダ30は、ブロック高さおよび/または幅、ブロック形状(たとえば、幅対高さの比率)、ブロック面積サイズ、イントラ予測モード、あるいは再構築されたサンプル値およびイントラ予測モードに限定されないが含む隣接する復号された情報に基づいて、補間フィルタタイプおよび/または補間フィルタタップ(たとえば、長さ)を選択し得る。たとえば、ビデオエンコーダ20および/またはビデオデコーダ30は、ブロック高さおよび/または幅、ブロック形状(たとえば、幅対高さの比率)、ブロック面積サイズ、イントラ予測モード、あるいは再構築されたサンプル値およびイントラ予測モードに限定されないが含む隣接する復号された情報に基づいて、補間フィルタタイプを選択し得る。たとえば、ビデオエンコーダ20および/またはビデオデコーダ30は、ブロック高さおよび/または幅、ブロック形状(たとえば、幅対高さの比率)、ブロック面積サイズ、イントラ予測モード、あるいは再構築されたサンプル値およびイントラ予測モードに限定されないが含む隣接する復号された情報に基づいて、補間フィルタタップ長を選択し得る。
[0112]言い換えると、ビデオデコーダ30は、ビデオデータのブロックに基づいて、マルチプル補間フィルタから1つの補間フィルタを選択し得る。同様に、ビデオエンコーダ20は、ビデオデータのブロックに基づいて、マルチプル補間フィルタから1つの補間フィルタを選択し得る。
[0113]いくつかの例では、2つの異なるタイプの補間フィルタ、即ちフィルタ「A」およびフィルタ「B」が予め定義され得る。この例では、幅/高さ<1/4、または幅/高さ>1/4である場合、ビデオエンコーダ20および/またはビデオデコーダ30はフィルタ「A」を適用し、そうでなければ、ビデオエンコーダ20および/またはビデオデコーダ30はフィルタ「B」を適用する。言い換えると、ビデオエンコーダ20および/またはビデオデコーダ30は、ブロックの幅と高さの比率が予め定義された範囲内にあるとき、該ブロックについて複数の補間フィルタから第1の補間フィルタを選択し得る。この例では、ビデオエンコーダ20および/またはビデオデコーダ30は、ブロックの幅と高さの比率が予め定義された範囲内にないとき、該ブロックについて複数の補間フィルタから第2の補間フィルタを選択し得る。
[0114]いくつかの例では、2つの異なるタイプの補間フィルタ、即ちフィルタ「A」およびフィルタ「B」が予め定義され得る。この例では、ビデオエンコーダ20および/またはビデオデコーダ30は、隣接する(たとえば、上および/または左の)再構築されたサンプルの変数をσ2として計算する。この例では、σ2が予め定義されたしきい値Tよりも小さい場合、ビデオエンコーダ20および/またはビデオデコーダ30はフィルタ「A」を適用し、そうでなければ、ビデオエンコーダ20および/またはビデオデコーダ30はフィルタ「B」を適用する。言い換えると、ビデオエンコーダ20および/またはビデオデコーダ30は、ブロックについての隣接する再構築されたサンプルの変数が予め定義された値よりも小さいとき、該ブロックについて複数の補間フィルタから第1の補間フィルタを選択し得る。この例では、ビデオエンコーダ20および/またはビデオデコーダ30は、変数が予め定義された値よりも小さくないとき、該ブロックについて複数の補間フィルタから第2の補間フィルタを選択し得る。
[0115]いくつかの例では、イントラ予測方向を前提とすると、いくつかの異なるタイプの補間フィルタは予め定義されている。この例では、ビデオエンコーダ20および/またはビデオデコーダ30は、予め定義されたルックアップテーブルにしたがって、いくつかの予め定義された補間フィルタのうちの1つを選択する。言い換えると、ビデオエンコーダ20および/またはビデオデコーダ30は、ルックアップテーブルが、ブロックについて特定の補間フィルタをイントラ予測方向に関連付けるとき、該ブロックについて複数の補間フィルタから特定の補間フィルタを選択し得る。
[0116]たとえば、イントラ予測が垂直ライクなイントラ予測(たとえば、HEVCについてはモード18〜34、JEM−3.0についてはモード34〜66等)であるとき、ビデオエンコーダ20および/またはビデオデコーダ30は、補間フィルタおよび/または補間フィルタタップの数(たとえば、フィルタタップ長)を選択するためにブロックの幅を使用し得る。この例では、幅が、ある特定のサイズ、たとえば8以下である場合、ビデオエンコーダ20および/またはビデオデコーダ30は、6タップ六次補間フィルタを使用し得る。そうでなければ、この例では、ビデオエンコーダ20および/またはビデオデコーダ30は、4タップガウス補間フィルタを使用し得る。
[0117]同様に、たとえば、イントラ予測が水平ライクなイントラ予測(たとえば、HEVCについてはモード2〜17、JEM−3.0についてはモード2〜33等)であるとき、ビデオエンコーダ20および/またはビデオデコーダ30は、補間フィルタおよび/または補間フィルタタップの数(たとえば、フィルタタップ長)を選択するためにブロックの高さを使用し得る。この例では、高さが、ある特定のサイズ、たとえば8以下である場合、ビデオエンコーダ20および/またはビデオデコーダ30は、6タップ六次補間フィルタを使用し得る。そうでなければ、この例では、ビデオエンコーダ20および/またはビデオデコーダ30は、4タップガウス補間フィルタを使用し得る。
[0118]いくつかの例では、補間フィルタタイプおよび/または補間フィルタタップ(たとえば、長さ)は、必要とされる参照サンプルが参照サンプルバッファ外にあるかどうか、たとえば利用可能でないかどうかに依存し得る。たとえば、ビデオエンコーダ20および/またはビデオデコーダ30は、必要とされる参照サンプルが参照サンプルバッファ外にあるかどうか、たとえば利用可能でないかどうかに基づいて、補間フィルタタイプを選択し得る。たとえば、ビデオエンコーダ20および/またはビデオデコーダ30は、必要とされる参照サンプルが参照サンプルバッファ外にあるかどうか、たとえば利用可能でないかどうかに基づいて、補間フィルタタップ長を選択し得る。
[0119]いくつかの例では、現在の実例的な設計にあるように、MxNブロックのイントラ予測では、参照サンプルバッファは、2*(M+N)+1個のサンプルを保有し得る。イントラ予測モードおよびブロック内の位置について、参照サンプルは、参照サンプルバッファに位置しないことがある。該例では、ビデオエンコーダ20および/またはビデオデコーダ30は、同じイントラ予測モード下の他の位置と比較して、より小さいフィルタタップ長を用いる補間を適用し得る。たとえば、ビデオデコーダ30は、隣接する再構築された参照サンプルから1セットの参照サンプルを決定し得る。この例では、ビデオデコーダ30は、ビデオデータのブロックに基づいて、マルチプル補間フィルタから1つの補間フィルタを選択し得る。たとえば、ビデオデコーダ30は、参照サンプルバッファに位置する参照サンプルの所与のセットについて最大のフィルタタップ長を有する補間フィルタを選択し得る。
[0120]同様に、たとえば、ビデオエンコーダ20は、隣接する再構築された参照サンプルから1セットの参照サンプルを決定し得る。この例では、ビデオエンコーダ20は、ビデオデータのブロックに基づいて、マルチプル補間フィルタから1つの補間フィルタを選択し得る。たとえば、ビデオエンコーダ20は、参照サンプルバッファに位置する参照サンプルの所与のセットについて最大のフィルタタップ長を有する補間フィルタを選択し得る。
[0121]いくつかの例では、イントラ予測が垂直ライクなイントラ予測であるとき、ビデオエンコーダ20および/またはビデオデコーダ30は、補間フィルタおよび/または補間フィルタタップの数(たとえば、フィルタタップ長)を選択するためにブロックの幅を使用し得る。該例では、幅が、ある特定のサイズ、たとえば8以下である場合、ビデオエンコーダ20および/またはビデオデコーダ30は、6タップ六次補間フィルタを使用し得る。該例では、幅がある特定のサイズ以下でない場合、ビデオエンコーダ20および/またはビデオデコーダ30は、4タップガウス補間フィルタを使用し得る。加えて、または代わりとして、イントラ予測が水平ライクなイントラ予測であるとき、ビデオエンコーダ20および/またはビデオデコーダ30は、補間フィルタおよび/または補間フィルタタップの数(たとえば、フィルタタップ長)を選択するためにブロックの高さを使用し得る。該例では、幅が、ある特定のサイズ、たとえば8以下である場合、ビデオエンコーダ20および/またはビデオデコーダ30は、6タップ六次補間フィルタを使用し得る。該例では、幅がある特定のサイズ以下でない場合、ビデオエンコーダ20および/またはビデオデコーダ30は、4タップガウス補間フィルタを使用し得る。フィルタタイプは、たとえば、平滑化、鮮明化(sharpening)、補間、または何れの他のフィルタタイプでもあり得る。
[0122]いくつかの例では、ビデオエンコーダ20および/またはビデオデコーダ30が、たとえば負のイントラ予測方向について、拡張参照サンプルの値を導くために最も近い隣接する参照を使用する代わりに、イントラ参照サンプルマッピングプロセスを適用するとき、ビデオエンコーダ20および/またはビデオデコーダ30は、各拡張参照サンプルの値を導くために、隣接する参照サンプルにNタップ補間フィルタを適用し得る。たとえば、ビデオデコーダ30は、第1の補間フィルタを使用して、隣接する再構築された参照サンプルからの1セットの参照サンプルに基づいて、拡張参照サンプルについての値を導き得る。同様に、ビデオエンコーダ20は、第1の補間フィルタを使用して、隣接する再構築された参照サンプルからの1セットの参照サンプルに基づいて、拡張参照サンプルについての値を導き得る。
[0123]いくつかの例では、ビデオエンコーダ20および/またはビデオデコーダ30は、イントラ参照サンプルマッピングプロセス中、拡張参照サンプル値を導くために4タップキュービック補間フィルタを適用し得る。たとえば、ビデオデコーダ30は、4タップキュービック補間フィルタを使用して、隣接する再構築された参照サンプルからの1セットの参照サンプルに基づいて、拡張参照サンプルについての値を導き得る。同様に、ビデオエンコーダ20は、4タップキュービック補間フィルタを使用して、隣接する再構築された参照サンプルからの1セットの参照サンプルに基づいて、拡張参照サンプルについての値を導き得る。
[0124]いくつかの例では、参照サンプルの一部がNタップ補間について利用可能でないとき、ビデオエンコーダ20および/またはビデオデコーダ30は、最も近い利用可能な参照サンプルがNタップ補間について使用され得るように、参照サンプルロケーションに対してクリッピングオペレーションを実行し得る。たとえば、特定の拡張参照サンプルのイントラ参照サンプルマッピングについて、4タップ補間フィルタ{f0,f1,f2,f3}が使用される一方で、対応する参照サンプルが{p0,p1,p2, andp3}であるがp0が利用可能でない場合、ビデオエンコーダ20および/またはビデオデコーダ30は、v = f0*p1 + f1*p1 + f2*p2 + f3*p3として補間プロセスを実行し得る。たとえば、ビデオデコーダ30は、拡張参照サンプルについての値を導くために、最も近い利用可能な参照サンプルが拡張参照サンプルについての値を導くために使用されるように、参照サンプルのセットに対して実行されるクリッピングオペレーションを実行し得る。同様に、拡張参照サンプルについての値を導くために、ビデオエンコーダ20は、最も近い利用可能な参照サンプルが拡張参照サンプルについての値を導くために使用されるように、参照サンプルのセットに対して実行されるクリッピングオペレーションを実行し得る。
[0125]代わりとして、または加えて、ビデオエンコーダ20および/またはビデオデコーダ30は、マルチプル補間フィルタに関して説明された規則にしたがって、Nタップ補間フィルタを選択し得る。代わりとして、または加えて、フィルタタップ長は、たとえば上記説明にあるような、ブロックサイズまたは形状に依存し得る。たとえば、ビデオデコーダ30は、第2の補間フィルタおよび拡張参照サンプルについての値を使用して、予測情報を生成し得る。同様に、ビデオエンコーダ20は、第2の補間フィルタおよび拡張参照サンプルについての値を使用して、予測情報を生成し得る。
[0126]MxNブロックのイントラ予測では、イントラ予測のために2*(M+N)+1個の参照サンプルを使用する代わりに、ビデオエンコーダ20および/またはビデオデコーダ30は、イントラ予測のために拡張参照サンプルバッファを適用し得る。たとえばビデオデコーダ30は、補間フィルタの1つまたは複数の特性を使用して、参照バッファに記憶されるべき参照サンプルの数を決定し得る。同様に、たとえば、ビデオエンコーダ20は、補間フィルタの1つまたは複数の特性を使用して、参照バッファに記憶されるべき参照サンプルの数を決定し得る。
[0127]より具体的には、たとえば、ビデオデータのMxNブロックでは、ビデオデコーダ30は、補間フィルタの1つまたは複数の特性を使用して、参照バッファに記憶されるべき参照サンプルの数が2*(M+N)+1より大きいと決定し得る。同様に、たとえばビデオエンコーダ20は、補間フィルタの1つまたは複数の特性を使用して、参照バッファに記憶されるべき参照サンプルの数が2*(M+N)+1より大きいと決定し得る。
[0128]いくつかの例では、ビデオエンコーダ20および/またはビデオデコーダ30は、しきい値Kによって参照サンプルバッファを、参照サンプルの上の行および/または左の列に拡張し得る。たとえば、しきい値Kは、1、2、3、4、または別のしきい値であり得る。言い換えると、たとえば、ビデオデコーダ30は、2*(M+N)+1からしきい値分だけ参照サンプルの数を、ビデオデータのブロックの行と列との両方に沿って拡張し得る。同様に、たとえば、ビデオエンコーダ20は、2*(M+N)+1からしきい値分だけ参照サンプルの数を、ビデオデータのブロックの行と列との両方に沿って拡張し得る。
[0129]いくつかの例では、ビデオエンコーダ20および/またはビデオデコーダ30は、フィルタタップの数Nによって拡張参照サンプルの数を決定し得る。いくつかの例では、ビデオエンコーダ20および/またはビデオデコーダ30は、現在のイントラ予測方向で使用されるNタップフィルタについての全ての参照サンプルが利用可能になるように、フィルタタップの数Nによって拡張参照サンプルの数を決定し得る。
[0130]言い換えると、たとえば、ビデオデコーダ30は、補間フィルタにおけるフィルタタップの数に基づいてしきい値を決定し得、2*(M+N)+1から該しきい値分だけ参照サンプルの数を拡張し得る。たとえば、ビデオデコーダ30は、4タップ補間フィルタを使用するときには2(または1)のしきい値を決定し得、2*(M+N)+1から2(または1)だけ参照サンプルの数を拡張し得る。いくつかの事例では、ビデオデコーダ30は、6タップ補間フィルタを使用するときには3(または2)のしきい値を決定し得、2*(M+N)+1から3(または2)だけ参照サンプルの数を拡張し得る。
[0131]同様に、たとえば、ビデオエンコーダ20は、補間フィルタにおけるフィルタタップの数に基づいてしきい値を決定し得、2*(M+N)+1から該しきい値分だけ参照サンプルの数を拡張し得る。たとえば、ビデオエンコーダ20は、4タップ補間フィルタを使用するときには2(または1)のしきい値を決定し得、2*(M+N)+1から2(または1)だけ参照サンプルの数を拡張し得る。いくつかの事例では、ビデオエンコーダ20は、6タップ補間フィルタを使用するときには3(または2)のしきい値を決定し得、2*(M+N)+1から3(または2)だけ参照サンプルの数を拡張し得る。
[0132]いくつかの例では、ビデオエンコーダ20および/またはビデオデコーダ30は、イントラ予測方向によって拡張参照サンプルの数を決定し得る。いくつかの例では、ビデオエンコーダ20および/またはビデオデコーダ30は、現在のイントラ予測方向で使用されるNタップフィルタについての全ての参照サンプルが利用可能になるように、イントラ予測方向によって、拡張参照サンプルの数を決定し得る。
[0133]言い換えると、たとえば、ビデオデコーダ30は、補間フィルタのイントラ予測方向を使用してしきい値を決定し得、2*(M+N)+1からしきい値分だけ参照サンプルの数を拡張し得る。たとえば、ビデオデコーダ30は、イントラ予測方向が34であるときには1のしきい値を決定し得、2*(M+N)+1から1だけ参照サンプルの数を拡張し得る。いくつかの事例では、ビデオデコーダ30は、66のときには2のしきい値を決定し得、2*(M+N)+1から2だけ参照サンプルの数を拡張し得る。
[0134]同様に、たとえば、ビデオエンコーダ20は、補間フィルタのイントラ予測方向を使用してしきい値を決定し得、2*(M+N)+1から該しきい値分だけ参照サンプルの数を拡張し得る。たとえば、ビデオエンコーダ20は、イントラ予測方向が34であるときには1のしきい値を決定し得、2*(M+N)+1から1だけ参照サンプルの数を拡張し得る。いくつかの事例では、ビデオエンコーダ20は、66のときには2のしきい値を決定し得、2*(M+N)+1から2だけ参照サンプルの数を拡張し得る。
[0135]ビデオデコーダ30および/またはビデオエンコーダ20は、参照バッファ中の該数の参照サンプルに対応する複数の値を生成し得る。本明細書で使用される場合、参照バッファ中の該数の参照サンプルに対応する値を生成するために、ビデオコーダは、サンプルを復号するか、サンプルを再構築するか、または別の方法で値を生成し得る。たとえば、ビデオデコーダ30は、参照バッファ中の該数の参照サンプルに対応するサンプルを復号し得る。いくつかの例では、ビデオエンコーダ20は、参照バッファ中の該数の参照サンプルに対応するサンプルを再構築し得る。
[0136]より具体的には、たとえば、ビデオエンコーダ20および/またはビデオデコーダ30は、隣接する再構築された画像サンプルによって参照サンプルバッファの拡張された一部を満たし得る。言い換えると、たとえば、ビデオデコーダ30は、隣接する再構築された画像サンプルを使用して、複数の値のうちの1つまたは複数の値を埋め得る。同様に、たとえば、ビデオエンコーダ20は、隣接する再構築された画像サンプルを使用して、複数の値のうちの1つまたは複数の値を満たし得る。
[0137]いくつかの例では、ビデオエンコーダ20および/またはビデオデコーダ30は、参照サンプルバッファ中の利用可能な参照サンプル値から参照サンプルバッファの拡張された一部を埋める。言い換えると、たとえば、ビデオデコーダ30は、参照バッファ中の利用可能な参照サンプル値から複数の値のうちの1つまたは複数の値を埋め得る。同様に、たとえば、ビデオエンコーダ20は、参照バッファ中の利用可能な参照サンプル値から複数の値のうちの1つまたは複数の値を埋め得る。
[0138]いくつかの例では、ビデオエンコーダ20および/またはビデオデコーダ30は、LMモード、planarモード、および/またはDCモードについて拡張参照サンプルを使用し得る。いくつかの例では、LMモードにおいて、ビデオエンコーダ20および/またはビデオデコーダ30は、線形モデルのパラメータを導くために拡張参照サンプルを使用し得る。言い換えると、たとえば、ビデオデコーダ30は、2*(M+N)+1からしきい値分だけ拡張された少なくとも1つの値を使用して、線形モデルのパラメータを導き得る。同様に、たとえば、ビデオエンコーダ20は、2*(M+N)+1からしきい値分だけ拡張された少なくとも1つの値を使用して、線形モデルのパラメータを導き得る。
[0139]いくつかの例では、planarモードにおいて、ビデオエンコーダ20および/またはビデオデコーダ30は、予想ブロックを生成するために拡張参照サンプルを使用し得る。たとえば、ビデオデコーダ30は、2*(M+N)+1からしきい値分だけ拡張された少なくとも1つの値を使用して、予想ブロックを生成し得る。言い換えると、たとえば、ビデオデコーダ30は、補間フィルタおよび複数の値を使用して、イントラ予測のための予測情報を生成し得る。同様に、たとえば、ビデオエンコーダ20は、2*(M+N)+1からしきい値分だけ拡張された少なくとも1つの値を使用して、予想ブロックを生成し得る。言い換えると、たとえば、ビデオエンコーダ20は、補間フィルタおよび複数の値を使用して、イントラ予測のための予測情報を生成し得る。
[0140]ビデオコーダは、予測情報に基づいて、ビデオデータのブロックを再構築し得る。本明細書で使用される場合、ビデオデータのブロックを再構築するために、ビデオコーダは、ビデオデータのブロックの再構築ループ、ビデオデータのブロックの復号、またはビデオデータのブロックの別の再構築を実行し得る。
[0141]ビデオデコーダ30は、予測的情報に基づいて、ビデオデータのブロックを再構築し得る。たとえば、ビデオデコーダ30は、予測情報を使用して、ビデオデータのブロックのためのコーディングユニットについての予測ブロックを決定し得る。この例では、ビデオデコーダ30は、コーディングユニットについての残差データを決定し得る。この例では、ビデオデコーダ30は、コーディングユニットについての残差データの対応するサンプルと予測ブロックとを合計することによって、コーディングユニットのコーディングブロックを再構築し得る。
[0142]同様に、ビデオエンコーダ20は、予測情報に基づいて、ビデオデータのブロックを再構築し得る。たとえば、ビデオエンコーダ20は、予測的情報を使用して、ビデオデータのブロックのためのコーディングユニットについての予測ブロックを決定し得る。この例では、ビデオエンコーダ20は、コーディングユニットについての残差データを、該残差データがコーディングユニットのコーディングブロックとコーディングユニットについての予測ブロックとの間の差分を示すように決定し得る。この例では、ビデオエンコーダ20は、コーディングユニットについての残差データを1つまたは複数の変換ブロックに分割し得る。この例では、ビデオエンコーダ20は、1つまたは複数の係数ブロックを生成するために1つまたは複数の変換ブロックに変換を適用し得る。この例では、ビデオエンコーダ20は、1つまたは複数の係数ブロックにおける係数を量子化し得る。
[0143]いくつかの例では、DCモードにおいて、ビデオエンコーダ20および/またはビデオデコーダ30は、予測されたDC値を予測するために拡張参照サンプルを使用し得る。言い換えると、たとえば、ビデオデコーダ30は、2*(M+N)+1からしきい値分だけ拡張された少なくとも1つの値を使用して、予測されたDC値を予測し得る。同様に、たとえば、ビデオエンコーダ20は、2*(M+N)+1からしきい値分だけ拡張された少なくとも1つの値を使用して、予測されたDC値を予測し得る。
[0144]いくつかの例では、拡張された上の行の参照サンプルについて参照サンプルマッピングを実行するとき、拡張参照サンプルの各々について、イントラ予測方向を前提とすると、ビデオエンコーダ20および/またはビデオデコーダ30は、値を導き出すために左の列の1つまたはいくつかの参照サンプルを使用し得る。言い換えると、たとえば、ビデオデコーダ30は、参照バッファ中の利用可能な参照サンプル値から複数の値のうちの1つまたは複数の値を導き得る。同様に、たとえば、ビデオエンコーダ20は、参照バッファ中の利用可能な参照サンプル値から複数の値のうちの1つまたは複数の値を導き得る。しかしながら「左の列の1つまたはいくつかの参照サンプル」が参照サンプルバッファにおいて利用可能でないとき、ビデオエンコーダ20および/またはビデオデコーダ30は、現在の拡張参照サンプルについて最も近い利用可能な拡張参照サンプル値を使用し得る。
[0145]いくつかの例では、ビデオエンコーダ20および/またはビデオデコーダ30は、1つの角のサンプルの代わりにより多くの参照サンプルをバッファに加え得る。該例では、ビデオエンコーダ20および/またはビデオデコーダ30は、左および/または上の参照サンプルから導かれた参照サンプル同士の間に(in between)参照サンプルを挿入し得る。挿入されたサンプルの数は、イントラ予測方向にしたがってイントラ予測を導くために使用され得るフィルタタップに依存し得る。たとえば、ビデオエンコーダ20および/またはビデオデコーダ30は、フィルタタップに基づいて挿入されたサンプルの数を決定し得、ならびに/あるいはビデオエンコーダ20および/またはビデオデコーダ30は、イントラ予測方向にしたがってイントラ予測を導き得る。ビデオエンコーダ20および/またはビデオデコーダ30は、イントラモード方向に基づいて、最も近い左および/または上の隣接参照から挿入されたサンプルを導き得る。加えて、または代わりとして、ビデオエンコーダ20および/またはビデオデコーダ30は、左および/または上の隣接するサンプルに、ある特定のタップ長のフィルタを適用し得る。該例では、ビデオエンコーダ20および/またはビデオデコーダ30は、参照バッファ中にフィルタリングされたサンプルを挿入し得る。
[0146]これより以下は、ビデオエンコーダ20および/またはビデオデコーダ30が、六次補間フィルタが含まれたマルチプル補間フィルタを適用する実施形態を提示する。
[0147]いくつかの例では、イントラ予測モードが垂直ライクなangular予測モードであるとき、幅が8以下である場合、ビデオエンコーダ20および/またはビデオデコーダ30は、6タップ六次補間フィルタを使用し得る。代わりとして、または加えて、ビデオエンコーダ20および/またはビデオデコーダ30は、4タップガウス補間フィルタを使用し得る。いくつかの例では、イントラ予測が水平ライクなイントラ予測であるとき、高さが8以下である場合、ビデオエンコーダ20および/またはビデオデコーダ30は、6タップ六次補間フィルタを使用し得る。代わりとして、または加えて、ビデオエンコーダ20および/またはビデオデコーダ30は、4タップガウス補間フィルタを使用し得る。
[0148]例となる6タップ六次補間フィルタが、以下の通り示される。
Short g_aiIntraSexticFilter[32][6]=
{
{ 0, 0, 256, 0, 0, 0 }, // 0/32位置
{ 0, -4, 253, 9, -2, 0 }, // 1/32位置
{ 1, -7, 249, 17, -4, 0 }, // 2/32位置
{ 1, -10, 245, 25, -6, 1 }, // 3/32位置
{ 1, -13, 241, 34, -8, 1 }, // 4/32位置
{ 2, -16, 235, 44, -10, 1 }, // 5/32位置
{ 2, -18, 229, 53, -12, 2 }, // 6/32位置
{ 2, -20, 223, 63, -14, 2 }, // 7/32位置
{ 2, -22, 217, 72, -15, 2 }, // 8/32位置
{ 3, -23, 209, 82, -17, 2 }, // 9/32位置
{ 3, -24, 202, 92, -19, 2 }, // 10/32位置
{ 3, -25, 194, 101, -20, 3 }, // 11/32位置
{ 3, -25, 185, 111, -21, 3 }, // 12/32位置
{ 3, -26, 178, 121, -23, 3 }, // 13/32位置
{ 3, -25, 168, 131, -24, 3 }, // 14/32位置
{ 3, -25, 159, 141, -25, 3 }, // 15/32位置
{ 3, -25, 150, 150, -25, 3 }, // 16/32位置
{ 3, -25, 141, 159, -25, 3 }, // 17/32位置
{ 3, -24, 131, 168, -25, 3 }, // 18/32位置
{ 3, -23, 121, 178, -26, 3 }, // 19/32位置
{ 3, -21, 111, 185, -25, 3 }, // 20/32位置
{ 3, -20, 101, 194, -25, 3 }, // 21/32位置
{ 2, -19, 92, 202, -24, 3 }, // 22/32位置
{ 2, -17, 82, 209, -23, 3 }, // 23/32位置
{ 2, -15, 72, 217, -22, 2 }, // 24/32位置
{ 2, -14, 63, 223, -20, 2 }, // 25/32位置
{ 2, -12, 53, 229, -18, 2 }, // 26/32位置
{ 1, -10, 44, 235, -16, 2 }, // 27/32位置
{ 1, -8, 34, 241, -13, 1 }, // 28/32位置
{ 1, -6, 25, 245, -10, 1 }, // 29/32位置
{ 0, -4, 17, 249, -7, 1 }, // 30/32位置
{ 0, -2, 9, 253, -4, 0 }, // 31/32位置
};
例となる4タップガウス補間フィルタが、以下の通り示される。
Short g_aiIntraGaussFilter[32][4]=
{
{ 47, 161, 47, 1 }, // 0/32位置
{ 43, 161, 51, 1 }, // 1/32位置
{ 40, 160, 54, 2 }, // 2/32位置
{ 37, 159, 58, 2 }, // 3/32位置
{ 34, 158, 62, 2 }, // 4/32位置
{ 31, 156, 67, 2 }, // 5/32位置
{ 28, 154, 71, 3 }, // 6/32位置
{ 26, 151, 76, 3 }, // 7/32位置
{ 23, 149, 80, 4 }, // 8/32位置
{ 21, 146, 85, 4 }, // 9/32位置
{ 19, 142, 90, 5 }, // 10/32位置
{ 17, 139, 94, 6 }, // 11/32位置
{ 16, 135, 99, 6 }, // 12/32位置
{ 14, 131, 104, 7 }, // 13/32位置
{ 13, 127, 108, 8 }, // 14/32位置
{ 11, 123, 113, 9 }, // 15/32位置
{ 10, 118, 118, 10 }, // 16/32位置
{ 9, 113, 123, 11 }, // 17/32位置
{ 8, 108, 127, 13 }, // 18/32位置
{ 7, 104, 131, 14 }, // 19/32位置
{ 6, 99, 135, 16 }, // 20/32位置
{ 6, 94, 139, 17 }, // 21/32位置
{ 5, 90, 142, 19 }, // 22/32位置
{ 4, 85, 146, 21 }, // 23/32位置
{ 4, 80, 149, 23 }, // 24/32位置
{ 3, 76, 151, 26 }, // 25/32位置
{ 3, 71, 154, 28 }, // 26/32位置
{ 2, 67, 156, 31 }, // 27/32位置
{ 2, 62, 158, 34 }, // 28/32位置
{ 2, 58, 159, 37 }, // 29/32位置
{ 2, 54, 160, 40 }, // 30/32位置
{ 1, 51, 161, 43 }, // 31/32位置
};
[0149]図13は、イントラ予測中に補間フィルタを使用するために本開示の技法を実装し得る例となるビデオエンコーダ20を例示するブロック図である。図13は、説明の目的で提供されており、本開示において広く実証および説明されるような技法の限定とみなされるべきではない。本開示の技法は、様々なコーディング規格または方法に適用可能であり得る。概念図1〜図13で示されている技法は、本開示の技法と共に使用され得る。
[0150]図13の例では、ビデオエンコーダ20は、予測処理ユニット1300、ビデオデータメモリ1301、残差生成ユニット1302、変換処理ユニット1304、量子化ユニット1306、逆量子化ユニット1308、逆変換処理ユニット1310、再構築ユニット1312、フィルタユニット1314、復号ピクチャバッファ1316、およびエントロピー符号化ユニット1318を含む。いくつかの例では、予測処理ユニット1300は、本開示の技法のうちの1つまたは複数を実行し得る。予測処理ユニット1300は、インター予測処理ユニット1320およびイントラ予測処理ユニット1326を含む。インター予測処理ユニット1320は、動き推定ユニットおよび動き補償ユニット(図示せず)を含み得る。いくつかの例では、イントラ予測処理ユニット1326は、本開示の技法のうちの1つまたは複数を実行し得る。
[0151]イントラ予測処理ユニット1326は、補間フィルタユニット1327を含み得る。補間フィルタユニット1327は、補間フィルタの1つまたは複数の特性を使用して、参照バッファに記憶されるべき参照サンプルの数を決定し得る。たとえば、補間フィルタユニット1327は、フィルタタップの数Nによって拡張参照サンプルの数を決定し得る。いくつかの例では、補間フィルタユニット1327は、イントラ予測方向によって拡張参照サンプルの数を決定し得る。
[0152]補間フィルタユニット1327は、ビデオデータのブロックに基づいて、マルチプル補間フィルタから1つの補間フィルタを選択し得る。たとえば、補間フィルタユニット1327は、必要とされる参照サンプルが参照サンプルバッファ外にあるかどうか、たとえば利用可能でないかどうかに基づいて、補間フィルタタップ長を選択し得る。
[0153]補間フィルタユニット1327は、第1の補間フィルタを使用して、隣接する再構築された参照サンプルからの1セットの参照サンプルに基づいて、拡張参照サンプルについての値を導き得る。たとえば、補間フィルタユニット1327は、各拡張参照サンプルの値を導くために、隣接する参照サンプルにNタップ補間フィルタを適用し得る。
[0154]ビデオデータメモリ1301は、ビデオエンコーダ20のコンポーネントによって符号化されるべきビデオデータを記憶するように構成され得る。ビデオデータメモリ1301に記憶されたビデオデータは、たとえばビデオソース18から取得され得る。復号ピクチャバッファ1316は、たとえばイントラまたはインターコーディングモードでビデオエンコーダ20によってビデオデータを符号化する際に使用される参照ビデオデータを記憶する参照ピクチャメモリであり得る。ビデオデータメモリ1301および復号ピクチャバッファ1316は、同期動的ランダムアクセスメモリ(SDRAM)、磁気抵抗RAM(MRAM)、抵抗性RAM(RRAM(登録商標))、または他のタイプのメモリデバイスを含む動的ランダムアクセスメモリ(DRAM)のような、様々なメモリデバイスのうちの何れによっても形成され得る。ビデオデータメモリ1301および復号ピクチャバッファ1316は、同じメモリデバイスまたは別個のメモリデバイスによって設けられ得る。様々な例において、ビデオデータメモリ1301は、ビデオエンコーダ20の他のコンポーネントとオンチップであり得るか、またはそれらのコンポーネントに対してオフチップであり得る。ビデオデータメモリ1301は、図1の記憶媒体20と同じまたはその一部であり得る。
[0155]ビデオエンコーダ20はビデオデータを受信する。ビデオエンコーダ20は、ビデオデータのピクチャのスライス中の各CTUを符号化し得る。CTUの各々は、等しいサイズのルーマコーディングツリーブロック(CTB)およびピクチャの対応するCTBに関連付けられ得る。CTUを符号化することの一部として、予測処理ユニット1300は、CTUのCTBを漸進的により小さくなる(progressively-smaller)ブロックに分けるための分割を実行し得る。より小さいブロックは、CUのコーディングブロックであり得る。たとえば、予測処理ユニット1300は、ツリー構造にしたがって、CTUに関連付けられたCTBを分割し得る。
[0156]ビデオエンコーダ20は、CUの符号化表現(即ち、コーディングされたCU)を生成するために、CTUのCUを符号化し得る。CUを符号化することの一部として、予測処理ユニット1300は、CUの1つまたは複数のPUの間でCUに関連付けられたコーディングブロックを分割し得る。したがって、各PUは、ルーマ予想ブロックおよび対応するクロマ予想ブロックに関連付けられ得る。ビデオエンコーダ20およびビデオデコーダ30は、様々なサイズを有するPUをサポートし得る。上で示されたように、CUのサイズは、CUのルーマコーディングブロックのサイズを指し、PUのサイズは、PUのルーマ予想ブロックのサイズを指し得る。特定のCUのサイズが2Nx2Nであることを想定すると、ビデオエンコーダ20およびビデオデコーダ30は、イントラ予測のためには2Nx2NまたはNxNのPUサイズを、インター予測のためには2Nx2N、2NxN、Nx2N、NxN、または同様の対称PUサイズをサポートし得る。ビデオエンコーダ20およびビデオデコーダ30はまた、インター予測のために、2NxnU、2NxnD、nLx2N、およびnRx2NのPUサイズについての非対称分割をサポートし得る。
[0157]インター予測処理ユニット1320は、CUの各PUに対してインター予測を実行することによって、PUについての予測データを生成し得る。PUについての予測データは、PUの予測ブロックおよびPUについての動き情報を含み得る。インター予測処理ユニット1320は、PUが、Iスライス中にあるか、Pスライス中にあるか、またはBスライス中にあるかに依存して、CUのPUについて異なるオペレーションを実行し得る。Iスライスでは、全てのPUがイントラ予測される。したがって、PUがIスライス中にある場合、インター予測処理ユニット1320は、PUに対してインター予測を実行しない。したがって、Iモードで符号化されるブロックでは、予測されたブロックは、同じフレーム内の前に符号化された隣接するブロックからの空間予測を使用して形成される。PUがPスライス中にある場合、インター予測処理ユニット1320は、PUの予測ブロックを生成するために、単方向性インター予測を使用し得る。PUがBスライス中にある場合、インター予測処理ユニット1320は、PUの予測ブロックを生成するために、単方向性または双方向性インター予測を使用し得る。
[0158]イントラ予測処理ユニット1326は、PUに対してイントラ予測を実行することによって、PUについての予測データを生成し得る。PUについての予測データは、PUの予測ブロックおよび様々なシンタックス要素を含み得る。イントラ予測処理ユニット1326は、Iスライス、Pスライス、およびBスライス中のPUに対してイントラ予測を実行し得る。
[0159]PUに対してイントラ予測を実行するために、イントラ予測処理ユニット1326は、PUについての予測データのマルチプルセットを生成するために、マルチプルイントラ予測モードを使用し得る。イントラ予測処理ユニット1326は、PUについての予測ブロックを生成するために、隣接するPUのサンプルブロックからのサンプルを使用し得る。隣接するPUは、PU、CU、およびCTUについて左から右、上から下の符号化順序を想定して、PUの上、右上、左上、または左にあり得る。イントラ予測処理ユニット1326は、様々な数のイントラ予測モード、たとえば、33個の方向性イントラ予測モードを使用し得る。いくつかの例では、イントラ予測モードの数は、PUに関連付けられた領域のサイズに依存し得る。
[0160]予測処理ユニット1300は、CUのPUについての予測データを、該PUについてインター予測処理ユニット1320によって生成された予測データ、または該PUについてイントラ予測処理ユニット1326によって生成された予測データの中から選択し得る。いくつかの例では、予測処理ユニット1300は、予測データのセットのレート/歪みメトリックに基づいて、CUのPUについての予測データを選択する。選択された予測データの予測ブロックは、ここでは選択された予測ブロックと称され得る。いくつかの例では、予測処理ユニット1300および/またはイントラ予測処理ユニット1326は、マルチプル補間フィルタを適用し得る。たとえば、予測処理ユニット1300および/またはイントラ予測処理ユニット1326は、本明細書で説明されている技法の何れの組合せも実行し得る。より具体的には、たとえば、予測処理ユニット1300および/またはイントラ予測処理ユニット1326は、補間フィルタを選択し、該補間フィルタを使用して、ビデオデータのブロックを再構築するための予測情報を生成し得る。いくつかの事例では、予測処理ユニット1300および/またはイントラ予測処理ユニット1326は、拡張参照サンプルについての値を導き、該拡張参照サンプルについての値を使用して、ビデオデータのブロックを再構築するための予測情報を生成し得る。いくつか事例では、予測処理ユニット1300および/またはイントラ予測処理ユニット1326は、拡張参照サンプルバッファについての値を生成し、該拡張参照サンプルバッファについての値を使用して、ビデオデータのブロックを再構築するための予測情報を生成し得る。
[0161]残差生成ユニット1302は、CUについてのコーディングブロック(たとえば、ルーマ、Cb、およびCrコーディングブロック)、およびCUのPUについての選択された予測ブロック(たとえば、予測ルーマ、Cb、およびCrブロック)に基づいて、CUについての残差ブロック(たとえば、ルーマ、Cb、およびCr残差ブロック)を生成し得る。たとえば、残差生成ユニット1302は、残差ブロック中の各サンプルが、CUのコーディングブロック中のサンプルと、CUのPUの対応する選択された予測ブロック中の対応するサンプルとの間の差分に等しい値を有するように、CUの残差ブロックを生成し得る。
[0162]変換処理ユニット1304は、CUに関連付けられた残差ブロックをCUのTUに関連付けられた変換ブロックに分割するために四分木分割を実行し得る。したがって、TUは、1つのルーマ変換ブロックおよび2つのクロマ変換ブロックに関連付けられ得る。CUのTUのルーマおよびクロマ変換ブロックのサイズおよび位置は、CUのPUの予想ブロックのサイズおよび位置に基づくことも基づかないこともある。「残差四分木」(RQT)として知られている四分木構造は、領域の各々に関連付けられたノードを含み得る。CUのTUは、RQTのリーフノードに対応し得る。
[0163]変換処理ユニット1304は、TUの変換ブロックに1つまたは複数の変換を適用することによって、CUの各TUについて変換係数ブロックを生成し得る。変換処理ユニット1304は、TUに関連付けられた変換ブロックに様々な変換を適用し得る。たとえば、変換処理ユニット1304は、変換ブロックに、離散コサイン変換(DCT)、方向性変換、または概念的に類似した変換を適用し得る。いくつかの例では、変換処理ユニット1304は、変換ブロックに変換を適用しない。そのような例では、変換ブロックは、変換係数ブロックとして扱われ得る。
[0164]量子化ユニット1306は、係数ブロックにおける変換係数を量子化し得る。量子化プロセスは、変換係数のいくつかまたは全てに関連付けられたビット深度を低減し得る。たとえば、nビット変換係数は、量子化中、mビット変換係数に丸められ得、ここで、nはmより大きい。量子化ユニット1306は、CUに関連付けられた量子化パラメータ(QP)値に基づいて、CUのTUに関連付けられた係数ブロックを量子化し得る。ビデオエンコーダ20は、CUに関連付けられたQP値を調整することによって、CUに関連付けられた係数ブロックに適用される量子化の程度を調整し得る。量子化は、情報の損失を引き起こし得る。したがって、量子化された変換係数は、元のものより低い精度を有し得る。
[0165]逆量子化ユニット1308および逆変換処理ユニット1310は、係数ブロックから残差ブロックを再構築するために、係数ブロックに逆量子化および逆変換をそれぞれ適用し得る。再構築ユニット1312は、TUに関連付けられた再構築された変換ブロックを作り出すために、再構築された残差ブロックを、予測処理ユニット1300によって生成された1つまたは複数の予測ブロックからの対応するサンプルに加え得る。このようにCUの各TUについての変換ブロックを再構築することによって、ビデオエンコーダ20は、CUのコーディングブロックを再構築し得る。
[0166]フィルタユニット1314は、CUに関連付けられたコーディングブロックにおけるブロッキングアーティファクトを低減するために、1つまたは複数のデブロッキングオペレーションを実行し得る。復号ピクチャバッファ1316は、フィルタユニット1314が再構築されたコーディングブロックに対して1つまたは複数のデブロッキングオペレーションを実行した後に、再構築されたコーディングブロックを記憶し得る。インター予測処理ユニット1320は、他のピクチャのPUに対してインター予測を実行するために、再構築されたコーディングブロックを保有する参照ピクチャを使用し得る。加えて、イントラ予測処理ユニット1326は、CUと同じピクチャ中の他のPUに対してイントラ予測を実行するために、復号ピクチャバッファ1316中の再構築されたコーディングブロックを使用し得る。
[0167]エントロピー符号化ユニット1318は、ビデオエンコーダ20の他の機能的コンポーネントからデータを受信し得る。たとえば、エントロピー符号化ユニット1318は、量子化ユニット1306から係数ブロックを受信し得、予測処理ユニット1300からシンタックス要素を受信し得る。エントロピー符号化ユニット1318は、エントロピー符号化されたデータを生成するためにデータに対して1つまたは複数のエントロピー符号化オペレーションを実行し得る。たとえば、エントロピー符号化ユニット1318は、データに対して、CABACオペレーション、コンテキスト適応型可変長コーディング(CAVLC)オペレーション、V2V(variable-to-variable)長コーディングオペレーション、シンタックスベースのコンテキスト適応型バイナリ算術コーディング(SBAC)オペレーション、確率間隔分割エントロピー(PIPE)コーディングオペレーション、指数ゴロム符号化オペレーション、または別のタイプのエントロピー符号化オペレーションを実行し得る。ビデオエンコーダ20は、エントロピー符号化ユニット1318によって生成されたエントロピー符号化されたデータを含むビットストリームを出力し得る。たとえば、ビットストリームは、CUについての変換係数の値を表現するデータを含み得る。
[0168]図14は、イントラ予測中に補間フィルタを使用するために本開示の技法を実装するように構成される例となるビデオデコーダ30を例示するブロック図である。図14は、説明の目的で提供されており、本開示で広く実証および説明されるような技法を限定するものではない。説明の目的で、本開示は、HEVCコーディングのコンテキストでビデオデコーダ30を説明する。しかしながら、本開示の技法は、他のコーディング規格または方法に適用可能であり得る。概念図1〜図14で示されている技法は、本開示の技法と共に使用され得る。
[0169]図14の例では、ビデオデコーダ30は、エントロピー復号ユニット1450、ビデオデータメモリ1451、予測処理ユニット1452、逆量子化ユニット1454、逆変換処理ユニット1456、再構築ユニット1458、フィルタユニット1460、および復号ピクチャバッファ1462を含む。いくつかの例では、予測処理ユニット1452は、本開示の技法のうちの1つまたは複数を実行し得る。予測処理ユニット1452は、動き補償ユニット1464およびイントラ予測処理ユニット1466を含む。いくつかの例では、イントラ予測処理ユニット1466は、本開示の技法のうちの1つまたは複数を実行し得る。いくつかの例では、予測処理ユニット1452および/またはイントラ予測処理ユニット1466は、マルチプル補間フィルタを適用し得る。たとえば、予測処理ユニット1452および/またはイントラ予測処理ユニット1466は、本明細書で説明されている技法の何れの組合せも実行し得る。より具体的には、たとえば、予測処理ユニット1452および/またはイントラ予測処理ユニット1466は、補間フィルタを選択し、該補間フィルタを使用して、ビデオデータのブロックを再構築するための予測情報を生成し得る。いくつかの事例では、予測処理ユニット1452および/またはイントラ予測処理ユニット1466は、拡張参照サンプルについての値を導き、該拡張参照サンプルについての値を使用して、ビデオデータのブロックを再構築するための予測情報を生成し得る。いくつか事例では、予測処理ユニット1452および/またはイントラ予測処理ユニット1466は、拡張参照サンプルバッファについての値を生成し、該拡張参照サンプルバッファについての値を使用して、ビデオデータのブロックを再構築するための予測情報を生成し得る。他の例では、ビデオデコーダ30は、より多い、より少ない、あるいは異なる機能的コンポーネントを含み得る。
[0170]イントラ予測処理ユニット1466は、補間フィルタユニット1467を含み得る。補間フィルタユニット1467は、補間フィルタの1つまたは複数の特性を使用して、参照バッファに記憶されるべき参照サンプルの数を決定し得る。たとえば、補間フィルタユニット1467は、フィルタタップの数Nによって拡張参照サンプルの数を決定し得る。いくつかの例では、補間フィルタユニット1467は、イントラ予測方向によって拡張参照サンプルの数を決定し得る。
[0171]補間フィルタユニット1467は、ビデオデータのブロックに基づいて、マルチプル補間フィルタから1つの補間フィルタを選択し得る。たとえば、補間フィルタユニット1467は、必要とされる参照サンプルが参照サンプルバッファ外にあるかどうか、たとえば利用可能でないかどうかに基づいて、補間フィルタタップ長を選択し得る。
[0172]補間フィルタユニット1467は、第1の補間フィルタを使用して、隣接する再構築された参照サンプルからの1セットの参照サンプルに基づいて、拡張参照サンプルについての値を導き得る。たとえば、補間フィルタユニット1467は、各拡張参照サンプルの値を導くために、隣接する参照サンプルにNタップ補間フィルタを適用し得る。
[0173]ビデオデータメモリ1451は、ビデオデコーダ30のコンポーネントによって復号されるべき、符号化されたビデオビットストリームのような符号化されたビデオデータを記憶し得る。ビデオデータメモリ1451に記憶されたビデオデータは、たとえば、ビデオデータの有線またはワイヤレスネットワーク通信を介して、または物理データ記憶媒体にアクセスすることによって、コンピュータ可読媒体16、たとえば、カメラのようなローカルビデオソースから取得され得る。ビデオデータメモリ1451は、符号化されたビデオビットストリームからの符号化されたビデオデータを記憶するコーディングされたピクチャバッファ(CPB)を形成し得る。復号ピクチャバッファ1462は、たとえばイントラまたはインターコーディングモードで、ビデオデコーダ30によってビデオデータを復号する際に使用される、または出力のための参照ビデオデータを記憶する参照ピクチャメモリであり得る。ビデオデータメモリ1451および復号ピクチャバッファ1462は、同期動的ランダムアクセスメモリ(SDRAM)、磁気抵抗RAM(MRAM)、抵抗性RAM(RRAM)、または他のタイプのメモリデバイスを含む動的ランダムアクセスメモリ(DRAM)のような、様々なメモリデバイスのうちの何れによっても形成され得る。ビデオデータメモリ1451および復号ピクチャバッファ1462は、同じメモリデバイスまたは別個のメモリデバイスによって設けられ得る。様々な例において、ビデオデータメモリ1451は、ビデオデコーダ30の他のコンポーネントとオンチップであり得るか、またはそれらのコンポーネントに対してオフチップであり得る。ビデオデータメモリ1451は、図1の記憶媒体28と同じまたはその一部であり得る。
[0174]ビデオデータメモリ1451は、ビットストリームの符号化されたビデオデータ(たとえば、NALユニット)を受信および記憶する。エントロピー復号ユニット1450は、ビデオデータメモリ1451から符号化されたビデオデータ(たとえば、NALユニット)を受信し得、シンタックス要素を取得するために該NALユニットを解析し得る。エントロピー復号ユニット1450は、NALユニット中のエントロピー符号化されたシンタックス要素をエントロピー復号し得る。予測処理ユニット1452、逆量子化ユニット1454、逆変換処理ユニット1456、再構築ユニット1458、およびフィルタユニット1460は、ビットストリームから抽出されたシンタックス要素に基づいて、復号されたビデオデータを生成し得る。エントロピー復号ユニット1450は、エントロピー符号化ユニット1318のプロセスと概ね互恵的なプロセスを実行し得る。
[0175]ビットストリームからシンタックス要素を取得することに加えて、ビデオデコーダ30は、非分割CUに対して再構築オペレーションを実行し得る。CUに対して再構築オペレーションを実行するために、ビデオデコーダ30は、CUの各TUに対して再構築オペレーションを実行し得る。CUの各TUについて再構築オペレーションを実行することによって、ビデオデコーダ30は、CUの残差ブロックを再構築し得る。
[0176]CUのTUに対して再構築オペレーションを実行することの一部として、逆量子化ユニット1454は、TUに関連付けられた係数ブロックを逆量子化(inverse quantize)、即ち非量子化(de-quantize)し得る。逆量子化ユニット1454が係数ブロックを逆量子化した後、逆変換処理ユニット1456は、TUに関連付けられた残差ブロックを生成するために、該係数ブロックに1つまたは複数の逆変換を適用し得る。たとえば、逆変換処理ユニット1456は、係数ブロックに、逆DCT、逆整数変換、逆カルーネンレーベ変換(KLT)、逆回転変換、逆方向変換、または別の逆変換を適用し得る。
[0177]逆量子化ユニット1454は、本開示の特定の技法を実行し得る。たとえば、ビデオデータのピクチャのCTUのCTB内の複数の量子化グループのうちの少なくとも1つのそれぞれの量子化グループについて、逆量子化ユニット1454は、ビットストリームにおいてシグナリングされた局所的量子化情報に少なくとも部分的に基づいて、それぞれの量子化グループについてのそれぞれの量子化パラメータを導き得る。加えて、この例では、逆量子化ユニット1454は、それぞれの量子化グループについてのそれぞれの量子化パラメータに基づいて、CTUのCUのTUの変換ブロックの少なくとも1つの変換係数を逆量子化し得る。この例では、それぞれの量子化グループは、それぞれの量子化グループの境界が、CUまたはコーディングブロックの境界でなければならず、それぞれの量子化グループのサイズがしきい値以上になるように、コーディング順序で連続的なCUまたはコーディングブロックのグループとして定義される。ビデオデコーダ30(たとえば、逆変換処理ユニット1456、再構築ユニット1458、およびフィルタユニット1460)は、変換ブロックの逆量子化された変換係数に基づいて、CUのコーディングブロックを再構築し得る。
[0178]PUがイントラ予測を使用して符号化される場合、イントラ予測処理ユニット1466は、PUの予測ブロックを生成するために、イントラ予測を実行し得る。イントラ予測処理ユニット1466は、ブロックに空間的に隣接するサンプルに基づいて、PUの予測ブロックを生成するために、イントラ予測モードを使用し得る。イントラ予測処理ユニット1466は、ビットストリームから取得された1つまたは複数のシンタックス要素に基づいて、PUについてのイントラ予測モードを決定し得る。
[0179]PUがインター予測を使用して符号化される場合、エントロピー復号ユニット1450は、PUについての動き情報を決定し得る。動き補償ユニット1464は、PUの動き情報に基づいて、1つまたは複数の参照ブロックを決定し得る。動き補償ユニット1464は、1つまたは複数の参照ブロックに基づいて、PUについての予測ブロック(たとえば、予測ルーマ、Cb、およびCrブロック)を生成し得る。
[0180]再構築ユニット1458は、適用可能な場合、CUについてのコーディングブロック(たとえば、ルーマ、Cb、およびCrコーディングブロック)を再構築するために、CUのTUについての変換ブロック(たとえば、ルーマ、Cb、およびCr変換ブロック)およびCUのPUの予測ブロック(たとえば、ルーマ、Cb、およびCrブロック)、即ち、イントラ予測データまたはインター予測データのどちらかを使用し得る。たとえば、再構築ユニット1458は、CUのコーディングブロック(たとえば、ルーマ、Cb、およびCrコーディングブロック)を再構築するために、変換ブロック(たとえば、ルーマ、Cb、およびCr変換ブロック)のサンプルを、予測ブロック(たとえば、ルーマ、Cb、およびCr予測ブロック)の対応するサンプルに加え得る。
[0181]フィルタユニット1460は、CUのコーディングブロックに関連付けられたブロッキングアーティファクトを低減するためにデブロッキングオペレーションを実行し得る。ビデオデコーダ30は、CUのコーディングブロックを復号ピクチャバッファ1462に記憶し得る。復号ピクチャバッファ1462は、後続の動き補償、イントラ予測、および、図1のディスプレイデバイス32のようなディスプレイデバイス上での提示のために、参照ピクチャを提供し得る。たとえば、ビデオデコーダ30は、復号ピクチャバッファ1462中のブロックに基づいて、他のCUのPUについてイントラ予測またはインター予測オペレーションを実行し得る。
[0182]図15は、本開示で説明される1つまたは複数の技法を実装し得るビデオデータの例となるコーディングを例示するフロー図である。説明されているように、図15の例となる技法は、ビデオエンコーダ20またはビデオデコーダ30によって実行され得る。図15の別の例では、ビデオコーダは、補間フィルタの1つまたは複数の特性を使用して、参照バッファに記憶されるべき参照サンプルの数を決定する(1502)。たとえば、ビデオエンコーダ20および/またはビデオデコーダ30は、フィルタタップの数Nによって拡張参照サンプルの数を決定し得る。いくつかの例では、ビデオエンコーダ20および/またはビデオデコーダ30は、イントラ予測方向によって拡張参照サンプルの数を決定し得る。
[0183]ビデオコーダは、参照バッファ中の該数の参照サンプルに対応する複数の値を生成する(1504)。たとえば、ビデオエンコーダ20および/またはビデオデコーダ30は、隣接する再構築された画像サンプルによって参照サンプルバッファの拡張された一部を満たし得る。いくつかの例では、ビデオエンコーダ20および/またはビデオデコーダ30は、参照サンプルバッファ中の利用可能な参照サンプル値から参照サンプルバッファの拡張された一部を埋める。いくつかの例では、ビデオエンコーダ20および/またはビデオデコーダ30は、値を導くために、左の列の1つまたはいくつかの参照サンプルを使用し得る。
[0184]ビデオコーダは、補間フィルタおよび複数の値を使用して、イントラ予測のための予測情報を生成する(1506)。たとえば、ビデオエンコーダ20および/またはビデオデコーダ30は、2*(M+N)+1からしきい値分だけ拡張された少なくとも1つの値を使用して、予想ブロックを生成し得る。
[0185]ビデオコーダは、予測情報に基づいて、ビデオデータのブロックを再構築する(1508)。たとえば、ビデオデコーダ30は、予測的情報を使用して、ビデオデータのブロックのためのコーディングユニットについての予測ブロックを決定する。この例では、ビデオデコーダ30は、コーディングユニットについての残差データを決定する。この例では、ビデオデコーダ30は、残差データの対応するサンプルとコーディングユニットについての予測ブロックとを合計することによって、コーディングユニットのコーディングブロックを再構築する。
[0186]いくつかの例では、ビデオエンコーダ20は、予測的情報を使用して、ビデオデータのブロックのためのコーディングユニットについての予測ブロックを決定する。この例では、ビデオエンコーダ20は、コーディングユニットについての残差データを、該残差データがコーディングユニットのコーディングブロックとコーディングユニットについての予測ブロックとの間の差分を示すように、決定する。この例では、ビデオエンコーダ20は、コーディングユニットについての残差データを1つまたは複数の変換ブロックに分割する。この例では、ビデオエンコーダ20は、1つまたは複数の係数ブロックを生成するために1つまたは複数の変換ブロックに変換を適用する。この例では、ビデオエンコーダ20は、1つまたは複数の係数ブロックにおける係数を量子化する。
[0187]図16は、本開示で説明される1つまたは複数の技法を実装し得るビデオデータの例となるコーディングを例示するフロー図である。説明されているように、図16の例となる技法は、ビデオエンコーダ20またはビデオデコーダ30によって実行され得る。図16の例では、ビデオコーダは、隣接する再構築された参照サンプルから1セットの参照サンプルを決定する(1602)。ビデオコーダは、ビデオデータのブロックに基づいて、マルチプル補間フィルタから1つの補間フィルタを選択する(1604)。たとえば、ビデオエンコーダ20および/またはビデオデコーダ30は、必要とされる参照サンプルが参照サンプルバッファ外にあるかどうか、たとえば利用可能でないかどうかに基づいて、補間フィルタタップ長を選択する。ビデオコーダは、補間フィルタおよび1セットの参照サンプルを使用して、1セットの参照サンプルの予測情報を生成する(1606)。
[0188]ビデオエンコーダ20および/またはビデオデコーダ30は、ビデオデータのブロックの複数の部分の各部分について、必要とされる参照サンプルが参照サンプルバッファ外にあるかどうか、たとえば利用可能でないかどうかに基づいて、マルチプル補間フィルタから1つの補間フィルタを選択し得る。たとえば、ビデオエンコーダ20および/またはビデオデコーダ30は、ビデオデータのブロックの第1のサンプルについて、第1のフィルタを第1のサンプルに適用するために必要とされる参照サンプルが参照サンプルバッファにあるとき、第1の補間フィルタ(たとえば、六次補間フィルタ)を選択し得る。この例では、ビデオエンコーダ20および/またはビデオデコーダ30は、ビデオデータのブロックの第2のサンプルについて、第1のフィルタ(たとえば、六次補間フィルタ)を第2のサンプルに適用するために必要とされる参照サンプルが参照サンプルバッファ外にある、たとえば利用で可能でないとき、および第2のフィルタを第2のサンプルに適用するために必要とされる参照サンプルが参照サンプルバッファ中にあるとき、第2の補間フィルタ(たとえば、キュービック補間フィルタ)を選択し得る。
[0189]ビデオコーダは、予測情報に基づいて、ビデオデータのブロックを再構築する(1608)。たとえば、ビデオデコーダ30は、予測的情報を使用して、ビデオデータのブロックのためのコーディングユニットについての予測ブロックを決定する。この例では、ビデオデコーダ30は、コーディングユニットについての残差データを決定する。この例では、ビデオデコーダ30は、残差データの対応するサンプルとコーディングユニットについての予測ブロックとを合計することによって、コーディングユニットのコーディングブロックを再構築する。
[0190]いくつかの例では、ビデオエンコーダ20は、予測的情報を使用して、ビデオデータのブロックのためのコーディングユニットについての予測ブロックを決定する。この例では、ビデオエンコーダ20は、コーディングユニットについての残差データを、該残差データがコーディングユニットのコーディングブロックとコーディングユニットについての予測ブロックとの間の差分を示すように、決定する。この例では、ビデオエンコーダ20は、コーディングユニットについての残差データを1つまたは複数の変換ブロックに分割する。この例では、ビデオエンコーダ20は、1つまたは複数の係数ブロックを生成するために1つまたは複数の変換ブロックに変換を適用する。この例では、ビデオエンコーダ20は、1つまたは複数の係数ブロックにおける係数を量子化する。
[0191]図17は、本開示で説明される1つまたは複数の技法を実装し得るビデオデータの例となるコーディングを例示するフロー図である。説明されているように、図17の例となる技法は、ビデオエンコーダ20またはビデオデコーダ30によって実行され得る。図17の例では、ビデオコーダは、隣接する再構築された参照サンプルから1セットの参照サンプルを決定する(1702)。ビデオコーダは、第1の補間フィルタを使用して、隣接する再構築された参照サンプルからの1セットの参照サンプルに基づいて、拡張参照サンプルについての値を導く(1704)。たとえば、ビデオエンコーダ20および/またはビデオデコーダ30は、各拡張参照サンプルの値を導くために、隣接する参照サンプルにNタップ補間フィルタを適用する。ビデオコーダは、第2の補間フィルタおよび拡張参照サンプルについての値を使用して、予測情報を生成する(1706)。
[0192]ビデオコーダは、予測情報に基づいて、ビデオデータのブロックを再構築する(1708)。たとえば、ビデオデコーダ30は、予測的情報を使用して、ビデオデータのブロックのためのコーディングユニットについての予測ブロックを決定する。この例では、ビデオデコーダ30は、コーディングユニットについての残差データを決定する。この例では、ビデオデコーダ30は、残差データの対応するサンプルとコーディングユニットについての予測ブロックとを合計することによって、コーディングユニットのコーディングブロックを再構築する。
[0193]いくつかの例では、ビデオエンコーダ20は、予測的情報を使用して、ビデオデータのブロックのためのコーディングユニットについての予測ブロックを決定する。この例では、ビデオエンコーダ20は、コーディングユニットについての残差データを、該残差データがコーディングユニットのコーディングブロックとコーディングユニットについての予測ブロックとの間の差分を示すように、決定する。この例では、ビデオエンコーダ20は、コーディングユニットについての残差データを1つまたは複数の変換ブロックに分割する。この例では、ビデオエンコーダ20は、1つまたは複数の係数ブロックを生成するために1つまたは複数の変換ブロックに変換を適用する。この例では、ビデオエンコーダ20は、1つまたは複数の係数ブロックにおける係数を量子化する。
[0194]本開示のある特定の態様は、例示の目的でHEVC規格の拡張版に関連して説明されてきた。しかしながら、本開示で説明されている技法は、まだ開発されていない他の規格の、または他の所有権を有するビデオコーディングプロセスを含む、他のビデオコーディングプロセスに有益であり得る。
[0195]本開示で説明される場合、ビデオコーダは、ビデオエンコーダまたはビデオデコーダを指し得る。同様に、ビデオコーディングユニットは、ビデオエンコーダまたはビデオデコーダを指し得る。同様に、ビデオコーディングは、適用可能な場合、ビデオ符号化またはビデオ復号を指し得る。本開示では、「〜に基づいて」という表現は、〜のみに基づいて、〜に少なくとも部分的に基づいて、または〜に何らかの形で基づいて、を示し得る。本開示は、1つまたは複数のサンプルブロックおよび該1つまたは複数のサンプルブロックのサンプルをコーディングするために使用されるシンタックス構造を指すために「ビデオユニット」または「ビデオブロック」または「ブロック」という用語を使用し得る。例となるタイプのビデオユニットは、CTU、CU、PU、変換ユニット(TU)、マクロブロック、マクロブロック区分等を含み得る。いくつかのコンテキストでは、PUについての議論は、マクロブロックまたはマクロブロック区分についての議論と置き換えられ得る。例となるタイプのビデオブロックは、コーディングツリーブロック、コーディングブロック、およびビデオデータの他のタイプのブロックを含み得る。
[0196]例に依存して、本明細書で説明されている技法のうちの任意のものの特定の動作またはイベントが、異なるシーケンスで実行され得るか、加えられ得るか、マージされ得るか、または完全に除外され得る(たとえば、全ての説明されている動作またはイベントが技法の実施のために必要であるわけではない)ことは認識されるものとする。さらにある特定の例では、動作またはイベントが、たとえば、マルチスレッド処理、割り込み処理、またはマルチプルプロセッサを通して、シーケンシャルではなく同時に実行され得る。
[0197]1つまたは複数の例では、説明されている機能は、ハードウェア、ソフトウェア、ファームウェア、またはこれらのあらゆる組合せで実装され得る。ソフトウェアで実装される場合、機能は、コンピュータ可読媒体上で1つまたは複数の命令またはコードとして記憶または送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、たとえば、通信プロトコルにしたがって、コンピュータプログラムの1つの場所から別の場所への転送を容易にするあらゆる媒体を含む通信媒体、またはデータ記憶媒体のような有体の媒体に対応するコンピュータ可読記憶媒体を含み得る。このように、コンピュータ可読媒体は一般に、(1)非一時的である有体のコンピュータ可読記憶媒体、または(2)信号または搬送波のような通信媒体に対応し得る。データ記憶媒体は、本開示で説明されている技法の実装のための命令、コード、および/またはデータ構造を抽出するために、1つまたは複数のコンピュータ、または1つまたは複数のプロセッサによってアクセスされ得るあらゆる利用可能な媒体であり得る。コンピュータプログラム製品は、コンピュータ可読媒体を含み得る。
[0198]限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM(登録商標)、CD−ROMまたは他の光学ディスクストレージ、磁気ディスクストレージまたは他の磁気記憶デバイス、フラッシュメモリ、あるいは命令またはデータ構造の形態で望ましいプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得るあらゆる他の媒体を備え得る。また、何れの接続手段も、厳密にはコンピュータ可読媒体と称される。たとえば、命令が、ウェブサイトから、サーバから、あるいは同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者線(DSL)、または赤外線や、無線や、マイクロ波のようなワイヤレス技術を使用する他の遠隔ソースから送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、または赤外線や、無線や、マイクロ波のようなワイヤレス技術は、媒体の定義に含まれる。しかしながら、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続手段、搬送波、信号、または他の一時的媒体を含まないが、代わりに非一時的で有体の記憶媒体を対象としていることは理解されるべきである。ディスク(disk)およびディスク(disc)は、本明細書で使用される場合、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光学ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)、およびブルーレイディスク(disc)を含み、ここで、ディスク(disk)は大抵、磁気的にデータを再生する一方で、ディスク(disc)は、レーザーを用いて光学的にデータを再生する。上記の組合せもまた、コンピュータ可読媒体の範囲内に含まれるべきである。
[0199]命令は、1つまたは複数のデジタルシグナルプロセッサ(DSP)、汎用マイクロプロセッサ、特定用途集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)、または他の同等の集積またはディスクリート論理回路のような1つまたは複数のプロセッサを含む、固定関数および/またはプログラマブル処理回路によって実行され得る。したがって、本明細書で使用される場合、「プロセッサ」という用語は、前述の構造、または本明細書で説明されている技法の実装に適したあらゆる他の構造のうちの何れも指し得る。加えていくつかの態様では、本明細書で説明されている機能性は、符号化および復号のために構成された専用ハードウェアモジュールおよび/またはソフトウェアモジュール内で提供され得るか、あるいは組み合わせられたコデックに組み込まれ得る。また、技法は、1つまたは複数の回路または論理要素において十分に実装され得るであろう。
[0200]本開示の技法は、ワイヤレスハンドセット、集積回路(IC)またはICのセット(たとえばチップセット)を含む、幅広い種類のデバイスまたは装置において実装され得る。様々なコンポーネント、モジュール、またはユニットが、開示されている技法を実行するように構成されたデバイスの機能的な態様を強調するために本開示で説明されているが、必ずしも異なるハードウェアユニットによる実現を必要としない。むしろ、上で説明されたように、様々なユニットがコデックハードウェアユニットにおいて組み合わせられ得るか、あるいは適したソフトウェアおよび/またはファームウェアと連携した、上で説明されたような1つまたは複数のプロセッサを含む、対話型(interoperative)ハードウェアユニットの集合によって提供され得る。
[0201]様々な例が説明されてきた。これらおよび他の例は、次の請求項の範囲内にある。

Claims (30)

  1. ビデオデータのブロックを処理する方法であって、
    補間フィルタの1つまたは複数の特性を使用して、参照バッファに記憶されるべき参照サンプルの数を決定することと、
    前記参照バッファ中の前記数の参照サンプルに対応する複数の値を生成することと、
    前記補間フィルタおよび前記複数の値を使用して、イントラ予測のための予測情報を生成することと、
    前記予測情報に基づいて、前記ビデオデータのブロックを再構築することと、
    を備える、方法。
  2. 前記ビデオデータのブロックは、ビデオデータのMxNブロックであり、前記参照サンプルの数を決定することは、
    前記参照サンプルの数が2*(M+N)+1よりも大きいと決定すること、
    を備える、請求項1に記載の方法。
  3. 前記参照サンプルの数を決定することは、
    2*(M+N)+1からしきい値分だけ前記参照サンプルの数を、前記ビデオデータのブロックの行と列との両方に沿って拡張すること、
    を備える、請求項2に記載の方法。
  4. 前記補間フィルタの前記1つまたは複数の特性は、前記補間フィルタにおけるフィルタタップの数を備え、前記参照サンプルの数を決定することは、
    前記補間フィルタにおける前記フィルタタップの数に基づいて、前記しきい値を決定すること、
    を備える、請求項3に記載の方法。
  5. 前記補間フィルタの前記1つまたは複数の特性は、前記補間フィルタのイントラ予測方向を備え、前記参照サンプルの数を決定することは、
    前記補間フィルタの前記イントラ予測方向を使用して、前記しきい値を決定すること、
    を備える、請求項3に記載の方法。
  6. 2*(M+N)+1から前記しきい値分だけ拡張された少なくとも1つの値を使用して、線形モデルの線形パラメータを導くことと、
    前記線形パラメータに基づいて、前記ビデオデータのブロックについてのクロマサンプルを推測することと、
    をさらに備える、請求項3に記載の方法。
  7. 2*(M+N)+1から前記しきい値分だけ拡張された少なくとも1つの値を使用して、予想ブロックを生成すること、
    をさらに備える、請求項3に記載の方法。
  8. 2*(M+N)+1から前記しきい値分だけ拡張された少なくとも1つの値を使用して、予測されたDC値を予測すること、
    をさらに備える、請求項3に記載の方法。
  9. 前記参照バッファについての前記複数の値を生成することは、隣接する再構築された画像サンプルを使用して、前記複数の値のうちの1つまたは複数の値を満たすことを備える、請求項1に記載の方法。
  10. 前記参照バッファについての前記複数の値を生成することは、前記参照バッファにおける利用可能な参照サンプル値から前記複数の値のうちの1つまたは複数の値を埋めることを備える、請求項1に記載の方法。
  11. 前記参照バッファについての前記複数の値を生成することは、前記参照バッファにおける利用可能な参照サンプル値から前記複数の値のうちの1つまたは複数の値を導くことを備える、請求項1に記載の方法。
  12. 前記ビデオデータのブロックを再構築することは、
    前記予測情報を使用して、前記ビデオデータのブロックのためのコーディングユニットについての予測ブロックを決定することと、
    前記コーディングユニットについての残差データを決定することと、
    前記残差データの対応するサンプルと前記コーディングユニットについての前記予測ブロックとを合計することによって、前記コーディングユニットのコーディングブロックを再構築することと、
    を備える、請求項1に記載の方法。
  13. 前記ビデオデータのブロックを再構築することは、
    前記予測情報を使用して、前記ビデオデータのブロックのためのコーディングユニットについての予測ブロックを決定することと、
    前記コーディングユニットについての前記残差データを、残差データが前記コーディングユニットのコーディングブロックと前記コーディングユニットについての前記予測ブロックとの間の差分を示すように、決定することと、
    前記コーディングユニットについての前記残差データを1つまたは複数の変換ブロックに分割することと、
    1つまたは複数の係数ブロックを生成するために、前記1つまたは複数の変換ブロックに変換を適用することと、
    前記1つまたは複数の係数ブロックにおける係数を量子化することと、
    を備える、請求項1に記載の方法。
  14. ビデオデータのブロックを処理するための装置であって、
    前記ビデオデータを記憶するように構成されたメモリと、
    補間フィルタの1つまたは複数の特性を使用して、参照バッファに記憶されるべき参照サンプルの数を決定することと、
    前記参照バッファ中の前記数の参照サンプルに対応する複数の値を生成することと、
    前記補間フィルタおよび前記複数の値を使用して、イントラ予測のための予測情報を生成することと、
    前記予測情報に基づいて、前記ビデオデータのブロックを再構築することと、
    を行うように構成された1つまたは複数のプロセッサと
    を備える、装置。
  15. 前記ビデオデータのブロックは、ビデオデータのMxNブロックであり、前記参照サンプルの数を決定するために、前記1つまたは複数のプロセッサは、
    前記参照サンプルの数が2*(M+N)+1よりも大きいと決定するように構成される、請求項14に記載の装置。
  16. 前記参照サンプルの数を決定するために、前記1つまたは複数のプロセッサは、
    2*(M+N)+1からしきい値分だけ前記参照サンプルの数を、前記ビデオデータのブロックの行と列との両方に沿って拡張するように構成される、請求項15に記載の装置。
  17. 前記補間フィルタの前記1つまたは複数の特性は、前記補間フィルタにおけるフィルタタップの数を備え、前記参照サンプルの数を決定するために、前記1つまたは複数のプロセッサは、
    前記補間フィルタにおける前記フィルタタップの数に基づいて、前記しきい値を決定するように構成される、請求項16に記載の装置。
  18. 前記補間フィルタの前記1つまたは複数の特性は、前記補間フィルタのイントラ予測方向を備え、前記参照サンプルの数を決定するために、前記1つまたは複数のプロセッサは、
    前記補間フィルタの前記イントラ予測方向を使用して、前記しきい値を決定するように構成される、請求項16に記載の装置。
  19. 前記1つまたは複数のプロセッサは、
    2*(M+N)+1から前記しきい値分だけ拡張された少なくとも1つの値を使用して、線形モデルの線形パラメータを導くことと、
    前記線形パラメータに基づいて、前記ビデオデータのブロックについてのクロマサンプルを推測することと、
    を行うように構成される、請求項16に記載の装置。
  20. 前記1つまたは複数のプロセッサは、
    2*(M+N)+1から前記しきい値分だけ拡張された少なくとも1つの値を使用して、予想ブロックを生成するように構成される、請求項16に記載の装置。
  21. 前記1つまたは複数のプロセッサは、
    2*(M+N)+1から前記しきい値分だけ拡張された少なくとも1つの値を使用して、予測されたDC値を予測するように構成される、請求項16に記載の装置。
  22. 前記参照バッファについての前記複数の値を生成するために、前記1つまたは複数のプロセッサは、隣接する再構築された画像サンプルを使用して、前記複数の値のうちの1つまたは複数の値を満たすように構成される、請求項14に記載の装置。
  23. 前記参照バッファについての前記複数の値を生成するために、前記1つまたは複数のプロセッサは、前記参照バッファにおける利用可能な参照サンプル値から前記複数の値のうちの1つまたは複数の値を埋めるように構成される、請求項14に記載の装置。
  24. 前記参照バッファについての前記複数の値を生成するために、前記1つまたは複数のプロセッサは、前記参照バッファにおける利用可能な参照サンプル値から前記複数の値のうちの1つまたは複数の値を導くように構成される、請求項14に記載の装置。
  25. 前記ビデオデータのブロックを再構築するために、前記1つまたは複数のプロセッサは、
    前記予測情報を使用して、前記ビデオデータのブロックのためのコーディングユニットについての予測ブロックを決定することと、
    前記コーディングユニットについての残差データを決定することと、
    前記残差データの対応するサンプルと前記コーディングユニットについての前記予測ブロックとを合計することによって、前記コーディングユニットのコーディングブロックを再構築することと、
    を行うように構成される、請求項14に記載の装置。
  26. 前記ビデオデータのブロックを再構築するために、前記1つまたは複数のプロセッサは、
    前記予測情報を使用して、前記ビデオデータのブロックのためのコーディングユニットについての予測ブロックを決定することと、
    前記コーディングユニットについての残差データを、前記残差データが前記コーディングユニットのコーディングブロックと前記コーディングユニットについての前記予測ブロックとの間の差分を示すように、決定することと、
    前記コーディングユニットについての前記残差データを1つまたは複数の変換ブロックに分割することと、
    1つまたは複数の係数ブロックを生成するために、前記1つまたは複数の変換ブロックに変換を適用することと、
    前記1つまたは複数の係数ブロックにおける係数を量子化することと、
    を行うように構成される、請求項14に記載の装置。
  27. 前記装置は、カメラ、コンピュータ、モバイルデバイス、ブロードキャストリシーバデバイス、またはセットトップボックスのうちの1つまたは複数を備える、請求項14に記載の装置。
  28. 前記装置は、
    集積回路、
    マイクロプロセッサ、または
    ワイヤレス通信デバイス、
    のうちの少なくとも1つを備える、請求項14に記載の装置。
  29. 命令を記憶する非一時的コンピュータ可読記憶媒体であって、前記命令は、実行されたと、1つまたは複数のプロセッサに、
    補間フィルタの1つまたは複数の特性を使用して、参照バッファに記憶されるべき参照サンプルの数を決定することと、
    前記参照バッファ中の前記数の参照サンプルに対応する複数の値を生成することと、
    前記補間フィルタおよび前記複数の値を使用して、イントラ予測のための予測情報を生成することと、
    前記予測情報に基づいて、前記ビデオデータのブロックを再構築することと、
    を行わせる、非一時的コンピュータ可読記憶媒体。
  30. ビデオデータを処理するための装置であって、
    補間フィルタの1つまたは複数の特性を使用して、参照バッファに記憶されるべき参照サンプルの数を決定するための手段と、
    前記参照バッファ中の前記数の参照サンプルに対応する複数の値を生成するための手段と、
    前記補間フィルタおよび前記複数の値を使用して、イントラ予測のための予測情報を生成するための手段と、
    前記予測情報に基づいて、前記ビデオデータのブロックを再構築するための手段と、
    を備える、装置。
JP2019516387A 2016-09-28 2017-09-20 ビデオコーディングにおけるイントラ予測のための改善された補間フィルタ Active JP7241680B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201662401067P 2016-09-28 2016-09-28
US62/401,067 2016-09-28
US15/709,270 2017-09-19
US15/709,270 US10382781B2 (en) 2016-09-28 2017-09-19 Interpolation filters for intra prediction in video coding
PCT/US2017/052485 WO2018063886A1 (en) 2016-09-28 2017-09-20 Improved interpolation filters for intra prediction in video coding

Publications (3)

Publication Number Publication Date
JP2019530351A true JP2019530351A (ja) 2019-10-17
JP2019530351A5 JP2019530351A5 (ja) 2020-04-30
JP7241680B2 JP7241680B2 (ja) 2023-03-17

Family

ID=61687006

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019516387A Active JP7241680B2 (ja) 2016-09-28 2017-09-20 ビデオコーディングにおけるイントラ予測のための改善された補間フィルタ

Country Status (7)

Country Link
US (1) US10382781B2 (ja)
EP (1) EP3520401A1 (ja)
JP (1) JP7241680B2 (ja)
KR (1) KR102155974B1 (ja)
CN (1) CN109716765B (ja)
BR (1) BR112019006196A2 (ja)
WO (1) WO2018063886A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7410149B2 (ja) 2018-08-24 2024-01-09 中興通訊股▲ふん▼有限公司 視覚メディアエンコードおよびデコードのための平面予測モード

Families Citing this family (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10841593B2 (en) 2015-06-18 2020-11-17 Qualcomm Incorporated Intra prediction and intra mode coding
US11463689B2 (en) 2015-06-18 2022-10-04 Qualcomm Incorporated Intra prediction and intra mode coding
WO2018116925A1 (ja) * 2016-12-21 2018-06-28 シャープ株式会社 イントラ予測画像生成装置、画像復号装置、および画像符号化装置
US10638126B2 (en) * 2017-05-05 2020-04-28 Qualcomm Incorporated Intra reference filter for video coding
HUE056668T2 (hu) 2017-05-31 2022-02-28 Lg Electronics Inc Eljárás és eszköz kép dekódolásának elvégzésére intra-predikció alapján képkódoló rendszerben
MX2020003656A (es) * 2017-10-02 2020-10-12 Arris Entpr Llc Sistema y método para reducir artefactos de bloque y proporcionar eficiencia de codificación mejorada.
CN115442596A (zh) * 2017-10-20 2022-12-06 韩国电子通信研究院 图像编码、解码方法以及存储比特流的记录介质
GB2567862A (en) * 2017-10-27 2019-05-01 Sony Corp Image data encoding and decoding
KR102357142B1 (ko) * 2017-11-07 2022-02-08 후아웨이 테크놀러지 컴퍼니 리미티드 비디오 코딩을 위한 인터 예측 장치 및 방법을 위한 보간 필터
CN111615828B (zh) * 2017-11-29 2023-01-10 韩国电子通信研究院 采用环内滤波的图像编码/解码方法和装置
US11611757B2 (en) * 2018-04-02 2023-03-21 Qualcomm Incorproated Position dependent intra prediction combination extended with angular modes
CN112136325B (zh) * 2018-05-14 2023-12-05 英迪股份有限公司 图像解码方法/装置、图像编码方法/装置以及存储比特流的记录介质
US11025946B2 (en) * 2018-06-14 2021-06-01 Tencent America LLC Method and apparatus for video coding
AU2019292266B2 (en) 2018-06-25 2023-02-09 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Intra-frame prediction method and device
CN113243106B (zh) * 2018-06-29 2022-11-01 华为技术有限公司 一种用于视频图像的预测块的帧内预测的设备和方法
TWI764012B (zh) * 2018-06-29 2022-05-11 弗勞恩霍夫爾協會 擴充參考圖像內預測技術
US11277644B2 (en) * 2018-07-02 2022-03-15 Qualcomm Incorporated Combining mode dependent intra smoothing (MDIS) with intra interpolation filter switching
KR102483942B1 (ko) 2018-07-16 2022-12-30 후아웨이 테크놀러지 컴퍼니 리미티드 비디오 인코더, 비디오 디코더 및 대응하는 인코딩 및 디코딩 방법
US10834393B2 (en) * 2018-09-10 2020-11-10 Tencent America LLC Intra interpolation filter for multi-line intra prediction
WO2020055208A1 (ko) 2018-09-14 2020-03-19 엘지전자 주식회사 인트라 예측을 수행하는 영상 예측 방법 및 장치
EP4270958A3 (en) * 2018-09-16 2024-02-28 Huawei Technologies Co., Ltd. Method and apparatus for prediction
CN112740276A (zh) * 2018-09-23 2021-04-30 华为技术有限公司 用于帧内参考样本插值滤波器切换的方法和装置
JP7250917B2 (ja) * 2018-10-06 2023-04-03 ホアウェイ・テクノロジーズ・カンパニー・リミテッド 補間フィルタを使用するイントラ予測のための方法および装置
US11303885B2 (en) 2018-10-25 2022-04-12 Qualcomm Incorporated Wide-angle intra prediction smoothing and interpolation
US20220038681A1 (en) * 2018-11-05 2022-02-03 Interdigital Vc Holdings, Inc. Video encoding or decoding using block extension for overlapped block motion compensation
CN112997492B (zh) 2018-11-06 2024-02-20 北京字节跳动网络技术有限公司 帧内预测的简化参数推导
US11438583B2 (en) * 2018-11-27 2022-09-06 Tencent America LLC Reference sample filter selection in intra prediction
CN113170122B (zh) 2018-12-01 2023-06-27 北京字节跳动网络技术有限公司 帧内预测的参数推导
WO2020114445A1 (en) 2018-12-07 2020-06-11 Beijing Bytedance Network Technology Co., Ltd. Context-based intra prediction
US11095921B2 (en) * 2018-12-18 2021-08-17 Tencent America LLC Method and apparatus for video encoding or decoding
WO2020168508A1 (zh) * 2019-02-21 2020-08-27 富士通株式会社 参考像素的自适应滤波方法及装置、电子设备
CN113439437B (zh) * 2019-02-22 2023-11-24 北京字节跳动网络技术有限公司 用于帧内预测的邻近样点选择
KR102472756B1 (ko) 2019-02-24 2022-12-01 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 인트라 예측을 위한 파라미터 유도
MX2021011016A (es) * 2019-03-11 2021-11-12 Huawei Tech Co Ltd Un codificador, un decodificador y métodos correspondientes.
WO2020185018A1 (ko) * 2019-03-12 2020-09-17 엘지전자 주식회사 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법
CN117880494A (zh) 2019-03-24 2024-04-12 北京字节跳动网络技术有限公司 用于帧内预测的参数推导的条件
CA3135322A1 (en) * 2019-03-28 2020-10-01 Huawei Technologies Co., Ltd. Method and apparatus for intra smoothing
KR102600746B1 (ko) 2019-04-01 2023-11-09 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 히스토리 기반 움직임 벡터 예측을 위한 보간 필터 사용
JP2022530240A (ja) * 2019-05-02 2022-06-28 北京字節跳動網絡技術有限公司 複数の参照フィルタを使用するイントラビデオコーディング
CN113812152B (zh) * 2019-05-14 2023-10-03 北京字节跳动网络技术有限公司 帧内视频编解码的滤波器选择
WO2020256483A1 (ko) * 2019-06-21 2020-12-24 삼성전자 주식회사 영상 부호화 방법 및 장치, 영상 복호화 방법 및 장치
GB2585039A (en) * 2019-06-25 2020-12-30 Sony Corp Image data encoding and decoding
WO2020259263A1 (en) * 2019-06-25 2020-12-30 Zhejiang Dahua Technology Co., Ltd. Systems and methods for image coding
KR20220036937A (ko) * 2019-07-25 2022-03-23 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 인트라 블록 복사 가상 버퍼에 대한 매핑 제한
CN114208186B (zh) 2019-07-25 2023-12-22 北京字节跳动网络技术有限公司 帧内块复制虚拟缓冲区的尺寸限制
BR112022002480A2 (pt) 2019-08-20 2022-04-26 Beijing Bytedance Network Tech Co Ltd Método para processamento de vídeo, aparelho em um sistema de vídeo, e, produto de programa de computador armazenado em uma mídia legível por computador não transitória
CN117579825A (zh) 2019-09-05 2024-02-20 北京字节跳动网络技术有限公司 帧内块复制模式下块矢量的范围约束
CN117615155A (zh) 2019-09-19 2024-02-27 北京字节跳动网络技术有限公司 视频编解码中的参考样点位置推导
CN114503580A (zh) 2019-09-23 2022-05-13 北京字节跳动网络技术有限公司 基于虚拟管线数据单元设置帧内块复制虚拟缓冲区
CN115362674A (zh) 2020-03-18 2022-11-18 抖音视界有限公司 帧内块复制缓冲区和调色板预测值更新
US11611770B2 (en) * 2020-10-14 2023-03-21 Tencent America LLC Method and apparatus for video coding

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013098957A (ja) * 2011-11-07 2013-05-20 Nippon Telegr & Teleph Corp <Ntt> 画像符号化方法,画像復号方法,画像符号化装置,画像復号装置およびそれらのプログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8831086B2 (en) * 2008-04-10 2014-09-09 Qualcomm Incorporated Prediction techniques for interpolation in video coding
JP2011050001A (ja) * 2009-08-28 2011-03-10 Sony Corp 画像処理装置および方法
US20120183041A1 (en) 2011-01-14 2012-07-19 Sony Corporation Interpolation filter for intra prediction of hevc
JP2013090120A (ja) 2011-10-18 2013-05-13 Nippon Telegr & Teleph Corp <Ntt> 画像符号化方法,画像復号方法,画像符号化装置,画像復号装置およびそれらのプログラム
CN106464863B (zh) * 2014-04-01 2019-07-12 联发科技股份有限公司 视频编码中自适应内插滤波的方法
CN108353164B (zh) * 2015-09-11 2022-06-24 株式会社Kt 用于处理视频信号的方法和设备

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013098957A (ja) * 2011-11-07 2013-05-20 Nippon Telegr & Teleph Corp <Ntt> 画像符号化方法,画像復号方法,画像符号化装置,画像復号装置およびそれらのプログラム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JIANLE CHEN ET AL., ALGORITHM DESCRIPTION OF JOINT EXPLORATION TEST MODEL 3, JPN6020030120, 6 July 2016 (2016-07-06), pages 8 - 9, ISSN: 0004640547 *
SHOHEI MATSUO ET AL.: "Improved intra angular prediction by DCT-based interpolation filter", 2012 PROCEEDINGS OF THE 20TH EUROPEAN SIGNAL PROCESSING CONFERENCE (EUSIPCO), JPN6020030119, 27 August 2012 (2012-08-27), ISSN: 0004640546 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7410149B2 (ja) 2018-08-24 2024-01-09 中興通訊股▲ふん▼有限公司 視覚メディアエンコードおよびデコードのための平面予測モード

Also Published As

Publication number Publication date
BR112019006196A2 (pt) 2019-06-18
WO2018063886A1 (en) 2018-04-05
KR20190049755A (ko) 2019-05-09
CN109716765A (zh) 2019-05-03
KR102155974B1 (ko) 2020-09-14
US10382781B2 (en) 2019-08-13
EP3520401A1 (en) 2019-08-07
WO2018063886A9 (en) 2019-03-21
US20180091825A1 (en) 2018-03-29
CN109716765B (zh) 2021-05-25
JP7241680B2 (ja) 2023-03-17

Similar Documents

Publication Publication Date Title
JP7241680B2 (ja) ビデオコーディングにおけるイントラ予測のための改善された補間フィルタ
US11431968B2 (en) Variable number of intra modes for video coding
KR102574560B1 (ko) 비디오 코딩을 위해 액세스하는 샘플을 갖는 선형 모델 예측 모드
KR102048169B1 (ko) 비디오 코딩에서 비-스퀘어 변환 유닛들에 대한 변환 계수들의 수정
JP7295879B2 (ja) 角度モードで拡張された位置依存型イントラ予測組合せ
AU2017207452B2 (en) Multi-type-tree framework for video coding
CN108781296B (zh) 为视频译码中非方形块确定预测参数
US20180199062A1 (en) Intra prediction techniques for video coding
CN107810636B (zh) 使用混合递归滤波器的视频帧内预测方法、装置和可读媒体
KR20210030352A (ko) 광각 인트라 예측을 이용한 포지션 종속 인트라 예측 조합
KR20160135226A (ko) 비디오 코딩에서 인트라 블록 카피를 위한 검색 영역 결정

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200318

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200318

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20200318

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200806

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20200807

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200825

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210224

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210513

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20210608

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211008

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

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20211008

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20211018

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

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20211019

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

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20211119

C211 Notice of termination of reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C211

Effective date: 20211124

C22 Notice of designation (change) of administrative judge

Free format text: JAPANESE INTERMEDIATE CODE: C22

Effective date: 20220510

C13 Notice of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: C13

Effective date: 20220823

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221114

C302 Record of communication

Free format text: JAPANESE INTERMEDIATE CODE: C302

Effective date: 20221206

C13 Notice of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: C13

Effective date: 20221213

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221220

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20230104

C23 Notice of termination of proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C23

Effective date: 20230117

C03 Trial/appeal decision taken

Free format text: JAPANESE INTERMEDIATE CODE: C03

Effective date: 20230214

C30A Notification sent

Free format text: JAPANESE INTERMEDIATE CODE: C3012

Effective date: 20230214

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230307

R150 Certificate of patent or registration of utility model

Ref document number: 7241680

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150