【文献】
BUDAGAVI, Madhukar,IDCT pruning,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 5th Meeting: Geneva, CH, 16-23 March, 2011, [JCTVC-E386],JCTVC-E386 (version 4),2011年03月21日,pp. 1-6
(58)【調査した分野】(Int.Cl.,DB名)
少なくとも2つのサブベクトルが異なるサイズのものであることを特徴とする、請求項1〜3のいずれか1つに記載の少なくとも1つのデジタル画像のデコーディング方法。
入力ベクトルのサブベクトルの少なくとも1つが、奇数サイズのものであることを特徴とする、請求項1〜4のいずれか1つに記載の少なくとも1つのデジタル画像のデコーディング方法。
プロセッサによって実行された場合に、請求項1〜5のいずれか1つに記載の少なくとも1つのデジタル画像をデコーディングする方法を実施するための命令を含むコンピュータプログラム。
【背景技術】
【0006】
画像が画素ブロックに分割される従来のデジタル画像圧縮スキーマを考慮する。初期コーディングユニットを構成するコーディングすべき1つのカレントブロックは、概して、既定のカッティングモードにしたがって、可変的な数のサブブロックにカットされる。
図1に関連して、Jを非ゼロの整数として、デジタル画像シーケンスI
1、I
2、I
jを考慮する。画像I
jは、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 Unit」の略)と呼ばれる正方形または矩形のブロックに基づく規則的パーティショニングを提案する。パーティショニングはつねに、パーティショニングされていない初期コーディングユニットから行なわれ、最終パーティショニングは、このニュートラルベースから計算されシグナリングされる。
【0007】
各CUは、非排他的に予測、残余計算、変換、量子化およびエントロピーコーディングを含む一連のオペレーションからなるエンコーディングまたはデコーディングオペレーションを受ける。この一連のオペレーションは、先行技術から公知であり、
図3に関連して提示される。
【0008】
ステップE0の間に、カレントブロックcとして、処理すべき最初のブロックCTUを選択する。例えば、これは、(辞書式順序における)最初のブロックである。このブロックは例えば、HEVC規格にしたがって、64×64のサイズのものである。
【0009】
CUブロックへの考えられるパーティショニングはD個存在し、1〜Dと付番され、ここでDは非ゼロの整数であり、ブロックc上で使用されるパーティショニングは、番号dのパーティショニングに対応すると仮定する。例えば、HEVC規格中に規定されているような「クアッドツリー」タイプの規則的カッティングモードによると、サイズ4×4、8×8、16×16および32×32のサブブロックへの4サイズの方形パーティショニングが存在すると考えられる。矩形サブブロックへのパーティショニングも同様に可能である。
【0010】
以下では、CTUブロックcのパーティショニングに由来するサブブロックPを、カレントブロックと呼称する。以下で説明するステップは、他のサブブロックについても反復される。ステップE1の間に、CUブロックPの予測Prを決定する。これは、既知の手段、典型的には、動きの補償(compensation de mouvement)(先にデコーディングされた基準画像に由来するブロック)、またはイントラ予測(画像IDに属するデコーディングされた画素から構築されたブロック)によって構築される予測ブロックである。Prに関連する予測情報は、ビットストリームTBまたは圧縮ファイルFC内でコーディングされる。ここで、Pを非ゼロの整数として、考えられるP個の予測モードm
1、m
2、・・・、m
pが存在すると仮定する。例えば、カレントブロックxについて選択される予測モードはモードm
pである。Intraタイプの予測に結び付けられた予測モードもあれば、INTERタイプの予測に結び付けられたものもある。
【0011】
ステップE2の間に、カレントブロックPからカレントブロックPの予測Prを減算すること(R=P−Pr)によって、オリジナルの残余Rが形成される。
【0012】
E3において、残余RまたはRの細分割に由来するサブブロックに対して適用すべき変換Tを識別する。
【0013】
変換ステップは、このような映像コーディングスキーマにおいて極めて重要な役割を果たす。実際、量子化オペレーションの前に情報を集中させるのは、この変換ステップである。その結果として、エンコーディング前の画素集合が、同じ情報を表わす少数の非ゼロの周波数係数上で表現されることになる。こうして、1つの画素ブロックを忠実に再構築するのに、多数の係数を伝送する代りにわずかな数の係数しか必要でない。
【0014】
この変換ステップは、コーダ側でもデコーダ側でも同様に、実装が複雑であり、デコーダ側は、エンコーダにより適用される変換と逆の変換を実施しなければならない。
【0015】
ステップE4の間に、残余Rは、識別された変換によって、RTと呼ばれる変換済み残余ブロックに変換される。代替的には、予測が無い場合、ブロックcから変換済みブロックRTを得る。これは例えば、ブロックタイプの変換またはウェーブレット変換であり、これらは全て、当業者にとって公知であり、DCT/DSTについてはJPEG/MPEG規格中そしてウェーブレット変換についてはJPEG2000規格中で特に使用されている。
【0016】
画像および映像のコーディングにおいては、概して、直交または準直交ブロック変換(4×4、8×8など)を使用する。最も多く用いられる変換は、コサイン基底またはサイン基底に基づくものである。概してこれらをDTT(英語の「Discrete Trigonometric Transforms」の略)と呼称する。こうして、DCTは、画像および映像についての大部分の標準に存在する。近年、HEVC規格は、サイズ4×4のブロックの場合における特定の残余のコーディングのために、DST(英語の「Discrete Sine Transform」の略)も導入した。
【0017】
実際には、計算は整数について行なわれるため、使用されるのはこれらの変換の近似である。一般に、変換の基底は、近似に与えられる精度を条件付ける因数(この因数は、概して8ビットまたは10ビットの2の累乗であることが多い)による乗算の後、最も近い整数に近似される。
【0018】
一例として、
図2Aおよび2Bに関連づけて、サイズ4×4のブロックについてHEVC規格により使用される変換を提示する。つまりこれは、変換DCTおよびDSTである。この表に提示されている値を128で除すると、準直交変換を再び見出すことができる。
【0019】
E5では、当該技術分野において公知の要領で、これらの係数は、一次元ベクトルRQ[j]を構成するように予め定められた順序でスキャンされる。なおここで指数jは0からNb−1まで変動し、Nbはブロックxの画素の数に等しい整数である。指数jは、係数RQ[j]の周波数と呼ばれる。従来、これらの係数は、例えば対角線または水平方向などの例えば既定の行程に沿った周波数値の包括的な漸増または漸減順で、スキャンされる。
【0020】
E6では、変換済みブロックRTは、例えばスカラまたはベクトルなどの従来の量子化方法によって、ブロックRTと同数の係数Nbを含む量子化されたブロックRQへと量子化される。
【0021】
ステップE7に際しては、例えばハフマンコーディングまたは算術コーディング技術にしたがって、エントロピーコーディングによりブロックRQの係数に関する情報をコーディングする。これらの情報は、少なくとも係数の振幅およびその符号を含む。振幅とは、ここでは、係数の絶対値のことを意味する。従来から、各係数について、係数が非ゼロであることを表わす情報をコーディングすることができる。その後、非ゼロである各係数について、振幅に関する1つ以上の情報がコーディングされる。コーディングされた振幅CAが得られる。同様に、非ゼロの係数の符号もコーディングされる。一般に、これらの符号は、単にビット0または1によりコーディングされ、各値は所与の極性に対応する。このようなコーディングでは、変換を理由として、コーディングすべき振幅の大部分の値がゼロであることから効率の良い性能が得られる。
【0022】
適用される変換に関して、HEVC規格の場合には、「transform_skip_flag」と呼ばれる1つのビットにより、デコーダに対し、DSTまたは変換なしという2つの選択肢の中から適用すべき逆変換が標示される。この事例は、サイズ4×4のブロックの場合において現われる。
【0023】
E8では、カレントブロックxに関するコーディングされたデータがビットストリームTB内に挿入される。
【0024】
画像I1のブロックRを構成する他のサブブロックも同様に処理され、その後画像I1の他のブロックCTUならびにシーケンスの後続する画像のブロックが処理される。
【0025】
カレントブロックの変換済みブロックへの変換ステップからは、複雑な計算が発生することから、当業者はこれを単純化および/または加速化することを試みてきた。
【0026】
この複雑性は、処理されるブロックのサイズと共に増大する。HEVCにおいては、変換は、32×32のサイズに到達し得る。
【0027】
特に、2008年4月にIEEE transactions on Signal Processing誌中で公開された「Algebraic Signal Processing Theory:Cooley−Tukey Type Algorithms for DCTs and DSTs」という題のMarkus Puschelの文書から、変換ファミリDCTまたはDSTの高速実装方法が知られている。この方法は、特に、タイプI〜VIIIのDCTおよびDST三角変換に関するものであり、非常に特殊なサイズ(典型的には2の累乗または2の累乗近く)のための高速アルゴリズムが使用可能であることが示されている。
【0028】
これらのDCTまたはDSTタイプの変換の欠点は、全ての変換が、特に規格HEVC中に規定されている全てのブロックサイズに対して適用可能ではないという点にある。例えば、HEVC中に規定されているDSTは4×4のブロックサイズに限定されているが、これは、それより大きいサイズでは多大な複雑性が誘発されるからである。
【0029】
別の欠点は、一部の変換が高速アルゴリズムを有していないという点にある。
【発明の概要】
【発明が解決しようとする課題】
【0030】
本発明は、状況を改善しようとするものである。
【0031】
本発明は特に、先行技術のこれらの欠点を軽減することを目的とする。
【0032】
より厳密には、本発明の目的は、デコーダと同様にコーダにおいても、画素ブロックに対して変換を適用する際に実施される計算の複雑性を低減することのできる解決法を提案することにある。
【0033】
本発明の別の目的は、圧縮効率に影響を及ぼさない複雑性における利得を提案することにある。
【課題を解決するための手段】
【0034】
これらの目的ならびに以下で明らかになる他の目的は、デジタル画像を、前記画像を表わすコーディングされたデータを含むビットストリームからデコーディングする方法において、前記画像が、規定の順序で処理された複数のブロックに分割されている方法であって、変換済みカレントブロックと呼ばれる1つのブロックについて実施される以下のステップ、すなわち、
− ビットストリーム内で読取られたコーディングされたデータからカレントブロックの係数をデコーディングするステップと、
− カレントブロックをデコーディングされたブロックに変換するステップであって、このステップでは、カレントブロックの列ベクトルおよび行ベクトルにそれぞれ適用される中間ブロックを生成することを目的とする第1のサブステップが実施され、画素ブロックを生成することを目的とする第2のサブステップが、第1のサブステップに由来する中間ブロックの行ベクトルおよび列ベクトルにそれぞれ適用される、変換ステップと、
− 変換済みのデコーディングされたブロックから画像を再構築するステップ、
を含む方法を用いて達成される。
【0035】
このような方法は、前記第1および第2の変換サブステップのうちの少なくとも1つが、入力ベクトルと呼ばれる、1つの行ベクトルおよび列ベクトルのそれぞれについて、
− 入力ベクトルの隣接する要素からそれぞれNおよびMよりも小さいサイズKの第1のサブベクトルを形成し、入力ベクトルの隣接する要素から第1のサブベクトル内に含まれていないそれぞれN−KおよびM−Kに等しいサイズの少なくとも1つの第2のサブベクトルを形成し、こうして、形成されたサブベクトルのサイズの合計が入力ベクトルのサイズに等しくなるようにするステップと、
− K×Kのサイズの第1の部分的サブ変換を適用することにより、第1のサブベクトルを第1の変換済みサブベクトルへと変換し、(N−K)×(N−K)のサイズの第2のサブ変換を適用することにより、第2のサブベクトルを第2の変換済みサブベクトルへと変換するステップと、
− 第1の変換済みサブベクトルおよび少なくとも1つの第2の変換済みサブベクトルを挿入することにより、それぞれ第1の変換サブステップのための中間ブロックおよび第2の変換ステップのための変換済みのデコーディングされたブロックの変換済み入力ベクトルを獲得するステップ、
を含むことを特徴とする。
【0036】
2つの直交または準直交変換から実施される分離可能な変換を考慮する。
【0037】
本発明は、変換すべきブロックの行または列ベクトルの少なくとも2つの部分的変換により、直交変換サブステップの少なくとも1つを置換する、全く新規でかつ発明力のある1つのアプローチに基づいている。各々の部分的変換後の係数が後続するサブ変換ステップを目的とする出力ベクトル内に直接再配置されることから、この変換は、変換すべき行または列ベクトルのサブベクトルに適用され、その要素に適用される唯一の変換を構成する。したがって、入力ベクトルの他の要素の変換に由来する他のデータで得られた値の再組合せは存在しない。
【0038】
本発明によると、形成されたサブベクトルのサイズの合計は、入力ベクトルのサイズに等しく、変換済みベクトルの構成には、入力ベクトル内に形成された第1のサブベクトルおよび少なくとも1つの第2のサブベクトルの初期位置への、第1の変換済みサブベクトルおよび少なくとも1つの第2の変換済みサブベクトルの要素の挿入が含まれる。
【0039】
したがって、行または列入力ベクトルの全ての要素は、各々、1つのみのサブ変換によって処理される。明細書中、さらに後で証明されるように、本発明により提案される部分的サブ変換への分解によって、入力ベクトルのサイズに等しいサイズの唯一の変換を適用するために必要な数に等しいかそれより少ない数のオペレーションが行なわれることになる。
【0040】
本発明の別の態様によると、第1および第2のサブ変換は、異なるタイプのものである。
【0041】
変換のコンペティションという状況下において、コーダは、カレントブロックのために、レート歪み(debit−distorsion)の最良の妥協点を実現する変換を選択する。本発明に係る部分的サブ変換の1つの結び付きが、第1または第2のサブステップの少なくとも1つについて選択された場合、その結果もたらされるコーディングの複雑性における利得は、圧縮の利得に付加される。
【0042】
本発明の別の態様によると、少なくとも2つの部分的サブ変換のうちの1つは、恒等変換である。
【0043】
その結果、少なくとも1つの(行または列)ベクトルの係数/画素サブ集合は、変換サブステップの際に変換されず、こうして、包括的変換の複雑性が低減されるという効果がもたらされる。
【0044】
本発明のさらに別の態様によると、入力ベクトルのサブベクトルの少なくとも1つは、奇数サイズのものである。
【0045】
一つの利点は、高速アルゴリズムがある奇数サイズの部分的サブ変換の適用が可能であるという点にある。例えば、DCT IタイプのDTTタイプの変換の場合がそれである。
【0046】
異なる実施形態において説明された該方法は、有利には、デジタル画像を、前記画像を表わすコーディングされたデータを含むビットストリームからデコーディングする装置であって、前記画像が、規定の順序で処理された複数のブロックに分割される装置において、変換済みカレントブロックと呼ばれる1つのブロックのために使用され得る以下のユニット、すなわち、
− ビットストリーム内で読取られたコーディングされたデータからのカレントブロックの係数のデコーダと、
− 変換済みのデコーディングされたブロックへの変換済みカレントブロックの変換部であって、カレントブロックの列ベクトルおよび行ベクトルにそれぞれ適用される中間ブロックを生成することのできる第1の変換用サブユニットを使用することができ、画素ブロックを生成することのできる第2の変換用サブユニットが、第1のサブユニットに由来する中間ブロックの行ベクトルおよび列ベクトルにそれぞれ適用される変換部と、
− 変換済みのデコーディングされたブロックからの画像再構築部、
を含む装置により有利に実施される。
【0047】
このような装置は、前記第1および第2の変換用サブユニットのうちの少なくとも1つが、入力ベクトルと呼ばれる、1つのいわゆる行ベクトルおよび列ベクトルのそれぞれについて、
− 入力ベクトルの隣接する要素からそれぞれNおよびNよりも小さいサイズKの第1のサブベクトルを形成し、入力ベクトルの隣接する要素から第1のサブベクトル内に含まれていないそれぞれN−KおよびM−Kに等しいサイズの少なくとも1つの第2のサブベクトルを形成し、こうして、形成されたサブベクトルのサイズの合計が入力ベクトルのサイズに等しくなるようにすることと、
− K×Kのサイズの部分的サブ変換を適用することにより、第1のサブベクトルを第1の変換済みサブベクトルへと変換し、(N−K)×(N−K)のサイズの第2のサブ変換を適用することにより、第2のサブベクトルを第2の変換済みサブベクトルへと変換することと、
− 第1の変換済みサブベクトルおよび少なくとも1つの第2の変換済みサブベクトルを挿入することにより、第1の変換サブステップのための中間ブロックおよび第2の変換ステップのための変換済みのデコーディングされたブロックのそれぞれの変換済みベクトルを作成すること、
を含むことを特徴とする。
【0048】
相関的に、本発明は同様に、デジタル画像をコーディングする方法において、前記画像が、規定の順序で処理された複数の画素ブロックに分割されている方法であって、既定の寸法のカレントブロックについて実施される以下のステップ、すなわち
− カレントブロックを変換済みブロックに変換するステップであって、前記カレントブロックが、M個の行ベクトルとN個の列ベクトルを含み、ここでMとNは非ゼロの整数であり、変換されたそれぞれ行および列ベクトルから形成された中間ブロックを提供することを目的とする、それぞれM個の行ベクトルおよび列ベクトルの第1の変換用サブステップと、中間ブロックのそれぞれM個の列ベクトルおよび行ベクトルの第2の変換用サブステップとを含む前記ステップと、
− 変換済みブロックを表わすコーディングされたデータを生成することを目的とする変換済みブロックのエンコーディングステップと、
− コーディングされた画像を表わすビットストリーム内へのコーディングされたデータの挿入ステップ、
を含むコーディング方法にも関する。
【0049】
本発明によると、このような方法は、前記第1および第2の変換サブステップのうちの少なくとも1つが、入力ベクトルと呼ばれる、1つの行ベクトルおよび列ベクトルのそれぞれについて、
− 入力ベクトルの隣接する要素からそれぞれNおよびNよりも小さいサイズKの第1のサブベクトルを形成し、入力ベクトルの隣接する要素から第1のサブベクトル内に含まれていないそれぞれN−KおよびM−Kに等しいサイズの少なくとも1つの第2のサブベクトルを形成し、こうして、形成されたサブベクトルのサイズの合計が入力ベクトルのサイズに等しくなるようにするステップと、
− K×Kのサイズの部分的サブ変換を適用することにより、第1のサブベクトルを第1の変換済みサブベクトルへと変換し、(N−K)×(N−K)のサイズの第2のサブ変換を適用することにより、第2のサブベクトルを第2の変換済みサブベクトルへと変換するステップと、
− 第1の変換済みサブベクトルおよび少なくとも1つの第2の変換済みサブベクトルを挿入することにより、それぞれ第1の変換サブステップのための中間ブロックおよび第2の変換ステップのための変換済みのデコーディングされたブロックの変換済みベクトルを作成するステップ、
を含むことを特徴とする。
【0050】
本発明に係るコーディング方法は、異なる実施形態で説明されてきたデコーディング方法によって実施される変換ステップとは逆の変換ステップを実施する。
【0051】
本発明に係るコーディング方法は、有利には、デジタル画像をコーディングする装置であって、前記画像が、規定の順序で処理された複数の画素ブロックに分割されている装置において、既定の寸法のカレントブロック(x)のために使用され得る以下のユニット、すなわち、
− 変換済みのブロックへのカレントブロックの変換部であって、前記カレントブロックが、M個の行ベクトルとN個の列ベクトルを含み、ここでMとNは非ゼロの整数であり、変換されたそれぞれ行および列ベクトルから形成された中間ブロックを提供することのできる、それぞれM個の行ベクトルおよび列ベクトルの第1の変換用サブユニットと、中間ブロックのそれぞれM個の列ベクトルおよび行ベクトルの第2の変換用サブユニットとを含む変換部と、
− 変換済みブロックを表わすコーディングされたデータを生成することを目的とする変換済みブロックのエンコーダと、
− ビットストリーム内に前記コーディングされたデータを挿入することのできるコーディングされた画像を表わすビットストリームの構築部、
を含むコーディング装置によって実施される。
【0052】
このような装置は、前記第1および第2の変換用サブステップのうちの少なくとも1つが、入力ベクトルと呼ばれる、1つの行ベクトルおよび列ベクトルのそれぞれについて、
− 入力ベクトルの隣接する要素からそれぞれNおよびNよりも小さいサイズKの第1のサブベクトルを形成し、入力ベクトルの隣接する要素から第1のサブベクトル内に含まれていないそれぞれN−KおよびM−Kに等しいサイズの少なくとも1つの第2のサブベクトルを形成し、こうして、形成されたサブベクトルのサイズの合計が入力ベクトルのサイズに等しくなるようにすることと、
− K×Kのサイズの部分的サブ変換を適用することにより、第1のサブベクトルを第1の変換済みサブベクトルへと変換し、(N−K)×(N−K)のサイズの第2のサブ変換を適用することにより、第2のサブベクトルを第2の変換済みサブベクトルへと変換することと、
− 少なくとも1つの第1の変換済みサブベクトルおよび少なくとも1つの第2の変換済みサブベクトルを挿入することにより、それぞれ第1の変換サブステップのための中間ブロックおよび第2の変換ステップのための変換済みのデコーディングされたブロックの変換済みベクトルを作成すること、
を含むことを特徴とする。
【0053】
本発明は同様に、デジタル画像を表わすコーディングされたデータを含むビットストリームを搬送する信号であって、前記デジタル画像が、規定の順序で処理された画素ブロックに分割されている信号において、変換済みブロックは、1つのカレントブロックの画素の変換によって得られ、前記変換には、カレントブロックの行ベクトルおよび列ベクトルにそれぞれ適用される中間ブロックを生成することを目的とする第1のサブステップが含まれ、画素ブロックを生成することを目的とする第2のサブステップが、第1のサブステップに由来する中間ブロックの列ベクトルおよび行ベクトルにそれぞれ適用される、信号にも関する。
【0054】
このような信号は、前記第1および第2の変換サブステップのうちの少なくとも1つには、1つのいわゆる行ベクトルおよび列ベクトルのそれぞれの隣接する要素からそれぞれNおよびNよりも小さいサイズKのサブベクトルを形成し、入力ベクトルの隣接する要素から第1のサブベクトル内に含まれていないそれぞれN−KおよびM−Kに等しいサイズの少なくとも1つの第2のサブベクトルを形成し、こうして、形成されたサブベクトルのサイズの合計が入力ベクトルのサイズに等しくなるようにするステップと、K×Kのサイズの部分的サブ変換を前記サブベクトルに適用するステップと、および(N−K)×(N−K)のサイズの第2のサブ変換を前記第2のサブベクトルに適用するステップと、第1の変換済みサブベクトルおよび少なくとも1つの第2の変換済みサブベクトルを挿入することにより、変換済み行および列それぞれのベクトルを作成するステップとが含まれており、前記信号は前記部分的サブ変換を表す識別子を含むことを特徴とする。
【0055】
本発明はさらに、以上で説明されたデジタル画像のコーディング装置およびデジタル画像のデコーディング装置を含むことを特徴とする、ユーザ端末に関する。
【0056】
本発明はさらに、プロセッサによって実行された場合に、前述の通りのデジタル画像をデコーディングする方法の各ステップを実施するための命令を含むコンピュータプログラムにも関する。
【0057】
本発明は同様に、プロセッサによって実行された場合に、前述の通りのデジタル画像をコーディングする方法の各ステップを実施するための命令を含むコンピュータプログラムにも関する。
【0058】
これらのプログラムは、あらゆるプログラミング言語を使用することができる。これらのプログラムを、通信ネットワークからダウンロードすることおよび/またはコンピュータ可読媒体上に記録することが可能である。
【0059】
最後に、本発明は、それぞれ前述の通りのコーディング方法を実施するコンピュータプログラムおよびデコーディング方法を実施するコンピュータプログラムを記憶する、場合によって取外し可能な、本発明に係るデジタル画像のコーディング装置およびデジタル画像のデコーディング装置に内蔵されたまたはされていない、プロセッサ可読記録媒体にも関する。
【0060】
本発明の他の利点および特徴は、単なる例示的かつ非限定的な例として示されている、本発明の特定の実施形態についての以下の説明および添付図面を読むことで、さらに明確になるものである。
【発明を実施するための形態】
【0062】
明細書中、以下の部分では、例えば
図3との関係において先に記述された通りのデジタル画像のコーディングスキーマの枠内にとどまるものとする。
【0063】
ただし、前述のカレントブロックの予測ステップE1は任意のものであること、したがって後続する変換ステップE4は、カレントブロックの画素に直接適用可能であることに留意されたい。
【0064】
NおよびMが非ゼロの整数であるものとしてサイズN×M(N個の列、M個の行)の矩形のカレントブロック、およびこのブロックに適用すべき少なくとも1つの変換T
lを考慮する。変換T
1は、Lを非ゼロの整数としてL個の変換の集合{T
0、T
1、…T
l…、T
L-1}に属する。
【0065】
図4に関連して、変換T
1を用いた画素ブロックxの変換の実施例を詳述する。当業者にとって公知の形で、この変換T
1の適用を、以下で提示する変換B
lおよびA
lによる連続した2つの変換サブステップに分解することができるものと考える。
【0066】
E40では、mを0〜M−1の整数であるものとして、カレントブロックxからサイズNのM個の行ベクトルLn[m]を抽出する。E41では、M個のベクトルLn[m]は転置されて、サイズNの列ベクトルの形で提示される。E42で、これらのベクトルはサイズN×Nの第1の変換B
lにより変換される。サイズM×Nの中間ブロックが得られる。E43では、サイズMのN個の列ベクトルが抽出され、次にE44で転置される。nを0〜N−1として転置されたベクトルCol[n]は、E45で、サイズM×Mの第2の変換A
lにより変換される。
【0067】
こうしてA
lおよびB
lは、以下のように動作し得る。
【0068】
X
l=A
l・(B
l・x
t)
t (1)
【0069】
式中、A
lおよびB
lは、正方行列(それぞれサイズM×MおよびN×N)の形で表現され得かつ画素ブロックを構成する各ベクトルを変換するようにそれぞれ適応されている変換である。X
lは、変換T
lによるブロックxの変換に由来する係数ブロックである。
【0070】
同様に、例えばブロックxの転置を省くことによって、他の同等の形態でX
lを表現することもできる。この場合、以下の計算が行なわれる。
【0072】
この場合N個の列ベクトルは、最初に、サイズMの変換と、それに続く、Mの変換による結果の行に作用するサイズNの変換とによって、変換される。
【0073】
公知の要領で、典型的に、2の累乗に等しいサイズの行/列ベクトルに対し変換が適用される。例えば、HEVC規格では、サイズ4、8、16、または32の行/列ベクトルが変換される。
【0074】
ここでは、第1および第2の変換A
l、B
lが直交または準直交変換であると仮想する。このような変換の特性は、その転置写像によって乗算された変換行列が、非ゼロの対角定数項のみを有するという点にある。準直交の場合、対角線の外の項は、対角項の振幅に対して無視できる値を有する。このため、直交行列の逆数は、1因数分の誤差を除いてその転置写像により近似され、そのため、デコーディングにおいては、エンコーディングで使用された行列の転置写像を適用することができることになる。
【0075】
変換A
lおよびB
lは同様に、バタフライ構造からなるダイアグラム(すなわち、2つずつ取上げられた項の線形組合せ)の形を呈するアルゴリズムによる高速実装を通して適用され得る、ということを指摘しておきたい。このことは、すでに引用したMarkus Puschelの論文中に記載された通り、全ての三角変換について有効である。
【0076】
このような変換ステップの計算上の複雑性を評価する公知の方法は、必要な加算および乗算オペレーションの数を計算することからなる。以下に示す表1は、この方法によって行なわれた計算上の複雑性のいくつかの推定例を示している。
【0077】
変換が行列形態で適用される「一般的なケース」と、先に引用されたMarkus Puschelの論文にしたがった変換の高速実装に基づく特定のケース(DCTI、DCTII)とが区別される。報告されたオペレーションの数は、画素ベクトルの処理に関するものである。
【0079】
N個の行とN個の列を含む変換行列を考慮する。一般的なケースにおいては、行列の各行についてN回の乗算とN−1回の加算がある。その結果、合計でN*NおよびN*(N−1)回の乗算と加算がある。このとき、変換された値あたりのオペレーション数は2N−1回となる。
【0080】
処理すべきブロックのサイズと共に複雑性は大幅に増大することが分かる。同様に、計算リソースがより節約できるいわゆる高速の変換が存在することも指摘される。
【0081】
準直交変換の場合には、逆変換が転置された係数に対し再び変換を適用することになり、逆数についての計算上の複雑性は、直接変換と同一である。
【0082】
図5に関連して、ここで本発明の一実施形態に係る変換ステップE4について詳述する。本発明は、カレントブロックのそれぞれ列E42および行E45のサブ変換ステップのうちの少なくとも1つを修正することを提案する。より厳密には、本発明は、サブ変換A
lまたはB
lを適用する代りに、列または行ベクトルのサブベクトルに対して少なくとも1つの部分的サブ変換を適用することを提案する。得られたサブベクトルは、出力列または行ベクトル内に再配置され、ステップE42またはE45により変換済みベクトルを形成する。これが、入力列または行ベクトルの他の可能性のある(potentielle)変換に由来する他のデータと再組合せされることはない。
【0083】
公知のように、変換B
lによる第1のサブ変換ステップE42は、サイズN×Nの行列Qを用いて実施され得る。
【0084】
図5の特定の例において、本発明によると、変換B
lによる第1のサブ変換ステップE42は、2つの部分的サブ変換RおよびSを用いて実施される。
【0085】
例えば、サイズN×Nの特定のサブ変換B
lによるサイズNのM個の転置済み行ベクトルLn
T[m]の変換ステップは、ブロックの列ベクトルの画素サブ集合に対するサイズK×Kの第1のサブ変換Rの適用、およびこのブロックの列ベクトルの残りの画素に対するサイズ(N−K)×(N−K)の第2のサブ変換Sの適用によって実施される。したがって、ベクトルの全ての要素が、2つの部分的サブ変換のうちの唯一つのものによって1回だけ処理される。
【0086】
数学的見地から見ると、このとき、変換B
lは、
図6Aに表わされているように、第1のサブ変換Rに対応するサイズK×Kのサブ行列M
Rおよび第2のサブ変換Sに対応するサイズ(N−K)×(N−K)のサブ行列M
Sをその対角線内に含む行列M
Blの形で表現され得、ここで行列M
Blの残りの要素はゼロである。
【0087】
こうして、本発明のこの実施形態によると、行列M
Blでベクトルを変換するためには、ベクトルLn
T[m]のK個の第1の値を処理する行列M
Rによる変換と、このベクトルの残りのN−Kの画素を網羅する行列M
Sによる変換とを行なうだけで充分である。
【0088】
図5に関連して、本発明に係る2つの部分的サブ変換RおよびSにより変換すべきブロックxのm番目の転置済み行ベクトルLn
T[m]の変換サブステップについて詳述する。サイズKの第1のサブベクトルLn
T1[m]は、ベクトルVmのK個の第1の要素からE421において形成され、サイズN−Kの第2のサブベクトルLn
T2[m]は、ベクトルLn
T[m]の残りのN−K個の要素から形成される。E422においては、各サブベクトルが、それぞれの部分的サブ変換RおよびSに対応するそれぞれの行列M
RおよびM
Sによって変換される。変換済みサブベクトルS Ln
T1[m]およびLn
T2[m]mは、E423において、変換済みベクトルLn
T[m]内のサブベクトルLn
T[m]およびLn
T[m]の要素の初期位置に再配置される。
【0089】
これらのオペレーションは、変換すべきブロックのM個の転置済み行ベクトルについて反復される。M個の変換済みベクトルは、その初期位置に再配置されて、中間ブロックBIを形成する。
【0090】
ここで、行列M
BlをK個の点を処理する部分M
RとN−K個の点を処理する部分M
S(一般性を失うことなく、K<N−Kである)に分割することで、複雑性が低下することを示していく。
【0091】
行列の形で適用されるサイズNの変換について、
・ 乗算はN*N回、加算はN*(N−1)回である。
【0092】
行列の形で適用されるサイズKの変換について、
・ 乗算はK*K回、加算はK*(K−1)回である。
【0093】
行列の形で適用されるサイズN−Kの変換について、
・ 乗算は(N−K)*(N−K)回、加算は(N−K)*(N−K−1)回である。
【0094】
変換N−KおよびKに結び付けられる計算を累積させた場合、以下の計数化がなされる。
1. K*K+(N−K)*(N−K)回の乗算
2. K*(K−1)+(N−K)*(N−K−1)回の加算
1. N*N+2*K*(K−N)が得られ、K<Nであり、したがって2*K*(K−N)は負であり、したがって数量は、サイズNについての乗算の数であるN*Nより小さい
2. 類似の要領で、加算の数はサイズNの場合よりも小さいことが示される。
【0095】
タイプIIのDCTという特定のケースにおいては(上記表1を参照のこと)、Qはサイズ8のものであり、合計で40回のオペレーションを要するのに対し、サイズ7の部分的変換の変換実装には38回のオペレーションしか関与しないということが指摘される。
【0096】
サイズ3および4のタイプ1のDCTという特定のケースにおいては、サイズ4が12回のオペレーションを必要とするのに比べて、6回のオペレーションしか必要としないサイズ3の変換を処理する方が明らかにより有利であることが分かる。
【0097】
第1の特定の例において、Nは8、Kは4に等しく、高速アルゴリズムが利用可能であるDCTIIタイプの変換としてRおよびSが選択された場合の複雑性が評価される。
【0098】
計算上の複雑性はこのとき、ベクトルを構成する8個の画素について12+12=24回のオペレーション、すなわち1画素あたり3回のオペレーションとなる。これは、1画素あたり5回のオペレーションを必要とするDCTIIタイプのサイズ8の変換に比較すべきものである。
【0099】
第2の特定の例において、Nは8、Kは4に等しく、利用可能な高速アルゴリズムの無い行列積の形で実装される変換としてRおよびSが選択された場合の複雑性が評価される。
【0100】
計算上の複雑性はこのとき、ベクトルを構成する8個の画素について28+28=56回のオペレーション、すなわち1画素あたり7回のオペレーションとなる。これは、1画素あたり15回のオペレーションを必要とするサイズ8の変換に比較すべきものである。
【0101】
第3の特定の例において、Nは8、Kは4に等しく、RがタイプIIのDCTとして選択され、Sが行列積の形で適用される変換として選択された場合の複雑性が評価される。これにより、ブロックのベクトルの一部分に対して、適合した変換を適用することが可能となり、この適合した変換は、例えば、すでに引用したO.Sezerの論文中に記載のRDOTタイプのものであり得る。
【0102】
計算上の複雑性はこのとき、ベクトルを構成する8個の画素について12+28=40回のオペレーション、すなわち1画素あたり5回のオペレーションとなる。これは、1画素あたり15回のオペレーションを必要とする行列積の形で適用されるサイズ8の変換に比較すべきものである。
【0103】
その結果として、本発明は、明らかに計算上の複雑性を低減する。以上で提示した2つのケースにおいて、それぞれ、完全なサイズの変換の複雑性の3/5=60%および7/15=47%および5/15=33%が使用される。
【0104】
本発明の第2の実施形態によると、サイズK×Kの第1のサブ変換は、恒等タイプの変換である。これは、その対角線上に同一の項しか含まない行列として表現される。
図6Bには、サイズ4×4のブロックについての対応する行列M
Blが表されている。
【0105】
一例として、以下に、サイズ3×3の恒等変換I
3、サイズ2×2のI
2、サイズ1のI
1を提示する。
【0107】
図6Cには、行列M
Blの別の例、サイズ2の第1の恒等サブ変換I
2とそれに続くサイズ2×2の第2のサブ変換が図式化されている。
【0108】
2つのケースにおいて、それぞれのサブ変換R=I
1およびI
2の適用には、この特定のケースにおいていかなる計算も必要でなく、こうして、行列M
Blの適用は行列MSと同じ複雑性を有する。
【0109】
SがそれぞれにサイズN−K=3の行列、サイズN−K=3のDCT−IIおよびサイズN−K=7のDCT−IIの形をとり、R=I1である3つのケースを提示する。
【0111】
表2は、この実施形態によると、複雑性比率はしたがって、初期複雑性の15/28=53%(28は任意のタイプの行列4×4に起因する複雑性に対応する)、および8/12=67%(12は、サイズ4の高速変換DCTIIを有する場合に対応する)および38/40=95%であることを示す。
【0112】
したがって、第1の実施形態は、この最後の態様より大きい複雑性の利得を可能にする。
【0113】
ここで、変換のコンペティションという状況下に組込まれる本発明の第3の実施形態について説明する。
図3に関連して、コーディング方法は、E3で、既定の複数の変換中のカレントブロックに適用すべき変換を識別し、識別された変換を用いたカレントブロックのコーディングステップE4〜E8の後、メモリM1内にコーディングされたデータを記憶する。その後、このコーディング方法は、リストの他の変換を用いて、カレントブロックのコーディングステップE3〜E8を反復する。E9において、レート歪み基準に基づいて、最良の変換が選択される。
【0114】
2016年3月のICASSP会議議事録中で公開された「Low Complexity Transform Competition for HEVC」という題のArrufatらの論文から、変換DCTおよびDSTが属する、DTTと呼ばれる、三角離散変換をベースとするかまたは歪みが最適化された、分離可能なタイプのいくつかの「完全(complete)」変換のリストの中から、限定的な変換群の選択方法が公知である。
【0115】
最初は、先行技術にしたがって、完全変換、すなわち処理されるブロックのサイズに等しいサイズを有する変換を備えたコーダの圧縮性能を評価する。このために、すでに引用されたPuschelの論文中に記載の高速実装が利用できる変換などの、16のタイプのサイズ4の三角変換の全体が利用可能である。
【0116】
例えば、以下の変換リスト(8タイプのDCTと8タイプのDST)を評価する:DCT I、DCT−II、DCT−III、DCT−IV、DCT−V、DCT−VI、DCT−VII、DCT−VIII、DST−I、DST−II、DST−III、DST−IV、DST−V、DST−VI、DST−VII、DST−VIII。
【0117】
したがって、垂直方向変換(B
l)および水平方向変換(A
l)を組合せた場合、合計で16×16=256の考えられる組合せが存在する。
【0118】
これらの異なる変換組合せを評価するために、各対について、以下の数量の画像残留信号全体について、すでに引用したSezerの論文中に記載の歪み/節減(distorsion/parcimonie)平面内のコンパクト性を測定する。
【0120】
式中、x
iは、さまざまな画像の大きな集合上で収集される残余ブロックである。この明確なケースにおいて、これらのブロックは、HEVC規格に準じた指数(indice)26の角度的イントラ予測のためのサイズ4×4のブロックに由来する。
【0121】
【数3】
は、AlとBlで構成されたT
1によるx
iの変換に由来する閾値化によって量子化された残留ブロックである。
【0122】
【数4】
は、ゼロノルム(norme zero)、すなわち
【数5】
内の非ゼロの係数の数を表わす。
【0123】
N、Mは、ブロックの寸法であり、Hは考慮対象のブロックの数である。
【0124】
λは、先に引用されたSezerの刊行物にしたがって、
【数6】
内の非ゼロの係数の数についての制約を調節することを可能にするラグランジュの乗数である。
【0125】
例えば、5つの最良の変換A
l、B
l、すなわち最も小さいj(λ)の5つの測定値を生成する変換を選択する。Arrufatの刊行物にしたがって、学習により、こうして、垂直予測に由来する残余ブロック全体をコーディングするのに最も有効な5対の変換を選択する。
【0126】
この例においては、学習段階の終了時点で、5つの最良の変換対全体は、表3のものである。
【0128】
コンパクト性の測定(等式(1))は、5対のこの組合せについて29.76の値を与えている。
【0129】
本発明の第3の実施形態によると、学習のために考慮された全ての初期変換に対し、サイズK×Kおよび(N−K)×(N−K)の部分的サブ変換の組合せが付加される。ブロック4×4の例においては、これはサイズ1×1および3×3または2×2および2×2の部分的サブ変換である。この実施形態におけるサブ変換は、恒等タイプのものである。これらのサブ変換は、それぞれ1および2のサイズについてID
lおよびID
2と記される。
【0130】
これらの組合せは、有利には、完全変換と結び付けて提案される。換言すると、変換A
lまたは変換B
lという少なくとも2つの部分的サブ変換への分解を行なう。
【0131】
このように完成された変換全体から学習が実施され、先行ケースと類似の要領で、最も小さいコンパクト性測定値に寄与する5組のA
l、B
lを選択する。
【0134】
この新しい組合せについて29.34に等しいコンパクト性測定値が得られ、これは、現状技術の実施例に比べて1.38%のコンパクト性の改善に等しい。
【0135】
したがって、本発明は、最初の2つの実施形態との関係において以上で示した通り、オペレーション回数の削減に加えて、信号の圧縮の改善を提供するという点で傑出している。
【0136】
提示した組合せにおいて、部分的サブ変換の少なくとも1つが恒等式に等しく、もう1つがDSTまたはDCTに等しいという点が指摘される。当然のことながら、本発明は、これらの例に限定されず、例えばIDおよび適合する変換RDOTまたは、DST VIIおよび適合する変換RDOTなどの、より複雑な少なくとも2つの部分的サブ変換の組合せのケースを網羅するものである。
【0137】
コーディング方法は、1つまたは複数の入力画像を表わすコーディングされたデータフローを生成する。本発明に係るコーディング方法により生成されるビットストリームTBは、例えば、遠隔通信ネットワークを介してデコーダまたはデコーディング装置を含む受信機に対して信号の形で伝送される。
【0138】
ビットストリームTBは、本発明に係るデコーディング方法を実施するデコーディング装置によって受信されているものと仮定する。ここで、このデコーディング方法について、
図7に関連して説明する。
【0139】
D0では、カレントブロックC’として、処理すべき最初のブロックを選択することから開始する。例えばこれは、(辞書式順序で)第1のブロックである。このブロックは例えば、ブロックCTUについてHEVC規格内で規定されているような64×64といったNb個の画素を含む。
【0140】
エンコーディング方法について説明したように、以下で考慮されるカレントブロックは、ブロックC’自体であるか、あるいはブロックC’のサブブロックCUへのパーティショニングに由来するものであり得る。これは、さらに、サブブロックCUまたはカレントブロックからの予測の減算によって得られる残余ブロックであってもよい。同様に、カレントブロックなる用語は、変換T
1によるその変換の前の、残余または非残余サブブロックCUの分割に由来するサブブロックも意味する。
【0141】
ステップD1の間に、カレントブロックC’に関するコーディングされたデータを読取る。コーディングされたデータは、例えば使用される予測モード、または変換のコンペティションという状況下においては、カレントブロックに適用された変換の識別子のシグナリング、およびカレントブロックの量子化された残余係数の振幅および符号に関する値などのコーディングパラメータを含む。
【0142】
決定された予測モードが、予測がエンコーダによって行なわれたことを標示する場合、カレントブロックは、すでに処理されたブロックから決定された予測モードにしたがって、D2で予測される。予測されたブロックPr’が得られる。
【0143】
ステップD3の間に、カレントブロックの量子化された残余値を表わすコーディングされたデータ(係数の値および符号)がデコーディングされ、iを0〜M×N−1の整数として、値の一次元ベクトルRQ’[i]が形成される。これは、エンコーディング方法との関係において先に説明したエントロピーコーディングのオペレーションとは逆のオペレーションである、ということが分かる。
【0144】
D4において、カレントブロックRQ’[i]のデータが逆量子化される。ベクトルR’[i]が得られる。
【0145】
D5では、
図4のステップE5において説明されたカレントブロックの行程とは逆のプロセスにしたがって、カレントブロック内の残余一次元ベクトルのデータの再組織化を実施する。
【0146】
D6では、カレントブロックに適用すべき変換を識別する。公知のように、例えばHEVC規格の規定にしたがって、デコーダは、カレントブロックの予測モードに予め結び付けられた、この変換の識別子ID−TRにアクセスすることができる。より詳細には、変換のコンペティションという状況下においては、変換の識別子は、コーディングパラメータとしてビットストリーム内で受信され、ステップD1の間に読取られ、その後デコーディングされ得る。変換のコンペティションという状況下であるか否かに関わらず、この変換識別子は、実際に、カレントブロックに連続して適用される2つの直交または準直交変換A
lおよびB
lを識別することを可能にする。
【0147】
本発明によると、カレントブロックR’のそれぞれ列および行ベクトルの要素の互いに素なサブ集合に対し少なくとも2つの部分的サブ変換を適用することによって、2つの変換サブステップのうちの少なくとも1つが実施され、したがって、変換の識別ステップは、変換サブステップのうちの1つの部分的サブ変換に対応する2つの連続する識別子と、もう1つのサブステップにおいて実施される変換に対応する1つの識別子を含めた少なくとも3つの変換識別子の順序立ったリストを得ることからなる(A
lまたはB
l)。例えば、表4の第2の行については、得られた識別子はA
l=ID1、DST−IVおよびB
l=DCT−Vを含む。
【0148】
ステップD7においては、逆量子化されたデータに対して、D6で得られた識別子に対応する変換(A
l、B
l)を適用する。この変換は、エンコーダで実施されたオペレーションと逆のオペレーションに対応する。例えば、エンコーディングにおいて、変換B
lを
図6Aに関連して表わされたような2つの部分的サブ変換RおよびSに分解する場合、残余カレントブロックr’の転置されたN個の列ベクトルに対して、サイズM×Mの転置された変換A
lTを適用して中間残余ブロックri’を得ることから開始し、次に、ブロックri’の転置されたM個の行ベクトルの各々に対して、転置された変換B
lTを構成するRおよびSの2つの転置された部分的サブ変換を適用し、ここでサブ変換RはK個の最初の要素に適用され、サブ変換Sは、各列ベクトルの後続するN−K個の要素に適用される。サブベクトル形成サブステップD721、転置された部分的変換の適用サブステップD722、および変換済みベクトルの構成サブステップD743は、エンコーディング方法についてすでに説明した
図5に表わされている。逆変換ステップの終了時点で、空間領域内の信号またはブロックr’が得られる。
【0149】
デコーダに適用されるサブ変換は、エンコーダに適用されるサブ変換の転置写像であることから、生み出される複雑性は同じであり、したがって、現状技術に比べて有利である。
【0150】
ステップD8では、得られたブロックr’からデコーディングされた画像の画素ブロックc’が再構築され、デコーディング中の画像I
Dに組込まれる。ブロックが残余ブロックである場合には、ステップD2の間に得られたカレントブロックの予測Pr’がこれに付加される。
【0151】
ステップD9の間に、先に定義された行程順序を考慮に入れて、カレントブロックがデコーダを処理する最後のブロックであるか否かをテストすることになる。そうである場合には、デコーディング方法はその処理を終了している。そうでない場合には、後続ステップは、後続ブロックの選択ステップD0であり、前述のデコーディングステップD1〜D9は、選択された後続するブロックについて反復される。
【0152】
以上で説明した本発明は、ソフトウェアおよび/またはハードウェアコンポーネントを用いて実施可能であることが指摘される。この観点から見て、本明細書中で使用される「モジュール」および「エンティティ」なる用語は、ソフトウェアコンポーネントかハードウェアコンポーネント、さらには関連するモジュールまたはエンティティのために説明された機能(単数または複数)を実施することのできるハードウェアおよび/またはソフトウェアコンポーネントのアセンブリに対応し得る。
【0153】
図8に関連して、ここで、本発明に係るデジタル画像のコーディング装置100の簡略化された構造の一例を提示する。装置100は、
図3に関連して説明されてきた本発明に係るコーディング方法を実施する。
【0154】
例えば、装置100は、プロセッサμ
1を備え、メモリ130内に記憶され本発明に係る方法を実施するコンピュータプログラムPg
1120によって制御される処理ユニット110を含む。
【0155】
初期化時点で、コンピュータプログラムPg
1120のコード命令は、例えば、処理ユニット110のプロセッサによって実行される前にメモリRAM内にロードされる。処理ユニット110のプロセッサは、コンピュータプログラム120の命令にしたがって、上述の方法のステップを実施する。
【0156】
本発明のこの実施例において、装置100は、カレントブロックから変換済みブロックへの変換部(TRANS)を少なくとも1つ含み、前記カレントブロックは、M個の行ベクトルとN個の列ベクトルを含む。変換部は、変換済みの転置された行ベクトルから形成された中間残余ブロックを提供することを目的とする転置されたN個の行ベクトルの第1のサブ変換、および変換済みブロックを形成する元である変換済みの転置された行ベクトルへの中間ブロックのM個の転置された行ベクトルの第2のサブ変換を適用することができる。装置100はさらに、変換済みブロックの係数のエンコーダENCと、コーディングされた係数を挿入することのできるコーディングされた画像を表わすコーディングされたデータを含むビットストリームの構築部INSERTとを含む。
【0157】
本発明によると、前記サブ変換の少なくとも1つのために、変換部は、入力ベクトルの隣接要素からそれぞれNおよびNよりも小さいサイズKの少なくとも1つの第1のサブベクトルを形成し、サイズK×Kの部分的サブ変換を適用することにより第1のサブベクトルを第1の変換済みサブベクトルへと変換し、少なくとも1つの第1の変換済みサブベクトルの挿入によって変換済みベクトルを構成するサブユニットを含む。
【0158】
有利には、このような装置100は、ユーザ端末TUに内蔵されてよい。装置100はこのとき、少なくとも端末TUの以下のモジュールと協働するように配設される。
− 特に、変換のコンペティションという状況下において、コーディングされた中間データを記憶することのできる、記憶用メモリM1、および
− ビットストリームTBまたは圧縮ファイルFCを遠隔通信ネットワーク、例えば有線ネットワークまたは無線ネットワーク内で伝送させるデータ送受信モジュールE/R。
【0159】
図9に関連して、ここで、本発明に係るデジタル画像のデコーディング装置200の簡略化された構造の一例を提示する。装置200は、
図7に関連して説明されてきた本発明に係るデコーディング方法を実施する。
【0160】
例えば、装置200は、プロセッサμ
2を備え、メモリ230内に記憶され本発明に係る方法を実施するコンピュータプログラムPg
2220によって制御される処理ユニット210を含む。
【0161】
初期化の時点で、コンピュータプログラムPg
2220のコード命令は例えば、処理ユニット210のプロセッサによって実行される前にメモリRAM内にロードされる。処理ユニット210のプロセッサは、コンピュータプログラム120の命令にしたがって、上述の方法のステップを実施する。
【0162】
本発明のこの実施例において、装置は、ビットストリーム内で読取られたコーディングされたデータからの変換済みカレントブロックの係数のデコーダ(DEC)と、連続する2つの逆サブ変換を実施することのできる、変換済みカレントブロックからデコーディングされたブロックへの逆変換部(TRANS
-1)とを含み、第1のサブ変換は中間ブロックを生成し、カレントブロックのそれぞれ列および行ベクトルに適用され、第2のサブ変換は第1のサブ変換に由来する中間ブロックのそれぞれ行および列ベクトルに適用される画素ブロックを生成する。
【0163】
本発明によると、逆変換部は、入力ベクトルの隣接要素からそれぞれNおよびNよりも小さいサイズKの少なくとも1つの第1のサブベクトルを形成し、サイズK×Kの部分的サブ変換を適用することにより第1のサブベクトルを第1の変換済みサブベクトルへと変換し、少なくとも1つの第1の変換済みサブベクトルの挿入によって変換済みベクトルを構成するサブユニットを含む。
【0164】
デコーディング装置200はさらに、デコーディングされたブロックからのデコーディングされた画像の構築部(RECONST)を含む。
【0165】
有利には、このような装置200は、ユーザ端末TUに内蔵されてよい。装置200はこのとき、少なくとも端末TUの以下のモジュールと協働するように配設される。
− ビットストリームTBまたは圧縮ファイルFCを遠隔通信ネットワーク、例えば有線ネットワークまたは無線ネットワークから受信させるデータ送受信モジュールE/R。
【0166】
当然のことながら、上述の実施形態は、全く限定的でない純粋に例示を目的としたものとして提供されたものであり、当業者であれば本発明の枠から逸脱することなく多くの修正を容易に加えることが可能である。