(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024016288
(43)【公開日】2024-02-06
(54)【発明の名称】ビデオコーディングにおけるデコーダ側動きベクトル補正のための方法および装置
(51)【国際特許分類】
H04N 19/513 20140101AFI20240130BHJP
H04N 19/523 20140101ALI20240130BHJP
【FI】
H04N19/513
H04N19/523
【審査請求】有
【請求項の数】20
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2023199009
(22)【出願日】2023-11-24
(62)【分割の表示】P 2022104748の分割
【原出願日】2020-06-17
(31)【優先権主張番号】62/862,674
(32)【優先日】2019-06-17
(33)【優先権主張国・地域又は機関】US
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.BLUETOOTH
(71)【出願人】
【識別番号】521024075
【氏名又は名称】ベイジン・ダジア・インターネット・インフォメーション・テクノロジー・カンパニー,リミテッド
(74)【代理人】
【識別番号】100118902
【弁理士】
【氏名又は名称】山本 修
(74)【代理人】
【識別番号】100106208
【弁理士】
【氏名又は名称】宮前 徹
(74)【代理人】
【識別番号】100196508
【弁理士】
【氏名又は名称】松尾 淳一
(74)【代理人】
【識別番号】100138759
【弁理士】
【氏名又は名称】大房 直樹
(74)【代理人】
【識別番号】100201743
【弁理士】
【氏名又は名称】井上 和真
(72)【発明者】
【氏名】チェン,イー-ウエン
(72)【発明者】
【氏名】シウ,シヤオユー
(72)【発明者】
【氏名】マ,ツン-チュアン
(72)【発明者】
【氏名】ワーン,シアーンリン
(57)【要約】 (修正有)
【課題】ビデオコーディングにおけるデコーダ側動きベクトル補正のための方法および装置を提供する。
【解決手段】ビデオコーディングのための方法は、現在の符号化単位(CU)の初期動きベクトル(MV)を導出するステップと、デコーダ側動きベクトル補正(DMVR)に対する複数の動きベクトル(MV)候補を導出するステップと、初期MVおよびMV候補の各々に対するコスト値を決定するステップと、初期MVを優先するようにコスト値のうちの少なくとも1つを調整することによって、更新されたコスト値を取得するステップと、初期MVおよびMV候補の更新されたコスト値に基づいて、補正動きベクトル(MV)を導出するステップと、を含む。
【選択図】
図1
【特許請求の範囲】
【請求項1】
ビデオコーディングの方法であって、
現在の符号化単位(CU)の初期動きベクトル(MV)を導出するステップと、
デコーダ側動きベクトル補正(DMVR)に対する複数の動きベクトル(MV)候補を導出するステップと、
前記複数のMV候補の各々および前記初期MVに対するコスト値を決定するステップと、
前記初期MVを優先するように前記コスト値のうちの少なくとも1つを調整することによって、更新されたコスト値を取得するステップと、
前記初期MVおよび前記MV候補の前記更新されたコスト値に基づいて、補正動きベクトル(MV)を導出するステップと
を含む、方法。
【請求項2】
前記コスト値のうちの少なくとも1つを調整するステップが、前記初期MVの前記コスト値を、予め決められたプロセスを使用して決定された第1の値だけ減少させるステップを含む、請求項1に記載の方法。
【請求項3】
前記第1の値が、前記初期MVの前記コスト値の1/Nとして決定され、Nが整数値である、請求項2に記載の方法。
【請求項4】
前記第1の値が定数値として決定される、請求項2に記載の方法。
【請求項5】
前記第1の値が、前記現在のCUの符号化情報に従って決定され、前記符号化情報が、符号化ブロックサイズ、動きベクトルの大きさ、前記初期MVの前記SAD、およびDMVRプロセス単位の相対位置のうちの少なくとも1つまたは組合せを含む、請求項2に記載の方法。
【請求項6】
前記第1の値が、前記初期MVの前記コスト値の1/Nとして決定され、Nが、前記現在のCUのブロックサイズに基づいて導出された整数値である、請求項5に記載の方法。
【請求項7】
前記第1の値が、前記初期MVの前記コスト値の1/Nとして決定され、Nが、前記DMVRプロセス単位の中心位置と前記現在のCUの中心位置との間の距離に基づいて導出された整数値である、請求項5に記載の方法。
【請求項8】
前記コスト値のうちの少なくとも1つを調整するステップが、前記MV候補の前記コスト値を、予め決められたプロセスを使用して決定された第2の値だけ増大させるステップを含む、請求項1に記載の方法。
【請求項9】
前記初期MVの前記コスト値が、前記MV候補の前記コスト値に比べてより少ないサンプルを使用して決定される、請求項1に記載の方法。
【請求項10】
前記補正動きベクトルを導出するステップが分数サンプル補正を含み、前記分数サンプル補正が、sadMinusとsadCenterとの間の比較とsadPlusとsadCenterとの間の比較とを除外することによって簡略化され、
【数1】
との2次元放物線方程式を解く際、sadMinusが、E(-1,0)またはE(0,-1)の値を表し、sadPlusが、E(1,0)またはE(0,1)の値を表し、sadCenterが、E(0,0)の値を表す、請求項1に記載の方法。
【請求項11】
前記補正動きベクトルを導出するステップが分数サンプル補正を含み、前記分数サンプル補正が、1/16ペルのMV精度のコーナケースに対して分数位置を-4または4に制限し、除算なし式solverで反復カウント値を2に低減させることによって簡略化される、請求項1に記載の方法。
【請求項12】
前記コスト値が差分絶対値和(SAD)である、請求項1から11のいずれか一項に記載の方法。
【請求項13】
ビデオ符号化のための装置であって、
1つまたは複数のプロセッサと、
前記1つまたは複数のプロセッサによって実行可能な命令を記憶するように構成されたメモリと
を備え、
前記1つまたは複数のプロセッサが、前記命令を実行するとき、
現在の符号化単位(CU)の初期動きベクトル(MV)を導出し、
デコーダ側動きベクトル補正(DMVR)に対する複数の動きベクトル(MV)候補を導出し、
前記MV候補の各々および前記初期MVに対するコスト値を決定し、
前記初期MVを優先するように前記コスト値のうちの少なくとも1つを調整することによって、更新されたコスト値を取得し、
前記初期MVおよび前記MV候補の前記更新されたコスト値に基づいて、補正MVを導出するように構成される、装置。
【請求項14】
前記コスト値のうちの少なくとも1つを調整することが、前記初期MVの前記コスト値を、予め決められたプロセスを使用して決定された第1の値だけ減少させることを含む、請求項13に記載の装置。
【請求項15】
前記第1の値が、前記初期MVの前記コスト値の1/Nとして決定され、Nが整数値である、請求項14に記載の装置。
【請求項16】
前記第1の値が定数値として決定される、請求項14に記載の装置。
【請求項17】
前記第1の値が、前記現在のCUの符号化情報に従って決定され、前記符号化情報が、符号化ブロックサイズ、動きベクトルの大きさ、前記初期MVの前記コスト値、およびDMVRプロセス単位の相対位置のうちの少なくとも1つまたは組合せを含む、請求項14に記載の装置。
【請求項18】
前記第1の値が、前記初期MVの前記コスト値の1/Nとして決定され、Nが、前記現在のCUのブロックサイズに基づいて導出された整数値である、請求項17に記載の装置。
【請求項19】
前記第1の値が、前記初期MVの前記コスト値の1/Nとして決定され、Nが、前記DMVRプロセス単位の中心位置と前記現在のCUの中心位置との間の距離に基づいて導出された整数値である、請求項17に記載の装置。
【請求項20】
前記コスト値のうちの少なくとも1つを調整することが、前記MV候補の前記コスト値を、予め決められたプロセスを使用して決定された第2の値だけ増大させることを含む、請求項13に記載の装置。
【請求項21】
前記初期MVの前記コスト値が、前記MV候補の前記コスト値に比べてより少ないサンプルを使用して決定される、請求項13に記載の装置。
【請求項22】
前記補正動きベクトルを導出することが分数サンプル補正を含み、前記分数サンプル補正が、sadMinusとsadCenterとの間の比較とsadPlusとsadCenterとの間の比較とを除外することによって簡略化され、
【数2】
との2次元放物線方程式を解く際、sadMinusが、E(-1,0)またはE(0,-1)の値を表し、sadPlusが、E(1,0)またはE(0,1)の値を表し、sadCenterが、E(0,0)の値を表す、請求項13に記載の装置。
【請求項23】
前記補正動きベクトルを導出することが分数サンプル補正を含み、前記分数サンプル補正が、1/16ペルのMV精度のコーナケースに対して分数位置を-4または4に制限し、除算なし式solverで反復カウント値を2に低減させることによって簡略化される、請求項13に記載の装置。
【請求項24】
前記コスト値が差分絶対値和(SAD)である、請求項13から23のいずれか一項に記載の装置。
【請求項25】
記憶された命令を含む非一時的コンピュータ可読記憶媒体であって、1つまたは複数のプロセッサによって前記命令を実行するとき、前記命令が、前記1つまたは複数のプロセッサに、
現在の符号化単位(CU)の初期動きベクトル(MV)を導出するステップと、
デコーダ側動きベクトル補正(DMVR)に対する複数の動きベクトル(MV)候補を導出するステップと、
前記MV候補の各々および前記初期MVに対するコスト値を決定するステップと、
前記初期MVを優先するように前記コスト値のうちの少なくとも1つを調整することによって、更新されたコスト値を取得するステップと、
前記初期MVおよび前記MV候補の前記更新されたコスト値に基づいて、補正動きベクトル(MV)を導出するステップと
を含む動作を実行させる、非一時的コンピュータ可読記憶媒体。
【請求項26】
前記コスト値のうちの少なくとも1つを調整することが、前記初期MVの前記コスト値を、予め決められたプロセスを使用して決定された第1の値だけ減少させることを含む、請求項25に記載の非一時的コンピュータ可読記憶媒体。
【請求項27】
前記第1の値が、前記初期MVの前記コスト値の1/Nとして決定され、Nが整数値である、請求項26に記載の非一時的コンピュータ可読記憶媒体。
【請求項28】
前記第1の値が定数値として決定される、請求項26に記載の非一時的コンピュータ可読記憶媒体。
【請求項29】
前記第1の値が、前記現在のCUの符号化情報に従って決定され、前記符号化情報が、符号化ブロックサイズ、動きベクトルの大きさ、前記初期MVの前記SAD、およびDMVRプロセス単位の相対位置のうちの少なくとも1つまたは組合せを含む、請求項26に記載の非一時的コンピュータ可読記憶媒体。
【請求項30】
前記第1の値が、前記初期MVの前記コスト値の1/Nとして決定され、Nが、前記現在のCUのブロックサイズに基づいて導出された整数値である、請求項29に記載の非一時的コンピュータ可読記憶媒体。
【請求項31】
前記第1の値が、前記初期MVの前記コスト値の1/Nとして決定され、Nが、前記DMVRプロセス単位の中心位置と前記現在のCUの中心位置との間の距離に基づいて導出された整数値である、請求項29に記載の非一時的コンピュータ可読記憶媒体。
【請求項32】
前記コスト値のうちの少なくとも1つを調整することが、前記MV候補の前記コスト値を、予め決められたプロセスを使用して決定された第2の値だけ増大させることを含む、請求項25に記載の非一時的コンピュータ可読記憶媒体。
【請求項33】
前記初期MVの前記コスト値が、前記MV候補の前記コスト値に比べてより少ないサンプルを使用して決定される、請求項25に記載の非一時的コンピュータ可読記憶媒体。
【請求項34】
前記補正動きベクトルを導出することが分数サンプル補正を含み、前記分数サンプル補正が、sadMinusとsadCenterとの間の比較とsadPlusとsadCenterとの間の比較とを除外することによって簡略化され、
【数3】
との2次元放物線方程式を解く際、sadMinusが、E(-1,0)またはE(0,-1)の値を表し、sadPlusが、E(1,0)またはE(0,1)の値を表し、sadCenterが、E(0,0)の値を表す、請求項25に記載の非一時的コンピュータ可読記憶媒体。
【請求項35】
前記補正動きベクトルを導出することが分数サンプル補正を含み、前記分数サンプル補正が、1/16ペルのMV精度のコーナケースに対して分数位置を-4または4に制限し、除算なし式solverで反復カウント値を2に低減させることによって簡略化される、請求項25に記載の非一時的コンピュータ可読記憶媒体。
【請求項36】
前記コスト値が差分絶対値和(SAD)である、請求項25から35のいずれか一項に記載の非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2019年6月17日付け出願の「Decoder-side Motion Vector Refinement for Video Coding(ビデオコーディングのためのデコーダ側動きベクトル補正)」という名称の米国仮出願第62/862,674号の優先権を主張するものであり、あらゆる目的で全体として参照により組み込まれる。
【0002】
本出願は、一般に、ビデオの符号化および圧縮に関し、特に、ビデオ符号化におけるデコーダ側動きベクトル補正(DMVR:Decoder-side Motion Vector Refinement)のための方法および装置に関するが、これらに限定されるものではない。
【背景技術】
【0003】
デジタルビデオは、デジタルテレビジョン、ラップトップまたはデスクトップコンピュータ、タブレットコンピュータ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲーミングコンソール、スマートフォン、ビデオ遠隔会議デバイス、ビデオストリーミングデバイスなどの様々な電子デバイスによってサポートされている。電子デバイスは、ビデオの圧縮/復元を実施することによって、デジタルビデオデータを伝送、受信、符号化、復号、および/または記憶する。デジタルビデオデバイスは、多用途ビデオ符号化(VVC:Versatile Video Coding)、共同探索試験モデル(JEM:Joint Exploration Test Model)、MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4 Part 10、高度ビデオ符号化(AVC:Advanced Video Coding)、ITU-T H.265/高効率ビデオ符号化(HEVC:High Efficiency Video Coding)、およびそのような規格の拡張版によって規定される規格に記載されている技術などのビデオ符号化技術を実施する。
【0004】
ビデオコーディングは、概して、ビデオ画像またはシーケンスに存在する冗長性を利用する予測法(たとえば、インター予測、イントラ予測)を利用する。ビデオコーディング技術の重要な目標は、ビデオ品質の劣化を回避または最小化しながら、より低いビットレートを使用する形式にビデオデータを圧縮することである。さらに進化したビデオサービスが利用可能になるにつれて、より良好な符号化効率をもたらす符号化技術が必要とされる。
【0005】
ビデオ圧縮は典型的に、ビデオデータに固有の冗長性を低減または除去するための空間(イントラフレーム)予測および/または時間(インターフレーム)予測を実行することを含む。ブロックに基づくビデオ符号化の場合、ビデオフレームが1つまたは複数のスライスに分割され、各スライスは複数のビデオブロックを有しており、これを符号化ツリー単位(CTU)と呼ぶこともできる。CTUは、入れ子状の複数タイプのツリー構造を有する4分木を使用して、符号化単位(CU)に分割され得る。CUは、同じ予測モードを共有する画素の領域を定めるものである。各CTUは、1つの符号化単位(CU)を含むことができ、または予め決められた最小CUサイズに到達するまで、より小さいCUに再帰的に分割され得る。各CU(葉CUとも呼ばれる)は、1つまたは複数の変換単位(TU)を含み、各CUはまた、1つまたは複数の予測単位(PU)を含む。各CUは、イントラモード、インターモード、またはIBCモードで符号化され得る。ビデオフレームのイントラ符号化(I)スライス内のビデオブロックは、同じビデオフレーム内の隣接ブロックにおける参照サンプルに対する空間予測を使用して符号化される。ビデオフレームのインター符号化(PまたはB)スライス内のビデオブロックでは、同じビデオフレーム内の隣接ブロックにおける参照サンプルに対する空間予測、または他の以前および/もしくは将来の参照ビデオフレーム内の参照サンプルに対する時間予測を使用することができる。
【0006】
本開示のいくつかの例では、「単位」という用語は、輝度(luma)および色差(chroma)などのすべての成分を含む画像の領域を定めるものであり、「ブロック」という用語は、特定の成分(たとえば、輝度)を含む領域を定めるために使用され、4:2:0などの色差サンプリング方式を考慮すると、異なる成分(たとえば、輝度対色差)のブロックは空間位置が異なってもよい。
【0007】
以前に符号化された参照ブロック、たとえば隣接ブロックに基づく空間予測または時間予測から、符号化されるべき現在のビデオブロックに対する予測ブロックが得られる。参照ブロックを発見するプロセスは、ブロックマッチングアルゴリズムによって実現することができる。符号化されるべき現在のブロックと予測ブロックとの間の画素差を表す残差データは、残差ブロックまたは予測誤差と呼ばれる。インター符号化ブロックが、予測ブロックを形成する参照フレーム内の参照ブロックを指す動きベクトル、および残差ブロックに従って符号化される。動きベクトルを決定するプロセスは、典型的に、動き推定と呼ばれる。イントラ符号化ブロックが、イントラ予測モードおよび残差ブロックに従って符号化される。さらに圧縮する場合、残差ブロックは画素ドメインから変換ドメイン、たとえば周波数ドメインに変換され、そこから残差変換係数が得られ、次いでこれを量子化することができる。量子化された変換係数は、最初は2次元アレイで配置されており、これを走査して、変換係数の1次元ベクトルを生じさせることができ、次いでエントロピー符号化してビデオビットストリームにして、さらなる圧縮を実現することができる。
【0008】
符号化されたビデオビットストリームは次いで、コンピュータ可読記憶媒体(たとえば、フラッシュメモリ)に保存されて、デジタルビデオ機能を有する別の電子デバイスによってアクセスされ、または電子デバイスへ有線もしくは無線で直接伝送される。電子デバイスは次いで、たとえば、符号化されたビデオビットストリームを構文解析して、ビットストリームから構文要素(シンタックス要素)を取得し、少なくとも部分的にビットストリームから取得された構文要素に基づいて、そのデジタルビデオデータを、符号化されたビデオビットストリームからその元の形式を再構成し、再構成されたデジタルビデオデータを電子デバイスのディスプレイ上に描画することによって、ビデオ復元(上述したビデオ圧縮とは逆のプロセス)を実行する。
【発明の概要】
【発明が解決しようとする課題】
【0009】
デジタルビデオ品質が高精細度から4K×2Kまたはさらには8K×4Kに向上するにつれて、符号化/復号されるビデオデータの量は指数的に増加する。復号されたビデオデータの画像品質を維持しながら、ビデオデータをどのようにより効率的に符号化/復号することができるかという点が、常に課題である。
【課題を解決するための手段】
【0010】
概して、本開示は、ビデオコーディングにおけるデコーダ側動きベクトル補正(DMVR)に関する技術の例を説明する。
【0011】
本開示の第1の態様によれば、ビデオコーディングのための方法が提供され、この方法は、現在の符号化単位(CU)の初期動きベクトル(MV)を導出するステップと、デコーダ側動きベクトル補正(DMVR)に対する複数の動きベクトル(MV)候補を導出するステップと、初期MVおよびMV候補の各々に対するコスト値を決定するステップと、初期MVを優先するようにコスト値のうちの少なくとも1つを調整することによって、更新されたコスト値を取得するステップと、初期MVおよびMV候補の更新されたコスト値に基づいて、補正動きベクトル(MV)を導出するステップとを含む。
【0012】
本開示の第2の態様によれば、ビデオコーディングのための装置が提供され、この装置は、1つまたは複数のプロセッサと、1つまたは複数のプロセッサによって実行可能な命令を記憶するように構成されたメモリとを含み、1つまたは複数のプロセッサは、命令を実行するとき、現在の符号化単位(CU)の初期動きベクトル(MV)を導出し、デコーダ側動きベクトル補正(DMVR)に対する複数の動きベクトル(MV)候補を導出し、初期MVおよびMV候補の各々に対するコスト値を決定し、初期MVを優先するようにコスト値のうちの少なくとも1つを調整することによって、更新されたコスト値を取得し、初期MVおよびMV候補の更新されたコスト値に基づいて、補正MVを導出するように構成される。
【0013】
本開示の第3の態様によれば、記憶された命令を含む非一時的コンピュータ可読記憶媒体が提供され、1つまたは複数のプロセッサによって命令を実行するとき、命令は、1つまたは複数のプロセッサに、現在の符号化単位(CU)の初期動きベクトル(MV)を導出するステップと、デコーダ側動きベクトル補正(DMVR)に対する複数の動きベクトル(MV)候補を導出するステップと、初期MVおよびMV候補の各々に対するコスト値を決定するステップと、初期MVを優先するようにコスト値のうちの少なくとも1つを調整することによって、更新されたコスト値を取得するステップと、初期MVおよびMV候補の更新されたコスト値に基づいて、補正動きベクトル(MV)を導出するステップとを含む動作を実行させる。
【0014】
本開示の例のより具体的な説明が、添付の図面に示す特有の例を参照することによって提供される。これらの図面はいくつかの例のみを示し、したがって範囲を限定すると見なされるべきでないという条件で、これらの例について、添付の図面を使用してさらに具体的かつ詳細に記載および説明する。
【図面の簡単な説明】
【0015】
【
図1】本開示のいくつかの実装形態による例示的なビデオエンコーダを示すブロック図である。
【
図2】本開示のいくつかの実装形態による例示的なビデオデコーダを示すブロック図である。
【
図3】本開示のいくつかの実装形態によるデコーダ側動きベクトル補正(DMVR)の一例を示す概略図である。
【
図4】本開示のいくつかの実装形態によるDMVR探索手順の一例を示す概略図である。
【
図5】本開示のいくつかの実装形態によるDMVR整数輝度サンプル探索パターンの一例を示す概略図である。
【
図6】本開示のいくつかの実装形態によるビデオコーディングのための例示的な装置を示すブロック図である。
【
図7】本開示のいくつかの実装形態によるビデオコーディングにおけるデコーダ側動きベクトル補正(DMVR)の例示的なプロセスを示すフローチャートである。
【発明を実施するための形態】
【0016】
具体的な実装形態を次に詳細に参照する。実装形態の例は添付の図面に示されている。以下の詳細な説明では、本明細書に提示する主題の理解を支援するために、限定されない多数の具体的な詳細について記載する。しかし、様々な代替手段を使用することができることが、当業者には明らかである。たとえば、本明細書に提示する主題は、デジタルビデオ機能を有する多くのタイプの電子デバイスで実施することができることが、当業者には明らかである。
【0017】
本明細書全体にわたって、「一実施形態」、「実施形態」、「例」、「いくつかの実施形態」、「いくつかの例」、または類似の言語への言及は、記載される特定の特徴、構造、または特性が、少なくとも1つの実施形態または例に含まれることを意味する。別途明示的に指定されない限り、1つまたはいくつかの実施形態に関連して記載する特徴、構造、要素、または特性は、他の実施形態にも適用可能である。
【0018】
本開示全体にわたって、別途明示的に指定されない限り、「第1」、「第2」、「第3」などの用語はすべて、関連する要素、たとえばデバイス、コンポーネント、組成物、ステップなどを参照するための用語としてのみ使用されており、いかなる空間的または年代的な順序を示唆するものでもない。たとえば、「第1のデバイス」および「第2のデバイス」は、別個に形成された2つのデバイス、または同じデバイスの2つの部分、コンポーネント、もしくは動作状態を指すことができ、任意に命名することができる。
【0019】
本明細書では、「~場合(if)」または「~とき(when)」という用語は、文脈に応じて「~とき(upon)」または「~に応答して(in response to)」を意味すると理解することができる。これらの用語は、特許請求の範囲に記載される場合、関連する限定または特徴が条件的または任意選択であることを示すものではない場合がある。
【0020】
「モジュール」、「サブモジュール」、「回路(circuit)」、「サブ回路(sub-circuit)」、「回路(circuitry)」、「サブ回路(sub-circuitry)」、「ユニット」、または「サブユニット」という用語は、1つまたは複数のプロセッサによって実行することができるコードまたは命令を記憶するメモリ(共有、専用、またはグループ)を含むことができる。モジュールは、記憶されたコードまたは命令の有無にかかわらず、1つまたは複数の回路を含むことができる。モジュールまたは回路は、直接または間接的に接続された1つまたは複数のコンポーネントを含むことができる。これらのコンポーネントは、互いに物理的に取り付けられても取り付けられなくてもよく、または互いに隣接しても隣接しなくてもよい。
【0021】
ユニットまたはモジュールは、純粋にソフトウェアによって、純粋にハードウェアによって、またはハードウェアおよびソフトウェアの組合せによって実施することができる。たとえば、純粋なソフトウェア実装形態では、ユニットまたはモジュールは、機能的に関連するコードブロックまたはソフトウェアコンポーネントを含むことができ、これらは特定の機能を実行するようにともに直接または間接的にリンクされる。
【0022】
図1は、ブロックに基づく処理を使用する多くのビデオ符号化規格とともに使用することができる例示的なブロックに基づく混成ビデオエンコーダ100を示すブロック図を示す。エンコーダ100では、ビデオフレームが処理のために複数のビデオブロックに分割される。所与の各ビデオブロックに対して、インター予測手法またはイントラ予測手法に基づいて予測が形成される。インター予測では、以前に再構成されたフレームの画素に基づいて、動き推定および動き補償によって1つまたは複数の予測子が形成される。イントラ予測では、現在のフレーム内の再構成された画素に基づいて、予測子が形成される。モード決定によって、現在のブロックを予測するのに最良の予測子を選択することができる。
【0023】
現在のビデオブロックとその予測子との間の差を表す予測残差が、変換回路102へ送られる。次いで、エントロピー低減のために、変換回路102から量子化回路104へ変換係数が送られる。次いで、量子化された係数をエントロピー符号化回路106へ送出し、圧縮されたビデオビットストリームを生成する。
図1に示すように、ビデオブロック区画情報、動きベクトル、参照ピクチャ索引、およびイントラ予測モードなどのインター予測回路および/またはイントラ予測回路112からの予測関連情報110も、エントロピー符号化回路106によって送出され、圧縮されたビデオビットストリーム114に保存される。
【0024】
エンコーダ100では、予測の目的で、画素を再構成するためにデコーダ関連回路も必要とされる。第1に、逆量子化回路116および逆変換回路118によって、予測残差が再構成される。この再構成された予測残差をブロック予測子120と組み合わせて、現在のビデオブロックに対するフィルタリングされていない再構成画素を生成する。
【0025】
空間予測(または「イントラ予測」)は、同じビデオフレーム内のすでに符号化された隣接ブロック(参照サンプルとも呼ばれる)のサンプルからの画素を現在のビデオブロックとして使用して、現在のビデオブロックを予測する。
【0026】
時間予測(「インター予測」とも呼ばれる)は、すでに符号化されたビデオピクチャからの再構成画素を使用して、現在のビデオブロックを予測する。時間予測は、ビデオ信号に固有の時間的冗長性を低減させる。所与の符号化単位(CU)または符号化ブロックに対する時間予測信号は通常、現在のCUとその時間参照との間の動きの量および方向を示す1つまたは複数の動きベクトル(MV)によって信号送信される。さらに、複数の参照ピクチャに対応する場合、1つの参照ピクチャ索引がさらに送信され、これは、参照ピクチャ記憶部内のどの参照ピクチャから時間予測信号がくるかを識別するために使用される。
【0027】
空間および/または時間予測が実行された後、エンコーダ100内のイントラ/インターモード決定回路121は、たとえばレート歪み最適化方法に基づいて、最良の予測モードを選ぶ。次いで、現在のビデオブロックからブロック予測子120を引き、その結果得られる予測残差を、変換回路102および量子化回路104を使用して非相関とする。その結果得られる量子化された残差係数は、逆量子化回路116によって逆量子化され、逆変換回路118によって逆変換されて、再構成された残差を形成し、次いでこの再構成された残差を再び予測ブロックに加算して、CUの再構成信号を形成する。再構成CUをピクチャバッファ117の参照ピクチャ記憶部に入れて将来のビデオブロックを符号化するために使用する前に、非ブロック化フィルタ、サンプル適応型オフセット(SAO)、および/または適応型ループ内フィルタ(ALF)などのさらなるループ内フィルタリング115を再構成CUに適用することができる。出力ビデオビットストリーム114を形成するために、符号化モード(インターまたはイントラ)、予測モード情報、動き情報、および量子化された残差係数はすべて、エントロピー符号化ユニット106へ送信されて、さらに圧縮およびパックされて、ビットストリームを形成する。
【0028】
たとえば、AVC、HEVC、ならびに現在のバージョンのVVCでは、非ブロック化フィルタが利用可能である。HEVCでは、符号化効率をさらに改善するために、SAO(サンプル適応型オフセット)と呼ばれる追加のループ内フィルタが定められている。ALF(適応型ループフィルタ)と呼ばれる別のループ内フィルタも積極的に研究されている。
【0029】
これらのループ内フィルタ動作は任意選択である。これらの動作を実行することで、符号化効率および視覚品質を改善するのに役立つ。これらの動作はまた、計算の複雑さを省くために、エンコーダ100によって提供される決定としてオフにすることができる。
【0030】
これらのフィルタのオプションがエンコーダ100によってオンにされた場合、イントラ予測は通常、フィルタリングされていない再構成画素に基づくのに対して、インター予測は、フィルタリングされた再構成画素に基づくことに留意されたい。
【0031】
図2は、多くのビデオ符号化規格とともに使用することができる例示的なブロックに基づくビデオデコーダ200を示すブロック図である。このデコーダ200は、
図1のエンコーダ100に存在する再構成に関係する部分と似たものである。デコーダ200では、第1に、入ってくるビデオビットストリーム201をエントロピー復号202によって復号して、量子化された係数レベルおよび予測関連情報を導出する。次いで、量子化された係数レベルを逆量子化204および逆変換206によって処理して、再構成された予測残差を取得する。イントラ/インターモードセレクタ212で実施されるブロック予測子機構は、復号された予測情報に基づいて、イントラ予測208または動き補償210を実行するように構成される。加算器214を使用して、逆変換206からの再構成された予測残差と、ブロック予測子機構によって生成される予測出力とを加算することによって、1組のフィルタリングされていない再構成画素が取得される。
【0032】
再構成されたブロックは、ループ内フィルタ209をさらに受けることができ、その後、参照ピクチャ記憶部として機能するピクチャバッファ213に記憶される。ピクチャバッファ213内の再構成されたビデオを送信して表示デバイスを駆動し、ならびにこれを使用して将来のビデオブロックを予測することができる。ループ内フィルタ209がオンにされた状況では、これらの再構成画素でフィルタリング動作を実行して、最終的な再構成されたビデオ出力222を導出する。
【0033】
VVC、JEM、HEVC、MPEG-4 Part 10といった上述したビデオ符号化/復号規格は、概念上類似している。たとえば、これらはすべて、ブロックに基づく処理を使用する。ジョイント・ビデオ・エキスパート・チーム(JVET)の会議において、JVETは、多用途ビデオ符号化(VVC)およびVVC試験モデル1(VTM1)符号化方法の原案を規定したものである。2分割および3分割の符号化ブロック構造をVVCの最初の新しい符号化特徴として使用する入れ子状の複数タイプのツリーをもつ4分木を含むことが決められた。
【0034】
<VVCにおけるデコーダ側動きベクトル補正(DMVR:Decoder-side Motion Vector Refinement)>
【0035】
デコーダ側動きベクトル補正(DMVR)は、双方向予測マージモードで符号化されたブロックに対する技術である。このモード下で、双方向的マッチング(BM:bilateral matching)予測を使用して、ブロックの2つの動きベクトル(MV)をさらに補正することができる。
【0036】
図3は、デコーダ側動きベクトル補正(DMVR)の一例を示す概略図である。
図3に示すように、双方向的マッチング法は、その関連する2つの参照ピクチャ、すなわちリストL0 300内のrefPicおよびリストL1 310内のrefPicにおいて、現在のCUの動く軌道に沿ってそれら2つの参照ブロック302、312間の最も近い対応を探索することによって、現在のCU322の動き情報を補正するために使用される。パターン化された方形ブロック322、302および312は、マージモードからの初期動き情報に基づいて、現在のCUおよびそれら2つの参照ブロックを示している。パターン化された方形ブロック304、314は、動き補正探索プロセス、すなわち動きベクトル補正プロセスで使用されるMV候補に基づいて、1対の参照ブロックを示す。
【0037】
MV候補、すなわちMV0’およびMV1’と、初期MV、すなわちMV0およびMV1(元のMVとも呼ばれる)との間のMV差は、それぞれMVdiffおよび-MVdiffである。MV候補および初期MVはどちらも、双方向の動きベクトルである。DMVR中、初期MVの周りの複数のそのようなMV候補を確認することができる。具体的には、所与の各MV候補に対して、それぞれリスト0およびリスト1の参照ピクチャにおいて、それら2つの関連参照ブロックを特定することができ、これら参照ブロック間の差を計算することができる。
【0038】
ブロック差をコスト値と呼ぶこともでき、通常、差分絶対値和(SAD:sum of absolute differences)または列サブサンプルSAD(すなわち、関連するブロックを1列おきに計算したSAD)で測定される。いくつかの他の例では、平均除去SADまたは残差平方和(SSD:sum of squared differences)をコスト値として使用することもできる。2つの参照ブロック間で最も低いコスト値またはSADを有するMV候補が補正MVになり、現在のCUに対する実際の予測として双方向予測信号を生成するために使用される。
【0039】
VVCにおいて、DMVRは、以下の条件を満たすCUに適用される。
・CUは、双方向予測MVによるCUレベルマージモード(サブブロックマージモードではない)によって符号化される。
・現在のピクチャに対して、CUの一方の参照ピクチャは過去であり(すなわち、現在のピクチャのPOCより小さいPOCを有する)、他方の参照ピクチャは未来である(すなわち、現在のピクチャのPOCより大きいPOCを有する)。
・両方の参照ピクチャから現在のピクチャまでのPOC距離(すなわち、絶対POC差)は同じである。
・CUは、64輝度サンプルより大きいサイズを有し、CUの高さは8輝度サンプルより大きい。
【0040】
DMVRプロセスによって導出された補正MVは、インター予測サンプルを生成するために使用され、将来のピクチャ符号化のための時間動きベクトル予測にも使用される。元のMVが非ブロック化プロセスで使用されるとき、将来のCU符号化のために空間動きベクトル予測でも使用される。
【0041】
<DMVRにおける探索方式>
【0042】
図3に示すように、MV候補(または探索点)が初期MVを取り囲んでおり、MVオフセットはMV差ミラーリング規則に従う。言い換えれば、DMVRによって確認されるあらゆる点は、MV候補対(MV0,MV1)によって示されており、以下の2つの式に従う。
【数1】
【0043】
上式で、MVdiffは、参照ピクチャのうちの1つにおける初期MVと補正MVとの間の補正オフセットを表す。現在のVVCにおいて、補正探索範囲は、初期MVからの2つの整数輝度サンプルである。
【0044】
図4は、DMVRの探索プロセスの一例を示す。
図4に示すように、探索プロセスは、整数サンプルオフセット探索段階402および分数サンプル補正段階404を含む。
【0045】
探索の複雑さを低減させるために、整数サンプルオフセット探索段階402において、初期終了機構を有する高速探索方法が適用される。25箇所を完全に探索する代わりに、SAD確認点の数を低減させるために、2反復探索方式が適用される。
図5は、整数サンプルオフセット探索段階402に対するDMVR整数輝度サンプルの探索パターンの一例を示す。
図5の各方形枠は、点(MV)を表す。
図5に示すように、高速探索方法に従って、第1の反復では、最大6つのSAD(中心およびP1~P5に対するSAD)が確認される。第1の反復では、初期MVが中心である。第1に、5つの点(中心およびP1~P4)のSADが比較される。中心(すなわち、中心位置)のSADが最も小さい場合、DMVRの整数サンプルオフセット探索段階402は終了する。そうでない場合、もう1つの位置P5(P1~P4のSAD分布に基づいて決定される)が確認される。次いで、最も小さいSADを有する位置(P1~P5の中から)が、第2の反復探索の中心位置として選択される。第2の反復探索のプロセスは、第1の反復探索と同じである。第1の反復で計算されたSADを第2の反復で再び使用することができ、したがって第2の反復では、3つの追加の点のSADを計算するだけでよい。第1の反復における中心点のSADが、SADを計算するために使用されるサンプルの数(w*h/2に等しい。ここで、wおよびhは、それぞれDMVR動作単位の幅および高さを表す。)より小さいとき、DMVRプロセス全体がさらなる探索なく早期に終了することに留意されたい。
【0046】
整数サンプル探索402に続いて、分数サンプル補正404が行われる。計算の複雑さを低減させるために、分数サンプル補正404は、SAD比較による追加の探索ではなく、パラメータ誤差面方程式を使用して導出される。分数サンプル補正404は、整数サンプル探索段階の出力に基づいて、条件付きで呼び出される。第1の反復または第2の反復探索において、中心が最も小さいSADを有する状態で整数サンプル探索段階402が終了したとき、分数サンプル補正がさらに適用される。
【0047】
パラメータ誤差面に基づく分数サンプル補正では、中心位置およびその4つの隣接位置のSADコスト(またはコスト値)は、以下の形の2次元放物線誤差面方程式に適合するように使用される。
【0048】
【数2】
ここで、(x
min,y
min)は、最も小さいSADコストを有する分数位置に対応し、Cは、最小のコスト値に対応する。5つの探索点のSADコスト値を使用して上記の方程式を解くことによって、(x
min,y
min)を次のように導出することができる。
【0049】
【0050】
(xmin,ymin)のソルバは、以下の表1および表2に示す除算なしプロセスによって定めることができる。このプロセスで、E(-1,0)およびE(0,-1)の値は、それぞれ式(1)および(2)を解くとき、sadMinusに代入され、E(1,0)およびE(0,1)は、それぞれ式(1)および(2)を解くとき、sadPositiveに代入され、E(0,0)は、sadCenterに代入される。それぞれ式(1)または(2)を導出するとき、このプロセスdMvCの出力は、解xminまたはyminである。
【0051】
【0052】
【0053】
xminおよびyminの値は、-8~8にさらに制限され、これは、1/16ペルのMV精度で中心点からのハーフ(1/2)ペルのオフセットに対応する。計算された分数オフセット(xmin,ymin)を整数距離MV補正に加算することで、1画素未満の精度のMV補正が得られる。
【0054】
<DMVRに対する双線形補間およびサンプルパディング>
【0055】
VVCにおいて、MVの分解能は1/16輝度サンプルである。分数位置のサンプルは、8タップ補間フィルタを使用して補間される。DMVR探索では、MV点候補が1ペル未満の位置を指すとき、それらの関連する分数位置サンプルを補間する必要がある。計算の複雑さを低減させるために、双線形補間フィルタが、DMVRの探索プロセスで分数サンプルを生成するために使用される。
【0056】
双線形フィルタを補間のために使用する別の効果は、2サンプル探索範囲によって、DVMR探索プロセスが、通常の動き補償プロセスに比べてより多くの参照サンプルにアクセスしないことである。補正MVがDMVR探索プロセスによって達成された後、最終的な予測を生成するために、通常の8タップの補間フィルタが適用される。この場合も、この8タップ補間プロセスにおいて、通常の動き補償プロセスより多くの参照サンプルへのアクセスを回避するために、サンプルパディングが使用される。より具体的には、補正MVに基づく8タップ補間プロセスでは、元のMVに基づく動き補償に必要なもの以上のサンプルは、隣接する利用可能なサンプルからパディングされる。
【0057】
<最大DMVR処理単位>
【0058】
CUの幅および/または高さが16輝度サンプルより大きいとき、CUに対するDMVR動作は、16サンプルに等しい最大の幅および/または高さを有するDMVR処理単位に基づいて実行される。言い換えれば、そのような場合、元のCUは、DMVR動作に対して16輝度サンプルに等しい幅および/または高さを有するサブブロックに分割される。DMVR探索プロセスに対する最大処理単位サイズは、16×16に制限される。
【0059】
現在のVVC設計では、DMVRを可能にするかどうかを制御するための制御フラグは存在しない。しかし、DMVR補正MVが常に補正前のMVより良好であることは保証されない。いくつかの場合、DMVR補正プロセスは、元のMVより劣化した補正MVを生じさせる可能性もある。本開示のいくつかの例によれば、DMVRのMV補正のそのような不確実性に起因するペナルティを低減させるためのいくつかの方法が提案される。
【0060】
<コスト値を調整することによるDMVRに対する更新されたコスト値>
【0061】
DMVRプロセス中に元のMVを優先するためのいくつかの例示的な手法が提案される。これらの異なる手法は、独立してまたは共同で適用することができることに留意されたい。
【0062】
「初期MV」および「元のMV」という用語は、本開示のいくつかの例で区別なく使用することができる。
【0063】
いくつかの例では、DMVRプロセス中、初期MVを優先するように、初期MVおよびMV候補の各々に対するコスト値を調整または更新することができる。すなわち、DMVRプロセスにおける探索点のコスト値(たとえば、SAD)の計算後、初期MVが更新されたコスト値の中で最小のコスト値を有する確率を増大させるように、すなわち初期MVを優先するように、コスト値を調整することができる。
【0064】
したがって、更新されたコスト値を取得した後、初期MVは、DMVRプロセス中に最も低いコストを有するMVとして選択される可能性がより高くなる。
【0065】
ここで、SAD値は、例示の目的で、例示的なコスト値として使用される。列サブサンプルSAD、平均除去SAD、または残差平方和(SSD)などの他の値を、コスト値として使用することもできる。
【0066】
いくつかの例では、初期MV(または元のMV)によって参照される参照ブロック間のSAD値が、他のMV候補のSAD値と比較して、予め決められたプロセスによって計算された第1の値OffsetSADだけ減少させられる。したがって、SAD値が減少させられるため、初期MVが他の候補MVより優先される。
【0067】
一例では、OffsetSADの値は、初期MVに関連付けられたSAD値の1/Nとして決定することができ、ここでNは整数(たとえば、4、8、または16)である。
【0068】
別の例では、OffsetSADの値は、定数値Mとして決定することができる。
【0069】
さらに別の例では、OffsetSADの値は、現在のCUの符号化情報に従って決定することができ、符号化情報は、符号化ブロックサイズ、動きベクトルの大きさ、初期MVのSAD、およびDMVRプロセス単位の相対位置のうちの少なくとも1つまたはこれらの組合せを含む。たとえば、OffsetSADの値は、初期MVに関連付けられたSAD値の1/Nとして決定することができ、ここでNは、現在のCUのブロックサイズに基づいて選択された整数値(たとえば、4、8、または16)である。現在のブロックサイズが予め決められたサイズ(たとえば、16×16)以上であるとき、Nの値は8に設定され、そうでない場合、Nの値は4に設定される。たとえば、OffsetSADの値は、初期MVに関連付けられたSAD値の1/Nとして決定することができ、ここでNは、DMVRプロセス単位の中心位置と現在のCUの中心位置との間の距離に基づいて選択された整数値(たとえば、4、8、または16)である。この距離が予め決められた閾値以上であるとき、Nは1つの値(たとえば、8)に設定され、そうでない場合、Nは別の値(たとえば、4)に設定される。
【0070】
これらの例では、初期MVに関連付けられたSAD値を特定の値OffsetSADだけ減少させることについて説明した。実際には、この概念は、異なる方法で実施することができる。たとえば、初期MVに関連付けられたSAD値を減少させる代わりに、DMVR探索プロセス中に、このOffsetSADの値を、他のMV候補に関連付けられたそれらのSADに加算することができ、これらの2つの場合の結果は同等である。
【0071】
いくつかの他の例では、非初期MV候補によって参照される参照ブロック間のSAD値は、予め決められたプロセスによって計算された第2の値OffsetSAD’だけ増大させられる。第2の値OffsetSAD’および第1の値OffsetSADは、同じであっても異なってもよい。したがって、非初期MVのSAD値が増大させられるため、初期MVが優先される。
【0072】
一例では、OffsetSAD’の値は、非初期MVに関連付けられたSAD値の1/Nとして決定することができ、ここでNは整数(たとえば、4、8、または16)である。
【0073】
別の例では、OffsetSAD’の値は、定数値Mとして決定することができる。
【0074】
さらに別の例では、OffsetSAD’の値は、現在のCUの符号化情報に従って決定することができ、符号化情報は、符号化ブロックサイズ、動きベクトルの大きさ、非初期MVのSAD値、および/または現在のCU内のDMVRプロセス単位の相対位置を含むことができる。たとえば、この値は、非初期MVを使用するBMからのSAD値の1/Nとして決定することができ、ここNは、ブロックサイズに基づいて選択された整数(たとえば、4、8、または16)である。現在のブロックサイズが予め決められたサイズ(たとえば、16×16)以上であるとき、Nの値は8に設定され、そうでない場合、Nの値は4に設定される。たとえば、OffsetSAD’の値は、非初期MVを使用するBMからのSAD値の1/Nとして決定することができ、ここでNは、DMVRプロセス単位の中心位置と現在のCUの中心位置との間の距離に基づいて選択された整数値(たとえば、4、8、または16)である。この距離が予め決められた閾値以上であるとき、Nは1つの値(たとえば、8)に設定され、そうでない場合、Nは別の値(たとえば、4)に設定される。
【0075】
これらの例では、非初期MV候補に関連付けられたSAD値を特定の値OffsetSAD’だけ増大させることについて説明した。実際には、この概念は、異なる方法で実施することができる。たとえば、非初期MVに関連付けられたSAD値を増大させる代わりに、DMVR探索プロセス中に、このOffsetSAD’の値を、初期MVに関連付けられたSADから引くことができ、これらの結果は同等である。
【0076】
いくつかのさらなる例では、非初期MVに関連付けられたSAD計算に使用されるサンプルの適切なサブセットに基づいて、初期MVに関連付けられたBM SADが計算される。すなわち、MV候補のSAD値に比べてより少ないサンプルを使用して、初期MVのSAD値が決定される。これは、初期MVのSAD値を減少させることに類似している。
【0077】
いくつかの他の例では、パラメータ誤差面に基づく分数サンプル補正のためのx
minおよびy
minを導出または取得するプロセスは、表3に示すsadMinusとsadCenterとの間の比較とsadPlusとsadCenterとの間の比較とを除外することによって簡略化される。すなわち、補正MVを導出する際、sadMinusとsadCenterとの間の比較とsadPlusとsadCenterとの間の比較とを除外することによって、分数サンプル補正が簡略化される。ここで、以下の2次元放物線方程式を解く際、sadMinusはE(-1,0)またはE(0,-1)の値を表し、sadPlusはE(1,0)またはE(0,1)の値を表し、sadCenterはE(0,0)の値を表す。
【数4】
【0078】
【0079】
いくつかの他の例では、パラメータ誤差面に基づく分数サンプル補正のためのxminおよびyminを取得するプロセスは、表4に示すコーナケースに対してdMvCを-4または4に制限することによってxminおよびyminの限界を減少させ、表5に示す反復カウンタの値を2に低減させる(たとえば、カウンタの値が2に初期化される)ことによって簡略化される。
【0080】
【0081】
【0082】
上記の例に従って、DMVRプロセスは、整数サンプルオフセット探索段階および/または分数サンプル補正段階で他のMV候補より初期MVが優先されるように修正され、それによって補正MVが元のMVより劣化するという起こりうるシナリオに起因するペナルティを低減させる。
【0083】
図6は、本開示のいくつかの実装形態によるビデオコーディングのための例示的な装置を示すブロック図である。装置600は、移動電話、タブレットコンピュータ、デジタル放送端末、タブレットデバイス、またはパーソナルデジタルアシスタントなどの端末とすることができる。
【0084】
図6に示すように、装置600は、処理コンポーネント602、メモリ604、電源コンポーネント606、マルチメディアコンポーネント608、オーディオコンポーネント610、入出力(I/O)インタフェース612、センサコンポーネント614、および通信コンポーネント616というコンポーネントのうちの1つまたは複数を含むことができる。
【0085】
処理コンポーネント602は通常、表示、電話の発着信、データ通信、カメラ動作、および記録動作に関係する動作など、装置600の全体的な動作を制御する。処理コンポーネント602は、上記の方法のステップのすべてまたは一部分を完了するための命令を実行する1つまたは複数のプロセッサ620を含むことができる。さらに、処理コンポーネント602は、処理コンポーネント602と他のコンポーネントとの間の相互作用を容易にするための1つまたは複数のモジュールを含むことができる。たとえば、処理コンポーネント602は、マルチメディアコンポーネント608と処理コンポーネント602との間の相互作用を容易にするためのマルチメディアモジュールを含むことができる。
【0086】
メモリ604は、装置600の動作に対応するために異なるタイプのデータを記憶するように構成される。そのようなデータの例には、装置600で動作する任意の応用例または方法のための命令、連絡先データ、電話帳データ、メッセージ、ピクチャ、ビデオなどが含まれる。メモリ604は、任意のタイプの揮発性もしくは不揮発性の記憶デバイスまたはこれらの組合せによって実施することができ、メモリ604は、スタティックランダムアクセスメモリ(SRAM)、電気的に消去可能なプログラマブル読取り専用メモリ(EEPROM)、消去可能なプログラマブル読取り専用メモリ(EPROM)、プログラマブル読取り専用メモリ(PROM)、読取り専用メモリ(ROM)、磁気メモリ、フラッシュメモリ、磁気ディスク、またはコンパクトディスクとすることができる。
【0087】
電源コンポーネント606は、装置600の異なるコンポーネントのための電力を供給する。電源コンポーネント606は、電源管理システム、1つまたは複数の電源、ならびに装置600に対する電力の生成、管理、および分配に関連する他のコンポーネントを含むことができる。
【0088】
マルチメディアコンポーネント608は、装置600とユーザとの間の出力インタフェースを提供する画面を含む。いくつかの例では、画面は、液晶ディスプレイ(LCD)およびタッチパネル(TP)を含むことができる。画面がタッチパネルを含む場合、この画面は、ユーザからの入力信号を受信するタッチ画面として実施することができる。タッチパネルは、タッチパネル上のタッチ、スライド、およびジェスチャを感知するための1つまたは複数のタッチセンサを含むことができる。タッチセンサは、タッチまたはスライド動作の境界を感知することができるだけでなく、タッチまたはスライド動作に関係する持続時間および圧力を検出することもできる。いくつかの例では、マルチメディアコンポーネント608は、フロントカメラおよび/またはリアカメラを含むことができる。装置600が撮影モードまたはビデオモードなどの動作モードにあるとき、フロントカメラおよび/またはリアカメラは、外部からのマルチメディアデータを受信することができる。
【0089】
オーディオコンポーネント610は、オーディオ信号を出力および/または入力するように構成される。たとえば、オーディオコンポーネント610は、マイクロフォン(MIC)を含む。装置600が発着信モード、記録モード、およびオーディオ認識モードなどの動作モードにあるとき、マイクロフォンは、外部からのオーディオ信号を受信するように構成される。受信したオーディオ信号は、メモリ604にさらに記憶することができ、または通信コンポーネント616を介して送信することができる。いくつかの例では、オーディオコンポーネント610は、オーディオ信号を出力するためのスピーカをさらに含む。
【0090】
I/Oインタフェース612は、処理コンポーネント602と周辺インタフェースモジュールとの間のインタフェースを提供する。上記の周辺インタフェースモジュールは、キーボード、クリックホイール、ボタンなどとすることができる。これらのボタンは、それだけに限定されるものではないが、ホームボタン、音量ボタン、スタートボタン、およびロックボタンを含むことができる。
【0091】
センサコンポーネント614は、装置600の異なる態様において、状態評価を提供するための1つまたは複数のセンサを含む。たとえば、センサコンポーネント614は、装置600のオン/オフ状態およびコンポーネントの相対位置を検出することができる。たとえば、コンポーネントとしては、装置600のディスプレイおよびキーパッドが挙げられる。センサコンポーネント614はまた、装置600または装置600のコンポーネントの位置変化、装置600に対するユーザの接触の有無、装置600の向きまたは加速/減速、および装置600の温度変化を検出することができる。センサコンポーネント614は、物理的に触れることなく、近傍の物体の存在を検出するように構成された近接センサを含むことができる。センサコンポーネント614は、撮像の応用例で使用されるCMOSまたはCCD画像センサなどの光センサをさらに含むことができる。いくつかの例では、センサコンポーネント614は、加速度センサ、ジャイロスコープセンサ、磁気センサ、圧力センサ、または温度センサをさらに含むことができる。
【0092】
通信コンポーネント616は、装置600と他のデバイスとの間の有線または無線の通信を容易にするように構成される。装置600は、WiFi、4G、またはこれらの組合せなどの通信規格に基づいて、無線ネットワークにアクセスすることができる。一例では、通信コンポーネント616は、外部のブロードキャスト(一斉送信)管理システムからブロードキャストチャネルを介して、ブロードキャスト信号またはブロードキャスト関連情報を受信する。一例では、通信コンポーネント616は、短距離通信を促進するための近距離通信(NFC)モジュールをさらに含むことができる。たとえば、NFCモジュールは、無線周波識別(RFID)技術、赤外線通信協会(IrDA)技術、超広帯域(UWB)技術、Bluetooth(BT)技術、および他の技術に基づいて実施することができる。
【0093】
一例では、装置600は、上記の方法を実行するために、特定用途向け集積回路(ASIC)、デジタル信号プロセッサ(DSP)、デジタル信号処理デバイス(DSPD)、プログラマブル論理デバイス(PLD)、フィールドプログラマブルゲートアレイ(FPGA)、コントローラ、マイクロコントローラ、マイクロプロセッサ、または他の電子要素のうちの1つまたは複数によって実施することができる。
【0094】
非一時的コンピュータ可読記憶媒体は、たとえば、ハードディスクドライブ(HDD)、固体状態ドライブ(SSD)、フラッシュメモリ、ハイブリッドドライブまたは固体状態ハイブリッドドライブ(SSHD)、読取り専用メモリ(ROM)、コンパクトディスク読取り専用メモリ(CD-ROM)、磁気テープ、フロッピーディスクなどとすることができる。
【0095】
図7は、本開示のいくつかの実装形態によるビデオコーディングにおけるデコーダ側動きベクトル補正の例示的なプロセスを示すフローチャートである。
【0096】
ステップ702で、プロセッサ620が、現在の符号化単位(CU)の初期動きベクトル(MV)を導出する。
【0097】
ステップ704で、プロセッサ620が、デコーダ側動きベクトル補正(DMVR)に対する複数の動きベクトル(MV)候補を導出する。
【0098】
ステップ706で、プロセッサ620が、初期MVおよびMV候補の各々に対するコスト値を決定する。
【0099】
ステップ708で、プロセッサ620が、初期MVを優先するようにコスト値のうちの少なくとも1つを調整することによって、更新されたコスト値を得る。
【0100】
ステップ710で、プロセッサ620が、初期MVおよびMV候補の更新されたコスト値に基づいて、補正MVを導出する。
【0101】
複数のコスト値のうちの少なくとも1つを調整することは、初期MVのコスト値を、予め決められたプロセスを使用して決定された第1の値だけ減少させること、またはMV候補のコスト値を、予め決められたプロセスを使用して決定された第2の値だけ増大させることを含むことができる。
【0102】
いくつかの例では、ビデオコーディングのための装置が提供される。この装置は、1つまたは複数のプロセッサ620と、1つまたは複数のプロセッサによって実行可能な命令を記憶するように構成されたメモリ604とを含み、1つまたは複数のプロセッサは、命令を実行するとき、
図7に示す方法を実行するように構成される。
【0103】
いくつかの他の例では、記憶された命令を有する非一時的コンピュータ可読記憶媒体604が提供される。これらの命令が1つまたは複数のプロセッサ620によって実行されるとき、命令は、プロセッサに、
図7に記載の方法を実行させる。
【0104】
本開示の説明は、例示の目的で提示されており、網羅的であること、または本開示に限定されることを意図したものではない。多くの修正形態、変形形態、および代替の実装形態が、上記の説明および添付の図面に提示される教示の利益を有する当業者には明らかである。
【0105】
これらの例は、本開示の原理を説明し、当業者であれば、様々な実装形態に関して本開示を理解し、企図される特定の用途に様々な修正が適合された状態で根本的な原理および様々な実装形態を最もよく利用することが可能になるように、選択および記載されている。したがって、本開示の範囲は、開示する実装形態の特有の例に限定されるものではなく、修正形態および他の実装形態が本開示の範囲内に包含されることを意図したものであることを理解されたい。
【手続補正書】
【提出日】2023-11-24
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
ビデオ復号の方法であって、
現在のブロックの初期動きベクトル(MV)を導出するステップと、
複数のMV候補の各々および前記初期MVに対するコスト値を決定するステップと、
前記初期MVに対するコスト値を減少させることによって、または、前記MV候補に対するコスト値を増大させることによって、更新されたコスト値を取得するステップと、
前記更新されたコスト値に基づいて、補正MVを導出するステップと
を含む、方法。
【請求項2】
前記初期MVに対する前記コスト値を減少させることが、前記初期MVに対する前記コスト値を、予め決められたプロセスを使用して決定された第1の値だけ減少させることを含む、請求項1に記載の方法。
【請求項3】
前記第1の値が、前記初期MVに対する前記コスト値の1/Nとして決定され、Nが整数値である、請求項2に記載の方法。
【請求項4】
前記第1の値が定数値として決定される、請求項2に記載の方法。
【請求項5】
前記第1の値が、前記現在のブロックの符号化情報に従って決定され、前記符号化情報が、符号化ブロックサイズ、動きベクトルの大きさ、前記初期MVの差分絶対値和(SAD)、およびデコーダ側動きベクトル補正(DMVR)プロセス単位の相対位置のうちの少なくとも1つまたは組合せを含む、請求項2に記載の方法。
【請求項6】
前記第1の値が、前記初期MVに対する前記コスト値の1/Nとして決定され、Nが、前記現在のブロックのブロックサイズに基づいて導出された整数値である、請求項5に記載の方法。
【請求項7】
前記第1の値が、前記初期MVに対する前記コスト値の1/Nとして決定され、Nが、前記DMVRプロセス単位の中心位置と前記現在のブロックの中心位置との間の距離に基づいて導出された整数値である、請求項5に記載の方法。
【請求項8】
前記MV候補に対する前記コスト値を増大させることが、前記MV候補に対する前記コスト値を、予め決められたプロセスを使用して決定された第2の値だけ増大させることを含む、請求項1に記載の方法。
【請求項9】
前記初期MVに対する前記コスト値が、前記MV候補に対する前記コスト値に比べてより少ないサンプルを使用して決定される、請求項1に記載の方法。
【請求項10】
前記補正動きベクトルを導出するステップが分数サンプル補正を含み、前記分数サンプル補正が、sadMinusとsadCenterとの間の比較とsadPlusとsadCenterとの間の比較とを除外することによって簡略化され、
【数1】
との2次元放物線方程式を解く際、sadMinusが、E(-1,0)またはE(0,-1)の値を表し、sadPlusが、E(1,0)またはE(0,1)の値を表し、sadCenterが、E(0,0)の値を表す、請求項1に記載の方法。
【請求項11】
前記補正動きベクトルを導出するステップが分数サンプル補正を含み、前記分数サンプル補正が、1/16ペルのMV精度のコーナケースに対して分数位置を-4または4に制限し、除算なし式solverで反復カウント値を2に低減させることによって簡略化される、請求項1に記載の方法。
【請求項12】
前記コスト値が差分絶対値和(SAD)である、請求項1から11のいずれか一項に記載の方法。
【請求項13】
ビデオ復号のための装置であって、
1つまたは複数のプロセッサと、
前記1つまたは複数のプロセッサによって実行可能な命令を記憶するように構成されたメモリと
を備え、
前記1つまたは複数のプロセッサが、前記命令を実行するとき、
現在のブロックの初期動きベクトル(MV)を導出し、
前記MV候補の各々および前記初期MVに対するコスト値を決定し、
前記初期MVに対するコスト値を減少させることによって、または、前記MV候補に対するコスト値を増大させることによって、更新されたコスト値を取得し、
前記更新されたコスト値に基づいて、補正MVを導出するように構成される、装置。
【請求項14】
前記初期MVに対する前記コスト値を減少させることが、前記初期MVに対する前記コスト値を、予め決められたプロセスを使用して決定された第1の値だけ減少させることを含む、請求項13に記載の装置。
【請求項15】
前記第1の値が、前記初期MVに対する前記コスト値の1/Nとして決定され、Nが整数値である、請求項14に記載の装置。
【請求項16】
前記第1の値が定数値として決定される、請求項14に記載の装置。
【請求項17】
前記第1の値が、前記現在のブロックの符号化情報に従って決定され、前記符号化情報が、符号化ブロックサイズ、動きベクトルの大きさ、前記初期MVに対する前記コスト値、およびデコーダ側動きベクトル補正(DMVR)プロセス単位の相対位置のうちの少なくとも1つまたは組合せを含む、請求項14に記載の装置。
【請求項18】
プロセッサに実行されると、請求項1から12のいずれか一項に記載の方法を前記プロセッサに実施させる命令を含むコンピュータプログラム。
【請求項19】
請求項1から12のいずれか一項に記載の方法を実施することにより復号されるべきビットストリーム。
【請求項20】
復号デバイスにより復号されるべきビットストリームを受信する方法であって、前記復号デバイスが、請求項1から12のいずれか一項に記載の方法を実施するように構成された1つまたは複数の処理ユニットを含む、方法。
【外国語明細書】