(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-06
(45)【発行日】2024-09-17
(54)【発明の名称】ビデオ符号化用のループ内フィルタ
(51)【国際特許分類】
H04N 19/117 20140101AFI20240909BHJP
H04N 19/176 20140101ALI20240909BHJP
H04N 19/70 20140101ALI20240909BHJP
H04N 19/82 20140101ALI20240909BHJP
【FI】
H04N19/117
H04N19/176
H04N19/70
H04N19/82
【外国語出願】
(21)【出願番号】P 2023133434
(22)【出願日】2023-08-18
(62)【分割の表示】P 2022539344の分割
【原出願日】2020-12-28
【審査請求日】2023-08-18
(32)【優先日】2019-12-28
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】521024075
【氏名又は名称】ベイジン・ダジア・インターネット・インフォメーション・テクノロジー・カンパニー,リミテッド
(74)【代理人】
【識別番号】100118902
【氏名又は名称】山本 修
(74)【代理人】
【識別番号】100106208
【氏名又は名称】宮前 徹
(74)【代理人】
【識別番号】100196508
【氏名又は名称】松尾 淳一
(74)【代理人】
【識別番号】100138759
【氏名又は名称】大房 直樹
(74)【代理人】
【識別番号】100201743
【氏名又は名称】井上 和真
(72)【発明者】
【氏名】チェン,イー-ウエン
(72)【発明者】
【氏名】シウ,シヤオユー
(72)【発明者】
【氏名】マー,ツン-チュアン
(72)【発明者】
【氏名】ジュ,ホーン-ジェン
(72)【発明者】
【氏名】ワーン,シアーンリン
(72)【発明者】
【氏名】ユ,ビーン
【審査官】山▲崎▼ 雄介
(56)【参考文献】
【文献】国際公開第2020/255847(WO,A1)
【文献】国際公開第2020/236878(WO,A1)
【文献】CHEN, Yi-Wen et al.,AHG16: Simplified Clip Range for NL-ALF,JVET-Q0495 (version 1),ITU,2020年01月01日,pp.1-5,[online],[retrieved on 2023-07-19],Retrieved from the Internet: <URL: https://jvet-experts.org/doc_end_user/documents/17_Brussels/wg11/JVET-Q0495-v1.zip>,JVET-Q0495.docx
【文献】CHEN, Jianle et al.,Algorithm Description for Versatile Video Coding and Test Model 7 (VTM 7),JVET-P2002 (version 1),ITU,2019年11月10日,pp.66-70,[online],Retrieved from the Internet: <URL: https://jvet-experts.org/doc_end_user/documents/16_Geneva/wg11/JVET-P2002-v1.zip>,JVET-P2002-v1.docx
【文献】DU, Yixin et al.,Non-CE5: On Non-Linear ALF Clipping Values,JVET-P0505 (version 5),ITU,2019年10月08日,pp.1-7,[online],Retrieved from the Internet: <URL: https://jvet-experts.org/doc_end_user/documents/16_Geneva/wg11/JVET-P0505-v5.zip>,JVET-P0505-v5-clean.docx
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00-19/98
IEEE Xplore
(57)【特許請求の範囲】
【請求項1】
ビデオデータを符号化するための方法であって、
ビデオフレームの複数の画像サンプルを
決定するステップであって、各画像サンプルが、輝度サンプル及び色差サンプルのうちの1つに対応する、ステップと、
前記複数の画像サンプルの各々について、フィルタ長L及びフィルタ係数のセットを有する適応型ループフィルタを使用して
、それぞれの画像サンプルをフィルタリングするステップであって、さらに、
前記それぞれの画像サンプル
の関連する画像サンプルのセットを識別するステップと、
前記関連する画像サンプルのセットの各々について、それぞれのクリップ値インデックス及び対応するフィルタ係数を識別するステップと、
前記それぞれのクリップ値インデックスに基づき、前記関連する画像サンプルのセットの各々と前記それぞれの画像サンプルとの
間の差をクリップするステップであって、前記それぞれのクリップ値インデックスが
それぞれのクリッピング境界値に対応し、
前記それぞれのクリッピング境界値が、それぞれのクリッピング番号を指数とする2のべき乗に等し
く、
各それぞれのクリッピング値インデックスに対応するすべてのクリッピング番号が整数である、ステップと、
前記
対応するフィルタ係数に基づき、前記関連する画像サンプルのセットの各々
と前記それぞれの画像サンプルとの間の当該クリップされた差を用いて、前記それぞれの画像サンプルを修正するステップとを含む、ステップ
と
を備える、方法。
【請求項2】
請求項1に記載の方法であって、
各画像サンプルについて、前記それぞれのクリップ値インデックスに基づいて前記差をクリップする
当該ステップが、
前記それぞれの画像サンプルの
内部ビット深度インデックス(IBDI
)を決定するステップと、
前記関連する画像サンプルのセットの各々について、所定のクリッピング境界値テーブルに従って、前記IBDIと前記それぞれのクリップ値インデックスとに基づき、前記それぞれのクリッピング境界値を決定するステップと、
前記それぞれのクリッピング境界値に基づき、前記関連する画像サンプルのセットの各々と前記それぞれの画像サンプルとの
間の差をクリップするステップと
を含む、方法。
【請求項3】
請求項2に記載の方法であって
、前記所定のクリッピング境界値テーブルを
決定するステップをさらに備える、方法。
【請求項4】
請求項2に記載の方法であって、ローカルメモリから前記所定のクリッピング境界値テーブルを抽出するステップをさらに備える、方法。
【請求項5】
請求項4に記載の方法であって、
前記ローカルメモリが複数のクリッピング境界値テーブルを記憶し、
前記複数のクリッピング境界値テーブルから前記所定のクリッピング境界値テーブルを選択するステップをさらに備える、方法。
【請求項6】
請求項2に記載の方法であって、
前記所定のクリッピング境界値テーブルが以下の3つのテーブルのうちの1つとして表される、方法。
【表1】
【請求項7】
請求項1に記載の方法であって、
各画像サンプルについて、前記それぞれのクリップ値インデックスに基づいて前記差をクリップする
当該ステップが、
前記それぞれの画像サンプルの
内部ビット深度インデックス(IBDI
)を決定するステップと、
前記関連する画像サンプルのセットの各々について、所定のクリッピング境界値の式に従って、前記IBDIと前記それぞれのクリップ値インデックスとに基づき、前記それぞれのクリッピング境界値を決定するステップと、
前記それぞれのクリッピング境界値に基づき、前記関連する画像サンプルのセットの各々と前記それぞれの画像サンプルとの
間の当該差をクリップするステップと
を含み、
前記所定のクリッピング境界値の式が、以下の式のうちの1つとして表され、CVIは前記それぞれのクリップ値インデックスであり、CBVは、前記関連する画像サンプルのセットの各々に関する前記それぞれのクリッピング境界値である、方法。
【数1】
【請求項8】
請求項
1に記載の方法であって、前記関連する画像サンプルのセットの各々について、前記クリップ値インデックスが0、1、2、及び3から選択され、前記それぞれのクリッピング番号iが少なくとも前記クリッピング値インデックスの関数である、方法。
【請求項9】
請求項
1に記載の方法であって、前記関連する画像サンプルのセットの各々について、前記それぞれの関連する画像サンプルの当該クリップされた差が、範囲[-2
i,2
i-1]に入
り、iは、前記それぞれのクリッピング番号である、方法。
【請求項10】
請求項
1に記載の方法であって、前記関連する画像サンプルのセットの各々について、前記それぞれの関連する画像サンプル
と前記それぞれの画像サンプルとの
間の当該クリップされた差が、[-2
i+1,2
i]、[-2
i,2
i]、及び[-2
i+1,2
i-1]を含む複数の範囲のうちの1つに入
り、iは、前記それぞれのクリッピング番号である、方法。
【請求項11】
請求項
1に記載の方法であって、前記関連する画像サンプルのセットの各々と前記それぞれの画像サンプルとの前記差をクリップするステップが、論理積演算及び/又は論理和演算のみを含む、方法。
【請求項12】
請求項
1に記載の方法であって、
前記複数の画像サンプルが、輝度サンプルのサブセット及び色差サンプルのサブセットを含み、
前記輝度サンプルのサブセットが、各輝度サンプルの第1のフィルタ長L
1における関連する輝度サンプルのセットの各々の、それぞれのクリップ値インデックスを定義するクリップ値インデックスの第1のセットに対応し、
前記色差サンプルのサブセットが、各色差サンプルの第2のフィルタ長L
2における関連する色差サンプルのセットの各々の、それぞれのクリップ値インデックスを定義するクリップ値インデックスの第2のセットに対応し、前記クリップ値インデックスの第2のセットが、前記クリップ値インデックスの第1のセットとは異なるものである、
方法。
【請求項13】
請求項12に記載の方法であって、前記クリップ値インデックスの第1及び第2のセットの各セットが、クリッピング境界値のテーブル又は式に対応し、クリップ値インデックスのそれぞれのセットにおける各クリップ値インデックスを内部ビット深度増加量(IBDI)に基づいて前記それぞれのクリッピング境界値に関連づけるものである、方法。
【請求項14】
請求項13に記載の方法であって、クリッピング境界値のテーブル又は式の所定の番号から、前記クリッピング境界値のテーブル又は式を選択するステップをさらに備える、方法。
【請求項15】
請求項12に記載の方法であって、前記クリップ値インデックスの第1及び第2のセットが、第1のクリッピング境界値のテーブル/式と、前記第1のクリッピング境界値のテーブル/式とは異なる第2の値のテーブル/式とに対応する、方法。
【請求項16】
1つ又は複数のプロセッサと、
命令が記憶されたメモリとを備え、
前記1つ又は複数のプロセッサが、前記命令を実行することによって請求項1から15のいずれか一項に記載
の方法を実行
してビデオビットストリームを生成する、電子デバイス。
【請求項17】
命令が記憶された非一時型のコンピュータ読み取り可能な媒体であって、1つ又は複数のプロセッサが、前記命令を実行することによって請求項1から15のいずれか一項に記載
の方法を実行
してビデオビットストリームを生成し当該生成されたビデオビットストリームを前記非一時型のコンピュータ読み取り可能な媒体に格納する、非一時型のコンピュータ読み取り可能な媒体。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願の相互参照)
本出願は、2019年12月28日付け出願の「In-Loop Filters for Video Coding(ビデオ符号化のためのループ内フィルタ)」を名称とする米国仮出願第62/954,485号の優先権の主張を伴うものであり、その全体が参照によって組み込まれる。
【0002】
本出願は、一般にビデオデータの符号化及び圧縮に関し、詳細には、ビデオデータのビットストリームにおける画像フレームの色差成分及び輝度成分の符号化を改善する方法及びシステムに関する。
【背景技術】
【0003】
デジタルビデオは、デジタルテレビジョン、ラップトップ型又はデスクトップ型のコンピュータ、タブレット型コンピュータ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤー、ビデオゲームコンソール、スマートフォン、ビデオ遠隔会議デバイス、ビデオストリーミングデバイスなどの種々の電子デバイスによってサポートされる。そのような電子デバイスは、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4 Part 10 AVC(Advanced Video Coding)、HEVC(高能率映像符号化:High Efficiency Video Coding)、VVC(Versatile Video Coding)規格などで定められたビデオ圧縮伸張規格を実装することにより、デジタルビデオデータの送信、受信、符号化、復号、及び/又は格納を行う。一般にビデオ圧縮は、空間(イントラフレーム)予測及び/又は時間(インターフレーム)予測を実行してビデオデータに固有の冗長を低減するか又は除去することを含む。ブロックベースのビデオコーディングについては、ビデオフレームが1つ以上のスライスへと分割され、各スライスが符号化ツリーユニット(CTU:coding tree unit)とも称され得る複数のビデオブロックを有する。各CTUが1つの符号化ユニット(CU:coding unit)を含有し得、又は所定の最小のCUサイズに達するまで、より小さいCUへと再帰的に分割され得る。各CU(リーフCUとも命名されている)が1つ以上の変換ユニット(TU:transform unit)を含有しており、1つ以上の予測ユニット(PU:prediction unit)も含む。各CUは、イントラモード、インターモード又はIBCモードのいずれかで符号化され得る。ビデオフレームにおけるイントラ符号化(I)スライス内のビデオブロックは、同じビデオフレームの内部の近隣のブロックにおける参照サンプルに対して空間予測を使用して符号化される。ビデオフレームにおけるインター符号化(P又はB)スライス内のビデオブロックは、同じビデオフレーム内の近隣のブロックにおける参照サンプルに対する空間予測を使用したものでもよいし、あるいは以前の他の参照ビデオフレーム及び/又は未来の他の参照ビデオフレームにおける参照サンプルに対する時間予測を使用したものでもよい。
【0004】
たとえば近隣のブロックといった以前に符号化された参照ブロックに基づく空間予測又は時間予測は、符号化される現在のビデオブロックに関する予測ブロックをもたらす。参照ブロックを見いだすプロセスは、ブロックマッチングアルゴリズムによって達成され得る。符号化される現在のブロックと予測ブロックとの間の画素差分を表す残差データは、残差ブロック又は予測誤差と称される。インター符号化ブロックは、予測ブロックを形成する参照フレームにおける参照ブロックを指し示す動きベクトル及び残差ブロックに従って符号化される。動きベクトルを決定するプロセスは一般的には動き予測と称される。イントラ符号化ブロックは、イントラ予測モード及び残差ブロックに従って符号化される。さらなる圧縮のために、残差ブロックは、画素領域から、たとえば周波数領域といった変換領域に変換されて残差変換係数をもたらし、次いで量子化され得る。最初に2次元配列に配置される量子化変換係数は、変換係数の1次元ベクトルを生成するために走査されてよく、次いで、さらにいっそうの圧縮を達成するためにビデオビットストリームへとエントロピー符号化される。
【0005】
次いで、符号化ビデオビットストリームは、デジタルビデオ機能を伴う別の電子デバイスによってアクセスされるコンピュータ読み取り可能な記録媒体(たとえばフラッシュメモリ)に保存されるか、又は有線もしくは無線で電子デバイスに直接伝送される。次いで、電子デバイスは、たとえば符号化ビデオビットストリームを解析してビットストリームからシンタックス要素を取得し、ビットストリームから取得されたシンタックス要素に少なくとも部分的に基づいて、符号化ビデオビットストリームからのデジタルビデオデータを元のフォーマットに再構成することによってビデオ伸張(前述のビデオ圧縮とは逆の処理)を実行し、再構成されたデジタルビデオデータを電子デバイスのディスプレイに描画する。
【0006】
再構成されたビデオブロックは、ループ内フィルタリングを適用されてから参照ピクチャに格納され、他のビデオブロックを符号化するために使用される。再構成されたビデオブロックの色差成分及び輝度成分には、それぞれ適応型ループフィルタ(ALF)が適用される。復号ビデオデータの画質を保ったまま、これらの色成分を符号化したり復号したりするための、より効率的な符号化機構を得るのが有益であろう。
【発明の概要】
【0007】
本出願は、ビデオデータの符号化及び復号に関する実装形態を記述するものであり、より詳細には、適応型ループフィルタリングにおけるビット深度ベースのクリッピング操作を適用することに係る、ビデオフレームの色差サンプル及び輝度サンプルの符号化における方法及びシステムの改善に関する。ビデオフレームのそれぞれの輝度サンプル又は色差サンプルは、それぞれの適応型ループフィルタ(ALF)方式に従って、複数の周囲の輝度サンプル又は色差サンプルを基にフィルタリングされる。輝度サンプル又は色差サンプルの各々について、関連する画像サンプルとそれぞれのサンプルとの差が、それぞれのクリッピング番号を指数とする2のべき乗に等しいクリップ境界値によって定義されたそれぞれのダイナミックレンジにクリップされる。
【0008】
一態様では、ビデオデータを符号化する方法は、ビットストリームからビデオフレームの複数の画像サンプルを取得するステップを含む。各画像サンプルは輝度サンプル及び色差サンプルのうちの1つに対応する。この方法は、フィルタ長及びフィルタ係数のセットを有する適応型ループ内フィルタを使用して、複数の画像サンプルの各々についてそれぞれの画像サンプルをフィルタリングするステップをさらに含む。それぞれの画像サンプルをフィルタリングするステップは、それぞれの画像サンプルのフィルタ長において、関連する画像サンプルのセットを識別するステップと、関連する画像サンプルのセットの各々について、それぞれのクリップ値インデックス及び対応するフィルタ係数を識別するステップと、それぞれのクリップ値インデックスに基づき、関連する画像サンプルのセットの各々とそれぞれの画像サンプルとの差をクリップするステップと、それぞれのフィルタ係数に基づき、関連する画像サンプルのセットの各々のクリップされた差を用いて、それぞれの画像サンプルを修正するステップとをさらに含む。各画像サンプルについて、それぞれのクリップ値インデックスは、それぞれのクリッピング番号を指数とする2のべき乗に等しいそれぞれのクリッピング境界値に対応し、それぞれのクリッピング番号は整数である。この方法は、複数の修正画像サンプルを使用してビデオフレームを再構成するステップをさらに含む。
【0009】
いくつかの実施形態では、関連する画像サンプルの各々とそれぞれの画像サンプルとの差は、各画像サンプルについて、それぞれの画像サンプルの内部ビット深度インデックス(IBDI:internal bit depth index)を決定するステップと、関連する画像サンプルのセットの各々について、所定のクリッピング境界値の式又はテーブルに従って、IBDIとそれぞれのクリップ値インデックスとに基づき、それぞれのクリッピング境界値を決定するステップと、それぞれのクリッピング境界値に基づき、関連する画像サンプルのセットの各々とそれぞれの画像サンプルとの差をクリップするステップとによって、クリップされる。さらに、いくつかの実施形態では、所定のクリッピング境界値の式又はテーブルは、ビデオ符号化器とビデオ復号器との両方に局所的に格納される。各画像サンプルについて、関連する画像サンプルのクリップ値インデックスはビットストリームで取得される。
【0010】
別の態様では、電子デバイスは、1つ又は複数のプロセッサ及び命令を記憶するためのメモリを含み、1つ又は複数のプロセッサが命令を実行することにより、上記で説明された、ビデオデータを符号化する方法を実行する。
【0011】
もう一つの態様では、非一時型のコンピュータ読み取り可能な記憶媒体に命令が記憶されており、電子デバイスの1つ又は複数のプロセッサが、命令を実行することにより、上記で説明された、ビデオデータを符号化する方法を実行する。
【0012】
実施形態のさらなる理解を提供するために含まれる添付図面は、本明細書に組み込まれて本明細書の一部を構成し、記述された実施形態を図示して、記述とともに基本原理を説明するのに役立つものである。類似の参照数字は相当する部分を指す。
【図面の簡単な説明】
【0013】
【
図1】いくつかの実施形態による例示的ビデオ符号化及び復号のシステムを示すブロック図である。
【
図2】いくつかの実施形態による例示的ビデオ符号化器を示すブロック図である。
【
図3】いくつかの実施形態による例示的ビデオ復号器を示すブロック図である。
【
図4A】いくつかの実施形態に従って、画像フレームを、種々のサイズ及び形状のビデオブロックへと再帰的に分割する概略図である。
【
図4B】いくつかの実施形態に従って、画像フレームを、種々のサイズ及び形状のビデオブロックへと再帰的に分割する概略図である。
【
図4C】いくつかの実施形態に従って、画像フレームを、種々のサイズ及び形状のビデオブロックへと再帰的に分割する概略図である。
【
図4D】いくつかの実施形態に従って、画像フレームを、種々のサイズ及び形状のビデオブロックへと再帰的に分割する概略図である。
【
図4E】いくつかの実施形態に従って、画像フレームを、種々のサイズ及び形状のビデオブロックへと再帰的に分割する概略図である。
【
図5】いくつかの実施形態に従って、ビットストリームの中のビデオフレームの一部を示す図である。
【
図6】いくつかの実施形態に従って、ビデオ符号化器又はビデオ復号器において適用されるループ内フィルタのブロック図である。
【
図7A】いくつかの実施形態に従って、輝度ALFによって、関連する輝度サンプルのセットを基に輝度サンプルが処理される、例示のALFのフィルタリング方式の図である。
【
図7B】いくつかの実施形態に従って、色差ALFによって、関連する色差サンプルのセットを基に色差サンプルが処理される、例示のALFのフィルタリング方式の図である。
【
図8】いくつかの実施形態に従って、画像フレームのブロックにおける各画像サンプルの関連する画像サンプルのセットに関するクリップ値インデックスを有する例示のALFのフィルタリング方式の図である。
【
図9A】いくつかの実施形態に係る所定のクリッピング境界値の例示のテーブルである。
【
図9B】いくつかの実施形態に係る所定のクリッピング境界値の例示のテーブルである。
【
図9C】いくつかの実施形態に係る所定のクリッピング境界値の例示のテーブルである。
【
図10】いくつかの実施形態に従って、画像サンプルのためにクリップされる値のデータ構造の図である。
【
図11】いくつかの実施形態に従って、ビデオ符号化方法の流れ図である。
【発明を実施するための形態】
【0014】
次に具体的な実施形態が詳細に参照され、それらの実施例が添付図面に示されている。以下の詳細な説明では、本明細書で提示される主題の理解を支援するために多くの非限定的かつ具体的な詳細が明らかにされる。しかし、特許請求の範囲から逸脱することなく様々な代替形態が使用され得、これらの具体的な詳細なしで主題が実施され得ることが、当業者には明らかであろう。たとえば、本明細書で提示された主題が、デジタルビデオ機能を伴う多くのタイプの電子デバイスにおいて実施され得ることは、当業者には明らかであろう。
【0015】
図1は、いくつかの実施形態に従って、ビデオブロックの符号化と復号を並行して行うための例示的システム10を示すブロック図である。
図1に示されるように、システム10は、後に送信先(デスティネーション)装置14によって復号されるビデオデータを生成して符号化する情報源(ソース)装置12を含む。情報源装置12及び送信先装置14は、デスクトップコンピュータ又はラップトップコンピュータ、タブレット型コンピュータ、スマートフォン、セットトップボックス、デジタルテレビジョン、カメラ、表示装置、デジタルメディアプレーヤー、ビデオゲームコンソール、ビデオストリーミングデバイス等を含む種々の電子デバイスのうち任意のものを備え得る。いくつかの実施形態では、情報源装置12及び送信先装置14は無線通信機能を装備している。
【0016】
いくつかの実施形態では、送信先装置14は、リンク16を通じて、復号される符号化ビデオデータを受け取ってよい。リンク16は、情報源装置12から送信先装置14に、符号化ビデオデータを転送することができる任意のタイプの通信媒体又は通信デバイスを備え得る。一例では、リンク16は、情報源装置12が送信先装置14に、符号化ビデオデータをリアルタイムで直接伝送することを可能にするための通信媒体を備え得る。符号化ビデオデータは、無線通信プロトコルなどの通信規格に従って変調されて送信先装置14に伝送され得る。通信媒体は、無線周波数(RF)スペクトルあるいは1つ以上の物理的伝送路などの任意の無線又は有線の通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、広域ネットワーク、又はインターネットなどのグローバネットワークなどのパケットベースのネットワークの一部を形成し得る。通信媒体は、ルータ、スイッチ、基地局、又は情報源装置12から送信先装置14への通信を容易にするのに役立つその他の機器を含み得る。
【0017】
いくつかの他の実施形態では、符号化ビデオデータは、出力インタフェース22から記録装置32に伝送され得る。続いて、記録装置32における符号化ビデオデータは、送信先装置14によって入力インタフェース28を介してアクセスされ得る。記録装置32は、ハードディスク(hard drive)、ブルーレイディスク、DVD、CD-ROM、フラッシュメモリ、揮発性もしくは不揮発性のメモリ、又は符号化ビデオデータを記憶するのに適する他のデジタル記録媒体など、種々の、分散された又は局所的にアクセスされるデータ記録媒体のうち任意のものを含み得る。さらなる例では、記録装置32は、情報源装置12によって生成された、符号化ビデオデータを保持し得る、ファイルサーバ又は別の中間記録装置に相当してよい。送信先装置14は、記録装置32からストリーミング又はダウンロードすることによって、記憶されたビデオデータにアクセスし得る。ファイルサーバは、符号化ビデオデータを記憶したり、符号化ビデオデータを送信先装置14に伝送したりすることができる任意のタイプのコンピュータでよい。例示的ファイルサーバは、(たとえばウェブサイト用の)ウェブサーバ、FTPサーバ、ネットワーク接続ストレージ(NAS:network attached storage)装置、又はローカルディスクドライブを含む。送信先装置14は、ファイルサーバに記憶されている符号化ビデオデータにアクセスするのに適する無線チャンネル(たとえばWi-Fi接続)、有線接続(たとえば、DSLやケーブルモデムなど)、又は両方の組合せを含む任意の標準的なデータ接続を通じて、符号化ビデオデータにアクセスし得る。記録装置32からの符号化ビデオデータの伝送は、ストリーミング伝送、ダウンロード伝送、又は両方の組合せでよい。
【0018】
図1に示されるように、情報源装置12は、ビデオ源18、ビデオ符号化器20及び出力インタフェース22を含む。ビデオ源18は、たとえばビデオカメラ、以前に取り込まれたビデオを含むビデオアーカイブ、ビデオコンテンツプロバイダからビデオを受け取るためのビデオ供給インタフェース、及び/又はソースビデオとしてのコンピュータグラフィックスデータを生成するためのコンピュータグラフィックスシステム、あるいはそのようなソースの組合せといった、ビデオキャプチャーデバイスなどのソースを含み得る。一例として、ビデオ源18がセキュリティ監視システムのビデオカメラである場合には、情報源装置12及び送信先装置14がカメラフォン又はビデオフォンを形成し得る。しかしながら、本出願に記述された実施形態は、一般にビデオコーディングに適用可能であり得、無線及び/又は有線の用途に適用され得る。
【0019】
取り込まれた、前もって取り込まれた、又はコンピュータで生成されたビデオは、ビデオ符号化器20によって符号化され得る。符号化ビデオデータは、情報源装置12の出力インタフェース22を通って送信先装置14に直接伝送され得る。符号化ビデオデータは、復号及び/又は再生のために、送信先装置14又は他のデバイスによる後のアクセス用に、記録装置32にも(又は代わりに)記憶されてよい。出力インタフェース22はモデム及び/又は送信器をさらに含み得る。
【0020】
送信先装置14は、入力インタフェース28、ビデオ復号器30、及び表示装置34を含む。入力インタフェース28は受信器及び/又はモデムを含み得、リンク16を通じて、符号化ビデオデータを受け取る。リンク16を通じて通信されるか又は記録装置32で供給される符号化ビデオデータは、ビデオ復号器30によってビデオデータを復号する際に使用される、ビデオ符号化器20によって生成された種々のシンタックス要素を含み得る。そのようなシンタックス要素が含まれ得る符号化ビデオデータは、通信媒体で伝送され、記録媒体又はファイルサーバに記憶される。
【0021】
いくつかの実施形態では、送信先装置14が含み得る表示装置34は、統合表示装置と、送信先装置14と通信するように構成された外部表示装置とであり得る。表示装置34は、復号ビデオデータをユーザーに表示し、液晶ディスプレイ(LCD:liquid crystal display)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、又は別タイプの表示装置などの種々の表示装置のうち任意のものを備え得る。
【0022】
ビデオ符号化器20及びビデオ復号器30は、VVC,HEVC,MPEG-4 Part 10 AVC(Advanced Video Coding),又はこれらの規格の拡張版などの、知的所有物又は業界規格に基づいて動作し得る。本出願は特定のビデオ符号化/復号の規格に限定されず、他のビデオ符号化/復号の規格に適用可能であり得ることを理解されたい。一般に、情報源装置12のビデオ符号化器20は、これらの現在の規格又は将来の規格のいずれかに従ってビデオデータを符号化するように構成され得ることが企図されている。同様に、送信先装置14のビデオ復号器30は、これらの現在の規格又は将来の規格のいずれかに従ってビデオデータを復号するように構成され得ることも一般に企図されている。
【0023】
ビデオ符号化器20及びビデオ復号器30は、それぞれ、1つ以上のマイクロプロセッサ、デジタル信号プロセッサ(DSP:digital signal processor)、特定用途向け集積回路(ASIC:application specific integrated circuit)、フィールドプログラマブルゲートアレイ(FPGA:field programmable gate array)、ディスクリートロジック(個別論理回路:discrete logic)、ソフトウェア、ハードウェア、ファームウェア又はこれらの任意の組合せなどの種々の適切な符号化回路構成のうち任意のものとして実施され得る。電子デバイスは、部分的にソフトウェアで実施されるときには、ソフトウェアに関する命令を適切な非一時型コンピュータ読み取り可能な媒体に記憶し、1つ以上のプロセッサを使用してハードウェアで命令を実行して、本開示で開示されたビデオ符号化/復号の処理を実行し得る。ビデオ符号化器20及びビデオ復号器30の各々が1つ以上の符号化器又は復号器に含まれ得、そのいずれかが、それぞれのデバイスにおいて組み合わされた符号化器/復号器(CODEC)の一部として一体化され得る。
【0024】
図2は、本出願に記述されたいくつかの実施形態による例示的ビデオ符号化器20を示すブロック図である。ビデオ符号化器20は、ビデオフレームの内部のビデオブロックのイントラ予測符号化及びインター予測符号化を実行し得る。イントラ予測符号化は、所与のビデオフレーム又はピクチャの内部のビデオデータにおける空間冗長性を低減するか又は除去するために空間予測に頼る。インター予測符号化は、ビデオシーケンスの隣接したビデオフレーム又はピクチャの内部のビデオデータにおける時間冗長性を低減するか又は除去するために時間予測に頼る。
【0025】
図2に示されるように、ビデオ符号化器20は、ビデオデータメモリ40、予測処理部41、復号ピクチャバッファ(DPB:decoded picture buffer)64、加算器50、変換処理部52、量子化部54、及びエントロピー符号化部56を含む。予測処理部41は、動き推定部42、動き補償部44、分割部45、イントラ予測処理部46、及びイントラブロックコピー(BC)部48をさらに含む。いくつかの実施形態では、ビデオ符号化器20は、ビデオブロックを再構成するための逆量子化部58、逆変換処理部60、及び加算器62も含む。ループ内フィルタ66は、加算器62とDPB64との間に配置されてよく、ブロック境界をフィルタリングして、再構成されたビデオから濃淡むらアーチファクトを除去するためのデブロッキングフィルタを含む。ループ内フィルタ66は、サンプル適応型オフセット(SAO)と、加算器62の出力を、DPB64に入力されて他のビデオブロックを符号化するために使用される前にフィルタリングするための適応型ループ内フィルタ(ALF)とをさらに含む。ビデオ符号化器20は、変更不能な又はプログラマブルなハードウェアユニットという形態を取ってよく、あるいは、1つ以上の変更不能な又はプログラマブルなハードウェアユニットのうちに分割されてもよい。
【0026】
ビデオデータメモリ40は、ビデオ符号化器20の構成要素によって符号化されるビデオデータを記憶し得る。ビデオデータメモリ40のビデオデータは、たとえばビデオ源18から取得され得る。DPB64は、ビデオ符号化器20によって(たとえばイントラ予測符号化モード又はインター予測符号化モードで)ビデオデータを符号化するのに用いる参照ビデオデータを記録するバッファである。ビデオデータメモリ40及びDPB64は、様々な記録装置のうち任意のものによっても形成され得る。様々な例において、ビデオデータメモリ40は、ビデオ符号化器20の他の構成要素とともにオンチップでよく、又はそれらの構成要素に対してオフチップでもよい。
【0027】
図2に示されるように、予測処理部41の内部の分割部45は、受け取ったビデオデータをビデオブロックへと分割する。この分割は、ビデオデータに関連づけられた四分木構造などの所定の分割構造に従って、ビデオフレームを、スライス、タイル、又は他のより大きい符号化ユニット(CU)へと分割することを含み得る。ビデオフレームは複数のビデオブロック(又は、タイルと称されるビデオブロックのセット)に分割され得る。予測処理部41は、誤り結果(たとえば符号化レートや歪みのレベル)に基づいて現在のビデオブロック用に、複数のイントラ予測符号化モードのうちの1つ、又は複数のインター予測符号化モードのうちの1つなど、複数の可能な予測符号化モードのうちの1つを選択してよい。予測処理部41は、結果として生じるイントラ予測符号化ブロック又はインター予測符号化ブロックを、加算器50に供給して残差ブロックを生成してよく、また、この符号化ブロックを加算器62に供給して、後に参照フレームの一部として使用するために再構成してよい。予測処理部41は、また、エントロピー符号化部56に、動きベクトル、イントラモードインジケータ、分割情報、及び他のそのようなシンタックス情報などのシンタックス要素を供給する。
【0028】
現在のビデオブロック用に適切なイントラ予測符号化モードを選択するために、予測処理部41の内部のイントラ予測処理部46は、符号化される現在のブロックと同じフレームにおける1つ以上の近隣のブロックに関する現在のビデオブロックのイントラ予測符号化を実行して、空間予測をもたらし得る。予測処理部41の内部の動き推定部42及び動き補償部44は、1つ以上の参照フレームにおける1つ以上の予測ブロックに関連して現在のビデオブロックのインター予測符号化を実行して時間予測をもたらす。ビデオ符号化器20は、たとえばビデオデータの各ブロック用に適切な符号化モードを選択するために、複数の符号化パスを実行してよい。
【0029】
いくつかの実施形態では、動き推定部42は、一連のビデオフレームの内部の所定のパターンに従って、参照ビデオフレームの内部の予測ブロックに対する現在のビデオフレームの内部のビデオブロックの予測ユニット(PU)の変位を示す動きベクトルを生成することにより、現在のビデオフレームに関するインター予測モードを決定する。動き推定部42によって実行される動き予測は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、たとえば、現在のフレーム内(又は他の符号化ユニット内)の符号化される現在のブロックに関連して、参照フレーム内(又は他の符号化ユニット)内の予測ブロックに対する現在のビデオフレーム又はピクチャの内部のビデオブロックのPUの変位を示し得る。所定のパターンは、ビデオフレームを、シーケンスにおけるPフレーム又はBフレームとして指定し得る。イントラBC部48は、インター予測用の動き推定部42による動きベクトルの決定と同様のやり方で、イントラBC符号化用の、たとえばブロックベクトルといったベクトルを決定してよく、又は動き推定部42を利用してブロックベクトルを決定してもよい。
【0030】
予測ブロックは、画素差分の観点から、符号化対象となるビデオブロックのPUと密接に対応するものとみなされる参照フレームのブロックであり、差分絶対値和(SAD:sum of absolute difference)、差分二乗和(SSD:sum of square difference)、又は他の差分基準量によって決定され得る。いくつかの実施形態では、ビデオ符号化器20は、DPB64に記憶された参照フレームのサブ整数型画素位置の値を計算してよい。たとえば、ビデオ符号化器20は、参照フレームの1/4画素位置、1/8画素位置、又は他の分数画素位置の値を補間してよい。したがって、動き推定部42は、全体の画素位置及び分数画素位置に関する動き探索を実行して、分数画素精度を有する動きベクトルを出力し得る。
【0031】
動き推定部42は、インター予測符号化フレームのビデオブロックのPUに関して、第1の参照フレームリスト(リスト0)又は第2の参照フレームリスト(リスト1)から選択された参照フレームの予測ブロックの位置と当該PUの位置とを比較することにより動きベクトルを計算する。ここで、第1の参照フレームリスト又は第2の参照フレームリストはそれぞれDPB64に格納されている1つ以上の参照フレームを特定するものである。動き推定部42は、計算された動きベクトルを動き補償部44に送り、次いでエントロピー符号化部56に送る。
【0032】
動き補償部44によって実行される動き補償は、動き推定部42によって決定された動きベクトルに基づいて予測ブロックを取り込むこと又は生成することを包含し得る。動き補償部44は、現在のビデオブロックのPUに関する動きベクトルを受け取ると、動きベクトルが参照フレームリストのうちの1つにおいて指し示す予測ブロックを捜し出し、DPB64から予測ブロックを取り出して、予測ブロックを加算器50に転送する。次いで、加算器50は、符号化される現在のビデオブロックの画素値から動き補償部44によってもたらされた予測ブロックの画素値を差し引くことにより、画素差分値の残差ビデオブロックを形成する。残差ビデオブロックを形成する画素差分値は、輝度(luma)差分成分もしくは色差(chroma)差分成分、又はこれらの両方を含み得る。動き補償部44は、ビデオ復号器30によって、ビデオフレームのビデオブロックを復号する際に使用されるビデオフレームのビデオブロックに関連したシンタックス要素も生成し得る。シンタックス要素は、たとえば、予測ブロックを特定するために使用される動きベクトルを定義するシンタックス要素、予測モードを示す任意のフラグ、又は本明細書に記述されたその他のシンタックス情報を含み得る。なお、動き推定部42と動き補償部44はほとんど一体化され得るが、概念的な目的のために個別に示されている。
【0033】
いくつかの実施形態では、イントラBC部48は、動き推定部42及び動き補償部44に関して上記に記述されたのと同様のやり方でベクトルを生成して予測ブロックを取り込み得るが、予測ブロックは符号化される現在のブロックと同じフレームにあり、ベクトルは動きベクトルと対照的にブロックベクトルと称される。詳細には、イントラBC部48は、現在のブロックを符号化するためにイントラ予測モードを使用するように決定してよい。いくつかの例において、イントラBC部48は、たとえば個別の符号化パス中に、様々なイントラ予測モードを使用して現在のブロックを符号化し、レート-歪み解析によってそれらイントラ予測モードの性能を分析してよい。次に、イントラBC部48は、試験された様々なイントラ予測モードの中で、イントラモードインジケータを生成するのに使用する適切なイントラ予測モードを選択してよい。たとえば、イントラBC部48は、レート-歪み解析を使用して、試験された様々なイントラ予測モードに関するレート-歪み値を計算し、試験されたモードの中で最善のレート-歪み特性を有するイントラ予測モードを、使用するのに適切なイントラ予測モードとして選択してよい。レート-歪み解析は、一般に、符号化ブロックと、当該符号化ブロックを生成するために符号化される符号化前の元のブロックとの間の歪み(又は誤差)量とともに、これら符号化ブロックを生成するために使用されたビットレート(すなわち、多数のビット)を決定する。イントラBC部48は、様々な符号化ブロックについて歪みとレートとの比率を計算して、そのブロックに関する最善のレート-歪み値を示すイントラ予測モードを決定してよい。
【0034】
他の例では、イントラBC部48は、本明細書に記述された実施形態に従ってイントラBC予測のためのそのような機能を実行するために、動き推定部42及び動き補償部44を全体的又は部分的に使用してよい。どちらの場合にも、イントラブロックコピーについては、予測ブロックは、画素差分の観点から、符号化対象となるブロックと密接に対応するものとみなされるブロックでよく、差分絶対値和(SAD)、差分二乗和(SSD)、又は他の差分基準量によって決定され得る。予測ブロックの特定には、サブ整数型画素位置の値の計算が含まれ得る。
【0035】
予測ブロックがイントラ予測による同じフレームからのものであろうとインター予測による異なるフレームからのものであろうと、ビデオ符号化器20は、符号化される現在のビデオブロックの画素値から予測ブロックの画素値を差し引くことによって残差ビデオブロックを形成してよく、画素差分値を形成する。残差ビデオブロックを形成する画素差分値は、輝度差分成分と色差差分成分の両方を含み得る。
【0036】
イントラ予測処理部46は、前述のように、動き推定部42及び動き補償部44によって実行されるインター予測、又はイントラBC部48によって実行されるイントラブロックコピー予測の代替として、現在のビデオブロックをイントラ予測してよい。詳細には、イントラ予測処理部46は、現在のブロックを符号化するためにイントラ予測モードを使用するように決定してよい。そうするために、イントラ予測処理部46は、たとえば個別の符号化パス中に様々なイントラ予測モードを使用して現在のブロックを符号化してよく、イントラ予測処理部46(又はいくつかの例ではモード選択部)は、試験されたイントラ予測モードから、使用するべき適切なイントラ予測モードを選択してよい。イントラ予測処理部46は、そのブロック向けに選択されたイントラ予測モードを表す情報をエントロピー符号化部56に供給してよい。エントロピー符号化部56は、ビットストリームにおける選択されたイントラ予測モードを示す情報を符号化してよい。
【0037】
予測処理部41がインター予測又はイントラ予測のいずれかによって現在のビデオブロック用の予測ブロックを決定した後に、加算器50が、現在のビデオブロックから予測ブロックを差し引くことによって残差ビデオブロックを生成する。残差ブロックにおける残差ビデオデータは1つ以上の変換ユニット(TU)に含まれ得、変換処理部52に供給される。変換処理部52は、離散コサイン変換(DCT:discrete cosine transform)又は概念的に同様の変換などの変換を使用して残差ビデオデータを残差変換係数に変換する。
【0038】
変換処理部52は、結果として生じる変換係数を量子化部54に送ってよい。量子化部54は、変換係数を量子化してビットレートをさらに低下させる。量子化プロセスは、係数のうちのいくつか又はすべてに関連したビット深さも縮小し得る。量子化の程度は、量子化パラメータを調節することによって変更され得る。いくつかの例において、量子化部54は、次いで、量子化変換係数を含むマトリクスの走査を実行し得る。あるいはエントロピー符号化部56が走査を実行してもよい。
【0039】
量子化に続いて、エントロピー符号化部56は、たとえば、コンテキスト適応型可変長符号化(CAVLC:context adaptive variable length coding)、コンテキスト適応型2値算術符号化(CABAC:context adaptive binary arithmetic coding)、シンタックスベースコンテキスト適応型2値算術符号化(SBAC:syntax-based context-adaptive binary arithmetic coding)、確率区間区分エントロピー符号化(PIPE:probability interval partitioning entropy coding)、又は別のエントロピー符号化の技法もしくは技術を使用して、量子化変換係数をビデオビットストリームへとエントロピー符号化する。次いで、符号化ビットストリームは、ビデオ復号器30に伝送されるか、又は後にビデオ復号器30へ伝送するため、もしくはビデオ復号器30によって後に取り戻すために記録装置32に記録され得る。エントロピー符号化部56は、符号化される現在のビデオフレームに関する動きベクトル及び他のシンタックス要素もエントロピー符号化してよい。
【0040】
他のビデオブロックを予測するための参照ブロックを生成するために、画素領域における残差ビデオブロックを再構成するのに、逆量子化部58が逆量子化を適用し、逆変換処理部60が逆変換を適用する。前述のように、動き補償部44は、DPB64に記憶されたフレームの1つ以上の参照ブロックから、動き補償予測ブロックを生成し得る。動き補償部44はまた、予測ブロックに1つ以上の補間フィルタを適用して、動き予測に用いるサブ整数画素値を計算してよい。
【0041】
加算器62は、再構成された残差ブロックを、動き補償部44によって生成された動き補償予測ブロックに加えて、DPB64に記憶するための参照ブロックを生成する。次いで、参照ブロックは、イントラBC部48、動き推定部42及び動き補償部44によって、後続のビデオフレームにおける別のビデオブロックをインター予測するための予測ブロックとして使用され得る。
【0042】
図3は、本出願のいくつかの実施形態による例示的なビデオ復号器30を示すブロック図である。ビデオ復号器30は、ビデオデータメモリ79、エントロピー復号部80、予測処理部81、逆量子化部86、逆変換処理部88、加算器90、及びDPB 92を含む。予測処理部81は、動き補償部82、イントラ予測処理部84、及びイントラBC部85をさらに含む。ビデオ復号器30は、
図2に関連してビデオ符号化器20に関して記述された符号化プロセスとは全体的に逆の復号プロセスを実行し得る。たとえば、動き補償部82は、エントロピー復号部80から受け取られた動きベクトルに基づいて予測データを生成し得、一方、イントラ予測処理部84は、エントロピー復号部80から受け取られたイントラ予測モードインジケータに基づいて予測データを生成し得る。
【0043】
いくつかの例において、ビデオ復号器30のユニットには、本出願の実施形態を実行するようにタスクが課されることがある。また、いくつかの例では、本開示の実施形態は、ビデオ復号器30の1つ以上のユニットの間で分割されてもよい。たとえば、イントラBC部85は、本出願の実施形態を、単独で、又はビデオ復号器30の動き補償部82、イントラ予測処理部84、及びエントロピー復号部80などの他のユニットと組み合わせて実行し得る。いくつかの例では、ビデオ復号器30はイントラBC部85を含まなくてよく、イントラBC部85の機能性は、動き補償部82など、予測処理部81の他の構成要素によって実行され得る。
【0044】
ビデオデータメモリ79は、ビデオ復号器30の他の構成要素によって復号される符号化ビデオビットストリームなどのビデオデータを記憶し得る。ビデオデータメモリ79に記憶されたビデオデータは、記録装置32から、たとえばカメラなどのローカルなビデオ源から、ビデオデータの有線もしくは無線のネットワーク通信によって、又はたとえばフラッシュドライブもしくはハードディスクといった物理的データ記録媒体にアクセスすることによって取得され得る。ビデオデータメモリ79は、符号化ビデオビットストリームからの符号化ビデオデータを記憶する、符号化ピクチャバッファ(CPB:coded picture buffer)を含み得る。ビデオ復号器30の、復号ピクチャバッファ(DPB)92は、ビデオ復号器30によって(たとえばイントラ予測符号化モード又はインター予測符号化モードで)ビデオデータを符号化するのに用いる参照ビデオデータを記憶する。ビデオデータメモリ79及びDPB 92は、シンクロナスDRAM(SDRAM:Synchronous Dynamic Random Access Memory)、磁気抵抗型RAM(MRAM:Magneto-resistive RAM)、抵抗変化型RAM(RRAM)、又は他のタイプのメモリデバイスを含む動的ランダムアクセスメモリ(DRAM:Resistive RAM)などの種々のメモリデバイスのうち任意のものによって形成され得る。例示のために、ビデオデータメモリ79及びDPB 92は、
図3におけるビデオ復号器30の2つの別個の構成要素として表されている。しかし、ビデオデータメモリ79及びDPB92は、同一のメモリデバイス又は個別のメモリデバイスによってもたらされ得ることが当業者には明らかであろう。いくつかの例では、ビデオデータメモリ79は、ビデオ復号器30の他の構成要素とともにオンチップでよく、又はそれらの構成要素に対してオフチップでもよい。
【0045】
復号プロセス中に、ビデオ復号器30は、符号化ビデオフレーム及び関連するシンタックス要素のビデオブロックを表す符号化ビデオビットストリームを受け取る。ビデオ復号器30はビデオフレームレベル及び/又はビデオブロックレベルのシンタックス要素を受け取ってよい。ビデオ復号器30のエントロピー復号部80は、ビットストリームをエントロピー復号して、量子化係数、動きベクトル又はイントラ予測モードインジケータ、及び他のシンタックス要素を生成する。次いで、エントロピー復号部80は、動きベクトル及び他のシンタックス要素を予測処理部81に転送する。
【0046】
ビデオフレームが、イントラ予測符号化(I)フレームとして、又は他のタイプのフレームにおけるイントラ符号化予測ブロック向けに符号化されるとき、予測処理部81のイントラ予測処理部84は、信号伝達されたイントラ予測モード及び現在のフレームの以前に復号されたブロックからの参照データに基づいて、現在のビデオフレームのビデオブロックに関する予測データを生成し得る。
【0047】
ビデオフレームがインター予測符号化(すなわちB又はP)フレームとして符号化されるとき、予測処理部81の動き補償部82は、エントロピー復号部80から受け取られた動きベクトル及び他のシンタックス要素に基づいて現在のビデオフレームのビデオブロックに関する1つ以上の予測ブロックを生成する。予測ブロックの各々が、参照フレームリストのうちの1つの内部の参照フレームから生成され得る。ビデオ復号器30は、DPB92に記憶された参照フレームに基づくデフォルトの構成技術を使用して、参照フレームリスト、リスト0及びリスト1を構成し得る。
【0048】
いくつかの例では、本明細書に記述されたイントラBCモードに従ってビデオブロックが符号化されるとき、予測処理部81のイントラBC部85は、エントロピー復号部80から受け取られたブロックベクトル及び他のシンタックス要素に基づいて現在のビデオブロックに関する予測ブロックを生成する。予測ブロックは、ビデオ符号化器20によって定義された現在のビデオブロックと同一のピクチャの再構成された領域の内部にあり得る。
【0049】
動き補償部82及び/又はイントラBC部85は、動きベクトル及び他のシンタックス要素を解析することによって現在のビデオフレームのビデオブロックに関する予測情報を決定し、次いで、予測情報を使用して、復号される現在のビデオブロックに関する予測ブロックを生成する。たとえば、動き補償部82は、受け取られたシンタックス要素のうちのいくつかを使用して、ビデオフレームのビデオブロックを符号化するのに使用される予測モード(たとえばイントラ予測又はインター予測)、インター予測フレームタイプ(たとえばB又はP)、フレームに関する参照フレームリストのうちの1つ以上の構成情報、フレームにおける各インター予測符号化ビデオブロックの動きベクトル、フレームの各インター予測符号化ビデオブロックのインター予測状態、及び現在のビデオフレームにおけるビデオブロックを復号するための他の情報を決定する。
【0050】
同様に、イントラBC部85は、たとえばフラグといった受け取られたシンタックス要素のうちのいくつかを使用して、現在のビデオブロックはイントラBCモードを使用して予測されたものであること、再構成された領域の内部にあってDPB 92に記憶されるべきフレームのビデオブロックの構成情報、フレームの各イントラBC予測ビデオブロックのブロックベクトル、フレームの各イントラBC予測ビデオブロックのイントラBC予測状態、及び現在のビデオフレームにおけるビデオブロックを復号するための他の情報を決定し得る。
【0051】
動き補償部82はまた、ビデオ符号化器20によってビデオブロックの符号化中に参照ブロックのサブ整数画素の補間値を計算するために使用されたような補間フィルタを使用して、補間を実行し得る。この場合、動き補償部82は、受け取られたシンタックス要素から、ビデオ符号化器20によって使用された補間フィルタを決定し、補間フィルタを使用して予測ブロックを生成し得る。
【0052】
逆量子化部86は、ビットストリームの中に与えられてエントロピー復号部80によってエントロピー復号された量子化変換係数を、ビデオ符号化器20によってビデオフレームにおける各ビデオブロックについて量子化の程度を決定するために計算されたものと同一の量子化パラメータを使用して逆量子化する。逆変換処理部88は、画素領域における残差ブロックを再構成するために、変換係数に対して、たとえば逆DCT、逆整数変換、又は概念的に類似の逆変換プロセスといった逆変換を適用する。
【0053】
動き補償部82又はイントラBC部85がベクトル及び他のシンタックス要素に基づいて現在のビデオブロックに関する予測ブロックを生成した後に、加算器90は、逆変換処理部88からの残差ブロックと、動き補償部82及びイントラBC部85によって生成された対応する予測ブロックとを合計することによって、現在のビデオブロックに関する復号ビデオブロックを再構成する。ループ内フィルタ94は、加算器90とDPB92との間に配置されてよく、ブロック境界をフィルタリングして、復号されたビデオブロックから濃淡むらアーチファクトを除去するためのデブロッキングフィルタを含む。ループ内フィルタ94は、加算器90によって出力された復号ビデオブロックをフィルタリングするためのSAOフィルタ及びALFをさらに含む。次いで、所与のフレームにおける復号ビデオブロックは、次のビデオブロックの後続の動き補償に使用される参照フレームを記憶するDPB92に記憶される。DPB92又はDPB92とは別個のメモリデバイスも、復号されたビデオを、後に
図1の表示装置34などの表示装置に提示するために記憶し得る。
【0054】
一般的なビデオ符号化プロセスでは、ビデオシーケンスは、一般的にはフレーム又はピクチャの順序づけられたセットを含む。各フレームが、SL、SCb、及びSCrと表される3つのサンプル配列を含み得る。SLは、輝度(luma)サンプルからなる2次元配列である。SCbは、Cb色差サンプルからなる2次元配列である。SCrは、Cr色差サンプルからなる2次元配列である。他の事例では、フレームは白黒でよく、したがって輝度サンプルの2次元配列を1つだけ含む。
【0055】
図4Aに示されるように、ビデオ符号化器20(より具体的には分割部45)は、最初にフレームを符号化ツリーユニット(CTU)の集合に分割することによってフレームの符号化表現を生成する。ビデオフレームは、左から右及び上から下へのラスタスキャン順で連続的に順序づけられた整数個のCTUを含み得る。各CTETは最大の論理符号化ユニットであり、CTUの幅及び高さは、シーケンスパラメータセットにおいて、ビデオ符号化器20によって、ビデオシーケンスにおけるすべてのCTUが128×128、64×64、32×32、及び16×16のうちの1つである同一のサイズを有するように信号伝達される。しかし、本出願は必ずしも特定のサイズに制限されるものではないことに留意されたい。
図4Bに示されるように、各CTUは、輝度(luma)サンプルからなる1つの符号化ツリーブロック(CTB)と、対応する2つの色差サンプルからなる符号化ツリーブロックと、符号化ツリーブロックのサンプルを符号化するのに使用されるシンタックス要素とを含み得る。シンタックス要素は、画素の符号化ブロックの種々のタイプのユニットの特性と、インター予測又はイントラ予測、イントラ予測モード、動きベクトル、及び他のパラメータを含め、ビデオ復号器30にてビデオシーケンスを再構成し得る方法とを記述するものである。白黒ピクチャ又は3つの個別のカラープレーンを有するピクチャでは、CTUは、単一の符号化ツリーブロックと、符号化ツリーブロックのサンプルを符号化するのに使用されるシンタックス要素とを含み得る。符号化ツリーブロックは、サンプルのN×Nのブロックでよい。
【0056】
より優れた性能を達成するために、ビデオ符号化器20は、CTUの符号化ツリーブロックに対して、二分木(binary-tree)分割、三分木(ternary-tree)分割、四分木(quad-tree)分割、又はこれらの組合せなどの木分割を再帰的に実行して、CTUをより小さい符号化ユニット(CU)に分割し得る。
図4Cに表されるように、64×64のCTU400が、最初に、それぞれが32×32のブロックサイズを有する4つのより小さいCUに分割される。4つのより小さいCUの中で、CU410及びCU420が、それぞれ16×16のブロックサイズで4つのCUに分割される。2つの16×16のCUである430及び440が、それぞれ8×8のブロックサイズで4つのCUにさらに分割される。
図4Dは、
図4Cに表されたようなCTU400の分割プロセスの最終結果を示す四分木データ構造を表すものであり、四分木の各リーフノードが32×32~8×8の範囲のそれぞれのサイズの1つのCUに対応する。各CUは、
図4Bに表されたCTUに類似して、輝度サンプルの符号化ブロック(CB)と、同じサイズのフレームの色差サンプルの2つの対応する符号化ブロックと、符号化ブロックのサンプルを符号化するのに使用されるシンタックス要素とを含み得る。白黒ピクチャ又は3つの個別のカラープレーンを有するピクチャでは、CUは、単一の符号化ブロックと、符号化ブロックのサンプルを符号化するのに使用されるシンタックス構造とを含み得る。
図4C及び
図4Dに表された四分木分割は単なる説明のためのものであり、1つのCTUが、様々な局所的特性に適合するように、四分木分割/三分木分割/二分木分割に基づいてCUに分割され得ることに留意されたい。複合の木構造では、1つのCTUが四分木構造によって分割され、各四分木の葉CUが二分木構造及び三分木構造によってさらに分割され得る。
図4Eに示されるように、4分割、水平2分割、垂直2分割、水平3分割、垂直3分割といった5つの分割タイプがある。
【0057】
いくつかの実施形態では、ビデオ符号化器20は、CUの符号化ブロックを1つ以上のM×Nの予測ブロック(PB)へとさらに分割し得る。予測ブロックは、同一の(インター又はイントラ)予測が適用されるサンプルの矩形状(正方形又は非正方形)のブロックである。CUの予測ユニット(PU)は、輝度サンプルの予測ブロックと、色差サンプルの2つの対応する予測ブロックと、予測ブロックを予測するのに使用されるシンタックス要素とを含み得る。白黒ピクチャ又は3つの個別のカラープレーンを有するピクチャでは、PUは、単一の予測ブロックと、予測ブロックを予測するのに使用されるシンタックス構造とを含み得る。ビデオ符号化器20は、CUの各PUにおける、予測輝度、輝度に関するCb及びCrブロック、並びに、Cb及びCr予測ブロックを生成し得る。
【0058】
ビデオ符号化器20は、PUに関する予測ブロックを生成するためにイントラ予測又はインター予測を使用してよい。ビデオ符号化器20がイントラ予測を使用してPUの予測ブロックを生成する場合には、ビデオ符号化器20はPUに関連したフレームの復号サンプルに基づいてPUの予測ブロックを生成し得る。ビデオ符号化器20がインター予測を使用してPUの予測ブロックを生成する場合には、ビデオ符号化器20はPUに関連したフレーム以外の1つ以上のフレームの復号サンプルに基づいてPUの予測ブロックを生成し得る。
【0059】
ビデオ符号化器20は、CUにおける1つ以上のPUに関する予測輝度ブロック、予測Cbブロック及び予測Crブロックを生成した後に、CUの輝度残差ブロックにおける各サンプルがCUの予測輝度ブロックのうちの1つにおける輝度サンプルとCUの元の輝度符号化ブロックにおける対応するサンプルとの間の差分を示すように、CUの元の輝度符号化ブロックからCUの予測輝度ブロックを差し引くことによって、CUに関する輝度残差ブロックを生成し得る。同様に、ビデオ符号化器20は、CUのCb残差ブロックにおける各サンプルが、CUの予測Cbブロックのうちの1つにおけるCbサンプルとCUの元のCb符号化ブロックにおける対応するサンプルとの間の差分を示すように、CUのCb残差ブロック及びCr残差ブロックをそれぞれ生成してよく、CUのCr残差ブロックにおける各サンプルが、CUの予測Crブロックのうちの1つにおけるCrサンプルとCUの元のCr符号化ブロックにおける対応するサンプルとの間の差分を示し得る。
【0060】
その上、
図4Cに示されるように、ビデオ符号化器20は、四分木分割を使用して、CUの輝度、Cb及びCrの残差ブロックを、1つ以上の輝度、Cb及びCrの変換ブロックへと分解する。変換ブロックは、同一の変換が適用されるサンプルの矩形(正方形又は非正方形)のブロックである。CUの変換ユニット(TU)は、輝度サンプルの変換ブロックと、色差サンプルの2つの対応する変換ブロックと、変換ブロックサンプルを予測するのに使用されるシンタックス要素とを含み得る。したがって、CUの各TUは、輝度変換ブロック、Cb変換ブロック、及びCr変換ブロックに関連づけられ得る。いくつかの例では、TUに関連した輝度変換ブロックはCUの輝度残差ブロックのサブブロックであり得る。Cb変換ブロックは、CUのCb残差ブロックのサブブロックであり得る。Cr変換ブロックは、CUのCr残差ブロックのサブブロックであり得る。白黒ピクチャ又は3つの個別のカラープレーンを有するピクチャでは、TUは、単一の変換ブロックと、変換ブロックのサンプルを変換するのに使用されるシンタックス構造とを含み得る。
【0061】
ビデオ符号化器20は、TUの輝度変換ブロックに1つ以上の変換を適用してTU用の輝度係数ブロックを生成し得る。係数ブロックは変換係数の2次元配列であり得る。変換係数はスカラー量であり得る。ビデオ符号化器20は、TUのCb変換ブロックに1つ以上の変換を適用してTU用のCb係数ブロックを生成し得る。ビデオ符号化器20は、TUのCr変換ブロックに1つ以上の変換を適用してTU用のCr係数ブロックを生成し得る。
【0062】
ビデオ符号化器20は、係数ブロック(たとえば輝度係数ブロック、Cb係数ブロック又はCr係数ブロック)を生成した後に係数ブロックを量子化し得る。量子化は、一般に、変換係数を表すために使用されるデータ量をどうにかして低減するために変換係数が量子化されるプロセスを指すものであり、さらなる圧縮をもたらす。ビデオ符号化器20は、係数ブロックを量子化した後に、量子化変換係数を示すシンタックス要素をエントロピー符号化し得る。たとえば、ビデオ符号化器20は量子化変換係数を示すシンタックス要素に対してコンテキスト適応型2値算術符号化(CABAC)を実行し得る。最終的に、ビデオ符号化器20は、符号化フレーム及び関連するデータの表現を形成する一連のビットを含むビットストリームを出力し得、これは記録装置32に保存されるか又は送信先装置14に伝送される。
【0063】
ビデオ復号器30は、ビデオ符号化器20によって生成されたビットストリームを受け取った後に、ビットストリームを解析して、ビットストリームからシンタックス要素を取得し得る。ビデオ復号器30は、ビットストリームから取得されたシンタックス要素に少なくとも部分的に基づいてビデオデータのフレームを再構成し得る。ビデオデータを再構成するプロセスは、一般にビデオ符号化器20によって実行された符号化プロセスの逆のである。たとえば、ビデオ復号器30は、現在のCUのTUに関連した係数ブロックに対する逆変換を実行して、現在のCUのTUに関連した残差ブロックを再構成し得る。ビデオ復号器30はまた、現在のCUのPUに関する予測ブロックのサンプルを、対応する現在のCUのTUの変換ブロックのサンプルに加算することによって現在のCUの符号化ブロックを再構成する。ビデオ復号器30は、フレームの各CUに関する符号化ブロックを再構成した後にフレームを再構成し得る。
【0064】
前述のように、ビデオ符号化は、主としてイントラフレーム予測(すなわちイントラ予測)及びインターフレーム予測(すなわちインター予測)の2つのモードを使用してビデオ圧縮を達成するものである。パレットベースの符号化は、多くのビデオコーディング規格によって採用されている別の符号化方式である。パレットベースの符号化は、スクリーンに生成されたコンテンツを符号化するのに特に適し、この方式では、ビデオコーダ(たとえばビデオ符号化器20又はビデオ復号器30)が、所与のブロックのビデオデータを表現する色のパレットテーブルを形成する。パレットテーブルは、所与のブロックの中で最も優勢な(たとえば頻繁に使用される)画素値を含む。所与のブロックのビデオデータにおいて頻繁に表現されない画素値は、パレットテーブルに含まれないか、又は回避色としてパレットテーブルに含まれる。
【0065】
パレットテーブルの各エントリは、パレットテーブルの中の対応する画素値に関するインデックスを含む。ブロックの中のサンプルに関するパレットインデックスは、サンプルを予測するか又は再構成するために使用されるパレットテーブルのエントリを示すように符号化され得る。このパレットモードは、ピクチャ、スライス、タイル、又はビデオブロックのそのようなグループ化の最初のブロックに関するパレット予測子を生成するプロセスから始まる。以下で説明されるように、後続のビデオブロックに関するパレット予測子は、一般的には、以前に使用されたパレット予測子を更新することによって生成される。例示のために、パレット予測子はピクチャレベルで定義されると想定されている。言い換えれば、ピクチャは、それぞれが固有のパレットテーブルを有する複数の符号化ブロックを含み得るが、全体のピクチャに関する1つのパレット予測子がある。
【0066】
ビデオビットストリームにおけるパレットエントリの信号伝達に必要なビット数を低減するために、ビデオ復号器は、ビデオブロックを再構成するために使用されるパレットテーブルの新しいパレットエントリを決定するためにパレット予測子を利用し得る。たとえば、パレット予測子は、以前に使用されたパレットテーブルからのパレットエントリを含んでよく、あるいは、つい最近使用されたパレットテーブルのすべてのエントリを含むことにより、つい最近使用されたパレットテーブルを用いて初期化されてもよい。いくつかの実施形態では、パレット予測子は、つい最近使用されたパレットテーブルからのすべてのエントリよりも少ないエントリを含み、次いで、以前に使用された他のパレットテーブルからのいくつかのエントリを組み込んでもよい。パレット予測子のサイズは、異なるブロックを符号化するために使用されるパレットテーブルのサイズと比較して、同一でも、より大きくても、より小さくてもよい。一例では、パレット予測子は、64のパレットエントリを含む先入れ先出し(FIFO)テーブルとして実現される。
【0067】
パレット予測子からのビデオデータのブロックに関するパレットテーブルを生成するために、ビデオ復号器は、符号化ビデオビットストリームから、パレット予測子の各入力について1ビットのフラグを受け取り得る。1ビットのフラグは、パレット予測子の関連する入力がパレットテーブルの中に含まれることを示す第1の値(たとえば2進数の1)又はパレット予測子の関連する入力がパレットテーブルの中に含まれないことを示す第2の値(たとえば2進数の0)を有し得る。パレット予測子のサイズがビデオデータのブロック用に使用されるパレットテーブルよりも大きい場合には、ビデオ復号器は、一旦パレットテーブルの最大サイズに達したら、さらにフラグを受け取ることを停止してよい。
【0068】
いくつかの実施形態では、パレットテーブルのいくつかのエントリは、パレット予測子を使用して決定されるのではなく、符号化ビデオビットストリームにおいて直接信号伝達され得る。そのようなエントリについて、ビデオ復号器は、符号化ビデオビットストリームから、エントリに関連した輝度成分及び2つの色差成分に関する画素値を示す3つの個別のmビットの値を受け取り得、mはビデオデータのビット深度を表現する。直接信号伝達されるパレットエントリのために複数のmビットの値が必要とされるのに対して、パレット予測子から導出されるパレットエントリが必要とするのは1ビットのフラグのみである。したがって、パレット予測子を使用してパレット入力のいくつか又はすべてを信号伝達すれば、新規のパレットテーブルの入力を信号伝達するために必要なビット数をかなり低減することができ、それによって、パレットモード符号化の全体的な符号化効率を改善する。
【0069】
多くの事例において、1つのブロックに関するパレット予測子は、以前に符号化された1つ以上のブロックを符号化するために使用されたパレットテーブルに基づいて決定される。しかし、ピクチャ、スライス又はタイルにおける最初の符号化ツリーユニットを符号化するときには、以前に符号化されたブロックのパレットテーブルを利用できない可能性がある。したがって、以前に使用されたパレットテーブルのエントリを使用してパレット予測子を生成することはできない。そのような場合には、以前に使用されたパレットテーブルが利用できないときにパレット予測子を生成するために使用された値である、一連のパレット予測子の初期化指定子が、シーケンスパラメータセット(SPS)及び/又はピクチャパラメータセット(PPS)において信号伝達されてよい。SPSは、一般に、各スライスセグメントヘッダに見られるシンタックス要素によって参照されるPPSに見られるシンタックス要素のコンテンツによって決定されたものとして、符号化ビデオシーケンス(CVS)と呼ばれる一連の連続した符号化ビデオピクチャに適合するシンタックス要素のシンタックス構造を指す。PPSは、一般に、各スライスセグメントヘッダに見られるシンタックス要素によって決定されたものとして、CVSの内部の1つ以上の個々のピクチャに適合するシンタックス要素のシンタックス構造を指す。したがって、SPSは、一般にPPSよりも上位のレベルのシンタックス構造とみなされ、SPSに含まれるシンタックス要素は、一般にそれほど頻繁に変化せず、PPSに含まれるシンタックス要素と比較して、ビデオデータのより大きい部分に適合することを意味する。
【0070】
図5は、いくつかの実施形態に係る、ビットストリームの中のビデオフレーム500の一部を示す。ビデオフレーム500は複数の画素を含み、各画素は、複数の色要素(たとえば青、緑及び赤)で作られている。ビデオの符号化及び復号では、複数の画素の色情報は、複数の輝度サンプル502及び複数の色差サンプル504によって表される。複数の画素の各々がそれぞれの輝度サンプル502に対応し、また、各輝度サンプル502がビデオフレーム500の中のそれぞれの画素に対応する。各色差サンプル504は、サブサンプリング方式に係る、輝度サンプル502のそれぞれのセットに対応する。各輝度サンプル502は輝度成分Y’を有し、各色差サンプル504は青色差の色差成分Cb及び赤色差の色差成分Crを有する。輝度成分及び色差成分(Y’:Cb:Cr)のサブサンプリング方式は、3部分の比(たとえば4:1:1、4:2:0、4:2:2、4:4:4、4:4:0)を有する。具体的には、ビデオフレーム500の輝度サンプル502及び色差サンプル504は、4:1:1に等しい3部分の比を有するサブサンプリング方式に準拠し、平均すると、4つの輝度サンプル502ごとに、青色差の色差成分Cb及び赤色差の色差成分Crを有する1つの色差サンプル504に対応する。
【0071】
図6は、いくつかの実施形態に従って、ビデオ符号化器20又はビデオ復号器30において適用されるループ内フィルタ600のブロック図である。ビデオ符号化又は符号化では、輝度サンプル502及び色差サンプル504の各々が、ビデオフレーム500の残差ブロックから再構成され、アーチファクトを除去するために、デブロッキングフィルタ、1つ又は複数のサンプル適応型オフセット(SAO)フィルタ602、及びループ内フィルタ600(たとえば
図2及び
図3のループ内フィルタ66及び94)の1つ又は複数の適応型ループフィルタ(ALF)604によってフィルタリングされる。フィルタリングされた輝度サンプル606及び色差サンプル608は、復号画像バッファ64又は92に格納され、ビデオフレーム500における他のビデオブロックの符号化又は復号のために使用される。いくつかの実施形態では、デブロッキングフィルタ、SAOフィルタ602及びALF604の各々は、同一タイプのサンプルに基づいて輝度サンプル502又は色差サンプル504をフィルタリングするように構成されており、たとえば、隣接した輝度サンプル502のそれぞれのセットに基づいて各輝度サンプル502をフィルタリングし、隣接した色差サンプル504のそれぞれのセットに基づいて各輝度サンプル502をフィルタリングする。いくつかの実施形態では、ループ内フィルタ600は、それぞれの色差サンプル504に隣接した1つ又は複数の輝度サンプル502に基づいて各色差サンプル504をフィルタリングするように構成された交差成分フィルタ610をさらに含む。反対に、いくつかの実施形態では、ループ内フィルタ600は、それぞれの輝度サンプル502に隣接した1つ又は複数の色差サンプル504に基づいて各輝度サンプル502をフィルタリングするように構成された代替の交差成分フィルタを含む。
【0072】
具体的には、ビデオ符号化器20又は復号器30は、ビデオフレーム500の複数の輝度サンプル502及び複数の色差サンプル504を取得する。各輝度サンプル502がそれぞれの輝度値を有し、各色差サンプル504がそれぞれの輝度値を有する。SAOフィルタ602は、複数の輝度サンプル502及び複数の色差サンプル504の各々を補償する。具体的には、SAOフィルタ602A、602B及び602Cは、輝度サンプル502、色差サンプル504の青色差の色差成分Cb、及び色差サンプル504の赤色差の色差成分Crをそれぞれ補償する。ALF604はSAOフィルタ602に結合されている。補償された輝度サンプル612の各々が、隣接する補償された輝度サンプル612のセットに基づき、輝度ALF604Aを使用して、輝度サンプル606を更新し、補償された色差サンプル614A及び614Bの各々が、隣接する補償された色差サンプル614のセットに基づき、色差ALF604Bを使用して、色差サンプル608A又は608Bを更新する。
【0073】
いくつかの実施形態では、交差成分フィルタ610は、輝度サンプル502のセットに基づいて各色差サンプル504の色差改良値616を生成するように構成されている。それぞれの色差サンプル504は、色差改良値616を使用して更新され、すなわち、それぞれの色差サンプル504のクロミナンス値は、色差改良値616を用いて改良される。更新されたそれぞれの色差サンプル608は、ビデオフレーム500に関連して格納される。いくつかの実施形態では、交差成分フィルタ610は、第1の改良値616Aを生成するように構成された第1の交差成分フィルタ610Aと、第2の改良値616Bを生成するように構成された第2の交差成分フィルタ610とを含む。青色差の色差成分618A及び赤色差の色差成分618Bは、それぞれ、第1の改良クロミナンス値608A及び第2の改良クロミナンス値608Bを出力するように、第1の改良値616A及び第2の改良値616Bを使用して別個に更新される。
【0074】
ループ内フィルタ600のデブロッキングフィルタ、SAOフィルタ及びALFの各々が1つ又は複数のループ内フィルタ係数を含み、交差成分ALF610は複数の交差成分フィルタ係数をも含む。ループ内フィルタ係数及び交差成分フィルタ係数は適合パラメータセット(APS)で信号伝達される。一例では、APSは、輝度フィルタ係数とクリップ値インデックスとの複数のセット(たとえば25までのセット)、及び色差フィルタ係数とクリップ値インデックスの複数のセット(たとえば8つまでのセット)を搬送し、かつ信号伝達する。APSは、ビットストリームで、ビデオフレーム500とともに、ビデオ符号化器20からビデオ符号化器30まで転送され、すなわちAPSはビットストリームの転送のオーバヘッドである。いくつかの実施形態では、輝度サンプル502の輝度成分に関する別々の分類のフィルタ係数は、ビットストリームの転送のオーバヘッドを低減するために組み合わされる。一例では、画像スライス用に使用されるAPSのインデックスは、対応するスライスヘッダで信号伝達される。
【0075】
図7Aは、いくつかの実施形態に従って、輝度ALF604Aによって、関連する輝度サンプル502Bのセットを基に輝度サンプル502Aが処理される、例示のALFのフィルタリング方式700であり、
図7Bは、いくつかの実施形態に従って、色差ALF604Bによって、関連する色差サンプルのセット504Bを基に色差サンプル504Aが処理される、例示のALFのフィルタリング方式750である。輝度ALF604Aは、菱形のフィルタ形状(たとえば7×7の菱形の形状)を有し、それぞれの4×4のブロック用に、局所勾配の方向及び機能に基づいて、複数の所定のフィルタ(たとえば、所定のフィルタ係数を有する25のフィルタ)から選択される。
図7Aにおけるそれぞれの正方形は、菱形の形状を有する、輝度ALF604Aの対応するフィルタ係数(C0~C12)でラベルを付けられた輝度サンプル502を表す。輝度ALF604Aを使用して25の輝度サンプル502を組み合わせるために、輝度サンプル502Aに対して、合計で13のフィルタ係数(C0~C12)が対称に適用される。同様に、色差ALF604Bは菱形のフィルタ形状(たとえば5×5の菱形の形状)を有し、複数の所定のフィルタ(たとえば、所定のフィルタ係数を有する8つのフィルタ)から選択される。
図7Bにおけるそれぞれの正方形は、菱形の形状を有する、色差ALF604Bの対応するフィルタ係数(C0~C6)でラベルを付けられた色差サンプル504を表す。色差ALF604Bにおける13の色差サンプル504を組み合わせるために、色差サンプル504Aに対して、合計で7つのフィルタ係数(C0~C6)が対称に適用される。
【0076】
たとえばCTB用に適応型ループフィルタリングが有効にされるとき、CUの内部の各画像サンプルR(i,j)(たとえば輝度サンプル502A、色差サンプル504A)がフィルタリングされることで、次式のサンプル値R’(i,j)が得られる。
【0077】
【数1】
ここで、f(k,l)は復号フィルタ係数を表し、K(x,y)はクリッピング機能であり、c(k,l)は復号クリッピングパラメータを表す。変数k及びlは、-L/2と+L/2の間で変化し、Lはフィルタ長を表す。
【0078】
適応型ループフィルタリングにおけるクリッピングのために、各画像サンプルは、関連する画像サンプルのセットを、ALF604のフィルタ長Lで包含している。
図7Aを参照して、それぞれの輝度サンプル502Aのうちの関連づけられた輝度サンプル502Bは、それぞれの輝度サンプル502Aの上の3行の輝度サンプル(すなわち9つの輝度サンプル)と、それぞれの輝度サンプル502Aの下の3行の輝度サンプル(すなわち9つの輝度サンプル)と、それぞれの輝度サンプル502Aの左側の3つの輝度サンプルと、それぞれの輝度サンプル502Aの右側の3つの輝度サンプルとを含む。
図7Bを参照して、それぞれの色差サンプル504Aのうちの関連づけられた色差サンプル504Bは、それぞれの色差サンプル504Aの上の2行の色差サンプル(すなわち4つの色差サンプル)と、それぞれの色差サンプル50rAの下の2行の色差サンプル(すなわち4つの色差サンプル)と、それぞれの色差サンプル504Aの左側の2つの色差サンプルと、それぞれの色差サンプル504Aの右側の2つの色差サンプルとを含む。
【0079】
いくつかの実施形態では、ALFのフィルタパラメータは、前述のクリッピングパラメータc(k,l)を表すクリップ値インデックスを含むAPSで信号伝達される。1つのAPSでは、25セットまでの輝度フィルタ係数(たとえば
図7AにおけるC0~C12のセット)とクリッピング値インデックス、及び8セットまでの色差フィルタ係数(たとえば
図7BにおけるC0~C6のセット)及びクリッピング値インデックスが信号伝達され得る。信号伝達するビットのオーバヘッドを低減するために、輝度サンプル502Aに関する別々の分類のフィルタ係数が組み合わされ得る。スライスヘッダでは、現在のスライス用に使用されたAPSのインデックスが信号伝達される。APSから復号されたクリッピング値インデックスにより、所定のクリッピング境界値の式又はテーブルを使用して、クリッピング境界値を決定することが可能になる。これらの境界クリッピング値は、内部ビット深度に依拠するものであって、関連する画像サンプルと画像サンプルのセット502A又は504Aとの差がクリップされるダイナミックレンジを定義する。いくつかの実施形態では、輝度サンプル502Aと色差サンプル504Aとに対して、別々の所定のクリッピング境界値の式又はテーブルが適用される。
【0080】
いくつかの実施形態では、現在のスライスにおける適応型ループフィルタリングのための複数の対応する輝度と色差とのフィルタセットのサブセットを選択するために、スライスヘッダで、複数のAPSインデックス(たとえば7つのインデックス)が信号伝達され得る。この適応型ループフィルタリング・プロセスは、CTBレベルで制御され得る。輝度CTBに適応型ループフィルタリングが適用されるかどうかを示すために、フラグが信号伝達される。フラグが適応型ループフィルタリングを有効にするとの判定に応じて、輝度CTBは複数の(たとえば16の)輝度フィルタセットの間で輝度フィルタセットを選択する。適用される輝度フィルタセットを示すために、輝度CTB向けに輝度フィルタセットのインデックスが信号伝達される。複数のフィルタセットの各々が、符号化器20と復号器30との両方において事前に定義してハードコード化されており、ビデオフレーム500を搬送するビットストリームで伝送される必要があるのは輝度フィルタセットのインデックスのみである。同様に、色差サンプル504Aについては、フラグが適応型ループフィルタリングを有効にするとき、現在のスライスの適応型ループフィルタリング用に複数の色差フィルタセットのうちの1つを選択するために、色差フィルタセットのインデックスがスライスヘッダで信号伝達される。APSの中に複数の色差フィルタセットがある場合、それぞれの色差CTBについて、色差フィルタセットのインデックスがCTBレベルで信号伝達される。フィルタセットの各々が、フィルタ係数f(k,l)及びクリッピングパラメータc(k,l)、あるいはフィルタ係数f(k,l)及びクリッピングパラメータc(k,l)のインデックスを伴って、ビデオ符号化器又はビデオ復号器の中に、局所的に格納される。
【0081】
いくつかの実施形態では、フィルタ係数は128に等しいノルムを用いて量子化される。非中立点を有するフィルタ係数の値が[-27~27-1]の範囲に入るように、ビットストリーム適合が適用される。中立点を有するフィルタ係数は、ビットストリームで信号伝達されることなく、128と推定される。
【0082】
図8は、いくつかの実施形態に従って、画像フレームのブロックにおける各画像サンプル802の関連する画像サンプル804のセットに関するクリップ値インデックスを有する例示のALFのフィルタリング方式800である。ALF604は、各画像サンプル802(たとえば輝度サンプル502A、色差サンプル504A)についてフィルタ長Lを有し、複数のフィルタ係数(たとえば輝度サンプル502A用のC0~C13)に対応する。関連する画像サンプル804のセットは、それぞれの画像サンプル802のフィルタ長において識別される。関連する画像サンプル804(たとえば
図7におけるフィルタ係数C1~C12に対応する輝度サンプル502B)のセットの各々について、それぞれのクリップ値インデックス及び対応するフィルタ係数が識別される。たとえば、
図8におけるそれぞれの関連する画像サンプル804は、0、1、2又は3のクリップ値インデックスを有する。
【0083】
それぞれのクリップ値インデックスは、それぞれのクリッピング番号を指数とする2のべき乗に等しいそれぞれのクリッピング境界値Mに対応し、それぞれのクリッピング番号iは整数である。ALF604は、関連する画像サンプル804のセットの各々とそれぞれの画像サンプル802との差を、それぞれのクリップ値インデックスに関連したそれぞれのクリッピング境界値Mによって定義されるダイナミックレンジDRにクリップする。それぞれの画像サンプル802(たとえば輝度サンプル502A、色差サンプル504A)は、複数の修正画像サンプル802を使用して画像フレームが再構成され得るように、関連する画像サンプル804のセットの各々のクリップされた差を用いて、それぞれのフィルタ係数を基に修正される。境界値が、整数を指数とする2のべき乗に制限されるとき、関連する画像サンプル804と各画像サンプル802との差をクリップするステップは、論理積演算及び/又は論理和演算のみを含む。これらの手段によって、このクリッピング演算は、各画像サンプル802に対するいかなる比較演算も含まず、それによって適応型ループフィルタリングに必要とされる計算の量を軽減し、対応するビデオフレームの符号化から計算リソースを節約する。
【0084】
いくつかの実施形態では、画像サンプルの第1のブロックに関して、第1のブロックにおけるすべての画像サンプル802についてクリップ値インデックスの単一のセットが決定される。クリップ値インデックスのセットは、画像サンプルのブロックとともにビデオ符号化器20からビデオ復号器30まで転送され、ALF604は、クリップ値インデックスの同じ単一のセットに基づいて第1のブロックにおける画像サンプル802の各々を処理することが可能になる。例示のブロックは、全体のビデオフレーム、スライス、ブリック、タイル、タイルグループ、符号化ツリー又は任意の他の符号化ユニットである。さらに、いくつかの実施形態では、ビデオフレームは、第1のブロックとは異なる第2のブロックを含む。クリップ値インデックスの第2のセットは、第2のブロックの中の画像サンプル802の適応型ループフィルタリング用に使用される。クリップ値インデックスの第2のセットは、画像の第1のブロック用に使用されたクリップ値インデックスの単一のセットから切り離して決定される。
【0085】
図9A~
図9Cは、いくつかの実施形態に係る所定のクリッピング境界値テーブル900A~900Cといった3つの例である。所定のクリッピング境界値テーブル900の各々が、クリップ値インデックスのセット902を、内部ビット深度インデックス(IBDI)906のセットに応じて、クリッピング境界値(M)のセット904に関連づける。これらのテーブル900A~900Cにおけるクリッピング境界値Mのあらゆるものが、それぞれのクリッピング番号iを指数とする2のべき乗に等しい。それぞれのクリッピング境界値テーブル900は、それぞれのクリップ値インデックスに関するクリッピング境界値Mを決定するための参照として、ALF604に適用される。たとえば、ビデオフレームの第1の画像サンプル802については、その関連する画像サンプル804Aのうちの1つと第1の画像サンプル802との差がクリップされるとき、この関連する画像サンプル804Aには、それぞれのクリップ値インデックス902A(すなわち0)が備わっており、IBDI906A(たとえばIBDI=10)は、フィルタリングされる第1の画像サンプル802から決定され得る。それぞれのクリッピング境界値904A(すなわち1024)は、所定のクリッピング境界値テーブル900Aから、クリップ値インデックス902Aに対応する列とIBDI906Aに対応する行との交点において識別される。
【0086】
それぞれのクリッピング境界値904は、それぞれのクリッピング番号iを指数とする2のべき乗に等しい。同一のクリップ値インデックス(たとえば902A)について、それぞれのクリッピング番号iは、IBDI906につれて直線状に増加する整数である。各境界値904(M)は、それぞれのクリッピング番号iの関数として次式で表される。
M=2i (1)
【0087】
いくつかの実施形態では、第1の画像サンプル802の適応型ループフィルタリング用に使用されるそれぞれの関連する画像サンプル804に関して、関連する画像サンプル804と第1の画像サンプル802とのクリップされた差は、範囲[-M,M-1]すなわち[-2i,2i-1]に入る。あるいは、いくつかの実施形態では、関連する画像サンプル804と第1の画像サンプル802とのクリップされた差は、範囲[-M+1,M]すなわち[-2i+1,2i]に入る。あるいは、いくつかの実施形態では、関連する画像サンプル804と第1の画像サンプル802とのクリップされた差は、範囲[-M+1,M-1]すなわち[-2i+1,2i-1]に入る。あるいは、いくつかの実施形態では、関連する画像サンプル804と第1の画像サンプル802とのクリップされた差は、範囲[-M,M]すなわち[-2i,2i]に入る。
【0088】
いくつかの実施形態では、画像サンプル802のブロックのフィルタリングに使用される所定のクリッピング境界値テーブル900は、ブロックを搬送するビットストリームで取得され、画像サンプル802の各ブロックについてテーブル900の更新が可能になる。例示のブロックは、全体のビデオフレーム、スライス、ブリック、タイル、タイルグループ、符号化ツリー又は任意の他の符号化ユニットである。あるいは、適応型ループフィルタリングにおいて使用されるものと同一の所定のクリッピング境界値テーブル900の2つのコピーが、ビデオ符号化器20とビデオ復号器30とに別個に格納される。画像サンプル802のブロックのフィルタリング中に、所定のクリッピング境界値テーブル900は、ビデオフレームで受け取られるのではなく、1つ又は複数の別個の所定のクリッピング境界値テーブル(たとえばテーブル900A~900Cのサブセット又はすべて)を前もって記憶しているローカルメモリから抽出される。1つのブロックの各画像サンプル802は、クリップ値インデックス及び境界値テーブルインジケータのセットを共有する。クリップ値インデックス及び境界値テーブルインジケータのセットは、画像サンプル802のブロックに関連してビットストリームで取得され、1つ又は複数のクリッピング境界値テーブルは局所的に格納される。境界値テーブルインジケータに基づいて、クリッピング境界値テーブル900のうちの1つが選択され、ブロックの中の各画像サンプル802をフィルタリングするためのクリッピング演算に適用される。
【0089】
所定のクリッピング境界値テーブル900Aは次式で表される。
【0090】
【数2】
ここで、CVIはそれぞれのクリップ値インデックスであり、CBVは、関連する画像サンプル804のセットの各々に関するそれぞれのクリッピング境界値である。いくつかの実施形態では、ローカルメモリにはクリッピング境界値テーブル900Aは記憶されず、式(2)が記憶される。各画像サンプル802について、それぞれの関連する画像サンプル804ごとに、上記の所定のクリッピング境界値式(2)に従って、IBDI及びそれぞれのクリップ値インデックスを基に、クリッピング境界値が決定される。
【0091】
クリップ値インデックスが2のクリッピング境界値は、所定のクリッピング境界値テーブル900Aと900Bとで異なる。所定のクリッピング境界値テーブル900Bは次式で表される。
【0092】
【0093】
いくつかの実施形態では、ローカルメモリにはクリッピング境界値テーブル900Bは記憶されず、式(3)が記憶される。各画像サンプル802について、それぞれの関連する画像サンプル804ごとに、上記の所定のクリッピング境界値式(3)に従って、IBDI及びそれぞれのクリップ値インデックスを基に、クリッピング境界値が決定される。
【0094】
クリップ値インデックスが1のクリッピング境界値は、所定のクリッピング境界値テーブル900Aと900Cとで異なる。所定のクリッピング境界値テーブル900Cは次式で表される。
【0095】
【0096】
いくつかの実施形態では、ローカルメモリにはクリッピング境界値テーブル900Cは記憶されず、式(4)が記憶される。各画像サンプル802について、それぞれの関連する画像サンプル804ごとに、上記の所定のクリッピング境界値式(4)に従って、IBDI及びそれぞれのクリップ値インデックスを基に、クリッピング境界値が決定される。
【0097】
いくつかの実施形態では、ビットストリームは、ビデオフレームの複数の画像サンプル802を含む。複数の画像サンプル802は、輝度サンプル502Aのサブセット及び色差サンプル504Aのサブセットを含む。輝度サンプル502Aのサブセットは、各輝度サンプル502Aの第1のフィルタ長L1における関連する輝度サンプル502Bのセットの各々の、それぞれのクリップ値インデックスを定義するクリップ値インデックスの第1のセットに対応する。色差サンプル504Aのサブセットは、各色差サンプル504Aの第2のフィルタ長L2における関連する色差サンプル504Bのセットの各々の、それぞれのクリップ値インデックスを定義するクリップ値インデックスの第2のセットに対応する。クリップ値インデックスの第2のセットは、クリップ値インデックスの第1のセットとは異なる。さらに、いくつかの実施形態では、クリップ値インデックスの第1及び第2のセットの各セットは、クリッピング境界値のテーブル又は式に対応し、クリップ値インデックスのそれぞれのセットにおける各クリップ値インデックスをIBDIに基づいてそれぞれのクリッピング境界値に関連づけるものである。加えて、いくつかの実施形態では、クリッピング境界値のテーブル又は式は、クリッピング境界値のテーブル又は式の所定の番号から選択される。あるいは、いくつかの実施形態では、クリップ値インデックスの第1及び第2のセットは、第1のクリッピング境界値のテーブル/式と、第1のクリッピング境界値のテーブル/式とは異なる第2の値のテーブル/式とに対応する。
【0098】
図10は、いくつかの実施形態に従って、画像サンプル802のためにクリップされる値1000のデータ構造である。画像サンプル802は、ビデオフレームの輝度サンプル502及び色差サンプル504のうちの1つに対応する。いくつかの実施形態では、クリップされる値1000は、関連する画像サンプル804と画像サンプル802との差に対応する。値1000の2進表現の最初のビットは最下位ビット(LSB)として定義され、通常は右端のビットである。ビットのインデックスは、LSBから、左端のビットである最上位ビット(MSB)に向かって、1つずつ増加する。いくつかの実施形態では、関連する画像サンプル804とそれぞれの画像サンプル802との差をクリッピングするためのダイナミックレンジは、クリッピングの上限値-Mと下限値M-1とで定義されて[-M,M-1]の形式で表され、Mは2
iである。対応するクリッピング演算は、(i+1)番目のビットからMSBまでのビット範囲に対して実行される論理「積」及び/又は論理「和」の演算として実施され得る。論理「積」及び/又は論理「和」の演算を使用することは、比較ベースのクリッピング演算を実行するよりも簡単である。
【0099】
一例では、クリップされる値1000が、-211~211-1(両端を含む)の範囲を有する11ビットの値によって表されると想定する。クリッピングの上限値と下限値とで、[-24,24-1]のダイナミックレンジを定義し、この値1000が上限値と下限値とで定義されたダイナミックレンジを超過するかどうかを判定するために、第5ビットからMSBまでの範囲のビットは検査される必要がある。クリップされる値1000が正であれば、第5ビットからMSBまでの範囲のすべてのそれらのビットに対して論理「和」演算が実行される。論理「和」演算の結果が1であれば、値1000は24-1よりも大きく、24-1にクリップされる。クリップされる値1000が負であれば、第5ビットからMSBまでの範囲のすべてのそれらのビットに対して論理「積」演算が実行される。論理「積」演算の結果が0であれば、値1000は-24よりも小さく、-24にクリップされる。
【0100】
別の例では、クリップされる値1000は-16~15の範囲内にある。値1000は5ビットを有する。最上位ビットが値1000の符号を表すために使用され、その他の4ビットが値1000の大きさを表すために使用される。クリップ境界値は4であり、クリッピングのダイナミックレンジは[-22,22-1]と設定される。入力値1000が14(01110と2値化される)であると、第3及び第4のビンに対して論理「和」演算が適用されて結果は1になり、入力値1000が上限を超過することを示し、したがって上限値3にクリップされる。入力値1000が2(00010と2値化される)であると、第3及び第4のビンに対して論理「和」演算が適用されて結果は0になり、入力値1000が上限を超過しないことを示すので、変更されない。入力値1000が-14(10010と2値化される)であると、第3及び第4のビンに対して論理「積」演算が適用されて結果は0になり、入力値1000が下限を下回ることを示し、下限値-4に設定される。入力値1000が-2(11110と2値化される)であると、第3及び第4のビンに対して論理「積」演算が適用されて結果は1になり、入力値1000が下限を下回らないことを示すので、変更されない。
【0101】
図11は、いくつかの実施形態に係るビデオ符号化方法1100の流れ図である。ビデオ符号化方法1100は、ビデオ符号化器20又はビデオ復号器30を有する電子デバイスにおいて実施される。電子デバイスは、ビットストリームから、ビデオフレームの複数の画像サンプル802を取得する(1102)。各画像サンプル802は、輝度サンプル502及び色差サンプル504のうちの1つに対応する。複数の画像サンプル802の各々について、それぞれの画像サンプル802は、フィルタ長L及びフィルタ係数のセットを有する適応型ループフィルタ604を使用してフィルタリングされる(1104)。具体的には、電子デバイスは、それぞれの画像サンプル802のフィルタ長Lにおいて、関連する画像サンプル804のセットを識別する(1106)。関連する画像サンプル804のセットの各々について、それぞれのクリップ値インデックス及び対応するフィルタ係数が識別される(1108)。関連する画像サンプル804のセットの各々とそれぞれの画像サンプル802との差が、それぞれのクリップ値インデックスに基づいてクリップされる(1110)。それぞれのクリップ値インデックスは、それぞれのクリッピング番号iを指数とする2のべき乗に等しいそれぞれのクリッピング境界値に対応し(1112)、それぞれのクリッピング番号iは整数である。電子デバイスは、それぞれのフィルタ係数に基づき、関連する画像サンプル804のセットの各々のクリップされた差を用いて、それぞれの画像サンプル802を修正する(1114)。ビデオフレームは、複数の修正画像サンプル802を使用して再構成される(1116)。いくつかの実施形態では、複数の画像サンプル802がビデオフレームのブロックを形成する。ブロックは、任意選択で、全体のビデオフレーム、スライス、ブリック、タイル、タイルグループ、符号化ツリー又は任意の他の符号化ユニットである。
【0102】
いくつかの実施形態では、各画像サンプル802について、それぞれの画像サンプル802のIBDIが決定される(1118)。電子デバイスは、関連する画像サンプル804のセットの各々について、IBDI及び所定のクリッピング境界値テーブル900によるそれぞれのクリップ値インデックスに基づき、それぞれのクリッピング境界値を決定する(1120)。関連する画像サンプル804のセットの各々とそれぞれの画像サンプル802との差が、それぞれのクリッピング境界値に基づいてクリップされる(1122)。さらに、いくつかの実施形態では、所定のクリッピング境界値テーブル900はビットストリームで取得される。あるいは、いくつかの実施形態では、所定のクリッピング境界値テーブル900はローカルメモリから抽出される。ローカルメモリは複数のクリッピング境界値テーブル(たとえばテーブル900A~99Cのサブセット又はすべて)を記憶し得、所定のクリッピング境界値テーブル900は複数のクリッピング境界値テーブルから選択される。所定のクリッピング境界値テーブル900の例が、
図9A~
図9Cに示されている。
【0103】
いくつかの実施形態では、各画像サンプル802について、それぞれの画像サンプル802のIBDIが決定される。電子デバイスは、関連する画像サンプル804のセットの各々について、IBDI及び所定のクリッピング境界値の式によるそれぞれのクリップ値インデックスに基づき、それぞれのクリッピング境界値を決定する。関連する画像サンプル804のセットの各々とそれぞれの画像サンプル802との差が、それぞれのクリッピング境界値に基づいてクリップされる。所定のクリッピング境界値の式は、式(2)~(4)のうちの1つとして表される。
【0104】
いくつかの実施形態では、関連する画像サンプルのセットの各々について、クリップ値インデックスは複数の連続番号(たとえば0、1、2及び3)から選択される。それぞれのクリッピング番号iは少なくともクリッピング値インデックスの関数であり、すなわちクリッピング値インデックスとともに変化する。また、それぞれのクリッピング番号iは、各クリップ値インデックスについて、IBDIとの関係が直線となる。たとえば、クリップ値インデックスが0のとき、それぞれのクリッピング番号iはIBDIと等しく、クリップ値インデックスが3のとき、それぞれのクリッピング番号iは、IBDIから7を減じたものと等しい。
【0105】
いくつかの実施形態では、関連する画像サンプルのセットの各々について、それぞれの関連する画像サンプルのクリップされた差は、範囲[-2i,2i-1]に入る。
【0106】
いくつかの実施形態では、関連する画像サンプルのセットの各々について、それぞれの関連する画像サンプルのクリップされた差が、[-2i+1,2i]、[-2i,2i]、及び[-2i+1,2i-1]を含む複数の範囲のうちの1つに入る。
【0107】
いくつかの実施形態では、関連する画像サンプルのセットの各々とそれぞれの画像サンプルとの差をクリップするステップは、論理積演算及び/又は論理和演算のみを含む。
【0108】
いくつかの実施形態では、複数の画像サンプルは、輝度サンプル502Aのサブセット及び色差サンプル504Aのサブセットを含む。輝度サンプル502Aのサブセットは、各輝度サンプル502Aの第1のフィルタ長L1における関連する輝度サンプル502Bのセットの各々の、それぞれのクリップ値インデックスを定義するクリップ値インデックスの第1のセットに対応する。色差サンプル504Aのサブセットは、各色差サンプル504Aの第2のフィルタ長L2における関連する色差サンプル504Bのセットの各々の、それぞれのクリップ値インデックスを定義するクリップ値インデックスの第2のセットに対応する。クリップ値インデックスの第2のセットは、クリップ値インデックスの第1のセットとは異なる。さらに、いくつかの実施形態では、クリップ値インデックスの第1及び第2のセットの各セットは、クリッピング境界値のテーブル又は式に対応し、クリップ値インデックスのそれぞれのセットにおける各クリップ値インデックスをIBDIに基づいてそれぞれのクリッピング境界値に関連づけるものである。加えて、いくつかの実施形態では、クリップ値インデックスの第1又は第2のセットに対応するクリッピング境界値のテーブル又は式は、クリッピング境界値のテーブル又は式の所定の番号から選択される。さらに、いくつかの実施形態では、クリップ値インデックスの第1及び第2のセットは、第1のクリッピング境界値のテーブル/式と、第1のクリッピング境界値のテーブル/式とは異なる第2の値のテーブル/式とに対応する。
【0109】
1つ又は複数の例では、記述された機能は、ハードウェア、ソフトウェア、ファームウェア、又はこれらの任意の組合せで実現され得る。この機能は、ソフトウェアで実現される場合には、1つ以上の命令又は符号(コード)としてコンピュータ読み取り可能な媒体に記憶されるか又は伝送されてよく、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ読み取り可能な媒体は、データ記録媒体などの有形の媒体に対応するコンピュータ読み取り可能な記録媒体、又は、たとえば通信プロトコルに従って、ある位置から別の位置へのコンピュータプログラムの転送を容易にする任意の媒体を含む通信メディアを含み得る。このように、コンピュータ読み取り可能な媒体は、一般に(1)非一時型の有体物のコンピュータ読み取り可能な記録媒体、又は(2)信号もしくは搬送波などの通信媒体に相当し得るものである。データ記録媒体は、1つ以上のコンピュータ又は1つ以上のプロセッサによって、本出願に記述された実施形態を実現するための命令、符号及び/又はデータ構造を取り出すためにアクセスされ得る、任意の利用可能な媒体でよい。コンピュータプログラム製品はコンピュータ読み取り可能な媒体を含み得る。
【0110】
本明細書の実施形態の記述において使用される専門用語は、特定の実施形態のみを記述するためのものであり、特許請求の範囲を制限するようには意図されていない。実施形態及び添付の特許請求の範囲の記述で用いられるように、単数形「1つの(a)」、「1つの(an)」、及び「その(the)」は、文脈がはっきりと別様に示さなければ、複数形も含むように意図されている。本明細書で使用されるような「及び/又は」という用語は、関連する列挙された項目のうちの1つ又は複数の、ありとあらゆる可能な組合せを指し、かつ包含することも理解されよう。「備える」及び/又は「備えている」という用語は、本明細書で使用されたとき、明示された特徴、要素、及び/又は構成要素の存在を指定するが、1つ以上の他の特徴、要素、構成要素、及び/又はこれらのグループの存在もしくは追加を排除するものではないがさらに理解されよう。
【0111】
様々な要素を説明するために、本明細書では第1、第2などの用語が用いられることがあるが、これらの要素は、これらの用語によって限定されるべきでないことも理解されよう。これらの用語は、単に1つの要素を別のものと区別するのに用いられる。たとえば、実施形態の範囲から逸脱することなく、第1の電極が第2の電極と称され得て、同様に、第2の電極が第1の電極と称され得る。第1の電極と第2の電極は、どちらも電極であるが同一の電極ではない。
【0112】
本出願の記述は解説及び説明のために提示されており、網羅的であること又は開示された形態の発明に限定されることは意図されていない。多くの修正形態、変形形態、及び代替の実施形態が、先の記述及び関連する図面において提示された教示内容の利益を有する当業者には明らかなはずである。実施形態は、本発明の原理や実際の用途について最も良く説明するため、他の当業者が様々な実施形態に関して本発明を理解することを可能にするため、また、基本原理と、企図された特定の使用法に適するものとしての様々な修正形態を伴う様々な実施形態とを最も良く利用するために、選択して記述されたものである。したがって、特許請求の範囲は、開示された実施形態の特定の実施例及びその修正形態に限定されず、添付の特許請求の範囲の範囲内に含まれるように他の実施形態が意図されていることを理解されたい。