(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-06-22
(54)【発明の名称】大域的運動を伴うフレームにおける候補
(51)【国際特許分類】
H04N 19/527 20140101AFI20220615BHJP
H04N 19/70 20140101ALI20220615BHJP
【FI】
H04N19/527
H04N19/70
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2021563023
(86)(22)【出願日】2020-04-24
(85)【翻訳文提出日】2021-12-21
(86)【国際出願番号】 US2020029922
(87)【国際公開番号】W WO2020219952
(87)【国際公開日】2020-10-29
(32)【優先日】2019-04-25
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】521328755
【氏名又は名称】オーピー ソリューションズ, エルエルシー
(74)【代理人】
【識別番号】100078282
【氏名又は名称】山本 秀策
(74)【代理人】
【識別番号】100113413
【氏名又は名称】森下 夏樹
(74)【代理人】
【識別番号】100181674
【氏名又は名称】飯田 貴敏
(74)【代理人】
【識別番号】100181641
【氏名又は名称】石川 大輔
(74)【代理人】
【識別番号】230113332
【氏名又は名称】山本 健策
(72)【発明者】
【氏名】カルバ, ハリ
(72)【発明者】
【氏名】ファート, ボリヴォイェ
(72)【発明者】
【氏名】アジッチ, ヴェリボール
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159MA04
5C159MA05
5C159MA23
5C159MC11
5C159ME01
5C159NN27
5C159PP04
5C159UA02
5C159UA05
5C159UA16
5C159UA22
(57)【要約】
本発明は、概して、ビデオ圧縮の分野に関する。特に、本発明は、大域的運動を伴うフレームにおける候補を対象とする。デコーダは、ビットストリームを受信し、現在のブロックに関して、大域的運動ベクトル候補を運動ベクトル候補リストに追加することを含め、運動ベクトル候補リストを構築し、現在のブロックのピクセルデータを再構築し、運動ベクトル候補リストを使用するように構成される、回路網を含む。関連する装置、システム、技法、および物品もまた、説明される。
【特許請求の範囲】
【請求項1】
デコーダであって、前記デコーダは、
回路網であって、前記回路網は、
ビットストリームを受信することと、
現在のブロックに関して、大域的運動ベクトル候補を運動ベクトル候補リストに追加することを含め、運動ベクトル候補リストを構築することと、
前記現在のブロックのピクセルデータを再構築し、前記運動ベクトル候補リストを使用することと
を行うように構成される、回路網
を備える、デコーダ。
【請求項2】
前記デコーダは、単一の大域的運動ベクトル候補を前記運動ベクトル候補リストに追加するように構成される、請求項1に記載のデコーダ。
【請求項3】
前記デコーダは、2つの大域的運動ベクトル候補を前記運動ベクトル候補リストに追加するように構成される、請求項1に記載のデコーダ。
【請求項4】
前記デコーダは、3つの大域的運動ベクトル候補を前記運動ベクトル候補リストに追加するように構成される、請求項1に記載のデコーダ。
【請求項5】
前記大域的運動ベクトル候補は、制御点運動ベクトルを含む、請求項1に記載のデコーダ。
【請求項6】
前記制御点運動ベクトルは、並進運動ベクトルである、請求項5に記載のデコーダ。
【請求項7】
前記制御点運動ベクトルは、4パラメータアフィン運動モデルのベクトルである、請求項5に記載のデコーダ。
【請求項8】
前記制御点運動ベクトルは、6パラメータアフィン運動モデルのベクトルである、請求項5に記載のデコーダ。
【請求項9】
エントロピデコーダプロセッサであって、前記エントロピデコーダプロセッサは、前記ビットストリームを受信し、前記ビットストリームを量子化された係数にデコードするように構成される、エントロピデコーダプロセッサと、
逆量子化および逆変換プロセッサであって、前記逆量子化および逆変換プロセッサは、逆離散コサインを実施することを含め、前記量子化された係数を処理するように構成される、逆量子化および逆変換プロセッサと、
デブロッキングフィルタと、
フレームバッファと、
イントラ予測プロセッサと
をさらに備える、請求項1に記載のデコーダ。
【請求項10】
前記現在のブロックは、四分木+二分決定木の一部を形成する、請求項1に記載のデコーダ。
【請求項11】
前記現在のブロックは、コーディング木単位である、請求項1に記載のデコーダ。
【請求項12】
前記現在のブロックは、コーディング単位である、請求項1に記載のデコーダ。
【請求項13】
前記現在のブロックは、予測単位である、請求項1に記載のデコーダ。
【請求項14】
方法であって、
デコーダによって、ビットストリームを受信することと、
現在のブロックに関して、大域的運動ベクトル候補を運動ベクトル候補リストに追加することを含め、運動ベクトル候補リストを構築することと、
前記現在のブロックのピクセルデータを再構築し、前記運動ベクトル候補リストを使用することと
を含む、方法。
【請求項15】
前記デコーダは、単一の大域的運動ベクトル候補を前記運動ベクトル候補リストに追加するように構成される、請求項14に記載の方法。
【請求項16】
前記デコーダは、2つの大域的運動ベクトル候補を前記運動ベクトル候補リストに追加するように構成される、請求項14に記載の方法。
【請求項17】
前記デコーダは、3つの大域的運動ベクトル候補を前記運動ベクトル候補リストに追加するように構成される、請求項14に記載の方法。
【請求項18】
前記大域的運動ベクトル候補は、制御点運動ベクトルを含む、請求項14に記載の方法。
【請求項19】
前記制御点運動ベクトルは、並進運動ベクトルである、請求項18に記載の方法。
【請求項20】
前記制御点運動ベクトルは、4パラメータアフィン運動モデルのベクトルである、請求項18に記載の方法。
【請求項21】
前記制御点運動ベクトルは、6パラメータアフィン運動モデルのベクトルである、請求項18に記載の方法。
【請求項22】
前記デコーダはさらに、
エントロピデコーダプロセッサであって、前記エントロピデコーダプロセッサは、前記ビットストリームを受信し、前記ビットストリームを量子化された係数にデコードするように構成される、エントロピデコーダプロセッサと、
逆量子化および逆変換プロセッサであって、前記逆量子化および逆変換プロセッサは、逆離散コサインを実施することを含め、前記量子化された係数を処理するように構成される、逆量子化および逆変換プロセッサと、
デブロッキングフィルタと、
フレームバッファと、
イントラ予測プロセッサと
を備える、請求項14に記載の方法。
【請求項23】
前記現在のブロックは、四分木+二分決定木の一部を形成する、請求項11に記載の方法。
【請求項24】
前記現在のブロックは、コーディング木単位である、請求項11に記載の方法。
【請求項25】
前記現在のブロックは、コーディング単位である、請求項11に記載の方法。
【請求項26】
前記現在のブロックは、予測単位である、請求項11に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願の相互参照)
本願は、参照することによってその全体として本明細書に組み込まれる、2019年4月25日に出願され、「CANDIDATES IN FRAMES WITH GLOBAL MOTION」と題された、米国仮特許出願第62/838,587号の優先権の利益を主張する。
【0002】
本発明は、概して、ビデオ圧縮の分野に関する。特に、本発明は、大域的運動を伴うフレームにおける候補を対象とする。
【背景技術】
【0003】
ビデオコーデックは、デジタルビデオを圧縮または解凍する、電子回路またはソフトウェアを含むことができる。これは、非圧縮ビデオを圧縮フォーマットに転換することができ、逆もまた同様である。ビデオ圧縮の文脈において、ビデオを圧縮する(および/またはそのある機能を実施する)デバイスは、典型的には、エンコーダと呼ばれることができ、ビデオを解凍する(および/またはそのある機能を実施する)デバイスは、デコーダと呼ばれることができる。
【0004】
圧縮データのフォーマットは、標準的なビデオ圧縮仕様に適合することができる。圧縮は、圧縮されたビデオが元のビデオの中に存在するある情報を欠く点で損失的であり得る。この結果は、解凍されたビデオが、元のビデオを正確に再構築するための不十分な情報が存在するため、元の非圧縮ビデオより低い品質を有し得ることを含み得る。
【0005】
ビデオ品質と、(例えば、ビットレートによって決定される)ビデオを表すために使用されるデータ量と、エンコーディングアルゴリズムおよびデコーディングアルゴリズムの複雑性と、データ損失および誤差に対する感度と、編成のし易さと、ランダムアクセスと、エンドツーエンド遅延(例えば、待ち時間)と、同等物との間に、複雑な関係が存在し得る。
【0006】
運動補償は、ビデオにおけるカメラおよび/またはオブジェクトの運動を考慮することによって、過去および/または将来のフレーム等の基準フレームを前提として、ビデオフレームまたはその一部を予測するためのアプローチを含むことができる。これは、ビデオ圧縮のためのビデオデータのエンコーディングおよびデコーディングにおいて、例えば、Motion Picture Experts Group(MPEG)-2(アドバンスドビデオコーディング(AVC)およびH.264とも称される)規格を使用するエンコーディングおよびデコーディングにおいて採用されることができる。運動補償は、基準ピクチャの現在のピクチャへの変換の観点からピクチャを記述することができる。基準ピクチャは、現在のピクチャと比較したとき、時間的に過去のものであり、現在のピクチャと比較したとき、将来からのものであり得る。画像が、過去に伝送および/または記憶された画像から正確に合成され得るとき、圧縮効率が、改良されることができる。
【発明の概要】
【課題を解決するための手段】
【0007】
ある側面では、デコーダは、ビットストリームを受信し、現在のブロックに関して、大域的運動ベクトル候補を運動ベクトル候補リストに追加することを含め、運動ベクトル候補リストを構築し、現在のブロックのピクセルデータを再構築し、運動ベクトル候補リストを使用するように構成される、回路網を含む。
【0008】
別の側面では、方法は、デコーダによって、ビットストリームを受信するステップを含む。本方法は、現在のブロックに関して、大域的運動ベクトル候補を運動ベクトル候補リストに追加することを含め、運動ベクトル候補リストを構築するステップを含む。本方法は、現在のブロックのピクセルデータを再構築し、運動ベクトル候補リストを使用するステップを含む。
【0009】
本明細書に説明される主題の1つ以上の変形例の詳細が、付随の図面および下記の説明に記載される。本明細書に説明される主題の他の特徴および利点が、説明および図面から、および請求項から明白となるであろう。
【図面の簡単な説明】
【0010】
本発明を例証する目的のために、図面は、本発明の1つ以上の実施形態の側面を示す。しかしながら、本発明が、図面に示される精密な配列および手段に限定されないことを理解されたい。
【0011】
【
図1】
図1は、大域的運動および局所的運動を伴う例示的フレームの運動ベクトルを図示する、略図である。
【0012】
【
図2】
図2は、それらのインデックス値(0、1、または2)を含む、大域的運動のために利用され得る、3つの例示的運動モデルを図示する。
【0013】
【
図3】
図3は、本主題のいくつかの例示的実装による、プロセスフロー図である。
【0014】
【
図4】
図4は、本主題のいくつかの例示的実装による、例示的デコーダのシステムブロック図である。
【0015】
【
図5】
図5は、本主題のいくつかの例示的実装による、プロセスフロー図である。
【0016】
【
図6】
図6は、本主題のいくつかの例示的実装による、例示的エンコーダのシステムブロック図である。
【0017】
【
図7】
図7は、本明細書およびそのいずれか1つ以上の部分に開示される方法論のうちのいずれか1つ以上のものを実装するために使用され得る、コンピューティングシステムのブロック図である。
【0018】
図面は、必ずしも、縮尺通りではなく、想像線、図式表現、および部分図によって図示され得る。ある事例では、実施形態の理解のためには必要ではない、または他の詳細を知覚困難にする詳細が、省略されている場合がある。種々の図面内の同様の参照記号が、同様の要素を示す。
【発明を実施するための形態】
【0019】
ビデオにおける大域的運動は、フレーム全体において生じる、運動を指す。大域的運動は、カメラの運動によって引き起こされ得、例えば、カメラのパンおよび拡大が、フレーム内に、典型的には、フレーム全体に影響を及ぼし得る、運動を生成し得る。ビデオの一部内に存在する運動は、局所的運動と称され得る。局所的運動は、場面内の左から右に移動するオブジェクト等、場面内の移動するオブジェクトによって引き起こされ得る。ビデオは、局所的運動と大域的運動との組み合わせを含有し得る。本主題のいくつかの実装は、大域的運動をデコーダに通信するための効率的アプローチ、および圧縮効率を改良する際の大域的運動ベクトルの使用を提供し得る。
【0020】
図1は、大域的運動および局所的運動を伴う例示的フレーム100の運動ベクトルを図示する、略図である。フレーム100は、正方形として図示される、ピクセルのいくつかのブロックと、矢印として図示される、それらの関連付けられる運動ベクトルとを含む。左上を向く矢印を伴う正方形(例えば、ピクセルのブロック)は、大域的運動であると見なされ得る運動を伴うブロックを示し、(104によって示される)他の方向に向く矢印を伴う正方形は、局所的運動を伴うブロックを示し得る。
図1の図示される実施例では、ブロックのうちの多くのものが、同一の大域的運動を有する。ピクチャパラメータセット(PPS)および/またはシーケンスパラメータセット(SPS)等、ヘッダ内で大域的運動を信号伝達するステップ、および信号大域的運動を使用するステップは、ブロックによって必要とされる運動ベクトル情報を低減させ得、改良された予測をもたらすことができる。例証的目的のために、下記に説明される実施例は、ブロックレベルにおける大域的または局所的運動ベクトルの決定および/または適用に言及するが、大域的運動ベクトルは、フレームおよび/またはピクチャの任意の領域(複数のブロックから構成される領域、限定ではないが、その中で形状を境界する1つ以上の線および/または曲線が角度付けられる、および/または湾曲され得る、幾何学的および/または指数関数的コーディングによって画定される領域等の任意の幾何学的形態によって境界される領域、および/またはフレームおよび/またはピクチャの全体を含む)に関して決定および/または適用され得る。信号伝達は、本明細書において、フレームレベルにおいて、および/またはヘッダおよび/またはフレームのパラメータセット内で実施されているものとして説明されているが、信号伝達は、代替として、または加えて、サブピクチャレベルにおいて実施され得、サブピクチャは、上記に説明されるようなフレームおよび/またはピクチャの任意の領域を含み得る。
【0021】
実施例として、継続して
図1を参照すると、単純な並進運動が、現在のフレーム内でのブロックおよび/またはピクセルの変位量を説明する、2つの成分MV
x、MV
yを伴う運動ベクトル(MV)を使用して説明され得る。回転、拡大、およびワーピング等のより複雑な運動は、アフィン運動ベクトルを使用して説明され得、本開示において使用されるような「アフィン運動ベクトル」は、ビデオピクチャおよび/またはピクチャ内に表される、運動の間に見掛け上の形状を変化させることなくビデオ内の視界を横断して移動するオブジェクトを図示するピクセルのセット等、ピクセルまたは点のセットの均一な変位を説明する、ベクトルである。ビデオのエンコーディングおよび/またはデコーディングに対するいくつかのアプローチは、インタピクチャコーディングにおける運動補償のために4パラメータまたは6パラメータアフィンモデルを使用し得る。
【0022】
例えば、6パラメータアフィン運動は、以下のように説明され得る。
x’=ax+by+c
y’=dx+ey+f
4パラメータアフィン運動は、以下のように説明され得る。
x’=ax+by+c
y’=-bx+ay+f
式中、(x,y)および(x’,y’)は、それぞれ、現在のピクチャおよび基準ピクチャ内のピクセル場所であり、a、b、c、d、e、およびfは、アフィン運動モデルのパラメータである。
【0023】
依然として
図1を参照すると、アフィン運動を説明するために使用されるパラメータは、デコーダにおいてアフィン運動補償を適用するためにデコーダに信号伝達され得る。いくつかのアプローチでは、運動パラメータが、明示的に、または並進制御点運動ベクトル(CPMV)を信号伝達し、次いで、並進運動ベクトルからアフィン運動パラメータを導出することによって、信号伝達されてもよい。2つの制御点運動ベクトル(CPMV)が、利用され、4パラメータアフィン運動モデルのためのアフィン運動パラメータを導出してもよく、3つの制御点並進運動ベクトル(CPMV)が、利用され、6パラメータ運動モデルのためのパラメータを取得してもよい。制御点運動ベクトルを使用してアフィン運動パラメータを信号伝達するステップは、アフィン運動パラメータを信号伝達するための効率的な運動ベクトルコーディング方法の使用を可能にし得る。
【0024】
ある実施形態では、さらに
図1を参照すると、PPSおよび/またはSPS内のsps_affine_enabled_flagが、アフィンモデルベースの運動補償が、インタ予測のために使用され得るかどうかを規定してもよい。sps_affine_enabled_flagが、0に等しい場合、構文が、アフィンモデルベースの運動補償が、コード後のビデオシーケンス(CLVS)内で使用されないように制約され得、inter_affine_flagおよびcu_affine_type_flagが、CLVSのコーディング単位構文内に存在しなくてもよい。そうでなければ(sps_affine_enabled_flagが、1に等しい)、アフィンモデルベースの運動補償は、CLVS内で使用されることができる。
【0025】
依然として
図1を参照すると、PPSおよび/またはSPS内のsps_affine_type_flagが、6パラメータアフィンモデルベースの運動補償が、インタ予測のために使用され得るかどうかを規定してもよい。sps_affine_type_flagが、0に等しい場合、構文は、6パラメータアフィンモデルベースの運動補償が、CLVS内で使用されないように制約され得、cu_affine_type_flagが、CLVSのコーディング単位構文内に存在しなくてもよい。そうでなければ(sps_affine_type_flagが、1に等しい)、6パラメータアフィンモデルベースの運動補償が、CLVS内で使用されてもよい。存在しないとき、sps_affine_type_flagの値は、0に等しいと推測され得る。
【0026】
継続して
図1を閲覧すると、MV予測候補のリストを扱うステップは、デコーダにおいて運動補償を利用するいくつかの圧縮アプローチにおいて実施される、ステップであり得る。いくつかのアプローチが、空間的および時間的な運動ベクトル候補の使用を定義し得る。SPSまたはPPS等のヘッダ内で信号伝達される大域的運動が、ビデオ内の大域的運動の存在を示し得る。そのような大域的運動が、フレーム内の大部分のブロックに共通であることが予期され得る。大域的運動を予測候補として使用することによって、運動ベクトルコーディングが、改良され、ビットレートが、低減され得る。MV予測リストに追加される候補MVが、大域的運動を表すために使用される運動モデルおよびインタコーディングにおいて使用される運動モデルに応じて、選択されてもよい。
【0027】
依然として
図1を参照すると、大域的運動のいくつかの実装が、使用される運動モデルに応じて、1つ以上の制御点運動ベクトル(CPMV)を用いて説明され得る。したがって、使用される運動モデルに応じて、1~3つの制御点運動ベクトルが、利用可能であり得、予測のための候補として使用されてもよい。いくつかの実装では、全ての利用可能なCPMVが、予測候補としてリストに追加されてもよい。全ての利用可能なCPMVを追加する一般的な場合が、良好な運動ベクトル予測を見出す尤度を増大させ、圧縮効率を改良し得る。
【表1-1】
【表1-2】
【0028】
ここで
図2を参照すると、大域的運動のために利用され得る3つの例示的実施形態運動モデル200が、図示される。各例示的モデルは、インデックス値(0、1、または2)を含む。
【0029】
依然として
図2を参照すると、PPSが、シーケンスのピクチャ間で変化し得る、パラメータを信号伝達するために使用されてもよい。ピクチャのシーケンスに関して同一のままである、パラメータが、シーケンスパラメータセット内で信号伝達され、PPSのサイズを縮小し、ビデオビットレートを低減させ得る。例示的ピクチャパラメータセット(PPS)が、表1に示される。
【表2-1】
【表2-2】
【表2-3】
【表2-4】
【表2-5】
【0030】
付加的なフィールドが、大域的運動を信号伝達するためにPPSに追加されてもよい。大域的運動の場合には、ピクチャのシーケンス内での大域的運動パラメータの存在が、SPS内で信号伝達されてもよく、PPSは、SPS IDによってSPSを参照してもよい。SPSは、デコーディングに対するいくつかのアプローチにおいて、SPS内に大域的運動パラメータの存在を信号伝達するためのフィールドを追加するように修正されてもよい。例えば、1ビットのフィールドが、SPSに追加されてもよい。global_motion_presentビットが、1である場合、大域的運動関連パラメータは、PPS内にあることが予期され得る。global_motion_presentビットが、0である場合、大域的運動パラメータ関連フィールドは、PPS内に存在しなくてもよい。例えば、表1のPPSは、例えば、表2に示されるようなglobal_motion_presentフィールドを含むように拡張されてもよい。
【表3】
【0031】
同様に、PPSは、例えば、表3に示されるような、フレームに関するpps_global_motion_parametersフィールドを含むことができる。
【表4】
【0032】
より詳細には、PPSは、例えば、表4に示されるような制御点運動ベクトルを使用する、大域的運動パラメータを特徴付けるためのフィールドを含んでもよい。
【表5】
【0033】
さらなる非限定的実施例として、下記の表5は、例示的SPSを表し得る。
【表6-1】
【表6-2】
【表6-3】
【表6-4】
【表6-5】
【表6-6】
【表6-7】
【表6-8】
【表6-9】
【0034】
上記のようなSPSテーブルが、表6に示されるような大域的運動存在インジケータを組み込むために、上記に説明されるように拡張されてもよい。
【表7】
【0035】
付加的なフィールドが、SPS内に組み込まれ、本開示内で説明されるようなさらなるインジケータを反映してもよい。
【0036】
ある実施形態では、依然として
図2を参照すると、PPSおよび/またはSPS内のsps_affine_enabled_flagが、アフィンモデルベースの運動補償が、インタ予測のために使用され得るかどうかを規定してもよい。sps_affine_enabled_flagが、0に等しい場合、構文が、アフィンモデルベースの運動補償が、コード後のビデオシーケンス(CLVS)内で使用されないように制約され得、inter_affine_flagおよびcu_affine_type_flagが、CLVSのコーディング単位構文内に存在しなくてもよい。そうでなければ(sps_affine_enabled_flagが、1に等しい)、アフィンモデルベースの運動補償は、CLVS内で使用されることができる。
【0037】
継続して
図2を参照すると、PPSおよび/またはSPS内のsps_affine_type_flagが、6パラメータアフィンモデルベースの運動補償が、インタ予測のために使用され得るかどうかを規定してもよい。sps_affine_type_flagが、0に等しい場合、構文は、6パラメータアフィンモデルベースの運動補償が、CLVS内で使用されないように制約され得、cu_affine_type_flagが、CLVSのコーディング単位構文内に存在しなくてもよい。そうでなければ(sps_affine_type_flagが、1に等しい)、6パラメータアフィンモデルベースの運動補償は、CLVS内で使用されてもよい。存在しないとき、sps_affine_type_flagの値は、0に等しいと推測され得る。
【0038】
依然として
図2を参照すると、並進CPMVが、PPS内で信号伝達されてもよい。制御点が、事前定義されてもよい。例えば、制御点MV 0が、ピクチャの左上隅に対するものであってもよく、MV 1が、右上隅に対するものであってもよく、MV 3が、ピクチャの左下隅に対するものであってもよい。表4は、使用される運動モデルに応じてCPMVデータを信号伝達するための例示的アプローチを図示する。
【0039】
例示的実施形態では、依然として
図2を参照すると、コーディング単位、コーディング木、または同等物内で信号伝達され得る、アレイamvr_precision_idxが、下記に示されるような表7に示されるような非限定的実施例として定義され得る、運動ベクトル差の分解能AmvrShiftを規定してもよい。アレイインデックスx0、y0は、ピクチャの左上の輝度サンプルに対する、考慮されるコーディングブロックの左上の輝度サンプルの場所(x0,y0)を規定し得、amvr_precision_idx[x0][y0]が、存在しないとき、これは、0に等しいと推測され得る。inter_affine_flag[x0][y0]が、0に等しい場合、考慮されるブロックに対応する運動ベクトル差値を表す、変数MvdL0[x0][y0][0]、MvdL0[x0][y0][1]、MvdL1[x0][y0][0]、MvdL1[x0][y0][1]が、例えば、
【化1】
を使用する、AmvrShiftによってそのような値を偏移させることによって、修正されてもよい。inter_affine_flag[x0][y0]が、1に等しい場合、変数MvdCpL0[x0][y0][0][0]、MvdCpL0[x0][y0][0][1]、MvdCpL0[x0][y0][1][0]、MvdCpL0[x0][y0][1][1]、MvdCpL0[x0][y0][2][0]、およびMvdCpL0[x0][y0][2][1]が、例えば、以下、すなわち、
【化2】
のように、偏移するステップを介して修正されてもよい。
【表8】
【0040】
図3は、大域的運動ベクトル候補を運動ベクトル候補リストに追加することを含め、運動ベクトル候補リストを構築する、例示的プロセス300を図示する、プロセスフロー図である。ステップ305において、ビットストリームが、デコーダによって受信される。現在のブロックが、デコーダが受信するビットストリーム内に含有されてもよい。ビットストリームは、例えば、データ圧縮を使用するときのデコーダへの入力である、ビットのストリーム内に見出されるデータを含んでもよい。ビットストリームは、ビデオをデコードするために必要な情報を含んでもよい。受信するステップは、ビットストリームからブロックおよび関連付けられる信号伝達情報を抽出および/または解析するステップを含んでもよい。いくつかの実装では、現在のブロックは、コーディング木単位(CTU)、コーディング単位(CU)、または予測単位(PU)を含んでもよい。ステップ310において、運動ベクトル候補リストが、現在のブロックに関して構築され、構築するステップは、例えば、上記に説明されるように、大域的運動ベクトル候補を運動ベクトル候補リストに追加するステップを含む。ステップ315において、現在のブロックのピクセルデータが、運動ベクトル候補リストを使用して再構築される。
【0041】
図4は、少なくとも、大域的運動ベクトル候補を運動ベクトル候補リストに追加することを含め、運動ベクトル候補リストを構築することによってビットストリーム428をデコードすることが可能である、例示的デコーダ400を図示する、システムブロック図である。デコーダ400は、エントロピデコーダプロセッサ404、逆量子化および逆変換プロセッサ408、デブロッキングフィルタ412、フレームバッファ416、運動補償プロセッサ420、および/またはイントラ予測プロセッサ424を含んでもよい。
【0042】
動作時、依然として
図4を参照すると、ビットストリーム428が、デコーダ400によって受信され、エントロピデコーダプロセッサ404に入力されてもよく、これは、ビットストリームの一部を量子化された係数にエントロピデコードし得る。量子化された係数は、逆量子化および逆変換プロセッサ408に提供されてもよく、これは、逆量子化および逆変換を実施し、残差信号を生成してもよく、これは、処理モードに従って、運動補償プロセッサ420またはイントラ予測プロセッサ424の出力に追加されてもよい。運動補償プロセッサ420およびイントラ予測プロセッサ424の出力は、過去にデコードされたブロックに基づくブロック予測を含んでもよい。予測および残差の合計が、デブロッキングフィルタ412によって処理され、フレームバッファ416内に記憶されてもよい。
【0043】
図5は、エンコードするステップの複雑性を低減させながら、圧縮効率を向上させ得る、本主題のいくつかの側面に従って大域的運動ベクトル候補を運動ベクトル候補リストに追加することを含め、運動ベクトル候補リストを構築するステップを含む、ビデオをエンコードする、例示的プロセス500を図示する、プロセスフロー図である。ステップ505において、ビデオフレームが、例えば、ピクチャフレームをCTUおよびCUにパーティション化するステップを含み得る、木構造化マクロブロックパーティション化スキームを使用する、初期ブロックセグメント化を受けてもよい。ステップ510において、大域的運動が、決定される。ステップ515において、ブロックが、エンコードされ、ビットストリーム内に含まれてもよい。エンコーディングは、例えば、上記に説明されるように、大域的運動ベクトル候補を運動ベクトル候補リストに追加することを含め、運動ベクトル候補リストを構築するステップを含むことができる。エンコーディングは、インタ予測モードおよびイントラ予測モードを非限定的実施例として利用するステップを含んでもよい。
【0044】
図6は、大域的運動ベクトル候補を運動ベクトル候補リストに追加することを含め、運動ベクトル候補リストを構築することが可能である、ビデオエンコーダ600の例示的実施形態を図示する、システムブロック図である。例示的ビデオエンコーダ600は、入力ビデオ604を受信してもよく、これは、最初に、木構造化マクロブロックパーティション化スキーム(例えば、四分木+二分木)等の処理スキームに従って、セグメント化または分割されてもよい。木構造化マクロブロックパーティション化スキームの実施例は、ピクチャフレームをコーディング木単位(CTU)と呼ばれる大きいブロック要素にパーティション化するステップを含んでもよい。いくつかの実装では、各CTUは、コーディング単位(CU)と呼ばれる、いくつかのサブブロックに1回以上の回数だけさらにパーティション化されてもよい。本パーティション化の最終結果は、予測単位(PU)と呼ばれ得る、サブブロックの群を含んでもよい。変換単位(TU)もまた、利用されてもよい。
【0045】
依然として
図6を参照すると、例示的ビデオエンコーダ600は、イントラ予測プロセッサ608、大域的運動ベクトル候補を運動ベクトル候補リストに追加するステップを含め、運動ベクトル候補リストを構築することが可能である、インタ予測プロセッサとも称され得る、運動推定/補償プロセッサ612、変換/量子化プロセッサ616、逆量子化/逆変換プロセッサ620、ループ内フィルタ624、デコード済ピクチャバッファ628、および/またはエントロピコーディングプロセッサ632を含んでもよい。ビットストリームパラメータが、出力されたビットストリーム636内での包含のために、エントロピコーディングプロセッサ632に入力されてもよい。
【0046】
動作時、継続して
図6を参照すると、入力ビデオ604のフレームのブロック毎に、イントラピクチャ予測を介して、または運動推定/補償を使用して、ブロックを処理するかどうかが、決定されてもよい。ブロックは、イントラ予測プロセッサ608または運動推定/補償プロセッサ612に提供されてもよい。ブロックが、イントラ予測を介して処理されるべきである場合、イントラ予測プロセッサ608は、処理を実施し、予測因子を出力してもよい。ブロックが、運動推定/補償を介して処理されるべきである場合、運動推定/補償プロセッサ612は、適用可能である場合、大域的運動ベクトル候補を運動ベクトル候補リストに追加するステップを含め、運動ベクトル候補リストを構築するステップを含む、処理を実施してもよい。
【0047】
さらに
図6を参照すると、残差が、入力ビデオから予測因子を減算することによって形成されてもよい。残差は、変換/量子化プロセッサ616によって受信されてもよく、これは、変換処理(例えば、離散コサイン変換(DCT))を実施し、量子化され得る、係数を生産してもよい。量子化された係数および任意の関連付けられる信号伝達情報が、出力ビットストリーム636内でのエントロピエンコーディングおよび包含のために、エントロピコーディングプロセッサ632に提供されてもよい。エントロピエンコーディングプロセッサ632は、現在のブロックをエンコードするステップに関連する信号伝達情報のエンコーディングを支援してもよい。加えて、量子化された係数は、予測因子と組み合わせられ、ループ内フィルタ624によって処理され得るピクセルを再現し得る、逆量子化/逆変換プロセッサ620に提供されてもよく、その出力は、大域的運動ベクトル候補を運動ベクトル候補リストに追加するステップを含め、運動ベクトル候補リストを構築することが可能である、運動推定/補償プロセッサ612による使用のために、デコード済ピクチャバッファ628内に記憶されてもよい。
【0048】
継続して
図6を参照すると、いくつかの変形例が、上記で詳細に説明されているが、他の修正または追加も、可能性として考えられる。例えば、いくつかの実装では、現在のブロックは、任意の対称ブロック(8×8、16×16、32×32、64×64、128×128、および同等物)および任意の非対称ブロック(8×4、16×8、および同等物)を含んでもよい。
【0049】
いくつかの実装では、依然として
図6を参照すると、四分木+二分決定木(QTBT)が、実装されてもよい。QTBTでは、コーディング木単位レベルにおいて、QTBTのパーティションパラメータが、いかなるオーバーヘッドも伝送することなく、ローカル特性に適合するように動的に導出されてもよい。続いて、コーディング単位レベルにおいて、ジョイント分類子決定木構造が、不必要な反復を排除し、誤った予測のリスクを制御してもよい。いくつかの実装では、LTRフレームブロック更新モードが、QTBTの葉ノード毎の利用可能な付加的選択肢として、利用可能であってもよい。
【0050】
いくつかの実装では、依然として
図6を参照すると、付加的な構文要素が、ビットストリームの異なる階層レベルにおいて信号伝達されてもよい。例えば、フラグが、シーケンスパラメータセット(SPS)内にコーディングされるイネーブルにされたフラグを含むことによって、シーケンス全体にわたってイネーブルにされてもよい。さらに、CTUフラグが、コーディング木単位(CTU)レベルにおいてコーディングされてもよい。
【0051】
本明細書に説明される側面および実施形態のうちの任意の1つ以上のものが、コンピュータ技術分野の当業者に明白となるであろうように、本明細書の教示に従ってプログラムされる、1つ以上の機械(例えば、電子文書のためのユーザコンピューティングデバイス、文書サーバ等の1つ以上のサーバデバイス等として利用される、1つ以上のコンピューティングデバイス)内に実現および/または実装されるような、デジタル電子回路網、集積回路網、特別に設計された特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、コンピュータハードウェア、ファームウェア、ソフトウェア、および/またはそれらの組み合わせを使用して、便宜的に実装され得ることに留意されたい。これらの種々の側面または特徴は、データおよび命令を、ストレージシステム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスから受信し、データおよび命令をそれらに伝送するように結合される、特殊目的または汎用目的であり得る、少なくとも1つのプログラマブルプロセッサを含む、プログラマブルシステム上で実行可能および/または解釈可能である、1つ以上のコンピュータプログラムおよび/またはソフトウェア内での実装を含んでもよい。適切なソフトウェアコーディングが、ソフトウェア技術分野の当業者に明白となるであろうように、本開示の教示に基づいて、熟練したプログラマによって容易に調製され得る。ソフトウェアおよび/またはソフトウェアモジュールを採用する、上記に議論される側面および実装もまた、ソフトウェアおよび/またはソフトウェアモジュールの機械実行可能命令の実装を補助するために適切なハードウェアを含んでもよい。
【0052】
そのようなソフトウェアは、機械可読記憶媒体を採用する、コンピュータプログラム製品であってもよい。機械可読記憶媒体は、機械(例えば、コンピューティングデバイス)による実行のための命令のシーケンスを記憶および/またはエンコードすることが可能であり、機械に本明細書に説明される方法論および/または実施形態のいずれか1つを実施させる、任意の媒体であってもよい。機械可読記憶媒体の実施例は、限定ではないが、磁気ディスク、光ディスク(例えば、CD、CD-R、DVD、DVD-R等)、光磁気ディスク、読取専用メモリ「ROM」デバイス、ランダムアクセスメモリ「RAM」デバイス、磁気カード、光学カード、ソリッドステートメモリデバイス、EPROM、EEPROM、プログラマブル論理デバイス(PLD)、および/またはそれらの任意の組み合わせを含む。機械可読媒体は、本明細書で使用されるように、単一の媒体、および、例えば、コンピュータメモリとの組み合わせにおける、コンパクトディスクまたは1つ以上のハードディスクドライブの集合等の、物理的に別個の媒体の集合を含むことを意図する。本明細書で使用されるように、機械可読記憶媒体は、信号伝送の一過性形態を含まない。
【0053】
そのようなソフトウェアはまた、搬送波等のデータキャリア上のデータ信号として搬送される情報(例えば、データ)を含んでもよい。例えば、機械実行可能情報は、信号が、機械(例えば、コンピューティングデバイス)による実行のために命令のシーケンスまたはその一部をエンコードする、データキャリアの中に具現化されるデータ搬送信号、および機械に本明細書に説明される方法論および/または実施形態のいずれか1つを実施させる、任意の関連する情報(例えば、データ構造およびデータ)として含まれてもよい。
【0054】
コンピューティングデバイスの実施例は、限定ではないが、電子書籍読取デバイス、コンピュータワークステーション、端末コンピュータ、サーバコンピュータ、ハンドヘルドデバイス(例えば、タブレット型コンピュータ、スマートフォン等)、ウェブ装置、ネットワークルータ、ネットワークスイッチ、ネットワークブリッジ、その機械およびそれらの任意の組み合わせによってとられるべきアクションを規定する命令のシーケンスを実行することが可能である、任意の機械を含む。一実施例では、コンピューティングデバイスは、キオスクを含む、および/またはその中に含まれてもよい。
【0055】
図7は、制御システムに本開示の側面および/または方法論のうちのいずれか1つ以上のものを実施させるための命令のセットが実行され得る、コンピュータシステム700の例示的形態におけるコンピューティングデバイスの一実施形態の図式表現を示す。また、複数のコンピューティングデバイスが、本デバイスのうちの1つ以上のものに、本開示の側面および/または方法論のうちのいずれか1つ以上のものを実施させるための命令の特別に構成されるセットを実装するために利用され得ることも、想定される。コンピュータシステム700は、バス712を介して相互および他のコンポーネントと通信する、プロセッサ704と、メモリ708とを含む。バス712は、限定ではないが、種々のバスアーキテクチャのうちのいずれかを使用する、メモリバス、メモリコントローラ、周辺機器用バス、ローカルバス、およびそれらの任意の組み合わせを含む、いくつかのタイプのバス構造のうちのいずれかを含んでもよい。
【0056】
メモリ708は、限定ではないが、ランダムアクセスメモリコンポーネント、読取専用コンポーネント、およびそれらの任意の組み合わせを含む、種々のコンポーネント(例えば、機械可読媒体)を含んでもよい。一実施例では、始動の間等にコンピュータシステム700内の要素の間で情報を転送することに役立つ基本ルーチンを含む、基本入力/出力システム716(BIOS)が、メモリ708内に記憶されてもよい。メモリ708はまた、本開示の側面および/または方法論のうちのいずれか1つ以上のものを具現化する、命令(例えば、ソフトウェア)720を含んで(例えば、1つ以上の機械可読媒体上に記憶されて)もよい。別の実施例では、メモリ708はさらに、限定ではないが、オペレーティングシステム、1つ以上のアプリケーションプログラム、他のプログラムモジュール、プログラムデータ、およびそれらの任意の組み合わせを含む、任意の数のプログラムモジュールを含んでもよい。
【0057】
コンピュータシステム700はまた、記憶デバイス724を含んでもよい。記憶デバイス(例えば、記憶デバイス724)の実施例は、限定ではないが、ハードディスクドライブ、磁気ディスクドライブ、光学媒体との組み合わせにおける、光ディスクドライブ、ソリッドステートメモリデバイス、およびそれらの任意の組み合わせを含む。記憶デバイス724は、適切なインターフェース(図示せず)によってバス712に接続されてもよい。例示的インターフェースは、限定ではないが、SCSI、アドバンスト・テクノロジー・アタッチメント(ATA)、シリアルATA、ユニバーサルシリアルバス(USB)、IEEE 1394(FIREWIRE(登録商標))、およびそれらの任意の組み合わせを含む。一実施例では、記憶デバイス724(または1つ以上のそのコンポーネント)は、(例えば、外部ポートコネクタ(図示せず)を介して)コンピュータシステム700と除去可能にインターフェースをとられてもよい。特に、記憶デバイス724および関連付けられる機械可読媒体728は、コンピュータシステム700のための機械可読命令、データ構造、プログラムモジュール、および/または他のデータの不揮発性および/または揮発性記憶装置を提供してもよい。一実施例では、ソフトウェア720は、完全または部分的に、機械可読媒体728内に常駐してもよい。別の実施例では、ソフトウェア720は、完全または部分的に、プロセッサ704内に常駐してもよい。
【0058】
コンピュータシステム700はまた、入力デバイス732を含んでもよい。一実施例では、コンピュータシステム700のユーザが、入力デバイス732を介してコンピュータシステム700の中にコマンドおよび/または他の情報を打ち込んでもよい。入力デバイス732の実施例は、限定ではないが、英数字入力デバイス(例えば、キーボード)、ポインティングデバイス、ジョイスティック、ゲームパッド、オーディオ入力デバイス(例えば、マイクロホン、音声応答システム等)、カーソル制御デバイス(例えば、マウス)、タッチパッド、光学スキャナ、ビデオ捕捉デバイス(例えば、静止カメラ、ビデオカメラ)、タッチスクリーン、およびそれらの任意の組み合わせを含む。入力デバイス732は、限定ではないが、シリアルインターフェース、パラレルインターフェース、ゲームポート、USBインターフェース、FIREWIRE(登録商標)インターフェース、バス712への直接的インターフェース、およびそれらの任意の組み合わせを含む、種々のインターフェース(図示せず)のうちのいずれかを介して、バス712にインターフェースをとられてもよい。入力デバイス732は、さらに下記に議論される、ディスプレイ736の一部である、またはそれと別個であり得る、タッチスクリーンインターフェースを含んでもよい。入力デバイス732は、上記に説明されるようなグラフィカルインターフェース内で1つ以上のグラフィック表現を選択するための、ユーザ選択デバイスとして利用されてもよい。
【0059】
ユーザはまた、記憶デバイス724(例えば、リムーバブルディスクドライブ、フラッシュドライブ等)および/またはネットワークインターフェースデバイス740を介してコマンドおよび/または他の情報をコンピュータシステム700に入力してもよい。ネットワークインターフェースデバイス740等のネットワークインターフェースデバイスは、ネットワーク744等の種々のネットワークのうちの1つ以上のもの、およびそれに接続される1つ以上の遠隔デバイス748にコンピュータシステム700を接続するために利用されてもよい。ネットワークインターフェースデバイスの実施例は、限定ではないが、ネットワークインターフェースカード(例えば、モバイルネットワークインターフェースカード、LANカード)、モデム、およびそれらの任意の組み合わせを含む。ネットワークの実施例は、限定ではないが、広域ネットワーク(例えば、インターネット、企業ネットワーク)、ローカルエリアネットワーク(例えば、オフィル、ビル、キャンパス、または他の比較的に小さい地理的空間と関連付けられるネットワーク)、電話ネットワーク、電話/音声プロバイダと関連付けられるデータネットワーク(例えば、モバイル通信プロバイダのデータおよび/または音声ネットワーク)、2つのコンピューティングデバイス間の直接的接続、およびそれらの任意の組み合わせを含む。ネットワーク744等のネットワークは、通信の有線モードおよび/または無線のモードを採用してもよい。一般に、いかなるネットワークトポロジも、使用され得る。情報(例えば、データ、ソフトウェア720等)が、ネットワークインターフェースデバイス740を介してコンピュータシステム700に、および/またはそれから通信されてもよい。
【0060】
コンピュータシステム700はさらに、ディスプレイデバイス736等のディスプレイデバイスに表示可能な画像を通信するための、ビデオディスプレイアダプタ752を含んでもよい。ディスプレイデバイスの実施例は、限定ではないが、液晶ディスプレイ(LCD)、陰極線管(CRT)、プラズマディスプレイ、発光ダイオード(LED)ディスプレイ、およびそれらの任意の組み合わせを含む。ディスプレイアダプタ752およびディスプレイデバイス736は、プロセッサ704との組み合わせにおいて利用され、本開示の側面のグラフィック表現を提供してもよい。ディスプレイデバイスに加えて、コンピュータシステム700は、限定ではないが、オーディオスピーカ、プリンタ、およびそれらの任意の組み合わせを含む、1つ以上の他の周辺出力デバイスを含んでもよい。そのような周辺出力デバイスは、周辺インターフェース756を介してバス712に接続されてもよい。周辺インターフェースの実施例は、限定ではないが、シリアルポート、USB接続、FIREWIRE(登録商標)接続、パラレル接続、およびそれらの任意の組み合わせを含む。
【0061】
前述は、本発明の例証的実施形態の詳細な説明である。種々の修正および追加が、本発明の精神および範囲から逸脱することなく成され得る。上記に説明される種々の実施形態のそれぞれの特徴が、関連付けられる新しい実施形態における複数の特徴の組み合わせを提供するために、適宜、他の説明される実施形態の特徴と組み合わせられ得る。さらに、前述は、いくつかの別個の実施形態を説明するが、本明細書に説明されているものは、本発明の原理の適用を例証するにすぎない。加えて、本明細書における特定の方法は、具体的な順序で実施されているものとして例証および/または説明され得るが、順序は、本明細書に開示されるような実施形態を達成するために、当業者間で非常に変動し易い。故に、本説明は、実施例のみとして捉えられることを意図し、別様に本発明の範囲を限定するようには意図していない。
【0062】
上記の説明において、および請求項において、「~のうちの少なくとも1つ」または「~のうちの1つ以上のもの」等の語句が、生じ、要素または特徴の接続的列挙が後に続き得る。用語「および/または」もまた、2つ以上の要素または特徴の列挙内に生じ得る。そのような語句が使用される文脈によって別様に暗示的または明示的に反論されない限り、これは、個々に列挙される要素または特徴のいずれか、または他の引用される要素または特徴のいずれかとの組み合わせにおいて引用される要素または特徴のいずれかを意味することを意図している。例えば、語句「AおよびBのうちの少なくとも一方」、「AおよびBのうちの1つ以上のもの」、および「Aおよび/またはB」は、それぞれ、「Aを単独で、Bを単独で、またはAおよびBをともに」を意味することを意図している。類似の解釈がまた、3つ以上のアイテムを含む列挙に関しても意図される。例えば、語句「A、B、およびCのうちの少なくとも1つ」、「A、B、およびCのうちの1つ以上のもの」、および「A、B、および/またはC」はそれぞれ、「Aを単独で、Bを単独で、Cを単独で、AおよびBをともに、AおよびCをともに、BおよびCをともに、またはAおよびBおよびCをともに」を意味することを意図する。加えて、上記における、および請求項内での用語「~に基づいて」の使用は、引用されていない特徴または要素もまた、許容可能であるように、「少なくとも、~に基づいて」を意味することを意図する。
【0063】
本明細書に説明される主題は、所望の構成に応じて、システム、装置、方法、および/または物品において具現化されることができる。前述の説明に記載される実装は、本明細書に説明される主題に一貫した全実装を表すわけではない。代わりに、それらは、説明される主題に関連する側面に一貫するいくつかの実施例にすぎない。いくつかの変形例が、上記で詳細に説明されているが、他の修正または追加も、可能性として考えられる。特に、さらなる特徴および/または変形例が、本明細書に記載されるものに加えて、提供されることができる。例えば、上記で説明される実装は、開示される特徴の種々の組み合わせおよび副次的組み合わせおよび/または上記に開示される、いくつかのさらなる特徴の組み合わせおよび副次的組み合わせを対象とすることができる。加えて、付随の図に描写される、および/または本明細書に説明される論理フローは、望ましい結果を達成するために、必ずしも、示される特定の順序または順次順序を要求しない。他の実装も、以下の請求項の範囲内にあり得る。
【国際調査報告】