(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-26
(45)【発行日】2024-09-03
(54)【発明の名称】映像処理方法及び符号化器
(51)【国際特許分類】
H04N 19/52 20140101AFI20240827BHJP
【FI】
H04N19/52
【外国語出願】
(21)【出願番号】P 2023195147
(22)【出願日】2023-11-16
(62)【分割の表示】P 2023012074の分割
【原出願日】2019-03-12
【審査請求日】2023-11-16
(31)【優先権主張番号】PCT/CN2019/070315
(32)【優先日】2019-01-03
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】513068816
【氏名又は名称】エスゼット ディージェイアイ テクノロジー カンパニー リミテッド
【氏名又は名称原語表記】SZ DJI TECHNOLOGY CO.,LTD
【住所又は居所原語表記】6F,HKUST SZ IER Bldg.NO.9 Yuexing 1st Rd.Hi-Tech Park(South),Nanshan District Shenzhen,Guangdong 518057 China
(74)【代理人】
【識別番号】110000877
【氏名又は名称】弁理士法人RYUKA国際特許事務所
(72)【発明者】
【氏名】ゼン、シャオゼン
(72)【発明者】
【氏名】ワン、スホン
(72)【発明者】
【氏名】ワン、シャンシェ
(72)【発明者】
【氏名】マ、シウェイ
【審査官】岩井 健二
(56)【参考文献】
【文献】国際公開第2020/004990(WO,A1)
【文献】国際公開第2019/089933(WO,A1)
【文献】国際公開第2018/048904(WO,A1)
【文献】Hyeongmun Jang, et al.,[CE4-2.6 related] Simplified ATMVP with fixed sub-block size.,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-K0080-v1,11th Meeting: Ljubljana, SI,2018年07月,pp.1-5
【文献】Yi-Wen Chen, and Xianglin Wang,AHG5: Reducing VVC worst-case memory bandwidth by restricting bi-directional 4x4 inter CUs/Sub-block,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-L0104,12th Meeting: Macao, CN,2018年09月,pp.1-3
【文献】Suhong Wang, et al.,CE4-related: Simplification of ATMVP candidate derivation,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-L0198_r2,12th Meeting: Macao, CN,2022年07月29日,pp.1-5
【文献】Hahyun Lee, et al.,CE4-related: Fixed sub-block size and restriction for ATMVP,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-L0468-v2,12th Meeting: Macao, CN,2018年10月,pp.1-4
【文献】Suhong Wang, et al.,CE4-related: Remove redundancy between TMVP and ATMVP,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-M0345_v2,13th Meeting: Marrakech, MA,2019年01月,pp.1-5
【文献】Suhong Wang, et al.,CE4-1.5: Remove TMVP merge candidate for the specified blocksizes,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-N0212_v2,14th Meeting: Geneva, CH,2019年03月,pp.1-6
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/52
H04N 19/157
H04N 19/176
(57)【特許請求の範囲】
【請求項1】
現在画像ブロックの画素数が所定値以下である場合、時間動きベクトル予測(TMVP)操作に従って前記現在画像ブロックの時間動きベクトル候補の確定を実行しない段階と
を備え、
前記TMVP操作は、
時間上の隣接する画像から前記現在画像ブロックの関連ブロックを確定する段階と、
前記関連ブロックの動きベクトルに基づき前記現在画像ブロックの時間動きベクトル候補を確定する段階と
を含む、映像処理方法。
【請求項2】
前記現在画像ブロックの幅における画素数が8より小さいまたは前記現在画像ブロックの高さにおける画素数が8より小さい場合、高度/選択可能な時間動きベクトル予測(ATMVP)操作に従って前記現在画像ブロックの前記時間動きベクトル候補の確定を実行しない段階をさらに備え、
前記ATMVP操作は、
前記現在画像ブロックを、8×8の大きさの複数のサブブロックに分割する段階と、
前記複数のサブブロックのそれぞれに対応する前記時間上の隣接する画像における関連サブブロックを確定する段階と、
前記複数のサブブロックのそれぞれに対応する前記関連サブブロックの動きベクトルに基づいて前記現在画像ブロックの前記サブブロックの時間動きベクトル候補を確定する段階と
を含む、請求項1に記載の映像処理方法。
【請求項3】
第1種のモードまたは第2種のモードである、前記現在画像ブロックに対する動き情報候補リストを構築する段階と、
前記現在画像ブロックの予測画像ブロックを確定する段階であって、
前記動き情報候補リストが前記第1種のモードである場合、前記第1種のモードの前記動き情報候補リストから選択される動き情報に基づいて前記予測画像ブロックを確定する段階と、
前記動き情報候補リストが前記第2種のモードである場合、検索起点として前記第2種のモードの前記動き情報候補リストから選択された動き情報を使用することにより、変更された動き情報を検索する段階と、前記変更された動き情報に基づいて前記予測画像ブロックを確定する段階とを含む、前記予測画像ブロックを確定する段階と
をさらに備える、請求項1または2に記載の映像処理方法。
【請求項4】
前記時間上の隣接する画像から前記現在画像ブロックの前記関連ブロックを確定する段階は、
前記現在画像ブロックを含む現在画像における指定位置と同じ位置での前記時間上の隣接する画像における画像ブロックを前記現在画像ブロックの前記関連ブロックに確定する段階を含む、請求項1から3の何れか1つに記載の映像処理方法。
【請求項5】
前記指定位置は、前記現在画像ブロックの中心点、または右下角点での位置を含む、請求項4に記載の映像処理方法。
【請求項6】
前記時間上の隣接する画像は、前記現在画像ブロックの同位フレームである、請求項1から5の何れか1つに記載の映像処理方法。
【請求項7】
前記現在画像ブロックの前記関連ブロックは、前記現在画像ブロックの同位フレームである、請求項1から5の何れか1つに記載の映像処理方法。
【請求項8】
プログラム命令を格納するメモリと、
前記プログラム命令を実行することで、
現在画像ブロックの画素数が所定値以下である場合、時間動きベクトル予測(TMVP)操作に従って前記現在画像ブロックの時間動きベクトル候補の確定を実行しない、ように構成されるプロセッサと
を備え、
前記TMVP操作は、
時間上の隣接する画像から前記現在画像ブロックの関連ブロックを確定することと、
前記関連ブロックの動きベクトルに基づき前記現在画像ブロックの時間動きベクトル候補を確定することと
を含む、符号化器。
【請求項9】
前記プロセッサは、
前記現在画像ブロックの幅における画素数が8より小さいまたは前記現在画像ブロックの高さにおける画素数が8より小さい場合、高度/選択可能な時間動きベクトル予測(ATMVP)操作に従って前記現在画像ブロックの前記時間動きベクトル候補の確定を実行しない、ように構成され、
前記ATMVP操作は、
前記現在画像ブロックを、8×8の大きさの複数のサブブロックに分割することと、
前記複数のサブブロックのそれぞれに対応する前記時間上の隣接する画像における関連サブブロックを確定することと、
前記複数のサブブロックのそれぞれに対応する前記関連サブブロックの動きベクトルに基づいて前記現在画像ブロックの前記サブブロックの時間動きベクトル候補を確定することと
を含む、請求項8に記載の符号化器。
【請求項10】
前記プロセッサは、
第1種のモードまたは第2種のモードである、前記現在画像ブロックに対する動き情報候補リストを構築し、
前記現在画像ブロックの予測画像ブロックを確定することであって、
前記動き情報候補リストが前記第1種のモードである場合、前記第1種のモードの前記動き情報候補リストから選択される動き情報に基づいて前記予測画像ブロックを確定することと、
前記動き情報候補リストが前記第2種のモードである場合、検索起点として前記第2種のモードの前記動き情報候補リストから選択された動き情報を使用することにより、変更された動き情報を検索する段階と、前記変更された動き情報に基づいて前記予測画像ブロックを確定する段階とを含む、前記予測画像ブロックを確定することを行うように構成される、請求項8または9に記載の符号化器。
【請求項11】
前記時間上の隣接する画像から前記現在画像ブロックの前記関連ブロックを確定することは、
前記現在画像ブロックを含む現在画像における指定位置と同じ位置での前記時間上の隣接する画像における画像ブロックを前記現在画像ブロックの前記関連ブロックに確定することを含む、請求項8から10の何れか1つに記載の符号化器。
【請求項12】
前記指定位置は、前記現在画像ブロックの中心点、または右下角点での位置を含む、請求項11に記載の符号化器。
【請求項13】
前記時間上の隣接する画像は、前記現在画像ブロックの同位フレームである、請求項8から12の何れか1つに記載の符号化器。
【請求項14】
前記現在画像ブロックの前記関連ブロックは、前記現在画像ブロックの同位フレームである、請求項8から12の何れか1つに記載の符号化器。
【請求項15】
現在画像ブロックの画素数が所定値以下である場合、時間動きベクトル予測(TMVP)操作に従って前記現在画像ブロックの時間動きベクトル候補の確定を実行しない段階と、
ビットストリームを生成する段階と
を備え、
前記TMVP操作は、
時間上の隣接する画像から前記現在画像ブロックの関連ブロックを確定する段階と、
前記関連ブロックの動きベクトルに基づき前記現在画像ブロックの前記時間動きベクトル候補を確定する段階と
を含む、映像処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
著作権表示
本特許書類に開示された内容には著作権保護された資料が含まれている。この著作権は著作権所有者に所有されている。著作権所有者は、如何なる人による特許商標局の公式記録、文書におけるこの特許書類の複製又はこの特許の開示にも反対しない。
【0002】
本願はビデオコーデック分野に関し、さらに具体的に映像処理方法及び装置に関する。
【背景技術】
【0003】
現在、主要な映像符号化規格はフレーム間予測部分においてブロックに基づく動き補償技術を採用し、その主要原理は現在画像ブロックのために符号化済み画像から最類似ブロックを探し出すことであり、この過程は動き補償という。たとえば、1フレームの画像について、まず等大の符号化領域(Coding Tree Unit、CTU)に分け、たとえば、大きさが64×64又は128×128である。各CTUはさらに方形又は矩形の符号化ユニット(Coding Unit、CU)に区分されることができる。各CUは参照フレームから(一般には、現在フレームの時間領域近傍の再作成済みフレーム)最類似ブロックを現在CUの予測ブロックとして探し出す。現在ブロック(即ち現在CU)と類似ブロック(即ち現在CUの予測ブロック)との間の相対変位は動きベクトル(Motion Vector、MV)という。参照フレームから最類似ブロックを現在ブロックの予測ブロックとして探し出す過程は動き補償である。
【発明の概要】
【発明が解決しようとする課題】
【0004】
現在の予測モードにおいて、一般には2種類の形態で現在CUの動き情報候補リストを作成している。まずは空間的動きベクトル候補であり、一般には現在CUの隣接する符号化済みブロックの動き情報を候補リストに充填するものであり、次は時間的動きベクトル候補であり、時間動きベクトル予測(Temproal Motion Vector Prediction、TMVP)では現在CUの隣接する符号化済み画像における対応位置でのCUの動き情報が利用されている。動き情報候補リストにおける動きベクトル候補に基づき現在CUの動きベクトルを確定し、現在CUの動きベクトルに基づき現在CUの予測ブロックを確定する。
【0005】
現在の予測モードにはなお改善の余地がある。
【課題を解決するための手段】
【0006】
本願は従来のATMVP技術の性能利得を維持する前提でATMVP技術の複雑さを低減可能な映像処理方法及び装置を提供する。
【0007】
第1の態様は、
現在画像ブロックを確定することと、
前記現在画像ブロックのサイズが予め設定された条件を満たすと、時間動きベクトル予測TMVP操作、高度/選択可能な時間動きベクトル予測ATMVP操作の少なくとも一つによって前記現在画像ブロックの時間動きベクトル候補を確定することとを含み、
前記TMVP操作は、
時間上の隣接する画像から現在画像ブロックの関連ブロックを確定することと、
前記関連ブロックの動きベクトルに基づき前記現在画像ブロックの時間動きベクトル候補を確定することとを含み、
前記ATMVP操作は、
時間上の隣接する画像から現在画像ブロックの関連ブロックを確定することと、
前記現在画像ブロックを複数のサブ画像ブロックに区分することと、
前記関連ブロックから前記複数のサブ画像ブロックにおける各サブ画像ブロックに対応するサブ関連ブロックを確定することと、
前記各サブ画像ブロックに対応するサブ関連ブロックの動きベクトルに基づき前記現在画像ブロックのサブ画像ブロックの時間動きベクトル候補を確定することとを含む映像処理方法を提供する。
【0008】
本願に係る態様によれば、既存の冗長操作を簡単にすることができる。
【0009】
第2の態様は、
命令を記憶するメモリと前記メモリに記憶される命令を実行するプロセッサとを備え、前記プロセッサは、前記メモリに記憶される命令を実行することで、
現在画像ブロックを確定し、
前記現在画像ブロックのサイズが予め設定された条件を満たすと、時間動きベクトル予測のTMVP操作、高度/選択可能な時間動きベクトル予測のATMVP操作の少なくとも一つによって前記現在画像ブロックの時間動きベクトル候補を確定することに用いられ、
前記TMVP操作は、
時間上の隣接する画像から現在画像ブロックの関連ブロックを確定することと、
前記関連ブロックの動きベクトルに基づき前記現在画像ブロックの時間動きベクトル候補を確定することとを含み、
前記ATMVP操作は、
時間上の隣接する画像から現在画像ブロックの関連ブロックを確定することと、
前記現在画像ブロックを複数のサブ画像ブロックに区分することと、
前記関連ブロックから前記複数のサブ画像ブロックにおける各サブ画像ブロックに対応するサブ関連ブロックを確定することと、
前記各サブ画像ブロックに対応するサブ関連ブロックの動きベクトルに基づき前記現在画像ブロックのサブ画像ブロックの時間動きベクトル候補を確定することとを含む映像処理装置を提供する。
【0010】
第3の態様は、コンピュータに実行されることで前記コンピュータが第1の態様又は第1の態様のいずれか一つの可能な実施形態における方法を実現するコンピュータプログラムが記憶されているコンピュータの不揮発性記憶媒体を提供する。
【0011】
第4の態様は、コンピュータに実行されることで前記コンピュータが第1の態様又は第1の態様のいずれか一つの可能な実施形態における方法を実現する命令を含むコンピュータプログラム製品を提供する。
【図面の簡単な説明】
【0012】
【
図1】本願の実施例に係る映像処理方法の概略フローチャートである。
【
図2】本願の実施例に係る映像処理装置の概略ブロック図である。
【
図3】本願の実施例に係る符号化設備又は復号設備の一実施形態の概略ブロック図である。
【発明を実施するための形態】
【0013】
ビデオコーデックにおいて、予測手順は画像における冗長情報の低減に用いられる。予測ブロックとはフレーム画像における予測のための基本ユニットであり、一部の規格において、この予測ブロックを予測ユニット(Prediction Unit、PU)とも称する。フレーム画像を符号化/圧縮する前に、画像が複数の画像ブロックに区分され、さらにこの複数の画像ブロックにおける各画像ブロックが複数の画像ブロックに再区分可能であり、その他も同様である。異なる符号化方法において、分割された階層数が異なってもよく、適用される操作方法も異なる。符号化規格によっては、同一の階層上の画像ブロックの名称が異なる可能性がある。たとえば、一部のビデオ規格において、フレーム画像が最初に分割された複数の画像ブロックにおける各画像ブロックを符号化ツリーユニット(Coding Tree Unit、CTU)と称し、各符号化ツリーユニットがそれぞれ一つの符号化ユニット(Coding Unit、CU)を含むか或いは複数の符号化ユニットに再分割されることができ、符号化ユニットが予測方式によって一つ、二つ、四つ又はその他の数量の予測ユニットに分割されることができる。一部のビデオ規格において、この符号化ツリーユニットを最大符号化ユニット(Largest Coding Unit、LCU)とも称する。
【0014】
予測とは、この予測ブロックに類似する画像データを探索することであり、この予測ブロックの参照ブロックともいう。この予測ブロックとこの予測ブロックの参照ブロックとの差を符号化/圧縮することで、符号化/圧縮における冗長情報を低減させる。なお、予測ブロックと参照ブロックとの差はこの予測ブロックのピクセル値とこの参照ブロックの対応するピクセル値とを引き算した残差でもよい。予測はフレーム内予測とフレーム間予測とを含む。フレーム内予測とは、予測ブロックのあるフレーム内でこの予測ブロックの参照ブロックを探索することであり、フレーム間予測とは、予測ブロックのあるフレーム以外のその他のフレーム内でこの予測ブロックの参照ブロックを探索することである。
【0015】
既存の一部のビデオ規格において、予測ユニットが画像における最小のユニットであり、予測ユニットが複数の画像ブロックに引き続き区分されない。しかしながら、後述する「画像ブロック」又は「現在画像ブロック」とは予測ユニット(又は符号化ユニット)を指すとともに、画像ブロックが複数のサブ画像ブロックに再区分可能であり、各サブ画像ブロックについてさらに予測されることができる。現在画像ブロックは符号化(又は復号)対象の画像ブロックである。現在画像ブロックのある画像フレームは現在フレームという。たとえば、一部のビデオ規格において、現在画像ブロックが符号化ユニット(CU)である。
【0016】
本開示において、現在画像ブロックの予測前に、動き情報候補リストを作成し、この動き情報候補リストから選定された動き情報候補に基づき現在画像ブロックを予測する。ここで、本明細書に示される動き情報は、動きベクトルを含むか或いは動きベクトルと参照フレームの情報とを含むことができる。なお、この動き情報候補リストとは、現在ブロックの動き情報候補の集合であり、この動き情報候補リストにおける各動き情報候補は同一のバッファ(buffer)に記憶されてもよく、異なるバッファに記憶されてもよいが、ここで限定されない。後述する動き情報候補リストにおける動き情報のインデックスは現在ブロックの動き情報候補集合全体における動き情報のインデックスでもよく、或いは動き情報のあるバッファにおける動き情報のインデックスでもよいが、ここで限定されない。
【0017】
動き情報候補リストは多種類のモードで作成される。以下では、まず動き情報候補リストを作成する多種類のモードについて例を挙げて説明する。
【0018】
第1種のモードにおいて、第1例として、符号化側において、動き情報候補リストを作成した後で、以下のようなステップで現在画像ブロックの符号化を完成することができる。
【0019】
1)動き情報候補リストから最適の動き情報を選出し、この動き情報に基づき現在画像ブロックの動きベクトルMV1を確定するとともに、動き情報候補リストにおけるこの選出された動き情報のインデックスを取得する。
【0020】
2)現在画像ブロックの動きベクトルMV1に基づき、参照画像(即ち参照フレーム)から現在画像ブロックの予測画像ブロックを確定する。即ち、参照フレームにおける現在画像ブロックの予測画像ブロックの位置を確定する。
【0021】
3)現在画像ブロックと予測画像ブロックとの残差を求める。
【0022】
4)ステップ1)で取得されたインデックス及びステップ3)で取得された残差を復号側へ送信する。
例として、復号側において、以下のようなステップで現在画像ブロックを復号することができる。
【0023】
1)符号化側から残差及びインデックスを受信する。
【0024】
2)予め設定された方法で動き情報候補リストを作成する。なお、この予め設定された方法は符号化側で動き情報候補リストを作成する方法と一致してもよい。
【0025】
3)インデックスに基づき、動き情報候補リストから動き情報を選定するとともにこの選定された動き情報に基づき現在画像ブロックの動きベクトルMV1を確定する。
【0026】
4)動きベクトルMV1に基づき、現在画像ブロックの予測画像ブロックを取得し、さらに残差を結合し、復号して現在画像ブロックを得る。
【0027】
即ち第1種のモードにおいて、現在画像ブロックの動きベクトルは予測MV(Motion vector prediction、MVP)(例えば上記した動きベクトルMV1)に相当する。一部のビデオコーデック規格において、この第1種のモードがmergeモードとaffine mergeモードの少なくとも一つを含む。
【0028】
第2種のモードにおいて、第1種のモードとの相違点は、符号化側で動き情報候補リストから最適の動き情報を選出するとともにこの動き情報に基づき現在画像ブロックの予測MVを確定した後で、この予測MVを検索起点として動き検索を行い、最終的には検索された位置と検索起点との変位を動きベクトル差値(Motion vector difference、MVD)と示す。続いて、現在画像ブロックの予測MV+MVDに基づき、参照画像から現在画像ブロックの予測画像ブロックを確定する。従って、符号化側から復号側へ送信されるストリームには、第1種のモードに記載のインデックス番号と残差以外、さらにこのMVDが含まれる。一部のビデオコーデック規格において、この第2種のモードが高度動きベクトル予測(Advanced Motion Vector Prediction、AMVP)モードも含むことができる。
【0029】
種類の異なるモードでの動き情報候補リストの作成方式は同じでもよく、異なってもよい。同一種類の方式で作成された動き情報候補リストはその中の一つの類型のモードのみに適用してもよく、異なる類型の作成モードに適用してもよい。動き情報候補リストにおける候補者を確定する方法はその中の一つの類型のモードのみを利用してもよく、異なる類型の作成モードを利用してもよい。ここで限定されない。
【0030】
本開示において、2種類の作成方式による動き情報候補リストを提供し、説明の便宜のため、以下ではこの2種類の作成方式による動き情報候補リストをそれぞれ動きベクトルの第1候補リストと動きベクトルの第2候補リストという。この2種類のリストの相違点の一つは、動きベクトルの第1候補リストにおける少なくとも一つの候補者にはサブ画像ブロックの動きベクトルが含まれ、動きベクトルの第2候補リストにおける各候補者には画像ブロックの動きベクトルが含まれることである。
【0031】
上記のように、ここでいう画像ブロックと現在画像ブロックは同一類型の概念であり、いずれも予測ユニット(又は符号化ユニット)であり、サブ画像ブロックとは、この画像ブロックを元として分割された複数のサブ画像ブロックである。動きベクトルの第1候補リストにおける候補者で予測する場合、この候補者に基づき現在画像ブロックの参照ブロックを確定し、その後でこの画像ブロックとこの参照ブロックとの残差を算出する。動きベクトルの第2候補リストにおける候補者で予測する場合、用いられる候補者はサブ画像ブロックの動きベクトルであると、この候補者に基づき現在画像ブロックにおける各サブ画像ブロックの参照ブロックを確定し、その後で現在画像ブロックにおける各サブ画像ブロックとその参照ブロックとの残差を算出し、各サブ画像ブロックの残差を合わせてこの現在画像ブロックの残差になる。
【0032】
本態様に係る現在画像ブロックの動きベクトルの第2候補リストは上記した第1種のモードと第2種のモードの少なくとも一つに適用することができる。たとえば、一部のビデオコーデック規格において、この動きベクトルの第2候補リストがMerge候補リストにおける通常Merge動き情報候補リスト(Normal Merge Candidate List)でもよい。一部のビデオコーデック規格において、この動きベクトルの第2候補リストがAMVP候補リスト(AMVP Candidate List)でもよい。一部のビデオコーデック規格において、この動きベクトルの第1候補リストがMerge候補リストにおけるアフィンMerge動き情報候補リスト(Affine Merge Candidate List)でもよい。動きベクトルの第2候補リストは別の名称を有してもよいと理解されうる。
【0033】
本願に係る作成方式で形成された動きベクトルの第1候補リストと動きベクトルの第2候補リストが符号化側と復号側に適用されると理解されうる。言い換えると、本願に係る方法の実行主体は符号化側でもよく、復号側でもよい。
【0034】
一例として、動きベクトルの第1候補リストと動きベクトルの第2候補リストの少なくとも一つにおける候補者を確定するとき、TMVP操作と高度/選択可能な時間動きベクトル予測(Advanced/Alternative temporal motion vector prediction、ATMVP)操作の少なくとも一つによってその中の候補者を確定することができる。
【0035】
なお、ATMVP操作は動きベクトル予測メカニズムである。ATMVP技術の基本思想は現在画像ブロック(例えば現在CU)内の複数のサブブロックの動き情報を取得することで動き補償を行う。ATMVP操作は候補リスト(例えばmerge/affine merge候補リスト又はAMVP候補リスト)の作成に現在画像ブロック内の複数のサブブロックの動き情報を候補として導入する。ATMVP技術の実現は大体、現在画像ブロックの動きベクトル候補リスト又は現在画像ブロックの隣接する画像ブロックの動きベクトルをスキャンすることで、時間ベクトルを確定する第1ステップと、現在画像ブロックをN×Nのサブブロック(例えばsub-CU)に区分し、第1ステップで取得された時間ベクトルに基づき参照フレームにおける各サブブロックの対応するブロックを確定するとともに参照フレームにおける各サブブロックの対応するブロックの動きベクトルに基づき、各サブブロックの動きベクトルを確定する第2ステップとの2ステップでできる。
【0036】
たとえば、動きベクトルの第1候補リストを作成する場合、ATMVP操作によって確定された動きベクトルを候補者(例えば第1の候補者)としてリストに入れることができる。動きベクトルの第2候補リストを作成する場合、TMVP操作によって確定された動きベクトルを候補者としてリストに入れることができる。たとえば、TMVP操作によって確定された時間動きベクトル候補は候補者として通常Merge候補リスト及びAMVP候補リストに同時に加わることができる。またたとえば、TMVP操作によって確定された時間動きベクトル候補は候補者として通常Merge候補リスト又はAMVP候補リストに加わることができる。
【0037】
一例として、TMVP操作は、時間上の隣接する画像から現在画像ブロックの関連ブロックを確定することと、前記関連ブロックの動きベクトルに基づき前記現在画像ブロックの時間動きベクトル候補を確定することとを含む。
【0038】
一例として、ATMVP操作は、時間上の隣接する画像から現在画像ブロックの関連ブロックを確定することと、前記現在画像ブロックを複数のサブ画像ブロックに区分することと、前記関連ブロックから前記複数のサブ画像ブロックにおける各サブ画像ブロックに対応するサブ関連ブロックを確定することと、前記各サブ画像ブロックに対応するサブ関連ブロックの動きベクトルに基づき前記現在画像ブロックのサブ画像ブロックの時間動きベクトル候補を確定することとを含む。
【0039】
なお、TMVP操作及びATMVP操作に係る時間上の隣接する画像は現在画像ブロックのある画像に時間上で最も近い参照画像でもよく、又は、この時間上の隣接する画像はコーデック側で予め設定された参照画像でもよく、又は、この時間上の隣接する画像は現在画像ブロックの参照画像が映像パラメータセット、シーケンスヘッダー、シーケンスパラメータセット、画像ヘッダー、画像パラメータセット、スライスヘッダーに指定された参照画像でもよい。一例として、この時間上の隣接する画像は現在画像ブロックの同位フレームでもよい。同位フレームとはスライスレベル情報ヘッダーに設定された動き情報を取得して予測するためのフレームである。ある応用シナリオにおいて、この同位フレームが位置関連フレーム(collocated picture)と呼ばれる。
【0040】
一例として、現在画像ブロックの関連ブロックは現在画像ブロックの同位ブロックでもよい。一部のビデオコーデック規格において、関連ブロックはcollocated block又はcorresponding blockと呼ばれる。ここで、同位ブロックは同位フレームにおける現在画像ブロックと同じ位置を有する画像ブロックでもよく、又は同位フレームにおける現在画像ブロックの位置と同じ位置差を有する画像ブロックでもよい。
【0041】
なお、TMVP操作とATMVP操作とでは現在画像ブロックの関連ブロックの確定方法が同じでもよく、異なってもよい。
【0042】
一例として、TMVP操作とATMVP操作における現在画像ブロックの関連ブロックの確定方法は同じであり、いずれも、前記時間上の隣接する画像における現在画像ブロックの指定位置と同じ位置での画像ブロックを前記現在画像ブロックの関連ブロックに確定すること、又は、前記時間上の隣接する画像における前記現在画像ブロックの空間上の隣接する指定位置と同じ位置での画像ブロックを前記現在画像ブロックの関連ブロックに確定することを含む。
【0043】
ATMVP操作とTMVP操作の第1ステップの一例として、いずれも現在には動きベクトルmerge候補リストに加わった空間動きベクトル候補全体をスキャンすることで、現在画像ブロックの関連ブロックを確定する。この例と比べると、「前記時間上の隣接する画像における現在画像ブロックの指定位置と同じ位置での画像ブロックを前記現在画像ブロックの関連ブロックに確定するか、或いは前記時間上の隣接する画像における前記現在画像ブロックの空間上の隣接する指定位置と同じ位置での画像ブロックを前記現在画像ブロックの関連ブロックに確定する」ことでTMVP操作とATMVP操作における冗長操作を簡単にすることができる。
【0044】
なお、現在画像ブロックの関連ブロックの大きさは現在画像ブロックの大きさと同じでもよく、或いは現在画像ブロックの関連ブロックの大きさがデフォルト値でもよい。
【0045】
なお、現在画像ブロックにおける指定位置は現在画像ブロックにおけるいずれか一つの位置でもよいが、たとえば、現在画像ブロックの左上角点、右上角点、中心点、左下角点、右下角点のいずれか一つでもよい。現在画像ブロックにおける空間上の隣接する指定位置とは現在画像における現在画像ブロック以外のある指定位置であり、例えば現在画像ブロックに隣接する指定位置である。
【0046】
上記した指定位置が現在画像ブロックの左上角点であることを例とし、時間上の隣接する画像には位置が現在画像ブロックの左上角点と同じであるピクセルがあり、このピクセルのある符号化済み/復号済みブロックを現在画像ブロックの関連ブロックとしてもよく、又はこのピクセルを左上角点とし且つ大きさが現在画像ブロックの大きさと同じか或いは大きさが予め設定された大きさである画像ブロックを現在画像ブロックの関連ブロックとしてもよい。
【0047】
ATMVP操作の一例として、サブ画像ブロックの大きさについてフレームレベルの自己適応で設置し、サブ画像ブロックの大きさを4×4としてデフォルトし、ある条件を満たすと、サブ画像ブロックの大きさは8×8に設置される。たとえば、符号化側で現在画像ブロックを符号化するとき、同一の時間階層における直前の符号化画像ブロックについてATMVPモードでの符号化を行った時のCUにおける各サブ画像ブロックの平均ブロック大きさを算出し、平均ブロック大きさが閾値より大きくなると、現在画像ブロックのサブ画像ブロックのサイズを8×8とし、さもなければデフォルト値4×4を使う。現在、次世代の映像符号化規格(Versatile Video Coding、VVC)において、8×8の大きさで動きベクトルが記憶されている。サブ画像ブロックの大きさを4×4とすると、このサブ画像ブロックの動きベクトルの大きさ(4×4でもある)は既存規格における動きベクトルの記憶粒度に満たさないことが理解されうる。また、このATMVP操作の例において、現在画像ブロックを符号化するには、同一の時間階層の直前の符号化済み画像ブロックのサブ画像ブロックの大きさの情報を記憶する必要がある。
【0048】
ATMVP操作の別の一例として、現在画像ブロックはCUであり、それを区分した後に得たサブ画像ブロックはsub-CUと称することができる。好ましくは、サブ画像ブロックの大きさとサブ画像ブロックの関連ブロックの大きさの少なくとも一つが64画素以上に固定される。好ましくは、サブ画像ブロックの大きさとサブ画像ブロックの関連ブロックの大きさの少なくとも一つはいずれも8×8画素に固定される。現在画像ブロックのサブ画像ブロックの大きさを8×8に固定して設定すると、ビデオ規格VVCに規定する動きベクトルの記憶粒度を満たす一方で、直前の符号化済み画像ブロックのサブ画像ブロックの大きさの情報を記憶する必要がなくなるので、記憶スペースを節約することができる。
【0049】
サブ画像ブロックの大きさとサブ画像ブロックの関連ブロックの大きさの少なくとも一つが64の画素に等しいことを確保する前提で、サブ画像ブロックの大きさとサブ画像ブロックの関連ブロックの大きさの少なくとも一つは別のサイズでもよく、例えばサブ画像ブロックの大きさとサブ画像ブロックの関連ブロックの大きさの少なくとも一つはA×Bであり、ここで、A≦64、B≦64、AとBがいずれも4の整数でもよいと理解されうる。たとえば、サブ画像ブロックの大きさとサブ画像ブロックの関連ブロックの大きさの少なくとも一つは4×16画素又は16×4画素である。
【0050】
一部の実施形態において、動きベクトルの記憶粒度は8×8ではなく、その他の数値でもよい。好ましくは、現在画像ブロックのサブ画像ブロックの大きさを動きベクトルの粒度と同じように設定し、いずれもx×yであり、このxとyは正の整数である。
【0051】
一部の実施形態において、動きベクトルの第1候補リストと動きベクトルの第2候補リストの少なくとも一つにおける現在ブロックの候補者を確定する場合、現在画像ブロックのサイズが予め設定された条件を満たすと、ATMVP操作によって動きベクトルの第1候補リストと動きベクトルの第2候補リストの少なくとも一つにおける現在画像ブロックの時間動きベクトル候補を確定する。
【0052】
一部の実施形態において、動きベクトルの第1候補リストと動きベクトルの第2候補リストの少なくとも一つにおける現在ブロックの候補者を確定する場合、現在画像ブロックのサイズが予め設定された条件を満たさないと、ATMVP操作を終了し、即ちATMVP操作に基づき動きベクトルの第1候補リストと動きベクトルの第2候補リストの少なくとも一つにおける現在画像ブロックの時間動きベクトル候補を確定しない。
【0053】
一部の実施形態において、動きベクトルの第1候補リストと動きベクトルの第2候補リストの少なくとも一つにおける各画像ブロックの候補者を確定する場合、現在画像ブロックのサイズが予め設定された条件を満たすと、TMVP操作によって動きベクトルの第1候補リストと動きベクトルの第2候補リストの少なくとも一つにおける現在画像ブロックの時間動きベクトル候補を確定する。
【0054】
一部の実施形態において、動きベクトルの第1候補リストと動きベクトルの第2候補リストの少なくとも一つにおける各画像ブロックの候補者を確定する場合、現在画像ブロックのサイズが予め設定された条件を満たさないと、TMVP操作を終了し、即ちTMVP操作によって動きベクトルの第1候補リストと動きベクトルの第2候補リストの少なくとも一つにおける現在画像ブロックの時間動きベクトル候補を確定する。
【0055】
ここで、上記した4種類の実施形態の少なくとも一つの実施形態において、予め設定された条件は一つの条件又は複数の条件の組合せを含むことができる。たとえば、現在画像ブロックのサイズが第1条件群を満たしてはじめて、ATMVP操作によって現在画像ブロックの時間動きベクトル候補を確定する。現在画像ブロックのサイズが第2条件群を満たしてはじめて、TMVP操作によって現在画像ブロックの時間動きベクトル候補を確定する。ここで、第1条件群における条件数量は少なくとも一つである。ここで、第2条件群の条件数量は少なくとも一つである。ここで、第1条件群と第2条件群は完全に同じでもよく、又はまったく異なってもよく、又は一部が同じでもよい。
【0056】
一例として、現在画像ブロックのサイズはx1×y1であり、現在画像ブロックのサブ画像ブロックについてデフォルトして設定されたサイズがx2×y2であり、ここで、x1、x2、y1、y2がいずれも正の整数であり、予め設定された条件は、x1がx2以上であること、y1がy2以上であることの少なくとも一つを含む。たとえば、x1がx2以上であるか、y1がy2以上であるかの少なくとも一つである場合、ATMVP操作とTMVP操作の少なくとも一つによって現在画像ブロックの時間動きベクトル候補を確定する。
【0057】
一例として、x1がx2より小さい又はx2以下であるか、y1がy2より小さい又はy2以下であるかの少なくとも一つである場合、前記ATMVP操作を実行しないように設定する。たとえば、上記した動きベクトルの第1候補リストを作成するとき、加わる動きベクトル候補者にはATMVP操作によって確定された候補者がない。
【0058】
一例として、現在画像ブロックのサイズがx1×y1であり、予め設定されたサイズがx3×y3であり、ここで、x1、x3、y1、y3がいずれも正の整数であり、予め設定された条件はx1がx3以上であること、y1がy3以上であることの少なくとも一つを含む。たとえば、x1がx3より小さいもしくはx3以下であるか、y1がy3より小さいもしくはy3以下であるかの少なくとも一つである場合、ATMV操作とTMVP操作の少なくとも一つによって現在画像ブロックの時間動きベクトル候補を確定する。
【0059】
一例として、x1がx3より小さいもしくはx3以下であるか、y1がy3より小さいもしくはy3以下であるかの少なくとも一つである場合、前記TMVP操作を実行しないように設定する。TMVP操作をジャンプするには、ハードウェアの設計で、できるだけ同じ大きさの処理領域で符号化又は復号を完成する時刻が一致する必要があるので、比較的小さいブロックを含む領域に対して、必要とする流水時間がその他の領域を遥かに超えるので、小さいブロックの流水時間を節約することはハードウェアの並進処理にとって十分に有利である。現在画像ブロックのサイズが小さい場合、TMVP操作をジャンプすることで、小さいブロックの流水時間を節約することができる。それ以外、従来の符号化技術において、時間領域の相関性に関する利用率が高くなりつつあり、ATMVPなどの多くの時間領域予測技術が採用されるので小さいブロックにとって、TMVPをジャンプすることによる性能影響が無視できる。
【0060】
本明細書においてTMVP操作を実行しないか或いはTMVP操作をジャンプすることが記載されるとき、第1種のモードと第2種のモードの動き情報候補リストについていずれもTMVP操作によって候補者を確定する場合、第1種のモードのみ又は第2種のモードのみの動き情報候補リストについてTMVP操作をジャンプしてもよいが、或いは第1種のモード及び第2種のモードの動き情報候補リストのいずれもTMVP操作をジャンプしてもよい。
【0061】
一例として、動きベクトルの記憶粒度が前記のx3×y3である。
【0062】
一例として、現在画像ブロックのサイズが第1デフォルトサイズと同じである場合、前記TMVP操作と前記ATMVP操作のいずれか一つのみを実行する。たとえば、ATMVP操作をしないか或いはTMVP操作をしないように設定する。たとえば、ATMVP操作のみを実行する。たとえば、TMVP操作をしないように設定する。一例として、この第1デフォルトサイズが動きベクトルの記憶粒度のサイズと同じでもよい。現在画像ブロックのサイズが第1デフォルトサイズと同じである場合、ATMVP技術とTMVP技術にはある程度の冗長があり、両技術はいずれも現在画像ブロックについて一組の時間動き情報を導出するものなので、その中の一つの操作をしないように設定することで、一部の冗長操作をジャンプし、コーデックの時間を効率的に節約することができる。一部の実施形態において、ATMVPの場合、導出時に現在画像ブロックに既存のmergeリストにおける動きベクトル候補を使うのに対して、TMVPの場合、隣接する符号化済み画像における固定位置から動きベクトル候補を直接導出し、このような場合、ある程度ATMVP技術で導出される動きベクトルがTMVP技術より有効で且つ自己適応であるのでTMVP操作をしないように設定する。
【0063】
一例として、現在画像ブロックは一つの動きベクトルの記憶粒度を含む場合、ATMVP操作とTMVP操作の少なくとも一つによって現在画像ブロックの時間動きベクトル候補を確定する。即ち現在画像ブロックのサイズが一つの動きベクトルの記憶粒度をカバーすることができる場合、ATMVP操作とTMVP操作の少なくとも一つによって現在画像ブロックの時間動きベクトル候補を確定する。
【0064】
一例として、現在画像ブロックは一つの動きベクトルの記憶粒度を含まないか或いは現在画像ブロックのサイズが一つの動きベクトルの記憶粒度に等しい場合、TMVP操作をしないように設定する。TMVP技術は一組の時間動き情報を導出し、現在画像ブロックが一つの動きベクトルの記憶粒度を含まない場合、導出された動きベクトルが同じくなる結果が生じ、必要としない区分操作を起こすおそれがある。
【0065】
一例として、予め設定された条件は、前記現在画像ブロックの画素数が所定値より大きいか或いは所定値以上であることを含む。一例として、前記現在画像ブロックの画素数が前記所定値より小さいか或いは前記所定値以下であると、前記TMVP操作と前記ATMVP操作の少なくとも一つを実行しない。たとえば、この所定値が32又は64でもよい。
【0066】
具体的に、現在CUブロックの幅又は高さが8より小さい場合、現在CUブロックの幅、高さはいずれも8に等しい場合及び現在CUブロックの幅又は高さが8より小さい又は現在CUブロックの幅、高さがいずれも8に等しい場合、TMVP操作をしないように設定し、一部の冗長操作をジャンプするので、コーデックの時間を効率的に節約することができる。
【0067】
一部の実施形態において、現在画像ブロックの動きベクトルの第2候補リストの作成過程において、TMVP操作過程を終了し、即ちTMVP技術によりこの動きベクトルの第2候補リストに加わった時間動きベクトル候補を確定しない。ATMVP操作、HMVP操作等のその他の時間動き情報に関する加わった操作について、現在の作成過程におけるTMVP技術の効果が大幅に低減され、それと上記したそれらの技術とにはある程度の冗長があり、即ち状況によっては、同じ動き情報を導出して、候補リストの作成過程が煩雑すぎ、効率が低くなる場合がある。一例として、現在画像ブロックについてmerge動きベクトル候補リストを作成する過程においてTMVP過程を終了する。このような場合、時間領域の関連情報がなお有効に利用され、且つmerge candidate listの作成プロセスがより簡易であり、ある程度コーデック側の複雑さを低減することができる。
【0068】
動き補償の予測段階で、従来主流とする映像符号化規格では並進モデルのみが適用されている。しかしながら、現実世界では、例えば拡大/縮小、回転、遠景の動き及びその他のランダムな動きなどの動き態様が非常に多い。フレーム間予測の効率を向上させるために、コーデック技術にアフィン変換(affine)動き補償モデルを導入することができる。アフィン変換動き補償は一組の制御点(control point)のMVによって画像ブロックのアフィン運動場を描く。一例として、アフィン変換動き補償モデルは4つパラメータAffineモデルを採用すると、この組の制御点は二つの制御点(例えば画像ブロックの左上角点と右上角点)を含む。一例として、アフィン変換動き補償モデルは6つパラメータAffineモデルを採用すると、この組の制御点は三つの制御点(例えば画像ブロックの左上角点、右上角点及び左下角点)を含む。
【0069】
一実施形態において、動きベクトルの第1候補リストを作成するとき、加わる候補者が一組の制御点のMVでもよく、又は制御点予測動きベクトル(CPMVP、Control point motion vector prediction)と称する。好ましくは、動きベクトルの第1候補リストがMergeモードに適用可能であり、具体的には、Affine Mergeモードと呼ぶことができ、相応には、この動きベクトルの第1候補リストがaffine merge candidate listと呼ぶことができる。Affine Mergeモードにおいて、動きベクトルの第1候補リストにおける予測をそのまま現在画像ブロックのCPMV(Control point motion vector)として使用し、即ちaffine運動推定過程を必要としない。
【0070】
一実施形態において、ATMVP技術によって確定された候補者を動きベクトルの第1候補リストに加えることができる。
【0071】
ここで、一例として、現在画像ブロックの関連ブロックの制御点の動きベクトル組を候補者として動きベクトルの第1候補リストに加える。動きベクトルの第1リストにおけるこの候補者で予測する場合、現在画像ブロックの関連ブロックの制御点の動きベクトル組に基づきこの現在画像ブロックを予測する。
【0072】
ここで、一例として、上記したように、現在画像ブロックの関連ブロックの代表動きベクトルを候補者として動きベクトルの第1候補リストに加える。さらに、好ましくは、この候補者がATMVP技術に基づき確定されたものであるようにマークする。動きベクトルの第1候補リストにおけるこの候補者で予測する場合、このマーク及び候補者に基づき現在画像ブロックの関連ブロックを確定し、現在画像ブロックとこの関連ブロックとを同じ方式で複数のサブ画像ブロックに区分し、現在画像ブロックにおける各サブ画像ブロックが前記関連ブロックにおける各サブ画像ブロックに一対一に対応し、この関連ブロックにおける各サブ画像ブロックの動きベクトルに基づき現在画像ブロックにおける対応するサブ画像ブロックの動きベクトルをそれぞれ予測する。
【0073】
ここで、好ましくは、関連ブロックに動きベクトルにより取得不可能なサブ画像ブロックがある場合、この取得不可能な動きベクトルを代替し、この関連ブロックの代表動きベクトルで現在画像ブロックにおける対応するサブ画像ブロックを予測する。好ましくは、関連ブロックの代表動きベクトルはいずれも取得不可能である場合、ATMVP技術によって確定された候補者をこの動きベクトルの第2候補リストに加えることを止める。一例として、関連ブロックにおけるサブ画像ブロックが取得できないか或いは関連ブロックにおけるサブ画像ブロックにフレーム内符号化モードが適用される場合、この関連ブロックに取得不可能な動きベクトルのサブ画像ブロックが生じることを確定する。
【0074】
ここで、好ましくは、動きベクトルの第1候補リストにおける各候補者には一組の制御点の動きベクトルが含まれ、現在画像ブロックの関連ブロックの代表動きベクトルを動きベクトルの第1候補リストに加える場合、データ形式の一致性を確保するために、この関連ブロックの代表動きベクトルを候補者における各制御点の動きベクトルに挿入する(即ちこの候補者における各制御点の動きベクトルはいずれもこの関連ブロックの代表動きベクトルに代入される)。
【0075】
ここで、好ましくは、現在画像ブロックの関連ブロックの代表動きベクトルはこの関連ブロックの中心位置の動きベクトルでもよく、又はその他の代表関連ブロックの動きベクトルでもよいが、ここで限定されていない。
【0076】
図1に示すように、本願の実施例は以下のようなステップを含む映像処理方法をさらに提供する。
【0077】
S110、現在画像ブロックを確定する。
【0078】
S120、前記現在画像ブロックのサイズが予め設定された条件を満たすと、時間動きベクトル予測のTMVP操作と高度/選択可能な時間動きベクトル予測のATMVP操作の少なくとも一つによって前記現在画像ブロックの時間動きベクトル候補を確定する。
【0079】
ここで、前記TMVP操作は、時間上の隣接する画像から現在画像ブロックの関連ブロックを確定することと、前記関連ブロックの動きベクトルに基づき前記現在画像ブロックの時間動きベクトル候補を確定することとを含む。
【0080】
ここで、前記ATMVP操作は、時間上の隣接する画像から現在画像ブロックの関連ブロックを確定することと、前記現在画像ブロックを複数のサブ画像ブロックに区分することと、前記関連ブロックから前記複数のサブ画像ブロックにおける各サブ画像ブロックに対応するサブ関連ブロックを確定することと、前記各サブ画像ブロックに対応するサブ関連ブロックの動きベクトルに基づき前記現在画像ブロックの時間動きベクトル候補を確定することとを含む。
【0081】
図1に示すような映像処理方法について上記の内容を参照して、ここで詳細を省略する。
【0082】
上記では
図1を参照しながら本願の方法実施例を説明したが、以下では
図1に示すような方法実施例に対応する装置実施例を説明する。装置実施例に関する記載は方法実施例に関する記載と互いに対応するので、詳細に記載されていない内容について上記の方法実施例を参照することができ、文脈の簡略化のために、ここで詳細を省略する。
【0083】
図2は本願の実施例に係る映像処理装置200の概略ブロック図である。この装置900は
図7に示すような方法実施例の実行に用いられる。この装置200は、
現在画像ブロックを確定する第1確定モジュール210と、
前記現在画像ブロックのサイズが予め設定された条件を満たすと、時間動きベクトル予測のTMVP操作と高度/選択可能な時間動きベクトル予測のATMVP操作の少なくとも一つによって前記現在画像ブロックの時間動きベクトル候補を確定するための第2確定モジュール220、とを備える。
【0084】
ここで、前記TMVP操作は時間上の隣接する画像から現在画像ブロックの関連ブロックを確定することと、前記関連ブロックの動きベクトルに基づき前記現在画像ブロックの時間動きベクトル候補を確定することとを含む。
【0085】
ここで、前記ATMVP操作は、時間上の隣接する画像から現在画像ブロックの関連ブロックを確定することと、前記現在画像ブロックを複数のサブ画像ブロックに区分することと、前記関連ブロックから前記複数のサブ画像ブロックにおける各サブ画像ブロックに対応するサブ関連ブロックを確定することと、前記各サブ画像ブロックに対応するサブ関連ブロックの動きベクトルに基づき前記現在画像ブロックの時間動きベクトル候補を確定することとを含む。
【0086】
本実施例における第1確定モジュールと第2確定モジュールはプロセッサによって実現できることが理解されうる。
【0087】
本願の実施例は映像処理装置をさらに提供する。装置は上記した方法実施例に適用できる。装置は命令を記憶するメモリと、メモリに記憶される命令を実行するプロセッサと、を備え、メモリに記憶される命令の実行でプロセッサが上記した方法実施例に基づく方法を実行する。
【0088】
好ましくは、この装置は周辺機器に通信するための通信インターフェースをさらに含んでもよい。たとえば、プロセッサは通信インターフェースの受信信号と送信信号の少なくとも一つを制御する。
【0089】
本願に係る装置はコーダーに適用でき、デコーダーにも適用できる。
【0090】
図3は本願に係る符号化設備又は復号設備(符号解読設備1100と称する)の一実施形態の概略ブロック図である。ここで、符号解読設備1100はプロセッサ1110と、メモリ1130と、バスシステム1150とを含むことができる。ここで、プロセッサとメモリはバスシステムを通じて接続され、このメモリが命令を記憶し、このプロセッサがこのメモリに記憶される命令を実行する。符号化設備のメモリにはプログラムコードが記憶され、且つプロセッサはメモリに記憶されるプログラムコードを呼び出して本願に記載の各映像符号化又は復号方法、特に本願に記載のフレーム間予測方法を実行することができる。重複しないように、ここで詳細を省略する。
【0091】
本願の実施例において、このプロセッサ1110はCPUでもよく、このプロセッサ1110はその他の汎用のプロセッサ、DSP、ASIC、FPGA又はその他のプログラマブルロジックデバイス、ディスクリートゲート又はトランジスタロジックデバイス、ディスクリートハードウェアコンポーネントなどでもよい。汎用のプロセッサはマイクロプロセッサでもよく、又はこのプロセッサは任意の通常のプロセッサなどでもよい。
【0092】
このメモリ1130はROM又はRAMを含むことができる。任意のその他の適切な類型の記憶機器もメモリ1130に用いられる。メモリ1130はプロセッサ1110によりバス1150を通じてアクセスするコードとデータ1131を含んでもよい。メモリ1130は、オペレーティングシステム1133と、プロセッサ1110が本願に係る映像符号化又は復号方法(特に本願に係るフレーム間予測方法)を実行するための少なくとも一つのプログラムを含むアプリケーションプログラム1135と、をさらに含むことができる。たとえば、アプリケーションプログラム1135はアプリケーション1~Nを含んでもよく、本願に係る映像符号化又は復号方法を実行する映像符号化又は復号アプリケーション(映像符号解読アプリケーションと略称する)をさらに含む。
【0093】
このバスシステム1150はデータバス以外、電源バスと、制御バスと、ステータス信号バスなどとを含んでもよい。しかしながら、わかりやすく説明するために、図には各種類のバスのいずれもバスシステム1150として示す。
【0094】
好ましくは、符号解読設備1100は一つ又は複数の出力設備をさらに含んでもよく、例えばディスプレイ1170を含む。一例として、ディスプレイ1170は触覚ディスプレイでもよく、ディスプレイとタッチ入力を操作可能に検出する触覚ユニットとを統合する。ディスプレイ1170はバス1150を通じてプロセッサ1110に接続されてもよい。
【0095】
本願の実施例は、コンピュータに実行されることでコンピュータが上記した方法実施例に係る方法を実行するコンピュータプログラムが記憶されているコンピュータ記憶媒体をさらに提供する。
【0096】
本願の実施例は、コンピュータに実行されることでコンピュータが上記した方法実施例に係る方法を実行する命令を含むコンピュータプログラム製品をさらに提供する。
【0097】
上記実施例において、全部又は一部について、ソフトウェア、ハードウェア、ファームウェア又はその他の任意の組合せで実現することができる。ソフトウェアで実現する場合、全部又は一部でコンピュータプログラム製品の態様で実現することができる。前記コンピュータプログラム製品は一つ又は複数のコンピュータの命令を含む。コンピュータに前記コンピュータプログラムの命令をアップロードして実行させるとき、全部又は一部で本発明の実施例に記載のプロセス又は機能が生じる。前記コンピュータは汎用のコンピュータ、専用コンピュータ、コンピュータネットワーク又はその他のプログラマブルデバイスでもよい。前記コンピュータ命令はコンピュータ読み取り可能な記憶媒体に記憶されるか、或いは一つのコンピュータ読み取り可能な記憶媒体から別のコンピュータ読み取り可能な記憶媒体へ転送することができ、たとえば、前記コンピュータの命令が一つのウェブサイト、コンピュータ、サーバ又はデータセンターから有線(例えば同軸ケーブル、光ファイバー、デジタル加入者線(digital subscriber line、DSL))又は無線(例えば赤外線、無線、マイクロ波等)方式で別のウェブサイト、コンピュータ、サーバ又はデータセンターへ転送されることができる。前記コンピュータ読み取り可能な記憶媒体はコンピュータがアクセスできる任意の可用媒体でもよく、又は一つ又は複数の可用媒体を含んで統合されるサーバ、データセンター等のデータ記憶機器でもよい。前記可用媒体は磁気媒体(たとえば、フロッピーディスク、ハードディスク、磁気テープ)、光学媒体(例えばデジタルビデオディスク(digital video disc、DVD))、又は半導体媒体(例えばソリッドステートドライブ(solid state disk、SSD))などでもよい。
【0098】
当業者は、本明細書に開示された実施例に記載の各例のユニット及び算法手順を組み合わせることで、電子ハードウェア又はコンピュータソフトウェアと電子ハードウェアとの組合せで実現することができると理解できる。これらの機能をハードウェアで実行するか或いはソフトウェアで実行するかは、技術案の特定の適用及び設計制約条件による。当業者は各特定の適用に対して異なる方法で記載の機能を実現することができるが、このような実現は本願の範囲を逸脱してはならない。
【0099】
本願に係る幾つかの実施例において、開示されたシステム、装置及び方法はその他の態様で実現することできると理解できる。たとえば、上記した装置実施例は模式的なものであるにすぎず、たとえば、前記ユニットの区分は論理機能区分であるにすぎず、実際の実現時に別の区分方式を使ってもよく、例えば複数のユニット又はコンポーネントは結合されたり、又は別のシステムに統合されたり、又は一部の特徴が省略されたり或いは実行されなくてもよい。また、表示又は検討された互いの結合又は直接結合又は通信接続はインターフェース、装置又はユニットによる間接結合又は通信接続でもよく、電気的、機械的又はその他の形式でもよい。
【0100】
上記では分離部材として説明されたユニットは物理的に分けたものでもよく、そうでなくてもよい。ユニットとして表示された部材は物理ユニットでもよく、そうでなくてもよい。即ち1箇所に位置してもよいが、又は複数のネットワークユニットに分散してもよい。実際の必要に応じてそのユニットの一部又は全部を選択して本実施例の技術案の目的を実現することができる。
【0101】
なお、本願の各実施例における各機能ユニットは一つの処理ユニットに統合してもよく、各ユニットが個別で物理的に存在してもよく、二つ又は二つ以上のユニットが一つのユニットに統合されてもよい。
【0102】
上記は本願の具体的な実施形態であるにすぎず、本願の保護範囲を限定していない。当業者が本願に開示される技術範囲内で容易に想到しうる変化又は置換えはいずれも本願の保護範囲内に含まれるべきである。従って、本願の保護範囲は特許請求の範囲の保護範囲に準じる。
[項目1]
映像処理方法であって、
現在画像ブロックを確定することと、
前記現在画像ブロックのサイズが予め設定された条件を満たすと、時間動きベクトル予測のTMVP操作、高度/選択可能な時間動きベクトル予測のATMVP操作の少なくとも一つによって前記現在画像ブロックの時間動きベクトル候補を確定することとを含み、
前記TMVP操作は、
時間上の隣接する画像から現在画像ブロックの関連ブロックを確定することと、
前記関連ブロックの動きベクトルに基づき、前記現在画像ブロックの時間動きベクトル候補を確定することとを含み、
前記ATMVP操作は、
時間上の隣接する画像から現在画像ブロックの関連ブロックを確定することと、
前記現在画像ブロックを複数のサブ画像ブロックに区分することと、
前記関連ブロックから前記複数のサブ画像ブロックにおける各サブ画像ブロックに対応するサブ関連ブロックを確定することと、
前記各サブ画像ブロックに対応するサブ関連ブロックの動きベクトルに基づき前記現在画像ブロックのサブ画像ブロックの時間動きベクトル候補を確定することとを含む、映像処理方法。
[項目2]
前記TMVP操作と前記ATMVP操作で、前記時間上の隣接する画像において現在画像ブロックの関連ブロックを確定することは、
前記時間上の隣接する画像における現在画像ブロックの指定位置と同じ位置での画像ブロックを前記現在画像ブロックの関連ブロックに確定すること、又は、
前記時間上の隣接する画像における前記現在画像ブロックの空間上の隣接する指定位置と同じ位置での画像ブロックを前記現在画像ブロックの関連ブロックに確定することを含む、項目1に記載の映像処理方法。
[項目3]
前記現在画像ブロックの指定位置は、
前記現在画像ブロックの左上角点と、
前記現在画像ブロックの右上角点と、
前記現在画像ブロックの中心点と、
前記現在画像ブロックの左下角点と、
前記現在画像ブロックの右下角点とのいずれか1箇所を含む、項目2に記載の映像処理方法。
[項目4]
前記時間上の隣接する画像が前記現在画像ブロックの同位フレームである、項目1から項目3のいずれか一項に記載の映像処理方法。
[項目5]
前記現在画像ブロックの関連ブロックが前記現在画像ブロックの同位ブロックである、項目1から項目4のいずれか一項に記載の映像処理方法。
[項目6]
前記サブ画像ブロックのサイズは動きベクトル記憶粒度のサイズと同じようにデフォルトして設定される、項目1に記載の映像処理方法。
[項目7]
前記動きベクトル記憶粒度のサイズが8×8であり、前記サブ画像ブロックのサイズが8×8にデフォルトして設定される、項目6に記載の映像処理方法。
[項目8]
前記現在画像ブロックのサイズがx1×y1であり、前記現在画像ブロックのサブ画像ブロックについてデフォルトして設置されたサイズがx2×y2であり、x1、x2、y1、y2がいずれも正の整数であり、
前記予め設定された条件はx1がx2以上であること、y1がy2以上であることの少なくとも一つを含む、項目1に記載の映像処理方法。
[項目9]
x1がx2より小さい又はx2以下であるか、y1がy2より小さい又はy2以下であるかの少なくとも一つである場合、前記ATMVP操作をしないように設定することをさらに含む、項目8に記載の映像処理方法。
[項目10]
前記現在画像ブロックのサイズが第1デフォルトサイズと同じであると、前記TMVP操作と前記ATMVP操作のいずれか一つのみを実行することをさらに含む、項目1に記載の映像処理方法。
[項目11]
前記第1デフォルトサイズが前記動きベクトル記憶粒度のサイズと同じである、項目10に記載の映像処理方法。
[項目12]
前記現在画像ブロックのサイズが前記第1デフォルトサイズと同じであると、前記TMVP操作と前記ATMVP操作のうちの前記ATMVP操作のみを実行する、項目10に記載の映像処理方法。
[項目13]
前記現在画像ブロックのサイズがx1×y1であり、予め設定されたサイズがx3×y3であり、x1、x3、y1、y3がいずれも正の整数であり、
前記予め設定された条件は、x1がx3以上であること、y1がy3以上であることの少なくとも一つを含む、項目1に記載の映像処理方法。
[項目14]
動きベクトルの記憶粒度が前記x3×y3である、項目13に記載の映像処理方法。
[項目15]
x1がx3より小さいもしくはx3以下であるか、y1がy3より小さいもしくはy3以下であるかの少なくとも一つである場合、前記TMVP操作を実行しないことをさらに含む、項目13に記載の映像処理方法。
[項目16]
前記予め設定された条件は、
前記現在画像ブロックには一つの動きベクトルの記憶粒度が含まれることを含む、項目1に記載の映像処理方法。
[項目17]
前記現在画像ブロックが一つの動きベクトルの記憶粒度を含まない、又は前記現在画像ブロックのサイズが一つの動きベクトルの記憶粒度に等しい場合、前記TMVP操作を実行しないことをさらに含む、項目16に記載の映像処理方法。
[項目18]
前記予め設定された条件は、
前記現在画像ブロックの画素数が所定値より大きい又は所定値以上であることを含む、項目1に記載の映像処理方法。
[項目19]
前記現在画像ブロックの画素数が前記所定値より小さい又は前記所定値以下である場合、前記TMVP操作と前記ATMVP操作の少なくとも一つを実行しないことをさらに含む、項目18に記載の映像処理方法。
[項目20]
前記所定値が32又は64である、項目19に記載の映像処理方法。
[項目21]
ATMVP操作によって前記現在画像ブロックの時間動きベクトル候補を確定するか、HMVP操作によって前記現在画像ブロックの動きベクトル候補を確定するかの少なくとも一つである場合、前記TMVP操作を実行しないことをさらに含む、項目1に記載の映像処理方法。
[項目22]
前記TMVP操作によって確定された前記現在画像ブロックの時間動きベクトル候補がMerge候補リストと高度動きベクトル予測AMVP候補リストの少なくとも一つにおける動きベクトル候補である、項目1から項目21のいずれか一項に記載の映像処理方法。
[項目23]
前記TMVP操作によって確定された前記現在画像ブロックの時間動きベクトル候補が通常Merge候補リストと高度動きベクトル予測AMVP候補リストの少なくとも一つにおける動きベクトル候補である、項目22に記載の映像処理方法。
[項目24]
映像処理装置であって、
命令を記憶するためのメモリと前記メモリに記憶される命令を実行するプロセッサとを備え、前記プロセッサは、前記メモリに記憶される命令を実行することで、
現在画像ブロックを確定し、
前記現在画像ブロックのサイズが予め設定された条件を満たすと、時間動きベクトル予測のTMVP操作と高度/選択可能な時間動きベクトル予測のATMVP操作の少なくとも一つによって前記現在画像ブロックの時間動きベクトル候補を確定することに用いられ、
前記TMVP操作は、
時間上の隣接する画像から現在画像ブロックの関連ブロックを確定することと、
前記関連ブロックの動きベクトルに基づき前記現在画像ブロックの時間動きベクトル候補を確定することとを含み、
前記ATMVP操作は、
時間上の隣接する画像から現在画像ブロックの関連ブロックを確定することと、
前記現在画像ブロックを複数のサブ画像ブロックに区分することと、
前記関連ブロックから前記複数のサブ画像ブロックにおける各サブ画像ブロックに対応するサブ関連ブロックを確定することと、
前記各サブ画像ブロックに対応するサブ関連ブロックの動きベクトルに基づき前記現在画像ブロックのサブ画像ブロックの時間動きベクトル候補を確定することとを含む、映像処理装置。
[項目25]
前記TMVP操作と前記ATMVP操作で、前記時間上の隣接する画像において現在画像ブロックの関連ブロックを確定することは、
前記時間上の隣接する画像における現在画像ブロックの指定位置と同じ位置での画像ブロックを前記現在画像ブロックの関連ブロックに確定すること、又は、
前記時間上の隣接する画像における前記現在画像ブロックの空間上の隣接する指定位置と同じ位置での画像ブロックを前記現在画像ブロックの関連ブロックに確定することを含む、項目24に記載の映像処理装置。
[項目26]
前記現在画像ブロックの指定位置は、
前記現在画像ブロックの左上角点と、
前記現在画像ブロックの右上角点と、
前記現在画像ブロックの中心点と、
前記現在画像ブロックの左下角点と、
前記現在画像ブロックの右下角点とのいずれか1箇所を含む、項目25に記載の映像処理装置。
[項目27]
前記時間上の隣接する画像が前記現在画像ブロックの同位フレームである、項目24から項目26のいずれか一項に記載の映像処理装置。
[項目28]
前記現在画像ブロックの関連ブロックが前記現在画像ブロックの同位ブロックである、項目24から項目27のいずれか一項に記載の映像処理装置。
[項目29]
前記サブ画像ブロックのサイズが動きベクトル記憶粒度のサイズと同じようにデフォルトして設定される、項目24に記載の映像処理装置。
[項目30]
前記動きベクトル記憶粒度のサイズが8×8であり、前記サブ画像ブロックのサイズが8×8にデフォルトして設定される、項目29に記載の映像処理装置。
[項目31]
前記現在画像ブロックのサイズがx1×y1であり、前記現在画像ブロックのサブ画像ブロックについてデフォルトして設置されたサイズがx2×y2であり、ここで、x1、x2、y1、y2がいずれも正の整数であり、
前記予め設定された条件は、x1がx2以上であること、y1がy2以上であることの少なくとも一つを含む、項目24に記載の映像処理装置。
[項目32]
前記プロセッサは、
x1がx2より小さいもしくはx2以下である、又はy1がy2より小さいもしくはy2以下であると、前記ATMVP操作をしないように設定することにさらに用いられる、項目31に記載の映像処理装置。
[項目33]
前記プロセッサは、
前記現在画像ブロックのサイズが第1デフォルトサイズと同じであると、前記TMVP操作と前記ATMVP操作のいずれか一つのみを実行することにさらに用いられる、項目24に記載の映像処理装置。
[項目34]
前記第1デフォルトサイズが前記動きベクトル記憶粒度のサイズと同じである、項目33に記載の映像処理装置。
[項目35]
前記プロセッサは、
前記現在画像ブロックのサイズが前記第1デフォルトサイズと同じであると、前記TMVP操作と前記ATMVP操作のうちの前記ATMVP操作のみを実行することにさらに用いられる、項目33に記載の映像処理装置。
[項目36]
前記現在画像ブロックのサイズがx1×y1であり、予め設定されたサイズがx3×y3であり、x1、x3、y1、y3がいずれも正の整数であり、
前記予め設定された条件は、x1がx3以上であること、y1がy3以上であることの少なくとも一つを含む、項目24に記載の映像処理装置。
[項目37]
動きベクトルの記憶粒度が前記x3×y3である、項目36に記載の映像処理装置。
[項目38]
前記プロセッサは、
x1がx3より小さいもしくはx3以下であるか、y1がy3より小さいもしくはy3以下であるかの少なくとも一つである場合、前記TMVP操作を実行しないことにさらに用いられる、項目36に記載の映像処理装置。
[項目39]
前記予め設定された条件は、
前記現在画像ブロックには一つの動きベクトルの記憶粒度が含まれることを含む、項目24に記載の映像処理装置。
[項目40]
前記プロセッサは、
前記現在画像ブロックが一つの動きベクトルの記憶粒度を含まない又は前記現在画像ブロックのサイズが一つの動きベクトルの記憶粒度と等しい場合、前記TMVP操作を実行しないことにさらに用いられる、項目39に記載の映像処理装置。
[項目41]
前記予め設定された条件は、
前記現在画像ブロックの画素数が所定値より大きい又は所定値以上であることを含む、項目24に記載の映像処理装置。
[項目42]
前記プロセッサは、
前記現在画像ブロックの画素数が前記所定値より小さい又は前記所定値以下である場合、前記TMVP操作と前記ATMVP操作の少なくとも一つを実行しないことにさらに用いられる、項目41に記載の映像処理装置。
[項目43]
前記所定値が32又は64である、項目41に記載の映像処理装置。
[項目44]
前記プロセッサは、
ATMVP操作によって前記現在画像ブロックの時間動きベクトル候補を確定するか、HMVP操作によって前記現在画像ブロックの動きベクトル候補を確定するかの少なくとも一つである場合、前記TMVP操作を実行しないことにさらに用いられる、項目24に記載の映像処理装置。
[項目45]
前記TMVP操作によって確定された前記現在画像ブロックの時間動きベクトル候補がMerge候補リストと高度動きベクトル予測AMVP候補リストの少なくとも一つにおける動きベクトル候補である、項目24から項目44のいずれか一項に記載の映像処理装置。
[項目46]
前記TMVP操作によって確定された前記現在画像ブロックの時間動きベクトル候補が通常Merge候補リストと高度動きベクトル予測AMVP候補リストの少なくとも一つにおける動きベクトル候補である、項目45に記載の映像処理装置。
[項目47]
コンピュータの不揮発性記憶媒体であって、コンピュータに実行されることで前記コンピュータが項目1から項目23のいずれか一項に記載の方法を実行するコンピュータプログラムが記憶されている、コンピュータの不揮発性記憶媒体。
[項目48]
命令を含むコンピュータプログラム製品であって、前記命令がコンピュータに実行されることで前記コンピュータが項目1から項目23のいずれか一項に記載の方法を実行する、コンピュータプログラム製品。