(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022125267
(43)【公開日】2022-08-26
(54)【発明の名称】DMVRのためのブロックサイズ制限
(51)【国際特許分類】
H04N 19/513 20140101AFI20220819BHJP
【FI】
H04N19/513
【審査請求】有
【請求項の数】15
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2022109489
(22)【出願日】2022-07-07
(62)【分割の表示】P 2020571582の分割
【原出願日】2019-07-02
(31)【優先権主張番号】62/693,412
(32)【優先日】2018-07-02
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】520476341
【氏名又は名称】北京字節跳動網絡技術有限公司
【氏名又は名称原語表記】Beijing Bytedance Network Technology Co., Ltd.
【住所又は居所原語表記】Room B-0035, 2/F, No.3 Building, No.30, Shixing Road, Shijingshan District Beijing 100041 China
(71)【出願人】
【識別番号】520477474
【氏名又は名称】バイトダンス インコーポレイテッド
【氏名又は名称原語表記】BYTEDANCE INC.
【住所又は居所原語表記】12655 West Jefferson Boulevard, Sixth Floor, Suite No. 137 Los Angeles, California 90066 United States of America
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】リュウ,ホンビン
(72)【発明者】
【氏名】ザン,リー
(72)【発明者】
【氏名】ザン,カイ
(72)【発明者】
【氏名】ワン,ユエ
(57)【要約】
【課題】デコーダ側動きベクトル精緻化(DMVR)ビデオデコーダ及び/又はエンコーダを有効及び無効にする方法が記載される。
【解決手段】方法の一例は、ビデオブロックの幅(W)及び高さ(H)を決定することと、ビデオブロックの条件に基づいて、ビデオブロックとビデオブロックのコーディングされた表現との間の変換のためのデコーダ側動きベクトル精緻化ステップの有効化及び無効化の間の決定を行うことと、決定が有効化である場合に、デコーダ側動きベクトル精緻化ステップを有効にすることによって変換を実行することと、決定が無効化である場合に、デコーダ側動きベクトル精緻化ステップを無効にすることによって変換を実行することとを含み、デコーダ側動きベクトル精緻化ステップは、コーディングされた表現において伝えられる動きベクトルの値を精緻化し、精緻化された値を変換中に使用することを含む。
【選択図】
図3
【特許請求の範囲】
【請求項1】
ビデオ処理の方法であって、
ビデオブロックの幅及び高さの少なくとも1つに基づき、前記ビデオブロックと該ビデオブロックのビットストリームとの間の変換のためのデコーダ側動きベクトル精緻化ステップの有効化及び無効化の間の決定を行うことと、
前記決定が有効化である場合に、前記デコーダ側動きベクトル精緻化ステップを有効にすることによって前記変換を実行することと、
前記決定が無効化である場合に、前記デコーダ側動きベクトル精緻化ステップを無効にすることによって前記変換を実行することと
を有し、
前記デコーダ側動きベクトル精緻化ステップは、前記ビットストリームにおいて伝えられる動きベクトルの値を精緻化し、該精緻化された値を前記変換中に使用することを含む、
方法。
【請求項2】
前記変換は、前記ビデオブロックのピクセル値へと前記ビットストリームを復号することを含む、
請求項1に記載の方法。
【請求項3】
前記変換は、前記ビットストリームへと前記ビデオブロックのピクセル値を符号化することを含む、
請求項1に記載の方法。
【請求項4】
W及びHが、夫々、前記ビデオブロックの幅及び高さであるとして、前記デコーダ側動きベクトル精緻化ステップは、W≦T1又はH≦T2の場合に無効化されると決定され、T1及びT2は、1以上の整数値である、
請求項1に記載の方法。
【請求項5】
W及びHが、夫々、前記ビデオブロックの幅及び高さであるとして、前記デコーダ側動きベクトル精緻化ステップは、W≦T1かつH≦T2の場合に無効化されると決定され、T1及びT2は、1以上の整数値である、
請求項1に記載の方法。
【請求項6】
T1は4に等しく、T2は4に等しい、
請求項4に記載の方法。
【請求項7】
W及びHが、夫々、前記ビデオブロックの幅及び高さであるとして、前記デコーダ側動きベクトル精緻化ステップは、W×H≦T0の場合に無効化されると決定され、T0は、1以上の整数値である、
請求項1に記載の方法。
【請求項8】
W及びHが、夫々、前記ビデオブロックの幅及び高さであるとして、前記デコーダ側動きベクトル精緻化ステップは、W=4かつH=4の場合に無効化されると決定される、
請求項1に記載の方法。
【請求項9】
W及びHが、夫々、前記ビデオブロックの幅及び高さであるとして、前記デコーダ側動きベクトル精緻化ステップは、W=4又はH=4の場合に無効化されると決定される、
請求項1に記載の方法。
【請求項10】
W及びHが、夫々、前記ビデオブロックの幅及び高さであるとして、前記デコーダ側動きベクトル精緻化ステップは、W/Hが閾値よりも小さくかつW/Hが他の閾値よりも大きい場合に無効化されると決定される、
請求項1に記載の方法。
【請求項11】
W及びHが、夫々、前記ビデオブロックの幅及び高さであるとして、前記デコーダ側動きベクトル精緻化ステップは、W/Hが閾値よりも小さいか又はW/Hが他の閾値よりも大きい場合に無効化されると決定される、
請求項1に記載の方法。
【請求項12】
前記閾値及び前記他の閾値は、固定値を有する、
請求項11に記載の方法。
【請求項13】
プロセッサと、命令を有する非一時的なメモリとを有するビデオデータコーディング装置であって、
前記命令は、前記プロセッサによって実行されるときに、該プロセッサに、
ビデオブロックの幅及び高さの少なくとも1つに基づいて、前記ビデオブロックと該ビデオブロックのビットストリームとの間の変換のためのデコーダ側動きベクトル精緻化ステップの有効化及び無効化の間の決定を行うことと、
前記決定が有効化である場合に、前記デコーダ側動きベクトル精緻化ステップを有効にすることによって前記変換を実行することと、
前記決定が無効化である場合に、前記デコーダ側動きベクトル精緻化ステップを無効にすることによって前記変換を実行することと
を実行させ、
前記デコーダ側動きベクトル精緻化ステップは、前記ビットストリームにおいて伝えられる動きベクトルの値を精緻化し、該精緻化された値を前記変換中に使用することを含む、
ビデオデータコーディング装置。
【請求項14】
プロセッサに、
ビデオブロックの幅及び高さの少なくとも1つに基づいて、前記ビデオブロックと該ビデオブロックのビットストリームとの間の変換のためのデコーダ側動きベクトル精緻化ステップの有効化及び無効化の間の決定を行うことと、
前記決定が有効化である場合に、前記デコーダ側動きベクトル精緻化ステップを有効にすることによって前記変換を実行することと、
前記決定が無効化である場合に、前記デコーダ側動きベクトル精緻化ステップを無効にすることによって前記変換を実行することと
を実行させ、
前記デコーダ側動きベクトル精緻化ステップは、前記ビットストリームにおいて伝えられる動きベクトルの値を精緻化し、該精緻化された値を前記変換中に使用することを含む、
命令を記憶している非一時的なコンピュータ可読記憶媒体。
【請求項15】
ビデオ処理装置により、
ビデオブロックの幅及び高さの少なくとも1つに基づいて、前記ビデオブロックと該ビデオブロックのビットストリームとの間の変換のためのデコーダ側動きベクトル精緻化ステップの有効化及び無効化の間の決定を行うことと、
前記決定が有効化である場合に、前記デコーダ側動きベクトル精緻化ステップを有効にすることによって前記変換を実行することと、
前記決定が無効化である場合に、前記デコーダ側動きベクトル精緻化ステップを無効にすることによって前記変換を実行することと
を有し、
前記デコーダ側動きベクトル精緻化ステップは、前記ビットストリームにおいて伝えられる動きベクトルの値を精緻化し、該精緻化された値を前記変換中に使用することを含む、
方法によって生成されるビットストリーム表現を記憶している非一時的なコンピュータ可読記録媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書は、ビデオコーディング技術に関係がある。
【背景技術】
【0002】
ビデオ圧縮の進歩にかかわらず、デジタルビデオは、インターネット及び他のデジタル通信ネットワーク上での最大の帯域幅使用を依然として占めている。ビデオを受信及び表示することが可能なコネクテッドユーザデバイスの数が増えるにつれて、デジタルビデオ利用のための帯域幅需要は成長し続けることが予期される。
【発明の概要】
【0003】
ビデオコーディングにおけるデコーダ側動きベクトル導出(decoder side motion vector derivation;DMVD)に関する技術が開示される。それは、HEVCのような既存のビデオコーディング規格、又は最終承認されるべき規格(Versatile Video Coding)に適用されてよい。また、それは、将来のビデオコーディング規格又はビデオコーデックに適用可能であり得る。
【0004】
一例となる態様では、ビデオ処理の方法が開示される。方法は、ビデオブロックサイズ幅(W)及び高さ(H)を決定することと、ビデオブロックの条件に基づいて、ビデオブロックとビデオブロックのコーディングされた表現との間の変換のためのデコーダ側動きベクトル精緻化ステップの有効化及び無効化の間の決定を行うことと、決定が有効化である場合に、デコーダ側動きベクトル精緻化ステップを有効にすることによって変換を実行することと、決定が無効化である場合に、デコーダ側動きベクトル精緻化ステップを無効にすることによって変換を実行することとを含み、デコーダ側動きベクトル精緻化ステップは、コーディングされた表現において伝えられる動きベクトルの値を精緻化し、精緻化された値を変換中に使用することを含む。
【0005】
他の例となる態様では、上記の方法を実施するよう構成されるプロセッサを有するビデオ復号化装置が開示される。
【0006】
更なる他の例となる態様では、上記の方法を実施するよう構成されるプロセッサを有するビデオ符号化装置が開示される。
【0007】
更なる他の例となる態様では、コンピュータ可読媒体が開示される。媒体は、プロセッサによる実行時に、プロセッサに、上記の方法を実施させるコードを記憶している。
【0008】
これら及び他の態様は、本明細書で更に記載される。
【図面の簡単な説明】
【0009】
【
図1】両方向テンプレートマッチングに基づくデコーダ側動きベクトル精緻化(decoder-side motion vector refinement;DMVR)の例を示す。
【
図2】いくつかの例となる実施形態に従って、例となる方法についてのフローチャートである。
【
図3】ビデオ復号化及び/又は符号化装置のブロック図の例である。
【発明を実施するための形態】
【0010】
本明細書は、圧縮解除又は復号されたデジタルビデオの品質を改善するためにビデオビットストリームのデコーダによって使用され得る様々な技術を提供する。更に、ビデオエンコーダも、更なる符号化のために使用される復号されたフレームを再構成するために、符号化のプロセス中にそれらの技術を実施してよい。
【0011】
理解を容易にするために、セクション見出しが本明細書では使用されるが、実施形態及び技術を対応するセクションに制限するものではない。そのようなものとして、1つのセクションからの実施形態は、他のセクションからの実施形態と組み合わされ得る。
【0012】
[テクニカルフレームワーク]
ビデオコーディング規格は、主に、よく知られているITU-T及びISO/IEC規格の開発を通じて、進歩してきた。ITU-Tは、H.261及びH.263を実現し、ISO/IECは、MPEG-1及びMPEG-4ビジュアルを実現し、2つの組織は、協同して、H.262/MPEG-2ビデオ及びH.264/MPEG-4アドバンスド・ビデオ・コーディング(AVC)及びH.265/HEVC規格を実現した。H.262以来、ビデオコーディング規格は、時間予測及び変換コーディングが利用される複合的なビデオコーディング構造に基づいている。HEVCを越える将来のビデオコーディング技術を探るために、JVET(Joint Video Exploration Team)が2015年にVCEG及びMPEGによって共同設立された。それ以来、多くの新しい方法がJVETによって導入され、JEM(Joint Exploration Model)と名付けられた参照ソフトウェアに置かれてきた。2018年4月に、VCEG(Q6/16)とISO/IEC JTC1 SC29/WG11(MPEG)との間のJVET(Joint Video Expert Team)が、HEVCと比較してビットレート50%減を目指すVVC規格に取り組むために作られた。
【0013】
[HEVC/H.265におけるインター予測]
各インター予測された予測ユニット(prediction unit;PU)は、1つ又は2つの参照ピクチャリストのための動きパラメータを有する。動きパラメータは、動きベクトル及び参照ピクチャインデックスを含む。2つの参照ピクチャリストの一方の利用はまた、inter_pred_idcを用いて信号伝送されてもよい。動きベクトルは、予測子に対する差分として明示的にコーディングされてよい。
【0014】
コーディングユニット(coding unit)がスキップモードによりコーディングされるとき、1つのPUがCUと関連付けられ、有意な残差係数、コーディングされた動きベクトル差分又は参照ピクチャインデックスは存在しない。マージモードが指定され、これによって、現在のPUの動きパラメータは、空間的及び時間的候補を含め、隣接するPUから得られる。マージモードは、スキップモードのためだけでなく、如何なるインター予測されたPUにも適用され得る。マージモードの代案は、動きパラメータの明示的な伝送であり、動きベクトル(より正確に言えば、動きベクトル予測子と比較した動きベクトル差)、各参照ピクチャリストの対応する参照ピクチャインデックス、及び参照ピクチャリスト利用が、各PUにつき明示的に信号伝送される。そのようなモードは、本明細書で先進的動きベクトル予測(advanced motion vector prediction;AMVP)と呼ばれる。
【0015】
シグナリングにより2つの参照ピクチャリストの一方が使用されるべきであることが示されると、PUはサンプルの1つのブロックから生成される。これは、「単予測」(uni-prediction)と呼ばれる。単予測は、Pスライス及びBスライスの両方に利用可能である。
【0016】
シグナリングにより参照ピクチャリストの両方が使用されるべきであることが示されると。PUはサンプルの2つのブロックから生成される。これは、「双予測」(bi-prediction)と呼ばれる。双予測は、Bスライスにのみ利用可能である。
【0017】
両方向(bilateral)マッチングマージモードでは、CUの動き情報が、2つの異なる参照ピクチャにおける現在のCUの動き軌跡沿いにある2つのブロック間の最も近い一致に基づいて導出されるので、双予測は常に適用される。テンプレートマッチングマージモードにはそのような制限はない。テンプレートマッチングマージモードでは、エンコーダは、リスト0からの単予測、リスト1からの単予測、又は双予測の中からCUのために選択することができる。選択は、次のように、テンプレートマッチングコストに基づく:
costBi≦factor×min(cost0,cost1)の場合には、双予測が使用される;
あるいは、cost0≦cost1の場合には、リスト0からの単予測が使用される;
上記以外の場合には、リスト1からの双予測が使用される。
ここで、cost0は、リスト0テンプレートマッチングのSADであり、cost1は、リスト1テンプレートマッチングのSADであり、costBiは、双予測テンプレートマッチングのSADである。factorの値は1.25に等しく、これは、選択プロセスが双予測の方に偏っていることを意味する。
【0018】
インター予測方向選択は、CUレベルテンプレートマッピングプロセスにのみ適用される。
【0019】
[デコーダ側動きベクトル精緻化]
双予測動作において、1つのブロック領域の予測のために、リスト0の動きベクトル(motion vector,MV)及びリスト1のMVを用いて夫々形成された2つの予測ブロックが、単一の予測信号を形成するよう結合される。デコーダ側動きベクトル精緻化(DMVR)方法において、双予測の2つの動きベクトルは、両方向テンプレートマッチングプロセスによって更に精緻化される。両方向テンプレートマッチングは、精緻化されたMVを追加の動き情報の伝送なしで得るために、両方向テンプレートと参照ピクチャ内の再構成サンプルとの間で歪みベースの探索を実行するようデコーダで適用される。
【0020】
DMVRで、両方向テンプレートは、
図1に示されるように、夫々リスト0の初期MV0及びリスト1のMV1からの2つの予測ブロックの加重結合(すなわち、平均)として生成される。テンプレートマッピング動作は、生成されたテンプレートと参照ピクチャ内の(最初の予測ブロックの周りの)サンプル領域との間のコスト指標を計算することから成る。2つの参照ピクチャの夫々について、最小テンプレートコストをもたらすMVは、元のMVを置換するようそのリストの更新されたMVと見なされる。JEMでは、9つのMV候補がリストごとに探される。9つのMV候補は、元のMVと、水平若しくは垂直方向、又はその両方で元のMVに対して1輝度(luma)サンプルだけオフセットされた8つの周囲MVとを含む。最後に、2つの新しいMV、すなわち、
図1に示されるMV0´及びMV1´が、最終の双予測結果を生成するために使用される。SAD(sum of absolute differences)はコスト指標として使用される。1つの周囲MVによって生成される予測ブロックのコストを計算する場合に、実際のMVの代わりに予測ブロックを得るために、(整数画素(integer pel)へと)丸められたMVが実際には使用されることに留意されたい。
【0021】
DMVRは、追加のシンタックス要素の伝送なしで、過去の参照ピクチャからの1つのMV及び未来の参照ピクチャからのもう1つのMVによる双予測のマージモードのために適用される。JEMでは、LIC、アフィン動き、FRUC、又はサブCUマージ候補がCUのために有効にされる場合に、DMVRは適用されない。
【0022】
いくつかの例となる実施形態において、
図1に示されるように、第1ステップで、初期MV0及びMV1によって参照される予測ブロックから両方向テンプレートを生成し、第2ステップで、更新されたMV0´及びMV1´によって参照される最も良く一致したブロックを見つけるよう両方向テンプレートマッチングを実行する。
【0023】
開示されている技術及びデバイスは、DMVC方法の複雑さを低減しかつコーディング性能を改善する。
【0024】
1つの態様で、テンプレートと候補ブロックとの間のコスト(例えば、差、歪み、又は歪み及びMVの両方を考慮するコスト)は、デコーダ側動き推定において、すなわち、動き情報導出又は精緻化プロシージャにおいて、部分的なピクセルについてのみ計算される。他の態様で、DMVRのために、補間時間が低減される。他の態様で、開示される技術を使用するいくつかの実施形態は、DMVRをAMVPモードに適用する。他の態様で、MV差の重み係数は、異なるブロックサイズごとに異なることができる。
【0025】
以下で列挙される例は、開示される技術がビデオ符号化又は復号化プロセス内に具現され得るいくつかの方法を提供する。動きベクトル精度をprecとし、precがNに等しい場合に、それは、動きベクトルが1/2N画素精度を有していることを意味する。Nは正の整数、ゼロ、又は負の整数であることができる。
【0026】
DMVR方法は、特定の条件に従って有効/無効にされてよい。
【0027】
1つの態様で、DMVRの有効化又は無効化は、ブロックサイズ及び/又はブロック形状に依存してよい。ブロックサイズは、W×Hによって表されてよく、Wはブロックの幅であり、Hは高さである。次の規則が適用される:
a.例において、DMVRは、ブロックサイズが4×4に等しい場合に常に無効にされ得る。
b.他の例で、DMVRは、ブロックサイズがW×4又は4×Hに等しい場合に常に無効にされ得る。Hは、1以上の整数値である。
c.他の例で、DMVRは、W≦T1又はH≦T2であるブロックW×Hについて、常に無効にされ得る。W、H、T1及びT2は、1以上の整数値である。
d.他の例で、DMVRは、W≦T1及びH≦T2であるブロックW×Hについて、常に無効にされ得る。W、H、T1及びT2は、1以上の整数値である。
e.他の例で、DMVRは、W×H≦T0であるブロックW×Hについて、常に無効にされ得る。W、H、及びT0は、1以上の整数値である。
f.他の例で、DMVRは、W/Hが閾値よりも小さくかつ/あるいはW/Hが閾値よりも大きい場合に常に無効にされ得る。閾値は、信号により伝えられるか又は予め定義されてよい(例えば、1に等しい)。W及びHは整数値であり、閾値は分数として表現され得る。
【0028】
図2は、ビデオ処理の例となる方法200についてのフローチャートである。方法200は、例えば、デコーダ側動きベクトル精緻化(DMVR)ビデオデコーダ又はエンコーダを無効又は有効にするために、使用されてよい。方法200は、ビデオブロックサイズ幅(W)及び高さ(H)を決定し、条件が満足される場合にDMVRビデオデコーダを無効にし、条件が満足されない場合にDMVRビデオデコーダを有効にすると決定すること(202)と、決定に基づいて、データブロックへのビットストリームの復号化を実行することとを含む。例えば、方法200は、204で、ビデオブロックとビデオブロックのコーディングされた表現との間の変換中にDMVRステップを有効にするか又は無効にするかを決定することを含んでよい。その決定の後、206で、ビデオブロックとコーディングされた表現との間の変換は実行される。変換は、決定がDMVRを有効にすることであって、その場合に、変換がDMVRを有効にすることによって実行される第1モードと、決定がDMVRを無効にすることであって、その場合に、変換がDMVRを無効にすることによって実行される第2モードとの間の1つのモードを用いて実行される。変換は、例えば、コーディングされた表現、例えば、ビットストリームが生成される符号化又はトランスコーディング動作を指す。代替的に、変換は、コーディングされた表現からのビデオブロックのサンプル値の生成をもたらし得る。条件が満足される上記の方法の様々な可能な実施形態及び変形は、次の規則のうちの1つによる。
【0029】
条件は、W=4及びH=4を有するブロックサイズにより満足される。
【0030】
条件は、H=4又はW=4を有するブロックサイズにより満足される。
【0031】
条件は、W≦T1又はH≦T2を有するブロックサイズにより満足される。
【0032】
条件は、W≦T1及びH≦T2を有するブロックサイズにより満足される。
【0033】
条件は、W×H≦T0を有するブロックサイズにより満足される。
【0034】
条件は、W/Hが第1閾値よりも小さくかつW/Hが第2閾値よりも大きいブロックサイズにより満足される。
【0035】
条件は、W/Hが閾値よりも小さく、あるいは、W/Hが他の閾値よりも大きいブロックサイズにより、満足される。
【0036】
上記において、閾値T0、T1及びT2は、変換プロセスとは無関係である固定値であってよい。例えば、T1及びT2は、4又は8であってよく、前もって指定され、エンコーダ及びデコーダに知られ得る。
【0037】
以上の説明において、使用されている様々な閾値は、現在のブロックのアスペクト比を表してよい。例えば、閾値は、幅広のブロック(W>H)がDMVRを使用し、一方、縦長のブロック(W≦H)がDMVRの使用を無効にし得るように、1にセットされてよい。動きはしばしば、水平方向でより正確に知覚される傾向があるので、そのような配置は、そうでない場合よりもコーディングされた表現の視覚的品質がより高くなるようにし得る。
【0038】
第1閾値及び第2閾値は、メッセージを介して受け取られる。このメッセージは、コーディングされた表現内のシンタックス要素に含まれてよい。シンタックス要素は、ピクチャ又はスライス又はコーディングユニットレベルで閾値を変更することを可能にするよう、スライスごと又はピクチャごとに挿入されてよい。
【0039】
いくつかの実施形態で、復号化条件は、低精度動きベクトルの選択を含み、候補ブロックの組を生成することは、低精度動きベクトルを用いて候補ブロックの組を生成することを含む。いくつかの実施形態で、復号化条件が、現在のブロックがマージモードにあることであるとき、動きベクトルは、現在のブロックによって引き継がれる。様々なモードで、精度は、ステップサイズ又はスケール係数を用いて精緻化することによって改善され得る。例えば、ステップサイズは1であってよい。他の例として、スケール係数は2であってよく、精度は、4ピクセルから2ピクセル解像度へ、そして1ピクセル解像度へ、などと改善され得る。
【0040】
図3は、目下開示されている技術の様々な部分を実装するために利用され得るハードウェアデバイス300の例となる実施形態のブロック図を示す。ハードウェアデバイス300は、ビデオ処理機能を備えているラップトップ、スマートフォン、タブレット、カムコーダ、又は他のタイプのデバイスであることができる。デバイス300は、データを処理するプロセッサ又はコントローラ302と、プロセッサ302と通信し、データを記憶及び/又はバッファリングするメモリ304とを含む。例えば、プロセッサ302は、中央演算処理装置(CPU)又はマイクロコントローラユニット(MCU)を含むことができる。いくつかの実施で、プロセッサ302は、フィールド・プログラマブル・ゲート・アレイ(FPGA)を含むことができる。いくつかの実施で、デバイス300は、スマートフォンの様々な視覚及び/又は通信データ処理機能のためのグラフィクス処理ユニット(GPU)、ビデオ処理ユニット(VPU)及び/又は無線通信ユニットを含むか、あるいは、それらと通信する。例えば、メモリ304は、プロセッサ302によって実行される場合に、例えば、情報、コマンド、及び/又はデータを受信すること、情報及びデータを処理すること、並びに処理された情報/データを他のデバイス、例えば、アクチュエータ若しくは外部ディスプレイへ送信若しくは供給することといった様々な動作を実行するようデバイス300を構成するプロセッサ実行可能コードを含み記憶することができる。デバイス300の様々な機能をサポートするよう、メモリ304は、プロセッサ302によって処理又は参照される命令、ソフトウェア、値、画像、及び他のデータといった情報及びデータを記憶することができる。例えば、様々なタイプのランダムアクセスメモリ(RAM)デバイス、リードオンリーメモリ(ROM)デバイス、フラッシュメモリデバイス、及び他の適切な記憶媒体が、メモリ304の記憶機能を実装するために使用され得る。デバイス300は、変換及び復号化といった反復計算機能を実行するための専用のビデオ処理回路306を更に含んでもよい。
【0041】
本明細書で記載される技術は、
図3に関して記載されるようなハードウェアプラットフォームを用いて、ビデオエンコーダ又はビデオデコーダによって実装されてよい。
【0042】
上記から、目下開示されている技術の具体的な実施形態は例示のために本明細書で記載されてきたが、様々な変更が発明の範囲を逸脱せずに行われてよい、と理解されるだろう。従って、目下開示されている技術は、添付の特許請求の範囲によることを除いて、制限されない。
【0043】
本明細書で記載される開示されている及び他の実施形態、モジュール、及び機能動作は、デジタル電子回路で、又は本明細書で開示されている構造及びそれらの構造上の同等物を含むコンピュータソフトウェア、ファームウェア、若しくはハードウェアで、又はそれらのうちの1つ以上の組み合わせで実装され得る。開示されている及び他の実施形態は、1つ以上のコンピュータプログラム製品、すなわち、データ処理装置による実行のために又はデータ処理装置の動作を制御するためにコンピュータ可読媒体上で符号化されているコンピュータプログラム命令の1つ以上のモジュールとして、実装され得る。コンピュータ可読媒体は、マシン読み出し可能な記憶デバイス、マシン読み出し可能な記憶担体、メモリデバイス、マシン読み出し可能な伝搬信号をもたらす組成物、又はそれらのうちの1つ以上の組み合わせであることができる。「データ処理装置」との語は、一例としてプログラム可能なプロセッサ、コンピュータ、又は複数のプロセッサ若しくはコンピュータを含め、データを処理するための全ての装置、デバイス、及びマシンを包含する。装置は、ハードウェアに加えて、問題となっているコンピュータプログラムのための実行環境を作り出すコード、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、又はそれらのうちの1つ以上の組み合わせを構成するコードを含むことができる。伝搬信号は、人工的に生成された信号、例えば、適切な受信側装置への伝送のために情報を符号化するよう生成されるマシン生成された電気、光、又は電磁気信号である。
【0044】
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、又はコードとしても知られる)は、コンパイル済み又は解釈済み言語を含む如何なる形態のプログラミング言語でも記述されてよく、それは、コンピューティング環境での使用に適したスタンドアローンプログラム又はモジュール、コンポーネント、サブルーチン、若しくは他のユニットとしてを含め、如何なる形態でもデプロイされてよい。コンピュータプログラムは、必ずしもファイルシステム内のファイルに対応しない。プログラムは、問題となっているプログラムに専用の単一のファイルで、又は複数の協調ファイル(例えば、1つ以上のモジュール、サブプログラム、若しくはコードの部分を格納するファイル)で、他のプログラム又はデータ(例えば、マークアップ言語文書で格納されている1つ以上のスクリプト)を保持するファイルの部分において記憶され得る。コンピュータプログラムは、1つの場所に位置するか又は複数の場所にわたって分布しており、通信ネットワークによって相互接続される1つのコンピュータ又は複数のコンピュータで実行されようデプロイされ得る。
【0045】
本明細書で記載されるプロセス及び論理フローは、入力データに作用して出力を生成することによって機能を実行するよう1つ以上のコンピュータプログラムを実行する1つ以上のプログラム可能なプロセッサによって実行され得る。プロセス及び論理フローはまた、特別目的の論理回路、例えば、FPGA(field programmable gate array)又はASIC(application specific integrated circuit)によって実行されるか、あるいは、装置はまた、そのようなものとして実装され得る。
【0046】
コンピュータプログラムの実行に適したプロセッサは、一例として、汎用及び特別目的のマイクロプロセッサの両方、並びにあらゆる種類のデジタルコンピュータの任意の1つ以上のプロセッサを含む。一般に、プロセッサは、リードオンリーメモリ若しくはランダムアクセスメモリ又は両方から命令及びデータを受け取る。コンピュータの必須の要素は、命令を実行するプロセッサと、命令及びデータを記憶する1つ以上のメモリデバイスとである。一般に、コンピュータはまた、データを記憶する1つ以上の大容量記憶デバイスを含んでも、あるいは、データを記憶する1つ以上の大容量記憶デバイス、例えば、磁気ディスク、光学磁気ディスク、または光ディスクからデータを受信し若しくはそれへデータを転送し、又はそれとの間でデータを受信及び転送の両方を行うよう動作上結合されてもよい。なお、コンピュータは、そのようなデバイスを有する必要はない。コンピュータプログラム命令及びデータを記憶することに適したコンピュータ可読媒体は、一例として、半導体メモリデバイス、例えば、EPROM、EEPROM、及びフラッシュメモリデバイス;磁気ディスク、例えば、内蔵ハードディスク又はリムーバブルディスク;光学磁気ディスク;並びにCD-ROM及びDVD-ROMディスクを含む全ての形態の不揮発性メモリ、媒体、及びメモリデバイスを含む。プロセッサ及びメモリは、特別目的の論理回路によって補完されるか、あるいは、それに組み込まれ得る。
【0047】
本特許文献は多数の詳細を含むが、それらは、任意の発明の又は請求され得るものの範囲に対する制限と解釈されるべきではなく、むしろ、特定の発明の特定の実施形態に特有であり得る特徴の説明として解釈されるべきである。別々の実施形態に関連して本特許文献で記載される特定の特徴はまた、単一の実施形態において組み合わせても実装され得る。反対に、単一の実施形態に関連して記載される様々な特徴はまた、複数の実施形態で別々に、又は任意の適切なサブコンビネーションでも実装され得る。更に、特徴は、特定の組み合わせで動作するとして上述され、更には最初にそのようなものとして請求されることがあるが、請求されている組み合わせからの1つ以上の特徴は、いくつかの場合に、組み合わせから削除されてよく、請求されている組み合わせは、サブコンビネーション又はサブコンビネーションの変形に向けられてもよい。
【0048】
同様に、動作は、特定の順序で図面に表されているが、これは、所望の結果を実現するために、そのような動作が図示されている特定の順序で又は順番に実行される必要があると、あるいは、表されている全ての動作が実行されると、理解されるべきではない。更に、本特許文献で記載される実施形態における様々なシステムコンポーネントの分離は、全ての実施形態でそのような分離を必要とすると、理解されるべきではない。
【0049】
ほんの2、3の実施及び例が記載され、他の実施、拡張及び変形は、本特許文献で記載及び例示されているものに基づいて行われ得る。
【0050】
[関連出願の相互参照]
パリ条約に従う適用可能な特許法及び/又は規則の下で、本願は、2018年7月2日付けで出願された米国特許仮出願第62/693412号の優先権及び利益を適宜を得て請求するようなされる。米国法の下で、全ての目的のために、米国特許仮出願第62/693412号の全開示が、本願の開示の部分として参照により援用される。
【外国語明細書】