(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-08-26
(45)【発行日】2022-09-05
(54)【発明の名称】画像の符号化及び復号方法、画像の符号化及び復号デバイス、及びこれに対応するコンピュータプログラム
(51)【国際特許分類】
H04N 19/12 20140101AFI20220829BHJP
H04N 19/159 20140101ALI20220829BHJP
H04N 19/176 20140101ALI20220829BHJP
【FI】
H04N19/12
H04N19/159
H04N19/176
【外国語出願】
(21)【出願番号】P 2020144454
(22)【出願日】2020-08-28
(62)【分割の表示】P 2018510437の分割
【原出願日】2016-08-26
【審査請求日】2020-09-01
(32)【優先日】2015-08-31
(33)【優先権主張国・地域又は機関】FR
(73)【特許権者】
【識別番号】591034154
【氏名又は名称】オランジュ
(74)【代理人】
【識別番号】100108453
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】ピーリック・フィリップ
(72)【発明者】
【氏名】アドリア・アルファト
【審査官】鉢呂 健
(56)【参考文献】
【文献】特開2013-017167(JP,A)
【文献】米国特許出願公開第2014/0254675(US,A1)
【文献】WANG, Dong et al.,Performance Improved Directional Transform Techniques for HEVC,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 2nd Meeting: Geneva, CH, 21-28 July, 2010, [JCTVC-B038],ITU-T,2010年,JCTVC-B038.zip: JCTVC-B038_r2.doc: pp. 1-5
【文献】YEO, Cuohao et al.,Mode-Dependent Fast Separable KLT for Block-based Intra Coding,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 2nd Meeting: Geneva, CH, 21-28 July, 2010, [JCTVC-B024],JCTVC-B024 (version 1),ITU-T,2010年,JCTVC-B024.zip: JCTVC-B024.doc: pp. 1-7
【文献】CHEN, J. et al.,Coding tools investigation for next generation video coding,TELECOMMUNICATION STANDARDIZATION SECTOR STUDY PERIOD 2013-2016, [COM16-C806-E],ITU-T,2015年01月27日,pp.1-8
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00-19/98
(57)【特許請求の範囲】
【請求項1】
ブロックに分割されている少なくとも1つの画像(ICj)の符号化方法であって、
前記画像の符号化されるべき現在ブロック(B
i)に対して、
-インター及びイントラ予測の2つの所定のモードの中から選択されている予測(MP
S)のモードに従って前記現在ブロックを予測する(C3)ステップであって、予測の前記選択モードはイントラである、ステップと、
-前記予測の完了時に得られる予測子ブロック(BP
opt)と前記現在ブロックとの間の差を表す残余ブロックを計算する(C4)ステップと、
-イントラ予測の前記選択モードに対応付けられてメモリに記憶されている(C0)変換のセットに属する変換を前記残余ブロックに適用し、変換ブロックを取得する(C6)ステップと、
-前記変換ブロックを符号化する(C8)ステップと
を実行し、
前記少なくとも1つの画像を符号化する前に、
複数の予測モードにそれぞれ対応付けられている変換のセットを前記メモリに記憶し、前記複数の予測モードのうち、2つの予測モードに対応する2つの変換セットの変換数が異なり、前記複数の予測モードはインター予測の前記モードと、イントラ予測の前記モードとを少なくとも含み、
前記複数の予測モードのうち予測の2つのモードにそれぞれ対応付けられている2つの変換のセットの変換数は、少なくとも1つの同じ変換を共通して含むことを特徴とする、符号化方法。
【請求項2】
処理回路(CT_C)を含む、ブロックに分割されている少なくとも1つの画像(IC
j)の符号化デバイス(CO)であって、
前記画像の符号化されるべき現在ブロック(B
i)に対して、
-インター及びイントラ予測の2つの所定のモードの中から選択されている予測のモードに従って前記現在ブロックを予測し、予測の前記選択モードはイントラであり、
-前記予測の完了時に得られる予測子ブロックと前記現在ブロックとの間の差を表す残余ブロックを計算し、
-イントラ予測の前記選択モードに対応付けられてメモリに記憶されている変換のセットに属する変換を前記残余ブロックに適用し、変換ブロックを取得し、
-前記変換ブロックを符号化する
ように設計されており、
前記処理回路は、前記少なくとも1つの画像を符号化する前に、
複数の予測モードにそれぞれ対応つけられている変換のセットを前記メモリに記憶するように設計されており、前記複数の予測モードのうち、2つの予測モードに対応する2つの変換セットの変換数が異なり、前記複数の予測モードはインター予測の前記モードと、イントラ予測の前記モードとを少なくとも含み、
前記複数の予測モードのうち予測の2つのモードにそれぞれ対応付けられている2つの変換のセットの変換数は、少なくとも1つの同じ変換を共通して含むことを特徴とする、符号化デバイス。
【請求項3】
ブロックに分割されている少なくとも1つの画像(IC
j)を表すデータ信号(F)の復号方法であって、
復号されるべき現在ブロック(B
i)に対して、
-前記データ信号において、
・復号されるべき前記現在ブロックに対応付けられている現在残余ブロックを表すデータ
・復号されるべき前記現在ブロックの予測(MP
S)のモードであって、イントラ及びインター予測の2つの所定のモードに属する予測の前記モード
を判定する(D3)ステップであって、予測の前記判定モードはイントラである、ステップと、
-イントラ予測(MP
S)の前記判定モードに従って前記現在ブロックを予測する(D4)ステップと、
-イントラ予測(MP
S)の前記判定モードに対応付けられてメモリに記憶されている(D0)変換のセットに属する変換を、前記残余ブロックを表す前記データに適用する(D7)ステップと、
-前記予測の完了時に得られる予測子ブロックと前記変換の後に得られる前記データとを用いて前記現在ブロックを再構成する(D8)ステップと
を実行し、
前記データ信号を復号する前に、
複数の予測モードにそれぞれ対応つけられている変換のセットを前記メモリに記憶するように設計されており、前記複数の予測モードのうち、2つの予測モードに対応する2つの変換セットの変換数が異なり、前記複数の予測モードはインター予測の前記モードと、イントラ予測の前記モードとを少なくとも含み、
前記複数の予測モードのうち予測の2つのモードにそれぞれ対応付けられている2つの変換のセットの変換数は、少なくとも1つの同じ変換を共通して含むことを特徴とする、復号方法。
【請求項4】
処理回路(CT_D)を含む、ブロックに分割されている少なくとも1つの画像(IC
j)を表すデータ信号(F)の復号デバイスであって、
復号されるべき現在ブロック(B
i)に対して、
-前記データ信号において、
・復号されるべき前記現在ブロックに対応付けられている現在残余ブロックを表すデータ
・復号されるべき前記現在ブロックの予測のモードであって、イントラ及びインター予測の2つの所定のモードに属する予測の前記モード
を判定し、予測の前記判定モードはイントラであり、
-イントラ予測の前記判定モードに従って前記現在ブロックを予測し、
-イントラ予測(MP
S)の前記判定モードに対応付けられてメモリに記憶されている変換のセットに属する変換を、前記残余ブロックを表す前記データに適用し、
-前記予測の完了時に得られる予測子ブロックと前記変換の後に得られる前記データとを用いて前記現在ブロックを再構成する
ように設計されており、
前記処理回路は、前記データ信号を復号する前に、
複数の予測モードにそれぞれ対応つけられている変換のセットを前記メモリに記憶するように設計されており、前記複数の予測モードのうち、2つの予測モードに対応する2つの変換セットの変換数が異なり、前記複数の予測モードはインター予測の前記モードと、イントラ予測の前記モードとを少なくとも含み、
前記複数の予測モードのうち予測の2つのモードにそれぞれ対応付けられている2つの変換のセットの変換数は、少なくとも1つの同じ変換を共通して含むことを特徴とする、復号デバイス。
【請求項5】
コンピュータプログラムをコンピュータで実行する場合、請求項
3に記載の復号方法のステップの実行用のプログラムコード命令を含むコンピュータプログラム。
【請求項6】
コンピュータプログラムをコンピュータで実行する場合、請求項1に記載の符号化方法のステップの実行用のプログラムコード命令を含むコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は一般的に、画像処理の分野に関し、より正確には、デジタル画像、及びデジタル画像のシーケンスの符号化及び復号に関する。
【0002】
デジタル画像の符号化/復号は、特に、
- 互いに時間的に続く、同じカメラから生じる画像(二次元タイプの符号化/復号)
- 異なる視界に応じて方向付けられた様々なカメラから生じる画像(三次元タイプの符号化/復号)
- テクスチャ及び深度の対応する構成要素(三次元タイプの符号化/復号)
- その他
を含む少なくとも1つの映像シーケンスから生じる画像に適用する。
【0003】
本発明は、同様にして、二次元又は三次元タイプの画像の符号化/復号に適用する。
【0004】
本発明は、特に(但し、排他的でない)、AVC及びHEVCの現在の映像符号器及びそれらの拡張機能(MVC、三次元AVC、MV-HEVC、三次元HEVCなど)で実行される映像符号化、及び対応する復号に適用することができる。
【背景技術】
【0005】
現在の映像符号器(MPEG、H.264、HEVCなど)では、映像シーケンスのブロック状表現を使用する。再帰的方法で再度分割されやすい画像を、ブロックに分割する。次に、各ブロックを、画像内予測又は画像間予測によって符号化する。従って、当業者に知られている動き補償を用いて、1つ又は複数の符号化/復号参照画像に対して、ある特定の画像を空間予測(イントラ予測)によって符号化し、他の画像を時間予測(インター予測)によって符号化する。
【0006】
予測によって減少された元のブロックに対応する、予測残余とも呼ばれる残余ブロックを、各ブロックに対して符号化する。特定の場合、予測を省略でき、残余ブロックは元のブロックと同等であることに留意しよう。残余ブロックを、数学的変換操作を用いて変換してから、例えばスカラタイプの数学的量子化操作を用いて量子化する。簡単にするために、数学的変換操作を、以下「変換」と呼び、数学的量子化操作を、以下「量子化」と呼ぶ。
【0007】
量子化ステップの完了時に、係数を得る。その後、係数を、選択されている符号化のモードに左右される読み取りの順序で横断する。HEVC規格では、例えば、読み取りの順序は、実行される予測に左右され、「水平」、「垂直」又は「対角」の順序で実行可能である。
【0008】
上述の横断の完了時に、係数の一次元リストを得る。次に、このリストの係数を、エントロピー符号化によって、ビットの形で符号化する。エントロピー符号化の目的は、損失無しで係数を符号化することにある。
【0009】
エントロピー符号化の後に得られるビットを、復号器に伝送されることになっているデータ信号又はストリームに書き込む。
【0010】
それ自体知られている方法で、このような信号は、
- 上述のリストに含まれる量子化係数
- 使用される符号化のモードを表す情報、特に、
・予測のモード(イントラ予測、インター予測、復号器に伝送される情報が無い予測を実行するデフォルト予測(「スキップ」として知られている))
・予測のタイプを指定する情報(方向付け、参照画像など)
・ブロックの分割のタイプ
・必要ならば、動き情報
・その他
を含む。
【0011】
一旦ストリームを復号器によって受信していると、画像毎に、各画像に対してブロック毎に、復号が行われる。各ブロックに対して、ストリームの対応する要素を読み取る。復号予測残余を生成するように、ブロックの係数の逆量子化及び逆変換を実行する。次に、ブロックの予測を計算し、復号予測残余に予測を追加することによって、ブロックを再構成する。
【0012】
確かに、丁度説明されている従来の符号化/復号技法により、符号化性能の向上が可能になる。映像の文脈では、特に、
- 画像を伝送するのに使用されるネットワークの所与のビットレートに対する画質の向上
- 事前に固定された画質基準に対する画像の伝送のビットレートの減少
が可能になる。
【0013】
しかし、特に、最大のメモリ資源/符号化性能の妥協を得る観点から、このような符号化性能は、現在最適化されていなく、更に向上されるかもしれない。
【0014】
特に、このような最適化は、上述の変換に関連がある。これは、従来、K個の画素(K≧1)の判定数を含む残余ブロックに適用される場合、K個の係数のセットを得ることができる線形変換である。現在の映像符号器/復号器(MPEG、H.264、HEVCなど)では、単一の変換を、予測の所与のモードに対応付けて記憶する。
【0015】
映像符号化の分野において、離散コサイン変換(DCT)又は離散サイン変換(DST)は、特に下記の理由で、一般的に有利である。
- これらの変換はブロック変換であり、従って、互いに独立してブロックを操作し易い。
- これらの変換は、ビットレート減少操作が動作する周波数領域の情報の圧縮に効率がよい。
【0016】
従来の方法で、このような変換は、分離可能又は分離不可能タイプであることができる。
【0017】
分離可能タイプの変換の処理では、第1の場合によれば、M×N行列の形で編成されたK個の画素の残余ブロックxに第1の変換Alを適用する(但し、Alは、M×Mサイズのデータ行列、M、Nは、1以上の自然数)。この第1の変換の適用の完了時に、第1の変換ブロックAl.xを得る。
【0018】
その後、変換ブロックAl.xに転置操作tを適用する。この転置の完了時に、転置ブロック(Al.x)tを得る。
【0019】
最後に、転置ブロック(Al.x)tに第2の変換Acを適用する(但し、Acは、N×Nサイズのデータ行列)。この第2の変換の適用の完了時に、下記のようなK=N×M個の画素の第2の変換ブロックXを得る。
X=Ac・(Al・x)t
【0020】
第2の場合によれば、変換Al及びAcの適用の順序を逆にする。K=N×M個の画素の第2の変換ブロックXを、下記の方法で書き込んでもよい。
X=Al・(Ac・xt)t
【0021】
この第2の場合によって得られた変換ブロックXは、この第1の場合によって得られた変換ブロックXと同様であり、転置の範囲内である。
【0022】
残余ブロックxが正方形、即ちM=Nである特定の場合、行列Al及びAcのサイズは同じである。
【0023】
復号時に、それ自体知られている方法で、上述の変換と逆の変換を適用する。
【0024】
従って、変換が第1の場合によって適用されている場合、対応する逆変換により、下記の計算を用いて残余ブロックxを得ることができる。
x=Al-1・(Ac-1・X)t
【0025】
従って、変換が第2の場合によって適用されている場合、対応する逆変換により、下記の計算を用いて残余ブロックxを得ることができる。
x=(Ac-1・(Al-1・X)t)t
【0026】
Al-1及びAc-1は、変換Al及びAcのそれぞれの逆変換を表す。これらの逆変換により、変換ブロックXの値に基づいて残余ブロックxの値を得ることができる。行列が直交で選択され、行列がそれぞれAl及びAcの転置行列に対応する場合、行列Al-1及びAc-1は、それぞれAl及びAcの逆行列と通常呼ばれる。
【0027】
分離不可能タイプの変換の処理では、サイズK×Kの行列Aによって、次元1×Kのベクトルの形で型変換して、残余ブロックxの乗算として符号化時に書き込まれてもよい。次に、この変換の適用の完了時に得られる変換ブロックXを、下記の方法で書き込んでもよい。
X=A・x
【0028】
復号時に、逆変換は、Aが直交である場合、Aの転置であるAの逆行列A-1を変換ブロックXに掛けることである。このような逆変換により、下記の残余ブロックxを得ることができる。
x=A-1・X
【0029】
映像符号化の分野では、特に、出版物(非特許文献1)において、予測の提案モード毎に変換数を増大することが提案されている。従って、空間予測の35個の異なるモードに従って実行可能な、HEVC規格に準拠する空間予測の枠組みの範囲内で、それぞれ予測の35個のモードの各々に対応付けて16の変換を記憶することを提案する。予測のモードを選択する場合、当業者に周知のひずみビットレート基準などの所定の符号化性能基準に従って、予測のこのモードに対して記憶された16の変換の中から変換を選択する。
【0030】
従って、考慮される各予測に対して、変換適用ステップは、予測残余信号の性質に最もよく適合されており、当業者に周知の所与のビットレートに対するひずみ基準に従って、符号化性能を向上させる。
【0031】
しかし、このような方法を用いて、このような適合を実行できるように追加されるべき変換量は、考慮される各予測に対して変換を記憶する必要がある符号器、及び符号化時に適用される変換の逆変換を適用するように変換を知る必要もある復号器で、同時に使用されるべきメモリ資源に影響を与える。
【0032】
従って、映像符号化における一般的な枠組みである、分離可能変換の場合を考慮すると、NT=n*NMP(但し、nは、予測のモード毎に供給されるべき変換数、及びNMPは、予測の提案モード数)のように、変換の総数NTに従って、記憶の必要性を推定することができる。より詳細には、例えば、係数を1バイトに記憶する、サイズ8×8の変換を用いたHEVC符号化の場合、2つの変換(垂直及び水平)を記憶する必要があり、これによって、少なくとも(2*8*8*n*NMP)/1024=4,375キロバイト(但し、n=1、及びNMP=35)を必要とする。
【0033】
この構成を、以下の表の第1行に表す。この構成の場合、得られる符号化性能も表す。この性能は、ビットレートゲイン、即ち、(一定のひずみで)符号化性能に影響を及ぼすことなく得られる百分率ビットレート減少に対応する。次の行は、2、4、8、16の8×8変換を、対応する符号化性能だけでなく空間予測の35個のモードの各々に対応付けてそれぞれ記憶する場合、必要なメモリ資源の展開を表す。
【0034】
【0035】
上述の表によれば、メモリ量は、予測のモード毎に供給されるべき変換数と共に直線的に増大し、変換の記憶に当てられるメモリ量が約1キロバイトである、HEVC符号器などの現在の符号器に必要な記憶量と比較して大きくなることに留意すべきである。
【0036】
更に、最高符号化性能(2.48%のビットレートゲイン)は、HEVCで必要な1キロバイトのメモリ最大量と比較して560キロバイトの無視できないメモリ量を必要とすることが分かる。
【0037】
2.48%のビットレートゲインが有益であると分かっても、映像符号化/復号システムのハードウェア実装形態のために使用されるメモリは、処理データ量に関して速い必要があると仮定すると、このようなゲインを得るために560の変換を記憶する容量70キロバイトのメモリは、非常に高価すぎると分かる。
【先行技術文献】
【非特許文献】
【0038】
【文献】Non-separable mode dependent transforms for Intra coding in HEVC,Adria Arrufat et al.VCIP 2014
【発明の概要】
【発明が解決しようとする課題】
【0039】
本発明の目的の1つは、上述の先行技術の欠点を改善することにある。
【課題を解決するための手段】
【0040】
この目的のために、本発明の主題は、ブロックに分割されている少なくとも1つの画像の符号化方法に関し、この方法は、画像の符号化されるべき現在ブロックに対して、
- 予測の複数の所定のモードの中から選択されている予測のモードに従って現在ブロックを予測するステップと、
- 予測の完了時に得られる予測子ブロックと現在ブロックとの間の差を表す残余データブロックを計算するステップと、
- 予測の選択モードに対応付けられて事前に記憶されている変換操作のセットに属する変換操作を残余ブロックのデータに適用するステップと、
- 変換操作の後に得られるデータを符号化するステップと
を実行する。
【0041】
このような符号化方法は、予測の選択モードに対応付けられている変換操作のセットの記憶中に、このセットに含まれる変換操作数は、予測の複数の所定のモードのうち予測の少なくとも1つの他の所定のモードに対応付けられて記憶されている変換操作のセットに含まれる変換操作数と異なることを特徴とする。
【0042】
予測のモード毎に幾つかの変換操作がある場合、このような構成により、
- 現在ブロックに関する符号化性能を損なうことなく、先行技術の符号器のメモリ資源と比較して、変換行列の記憶を目的とした符号器のメモリ資源を大幅に減少する、
- 又は、先行技術の符号器のメモリ資源と比較して、変換行列の記憶を目的とした符号器のメモリ資源の増大を必要とすることなく、現在ブロックに関する符号化性能を増大する
ことができる。
【0043】
特定の実施形態によれば、予測の複数の所定のモードのうち予測の2つのモードにそれぞれ対応付けられて記憶されている変換操作の少なくとも2つのセットに対して、2つのセットの各々における変換操作数は、少なくとも1つの同じ変換操作を共通して含む。
【0044】
このような構成により、変換行列の記憶を目的とした符号器のメモリ資源を更に減少することができる。
【0045】
従って、例えば、HEVC規格の枠組みの範囲内で、変換操作の少なくとも2つのセットは、
- 単一の変換操作、例えば、DCTタイプの変換
- 2つの変換操作、例えば、DCTタイプの変換及びDSTタイプ
- その他
を共通して含むことができる。
【0046】
別の特定の実施形態によれば、予測の選択モードに対応付けられている変換操作のセットは、予測の複数の所定のモードのうち予測の少なくとも1つの他のモードに対応付けられて記憶されている。
【0047】
このような構成により、変換行列の記憶を目的とした符号器のメモリ資源を一層更に減少することができる。
【0048】
本発明は、「メモリ資源/符号化性能」の妥協を最適化するように、予測のモードに応じて変換操作数を判定する様々な方法を提案する。
【0049】
特定の実施形態によれば、予測の垂直又は水平方向に対応付けられている予測のモードの場合に判定された変換操作数は、予測の斜め方向に対応付けられている予測のモードの場合に判定された変換操作数よりも大きい。
【0050】
別の特定の実施形態によれば、現在ブロックのエッジの2つを超える画素を平均することによって予測を計算する、予測のモードの場合に判定された変換操作数は、予測の任意の他のモードに対して判定された変換操作数以上である。
【0051】
更に別の特定の実施形態によれば、予測の複数の所定のモードの中で、予測の最確モードとして事前に選択されている予測のモードの場合に判定された変換操作数は、予測の最確モードとして事前に選択されていない予測のモードの場合に判定された変換操作数よりも大きい。
【0052】
更に別の特定の実施形態によれば、予測の選択モードに対応付けられて記憶されている変換操作のセットに含まれる変換操作数は、予測の選択モードを表す情報量に応じて判定されている。
【0053】
更に、このような構成により、「メモリ資源/符号化性能」の妥協の点で最適な方法で、予測の所与の所定のモードに対して使用されるべき変換操作数を単純に計算することができる。
【0054】
様々な上述のモード又は実施形態の特徴を、独立して、又は互いに組み合わせで、上述の符号化方法のステップに追加することができる。
【0055】
更に、本発明は、処理回路を含む、ブロックに分割されている少なくとも1つの画像の符号化デバイスに関し、画像の符号化されるべき現在ブロックに対して、
- 予測の複数の所定のモードの中から選択されている予測のモードに従って現在ブロックを予測し、
- 予測の完了時に得られる予測子ブロックと現在ブロックとの間の差を表す残余データブロックを計算し、
- 予測の選択モードに対応付けられて事前に記憶されている変換操作のセットに属する変換操作を残余ブロックのデータに適用し、
- 変換操作の後に得られるデータを符号化する
ように設計されている。
【0056】
本発明による符号化デバイスは、処理回路は、予測の選択モードに対応付けられている変換操作のセットを記憶するように設計されており、このセットに含まれる変換操作数は、予測の複数の所定のモードのうち予測の少なくとも1つの他の所定のモードに対応付けられて記憶されている変換操作のセットに含まれる変換操作数と異なることを特徴とする。
【0057】
このような符号化デバイスは、特に、上述の符号化方法を実行することができる。
【0058】
更に、本発明は、ブロックに分割されている少なくとも1つの画像を表すデータ信号の復号方法に関し、復号されるべき現在ブロックに対して、
- データ信号において、下記を判定するステップと、
・復号されるべき現在ブロックに対応付けられている現在残余ブロックを表すデータ
・復号されるべき現在ブロックの予測のモードであって、予測の複数の所定のモードに属する予測のこのモード
- 予測の判定モードに従って現在ブロックを予測するステップと、
- 予測の判定モードに対応付けられて事前に記憶されている変換操作のセットに属する変換操作を、残余ブロックを表すデータに適用するステップと、
- 予測の完了時に得られる予測子ブロックと変換操作の後に得られるデータとを用いて現在ブロックを再構成するステップと
を実行する。
【0059】
このような復号方法は、予測の判定モードに対応付けられている変換操作のセットの記憶中に、このセットに含まれる変換操作数は、予測の複数の所定のモードのうち予測の少なくとも1つの他の所定のモードに対応付けられて記憶されている変換操作のセットに含まれる変換操作数と異なることを特徴とする。
【0060】
符号器と同様の方法で、このような構成は、符号化時に適用される変換の逆変換を適用するように変換を知る必要もある復号器に有利である。特に、予測のモード毎に幾つかの変換操作がある場合、このような構成により、
- 現在ブロックの再構成の品質を損なうことなく、先行技術の復号器のメモリ資源と比較して、変換行列の記憶を目的とした復号器のメモリ資源を大幅に減少する、
- 又は、先行技術の復号器のメモリ資源と比較して、変換行列の記憶を目的とした復号器のメモリ資源の増大を必要とすることなく、現在ブロックの再構成の品質を増大する
ことができる。
【0061】
特定の実施形態によれば、予測の複数の所定のモードのうち予測の2つのモードにそれぞれ対応付けられて記憶されている変換操作の少なくとも2つのセットに対して、2つのセットの各々における変換操作数は、少なくとも1つの同じ変換操作を共通して含む。
【0062】
別の特定の実施形態によれば、予測の判定モードに対応付けられている変換操作のセットは、予測の複数の所定のモードのうち予測の少なくとも1つの他のモードに対応付けられて記憶されている。
【0063】
更に別の特定の実施形態によれば、予測の垂直又は水平方向に対応付けられている予測のモードの場合に判定された変換操作数は、予測の斜め方向に対応付けられている予測のモードの場合に判定された変換操作数よりも大きい。
【0064】
更に別の特定の実施形態によれば、現在ブロックのエッジの2つを超える画素を平均することによって予測を計算する、予測のモードの場合に判定された変換操作数は、予測の任意の他のモードに対して判定された変換操作数以上である。
【0065】
更に別の特定の実施形態によれば、予測の複数の所定のモードの中で、予測の最確モードとして予測の判定モードが事前に選択されている場合に判定された変換操作数は、予測の最確モードとして予測の判定モードが事前に選択されていない場合に判定された変換操作数よりも大きい。
【0066】
更に別の特定の実施形態によれば、予測の判定モードに対応付けられて記憶されている変換操作のセットに含まれる変換操作数は、予測の判定モードを表す情報量に応じて判定されている。
【0067】
様々な上述のモード又は実施形態の特徴を、独立して、又は互いに組み合わせで、上述の復号方法のステップに追加することができる。
【0068】
更に、本発明は、処理回路を含む、ブロックに分割されている少なくとも1つの画像を表すデータ信号の復号デバイスに関し、復号されるべき現在ブロックに対して、
- データ信号において、下記を判定し、
・復号されるべき現在ブロックに対応付けられている現在残余ブロックを表すデータ
・復号されるべき現在ブロックの予測のモードであって、予測の複数の所定のモードに属する予測のこのモード
- 予測の判定モードに従って現在ブロックを予測し、
- 予測の判定モードに対応付けられて事前に記憶されている変換操作のセットに属する変換操作を、残余ブロックを表すデータに適用し、
- 予測の完了時に得られる予測子ブロックと変換操作の後に得られるデータとを用いて現在ブロックを再構成する
ように設計されている。
【0069】
本発明による復号デバイスは、処理回路は、予測の判定モードに対応付けられている変換操作のセットを記憶するように設計されており、このセットに含まれる変換操作数は、予測の複数の所定のモードのうち予測の少なくとも1つの他の所定のモードに対応付けられて記憶されている変換操作のセットに含まれる変換操作数と異なることを特徴とする。
【0070】
このような復号デバイスは、特に、上述の復号方法を実行することができる。
【0071】
更に、本発明は、コンピュータプログラムをコンピュータで実行する場合、本発明による符号化及び復号方法のうち1つを実行する命令を含むコンピュータプログラムに関する。
【0072】
このプログラムは、任意のプログラミング言語を使用することができ、原始コード、目的コードの形、又は原始コードと目的コードとの間の中間コードの形(例えば、部分的にコンパイルされた形)、又は任意の他の望ましい形であることができる。
【0073】
本発明は、コンピュータプログラムを記録するコンピュータによって読み取り可能な記録媒体も想定する。このプログラムは、上述のような、本発明による符号化又は復号方法のうち1つを実行するのに適した命令を含む。
【0074】
本発明は、コンピュータプログラムを記録するコンピュータによって読み取り可能な記録媒体も想定する。このプログラムは、上述のような、本発明による符号化又は復号方法のうち1つを実行するのに適した命令を含む。
【0075】
記録媒体は、プログラムを記憶可能な任意のエンティティ又はデバイスであることができる。例えば、媒体は、ROM(例えば、CD ROM又はマイクロ電子回路ROM)などの記憶手段、又は磁気記録手段(例えば、USBキー又はハードディスク)を含むことができる。
【0076】
更に、記録媒体は、無線又は他の手段によって電気又は光学ケーブルを介して伝達可能な電気又は光学信号などの伝送可能媒体であることができる。本発明によるプログラムを、特に、インターネットタイプのネットワークからダウンロードすることができる。
【0077】
代わりに、記録媒体は、プログラムを組み込む集積回路であることができる。集積回路は、上述の符号化又は復号方法の実行に使用される又は実行するように適合されている。
【0078】
他の特徴と利点は、下記の図面を参照して説明される好ましい実施形態を読めば明白になるであろう。
【図面の簡単な説明】
【0079】
【
図2】本発明による符号化デバイスの実施形態を表す。
【
図3】本発明の一実施形態による、予測のモード毎に変換の可変数を判定する方法のステップを表す。
【
図4】
図3の判定方法による16個の変換の連続追加の後に、予測のモード毎に判定された変換数を示す表を表す。
【
図5】
図3の反復方法の実行の後に得られるようなメモリ資源/符号化性能の妥協、及び予測のモード毎の同じ変換数で得られるようなメモリ資源/符号化性能の妥協を比較する比較図を表す。
【
図6A】対応する角度の対称に応じたイントラ予測の様々なモードの第1の例示的なグループ化を表す。
【
図6B】対応する角度の対称に応じたイントラ予測の様々なモードの第2の例示的なグループ化を表す。
【
図7】HEVCイントラ予測の33個のモードと対応する角度方向との間の関係を示すグラフを表す。
【
図8】対応する角度の対称に応じたイントラ予測の様々なモードの例示的なグループ化を表す。
【
図9】
図3の判定方法の変型例による16個の変換の連続追加の後に、予測のモードのグループ毎に判定された変換数を示す表を表す。
【
図10】本発明による復号デバイスの実施形態を表す。
【
図11】本発明による復号方法の主要なステップを表す。
【発明を実施するための形態】
【0080】
符号化部の詳細な説明
ここで、本発明の実施形態について説明する。この実施形態では、本発明による符号化方法を用いて、現在又は次の映像符号化規格のうちの何れか1つに準拠する符号化によって得られる2進ストリームに近い2進ストリームに従って画像又は画像のシーケンスを符号化する。
【0081】
この実施形態において、例えば、現在又は次の映像符号化規格のうちの何れか1つに最初に準拠する符号器の変更によるソフトウェア又はハードウェアのやり方で、本発明による符号化方法を実行する。本発明による符号化方法を、
図1に表すようなステップC0~C9を含むアルゴリズムの形で表す。
【0082】
本発明の実施形態によれば、本発明による符号化方法を、
図2に表す符号化デバイスCOで実行する。
【0083】
図2に示すように、このような符号器デバイスは、
- 符号化されるべき現在画像を受信する入力器ENT_Cと、
・バッファメモリMT_Cを含むメモリMEM_Cと、
・コンピュータプログラムPG_Cによって駆動されるプロセッサPROC_Cと
- を含む、本発明による符号化方法を実行する処理回路CT_Cと、
- 現在画像の符号化の完了時に得られたデータを含む符号化ストリームを送出する出力器SOR_Cと
を含む。
【0084】
初期設定時に、処理回路CT_Cによって実行される前に、コンピュータプログラムPG_Cのコード命令を、例えば、RAMメモリMR_Cにロードする。
【0085】
図1に表す符号化方法は、静止画である、又は符号化されるべきL個の画像IC
1、…、IC
j、…、IC
L(1≦j≦L)のシーケンスの一部を形成する任意の現在画像IC
jに適用する。
【0086】
図1に表すステップC1の間に、それ自体知られている方法で、例えば、M×M画素(但し、Mは、1以上の自然数)のサイズの複数のブロックB
1、B
2、…、B
i、…、B
S(1≦i≦S)に現在画像IC
jを区分する。このような区分ステップを、
図2に表す区分ソフトウェアモジュールMP_Cによって実行し、このモジュールはプロセッサPROC_Cによって駆動される。
【0087】
本発明の意味の範囲内で、用語「ブロック」は符号化ユニットを意味することに留意すべきである。符号化ユニットの専門用語は、HEVC規格「ISO/IEC/23008-2 Recommendation ITU-T H.265 High Efficiency Video Coding(HEVC)」で特に使用される。
【0088】
特に、このような符号化ユニットは、ブロック、マクロブロックとも呼ばれる長方形又は正方形の画素のセット、又は他の幾何学的形状を示す画素のセットにまとまる。
【0089】
ブロックB1、B2、…、Bi、…、BSは、例えば辞書タイプである、横断の所定の順序に従って符号化されることになっている。これは、次々と左から右にブロックを符号化することを意味する。
【0090】
当然、他のタイプの横断も可能である。従って、スライスと呼ばれる幾つかのサブ画像に画像ICjを分割し、このタイプの分割を独立して各サブ画像に適用することができる。上述のように行の連続でなく、列の連続を符号化することもできる。更に、行又は列を何れかの方向に横断することができる。
【0091】
更に、各ブロック自体を、それ自体細分可能なサブブロックに分割することができる。
【0092】
図1に表すステップC2の間に、符号器COは、画像IC
jの符号化されるべき第1のブロックB
i、例えば、第1のブロックB
1を、現在ブロックとして選択する。
【0093】
図1に表すステップC3の間に、イントラ及び/又はインター予測の既知の技法によって現在ブロックB
iを予測する。この目的のために、予測MP
0、MP
1、…、MP
v、…、MP
R(但し、0≦v≦R+1及び0≦s≦R+1)の複数の所定のモードの中から選択された予測MP
Sのモードに従って少なくとも1つの予測子ブロックに対してブロックB
iを予測する。
【0094】
それ自体知られている方法で、複数の候補予測子ブロックに対してブロックB
iを予測する。候補予測子ブロックの各々は、既に符号化されている、又は実際に符号化されてから復号される画素のブロックである。このような予測子ブロックを、符号器COの
図2に表すようなバッファメモリMT_Cに事前に記憶する。
【0095】
予測ステップC3の完了時に、例えば、当業者に周知のひずみビットレート基準を最小化することによって、予測の所定のモードを競合に設定した後に、最適予測子ブロックBPoptが得られる。ブロックBPoptは、現在ブロックBiの近似と見なされる。この予測に関する情報は、復号器に伝送されるべきデータ信号又はストリームに書き込まれることになっている。このような情報は、特に予測(インター又はイントラ)のタイプを含み、関連して、予測MPSの選択モード、現在ブロックが細分されている場合に現在ブロックの区分のタイプ、インター予測モードが選択されている場合に使用される参照画像指標及び変位ベクトルを含む。この情報は、符号器COによって圧縮される。
【0096】
図1に表すステップC4の間に、現在ブロックB
iに関するデータを予測子ブロックBP
optのデータと比較する。より正確には、このステップの間に、従来、得られた予測子ブロックBP
optと現在ブロックB
iとの間の差を計算する。
【0097】
次に、ステップC4の完了時に、残余ブロックBriと呼ばれるデータセットを得る。
【0098】
ステップC3及びC4を、
図2に表す予測符号化ソフトウェアモジュールPRED_Cによって実行し、このモジュールはプロセッサPROC_Cによって駆動される。
【0099】
図1に表すステップC5の間に、
図2の符号器COは、残余ブロックBr
iの変換の判定を行う。このような変換は、例えば、
- 例えば、DCTタイプの離散コサイン変換などの直接変換
- 例えば、DSTタイプの離散サイン変換などの直接変換
- 出版物“Rate-distortion optimised transform competition for intra coding in HEVC”,Adria Arrufat,Pierrick Philippe,Olivier Deforges,IEEE VCIP,Dec 2014に示すようなひずみビットレートによって最適化されるブロック変換
- DWTタイプのウェーブレット変換
- 出版物“Reduction of blocking effects in image coding with lapped orthogonal transform”,H.Malvarに示すような重複変換タイプの重複を含む変換
- 又は、任意の他のタイプの利用可能な変換
のような変換であってもよい。
【0100】
この変換は、変換のセットに属し、
図1に表す事前記憶ステップC0の間に、予測MP
Sの選択モードに対応付けられて
図2のバッファメモリMT_Cに記憶される。この記憶ステップの間に、
- 変換数NB
0を含む変換のセットに対応付けられて、予測MP
0の所定のモードを記憶し、
- 変換数NB
1を含む変換のセットに対応付けられて、予測MP
1の所定のモードを記憶し、
- …
- 変換数NB
Vを含む変換のセットに対応付けられて、予測MP
Vの所定のモードを記憶し、
- …
- 変換数NB
Rを含む変換のセットに対応付けられて、予測MP
Rの所定のモードを記憶する。
【0101】
本発明によれば、予測MP0、MP1、…、MPv、…、MPRの複数の所定のモードに属する予測MPa、MPbの少なくとも2つの異なるモードに対して(但し、0≦a≦R+1及び0≦b≦R+1)、予測MPaのモードに対応付けられている変換のセットに含まれるNBaで示す変換数は、予測MPbのモードに対応付けられて記憶されている変換のセットに含まれるNBbで示す変換数と異なる。
【0102】
例示的な第1の実施形態によれば、予測の所定のモードの複数の予測MP0、MP1、…、MPv、…、MPRのうち予測の2つのモードにそれぞれ対応付けられて記憶されている変換の少なくとも2つのセットに対して、2つのセットの各々における変換数は、少なくとも1つの同じ変換操作を共通して含む。
【0103】
例えば、HEVC規格に準拠する符号化の場合、2つのセットの各々における変換数は、例えば、
- DSTタイプの変換、又はDCTタイプの変換、
- 一方はDCTタイプ、他方はDSTタイプの2つの変換、
- 共通の2つを超える変換
を共通して含んでもよい。
【0104】
その上、変換の2つを超えるセットは、少なくとも1つの同じ変換操作を共通して含むことができる。更に、HEVC規格に準拠する符号化の場合、より詳細には、予測DPI0、DPI1、…、DPI34の35の可能な方向を提案する、この規格に準拠するイントラ予測の場合、予測のこれらの35の方向の各々にそれぞれ対応付けられている変換のセットは、少なくとも1つの同じ変換操作を共通して含むことができる。
【0105】
図2に表す例示的な第2の実施形態によれば、予測MP
Sの選択モードに対応付けられ、変換数NB
Sを含む変換のセットは、予測MP
0、MP
1、…、MP
v、…、MP
Rの複数の所定のモードのうち、MP
uで示す、予測の少なくとも1つの他のモード(但し、0≦u≦R+1)に対応付けられて記憶されている。
【0106】
従って、ステップC4で選択された予測MPSのモードに対応付けられている変換のセットに含まれる変換数NBSに応じて、上述の判定ステップC5は、
- 予測MPSのモードに対応付けられている変換のセットが1つの変換のみを含む場合、即ちNBS=1の場合、Ts,kで示す単一の変換を読み取るステップ、
- 又は、予測MPSのモードに対応付けられている変換のセットが1つを超える変換を含む場合、即ちNBS>1の場合、幾つかの変換の中から、例えばTs,k*(但し、0≦k*≦N-1)で示す1つの変換を選択するステップ
であり、このような選択は、例えば、
・当業者に周知のビットレート/ひずみ基準を最小化することによって、
・又は、単にビットレートを最小化することによって、
・又は、単にひずみを最小化することによって、
・又は、当業者に周知のビットレートひずみ/複雑性の妥協を最小化することによって、
・又は、単に効率を最小化することによって、
・又は、単に複雑性を最小化することによって、
所定の符号化性能基準に従って実行される。
【0107】
映像符号化の文脈では、例えば、残余ブロックの係数の変換の計算に含まれる数学的操作(加算、乗算、2進シフト)の回数を数えることによって、複雑性を定義することを想起せよ。
【0108】
図1に表すステップC6の間に、変換T
s,k又はT
s,k*を用いて残余ブロックBr
iを変換する。このような操作を、
図2に表す変換ソフトウェアモジュールMTR_Cによって実行し、このモジュールはプロセッサPROC_Cによって駆動される。ステップC6の完了時に、変換ブロックBt
iを得る。
【0109】
図1に表すステップC7の間に、例えば、スカラ又はベクトル量子化などの従来の量子化操作に従って、変換ブロックBt
iのデータを量子化する。次に、量子化係数のブロックBq
iを得る。ステップC7を、
図2に表す量子化ソフトウェアモジュールMQ_Cによって実行し、このモジュールはプロセッサPROC_Cによって駆動される。
【0110】
図1では、変換アプリケーションステップC6の後に、量子化ステップC7を表す。しかし、量子化係数を含む整数を用いて実行されるステップC6に、ステップC7を統合することができる。
【0111】
それ自体知られている方法で、
図1に表すステップC8の間に、ブロックBq
iのデータを符号化する。このような符号化は、例えば、CABAC(「文脈適応2進算術符号器(Context Adaptive Binary Arithmetic Coder)」)タイプのエントロピー符号化、又は算術又はハフマン(Huffman)タイプのエントロピー符号化である。ステップC8の完了時に、現在ブロックB
iに対応付けられている符号化データd
1、d
2、…、d
w、…、d
V(1≦w≦V、Vは自然数)を得る。
【0112】
ステップC8を、
図2に表す符号化ソフトウェアモジュールMC_Cによって実行し、このモジュールはプロセッサPROC_Cによって駆動される。
【0113】
図1に表すステップC9の間に、
- 上述のステップC8の完了時に得られた符号化データd
1、d
2、…、d
w、…、d
Vと、
- ステップC5で判定された変換T
s,k又はT
s,k*の指標IDXと
を含むデータ信号又はストリームFを構成する。
【0114】
指標IDXを、例えば、2進コードの形でストリームに書き込むことができる。例えば、変換Ts,k又はTs,k*が、予測MP0、MP1、…、MPv、…、MPRのR+1個の所定のモードにそれぞれ対応付けられている変換のR+1個のセットに共通の変換である場合、このような構成を実行する。次に、指標IDXを、1又は0、例えば1に設定する。一方、変換Ts,k又はTs,k*が、予測MP0,MP1、…、MPv、…、MPRのR+1個の所定のモードにそれぞれ対応付けられている変換のR+1個のセットに共通でない変換である場合、指標IDXは、値0の第1のビットと、次いで、選択された予測MPSのモードに対応付けられている変換のセットに含まれる変換数NBSから選択された変換Ts,k又はTs,k*を表す追加コードワードとを含む。例えば、CABAC符号器を用いて、値0の第1のビットを符号化する。変換数NBSが2の累乗である場合、追加コードワードを固定長で符号化することができる。変換数NBSが2の累乗である、又は2の累乗でない場合、追加コードワードを可変長コードで符号化することもできる。
【0115】
ステップC9を、
図2に表すデータ信号構成ソフトウェアモジュールMCFによって実行し、このモジュールはプロセッサPROC_Cによって駆動される。
【0116】
その後、
図2の符号器COの出力器SOR_Cを介して、データ信号Fを、送出してから、通信ネットワーク(図示せず)によって遠隔端末機器に伝送する。遠隔端末機器は、
図10に表す復号器DOを含む。
【0117】
それ自体知られている方法で、データ信号Fは、符号器COによって符号化された特定の情報、例えば、ステップC3で適用された予測(インター又はイントラ)のタイプを更に含み、関連して、選択された予測のモード、ステップC3の完了時に得られる得られた予測子ブロックBPoptの指標、現在ブロックが細分されている場合に現在ブロックBiの区分のタイプ、インター予測モードで使用される参照画像指標及び運動ベクトルを含む。
【0118】
その後、残余ブロックBriを復号する。次に、復号残余ブロックBDriを得る。次に、復号残余ブロックBDriを最適予測子ブロックBPoptに加えることによって、復号ブロックBDiを構成する。
【0119】
復号ブロックBD
iは、現在画像IC
jの復号方法の完了時に得られる復号ブロックと同じであることに留意すべきであり、これは、明細書で後述される。従って、復号ブロックBD
iは、
図2の符号器COによって使用できるようにする。
【0120】
上述されている符号化ステップC1~C9を、その後、例えば辞書式順序である所定の順序で、考慮される現在画像ICjの符号化されるべき各ブロックB1、B2、…、Bi、…、BSに対して実行する。
【0121】
ここで、イントラタイプのHEVC符号化の場合、本発明の第1の実施形態による、予測の各所定のモードに対して変換数を判定する方法について、
図3~
図8を参照して説明する。
【0122】
図1の符号化方法のステップの実行前に、下記のステップが行われる。
【0123】
図3に表すステップST1の間に、イントラ予測の所与のモードに対応付けられやすい変換最大数n
maxを判定する。
【0124】
実施形態では、nmax=16で表し、この数は、HEVC規格のイントラ予測ipmの35個のモードの各々に共通の少なくとも1つのHEVC変換を含む、又は含まないことができる。
【0125】
図3に表すステップST2の間に、HEVC規格のイントラ予測ipmの35個のモードの各々に対して変換数をゼロに初期設定する。このステップにおいて、予測の各モードは、HEVC(DCT又はDST)のタイプの単一の共通変換、及びゼロの追加変換を有する。このようなステップを、
図4の表TB1で要約し、表の第1列は、イントラ予測ipm
0~ipm
34の35個のモードを列挙し、表の第1行は、追加変換の各々の間での第1の15の反復(iter)を列挙する。
【0126】
表TB1の第1列に続いて、第1の15の反復(iter)の各々に対して、
- 所与の変換の追加の後に、最良のメモリ資源/符号化性能の妥協に従って選択された予測(ipm)のモード
- 第1の反復(iter)以来追加された変換の総数(Nb)
- 追加された変換の全体を記憶するのに符号器で使用される記憶容量(ROM)
- 得られる符号化性能(BDRate)、即ち、HEVC符号器に対して得られる百分率ビットレート減少
も列挙する。
【0127】
表TB1では、ゼロへの初期設定を、iter=0で表す。
【0128】
図3に表すステップST3の間に、第1の変換を追加する間に第1の反復iter=1を行う。
【0129】
図3に表すステップST4の間に、イントラ予測の35個のモードの各々に対して、符号化性能、及び追加変換に対して使用されるべき記憶容量を計算する。
【0130】
イントラ予測ipmx(但し、0≦x≦34)の所与のモード、及び所与の反復it(但し、it≧0)に対して、得られる符号化性能、即ちビットレートゲインを、Rit,xで示し、追加変換を記憶する対応記憶容量を、Mit,xで示す。
【0131】
図3に表すステップST5の間に、イントラ予測の35個のモードの各々に対して、得られるビットレート差と追加メモリ差との間の比率a_xを、下記のように計算する。
a_x=(R
it,x-R
0)/(M
it,x-M
0)(但し、R
0及びM
0は、HEVC規格に対して保存されたビットレート及び追加されたメモリをそれぞれ示す、即ち、反復it=0(R
0=0、M
0=0)。)
【0132】
図3に表すステップST6の間に、比率a_xが、最も有利な値、即ち、最小限の追加メモリ資源に対して最大ビットレート減少を示す、イントラ予測ipm
xのモードを選択する。
【0133】
図4の表TB1の第3列に表すように、第1の反復it=1に対して、最も有利であり、イントラ予測0のモードに対応する比率a_0の値である。このモードの指標を、
- HEVC規格に対して保存されたビットレートR
1、即ちR
1=0.2%
- HEVC規格に対して追加されたメモリM
1、即ちM
1=0.1kb
に対応付けて、表の第3列の一番下に示す。
【0134】
図3に表すステップST7の間に、この第1の反復中に追加された変換を用いて、
図2の符号器COを更新する。
【0135】
その後、各反復に対して、ステップST3~ST7を再度適用する。
【0136】
図4に示すように、表TB1は、実行される第1の15の反復にわたって、メモリ資源(ROM)が増大するにつれて、ビットレートゲイン(BDRate)を反復に応じて向上させる方法を示す。
【0137】
従って、例えば、表TB1の最終列に表すように、反復iter=15で、最も有利であり、イントラ予測28のモードに対応する比率a_28の値である。このモードの指標を、
- HEVC規格に対して保存されたビットレートR15、即ちR15=1.01%
- HEVC規格に対して追加されたメモリM15、即ちM15=2kb
に対応付けて、表の最終列の一番下に示す。
【0138】
更に、反復iter=15で、予測のモード毎に追加されている変換数を表す。従って、下記の通りである。
- イントラ予測0のモードの場合、4つの変換が追加されている。
- イントラ予測10及び16のモードの場合、2つの変換がそれぞれ追加されている。
- イントラ予測1、8、9、11、14、25、27及び28のモードの場合、1つの変換がそれぞれ追加されている。
【0139】
従って、反復iter=15の場合、総数16個の変換が追加されている。
【0140】
さて
図5を参照して、
-
図4の表TB1と直接関連して、
図3の反復方法の実行の後に、使用されるメモリ資源に対する符号化性能の展開を表す点曲線CB1と、
- 予測のモード毎に同じ変換数を使用する最先端の符号器を用いて得られるような、使用されるメモリ資源に対する符号化性能の展開を表す実曲線CB2と
を示す。
【0141】
2本の曲線CB1及びCB2を比較することによって、
図3に表すような予測のモード毎に変換数を判定する反復方法を実行する場合、所与のメモリの設置面積に対して、符号化性能が大幅に向上されることに留意せよ。それに応じて、
図3に表すような予測のモード毎に変換数を判定する反復方法により、判定された変換を記憶するのに必要なメモリ資源を、予想符号化性能に対して、大幅に減少することができる。
【0142】
予想符号化性能に対して、記憶容量の観点から、本発明によって与えられるゲインを評価するために、固定及び可変記憶容量、及び本発明によって使用される可変記憶容量を用いて得られる記憶容量減少の比較概要を与える表を以下に示す。
【0143】
【0144】
従って、2.8%の予想ビットレートゲインに対して、予測のモード毎に固定変換数を使用する先行技術の符号器の記憶容量は、140kbであるけれども、予測のモード毎に可変変換数を使用する本発明による符号器の記憶容量は、60.4kbである。従って、最先端の符号器に対する本発明による符号器の記憶容量の減少を、2.8%の予想ビットレートゲインに対して、57%と推定することができる。
【0145】
その結果、本発明による符号化方法では、有利なことに、先行技術の符号化方法で使用されるものと比較して、変換に関して記憶容量に対する影響が限定的な状態で、高い符号化性能を得ることができる。
【0146】
イントラタイプのHEVC符号化の場合に実行される本発明の実施形態について、
図1~
図3、
図6A、
図6B、
図7~
図9を参照して説明する。この実施形態では、
図1のステップC3の間に選択されたイントラ予測のモードに対応付けられている変換のセットを、予測の複数の所定のモードのうち予測の少なくとも1つの他のモードに対応付けて、事前に記憶する。
【0147】
この例において、
図1のステップC3の完了時に、得られる最適予測子ブロックBP
optを、例えば、方向DPI
22であるイントラ予測の最適方向に対応付ける。
【0148】
本実施形態によれば、イントラ予測の他の方向がイントラ予測DPI
22の方向に関して対称であるという条件で、イントラ予測DPI
22の方向に対応付けられている変換(一意の場合)又は変換のセットを、
図1のステップC0の間に、イントラ予測の別の方向に事前に対応付ける。このようにして、符号器COのレベルで、それに応じて、明細書において後述される復号器のレベルで、変換の半分を記憶し、利点は、符号器及び復号器側でメモリが減少することである。
【0149】
第1の変型例によれば、対称を示すイントラ予測の2つの方向を、同じ変換又は変換の同じセットに対応付ける。
【0150】
第2の変型例によれば、垂直(又は水平)方向に対して同じ角度差を各々示すイントラ予測の2つの角度方向を、同じ変換又は変換の同じセットに対応付ける。
【0151】
従って、
図6Aに表すように、水平軸AHに対して30度の角度を示すイントラ予測の角度方向を、この水平軸に対して-30度の角度を対称的に示すイントラ予測の角度方向に対応付ける。
図7を参照して、イントラ予測のこれらの2つの方向は、方向DPI
4及びDPI
16にそれぞれ対応する。
【0152】
同様に、
図6Aに表すように、水平軸に対して-60度の角度を示すイントラ予測の角度方向を、垂直軸AVに対して-120度の角度を対称的に示すイントラ予測の角度方向に対応付ける。
図7を参照して、イントラ予測のこれらの2つの方向は、方向DPI
20及びDPI
32にそれぞれ対応する。
【0153】
更に、丁度説明されている例及び更に別の実施形態によれば、イントラ予測の他の方向がイントラ予測DPI22の方向に関して対称であるという条件で、ステップC3で選択されたイントラ予測DPI22の方向に対応付けられている変換又は複数の変換を、イントラ予測の3つの他の方向に事前に対応付ける。このようにして、符号器COのレベルで、それに応じて、明細書において後述される復号器のレベルで、変換の4分の1を記憶し、利点は、符号器及び復号器側でメモリが減少することである。
【0154】
第1の変型例によれば、対称を示すイントラ予測の4つの方向を、同じ変換又は変換の同じセットに対応付ける。
【0155】
第2の変型例によれば、垂直、水平及び対角軸に対して同じ角度を各々示すイントラ予測の4つの角度方向を、同じ変換又は変換の同じセットに対応付ける。
【0156】
従って、
図6Aに表すように、水平軸AHに対して30度の角度を示すイントラ予測の角度方向を、
- この水平軸に対して対称的に-30度の角度のイントラ予測の角度方向と、
- この水平軸及び対角軸ADに対して対称的に-60度の角度を示すイントラ予測の角度方向と、
- 対角軸ADに対して対称的に-120度の角度を示すイントラ予測の角度方向と
に対応付ける。
【0157】
図7を参照して、イントラ予測のこれらの4つの方向は、方向DPI
4、DPI
16、DPI
20及びDPI
32にそれぞれ対応する。
【0158】
表は、
図2の符号器COのバッファメモリMT_Cにおいて、本発明によって判定されるような、同じ変換(一意の場合)又は変換のセットに対応付けることができる、HEVCイントラ予測の方向の9つのグループG
1~G
9を以下に表す。
【0159】
【0160】
図7に示すようなDPI
2、予測DPI
18及びDPI
34の方向にそれぞれ対応する
図6Bに表すような45度の倍数(45度、-45度及び-135度)における角度方向を、3つずつグループ化し、同じ変換又は変換の同じセットに対応付ける。
【0161】
予測のモードの上述のグループの取得に従って、
図1を参照して、変換を判定するステップC5の前に、
図1のステップC4の完了時に得られるような残余ブロックBr
iのデータの少なくとも1つの変位のステップC40を行う必要がある場合がある。ステップC40の間に、考慮される各データを、残余ブロックの最も近い近隣を保存しながら、残余ブロック内で変位させる。
【0162】
ステップC40を、
図2に表す計算ソフトウェアモジュールCAL_Cによって実行し、このモジュールはプロセッサPROC_Cによって駆動される。
【0163】
第1の実施形態によれば、データ変位のタイプは、転置、即ち、現在残余ブロックのデータの行及び列座標の交換である。
【0164】
第2の実施形態によれば、データ変位のタイプは、鏡映、即ち、現在残余ブロックの列又は行の交換である。従って、残余ブロックBriで考慮される各データを、残余ブロックの最も近い近隣を保存しながら、残余ブロック内で変位させる。
【0165】
第3の実施形態によれば、データ変位のタイプは、転置及び鏡映の組合せである。即ち、下記の通りである。
- 現在残余ブロックのデータに、転置タイプの変位を適用し、次いで、鏡映タイプの変位を適用する。
- 又は、現在残余ブロックのデータに、鏡映タイプの変位を適用し、次いで、転置タイプの変位を適用する。
【0166】
更に、本発明の別の実施形態によれば、残余ブロックBriにおけるデータ変位のタイプは、選択された予測MPSのモードに左右される。
【0167】
図8を参照して、残余ブロックBr
iの所与の画素が残余ブロックの近隣の画素を保存できる、0~7の番号を付けた変位の8つの異なる可能なタイプがある。例えば、画素p7に対して、画素p7は、画素p2、p3、p4、p6、p8、p10、p11及びp12によって常に囲まれている。特定の方法で、残余ブロックBr
iに適用されるタイプ0の鏡映回転により、変更残余ブロックBmr
iを得ることができ、この場合、変更残余ブロックBmr
iは残余ブロックBr
iと同じである。
【0168】
更に、本発明によれば、イントラ予測の方向を、グループ化のモードに従って、変位の8つのタイプのうち1つのタイプに対応付ける。例えば、下記の通りである。
- 同じ変換又は変換の同じセットに対応付けられているイントラ予測DPI
22及びDPI
6の方向を、
図8に表すようなタイプ0及びタイプ5の鏡映回転にそれぞれそれら自体対応付ける。
- 同じ変換又は変換の同じセットに対応付けられているイントラ予測DPI
4及びDPI
16の方向を、
図8に表すようなタイプ0及びタイプ2の鏡映回転にそれぞれそれら自体対応付ける。
- 同じ変換又は変換の同じセットに対応付けられているイントラ予測DPI
20及びDPI
32の方向を、
図8に表すようなタイプ0及びタイプ1の鏡映回転にそれぞれそれら自体対応付ける。
- 同じ変換又は変換の同じセットに対応付けられているイントラ予測DPI
4、DPI
16、DPI
20及びDPI
32の方向を、
図8に表すようなタイプ6、タイプ4、タイプ0及びタイプ1の鏡映回転にそれぞれそれら自体対応付ける。
【0169】
さて
図9を参照して、表TB2を示す。表TB2は、予測の少なくとも2つのモードを変換の同じセットに対応付ける場合、実行される第1の15の反復にわたって、メモリ資源(ROM)が増大するにつれて、ビットレートゲイン(BDRate)を反復に応じて向上させる方法を示す。
【0170】
従って、例えば、表TB2の最終列に表すように、反復iter=15で、最も有利であり、イントラ予測28のモードに対応する比率a_28の値である。このモードを、
- 先行技術の符号化方法に対して保存されたビットレートR15、即ちR15=1.21%
- 先行技術の符号化方法に対して追加されたメモリM15、即ちM15=2.1kb
に対応付けて、表の最終列の一番下に示す。
【0171】
更に、反復iter=15で、予測のモード毎又は予測のモードのグループ毎に追加されている変換数を表す。従って、下記の通りである。
- イントラ予測1のモード及びイントラ予測の方向の上述のグループG3及びG5の場合、1つの変換がそれぞれ追加されている。
- イントラ予測の方向の上述のグループG6、G7及びG9の場合、2つの変換がそれぞれ追加されている。
- イントラ予測0のモード及びイントラ予測の方向の上述のグループG8の場合、4つの変換がそれぞれ追加されている。
【0172】
従って、反復iter=15の場合、総数17個の変換が追加されている。
【0173】
表TB2では、予測のモードのこのようなグループ化を使用しない符号化方法に対して20%のオーダーの、変換の記憶に専用のメモリ資源の大幅な減少に気付くことができる。
【0174】
予想符号化性能に対して、記憶容量の観点から評価される、本発明による予測のモードのこのようなグループ化を用いて与えられるゲインを評価するために、予測のモード毎に同じ変換数を用いた先行技術の符号器にある固定記憶容量、及び本発明による符号器にある可変記憶容量、及び可変記憶容量を用いて得られる記憶容量減少の比較概要を与える表を以下に示す。
【0175】
【0176】
従って、1.7%の予想ビットレートゲインに対して、予測のモード毎に固定変換数を使用する符号器の記憶容量は、17.5kbであるけれども、予測のモード毎又は予測のモードのセット毎に可変変換数を使用する本発明による符号器の記憶容量は、わずか5.3kbである。従って、最先端の符号器に対する本発明による符号器の記憶容量の減少を、1.7%の予想ビットレートゲインに対して、70%と推定することができる。
【0177】
本発明の別の実施形態によれば、予測のモード毎又は予測のモードのグループ毎に変換数を判定する反復方法を、変換数を判定する自動方法と交換することができる。
【0178】
特定の符号化の文脈で、
図2の符号器COが所与の複雑性点で動作することを強いる場合、自動判定方法は、必要であることが分かる。
図1のステップC5の間に、最適変換の符号器によって選択の調査を制限するように、符号化の間に、競合で変換数を減少する必要がある。
【0179】
例示的な第1の実施形態によれば、予測の垂直又は水平方向に対応付けられている予測のモードの場合に判定される変換数を、予測の斜め方向に対応付けられている予測のモードの場合に判定される変換数よりも大きくする。
【0180】
例えば、HEVC規格の場合、イントラ予測の35個の利用可能なモードの中から、現在ブロックのエッジの2つを超える画素を平均することによって、2つのモード0(Planar)及び1(DC)による予測を計算するので、モード0(Planar)及び1(DC)が最大平滑化モードであることを当業者は分かっている。その結果、
図1のステップC0の間に、Planar及びDCモードを、他のHEVCイントラ予測モードの変換数よりも大きい変換数に対応付ける。
【0181】
更に、それ自体知られている方法で、水平又は垂直である画像のパターンを予測するのに、モード10(水平)及び26(垂直)を使用する。性質(例えば、垂直木、極、水平線など)で頻繁に見つけられるこのようなパターンを、イントラ予測の斜めモードに対応付けられている変換数よりも大きい変換数に対応付ける必要がある。
【0182】
例示的な第2の実施形態によれば、予測MP0、MP1、…、MPv、…、MPRの複数の所定のモードの中で、予測の最確モードとして事前に選択されている予測のモードの場合に判定される変換数は、予測の最確モードとして事前に選択されていない予測のモードの場合に判定される変換数よりも大きい。
【0183】
例えば、HEVC規格の場合、MPMs(「Most Probable Modes」)と呼ばれる予測の最確モードのリストを、符号化の前にコンパイルする。特に、モード0(Planar)、1(DC)及び26(垂直)は、リストをコンパイルする場合にデフォルト値で割り当てられる予測のモードである。本発明によれば、イントラ予測のこれらの3つのモードを、
図1の記憶ステップC0の間に、他のHEVCイントラ予測モードに対応付けられている変換数よりも大きい変換数に事前に対応付ける。
【0184】
例示的な第3の実施形態によれば、予測MP0、MP1、…、MPv、…、MPRの所定のモードの各々に対応付けられて記憶された変換のセットに含まれる変換数を、予測のこれらのモードの各々を表す情報量に応じて判定する。
【0185】
例えば、HEVC規格の場合、0(Planar)、1(DC)及び26(垂直)などのイントラ予測の最確モードを、他のモードよりも少ないビットで信号伝送する。本発明によれば、これらの3つのモードを他のモードよりも頻繁に選択するので、イントラ予測の他のモードの変換数よりも大きい変換数にこれらの最確モードを対応付けるのに適切であり、その結果、これらの3つのモードを用いて試験されるべき一層多くの様々な予測子ブロックがある。
【0186】
従って、本発明によれば、予測のモードの信号伝送をより少ないビットで実行する場合、
図1のステップC0の間に予測のこのモードに対応付けられて記憶された変換数は、イントラ予測の35個のモードのセットにわたって変換の平均よりも大きい。
【0187】
復号部の詳細な説明
ここで、本発明の実施形態について説明する。この実施形態では、本発明による復号方法を用いて、現在又は次の映像復号規格のうちの何れか1つに準拠する復号器によって復号できる画像又は画像のシーケンスを表すデータ信号又はストリームを復号する。
【0188】
この実施形態において、例えば、このような復号器の変更によるソフトウェア又はハードウェアのやり方で、本発明による復号方法を実行する。
【0189】
本発明による復号方法を、
図11に表すようなステップD0~D9を含むアルゴリズムの形で表す。
【0190】
この実施形態によれば、本発明による復号方法を、
図10に表す復号デバイス又は復号器DOで実行する。
【0191】
図10に示すように、このような復号デバイスは、
- 復号されるべき現在データ信号又はストリームFを受信する入力器ENT_Dと、
- 本発明による復号方法を実行する処理回路CT_Dであって、
・バッファメモリMT_Dを含むメモリMEM_Dと、
・コンピュータプログラムPG_Dによって駆動されるプロセッサPROC_Dと
- を含む、本発明による復号方法を実行する処理回路CT_Dと、
- 本発明による復号の完了時に得られたデータを含む再構成された現在画像を送出する出力器SOR_Dと
を含む。
【0192】
初期設定時に、処理回路CT_Dによって実行される前に、コンピュータプログラムPG_Dのコード命令を、例えば、RAMメモリMR_Dにロードする。
【0193】
図11に表す復号方法は、静止画である、又は復号されるべき画像のシーケンスに属する、復号されるべき現在画像IC
jを表すデータ信号又はストリームFに適用する。
【0194】
この目的のために、復号されるべき現在画像IC
jを表す情報を、
図1の符号化方法の完了時に送出されるような、復号器DOの入力器ENT_Dで受信されるデータ信号Fで識別する。
【0195】
図11を参照して、ステップD1の間に、信号Fにおいて、上述の辞書式順序に従って事前に符号化された各ブロックB
1、B
2、…、B
i、…、B
Sに対応付けられている符号化残余ブロックを判定する。
【0196】
このような判定ステップD1を、
図10に表すストリーム分析識別ソフトウェアモジュールMI_Dによって実行し、このモジュールはプロセッサPROC_Dによって駆動される。
【0197】
当然、上述以外の他のタイプの横断も可能であり、他のタイプの横断は、符号化時に選択される横断の順序に左右される。
【0198】
表す例において、復号されるべきブロックB1、B2、…、Bi、…、BSは、例えば正方形を有し、例えばM×M画素(但し、Mは、1以上の自然数)のサイズである。
【0199】
更に、復号されるべき各ブロック自体を、それ自体細分可能なサブブロックに分割することができる。
【0200】
図11に表すステップD2の間に、
図10の復号器DOは、
図1の符号化方法の完了時に符号化されている第1のブロックを、復号されるべき現在ブロックB
iとして選択する。
【0201】
図11に表すステップD3の間に、
図1のステップC8の間に符号化されている、復号されるべき現在ブロックB
iに対応付けられている残余データd
1、d
2、…、d
w、…、d
Vを、例えば復号によって判定する。このような判定の完了時に、
- ステップC7の完了時に得られる量子化ブロックBq
iに対応付けられているデジタル情報のセット
- 又は、残余ブロックBr
iのデータを変位させるステップC40が符号化時に実行されている場合、ステップC7の完了時に得られる量子化変更ブロックBmq
iに対応付けられているデジタル情報のセット
が得られる。
【0202】
更に、ステップD3の間に、データ信号Fに書き込まれている、
図1のステップC3の間の符号化時に実行されるような現在ブロックB
iの予測のタイプに関する情報を判定する。
【0203】
この目的のために、ステップD3の間に、
-
図1のステップC3で選択された予測MP
Sのモード
- IBP
optで示す、予測子ブロックBP
optの指標、及び現在ブロックB
iが区分されている場合に現在ブロックB
iの区分のタイプ
を判定する。
【0204】
このような復号ステップD3を、
図10に表す復号モジュールMD_Dによって実行し、このモジュールはプロセッサPROC_Dによって駆動される。
【0205】
図11に表すステップD4の間に、上述のステップD3の間に復号されている予測子ブロックの指標IBP
optを用いて、復号されるべき現在ブロックの予測復号を行う。この目的のために、それ自体知られている方法で、指標IBP
optに対応付けて、
図10の復号器DOのバッファメモリMT_Dにおいて、バッファメモリMT_Dに事前に記憶されている複数の候補予測子ブロックの中で目立つ、対応する予測子ブロックBP
optを選択する。各候補予測子ブロックは、既に復号されている画素のブロックである。
【0206】
ステップD4を、
図10に表す逆予測ソフトウェアモジュールPRED
-1_Dによって実行し、このモジュールはプロセッサPROC_Dによって駆動される。
【0207】
上述のステップD3の完了時に得られている符号化ブロックBq
i又はBmq
iに対応付けられているデータセットである場合に実行される、
図11に表すステップD5の間に、
図1の量子化ステップC7中に実行される量子化と逆の操作である従来の逆量子化操作に従って、このデータセットを逆量子化する。次に、ステップD5の完了時に、逆量子化係数BDq
iの現在セット又は逆量子化変更係数BDmq
iの現在セットを得る。このような逆量子化ステップは、例えば、スカラ又はベクトルタイプである。
【0208】
ステップD5を、10に表す逆量子化ソフトウェアモジュールMQ-1_Dによって実行し、このモジュールはプロセッサPROC_Dによって駆動される。
【0209】
図11に表すステップD6の間に、
図10の復号器DOは、上述のステップD5で得られるような逆量子化係数BDq
iの現在セット又は逆量子化変更係数BDmq
iの現在セットの変換の判定を行う。それ自体知られている方法で、このような変換は、
図1のステップC5の完了時に符号化で判定される変換と逆の変換であり、例えば、
- 例えば、DCTタイプの離散コサイン変換などの直接変換
- 例えば、DSTタイプの離散サイン変換などの直接変換
- 出版物“Rate-distortion optimised transform competition for intra coding in HEVC”,Adria Arrufat,Pierrick Philippe,Olivier Deforges,IEEE VCIP,Dec 2014に示すようなひずみビットレートによって最適化されるブロック変換
- DWTタイプのウェーブレット変換
- 出版物“Reduction of blocking effects in image coding with lapped orthogonal transform”,H.Malvarに示すような重複変換タイプの重複を含む変換
- 又は、任意の他のタイプの利用可能な変換
の通りである。
【0210】
この変換は、変換のセットに属し、
図11に表す事前記憶ステップD0の間に、予測MP
Sの選択モードに対応付けられて
図10のバッファメモリMT_Dに記憶される。この記憶ステップの間に、
- 変換数NB
0を含む変換のセットに対応付けられて、予測MP
0の所定のモードを記憶し、
- 変換数NB
1を含む変換のセットに対応付けられて、予測MP
1の所定のモードを記憶し、
- …
- 変換数NB
Vを含む変換のセットに対応付けられて、予測MP
Vの所定のモードを記憶し、
- …
- 変換数NB
Rを含む変換のセットに対応付けられて、予測MP
Rの所定のモードを記憶する。
【0211】
本発明によれば、予測MP0、MP1、…、MPv、…、MPRの複数の所定のモードに属する予測MPa、MPbの少なくとも2つの異なるモードに対して(但し、0≦a≦R+1及び0≦b≦R+1)、予測MPaのモードに対応付けられている変換のセットに含まれるNBaで示す変換数は、予測MPbのモードに対応付けられて記憶されている変換のセットに含まれるNBbで示す変換数と異なる。
【0212】
例示的な第1の実施形態によれば、予測の所定のモードの複数の予測MP0、MP1、…、MPv、…、MPRのうち予測の2つのモードにそれぞれ対応付けられて記憶されている変換の少なくとも2つのセットに対して、2つのセットの各々における変換数は、少なくとも1つの同じ変換を共通して含む。
【0213】
例えば、HEVC規格に準拠する符号化の場合、2つのセットの各々における変換数は、例えば、
- DSTタイプの変換と逆の変換、又はDCTタイプの変換と逆の変換
- DSTタイプの変換と逆の変換、及びDCTタイプの変換と逆の変換
- 共通の2つを超える変換
を共通して含んでもよい。
【0214】
その上、変換の2つを超えるセットは、少なくとも1つの同じ変換操作を共通して含むことができる。更に、HEVC規格に準拠する復号の場合、より詳細には、予測DPI0、DPI1、…、DPI34の35の可能な方向を提案する、この規格に準拠する逆イントラ予測の場合、予測のこれらの35の方向の各々にそれぞれ対応付けられている変換のセットは、少なくとも1つの同じ変換操作を共通して含むことができる。
【0215】
図10に表す例示的な第2の実施形態によれば、上述のステップD3で判定された予測MP
Sのモードに対応付けられ、変換数NB
Sを含む変換のセットは、予測MP
0、MP
1、…、MP
v、…、MP
Rの複数の所定のモードのうち、MP
uで示す、予測の少なくとも1つの他のモード(但し、0≦u≦R+1)に対応付けられて、
図10のバッファメモリMT_Dに記憶されている。
【0216】
より詳細には、上述の判定ステップD6は、上述のステップC5(
図1)の完了時に符号化で選択されている変換T
s,k(NB
S=1)又はT
s,k*(NB
S>1)の指標IDXをデータ信号Fにおいて読み取るステップであり、この指標は、上述のステップC8(
図1)の間にデータ信号Fに書き込まれている。
【0217】
図11に表すステップD7の間に、上述のステップD5で得られるような逆量子化係数BDq
iの現在セット又は逆量子化変更係数BDmq
iの現在セットに、変換T
s,k又はT
s,k*と逆の変換を適用する。ステップD7の完了時に、現在復号残余ブロックBDr
i又は現在復号変更残余ブロックBDmr
iを得る。
【0218】
このような操作を、
図10に表す逆変換ソフトウェアモジュールMTR
-1_Dによって実行し、このモジュールはプロセッサPROC_Dによって駆動される。
【0219】
図11では、逆変換ステップD7の前に、逆量子化ステップD5を表す。しかし、逆量子化係数を含む整数を用いて実行されるステップD7に、ステップD5を統合することができる。
【0220】
図11に表すステップD8の間に、上述のステップD7の完了時に得られる復号残余ブロックBDr
iに、上述のステップD4の完了時に得られている予測子ブロックBP
optを追加することによって、現在ブロックB
iを再構成する。ステップD8の完了時に、現在復号ブロックBD
iを得る。
【0221】
ステップD8を、
図10に表すソフトウェアモジュールCAL1_Dによって実行し、このモジュールはプロセッサPROC_Dによって駆動される。
【0222】
図11に表すステップD9の間に、現在復号ブロックBD
iを復号画像ID
jに書き込む。
【0223】
このようなステップを、
図10に表す画像再構成ソフトウェアモジュールURIによって実行し、このモジュールはプロセッサPROC_Dによって駆動される。
【0224】
上述されている復号ステップを、例えば辞書式順序である所定の順序で、考慮される現在画像ICjの復号されるべき全てのブロックB1、B2、…、Bi、…、BSに対して実行する。
【0225】
符号化時と同様にして、
図3~
図8を参照して、復号方法は、イントラタイプのHEVC復号の場合、予測の各所定のモードに対して変換数を判定する方法を、本発明の第1の実施形態によって実行する。
【0226】
イントラタイプのHEVC復号の場合に実行される本発明の実施形態について、
図3、
図6A、
図6B、
図7~
図11を参照して説明する。この実施形態では、
図11のステップD3の間に選択されたイントラ予測のモードに対応付けられている変換のセットを、予測の複数の所定のモードのうち予測の少なくとも1つの他のモードに対応付けて、事前に記憶する。
【0227】
この例において、
図11のステップD3の完了時に、得られる最適予測子ブロックBP
optを、例えば、方向DPI
22であるイントラ予測の最適方向に対応付ける。
【0228】
本実施形態によれば、イントラ予測の他の方向がイントラ予測DPI
22の方向に関して対称であるという条件で、イントラ予測DPI
22の方向に対応付けられている変換(一意の場合)又は変換のセットを、
図11のステップD0の間に、イントラ予測の別の方向に事前に対応付ける。このようにして、復号器DOのレベルで、変換の半分を記憶し、利点は、復号器側でメモリが減少することである。
【0229】
第1の変型例によれば、対称を示すイントラ予測の2つの方向を、同じ変換又は変換の同じセットに対応付ける。
【0230】
第2の変型例によれば、垂直(又は水平)方向に対して同じ角度を各々示すイントラ予測の2つの角度方向を、同じ変換又は変換の同じセットに対応付ける。
【0231】
従って、
図6Aに表すように、水平軸AHに対して30度の角度を示すイントラ予測の角度方向を、この水平軸に対して-30度の角度を対称的に示すイントラ予測の角度方向に対応付ける。
図7を参照して、イントラ予測のこれらの2つの方向は、方向DPI
4及びDPI
16にそれぞれ対応する。
【0232】
同様に、
図6Aに表すように、水平軸に対して-60度の角度を示すイントラ予測の角度方向を、垂直軸AVに対して-120度の角度を対称的に示すイントラ予測の角度方向に対応付ける。
図7を参照して、イントラ予測のこれらの2つの方向は、方向DPI
20及びDPI
32にそれぞれ対応する。
【0233】
更に、丁度説明されている例及び更に別の実施形態によれば、イントラ予測の他の方向がイントラ予測DPI22の方向に関して対称であるという条件で、ステップD3で判定されたイントラ予測DPI22の方向に対応付けられている変換又は複数の変換を、イントラ予測の3つの他の方向に事前に対応付ける。このようにして、復号器DOのレベルで、変換の4分の1を記憶し、利点は、復号器側でメモリが減少することである。
【0234】
第1の変型例によれば、対称を示すイントラ予測の4つの方向を、同じ変換又は変換の同じセットに対応付ける。
【0235】
第2の変型例によれば、垂直、水平及び対角軸に対して同じ角度を各々示すイントラ予測の4つの角度方向を、同じ変換又は変換の同じセットに対応付ける。
【0236】
従って、
図6Aに表すように、水平軸AHに対して30度の角度を示すイントラ予測の角度方向を、
- この水平軸に対して対称的に-30度の角度のイントラ予測の角度方向と、
- この水平軸及び対角軸ADに対して対称的に-60度の角度を示すイントラ予測の角度方向と、
- 対角軸ADに対して対称的に-120度の角度を示すイントラ予測の角度方向と
に対応付ける。
【0237】
図7を参照して、イントラ予測のこれらの4つの方向は、方向DPI
4、DPI
16、DPI
20及びDPI
32にそれぞれ対応する。
【0238】
表は、本発明によって判定されるような、同じ変換(一意の場合)又は変換のセットに対応付けることができる、HEVCイントラ予測の方向の9つのグループG1~G9を以下に表す。
【0239】
【0240】
図7に示すようなDPI
2、予測DPI
18及びDPI
34の方向にそれぞれ対応する
図6Bに表すような45度の倍数(45度、-45度及び-135度)における角度方向を、3つずつグループ化し、
図10の復号器DOのバッファメモリMT_Dにおいて、同じ変換又は変換の同じセットに対応付ける。
【0241】
予測のモードの上述のグループの取得に従って、
図11を参照して、ステップD7の完了時に得られている現在復号変更残余ブロックBDmr
iである場合、このステップに続いて、現在復号変更残余ブロックBDmr
iのデータの少なくとも1つの変位のステップD70を行う。考慮される各データを、ブロックの最も近い近隣を保存しながら、このブロック内で変位させる。
【0242】
ステップD70を、
図10に表す計算ソフトウェアモジュールCAL2_Dによって実行し、このモジュールはプロセッサPROC_Dによって駆動される。
【0243】
第1の実施形態によれば、データ変位のタイプは、符号化時に実行される転置と逆の転置、即ち、現在復号変更残余ブロックBDmriのデータの行及び列座標の交換である。
【0244】
第2の実施形態によれば、データ変位のタイプは、符号化時に実行される鏡映と逆の鏡映、即ち、現在復号変更残余ブロックBDmriの列又は行の交換である。従って、現在復号変更残余ブロックBDmriで考慮される各データを、ブロックの最も近い近隣を保存しながら、ブロック内で変位させる。
【0245】
第3の実施形態によれば、データ変位のタイプは、逆転置及び逆鏡映の組合せである。即ち、下記の通りである。
- 現在復号変更残余ブロックBDmriのデータに、逆転置タイプの変位を適用し、次いで、逆鏡映タイプの変位を適用する。
- 又は、現在復号変更残余ブロックBDmriのデータに、逆鏡映タイプの変位を適用し、次いで、逆転置タイプの変位を適用する。
【0246】
更に、本発明の別の実施形態によれば、現在復号変更残余ブロックBDmriにおけるデータ変位のタイプは、上述のステップD3で判定された予測MPSのモードに左右される。
【0247】
図8に表すような、符号化時に実行される様々なタイプの変位に対応する方法で、現在復号変更残余ブロックBDmr
iの所与の画素がブロックの近隣の画素を保存できる、0~7の番号を付けた変位の8つの異なる可能なタイプが、復号時にもある。例えば、画素p7に対して、画素p7は、画素p2、p3、p4、p6、p8、p10、p11及びp12によって常に囲まれている。現在復号変更残余ブロックBDmr
iのデータは、現在残余ブロックBr
iのデータと同じ順序で配置されているので、特定の方法で、タイプ0の鏡映回転と逆の鏡映回転は、データの変位を引き起こさない。
【0248】
更に、本発明によれば、
図11のステップD3の完了時に判定されたイントラ予測の方向を、属するグループに従って、逆変位の8つのタイプのうち1つのタイプに対応付ける。例えば、下記の通りである。
- 同じ変換又は変換の同じセットに対応付けられているイントラ予測DPI
22及びDPI
6の方向を、
図8に表すようなタイプ0及びタイプ5の鏡映回転の各逆鏡映回転にそれぞれそれら自体対応付ける。
- 同じ変換又は変換の同じセットに対応付けられているイントラ予測DPI
4及びDPI
16の方向を、
図8に表すようなタイプ0及びタイプ2の鏡映回転の各逆鏡映回転にそれぞれそれら自体対応付ける。
- 同じ変換又は変換の同じセットに対応付けられているイントラ予測DPI
20及びDPI
32の方向を、
図8に表すようなタイプ0及びタイプ1の鏡映回転の各逆鏡映回転にそれぞれそれら自体対応付ける。
- 同じ変換又は変換の同じセットに対応付けられているイントラ予測DPI
4、DPI
16、DPI
20及びDPI
32の方向を、
図8に表すようなタイプ6、タイプ4、タイプ0及びタイプ1の鏡映回転の各逆鏡映回転にそれぞれそれら自体対応付ける。
【0249】
本発明の別の実施形態によれば、符号化時と同じ方法で、予測のモード毎又は予測のモードのグループ毎に変換数を判定する反復方法を、変換数を判定する自動方法と交換することができる。
【0250】
特定の復号の文脈で、
図10の復号器DOが所与の複雑性点で動作することを強いる場合、自動判定方法は、必要であることが分かる。この所与の複雑性点を、画像部、全画像、又は画像のシーケンスに対して与えられる構成情報の項目による、
図2の符号器COによって、信号伝送することができる。複雑性点は、最大変換数、又は復号器で利用可能な変換数に対する変換数の比率を含むことができる。従って、
図11のステップD6の間に、構成情報の信号伝送項目に対応付けられている変換数だけで、
図10のバッファメモリMT_Dにおいて、復号器DOは、符号化時に選択され、ステップD3で判定された指標IDXに対応する変換を探索する。
【0251】
例示的な第1の実施形態によれば、予測の垂直又は水平方向に対応付けられている予測のモードの場合に判定される変換数を、予測の斜め方向に対応付けられている予測のモードの場合に判定される変換数よりも大きくする。
【0252】
例えば、HEVC規格の場合、イントラ予測の35個の利用可能なモードの中から、現在ブロックのエッジのより多くの画素を平均することによって、2つのモード0(Planar)及び1(DC)による予測を計算するので、モード0(Planar)及び1(DC)が最大平滑化モードであることを当業者は分かっている。その結果、
図11のステップD0の間に、Planar及びDCモードを、他のHEVCイントラ予測モードの変換数よりも大きい変換数に対応付ける。
【0253】
更に、それ自体知られている方法で、水平又は垂直である画像のパターンを予測するのに、モード10及び26を使用する。性質(例えば、垂直木、極、水平線など)で頻繁に見つけられるこのようなパターンを、イントラ予測の斜めモードに対応付けられている変換数よりも大きい変換数に対応付ける必要がある。
【0254】
例示的な第2の実施形態によれば、予測MP0、MP1、…、MPv、…、MPRの複数の所定のモードの中で、予測の最確モードとして事前に選択されている予測のモードの場合に判定される変換数は、予測の最確モードとして事前に選択されていない予測のモードの場合に判定される変換数よりも大きい。
【0255】
例えば、HEVC規格の場合、MPMs(「Most Probable Modes」)と呼ばれる予測の最確モードのリストを、符号化の前にコンパイルする。特に、モード0(Planar)、1(DC)及び26(垂直)は、リストをコンパイルする場合にデフォルト値で割り当てられる予測のモードである。本発明によれば、イントラ予測のこれらの3つのモードを、
図1Aの記憶ステップD0の間に、他のHEVCイントラ予測モードに対応付けられている変換数よりも大きい変換数に事前に対応付ける。
【0256】
例示的な第3の実施形態によれば、予測MP0、MP1、…、MPv、…、MPRの所定のモードの各々に対応付けられて記憶された変換のセットに含まれる変換数を、予測のこれらのモードの各々を表す情報量に応じて判定する。
【0257】
例えば、HEVC規格の場合、0(Planar)、1(DC)及び26(垂直)などのイントラ予測の最確モードを、他のモードよりも少ないビットで信号伝送する。本発明によれば、これらの3つのモードを他のモードよりも頻繁に選択するので、イントラ予測の他のモードの変換数よりも大きい変換数にこれらの最確モードを対応付けるのに適切であり、その結果、これらの3つのモードを用いて試験されるべき一層多くの様々な予測子ブロックがある。
【0258】
従って、本発明によれば、予測のモードの信号伝送をより少ないビットで実行する場合、
図11のステップD0の間に予測のこのモードに対応付けられて記憶された変換数は、イントラ予測の35個のモードのセットにわたって変換の平均よりも大きい。
【0259】
上述されている実施形態は全く限定されない証拠のために単に与えられており、本発明の範囲から逸脱することなく当業者が多数の変更を容易に加えることができることは言うまでもない。
【符号の説明】
【0260】
CB1 点曲線
CB2 実曲線
Bmri 変更残余ブロック