(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-06-28
(45)【発行日】2022-07-06
(54)【発明の名称】ビデオ符号化のための方法及び装置
(51)【国際特許分類】
H04N 19/52 20140101AFI20220629BHJP
【FI】
H04N19/52
(21)【出願番号】P 2020546101
(86)(22)【出願日】2019-05-16
(86)【国際出願番号】 US2019032672
(87)【国際公開番号】W WO2019231706
(87)【国際公開日】2019-12-05
【審査請求日】2020-09-03
(32)【優先日】2018-06-01
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2018-11-28
(33)【優先権主張国・地域又は機関】US
【前置審査】
(73)【特許権者】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】リ,シアン
(72)【発明者】
【氏名】シュイ,シアオジョォン
(72)【発明者】
【氏名】リィウ,シャン
(72)【発明者】
【氏名】ジャオ,シン
【審査官】岩井 健二
(56)【参考文献】
【文献】特開2013-034186(JP,A)
【文献】特開2013-016930(JP,A)
【文献】特開2012-191513(JP,A)
【文献】米国特許出願公開第2014/0146890(US,A1)
【文献】米国特許出願公開第2013/0243093(US,A1)
【文献】米国特許出願公開第2013/0202037(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00 - 19/98
(57)【特許請求の範囲】
【請求項1】
復号器においてビデオ復号化を行うための方法であって、
符号化ビデオビットストリームから現在ピクチャにおける第1ブロックの第1予測情報を復号化するステップと、
フレーム間予測モードに基づいて前記第1ブロックが符号化されていることを前記第1予測情報が示す場合、前記第1ブロックの第1動きベクトルを決定するステップと、
前記第1ブロックの前記第1動きベクトルに基づいて、前記第1ブロックを再構築するステップと、
前記符号化ビデオビットストリームから前記現在ピクチャにおける第2ブロックの第2予測情報を復号化するステップと、
前記フレーム間予測モードに基づいて前記第2ブロックが符号化されていることを前記第2予測情報が示す場合、
前記第1ブロックと前記第2ブロックとの復号化の順序に基づいて、前記第1ブロックの前記第1動きベクトルを含まない候補動きベクトル予測値のリストを構築し、
前記候補動きベクトル予測値のリストに基づき、前記第2ブロックの第2動きベクトルを決定することによって、
前記第2ブロックの前記第2動きベクトルを決定するステップと、
前記第2ブロックの前記第2動きベクトルに基づいて、前記第2ブロックを再構築するステップとを含
み、
さらに、前記第1ブロックがマージモードとスキップモードのうちの1つにあるとともに、復号化の順序で前記第2ブロックより前にある場合、前記第1ブロックからの候補動きベクトル予測値を利用不能として標識するステップを含む方法。
【請求項2】
さらに、前記第1ブロックからの前記候補動きベクトル予測値を利用不能として標識した後、前記第1ブロックと前記第2ブロックとが異なる符号化ツリーユニットに属する場合、前記第1ブロックからの前記候補動きベクトル予測値を利用可能として標識するステップを含む請求項
1に記載の方法。
【請求項3】
さらに、前記第1ブロックからの前記候補動きベクトル予測値を利用不能として標識した後、前記第1ブロックと前記第2ブロックとが異なるスライスに属する場合、前記第1ブロックからの前記候補動きベクトル予測値を利用可能として標識するステップを含む請求項
1に記載の方法。
【請求項4】
さらに、前記第1ブロックからの前記候補動きベクトル予測値を利用不能として標識した後、前記第1ブロックと前記第2ブロックとが異なるタイルに属する場合、前記第2ブロックからの前記候補動きベクトル予測値を利用可能として標識するステップを含む請求項
1に記載の方法。
【請求項5】
さらに、前記第1ブロックの隣接ブロックからの動きベクトル予測値によって、前記第1ブロックからの前記候補動きベクトル予測値を置き換えるステップを含む請求項
1に記載の方法。
【請求項6】
ビデオ復号化のための装置であって、
プロセッサ及びメモリを含み、
前記プロセッサは、前記メモリに記憶されたプログラムをロードして実行することにより、請求項1乃至
5のうちいずれか1項に記載の方法を実現する、装置。
【請求項7】
コンピュータがビデオ復号化を行う場合、前記コンピュータに、請求項1乃至
5のうちいずれか1項に記載の方法を実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、2018年11月28日にて提出されたアメリカ特許出願第16/203、145号である「METHOD AND APPARATUS FOR VIDEO CODING(ビデオ符号化のための方法及び装置)」の優先権を主張し、該アメリカ特許出願は2018年6月1日にて提出されたアメリカ仮出願第62/679、642号である「CONSTRAINT FOR DECODER SIDE MV DERIVATION AND REFINEMENT(復号器側のMVの導出及び精密化に対する制限)」の優先権を主張し、その全ての内容は援用される。
【0002】
本開示の内容は、一般的にビデオ符号化に関する実施例を記載する。
【背景技術】
【0003】
本明細書で提供される背景記載は、本開示内容の背景を総体的に体現することを目的とする。該背景技術部分に記載の作業程度から見れば、現在署名の発明者の作業、及び提出の際別に従来技術の記載として限定されていない態様について、明確且つ暗黙的に本開示内容に対する従来技術として認められない。
【0004】
動き補償を有するピクチャ間予測によってビデオ符号化及び復号化を実行することができる。非圧縮のデジタルビデオは一連のピクチャを含んでもよく、各ピクチャの空間次元は、例えば1920x1080の輝度サンプルと関連するクロミナンスサンプルを有する。当該一連のピクチャは、例えば、1秒あたり60のピクチャ又は60Hzの固定又は可変のピクチャレート(非正式にはフレームレートとも呼ばれる)を有してもよい。非圧縮のビデオには、高いビットレート要件を有する。例えば、サンプルあたりの8ビットの1080r604:2:0ビデオ(60Hzフレームレートでの1920×1080の輝度サンプル解像度)は、1.5Gbit/sに近い帯域幅が必要である。このような1時間のビデオは、600GBを超えるストレージスペースが必要である。
【0005】
ビデオ符号化及び復号化は、圧縮により、ビデオ信号入力における冗長を減少させることを1つの目的とする。圧縮は、以上に言及された帯域幅または記憶空間に対する需求を減少させることに寄与し、ある状況で、2つまたはより多いオーダーを減少させる。可逆圧縮、非可逆圧縮、及びその組み合わせを利用できる。可逆圧縮は、圧縮された元の信号から元の信号の正確なコピーを再構築する技術を指す。非可逆圧縮を利用する場合、再構築された信号は元の信号と異なるかもしれないが、元の信号と再構築された信号との間の歪みは十分に小さいから、再構築された信号は予期の応用に役立つ。ビデオの場合、非可逆圧縮は大幅に応用される。許容の歪み量はアプリケーションに依存し、例えば、テレビ貢献アプリケーションのユーザーより、消費者ストリーミング媒体プリケーションのユーザーが高い歪みを許容する。達する圧縮比は、許可/許容可能な歪みが高いほど、圧縮比が高くなることを反映する。
【0006】
動き補償は非可逆圧縮技術であるとともに、以下の技術に関わり、即ち、動きベクトル(以下はMVと呼ばれる)が指示する方向で、空間変位を行った後、前に再構築のピクチャまたはその一部(参照ピクチャ)からのサンプルデータのブロックは、新たに再構築のピクチャまたはピクチャ部分を予測するために用いられる。ある状況で、参照ピクチャは現在再構築中のピクチャと同様であってもよい。MVはXとYという2つの次元を有してもよいし、3つの次元を有してもよく、第3次元は利用中の参照ピクチャの指示である(後者は間接的に時間次元であってもよい)。
【発明の概要】
【発明が解決しようとする課題】
【0007】
ビデオ圧縮技術において、他のMVから、サンプルデータのある領域に適用されるMVを予測してもよく、例えば、他のMVは、空間で再構築中の領域に隣接するサンプルデータの他の領域に関するとともに、復号化の順序で該MVより前にあるMVである。このように、MVに対する符号化の必要なデータ量を大幅に減少させ、冗長をなくし、圧縮を大きくする。MVの予測は効果的に動作し、例えば、なぜならば、撮影装置から導出されたビデオ入力信号(自然ビデオと呼ばれる)に対して符号化を行う際、統計での可能性が存在し、即ち、単一MVが適用する領域より大きい領域は、類似の方向で移動し、且つ、そのため、ある状況で、隣接領域のMVから導出された類似の動きベクトルによって予測できるからだ。これによって、特定領域に対して見つけられたMVは、周辺MVから予測されたMVと類似または同様になるとともに、エントロピー符号化の後、MVに対して直接的に符号化を行う場合で使用されるビットより、小さいビットで示すことができる。ある状況で、MV予測は元の信号(即ちサンプルストリーム)から導出される信号(即ちMV)の可逆圧縮の例示であってもよい。他の状況で、MV予測そのものは、非可逆であってもよく、例えば、なぜならば、若干の周辺MVから予測値を計算する際の丸め誤差であるからだ。
【0008】
H.265/HEVC(ITU-T H.265提案書である「高効率のビデオ符号化(High Efficiency Video Coding)」、2016年12月)において、いろんなMV予測メカニズムが記載されている。H.265により提供される多種のMV予測メカニズムの他に、本出願が記載するのは、以下で「空間マージ」と呼ばれる技術である。
【課題を解決するための手段】
【0009】
本開示の内容の各態様は、ビデオ符号化/復号化のための方法及び装置を提供する。いくつかの例示において、装置はビデオ復号化のための処理回路を有する。処理回路は符号化ビデオビットストリームから現在ピクチャにおける第1ブロックの予測情報を復号化する。予測情報は、動きベクトルの予測値に基づいて第1ブロックの第1動きベクトルを決定するフレーム間予測モードを指示する。そして、処理回路は、フレーム間予測モードに応じて、候補動きベクトル予測値の候補リストを構築し、候補リストは、動きベクトルの導出において、第2ブロックの第2動きベクトルを最終的に決定する操作を必要とする第2ブロックを排除して構築される。そして、処理回路は候補動きベクトル予測値の候補リストに基づき、第1ブロックの第1動きベクトルを決定し、第1ブロックの第1動きベクトルに基づいて第1ブロックを再構築する。
【0010】
1つの実施例において、第2ブロックが復号化の順序で連続的に第1ブロックより前にある場合、処理回路は第2ブロックからの候補動きベクトル予測値を利用不能として標識する。
【0011】
他の実施例において、第2ブロックがマージモードとスキップモードのうちの1つにあるとともに、復号化の順序で連続的に第1ブロックより前にある場合、処理回路は第2ブロックからの候補動きベクトル予測値を利用不能として標識する。
【0012】
他の実施例において、第2ブロックが復号器側の動きベクトルの導出によって第2ブロックの第2動きベクトルを決定するモードにあるとともに、第2ブロックが復号化の順序で連続的に第1ブロックより前にある場合、処理回路は第2ブロックからの候補動きベクトル予測値を利用不能として標識する。
【0013】
他の実施例において、第2ブロックが双方向予測モードにあるとともに、復号化の順序で連続的に第1ブロックより前にある場合、処理回路は第2ブロックからの候補動きベクトル予測値を利用不能として標識する。
【0014】
他の実施例において、非隣接空間の動きベクトル予測値は、復号化の順序で連続的に第1ブロックより前にある第2ブロックに属する場合、処理回路は非隣接空間の動きベクトル予測値を利用不能として標識する。
【0015】
他の実施例において、第1ブロックと第2ブロックとが異なる符号化ツリーユニットに属する場合、処理回路は第2ブロックからの候補動きベクトル予測値に対して標識を取り消す。他の実施例において、第1ブロックと第2ブロックとが異なるスライスに属する場合、処理回路は第2ブロックからの候補動きベクトル予測値に対して標識を取り消す。
【0016】
他の実施例において、第1ブロックと第2ブロックとが異なるタイルに属する場合、処理回路は第2ブロックからの候補動きベクトル予測値に対して標識を取り消す。
【0017】
いくつかの例示において、処理回路は第2ブロックの隣接ブロックからの動きベクトル予測値によって、第2ブロックからの候補動きベクトル予測値を置き換える。
【0018】
本開示内容の各態様はさらに、命令が記憶される非一時的なコンピュータ読み取り可能な媒体を提供し、該命令はビデオ復号化を行うように、コンピュータに実行される場合、コンピュータに前記ビデオ符号化のための方法を実行させる。
【図面の簡単な説明】
【0019】
以下の詳しい記載及び図面に基づいて、開示のテーマの他の特徴、性質及び各利点はより明確になり、図面において、
【
図1】1つの実施例による通信システム(100)の簡略化ブロック図の模式図である。
【
図2】1つの実施例による通信システム(200)の簡略化ブロック図の模式図である。
【
図3】1つの実施例による復号器の簡略化ブロック図の模式図である。
【
図4】1つの実施例による符号器の簡略化ブロック図の模式図である。
【
図5】他の実施例による符号器のブロック図を示す。
【
図6】他の実施例による復号器のブロック図を示す。
【
図7】いくつかの例示において、現在ブロック及びその周辺の空間マージ候補の概略図である。
【
図8】いくつかの実施例による双方向マッチングの例示を示す。
【
図9】本開示内容による1つの実施例のテンプレートマッチングの例示を示す。
【
図10】双方向テンプレートマッチングによるDMVRの例示を示す。
【
図11A】現在ブロックとその前のブロックとの間の空間関係の例示を示す。
【
図11B】現在ブロックとその前のブロックとの間の空間関係の例示を示す。
【
図12】ビデオ処理のためのパイプライン段階の例示を示す。
【
図13】ビデオ処理のためのパイプライン段階の他の例示を示す。
【
図14】ビデオ処理のためのパイプライン段階の他の例示を示す。
【
図15】本開示内容による1つの実施例の処理を概略説明するためのフローチャートを示す。
【
図16】1つの実施例によるコンピュータシステムの概略図である。
【発明を実施するための形態】
【0020】
図1は、本開示内容による1つの実施例の通信システム(100)の簡略化ブロック図を示す。通信システム(100)は、例えばネットワーク(150)を介して互いに通信できる複数の端末機器を有する。例えば、通信システム(100)はネットワーク(150)を介して互いに接続された第1対の端末機器(110)、(120)とを有する。
図1の例示において、該第1対の端末機器(110)、(120)とは一方向のデータ伝送を実行する。例えば、端末機器(110)はビデオデータ(例えば、端末機器(110)によりキャプチャされたビデオピクチャストリーム)を符号化することで、ネットワーク(150)を介して他の端末機器(120)に伝送される。符号化されたビデオデータは1つ又は複数の符号化ビデオビットストリームという形式で伝送されてもよい。端末機器(120)はネットワーク(150)から符号化ビデオデータを受信し、符号化ビデオデータを復号化することで、ビデオピクチャを回復させ、回復されたビデオデータに応じてビデオピクチャを表示する。一方向のデータ伝送はメディアサービスアプリケーションなどにおいて、よく見られる。
【0021】
他の実施例において、通信システム(100)は、符号化ビデオデータの双方向伝送を実行するための第2対の端末機器(130)、(140)とを有し、双方向伝送は、例えばビデオ会議期間に発生し得る。双方向データ伝送について、例示において、端末機器(130)、(140)における各端末機器は、ビデオデータ(例えば、端末機器によりキャプチャされたビデオピクチャストリーム)を符号化することで、ネットワーク(150)を介して端末機器(130)、(140)のうちの他の端末機器に伝送できる。端末機器(130)、(140)のうちの各端末機器はさらに端末機器(130)、(140)のうちの他の端末機器から伝送される符号化ビデオデータを受信し、符号化ビデオデータを復号化することでビデオピクチャを回復させ、回復されたビデオデータに応じてアクセス可能な表示機器でビデオピクチャを表示できる。
【0022】
図1の例示において、端末機器(110)、(120)、(130)及び(140)は、サーバー、パーソナルコンピュータ及びスマートフォンとして示されるが、本開示内容の原理はこれに限定されない。本開示内容の実施例はラップトップコンピュータ、タブレット、メディアプレイヤー及び/または専門ビデオ会議機器に適用される。ネットワーク(150)は、端末機器(110)、端末機器(120)、端末機器(130)及び端末機器(140)の間で符号化ビデオデータを伝送するための、例えば有線接続(ワイヤード)及び/または無線通信ネットワークが含まれる任意の数のネットワークを示す。通信ネットワーク(150)は回路交換及び/またはパケット交換チャネルにおいてデータを交換できる。代表的なネットワークは電気通信ネットワーク、ローカルエリアネットワーク、広域エリアネットワーク及び/またはインターネットを含む。本論述の目的から見れば、本明細書において別途に説明しない限り、ネットワーク(150)のアーキテクチャ及びトポロジは、本開示内容の操作に対して重要ではない。
【0023】
開示のテーマの応用例示として、
図2は、ビデオ符号器とビデオ復号器とのストリーミング伝送環境における配置を示す。開示のテーマは等価的にビデオを支持する、例えばビデオ会議、デジタルテレビが含まれる他のアプリケーションに適用され、CD、DVD、メモリースティックなどが含まれるデジタル媒体に圧縮されたビデオなどが記憶される。
【0024】
ストリーミング伝送システムは、キャプチャサブシステム(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のコンテキストに適用される。
【0025】
なお、電子機器(220)、電子機器(230)は他の部材(図示せず)を含んでもよ。例えば、電子機器(220)はビデオ復号器(図示せず)を含んでもよく、電子機器(230)はビデオ符号器(図示せず)を含んでもよい。
【0026】
図3は、本開示内容の1つの実施例に基づくビデオ復号器(310)のブロック図を示す。ビデオ復号器(310)は電子機器(330)に含まれる。電子機器(330)は受信器(331)(例えば、受信回路)を含んでもよい。ビデオ復号器(310)は、
図2の例示におけるビデオ復号器(210)の代わりとしてもよい。
【0027】
受信器(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)の外部にある類似元素(図示せず)で実現される。
【0028】
ビデオ復号器(310)は、符号化されたビデオシーケンスに基づき符号(321)を再構築するパーサー(320)を有する。これらの符号のカテゴリにはビデオ復号器(310)の操作を管理するための情報、及び表示機器(312)(例えば、スクリーン)のような表示機器を制御するための潜在情報が含まれ、
図3に示すように、該表示機器(312)は電子機器(330)の一体部分ではなく、電子機器(330)に連結される。(1つ又は複数の)表示機器に用いられる制御情報は補充強化情報(SEIメッセージ)またはビデオユーザビリティ情報(VUI)パラメータセットセグメント(図示せず)という形式であってもよい。パーサー(320)は受信された、符号化されたビデオシーケンスに対して解析/エントロピー復号化を行う。符号化されたビデオシーケンスの符号化は、ビデオ符号化技術または基準に基づくとともに、可変長符号、ハフマン符号(Huffman coding)、コンテキスト感度を有するかまたは有していない算術符号などのような各種原理に従う。パーサー(320)はグループに対応する少なくとも1つのパラメータに基づき、符号化されたビデオシーケンスから、ビデオ復号器における画素のサブグループのうちの少なくとも1つのサブグループのためのサブグループパラメータセットを抽出する。サブグループには、ピクチャグループ(GOP)、ピクチャ、タイル、スライス、マクロブロック、符号化ユニット(CU)、ブロック、変換ユニット(TU)、予測ユニット(PU)などが含まれる。パーサー(320)はさらに符号化されたビデオシーケンスから、変換係数、量子化器パラメータ値、動きベクトルなどのような情報を抽出できる。
【0029】
パーサー(320)はバッファメモリ(315)から受信したビデオシーケンスに対してエントロピー復号化/解析操作を実行することで、符号(321)を構築し得る。
【0030】
符号化されたビデオピクチャまたはその一部(例えば、フレーム間ピクチャ及びフレーム内ピクチャ、フレーム間ブロック及びフレーム内ブロック)のタイプ及び他の要因に依存し、符号(321)の再構築は複数の異なるユニットに関わる。どのユニットに関わるか、及び関わる方式は、パーサー(320)が符号化されたビデオシーケンスから解析したサブグループ制御情報によって制御できる。簡潔のために、パーサー(320)と以下の複数のユニットとの間にある、このようなサブグループ制御情報ストリームを記載していない。
【0031】
既に言及された機能ブロック以外、ビデオ復号器(310)は概念的に以下に記載の若干の機能ユニットに細分できる。商業制約で実行する実際の実現方式において、これらのユニットにおける複数のユニットは互いに密接に対話するとともに、少なくとも部分的に互いに集積されてもよい。ただし、開示のテーマを説明するという目的から見れば、概念的に以下の機能ユニットに細分されることは適切である。
【0032】
第1ユニットはスケーラ/逆変換ユニット(351)である。スケーラ/逆変換ユニット(351)はパーサー(320)から、(1つ又は複数の)符号(321)としての量子化変換係数及び制御情報を受信し、どんな変換方式を利用するか、ブロックの大きさ、量子化因子、量子化スケーリング行列などを含む。スケーラ/逆変換ユニット(351)は、アグリゲーター(355)に入力されるサンプル値が含まれるブロックを出力できる。
【0033】
ある状況で、スケーラ/逆変換ユニット(351)の出力サンプルはフレーム内符号化ブロックに属してもよく、即ち、前に再構築されたピクチャからの予測情報を利用しないが、現在ピクチャの前に再構築された部分からの予測情報のブロックを利用できる。このような予測性情報はフレーム内ピクチャ予測ユニット(352)から提供される。ある状況で、フレーム内ピクチャ予測ユニット(352)は現在ピクチャバッファ(358)から抽出された周辺の再構築された情報によって、再構成中のブロックの大きさ及び形状と同様であるブロックを生成する。例えば、現在ピクチャバッファ(358)は部分的に再構築された現在ピクチャ及び/または完全に再構築された現在ピクチャをバッファリングする。ある状況で、アグリゲーター(355)は各サンプルに基づき、フレーム内予測ユニット(352)が生成した予測情報を、スケーラ/逆変換ユニット(351)によって提供された出力サンプル情報に追加する。
【0034】
他の状況で、スケーラ/逆変換ユニット(351)の出力サンプルはフレーム間符号化と潜在動き補償ブロックに属してもよい。このような状況で、動き補償予測ユニット(353)は参照ピクチャメモリ(357)にアクセスすることで、予測のためのサンプルを抽出できる。該ブロックに属する符号(321)に基づき、抽出されたサンプルに対して動き補償を行った後、これらのサンプルはアグリゲーター(355)からスケーラ/逆変換ユニット(351)の出力に追加され(この場合、残差サンプルまたは残差信号と呼ばれる)、出力サンプル情報を生成する。動き補償予測ユニット(353)が予測サンプルを抽出する参照ピクチャメモリ(357)内のアドレスは、動きベクトルによって制御でき、動きベクトルは符号(321)の形式で、動き補償予測ユニット(353)に用いられ、符号(321)は、例えばX、Y及び参照ピクチャ成分を有してもよい。動き補償はさらに、サブサンプルの正確な動きベクトルを使用する際、参照ピクチャメモリ(357)から抽出されたサンプル値の補間、動きベクトル予測メカニズムなどを含んでもよい。
【0035】
アグリゲーター(355)の出力サンプルは、ループフィルタユニット(356)において、各種のループフィルタリング技術を利用できる。ビデオ圧縮技術はループ内フィルタ技術を含み、ループ内フィルタ技術は、符号化されたビデオシーケンス(符号化されたビデオビットストリームとも呼ばれる)に含まれるとともに、パーサー(320)からの符号(321)として、ループフィルタユニット(356)のパラメータ制御に使用されるが、ビデオ圧縮技術は、符号化されたピクチャまたは符号化されたビデオシーケンスの(復号化の順序で)の前の部分を復号化する期間で取得されたメタ情報、及び前に再構築されループフィルタリングを経るサンプル値に応答できる。
【0036】
ループフィルタユニット(356)の出力はサンプルストリームであってもよく、サンプルストリームは表示機器(312)に出力され、及び参照ピクチャメモリ(357)に記憶されることで、後にフレーム間ピクチャ予測に用いられる。
【0037】
完全に再構成されると、ある符号化されたピクチャは参照ピクチャとして、後の予測に用いることができる。例えば、現在ピクチャに対応する符号化されたピクチャが完全に再構成され、符号化されたピクチャ(例えばパーサー(320)を介して)が参照ピクチャとして認識されると、現在ピクチャバッファ(358)は参照ピクチャメモリ(357)の一部になり、その後の符号化されたピクチャを再構成する前に、新たな現在ピクチャバッファを改めて割り当てる。
【0038】
ビデオ復号器(310)は、例えばITU-T H.265提案書の基準における所定ビデオ圧縮技術に基づき、復号化操作を実行することができる。符号化されたビデオシーケンスは、ビデオ圧縮技術または基準のシンタックス、及びビデオ圧縮技術または基準に記録されたプロファイルという両者に従うという意味で、符号化されたビデオシーケンスは使用中のビデオ圧縮技術または基準が指定するシンタックスに合わせる。具体的に、プロファイルはビデオ圧縮技術または基準における利用可能な全てのツールから、該プロファイルで利用可能な唯一のツールとして、いくつかのツールを選択できる。準拠性について、符号化されたビデオシーケンスの複雑度は、ビデオ圧縮技術または基準のレベルによって限定される範囲内にあるように要求する。ある状況で、レベルは最大ピクチャの大きさ、最大フレームレート、最大再構築サンプリングレート(例えば、メガサンプル/秒に測定する)、最大参照ピクチャの大きさを制限する。ある状況で、レベルによる配置される制限は、仮想参照復号器(HRD)の仕様、及び符号化されたビデオシーケンスにおいてシグナリングされたHRDバッファの管理のメタデータを介してさらに限定される。
【0039】
1つの実施例において、受信器(331)は追加(冗長)データ及び符号化されたビデオを受信できる。追加データは(1つ又は複数の)符号化されたビデオシーケンスの一部として含まれる。追加データはビデオ復号器(310)によって利用されることで、データを適切に復号化し、及び/またはオリジナルビデオデータをより正確に再構築することができる。追加データは、例えば時間、空間または信号対雑音比(SNR)強化層、冗長スライス、冗長ピクチャ、前方誤り訂正符号などの形式であってもよい。
【0040】
図4は、本開示内容による1つの実施例のビデオ符号器(403)のブロック図を示す。ビデオ符号器(403)は電子機器(420)に含まれる。電子機器(420)は伝送器(440)(例えば、伝送回路)を有する。ビデオ符号器(403)は
図2の例示におけるビデオ符号器(203)の代わりとすることができる。
【0041】
ビデオ符号器(403)はビデオ符号器(403)によって符号化されるビデオ画像をキャプチャし得るビデオソース(401)(
図4例示における電子機器(420)の一部ではない)からビデオサンプルを受信できる。他の例示において、ビデオソース(401)は電子機器(420)の一部である。
【0042】
ビデオソース(401)は、ビデオ符号器(403)によって符号化され、デジタルビデオサンプルストリームの形式であるソースビデオシーケンスを提供でき、デジタルビデオサンプルストリームは任意の適切なビット深度(例えば、8ビット、10ビット、12ビット…)、任意の色空間(例えば、BT.601 Y CrCB、RGB……)、及び任意の適切なサンプリング構成(例えば、Y CrCb 4:2:0、Y CrCb 4:4:4)を有してもよい。メディアサービスシステムにおいて、ビデオソース(401)は、前に準備されたビデオを記憶するための記憶機器であってもよい。ビデオ会議システムにおいて、ビデオソース(401)は、ビデオシーケンスとして、ローカル画像情報をキャプチャするための撮影装置であってもよい。ビデオデータは、順序に応じて見る際、動きが付与された複数の単独のピクチャとして提供されてもよい。ピクチャそのものは、空間画素アレイとして組織され、使用中のサンプリング構成、色空間などに依存し、各画素には1つ又は複数のサンプルが含まれてもよい。画素とサンプルとの間の関係は、当業者にとって容易に理解できる。以下の記載はサンプルに着目する。
【0043】
1つの実施例に基づき、ビデオ符号器(403)は、リアルタイムまたはアプリケーションの必要な任意の他の時間の制約で、ソースビデオシーケンスのピクチャを符号化するとともに、符号化されたビデオシーケンス(443)として圧縮する。適切的な符号化速度で実行することは、コントローラ(450)の1つの機能である。いくつかの実施例において、コントローラ(450)は以下に記載の他の機能ユニットを制御するとともに、機能で他の機能ユニットに連結される。簡潔のために、該連結を図示していない。コントローラ(450)により配置されるパラメータは、レート制御に関するパラメータ(ピクチャスキップ、量子化器、レート歪み最適化技術のλ値......)、ピクチャの大きさ、ピクチャグループ(GOP)の配置、最大動きベクトルの検索範囲などを含んでもよい。コントローラ(450)は他の適切な機能を有するように配置されてもよく、これらの機能は、あるシステム設計に対して最適化したビデオ符号器(403)に属する。
【0044】
いくつかの実施例において、ビデオ符号器(403)は符号化ループにおいて操作するように配置される。非常に簡単な記載として、1つの例示において、符号化ループはソース符号器(430)(例えば、符号化対象となる入力ピクチャと(1つ又は複数)参照ピクチャに基づき、符号ストリームのような符号を構築することに担当する)、及びビデオ符号器(403)に埋め込まれる(ローカル)復号器(433)を含む。復号器(433)は、(リモート)復号器がサンプルデータを構築するという方式で、符号を再構築し、サンプルデータを構築する(なぜならば、開示のテーマで考慮されるビデオ圧縮技術において、符号と符号化されたビデオビットストリームとの間の圧縮はいずれも可逆であるからだ)。再構築されたサンプルストリーム(サンプルデータ)を参照ピクチャメモリ(434)に入力する。符号ストリームの復号化は、復号器位置(ローカルまたはリモート)と関係がないビット正確結果を発生させるから、参照ピクチャメモリ(434)におけるコンテンツはローカル符号器とリモート符号器との間でもビット正確である。言い換えば、符号器の予測部分から「見られる」参照ピクチャサンプルは復号器が復号化期間で予測を利用しようとする際に「見られる」サンプル値と完全に同様である。該参照ピクチャの同期性の基本原理は(及び、例えばチャンネル誤差から、同期性を維持できない場合に発生するドリフト)も関連分野に適用される。
【0045】
「ローカル」復号器(433)の操作は、例えば、以上
図3を結合し、詳しく記載したビデオ復号器(310)の「リモート」復号器の操作と同様であってもよい。ただし、
図3を簡単に参照し、符号は利用可能で、エントロピー符号器(445)とパーサー(320)とはロスレスに符号を符号化されたビデオシーケンスに符号化/復号化することができる場合、バッファメモリ(315)とパーサー(320)とを含むビデオ復号器(310)のエントロピー復号化部分は、ローカル復号器(433)において完全に実現できないおそれがある。
【0046】
この場合、復号器に存在する解析/エントロピー復号化以外の任意の復号器技術も、必然として、基本的に同じ機能という形式で、対応する符号器に存在する。該原因のため、開示のテーマは、復号器の操作に着目する。符号器技術と全面的に記載された復号器技術とは反対するから、符号器技術に対する記載を簡略化し得る。ある領域のみに必要で、より詳しい記載は以下で提供される。
【0047】
操作期間において、いくつかの例示において、ソース符号器(430)は動き補償予測符号化を実行でき、動き補償予測符号化はビデオシーケンスからの、「参照ピクチャ」として指定される1つ又は複数の前の符号化ピクチャを参照し、入力ピクチャに対して予測性符号化を行う。該方式で、符号化エンジン(432)は、入力ピクチャの画素ブロックと、入力ピクチャの(1つ又は複数の)予測参照の(1つ又は複数の)参照ピクチャとして選択される画素ブロックとの間の差に対して符号化を行う。
【0048】
ローカルビデオ復号器(433)は、ソース符号器(430)によって構築された符号に基づき、参照ピクチャとして指定できるピクチャの符号化されたビデオデータを復号化することができる。符号化エンジン(432)の操作は好ましくは非可逆処理である。符号化されたビデオデータがビデオ復号器(
図4において図示せず)で復号化できると、再構築されたビデオシーケンスは、一般的にある程度誤差を有するソースビデオシーケンスのコピーであってもよい。ローカルビデオ復号器(433)はビデオ復号器が参照ピクチャに対して実行する復号化処理をコピーするとともに、再構築された参照ピクチャを参照ピクチャキャッシュ(434)に記憶させる。該方式で、ビデオ符号器(403)は再構築された参照ピクチャのコピーをローカル的に記憶し、該コピーは、リモートビデオ復号器によって取得される再構築の参照ピクチャと、共通のコンテンツを有する(伝送誤差がない)。
【0049】
予測器(435)は、符号化エンジン(432)に対して予測検索を実行することができる。即ち、符号化対象となる新たなピクチャに対して、予測器(435)は参照ピクチャメモリ(434)から新たなピクチャとしての適切な予測参照のサンプルデータ(候補参照画素ブロックとして)、またはあるメタデータ例えば参照ピクチャ動きベクトル、ブロック形状などを検索する。予測器(435)はサンプルブロックに基づき、画素ブロックごとに操作することで、適切な予測参照を見つけることができる。ある状況で、予測器(435)によって取得された検索結果に基づき決定されるように、入力ピクチャは参照ピクチャメモリ(434)に記憶された複数の参照ピクチャから取得される予測参照を有してもよい。
【0050】
コントローラ(450)はソース符号器(430)の符号化操作を管理でき、例えば、ビデオデータを符号化するためのパラメータとサブグループパラメータを配置する。
【0051】
エントロピー符号器(445)において、以上に言及された全ての機能ユニットの出力に対してエントロピー符号化を行うことができる。エントロピー符号器(445)は、例えばハフマン符号、可変長符号、算術符号などの技術に基づいて、各種機能ユニットから生成された符号に対して可逆圧縮を行うことで、符号を符号化ビデオシーケンスに変換する。
【0052】
伝送器(440)は、エントロピー符号器(445)によって構築された(1つ又は複数の)符号化されたビデオシーケンスをバッファリングすることで、通信チャンネル(460)を介して伝送するように準備し、該通信チャンネルは符号化されたビデオデータを記憶するための記憶機器へのハードウェア/ソフトウェアリンクであってもよい。伝送器(440)はビデオ符号器(403)からの符号化されたビデオデータと、伝送対象となる他のデータ、例えば符号化されたオーディオデータ及び/または補助データストリーム(ソースを図示せず)とをマージする。
【0053】
コントローラ(450)は、ビデオ符号器(403)の操作を管理できる。符号化の期間に、コントローラ(450)は各符号化されたピクチャに、相応的なピクチャに適用される符号化技術に影響する可能性があるいくつかの符号化ピクチャタイプを割り当てる。例えば、一般的に、ピクチャに以下のピクチャタイプのうちの1つが割り当てられる。
【0054】
フレーム内ピクチャ(Iピクチャ)であって、シーケンスにおけるいずれの他のピクチャも予測のソースとしていない場合に、符号化及び復号化されるピクチャであってもよい。例えば独立復号器リフレッシュ(「IDR」)ピクチャが含まれる異なるタイプのフレーム内ピクチャを許容するビデオコーデックもある。当業者は、Iピクチャの変体及びその相応的な応用、特徴を理解できる。
【0055】
予測性ピクチャ(Pピクチャ)であって、多くても1つの動きベクトル及び参照インデックスによって各ブロックのサンプル値を予測する場合、フレーム内予測またはフレーム間予測を利用して符号化及び復号化を行うピクチャであってもよい。
【0056】
双方向予測性ピクチャ(Bピクチャ)であって、多くても2つの動きベクトル及び参照インデックスによって、各ブロックのサンプル値を予測する場合、フレーム内予測またはフレーム間予測を利用して符号化及び復号化を行うピクチャであってもよい。類似するように、複数の予測性ピクチャは、2つより多い参照ピクチャと関するメタデータを、単一のブロックの再構築に使用できる。
【0057】
ソースピクチャは一般的に、空間で複数のサンプルブロック(例えば、4×4、8×8、4×8または16×16個のサンプルのブロック)に細分できるとともに、ブロックごとに符号化を行う。これらのブロックは、他の(符号化された)ブロックを参照し、予測性的に符号化を行って、他のブロックはブロックの相応的なピクチャに適用される符号化割当によって決定される。例えば、Iピクチャのブロックに対して非予測符号化を行うか、またはIピクチャのブロックは、同一のピクチャの符号化されたブロックを参照して、予測性符号化(空間予測またはフレーム内予測)を行う。Pピクチャの画素ブロックは、前に符号化された1つの参照ピクチャを参照し、空間予測または時間予測を介して予測性的に符号化を行ってもよい。Bピクチャのブロックは、前に符号化された1つまたは2つの参照ピクチャを参照し、空間予測または時間予測を介して予測性的に符号化を行ってもよい。
【0058】
ビデオ符号器(403)は例えばITU-T H.265提案書の所定のビデオ符号化技術または基準に基づき符号化操作を実行することができる。その操作において、ビデオ符号器(403)は、入力ビデオシーケンスにおける時間と空間冗長を利用した予測性符号化操作を含む各種の圧縮操作を実行できる。従って、符号化されたビデオデータは、使用のビデオ符号化技術または基準が指定するシンタックスに合う。
【0059】
1つの実施例において、伝送器(440)は追加データ及び符号化されたビデオを伝送することができる。ソース符号器(430)は符号化されたビデオシーケンスの一部として、このようなデータを含んでもよい。追加データは、時間/空間/SNR強化層、冗長ピクチャ及びスライスのような他の形式の冗長データ、補充強化情報(SEI)メッセージ、ビデオユーザビリティ情報(VUI)パラメータセットセグメントなどを含んでもよい。
【0060】
キャプチャされたビデオは、時間シーケンスを呈する複数のソースピクチャ(ビデオピクチャ)としてもよい。フレーム内ピクチャ予測(一般的にフレーム内予測に簡略化される)は特定のピクチャにおける空間の関連性を利用し、フレーム間ピクチャ予測はピクチャの間の(時間または他の)関連性を利用する。例示において、現在ピクチャと呼ばれる符号化/復号化における特定ピクチャは、ブロックに分割される。現在ピクチャにおけるブロックは、ビデオにおける前に符号化され且つ依然としてバッファリングされる参照ピクチャにおける参照ブロックに類似する場合、動きベクトルと呼ばれるベクトルによって、現在ピクチャにおけるブロックを符号化することができる。前記動きベクトルは参照ピクチャにおける参照ブロックを指し、複数の参照ピクチャを利用する場合、参照ピクチャを認識するための第3次元を有してもよい。
【0061】
いくつかの実施例において、双方向予測技術はフレーム間ピクチャ予測に用いられる。双方向予測技術に基づき、復号化順次でいずれもビデオにおける現在ピクチャの前(ただし、表示順次で、それぞれ過去と将来にあるかもしれない)にある、第1参照ピクチャと第2参照ピクチャのような2つの参照ピクチャを利用する。第1参照ピクチャにおける第1参照ブロックを指す第1動きベクトル、及び第2参照ピクチャにおける第2参照ブロックを指す第2動きベクトルによって現在ピクチャにおけるブロックを符号化することができる。第1参照ブロックと第2参照ブロックとの組み合わせで、ブロックを予測できる。
【0062】
また、マージモード技術は、フレーム間ピクチャ予測に用いられることで、符号化効率を向上させる。
【0063】
本開示内容のいくつかの実施例に基づき、ブロックごとにフレーム間ピクチャ予測及びフレーム内ピクチャ予測のような予測を実行する。例えば、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とを含む。1つの実施例において、符号化(符号化/復号化)における予測操作は、予測ブロックごとに実行される。予測ブロックの例示として、輝度予測ブロックを利用し、予測ブロックは、8×8画素、16×16画素、8×16画素、16×8画素などのような画素値(例えば、輝度値)の行列を含む。
【0064】
図5は、本開示内容の他の実施例に基づくビデオ復号器(503)の図面を示す。該ビデオ符号器(503)は、ビデオピクチャシーケンスにおける現在ビデオピクチャ内のサンプル値の処理ブロック(例えば、予測ブロック)を受信するとともに、処理ブロックを符号化されたビデオシーケンスの一部としての符号化されたピクチャに符号化するように配置される。例示において、ビデオ符号器(503)は
図2の例示におけるビデオ符号器(203)の代わりとして用いられる。
【0065】
HEVC例示において、ビデオ符号器(503)は、処理ブロック、例えば8×8サンプルの予測ブロックなどのサンプル値の行列を受信する。ビデオ符号器(503)は、例えばレート歪み最適化によって、フレーム内モード、フレーム間モードまたは双方向予測モードを利用して最適に処理ブロックを符号化するかということを決定する。フレーム内モードで処理ブロックを符号化しようとすると、ビデオ符号器(503)はフレーム内予測技術によって、処理ブロックを符号化ピクチャに符号化し、フレーム間モードまたは双方向予測モードで処理ブロックを符号化しようとすると、ビデオ符号器(503)はそれぞれフレーム間予測または双方向予測技術によって、処理ブロックを符号化ピクチャに符号化することができる。あるビデオ符号化技術において、マージモードはフレーム間ピクチャ予測サブモードであってもよく、予測値の外部にある符号化された動きベクトル成分を借りない場合、1つ又は複数の動きベクトル予測値(predictor)から動きベクトルを導出する。ある他のビデオ符号化技術において、テーマブロックに適用される動きベクトル成分が存在し得る。例示において、ビデオ符号器(503)は、処理ブロックのモードを決定するためのモード決定モジュール(図示せず)のような、他の部材を含む。
【0066】
図5の例示において、ビデオ符号器(503)は
図5に示すように連結されたフレーム間符号器(530)、フレーム内符号器(522)、残差計算器(523)、スイッチ(526)、残差符号器(524)、汎用コントローラ(521)及びエントロピー符号器(525)を含む。
【0067】
フレーム間符号器(530)は、現在ブロック(例えば、処理ブロック)のサンプルを受信し、ブロックと参照ピクチャにおける1つ又は複数の参照ブロック(例えば、前のピクチャとその後のピクチャにおけるブロック)とを比較し、フレーム間予測情報(例えば、フレーム間符号化技術による冗長情報に対する記載、動きベクトル、マージモード情報)を生成し、フレーム間予測情報に基づき任意の適切な技術を利用してフレーム間予測結果(例えば、予測のブロック)を計算するように配置される。いくつかの例示において、参照ピクチャは符号化されたビデオ情報に基づき復号化された、復号化済み参照ピクチャである。
【0068】
フレーム内符号器(522)は、現在ブロック(例えば、処理ブロック)のサンプルを受信し、ある状況で、ブロックと同一のピクチャにおける符号化されたブロックとを比較し、変換した後、量子化係数を生成し、ある状況で、さらに(例えば、1つ又は複数のフレーム内符号化技術によるフレーム内予測方向情報)フレーム内予測情報を生成するように配置される。1つの例示において、フレーム内符号器(522)はさらにフレーム内予測情報と同一のピクチャにおける参照ブロックに基づき、フレーム内予測結果を計算する(例えば、予測のブロック)。
【0069】
汎用コントローラ(521)は、汎用制御データを決定し、汎用制御データに基づきビデオ符号器(503)の他の部材を制御するように配置される。1つの例示において、汎用コントローラ(521)はブロックのモードを決定し、該モードに基づき制御信号をスイッチ(526)に提供する。例えば、モードがフレーム内モードである場合、汎用コントローラ(521)は、残差計算器(523)の使用のフレーム内モード結果を選択するようにスイッチ(526)を制御し、フレーム内予測情報を選択するようにエントロピー符号器(525)を制御するとともに、フレーム内予測情報をビットストリームに含ませる。モードがフレーム間モードである場合、汎用コントローラ(521)は、残差計算器(523)の使用のフレーム間予測結果を選択するように、スイッチ(526)を制御し、フレーム間予測情報を選択するようにエントロピー符号器(525)を制御するとともに、フレーム間予測情報をビットストリームに含ませる。
【0070】
残差計算器(523)は、受信されたブロックとフレーム内符号器(522)またはフレーム間符号器(530)から選択された予測結果との間の差(残差データ)を計算するように配置される。残差符号器(524)は、残差データ操作に基づき、残差データを符号化することで変換係数を生成するように配置される。1つの例示において、残差符号器(524)は、周波数領域における残差データを変換し、変換係数を生成するように配置される。係数を変換してから、量子化処理を介して、量子化の変換係数を取得する。各実施例において、ビデオ符号器(503)はさらに残差復号器(528)を有する。残差復号器(528)は、逆変換を実行し、復号化された残差データを生成するように配置される。復号化された残差データは、適切にフレーム内符号器(522)とフレーム間符号器(530)によって利用できる。例えば、フレーム間符号器(530)は復号化された残差データとフレーム間予測情報に基づき、復号化されたブロックを生成し、且つフレーム内符号器(522)は復号化された残差データとフレーム内予測情報に基づき復号化されたブロックを生成できる。復号化されたブロックは適切に処理されることで、復号化されたピクチャを生成し、いくつかの例示において、復号化されたピクチャは、メモリ回路(図示せず)においてバッファリングされ、参照ピクチャとして利用できる。
【0071】
エントロピー符号器(525)は、符号化されたブロックを含むようにビットストリームをフォーマットするように配置される。エントロピー符号器(525)はHEVC基準のような適切な基準に基づき、各種情報を含むように配置される。例示において、エントロピー符号器(525)は汎用制御データ、選択された予測情報(例えば、フレーム内予測情報またはフレーム間予測情報)、残差情報及びビットストリームにおける他の適切な情報を含むように配置される。なお、開示のテーマに基づき、フレーム間モードまたは双方向予測モードのマージサブモードでブロックを符号化する場合、残差情報が存在しない。
【0072】
図6は、本開示内容の他の実施例に基づくビデオ復号器(610)の図面を示す。ビデオ復号器(610)は、符号化されたビデオシーケンスの一部としての符号化されたピクチャを受信するとともに、符号化されたピクチャを復号化することで、再構築されたピクチャを生成するように配置される。例示において、ビデオ復号器(610)は、
図2の例示におけるビデオ復号器(210)の代わりとして用いられる。
【0073】
図6の例示において、ビデオ復号器(610)は
図6に示すように連結されたエントロピー復号器(671)、フレーム間復号器(680)、残差復号器(673)、再構築モジュール(674)及びフレーム内復号器(672)を含む。
【0074】
エントロピー復号器(671)は、符号化されたピクチャに基づき、符号化されたピクチャを構成するシンタックス要素を示すいくつかの符号を再構築するように配置される。このような符号は、例えば、ブロックを符号化するためのモード(例えば、フレーム内モード、フレーム間モード、双方向予測モード、後の両者のマージサブモードまたは他のサブモード)、それぞれフレーム内復号器(672)またはフレーム間復号器(680)に用いられることで予測するためのいくつかのサンプルまたはメタデータを認識できる予測情報(例えば、フレーム内予測情報またはフレーム間予測情報)、例えば量子化の変換係数という形式を呈する残差情報などを含む。例示において、予測モードがフレーム間または双方向予測モードである場合、フレーム間予測情報をフレーム間復号器(680)に提供し、予測タイプがフレーム内予測タイプである場合、フレーム内予測情報をフレーム内復号器(672)に提供する。残差情報は逆量子化を介して残差復号器(673)に提供される。
【0075】
フレーム間復号器(680)はフレーム間予測情報を受信し、フレーム間予測情報に基づきフレーム間予測結果を生成するように配置される。
【0076】
フレーム内復号器(672)はフレーム内予測情報を受信し、フレーム内予測情報に基づき予測結果を生成するように配置される。
【0077】
残差復号器(673)は、逆量子化を実行することで、逆量子化された変換係数を抽出し、逆量子化された変換係数を処理することによって残差を周波数領域から空間領域に変換するように配置される。残差復号器(673)は、いくつかの制御情報を必要とする可能性があり(量子化器パラメータ(QP)を含むため)、該情報はエントロピー復号器(671)から提供される(これは少ない制御情報であるから、データ経路を図示せず)。
【0078】
再構築モジュール(674)は、空間領域において、残差復号器(673)から出力された残差と予測結果(フレーム間予測モジュールまたはフレーム内予測モジュールから出力されてもよい)とを組み合わせることで、再構築のブロックを形成するように配置され、該再構築のブロックは、再構築されるピクチャの一部であってもよく、さらに再構築されるピクチャは、再構築されるビデオの一部であってもよい。なお、デブロッキング操作のような、他の適切な操作を実行することで、視覚品質を向上させる。
【0079】
なお、任意の適切な技術でビデオ符号器(203)、ビデオ符号器(403)、ビデオ符号器(503)、及びビデオ復号器(210)、ビデオ復号器(310)、ビデオ復号器(610)を実現できる。1つの実施例において、1つ又は複数の集積回路を介してビデオ符号器(203)、ビデオ符号器(403)、ビデオ符号器(503)、及びビデオ復号器(210)、ビデオ復号器(310)、ビデオ復号器(610)を実現できる。他の実施例において、ビデオ復号器(203)、(403)、(403)、及びビデオ復号器(210)、(310)、(610)はソフトウェア命令を実行するための1つ又は複数のプロセッサによって実現される。
【0080】
本開示内容の各態様は、ハイブリッドビデオ符号化技術における、復号器側の動きベクトル(MV)に対する導出または精密化のための技術を提供する。より具体的に、MVに対する導出または精密化のための制限を提供することで、現在ブロックのMVに対する解析及びプリフェッチは、前のブロックのMVを再構築した後に行われるという問題を解決する。
【0081】
図7を参照し、現在ブロック(701)は動き検索処理期間で、符号器により既に発見された、空間変位した同じ大きさの前のブロックに応じて予測できるサンプルを含む。直接的にMVを符号化することに置き換えて、1つ又は複数の参照ピクチャに関するメタデータからMVを導出し、例えば、A0、A1及びB0、B1、B2(それぞれ702~706に対応)として標識される5つの周辺サンプルのうちのいずれかのサンプルに関するMVによって、最も近い(復号化の順序で)参照ピクチャのメタデータからMVを導出する。いくつかの例示において、MVの予測に対して、隣接ブロックが利用する同じ参照ピクチャの予測値を利用できる。
【0082】
いくつかの実施例において、フレーム間ピクチャ予測のためのマージモードを利用する。1つの例示において、マージ標識(スキップ標識を含む)を真としてシグナリングする場合、インデックスマージをシグナリングことで、マージ候補リストにおけるどの候補によって、現在ブロックの動きベクトルを指示するかを指示する。復号器で、現在ブロックの空間及び時間的近傍に基づき、マージ候補リストを構築する。
図7に示すように、A0、A1とB0、B1、B2の隣接MVをマージ候補リストに追加できる。また、1つの例示において、現在ブロックの時間的近傍からのMVをマージ候補リストに追加する。なお、マージされた双予測性候補とゼロ動きベクトル候補などのような追加マージ候補をマージ候補リストに追加できる。
【0083】
いくつかの実施例において、フレームレートアップコンバージョン(FRUC)マージモードと呼ばれる特定マージモードで、FRUC技術を利用できる。FRUCマージモードはフレームレートアップコンバージョン技術による特殊なマージモードである。FRUCマージモードで、現在ブロックの動き情報はシグナリングされず、復号器側から導出される。FRUCマージモードにおいて、現在ブロックのMVは隣接するMVより導出された若干の始点から精密化される。
【0084】
1つの例示において、FRUCを真として標識する場合、符号器側から復号器側へのCUに対して、FRUC標識をシグナリングする。FRUCを偽として標識する場合、インデックスマージをシグナリングし、通常のマージモードを利用する。FRUCを真として標識する場合、別のFRUCモード標識をシグナリングすることで、どんな方法(双方向マッチングまたはテンプレートマッチング)でCUの動き情報を導出するかを指示する。
【0085】
いくつかの例示において、FRUCマージモードでの動き導出処理は2つのステップを有する。第1ステップにおいてCUレベル動き検索を実行し、そして、第2ステップにおいて、サブCUレベル動きの精密化を実行する。1つの実施例において、CUレベルで、双方向マッチングまたはテンプレートマッチングに基づき、CU全体に対して初期動きベクトルを導出する。例えば、MV候補のリストを生成し、CUレベルに対するさらなる精密化の始点として、最小マッチングコストの候補を選択する。そして、始点周辺の双方向マッチングまたはテンプレートマッチングによる局所検索を実行し、最小マッチングコストのMV結果をCU全体のMV、及び導出された(1つ又は複数)CU動きベクトルとする。その後、第2ステップにおいて、第1ステップで導出された(1つ又は複数)CU動きベクトルを(1つ又は複数)始点として、サブCUレベルに、動き情報をさらに精密化する。
【0086】
例えば、W×HであるCU動き情報の導出に対して、以下の導出処理を実行し、WはCUの幅を示し、及びHはCUの高さを示す。第1段階で、W×H であるCU全体のMVを導出する。第2段階で、CUをさらにM×MであるサブCUに分割する。式1に示すように、Mの値を計算し、Dは事前定義された分割深度であり、共同探索モデル(JEM)において、3にデフォルト設定される。そして、各サブCUのMVを導出する。
【数1】
【0087】
図8は、いくつかの実施例による双方向マッチングの例示を示す。
図8に示すように、双方向マッチングは、2つの異なる参照ピクチャ(Ref0とRefl)において、現在CU(810)の動き軌跡に沿う2つのブロック(820)、(830)との間の最も近接するマッチングを見つけることで、現在CU(810)(現在ピクチャCur Picにおける)の動き情報を導出する。連続動き軌跡という仮定で、2つの参照ブロック(820)、(830)を指す動きベクトルMV0とMV1とは、現在ピクチャ(Cur Pic)と2つの参照ピクチャ(Ref0とRefl)との間の時間距離、即ちTD0及びTD1に比例する。特殊な状況として、現在ピクチャは時間で、2つの参照ピクチャの間にあるとともに、現在ピクチャ(Cur Pic)から2つの参照ピクチャ(Ref0とRefl)までの時間距離が同様である場合、双方向マッチングは、ミラーリングによる双方向MVに変更される。
【0088】
図9は、本開示内容による1つの実施例のテンプレートマッチングの例示を示す。
図9に示すように、テンプレートマッチングは、現在ピクチャ(Cur Pic)におけるテンプレート(現在CU(910)のトップ部、及び左側の隣接ブロック(920)(930)を含む)と参照ピクチャ(Ref0)におけるブロック(940)及びブロック(950)(形状及び大きさはテンプレートと同様であ
る)との間の最も近接するマッチングを見つけることで、現在CU(910)の動き情報を導出する。
【0089】
以上に言及されたFRUCマージモード以外、テンプレートマッチングは高度動きベクトル予測(AMVP)モードにも適用される。JEMとHEVCにおいて、AMVPモードは2つの候補を利用する。1つの例示において、AMVP候補リストは第1既存AMVP候補と第2既存AMVP候補とを有する。テンプレートマッチング方法によって、新たな候補を導出する。テンプレートマッチングによる新たに導出された候補が、第1既存AMVP候補と異なると、新たに導出された候補をAMVP候補リストの最初に挿入してから、リストの大きさを2に設定する(これは、第2既存AMVP候補が除去されることを意味する)。1つの例示において、テンプレートマッチングをAMVPモードに応用する場合、CUレベル検索のみを応用する。
【0090】
いくつかの実施例において、双方向マッチングを利用する場合、双方向マッチングの仮定で、マージ候補の各有効なMVを入力とすることで、MV対を生成する。例えば、マージ候補の1つの有効なMVは参照リストA箇所にある(MVa、refa)。そして、他の参照リストBから、対となる双方向MVの参照ピクチャrefbを見つけることで、refaとrefbとが、時間で現在ピクチャの異なる側に位置するようにする。参照リストBから、このようなrefbを取得できないと、refbを、refaと異なり、現在ピクチャまでの時間距離がリストBにおける最小距離である参照として決定する。refbを決定した後、現在ピクチャとrefa、refbとの間の時間距離に基づき、MVaをスケーリングすることで、MVbを導出する。
【0091】
いくつかの例示において、AMVPモードでFRUCを応用する場合、元のAMVP候補もCUレベルのMV候補セットに追加する。1つの例示において、CUレベルで、AMVP CUに対する最大15個のMV、及びマージCUに対する最大13個のMVを候補リストに追加する。
【0092】
いくつかの実施例において、動きベクトルが分数サンプル位置を指す場合、動き補償の補間を必要とする。1つの例示において、複雑度を低減させるために、双方向マッチングとテンプレートマッチングという両者に対して、それぞれ通常の8タップのHEVC補間ではなく、バイリニア補間を利用する。
【0093】
いくつかの実施例において、異なるステップにおいて、マッチングコストに対する計算は異なる。1つの例示において、CUレベルで候補セットから候補を選択する場合、双方向マッチングまたはテンプレートマッチングの絶対差和(SAD)によって、マッチングコストを計算する。開始MVを決定した後、式2に示すように、サブCUレベル検索箇所の双方向マッチングのマッチングコストCを計算する。
【数2】
Wは経験に応じて4に設定された重み係数を示し、及びMVとMV
Sとはそれぞれ現在MVと開始MVを示す。SADは
依然としてサブCUレベル検索箇所のテンプレートマッチングのマッチングコストとして利用される。
【0094】
いくつかの例示において、FRUCマージモードで、輝度サンプルのみでMVを導出する。導出された動き情報は輝度と色度両者に用いられることで動き補償(MC)のフレーム間予測を行う。MVを決定した後、輝度サンプルに対する8タップ補間フィルタ及び色度サンプルに対する4タップ補間フィルタによって最終MCを実行する。
【0095】
なお、MV精密化は、双方向マッチングコストまたはテンプレートマッチングコストを基準とし、モードに基づくMV検索である。いくつかの例示において、無制約の中心バイアスダイヤモンド探索(UCBDS)、及びそれぞれCUレベルとサブCUレベルでのMV精密化の自己適応交差検索という2つの検索モードを支持する。CUとサブCUレベルのMV精密化という両者に対して、4分の1輝度サンプルのMV精度で直接的にMVを検索し、そして、8分の1輝度サンプルのMV精密化を行う。CUとサブCUステップのMV精密化に対する検索範囲は、8個の輝度サンプルに等しいように配置される。
【0096】
本開示内容の一態様によれば、復号器側の動きベクトル精密化(DMVR)は始点に基づきMVを改善/精密化するために用いられる。
【0097】
いくつかの例示において、双方向予測操作の場合、1つのブロック領域の予測に対して、それぞれ第1候補リストlist0のMV0と第2候補リストlist1のMV1から形成された2つの予測ブロックを組み合わせて、双方向テンプレートと呼ばれる単一予測信号を形成する。DMVR方法において、双方向予測の2つの動きベクトルMV0とMV1とは、双方向テンプレートマッチング処理を介してさらに精密化される。復号器において、双方向テンプレートマッチングによって、双方向テンプレートと参照ピクチャにおける再構築サンプルとの間で歪みによる検索を実行することで、精密化されたMVを取得し、別の動き情報を伝送する必要がない。
【0098】
図10は、双方向テンプレートマッチングによるDMVRの例示を示す。DMVRにおいて、
図10に示すように、双方向テンプレート1040は、第1候補リストlist0の初期MV0及び第2候補リストlist1のMV1からの2つの予測ブロック1020と1030との重み組み合わせ(即ち、平均)になるように生成される。テンプレートマッチング操作は、生成されたテンプレート1040と、参照ピクチャRef0及びRef1におけるサンプル領域(初期予測ブロック周辺)との間のコスト測定を計算することを含む。2つの参照ピクチャRef0及びRef1のうちの各々に対して、最小のテンプレートコストを発生させるMVは、該リストの更新されたMVと見なされ、元のMVを置き換える。例えば、MV0をMV0'に置き換え、MV1をMV1'に置き換える。いくつかの例示において、各リストに対して9つのMV候補を検索する。該9つのMV候補には元のMVと8つの周辺のMVを含み、1つの輝度サンプルは元のMVに対して水平または垂直方向、または2つの方向でオフセットされる。結果として、
図10に示される2つの新たなMV、即ちMV0'及びMV1'は、現在ブロックに対する最終の双方向予測結果を生成するために用いられる。差分絶対値和(SAD)はコスト測定に用いられる。
【0099】
いくつかの例示において、DMVRは双方向予測のマージモードに用いられ、過去の参照ピクチャからの1つのMV、及び将来の参照ピクチャからの他のMVを有し、追加のシンタックス要素を伝送しない。
【0100】
図11Aと
図11Bは、0~3の復号化順序で、現在ブロックとその前のブロックとの間の空間関係の例示を示す。復号化順序は符号器及び復号器にとっても既知である。現在ブロックを復号化する場合、一般的に、その空間近傍のMVを予測値とすることで、現在ブロックのMVを復号化する。例えば、
図11Bの例示において、ブロック0、1、2からのMVは、ブロック3の予測値の候補になる。
【0101】
FRUCとDMVRとの復号器側MV導出(DMVD)符号化ツールに対して、現在ブロックのMVが精密化/修正されることで、符号化効率を向上させる。MVが精密化/修正された後、MVが動き場にライトバックされることで、精密化されたMVを後続ブロックのMV予測値とする。しかしながら、これは、高効率アーキテクチャ、例えばハードウェアの設計の困難を招致する。
【0102】
図12は、例えばFRUCとDMVRとのDMVD方法のパイプライン段階の例示を示す。
図12の例示において、復号器は3つのメインモジュールを有する。第1メインモジュールは初期MV(MV_init)を解析するとともに、初期MVが指す参照ブロックに対してプリフェッチを行って、第2メインモジュールはMV_initからのMVを精密化し、最終のMV(MV_final)を得て、第3メインモジュールは現在ブロックに対してMV_finalによって動き補償(MC)を実行する。1つの例示において、3つのメインモジュールは3つの回路モジュールに対応する。他の例示において、3つのメインモジュールはソフトウェア命令を実行する3つのプロセッサーに対応する。
【0103】
図12の例示において、CU0は3つのメインモジュールによって異なる時間階段(即ち、T0~T2)で処理される。ハードウェアのパイプライン設計において、各メインモジュールを各々時間階段で動作させることは、より高効率であり、これによって、特定の時間帯内でより多いCUを処理できる。ただし、CU0の最終MVは、CU1のMVの予測値として用いられるから、CU1のMV解析及び参照のブロックプリフェッチは、第2メインモジュールにおいてCU0のMV_finalを決定する前に、第1メインモジュールから始めることができない。従って、解析及びプリフェッチモジュールはT1にアイドルになり、これによって、他の2つのメインモジュールはその後の時間段階でアイドルになってしまう。
【0104】
以下は、用語ブロックとCUとは、同じく認められてもよい。また、前に符号化されたブロックは、現在ブロックの前に符号化されたブロックとして定義される。従って、符号化/復号化の順序で、前に符号化されたブロックは、現在ブロックの前に、連続的に符号化/復号化される。
【0105】
本開示内容の各態様は技術を提供し、即ち、余分な操作で動きベクトルのオフセットを最終的に決定しようとすると、例えば、DMVD方法または初期解析段階の後、MVをさらに修正する必要がある他の方法で、MV予測値から空間近傍を排除するため、より高効率的にパイプラインアーキテクチャにおけるハードウェアを利用できる。
【0106】
本開示内容の一態様によれば、例えばFRUC及びDMVRのDMVD方法を利用する場合、前のブロックのMVの現在ブロックのMV予測値としての使用を制限するから、現在ブロックのMV解析(第1メインモジュールによって実行されることでMV_initを決定する)及び/または現在CUに対して参照サンプルをプリフェッチすることは、前のブロックのMV精密化(第2メインモジュールによって実行される)の完成を待つ必要がない。従って、1つの例示において、第1メインモジュール、第2メインモジュール及び第3メインモジュールは、他のモジュールの結果を待つ必要がなく、各時間階段に操作できる。
【0107】
いくつかの実施例において、現在ブロックに対してマージ候補リストまたは/及び通常フレーム間モードMV予測値リストを構築する場合、MV予測値候補はある要求を満たす場合、利用不能として標識される(現在ブロックのMV予測値として用いることができない)。
【0108】
1つの例示において、MVは、現在ブロックの前に符号化/復号化されたブロックからのものであれば、MVは現在ブロックのMV予測値として用いることができない。
【0109】
他の例示において、MVは、現在ブロックの前に符号化/復号化されたブロックからのものであり、前に符号化/復号化されたブロックがマージ/スキップモードで符号化される場合、MVは現在ブロックのMV予測値として用いることができない。
【0110】
他の例示において、MVは、現在ブロックの前に符号化/復号化されたブロックからのものであり、該ブロックのMVは、例えばDMVD方法で初期解析された後変更できれば、MVは現在ブロックのMV予測値として用いることができない。1つの例示において、ブロック(現在ブロックの前に、符号化/復号化された)はマージ/スキップモードにあるとともに、2つの異なる参照フレームを有することで、FRUCとDMVRのような方法を該ブロックに応用できるから、該ブロックのMVは解析された後変更できる。他の例示において、ブロック(現在ブロックの前に、符号化/復号化された)は非アフィンの双方向予測マージモードを有する。なお、一般的にDMVD方法は、アフィン動きモデルにより符号化されるブロックに適用しない。
【0111】
いくつかの実施例において、非隣接空間MV候補をマージ候補リストに挿入する場合、前のブロックの大きさのメッシュの大きさで、非隣接候補を追加することで、前に符号化されたブロックからの非隣接候補がなくなる。他の実施例において、非隣接候補のメッシュの大きさを不変のままにする。ただし、前に符号化されたブロックに属する非隣接候補が利用不能として標識されるから、これらの非隣接候補はマージ候補リストに追加されることがない。
【0112】
本開示内容の一態様によれば、DMVD方法(または、初期解析段階の後、MVをさらに修正する必要がある方法)を開始させ、いくつかの他の条件を満たす場合、現在ブロックのいくつかの近傍はMV予測に用いられない。例えば、
図11Bにおいて、ブロック2のMVは、ブロック3の予測値として用いられなくてもよい。
【0113】
いくつかの実施例において、前に符号化/復号化されたブロック(現在ブロックの前に符号化/復号化された)と現在ブロックとは、2つの異なるCTU、または2つの異なるスライス、または2つの異なるタイルに属する場合、該制限を緩和できる。
【0114】
いくつかの実施例において、前のブロックのMVは現在ブロックの予測に用いられないと標識される場合、前のブロックの1つの隣接ブロックからのMVは、現在ブロックのMV予測値の代わりとして用いられる。このようなMVを利用する場合、このようなMVは現在ブロックのMVを解析する際に、既に最終的に決定されている。このようなMVは、前記前のブロックの隣接ブロックを再構築するための最終のMVである。
【0115】
なお、各種技術で前のブロックの隣接ブロックを選択できる。1つの例示において、前のブロックが現在ブロックの左側にある場合、前記前のブロックの左側位置からのMV(利用可能であれば)を利用する。該左側位置は、前記前のブロックの左側にある任意の指定位置であってもよい。例えば、前記前のブロックの左から左上隅、前記前のブロックの左から左下隅などである。
【0116】
他の例示において、前のブロックは現在ブロックのトップ部にある場合、前記前のブロックのトップ部位置からのMV(利用可能であれば)を利用する。該トップ部位置は前記前のブロックのトップ部側にある任意の指定位置であってもよい。例えば、前記前のブロックのトップ部から左上隅、前記前のブロックのトップ部から右上隅などである。
【0117】
他の例示において、現在ブロックに対して、前記前のブロックがどこにあるかに関わらず、前記前のブロックの左側位置を利用する。該左側位置は前記前のブロックの左側にある任意の指定位置であってもよい。例えば、前記前のブロックの左から左上隅、前記前のブロックの左から左下隅などである。
【0118】
他の例示において、現在ブロックに対して、前記前のブロックがどこにあるかに関わらず、前記前のブロックのトップ部位置を利用する。該トップ部位置は前記前のブロックのトップ部側にある任意の指定位置であってもよい。例えば、前記前のブロックのトップ部から左上隅、前記前のブロックのトップ部から右上隅などである。
【0119】
他の例示において、前のブロックが現在ブロックの左側にある場合、前記前のブロックのトップ部位置からのMV(利用可能であれば)を利用する。該トップ部位置は前記前のブロックのトップ部側にある任意の指定位置であってもよい。例えば、前記前のブロックのトップ部から左上隅、前記前のブロックのトップ部から右上隅などである。
【0120】
他の例示において、前のブロックが現在ブロックのトップ部にあり、前記前のブロックの左側位置からのMV(利用可能であれば)を利用する。該左側位置は前記前のブロックの左側にある任意の指定位置であってもよい。例えば、前記前のブロックの左から左上隅、前記前のブロックの左から左下隅などである。
【0121】
他の例示において、相対的な空間位置に基づき前記前のブロックの1つの隣接ブロックを認識することに代わり、仮動きベクトルを記憶し更新するとともに、代替のMV予測値とする。符号化及び復号化期間に、最終MVを導出(最終MVはブロックを再構築するためのMVであり、その導出はDMVDを利用するか、またはDMVDを利用しなくてもよい)するたびに、前記仮動きベクトルを更新し、値を前記最終MVに更新する。現在ブロックの動きベクトルを解析する場合、仮動きベクトルの現在値は、現在ブロックの代替のMV予測値として用いられる。1つの実施例において、仮動きベクトルは、スライス、タイルまたはCTUに対して符号化/復号化を始める際、(0、0)のようなデフォルト値に初期化され、最終MVを導出すると、仮動きベクトルを更新する。いくつかの実施例において、複数の仮動きベクトルを記憶及び更新できる。現在ブロックに対して、符号化/復号化情報に依存し、複数の仮動きベクトルのうちの1つを選択し、符号化/復号化情報は、記憶された複数の仮動きベクトルの位置、現在ブロックの位置、ブロック幅、現在ブロックの高さなどを含むが、これらに限定されない。
【0122】
他の例示において、前記前のブロックの前に符号化された、他の符号化されたブロックのMVを利用する。
【0123】
他の例示において、前記前のブロックの前に符号化された、他の符号化されたブロックのMVを利用する。他の符号化されたブロックは空間で、現在ブロックに隣接しない。
【0124】
図13は、いくつかの空間近傍をMV予測値から排除するという制限を利用する際、FRUCとDMVRのようなDMVD方法に適用されるパイプライン段階の例示を示す。
図13の例示において、符号化/復号化の順序で、CUのMVに対する解析の、前のCUのMVの精密化に対する依存性をなくす。
【0125】
図14は、いくつかの空間近傍をMV予測値から排除するという制限を利用する際、FRUCとDMVRのようなDMVD方法に適用されるパイプライン段階の例示を示し、パイプラインを最適化することで効率を向上させる。
図14に示すように、時間T2からT6まで、第1メインモジュール、第2メインモジュール及び第3メインモジュールは異なるCUで同時に操作する。
【0126】
図15は、本開示内容による1つの実施例のプロセス(1500)のフローチャートを概括する。プロセス(1500)はフレーム内モードで符号化されるブロックを再構築するために用いられ、再構築中のブロックに対して予測ブロックを生成する。各種実施例において、プロセス(1500)は、端末機器(110)、(120)、(130)及び(140)における処理回路、ビデオ符号器(203)の機能を実行する処理回路、ビデオ復号器(210)の機能を実行する処理回路、ビデオ復号器(310)の機能を実行する処理回路、フレーム内予測モジュール(352)の機能を実行する処理回路、ビデオ符号器(403)の機能を実行する処理回路、予測器(435)の機能を実行する処理回路、フレーム内符号器(522)の機能を実行する処理回路、フレーム内復号器(672)の機能を実行する処理回路などのような処理回路によって実行される。いくつかの実施例において、プロセス(1500)はソフトウェア命令で実現されるから、処理回路はソフトウェア命令を実行する際、処理回路はプロセス(1500)を実行する。プロセスは(S1501)から始まり、(S1510)まで実行される。
【0127】
(S1510)で、符号化ビデオビットストリームから現在ピクチャにおける第1ブロックの予測情報に対して復号化を行う。予測情報は、動きベクトル予測値に基づいて第1ブロックの第1動きベクトルを決定するための、マージモード、スキップモードなどのようなフレーム間予測モードを指示する。
【0128】
(S1520)で、フレーム間予測モードに応じて、候補リストを構築する。候補リストは、動きベクトルの導出において、第2動きベクトルを最終的に決定する操作を必要とする第2ブロックを排除して構築される。第2動きベクトルは、第2ブロックの再構築のために用いられる。いくつかの例示において、候補リストにおいて、第2動きベクトルを代替動きベクトルに置き換える。
【0129】
(S1530)で、候補動きベクトル予測値の候補リストに基づき第1動きベクトルを決定する。
【0130】
(S1540)で、第1動きベクトルに基づいて第1ブロックのサンプルを再構築する。そして、プロセスは(S1599)まで進行し、終止する。
【0131】
前記技術はコンピュータ読み取り可能な命令によってコンピュータソフトウェアとして実現され、物理的に1つ又は複数のコンピュータ読み取り可能な媒体に記憶されてもよい。例えば、
図16は開示のテーマのいくつかの実施例を実現するためのコンピュータシステム(1600)を示す。
【0132】
コンピュータソフトウェアは任意の適切なマシンコードまたはコンピュータ言語によって符号化を行って、マシンコードまたはコンピュータ言語は編集、コンパイル、リンクなどのメカニズムを介して命令が含まれるコードを構築し、該命令は1つ又は複数のコンピュータ中央処理ユニット(CPU)、グラフィック処理ユニット(GPU)などによって直接的に実行されるか、または解釈、マイクロコード実行などによって実行される。
【0133】
前記命令は各種タイプのコンピュータまたはその部材で実行でき、例えばパーソナルコンピュータ、タブレット、サーバ、スマートフォン、ゲーム機器、モノのインターネット機器などを含む。
【0134】
図16に示すコンピュータシステム(1600)の部材は、本開示内容を実現するための実施例のコンピュータソフトウェアの使用範囲または機能に対して限定せず、本質に例示的である。部材の配置も、コンピュータシステム(1600)の例
示の実施例で示した部材におけるいずれかの部材、またはその組み合わせに関する依存性または要求を有するように解釈されるべきではない。
【0135】
コンピュータシステム(1600)はいくつかのヒューマンマシンインターフェイス入力機器を含んでもよい。このようなヒューマンマシンインターフェイス入力機器は、1つ又は複数の人類ユーザーの、例えば触覚入力(例えば:キーストローク、スライド、データグローブ移動)、オーディオ入力(例えば:音声、たたき)、視覚入力(例えば:姿勢)、嗅覚入力(図示せず)による入力に応答できる。マンマシンインタフェース機器はさらに、必ずしも人類の意識的な入力に直接的に関していない、ある媒体例えば、オーディオ(例えば:音声、音楽、環境音)、画像(例えば:スキャン画像、静態画像撮影装置から取得された写真画像)、ビデオ(例えば2次元ビデオ、立体ビデオが含まれる3次元ビデオ)をキャプチャできる。
【0136】
入力マンマシンインタフェース機器は、キーボード(1601)、マウス(1602)、タッチパッド(1603)、タッチパネル(1610)、データグローブ(図示せず)、ジョイスティック(1605)、マイク(1606)、スキャナ(1607)、撮影装置(1608)のうちの1つ又は複数を有してもよい(記載の各々のうちの1つのみ)。
【0137】
コンピュータシステム(1600)はさらにマンマシンインタフェース出力機器を有してもよい。このようなマンマシンインタフェース出力機器は、例えば触覚出力、音、光及び匂い/味を介して1つ又は複数の人類ユーザーの感覚を刺激できる。このようなマンマシンインタフェース出力機器は触覚出力機器(例えば、タッチパネル(1610)、データグローブ(図示せず)またはジョイスティック(1605)による触覚フィードバック、但し入力機器として用いられない触覚フィードバック機器も存在する)、オーディオ出力機器(例えば、スピーカー(1609)、ヘッドフォン(図示せず))、視覚出力機器(例えば、スクリーン(1610)、CRTスクリーン、LCDスクリーン、プラズマスクリーン、OLEDスクリーンを含み、各スクリーンはタッチパネル入力能力、触覚フィードバック能力を有してもよく、有してなくてもよく、そのうちのいくつかは、立体画像出力のような手段で、2次元の視覚を出力または3次元以上の出力を行い、バーチャルリアリティ眼鏡(図示せず)、ホログラフィックディスプレイ及びスモークタンク(図示せず)がある)、プリンター(図示せず)を含む。
【0138】
コンピュータシステム(1600)はさらに人類がアクセスし得る記憶機器及びその関連する媒体を有してもよく、例えば、CD/DVDなどの媒体(1621)を有するCD/DVD ROM/RW(1620)を含む光学媒体、サムドライブ(1622)、取り外し可能なハードドライブまたはソリッドステートドライブ(1623)、磁気テープとフロッピーディスク(図示せず)のような伝統の磁気媒体、専用ROM/ASIC/PLDに基づく機器、例えばドングル(図示せず)などを含む。
【0139】
当業者は、現在開示のテーマを結合して、使用される用語「コンピュータ読み取り可能な媒体」には伝送媒体、搬送波または他の瞬間信号が含まれないことを理解できる。
【0140】
コンピュータシステム(1600)は、さらに1つ又は複数の通信ネットワークのインタフェースを有してもよい。ネットワークは、例えば無線、有線、光学であってもよい。ネットワークはさらに、ローカル、広域、都市用、車両用、工業用、リアルタイム、遅延耐性ネットワークなどであってもよい。ネットワークの例示はイーサネットのようなローカルエリアネットワーク、無線LAN、GSM、3G、4G、5G、LTEなどが含まれたセルラーネットワーク、有線テレビ、衛星テレビ及び地上波テレビが含まれるテレビ有線または無線広域デジタルネットワーク、CANBusが含まれる車両及び工業ネットワークなどを含む。あるネットワークは一般的に、ある汎用データポートまたは周辺バス(1649)(例えば、コンピュータシステム(1600)のUSBポート)に連結される外部ネットワークインタフェースアダプタを必要とし、他のネットワークは一般的に、以下に記載のシステムバス(例えば、PCコンピュータシステムへのイーサネットインタフェース、またはスマートフォンコンピュータシステムへのセルラーネットワークインタフェース)に連結されることで、コンピュータシステム(1600)のコアに集積される。これらのネットワークのうちのいずれかのネットワークを介して、コンピュータシステム(1600)は他のエンティティと通信できる。このような通信は一方向で受信だけ(例えば、放送テレビ)、一方向で送信だけ(例えば、あるCANbus機器へのCANbus)、または双方向である(例えば、ローカルエリアまたは広域デジタルネットワークを介して他のコンピュータシステムへ)。以上に記載のこれらのネットワーク及びネットワークインタフェースのうちの各ネットワーク及びネットワークインタフェースに、特定のプロトコル及びプロトコルスタックを利用できる。
【0141】
以上に言及されたマンマシンインタフェース機器、人類がアクセスし得る記憶機器及びネットワークインターフェースは、コンピュータシステム(1600)のコア(1640)に連結できる。
【0142】
コア(1640)は1つ又は複数の中央処理ユニット(CPU)(1641)、グラフィック処理ユニット(GPU)(1642)、フィールドプログラム可能なゲートアレイ(FPGA)(1643)という形式の専門プログラム可能な処理ユニット、あるタスクのためのハードウェアアクセラレータ(1644)などを含む。これらの機器は、読み取り専用メモリ(ROM)(1645)、ランダムアクセスメモリ(1646)、内部のユーザーがアクセスできないハードディスクドライブ、SSDなどのような内部大容量記憶装置(1647)とともに、システムバス(1648)を介して接続される。あるコンピュータシステムにおいて、1つ又は複数の物理プラグという形式で、システムバス(1648)にアクセスすることで、別のCPU、GPUなどによって拡張できる。周囲機器は直接的または周辺バス(1649)を介してコアのシステムバス(1648)に連結される。周辺バスのアーキテクチャはPCI、USBなどを含む。
【0143】
CPU(1641)、GPU(1642)、FPGA(1643)及びアクセラレータ(1644)はいくつかの命令を実行でき、これらの命令を組み合わせて、以上に言及されたコンピュータコードを構成する。該コンピュータコードはROM(1645)またはRAM(1646)に記憶される。移行データはRAM(1646)に記憶され、永久データは、例えば内部大容量記憶装置(1647)に記憶されてもよい。キャッシュメモリによってメモリ機器のうちのいずれかのメモリ機器の快速記憶及び検索を実現でき、該キャッシュメモリは1つ又は複数のCPU(1641)、GPU(1642)、大容量記憶装置(1647)、ROM(1645)、RAM(1646)などに密接に関連できる。
【0144】
コンピュータ読み取り可能な媒体は、コンピュータが実現する各種操作を実行するためのコンピュータコードを有する。媒体とコンピュータコードとは、本開示内容の目的のために、専門に設計され及び構築された媒体とコンピュータコードであってもよいし、またはコンピュータソフトウェアの当業者にとって、公知且つ利用可能なタイプであってもよい。
【0145】
限定ではなく例示として、アーキテクチャ(1600)を有するコンピュータシステム、特にコア(1640)は、(1つ又は複数)プロセッサ(CPU、GPU、FPGA、アクセラレータなどを含む)が1つ又は複数の有形コンピュータ読み取り可能な媒体に体現されるソフトウェアを実行することで、機能を提供できる。このようなコンピュータ読み取り可能な媒体は、以上に紹介された、ユーザがアクセスし得る大容量記憶装置に関する媒体、及び非一時的なコア(1640)を有する、コア内部大容量記憶装置(1647)またはROM(1645)のような記憶装置であってもよい。本開示内容を実現するための各種実施例のソフトウェアはこのような機器に記憶され、コア(1640)に実行される。特定の需要に応じて、コンピュータ読み取り可能な媒体には1つ又は複数の記憶機器またはチップが含まれてもよい。ソフトウェアはコア(1640)、特にそのうちのプロセッサ(CPU、GPU、FPGAなどが含まれた)に、本明細書に記載の特定プロセスまたは特定プロセスの特定部分を実行させ、RAM(1646)に記憶されるデータ構成を限定すること、及びソフトウェアにより限定されたプロセスに基づき、このようなデータ構成を修正することが含まれる。また或いは代わりとして、コンピュータシステムは、論理的な固定接続または他の方式で回路(例えば、アクセラレータ(1644))に体現されることで機能を提供し、該回路は、ソフトウェアの代わりとして、またはソフトウェアとともに操作することで、本明細書に記載の特定プロセスまたは特定プロセスの特定部分を実行できる。適切な場合、言及のソフトウェアにはロジックが含まれ、逆に、言及ロジックにはソフトウェアが含まれてもよい。適切な場合、言及のコンピュータ読み取り可能な媒体には、実行するためのソフトウェアが記憶される回路(例えば、集積回路(IC))、実行するためのロジックを体現する回路、或いは前記両者が含まれてもよい。本開示内容にはハードウェアとソフトウェアとの任意の適切な組み合わせが含まれる。
【0146】
付録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:符号化ユニット
【0147】
本開示内容には若干の例示の実施例が記載されているが、本開示内容の範囲内にある変更、置き換え及びいろんな置換等価物が存在する。従って、本明細書には明らかに記載されていないが、本開示内容の原理を体現し本開示内容の精神及び範囲内に属する多いシステム及び方法は、当業者にとって想到し得る。