(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-15
(45)【発行日】2024-10-23
(54)【発明の名称】ビデオ符号化及び復号のための方法、装置及びコンピュータプログラム
(51)【国際特許分類】
H04N 19/433 20140101AFI20241016BHJP
H04N 19/593 20140101ALI20241016BHJP
【FI】
H04N19/433
H04N19/593
【外国語出願】
(21)【出願番号】P 2023191214
(22)【出願日】2023-11-09
(62)【分割の表示】P 2020562193の分割
【原出願日】2019-11-29
【審査請求日】2023-12-01
(32)【優先日】2018-11-30
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2019-01-09
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2019-11-29
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】シュイ,シアオジョォン
(72)【発明者】
【氏名】リ,シアン
(72)【発明者】
【氏名】リィウ,シャン
【審査官】岩井 健二
(56)【参考文献】
【文献】特表2016-534660(JP,A)
【文献】特表2016-539542(JP,A)
【文献】特表2017-525267(JP,A)
【文献】CHEN, Jianle et al.,Algorithm description for Versatile Video Coding and Test Model 3 (VTM 3),Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 12th Meeting: Maca,JVET-L1002 (versino 2),ITU-T,2018年12月24日,pp.5-11
【文献】CHEN, Lulin, et al.,AHG17: New NAL unit types for VVC,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-N0072 (version 1),14th Meeting: Geneva, Switzerland,2019年03月13日,pp.1-4
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00 - 19/98
(57)【特許請求の範囲】
【請求項1】
ビデオ・エンコーダにおいて実行されるビデオ・エンコードの方法であって、当該方法は:
参照データを利用して入力データを予測的に符号化する段階を含み、
前記参照データは、前記入力データより以前のブロックを利用してローカル・デコーダ動作によって生成され、前記ローカル・デコーダ動作は、
符号化されたデータから現在の符号化領域中の現在のブロックの予測情報を復号するステップであって、前記予測情報はフレーム内ブロックコピーモードを示し、現在のブロックが属する符号化ツリーユニット(CTU)が128×128よりも少ない輝度サンプルを含む場合は、前記符号化領域のサイズは前記CTUのサイズと同じであり、それ以外の場合は、前記CTUは複数の符号化領域に分割されており、現在の符号化領域は前記複数の符号化領域のうち、現在のブロックが属する符号化領域である、ステップと、
前記現在のブロックと同じピクチャにおける参照ブロックを指し示すブロックベクトルを決定するステップであって、前記参照ブロックは、参照サンプルメモリにおいてバッファリングされた再構築されたサンプルを有する符号化領域を含む探索領域内である、ステップと、
前記参照サンプルメモリから取得した、前記参照ブロックの前記再構築されたサンプルに基づいて、前記現在のブロックの少なくとも1つのサンプルを再構築する、ステップと、を含み、
前記探索領域は、符号化領域の単位で更新される、
方法。
【請求項2】
各符号化領域は、正方形の形状を有する請求項1に記載の方法。
【請求項3】
ビデオ・エンコーダにおいて実行されるビデオ・エンコードの方法であって、当該方法は:
参照データを利用して入力データを予測的に符号化する段階を含み、
前記参照データは、前記入力データより以前のブロックを利用してローカル・デコーダ動作によって生成され、前記ローカル・デコーダ動作は、
符号化されたデータから現在の符号化領域中の現在のブロックの予測情報を復号するステップであって、前記予測情報はフレーム内ブロックコピーモードを示し、現在のブロックが属する符号化ツリーユニット(CTU)が128×128よりも少ない輝度サンプルを含む場合は、前記符号化領域のサイズは前記CTUのサイズと同じであり、それ以外の場合は、前記CTUは複数の符号化領域に分割されており、現在の符号化領域は前記複数の符号化領域のうち、現在のブロックが属する符号化領域である、ステップと、
前記現在のブロックと同じピクチャにおける参照ブロックを指し示すブロックベクトルを決定するステップであって、前記参照ブロックは、参照サンプルメモリにおいてバッファリングされた再構築されたサンプルを有する符号化領域を含む探索領域内である、ステップと、
前記参照サンプルメモリから取得した、前記参照ブロックの前記再構築されたサンプルに基づいて、前記現在のブロックの少なくとも1つのサンプルを再構築する、ステップと、を含み、
前記参照ブロックの複数の隅が同一の符号化領域の内にあるかどうかを少なくともチェックするステップをさらに含む、
方法。
【請求項4】
前記参照ブロックが部分的に前記探索領域内にある場合に、前記参照ブロックを前記探索領域内に移動するステップをさらに含む請求項1に記載の方法。
【請求項5】
前記参照ブロックと現在のブロックの間の距離が減少する方向に参照ブロックを移動するステップをさらに含む請求項4に記載の方法。
【請求項6】
符号化領域における参照サンプルのパーセンテージが増加する方向に参照ブロックを移動するステップをさらに含む請求項4に記載の方法。
【請求項7】
前記参照ブロックが部分的に前記探索領域内にある場合に、前記探索領域内にある第1の参照サンプルの情報を、前記探索領域外にある第2の参照サンプルの情報として用いるステップをさらに含む請求項1に記載の方法。
【請求項8】
前記CTUの分割において、フレキシブルブロック分割が禁止される請求項1に記載の方法。
【請求項9】
ビデオをエンコードする装置であって、
処理回路を含み、
前記処理回路は、請求項1ないし8のうちいずれか一項に記載の方法を実行するように構成されている、
装置。
【請求項10】
エンコーダのプロセッサに請求項1ないし8のうちいずれか一項に記載の方法を実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、2019年11月29日にて提出された「METHOD AND APPARATUS FOR VIDEO CODING」であるアメリカ特許出願16/699,235号の優先権を要求し、上記の出願は、2018年11月30日にて提出された「CONSTRAINTS ON REFERENCE BLOCK LOCATIONS FOR INTRA BLOCK COPY」であるアメリカ仮出願第62/774,148号、2019年1月9日にて提出された「INTRA PICTURE BLOCK COMPENSATION BUFFER REUSE WITH NON SQUARE BLOCK PARTITIONS」であるアメリカ仮出願第62/790,454号の優先権を要求し、その全ての内容は参照により援用される。
【0002】
本開示の内容は、一般的にビデオ符号化に関する実施形態を記載する。
【背景技術】
【0003】
本明細書で提供される背景記載は、本開示の内容の背景を総体的に体現することを目的とする。該背景技術部分に記載の作業程度から見れば、現在署名の発明者の作業、及び提出の際に別に従来技術の記載として限定されていない態様について、明確且つ暗黙的に本開示の内容に対する従来技術として認められない。
【0004】
動き補償を有するフレーム間予測を使用してビデオの符号化と復号化を実行することができる。非圧縮のデジタルビデオは一連のピクチャを含み得、各ピクチャは空間次元、例えば、1920×1080の輝度サンプルと関連するクロミナンスサンプルを有する。該一連のピクチャは、例えば、1秒あたり60のピクチャ又は60Hzの固定又は可変のピクチャレート(非正式にはフレームレートとも呼ばれる)を有してもよい。非圧縮のビデオには、高いビットレート要件を有する。例えば、サンプルあたりの8ビットの1080p60 4:2:0ビデオ(60Hzフレームレートでの1920×1080の輝度サンプル解像度)は、1.5Gbit/sに近い帯域幅が必要である。このような1時間のビデオは、600GBを超えるストレージスペースが必要である。
【0005】
ビデオ符号化及び復号化は、圧縮により、ビデオ信号入力における冗長を減少させることを1つの目的とする。圧縮は、以上に言及された帯域幅又は記憶空間に対する要件を減少させることに寄与し、ある状況で、2つ又はより多いオーダーを減少させる。可逆圧縮、非可逆圧縮、及びその組み合わせを利用できる。可逆圧縮は、圧縮された元の信号から元の信号の正確なコピーを再構築できる技術を指す。非可逆圧縮を利用する場合、再構築された信号は元の信号と異なる可能性もあるが、元の信号と再構築された信号との間の歪みは十分に小さいから、再構築された信号は予期の応用に役立つ。ビデオの場合、非可逆圧縮は大幅に応用される。許容の歪み量はアプリケーションに依存し、例えば、テレビ配分アプリケーションのユーザーより、消費者ストリーミング媒体プリケーションのユーザーが高い歪みを許容する。達する圧縮比は、許可/許容可能な歪みが高いほど、圧縮比が高くなることを反映する。
【0006】
ビデオ符号器と復号器は、例えば、動き補償、変換、量子化、エントロピー符号化などを含む幾つかの幅広いカテゴリの技術を利用し得る。
【0007】
ビデオコーデック技術には、フレーム内符号化〔イントラ符号化〕と呼ばれる技術が含まれる。フレーム内符号化では、サンプル値は、以前に再構築された参照ピクチャからのサンプル又は他のデータを参照せずに表現される。一部のビデオコーデックでは、ピクチャは空間的にサンプルブロックに細分される。全てのサンプルブロックをフレーム内モード〔イントラ・モード〕で符号化する場合、そのピクチャはフレーム内ピクチャ〔イントラ・ピクチャ〕であってもよい。フレーム内ピクチャとその派生物(例えば、独立した復号器リフレッシュピクチャ)は、復号器の状態をリセットできるため、符号化されたビデオビットストリームとビデオセッションにおける第1ピクチャ、又は静止ピクチャとして使用し得る。フレーム内ブロック〔イントラ・ブロック〕のサンプルを変換にかけ、エントロピー符号化の前に変換係数を量子化してもよい。フレーム内予測〔イントラ予測〕は、変換前ドメインにおけるサンプル値を最小化する技術であり得る。ある場合には、変換後のDC値が小さいほど、且つAC係数が小さいほど、所定の量子化ステップサイズでエントロピー符号化後のブロックを表すために必要なビットが少なくなる。
【0008】
例えば、MPEG-2代符号化技術から知られている従来のフレーム内符号化は、フレーム内予測を使用しない。しかしながら、新しいビデオ圧縮技術は、例えば、空間的に隣接し且つ復号化順序で先行するデータブロックの符号化/復号化の間に取得したメタデータ及び/又は周囲のサンプルデータを利用する技術を含む。このような技術は、「フレーム内予測」技術と呼ばれる。少なくともある場合では、フレーム内予測は、再構築中の現在のピクチャからの参照データのみを使用し、参照ピクチャからの参照データを使用しない。
【0009】
フレーム内予測には様々な形式がある。所定のビデオ符号化技術に一つよりも多いこのような技術を使用できる場合、使用の技術はフレーム内予測モードで符号化できる。幾つかの場合に、モードはサブモード及び/又はパラメータを有してもよく、サブモード及び/又はパラメータは個別に符号化されるか、モード・コードワード〔符号語〕に含まれてもよい。所定のモード/サブモード/パラメータの組み合わせにどのコードワードを使用するかは、フレーム内予測により符号化効率のゲインに影響を与える可能性があり、コードワードをビットストリームに変換するためのエントロピー符号化技術も符号化効率のゲインに影響を与える可能性がある。
【0010】
フレーム内予測のあるモードはH.264から導入され、H.265で洗練され、さらに、共同の探査モデル(JEM)、多用途ビデオ符号化(VVC)、ベンチマークセット(BMS)などの新しい符号化技術で洗練される。既に利用可能なサンプルに属する隣接するサンプル値を使用して予測値ブロックを形成してもよい。隣接するサンプルのサンプル値は、方向に従って予測値ブロックにコピーされる。使用の方向の参照は、ビットストリームで符号化されるか、それ自体が予測されてもよい。
【発明の概要】
【課題を解決するための手段】
【0011】
本開示の内容の各局面は、ビデオ符号化/復号化のための方法及び装置を提供する。幾つかの例において、ビデオ復号化のための装置は受信回路及び処理回路を含む。幾つかの実施形態において、処理回路は、符号化されたビデオビットストリームから現在符号化中の現在のブロックの予測情報を復号化する。予測情報はフレーム内ブロックコピーモードを指示する。その後、処理回路は、現在のブロックと同じピクチャ内の参照ブロックを指すブロックベクトルを決定する。参照ブロックは符号化領域に制限され、再構築されたサンプルは参照サンプルメモリにおいてバッファリングされる。符号化領域は、符号化ツリーユニット(CTU)の複数の予め定義された領域の一つである。そして、処理回路は、参照サンプルメモリから検索された参照ブロックの再構築されたサンプルに基づいて少なくともの現在のブロックのサンプルを再構築する。
【0012】
幾つかの例において、符号化領域は正方形の形状を有する。例において、CTUは、128×128サンプルの輝度成分を有するように配置されている。
【0013】
実施形態において、参照サンプルメモリは、符号化領域を単位として参照サンプルメモリにおいてバッファリングされるサンプルを更新するように配置されている。
【0014】
幾つかの実施形態において、処理回路は、参照ブロックの複数の隅が符号化領域内にあるかどうかをチェックする。
【0015】
例において、CTUが128×128輝度サンプルを含む場合に、符号化領域のサイズは64×64輝度サンプルのサイズである。別の例において、CTUに128×128よりも少ない輝度サンプルを含む場合に、符号化領域のサイズはCTUのサイズと同じである。
【0016】
幾つかの実施形態において、処理回路は、参照ブロックが移動前に部分的に符号化領域にある場合に、参照ブロックを符号化領域に移動させる。例において、処理回路は、参照ブロックと現在のブロックの間の距離を減少させる方向に参照ブロックを移動させる。別の例において、処理回路は、符号化領域における参照サンプルのパーセンテージが増加する方向に参照ブロックを移動させる。
【0017】
幾つかの実施形態において、処理回路は、参照ブロックが部分的に符号化領域にある場合に、符号化領域にある第1の参照サンプルの情報を、符号化領域外にある第2の参照サンプルの情報として使用する。幾つかの例において、CTUの分割においてフレキシブルブロック分割が禁止される。
【0018】
本開示の内容の各局面は、さらに、命令が記憶される非一時的なコンピュータ読み取り可能な媒体を提供し、該命令はビデオ復号化を行うように、コンピュータによって実行される場合、コンピュータに前記ビデオ符号化のための方法を実行させる。
【図面の簡単な説明】
【0019】
以下の詳しい記載及び図面に基づいて、開示のテーマの他の特徴、性質及び様々な利点はより明確になり、図面において、
【0020】
【
図1】実施形態による通信システム(100)の簡略化ブロック図の模式図である。
【0021】
【
図2】実施形態による通信システム(200)の簡略化ブロック図の模式図である。
【0022】
【
図3】実施形態による復号器の簡略化ブロック図の模式図である。
【0023】
【
図4】実施形態による符号器の簡略化ブロック図の模式図である。
【0024】
【
図5】他の実施形態による符号器のブロック図を示す。
【0025】
【
図6】他の実施形態による復号器のブロック図を示す。
【0026】
【
図7】本開示の内容の実施形態によるフレーム内ブロックコピーの例を示す。
【0027】
【
図8】A~Dは、本開示の内容の実施形態による参照サンプルメモリ更新及びフレーム内ブロックコピーモードの有効検索範囲の例を示す。
【0028】
【
図9】A~Hは、非正方形ブロックの分割をもたらす可能性のある幾つかの例を示す。
【0029】
【
図10A】符号化順序及び参照サンプルメモリの使用の2つの例を示す図の一である。
【
図10B】符号化順序及び参照サンプルメモリの使用の2つの例を示す図の一である。
【0030】
【
図11】A及びBは、参照ブロックにおける2つの異なる符号化領域からのサンプルの例を示す。
【0031】
【
図12】A~Fは、参照サンプルメモリの再利用ストラテジーの例を示す。
【0032】
【
図13】A~Fは、本開示の内容の幾つかの実施形態による更新処理の例を示す。
【0033】
【
図14】本開示の内容の幾つかの実施形態による処理の例を概説するフローチャートを示す。
【0034】
【
図15】実施形態によるコンピュータシステムの模式図である。
【発明を実施するための形態】
【0035】
図1は、本開示の内容の実施形態による通信システム(100)の簡略化ブロック図を示す。通信システム(100)は、例えばネットワーク(150)を介して互いに通信できる複数の端末機器を含む。例えば、通信システム(100)はネットワーク(150)を介して互いに接続された第1対の端末機器(110)、(120)とを有する。
図1の例示において、該第1対の端末機器(110)、(120)は一方向のデータ伝送を実行する。例えば、端末機器(110)はビデオデータ(例えば、端末機器(110)によりキャプチャされたビデオピクチャストリーム)を符号化することで、ネットワーク(150)を介して他の端末機器(120)に伝送される。符号化ビデオデータは1つ又は複数の符号化ビデオビットストリームという形式で伝送されてもよい。端末機器(120)はネットワーク(150)から符号化ビデオデータを受信し、符号化ビデオデータを復号化することで、ビデオピクチャを回復させ、回復されたビデオデータに応じてビデオピクチャを表示する。一方向のデータ伝送はメディアサービスアプリケーションなどにおいて、よく見られる。
【0036】
他の例において、通信システム(100)は、符号化ビデオデータの双方向伝送を実行するための第2対の端末機器(130)、(140)とを含み、双方向伝送は、例えばビデオ会議期間に発生し得る。双方向データ伝送について、例示において、端末機器(130)、(140)における各端末機器は、ビデオデータ(例えば、端末機器によりキャプチャされたビデオピクチャストリーム)を符号化することで、ネットワーク(150)を介して端末機器(130)、(140)のうちの他の端末機器に伝送できる。端末機器(130)、(140)のうちの各端末機器はさらに端末機器(130)、(140)のうちの他の端末機器から伝送される符号化ビデオデータを受信し、符号化ビデオデータを復号化することでビデオピクチャを回復させ、復元されたビデオデータに応じてアクセス可能な表示機器でビデオピクチャを表示できる。
【0037】
図1に示す例において、端末機器(110)、(120)、(130)及び(140)は、サーバー、パーソナルコンピュータ及びスマートフォンとして示されるが、本開示の内容の原理はこれに限定されない。本開示の内容の実施例はラップトップコンピュータ、タブレット、メディアプレイヤー及び/または専門ビデオ会議機器に適用される。ネットワーク(150)は、端末機器(110)、端末機器(120)、端末機器(130)及び端末機器(140)の間で符号化ビデオデータを伝送するための、例えば有線接続(ワイヤード)及び/または無線通信ネットワークが含まれる任意の数のネットワークを示す。通信ネットワーク(150)は回路交換及び/またはパケット交換チャネルにおいてデータを交換できる。代表的なネットワークは電気通信ネットワーク、ローカルエリアネットワーク、広域エリアネットワーク及び/またはインターネットを含む。本論述の目的から見れば、本明細書において別途に説明しない限り、ネットワーク(150)のアーキテクチャ及びトポロジは、本開示の内容の操作に対して重要ではない。
【0038】
開示されるテーマの応用例示として、
図2は、ビデオ符号器とビデオ復号器とのストリーミング伝送環境における配置を示す。開示のテーマは等価的にビデオを支持する他のアプリケーション、例えばビデオ会議、デジタルテレビが含まれるアプリケーションに適用され、CD、DVD、メモリースティックなどが含まれるデジタル媒体に圧縮されたビデオなどが記憶される。
【0039】
ストリーミング伝送システムは、キャプチャサブシステム(213)を含み、該キャプチャサブシステム(213)は、例えば非圧縮のビデオピクチャストリーム(202)を構築するための、デジタル撮影装置のようなビデオソース(201)を含む。例示において、ビデオピクチャストリーム(202)は、デジタル撮影装置により撮影されたサンプルを含む。符号化ビデオデータ(204)(または符号化されたビデオビットストリーム)と比較する場合、データ量が多いことを強調するように太線として描画されるビデオピクチャストリーム(202)は、ビデオソース(201)に連結されるビデオ符号器(203)を含む電子機器(220)によって処理される。ビデオ符号器(203)はハードウェア、ソフトウェアまたはその組み合わせを含むことで、以下により詳しく記載される開示のテーマの各態様を実現または実施する。ビデオピクチャストリーム(202)と比較する場合、データ量が少ないことを強調するように細線として描画される符号化ビデオデータ(204)(または符号化されたビデオビットストリーム(204))はストリーミングサーバー(205)に記憶されることで、後で用いられる。
図2におけるクライアントサブシステム(206)、(208)のような1つ又は複数のストリーミングクライアントサブシステムは、ストリーミングサーバー(205)にアクセスすることで、符号化ビデオデータ(204)のコピー(207)、(209)を検索できる。クライアントサブシステム(206)は、例えば電子機器(230)におけるビデオ復号器(210)を含む。ビデオ復号器(210)は符号化ビデオデータの導入コピー(207)を復号化し、ディスプレイ(212)(例えば、スクリーン)または他の表示機器(図示せず)に表示される導出ビデオピクチャストリーム(211)を構築する。あるストリーミング伝送システムにおいては、符号化ビデオデータ(204)、(207)及び(209)(例えば、ビデオビットストリーム)は、あるビデオ符号化/圧縮規格に基づき符号化することができる。これらの規格の例示はITU-T H.265提案書を含む。例示において、開発中のビデオ符号化規格は、非公式に多用途ビデオコーディングまたはVVCと呼ばれる。開示されるテーマはVVCのコンテキストに適用される。
【0040】
なお、電子機器(220)、(230)は他の部材(図示せず)を含んでもよい。例えば、電子機器(220)はビデオ復号器(図示せず)を含んでもよく、電子機器(230)はビデオ符号器(図示せず)を含んでもよい。
【0041】
図3は、本開示の内容の実施形態によるビデオ復号器(310)のブロック図である。ビデオ復号器(310)は電子機器(330)に含まれてもよい。電子機器(330)は受信器(331)(例えば、受信回路)を含んでもよい。ビデオ復号器(310)は、
図2の例示におけるビデオ復号器(210)の代わりとしてもよい。
【0042】
受信器(331)は、ビデオ復号器(310)によって復号化される1つ又は複数の符号化ビデオシーケンスを受信でき、同一の実施例または他の実施例において、1回に1つの符号化ビデオシーケンスを受信し、各符号化ビデオシーケンスの復号化は、他の符号化ビデオシーケンスと独立する。チャンネル(301)から符号化ビデオシーケンスを受信してもよく、チャンネル(301)は符号化ビデオデータを記憶するための記憶機器へのハードウェア/ソフトウェアリンクであってもよい。受信器(331)は符号化ビデオデータ及び他のデータを受信でき、例えば、それぞれの利用エンティティ(図示せず)に転送できる符号化されたオーディオデータ及び/または補助データストリームを受信できる。受信器(331)は符号化ビデオシーケンスと他のデータとを分割できる。ネットワークのジッタを防止するために、バッファメモリ(315)は受信器(331)とエントロピー復号器/パーサ(320)(以下は、「パーサ(320)」と呼ばれる)との間に連結される。幾つかの応用において、バッファメモリ(315)はビデオ復号器(310)の一部である。他の応用において、バッファメモリ(315)はビデオ復号器(310)の外部にあってもよい(図示せず)。さらに、他の応用において、ビデオ復号器(310)の外部にはバッファメモリ(図示せず)が設けられることで、例えばネットワークのジッタを防止し、さらに、ビデオ復号器(310)の内部には別のバッファメモリ(315)が設けられることで、例えば、再生タイミングを処理することができる。受信器(331)は十分な帯域幅及び制御可能性を有する記憶/転送機器、またはアイソクロナスネットワークからデータを受信する際、バッファメモリ(315)を必要としないか、または、バッファメモリ(315)が小さくてもよい。例えば、インターネットのようなベストエフォート型パケットネットワークで利用するために、バッファメモリ(315)を必要とする可能性もあり、バッファメモリ(315)は相対的に大きく、有利に自己適応の大きさを有してもよく、少なくとも一部的にオペレータシステムまたはビデオ復号器(310)の外部にある類似の要素(図示せず)で実現される。
【0043】
ビデオ復号器(310)は、符号化ビデオシーケンスに基づき符号(321)を再構築するパーサ(320)を有する。これらの符号のカテゴリにはビデオ復号器(310)の操作を管理するための情報、及び表示機器(312)(例えば、スクリーン)のような表示機器を制御するための潜在情報が含まれ、
図3に示すように、該表示機器(312)は電子機器(330)の一体部分ではなく、電子機器(330)に連結される。(1つ又は複数の)表示機器に用いられる制御情報は補充強化情報(SEIメッセージ)またはビデオユーザビリティ情報(VUI)パラメータセットセグメント(図示せず)という形式であってもよい。パーサ(320)は受信された、符号化ビデオシーケンスに対して解析/エントロピー復号化を行う。符号化ビデオシーケンスの符号化は、ビデオ符号化技術または規格に基づくとともに、可変長符号化、ハフマン符号化(Huffman coding)、コンテキスト感度を有するかまたは有しない算術符号化などのような各種原理に従う。パーサ(320)はグループに対応する少なくとも1つのパラメータに基づき、符号化ビデオシーケンスから、ビデオ復号器における画素のサブグループのうちの少なくとも1つのサブグループのためのサブグループパラメータセットを抽出する。サブグループには、ピクチャグループ(GOP)、ピクチャ、タイル、スライス、マクロブロック、符号化ユニット(CU)、ブロック、変換ユニット(TU)、予測ユニット(PU)などが含まれる。パーサ(320)はさらに符号化ビデオシーケンスから、変換係数、量子化器パラメータ値、動きベクトルなどのような情報を抽出できる。
【0044】
パーサ(320)は、バッファメモリ(315)から受信したビデオシーケンスに対してエントロピー復号化/解析操作を実行することで、符号(321)を構築し得る。
【0045】
符号化されたビデオピクチャまたはその一部(例えば、フレーム間ピクチャ及びフレーム内ピクチャ、フレーム間ブロック及びフレーム内ブロック)のタイプ及び他の要因に依存し、符号(321)の再構築は複数の異なるユニットに関わる。どのユニットに関わるか、及び関わる方式は、パーサ(320)が符号化ビデオシーケンスから解析したサブグループ制御情報によって制御できる。簡潔のために、パーサ(320)と以下の複数のユニットとの間のこのようなサブグループ制御情報の流れを記載していない。
【0046】
既に言及された機能ブロック以外では、ビデオ復号器(310)は概念的に以下に記載の若干の機能ユニットに細分できる。商業制約で実行する実際の実現方式において、これらのユニットにおける複数のユニットは互いに密接に対話するとともに、少なくとも部分的に互いに集積されてもよい。ただし、開示のテーマを説明するという目的から見れば、概念的に以下の機能ユニットに細分されることは適切である。
【0047】
第1ユニットはスケーラ/逆変換ユニット(351)である。スケーラ/逆変換ユニット(351)はパーサ(320)から、(1つ又は複数の)符号(321)としての量子化変換係数及び制御情報を受信する。制御情報は、どんな変換方式を利用するか、ブロックの大きさ、量子化因子、量子化スケーリング行列などを含む。スケーラ/逆変換ユニット(351)は、アグリゲーター(355)に入力される、サンプル値が含まれるブロックを出力できる。
【0048】
幾つかの場合に、スケーラ/逆変換ユニット(351)の出力サンプルはフレーム内符号化ブロックに属してもよく、即ち、前に再構築されたピクチャからの予測性情報を利用しないが、現在のピクチャの前に再構築された部分からの予測性情報のブロックを利用できる。このような予測性情報はフレーム内ピクチャ予測ユニット(352)から提供される。ある状況で、フレーム内ピクチャ予測ユニット(352)は現在のピクチャバッファ(358)から抽出された周辺の再構築された情報によって、再構築中のブロックの大きさ及び形状と同じであるブロックを生成する。例えば、現在のピクチャバッファ(358)は部分的に再構築された現在のピクチャ及び/または完全に再構築された現在のピクチャをバッファリングする。ある状況で、アグリゲーター(355)は各サンプルに基づき、フレーム内予測ユニット(352)が生成した予測情報を、スケーラ/逆変換ユニット(351)によって提供された出力サンプル情報に追加する。
【0049】
他の場合に、スケーラ/逆変換ユニット(351)の出力サンプルはフレーム間符号化ブロックと潜在動き補償ブロックに属してもよい。このような状況で、動き補償予測ユニット(353)は参照ピクチャメモリ(357)にアクセスすることで、予測のためのサンプルを抽出できる。該ブロックに属する符号(321)に基づき、抽出されたサンプルに対して動き補償を行った後、これらのサンプルはアグリゲーター(355)からスケーラ/逆変換ユニット(351)の出力に追加され(この場合、残差サンプルまたは残差信号と呼ばれる)、出力サンプル情報を生成する。動き補償予測ユニット(353)が予測サンプルを抽出する参照ピクチャメモリ(357)内のアドレスは、動きベクトルによって制御でき、動きベクトルは符号(321)の形式で、動き補償予測ユニット(353)に用いられ、符号(321)は、例えばX、Y及び参照ピクチャ成分を有してもよい。動き補償はさらに、サブサンプルの正確な動きベクトルを使用する際、参照ピクチャメモリ(357)から抽出されたサンプル値の補間、動きベクトル予測メカニズムなどを含んでもよい。
【0050】
アグリゲーター(355)の出力サンプルは、ループフィルタユニット(356)において、各種のループフィルタリング技術を利用できる。ビデオ圧縮技術はループ内フィルタ技術を含み、ループ内フィルタ技術は、符号化ビデオシーケンス(符号化されたビデオビットストリームとも呼ばれる)に含まれるとともに、パーサ(320)からの符号(321)として、ループフィルタユニット(356)のパラメータ制御に使用されるが、ビデオ圧縮技術は、符号化されたピクチャまたは符号化ビデオシーケンスの(復号化の順序で)の前の部分を復号化する期間で取得されたメタ情報、及び前に再構築されループフィルタリングを経るサンプル値に応答できる。
【0051】
ループフィルタユニット(356)の出力はサンプルストリームであってもよく、サンプルストリームは表示機器(312)に出力され、及び参照ピクチャメモリ(357)に記憶されることで、後にフレーム間ピクチャ予測に用いられる。
【0052】
完全に再構築されると、ある符号化されたピクチャは参照ピクチャとして、後の予測に用いることができる。例えば、現在のピクチャに対応する符号化されたピクチャが完全に再構築され、符号化されたピクチャ(例えばパーサ(320)を介して)が参照ピクチャとして認識されると、現在のピクチャバッファ(358)は参照ピクチャメモリ(357)の一部になり、その後の符号化されたピクチャを再構築する前に、新たな現在のピクチャバッファを改めて割り当てる。
【0053】
ビデオ復号器(310)は、例えばITU-T H.265提案書のような規格における所定のビデオ圧縮技術に基づき、復号化操作を実行することができる。符号化ビデオシーケンスは、ビデオ圧縮技術または規格の文法、及びビデオ圧縮技術または規格で文書化されたプロファイルの両者に従うという意味で、符号化ビデオシーケンスは使用中のビデオ圧縮技術または規格が指定する文法に準拠する。具体的に、プロファイルはビデオ圧縮技術または規格における利用可能な全てのツールから、該プロファイルのもとで利用可能なツールとして、幾つかのツールを選択できる。準拠性のために、符号化ビデオシーケンスの複雑度が、ビデオ圧縮技術または規格のレベルによって定義される範囲内にあることが要求されることがある。ある状況では、レベルは最大ピクチャの大きさ、最大フレームレート、最大再構築サンプリングレート(例えば、100万サンプル/秒の単位で測る)、最大参照ピクチャの大きさを制限する。ある状況で、レベルにより設定される制限は、仮想参照復号器(HRD)の仕様、及び符号化ビデオシーケンスにおいてシグナリングされたHRDバッファの管理のメタデータを介してさらに限定される。
【0054】
実施形態において、受信器(331)は追加(冗長)データ及び符号化されたビデオを受信できる。追加データは(1つ又は複数の)符号化ビデオシーケンスの一部として含まれる。追加データはビデオ復号器(310)によって利用されることで、データを適切に復号化し、及び/またはオリジナルビデオデータをより正確に再構築することができる。追加データは、例えば時間、空間または信号対雑音比(SNR)強化層、冗長スライス、冗長ピクチャ、前方誤り訂正符号などの形式であってもよい。
【0055】
図4は、本開示の内容の実施形態によるビデオ符号化器(403)のブロック図を示す。ビデオ符号器(403)は電子機器(420)に含まれる。電子機器(420)は伝送器(440)(例えば、伝送回路)を有する。ビデオ符号器(403)は
図2の例示におけるビデオ符号器(203)の代わりとすることができる。
【0056】
ビデオ符号器(403)はビデオ符号器(403)によって符号化されるビデオ画像をキャプチャし得るビデオソース(401)(
図4例示における電子機器(420)の一部ではない)からビデオサンプルを受信できる。他の例示において、ビデオソース(401)は電子機器(420)の一部である。
【0057】
ビデオソース(401)は、ビデオ符号器(403)によって符号化され、デジタルビデオサンプルストリームの形式であるソースビデオシーケンスを提供でき、該デジタルビデオサンプルストリームは任意の適切なビット深度(例えば、8ビット、10ビット、12ビット…)、任意の色空間(例えば、BT.601 YCrCB、RGB……)、及び任意の適切なサンプリング構成(例えば、YCrCb 4:2:0、YCrCb 4:4:4)を有してもよい。メディアサービスシステムにおいて、ビデオソース(401)は、前に準備されたビデオを記憶するための記憶機器であってもよい。ビデオ会議システムにおいて、ビデオソース(401)は、ビデオシーケンスとして、ローカル画像情報をキャプチャするための撮影装置であってもよい。ビデオデータは、順序に応じて見る際、動きが付与された複数の単独のピクチャとして提供されてもよい。ピクチャそのものは、空間画素アレイとして組織され、使用のサンプリング構成、色空間などに依存し、各画素には1つ又は複数のサンプルが含まれてもよい。画素とサンプルとの間の関係は、当業者にとって容易に理解できる。以下の記載はサンプルに着目する。
【0058】
実施形態によれば、ビデオ符号器(403)は、リアルタイムまたはアプリケーションの必要な任意の他の時間の制約で、ソースビデオシーケンスのピクチャを符号化するとともに、符号化ビデオシーケンス(443)として圧縮する。適切的な符号化速度で実行することは、コントローラ(450)の1つの機能である。幾つかの実施例において、コントローラ(450)は以下に記載の他の機能ユニットを制御するとともに、機能的に他の機能ユニットに連結される。簡潔のために、該連結を図示していない。コントローラ(450)により設置されるパラメータは、レート制御に関するパラメータ(ピクチャスキップ、量子化器、レート歪み最適化技術のλ値......)、ピクチャの大きさ、ピクチャグループ(GOP)の配置、最大動きベクトルの検索範囲などを含んでもよい。コントローラ(450)は他の適切な機能を有するように配置されてもよく、これらの機能は、あるシステム設計に対して最適化したビデオ符号器(403)に属する。
【0059】
幾つかの実施形態において、ビデオ符号器(403)は符号化ループにおいて操作するように配置される。非常に簡単な記載として、1つの例示において、符号化ループはソース符号器(430)(例えば、符号化対象となる入力ピクチャと(1つ又は複数)参照ピクチャに基づき、符号ストリームのような符号を構築することに担当する)、及びビデオ符号器(403)に埋め込まれる(ローカル)復号器(433)を含む。復号器(433)は、(リモート)復号器がサンプルデータを構築するという方式で、符号を再構築し、サンプルデータを構築する(なぜならば、開示のテーマで考慮されるビデオ圧縮技術において、符号と符号化されたビデオビットストリームとの間の圧縮はいずれも可逆であるからだ)。再構築されたサンプルストリーム(サンプルデータ)を参照ピクチャメモリ(434)に入力する。符号ストリームの復号化は、復号器位置(ローカルまたはリモート)と関係がないビット正確結果を発生させるから、参照ピクチャメモリ(434)におけるコンテンツはローカル符号器とリモート符号器との間でもビット正確である。言い換えれば、符号器の予測部分から「見られる」参照ピクチャサンプルは復号器が復号化期間で予測を利用しようとする際に「見られる」サンプル値と完全に同じである。該参照ピクチャの同期性の基本原理は(及び、例えばチャンネル誤差から、同期性を維持できない場合に発生するドリフト)も関連分野に適用される。
【0060】
「ローカル」復号器(433)の操作は、例えば、以上
図3を結合し詳しく記載したビデオ復号器(310)のような「リモート」復号器の操作と同じであってもよい。ただし、
図3を簡単に参照し、符号は利用可能で、エントロピー符号器(445)とパーサ(320)とはロスレスに符号を符号化ビデオシーケンスに符号化/復号化することができる場合、バッファメモリ(315)とパーサ(320)とを含むビデオ復号器(310)のエントロピー復号化部分は、ローカル復号器(433)において完全に実現されない可能性がある。
【0061】
この場合、復号器に存在する解析/エントロピー復号化以外の任意の復号器技術も、必然として、基本的に同じ機能という形式で、対応する符号器に存在する。このため、開示のテーマは、復号器の操作に着目する。符号器技術と全面的に記載された復号器技術とは反対するから、符号器技術に対する記載を簡略化し得る。特定の領域のみより詳しい記載が必要で、以下で提供される。
【0062】
操作期間において、幾つかの例示において、ソース符号器(430)は動き補償予測符号化を実行でき、該動き補償予測符号化はビデオシーケンスからの、「参照ピクチャ」として指定される1つ又は複数の前の符号化ピクチャを参照し、入力ピクチャに対して予測性符号化を行う。該方式で、符号化エンジン(432)は、入力ピクチャの画素ブロックと、入力ピクチャの(1つ又は複数の)予測参照の(1つ又は複数の)参照ピクチャとして選択される画素ブロックとの間の差に対して符号化を行う。
【0063】
ローカルビデオ復号器(433)は、ソース符号器(430)によって構築された符号に基づき、参照ピクチャとして指定できるピクチャの符号化ビデオデータを復号化することができる。符号化エンジン(432)の操作は好ましくは非可逆処理である。符号化ビデオデータがビデオ復号器(
図4において図示せず)で復号化できると、再構築されたビデオシーケンスは、一般的にある程度誤差を有するソースビデオシーケンスのコピーであってもよい。ローカルビデオ復号器(433)はビデオ復号器が参照ピクチャに対して実行する復号化処理をコピーするとともに、再構築された参照ピクチャを参照ピクチャキャッシュ(434)に記憶させる。該方式で、ビデオ符号器(403)は再構築された参照ピクチャのコピーをローカル的に記憶し、該コピーは、リモートビデオ復号器によって取得される再構築の参照ピクチャと、共通のコンテンツを有する(伝送誤差がない)。
【0064】
予測器(435)は、符号化エンジン(432)に対して予測検索を実行することができる。即ち、符号化対象となる新たなピクチャに対して、予測器(435)は参照ピクチャメモリ(434)から新たなピクチャとしての適切な予測参照のサンプルデータ(候補参照画素ブロックとして)、またはあるメタデータ例えば参照ピクチャ動きベクトル、ブロック形状などを検索する。予測器(435)はサンプルブロックに基づき、画素ブロックごとに操作することで、適切な予測参照を見つけることができる。ある状況で、予測器(435)によって取得された検索結果に基づき決定されるように、入力ピクチャは参照ピクチャメモリ(434)に記憶された複数の参照ピクチャから取得される予測参照を有してもよい。
【0065】
コントローラ(450)は、ソース符号器(430)の符号化操作を管理でき、例えば、ビデオデータを符号化するためのパラメータとサブグループパラメータを設置する。
【0066】
エントロピー符号器(445)において、以上に言及された全ての機能ユニットの出力に対してエントロピー符号化を行うことができる。エントロピー符号器(445)は、例えばハフマン符号化、可変長符号化、算術符号化などの技術に基づいて、各種機能ユニットから生成された符号に対して可逆圧縮を行うことで、符号を符号化ビデオシーケンスに変換する。
【0067】
伝送器(440)は、エントロピー符号器(445)によって構築された(1つ又は複数の)符号化ビデオシーケンスをバッファリングすることで、通信チャンネル(460)を介して伝送するように準備し、通信チャンネル(460)は符号化ビデオデータを記憶するための記憶機器へのハードウェア/ソフトウェアリンクであってもよい。伝送器(440)はビデオ符号器(403)からの符号化ビデオデータと、伝送対象となる他のデータ、例えば符号化オーディオデータ及び/または補助データストリーム(ソースを図示せず)とをマージする。
【0068】
コントローラ(450)は、ビデオ符号器(403)の操作を管理できる。符号化の期間に、コントローラ(450)は各符号化ピクチャに、特定の符号化ピクチャタイプを割り当て、これはそれぞれの画像に適用され得る符号化技術に影響を及ぼし得る。例えば、一般的に、ピクチャに以下のピクチャタイプのうちの1つが割り当てられる。
【0069】
フレーム内ピクチャ(Iピクチャ)は、シーケンスにおけるいずれの他のピクチャも予測のソースとして使うことなく、符号化及び復号化されるピクチャであってもよい。いくつかのビデオコーデックは、例えば独立復号器リフレッシュ(「IDR」)ピクチャを含む、異なるタイプのフレーム内ピクチャを許容する。当業者は、Iピクチャの変体及びその相応的な応用、特徴を理解できる。
【0070】
予測性ピクチャ(Pピクチャ)は、フレーム内予測〔イントラ予測〕またはフレーム間予測〔インター予測〕を利用して符号化及び復号化されるピクチャであってもよく、該フレーム内予測またはフレーム間予測は多くても1つの動きベクトル及び参照インデックスを使って各ブロックのサンプル値を予測する。
【0071】
双方向予測性ピクチャ(Bピクチャ)は、フレーム内予測またはフレーム間予測を利用して符号化及び復号化されるピクチャであってもよく、該フレーム内予測またはフレーム間予測は多くても2つの動きベクトル及び参照インデックスによって、各ブロックのサンプル値を予測する。同様に、マルチ予測性ピクチャは、2つより多い参照ピクチャおよび関連するメタデータを、単一のブロックの再構築に使用できる。
【0072】
ソースピクチャは一般的に、空間で複数のサンプルブロック(例えば、4×4、8×8、4×8または16×16個のサンプルのブロック)に細分できるとともに、ブロックごとに符号化されることができる。これらのブロックは、他の(すでに符号化された)ブロックを参照して予測的に符号化され、該他のブロックはブロックの相応的なピクチャに適用される符号化割当によって決定される。例えば、Iピクチャのブロックは、非予測的に符号化されてもよく、または同じピクチャのすでに符号化されたブロックを参照して、予測的に符号化(空間予測またはフレーム内予測)されてもよい。Pピクチャの画素ブロックは、前に符号化された1つの参照ピクチャを参照し、空間予測または時間予測を介して予測的に符号化されてもよい。Bピクチャのブロックは、前に符号化された1つまたは2つの参照ピクチャを参照し、空間予測または時間予測を介して予測的に符号化されてもよい。
【0073】
ビデオ符号器(403)は、例えばITU-T H.265提案書の所定のビデオ符号化技術または規格に基づき符号化操作を実行することができる。ビデオ符号器(403)は、その操作において、入力ビデオシーケンスにおける時間と空間冗長を利用した予測性符号化操作を含む各種の圧縮操作を実行できる。従って、符号化ビデオデータは、使用のビデオ符号化技術または規格が指定する文法に合う。
【0074】
実施形態において、伝送器(440)は追加データ及び符号化されたビデオを伝送することができる。ソース符号器(430)は符号化ビデオシーケンスの一部として、このようなデータを含んでもよい。追加データは、時間/空間/SNR強化層、冗長ピクチャ及びスライスのような他の形式の冗長データ、補充強化情報(SEI)メッセージ、ビデオユーザビリティ情報(VUI)パラメータセットセグメントなどを含んでもよい。
【0075】
ビデオは、時間的順序で複数のソースピクチャ(ビデオピクチャ)としてキャプチャされ得る。フレーム内ピクチャ予測(一般的にフレーム内予測に簡略化される)は特定のピクチャにおける空間の関連性を利用し、フレーム間ピクチャ予測はピクチャの間の(時間または他の)関連性を利用する。例示において、現在のピクチャと呼ばれる符号化/復号化における特定ピクチャは、ブロックに分割される。現在のピクチャにおけるブロックは、ビデオにおける前に符号化され且つ依然としてバッファリングされる参照ピクチャにおける参照ブロックに類似する場合、動きベクトルと呼ばれるベクトルによって、現在のピクチャにおけるブロックを符号化することができる。前記動きベクトルは参照ピクチャにおける参照ブロックを指し、複数の参照ピクチャを利用する場合、参照ピクチャを認識するための第3次元を有してもよい。
【0076】
幾つかの実施形態において、双方向予測技術はフレーム間ピクチャ予測に用いられる。双方向予測技術に基づき、復号化順次でいずれもビデオにおける現在のピクチャの前(ただし、表示順次で、それぞれ過去と将来にある可能性がある)にある、第1参照ピクチャと第2参照ピクチャのような2つの参照ピクチャを利用する。第1参照ピクチャにおける第1参照ブロックを指す第1動きベクトル、及び第2参照ピクチャにおける第2参照ブロックを指す第2動きベクトルによって現在のピクチャにおけるブロックを符号化することができる。第1参照ブロックと第2参照ブロックとの組み合わせで、ブロックを予測できる。
【0077】
また、マージモード技術は、フレーム間ピクチャ予測に用いられることで、符号化効率を向上させる。
【0078】
本開示の内容の幾つかの実施形態によれば、ブロックごとにフレーム間ピクチャ予測及びフレーム内ピクチャ予測のような予測を実行する。例えば、HEVC規格に基づき、ビデオピクチャシーケンスにおけるピクチャは符号化ツリーブユニット(CTU)に分割され、圧縮に用いられ、ピクチャにおけるCTUは、例えば64×64画素、32×32画素または16×16画素のような同じサイズを有する。一般的に、CTUは、1つの輝度CTBと2つのクロミナンスCTBとが含まれる3つの符号化ツリーブロック(CTB)を含む。各CTUは再帰的に、クワッドツリーで1つ又は複数の符号化ユニット(CU)に分割される。例えば、64×64画素であるCTUを64×64画素である1つのCU、または32×32画素である4つのCU、或いは16×16画素である16個のCUに分割する。例示において、各CUを分析することで、フレーム間予測タイプまたはフレーム内予測タイプのような、CUに用いられる予測タイプを決定する。時間及び/または空間の予測可能性に依存し、CUは1つ又は複数の予測ユニット(PU)に分割される。一般的に、各PUは輝度予測ブロック(PB)と2つのクロミナンスPBとを含む。実施形態において、符号化(符号化/復号化)における予測操作は、予測ブロックごとに実行される。予測ブロックの例示として、輝度予測ブロックを利用し、予測ブロックは、8×8画素、16×16画素、8×16画素、16×8画素などのような画素値(例えば、輝度値)の行列を含む。
【0079】
図5は、本開示の内容の他の実施形態によるビデオ符号化器(503)の図を示す。ビデオ符号化器(503)は、ビデオピクチャシーケンスにおける現在ビデオピクチャ内のサンプル値の処理ブロック(例えば、予測ブロック)を受信するとともに、処理ブロックを符号化ビデオシーケンスの一部としての符号化ピクチャに符号化するように配置される。例示において、ビデオ符号器(503)は
図2の例示におけるビデオ符号器(203)の代わりとして用いられる。
【0080】
HEVC例示において、ビデオ符号器(503)は、処理ブロック、例えば8×8サンプルの予測ブロックなどのサンプル値の行列を受信する。ビデオ符号器(503)は、例えばレート歪み最適化によって、フレーム内モード、フレーム間モードまたは双方向予測モードを利用して最適に処理ブロックを符号化するかということを決定する。フレーム内モードで処理ブロックを符号化しようとすると、ビデオ符号器(503)はフレーム内予測技術によって、処理ブロックを符号化ピクチャに符号化し、フレーム間モードまたは双方向予測モードで処理ブロックを符号化しようとすると、ビデオ符号器(503)はそれぞれフレーム間予測または双方向予測技術によって、処理ブロックを符号化ピクチャに符号化することができる。あるビデオ符号化技術において、マージモードはフレーム間ピクチャ予測サブモードであってもよく、予測値の外部にある符号化動きベクトル成分を借りない場合、1つ又は複数の動きベクトル予測値(predictor)から動きベクトルを導出する。ある他のビデオ符号化技術において、テーマブロックに適用される動きベクトル成分が存在し得る。例示において、ビデオ符号器(503)は、処理ブロックのモードを決定するためのモード決定モジュール(図示せず)のような、他の部材を含む。
【0081】
図5の例示において、ビデオ符号器(503)は
図5に示すように連結されたフレーム間符号器(530)、フレーム内符号器(522)、残差計算器(523)、スイッチ(526)、残差符号器(524)、汎用コントローラ(521)及びエントロピー符号器(525)を含む。
【0082】
フレーム間符号器(530)は、現在ブロック(例えば、処理ブロック)のサンプルを受信し、ブロックと参照ピクチャにおける1つ又は複数の参照ブロック(例えば、前のピクチャとその後のピクチャにおけるブロック)とを比較し、フレーム間予測情報(例えば、動きベクトル、マージモード情報、フレーム間符号化技術による冗長情報に対する記載)を生成し、フレーム間予測情報に基づき任意の適切な技術を利用してフレーム間予測結果(例えば、予測のブロック)を計算するように配置される。幾つかの例示において、参照ピクチャは符号化されたビデオ情報に基づき復号化された、復号化済み参照ピクチャである。
【0083】
フレーム内符号器(522)は、現在ブロック(例えば、処理ブロック)のサンプルを受信し、幾つかの場合に、ブロックと同一のピクチャにおける符号化されたブロックとを比較し、変換した後、量子化係数を生成し、ある状況で、さらに(例えば、1つ又は複数のフレーム内符号化技術によるフレーム内予測方向情報)フレーム内予測情報を生成するように配置される。1つの例示において、フレーム内符号器(522)はさらにフレーム内予測情報と同一のピクチャにおける参照ブロックに基づき、フレーム内予測結果を計算する(例えば、予測のブロック)。
【0084】
汎用コントローラ(521)は、汎用制御データを決定し、汎用制御データに基づきビデオ符号器(503)の他の部材を制御するように配置される。1つの例示において、汎用コントローラ(521)はブロックのモードを決定し、該モードに基づき制御信号をスイッチ(526)に提供する。例えば、モードがフレーム内モードである場合、汎用コントローラ(521)は、残差計算器(523)の使用のフレーム内モード結果を選択するようにスイッチ(526)を制御し、フレーム内予測情報を選択するようにエントロピー符号器(525)を制御するとともに、フレーム内予測情報をビットストリームに含ませる。モードがフレーム間モードである場合、汎用コントローラ(521)は、残差計算器(523)の使用のフレーム間予測結果を選択するように、スイッチ(526)を制御し、フレーム間予測情報を選択するようにエントロピー符号器(525)を制御するとともに、フレーム間予測情報をビットストリームに含ませる。
【0085】
残差計算器(523)は、受信したブロックとフレーム内符号器(522)またはフレーム間符号器(530)から選択した予測結果との間の差(残差データ)を計算するように配置される。残差符号器(524)は、残差データに基づき操作し、残差データを符号化することで変換係数を生成するように配置される。1つの例示において、残差符号器(524)は、残差データを空間領域から周波数領域に変換し、変換係数を生成するように配置される。係数を変換してから、量子化処理を介して、量子化の変換係数を取得する。各実施例において、ビデオ符号器(503)はさらに残差復号器(528)を含む。残差復号器(528)は、逆変換を実行し、復号化された残差データを生成するように配置される。復号化された残差データは、適切にフレーム内符号器(522)とフレーム間符号器(530)によって利用できる。例えば、フレーム間符号器(530)は復号化された残差データとフレーム間予測情報に基づき、復号化ブロックを生成し、且つフレーム内符号器(522)は復号化された残差データとフレーム内予測情報に基づき復号化ブロックを生成できる。幾つかの例示において、復号化ブロックは適切に処理されることで、復号化ピクチャを生成し、復号化されたピクチャは、メモリ回路(図示せず)においてバッファリングされ、参照ピクチャとして利用できる。
【0086】
エントロピー符号器(525)は、符号化されたブロックを含むようにビットストリームをフォーマットするように配置される。エントロピー符号器(525)はHEVC規格のような適切な規格に基づく各種情報を含むように配置される。例示において、エントロピー符号器(525)はビットストリームに汎用制御データ、選択の予測情報(例えば、フレーム内予測情報またはフレーム間予測情報)、残差情報及び他の適切な情報を含ませるように配置される。なお、開示のテーマに基づき、フレーム間モードまたは双方向予測モードのマージサブモードでブロックを符号化する場合、残差情報が存在しない。
【0087】
図6は、本開示の内容の他の実施形態によるビデオ復号器(610)の図を示す。ビデオ復号器(610)は、符号化ビデオシーケンスの一部としての符号化ピクチャを受信するとともに、符号化ピクチャを復号化することで、再構築されたピクチャを生成するように配置される。例示において、ビデオ復号器(610)は、
図2の例示におけるビデオ復号器(210)の代わりとして用いられる。
【0088】
図6の例示において、ビデオ復号器(610)は
図6に示すように連結されたエントロピー復号器(671)、フレーム間復号器(680)、残差復号器(673)、再構築モジュール(674)及びフレーム内復号器(672)を含む。
【0089】
エントロピー復号器(671)は、符号化されたピクチャに基づき、符号化されたピクチャを構成する文法要素を示す幾つかの符号を再構築するように配置される。このような符号は、例えば、ブロックを符号化するためのモード(例えば、フレーム内モード、フレーム間モード、双方向予測モード、後の両者のマージサブモードまたは他のサブモード)、それぞれフレーム内復号器(672)またはフレーム間復号器(680)に用いられることで予測するための幾つかのサンプルまたはメタデータを認識できる予測情報(例えば、フレーム内予測情報またはフレーム間予測情報)、例えば量子化の変換係数という形式の残差情報などを含む。例示において、予測モードがフレーム間または双方向予測モードである場合、フレーム間予測情報をフレーム間復号器(680)に提供し、予測タイプがフレーム内予測タイプである場合、フレーム内予測情報をフレーム内復号器(672)に提供する。残差情報は逆量子化を介して残差復号器(673)に提供される。
【0090】
フレーム間復号器(680)は、フレーム間予測情報を受信し、フレーム間予測情報に基づきフレーム間予測結果を生成するように配置される。
【0091】
フレーム内復号器(672)は、フレーム内予測情報を受信し、フレーム内予測情報に基づき予測結果を生成するように配置される。
【0092】
残差復号器(673)は、逆量子化を実行することで、逆量子化された変換係数を抽出し、逆量子化された変換係数を処理することによって残差を周波数領域から空間領域に変換するように配置される。残差復号器(673)は、幾つかの制御情報を必要とする可能性があり(量子化器パラメータ(QP)を含む)、該情報はエントロピー復号器(671)から提供される(これは少ない制御情報であるから、データ経路を図示せず)。
【0093】
再構築モジュール(674)は、空間領域において、残差復号器(673)から出力された残差と予測結果(場合によって、フレーム間予測モジュールまたはフレーム内予測モジュールから出力されてもよい)とを組み合わせることで、再構築のブロックを形成するように配置され、該再構築のブロックは、再構築されるピクチャの一部であってもよく、再構築されるピクチャは、再構築されるビデオの一部であってもよい。なお、デブロッキング操作のような、他の適切な操作を実行することで、視覚品質を向上させる。
【0094】
なお、任意の適切な技術でビデオ符号器(203)、ビデオ符号器(403)、ビデオ符号器(503)、及びビデオ復号器(210)、ビデオ復号器(310)、ビデオ復号器(610)を実現できる。1つの実施形態において、1つ又は複数の集積回路を介してビデオ符号器(203)、ビデオ符号器(403)、ビデオ符号器(503)、及びビデオ復号器(210)、ビデオ復号器(310)、ビデオ復号器(610)を実現できる。他の実施形態において、ビデオ復号器(203)、(403)、(403)、及びビデオ復号器(210)、(310)、(610)はソフトウェア命令を実行するための1つ又は複数のプロセッサによって実現される。
【0095】
本開示の内容の各態様は、フレーム内ブロックコピーモードでの参照ブロック位置を制約する技術を提供し、さらに、非正方形ブロックパーティションを備えたフレーム内ピクチャブロック補償バッファを再利用する技術を提供する。
【0096】
ブロックに基づく補償は、フレーム間予測及びフレーム内予測に使用されてもよい。フレーム間予測の場合、異なるピクチャからのブロックに基づく補償は動き補償と呼ばれる。フレーム内予測の場合、ブロックに基づく補償は、同一のピクチャ内の以前に再構築された領域に対して行われてもよい。同一のピクチャからの再構築された領域のブロックに基づく補償はフレーム内ピクチャブロック補償、現在のピクチャ参照(current picture referencing、CPR)又はフレーム内ブロックコピー(intra block copy、IBC)と呼ばれる。同一のピクチャにおける現在のブロックと参照ブロックとの間のオフセットを指示する変位ベクトルは、ブロックベクトルと呼ばれる(又は、BVと略称される)。任意の値であり得る(x方向またはy方向に正値または負値である)動き補償における動きベクトルとは異なり、ブロックベクトルは制約条件があり、参照ブロックが利用可能であり且つ既に再構築されたことを確保する。また、幾つかの例において、並行する処理を考慮すると、タイル境界または波面ラダー形状境界である一部の参照領域が除外される。
【0097】
ブロックベクトルの符号化は明示的または暗黙的であってもよい。明示的モードにおいて(フレーム間符号化における高度動きベクトル予測(AMVP)モードと類似する)、ブロックベクトルとその予測値との間の差をシグナリングし、暗黙的モードにおいて、ブロックベクトルは、マージモードでの動きベクトルと同様に予測値(ブロックベクトル予測値と呼ばれる)から復元される。幾つかの実現方式においては、ブロックベクトルの解像度は整数位置に制限され、他のシステムにおいては、ブロックベクトルは小数の位置を指すことを許可する。
【0098】
幾つかの例において、ブロックレベルフラグ(IBCフラグ)を使用してブロックレベルのフレーム内ブロックコピーの使用をシグナリングしてもよい。実施形態において、マージモードで現在のブロックを符号化していない場合に、IBCフラグをシグナリングする。他の実施形態において、参照インデックス方法を使用してIBCフラグをシグナリングする。その後、復号化中の現在のピクチャを参照ピクチャとして見なす。例において、このような参照ピクチャは、参照ピクチャのリストの最後の位置にセットされる。該特定の参照ピクチャは、さらに、他の時間参照ピクチャとともにバッファ例えば復号化ピクチャバッファ(DPB)において管理される。
【0099】
フレーム内ブロックコピーに幾つかの変体もあり、例えば、フリップされるフレーム内ブロックコピー(参照ブロックが現在のブロックの予測に使用される前に水平又は垂直にフリップされる)、又は行に基づくフレーム内ブロックコピー(M×N符号化ブロック内の各補償ユニットはM×1又は1×N行である)がある。
【0100】
図7は、本開示の内容の実施形態によるフレーム内ブロックコピーの例を示す。現在のピクチャ(700)は復号化中である。現在のピクチャ(700)は再構築された領域(710)(灰色の領域)及び復号化しようとする領域(720)(白い領域)を含む。現在のブロック(730)は復号器によって再構築中である。再構築された領域(710)における参照ブロック(740)に応じて現在のブロック(730)を再構築することができる。参照ブロック(740)と現在のブロック(730)との間の位置オフセットはブロックベクトル(750)(又はBV(750))と呼ばれる。
【0101】
幾つかの実現方式の例において、現在のピクチャの再構築されたサンプルは、専用メモリにおいてバッファリングされてもよい。実現のコストを考慮すると、参照領域はフルフレームほど大きくすることはできず、専用メモリの記憶サイズまで限定される。幾つかの実施形態において、フレーム内ブロックコピーにおけるブロックベクトルは、フルピクチャを参照せず、幾つかの隣接する領域のみを参照することが許可されている。一例において、専用メモリのメモリサイズは1つのCTUであり、そして、参照ブロックが現在のブロックと同じCTU内にある場合、フレーム内ブロックコピーモードを使用してもよい。別の例において、メモリサイズは2つのCTUであり、そして、参照ブロックが現在のCTU内にある又は現在のCTUの左側のCTU内にある場合、フレーム内ブロックコピーモードを使用してもよい。一例において、参照ブロックが指定されたローカル領域の外にある場合、参照ブロックが既に再構築されていても、参照サンプルはフレーム内ピクチャブロック補償に使用することはできない。
【0102】
制約された参照領域において、フレーム内ブロックコピーの効率は制限される。制約された参照領域におけるフレーム内ブロックコピーの効率をさらに向上させる必要がある。
【0103】
ビデオ符号化規格の幾つかのバージョンにおいて、例えば、VVCのバージョンにおいて、ピクチャは重複しないCTUのアレイに分割される。CTUのサイズは、128×128の輝度サンプル(及び、カラーフォーマットに依存する対応するクロマサンプル)に設置される。例えば、二分木(BT)分割、三分木(TT)分割などのツリー分割方法の1つまたは他の組み合わせを使用してCTUを符号化ユニット(CU)に分割してもよい。BT分割は、親ブロックを水平方向または垂直方向に半分に分割する。親ブロックと比べて、BT分割して得られた2つの小さい分割は半分のサイズを有する。TT分割は親ブロックを水平又は垂直方向に3つの部分に分割する。この3つの部分の中央部分は、他の2つの部分の2倍のサイズである。親ブロックと比べて、TT分割して得られた3つの小さい分割は1/4、1/2及び1/4のサイズを有する。
【0104】
幾つかの実施形態において、128×128レベルのブロックの分割は、幾つかの結果、例えば、1つの128×128ブロック、2つの128×64ブロック、2つの64×128ブロック又は4つの64×64ブロックを許可するように制約される。幾つかの例において、分割は、128×64又は64×128のブロックレベルでいずれかの(水平又は垂直の)方向でのTT分割が許可されないようにさらに制約される。また、例において、128×64又は64×128は、さらに分割される場合、2つの64×64ブロックに分割することのみを許可する。制約される分割タイプは通常の分割タイプと呼ばれる。
【0105】
幾つかの例において、限られたメモリ要件でフレーム内ブロックコピーを実現する。実現方式の例において、以前に符号化されたCUの参照サンプルを記憶して将来のフレーム内ブロックコピー参照に使用される指定のメモリは参照サンプルメモリと呼ばれる。例えば、フレーム内ブロックコピーモードの未フィルタリングサンプルを記憶するための参照サンプルメモリ(バッファとも呼ばれる)の最大サイズは、1CTU(128×128の輝度サンプル及び対応するクロマサンプル)サイズである。このような制約されるメモリを十分に利用するために、幾つかの例において、バッファは64×64ごとに更新される。例において、参照サンプルメモリの一部がまだ現在のCTUからの再構築されたサンプルを使用して更新していない場合、メモリに記憶されているこれらの一部のデータは実際には左のCTUからの再構築サンプルである。これらのサンプルはフレーム内ブロックコピーモードで現在のブロックを予測するための参照として使用される。そして、有効検索範囲は現在のCTU内から左のCTUの一部に拡張される。
【0106】
従って、幾つかの実施形態において、現在のCTU内の再構築されたサンプルを使用して参照サンプルメモリを更新する前に、参照サンプルメモリは再利用されて左のCTU内の以前に符号化されたサンプルを記憶してもよい。実施形態において、参照サンプルメモリの可用性は64×64ごとに更新される。例において、ある64×64ブロックにおける参照サンプルのいずれかのサンプルが更新されると、その64×64ブロック全体が、現在のCTUから再構築されたサンプルを使用して更新されたと見なし、そして、更新前のサンプルの記憶と見なさない。幾つかの実現方式の例において、メモリ(例えば、バッファメモリ、オンチップメモリなど)内の連続するメモリスペースを割り当てて64×64ブロックの再構築サンプルを記憶し、連続するメモリスペースから再構築されたサンプルを記憶及びリードバックするアドレッシング操作は、相対的簡単な計算で実行できる。幾つかの例において、符号化領域(例えば64×64符号化領域)の再構築されたサンプルを記憶する連続するメモリスペースはメモリ更新ユニットと呼ばれる。減少したアドレッシング計算を使用してメモリ更新ユニットにおけるサンプルへのアクセスを実行してもよく、そして、異なるメモリ更新ユニットにおけるサンプルにアクセスすると、アドレッシング計算の数を増やす必要がある。
【0107】
図8A乃至
図8Dは、本開示の内容の実施形態による64×64ごとの参照サンプルメモリ更新及びフレーム内ブロックコピーモードの有効検索範囲の例を示す。幾つかの例において、符号器/復号器は、1つのCTUのサンプル(例えば、128×128サンプル)を記憶できるキャッシュメモリを含む。また、
図8A乃至
図8Dの例において、CTUは4つの64×64符号化領域(coding region)に分割される。予測のための現在のブロックをもつ符号化領域(符号化領域に等しくてもよく、符号化領域より小さくてもよい)は現在の符号化領域と呼ばれる(「Curr」と標記される)。他の適切なサイズの符号化領域については例を適切に修正してもよいことに留意されたい。
【0108】
図8A乃至
図8Dのそれぞれに現在のCTU(820)及び左のCTU(810)を示している。左のCTU(810)は4つの符号化領域(811)~(814)を含み、且つ、各符号化領域は64×64サンプルのサンプルサイズを有する。現在のCTU(820)は4つの符号化領域(821)~(824)を含み、そして、各符号化領域は64×64サンプルのサンプルサイズを有する。現在のCTU(820)は再構築中の現在の符号化領域(例えば、ラベル「Curr」に示すように、縦縞パターンを有する)を含むCTUを含む。左のCTU(810)は現在のCTU(820)の左側に隣接している。
図8A乃至
図8Dにおいて、灰色のブロックは既に再構築された符号化領域であり、白いブロックは再構築しようとする符号化領域である。
【0109】
図8Aにおいて、再構築中の現在の符号化領域は符号化領域(821)である。キャッシュメモリは、符号化領域(812)、(813)及び(814)における再構築されたサンプルを記憶し、そして、キャッシュメモリは現在の符号化領域(821)の再構築されたサンプルを記憶するために用いられる。
図8Aの例において、現在の符号化領域(821)の有効検索範囲は左のCTU(810)における符号化領域(812)、(813)及び(814)を含み、これらの領域における再構築されたサンプルはキャッシュメモリに記憶される。例において、現在の符号化領域(821)からの1つ又は複数の再構築されたサンプルを使用してキャッシュメモリを更新した場合に、符号化領域(811)の一部は既に現在のCTUからの再構築されたサンプルで更新されたので、符号化領域(811)はキャッシュメモリにおいてCPR予測に使用できない(「X」と標記される)と認められる。実施形態において、符号化領域(811)の再構築されたサンプルは、キャッシュメモリよりもアクセス速度が遅いメインメモリに記憶される(例えば、符号化領域(821)を再構築する前にキャッシュメモリからメインメモリにコピーされる)ことに留意されたい。
【0110】
図8Bにおいて、再構築中の現在の符号化領域は符号化領域(822)である。キャッシュメモリは、符号化領域(813)、(814)及び(821)における再構築されたサンプルを記憶し、そして、キャッシュメモリは現在の符号化領域(822)の再構築されたサンプルを記憶するために用いられる。
図8Bの例において、現在の符号化領域(822)の有効検索範囲は左のCTU(810)における符号化領域(813)と(814)、及び現在のCTU(820)における符号化領域(821)を含み、これらの領域における再構築されたサンプルはキャッシュメモリに記憶される。例において、現在の符号化領域(822)からの1つ又は複数の再構築されたサンプルを使用してキャッシュメモリを更新した場合に、符号化領域(812)の一部は既に現在のCTUからの再構築されたサンプルで更新されたので、符号化領域(812)はキャッシュメモリにおいてCPR予測に使用できない(「X」と標記される)と認められる。実施形態において、符号化領域(812)の再構築されたサンプルは、キャッシュメモリよりもアクセス速度が遅いメインメモリに記憶される(例えば、符号化領域(822)を再構築する前にキャッシュメモリからメインメモリにコピーされる)ことに留意されたい。
【0111】
図8Cにおいて、再構築中の現在の符号化領域は符号化領域(823)である。キャッシュメモリは、符号化領域(814)、(821)及び(822)における再構築されたサンプルを記憶し、そして、キャッシュメモリは現在の符号化領域(823)の再構築されたサンプルを記憶するために用いられる。
図8Cの例において、現在の符号化領域(823)の有効検索範囲は左のCTU(810)における符号化領域(814)、及び現在のCTU(820)における符号化領域(821)と(822)を含み、これらの領域における再構築されたサンプルはキャッシュメモリに記憶される。例において、現在の符号化領域(823)からの1つ又は複数の再構築されたサンプルを使用してキャッシュメモリを更新した場合に、符号化領域(813)の一部は既に現在のCTUからの再構築されたサンプルで更新されたので、符号化領域(813)はキャッシュメモリにおいてCPR予測に使用できない(「X」と標記される)と認められる。実施形態において、符号化領域(813)の再構築されたサンプルは、キャッシュメモリよりもアクセス速度が遅いメインメモリに記憶される(例えば、符号化領域(823)を再構築する前にキャッシュメモリからメインメモリにコピーされる)ことに留意されたい。
【0112】
図8Dにおいて、再構築中の現在の符号化領域は符号化領域(824)である。キャッシュメモリは、符号化領域(821)、(822)及び(823)における再構築されたサンプルを記憶し、そして、キャッシュメモリは現在の符号化領域(824)の再構築されたサンプルを記憶するために用いられる。
図8Dの例において、現在の符号化領域(824)の有効検索範囲は現在のCTU(820)における符号化領域(821)、(822)、(823)を含み、これらの領域における再構築されたサンプルはキャッシュメモリに記憶される。例において、現在の符号化領域(824)からの1つ又は複数の再構築されたサンプルを使用してキャッシュメモリを更新した場合に、符号化領域(814)の一部は既に現在のCTUからの再構築されたサンプルで更新されたので、符号化領域(814)はキャッシュメモリにおいてCPR予測に使用できない(「X」と標記される)と認められる。実施形態において、符号化領域(814)の再構築されたサンプルは、キャッシュメモリよりもアクセス速度が遅いメインメモリに記憶される(例えば、符号化領域(824)を再構築する前にキャッシュメモリからメインメモリにコピーされる)ことに留意されたい。
【0113】
図8A乃至
図8Dの例において、4×64×64輝度サンプル(対応するクロマサンプルとともに)の合計メモリはフレーム内ブロックコピー補償に使用される。
図8A乃至
図8Dの例に使用される技術は、他のメモリサイズ(例えば3×64×64、2×64×64輝度サンプルの合計メモリ)のために適切に変更できることに留意されたい。
【0114】
幾つかの実施形態において、128×128レベル及びより低いレベルでの三分木分割が許可され、分割結果は非正方形ブロックであってもよいことに留意されたい。
【0115】
幾つかの例において、128×128レベルで、三分木分割を使用してCTUを分割してもよい。水平TT分割の場合、分割されたブロックは128×32、128×64及び128×32である。垂直分割の場合、分割されたブロックは32×128、64×128及び32×128である。
【0116】
また、幾つかの例において、128×64/64×128レベルで、三分木分割を使用してもよく、得られたブロックは非正方形ブロックであってもよい。
【0117】
【0118】
本開示の内容の幾つかの局面によれば、幾つかの分割タイプ、例えば128×128レベルのTT分割などは、64×64符号化領域に含まれないか又は1つ又は複数の64×64符号化領域を含むことができない符号化ブロックをもたらすことがある。
【0119】
これらの通常の分割タイプの上にこれらの分割タイプを許可する場合に、参照サンプル更新処理は、64×64符号化領域と一対一整列されなくなる可能性がある。以上で言及された参照サンプルメモリキャッシュ再利用ストラテジーを実現するための方法を開発する必要がある。
【0120】
本開示の内容の一局面によれば、幾つかの参照領域制約を使用してフレーム内ブロックコピーの性能を改善することができる。より具体的に、例において、参照サンプルメモリにおける参照サンプルブロックの位置は、同一の64×64符号化領域内に制約される。幾つかの実施形態において、参照サンプルメモリのサイズは2つの64×64輝度サンプルに固定される(対応するクロマサンプルとともに)。本開示の内容で使用される技術は、異なる参照サンプルメモリサイズ、例えば、3つの64×64輝度サンプルと対応するクロマサンプル、4つの64×64輝度サンプルと対応するクロマサンプル(即ち、1CTUサイズ)のメモリサイズなどに使用するために、適切に修正できることに留意されたい。
【0121】
一般に、IBC符号化ブロックのサイズは、任意の通常のフレーム間符号化ブロックと同じであってもよい。本開示の内容の一局面によれば、参照サンプルメモリをより効率的に利用するために、IBC符号化ブロックのサイズは制限される。例において、IBC符号化ブロックのサイズは、上限、例えば幅または高さで64輝度サンプルよりも大きくならないように制限される(なお、対応するサイズ制約がクロマサンプルに適用され、色フォーマット、例えば、4:2:0フォーマットに依存し、IBCモードでのクロマブロックのサイズは各側で32サンプルを超えてはならない)。また、幾つかの例において、IBC符号化ブロックのサイズは、下限、例えば、幅または高さで32輝度サンプルよりも小さくならないように制限される。説明では、64×64輝度サンプルの最大IBCサイズを使用したが、他の最大のIBCサイズについて技術を適切に修正できることに留意されたい。
【0122】
以下の説明では、フレーム内ブロックコピー参照サンプルを記憶するための参照サンプルメモリの最大のサイズは2つの64×64輝度サンプル及び対応するクロマサンプルを記憶するためのメモリサイズに対応する。
【0123】
本開示の内容の幾つかの局面によれば、参照サンプルメモリは、2つの符号化領域のサンプル情報を記憶するためのサイズを有し、各符号化領域は64×64輝度サンプルのサイズを有し、そして、サンプル情報は64×64輝度サンプルの輝度サンプル情報及び対応するクロマサンプルのクロマサンプル情報を含む。その後、参照サンプルメモリは現在のCTU内の現在の符号化領域のサンプル情報、及び幾つかの以前に符号化された64×64符号化領域の1つである別の符号化領域のサンプル情報を記憶する。
【0124】
図10A及び
図10Bは、符号化順序及び参照サンプルメモリの使用の2つの例を示す。
図10A及び
図10Bにおいて、灰色の領域は既に符号化された符号化領域(例えば、64×64輝度サンプル)であり、白い領域はまだ符号化されていない領域であり、そして(1つ又は複数の)斜線の領域は現在の符号化ブロックが所在している(1つ又は複数の)符号化領域である。また、
図10A及び
図10Bにおいて、参照サンプルメモリにおける2つの符号化領域は(1つ又は複数の)点線のボックスで示されている。
【0125】
図10Aでは、例において、CTUは、128×128レベルで水平バイナリ分割又は四分木分割を行う。そして、64×64符号化領域の符号化順序は(1001)から(1004)に従う。
【0126】
図10Bでは、例において、CTUは、128×128レベルで垂直バイナリ分割を行う。そして、64×64符号化領域の符号化順序は(1011)から(1014)に従う。
【0127】
図10A及び
図10Bの例において、現在の符号化ブロックが現在のCTUにおける4つの64×64符号化領域の一つに位置する場合に、参照サンプルメモリは、フレーム内ブロックコピーモードの参照として割り当てられる別の64×64符号化領域を記憶してもよい。
【0128】
図10A及び
図10Bは例であり、他の可能な参照領域割り当ても可能であることに留意されたい。実施形態において、右上の64×64符号化領域は右下の64×64符号化領域の参照領域として使用され、
図10A及び
図10Bに示すようである。別の実施形態では、左上の64×64符号化領域は右下の64×64符号化領域の参照領域として使用される。
【0129】
理想的には、参照サンプルメモリにおける再構築されたサンプルは、フレーム内ブロックコピーモードで現在のブロックを予測するために用いられてもよい。しかしながら、参照ブロックにおけるサンプルが2つの異なる64×64符号化領域からのものである場合がある。
【0130】
図11A及び
図11Bは、2つの異なる64×64符号化領域からの参照ブロックにおけるサンプルの例を示す。
図11Aにおいて、参照ブロックの一部は、1つの64×64の符号化された符号化領域からのものであり、別の部分は、すでに再構築されたが、別の64×64の以前に符号化された符号化領域に属する。
図11Bにおいて、参照ブロックの一部は1つの64×64符号化領域からのものであり、別の一部は既に再構築されたが、現在の64×64符号化領域に属する。参照サンプルメモリにおける64×64符号化領域のそれぞれは別々に操作されるため、メモリにおける2つの64×64符号化領域は物理的に接続できない。
図11A及び
図11Bに示すような異なる符号化領域における参照ブロックのこれらの位置は、望ましくない余分のメモリアクセス又は動作もたらす可能性がある。
【0131】
本開示の内容の幾つかの局面によれば、追加的な制約が、フレーム内ブロックコピーを特定のビデオ/画像符号化システムにおいて機能させる他の適切なブロックベクトル制約と一緒に使用される。フレーム内ブロックコピーモードのブロックベクトルに追加的な制約を課すことで、フレーム内ブロックコピーモードのための参照ブロック全体が同一の64×64符号化領域内にあるようにする。64×64符号化領域とは、128×128輝度サンプル(対応するクロマサンプルを加える)を有する各CTUが4つの重複しない64×64領域に分割され得ることを指す。幾つかの例において、これらの64×64領域のそれぞれは、制約での64×64符号化領域と見なされる。
【0132】
実施形態において、例えば、CTUの最上位の隅が(0,0)であるとして、参照ブロックの左上隅が(Ref_TLx,Ref_TLy)として示され、参照ブロックの右下隅が(Ref_BRx,Ref_BRy)として示される。追加的な制約は、以下の条件(式1)及び(式2)のビットストリーム整合性要件を満たす必要がある形式を採用する。
Ref_BRx/64=Ref_TLx/64(式1)
Ref_BRy/64=Ref_TLy/64(式2)
【0133】
(式1)を満たすと、Ref_BRx/64の整数部分はRef_TLx/64の整数部分に等しくなる。(式2)を満たすと、Ref_BRy/64の整数部分はRef_TLy/64の整数部分に等しくなる。除算演算は、6ビットを右にシフトすることで実行されてもよいことに留意されたい。
【0134】
幾つかの実施形態において、ブロックベクトルが、参照ブロック内の全てのサンプルが同一の64×64符号化領域に属するわけではない参照ブロック位置を指す場合に、ブロックベクトルを、同一64×64符号化領域要求を満たす付近の参照ブロック位置にクリッピングしてもよい。実施形態において、クリッピングとは、元の参照ブロック位置(これは少なくとも2つの64×64領域をカバーする)を垂直または水平に一方向に移動させることを指す。例において、参照ブロックと現在のブロックとの間の距離を減少させる方向に移動する。また、同一の64×64サンプル領域に属する参照サンプルのパーセンテージを増やし、最終的に参照ブロック全体を同一の64x64領域に属するようにする方向に移動する。
【0135】
図11Aに示す例の場合に、すべてのサンプルが上部の64×64符号化領域に属するまで、参照ブロックを垂直に上へ移動させることができる。
図11Aに示す例において、参照ブロックを下に移動させると、2つのブロック間の距離が増加する可能性があり、参照ブロックを水平に移動させると、各64×64符号化領域におけるサンプルのパーセンテージは変化しないことに留意されたい。
【0136】
図11Bに示す例の場合に、すべてのサンプルが現在の64×64符号化領域に属するまで、参照ブロックを水平に右へ移動させることができる。
図11Bに示す例において、参照ブロックを左に移動させると、2つのブロック間の距離が増加する可能性があり、参照ブロックを垂直に移動させると、各64×64符号化領域におけるサンプルのパーセンテージは変化しないことに留意されたい。
【0137】
幾つかの実施形態において、ブロックベクトルが、参照ブロック内の全てのサンプルが同一の64×64符号化領域に属するわけではない参照ブロック位置を指す場合に、サンプルのパディング(垂直及び/又は水平に64×64符号化領域の境界でのサンプルをコピーする)により、64×64符号化領域外のサンプルを生成してもよい。パディング処理は、動き補償における参照ピクチャの境界拡張と類似する方法で実行できる。
【0138】
例において、参照ブロックの左上隅がある64×64符号化領域内に位置し、該64×64符号化領域を、参照ブロックが由来するべき符号化領域と見なす。参照ブロックのいずれかの部分が該符号化領域外にあると、パディングを使用して該部分のサンプルを決定することができる。
【0139】
別の例において、参照ブロックの右下隅がある64×64符号化領域内に位置し、該64×64符号化領域を、参照ブロックが由来するべき符号化領域と見なす。参照ブロックのいずれかの部分が該符号化領域外にあると、パディングを使用して該部分のサンプルを決定することができる。
【0140】
別の例において、参照ブロックの左上隅がある64×64符号化領域に位置し、まず、該64×64符号化領域を使用して参照ブロックがどの符号化領域に由来するかを決定する。該左上隅の位置が有効な参照位置ではない場合、参照ブロックの右下隅を考慮して、参照ブロックがどの符号化領域に由来するかを決定する。
【0141】
別の例において、参照ブロックの右下隅がある64×64符号化領域に位置し、まず、該64×64符号化領域を使用して参照ブロックがどの符号化領域に由来するかを決定する。該右下隅の位置が有効な参照位置ではない場合、参照ブロックの左上隅を考慮して、参照ブロックがどの符号化領域に由来するかを決定する。
【0142】
別の実施形態において、ブロックベクトルが、参照ブロック内の全てのサンプルが有効参照領域(現在の64×64符号化領域又は(1つ又は複数の)以前に符号化された64×64符号化領域)外にある参照ブロック位置を指す場合に、サンプルのパディングにより(最も近い有効参照領域の境界でのサンプルを垂直および/または水平にコピーする)、64×64符号化領域外のサンプルを生成してもよい。パディング処理は動き補償における参照ピクチャの境界拡張と同様に実行されてもよく、境界は(1つ又は複数の)許可される参照領域の境界と見なすことができる。
【0143】
本開示の内容の各局面は、さらに、フレーム内ブロックコピーのためにフレキシブルブロック分割ストラテジー及びバッファ再利用メカニズムを提供する。
【0144】
幾つかの実施形態において、所定の符号化レベル(例えば、シーケンス、ピクチャ、又はスライス/タイル/タイルグループ)に対してフレーム内ブロックコピーを使用する場合に、フレキシブルブロック分割タイプ例えば128×32/32×128を使用できない。
【0145】
実施形態において、所定の符号化レベル(例えば、シーケンス、ピクチャ又はスライス/タイル/タイルグループ)に対して、フレキシブルブロック分割タイプを使用しない場合に、フレーム内ブロックコピーモードは、参照サンプルメモリ再利用ストラテジーを使用してもよい。例えば、64×64符号化領域に基づく更新処理及びバッファリング再利用ストラテジーを使用してもよい。
【0146】
実施形態において、所定の符号化レベル(例えば、シーケンス、ピクチャ又はスライス/タイル/タイルグループ)に対して、フレキシブルブロック分割タイプを使用する場合、フレーム内ブロックコピーモードは、以上の開示された内容に開示される参照サンプルメモリ再利用ストラテジーを使用できない。ただし、例において、ブロックベクトルは、現在のCTUの再構築された部分を参照するように制限される。
【0147】
実施形態において、所定の符号化レベル(例えば、シーケンス、ピクチャ又はスライス/タイル/タイルグループ)に対して、以上で言及されたフレキシブルブロック分割タイプを使用する場合に、以上で言及された参照サンプルメモリ再利用ストラテジーを修正してもよい。
【0148】
幾つかの例において、符号化ブロックがCTU(128×128)レベルの第1のTT分割(例えば、左32×128又は頂部の128×32)、又はBT分割(頂部128×64又は左64×128)又はQT分割(左上の64×64)にある場合に、左のCTUにおける参照サンプルの一部を使用できる。
【0149】
図12A乃至
図12Fは、参照サンプルメモリ再利用ストラテジーの例を示す。
図12A乃至
図12Fに示す各例において、現在の符号化ブロックは斜線で示され、利用可能な参照領域は灰色で示される。
【0150】
例において、左のCTUにおける右上隅の64×64(サンプル)領域が利用可能な参照領域であり、
図12A乃至
図12Cの例の灰色で示されている。
【0151】
別の例において、左のCTUにおける最も右の32×128(サンプル)領域が利用可能な参照領域であり、
図12D乃至
図12Fの例の灰色で示されている。
【0152】
別の例において、左のCTU内の頂部128×32領域が利用可能な参照領域である。
【0153】
別の例において、領域の選択は、左のCTUの分割によって決定される。例えば、左のCTUが128×128レベルの四分木分割を使用する場合に、左のCTUにおける右上の64×64(サンプル)領域を使用して現在のCTUの第1の分割における符号化ブロックを予測してもよい。
【0154】
別の例において、現在のCTUの第1の分割における符号化ブロックに対して合計3×64×64サイズのメモリを使用する場合に、左のCTUからの参照サンプルを記憶するためのメモリのサイズは64×64のサイズである(必ずしも正方形ではない)。メモリスペースは必ずしも正方形形状のサンプルを記憶するわけではない。
【0155】
別の実施形態において、現在のCTUの第1の分割における符号化ブロックに対して合計4×64×64サイズのメモリを使用する場合に、左のCTUからの参照サンプルを記憶するためのメモリのサイズは2×64×64のサイズである(必ずしも2つの正方形ではない)。メモリスペースは必ずしも2つの正方形のサンプルを記憶するわけではない。
【0156】
幾つかの実施形態において、所定の符号化レベルで(例えば、シーケンス、ピクチャ又はスライス/タイル/タイルグループに対して)フレキシブルブロック分割タイプ及びフレーム内ブロックコピーモードの両方を使用すると、技術を使用して参照サンプルメモリを再利用し、フレーム内ブロックコピーの検索範囲を効果的に増加させるとともに、記憶要件を同じに保持するか又は記憶要件を減少する。
【0157】
幾つかの例において、以前の64×64に基づく更新処理を使用せず、より多いブロック形状(例えば、32×32又は32×64又は64×32又は16×128の形状)での小さい又は同じ粒度の更新処理を提出する。例において、更新処理は、32×32(サンプル)ユニットを使用してもよく、128×128レベルのTTを使用して現在のCTUを分割してもよい。
【0158】
図13A乃至
図13Cは、32×32(サンプル)ユニットを使用する更新処理の例を示し、そして、
図13D乃至
図13Fは、32×32(サンプル)を使用する更新処理の別の例を示す。各32×32(サンプル)ユニットは小さな正方形として示される。
図13A乃至
図13Fの例において、参照サンプルメモリサイズは合計128×128である。そして、3×64×64サンプルの第1のメモリスペースを割り当ててフレーム内ブロックコピー参照目的とする参照サンプルのサンプルを記憶し、64×64サンプルの第2のメモリスペースを現在64×64サイズのユニット(必ずしも正方形ではなく、輝度サンプルの総数は64×64サンプルに等しい)に割り当てる。各64×64又は64×128サイズの分割及びそのサブ分割について(必ずしも正方形ではなく、輝度サンプルは64×64サンプルに等しい)、現在のCTU内の再構築されたサンプル及び他の幾つかの以前の符号化領域(例えば、
図13A乃至
図13Fにおける灰色の領域で示される)は参照サンプルメモリに記憶されてもよいし、フレーム内ブロックコピーの予測に参照できる。
【0159】
図14は、本開示の内容の実施形態による処理(1400)を概括するフローチャートを示す。処理(1400)は、フレーム内モードで符号化されるブロックを再構築するために用いられ、再構築中のブロックに対して予測ブロックを生成する。各種実施例において、処理(1400)は、端末機器(110)、(120)、(130)及び(140)における処理回路、ビデオ符号器(203)の機能を実行する処理回路、ビデオ復号器(210)の機能を実行する処理回路、ビデオ復号器(310)の機能を実行する処理回路、ビデオ符号器(403)の機能を実行する処理回路などのような処理回路によって実行される。幾つかの実施例において、処理(1400)はソフトウェア命令で実現されるから、処理回路はソフトウェア命令を実行する際、処理回路はプロセス(1400)を実行する。プロセスは(S1401)から始まり、(S1410)まで実行される。
【0160】
(S1410)において、符号化されたビデオビットストリームから現在のブロックの予測情報を復号化する。予測情報はフレーム内ブロックコピーモードを指示する。
【0161】
(S1420)において、現在のブロックと同じピクチャ内の参照ブロックを指すブロックベクトルを決定する。
【0162】
(S1430)において、参照ブロックをチェックして参照ブロックが完全に符号化領域にあるかどうかを決定する。幾つかの実施形態において、限られた記憶スペースを有する参照サンプルメモリは、再利用されて以前の符号化されたサンプルを記憶する。例えば、現在のCTU内の再構築されたサンプルを使用して参照サンプルメモリを更新する前に、参照サンプルメモリは、サンプルを、現在のCTUの左のCTUに記憶する。現在のCTUにおける符号化領域を単位として再構築されたサンプルを使用して参照サンプルメモリを更新する。実施形態において、参照サンプルメモリの利用可能性は、64×64で更新される。例において、64×64ブロックにおける参照サンプルのいずれかのサンプルが既に更新されると、64×64ブロック全体は現在のCTUからの再構築されたサンプルを使用して更新されると見なされ、更新前の記憶サンプルと見なされない。実施形態において、128×128サンプルのCTUは、符号化領域と呼ばれ得る4つの64×64領域を含む。
【0163】
実施形態において、参照ブロックの複数の隅をチェックして、参照ブロックが完全に符号化領域にあるかどうかを決定する。参照ブロックが完全に符号化領域にある場合に、処理は(S1450)に進み、さもなければ、処理は(S1440)に進む。
【0164】
(S1440)において、参照ブロックを符号化領域に適切に制限する。幾つかの実施形態において、参照ブロックは適切に符号化領域に移動される。幾つかの実施形態において、符号化領域にない他の参照サンプルを使用して符号化領域にない幾つかの参照サンプルをパディングしてもよい。そして、例において、1つのメモリ更新ユニットのみにアクセスすることで現在のブロックの再構築された参照サンプルのメモリアクセスを実現することができる。
【0165】
(S1450)において、参照サンプルメモリから検索された参照ブロックの再構築されたサンプルに基づいて現在のブロックを再構築する。例えば、参照サンプルメモリにアクセスして参照ブロックの再構築されたサンプルを検索し、次に、参照サンプルメモリから検索された、再構築されたサンプルに基づいて、現在のブロックのサンプルを再構築する。参照ブロックは、参照ブロックの参照サンプルが完全に1つの符号化領域にあるか、1つの符号化領域に基づいて決定するように制限されるので、参照サンプルを検索するアドレッシング操作を容易且つ高効率で実行することができる。その後、処理は(S1499)に進み、終了する。
【0166】
前記技術はコンピュータ読み取り可能な命令によってコンピュータソフトウェアとして実現され、物理的に1つ又は複数のコンピュータ読み取り可能な媒体に記憶されてもよい。例えば、
図15は開示のテーマの幾つかの実施例を実現するためのコンピュータシステム(1500)を示す。
【0167】
コンピュータソフトウェアは任意の適切なマシンコードまたはコンピュータ言語によって符号化を行って、マシンコードまたはコンピュータ言語は編集、コンパイル、リンクなどのメカニズムを介して命令が含まれるコードを構築し、該命令は1つ又は複数のコンピュータ中央処理ユニット(CPU)、グラフィック処理ユニット(GPU)などによって直接的に実行されるか、または解釈、マイクロコード実行などによって実行される。
【0168】
命令は各種タイプのコンピュータまたはその部材で実行でき、例えばパーソナルコンピュータ、タブレット、サーバー、スマートフォン、ゲーム機器、モノのインターネット機器などを含む。
【0169】
図15に示すコンピュータシステム(1500)の部材は、本開示の内容を実現するための実施形態のコンピュータソフトウェアの使用範囲または機能に対して限定せず、本質に例示的である。部材の配置も、コンピュータシステム(1500)の例示性の実施で示した部材におけるいずれかの部材、またはその組み合わせに関する依存性または要求を有するように解釈されるべきではない。
【0170】
コンピュータシステム(1500)は、幾つかのヒューマンマシンインターフェイス入力機器を含んでもよい。このようなヒューマンマシンインターフェイス入力機器は、1つ又は複数の人類ユーザーの、例えば触覚入力(例えば:キーストローク、スライド、データグローブ移動)、オーディオ入力(例えば:音声、たたき)、視覚入力(例えば:姿勢)、嗅覚入力(図示せず)による入力に応答できる。マンマシンインタフェース機器はさらに、必ずしも人類の意識的な入力に直接的に関していない、ある媒体例えば、オーディオ(例えば:音声、音楽、環境音)、画像(例えば:スキャン画像、静態画像撮影装置から取得された写真画像)、ビデオ(例えば2次元ビデオ、立体ビデオが含まれる3次元ビデオ)をキャプチャできる。
【0171】
入力マンマシンインタフェース機器は、キーボード(1501)、マウス(1502)、タッチパッド(1503)、タッチパネル(1510)、データグローブ(図示せず)、ジョイスティック(1505)、マイク(1506)、スキャナ(1507)、撮影装置(1508)のうちの1つ又は複数を有してもよい(記載の各々のうちの1つのみ)。
【0172】
コンピュータシステム(1500)は、さらにマンマシンインタフェース出力機器を有してもよい。このようなマンマシンインタフェース出力機器は、例えば触覚出力、音、光及び匂い/味を介して1つ又は複数の人類ユーザーの感覚を刺激できる。このようなマンマシンインタフェース出力機器は触覚出力機器(例えば、タッチパネル(1510)、データグローブ(図示せず)またはジョイスティック(1505)による触覚フィードバック、但し入力機器として用いられない触覚フィードバック機器も存在する)、オーディオ出力機器(例えば、スピーカー(1509)、ヘッドフォン(図示せず))、視覚出力機器(例えば、スクリーン(1510)、CRTスクリーン、LCDスクリーン、プラズマスクリーン、OLEDスクリーンを含み、各スクリーンはタッチパネル入力能力、触覚フィードバック能力を有してもよく、有してなくてもよく、そのうちの幾つかは、立体画像出力のような手段で、2次元の視覚を出力または3次元以上の出力を行い、バーチャルリアリティ眼鏡(図示せず)、ホログラフィックディスプレイ及びスモークタンク(図示せず)がある)、プリンター(図示せず)を含む。
【0173】
コンピュータシステム(1500)はさらに人類がアクセスし得る記憶機器及びその関連する媒体を有してもよく、例えば、CD/DVDなどの媒体(1521)を有するCD/DVD ROM/RW(1520)を含む光学媒体、サムドライブ(1522)、取り外し可能なハードドライブまたはソリッドステートドライブ(1523)、磁気テープとフロッピーディスク(図示せず)のような伝統の磁気媒体、専用ROM/ASIC/PLDに基づく機器、例えばドングル(図示せず)などを含む。
【0174】
当業者は、現在開示のテーマを結合して、使用される用語「コンピュータ読み取り可能な媒体」には伝送媒体、搬送波または他の瞬間信号が含まれないことを理解できる。
【0175】
コンピュータシステム(1500)は、さらに1つ又は複数の通信ネットワークのインタフェースを有してもよい。ネットワークは、例えば無線、有線、光学であってもよい。ネットワークはさらに、ローカル、広域、都市用、車両用、工業用、リアルタイム、遅延耐性ネットワークなどであってもよい。ネットワークの例示はイーサネットのようなローカルエリアネットワーク、無線LAN、GSM、3G、4G、5G、LTEなどが含まれたセルラーネットワーク、有線テレビ、衛星テレビ及び地上波テレビが含まれるテレビ有線または無線広域デジタルネットワーク、CANBusが含まれる車両及び工業ネットワークなどを含む。あるネットワークは一般的に、ある汎用データポートまたは周辺バス(1549)(例えば、コンピュータシステム(1500)のUSBポート)に連結される外部ネットワークインタフェースアダプタを必要とし、他のネットワークは一般的に、以下に記載のシステムバス(例えば、PCコンピュータシステムへのイーサネットインタフェース、またはスマートフォンコンピュータシステムへのセルラーネットワークインタフェース)に連結されることで、コンピュータシステム(1500)のコアに集積される。これらのネットワークのうちのいずれかのネットワークを介して、コンピュータシステム(1500)は他のエンティティと通信できる。このような通信は一方向で受信だけ(例えば、放送テレビ)、一方向で送信だけ(例えば、あるCANbus機器へのCANbus)、または双方向である(例えば、ローカルエリアまたは広域デジタルネットワークを介して他のコンピュータシステムへ)。以上に記載のこれらのネットワーク及びネットワークインターフェースのうちの各ネットワーク及びネットワークインターフェースに、特定のプロトコル及びプロトコルスタックを利用できる。
【0176】
以上に言及されたマンマシンインタフェース機器、人類がアクセスし得る記憶機器及びネットワークインターフェースは、コンピュータシステム(1500)のコア(1540)に連結できる。
【0177】
コア(1540)は、1つ又は複数の中央処理ユニット(CPU)(1541)、グラフィック処理ユニット(GPU)(1542)、フィールドプログラム可能なゲートアレイ(FPGA)(1543)という形式の専門プログラム可能な処理ユニット、あるタスクのためのハードウェアアクセラレータ(1544)などを含む。これらの機器は、読み取り専用メモリ(ROM)(1545)、ランダムアクセスメモリ(1546)、内部のユーザーがアクセスできないハードディスクドライブ、SSDなどのような内部大容量記憶装置(1547)とともに、システムバス(1548)を介して接続される。あるコンピュータシステムにおいて、1つ又は複数の物理プラグという形式で、システムバス(1548)にアクセスすることで、別のCPU、GPUなどによって拡張できる。周囲機器は直接的または周辺バス(1549)を介してコアのシステムバス(1548)に連結される。周辺バスのアーキテクチャはPCI、USBなどを含む。
【0178】
CPU(1541)、GPU(1542)、FPGA(1543)及びアクセラレータ(1544)は幾つかの命令を実行でき、これらの命令を組み合わせて、以上に言及されたコンピュータコードを構成する。該コンピュータコードはROM(1545)またはRAM(1546)に記憶される。移行データはRAM(1546)に記憶され、永久データは、例えば内部大容量記憶装置(1547)に記憶されてもよい。キャッシュメモリによってメモリ機器のうちのいずれかのメモリ機器の快速記憶及び検索を実現でき、該キャッシュメモリは1つ又は複数のCPU(1541)、GPU(1542)、大容量記憶装置(1547)、ROM(1545)、RAM(1546)などに密接に関連できる。
【0179】
コンピュータ読み取り可能な媒体は、コンピュータが実現する各種操作を実行するためのコンピュータコードを有してもよい。媒体とコンピュータコードとは、本開示の内容の目的のために、専門に設計され及び構築された媒体とコンピュータコードであってもよいし、またはコンピュータソフトウェアの当業者にとって、公知且つ利用可能なタイプであってもよい。
【0180】
限定ではなく例示として、アーキテクチャ(1500)を有するコンピュータシステム、特にコア(1540)は、(1つ又は複数)プロセッサ(CPU、GPU、FPGA、アクセラレータなどを含む)が1つ又は複数の有形コンピュータ読み取り可能な媒体に体現されるソフトウェアを実行することで、機能を提供できる。このようなコンピュータ読み取り可能な媒体は、以上に紹介された、ユーザーがアクセスし得る大容量記憶装置に関する媒体、及び非一時的なコア(1540)を有する、コア内部大容量記憶装置(1547)またはROM(1545)のような記憶装置であってもよい。本開示の内容を実現するための各種実施例のソフトウェアはこのような機器に記憶され、コア(1540)に実行される。特定の需要に応じて、コンピュータ読み取り可能な媒体には1つ又は複数の記憶機器またはチップが含まれてもよい。ソフトウェアはコア(1540)、特にそのうちのプロセッサ(CPU、GPU、FPGAなどが含まれた)に、本明細書に記載の特定プロセスまたは特定プロセスの特定部分を実行させ、RAM(1546)に記憶されるデータ構成を限定すること、及びソフトウェアにより限定されたプロセスに基づき、このようなデータ構成を修正することが含まれる。また或いは代わりとして、コンピュータシステムは、論理的な固定接続または他の方式で回路(例えば、アクセラレータ(1544))に体現されることで機能を提供し、該回路は、ソフトウェアの代わりとして、またはソフトウェアとともに操作することで、本明細書に記載の特定プロセスまたは特定プロセスの特定部分を実行できる。適切な場合、言及のソフトウェアにはロジックが含まれ、逆に、言及ロジックにはソフトウェアが含まれてもよい。適切な場合、言及のコンピュータ読み取り可能な媒体には、実行するためのソフトウェアが記憶される回路(例えば、集積回路(IC))、実行するためのロジックを体現する回路、或いは前記両者が含まれてもよい。本開示の内容にはハードウェアとソフトウェアとの任意の適切な組み合わせが含まれる。
付録A:頭字語
JEM:共同探索モデル
VVC:多機能ビデオ符号化
BMS:ベンチマークセット
MV:動きベクトル
HEVC:高効率ビデオ符号化
SEI:補充強化情報
VUI:ビデオユーザビリティ情報
GOP:ピクチャグループ
TU:変換ユニット
PU:予測ユニット
CTU:符号化ツリーユニット
CTB:符号化ツリーブロック
PB:予測ブロック
HRD:仮想参照復号器
SNR:信号対雑音比
CPU:中央処理ユニット
GPU:グラフィック処理ユニット
CRT:陰極線管
LCD:液晶ディスプレイ
OLED:有機発光ダイオード
CD:コンパクトディスク
DVD:デジタルビデオディスク
ROM:読み取り専用メモリ
RAM:ランダムアクセスメモリ
ASIC:特定用途向け集積回路
PLD:プログラマブルロジックデバイス
LAN:ローカルエリアネットワーク
GSM:グローバルモバイルシステムオブシステム
LTE:ロングタームエボリューション
CANBus:コントローラエリアネットワークバス
USB:ユニバーサルシリアルバス
PCI:周辺コンポーネント相互接続
FPGA:フィールドプログラム可能なゲートアレイ
SSD:ソリッドステートドライブ
IC:集積回路
CU:符号化ユニット
【0181】
本開示の内容には若干の例示性の実施例が記載されているが、本開示の内容の範囲内にある変更、置き換え及びいろんな置換等価物が存在する。従って、本明細書には明らかに記載されていないが、本開示の内容の原理を体現し本開示の内容の精神及び範囲内に属する多いシステム及び方法は、当業者にとって想到し得る。