【文献】
Adria Arrufat, Anne-Flore Perrin and Pierrick Philippe,Image coding with incomplete transform competition for HEVC,2015 IEEE International Conference on Image Processing (ICIP),IEEE,2015年 9月,pp.2349-2353
【文献】
Adria Arrufat, Pierrick Philippe and Oliver Deforges,Rate-distortion optimised transform competition forintra coding in HEVC,2014 IEEE Visual Communications and Image Processing Conference,IEEE,2014年12月,pp.73-76
【文献】
Jangbyung Kang, Haechul Choi and Jae-Gon Kim,Fast Transform Unit Decision for HEVC,2013 6th International Congress on Image and Signal Processing (CISP 2013),IEEE,2013年12月,pp.26-30
(58)【調査した分野】(Int.Cl.,DB名)
前記カレントブロックに適用された変換が決定された前記サブリストに属し、該サブリストが2以上の数の変換を含む場合、前記相補的データ(DC)は、決定された前記サブリスト(SL、SL’)内の変換の位置指数(POS)を含むことを特徴とする、請求項2に記載のデジタル画像のコーディング方法。
前記カレントブロックに適用された変換が決定された前記サブリストに属していない場合、位置指数は、エスケープ値(ECH)をとり、前記相補的データ(DC)はさらに、
前記カレントブロックに適用された変換の識別子(TR−ID)を含むことを特徴とする、請求項2に記載のデジタル画像のコーディング方法。
前記カレントブロックの量子化された残余係数の少なくとも1つの値の少なくとも1つの特性について、変換に対して1つのスコアが予め割当てられており、前記初期識別データを決定するステップは、既定の閾値より高いスコアをもつ前記既定の変換リスト(L)の変換から前記サブリスト(SL)を構成することを特徴とする、請求項1〜6のいずれか1つに記載のデジタル画像のコーディング方法。
変換の前記初期識別データの決定ステップは、すでに処理された少なくとも1つのブロックに前記カレントブロックに適用された変換を前記サブリスト(SL’)内に挿入することを特徴とする、請求項1〜7のいずれか1つに記載のデジタル画像のコーディング方法。
前記初期識別データの相補的データのデコーディングステップをさらに含むこと、および適用すべき逆変換の識別子を再構築する前記ステップには前記相補的データが考慮されることを特徴とする、請求項10に記載のデジタル画像のデコーディング方法。
デジタル画像を表すコーディングされたデータを含むビットストリームから前記デジタル画像をデコーディングする装置(200)において、前記デジタル画像が、規定の順序で処理された複数のブロックに分割されており、カレントブロックと呼ばれるブロックのために実施される、以下の
− 先に処理された少なくとも1つのブロックから前記カレントブロックを予測するユニット(PRED’)と、
− ビットストリーム(TB)から抽出された変換済み残余ブロックの係数のコーディングされた値をデコーディングするユニット(DEC RES)と、
− 1つの逆変換を前記変換済み残余ブロックに適用することによって残余ブロックを得るユニット(TRANS−1)であって、後述する逆変換の識別子により識別された前記逆変換は既定の逆変換リストに属しているユニットと、
− 前記残余ブロックおよび前記カレントブロックの予測から、デコーディングされたブロックを再構築するユニット(RECONST)と、
を含み、
前記変換済み残余ブロックの少なくとも1つの係数を表わす少なくとも1つの特性を計算するユニット(CALC)と、前記少なくとも1つの計算された特性に結び付けられた少なくとも1つの変換のサブリストを表わす初期識別データを決定するユニット(DET)とを含むこと、および少なくとも決定された前記初期識別データから前記変換済み残余ブロックに適用すべき前記逆変換の前記識別子を再構築するユニット(RECTR−ID)とを含むことを特徴とする、装置。
請求項9に記載の前記デジタル画像のコーディング装置、および請求項12に記載の前記デジタル画像のデコーディング装置を含むことを特徴とする、ユーザー端末(TU)。
【背景技術】
【0006】
画像を画素ブロックに分割する従来のデジタル画像圧縮スキームを考慮する。初期コーディングユニットを構成するコーディングすべきカレントブロックは概して、既定のカッティングモードにしたがって可変数のサブブロックにカットされる。
【0007】
図1に関連して、Kを非ゼロの整数としてデジタル画像シーケンスI
1、I
2、I
Kを考慮する。画像I
Kは、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(英語の「Coding Tree Unit」の略)へとカットされる。標準的コーダは概して、固定サイズのCU(英語の「Coding Units」の略)と呼ばれる方形または矩形ブロックに基づく規則的なパーティショニングを提案する。パーティショニングはつねに、パーティショニングされていない初期コーディングユニットから行なわれ、最終的パーティショニングは、このニュートラルベースから計算され次にシグナリングされる。
【0008】
各CUは、非排他的に予測、残余計算、変換、量子化およびエントロピーコーディングを含む一連のオペレーションからなるエンコーディングまたはデコーディングオペレーションを受ける。この一連のオペレーションは、先行技術から公知であり、
図2に関連して提示される。
【0009】
処理すべき第1のブロックCTUをカレントブロックcとして選択する。例えば、これは(辞書式順序で)最初のブロックである。このブロックはN×N個の画素を含み、ここでNは非ゼロの整数であり、例えばHEVC規格にしたがって64に等しい。
【0010】
ステップE1の間に、オリジナルのブロックbの予測Prが決定される。これは、公知の手段、典型的には動き補償によって(先にデコーディングされた1つの基準画像に由来するブロック)、またはイントラ予測によって(画像IDに属するデコーディングされた画素から構築されたブロック)構築される予測ブロックである。Prに関連する予測情報は、ビットストリームTBまたは圧縮ファイルFC内でコーディングされる。ここでは、Pを非ゼロの整数として、考えられるP個の予測モードm
1、m
2、・・・m
pが存在するものと仮定する。例えば、カレントブロックcについて選択される予測モードは、モードm
pである。或る種の予測モードはイントラ(Intra)タイプの予測に結び付けられ、他の予測モードはインター(INTER)タイプの予測に結び付けられる。
【0011】
ステップE2の間に、カレントブロックcからカレントブロックcの予測Prを減算すること(R=c−Pr)によって、オリジナルの残余Rが形成される。
【0012】
E3では、得られた残余Rに適用すべき変換が識別される。
【0013】
変換ステップは、このような映像コーディングスキーマにおいて極めて重要な役割を果たす。実際、量子化オペレーションの前に情報を集中させるのはこのステップである。その結果として、エンコーディング前の残余画素全体が、同じ情報を表わす非ゼロのわずかな数の周波数係数上で表現されることになる。こうして、1つの画素ブロックを忠実に再構成するために、多数の係数を伝送する代りに、少数の係数だけが必要とされる。
【0014】
画像および映像のコーディングにおいては、概して、直交または準直交ブロック変換(4×4、8×8など)が使用される。最も利用頻度の高い変換は、コサイン基底をベースとするものである。こうして、DCTは、画像および映像についての大部分の規格の中に存在する。近年、HEVC規格も同様に、4×4というサイズのブロックの場合の特別な残余のコーディングのためにDST(英語の「Discrete Sine Transform」の略)を導入した。
【0015】
現実には、計算は整数について実施されることから、利用されるのはこれらの変換の近似である。一般に、変換の基底は、所与の精度(概して8ビット)で、最も近い整数に近似される。
【0016】
一例として、
図3Aおよび3Bに関連して、4×4サイズのブロックについてHEVC規格により使用されている変換を提示する。つまりこれは、DCTおよびDST変換である。この表中に提示されている値を128で除すると、準直交変換を見出すことができる。
【0017】
より最近になって、変換コンペティション(competition de transformees)の概念が導入された。所与のブロックサイズおよび予測モードについて、エンコーダは、Tを概して2以上の非ゼロの整数としてT個の変換の中から選択することができる。ブロックのパーティショニングの場合と同じようにして、エンコーダはこれらの変換を各々順番にカレントブロックに適用し、次にレート歪み基準に従ってこれらを評価する。選択される変換は、最高の性能を得る変換である。
【0018】
HEVC規格は、4×4ブロックについて、DSTタイプの変換かまたは変換なし「Transform Skip」(すなわち残余係数は変換を受けない)の選択を想定している。
【0019】
マルタのバレッタで開催された2014年12月のIEEE Visual Communication on Image Processing会議の議事録内で公開された、「Rate−distortion optimised transform competition for intra coding in HEVC」という題のA.Arrufatらの刊行物の73ページにおいて、エンコーダは多数の変換の中で選択肢を有する。例えば、4×4サイズのブロック用の5個の変換および8×8サイズのブロック用の17個の変換が提案されている。したがって、ステップE3は、カレントブロックのサイズに応じて利用可能な変換の中から1つの変換を識別する。
【0020】
ステップE4の間に、残余Rは、識別された変換による、RTと呼ばれる変換済み残余ブロックへと変換される。これは、例えばブロックタイプの変換(一般にDCT、さらにはDST、さらには適応型変換)、またはウェーブレット変換であり、これらは全て当業者にとって公知であり、特にDCT/DSTについてはJPEG/MPEG規格内で、ウェーブレット変換についてはJPEG2000規格内で使用されている。
【0021】
E5では、現状技術において公知の通り、これらの係数は、一次元ベクトルRQ[j]を構成するように既定の順序で走査され、ここで指数jは0からNb−1まで変動し、Nbはブロックcの画素数に等しい整数である。指数jは、係数RQ[j]の周波数と呼ばれる。従来、これらの係数は、JPEG固定画像コーディング規格から公知である例えばジグザグスキャニングに従った、周波数値の包括的漸増順または漸減順で走査される。
【0022】
E6では、変換済み残余RTは、従来の例えばスカラーまたはベクトル量子化手段によって、例えば非ゼロの整数であるNbという、残余ブロックRQが格納する画素の数と同数の係数を含む量子化された残余ブロックRQへと量子化される。
【0023】
ステップE7に際して、例えばハフマンコーディングまたは算術コーディング技術にしたがって、エントロピーコーディングにより残余ブロックRQの係数に関する情報をコーディングすることになる。これらの情報は、少なくとも係数の振幅、その正負符号、およびエンコーダによりブロックに適用された変換のシグナリングを含む。振幅とは、ここでは係数の絶対値を意味する。従来から、各々の係数について、係数が非ゼロであることを表わす情報をコーディングすることができる。その後、非ゼロである各係数について、振幅に関する1つ以上の情報がコーディングされる。コーディングされた振幅CAが得られる。同様に、非ゼロ係数の正負符号もコーディングされる。一般に、これらの正負符号は、単にビット0または1によりコーディングされ、各値は所与の極性に対応する。このようなコーディングは、変換を理由として、コーディングすべき振幅の値の大部分がゼロであることから、有効な性能を獲得する。
【0024】
適用される変換に関して、HEVC規格の場合、transform_skip_flagと呼ばれるビットによるデコーダに対し、DSTまたは変換なしという2つの選択肢の中から適用すべき逆変換が標示される。
【0025】
A.Arrufatらの刊行物の場合、指標プラス明示的シグナリングというアプローチによって、デコーダにこの逆変換をシグナリングする。すなわち、エンコーダは、指標(位置0の指標)により、変換がHEVCタイプの変換であるか(サイズに応じて、これはDCTまたはDSTである)または特定の変換であるか(位置1の指標)をシグナリングする。指標が特定の変換を標示する場合、使用される特定の変換の指数は、固定の長さ(それぞれ考えられる4個および16個の特定の変換をシグナリングするため、4×4ブロックについては2、8×8ブロックについては4)のコード上でデコーダにシグナリングされる。
【0026】
各変換は所与の1つの残余信号タイプの統計に適応させられることから、変換数を増やすことで、コーディング性能は改善される。テキストおよびグラフタイプの信号上の利得は、「transform skip」技術によって、任意の内容(テキスト、合成グラフを格納するかまたは自然な撮影シーンを表わす画像)の信号についての利得は、A.Arrufatの刊行物中で提示された技術によって報告されている。
【0027】
E8では、エンコーダは、エンコードされた残余から、レート歪み基準の制御下で、適用された変換を評価する。
【0028】
エンコーダが利用可能なT個の変換について、カレントブロックcに適用される先行するステップE1〜E8が反復される。
【0029】
E9では、利用可能な変換全てがひとたび適用されたならば、これらの変換は、レート歪み基準にしたがってコンペティションさせられ、この基準にしたがって最良の結果を得た変換が最終的に選定される。
【0030】
E10では、カレントブロックに関するコーディングされたデータが、ビットストリームTB内に挿入される。
【0031】
画像I1の他のブロックは、シーケンスの後続する画像の場合と同様、同じ方法で処理される。
【0032】
先行技術の欠点は以下のものである。
・ 変換数の増大により、エンコーダが選択した変換をデコーダに標示するためのシグナリングの増大が誘発される。
・ 変換の間のコンペティションの際に考慮に入れられるこのシグナリングコストの増大は、圧縮性能に影響を及ぼす。
【発明の概要】
【発明が解決しようとする課題】
【0034】
本発明がこの状況を改善する。
【0035】
本発明は、特に先行技術のこれらの欠点を軽減することを目的とする。
【0036】
より厳密には本発明の目的は、計算およびメモリリソースの有意な増大を必要とすることなく、伝送されるデータ量を削減することによって、デジタル画像のコーダの圧縮性能を改善する、1つの解決法を提案することにある。
【課題を解決するための手段】
【0037】
これらの目的ならびに以下で記す他の目的は、デジタル画像のコーディング方法において、前記画像が規定の順序で処理された複数の画素ブロックに分割されている方法であって、既定の寸法のカレントブロックのために実施される、以下の
− 既定の複数のモードの中から選択された1つの予測モードにしたがって先に処理された少なくとも1つのブロックからカレントブロックの値を予測するステップと、
− カレントブロックのオリジナルの値から予測値を減算することにより残余ブロックを計算するステップと、
− 残余ブロックの画素に対して変換を適用することにより変換済み残余ブロックを得るステップであって、前記変換済み残余ブロックが係数を含み、変換は既定の変換リストに属しているステップと、
− 変換済み残余ブロックをコーディングするステップと、
を含む方法を用いて達成される。
【0038】
本発明によると、該方法は、カレントブロックの少なくとも1つの変換済み残余係数を表わす少なくとも1つの特性を計算するステップと、前記少なくとも1つの計算された特性に結び付けられた少なくとも1つの変換のサブリストを表わす初期識別データを決定するステップとを含む。
【0039】
本発明によると、変換済み残余信号の少なくとも1つの特性から、エンコーダに対してカレントブロックについての確率の高い変換のサブリストが決定される。このようなサブリストは、エンコーダが利用できる変換のリストのサブグループを構成し、このリストの数より少ない要素数を有する。
【0040】
発明者は実際、カレントブロックの変換済み残余信号の或る特性の値と、このブロックに適用された変換との間の関係を確認した。換言すると、ブロックの残余信号は、それに適用された変換についての情報を搬送する。したがって発明者は、残余信号の1つ以上の特性から、このブロックの処理のためにエンコーダにより選択された確率の高い1つ以上の変換を識別する可能性を確立した。
【0041】
この決定は、デコーダがビットストリームから抽出する値に基づくものである。例えばこれは、エンコーダがコーディングしビットストリーム内に挿入した変換済み係数の値である。これらの値は、量子化ステップを受けていてもいなくてもよい。デコーダは、エンコーダのものと類似の方法で、ビットストリーム内にデコーダが読みとるデータからの残余信号の1つ以上の特性の計算、および変換のサブリストを表わす初期データの決定を再現する手段を有している、という仮説が立てられる。
【0042】
レート歪みの観点から見て最高の性能を導く変換をエンコーダがカレントブロックに対して適用する変換コンペティションのコンテキストにおいては、エンコーダによって選択される確率の高い変換のサブリストを予測することによって、デコーダが適用された変換を識別できるようにするために、ビットストリーム内でシグナリングすべき情報の量を削減することが可能になる、ということが理解される。
【0043】
したがって本発明は、一方では、コーダとデコーダが知識を共有している高い確率の変換のサブリストをカレントブロックのために決定すること、そして他方では、ビットストリーム内で伝送される、したがってデコーダのレベルで利用可能であるカレントブロックの変換済み残余信号に固有の情報に応じてこの決定を行なうことからなる、変換コンペティションの全く新規で発明力あるアプローチに基づいている。
【0044】
変換タイプの指標(HEVC他)によって、そしてHEVCタイプに属していない場合には使用される変換の識別子の明示的なシグナリングによって、使用される変換をシグナリングする先行技術とは異なり、本発明は、デコーダがエンコーダと同様に決定用手段を有する初期識別データに応じて、カレントブロックに適用された変換をシグナリングすることを提案することから、系統的シグナリングを不要にすることを可能にする。
【0045】
適用される変換が、予測されたサブリストの唯一の変換に対応する場合、エンコーダは潜在的に、デコーダに伝送すべきシグナリングを全く有さない。こうして本発明は、変換の選択に付随するシグナリングコストを削減し、したがって、所与のレートについてのコーディングされた画像シーケンスの品質を改善すること、またはもたらされるシグナリングレートの増大により所与の品質についてのコーディングレートを低下させることを可能にする。
【0046】
初期データがただ1つの変換を表わしている場合、シグナリングを1つのフラグ、例えば適用される変換が決定された初期データに対応することを標示するためにはゼロに等しいフラグ、または逆を標示するためには1に等しいフラグに限定することができる。決定された初期データに対応しない変換を探しに行かない単純化されたデコーダの場合には、全くシグナリングを行わないと決定されることができる。
【0047】
本発明の一態様によると、該方法は、変換の初期識別データを補完するデータのコーディングステップを含む。
【0048】
変換サブリストが2つ以上の要素を含む場合、相補的データは、カレントブロックについてデコーダが決定したサブリストをどのように活用するかをデコーダに明示するような形でコーディングされ、ビットストリーム内に挿入される。
【0049】
本発明の別の態様によると、相補的データは、決定されたサブリスト内の変換の位置指数を含む。
【0050】
カレントブロックに適用された変換が決定されたサブリストを含む場合、位置指数は、エンコーダによりカレントブロックに適用されたサブリストの変換をデコーダが識別することを可能にする。サブリストが短い場合、位置指数は、わずかなビット上でしかコーディングされ得ない、ということが分かる。
【0051】
この標示は有利にも、値0のビットによって搬送される。反対の場合、相補的識別子が、値1のビットにより搬送され、適用された変換の明示的シグナリングによって補完される。したがって、サブリストSLを表わす初期データが変換を正しく予測しているかぎりにおいて、相補的シグナリングは1つのビットしか含まない。本発明の別の態様によると、適用された変換が決定されたサブリストに属していない場合、位置指数はエスケープ値をとり、相補的データはさらに、適用された変換の識別子を含む。
【0052】
適用された変換が予測されたサブリスト内で選択されない場合、エンコーダが実際に適用した変換の完全な識別子をシグナリングする必要がある。
【0053】
本発明の1つの利点は、サブリストが適切に構成され最高の性能を得ることのできる変換を含む場合には、この状況が例外的なものにとどまるという点にある。
【0054】
さらにエンコーダは、変換コンペティションを実施する場合、有利にもコンペティション中の変換の各々のシグナリングコストを考慮に入れるレート歪み基準にしたがって、概して最良の変換を選択する、という点が指摘される。このようにしてエンコーダは、その性能がシグナリングの追加コストを補償する場合にのみ、サブリスト外の変換を選択する。
【0055】
本発明の別の態様によると、変換済み残余ブロックの少なくとも1つの係数値を表わす前記少なくとも1つの特性は、少なくとも、
− 有意な量子化された最後の残余係数の位置と、
− 有意な残余係数位置のリストと、
− 量子化された残余係数の二乗和と、
− 量子化された残余係数の絶対値和と、
− 量子化された残余係数の二乗の推移(evolution)を表わす値と、
− 量子化された残余係数の絶対値の推移を表わす値と、
− 量子化された残余係数の確率密度を表わす値と、
を含む群に属する。
【0056】
これらの特性は、個別にまたは組合せた形で考慮することができる。本発明の原理は、カレントブロックについて最も確率の高い1つ以上の変換を分離することを可能にするために十分な弁別性を有する、このカレントブロックの量子化された残余信号の1つ以上の特性の1つの値または1つの値範囲に結び付けることにある。
【0057】
本発明の別の態様によると、決定ステップは、決定された初期識別データのメモリ内での読み取りを含み、前記データは、カレントブロックの量子化された残余係数の少なくとも1つの値の前記少なくとも1つの特性に結び付けられている。確率の高い変換のサブリストは、既定のものである。この実施形態の利点は、単純で計算リソースに関してコストが低いという点にある。
【0058】
本発明のさらに別の態様によると、カレントブロックの量子化された残余係数の少なくとも1つの値の少なくとも1つの特性について、1つのスコアが予め変換に対して割当てられており、決定ステップは、既定の閾値より高いスコアをもつリストの変換からサブリストを構成する。
【0059】
有利には、ブロックの量子化された残余信号の少なくとも1つの特性の少なくとも1つの値に応じたスコアが所与の変換に割当てられ、カレントブロックについて、既定の閾値より高いスコアをもつ変換のサブリストが動的に構築される。
【0060】
例えば、スコアは、テストシーケンス全体について計算された変換の性能の統計から確立されたものである。このような統計から、量子化された残余信号の少なくとも1つの特定の特性が特定の値をとっているブロックについて、特定の変換が最高の性能を示す確率の値を決定することができる。
【0061】
1つの利点は、カレントブロックに可能なかぎり良く適応したサブリストを構成するという点にある。
【0062】
代替的には、変換は、漸減的スコア値にしたがって順序付けされ、最高のスコアを得た既定の数の変換からサブリストが形成される。1つの利点は、形成されたサブリストが固定されたサイズを有するという点にある。
【0063】
本発明のさらに別の態様によると、変換の初期識別データの決定ステップは、すでに処理された少なくとも1つの隣接するブロックに適用された変換をサブデータ内に挿入する。
【0064】
有利には、カレントブロックにとって確率の高い変換のサブリストを構成するために、量子化された残余信号の特性に加えて、他の基準を考慮に入れることを企図することができる。1つのオプションは、すでに処理されたカレントブロックの隣接ブロックに適用される変換を考慮に入れることである。その後、隣接ブロックにより使用された変換をサブリストに追加することまたは共通の変換しか保存しないことを選択することができる。
【0065】
異なる実施形態において説明された方法は、有利には、本発明に係るデジタル画像のコーディング装置によって実施される。このような装置は少なくとも、既定の寸法のカレントブロックのために実施され得る、
− 既定の複数のモードの中から選択された1つの予測モードにしたがって先に処理された少なくとも1つのブロックからカレントブロックの値を予測するユニットと、
− カレントブロックのオリジナルの値から予測値を減算することにより残余ブロックを計算するユニットと、
− 残余ブロックの画素に対して変換を適用することにより変換済み残余ブロックを得るユニットであって、前記変換済み残余ブロックが係数を含み、変換は既定の変換のリストに属している、ユニットと、
− 変換済み残余ブロックをコーディングするユニットと、
を含む。
【0066】
本発明によると、このような装置はさらに、カレントブロックの少なくとも1つの変換済み残余係数を表わす少なくとも1つの特性を計算するユニット、および前記少なくとも1つの計算された特性に結び付けられた少なくとも1つの変換のサブリストを表わす初期識別データを決定するユニットを含む。
【0067】
当然のことながら、本発明に係るコーディング装置は、コーディング方法について以上で説明した実施形態全体を独立した形または組合せた形で実施するように配置され得る。
【0068】
詳細には本発明の一態様によると、この装置は、決定された初期データに相補的なデータのコーディングユニットを含む。
【0069】
相関的に、本発明は、デジタル画像を表すコーディングされたデータを含むビットストリームから前記デジタル画像をデコーディングする方法において、前記画像が、規定の順序で処理された複数のブロックに分割されている方法であって、カレントブロックと呼ばれるブロックのために実施される、
− 先に処理された少なくとも1つのブロックからカレントブロックを予測するステップと、
− ビットストリームから抽出された変換済み残余ブロックの係数のコーディングされた値をデコーディングするステップと、
− 識別された逆変換を変換済み残余ブロックに適用することによって残余ブロックを得るステップであって、前記逆変換が既定の逆変換リストに属しているステップと、
− 残余ブロックおよびカレントブロックの予測からデコーディングされたブロックを再構築するステップと、
を含む方法に関する。
【0070】
本発明によると、前記方法は、カレントブロックの少なくとも1つの変換済み残余係数を表わす少なくとも1つの特性を計算するステップと、前記少なくとも1つの計算された特性に結び付けられた変換の初期識別データを決定するステップと、決定された初期データから少なくとも適用された逆変換の識別子を再構築するステップとを含む。
【0071】
このような方法は、エンコーダについて以上で説明した変換済み残余信号の特性の計算ステップおよび変換の初期識別データの決定ステップを再現する。このために、この方法では、利用可能な情報すなわちビットストリームから抽出される情報、例えばカレントブロックの量子化されたまたはされていない変換済み残余信号、メモリ内に予め記憶されカレントブロックについてエンコーダと同じサブリストを決定できるようにする情報および規則が、活用される。
【0072】
その後、少なくともこのサブリストの知識からカレントブロックに対してエンコーダが適用した変換の識別子が再構築される。サブリストが多くとも1つの要素しか有していない場合、適用された変換の識別子を再構築するのに、初期識別データで十分であり得る。データDIによって表わされる変換を系統的に適用するように配置された1つのタイプのデコーダを考慮することができる。
【0073】
本発明の一態様によると、該方法は、決定された識別用データに相補的なデータのデコーディングステップを含む。
【0074】
また、このような相補的シグナリングを活用するように配置された別のタイプのデコーダを考慮することもできる。この相補的データのデコーディングによって、有利にも変換サブリスト内に格納された情報が明示される。この情報は詳細には、適用された変換がデータD1によって表わされたサブリスト内に正に存在するか否かを、デコーダに標示することができる。
【0075】
本発明の別の態様によると、相補的データは、決定されたサブリスト内での使用された変換の位置指数を含む。
【0076】
エンコーダによって適用された変換がサブリスト内に含まれている場合、このサブリストが2つ以上の要素を含むならば、シグナリングは、変換の位置を標示するということになる。さらに別の態様によると、相補的データは、エスケープコードおよび適用された変換の識別子を含む。
【0077】
エンコーダによりカレントブロックに適用された変換がサブリスト内に含まれていない場合、変換を完全にシグナリングする必要がある。
【0078】
異なる実施形態において以上で説明した方法は、有利には本発明に係るデジタル画像のデコーディング装置により実施される。このような装置は、カレントブロックと呼ばれるブロックのために実施され得る、少なくとも以下の、
− 先に処理された少なくとも1つのブロックからカレントブロックを予測するユニットと、
− ビットストリームから抽出された変換済み残余ブロックの係数のコーディングされた値をデコーディングするユニットと、
− 1つの逆変換を変換済み残余ブロックに適用することによって残余ブロックを得るユニットであって、前記逆変換が既定の逆変換のリストに属しているユニットと、
− 残余ブロックおよびカレントブロックの予測からデコーディングされたブロックを再構築するユニットと、
を含む。
【0079】
本発明によると、このような装置は、カレントブロックの少なくとも1つの変換済み残余係数を表わす少なくとも1つの特性を計算するユニットと、前記少なくとも1つの計算された特性に結び付けられた変換の初期識別データを決定するステップとを含み、少なくとも決定された初期データから適用すべき逆変換の識別子を再構築するステップとを含む。
【0080】
当然のことながら、本発明に係るデコーディング装置は、デコーディング方法について以上で説明した実施形態全体を独立した形でまたは組み合わせた形で実施するように配置され得る。
【0081】
詳細には、本発明の一態様によると、この装置は、決定された初期データに相補的なデータをデコーディングするユニットを含み、再構築ユニットは、初期データおよび前記相補的データからカレントブロックに適用すべき逆変換の識別子を再構築することができる。
【0082】
本発明はさらに、デジタル画像を表わすコーディングされたデータを含みかつビットストリームを搬送する信号において、前記デジタル画像が、規定の順序で処理された画素ブロックに分割されており、カレントブロックの値が、複数の既定のモードの中から選択された予測モードにしたがって先に処理された少なくとも1つのブロックの値から予測され、残余ブロックの値は、カレントブロックのオリジナルの値から予測値を減算することによって計算され、変換済み残余ブロックが、残余ブロックの画素に対し変換を適用することによって得られ、前記変換済み残余ブロックは係数を含み、変換は既定の変換リストに属している、信号に関する。
【0083】
本発明によると、このような信号は、変換の初期識別データからカレント残余ブロックの値に適用すべき逆変換の識別子を再構築するために活用されることを目的とする、適用された変換を表すコーディングされた相補的データを含み、前記初期データは、前記リストの少なくとも1つの変換のサブリストを表わし、カレント変換済み残余ブロックの少なくとも1つの値の少なくとも1つの特性に結び付けられている。
【0084】
本発明は同様に、異なる実施形態で以上に説明されてきた、本発明に係るデジタル画像のコーディング装置および本発明に係るデジタル画像のデコーディング装置を含むコンピュータ端末にも関する。
【0085】
本発明はさらに、プログラムがプロセッサにより実行される場合に、前述のようなデジタル画像のコーディング方法のステップを実施するための命令を含むコンピュータプログラムにも関する。
【0086】
本発明はまた、プログラムがプロセッサにより実行される場合に、前述のようなデジタル画像のデコーディング方法のステップを実施するための命令を含むコンピュータプログラムにも関する。
【0087】
これらのプログラムは、いかなるプログラミング言語でも使用することができる。これらのプログラムは、通信ネットワークからダウンロードされ得かつ/またはコンピュータ可読媒体上に記録可能である。
【0088】
最後に本発明は、上述のような、コーディング方法を実施するコンピュータプログラムおよびデコーディング方法を実施するコンピュータプログラムをそれぞれ記憶する、場合によって取外し可能な、本発明に係るデジタル画像のコーディング装置およびデジタル画像のデコーディング装置に組込まれたまたは組込まれていない、プロセッサ可読記憶媒体に関する。
【0089】
本発明の他の利点および特徴は、非限定的で単なる例示用実施例として示された本発明の特定の実施形態についての以下の説明および添付図面を読み取ることによって、より明確になるものである。
【発明を実施するための形態】
【0091】
本発明の一般的原理は、特別な変換のサブリストの形の、かつカレントブロックの変換済み残余信号に固有の特性に応じたカレントブロックに適用された、変換の予測、ならびに予測されたサブリストから適用された変換の最小限のシグナリングに基づいている。
【0092】
図1に関係してすでに提示されたもののような、Kを非ゼロの整数とした一続きのK個の画像I
1、I
2...I
Kで構成されたオリジナルの映像を考慮する。画像はエンコーダによりエンコーディングされ、コーディングされたデータは、通信ネットワークを介して、デコーダに伝送されるビットストリームTB内、または例えばハードディスク上に記憶されるための圧縮ファイルFC内に挿入される。デコーダは、エンコーダおよびデコーダが認識済の順序、例えば時間的順序I
1、次にI
2...、次にIKといった順序でコーディングされ次にデコーダによって受信されデコーディングされるデータを抽出するが、この順序は実施形態によって異なるものであり得る。
【0093】
図4との関係において、ここで、本発明の一実施形態に係るコーディング方法のステップを考慮する。ステップT0〜T6は、
図2に関連してすでに説明したステップE0〜E6と類似である。
【0094】
画像I
Kは、例えば64×64画素に等しいサイズのブロックCTUにカットされる。
【0095】
ステップT0の間に、カレントブロックcと呼ばれる処理すべきブロックを選択する。例えばこれは、CTU(英語の「Coding Tree Unit」の略)ブロックのパーティショニングによって得られた、MおよびNを非ゼロの整数としてM×Nの寸法を有する方形または矩形のCU(英語の「Coding Unit」の略)ブロックである。
【0096】
ステップT1の間に、ブロックcの予測ステップが行なわれる。先行技術に係るこのオペレーションは、コーディング(イントラコーディング)中に画像に由来する画素から実施されるか、またはエンコーディング(インターコーディング)オペレーションによってすでに処理された画像に基づいて行なわれる。予測されたブロックPrが得られる。
【0097】
ステップT2の間に、画素ブロックが、先のオペレーション中に予測されたブロックから画素毎に減算される。残余画素ブロックRが得られる。
【0098】
ステップT3の間に、考慮された予測モードについて、ブロックのサイズおよび考えられる変換を識別する。考えられる変換とは、Tを例えば32に等しい非ゼロの整数として、予め確立された形でエンコーダのメモリから入手可能な、複数T個の変換を意味する。例えば、この複数の変換は、変換の順序付けされたまたはされていない既定のリストLの形でメモリ内に記憶されている。ここで、これらの変換が既定のものまたは適応的なものであり得るということを指摘しておく。
【0099】
ステップT4の間に、識別された変換Tr
iについて、iを0〜T−1の非ゼロの整数として、残余信号の変換が行なわれる。変換済み残余信号RT
iが得られる。
【0100】
T5では、技術的現状において公知のように、これらの係数は、一次元ベクトルRQ[j]を構成するように既定の順序で走査されるが、ここでjという指数は、0からNb−1まで変動し、ここでNbはカレントブロックc内の画素数である。指数jは、係数RQ[j]の周波数と呼ばれる。従来、これらの係数は、例えば固定画像コーディング規格JPEGから公知であるジグザグスキャニングに沿って、周波数値の包括的漸増または漸減順で、走査される。このスキャニングモード(英語で「scanning」)はまた、適用された変換にも左右され得る。スキャニングモードは必然的にベクトルRQ内の変換済み係数の最終的順序に影響を及ぼすことから、以下では、リストL内の識別された変換Tr
iが、特定のスキャニングモードに結び付けられるものとみなす。換言すると、別のスキャニングモードに結び付けられた同じ変換は、リストL内の別の変換識別子が割当てられ、このため全く異なる変換とみなされることになる。
【0101】
ステップT6の間に、変換済みデータは、当業者にとっては公知のスカラーまたはベクトル量子化という所与の量子化方法にしたがって量子化され、量子化パラメータQPが、このステップ中に実施される近似の精度を調整する。
【0102】
ステップT7の間に、量子化された変換済み残余信号の少なくとも1つの特性を計算する。
【0103】
T8では、計算された1つ以上の特性に結び付けられた少なくとも1つの変換を表わす変換の初期データを決定する。この初期データDIは、有利には、リストLの変換サブリストSLを意味する。このサブリストは1つ以上の変換を含む。
【0104】
ステップT7およびT8の複数の実施形態が企図されており、これらについて以下で詳述する。
【0105】
本発明の第1の実施形態によると、量子化された残余データの非ゼロの最後の係数の位置の決定を行なう。その後、変換の初期識別データDIを、例えば最後の有意な係数の位置などの計算された特性に対応させる。この初期識別データは、計算された特性の値または計算された値を含む値範囲に結び付けられた変換のサブリストの識別を可能にする。有利には、サブリストは、1つの表内でメモリに記憶される。サブリストは1つ以上の変換を含むことができる。
【0106】
本発明の第2の実施形態によると、量子化された残余データ内の有意な係数の位置の決定を行なう。このために、各々の有意な残余係数(すなわち異なる非ゼロ)については「1」を、そしてゼロ係数については「0」を含むワードを構築する。例えば、値[19、12、−4、0、18、3、0、−1、0、0]で構成された残余には、ワード「1110110100」が割当てられる。メモリに記憶された表を用いて、変換の初期識別データDIが決定される。所与のコードワードについて、こうして、利用可能な最も信憑性の高い変換のサブリストが得られる。
【0107】
第3の実施形態によると、量子化された残余値の絶対値または2乗の和の特性データの計算を行なう。ファンクショナルな対応関係または表を用いて、この特性データから、変換の初期識別データDIを決定する。例えば、考慮対象の閾値を超えたエネルギーを搬送する残余は、1つ以上の変換を識別する。
【0108】
第4の実施形態によると、量子化された残余値の2乗または絶対値の推移の特性値の計算を行なう。この特性値は、連続する値(絶対値または二乗値)の絶対値差を合計すること、または、増大指標(2つの連続する値が絶対値で増大する場合には1、そうでなければ0)を合計することによって、得ることができる。得られた特性値から、表を用いて、変換の初期識別データを得る。この表は、計算された増大指標の値にしたがって1つ以上の変換を標示する。
【0109】
第5の実施形態によると、量子化された残余値の確率密度の特性を推定する。この確率密度は、Florin Ghidoによる、「Near Optimal,Low Complexity Arithmetic Coding for Generalized Gaussian Sources」という題の2005年5月のAES刊行物中で提示されているように、量子化された残余値の絶対値和と2乗和の間の比率関数によって得ることができる。ひとたび確率密度が推定されたならば、対応表により、変換の初期識別データDIをそれに結び付けることができる。例えば、所与の確
率密度に対して、所与の1つ以上の変換が結び付けられる。
【0110】
変換の初期識別データDIはこうして、各々特定の1つの変換を指す1つ以上の識別子または指数を含むことができる。有利には、これらの変換識別子は、エンコーダおよびデコーダが利用できる変換の初期リストLのサブリストSLを形成する。
【0111】
変換サブリストを演繹することを可能にする表が、例えば画像のコーディング方法の前の学習段階において得られる。例えば、画像ブロックの変換済み残余信号の特性値に応じて、エンコーダが利用可能なリストの各変換のエンコーダによる選択統計を計算するために、テストシーケンス全体が使用される。これらの結果から、1つのブロックの量子化された残余信号の1つ以上の特性に応じて1つの変換の選択確率を評価する。
【0112】
従来通り、各変換について、この変換を経験した(connaissant)所与の特性の確率を測定する。数学的には、これは条件付き確率によって表現される。
図5に関して、一例として、全く異なるサイズ8×8の3つの変換について第1の変換済み係数のエネルギー確率の推定値を提示する。1つのブロックの各係数について、このエネルギーに結び付けられた同時確率密度を示した。この推定に基づいて、ベイズの定理により容易にエネルギー値から、そのブロックが各変換から計算されたものである確率を決定することができる。こうして、係数のエネルギーが9に相当するならば、使用される変換がT2である確率は極めて高く、それが変換T1である確率はやや低く、変換T0が利用された確率は極めて低い。したがって、エンコーダのレベルで、一例として、次の3つの間隔を定義する2つの閾値に、この確率関数を要約することができる。すなわち、エネルギーが11.4未満である場合、T2およびT1の確率が最も高く、11.40〜18.10である場合T1の確率が高く、18.10超である場合、T1およびT0が最も確率の高い変換である。このようにして、残余信号について計算された特性が1つの変換の確率についての情報を提供し、変換の完全リストよりも短い確率の高い変換のサブリストを構成することを可能にすることが分かる。こうして、先の3つの間隔との関係におけるブロックのエネルギー値に応じて、変換(T2、T1)、(T1)、(T1、T0)を含む3つのサブリストSL1、SL2およびSL3を定義する。コーディングシステムの構想に先立つ段階において確立されるサブリスト、特性、間隔の結び付きは、エンコーダおよびデコーダにより認識されている。
【0113】
図6に関して、カレントブロックの残余信号の全く異なる2つの特性と3つの変換のリストLの組合せからの変換サブリストの構成例を提示する。予備学習プロセスにおいて、変換済み残余信号のエネルギー特性および最後の有意な係数の位置に応じてコーダによって選択された変換値を測定する。この学習は、残余映像信号の大集合(grand ensemble)について実施される。
図6では、第1の軸に沿って第1の特性が、第2の軸に沿って第2の特性が表わされており、1つのブロックの変換済み残余信号の特性値対に対応しこのブロックについて選択された変換を表わす点が、これら2つの軸の平面内に置かれている。これらの点を、楕円形状で具体化された大まかなゾーンの形に簡潔にまとめることができるということが分かる。これらの楕円は、1つの変換のために選択された点の大部分を包含し、例えば、点の90%を包括できる。
【0114】
これに基づいて、1つの変換要素を含むサブリストの形成を可能にする2つの閾値s1、s2が決定される。
【0115】
決定されたこれらの閾値は、この学習が終わった時点で認識済みとなり、エンコーダとデコーダに同時に記憶される。こうして、1つの要素のサブリストは、以下のように構成される、
− 残余信号から、C1と呼称されるエネルギー特性を計算する、
− 残余信号から、C2と呼称される最後の有意な係数の位置を決定する、
− C1>s1でC2>s2である場合には、サブリストは要素T0を含む、
− C1>s1でC2<s2である場合には、サブリストは要素T2を含む、
− C1<s1である場合には、サブリストは変換T1を含む。
【0116】
こうして、3つの変換のリストを、これら2つの基準およびデコーダおよびコーダにとって公知の2つの閾値を用いて、唯一の変換のサブリストに縮小することができる。
【0117】
代替的には、リストLの所与の変換について、1つのブロックの変換済み残余信号の1つ以上の特性値に応じてスコアを予め設定することもできる。このスコアは有利には、前述の同時確率密度の推定から設定される。この場合、このまたはこれらの特性値に結び付けられた変換の初期データDIの決定ステップT7は、設定されたスコアに応じて、カレントブロックについての変換のサブリストSLを動的に構成する。
【0118】
例えば、サブリストSLは、カレントブロックについて確立されたスコアが既定の閾値よりも大きい変換で構成される。代替的には、サブリストは、最高のスコアを得たNB−SL個の変換に対応する非ゼロ整数である既定の数NB−SLの変換で構成される。
【0119】
リストSL内に入るために選択された変換は、有利には漸減的スコアの値にしたがって順序付けされる。デコーダが、これらのスコアの知識、適用すべき閾値または選択すべき変換の数NB−SL、およびサブリスト内で変換を順序付けする方法をエンコーダと共有する必要がある、ということが分かる。このようにして、デコーダはエンコーダと同じサブリストSLを構成することになる。
【0120】
本発明の別の実施形態によると、この方法は予め、すでに処理された少なくとも1つのブロックに適用される変換の識別子TR−Vを得る。すでに処理されたブロックは、例えばカレントブロックの予測モードに応じて選択される。これらのブロックは、現在の画像内でカレントブロックに隣接するものであり得、または異なる瞬間に位置する他の画像に属する可能性もある。現在の画像内において、これらの隣接ブロックは、カレントブロックの直ぐ上、左、または左上に位置するブロックであり得る。
図7に関して、一例として、カレントブロックCに隣接するブロックBa、BbおよびBcを表現した。
【0121】
インターコーディングの場合、これは例えば、カレントブロックと同じ空間的位置に位置設定された、または運動ベクトルは除いて「同時位置設定された(co−localises)」ブロックである。すでに処理されたこれらのブロックは、有利には、カレントブロックと同じ予測モードを共有する場合に選定される。カレントブロックがイントラモードにある場合には、選定されたすでに処理済みのブロックは、同じイントラ予測モードを共有する最も近いブロックとなる。
【0122】
有利には、NB−DTを非ゼロの整数として、既定の数NB−DT個のすでに処理されたブロックを考慮する。例えば、NB−DTは3に等しい。このようにして得られたすでに処理されたブロックの1つ以上の変換識別子は、すでに説明した実施形態の1つにしたがってカレントブロックの係数の値の1つ以上の特性にすでに結び付けられたサブリストSLから優先的変換の新規のサブリストSL’を構成するために活用される。
【0123】
この新規サブリストSL’を構成する複数の方法が企図されている。
【0124】
初期サブリストSL’に、考慮対象のすでに処理されたブロックに適用された変換の識別子を連結することにより、この初期サブリストを補完することができる。
【0125】
例えば、3に等しい既定の数のすでに処理されたブロックに由来する変換識別子を活用することを決定することができる。
【0126】
図7に関連して、考慮対象のすでに処理されたブロックBa、Bb、Bcが同じ変換を共有する場合(TR−v=TR−va=tr−vb=tr−vc)には、このリスト内にすでに含まれていないならば、サブリストSLに共通のこの変換の識別子(TR−v)がつけ加えられる。例えば、サブリストの終りにこれを挿入するよう取り決めることができる。
【0127】
代替的には、すでに処理されたブロックに由来する既定の数NB−DTの変換をサブリストSL’内に挿入することを決定することができる。この場合、例えば、選定された唯一の識別子(TR−v)を、変換の初期リストL内でこの識別子の直前および直後の変換識別子によって補完することができる。これは、直上(TR−v
1=TR−v+1)および直下(TR−v
2=TR−v−1)の値である。この場合、エンコーダおよびデコーダが利用できる変換のリストLは、変換の近接性または類似性基準にしたがって順序付けされ、こうして、TR−v番目の変換が1つのブロックに十分適応された場合にはその隣接変換TR−v−1およびTR−v+1もまた比較的うまく適応されるようになっているとみなされることが分かる。
【0128】
NB−DT個の考慮対象のすでに処理されたブロックが全く異なる変換の適用を受けた場合、多数決(vote majoritaire)による採択を用いて、すでに処理されたブロック内で最も代表的な変換の識別子をサブリストSL’の中に挿入することができる。追加すべき既定数の変換識別子を補完し達成するために、以上で計算されたリストL中の選択された変換の隣接する値TR−v1およびTR−v2を挿入するのが有利である。
【0129】
代替案は、すでにリスト内に記されていないかぎりにおいて、エンコーダおよびデコーダが共有するすでに処理されたブロックのスキャニング順序にしたがって、例えばサブリストSLの終りに、考慮対象のすでに処理されたブロックに対して適用された全ての変換の識別子を挿入することからなる。
【0130】
例えば、2つの全く異なる変換の適用を受けたすでに処理された3つの隣接するブロックを考慮する。例えば、サブリストSLの終りの第1および第2の位置に、これらの変換の識別子v0およびv1を挿入し、例えばカレントブロックに最も近い隣接ブロック(より上のまたは異なる画像に属するブロックに対して、直ぐ左のブロックが優先される)から計算された変換の識別子の値v2をつけ加える。一変形形態によると、初期サブリストSLとすでに処理された隣接するブロックに適用された変換のサブリストの交わりを実現する。この交差(croisement)は、最終的サブリストのサイズ、ひいてはカレントブロックに適用された変換のシグナリングを削減できるようにする。この交差は、サブリスト内に挿入された変換の発生確率を考慮に入れて実現することができる。
【0131】
T9において、量子化されたデータは、例えばハフマンコーディング、算術コーディング、さらにはHEVC規格中で用いられているようなCABACコーディングなどの公知のエントロピーコーディング技術によってエンコーディングされる。
【0132】
必要な場合、ステップT10の間に、変換の初期識別データDIの相補的データがエンコーディングされる。
【0133】
本発明の特定の実施形態においては、このステップは実施されない。変換の初期データが1つの変換識別子しか含まない場合および/または、予測された変換とは異なる変換をカレントブロックに適用したことをデコーダにシグナリングしないと決定された場合がそれである。ここでは、初期データにより識別された変換を専ら適用するためにデコーダが配置されている単純な事例を考えていることが理解される。
【0134】
この実施形態の利点は、実施が簡単であり、シグナリングを必要としないという点にある。
【0135】
カレントブロックの一定の特性に結び付けられた変換のサブリストが2つ以上の要素を含むか、または場合によってデコーダに対し、適用された変換が予測されたサブリストに属さないことをシグナリングすることが望まれる他の実施形態については、ステップT10は確かに実施される。
【0136】
したがってT10において、カレントブロックに適用された変換Tr
iがサブリストSLに属するかどうかを確認することから始める。この場合、そしてサブリストSLが1つの要素しか含まない場合、適用された変換は予測された変換に対応する。有利には、例えば「フラグ」アプローチなどを用いて、初期データが、適用された変換の適正な予測を構成することが、デコーダに対してシグナリングされる。この「フラグ」アプローチは、初期データD1によって標示された変換が考慮対象の変換であるか(フラグ=0)否か(フラグ=1)を標示する相補的データDCをエントロピー二進コードまたは直接的コードによって従来通りにコーディングすることからなる。
【0137】
フラグの値を1にした場合には、コード(エントロピーまたは非エントロピー)を用いて、元のリストL内の考慮対象の変換の例えば指数の形での識別子を標示するコードを、相補的情報に加える。
【0138】
1つの利点は、カレントブロックに適用された変換を正しく予測した場合、変換の識別子を明示的に伝送する技術的現状とは反対に、この変換をシグナリングするために1つのビットしか使用されない、という点にある。
【0139】
サブリストSLが複数の要素を含む場合、変換の初期識別データDIは、エンコーダによって適用された変換をデコーダが決定できるようにするのに十分なものではない。
【0140】
本発明の別の実施形態によると、T10において、サブリストSL、SL’内のカレントブロックに適用された変換の位置指数POSを含む相補的データDCがエンコーディングされる。したがって、コーダおよびデコーダがサブリスト内の変換の位置の知識を共有するような形でサブリストが順序付けされるという仮説を立てる。
【0141】
一例として、T8で決定されたサブリストは変換{1、4、7}を含むものとする。すなわち、適用された変換が変換4である場合、「01」で二進コーディングされた位置指標POS=1を発出する。
【0142】
利点は、カレントブロックに適用された変換を正しく予測したならば、完全な識別子を明示的に伝送する技術的現状とは反対に、この変換をビットストリーム内でシグナリングするためにわずかなビットしか使用されない、という点にある。
【0143】
適用された変換がサブリストSL、SL’に属さない場合、相補的データDCは、エスケープコードとそれに続く適用された変換の完全な識別子とを含む。このシグナリングが必然的にサブリスト内の位置指数POSよりもコスト高であることが分かる。しかしながら、コンペティションによる変換の選択モードは、この追加コストにも関わらず、適用された変換が最良のレート歪み妥協点をもたらすものであることを保証する。
【0144】
例えば、考慮対象の変換が、決定されたサブリストに属さない変換6である場合には、例えば「11」に等しいエスケープコードを発出し、二進形態で6を表現する例えば0110など、変換6を識別するコードを元のリストL内につけ加える。位置指数の使用されていないコードの組合せをエスケープコードに割当てることができる。例えば、二進法で4を表現するコード0100を使用することができる。その目的は、特定のコードの長さを短縮し、こうしてレートを削減することにある。
【0145】
有利には、次に、デコーダに伝送すべきビットストリームのサイズを最小限に抑えるように、当業者にとって周知である二進コーディング技術により(算術的またはハフマン固定長コード)、相補的データDCをエンコーディングする。
【0146】
ステップT11の間に、例えば量子化オペレータによって導入される、それ自体古典的な二乗誤差測定(mesure d’erreur quadratique)にしたがって、歪みのカレント変換Tr
iについての評価が行なわれる。
【0147】
有利には、この評価ステップは、次のことをも含む、
− 変換され量子化された残余を伝送するために必要とされるビット数の評価、
− エンコーディングT10の結果からの変換の指数のシグナリングに必要なビット数の評価。
【0148】
T12では、カレント変換Tr
iがリストL中最後のものであるかどうかをテストする。最後のものでない場合、指数iを1だけ増分し、ステップT3〜T11を反復する。
【0149】
変換Tr
iがリスト中最後のものである場合、発出すべき構成を選択するステップT13へと移行する。構成というのは、エントロピー的に量子化されコーディングされた残余/相補的コードによる変換の指数のシグナリングの集合を意味する。この選択を行なうために、公知の技術にしたがって、対応する歪みおよび残余により搬送されるレート/相補的シグナリング集合を加重する各変換についてのラグランジュの構築(construction d’un lagrangien)を行なう。選択では、最小のラグランジュを提示する変換が選定される。
【0150】
ステップT14では、選択された残余、およびカレントブロックに適用された変換に結び付けられたエンコーディングされた相補的データが、ビットストリーム内に挿入される。
【0151】
ビットストリームTBは次に、信号の形でデコーダに向けて発出され得る。
【0152】
図8Aおよび8Bに関連して、本発明の一実施形態に係るブロックcに適用された変換のシグナリングの実施例を提示する。
図8Aに関連して、ブロックcに適用された変換Tr
iが決定されたサブリストSL、SL’内に含まれている、第1の実施例を考慮する。これは、ブロックcのために決定されたサブリストSL、SL’の第1の位置を占有する変換Tr
1である。本発明によると、シグナリングは、サブリスト内のTR1の位置指数POSを表わす相補的データDCに限定される。例えば、3要素のこのサブリストについては、この指数は、値01により2ビット上でコーディングされ得る。当然のことながら、すでに言及したように、当業者にとって公知のハフマンコードまたは別のエントロピーコーダなどの可変的長さのコードを選択することも可能である。
【0153】
図8Bに関連して、ブロックcに適用された変換Tr
iが決定されたサブリストSL、SL’内に含まれない第2の実施例を考慮する。換言すると、変換の予測は正しくない。例えば、適用された変換はTr
6である。この場合、シグナリングされた相補的データは、例えば値11をとるエスケープコードとそれに続く変換Tr
6の完全な識別子のコードを含む。
【0154】
先に説明したように、決定されたサブリストSL、SL’に応じた適用された変換の識別子のシグナリングは、圧縮性能を改善するためにエントロピータイプのエンコーディングに付されてよい。
【0155】
本発明に係るコーディング方法によって生成されたビットストリームTBは、例えば、遠隔通信ネットワークを介してデコーダに信号の形で伝送される。この信号は、デコーダにより受信される。
【0156】
ビットストリームTBが、本発明に係るデコーディング方法を実施するデコーディング装置により受信されたと仮定する。このデコーディング方法について、以下で、
図9に関連して説明する。
【0157】
D0では、カレントブロックC’として、処理すべき第1のブロックを選択することから始める。例えば、これは、(辞書式順序で)第1のブロックである。このブロックは、M×N個の画素を含み、ここでMおよびNは非ゼロの整数である。
【0158】
エンコーディング方法について説明した通り、考慮対象のブロックC’は、ブロックCTUまたはブロックCTUのカッティングによって得られるサブブロックCU、さらにはカレントブロックからカレントブロックの予測を減算することによって得られる残余ブロックまたはサブブロックであり得る。
【0159】
ステップD1の間に、カレントブロックC’に関係するコーディングされたデータが読み取られ、デコーディングされる。コーディングされたデータは、例えば利用された予測モード、またはカレントブロックに適用された変換の識別子のシグナリングおよびカレントブロックの量子化された残余係数の振幅および正負符号に関する値などの、コーディングパラメータを含む。
【0160】
決定された予測モードが、エンコーダにより予測が行なわれたことを標示する場合、カレントブロックはD2で、すでに処理されたブロックから決定された予測モードにしたがって予測される。予測されたブロックPr’が得られる。
【0161】
ステップD3の間に、値RQ’のベクトルの形で、カレントブロックの残余量子化済み値を表わす読み取られたデータ(係数の値および正負符号)をデコーディングする。これはエンコーディング方法に関して先に説明したエントロピーコーディングのオペレーションの逆のオペレーションである、ということが分かる。
【0162】
ステップD4の間に、デコーディングされた量子化済み値の少なくとも1つの特性の計算を行なう。エンコーダに対して実施されたものに適合させて実施されるこの計算は、伝送された量子化済み残余に基づいた計算基準を考慮に入れる。
【0163】
D5では、1つ以上の計算された特性の値に結び付けられた変換のサブリストSL、SL’を決定する。
【0164】
これらのステップD4およびD5の複数の実施形態が企図されている。これらは、コーディング方法のステップT6およびT7について
図4に関連してすでに説明したものに対応する。これらの実施形態は互いに組み合わせることができる。
・ 第1の実施形態においては、カレントブロックの量子化されたデータの最後の非ゼロの係数の位置の決定を行なう。この位置から、メモリM1に記憶された表を用いて、1つ以上の変換を含む変換の初期識別データDIを対応させる。代替的に、計算された特性は、有意な係数の数に対応する。一例を挙げると、この場合表は、所与の有意な係数の閾値数に対し、1つ以上の既定変換を結び付けることができる。
・ 第2の実施形態においては、カレントブロックの量子化されたデータ内の有意な係数の位置の決定を行なう。このために、各々の有意な係数については「1」(すなわち異なる非ゼロ)そしてゼロ係数については「0」を含むワードを構築する。例えば、値[19、12、−4、0、18、3、0、−1、0、0]で構成された信号には、ワード「1110110100」が割当てられる。メモリに記憶された表を用いて、変換の初期識別データが決定される。所与のコードワードが、利用可能な最も信憑性の高い変換のサブリストSLを識別する。
・ 第3の実施形態において、係数の量子化された値の絶対値または二乗の和の特性データの計算を行なう。例えば特性の値の間隔と、予め設定された変換の初期識別データDIの間の、ファンクショナルな対応関係または表を用いて、この特性データから、この特性の値に十分適応した変換のサブリストSLに対応する変換の初期識別データD1を決定する。件の特性が、カレントブロックC’の係数により搬送されるエネルギーを表わしているということが指摘される。例えば、考慮対象の閾値を超えたエネルギーを搬送する残余は、サブリストSL1を識別し、一方、エネルギーがこの閾値より小さい残余は、別のサブリストSL2を識別する。
・ 第4の実施形態においては、量子化された値の二乗または絶対値の推移の特性値の計算を行なう。この特性値は、連続する値(絶対値または二乗値)の絶対値差を合計すること、または、増大指標(2つの連続する値が絶対値で増大する場合には1、そうでなければ0)を合計することによって、得ることができる。得られた特性値から、表を用いて、十分適応した変換のサブリストに対応する変換の初期識別データを得る。
・ 第5の実施形態においては、量子化された値の確率密度の特性を推定する。この確率密度は、Florin Ghidoによる「Near Optimal,Low Complexity Arithmetic Coding for Generalized Gaussian Sources」という題の2005年5月のAES刊行物中で提示されているように、量子化された値の絶対値和と二乗和の間の比率関数によって得ることができる。ひとたび確率密度が推定されたならば、対応表により、既定のサブリストを表す変換の初期識別データをそれに結び付けることができる。例えば、所与の確率密度の値に対して、所与の変換が結び付けられる。
【0165】
これらの実施形態は、識別計算の複雑さと変換との識別精度の異なる妥協点をもたらす。
【0166】
有利には、サブリストの1つ以上の変換にアクセスできるようにする表は、予備ステップにおいてデコーダに提供される。
【0167】
本発明の別の実施形態によると、変換の初期データD1またはサブリストSLの決定ステップD5は、ブロックの残余データの特性の一定の値についてエンコーダおよびデコーダが利用できる変換のリストLのうちの各変換に対し予め結び付けられたスコアから、コーディング方法について先に説明したものと類似の方法で、動的に実施される。これらのスコアは、デコーダのメモリ内に、例えば、処理すべきブロックの残余信号の1つ以上の特性の値または値範囲について、1つの変換に1つのスコアを結び付ける表の中に、記憶されている。
【0168】
さらに別の実施形態によると、ステップD5はさらに、すでに処理されたブロックに由来する既定の数NB−DTの変換のサブリストSL’内への挿入を含む。このとき、これは、エンコーディングの方法と類似の方法で行なわれ、最終的サブリストSL’がデコーダおよびエンコーダにおいて同一となるようになっている。
【0170】
第1の事例によると、D5で決定されたサブリストは各々、唯一の変換識別子しか含まず、デコーダは相補的シグナリングを待たない。ステップD7の間に、デコーダは、D5で決定された初期データDIにより与えられた唯一の情報から、適用すべき逆変換の識別子を再構築する。
【0171】
第2の事例によると、デコーダは、ビットストリーム内に適用すべき変換の相補的シグナリングを探しに行くように構成されている。ステップD6の間に、デコーダは、決定された初期データDIに相補的なデータDCをデコーディングする。
【0172】
決定されたサブリストSLは、1つ以上の要素を含むことができる。
【0173】
このサブリストが1つの要素しか含まない場合、相補的データDCは、変換の予測が正しいかどうか、すなわち決定されたサブリストの変換をカレントブロックに対し適用しなければならないかどうかを標示する。
【0174】
カレントブロックのための変換のサブリストが複数の要素を含む場合、デコーダは、このサブリストが含む変換の順序および数、ならびにビットストリーム内でエンコーダが相補的データをシグナリングした方法を認識している。
【0175】
デコーダは、D6で、ビットストリームTB内で読み取られた相補的データDCをデコーディングし、このデータが、サブリスト内の適用すべき変換の位置指数、または、エンコーダにより適用された変換が決定されたサブリストに属さないことを標示することを目的とするエスケープコードを含むかどうかを決定する。
【0176】
相補的データDCは、エスケープコードを含む場合、エスケープコードに続いて置かれた、適用された変換の完全な識別子も含んでいる。
【0177】
変換の初期識別子D1が、1つの値にしか結び付けられていない場合には、相補的データDCは、初期識別子により選定された選択肢が正しいかどうかを標示する。
【0178】
変換の初期識別子が複数の値を含む場合には、相補的識別子は、考えられる値の中から使用すべき変換を標示する。識別子は、エンコーダによって選定された選択肢が、変換の初期識別子によって標示された値に含まれていないかどうかを標示することができる。このため、相補的識別子は、エンコーダによって選択された変換の指数を特定する二進コード(エントロピー形態または非エントロピー形態のコード)を含む。
【0179】
一例として、考慮対象の予測モードの変換(1、3、9)が信憑性の高いものであるとみなす値(1、3、9)、を含む変換の初期識別子を考慮する。2ビット上でコーディングされた相補的識別子は、値「00」によって変換1を、値「01」によって変換3を、そして「10」によって変換9を標示する。相補的識別子が値「11」を有する場合には、この相補的識別子は、初期識別子が指す3つを除いて、考慮対象の予測モードのためにセットアップされたものの中から選定された変換を特定する相補的コードにより補完される。
【0180】
D8では、カレントブロックC’のデータが逆量子化される。
【0181】
D9では、
図4のステップT5の中で説明したカレントブロックのスキャニングとは逆のプロセスにしたがって、カレントブロック内での残余一次元ベクトルのデータの再組織(reorganisation)を行なう。
【0182】
ステップD10においては、D6で再構築された変換指数に対応する変換を、逆量子化されたデータに適用する。この変換は、エンコーダにおいて実施されるものと逆の変換に対応する。こうして、空間的ドメイン内の残余信号r’が得られる。
【0183】
ステップD11においては、得られたブロックr’からデコーディングされた画像の画素ブロックc’を再構築し、デコーディング中の画像IDにそれを組込む。ブロックc’は残余ブロックであることから、先に処理された基準画像から得られたカレントブロックの予測PD’をこのブロックにつけ加える。
【0184】
ステップD12の間に、先に定義したスキャニング順序を考慮に入れて、カレントブロックがデコーダを処理すべき最後のブロックであるかどうかをテストする。そうである場合には、デコーディング方法はその処理を終了している。そうでない場合には、後続するステップは後続するブロックの選択ステップD13であり、選択された後続ブロックについて、先に説明したデコーディングステップD1〜D12が反復される。
【0185】
説明されてきた本発明は、ソフトウェアおよび/またはハードウェアコンポーネントを用いて実施され得るということが指摘される。この観点において、本明細書中で使用される「モジュール」および「エンティティ」なる用語は、関係するモジュールまたはエンティティについて説明された1つ以上の機能を実施することのできるソフトウェアコンポーネントかまたはハードウェアコンポーネントか、さらには、ハードウェアおよび/またはソフトウェア構成要素のアセンブリに対応し得る。
【0186】
図10に関連して、本発明に係るデジタル画像のコーディング装置100の簡略化されたハードウェア構造の一実施例をここで提供する。装置100は、
図4に関連してその異なる実施形態において以上で説明してきた本発明に係るコーディング方法を実施する。
【0187】
例えば、装置100は、プロセッサμ1を備え、メモリ130内に記憶され本発明に係る方法を実施するコンピュータプログラムPg1 120によって制御される、処理ユニット110を含む。
【0188】
初期化時点で、コンピュータプログラムPg
1 120のコード命令は、例えば、処理ユニット110のプロセッサにより実行される前に、メモリRAM内にロードされる。処理ユニット110のプロセッサは、コンピュータプログラム120の命令にしたがって、先に説明した方法のステップを実施する。
【0189】
本発明のこの実施例において、装置100は少なくとも、カレントブロックのユニットPRED、カレントブロックから予測を減算することによるカレントブロックの残余の獲得ユニットRESを含む。
【0190】
装置はさらに、エンコーダが利用できる複数の変換をコンペティションさせるような形で、同じブロックのために複数回実施されるように配置された複数のユニットを含む。これは特に、例えばメモリ130などのメモリ内に例えば表の形で記憶されているエンコーダが利用できる変換のリストLから、カレントブロックcに対して適用すべき変換を識別するユニットID−TRANS、識別された変換を用いて、カレントブロックを変換済みブロックCに周波数変換するユニットTRANS、変換済みブロックを量子化するユニットQUANT、一次元ベクトルRQ’[j]を構成する形で既定の順序でスキャニングするユニットSCAN、量子化された一次元ベクトルをコーディングするユニットENC RQ、およびレート歪み基準にしたがって適用された変換Triを評価するユニットEVALである。本発明に係るコーディング装置はさらに、評価された変換についてユニットEVALによって得られた結果から、最良の変換を選択するユニットSELを含む。選択された変換からコーディングされたデータは、次にビットストリームTB内に挿入される。
【0191】
本発明によると、装置はさらに、カレントブロックの残余信号の少なくとも1つの特性を計算するユニットCALC、計算された少なくとも1つの特性に結び付けられた変換のサブリストの初期識別データを決定するユニットDET、および決定されたサブリストに対する適用された変換の帰属を確認するユニットを含む。任意には、装置は、初期識別データの相補的データのコーディングを含む選択された変換の識別子をエンコーディングするユニットENC TR−IDを含む。このユニットは、少なくとも決定された変換サブリストに対する適用された変換の帰属に応じて、必要な場合に実施されるように配置されている。例えば、変換サブリストSLを含む変換の初期識別データは、例えばメモリ130などのメモリまたはこのサブリストに向かうリンク内に、表の形で記憶される。
【0192】
これらのユニットは、処理ユニット110のプロセッサμ1により制御される。
【0193】
有利には、装置100を、ユーザー端末TUに組込むことができる。このとき、装置100は、遠隔通信ネットワークを介してビットストリームTBまたは圧縮ファイルFCをデコーディング装置に伝送する端末TUのデータ送受信モジュールE/Rと少なくとも協働するように配置される。
【0194】
図11に関連して、本発明に係るデコーディング装置の簡略化されたハードウェア構造の実施例を提示する。例えば、デコーディング装置200は、メモリ230内に記憶され、
図9に関連してその異なる実施形態において以上で説明した本発明に係るデコーディング方法を実施するコンピュータプログラムPg2 220によって制御され、かつプロセッサμ2を備える処理ユニット210を含む。
【0195】
初期化時点で、コンピュータプログラムPg2 220のコード命令は、例えば、処理ユニット210のプロセッサにより実行される前に、メモリRAM内にロードされる。処理ユニット210のプロセッサは、コンピュータプログラム220の命令にしたがって、先に説明した方法のステップを実施する。
【0196】
本発明のこの実施例において、装置200は、少なくともコーディングパラメータおよび量子化された残余係数値を含む、カレントブロックについてのビットストリーム内のコーディングされたデータを読み取るユニットGET、得られたデータから量子化された変換済みカレントブロックの係数をデコーディングするユニットDEC RES、デコーディングされた係数を逆量子化するユニットDEQUANT、カレントブロック内の残余一次元ベクトルのデータを再組織するユニットSCAN−1、変換済み残余カレントブロックを逆変換するユニットTRANS−1、残余からカレントブロックを再構築しブロックを予測するユニットRECONSTを含む。
【0197】
有利には、装置は、カレントブロックの量子化された残余信号の少なくとも1つの特性を計算するユニットCALC、および前記計算された少なくとも1つの特性に結び付けられた少なくとも1つの変換D1のサブリストの初期識別データを決定するユニットDETを含む。例えば、変換の初期識別データは、例えばメモリ230などのメモリ内に表の形で記憶されている変換のサブリストSLを含むか、またはこのサブリストのメモリに向かうリンクを含む。
【0198】
これら2つのユニットは、本発明に係るエンコーディング装置のユニットに類似している。本発明に係るデコーディング装置200はさらに、少なくとも初期データDIから、カレントブロックに適用された変換の識別子を再構築するユニットREC TR−IDを含む。本発明の一実施形態によると、装置200は、ビットストリーム内で読み取られた相補的データDCをデコーディングするユニットDEC DCをさらに含む。この相補的データは、
図9に関連して先に説明したように、変換サブリストの知識からカレントブロックに適用すべき逆変換の識別子を決定するために再構築ユニットREC TR−IDにより活用される。
【0199】
これらのユニットは、処理ユニット210のプロセッサμ2により制御されている。
【0200】
有利には、装置200を、ユーザー端末TU’に組込むことができる。このとき、装置200は、端末TU’の以下のモジュールと少なくとも協働するように配置される、
− 遠隔通信ネットワークからビットストリームTBまたは圧縮ファイルFCを受信するデータ送受信モジュールE/R、
− デコーディングされたデジタル画像またはデコーディングされた一連の画像をユーザーに対して再生する、端末スクリーンなどの画像再生装置DISP。
【0201】
有利には、ユーザー端末TU、TU’は、本発明に係るコーディング装置100およびデコーディング装置200を同時に組込むことができる。
【0202】
当然のことながら、以上で説明した実施形態は、全く限定的でない純粋に参考として示されており、当業者であれば本発明の枠から逸脱することなく多くの修正を容易にもたらすことができる。