JP2018509070A - デジタル画像コーディング方法、デコーディング方法、装置および付随するコンピュータプログラム - Google Patents

デジタル画像コーディング方法、デコーディング方法、装置および付随するコンピュータプログラム Download PDF

Info

Publication number
JP2018509070A
JP2018509070A JP2017541692A JP2017541692A JP2018509070A JP 2018509070 A JP2018509070 A JP 2018509070A JP 2017541692 A JP2017541692 A JP 2017541692A JP 2017541692 A JP2017541692 A JP 2017541692A JP 2018509070 A JP2018509070 A JP 2018509070A
Authority
JP
Japan
Prior art keywords
block
vector
transformation
transformed
current block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2017541692A
Other languages
English (en)
Inventor
フィリップ,ピエリック
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
B Com SAS
Original Assignee
B Com SAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by B Com SAS filed Critical B Com SAS
Publication of JP2018509070A publication Critical patent/JP2018509070A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/18Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a set of transform coefficients
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Abstract

デジタル画像のコーディング方法、デコーディング方法、装置および付随するコンピュータプログラムである。本発明は、デジタル画像のコーディング方法に関し、前記画像(Ik)は、定義された順序で処理される複数の画素ブロックに分割されており、前記方法は、既定のサイズのカレントブロック(x)のために実施される以下のステップ、すなわち、−カレントブロックを変換済みブロックへと変換するステップ(T2)であって、前記ブロックが係数を含み、前記ステップが2つの連続する変換サブステップを実施し、第1のサブステップはカレントブロックに適用され、第2のサブステップは第1のサブステップに由来する中間ブロックに適用され、前記中間ブロックは係数を含むステップと、−変換済みブロックの係数を量子化(T4)およびコーディング(T5)するステップと、を含む方法であって、前記変換ステップはさらに、前記変換サブステップのうちの少なくとも1つ、すなわちカレントブロックと中間ブロックのうちの変換すべきブロックと呼ばれるブロックに適用されるサブステップのうちの少なくとも1つに先立って、変換すべきブロック内で、異なる少なくとも1つの第1および第2のベクトルを形成する予備サブステップ(T20、T23)を含み、1つの前記ベクトルが、変換すべきブロックのサイズのうちの1つに等しい長さを有する、変換すべきブロックのそれぞれ隣接する画素または隣接する係数のシーケンスの、それぞれ画素または係数を含むこと、および、−前記少なくとも1つの変換サブステップには、前記少なくとも1つの第1のベクトルに対する第1の変換関数(L0、C0)の適用、および、前記ブロックの前記少なくとも1つの第2のベクトルに対する、第1の変換関数とは異なる少なくとも1つの第2の変換関数(L1、C1)の適用が含まれること、を特徴とする。【選択図】図6

Description

本発明の分野は、信号の圧縮の分野、詳細には画素ブロックに分割されたデジタル画像またはデジタル画像シーケンスの分野である。
デジタル画像のコーディング/デコーディングは、特に、
− 同じカメラに由来し、時間的に連続する画像(2Dタイプのコーディング/デコーディング)、
− 異なるビューに沿って配向された異なるカメラに由来する画像(3Dタイプのコーディング/デコーディング)、
− 対応するテクスチャおよび深度の成分(3Dタイプのコーディング/デコーディング)
− 等々、
を含む少なくとも1つの映像シーケンスに由来する画像に適用される。
本発明は、2Dまたは3Dタイプの画像のコーディング/デコーディングに対して同じ要領で適用される。
本発明は特に、ただし非排他的に、現在の映像コーダにおいて実施される映像コーディングAVC(英語の「Advanced Video Coding」の略)およびHEVC(英語の「High Efficiency Video Coding」の略)およびそれらの拡張(MVC、3D−AVC、MV−HEVC、3D−HEVC、スケーラブルAVC、スケーラブルHEVCなど)、および対応するデコーディングに適用され得る。
画像を画素ブロックに分割するデジタル画像の従来の圧縮スキーマを考慮する。初期コーディングユニットを構成するコーディングすべきカレントブロックは、概して、既定の切断モードにしたがって可変数のサブブロックに切断される。図1に関連して、非ゼロの整数をKとして、デジタル画像シーケンスI1、I1、Ik、IKを考慮する。画像Ikは、2013年11月に公開された文書「ISO/IEC 23008−2:2013−High efficiency coding and media delivery in heterogeneous environments−−Part 2: High efficiency video coding」、International Organization for Standardization中で規定されているHEVC規格の用語集にしたがって、初期コーディングユニットつまりCTU(英語の「コーディング・ツリーユニット」の略)に切断される。標準的コーダは、概して、固定サイズのCU(英語の「Coding Units」の略)と呼ばれる正方形または矩形ブロックに基づく規則的なパーティショニングを提案している。パーティショニングは常に、パーティショニングされていない初期デコーディングユニットから行なわれ、最終的パーティショニングは、このニュートラルベースから計算され、次にシグナリングされる。HEVC規格により承認されているパーティショニングの例は、図2に関連して提示されている。
各CUは、非網羅的に予測、残余計算、変換、量子化、およびエントロピーコーディングを含む一連の演算からなるエンコーディングまたはデコーディング演算を受けることになる。この一連の演算は、先行技術で公知のものであり、図3に関連して提示されている。
カレントブロックbとして処理すべき第1のブロックCTUを選択する。例えばこれは、(辞書式順序で)最初のブロックである。このブロックは、N×N個の画素を含み、Nは、例えばHEVC規格にしたがうと64に等しい非ゼロの整数である。
1からLまで付番された考えられるL個のブロックパーティショニングPUが存在し、ブロックb上で使用されるパーティショニングが番号lのパーティショニングに対応するものと仮定する。例えば、「quad tree」タイプの規則的な切断モードにしたがって4×4、8×8、16×16および32×32サイズのサブブロックへの考えられる4つのパーティショニングが存在し得る。先に言及した通り、一部のブロックPUは矩形であり得る。
ステップE1中に、原初のブロックbの予測Prが決定される。これは、典型的には動き補償(先にデコーディングされた基準画像由来のブロック)またはintra予測(画像ID内のカレントブロックに直接隣接するデコーディングされた画素から構築されるブロック)による公知の手段によって構築される予測ブロックのことである。Pに関連する予測情報は、ビットストリームTBまたは圧縮ファイルFC内でコーディングされる。ここで、Kが非ゼロの整数であるものとして考えられるK個の予測モードm1、m2、...、mKが存在すると仮定される。例えば、カレントブロックbについて選択された予測モードはモードmkである。いくつかの予測モードはIntraタイプの予測に関連付けられ、他の予測モードはINTERタイプの予測に、他の予測モードはMERGEタイプの予測に関連付けられる。
ステップE2中に、原初の残余Rが、カレントブロックbからのカレントブロックbの予測Prの減算R=b−Prによって形成される。
ステップE3中に、残余Rは、DCTについてはJPEG/MPEG規格内そしてウェーブレット変換関数についてはJPEG2000規格内で特に使用されている、両方共当業者にとっては公知のものである、DCTタイプの変換関数またはウェーブレット変換関数によって、RTと呼ばれる変換済み残余ブロックへと変換される。
E4では、変換済み残余RTは、従来の量子化手段、例えばスカラーまたはベクトル手段により、残余ブロックRQが含む例えばNbといった画素(Nbは非ゼロの整数)と同じだけの係数を含む量子化された残余ブロックRQへと量子化される。当該技術分野の現状において公知の通り、これらの係数は一次元ベクトルRQ[i](ここで指数iは0からNb−1まで変動する)を構成するような形で既定の順序で走査される。係数iは、係数RQ[i]の周波数と呼ばれる。従来これらの係数は、例えば、固定画像コーディング規格JPEGから公知であるジグザグ走査にしたがって周波数の増加順で走査される。
ステップE5に際して、例えばハフマンコーディング技術または算術コーディング技術にしたがって、エントロピーコーディングにより残余ブロックRQの係数の振幅情報をコーディングするようになる。振幅とは、ここでは、係数の絶対値のことである。従来、係数が非ゼロであることから、各係数について代表的な情報をコーディングすることが可能である。次に、非ゼロの各係数について、振幅に関係する1つ以上の情報がコーディングされる。コーディングされた振幅CAが得られる。概して、非ゼロの係数の符号は単純にビット0または1でコーディングされ、各々の値は、所与の極性に対応する。このようなコーディングでは、変換が理由で、コーディングすべき振幅の値の大部分がゼロになるため、有効な性能が得られる。
カレントブロックbの考えられるlのパーティショニングのために、先行するステップE1〜E5を反復する。パーティショニングlについて、カレントブロックbのサブブロックCUの各々が、前述の通りに処理され、1個のCUにつき1つのタイプの予測(InterまたはIntra)が承認される。換言すると、1つのサブブロックCUのサブブロックPUは全て同じタイプの予測に付される。
例えば、考えられるlのパーティショニングの各々についてのコーディングされたデータは、レート歪み基準にしたがって競争させられ、この基準にしたがって最高の結果を得たパーティショニングが最終的に選定される。
画像I1の他のブロックも同じ要領で処理され、シーケンスの後続する画像についても同様である。
変換ステップは、このような映像コーディングスキーマにおいて非常に重要な役割を果たす。すなわち実際には、量子化演算の前に情報を集中させるのはこのステップである。こうしてエンコーディング前の残余画素全体が、同じ情報を表す非ゼロの周波数係数とも呼ばれる少数の変換済み係数に表されることになる。
こうして、多数の係数を伝達する代りに、1つの画素ブロックを忠実に再構成するために少数しか必要とされないであろう。
変換の効率は、一般にコーディング利得の形にもされるエネルギー濃度基準にしたがって測定される。すなわちそれは、所与のレートについて、空間ドメインではなくむしろ変換済みドメイン内でコーディングを行う場合に、(平均二乗誤差によって表現される)歪みの削減を表わす。
変換済みドメイン内で行なわれた量子化後の平均二乗誤差をσ2 transformと記し、同じ精度で空間ドメイン内での、すなわち変換関数以前の残余の量子化についての二乗誤差をσ2 spatialと記す。
これらの表記法にしたがって、このとき、デコーディング利得は、次のように表現される。すなわち、
Figure 2018509070
通常この利得は、dB単位で表わされる
Gtc_db=10*logl0(Gtc)
変換関数を使用することによって実現された歪み利得は同様に、レートの利得としても再転記され得る。すなわち、高いレートで、6.02という値でdB単位の利得を除することによって、実際、画素あたりのビット単位で表わされた実現されたレート節約に近づけることが可能となる。
画像および映像のコーディングにおいて、最も利用される変換関数は、ブロック変換関数(4×4、8×8など)、線形変換関数、直交変換関数または準直交変換関数である。線形変換関数は、以下のような行列の形で表現され得る。直交変換関数の特徴的な特性は、逆変換行列が直接変換行列の転置であるという事実にある。こうしてこのような変換は、次のような特性を有する。すなわち、
tA=AAt=cI
式中、Aは直接変換を表わす行列であり、Iは単位行列(matrice identite)であり、cはデジタル値である。cが1である場合、行列Aは正規直交行列である。準直交行列にそのインバースを乗じたものは、因数を除いて単位行列に近い数量を提示する。
最も良く利用される変換関数は、コサイン基底に基づくものである。こうして、画像および映像圧縮規格の大部分の中にDCTが存在する。近年、HEVC規格は同様に、4×4サイズのブロックの場合、特定の残余のコーディングのためにDST(英語の「Discrete Sine Transform」)も導入した。
現実には、計算は整数について行なわれることから、利用されるのはこれらの変換関数の近似である。概して、変換関数の基底は、所与の精度(概して8ビット)で、最も近い整数に近似される。
一例として、図4Aおよび4Bと関連付けて、4×4サイズのブロックについてHEVC規格により使用されている変換関数を提示する。
これは、DCT変換関数およびDST変換関数である。この表に示されている値は、128で除すると準直交変換を再び見出すことができるものである。
実際には、画素ブロックは、以下の演算により変換される。すなわち、
X=A・(A・xtt (1)
AはN×Nサイズの変換行列を意味し、xは、変換すべき画素または残余画素(空間ドメイン)を表わし、Xは変換済みドメイン(周波数ドメインと呼ばれる)内のブロックを表わし、tは転置演算子を表わす。
空間ドメイン内のブロックは、以下のように記される(ここでは4×4で)。すなわち、
Figure 2018509070
変換済みドメイン内の画素ブロックは、次のような形態をとる。すなわち、
Figure 2018509070
行列Aは、我々のケースにおいて、図4Aおよび4Bの表中に提示されているものに等しい係数で、行列4×4の形態をとる。
したがって、以上で提示された等式は、以下のように進行する。すなわち、
・ ブロックxが転置される。
・ こうして行列Aは、画素の行に適用される
・ 次に、結果(A・xt)が転置される
・ その後、行列Aがこの結果に対し適用される。
したがってこれらの演算の組合せは、行を変換し、次に列を変換することである。
コーディングの観点から見て等価であるものの数学の観点から見ると異なるものである書込みは、以下の式を実施することからなる。すなわち、
X=A・(A・x)t (2)
この場合、まず変換されるのは列である。
行および列の変換関数は、引用された従来技術の中に記載された通り、異なるものであり得る。先行式は、例えば、最初に列について次に行について演算を行いたい場合には、このケースまで拡張され得る。
X=L・(C・x)t (3)
Lは、行に特有な変換関数を表わし、Cは、列に特有な変換を表わす。
予め行に対し演算を行うためには、以下のように記される。すなわち、
X=C・(L・xtt (4)
これら最後の2つの式は、矩形画素ブロックを処理することも可能にし、こうして、8×8列変換関数は、第1段階で、4×8ブロックに対し演算を行ない、第2段階で、4×4サイズの行変換関数は、結果として得られたブロックに対し演算を行ない、最終的に変換済み係数が得られる。
こうして、以上と同様の要領で、次のように記される。すなわち、
X=L・(C・x)t (5)
したがって、行−列または列−行の方向に2つの別個の変換を連続させることが分かる。このため、空間信号は、まずは行そして次に列、あるいはまずは列そして次に行のベクトルにより非相関(decorrelation)される。
非相関は、実際、変換における重要な側面である。良好な非相関を保証することは、優れたコーディング利得を得ることを可能にする。こうして、コーディングが有効な変換には、行および列ベクトルを非相関させて、周波数ドメインにおいてコンパクトな信号を得、その変換を容易にする使命がある。
以上で提示された変換演算は、行そして次に列、または列そして次に行の非相関によって分離可能な形で作用する。分離可能変換関数(transformee separable)が論じられる。
このため、これらの分離可能変換関数は、空間ドメイン内で画素を完全に非相関すること、特にx0およびx5などの対角要素の非相関を可能にしない。
完全な非相関を可能にするためには、分離不能な変換を実施することができる。このために、以下の演算子が適用される。すなわち、
Figure 2018509070
式中、Ansは、有利には正規直交または準直交として選択される、実施すべき分離不能な変換を表わし、
Figure 2018509070
は、このとき、それぞれ、変換済み画素およびベクトルの形にされた空間ドメイン内の画素である。こうして、4×4ブロックについて、これらは、以下の形をとる。すなわち、
Figure 2018509070
したがってAnsは、この例において16×16サイズのもの、そしてより一般的にはN2個の画素で構成されたN×NサイズのブロックについてN2×N2サイズのものである。
このようにして、分離不能な変換Ansは、空間ドメインの画素間の全ての相関、特に対角相関をフロント処理する能力を有する。例えば、4×4ブロックの場合、画素x0とx5との間の直接相関は弱められる。
このため、分離不能な変換関数は、圧縮においてより有効であるが、いくつかの欠点を有する。すなわち、
・ これは、N2×N2サイズの変換関数であり、このためN4値が記憶されなければならず、これに比して、分離可能な変換関数を実現する2つの行列について必要とされるのは2×N2値である。このことは、高速メモリのコストが高い画像/映像のコーダ/デコーダのインプリメンテーションコストに対して影響を及ぼす。
・ 変換アルゴリズムは、ベクトルの増大する次元を処理するために、有意に一層多い数の演算を必要とする。
したがって、分離可能な変換に比べて、分離不能な変換は、図5の表中に記されている通り、はるかに高い複雑性を必要とする。この表中には、それぞれ4×4および8×8ブロックの処理のための分離不能(Nsep)および分離可能(Sep)な変換関数のインプリメンテーションに関連するメモリおよび演算の数量がリストアップされている。
ここから、分離不能な変換は、分離可能な変換関数に比べて、ROMおよび演算数に重大な影響を及ぼすことが分かる。特に、演算に関しては、M×Mサイズのブロックについて複雑性比はM/2超である。
さらに、米国特許出願公開第2013/0003828号明細書として公開された特許出願から、例えば特定の方向のintra予測モードなどの、このブロックのために選択された予測モードに応じたブロックの行および列に連続的に適用すべき変換関数のタイプを選択する、画像コーディング方法が知られている。より厳密には、この方法は、例えばDCTなどのカレントブロックの行に第1の線形変換関数を関連付け、第1の変換関数により変換されたブロックの列に、第1の変換関数とは異なる第2の線形変換関数を関連付ける。
利点は、ブロックの行全体と列全体が必ずしも同じ統計的特性を有していないという事実に適応していることにある。
先行技術の欠点
先行技術の欠点は、以下のものである。すなわち、
・ 分離不能な変換関数について、アルゴリズムの複雑性が極めて高い。したがって、これには、非常に高い、さらには致命的欠陥となるインプリメンテーションコストが求められる。
・ 分離可能な変換関数の場合には、これらの変換関数は、それぞれ行または列について同一の形で作用し、詳細には、それぞれ行または列全体が同じ統計をそれぞれ共有すると暗に仮定されている。これは、圧縮効率とコーディングコストとの間の妥協を実現することから、現在のコーダの中で最も使用されている変換関数である。しかしながら、これらの変換関数は、分離不能な変換関数の圧縮性能に達しない。
本発明は該状況を改善することになる。
本発明は、特に、先行技術のこれらの欠点を軽減することを目的とする。
より厳密には、本発明の目的は、計算およびメモリのリソースの有意な増大を必要とせずに、デジタル画像コーダの圧縮性能を改善するための解決法を提案することにある。
これらの目的ならびに以下で明らかになる他の目的は、デジタル画像のコーディング方法において、前記画像は、定義された順序で処理される複数の画素ブロックに分割されており、既定のサイズのカレントブロックのために実施される以下のステップ、すなわち、
− カレントブロックを変換済みブロックへと変換するステップであって、前記ブロックが係数を含み、前記ステップが2つの連続する変換サブステップを実施し、第1のサブステップはカレントブロックに適用され、第2のサブステップは第1のサブステップに由来する中間ブロックに適用され、前記中間ブロックは係数を含むステップと、
− 変換済みブロックの係数を量子化およびコーディングするステップと、
を含むデジタル画像のコーディング方法を用いて達成される。
本発明によると、前記変換サブステップのうちの少なくとも1つ、すなわちカレントブロックと中間ブロックのうちの変換すべきブロックと呼ばれるブロックに適用されるサブステップのうちの少なくとも1つに先立って、方法は、変換すべきブロック内で、異なる少なくとも1つの第1および第2のベクトルを形成する予備ステップを含み、1つの前記ベクトルが、変換すべきブロックのサイズのうちの1つに等しい長さを有するシーケンスの、それぞれ画素または隣接する係数を含み、前記少なくとも1つのサブステップには、前記少なくとも1つの第1のベクトルに対する第1の変換関数の適用、および前記ブロックの前記少なくとも1つの第2のベクトルに対する、第1の変換関数とは異なる少なくとも1つの第2の変換関数の適用が含まれる。
本発明によると、カレントブロックに適用された分離可能な変換の2つの連続するステップのうちの少なくとも1つは、カレントブロックの近接する要素のシーケンスから形成され、それぞれカレントブロックの1つの行または1つの列のサイズに等しいサイズを有する異なるベクトルに適用される少なくとも2つの異なる変換関数を使用する。
こうして、本発明は、カレントブロックの2つのベクトルについて異なる処理を想定する、空間ドメイン内のカレントブロックの画素を周波数ドメイン内の係数に変換することによる画像コーディングの全く新規で発明力のあるアプローチにある。
コーディングすべき画像の同じブロックのそれぞれ行または列全体が共有する共通の統計から導かれる仮説に基づいている先行技術とは異なり、本発明は、1つのブロックの同じサイズを有する異なる2つのベクトルが、適応された1つの線形変換を必要とする異なる統計的特性を有し得るという事実を考慮するものである。
本発明は、先行技術と同じアルゴリズムの複雑性を有するが、コーディング性能を改善すること、すなわち、所与のレートについてコーディングされる画像シーケンスの質を改善すること、または所与の品質のためにコーディングレートを低下させることを可能にする。
本発明の有利な特徴によると、方法はさらに、カレントブロックの少なくとも1つのコーディングパラメータに少なくとも応じて、前記ベクトルに適用すべき異なる少なくとも2つの変換関数を決定する予備ステップを含む。
コーディングパラメータに変換関数の選択を関連付けることの利点は、問題のパラメータによってもたらされるブロックの統計的変動に適応させられるという点にある。例えば、考慮対象のコーディングパラメータは、ブロックのサイズ、またはそのブロックに適用される予測モードである。例えば、考慮対象のコーディングパラメータを少なくとも2つの線形変換関数に関連付けるための予備実験が根拠とされる。利点は、コーダをさらに複雑にすることがないという点にある。
本発明の別の態様によると、決定ステップは、メモリに記憶された情報の読取りを含み、前記情報には少なくともコーディングパラメータ、第1の変換関数の識別子、ブロックまたは中間ブロックの第1のベクトルの少なくとも1つの識別子、第1の変換関数とは異なる少なくとも1つの第2の変換関数の識別子、および前記ブロックの第2のベクトルの少なくとも1つの識別子が含まれる。
利点は、メモリに記憶されたデータはデコーダ側で複製されることから、ビットストリーム内で補足的情報をシグナリングしないということにある。
例えば、メモリは、データベースにしたがって組織される。データベースの入力が、ベクトルの識別子に対し適用すべき変換の識別子を、コーディングパラメータに関連付ける。
本発明の態様によると、前記変換ステップは、それぞれ中間ブロックまたは変換済みブロック内で変換されたベクトルの係数を再配置(rearrangement)するサブステップを含む。
変換すべきブロック内に形成されたベクトルに対する線形変換関数の適用後、得られた係数は、係数ブロックを形成するように再配置される。例えば、変換された第1のベクトルの係数は、ブロックのそれぞれ第1の行または第1の列上に置かれる。この特別な実施形態は、単純であり、またコーダにほとんど影響を及ぼさないという利点を有する。
本発明のさらに別の態様によると、コーディング方法はさらに、以下のステップ、すなわち、
− 複数の既定のモードの中から選択された予測モードにしたがって先に処理された少なくとも1つのブロックからカレントブロックの値を予測するステップと、
− カレントブロックの原初の値から予測値を減算することによる、残余カレントブロックを計算するステップと、
を含む。
本発明によると、変換ステップは、残余カレントブロックに対して適用され、前記少なくとも1つのコーディングパラメータは、カレントブロックの予測モードである。
予測モードはそれだけで残余ブロックの統計的特性を表わしていること、そして線形変換関数の特定の選択をこのコーディングパラメータの特定の値に関連付けることが適切であることが確認された。
本発明の別の態様によると、方法は、前記少なくとも1つの第1の変換関数および前記少なくとも1つの第2の変換関数の識別情報コーディングステップを含む。
使用される線形変換関数に関する情報は、ビットストリーム内で伝送される。この実施形態の利点は、それが、処理される各ブロックについてのコーダによる変換関数の動的決定に適応されていることにある。
さらに別の態様によると、第1の変換関数は、それぞれブロックの1行のサイズに等しい、または1列のサイズに等しいサイズのベクトルの第1のサブアセンブリに対して適用され、前記少なくとも1つの第2の変換関数は、それぞれブロックの1行のサイズに等しい、または前記ブロックの1列のサイズに等しいサイズのベクトルの第2のサブアセンブリに対して適用される。
例えば、変換サブステップにより異なるそれぞれ行または列の2つの変換関数を使用する。2つの変換関数は例えば、カレントブロックの予測モードに関連付けられる。この実施形態は、ベクトルの識別子と変換関数の識別子との間の関連付けの記憶コストと圧縮性能との間の妥協を実現する。
本発明のさらに別の態様によると、前記少なくとも1つの変換サブステップは、それぞれブロックの1行のサイズ、または1行のサイズに等しいサイズを有する、ブロック内に形成されたベクトルに異なる変換関数を使用する。
この実施形態の利点は、それが、処理すべきブロックの各ベクトルの統計に緻密に適応することを可能にし、品質および/または圧縮の観点から見てコーダの性能を改善することを可能にする、ということにある。
本発明の別の態様によると、形成されたベクトルは、以下のもの、すなわち、
− カレントブロックの1つの行のそれぞれ画素または係数で形成される、「行」ベクトル、
− カレントブロックの1つの列のそれぞれ画素または係数で形成される、「列」ベクトル、
− ブロックの少なくとも2つの行に由来するカレントブロックに近接するそれぞれ隣接画素または係数で形成される、ブロックの1行の長さに等しい長さを有するベクトル、
− ブロックの少なくとも2つの列に由来するカレントブロックに近接するそれぞれ画素または係数で形成される、ブロックの1列の長さに等しい長さを有するベクトル、
を含む群に属している。
形成されたベクトルは、コーダの複雑性を増大させないように、カレントブロックの行または列と同じサイズを有する。
本発明のベクトルは、必ずしも同じ行の要素から排他的に形成されるわけではない。非線形ベクトルは有利には、近接する行に由来するブロックの近接する要素で形成され得、これにより、行および列の外の、考慮対象のブロックの隣接する要素間の特別な相関関係をより良く活用することが可能になる。このケースは、コーディングすべきブロックが対角パターンを有する対角角度予測モード(mode de predictions angulaires diagonaux)について特に見られる。
以上で異なる実施形態において説明されてきた方法は、有利には、既定のサイズのカレントブロックのために実施することのできる以下のユニット、すなわち、
− カレントブロックを変換済みブロックへと変換するユニットであって、前記ブロックが係数を含み、前記ステップが2つの連続する変換サブユニットを使用し、第1のサブユニットはカレントブロックに適用され、第2のサブユニットは第1のサブステップに由来する中間ブロックに適用され、前記中間ブロックは係数を含むユニットと、
− 変換済みブロックの係数を量子化およびコーディングするユニットと、
を含む、本発明に係るデジタル画像コーディング装置によって実施される。
このような装置は、それがカレントブロックと中間ブロックのうちの変換すべきブロックと呼ばれるブロック内で、異なる少なくとも1つの第1および第2のベクトルを形成するユニットを含み、1つの前記ベクトルが、変換すべきブロックのサイズのうちの1つに等しい長さを有する、それぞれ隣接する画素または隣接する係数のシーケンスの、それぞれ画素または係数を含むこと、さらに、前記少なくとも1つの変換サブユニットには、少なくとも前記第1のベクトルに対する第1の変換関数の適用、および前記ブロックの前記少なくとも1つの第2のベクトルに対する、第1の変換関数とは異なる少なくとも1つの第2の変換関数の適用が含まれること、を特徴とする。
相関的に、本発明は同様に、前記画像を表わすコーディングされたデータを含むビットストリームからのデジタル画像のデコーディング方法において、前記画像が、定義された順序で処理される複数のブロックに分割されており、前記方法が、カレントブロックと呼ばれるブロックのために実施される以下のステップ、すなわち、
− ビットストリーム内で読取られたデータから変換済みカレントブロックの係数をデコーディングするステップと、
− デコーディングされた係数を逆量子化するステップと、
− 変換済みカレントブロックを逆変換するステップであって、前記ステップが2つの連続する逆変換サブステップを実施し、第1のサブステップはカレントブロックに適用され、第2のサブステップは第1のサブステップに由来する中間ブロックに適用されるステップと、
を含むデコーディング方法にも関する。
本発明に係るデコーディング方法は、すなわち、
− 前記少なくとも1つの逆変換サブステップが、変換済みカレントブロックと中間ブロックのうちの処理すべきブロックと呼ばれるブロックに対して適用され、このサブステップには、処理すべきブロックのそれぞれ1行または1列の長さに等しい長さを有する少なくとも1つの第1のベクトルに対する第1の逆変換関数の適用、および、それぞれ1行または1列の長さに等しい長さを有する前記ブロックの少なくとも1つの第2のベクトルに対する、第1の逆変換関数とは異なる少なくとも1つの第2の逆変換関数の適用が含まれること、および
− さらに、処理済みベクトルに由来するそれぞれ1列または1行の長さに等しい長さを有する、それぞれ隣接する係数または隣接する画素のシーケンスの位置付けによって、処理済みブロックを形成するサブステップが含まれること、
を特徴とする。
本発明の態様によると、方法はさらに、少なくともカレントブロックのコーディングパラメータに応じて、処理すべきブロックの前記第1および第2のベクトルに適用すべき異なる少なくとも2つの変換関数を決定する予備ステップを含む。
別の態様によると、決定ステップは、前記少なくとも1つの第1の変換関数および前記少なくとも1つの第2の変換関数の識別情報を表わすコーディングされたデータのビットストリーム内での読取りを含む。
本発明のさらに別の態様によると、決定ステップはさらに、処理すべきブロック内の第1および第2のベクトルの形成の予備サブステップを含む。
さらに別の態様によると、決定ステップは、1つのメモリ内の情報の読取りを含み、前記情報には少なくともコーディングパラメータ、第1の逆変換関数の識別子、第1のベクトルの少なくとも1つの識別子、第1の逆変換関数とは異なる少なくとも1つの第2の逆変換関数の識別子、および処理すべきブロックの第2のベクトルの少なくとも1つの識別子が含まれる。
本発明のさらに別の態様によると、逆変換ステップはさらに、前記少なくとも1つの変換サブステップに先立って、前記第1および第2のベクトル内の処理すべきブロックの隣接する係数のシーケンスを再配置するサブステップを含んでおり、前記シーケンスは、処理すべきブロックのサイズのうちの1つに等しい長さを有する。
したがって、本発明に係るデコーディング方法は、以上で説明したコーディング方法の演算の逆の演算を実施する。
詳細には、
− 逆変換サブステップは、コーディング方法により実施される変換の演算の逆の演算に対応する。これらのサブステップは、コーディング順序の逆の順序で連続する。
− 処理済みベクトルに由来するそれぞれ隣接する係数または隣接する画素のシーケンスから処理済みブロックを形成するサブステップは、コーディング方法により実施される変換すべきベクトルの形成の演算の逆の演算に対応する。
− 前記第1および第2のベクトル内で処理すべきブロックの隣接する係数のシーケンスを再配置するサブステップは、コーディング方法により実施される変換済みブロック内で変換済みベクトルの係数を再配置する演算の逆の演算に対応する。
異なる実施形態において以上で説明されてきた方法は、有利には、前記画像を表わすコーディングされたデータを含むビットストリームからのデジタル画像デコーディング装置において、前記画像は、定義された順序で処理される複数のブロックに分割され、前記装置は、カレントブロックと呼ばれる既定のサイズのブロックのために使用することのできる以下のユニット、すなわち、
− ビットストリーム内で読取られたデータから変換済みカレントブロックの係数をデコーディングするユニットと、
− デコーディングされた係数を逆量子化するユニットと、
− 変換済みカレントブロックを逆変換するユニットであって、前記ユニットが、2つの逆変換サブユニットを連続的に使用でき、第1のサブユニットはカレントブロックに適用され、第2のサブユニットは第1のサブユニットに由来する中間ブロックに適用されるユニットと、
を含む装置によって実施される。
本発明によると、該装置は、
− 変換済みカレントブロックと中間ブロックのうちの処理すべきブロックと呼ばれるブロックの少なくとも1つの逆変換サブユニットには、処理すべきブロックのそれぞれ1行または1列の長さに等しい長さを有する少なくとも1つの第1のベクトルに対する少なくとも1つの第1の逆変換関数の適用、および、前記処理すべきブロックのそれぞれ1行または1列の長さに等しい長さを有する少なくとも1つの第2のベクトルに対する、第1の逆変換関数とは異なる少なくとも1つの第2の逆変換関数の適用が含まれること、
− そしてさらに、逆変換ユニットには、処理済みベクトルに由来するそれぞれ1列または1行の長さに等しい長さを有する、それぞれ隣接する係数または隣接する画素のシーケンスの位置付けによって、処理済みブロックを逆形成するサブユニットが含まれること、
を特徴とする。
本発明はさらに、デジタル画像のコーディングされたデータを含むビットストリームを有する信号に関し、前記画像は、画素ブロックに分割されている。このような信号は、カレントブロックについて、
− カレントブロックから変換済みブロックへと変換する2つの連続するサブステップを含み、少なくとも1つの変換サブステップには、カレントブロックおよび中間ブロックのうちの変換すべきブロックと呼ばれるブロックの、少なくとも1つの第1のベクトルに対する第1の変換関数の適用、および少なくとも1つの第2のベクトルに対する、第1の変換関数とは異なる少なくとも1つの第2の変換関数の適用が含まれている、カレントブロックから変換済みブロックへの変換ステップの間のカレントブロックのコーディングの際に使用される、互いに異なる少なくとも1つの第1および第2の変換関数の識別情報を表わすコーディングされたデータと、
− ブロックのそれぞれ隣接する画素または隣接する係数のシーケンスからコーディングされた、変換すべきブロック中で形成された少なくとも第1および第2のベクトルを表わすコーディングされたデータであって、前記シーケンスが変換すべきブロックのサイズのうちの1つに等しい長さを有するデータと、
を含むことを特徴とする。
本発明は同様に、本発明に係るデジタル画像コーディング装置および本発明に係るデジタル画像デコーディング装置を含むコンピュータ端末にも関する。
本発明はまた、プロセッサによってそのプログラムが実行された場合に、前述の通りのデジタル画像コーディング方法のステップを実施するための命令を含むコンピュータプログラムにも関する。
本発明は同様に、プロセッサによってそのプログラムが実行された場合に、前述の通りのデジタル画像デコーディング方法のステップを実施するための命令を含むコンピュータプログラムにも関する。
これらのプログラムは、あらゆるプログラミング言語を使用することができる。これらのプログラムは、通信ネットワークからダウンロードしかつ/またはコンピュータ可読媒体上に記録することができる。
最後に、本発明は、先に説明した通りのコーディング方法を実施するコンピュータプログラムおよびデコーディング方法を実施するコンピュータプログラムをそれぞれ記録する、場合によって取外し可能な、本発明に係るデジタル画像コーディング装置およびデジタル画像デコーディング装置に内蔵されたまたはされていない、プロセッサ可読記録媒体に関する。
本発明の他の利点および特徴は、非限定的な単なる例示的実施例として提供される、本発明の特定の実施形態および添付図面についての以下の説明を読むことで、さらに明確になるものである。
コーディングすべきデジタル画像シーケンスおよび先行技術に係るこれらの画像のブロック切断を概略的に例示する図である。 先行技術に係るブロックをサブブロックにパーティショニングする異なる可能性を提示する図である。 先行技術に係るデジタル画像のコーディング方法の全ステップを概略的に提示する図である。 先行技術に係る2つの近似周波数変換関数の例を提示する図である。 分離可能な変換関数および分離不能な変換関数の複雑性測定値の比較表を提示する図である。 本発明の実施形態に係るデジタル画像のコーディング方法の全ステップを概略的に提供する図である。 カレントブロックの要素を例示する図である。 本発明に係る、図7Aのカレントブロックの要素からの「行」および「列」ベクトル形成例を例示する図である。 カレントブロックの画素レベルのエネルギー値の第1の推定例を提示し、図8Bは、推定されたエネルギーレベルからブロック内で決定される均質な領域を提示する図である。 カレントブロックの画素レベルのエネルギー値の第2の推定例を提示し、図9Bは、推定されたエネルギーレベルからブロック内で決定される均質な領域を提示する図である。 本発明の第2の実施形態に係る、ベクトルの形成および形成されたベクトルの変換のステップを詳しく示す図である。 先行技術と比べた、この第2の実施形態に係るコーディング方法によって得られる圧縮利得を提示する図である。 本発明の第3の実施形態に係る、ベクトルの形成および形成されたベクトルの変換のステップを詳しく示す図である。 先行技術と比べた、この第3の実施形態に係るコーディング方法によって得られる圧縮利得を提示する図である。 本発明の実施形態に係るデジタル画像デコーディング方法の全ステップを概略的に提供する図である。 本発明の実施形態に係る、デジタル画像コーディング装置およびデジタル画像デコーディング装置の簡略化された構造の例を提示する図である。
本発明の一般原則は、コーディングすべきブロックのそれぞれ行または列のサイズに等しいサイズを有する異なるベクトルに対する異なる変換関数の適用にある。
図1に関連して提示されたものなどの、Mを非ゼロの整数として一連のM個の画像I1、I2、...IMで構成される原初の映像を考慮する。画像は、エンコーダによってエンコーディングされ、コーディングされたデータは、通信ネットワークを介してデコーダに伝送されたビットストリームTB内、または例えばハードディスク上に記憶されるための圧縮ファイルFC内に挿入される。デコーダは、コーディングされ、エンコーダおよびデコーダによって公知の既定の順序、例えばI1、次にI2、...次にIMという時間的順序でデコーダにより、続いて受信されデコーディングされたデータを抽出するが、この順序は、実施形態によって異なるものであってよい。
図6に関連して、本発明の実施形態に係るコーディング方法のステップをここで考慮する。
ステップT0の間に、カレントブロックxと呼ばれる処理すべきブロックを選択する。例えば、これは、ブロックCTUのパーティショニングによって得られる正方形または矩形のブロックCUのことである。
以下では、このブロックxのサイズが、非ゼロの整数である高さHおよび幅Wであると考える。例示的実施例として、WxH=4X4のブロックという特定のケースを考慮する。
カレントブロックxに変換を適用する変換ステップT2を考慮する。カレントブロックxの変換ステップT2は分離可能であり、2つの線形変換サブステップにしたがって実施される。すなわち、
− W×Hの係数を含む中間ブロックXIを提供するための、サイズWのブロックxのベクトルVl0〜VlH−1に適用される第1の線形変換サブステップT21、
− 変換済みブロックXを提供するための、サイズHのブロックXlのベクトルVc0〜VcW−1に適用される第2の線形変換サブステップT24。
本発明によると、第1のサブステップがブロックxのベクトルVc0〜VcW−1に適用され得るのと同様に、第2のサブステップはブロックXlのベクトルVl0〜VlH−1にも適用され得るということが指摘される。
矩形ブロックを処理するためには、行および列上で異なるサイズの変換関数を作用させることが分かる。
本発明によると、2つの変換サブステップT21、T24のうちの少なくとも1つが、異なる少なくとも2つの線形変換関数から実施され、一方は、ブロックの1行のサイズに等しいサイズを有し画素ブロックX内、または係数中間ブロックXl内に形成される少なくとも1つの第1のベクトルに適用され、もう一方は、ブロックの1行のサイズに等しいサイズを有しこの同じブロック内に形成される少なくとも1つの第2のベクトルに適用される。異なる2つの線形変換関数を使用する1つまたは複数のサブステップの終了後、T22、T25でサイズM×NのブロックXl、X内で再配置された係数を有する変換済みベクトルが得られる。
この点に関して、ブロック内で係数を再配置する異なる方法が存在すること、そしてエンコーダにより使用される方法をデコーダも知っていなければならないこと、が指摘される。この目的で、これらの係数の再配置モードを表わす情報をコーディングし、ビットストリーム内でデコーダに伝送することが可能であろう。
代替的には、コーダとデコーダにより、既定の再配置規則が共有されるであろう。
こうして、変換T2は、T3でスキャニング順序により走査され、T4で量子化され、T5でコーディングされる状態にある変換済み係数を含むブロックXを生成する。ステップT3とT4は、入れ替えられ得ることが記されるであろう。
カレントブロックxの処理の終了後、先に定義したコーディング走査順序を考慮して、カレントブロックxがコーディングユニットにより処理すべき最後のブロックであるか否かをT6でテストするようになる。そうである場合には、コーディングユニットはその処理を終了しており、コーディングされたデータは、ビットストリームTB内に挿入される。そうでない場合、後続するステップは、後続するブロックT0の選択ステップである。このブロックが処理すべきカレントブロックとなり、後続するステップは、すでに説明したカレントブロックに適用すべき変換関数の決定ステップT1である。
ビットストリームTBは、次にデコーダに向かって発出され得る。
ここで、変換関数決定ステップT1、および変換ステップT2、詳細にはベクトルの形成サブステップT20、T23、形成されたベクトルに対する変換関数の適用サブステップT21、T24、およびブロック内での変換済み係数の配置サブステップT22、T25の異なる実施形態について詳述する。
本発明の第1の実施形態によると、少なくとも2つの変換関数が、第1の変換サブステップT21中に使用される。
例えば、第1のサブステップT21は、カレントブロックxの1行のサイズに等しいサイズを有するベクトルについて変換関数を使用すること、そして第2のサブステップT24は、1列のサイズに等しいサイズを有し中間ブロックXlの要素から形成されたベクトルについて少なくとも1つの変換関数を使用すること、が仮定される。
この場合、方法は、カレントブロックxの画素から長さWのH個のベクトルVl0〜VlH-1を形成する予備ステップT20を実施する。
有利には、これらのベクトルは、カレントブロックの各要素が唯一のベクトル内で使用されるように形成される。
図7Aに関連して、例として、4×4サイズのカレントブロックxを考慮する。このカレントブロックは、16個の係数x0〜x15を含む。
図7Bに関連して、ブロックxの行から形成されたベクトルVl0〜Vl3の第1の実施例を提示する。このタイプのベクトルVlhは、カレントブロックxのh番の行に対応する。
図7Dに関連して、ブロックxの2対2の近接する4つの要素から形成されたベクトルV’l0〜V’l3の第2の実施例を提示する。これらの要素は、全てが同じ行に由来するものではない。例えば、ベクトルVl’0は、ブロックの第1行の連続的な3つの要素x0、x1、x2と、第1行の要素x0と近接する、このブロックの第2行の1つの要素x4とを含む。
1行のサイズに等しいサイズを有するこのタイプのベクトルは、ブロック内に存在するテクスチャの不連続性を追跡するために、またベクトルの要素間の相関関係をよりうまく活用するために有利に使用され得るということが、理解される。
本発明に係るコーディング方法は、次に、h1、h2を0〜H−1の間に含まれる整数でありh1≠h2であるものとして、形成されたベクトルVl0〜VlH−1に対して適用すべき少なくとも2つの異なる線形変換関数L0、L1、形成された少なくとも1つのベクトルVlh1に対して適用すべき少なくとも1つの第1の変換関数L0、および少なくとも別のベクトルVlh2に対して適用すべき少なくとも1つの第2の変換関数L1を決定するステップT2を実施する。
区別された変換関数は、DCTタイプまたはDSTタイプ、あるいはコーディングにとって有効である他の全ての線形変換関数であり得る。こうして、すなわちKLT(英語で「Karhunen−Loeve Transform」)の、2011年にDCC(英語で「Data Compression Conference」)の議事録中に公開された「Robust learning of 2D separable transforms for next generation video coding」という題のSezer他著の論文中で提示された通りのレート歪み基準にしたがって最適化された非相関のために最適である変換を使用することができる。
有利には、例えばブロックのサイズ、さらには選択されたINTRA予測モードなどのカレントブロックの少なくとも1つのコーディングパラメータに応じて、少なくとも2つの線形変換が決定される。
例えば、予めオフラインで行なわれた実験が、特定のINTRA予測モードに適応された少なくとも2つの線形変換を決定すること、また得られた関連付けをメモリに記憶することを可能にした。
有利には、コーディングパラメータ値に関連付けられた線形変換関数の識別子が、コーダのメモリ内に記憶される。これは、例えば先に言及されたINTRA予測モードなどのコーディングパラメータに、第1の変換関数の識別子、第1の変換関数が適用されるブロックまたは中間ブロックのベクトルの少なくとも1つの識別子または指数、および第1の変換関数と異なる少なくとも1つの第2の変換関数の識別子、および第2の変換関数を適用すべき前記ブロックの第2のベクトルの少なくとも1つの識別子または指数を関連付ける入力を含むデータベースBD1である。
図8Aに関連して、この場合はHEVC規格にしたがって予測モード26番である所与のINTRA予測モードに由来する、8×8サイズの残余ブロック内の1画素あたりの推定平均エネルギー値が提示される。このような推定はオフラインで行なわれる。
1画素あたりのエネルギーは、別個の2つ(またはそれ以上)の領域への切断を正当化すると思われる帯状の水平パターンを示すことが確認される。
図8Bに関連して、次の2つの領域R1、R2が表現されたのであって、すなわち、
・ 第1の領域R1は、一定のパターンを示す最初の3つの行で構成される、
・ 第2の領域R2は、第1の列上のより顕著な不連続性のため、さほど一定でない輪郭を示す最後の5つの行で構成される。
有利には、一方が領域R1の行ベクトルに適用され、およびもう一方が領域R2の行ベクトルに適用される2つの変換関数L1、L2が決定された。
こうして、この予測モードによると、コーダは、各々1つの領域を共有する2つの「行」変換関数へのパーティションを適用する。
かなり均質である領域R1については、DCTタイプの変換関数、またはKLTの意味合いで定義された変換が選択された。DCTは、連続パターンの変換のためにことごとく指示されていることから、適切とみなすことができる。
領域R2については、第1の列上のより顕著な不連続性を考慮に入れる能力を有する変換関数、例えばDST、またはKLTの意味合いで定義された変換が選択された。DSTは、最初に不連続性を示すパターンの変換のためにことごとく指示されることから、適切とみなすことができる。領域R2については、左縁部上の第1の画素の平均エネルギーが画素の他のエネルギーの値と有意に異なる値を有することが指摘される。
メモリに制約が無く、メモリ空間をより大きく占有することと引換えに、より多くの領域が、さらには行と同じ程度に定義づけされると考えられ、8つの変換関数が使用されると考えられる。
メモリ占有制約条件を考慮することは、性能低下を少なくするために、効率をわずかに失わせることになる。
図8Aおよび8Bの例によると、入力が、行ベクトルvl0〜vl2のための変換関数L0および列ベクトルvl3〜vl7のための変換関数L1を、予測モード26に関連付ける。
図9Aに関連して、ここで、この場合はHEVC規格によって定義される予測モード19である、所与のコーディングモードに由来する8×8サイズのブロックのオフライン予備解析により得られる残余信号について得た、画素ごとの平均エネルギーが提示される。この予測モードは、おおよそ−53°の角度を有し、上から下に向かう対角予測を行う。
画素間のエネルギー変動は、図9B上に表わされた3つのゾーンR’1、R’2、R’3を画定する。これらのゾーンを切断して、領域R’1、R’2およびR’3に関連付けられると共にそれぞれのそれらの統計に適応された3つの異なる変換関数によりこれらのゾーンを処理することが適切である。
この実施例においては、形成された領域がブロックの1つ以上の行に対応しないことが確認される。本発明によると、このとき、考慮対象の領域の境界に応じて、全て必ずしも同じ行に属するわけではない近接する要素から、1つの行のサイズと等しいサイズを有するベクトルを形成することが有利である。例えば、図9A上に表わされたベクトルVlh1は、領域R’1に対応する。
第1の態様によると、データベースBD1の入力が、変換関数L’0の識別子、領域R’1内に形成され変換関数L’0を適用すべき1つまたは複数のベクトルの識別子、変換関数L’1の識別子、領域R’2内に形成され変換関数L’2を適用すべき1つまたは複数のベクトルの識別子、変換関数L’3の識別子、領域R’3内に形成され変換関数L’3を適用すべき1つまたは複数のベクトルの識別子を、予測モード19に関連付ける。
したがって、コーディング方法は、データベースBD1内の対応する入力を読取ることによって、1行のサイズに等しいサイズを有するベクトルをいかに形成すべきかを決定し、使用される予測モードに応じてこれらのベクトルに適用すべき変換関数を決定する。
別の態様によると、コーディング方法はさらに、以上で提示された領域R’1、R’2、R’3のパターンおよび19番のINTRA予測モードにしたがった予測の終了後のカレントブロックの残余画素値の間の相関関係を計算する。
これら2つの数量の間に強い相関関係がある場合、すなわち、設計された相関閾値を上回る相関関係の場合、エンコーダは、3つの変換関数L’0、L’1、L’2の使用を決定する。
エンコーダは、異なるゾーンに適応された変換関数を用いて、これらの異なるゾーンに適用された3つの変換関数を適用する。例えばKLTの意味合いでの適応が行なわれるであろう。
エンコーダは、19番のINTRA予測モードに関連付けられたパターンのインジケータを表わすコーディングされた情報をビットストリーム内に挿入することによって、デコーダに対しこの選択をシグナリングする。
この実施形態によると、データベースBD1が、同じコーディングパラメータに対応する複数の入力を潜在的に含み、各入力は、異なるベクトルおよび異なる変換関数に関連付けられた異なるパターンのインジケータを含むことが分かる。
予測モード情報、およびエンコーダが選定したパターンを受信した時点で、デコーダは、そのデータベースBD2内で、ブロック内で形成すべきベクトルの識別子およびそれらに適用すべき変換関数の識別子を読取る。デコーダは、コーダにおいて行なわれた変換の逆変換を行うであろう。
代替的には、コーディングすべきカレントブロックの予備解析により、線形変換関数が動的に決定される。例えば、この予備解析は、勾配の推定を用いた輪郭の公知の解析技術を使用する。輪郭検出は次に、少なくとも2つの領域を決定し、それらの特徴、例えばそのテクスチャの均質性などに応じて、変換関数のタイプを割当てるために活用される。この場合、決定された線形変換関数の識別子および関係するベクトルの識別子は、ビットストリーム内でデコーダにシグナリングされ伝送される。
代替的には、この輪郭解析は、例えば、カレントブロックとの関係における近接ブロック内の輪郭の配向に応じて、すでに処理された1つ以上の近接ブロックについて行なわれ、カレントブロック上の連続性の仮説と組合わされる。
輪郭の連続性の決断が下された場合、カレントブロックの領域は次に、すでに処理された近接ブロックの領域から決定される。
この場合、コーダは、関係する近接ブロックとの関係における継承モードを表わすコーディングされた情報を用いて、領域ひいてはベクトルおよび使用すべき変換関数を継承しなければならない近接ブロックを、デコーダにシグナリングする。デコーダは、ひとたびデコーディングされたならば、同じ近接ブロック上で同じ輪郭解析を実施して、そこからベクトル、使用すべき変換関数を演繹することになる、ということが分かる。
本発明の変形実施形態によると、異なる少なくとも2つの線形変換関数は、第2の変換サブステップT31の最中に使用される。
この場合、カレントブロックの列のサイズに等しいサイズHを有するベクトルが、中間ブロックXlの係数から、第1の変換サブステップT30の後にT11で形成される。長さHのW個のベクトルVc0〜VcW−1が得られる。
前述のものと同様、サイズHの複数のタイプのベクトルが形成され得る。
図7Cに関連して、ベクトルVcwは、ブロックのw番の列に対応する。
図7Eに関連して、ベクトルVc’wは、2つの近接する列の要素を含む。
決定ステップT’2は、形成されたベクトルVc0〜VcW−1に適用されるための少なくとも2つの異なる線形変換関数C0、C1を提供した。
ベクトルVl0〜VlH−1の形成ステップおよび以上で提示された線形変換関数Liの決定ステップの異なる実施形態は、中間ブロックXlのために実施されることが分かっているため、ベクトルVc0〜VcW−1の形成ステップおよび線形変換関数Cjの決定ステップに転用可能である。
有利には、本発明の原理は、2つの変換サブステップT30およびT31で実施される。この場合、コーディング方法は、カレントブロックxからのサイズWのベクトルVl0〜VlH−1の第1の形成ステップT10、ベクトルVl0〜VlH−1に適用すべき変換関数L0、L1の第1の決定ステップT20、中間ブロックXlからのサイズHのベクトルVc0〜VcW−1の第2の形成ステップT11、およびベクトルVc0〜VcW−1に適用すべき変換関数C0、C1の第2の決定ステップT21を実施する。
利点は、2つの変換サブステップのために、形成された異なるベクトルの統計的特徴をより良く活用するという点にある。当然のことながら、この実施形態は、代償としてより多くの変換関数を記憶しておくことを必要とする。
図10に関連して、ここで、本発明の第2の実施形態に係るデジタル画像のコーディング方法を提示する。
この実施形態によると、H個の行変換関数L0〜LH−1およびW個の列変換関数C0〜CW−1が考慮されている。換言すると、T’20で形成されるサイズWのベクトルVl0〜VlH−1であるかまたはT’23で形成されるサイズHのベクトルVc0〜VcW−1であるかに関わらず、カレントブロック内で形成される各々のベクトルに、特定的な線形変換関数が適用される。
例示的実施例として、4×4ブロックの場合を考慮する。
ステップT’21中に変換される信号Xlは、以下の演算の連結によって得られる。
Figure 2018509070
0、L1、L2およびL3は行変換を表わし、したがってこの実施形態においては、特に使用された変換関数がDCT/DSTタイプのものである場合、文献中で公知であるように蝶形分解(decomposition en papillon)に基づき高速アルゴリズムの形で潜在的にインプリメンテーションされ得る4×4サイズの行列である。
こうして、出発ブロックxの16(X0、...X15)個の画素から、16個の変換済み係数(Xl0...Xl15)を得る。これらの係数は、例えば線形変換関数Liにより変換された各ベクトルVliがブロックXlの行iを形成するのに寄与したとみなして、ブロックXIを形成するためにT’22において再配置される。
列変換は、以下のように同様にT’24において適用される。
Figure 2018509070
0、C1、C2およびC3は列変換を表わし、したがってこの実施形態においては、特に使用される変換関数がDCT/DSTタイプのものである場合、文献中で公知であるように蝶形分解に基づき高速アルゴリズムの形で潜在的にインプリメンテーションされ得る4×4サイズの行列である。
こうして、以上で提示されたばかりの4×4のブロック上での実施形態においては、8個の変換関数が確保される。
この実施形態の利点は、各行および各列が、個別に独自の統計を有するという事実が考慮されるという点にある。圧縮性能は改善される。
図11に関連して、具体的なケース、すなわち4×4サイズのブロックについてのHEVCでのintraコーディングのケースにおいて、多数の変換関数を使用することによってもたらされる利得が例示されている。
この枠内で、HEVCは、4×4サイズのブロックについて、DST VIIタイプの行および列変換関数を使用しており、信号の圧縮性の観点から見た最高の結果を実証したのは、この変換である。
18番のintra予測の枠内に身を置いてみる。この予測は対角予測である。変換の性能を評価するために、そのコーディング利得、すなわち信号のエネルギーと変換された係数の幾何平均との間の比率を測定する。
図11の表に関連して、HEVCにおいて使用されるようなDST、画像/映像コーディングで一般に使用されるDCT、KLTの意味合いで最適な分離可能な変換関数(表中ではSepと呼ばれる)およびKLTの意味合いで最適化された本発明に係る変換関数全体(表中ではmSepと呼ばれる)を用いて得られた性能が提示されている。
KLTの意味合いでの最適化は、最高のコーディング利得を得ることを可能にする行および列変換を見出すことにある。先行技術によると、KLT変換は、変換すべきベクトルの画素間の相関関係を考慮に入れることおよびこれらの画素を最もうまく非相関する変換を決定することによって得られる。こうして、画素の自己相関行列が決定され、次に対角化が行なわれる。すなわち、非相関を生み出す固有ベクトルが、KLT変換関数を形成する。
これらの結果は、本発明を用いて増大した性能を実証しており、あるいは先行技術の方法に比べて有意な利得が確認されている。
図12に関連して、ここで、本発明の第3の実施形態に係るデジタル画像のコーディング方法が提示される。
この実施形態によると、画素ブロックxからT’’20で「行」ベクトルを形成し、第1のサブステップT’’21中に異なる2つの行変換関数をこれらのベクトルに適用する。T’’22で得られた係数を再配置して中間ブロックXIを形成し、T’’23で「列」ベクトルを形成し、第2の変換サブステップT’’24中に異なる2つの列変換関数をこれらのベクトルに適用する。T’’25において変換された係数を再配置して、変換済みブロックXを形成する。
こうして、第1のサブステップT’’21により実施された行変換は、第1行のための変換を、他の行のために使用される変換と区別し、4×4のサイズのブロックxについて以下のように表現され得る。
Figure 2018509070
したがって、以前の4個ではなく2個の変換関数(L0およびL1)しかない。
列について、類似の要領で進めること、つまり列を区別するために2個の変換関数しか保持しない(例えば後続するもののうちの最初のもの)ことが可能である。同様に、実施形態においては、列全体について、唯一の変換しか保持しないこともでき、あるいは他の実施形態においては、第1の実施形態において示された通り4つの異なる変換を保持することもできる。
こうして、変換関数の記憶に関連する影響は著しく削減される。
メモリの削減を可能にするこの第3の実施形態によって得られる性能を例示するために、改めて、HEVCのintraモードの予測18のために4×4ブロックの枠内で得られるコーディング利得を提示する。
行および列について異なる2つの変換を選定する。こうして、第1の実施形態の中で提示されているような合計8個に代わって、合計4個の変換を行うことになる(この構成を4Sepとして記す)。
変形形態によると、行のための2つの異なる変換と、列のための唯一の変換関数とを選定する(こうして、列については、技術的現状に近づく)。こうして、第1の実施形態において提示された通りの8個に代って、合計3個の変換を行うことになる(この構成を3Sepと記す)。
結果は、図13の表中で提示されている。
したがって、メモリが削減されたこれらのバージョンにより、半分またはそれ以下の使用メモリで、8個の変換関数のバージョン(mSep)によって得られる結果に近づくことができる、ということが分かる。技術的現状の変換関数に比べて、圧縮における有意な利点は保持される。
図14に関連して、ここで、本発明の実施形態に係るデコーディング方法の全ステップが提示される。
本発明に係るデコーディング方法を実施するデコーディング装置がビットストリームTBを受信したと仮定する。
D0において、カレントブロックC’として第1の処理すべきブロックを選択することから開始する。例えば、これは、(辞書式順序で)最初のブロックである。このブロックは、MおよびNを非ゼロの整数として、M×N個の画素を含む。
エンコーディング方法について説明した通り、考慮対象のブロックC’は、ブロックCTUまたはブロックCTUの切断によって得られるサブブロックCU、あるいはまた、ブロックまたはカレントブロックからカレントブロックの予測を減算することによって得られる残余サブブロックであり得る。
ステップD1の間に、カレントブロックC’に関係するコーディングされたデータは、読取られデコーディングされる。D2において、カレントブロックC’に関係するデコーディングされたデータは、逆量子化される。kを0とM×N−1の間に含まれる整数として、逆量子化された係数のベクトルDQ[k]が得られる。
ステップD3の間に、ベクトルDQの係数は、変換済みブロックX’内に配置される。これは、コーディング方法により実施される走査T3の逆演算である。
D4では、連続する逆変換サブステップD51、D54の間にカレントブロックX’に適用すべき変換関数が決定される。本発明によると、これらのサブステップの1つが、2つの異なる線形変換関数を少なくとも使用する。これは本発明に係るコーディング方法が適用する変換関数の逆変換関数のことであるものと理解される。
デコーダレベルでは、それぞれ1行または1列のサイズに等しいサイズを有するベクトルに対して適用すべき逆変換関数は、異なる方法で決定可能であるが、その中でも、例として以下のものを挙げることができる。すなわち、
− 少なくとも1つの第1の変換関数および第2の変換関数の識別情報を、ビットストリームTB内で読取ることによる方法、
− ローカルメモリまたは遠隔メモリ内でエンコーダにより使用される変換関数の識別情報を読取ることによる方法。
有利には、第1および第2の変換関数の選択を、例えばそのサイズまたはその予測モードなどの、カレントブロックのコーディングパラメータに関連付けることができる。
本発明の実施形態によると、適用すべき変換関数は、例えば、コーディングパラメータに対して、第1の変換関数の識別子、ブロックまたは中間ブロックの第1のベクトルの少なくとも1つの識別子、第1の変換関数とは異なる少なくとも1つの第2の変換関数の識別子および前記ブロックの第2のベクトルの少なくとも1つの識別子を関連付けるデータベースBD2の入力などの、メモリの読取りによって得られる。
有利には、D4の間に、エンコーダのレベルで、カレントブロック内でベクトルがどのように形成されたかも決定された。例えば、ベクトルの識別子は、M×Nサイズのブロック内で形成されたベクトルの公知のタイプに対応する。
デコーダがコーダと同じ要領でベクトルを形成できる必要があることが理解される。複数のタイプの列または行ベクトルを形成することができる。適用すべき変換関数について説明されたものと同じ要領で、以下のことを含めた複数の実施形態が企図される。すなわち、
− デコーダはエンコーダと同じベクトル形成規則をローカルに利用できる。これらの規則は、例えばメモリ内に記憶されている。
− 有利には、デコーダは、コーディングパラメータに対して、サイズWのH個のベクトルおよびサイズHのW個のベクトルのカレントブロック内での形成を可能にする標示を関連付ける入力を含む、データベース内に記憶された情報にアクセスする。このデータベースは、コーダおよびデコーダのレベルで複製される、
− デコーダは、ビットストリームから、エンコーダにより形成されたベクトルのタイプを表わす情報を抽出する。この変形形態は、エンコーダのレベルで実施されるカレントブロックのコンテンツの予備解析に基づいて、形成されるベクトルのタイプが動的に選択される場合に、特に有利である。
したがって、このステップの終了時点で、線形変換関数の識別子に関連付けられたベクトルの数、指数およびタイプが分かる。
以下の説明では、エンコーディング時に、第1のサブステップは、1行のサイズに等しいサイズのベクトルに対して少なくとも2つの変換関数を使用し、第2のサブステップは、1列のサイズに等しいサイズのベクトルに対して1つ以上の変換関数を使用するものと仮定される。
デコーディングのレベルでは、コーディングの際に行なわれた順序とは逆の順序で、逆の演算が行なわれることになるであろう。したがって、この実施例において、第1の逆変換サブステップD51は、1列のサイズに等しいサイズを有するベクトルに適用される。
ステップD50の間に、ブロックX’の1列の長さに等しい長さを有する係数のベクトルがブロックX’内に形成される。これは、コーディング方法により実施されるブロックX内での変換済みベクトルの係数の配置演算T25の逆演算である。
例えば、エンコーダ側では、単に、ブロックXの列j内に、ステップT24の線形変換関数C0、C1またはCjによって変換された列ベクトルVcjの係数が位置付けされた。デコーディング方法のステップD50の間に、ブロックX’の列jの係数から1列の長さに等しい長さを有するベクトルV’cjが逆に形成される。したがって、この実施例によると、X’の列が、関連付けられたベクトルvcjに対するコーディング方法により適用された線形変換に由来する係数を含むことが理解される。この単純なケースにおいて、このとき、ステップD50は単に、ブロックX’の列から「列」ベクトルV’cjを形成することからなる。
有利には、ステップD50は、決定ステップD4の間に得られたこの再配置に関する情報に基づく。例えば、列cj0を線形変換関数C0-1の入力に関連付け、列cj1を線形変換関数C1-1の入力に関連付けることからなる再配置は、既定の再配置タイプを表わす情報によって標示されるか、またはベクトルの識別子を各線形変換関数に関連付ける。
このようなベクトル識別子は、有利には、ベクトルのタイプおよびベクトルの指数を含む。例えば、考慮対象のベクトルタイプは、列タイプであり、形成すべきベクトルはj番、すなわちブロックの列jに対応するベクトルである。
D51では、直交のものである場合には転置された形で、または高速アルゴリズムを用いて、例えば列cj0、cj1などのD50で形成されたベクトルV’cj0、V’cj1に対して、逆線形変換関数C0-1、C1-1が適用される。
ベクトルv’cj0、v’cj1が得られる。
ステップD52の間に、中間ブロックX’lを形成するために処理済みベクトルv’cj0、v’cj1の係数が位置付けされる。このために、エンコーダ側のベクトルの形成に関する、ステップD4の間に決定されたベクトルの識別情報を使用し、逆演算を行う。
例えば、ベクトルが列ベクトルである場合、識別情報は列指数を含み、ベクトルの要素は、対応する列内に置かれる。
ベクトルが線形でない場合、識別情報は、M×Nのブロック内に要素を位置付けできるデコーダの公知の非線形ベクトルのタイプを識別する。例えば、エンコーダ側においてブロックX’l内で形成されたベクトルvcjが、ベクトルvc0に対応する指数を伴って図7Eに関連して説明されたベクトルのタイプであったことを、決定されたベクトルの識別情報が標示している場合には、係数はX’1、X’0、X’4、X’8に置かれるであろう。
第2の逆変換サブステップD54に付される前に、得られた中間ブロックX’lは次に、ステップD50と類似するものの、D4で得られた再配置情報からブロックX’l内でベクトルV’liを形成しこれに対して同じくD4で決定された線形変換関数LO-1およびL1-1の1つを関連付ける形成ステップD53内で使用される。
D54では、逆変換関数は、直交変換関数である場合には転置された形で、または高速アルゴリズムを用いて適用され、1行のサイズに等しいサイズを有するベクトルVli0、V’li1を生成する。本発明に係るデコーダによって実施される演算は、技術的現状によって使用される演算と同じ性質のものである。すなわち、変換を行うための複雑性は変わっていない。
D55では、画素ブロックx’を形成するために、得られたベクトルを位置付けする。これは、本発明に係るコーディング方法において実施されるベクトル形成演算T20の逆演算である。
D6では、得られたブロックx’から、デコーディングされた画像の画素ブロックを再構築し、デコーディング中の画像IDにそれを統合させる。ブロックx’が残余ブロックである場合、このブロックに対して、先に処理された基準画像から得られたカレントブロックの予測を足す。
ステップD7の間に、先に定義された走査順序を考慮に入れて、カレントブロックがデコーダで処理すべき最後のブロックであるか否かをテストする。そうである場合には、デコーディング方法はその処理を終了している。そうでなければ、後続するステップは、後続ブロックの選択ステップD0であり、先に説明したデコーディングステップD1〜D7は、選択された後続ブロックについて反復される。
以上で説明されたばかりの本発明は、ソフトウェアおよび/またはハードウェアコンポーネントを用いて実施可能であることが指摘されるだろう。この観点において、本明細書中で使用される「モジュール」および「エンティティ」なる用語は、関係するモジュールまたはエンティティについて説明された1つまたは複数の機能を実施することのできるソフトウェアコンポーネント、またはハードウェアコンポーネント、さらにはハードウェアおよび/またはソフトウェアコンポーネントのアセンブリに対応し得る。
図15に関連して、ここで、本発明に係るデジタル画像コーディング装置100の簡略化された構造の実施例が提示される。装置100は、図6に関連して以上で説明されたばかりの本発明に係るコーディング方法を実施する。
例えば、装置100は、メモリ130内に記憶され本発明に係る方法を実施するコンピュータプログラムPg1 120により操作される、プロセッサμ1を備えた処理ユニット110を含む。
初期化の時点で、コンピュータプログラムPg1120のコード命令は、例えば処理ユニット110のプロセッサにより実行される前にメモリRAMにロードされる。処理ユニット110のプロセッサは、コンピュータプログラム120の命令にしたがって、先に説明した方法の全ステップを実施する。
本発明のこの実施例において、装置100は、カレントブロックから中間ブロックへの第1の変換サブユニットTR1と中間ブロックから変換済みブロックへの第2の変換サブユニットTR2とを含む、カレントブロックから変換済みブロックXへの少なくとも1つの変換ユニットTRANS、変換済みブロックの量子化ユニットQUANT、量子化されたブロックのコーディングユニットCOD、およびビットストリームTB内にコーディングされたデータを挿入するユニットINSERTを含む。
本発明によると、変換ユニットは、前記少なくとも1つの変換サブユニットに先立ち使用されることのできる、カレントブロックと中間ブロックの中の前記ブロックのうちの1つの要素(それぞれ画素または係数)から少なくとも2つのベクトルを形成する少なくとも1つのサブユニットFORMと、ブロック内で得られた係数を配置するサブユニットARRと、を含む。装置は同様に、少なくともカレントブロックのコーディングパラメータに応じて、前記ベクトルに対して適用すべき少なくとも2つの異なる変換関数を決定するユニットDETをも含む。
有利には、装置100はさらに、コーディングパラメータに対して、第1の変換関数の識別子、ブロックまたは中間ブロックのベクトルの少なくとも1つの識別子、第1の変換関数とは異なる少なくとも1つの第2の変換関数の識別子、および前記ブロックの第2のベクトルの少なくとも1つの識別子を関連付ける入力を含む表を記憶するユニットBD1などのメモリを含む。これらのユニットは、処理ユニット110のプロセッサμ1により操作される。
有利には、装置100をユーザー端末TUに統合することができる。このとき装置100は、少なくとも端末TUの以下のモジュールと協働するように配置される。すなわち、
− ビットストリームTBまたは圧縮ファイルFCを、遠隔通信ネットワークを介してデコーディング装置に伝送するデータ発信/受信モジュールE/R。
例えば、デコーディング装置200は、図14に関連して説明されたばかりの、メモリ230内に記憶され本発明に係るデコーディング方法を実施するコンピュータプログラムPg2 220により操作される、プロセッサμ2を備えた処理ユニット210を含む。
初期化の時点で、コンピュータプログラムPg2 220のコード命令は、例えば処理ユニット210のプロセッサにより実行される前にメモリRAM内にロードされる。処理ユニット210のプロセッサは、コンピュータプログラム220の命令にしたがって、先に説明した方法の全ステップを実施する。
本発明のこの実施例において、装置200は、ビットストリーム内で読取られたデータから変換済みカレントブロックの係数をデコーディングする少なくとも1つのユニットDEC、デコーディングされた係数を逆量子化するユニットDEQUANT、連続する2つの逆変換サブユニットを実施することのできる変換済みカレントブロックの逆変換用ユニットTRANS-1を含み、第1のサブユニットTR1-1は変換済みカレントブロックに適用され、第2のサブユニットTR2-1は第1のサブユニットに由来する中間ブロックに適用される。本発明によると、サブユニットTR1-1、TR2-1の少なくとも一方は、変換済みカレントブロックおよび中間ブロックのうちの処理すべきブロックと呼ばれるブロック上で、互いに異なる少なくとも1つの第1および第2の線形変換関数を使用する。
本発明によると、逆変換ユニットはさらに、処理対象ブロック内で第1および第2の変換関数により処理されたベクトルの係数を再配置することのできるサブユニットFORM-1を含む。
有利には、装置は同様に、処理すべきブロックの係数から少なくとも2つのベクトルを形成するユニットARR−1であって、これらのベクトルがカレントブロックのサイズに等しい長さを有し、これらのベクトルに対して第1および第2の線形変換関数が適用されるユニットと、少なくともカレントブロックのコーディングパラメータに応じて、前記ベクトルに対し適用すべき少なくとも2つの異なる線形変換関数を決定するユニットDETとを含む。
これらのユニットは、処理ユニット210のプロセッサμ2によって操作される。
有利には、装置200をユーザー端末TUに統合することができる。このとき装置200は、少なくとも端末TUの以下のモジュールと協働するように配置される。すなわち、
− ビットストリームTBまたは圧縮ファイルFCを、遠隔通信ネットワークから受信するデータ発信/受信モジュールE/R、
− デコーディングされたデジタル画像またはデコーディングされた一連の画像をユーザーに対し復元する、端末スクリーンなどの画像復元装置DISP。
有利には、ユーザー端末TUは、本発明に係るコーディング装置とデコーディング装置を同時に統合することができる。
当然のことながら、上述の実施形態は、全く非限定的に純粋に例示を目的として提供されたものであり、当業者であれば、本発明の枠から逸脱することなく、容易に多くの修正を加えることができる。
TB ビットストリーム
FC 圧縮ファイル
μ1 プロセッサ
μ2 プロセッサ
DISP 画像復元装置
TU ユーザー端末
E/R データ発信/受信モジュール
100 デジタル画像コーディング装置
110 処理ユニット
120 コンピュータプログラムPg1
130 メモリ
200 デコーディング装置
210 処理ユニット
220 コンピュータプログラムPg2
230 メモリ
米国特許出願公開第2013/0003828号明細書
2013年11月に公開された文書「ISO/IEC 23008−2:2013−High efficiency coding and media delivery in heterogeneous environments−−Part 2: High efficiency video coding」、International Organization for Standardization

Claims (17)

  1. デジタル画像のコーディング方法において、前記画像は、定義された順序で処理される複数の画素ブロックに分割されており、既定のサイズのカレントブロックのために実施される以下のステップ、すなわち、
    − カレントブロックを変換済みブロックへと変換(T2)するステップであって、前記ブロックが係数を含み、前記ステップが2つの連続する変換サブステップを実施し、第1のサブステップ(T21)はカレントブロックに適用され、第2のサブステップ(T24)は第1のサブステップに由来する中間ブロックに適用され、前記中間ブロックは係数を含むステップと、
    − 変換済みブロックの係数を量子化(T4)およびコーディング(T5)するステップと、
    を含む方法であって、
    − 前記変換ステップはさらに、前記変換サブステップのうちの少なくとも1つ、すなわちカレントブロックと中間ブロックのうちの変換すべきブロックと呼ばれるブロックに適用されるサブステップのうちの少なくとも1つに先立って、変換すべきブロック内で、異なる少なくとも1つの第1および第2のベクトルを形成する予備サブステップ(T20、T23)を含み、1つの前記ベクトルが、変換すべきブロックのサイズのうちの1つに等しい長さを有する、変換すべきブロックのそれぞれ画素または隣接する係数のシーケンスの、それぞれ画素または係数を含むこと、および
    − 前記少なくとも1つの変換サブステップには、前記少なくとも1つの第1のベクトルに対する第1の変換関数(L0、C0)の適用、および前記ブロックの前記少なくとも1つの第2のベクトルに対する、第1の変換関数とは異なる少なくとも1つの第2の変換関数(L1、C1)の適用が含まれること、
    を特徴とする方法。
  2. 少なくともカレントブロックのコーディングパラメータに応じて、前記ベクトルに適用すべき異なる少なくとも2つの変換関数を決定する予備ステップ(T1)をさらに含むことを特徴とする、請求項1に記載のデジタル画像コーディング方法。
  3. 決定ステップ(T2)は、メモリに記憶された情報の読取りを含み、前記情報には少なくともコーディングパラメータ、第1の変換関数の識別子、ブロックまたは中間ブロックの第1のベクトルの少なくとも1つの識別子、第1の変換関数とは異なる少なくとも1つの第2の変換関数の識別子、および前記ブロックの第2のベクトルの少なくとも1つの識別子が含まれることを特徴とする、請求項1または2に記載のデジタル画像コーディング方法。
  4. 前記変換ステップが、それぞれ中間ブロック(Xl)または変換済みブロック(X)内で変換されたベクトルの係数を再配置するサブステップ(T22、T25)を含むことを特徴とする、請求項1〜3のいずれか1つに記載のデジタル画像コーディング方法。
  5. − 複数の既定のモードの中から選択された予測モードにしたがって先に処理された少なくとも1つのブロックからカレントブロックの値を予測するステップと、
    − カレントブロックの原初の値から予測値を減算することによる、残余カレントブロックを計算するステップと、
    を含み、変換ステップ(T2)が残余カレントブロックに対して適用されること、および前記少なくとも1つのコーディングパラメータが、カレントブロックの予測モードであることを特徴とする、請求項1〜4のいずれか1つに記載のデジタル画像コーディング方法。
  6. 前記少なくとも1つの第1の変換関数および前記少なくとも1つの第2の変換関数の識別情報コーディングステップを含むことを特徴とする、請求項1〜5のいずれか1つに記載のデジタル画像コーディング方法。
  7. 第1の変換関数が、それぞれブロックの1行のサイズに等しい、または前記ブロックの1列のサイズに等しいサイズのベクトルの第1のサブアセンブリに対して適用されること、および前記少なくとも1つの第2の変換関数が、それぞれブロックの1行のサイズに等しい、または前記ブロックの1列のサイズに等しいサイズのベクトルの第2のサブアセンブリに対して適用されることを特徴とする、請求項1〜6のいずれか1つに記載のデジタル画像コーディング方法。
  8. 前記少なくとも1つの変換サブステップは、それぞれブロックの1行のサイズ、または1列のサイズに等しいサイズを有する、ブロック内に形成されたベクトルに異なる変換関数を使用することを特徴とする、請求項1〜6のいずれか1つに記載のデジタル画像コーディング方法。
  9. デジタル画像コーディング装置(100)において、前記画像(Ik)は、定義された順序で処理される複数の画素ブロックに分割されており、既定のサイズのカレントブロック(x)のために使用することのできる以下のユニット、すなわち、
    − カレントブロックを変換済みブロックへと変換するユニット(TRANS)であって、前記ブロックが係数を含み、前記ユニットが2つの連続する変換サブユニットを使用でき、第1のサブユニット(TR1)はカレントブロックに適用され、第2のサブユニット(TR2)は第1のサブユニットに由来する中間ブロックに適用され、前記中間ブロックは係数を含むユニットと、
    − 変換済みブロックの係数を量子化(QUANT)およびコーディング(COD)するユニットと、
    を含む装置であって、
    − 前記変換ユニットはさらに、カレントブロックと中間ブロックのうちの変換すべきブロックと呼ばれる1つのブロック内で、異なる少なくとも1つの第1および第2のベクトルを形成するサブユニット(FORM)を含み、1つの前記ベクトルが、変換すべきブロックのサイズのうちの1つに等しい長さを有する、変換すべきブロックのそれぞれ隣接する画素または隣接する係数のシーケンスの、それぞれ画素または係数を含み、前記サブユニットは、前記変換サブユニット(TR1、TR2)の少なくとも1つより前に使用されることができること、
    − 前記少なくとも1つの変換サブユニットには、前記少なくとも1つの第1のベクトルに対する第1の変換関数の適用、および前記ブロックの前記少なくとも1つの第2のベクトルに対する、第1の変換関数とは異なる少なくとも1つの第2の変換関数の適用が含まれること、
    を特徴とする装置。
  10. 画像を表わすコーディングされたデータを含むビットストリーム(TB)からのデジタル画像のデコーディング方法において、前記画像(Ik)は、定義された順序で処理される複数のブロックに分割されており、変換済みカレントブロック(X’)と呼ばれるブロックのために実施される以下のステップ、すなわち、
    − ビットストリーム内で読取られたデータから変換済みカレントブロックの係数をデコーディングするステップ(D1)と、
    − デコーディングされた係数を逆量子化するステップ(D2)と、
    − 変換済みカレントブロックを逆変換するステップ(D5)であって、前記ステップが2つの連続する逆変換サブステップを実施し、第1のサブステップ(DS1)はカレントブロックに適用され、第2のサブステップ(D54)は第1のサブステップに由来する中間ブロックに適用される、ステップと、
    を含む方法であって、
    − 前記少なくとも1つの逆変換サブステップは、変換済みカレントブロック(X’)と中間ブロック(X’l)のうちの処理すべきブロックと呼ばれるブロックに対して適用され、このサブステップには、処理すべきブロックのそれぞれ1列または1行の長さに等しい長さを有する少なくとも1つの第1のベクトル(V’cj0、V’li0)に対する第1の逆変換関数(C0-1、L0-1)の適用、および、それぞれ1列または1行の長さに等しい長さを有する前記ブロックの少なくとも1つの第2のベクトル(V’cj1、V’li1)に対する、第1の逆変換関数とは異なる少なくとも1つの第2の逆変換関数(C1-1、L1-1)の適用が含まれること、および
    − さらに、処理済みベクトル(V’cj0、V’cj1、V’li0、V’li1)に由来するそれぞれ1列または1行の長さに等しい長さを有する、それぞれ隣接する係数または隣接する画素のシーケンスの位置付けによって、処理済みブロック(X’I、x’)を形成するサブステップ(D52、D55)が含まれること、
    を特徴とする方法。
  11. 少なくともカレントブロックのコーディングパラメータに応じて、処理すべきブロックの前記ベクトルに適用すべき異なる少なくとも2つの変換関数(C0-1、C1-1、L0-1、L1-1)を決定する予備ステップ(D4)を含むことを特徴とする、請求項10に記載のデジタル画像のデコーディング方法。
  12. 逆変換ステップはさらに、前記少なくとも1つの変換サブステップに先立って、前記第1および第2のベクトル(V’cj0、V’cj1、V’li0、V’li1)内の処理すべきブロックの隣接する係数のシーケンスを再配置するサブステップ(D50、D53)を含んでおり、1つの前記シーケンスは、処理すべきブロックのサイズのうちの1つに等しい長さを有することを特徴とする、請求項1〜11のいずれか1つに記載のデジタル画像デコーディング方法。
  13. 画像を表わすコーディングされたデータを含むビットストリーム(TB)からデコードするデジタル画像デコーディング装置(200)において、前記画像は、定義された順序で処理される複数のブロックに分割されており、カレントブロックと呼ばれる既定のサイズのブロックのために使用することのできる以下のユニット、すなわち、
    − ビットストリーム内で読取られたデータから変換済みカレントブロックの係数をデコーディングするユニット(DECOD)と、
    − デコーディングされた係数を逆量子化するユニット(DEQUANT)と、
    − 変換済みカレントブロックを逆変換するユニット(TRANS-1)であって、2つの逆変換サブユニットを連続的に使用でき、第1のサブユニットはカレントブロックに適用され、第2のサブユニットは第1のサブユニットに由来する中間ブロックに適用される、ユニットと、
    を含む前記装置であって、
    − 変換済みカレントブロックと中間ブロックのうちの処理すべきブロックと呼ばれるブロック(X’、Xl)の少なくとも1つの逆変換サブユニットには、処理すべきブロックのそれぞれ1列または1行の長さに等しい長さを有する処理すべきブロックの係数の少なくとも1つの第1のベクトル(V’cj0、V’li0)に対する少なくとも1つの第1の逆変換関数(C0-1、L0-1)の適用、および、処理すべきブロックのそれぞれ1列または1行の長さに等しい長さを有するそれぞれ処理すべきブロックの係数または画素の少なくとも1つの第2のベクトル(V’cj1、V’li1)に対する、第1の逆変換関数とは異なる少なくとも1つの第2の逆変換関数(C1-1、L1-1)の適用が含まれること、および
    − そしてさらに、逆変換ユニット(D5)には、処理済みベクトル(V’cj0、V’cj1、V’li0、V’li1)に由来するそれぞれ1列または1行の長さに等しい長さを有する、それぞれ隣接する係数または隣接する画素のシーケンスの位置付けによって、処理済みブロック(X’l、x’)を形成するサブユニット(D52、D55)が含まれること、
    を特徴とする装置。
  14. デジタル画像のコーディングされたデータを含むビットストリーム(TB)を有する信号において、前記画像は、画素ブロックに分割されており、カレントブロックについて、
    − カレントブロックから変換済みブロックへと変換する2つの連続するサブステップ(T21、T24)を含み、少なくとも1つの変換サブステップには、カレントブロックおよび中間ブロック(x、Xl)のうちの変換すべきブロックと呼ばれるブロックの、少なくとも1つの第1のベクトル(vlh0、vcw0)に対する第1の変換関数(L0、C0)の適用、および少なくとも1つの第2のベクトル(vlh1、vcw1)に対する、第1の変換関数とは異なる少なくとも1つの第2の変換関数(L1、C1)の適用が含まれている、カレントブロックから変換済みブロックへの変換ステップ(T2)の間のカレントブロックのコーディングの際に使用される、互いに異なる少なくとも1つの第1および第2の変換関数の識別情報を表わすコーディングされたデータと、
    − 変換すべきブロック中で形成された少なくとも第1および第2のベクトルを表わす、コーディングされたデータであって、1つの前記ベクトルには、変換すべきブロックのサイズのうちの1つに等しい長さを有する、変換すべきブロックのそれぞれ隣接する画素または隣接する係数のシーケンスが含まれているデータと、
    を含むことを特徴とする信号。
  15. 請求項9に記載のデジタル画像コーディング装置(100)および請求項13に記載のデジタル画像デコーディング装置(200)を含むことを特徴とする、ユーザー端末(TU)。
  16. プロセッサによって実行された場合に、請求項1〜8のいずれか1つに記載のデジタル画像コーディング方法を実施するための命令を含むコンピュータプログラム(Pg1)。
  17. プロセッサによって実行された場合に、請求項10〜12のいずれか1つに記載のデジタル画像デコーディング方法を実施するための命令を含むコンピュータプログラム(Pg2)。
JP2017541692A 2015-02-06 2016-02-05 デジタル画像コーディング方法、デコーディング方法、装置および付随するコンピュータプログラム Pending JP2018509070A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR1550984 2015-02-06
FR1550984A FR3032583B1 (fr) 2015-02-06 2015-02-06 Procede de codage d'une image numerique, procede de decodage, dispositifs, et programmes d'ordinateurs associes
PCT/FR2016/050246 WO2016124867A1 (fr) 2015-02-06 2016-02-05 Procede de codage d'une image numerique, procede de decodage, dispositifs, et programmes d'ordinateurs associes

Publications (1)

Publication Number Publication Date
JP2018509070A true JP2018509070A (ja) 2018-03-29

Family

ID=54065939

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017541692A Pending JP2018509070A (ja) 2015-02-06 2016-02-05 デジタル画像コーディング方法、デコーディング方法、装置および付随するコンピュータプログラム

Country Status (7)

Country Link
US (1) US20180020216A1 (ja)
EP (1) EP3254467A1 (ja)
JP (1) JP2018509070A (ja)
KR (1) KR20170134324A (ja)
CN (1) CN107409228A (ja)
FR (1) FR3032583B1 (ja)
WO (1) WO2016124867A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3044507A1 (fr) * 2015-11-30 2017-06-02 Orange Procede de codage et de decodage d'images, dispositif de codage et de decodage d'images et programmes d'ordinateur correspondants
US11095893B2 (en) * 2016-10-12 2021-08-17 Qualcomm Incorporated Primary transform and secondary transform in video coding
WO2019194503A1 (ko) 2018-04-01 2019-10-10 엘지전자 주식회사 분할된 블록에 2차 변환을 적용하여 비디오 신호를 처리하는 방법 및 장치
CN113055689B (zh) * 2019-06-24 2022-11-01 杭州海康威视数字技术股份有限公司 一种编解码方法、装置及其设备
US11064194B2 (en) 2019-10-31 2021-07-13 Western Digital Technologies, Inc. Encoding digital videos using controllers of data storage devices

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000165880A (ja) * 1998-11-24 2000-06-16 Hyundai Electronics Ind Co Ltd 適応的変換方法を用いる映像圧縮符号化装置および複号化装置ならびにその方法
JP2005167655A (ja) * 2003-12-03 2005-06-23 Matsushita Electric Ind Co Ltd 変換符号化方法および変換復号化方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9215470B2 (en) * 2010-07-09 2015-12-15 Qualcomm Incorporated Signaling selected directional transform for video coding
JPWO2013001794A1 (ja) * 2011-06-27 2015-02-23 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America 画像符号化方法、及び画像符号化装置
EP2727355A1 (en) * 2011-06-29 2014-05-07 Motorola Mobility LLC Methods and system for using a scan coding pattern during intra coding
CA2853002C (en) * 2011-10-18 2017-07-25 Kt Corporation Method for encoding image, method for decoding image, image encoder, and image decoder
KR20130050149A (ko) * 2011-11-07 2013-05-15 오수미 인터 모드에서의 예측 블록 생성 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000165880A (ja) * 1998-11-24 2000-06-16 Hyundai Electronics Ind Co Ltd 適応的変換方法を用いる映像圧縮符号化装置および複号化装置ならびにその方法
JP2005167655A (ja) * 2003-12-03 2005-06-23 Matsushita Electric Ind Co Ltd 変換符号化方法および変換復号化方法

Also Published As

Publication number Publication date
KR20170134324A (ko) 2017-12-06
EP3254467A1 (fr) 2017-12-13
CN107409228A (zh) 2017-11-28
US20180020216A1 (en) 2018-01-18
FR3032583B1 (fr) 2018-03-02
WO2016124867A1 (fr) 2016-08-11
FR3032583A1 (fr) 2016-08-12

Similar Documents

Publication Publication Date Title
US11711533B2 (en) Method and apparatus for processing video signals using reduced transform
US9661352B2 (en) Method and apparatus for encoding/decoding image
US11979609B2 (en) Method for performing transform index coding on basis of intra prediction mode, and device therefor
AU2020360013B2 (en) Transform-based image coding method, and apparatus therefor
CN107710763B (zh) 用于对数字图像进行编码的方法、解码方法、装置
JP2018509070A (ja) デジタル画像コーディング方法、デコーディング方法、装置および付随するコンピュータプログラム
US11350106B2 (en) Method for encoding and decoding images, device for encoding and decoding images and corresponding computer programs
US10911784B2 (en) Method of coding and decoding images, device for coding and decoding images and computer programmes corresponding thereto
US11882289B2 (en) Transform-based image coding method and device therefor
KR102447425B1 (ko) 디지털 이미지를 디코딩하기 위한 방법, 코딩 방법, 디바이스들, 및 연관된 컴퓨터 프로그램들
AU2020382581B2 (en) Transformation-based image coding method and device therefor
KR20220024499A (ko) 변환에 기반한 영상 코딩 방법 및 그 장치
KR20220024500A (ko) 변환에 기반한 영상 코딩 방법 및 그 장치
CN108432254B (zh) 图像编码和解码方法、装置以及计算机存储介质
RU2812248C2 (ru) Способ кодирования изображения на основе преобразования и устройство для его осуществления
AU2020372684B2 (en) Transform-based image coding method and device for same
RU2799629C1 (ru) Способ кодирования изображения на основе преобразования и устройство для его осуществления
KR20230150292A (ko) 영상 코딩 방법 및 그 장치
KR20220024501A (ko) 변환에 기반한 영상 코딩 방법 및 그 장치
AU2020360102A1 (en) Transform-based image coding method, and device therefor

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180727

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7426

Effective date: 20181210

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20190109

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190614

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190625

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20200204