(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024069475
(43)【公開日】2024-05-21
(54)【発明の名称】サブブロックに基づく時間的動きベクトル予測のための方法並びにその機器及びコンピュータプログラム
(51)【国際特許分類】
H04N 19/52 20140101AFI20240514BHJP
H04N 19/157 20140101ALI20240514BHJP
H04N 19/176 20140101ALI20240514BHJP
H04N 19/46 20140101ALI20240514BHJP
【FI】
H04N19/52
H04N19/157
H04N19/176
H04N19/46
【審査請求】有
【請求項の数】1
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2024040066
(22)【出願日】2024-03-14
(62)【分割の表示】P 2023002969の分割
【原出願日】2019-05-30
(31)【優先権主張番号】62/680,468
(32)【優先日】2018-06-04
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】16/210,635
(32)【優先日】2018-12-05
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】シュ,シアオジョォン
(72)【発明者】
【氏名】リ,シアン
(72)【発明者】
【氏名】リィウ,シャン
(57)【要約】
【課題】 サブブロックに基づく時間的動きベクトル予測のための技術を開示する。
【解決手段】 ビデオ復号化の方法は、現在ピクチャを取得し、現在ピクチャに含まれる現在ブロックに対して、現在ピクチャと異なる参照ピクチャに含まれる参照ブロックを認識することを含み、現在ブロックは複数のサブブロック(CBSB)に分割され、参照ブロックは複数のサブブロック(RBSB)を有する。当該方法はまた、RBSBの参照ピクチャが現在ピクチャであるかどうかを決定し、RBSBの参照ピクチャが現在ピクチャであるという決定に応答し、RBSBの符号化モードをフレーム内モードに決定することを含む。当該方法はまた、RBSBの参照ピクチャが現在ピクチャではないという決定に応答し、対応するRBSBの符号化モードがフレーム内モードとフレーム間モードのうちの1つであるかどうかに基づき、CBSBのうちの1つのCBSBの動きベクトル予測値を決定することを含む。
【選択図】
図10
【特許請求の範囲】
【請求項1】
符号化ビデオビットストリームであって、
現在ピクチャに含まれる現在ブロックの符号化モードを示すように構成されたシンタックス要素であり、当該シンタックス要素は、前記現在ブロックがサブブロックベース時間動きベクトル予測で符号化されていることを示し、前記現在ブロックは、インターモードで符号化される第1の複数のサブブロック(CBSB)に分割される、シンタックス要素と、
前記現在ブロックのビデオデータであり、当該ビデオデータは、前記現在ブロックに関する動き情報を含み、該動き情報は、前記現在ピクチャとは異なる参照ピクチャに含まれる参照ブロックを示す、ビデオデータと、
を含み、
少なくとも1つのプロセッサが、前記シンタックス要素を復号化して、前記現在ブロックが前記サブブロックベース時間動きベクトル予測で符号化されていることを決定し、
前記少なくとも1つのプロセッサが、前記ビデオデータを復号化して前記現在ブロックの前記動き情報を取得し、前記動き情報に従って、前記参照ピクチャに含まれる前記参照ブロックを特定し、前記参照ブロックは、第2の複数のサブブロック(RBSB)を有し、各CBSBが、少なくとも1つのRBSBに対応し、
各CBSBについて、前記少なくとも1つのプロセッサが、対応するRBSBの符号化モードを決定し、
該対応するRBSBがイントラモード又はイントラブロックコピーモードで符号化されていることに応答して、該CBSBの第1の動きベクトル予測値をデフォルト動きベクトル予測値に設定し、前記デフォルト動きベクトル予測値はゼロ動きベクトルであり、
該対応するRBSBがインターモードで符号化されていることに応答して、該CBSBの前記第1の動きベクトル予測値として前記対応するRBSBの第2の動きベクトル予測値を用いて、該CBSBの前記第1の動きベクトル予測値を設定する、
符号化ビデオビットストリーム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示内容は、2018年6月4日にて提出されたアメリカ仮出願No. 62/680,468「METHODS FOR SUB-BLOCK
BASED TEMPORAL MOTION
VECTOR PREDICTION(サブブロックに基づく時間的動きベクトルの予測方法)」の優先権を主張して、該出願の全ての内容は本出願に援用される。
【0002】
本開示内容は、一般的にビデオ符号化に関する実施例を記載する。
【背景技術】
【0003】
本明細書で提供される背景記載は、本開示内容の背景を総体的に体現することを目的とする。該背景技術部分に記載の作業程度から見れば、現在署名の発明者の作業、及び提出の際別に従来技術の記載として限定されていない態様について、明確且つ暗黙的に本開示内容に対する従来技術として認められない。
【0004】
この数十年以来、動き補償を有するピクチャ間予測によってビデオ符号化と復号化を実行することが知られている。圧縮されていないデジタルビデオは一連のピクチャを有し、各々のピクチャは空間次元を備え、例えば1920×1080輝度サンプルと関連のクロミナンスサンプルがある。該一連のピクチャは、例えば、一秒60個ピクチャまたは60Hzの固定または可変のピクチャレート(非公式にフレームレートとも呼ばれる)を有してもよい。圧縮されていないビデオは高いビットレートの要求を有する。例えば、1サンプルあたり8ビットの1080p60 4:2:0ビデオ(60
Hzフレームレートで、1920×1080の輝度サンプルの解像度)は、約1.5 Gbit/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から予測値を計算する際の丸め誤差である。
【0008】
H.265/HEVC(ITU-T勧告H.265、「高効率ビデオ符号化/復号化(High
Efficiency Video Coding)」、2016年12月)には、各種のMV予測メカニズムが記載されている。H.265により提供される多種のMV予測メカニズムにおいて、本出願が記載するのは、以下で「空間マージ」と呼ばれる技術である。
【発明の概要】
【発明が解決しようとする課題】
【0009】
いくつかの形式のフレーム間予測は、サブブロックレベルで実行される。ただし、サブブロックに基づく時間的動きベクトル予測モード、例えば、代替時間的動きベクトル予測(ATMVP)及び時空間動きベクトル予測(STMVP)は、フレーム間モードで、対応するサブブロックを符号化するように要求する。ただし、これらの時間的動きベクトル予測モードは、フレーム内ブロックコピーモードのようなフレーム内モードで符号化されるサブブロックを処理できない。
【課題を解決するための手段】
【0010】
本開示内容の例示性の実施例は、復号器のビデオ復号化のための方法を含む。該方法は以下を含み、符号化されたビデオビットストリームから現在ピクチャを取得する。該方法はさらに以下を含み、現在ピクチャに含まれる現在ブロックに対して、現在ピクチャとは異なる参照ピクチャに含まれる参照ブロックを特定し、現在ブロックは複数のサブブロック(CBSB)に分割され、参照ブロックは、各々が複数のCBSBのうちの異なるCBSBに対応する複数のサブブロック(RBSB)を有する。該方法はさらに以下を含み、RBSBの参照ピクチャが現在ピクチャであるかどうかを決定し、RBSBの参照ピクチャが現在ピクチャであると決定したことに応答して、RBSBの符号化モードをフレーム内モードとして決定する。該方法はさらに以下を含み、RBSBの参照ピクチャが現在ピクチャではないと決定したことに応答して、(i)CBSBのうちの1つのCBSBに対して、対応するRBSBの符号化モードがフレーム内モードとフレーム間モードのうちのどちらであるかを決定し、及び(ii)対応するRBSBの符号化モードがフレーム内モードとフレーム間モードのうちのどちらであるかに基づき、CBSBのうちの前記1つのCBSBについての動きベクトル予測値を決定する。
【0011】
本開示内容の例示性の実施例は、ビデオ復号化のためのビデオ復号器を含む。該ビデオ復号器は処理回路を有し、該処理回路は、符号化されたビデオビットストリームから現在ピクチャを取得するように構成される。該処理回路はさらに、現在ピクチャに含まれる現在ブロックに対して、現在ピクチャとは異なる参照ピクチャに含まれる参照ブロックを特定するように構成され、現在ブロックは複数のサブブロック(CBSB)に分割され、参照ブロックは、各々が複数のCBSBのうちの異なる1つのCBSBに対応する複数のサブブロック(RBSB)を有する。該処理回路はさらに、RBSBの参照ピクチャが現在ピクチャであるかどうかを決定し、及びRBSBの参照ピクチャが現在ピクチャであると決定したことに応答して、RBSBの符号化モードをフレーム内モードとして決定する、ように構成される。該処理回路はさらに、RBSBの参照ピクチャが現在ピクチャではないと決定したことに応答して、(i)CBSBのうちの1つのCBSBに対して、対応するRBSBの符号化モードがフレーム内モードとフレーム間モードのうちのどちらであるかを決定し、及び(ii)対応するRBSBの符号化モードがフレーム内モードとフレーム間モードのうちのどちらであるかに基づき、CBSBのうちの前記1つのCBSBについての動きベクトル予測値を決定する。
【0012】
本開示内容的の例示性の実施例は、命令が記憶された非一時的なコンピュータ読み取り可能な媒体を含み、該命令はビデオ復号器におけるプロセッサによって実行されるときに、プロセッサに1つの方法を実行させる。該方法は、符号化されたビデオビットストリームから現在ピクチャを取得することを含む。該方法はさらに、現在ピクチャに含まれる現在ブロックに対して、現在ピクチャとは異なる参照ピクチャに含まれる参照ブロックを特定することを含み、現在ブロックは複数のサブブロック(CBSB)に分割され、参照ブロックは、各々が複数のCBSBのうちの異なる1つのCBSBに対応する複数のサブブロック(RBSB)を有する。該方法はさらに、RBSBの参照ピクチャが現在ピクチャであるかどうかを決定し、RBSBの参照ピクチャが現在ピクチャであると決定したことに応答し、RBSBの符号化モードをフレーム内モードとして決定することを含む。該方法はさらに、RBSBの参照ピクチャが現在ピクチャではないと決定したことに応答して、(i)CBSBのうちの1つのCBSBに対して、対応するRBSBの符号化モードがフレーム内モードとフレーム間モードのうちのどちらであるかを決定し、及び(ii)対応するRBSBの符号化モードがフレーム内モードとフレーム間モードのうちのどちらであるかに基づき、CBSBのうちの前記1つのCBSBについての動きベクトル予測値を決定することを含む。
【図面の簡単な説明】
【0013】
以下の詳しい記載及び図面に基づき開示されるテーマの他の特徴、性質及び各利点はより明確になる。
【0014】
【
図1】1つの実施例に基づく通信システム(100)の簡略化ブロック図の模式図である。
【
図2】1つの実施例に基づく通信システム(200)の簡略化ブロック図の模式図である。
【
図3】1つの実施例に基づく復号器の簡略化ブロック図の模式図である。
【
図4】1つの実施例に基づく符号器の簡略化ブロック図の模式図である。
【
図5】他の実施例に基づく符号器のブロック図を示す。
【
図6】他の実施例に基づく復号器のブロック図を示す。
【
図7】フレーム内ピクチャブロック補償の模式図である。
【
図8】現在ブロック及び現在ブロックの周囲空間マージ候補の模式図である。
【
図9】現在ブロックのサブブロック及び参照ブロックの対応するサブブロックの模式図である。
【
図10】符号器または復号器により実行されるプロセスの実施例を示す。
【
図11】1つの実施例に基づくコンピュータシステムの模式図である。
【発明を実施するための形態】
【0015】
図1は、本開示内容の1つの実施例に基づく通信システム(100)の簡略化ブロック図を示す。通信システム(100)は、例えばネットワーク(150)を介して互いに通信できる複数の端末機器を有する。例えば、通信システム(100)は、ネットワーク(150)を介して互いに接続される第1対の端末機器(110)、(120)を有する。
図1の例示において、第1対の端末機器(110)、(120)は一方向のデータ伝送を実行する。例えば、端末機器(110)はビデオデータ(例えば、端末機器(110)によりキャプチャされたビデオピクチャストリーム)を符号化することで、ネットワーク(150)を介して他の端末機器(120)に伝送する。符号化されたビデオデータは1つ又は複数の符号化されたビデオビットストリームという形式で伝送されてもよい。端末機器(120)はネットワーク(150)から符号化されたビデオデータを受信し、符号化されたビデオデータを復号化することで、前記ビデオピクチャを回復させ、回復されたビデオデータに基づき、ビデオピクチャを表示する。一方向のデータ伝送はメディアサービスアプリケーションなどにおいて、よく見られる。
【0016】
他の例示において、通信システム(100)は、例えばビデオ会議中に発生した符号化されたビデオデータの双方向伝送を実行するための第2対の端末機器(130)、(140)を含む。双方向データ伝送について、例示において、端末機器(130)、(140)における各端末機器は、ビデオデータ(例えば、端末機器によりキャプチャされたビデオピクチャストリーム)を符号化することで、ネットワーク(150)を介して端末機器(130)、(140)における他の端末機器に伝送する。端末機器(130)、(140)における各端末機器はさらに、端末機器(130)、(140)における他の端末機器から伝送された符号化されたビデオデータを受信し、符号化されたビデオデータを復号化することで、前記ビデオピクチャを回復させ、回復されたビデオデータに基づき、アクセスできる表示機器に、ビデオピクチャを表示できる。
【0017】
図1の例示において、端末機器(110)、(120)、(130)及び(140)はサーバ、パーソナルコンピュータ及びスマートフォンとして示されるが、本開示内容の原理はこれに限定されない。本開示内容の実施例はラップトップコンピュータ、タブレット、メディアプレイヤー及び/または専門ビデオ会議機器に適用される。ネットワーク(150)は端末機器(110)、端末機器(120)、端末機器(130)及び端末機器(140)の間で符号化されたビデオデータを伝送するための、例えば有線接続(ワイヤード)及び/または無線通信ネットワークを含む任意の数のネットワークを示す。通信ネットワーク(150)は回路交換及び/またはパケット交換チャネルにおいてデータを交換できる。代表的なネットワークには電気通信ネットワーク、ローカルエリアネットワーク、広域エリアネットワーク及び/またはインターネットが含まれる。本論述の目的から見れば、特に説明しない限り、ネットワーク(150)のアーキテクチャ及びトポロジは、本開示内容の操作に対して重要ではない。
【0018】
開示のテーマの応用例示として、
図2はビデオ符号器と復号器との、ストリーミング伝送環境における配置方式を示す。開示のテーマは、例えばビデオ会議、デジタルテレビ、(CD、DVD、メモリースティックなどが含まれる)デジタル媒体上への圧縮されたビデオの格納などの、ビデオ機能を持つ他のアプリケーションにも等しく適用可能である。
【0019】
ストリーミング伝送システムは、キャプチャサブシステム(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のコンテキストに適用される。
【0020】
なお、電子機器(220)、電子機器(230)は他のコンポーネント(図示せず)を含んでもよい。例えば、電子機器(220)はビデオ復号器(図示せず)を含んでもよく、電子機器(230)はビデオ符号器(図示せず)を含んでもよい。
【0021】
図3は、本開示内容の1つの実施例に基づくビデオ復号器(310)のブロック図を示す。ビデオ復号器(310)は電子機器(330)に含まれる。電子機器(330)は受信器(331)(例えば、受信回路)を含んでもよい。ビデオ復号器(310)は、
図2の例示におけるビデオ復号器(210)の代わりとしてもよい。
【0022】
受信器(331)は、ビデオ復号器(310)によって復号化される1つ又は複数の符号化されたビデオシーケンスを受信でき、同一の実施例または他の実施例において、1回に1つの符号化されたビデオシーケンスを受信し、各符号化されたビデオシーケンスの復号化は、他の符号化されたビデオシーケンスと独立する。チャンネル(301)から符号化されたビデオシーケンスを受信してもよく、チャンネル(301)は符号化されたビデオデータを記憶するための記憶機器に達するハードウェア/ソフトウェアリンクであってもよい。受信器(331)は、符号化されたビデオデータを、それぞれの利用エンティティ(図示せず)に転送され得る例えば符号化されたオーディオデータ及び/または補助データストリームといった他のデータとともに受信できる。受信器(331)は符号化されたビデオシーケンスと他のデータとを分離できる。ネットワークのジッタを防止するために、バッファメモリ(315)が受信器(331)とエントロピー復号器/パーサー(320)(以下では、「パーサー(320)」と呼ばれる)との間に連結される。いくつかの応用において、バッファメモリ(315)はビデオ復号器(310)の一部である。他の応用において、バッファメモリ(315)はビデオ復号器(310)の外部にあってもよい(図示せず)。さらに、他の応用において、ビデオ復号器(310)の外部にバッファメモリ(図示せず)が設けられることで、例えばネットワークのジッタを防止し、ビデオ復号器(310)の内部に別のバッファメモリ(315)が設けられることで、例えば、放送タイミングを処理することができる。受信器(331)が、十分な帯域幅及び制御可能性を有する記憶/転送機器、またはアイソクロナスネットワークからデータを受信するときには、バッファメモリ(315)を必要としないか、または、バッファメモリ(315)が小さくてもよい。例えば、インターネットのようなベストエフォート型パケットネットワークで使用される場合、バッファメモリ(315)が必要とされ、相当に大きくされ、有利には適応的なサイズのものにされ、また、少なくとも一部的に、ビデオ復号器(310)の外部にあるオペレータシステムまたは類似の要素(図示せず)にて実装され得る。
【0023】
ビデオ復号器(310)は、符号化されたビデオシーケンスに基づき符号(321)を再構築するパーサー(320)を有する。これらの符号のカテゴリにはビデオ復号器(310)の操作を管理するための情報、及び表示機器(312)(例えば、スクリーン)のような表示機器を制御するための潜在情報が含まれ、
図3に示すように、該表示機器(312)は電子機器(330)の一体部分ではなく、電子機器(330)に連結される。(1つ又は複数の)表示機器に用いられる制御情報は補充強化情報(SEIメッセージ)またはビデオユーザビリティ情報(VUI)パラメータセットセグメント(図示せず)という形式であってもよい。パーサー(320)は受信された、符号化されたビデオシーケンスに対して解析/エントロピー復号化を行う。符号化されたビデオシーケンスの符号化は、ビデオ符号化技術または標準に基づくとともに、可変長符号、ハフマン符号(Huffman
coding)、コンテキスト感度を有するかまたは有していない算術符号などのような各種原理に従う。パーサー(320)はグループに対応する少なくとも1つのパラメータに基づき、符号化されたビデオシーケンスから、ビデオ復号器における画素のサブグループのうちの少なくとも1つのサブグループのためのサブグループパラメータセットを抽出する。サブグループには、ピクチャグループ(GOP)、ピクチャ、タイル、スライス、マクロブロック、符号化ユニット(CU)、ブロック、変換ユニット(TU)、予測ユニット(PU)などが含まれる。パーサー(320)はさらに符号化されたビデオシーケンスから、変換係数、量子化器パラメータ値、動きベクトルなどのような情報を抽出できる。
【0024】
パーサー(320)は、バッファメモリ(315)から受信したビデオシーケンスに対してエントロピー復号化/解析操作を実行することで、符号(321)を構築することができる。
【0025】
符号化されたビデオピクチャまたはその一部(例えば、フレーム間ピクチャ及びフレーム内ピクチャ、フレーム間ブロック及びフレーム内ブロック)のタイプ及び他の要因に依存し、符号(321)の再構築は複数の異なるユニットに関わる。どのユニットに関わるか、及び関わる方式は、パーサー(320)が符号化されたビデオシーケンスから解析したサブグループ制御情報によって制御できる。簡潔のために、パーサー(320)と以下の複数のユニットとの間にある、このようなサブグループ制御情報ストリームを記載していない。
【0026】
既に言及された機能ブロック以外に、ビデオ復号器(310)は概念的に以下に記載のいくつかの機能ユニットに細分できる。商業制約の下で動作する実際の実現方式において、これらのユニットにおける複数のユニットは互いに密接にインタラクトするとともに、少なくとも部分的に互いに集積されてもよい。ただし、開示のテーマを説明するという目的から見れば、概念的に以下の機能ユニットに細分されることは適切である。
【0027】
第1ユニットはスケーラ/逆変換ユニット(351)である。スケーラ/逆変換ユニット(351)はパーサー(320)から、(1つ又は複数の)符号(321)として、量子化変換係数と、どんな変換方式を利用するか、ブロックの大きさ、量子化因子、量子化スケーリング行列などを含む制御情報と、を受信する。スケーラ/逆変換ユニット(351)は、アグリゲーター(355)に入力されるサンプル値が含まれるブロックを出力できる。
【0028】
ある状況で、スケーラ/逆変換ユニット(351)の出力サンプルはフレーム内符号化ブロック、即ち、前に再構築されたピクチャからの予測情報を利用しないが、現在ピクチャのうちの前に再構築された部分からの予測情報を利用できるブロック、に属し得る。このような予測情報はフレーム内ピクチャ予測ユニット(352)から提供される。ある状況で、フレーム内ピクチャ予測ユニット(352)は、現在ピクチャバッファ(358)からフェッチされた周辺の既に再構築された情報を用いて、再構成中のブロックの同じ大きさ及び形状のブロックを生成する。例えば、現在ピクチャバッファ(358)は部分的に再構築された現在ピクチャ及び/または完全に再構築された現在ピクチャをバッファリングする。ある状況で、アグリゲーター(355)は各サンプルに基づき、フレーム内予測ユニット(352)が生成した予測情報を、スケーラ/逆変換ユニット(351)によって提供された出力サンプル情報に追加する。
【0029】
他の状況で、スケーラ/逆変換ユニット(351)の出力サンプルは、フレーム間符号化された、動き補償された可能性のあるブロックに属してもよい。このような状況で、動き補償予測ユニット(353)は参照ピクチャメモリ(357)にアクセスして、予測に使用されたサンプルをフェッチすることができる。該ブロックに関する符号(321)に基づき、フェッチされたサンプルに対して動き補償を行った後、これらのサンプルが、アグリゲーター(355)により、スケーラ/逆変換ユニット(351)の出力に追加されることで(この場合、残差サンプルまたは残差信号と呼ばれる)、出力サンプル情報が生成される。動き補償予測ユニット(353)が予測サンプルをフェッチする参照ピクチャメモリ(357)内のアドレスは、動きベクトルによって制御でき、動きベクトルは符号(321)の形式で、動き補償予測ユニット(353)に用いられ、符号(321)は、例えばX、Y及び参照ピクチャ成分を有してもよい。動き補償はさらに、サブサンプルの正確な動きベクトルを使用する際の参照ピクチャメモリ(357)からフェッチされたサンプル値の補間、動きベクトル予測メカニズムなどを含んでもよい。
【0030】
アグリゲーター(355)の出力サンプルは、ループフィルタユニット(356)において、各種のループフィルタリング技術を利用できる。ビデオ圧縮技術はインループフィルタ技術を含むことができ、ループ内フィルタ技術は、符号化されたビデオシーケンス(符号化されたビデオビットストリームとも呼ばれる)に含められてパーサー(320)からの符号(321)としてループフィルタユニット(356)に利用可能にされるパラメータによって制御されるが、符号化されたピクチャまたは符号化されたビデオシーケンスの(復号化の順序で)の前の部分を復号化する間に取得されたメタ情報にも応答することができるとともに、前に再構築されループフィルタリングを経たサンプル値にも応答することができる。
【0031】
ループフィルタユニット(356)の出力は、表示機器(312)に出力されることが可能なサンプルストリームとすることができ、また、後のフレーム間ピクチャ予測での使用のために参照ピクチャメモリ(357)に記憶されることができる。
【0032】
完全に再構成されると、ある符号化されたピクチャは参照ピクチャとして、後の予測に用いることができる。例えば、現在ピクチャに対応する符号化されたピクチャが完全に再構成され、該符号化されたピクチャが(例えばパーサー(320)によって)参照ピクチャとして特定されると、現在ピクチャバッファ(358)は参照ピクチャメモリ(357)の一部になり、その後の符号化されたピクチャを再構成する前に、新たな現在ピクチャバッファを改めて割り当てる。
【0033】
ビデオ復号器(310)は、例えばITU-T勧告H.265などの標準における所定のビデオ圧縮技術に基づき、復号化操作を実行することができる。符号化されたビデオシーケンスは、ビデオ圧縮技術または標準の文法、及びビデオ圧縮技術または標準に記録されたコンフィグファイルという両者に従うという意味で、符号化されたビデオシーケンスは使用中のビデオ圧縮技術または標準が指定する文法に従う。具体的に、コンフィグファイルはビデオ圧縮技術または標準における利用可能な全てのツールから、該コンフィグファイルで利用可能な唯一のツールとして、いくつかのツールを選択できる。準拠性について、符号化されたビデオシーケンスの複雑度が、ビデオ圧縮技術または標準のレベルによって定められる限度内にあるように要求する。ある状況で、レベルは最大ピクチャサイズ、最大フレームレート、最大再構築サンプリングレート(例えば、メガサンプル/秒で測定する)、最大参照ピクチャサイズなどを制限する。ある状況で、レベルによって設定される制限は、仮想参照復号器(Hypothetical Reference Decoder;HRD)の仕様、及び符号化されたビデオシーケンスにおいてシグナリングされるHRDバッファ管理用のメタデータを介してさらに限定される。
【0034】
1つの実施例において、受信器(331)は符号化されたビデオとともに追加(冗長)データを受信できる。追加データは(1つ又は複数の)符号化されたビデオシーケンスの一部として含められ得る。追加データがビデオ復号器(310)によって利用されることで、データを適切に復号化し、及び/またはオリジナルビデオデータをより正確に再構築することができる。追加データは、例えば時間、空間または信号対雑音比(SNR)強化層、冗長スライス、冗長ピクチャ、前方誤り訂正符号などの形式であってもよい。
【0035】
図4は、本開示内容の1つの実施例に基づくビデオ符号器(403)のブロック図を示す。ビデオ符号器(403)は電子機器(420)に含まれる。電子機器(420)は送信器(440)(例えば、送信回路)を有する。ビデオ符号器(403)は
図2の例示におけるビデオ符号器(203)の代わりとしてもよい。
【0036】
ビデオ符号器(403)は、ビデオ符号器(403)によって符号化されるビデオ画像をキャプチャできるビデオソース(401)(
図4の例示における電子機器(420)の一部ではない)からビデオサンプルを受信できる。他の例示において、ビデオソース(401)は電子機器(420)の一部である。
【0037】
ビデオソース(401)は、ビデオ符号器(403)によって符号化される、デジタルビデオサンプルストリーム形式であるソースビデオシーケンスを提供し、該デジタルビデオサンプルストリームは、任意の適切なビット深度(例えば、8ビット、10ビット、12ビット…)、任意の色空間(例えば、BT.601 Y CrCB、RGB……)、及び任意の適切なサンプリング構成(例えば、Y
CrCb 4:2:0、Y CrCb
4:4:4)を有してもよい。メディアサービスシステムにおいて、ビデオソース(401)は前に準備されたビデオを記憶するための記憶機器であってもよい。ビデオ会議システムにおいて、ビデオソース(401)はビデオシーケンスとして、ローカル画像情報をキャプチャするための撮影装置であってもよい。ビデオデータは、順に見たときに動きを伝える複数の個々のピクチャとして提供されてもよい。ピクチャそのものは、空間画素アレイとして組織され、使用中のサンプリング構成、色空間などに依存して各画素に1つ又は複数のサンプルが含まれてもよい。画素とサンプルとの間の関係は、当業者にとって容易に理解できる。以下の記載はサンプルに着目する。
【0038】
1つの実施例に基づき、ビデオ符号器(403)は、リアルタイムまたはアプリケーションによって要求される他の時間制約下で、ソースビデオシーケンスのピクチャを、符号化されたビデオシーケンス(443)として符号化及び圧縮する。適切な符号化速度を強制することは、コントローラ(450)の1つの機能である。いくつかの実施例において、コントローラ(450)は以下に記載の他の機能ユニットを制御するとともに、他の機能ユニットに機能的に連結される。簡潔のために、該連結を図示していない。コントローラ(450)により設定されるパラメータは、レート制御に関するパラメータ(ピクチャスキップ、量子化器、レート歪み最適化技術のλ値......)、ピクチャサイズ、ピクチャグループ(GOP)の配置、最大動きベクトル探索範囲などを含んでもよい。コントローラ(450)は、特定のシステム設計に対して最適化したビデオ符号器(403)に関する他の適切な機能を有するように構成されてもよい。
【0039】
いくつかの実施例において、ビデオ符号器(403)は符号化ループにおいて動作するように構成される。非常に簡単な記載として、1つの例示において、符号化ループはソース符号器(430)(例えば、符号化対象となる入力ピクチャと(1つ又は複数)参照ピクチャに基づき、符号ストリームのような符号を構築することを担う)、及びビデオ符号器(403)に埋め込まれる(ローカル)復号器(433)を含む。復号器(433)は、(リモート)復号器がサンプルデータを構築するという方式で、符号を再構築し、サンプルデータを構築する(なぜならば、開示のテーマで考慮されるビデオ圧縮技術において、符号と符号化されたビデオビットストリームとの間の圧縮はいずれも可逆であるからである)。再構築されたサンプルストリーム(サンプルデータ)を参照ピクチャメモリ(434)に入力する。符号ストリームの復号化は、復号器位置(ローカルまたはリモート)と関係がないビット正確結果を発生させるから、参照ピクチャメモリ(434)におけるコンテンツはローカル符号器とリモート符号器との間でもビット正確である。言い換えれば、符号器が参照ピクチャサンプルとして「見る」予測部分は、復号器が復号化中に予測を利用しようとする際に「見る」サンプル値と完全に同じである。該参照ピクチャの同期性の基本原理は(及び、例えばチャンネル誤差から、同期性を維持できない場合に発生するドリフト)も関連分野に適用される。
【0040】
「ローカル」復号器(433)の動作は、例えば、
図3に関連して詳しく記載したビデオ復号器(310)の「リモート」復号器の動作と同様であってもよい。ただし、
図3を簡単に参照するに、符号が利用可能であり、且つエントロピー符号器(445)とパーサー(320)による符号の符号化されたビデオシーケンスへの符号化/復号化は可逆とし得るので、バッファメモリ(315)とパーサー(320)とを含むビデオ復号器(310)のエントロピー復号化部分は、ローカル復号器(433)において完全に実装されなくてもよい。
【0041】
この場合、復号器に存在する解析/エントロピー復号化以外の如何なる復号器技術も、必ず、基本的に同じ機能的形態で、対応する符号器に存在する必要がある。これを理由に、開示のテーマは、復号器の動作に着目する。符号器技術は、全面的に記載された復号器技術の逆であるため、符号器技術に対する記載を簡略化し得る。特定の分野においてのみ、より詳細な説明が必要とされ、以下で提供される。
【0042】
動作において、いくつかの例示において、ソース符号器(430)は動き補償予測符号化を実行でき、該動き補償予測符号化は、ビデオシーケンスからの、「参照ピクチャ」として指定された、前に符号化された1つ又は複数のピクチャを参照して、入力ピクチャを予測的に符号化する。該方式で、符号化エンジン(432)は入力ピクチャの画素ブロックと、入力ピクチャに対する(1つ又は複数の)予測基準として選択され得る(1つ又は複数の)参照ピクチャの画素ブロックとの間の差を符号化する。
【0043】
ローカルビデオ復号器(433)は、ソース符号器(430)によって構築された符号に基づき、参照ピクチャとして指定できるピクチャの符号化されたビデオデータを復号化することができる。符号化エンジン(432)の操作は好ましくは非可逆処理である。符号化されたビデオデータがビデオ復号器(
図4において図示せず)で復号化できると、再構築されたビデオシーケンスは、一般的にある程度誤差を有するソースビデオシーケンスのコピーであり得る。ローカルビデオ復号器(433)はビデオ復号器が参照ピクチャに対して実行する復号化処理をコピーするとともに、再構築された参照ピクチャを参照ピクチャキャッシュ(434)に記憶させる。該方式で、ビデオ符号器(403)は再構築された参照ピクチャのコピーをローカルに記憶し、該コピーは、リモートビデオ復号器によって取得される再構築の参照ピクチャと、共通のコンテンツを有する(伝送誤差がない)。
【0044】
予測器(435)は、符号化エンジン(432)のために予測探索を実行することができる。即ち、符号化対象となる新たなピクチャに対して、予測器(435)は、新たなピクチャに対する適切な予測参照としての役割を果たし得るサンプルデータ(候補参照画素ブロックとして)または例えば参照ピクチャ動きベクトル、ブロック形状などの特定のメタデータについて、参照ピクチャメモリ(434)を検索し得る。予測器(435)はサンプルブロックに基づき、画素ブロックごとに操作することで、適切な予測参照を見つけることができる。ある状況で、予測器(435)によって取得された検索結果に基づき決定されるように、入力ピクチャは参照ピクチャメモリ(434)に記憶された複数の参照ピクチャから取得される予測参照を有してもよい。
【0045】
コントローラ(450)は、例えば、ビデオデータを符号化するために使用されるパラメータとサブグループパラメータの設定を含め、ソース符号器(430)の符号化操作を管理できる。
【0046】
エントロピー符号器(445)において、以上言及された全ての機能ユニットの出力に対してエントロピー符号化を行うことができる。エントロピー符号器(445)は、ハフマン符号化、可変長符号化、算術符号化などの当業者の既知の技術に基づき、各種の機能ユニットから生成された符号に対して可逆圧縮を行って、符号を符号化されたビデオシーケンスに変換する。
【0047】
送信器(440)は、エントロピー符号器(445)によって構築された(1つ又は複数の)符号化されたビデオシーケンスをバッファリングすることで、通信チャンネル(460)を介して伝送するように準備し、該通信チャンネルは符号化されたビデオデータを記憶するための記憶機器に達するハードウェア/ソフトウェアリンクであってもよい。送信器(440)はビデオ符号器(403)からの符号化されたビデオデータと、伝送対象となる他のデータ、例えば符号化されたオーディオデータ及び/または補助データストリーム(ソースを図示せず)とをマージする。
【0048】
コントローラ(450)は、ビデオ符号器(403)の操作を管理できる。符号化において、コントローラ(450)は各符号化されたピクチャに、それぞれのピクチャに適用される符号化技術に影響する可能性があるいくつかの符号化ピクチャタイプを割り当てる。例えば、一般的に、ピクチャに以下のピクチャタイプのうちの1つが割り当てられる。
【0049】
フレーム内ピクチャ(Iピクチャ)は、シーケンスにおけるいずれの他のピクチャも予測のソースとして使用せずに符号化及び復号化されるピクチャとし得る。一部のビデオコーデックは、例えば独立復号器リフレッシュ(「IDR」)ピクチャを含め、異なるタイプのフレーム内ピクチャを許容する。当業者は、Iピクチャのそれら異形、並びにそれらそれぞれの用途及び特徴を知っている。
【0050】
予測ピクチャ(Pピクチャ)は、各ブロックのサンプル値を予測するために、多くても1つの動きベクトル及び参照インデックスを用いて、フレーム内予測またはフレーム間予測を利用して符号化及び復号化を行うピクチャとし得る。
【0051】
双方向予測ピクチャ(Bピクチャ)は、各ブロックのサンプル値を予測するために、多くても2つの動きベクトル及び参照インデックスを用いて、フレーム内予測またはフレーム間予測を利用して符号化及び復号化を行うピクチャとし得る。同様に、多重予測ピクチャは、2つより多い参照ピクチャと関連メタデータを、単一のブロックの再構築に使用できる。
【0052】
ソースピクチャは一般的に、空間で複数のサンプルブロック(例えば、4×4、8×8、4×8または16×16個のサンプルのブロック)に細分できるとともに、ブロックごとに符号化を行う。ブロックは、それらブロックのそれぞれのピクチャに適用される符号化割当によって決定される他の(符号化された)ブロックを参照して予測的に符号化され得る。例えば、Iピクチャのブロックは、非予測的に符号化され、または、Iピクチャのブロックは、同一のピクチャの既に符号化されたブロックを参照して予測的に符号化(空間予測またはフレーム内予測)され得る。Pピクチャの画素ブロックは、前に符号化された1つの参照ピクチャを参照し、空間予測または時間予測を介して予測的に符号化され得る。Bピクチャのブロックは、前に符号化された1つまたは2つの参照ピクチャを参照し、空間予測または時間予測を介して予測的に符号化され得る。
【0053】
ビデオ符号器(403)は例えばITU-T勧告H.265などの所定のビデオ符号化技術または標準に基づき符号化操作を実行することができる。その操作において、ビデオ符号器(403)は、入力ビデオシーケンスにおける時間と空間冗長を利用した予測的な符号化操作を含む各種の圧縮操作を実行できる。従って、符号化されたビデオデータは、使用のビデオ符号化技術または標準が指定する文法に従い得る。
【0054】
1つの実施例において、送信器(440)は符号化されたビデオとともに追加データを送信することができる。ソース符号器(430)が、そのようなデータを、符号化されたビデオシーケンスの一部として含め得る。追加データは、時間/空間/SNR強化層、冗長ピクチャ及びスライスのような他の形式の冗長データ、補充強化情報(SEI)メッセージ、ビデオユーザビリティ情報(VUI)パラメータセットセグメントなどを含んでもよい。
【0055】
キャプチャされたビデオは、時間シーケンスを呈する複数のソースピクチャ(ビデオピクチャ)としてもよい。フレーム内ピクチャ予測(しばしば、フレーム内予測と略される)は特定のピクチャにおける空間的相関を利用し、フレーム間ピクチャ予測はピクチャの間の(時間的または他の)相関を利用する。例示において、現在ピクチャと呼ばれる符号化/復号化における特定ピクチャは、ブロックに分割される。現在ピクチャにおけるブロックは、ビデオにおける前に符号化され且つ依然としてバッファリングされる参照ピクチャにおける参照ブロックに類似する場合、動きベクトルと呼ばれるベクトルによって、現在ピクチャにおけるそのブロックを符号化することができる。前記動きベクトルは参照ピクチャにおける参照ブロックを指し、複数の参照ピクチャを利用する場合、参照ピクチャを特定するための第3次元を有し得る。
【0056】
いくつかの実施例において、双方向予測技術がフレーム間ピクチャ予測に用いられる。双方向予測技術に基づき、復号化順でいずれもビデオにおける現在ピクチャの前(ただし、表示順では、それぞれ過去と将来にあることもある)にある、第1参照ピクチャと第2参照ピクチャのような2つの参照ピクチャを利用する。第1参照ピクチャにおける第1参照ブロックを指す第1動きベクトル、及び第2参照ピクチャにおける第2参照ブロックを指す第2動きベクトルによって現在ピクチャにおけるブロックを符号化することができる。第1参照ブロックと第2参照ブロックとの組み合わせで、ブロックを予測できる。
【0057】
また、合併モード技術をフレーム間ピクチャ予測に適用して、符号化効率を向上させることができる。
【0058】
本開示内容のいくつかの実施例に基づき、ブロックごとにフレーム間ピクチャ予測及びフレーム内ピクチャ予測のような予測を実行する。例えば、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画素などのような画素値(例えば、輝度値)の行列を含む。
【0059】
図5は、本開示内容の他の実施例に基づくビデオ復号器(503)の図面を示す。該ビデオ符号器(503)は、ビデオピクチャシーケンスにおける現在ビデオピクチャ内のサンプル値の処理ブロック(例えば、予測ブロック)を受信するとともに、処理ブロックを符号化されたビデオシーケンスの一部としての符号化されたピクチャに符号化するように構成される。例示において、ビデオ符号器(503)は
図2の例示におけるビデオ符号器(203)の代わりとして用いられる。
【0060】
HEVC例示において、ビデオ符号器(503)は、処理ブロック、例えば8×8サンプルの予測ブロックなどのサンプル値の行列を受信する。ビデオ符号器(503)は、例えばレート歪み最適化によって、処理ブロックが最適に符号化されるのが、フレーム内モードを用いてなのか、フレーム間モードを用いてなのか、それとも双方向予測モードを用いてなのかを決定する。フレーム内モードで処理ブロックを符号化しようとするとき、ビデオ符号器(503)はフレーム内予測技術によって、処理ブロックを符号化ピクチャに符号化し、フレーム間モードまたは双方向予測モードで処理ブロックを符号化しようとするとき、ビデオ符号器(503)はそれぞれフレーム間予測または双方向予測技術によって、処理ブロックを符号化ピクチャに符号化することができる。あるビデオ符号化技術において、合併モードは、予測値の外部にある符号化された動きベクトル成分の利益なしで1つ又は複数の動きベクトル予測値から動きベクトルを導出するというフレーム間ピクチャ予測サブモードとし得る。ある他のビデオ符号化技術において、テーマブロックに適用される動きベクトル成分が存在し得る。例示において、ビデオ符号器(503)は、処理ブロックのモードを決定するためのモード決定モジュール(図示せず)のような、他のコンポーネントを含む。
【0061】
図5の例示において、ビデオ符号器(503)は
図5に示すように連結されたフレーム間符号器(530)、フレーム内符号器(522)、残差計算器(523)、スイッチ(526)、残差符号器(524)、汎用コントローラ(521)及びエントロピー符号器(525)を含む。
【0062】
フレーム間符号器(530)は、現在ブロック(例えば、処理ブロック)のサンプルを受信し、該ブロックを参照ピクチャにおける1つ又は複数の参照ブロック(例えば、前のピクチャと後のピクチャにおけるブロック)と比較し、フレーム間予測情報(例えば、フレーム間符号化技術に基づく冗長情報、動きベクトル、合併モード情報の記述)を生成し、フレーム間予測情報に基づき、任意の適切な技術を利用してフレーム間予測結果(例えば、予測のブロック)を計算するように構成される。
【0063】
フレーム内符号器(522)は、現在ブロック(例えば、処理ブロック)のサンプルを受信し、場合によっては、該ブロックを同一ピクチャ内の既に符号化されたブロックと比較し、変換後、量子化係数を生成し、場合によっては、さらにフレーム内予測情報(例えば、1つ又は複数のフレーム内符号化技術に基づくフレーム内予測方向情報)を生成するように構成される。
【0064】
汎用コントローラ(521)は、汎用制御データを決定し、汎用制御データに基づき、ビデオ符号器(503)の他のコンポーネントを制御するように構成される。例示において、汎用コントローラ(521)はブロックのモードを決定し、該モードに基づき、制御信号をスイッチ(526)に提供する。例えば、モードがフレーム内モードである場合、汎用コントローラ(521)は、残差計算器(523)による使用のためにフレーム内モード結果を選択するようにスイッチ(526)を制御し、フレーム内予測情報を選択してフレーム内予測情報をビットストリームに含ませるようにエントロピー符号器(525)を制御する。モードがフレーム間モードである場合、汎用コントローラ(521)は、残差計算器(523)による使用のためにフレーム間予測結果を選択するように、スイッチ(526)を制御し、フレーム間予測情報を選択してフレーム間予測情報をビットストリームに含ませるように、エントロピー符号器(525)を制御する。
【0065】
残差計算器(523)は、受信されたブロックと、フレーム内符号器(522)またはフレーム間符号器(530)から選択された予測結果との間の差(残差データ)を計算するように構成される。残差符号器(524)は、残差データに基づき動作することで、残差データを符号化し、変換係数を生成するように構成される。例示において、残差符号器(524)は、周波数領域における残差データを変換し、変換係数を生成するように構成される。そして、変換係数は量子化処理されて、量子化された変換係数を取得する。
【0066】
エントロピー符号器(525)は、符号化されたブロックを含むようにビットストリームをフォーマットするように構成される。エントロピー符号器(525)はHEVC標準のような適切な標準に基づき、各種情報を含めるように構成される。例示において、エントロピー符号器(525)は汎用制御データ、選択された予測情報(例えば、フレーム内予測情報またはフレーム間予測情報)、残差情報及び他の適切な情報をビットストリームに含めるように構成される。なお、開示のテーマによれば、フレーム間モードまたは双方向予測モードの合併サブモードでブロックを符号化する場合、残差情報は存在しない。
【0067】
図6は、本開示内容の他の実施例に基づくビデオ復号器(610)の図面を示す。ビデオ復号器(610)は、符号化されたビデオシーケンスの一部としての符号化されたピクチャを受信するとともに、符号化されたピクチャを復号化することで、再構築されたピクチャを生成するように配置される。例示において、ビデオ復号器(610)は、
図2の例示におけるビデオ復号器(210)の代わりとして用いられる。
【0068】
図6の例示において、ビデオ復号器(610)は
図6に示すように連結されたエントロピー復号器(671)、フレーム間復号器(680)、残差復号器(673)、再構築モジュール(674)及びフレーム内復号器(672)を含む。
【0069】
エントロピー復号器(671)は、符号化されたピクチャに基づき、符号化されたピクチャを構成する文法要素を示す特定の符号を再構築するように構成される。このような符号は、例えば、ブロックを符号化するためのモード(例えば、フレーム内モード、フレーム間モード、双方向予測モード、後の両者の合併サブモードまたは他のサブモード)、それぞれフレーム内復号器(672)またはフレーム間復号器(680)による予測に用いられる特定のサンプルまたはメタデータを認識できる予測情報(例えば、フレーム内予測情報またはフレーム間予測情報)、例えば量子化の変換係数という形式を呈する残差情報などを含む。例示において、予測モードがフレーム間または双方向予測モードである場合、フレーム間予測情報をフレーム間復号器(680)に提供し、予測タイプがフレーム内予測タイプである場合、フレーム内予測情報をフレーム内復号器(672)に提供する。残差情報は逆量子化を介して残差復号器(673)に提供される。
【0070】
フレーム間復号器(680)は、フレーム間予測情報を受信し、フレーム間予測情報に基づき、フレーム間予測結果を生成するように構成される。
【0071】
フレーム内復号器(672)は、フレーム内予測情報を受信し、フレーム内予測情報に基づき、予測結果を生成するように構成される。
【0072】
残差復号器(673)は、逆量子化を実行することで、逆量子化された変換係数を抽出し、逆量子化された変換係数を処理することによって残差を周波数領域から空間領域に変換するように構成される。残差復号器(673)は、いくつかの制御情報を必要とする可能性があり(量子化器パラメータ(QP)を含むため)、該情報はエントロピー復号器(671)から提供される(これは少ない制御情報であるから、データ経路を図示せず)。
【0073】
再構築モジュール(674)は、空間領域において、残差復号器(673)から出力された残差と予測結果(フレーム間予測モジュールまたはフレーム内予測モジュールから出力されてもよい)とを組み合わせることで、再構築されたブロックを形成するように構成され、該再構築されたブロックは、再構築されたピクチャの一部であることができ、さらに再構築されたピクチャは、再構築されたビデオの一部であることができる。なお、デブロッキング操作のような、他の適切な操作を実行することで、視覚品質を向上させる。
【0074】
なお、任意の適切な技術でビデオ符号器(203)、ビデオ符号器(403)、ビデオ符号器(503)、及びビデオ復号器(210)、ビデオ復号器(310)、ビデオ復号器(610)を実現できる。1つの実施例において、1つ又は複数の集積回路を用いてビデオ符号器(203)、ビデオ符号器(403)、ビデオ符号器(503)、及びビデオ復号器(210)、ビデオ復号器(310)、ビデオ復号器(610)を実現できる。他の実施例において、ビデオ復号器(203)、(403)、(403)、及びビデオ復号器(210)、(310)、(610)はソフトウェア命令を実行するための1つ又は複数のプロセッサによって実現される。
【0075】
異なるピクチャからの、ブロックに基づく補償は動き補償と呼ばれる。ブロック補償はさらに、同一のピクチャ内の前に構築された領域に基づき行われてもよく、これはフレーム内ピクチャブロック補償、またはフレーム内ブロックコピーと呼ばれる。例えば、現在ブロックと参照ブロックとの間のずれを指示するための変位ベクトルはブロックベクトルと呼ばれる。いくつかの実施例に基づき、ブロックベクトルは、既に再構築され参照に用いられる参照ブロックを指す。同じく、並列処理という考量から見れば、タイル/スライスの境界、または波面台形境界を超えた参照領域もブロックベクトルの参照から排除されてもよい。これらの制約のため、ブロックベクトルは動き補償における動きベクトル(MV)と異なってもよく、動き補償において、動きベクトルは任意の値であってもよい(xまたはy方向で、正或いは負である)。
【0076】
図7は、フレーム内ピクチャブロック補償(例えば、フレーム内ブロックコピーモード)の実施例を示す。
図7において、現在ピクチャ700は符号化/復号化された1組のブロック(即ち、灰色のブロック)、及び符号化/復号化されていない1組のブロック(即ち、白いブロック)を有する。符号化/復号化されていないブロックのうちの1つのブロックのサブブロック702は、前に符号化/復号化された他のサブブロック706を指すブロックベクトル704に関連してもよい。従って、サブブロック706に関連する任意の動き情報は、サブブロック702の符号化/復号化に使用できる。
【0077】
いくつかの実施例に基づき、ブロックベクトルの符号化は明示的である。他の実施例において、ブロックベクトルの符号化は暗示的である。明示的なモードで、ブロックベクトルとその予測値との間の差がシグナリングされ、暗示的なモードで、合併モードにおける動きベクトル予測に類似する方式によって、ブロックベクトルの予測値からブロックベクトルを回復させる。いくつかの実施例において、ブロックベクトルの解像度は整数位置に限定される。他の実施例において、ブロックベクトルは分数位置を指す。
【0078】
いくつかの実施例に基づき、参照インデックスによって、ブロックレベルを利用するフレーム内ピクチャブロック補償(即、フレーム内ブロックコピーモード)がシグナリングされ、現在復号化のピクチャは参照ピクチャとみなされ、該参照ピクチャを参照ピクチャリストの最後位置に配置する。該参照ピクチャはさらに、他の時間的参照ピクチャ一とともに、復号化ピクチャバッファ(DPB)において管理されてもよい。
【0079】
いくつかの実施例に基づき、参照ブロックは現在ブロックに対する予測に用いられる前に、水平または垂直に反転される(例えば、反転のフレーム内ブロックコピー)。いくつかの実施例において、M×N符号化ブロックの内部の各補償ユニットはM×1または1×N行である(例えば、行に基づくフレーム内ブロックコピー)。
【0080】
いくつかの実施例に基づき、ブロックレベルの動き補償を実行し、現在ブロックは、同じ動き情報で動き補償を実行するための処理単位である。そのため、ブロックのサイズを特定すると、該ブロックにおける全ての画素は、同じ動き情報を使用してその予測ブロックを形成する。ブロックレベル動き補償の例示は、空間マージ候補、時間候補、及び双方向予測における既存の複数のマージ候補からの動きベクトルの組み合わせ、を使用することを含む。
【0081】
図8を参照し、現在ブロック(801)は動き探索処理において既に符号器/復号器によって、空間的にシフトされた同じサイズの前のブロックから予測可能であることが見出されたサンプルを含む。いくつかの実施例において、直接的にMVを符号化することの代わりに、A0、A1、B0、B1、B2(それぞれ802~806に対応する)と表記した5つの周囲サンプルのうちのいずれかのサンプルに関連するMVを用いて、例えば(復号化順序において)直近の参照ピクチャからなど、1つまたは複数の参照ピクチャに関連するメタデータから、MVを導くことができる。ブロックA0、A1、B0、B1、B2は空間マージ候補と呼ばれる。
【0082】
いくつかの実施例に基づき、動き補償ブロック内部の異なる位置にある画素(例えば、サブブロック)は異なる動き情報を有してもよい。これらのブロックレベル動き情報との差はシグナリングされず、導出される。このようなタイプの動き補償はサブブロックレベル動き補償と呼ばれて、ブロックの動き補償がブロックそのものより小さいことを許容する。これに関連し、各ブロックは、各サブブロックが異なる動き情報を含み得るものである複数のサブブロックを有してもよい。
【0083】
サブブロックレベル動き補償の例示は、サブブロックに基づく時間的動きベクトル予測を含み、現在ブロックのサブブロックが相異なる動きベクトルを有する。サブブロックレベル動き補償の他の例示はATMVPであり、これは、各符号化ブロックが、並置の参照ピクチャから、現在符号化ブロックより小さい複数のブロックからの複数組の動き情報をフェッチすることを可能にする一手法である。
【0084】
サブブロックレベル動き補償の他の例示は、サブブロック調整を有する空間/時間融合を含み、現在ブロックにおける各サブブロックに対して、該サブブロックの空間/時間的隣接者の動きベクトルに基づき、該サブブロックの動きベクトルを調整する。該モードでは、一部のサブブロックに対して、時間的参照ピクチャにおける対応するサブブロックからの動き情報を必要とし得る。
【0085】
サブブロックレベル動き補償の他の例示は、アフィン符号化動き補償ブロックであり、隣接するブロックの動きベクトルに基づき、まず現在ブロックの4つの角における動きベクトルを導出する。そして、アフィンモデルによって(例えば、サブブロックまたは画素レベルの)現在ブロックの他の動きベクトルを導出することで、各サブブロックが、それぞれのサブブロックの隣接者とは異なる動きベクトルを具備できる。
【0086】
サブブロックレベル動き補償の他の例示は、復号器側での動きベクトル導出を用いるマージ候補精緻化(リファインメント)である。該モードでは、現在ブロックまたは現在ブロックのサブブロックの(1つ又は複数)動きベクトル予測値を取得した後、例えばテンプレートマッチングまたはバイラテラルマッチングなどの方法を用いて、所与の(1つ又は複数の)動きベクトル予測値を更に精緻化することができる。精緻化された動きベクトルが動き補償の実行に用いられる。符号器側と復号器側とで、ともに同じ精緻化操作を行うことで、復号器は、精緻化が如何に元の予測値から変位されるかという追加情報を必要としない。また、スキップモードを特殊の合併モードと見なすことができ、それにおいては、現在ブロックの隣接者から現在ブロックの動き情報を導出することに加えて、現在ブロックの予測残差もゼロである。
【0087】
いくつかの実施例に基づき、サブブロック時間的動きベクトル予測において、現在ブロックのサブブロックは、時間的参照ピクチャから導出された相異なる動きベクトル予測値を有してもよい。例えば、現在ブロックの動きベクトルと関連する参照インデックスとが含まれる1組の動き情報を特定する。第1の利用可能な空間マージ候補から動き情報を決定する。該動き情報を用いて、現在ブロックのための参照ピクチャにおける参照ブロックを決定する。参照ブロックもサブブロックに分割される。いくつかの実施例において、現在ピクチャにおける各現在ブロックのサブブロック(current block sub-block;CBSB)に対して、参照ピクチャには、対応する参照ブロックのサブブロック(reference block sub-block;RBSB)が存在する。
【0088】
いくつかの実施例において、各CBSBに対して、対応するRBSBが1組の動き情報を使用してフレーム間モードで符号化されると、該動き情報は変換され(例えば、時間的動きベクトル予測における動きベクトルスケーリングなどの方法を利用する)、該CBSBの動きベクトルの予測値として用いられる。以下、フレーム内モード(例えば、フレーム内ブロックコピーモード)で符号化されるRBSBを取り扱う方法をさらに詳しく記載する。
【0089】
いくつかの実施例によれば、サブブロックに基づく時間的動きベクトル予測モードを利用する場合、各CBSBがフレーム内ブロックコピーモードのようなフレーム内モードで符号化されることを許容しない。これは、フレーム内ブロックコピーで符号化されたRBSBを、フレーム内モードと見なすことで実現される。特に、フレーム内ブロックコピーモードがどのように見なされる(例えば、フレーム間モード、フレーム内モードまたは第3モードと見なされる)かにかかわらず、CBSBに対して、対応するRBSBがフレーム内ブロックコピーモードで符号化される場合、該RBSBは、サブブロックに基づく時間的動きベクトル予測におけるフレーム内モードと見なされる。従って、いくつかの実施例において、フレーム内ブロックコピーモードで符号化されたRBSBは、サブブロックに基づく時間的動きベクトル予測におけるデフォルト設定に従って扱われる。例えば、フレーム内ブロックコピーモードでCBSBの対応するRBSBを符号化する場合、ゼロ動きベクトルのようなデフォルト動きベクトルが該CBSBについての予測値として用いられる。該例示において、CBSBに用いられる参照ピクチャは、現在ピクチャではなく、時間的参照ピクチャになる。例えば、時間的参照ピクチャは現在ブロックの全てのサブブロックが共有するピクチャ、参照ピクチャリストにおける第1参照ピクチャ、TMVP目的のためのコロケーションピクチャなどであってもよい。他の例示において、CBSBに対して、対応するRBSBがフレーム間モードで符号化されるが、参照ピクチャが現在ピクチャである場合、例えばゼロ動きベクトルなどのデフォルト動きベクトルが該CBSBに割り当てられる。これに関連し、RBSBがフレーム間モードで符号化されても、現在ピクチャと参照ピクチャとが同じであるから、RBSBがフレーム内モードで符号化されたかのように、該RBSBを扱う。
【0090】
図9は、サブブロックに基づく時間的動きベクトル予測を実行する例示を示す。
図9は現在ブロック900Aが含まれた9つのブロックを有する現在ピクチャ900を示す。現在ブロック900Aは、4つのサブブロック1~4に分割されている。現在ピクチャ900は参照ピクチャ902に関連付けられることができ、参照ピクチャ902は9つの前に符号化/復号化されたブロックを有している。また、
図9に示すように、現在ブロック900Aは参照ブロック902Aを指す動きベクトル904を有する。現在ブロック900Aの1つ又は複数の隣接するブロックの動きベクトル(例えば、空間マージ候補)を使用して、動きベクトル904を決定することができる。参照ブロック902Aは4つのサブブロック1~4に分割されている。参照ブロック902Aのサブブロック1~4はそれぞれ現在ブロック900Aのサブブロック1~4に対応する。参照ピクチャ902と現在ピクチャ900とが同じである場合には、ブロック902Aにおける各RBSBは、これらのブロックがフレーム内モードで符号化されたかのようにして扱われる。これに関連し、例えば、ブロック902Aのサブブロック1はフレーム間モードで符号化されているが、参照ピクチャ902と現在ピクチャ900とが同じである場合、ブロック902Aのサブブロック1は、該サブブロックがフレーム内モードで符号化されたかのようにして扱われ、デフォルト動きベクトルがブロック900Aのサブブロック1に割り当てられる。
【0091】
参照ピクチャ902と現在ピクチャ900とが異なる場合、参照ブロック902Aのサブブロック1~4はそれぞれブロック900Aのサブブロック1~4に対して、サブブロックに基づく時間的動きベクトル予測を実行するために用いられる。例えば、参照ブロック902Aのサブブロック1がフレーム間モードで符号化されているのか、それともフレーム内モード(例えば、フレーム内ブロックコピーモード)で符号化されているのかということに基づき、現在ブロック900Aのサブブロック1の動きベクトル予測値を決定する。参照ブロック902Aのサブブロック1がフレーム間モードで符号化されている場合、参照ブロック902Aのサブブロック1の動きベクトルは、現在ブロック900Aのサブブロック1の動きベクトルに対する決定に用いられる。参照ブロック902Aのサブブロック1がフレーム内モードで符号化されている場合には、現在ブロック900Aのサブブロック1の動きベクトルはゼロ動きベクトルに設定される。
【0092】
図10は、フレーム内符号器522またはフレーム内復号器672のような符号器または復号器で実行されるプロセスの実施例を示す。該プロセスはステップS1000から始まり、ステップS1000で、符号化されたビデオビットストリームから現在ピクチャを取得する。例えば、
図9を参照し、符号化されたビデオビットストリームから現在ピクチャ900を取得する。プロセスはステップS1002に進み、ステップS1002で、現在ピクチャにおける現在ブロックに対して、参照ピクチャからの参照ブロックを特定する。例えば、
図9を参照し、現在ブロック900Aに関連付けられた参照ピクチャリストから参照ピクチャ902を検索する。現在ブロック900Aに対してサブブロックの時間的動きベクトル予測を実行する場合、動きベクトル904を用いて、参照ピクチャ902の参照ブロック902Aを特定し得る。
【0093】
プロセスはステップS1004に進み、ステップS1004で、参照ピクチャが現在ピクチャと同じであるかどうかを決定する。参照ピクチャが現在ピクチャと異なる場合、プロセスはステップS1006に進み、ステップS1006で、CBSBに対応するRBSBの符号化モードを決定する。例えば、
図9を参照し、現在ブロック900AのCBSB
1に対応する参照ブロック902AのRBSB 1の符号化モードを決定する。プロセスはステップS1008に進み、ステップS1008で、前記RBSBの符号化モードがフレーム間モードであるかどうかを決定する。RBSBの符号化モードがフレーム間モードであれば、プロセスはステップS1010に進み、ステップS1010で、RBSBの動きベクトル予測値に基づき、CBSBの動きベクトル予測値を決定する。例えば、参照ブロック902AのRBSB
1の符号化モードがフレーム間モードであれば、参照ブロック902AのRBSB
1の動きベクトル予測値に基づき、現在ブロック900AのCBSB 1の動きベクトル予測値を決定する。例えば、参照ブロック902AのRBSB 1の動きベクトル予測値が変換され(例えば、時間的動きベクトル予測における動きベクトルスケーリングのような方法を利用する)、現在ブロック900AのCBSB
1の動きベクトル予測値として用いられる。
【0094】
ステップS1008に戻って、RBSBの符号化モードがフレーム間モードでなければ(例えば、RBSBの符号化モードはフレーム内モードである)、プロセスはステップS1012に進み、ステップS1012で、CBSBの動きベクトル予測値をデフォルト動きベクトルに設定する。例えば、参照ブロック902AのRBSB
1がフレーム内モードで符号化されている場合、現在ブロック900AのCBSB
1の動きベクトル予測値は、ゼロ動きベクトルのようなデフォルト動きベクトルに設定される。
【0095】
ステップS1004に戻って、参照ピクチャと現在ピクチャとが同じである場合には、プロセスはステップS1012に進み、ステップS1012で、CBSBの動きベクトル予測値をデフォルト動きベクトルに設定する。これに関連し、参照ピクチャと現在ピクチャとが同じである場合、RBSBの符号化モードをフレーム内モードに決定し、対応するCBSBのための動きベクトル予測値はデフォルト動きベクトルに設定される。これに関連し、RBSBがフレーム間モードであっても、CBSBの動きベクトル予測値をデフォルト動きベクトルに設定することで、RBSBがフレーム内モードで符号化されたのようにしてRBSBを扱うことができる。現在ブロック900Aにおける各サブブロックに対して、ステップS1004~S1012を繰り返し得る。
【0096】
前記技術はコンピュータ読み取り可能な命令によってコンピュータソフトウェアとして実現され、物理的に1つ又は複数のコンピュータ読み取り可能な媒体に記憶されてもよい。例えば、
図11は開示のテーマのいくつかの実施例を実現するためのコンピュータシステム(1100)を示す。
【0097】
コンピュータソフトウェアは任意の適切なマシンコードまたはコンピュータ言語によって符号化を行って、マシンコードまたはコンピュータ言語は編集、コンパイル、リンクなどのメカニズムを介して命令が含まれるコードを構築し、該命令は1つ又は複数のコンピュータ中央処理ユニット(CPU)、グラフィック処理ユニット(GPU)などによって直接的に実行されるか、または解釈、マイクロコード実行などによって実行される。
【0098】
前記命令は各種タイプのコンピュータまたはその部材で実行でき、例えばパーソナルコンピュータ、タブレット、サーバ、スマートフォン、ゲーム機器、モノのインターネット機器などを含む。
【0099】
図11に示すコンピュータシステム(1100)のコンポーネントは、本開示内容を実現するための実施例のコンピュータソフトウェアの使用範囲または機能に対して限定せず、本質に例示的である。コンポーネントの配置も、コンピュータシステム(1100)の例示性の実施例で示したコンポーネントにおけるいずれかのコンポーネント、またはその組み合わせに関する依存性または要求を有するように解釈されるべきではない。
【0100】
コンピュータシステム(1100)はいくつかのヒューマンマシンインターフェイス入力機器を含んでもよい。このようなヒューマンマシンインターフェイス入力機器は、1つ又は複数の人類ユーザーの、例えば触覚入力(例えば:キーストローク、スライド、データグローブ移動)、オーディオ入力(例えば:音声、拍手)、視覚入力(例えば:ジェスチャ)、嗅覚入力(図示せず)による入力に応答できる。マンマシンインタフェース機器はさらに、必ずしも人類の意識的な入力に直接的に関していない、ある媒体例えば、オーディオ(例えば:音声、音楽、環境音)、画像(例えば:スキャン画像、静止画撮影装置から取得された写真画像)、ビデオ(例えば2次元ビデオ、立体ビデオが含まれる3次元ビデオ)をキャプチャできる。
【0101】
入力マンマシンインタフェース機器は、キーボード(1101)、マウス(1102)、タッチパッド(1103)、タッチパネル(1110)、データグローブ(図示せず)、ジョイスティック(1105)、マイク(1106)、スキャナ(1107)、撮影装置(1108)のうちの1つ又は複数を有してもよい(記載の各々のうちの1つのみ)。
【0102】
コンピュータシステム(1100)はさらにマンマシンインタフェース出力機器を有してもよい。このようなマンマシンインタフェース出力機器は、例えば触覚出力、音、光及び匂い/味を介して1つ又は複数の人類ユーザーの感覚を刺激できる。このようなマンマシンインタフェース出力機器は触覚出力機器(例えば、タッチパネル(1110)、データグローブ(図示せず)またはジョイスティック(1105)による触覚フィードバック、但し入力機器として用いられない触覚フィードバック機器も存在する)、オーディオ出力機器(例えば、スピーカー(1109)、ヘッドフォン(図示せず))、視覚出力機器(例えば、スクリーン(1110)、CRTスクリーン、LCDスクリーン、プラズマスクリーン、OLEDスクリーンを含み、各スクリーンはタッチパネル入力能力、触覚フィードバック能力を有してもよく、有してなくてもよく、そのうちのいくつかは、立体画像出力のような手段で、2次元の視覚を出力または3次元以上の出力を行い、バーチャルリアリティ眼鏡(図示せず)、ホログラフィックディスプレイ及びスモークタンク(図示せず)がある)、プリンター(図示せず)を含む。
【0103】
コンピュータシステム(1100)はさらに人類がアクセスし得る記憶機器及びその関連する媒体を有してもよく、例えば、CD/DVDなどの媒体(1121)を有するCD/DVD
ROM/RW(1120)を含む光学媒体、サムドライブ(1122)、取り外し可能なハードドライブまたはソリッドステートドライブ(1123)、磁気テープとフロッピーディスク(図示せず)のような伝統の磁気媒体、専用ROM/ASIC/PLDに基づく機器、例えばドングル(図示せず)などを含む。
【0104】
当業者は、現在開示のテーマを結合して、使用される用語「コンピュータ読み取り可能な媒体」には伝送媒体、搬送波または他の瞬間信号が含まれないことを理解できる。
【0105】
コンピュータシステム(1100)は、さらに1つ又は複数の通信ネットワークのインタフェースを有してもよい。ネットワークは、例えば無線、有線、光学であってもよい。ネットワークはさらに、ローカル、広域、都市用、車両用、工業用、リアルタイム、遅延耐性ネットワークなどであってもよい。ネットワークの例示はイーサネットのようなローカルエリアネットワーク、無線LAN、GSM、3G、4G、5G、LTEなどが含まれたセルラーネットワーク、有線テレビ、衛星テレビ及び地上波テレビが含まれるテレビ有線または無線広域デジタルネットワーク、CANBusが含まれる車両及び工業ネットワークなどを含む。あるネットワークは一般的に、ある汎用データポートまたは周辺バス(1149)(例えば、コンピュータシステム(1100)のUSBポート)に連結される外部ネットワークインタフェースアダプタを必要とし、他のネットワークは一般的に、以下に記載のシステムバス(例えば、PCコンピュータシステムへのイーサネットインタフェース、またはスマートフォンコンピュータシステムへのセルラーネットワークインタフェース)に連結されることで、コンピュータシステム(1100)のコアに集積される。これらのネットワークのうちのいずれかのネットワークを介して、コンピュータシステム(1100)は他のエンティティと通信できる。このような通信は一方向で受信だけ(例えば、放送テレビ)、一方向で送信だけ(例えば、あるCANbus機器へのCANbus)、または双方向である(例えば、ローカルエリアまたは広域デジタルネットワークを介して他のコンピュータシステムへ)。以上に記載のこれらのネットワーク及びネットワークインタフェースのうちの各ネットワーク及びネットワークインタフェースに、特定のプロトコル及びプロトコルスタックを利用できる。
【0106】
前記マンマシンインタフェース機器、人類がアクセスし得る記憶機器及びネットワークインタフェースは、コンピュータシステム(1100)のコア(1140)に連結できる。
【0107】
コア(1140)は1つ又は複数の中央処理ユニット(CPU)(1141)、グラフィック処理ユニット(GPU)(1142)、フィールドプログラマブルゲートアレイ(FPGA)(1143)という形式の専門プログラム可能な処理ユニット、あるタスクのためのハードウェアアクセラレータ(1144)などを含む。これらの機器は、読み取り専用メモリ(ROM)(1145)、ランダムアクセスメモリ(1146)、内部のユーザーがアクセスできないハードディスクドライブ、SSDなどのような内部大容量記憶装置(1147)とともに、システムバス(1148)を介して接続される。あるコンピュータシステムにおいて、1つ又は複数の物理プラグという形式で、システムバス(1148)にアクセスすることで、別のCPU、GPUなどによって拡張できる。周囲機器は直接的または周辺バス(1149)を介してコアのシステムバス(1148)に連結される。周辺バスのアーキテクチャはPCI、USBなどを含む。
【0108】
CPU(1141)、GPU(1142)、FPGA(1143)及びアクセラレータ(1144)はいくつかの命令を実行でき、これらの命令を組み合わせて、以上に言及されたコンピュータコードを構成する。該コンピュータコードはROM(1145)またはRAM(1146)に記憶される。移行データはRAM(1146)に記憶され、永久データは、例えば内部大容量記憶装置(1147)に記憶されてもよい。キャッシュメモリによってメモリ機器のうちのいずれかのメモリ機器の快速記憶及び検索を実現でき、該キャッシュメモリは1つ又は複数のCPU(1141)、GPU(1142)、大容量記憶装置(1147)、ROM(1145)、RAM(1146)などに密接に関連できる。
【0109】
コンピュータ読み取り可能な媒体は、コンピュータが実現する各種操作を実行するためのコンピュータコードを有する。媒体とコンピュータコードとは、本開示内容の目的のために、専門に設計され及び構築された媒体とコンピュータコードであってもよいし、またはコンピュータソフトウェアの当業者にとって、公知且つ利用可能なタイプであってもよい。
【0110】
限定ではなく例示として、アーキテクチャ(1100)を有するコンピュータシステム、特にコア(1140)は、(1つ又は複数)プロセッサ(CPU、GPU、FPGA、アクセラレータなどを含む)が1つ又は複数の有形コンピュータ読み取り可能な媒体に体現されるソフトウェアを実行することで、機能を提供できる。このようなコンピュータ読み取り可能な媒体は、以上に紹介された、ユーザがアクセスし得る大容量記憶装置に関する媒体、及び例えばコア内部の大容量記憶装置(1147)またはROM(1145)などの非一時的な性質のものであるコア(1140)の記憶装置であってもよい。本開示内容を実現するための各種実施例のソフトウェアはこのような機器に記憶され、コア(1140)により実行される。特定の需要に応じて、コンピュータ読み取り可能な媒体には1つ又は複数の記憶機器またはチップが含まれてもよい。ソフトウェアはコア(1140)、特にそのうちのプロセッサ(CPU、GPU、FPGAなどが含まれた)に、本明細書に記載の特定プロセスまたは特定プロセスの特定部分を実行させ、RAM(1146)に記憶されるデータ構成を限定すること、及びソフトウェアにより限定されたプロセスに基づき、このようなデータ構成を修正することが含まれる。また或いは代わりとして、コンピュータシステムは、論理的な固定接続または他の方式で回路(例えば、アクセラレータ(1144))に体現されることで機能を提供し、該回路は、ソフトウェアの代わりとして、またはソフトウェアとともに操作することで、本明細書に記載の特定プロセスまたは特定プロセスの特定部分を実行できる。適切な場合、言及のソフトウェアにはロジックが含まれ、逆に、言及ロジックにはソフトウェアが含まれてもよい。適切な場合、言及のコンピュータ読み取り可能な媒体には、実行するためのソフトウェアが記憶される回路(例えば、集積回路(IC))、実行するためのロジックを体現する回路、或いは前記両者が含まれてもよい。本開示内容にはハードウェアとソフトウェアとの任意の適切な組み合わせが含まれる。
【0111】
本開示内容には若干の例示性の実施例が記載されているが、本開示内容の範囲内にある変更、置き換え及びいろんな置換等価物が存在する。従って、本明細書には明らかに記載されていないが、本開示内容の原理を体現し本開示内容の精神及び範囲内に属する多いシステム及び方法は、当業者にとって想到し得る。
【0112】
(1)復号器のビデオ復号化のための方法であって、前記方法において、符号化されたビデオビットストリームから現在ピクチャを取得し、前記現在ピクチャに含まれる現在ブロックに対して、前記現在ピクチャとは異なる参照ピクチャに含まれる参照ブロックを特定し、前記現在ブロックは複数のサブブロック(CBSB)に分割され、前記参照ブロックは、複数のサブブロック(RBSB)を有し、前記複数のサブブロック(RBSB)が前記複数のCBSBの異なるCBSBにそれぞれ対応し、前記RBSBの参照ピクチャが前記現在ピクチャであるかどうかを決定し、前記RBSBの参照ピクチャが前記現在ピクチャであると決定したことに応答して、前記RBSBの符号化モードをフレーム内モードとして決定し、前記RBSBの参照ピクチャが前記現在ピクチャではないと決定したことに応答して、(i)前記複数のCBSBの1つに対して、対応するRBSBの符号化モードがフレーム内モードとフレーム間モードのうちのどちらであるかを決定し、及び(ii)前記対応するRBSBの符号化モードが前記フレーム内モードと前記フレーム間モードのうちのどちらであるかに基づき、前記複数のCBSBの前記1つのCBSBについての動きベクトル予測値を決定する。
【0113】
(2)前記対応するRBSBの符号化モードが前記フレーム内モードであると決定したことに応答して、前記1つのCBSBについて決定される動きベクトル予測値をデフォルト動きベクトルに設定する特徴(1)に記載の方法。
【0114】
(3)前記デフォルト動きベクトルは、(i)ゼロ動きベクトル、または(ii)前記CBSBと前記RBSBとの間のずれである特徴(2)に記載の方法。
【0115】
(4)前記対応するRBSBの符号化モードは前記フレーム間モードであると決定したことに応答し、前記1つのCBSBについて決定される動きベクトル予測値は、前記対応するRBSBに関連する動きベクトル予測値に基づくものである特徴(1)~(3)のいずれか1項に記載の方法。
【0116】
(5)決定される前記動きベクトル予測値は、前記対応するRBSBに関連する前記動きベクトル予測値のスケーリングバージョンである特徴(4)に記載の方法。
【0117】
(6)前記現在ブロックに隣接するブロックに関連する動きベクトル予測値に従って前記参照ブロックを特定する特徴(1)~(5)のいずれか1項に記載の方法。
【0118】
(7)前記参照ピクチャは、前記現在ピクチャに関連する参照ピクチャシーケンスからの第1参照ピクチャである特徴(1)~(6)のいずれか1項に記載の方法。
【0119】
(8)処理回路を有するビデオ復号化のためのビデオ復号器であって、前記処理回路は、符号化されたビデオビットストリームから現在ピクチャを取得し、前記現在ピクチャに含まれる現在ブロックに対して、前記現在ピクチャとは異なる参照ピクチャに含まれる参照ブロックを特定し、前記現在ブロックは複数のサブブロック(CBSB)に分割され、前記参照ブロックは、複数のサブブロック(RBSB)を有し、前記複数のサブブロック(RBSB)が前記複数のCBSBの異なるCBSBにそれぞれ対応し、前記RBSBの参照ピクチャが前記現在ピクチャであるかどうかを決定し、前記RBSBの参照ピクチャが前記現在ピクチャであると決定したことに応答して、前記RBSBの符号化モードをフレーム内モードとして決定し、前記RBSBの参照ピクチャが前記現在ピクチャではないと決定したことに応答して、(i)前記複数のCBSBの1つに対して、対応するRBSBの符号化モードがフレーム内モードとフレーム間モードのうちのどちらであるかを決定し、及び(ii)前記対応するRBSBの符号化モードが前記フレーム内モードと前記フレーム間モードのうちのどちらであるかに基づき、前記CBSBのうちの前記1つのCBSBについての動きベクトル予測値を決定する、ように構成される。
【0120】
(9)前記処理回路は、前記対応するRBSBの符号化モードが前記フレーム内モードであると決定したことに応答して、前記1つのCBSBについての動きベクトル予測値をデフォルト動きベクトルに設定するように構成される特徴(8)に記載のビデオ復号器。
【0121】
(10)前記デフォルト動きベクトルは、(i)ゼロ動きベクトル、または(ii)前記CBSBと前記RBSBとの間のずれである特徴(9)に記載のビデオ復号器。
【0122】
(11)前記処理回路は、前記対応するRBSBの符号化モードが前記フレーム間モードであると決定したことに応答して、前記1つのCBSBについての動きベクトル予測値を、前記対応するRBSBに関連する動きベクトル予測値に基づいて決定するように構成される特徴(8)~(10)のいずれか1項に記載のビデオ復号器。
【0123】
(12)決定される前記動きベクトル予測値は前記対応するRBSBに関連する前記動きベクトル予測値のスケーリングバージョンである特徴(11)に記載のビデオ復号器。
【0124】
(13)前記処理回路は、前記現在ブロックに隣接するブロックに関連する動きベクトル予測値に基づき、前記参照ブロックを特定する特徴(8)~(12)のいずれか1項に記載のビデオ復号器。
【0125】
(14)前記参照ピクチャは、前記現在ピクチャに関連する参照ピクチャシーケンスからの第1参照ピクチャである特徴(8)~(13)のいずれか1項に記載のビデオ復号器。
【0126】
(15)命令を有するコンピュータプログラムであって、前記命令は、プロセッサによって実行されるときに、前記プロセッサに方法を実行させ、該方法は、符号化されたビデオビットストリームから現在ピクチャを取得し、前記現在ピクチャに含まれる現在ブロックに対して、前記現在ピクチャとは異なる参照ピクチャに含まれる参照ブロックを特定し、前記現在ブロックは複数のサブブロック(CBSB)に分割され、前記参照ブロックは、複数のサブブロック(RBSB)を有し、前記複数のサブブロック(RBSB)が前記複数のCBSBの異なるCBSBにそれぞれ対応し、前記RBSBの参照ピクチャが前記現在ピクチャであるかどうかを決定し、前記RBSBの参照ピクチャが前記現在ピクチャであると決定したことに応答して、前記RBSBの符号化モードをフレーム内モードとして決定し、前記RBSBの参照ピクチャが前記現在ピクチャではないと決定したことに応答して、(i)前記複数のCBSBの1つに対して、対応するRBSBの符号化モードがフレーム内モードとフレーム間モードのうちのどちらであるかを決定し、及び(ii)前記対応するRBSBの符号化モードが前記フレーム内モードと前記フレーム間モードのうちのどちらであるかどうかに基づき、前記複数のCBSBの前記1つのCBSBについての動きベクトル予測値を決定する、ことを含む。
【0127】
(16)前記対応するRBSBの符号化モードが前記フレーム内モードであると決定したことに応答して、前記1つのCBSBについて決定される動きベクトル予測値をデフォルト動きベクトルに設定する特徴(15)に記載のコンピュータプログラム。
【0128】
(17)前記デフォルト動きベクトルは、(i)ゼロ動きベクトル、または(ii)前記CBSBと前記RBSBとの間のずれである特徴(16)に記載のコンピュータプログラム。
【0129】
(18)前記対応するRBSBの符号化モードが前記フレーム間モードであると決定したことに応答し、前記1つのCBSBについて決定される動きベクトル予測値は前記対応するRBSBに関連する動きベクトル予測値に基づくものである特徴(15)~(17)のいずれか1項に記載のコンピュータプログラム。
【0130】
(19)決定される前記動きベクトル予測値は前記対応するRBSBに関連する前記動きベクトル予測値のスケーリングバージョンである特徴(18)に記載の非一時的なコンピュータ読み取り可能な媒体。
【0131】
(20)前記現在ブロックに隣接するブロックに関連する動きベクトル予測値に従って前記参照ブロックを特定する特徴(15)~(19)のいずれか1項に記載の非一時的なコンピュータ読み取り可能な媒体。
【0132】
付録A:頭字語
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:符号化ユニット
【外国語明細書】