JP2006197573A - 重ね合わせ双直交変換のための可逆2次元プリ/ポストフィルタリング - Google Patents

重ね合わせ双直交変換のための可逆2次元プリ/ポストフィルタリング Download PDF

Info

Publication number
JP2006197573A
JP2006197573A JP2005365286A JP2005365286A JP2006197573A JP 2006197573 A JP2006197573 A JP 2006197573A JP 2005365286 A JP2005365286 A JP 2005365286A JP 2005365286 A JP2005365286 A JP 2005365286A JP 2006197573 A JP2006197573 A JP 2006197573A
Authority
JP
Japan
Prior art keywords
block
dimensional
transform
superposition
applying
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.)
Granted
Application number
JP2005365286A
Other languages
English (en)
Other versions
JP4771803B2 (ja
Inventor
Chengjie Tu
トゥー チェンジィェ
Sridhar Srinivasan
スリニバサン シュリーダル
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.)
Microsoft Corp
Original Assignee
Microsoft Corp
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
Priority claimed from US11/015,148 external-priority patent/US7428342B2/en
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2006197573A publication Critical patent/JP2006197573A/ja
Application granted granted Critical
Publication of JP4771803B2 publication Critical patent/JP4771803B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

【課題】重ね合わせ双直交変換のための可逆2次元プリ/ポストフィルタリングを提供する。
【解決手段】ディジタルメディアコーデックで使用可能な効率のよい重ね合わせ変換が、コア変換に対して千鳥配列のグリッド上で適用されるプリ/ポストフィルタリングのための可逆2次元重ね合わせ演算子を使用して実現される。2次元重ね合わせ演算子は、それぞれのブロックの点のサブセットに対するインターリーブされた段における一連の基本的変換として再構成され、計算上の効率のためにリフティングステップで実施される、分離可能に適用される1次元可逆重ね合わせ演算子に基づくものである。インターリーブされる段には、正規化2×2アダマール変換を伴う最初と最後の段の間の、回転を適用する段およびスケーリング段が含まれる。
【選択図】図11

Description

本発明は、一般に、重ね合わせ変換を使ったディジタルメディア(ビデオや画像など)圧縮に関する。
(重ね合わせ変換)
重ね合わせ変換は、データ圧縮で使用される強力な信号処理技法である(例えば、非特許文献1参照)。しかしながら、今日まで、線形位相を用いた効率的な重ね合わせ変換は、損失なし(可逆)データ圧縮については考案されておらず、適用もされていない。
以下でより詳細に論じるように、重ね合わせ変換は、プリフィルタの後にデータ変換が続くもの(およびその逆の、逆データ変換の後にポストフィルタが続くもの)として考案され得ることが知られている(非特許文献2および3参照)。この考案方式で損失なしデータ変換を使って、可逆性の正しい尺度が達成され得る。これまでは、特定の限られた種類のプリフィルタおよびポストフィルタだけが可逆性のために選択され得ると考えられてきた。この限られたセットは、その圧縮(レート対ひずみ、またはRD)性能が非常に制限される。最近のある論文(非特許文献4参照)には、その大部分の要素が可逆であり、良好な圧縮特性を持つ構造が提示された。
音声圧縮においては、可逆重ね合わせ変換のためのいくつかの構造が紹介された(非特許文献5および6参照)。しかしながら、これらの構造は、その基底関数が直交し、対称でない(すなわち、基底関数が線形位相でない)、変形離散コサイン変換(MDCT)とも呼ばれる、変調重ね合わせ変換(MLT)にのみ適用できる。これらの変換は、ディジタル写真圧縮の場合など、線形位相(対称)関数が必要とされるデータ圧縮用途には適用できない。
写真(画像)圧縮では、RD性能の点で最もうまく機能する変換の1つは、重ね合わせ双直交変換(LBT)である(非特許文献7参照)。MLTと異なり、LBTの基底関数は対称であり、厳密に直交しない(LBTでは、分析基底関数が合成基底関数に直交し、それゆえに、双直交という用語が使用される)。LBTは、画像圧縮用途ではうまく使用されているが、損失なし画像圧縮ではまだ使用されていない。というのは、整数可逆構造が知られていなかったからである。
(ブロック変換ベースの符号化の概要)
変換符号化は、多くのオーディオ、画像およびビデオ圧縮システムで使用される圧縮技法である。圧縮されていないディジタル画像およびビデオは、通常、2次元(2D)グリッドとして構成された画像またはビデオフレーム中の場所にある画素または色のサンプルとして表され、または取り込まれる。これは、画像またはビデオの空間領域表現と呼ばれる。例えば、画像での1つの典型的な形式は、グリッドとして構成された24ビット色画素サンプルのストリームからなる。各サンプルは、特に、RGBやYIQといった色空間内のグリッド中のある画素位置における色成分を表す数である。様々な画像およびビデオシステムが、多種多様なサンプリングの色、空間および時間分解能を使用し得る。同様に、ディジタルオーディオは、通常、時間サンプリングされたオーディオ信号ストリームとして表される。例えば、1つの典型的なオーディオ形式は、規則的な時間間隔で取られたオーディオ信号の16ビット振幅サンプルのストリームからなる。
圧縮されていないディジタルオーディオ、画像およびビデオ信号は、相当な記憶および伝送容量を消費し得る。変換符号化は、信号の空間領域表現を周波数領域(または他の類似の変換領域)表現に変換し、次いで、その変換領域表現の、特定の、一般により知覚されにくい周波数成分の分解能を低減することによって、ディジタルオーディオ、画像およびビデオのサイズを縮小する。これは、一般に、空間領域における画像またはビデオの色または空間分解能、あるいは時間領域におけるオーディオの分解能を低減するのと比べて、はるかに知覚されにくいディジタル信号の劣化を生じる。
より具体的には、図1に示す典型的なブロック変換ベースのコーデック100は、圧縮されていないディジタル画像の画素を、各ブロックが、おそらく、他のブロックと重なり合う固定サイズの2次元ブロック(X,...X)に分割する。空間周波数分析を行う線形変換120〜121が各ブロックに適用され、ブロック内の間隔が置かれたサンプルが、一般に、そのブロック間隔にわたる対応する周波数帯域でのディジタル信号の強さを表す、1組の周波数(または変換)係数に変換される。圧縮では、これらの変換係数が選択的に量子化され130(すなわち、係数値の最下位ビットを除去し、あるいは別の方法でより高い分解能数セット中の値をより低い分解能にマップすることによって、分解能が低減され)、さらに、圧縮データストリームにエントロピまたは可変長符号化130され得る。復号化時に、変換係数は、元の色/空間サンプリング画像/ビデオ信号(復元されたブロック
Figure 2006197573
)をほぼ復元するように逆変換される170〜171。
ブロック変換120〜121は、サイズNのベクトルxに対する数学演算として定義され得る。たいていの場合、この演算は線形乗算であり、Mを変換行列とする、変換領域出力y=Mxを生じる。入力データが任意に長いとき、それは、サイズNのベクトルに区分化され、ブロック変換が各区分に適用される。データ圧縮のためには、可逆ブロック変換が選択される。言い換えると、行列Mは反転可能である。(例えば画像やビデオなどの)多次元において、ブロック変換は、通常、分離可能な演算として実施される。行列乗算は、データの各次元(すなわち行と列の両方)に沿って分離可能に適用される。
圧縮では、変換係数(ベクトルyの成分)が、選択的に量子化され(すなわち、係数値の最下位ビットを除去し、あるいは別の方法でより高い分解能数セット中の値をより低い分解能にマップすることによって、分解能が低減され)、さらに、圧縮データストリームにエントロピまたは可変長符号化され得る。
復号器150における復号時には、図1に示すように、これらの演算の逆(逆量子化/エントロピ復号化160および逆ブロック変換170〜171)が復号器150側で適用される。データを復元する間、逆行列M−1(逆変換170〜171)が、乗数として変換領域データに適用される。変換領域データに適用されると、この逆変換は、ほぼ、元の時間領域または空間領域ディジタルメディアを復元する。
多くのブロック変換ベースの符号化アプリケーションにおいて、変換は、望ましくは、量子化係数に応じて、損失ありと損失なし両方の圧縮をサポートするように、可逆である。例えば、量子化なしの場合(一般に、量子化係数1として表される)、可逆変換を利用するコーデックは、復号時に入力データを正確に再現することができる。しかしながら、これらのアプリケーションにおける可逆性の要件は、コーデックがそれに基づいて設計され得る変換の選択を制約する。
MPEGやWindows(登録商標) Mediaなど、多くの画像およびビデオ圧縮システムは、特に、離散コサイン変換(DCT)に基づく変換を利用する。DCTは、ほぼ最適なデータ圧縮を生じる好適なエネルギ圧縮特性を持つことが知られている。これらの圧縮システムでは、個々の画像ブロックを復元するために、圧縮システムの符号器と復号器両方の復元ループで逆DCT(IDCT)が用いられる。DCTについては記載されている(例えば、非特許文献8参照)。IDCTの例示的実施形態については記載されている(例えば、非特許文献9参照)。
静止画像(またはビデオシーケンスにおける画面内符号化フレーム)を圧縮する間、MPEG−2、MPEG−4、Windows(登録商標) Mediaなどの最も一般的な規格は、その画像を正方形のタイルに分割し、各画像タイルにブロック変換を適用する。所与の区画(一般にブロックと呼ばれる)における変換係数は、そのブロック内の未処理データ成分によってのみ影響される。量子化など、符号器側における不可逆の、または損失ありの演算は、復号化画像にアーティファクトを生じさせる。これらのアーティファクトは、ブロック間で独立であり、ブロックひずみと呼ばれる視覚的に不快な影響を生じる。同様にオーディオデータでは、重なり合わないブロックが独立に変換符号化されると、量子化誤差が、復号器におけるオーディオ信号の復元時に、ブロック境界のところの信号における不連続性を生じる。オーディオでは、周期的なクリッキングが聞こえる。
ブロックひずみに対処するのにいくつかの技法が使用される。中でも最も一般的な技法が、ブロック間エッジ境界を平滑化する非ブロック化フィルタ、および未処理の入力データと近隣のブロック境界からの予測の間の差異を符号化する空間的外挿である。これらの技法には欠点がないわけではない。例えば、非ブロック化フィルタ手法は「オープンループ」である。すなわち、その順変換プロセスは、非ブロック化が、復号器側で復元の前に実行されることになることを考慮に入れない。その上、これらの技法は、両方とも、計算上高くつく。
ブロックひずみを最小限に抑えるために、ブロック相互間の相関関係が利用され得る。ブロック相互間の相関関係を実現する1つのやり方は、重ね合わせ変換を使用することによるものである(例えば、非特許文献10参照)。重ね合わせ変換とは、その入力が、現在のブロック中のデータ要素に加えて、近隣のブロック中の少数の隣接する要素にも及ぶ変換である。同様に、復元側で、この逆変換は、現在のブロック中のすべてのデータ点と共に近隣のブロック中の少数のデータ点にも影響を及ぼす。
2次元(2D)データの場合には、重ね合わせ2D変換は、現在のブロックと、左、上、右、下、および、おそらくは、左上、右上、左下、右下のブロックの選択要素との関数である。現在の変換を計算するのに使用される近隣のブロック中のデータ点の数は、重ね合わせと呼ばれる。
(空間領域重ね合わせ変換の概要)
重ね合わせ変換は、従来方式のブロック変換の後に変換領域量をマージするステップとして変換領域で実施され得る。さもなければ、重ね合わせ変換は、重ね合わせの範囲内の画素に適用される前処理段によって、空間領域で実施され得る。これら2つの実施形態は、数学的に関連しており、したがって、等価である。
図2に、従来方式の空間領域重ね合わせ変換の一例を示す。図示の例では、重ね合わせは2画素であり、図示の2つの隣接するブロックから2画素ずつが前処理段210において前処理される。2つの前処理された出力は、図1と同様にコーデック200によるブロック変換ベースの符号化のためにブロックのそれぞれに送られる。前処理段の逆が、復号化後に後処理段220において適用される。前処理およびブロック変換の適切な選択により、幅広い重ね合わせ変換が実現され得る。
重ね合わせ変換の空間領域実現の主要な利点は、既存のブロック変換ベースのコーデックに、前処理および後処理段を後付けし、既存のコーデック枠組みを使って、重ね合わせ変換の利益、すなわち、ブロックひずみの低減およびより適切な圧縮が導出され得ることである。前処理210および後処理は、図3に示す行列乗算として表され得る。従来方式では、前処理および後処理行列は、相互の逆である。すなわち、前処理行列(P)とその逆または後処理行列(P)を一緒に掛け合わせると、単位行列Iに等しい。
(定義)
一般に、変換の長さNは、ある変換ブロック中の変換係数の数である。
変換のサポートKは、その変換ブロックの係数に影響を与える入力データ点の数である。同様に、サポートKは、逆変換のプロセスで、各変換係数によって影響される出力データ点の数でもある。
離散コサイン変換(DCT)などの典型的なブロック変換では、その長さとサポートは同一である。しかしながら、重ね合わせ変換(LT)は、そのサポートKが長さNより大きい変換の1つの重要なクラスである。重ね合わせ変換のサポートおよび長さを表すには、K×Nという表記法が使用される(K<Nである変換は拡張的であり、したがって、データ圧縮では使用されない)。
一例300として、図3に示す6×4LT310は、6つの入力および4つの出力を持つ変換である。この変換は反転可能であるため、これらの入力の2つは隣接する変換ブロックと共用される。逆重ね合わせ変換(ILT)320は、その4つの入力から6つの出力を生み出す。ブロック境界に近い出力データ点(この場合にはブロックの各端部ごとに1点)は、2つの隣接する逆変換ブロックの対応する応答を合計することによって復元される。
(圧縮システムで使用される重ね合わせ変換の制約条件)
数学的な意味で、重ね合わせ変換は、入力および出力信号ならびに中間計算結果を実数とみなすとき、反転可能な構造である。無限精度が達成され得る場合、入力データは、その重ね合わせ変換係数から完全に回復され得るはずである。しかしながら、無限精度は実際には不可能である。すなわち、データの損失なし圧縮のための要件は、整数または固定精度の演算に作用し、しかも、変換係数の整数表現が与えられたものとして、データを完全に復元する変換を設計することである。これは、数学的反転可能性より強い条件であり、そのような変換を、本明細書では、「損失なし」変換と呼ぶ。さらに、この損失なし変換は、(損失なしと損失あり両方の)データ圧縮でも効率的であることが必要とされる。その効率性は、変換されたデータのエントロピによって測定される。すなわち、エントロピが低いほど、変換されるデータは、コンテキストベースの算術符号化や適応ランレングス符号化などの標準エントロピ符号化技法によって、より一層圧縮され得る。
H. S. Malvar, Signal Processing with Lapped Transforms. Boston, MA: Artech House, 1992 H. S. Malvar, "A pre- and post-filtering technique for the reduction of blocking effects," in Proc. Picture Coding Symposium, Stockholm, Sweden, Jun. 1987 T.D. Tran, J. Liang, and C. Tu, "Lapped Transform via Time-Domain Pre- and Post-Filtering", IEEE Trans. on Signal Processing, vol.51, no.6, June 2003 W. Dai and T. Tran, "Regularity-constrained pre- and post-filtering for block DCT-based systems," IEEE Trans. on Signal Processing, vol. 51, pp. 2568-2581, Oct. 2003 R. Geiger, J. Herre, J. Koller, and K. Brandenburg, "IntMDCT - A link between perceptual and lossless audio coding," in Proc. IEEE Int. Conf. on Acoustics, Speech, and Signal Processing, Orlando, FL, May 2002; J. Li, "Reversible FFT And MDCT Via Matrix Lifting." in Proc. IEEE Conf. on Acoustics, Speech, and Signal Processing, Montreal, Canada, May 2004 H. S. Malvar, "Biorthogonal And Nonuniform Lapped Transforms For Transform Coding With Reduced Blocking And Ringing Artifacts," IEEE Trans. on Signal Processing, vol. 46, pp. 1043-1053, Apr. 1998 N. Ahmed, T. Natarajan, and K.R. Rao, "Discrete Cosine Transform," IEEE Transactions on Computers, C-23 (January 1974), pp. 90-93 "IEEE Standard Specification for the Implementations of 8x8 Inverse Discrete Cosine Transform," IEEE Std. 1180-1990, December 6, 1990 H. Malvar, "Signal Processing with Lapped Transforms," Artech House, Norwood MA, 1992 A. A. M. L. Bruekens and A. W. M. van den Enden, "New networks for perfect inversion and perfect reconstruction", IEEE J. Selected Areas Communications, vol.10, no.1, 1992 I. Daubechies and W. Sweldens, "Factoring wavelet transform into lifting steps", J. Fourier Anal. Appl., vol. 4, pp. 247-269, 1998 J. Liang and T. D. Tran, "Fast Multiplierless Approximations Of The DCT With The Lifting Scheme," IEEE Trans. Signal Processing, vol. 49, pp. 3032-3044, Dec. 2001
本発明は、重ね合わせ双直交変換のための可逆2次元プリ/ポストフィルタリングを提供する。
本明細書では、整数演算において可逆であり、効率的な損失なしデータ圧縮/伸張システムの基礎として使用され得る、効率的な重ね合わせ変換の様々な実現形態について説明する。
最も効率的な損失なし変換設計(すなわち、変換されたデータの最小限のエントロピを伴うもの)は、変換行列が単位行列式である(すなわち、変換行列の行列式が±1である)ことを必要とすることが示され得る。以下の説明では、変換が行列乗算として表され得ると想定されるが、データの丸めなど、少数の非線形現象があり得ることが認められている。ゆえに、行列式に言及するとき、切り捨てまたは丸めの側面は考察されない。
効率的な重ね合わせ変換は、本明細書で「重ね合わせ演算子」と呼ぶプリフィルタおよびポストフィルタを使って実現される。この実現形態は、可逆であり、しかも非常にRD効率が高い。これらの新しい重ね合わせ演算子は、用途の中でも特に、損失なし画像圧縮に使用され得る、可逆LBTの実施を可能にする。プリフィルタおよびポストフィルタは、可逆演算を使用する。さらに、前述の重ね合わせ演算子は、計算上の効率のための単純化も含む。
プリおよびポストフィルタリング演算の1つの実現形態は、単位行列式成分行列で構成された1次元可逆重ね合わせ演算子を使用するものである。より詳細には、可逆重ね合わせ演算子は、一連の平面回転変換および単位行列式平面スケーリング変換として実現される。平面スケーリング変換は、平面せん断変形またはリフティングステップを使って実施され得る。さらに、平面回転および平面せん断変形は、可逆/損失なし演算としての実施形態を持ち、結果として、可逆重ね合わせ演算子をもたらす。
1つの適用例は、可逆重ね合わせ演算子の計算上効率のよい近似を使って実現される8×4の1次元重ね合わせ変換におけるものである。
2次元重ね合わせ変換では、この重ね合わせ演算子の1次元実現形態が、ディジタルメディアデータのブロックの水平行に分離可能(separably)に適用され、その後に1次元演算子がデータの垂直列に適用され得る。この手法にはいくつかの欠点があり、そのうち最も深刻なものは、
1.効率のよいデータ圧縮のための正規化プリ/ポストフィルタを獲得することが困難/ほぼ不可能であること、
2.そのような近似が獲得され得る場合の高度な複雑さ、および
3.そのような近似が実施されるときの複数のフィルタリング/リフティングステップによる不正確さ
である。
本明細書で説明する2次元重ね合わせ変換の代替実施形態は、1次元重ね合わせ演算子を水平と垂直とに分離可能に適用する手法より優れた計算効率を達成する。この代替実施形態は、1次元重ね合わせ演算子を段に区分し、重ね合わせ演算子の水平および垂直適用の段を散在させる。各段内において、リフティングステップで実施される正規化スケーリング演算は、散在型2次元構造における「交差項」の相殺に注目することによって、データブロックのより限定されたサブセット(例えば、4×4データブロックの2×2サブセットまたは信号対など)に適用され得る。この結果、効率のよいスケールなし可逆2Dプリ/ポストフィルタが生じる。
2Dプリ/ポストフィルタは、Srinivasanによる、「Reversible Transform For Lossy And Lossless 2-D Data Compression」という名称の2004年12月17日出願の米国特許出願第11/015,707号明細書に記載されている効率のよいスケールなし可逆2Dブロック変換などの可逆変換と組み合わされ得る。
プリ/ポストフィルタと変換の組み合わせは、損失なしと損失あり両方の、画像およびビデオの効果的で、計算効率のよい圧縮に使用され得る重ね合わせ変換を形成する。
本発明のその他の特徴および利点は、添付の図面を参照して進められる以下の実施形態の詳細な説明を読めば明らかになるであろう。
以下の説明は、重ね合わせ変換のために可逆2次元プリ/ポストフィルタリングを利用する、ディジタルメディア圧縮システムまたはコーデックに関するものである。例として、この2次元プリ/ポストフィルタリングを組み込んだ圧縮システムの一実施形態は、画像またはビデオ圧縮システムである。代替として、可逆重ね合わせ演算子は、他の2Dデータの圧縮システムまたはコーデックにも組み込まれ得る。可逆重ね合わせ演算子は、ディジタルメディア圧縮システムが、圧縮されるディジタルメディアデータを特定の符号化形式で符号化することを必要としない。
1.符号器/復号器
図4および5は、可逆重ね合わせ演算子を使用する重ね合わせ変換に基づく代表的な2次元(2D)データ符号器400および復号器500で用いられるプロセスの一般化された図である。これらの図には、2Dデータ符号器および復号器を組み込んだ圧縮システムにおけるこの可逆重ね合わせ演算子の使用および適用の一般化され、または単純化された実例が示されている。この可逆重ね合わせ演算子に基づく代替の符号器では、この代表的な符号器および復号器に示すものより多い、または少ないプロセスも2Dデータ圧縮に使用され得る。例えば、いくつかの符号器/復号器は、色変換、色形式、拡張可能符号化、損失なしの符号化、マクロブロックモードなども含み得る。圧縮システム(符号器および復号器)は、損失なしから損失ありまで変化する量子化パラメータに基づくものとすることのできる量子化に応じて、2Dデータの損失なしおよび/または損失あり圧縮を提供することができる。
2Dデータ符号器400は、符号器に入力として提示される2Dデータ410の(典型的な入力のための)よりコンパクトな表現である圧縮ビットストリーム420を生成する。例えば、2Dデータ入力は、画像、ビデオシーケンスのフレーム、または2次元を持つ他のデータとすることができる。2Dデータ符号器は、入力データを、この代表的符号器では16×16画素のサイズであるタイル状のマクロブロックに分割する430。2Dデータ符号器は、さらに、各マクロブロックを、タイル状の4×4ブロックに分割する432。「順方向重ね合わせ」演算子440が、ブロック間の各エッジに適用され、その後、各4×4ブロックがブロック変換450を使って変換される。このブロック変換450は、2004年12月17日に出願された、Srinivasanによる、「Reversible Transform For Lossy And Lossless 2-D Data Compression」という名称の米国特許出願第11/015707号明細書に記載の、可逆のスケールなし2D変換とすることができる。代替として、離散コサイン変換または他のブロック変換も、本明細書で説明する可逆重ね合わせ演算子と共に使用され得る。この変換の後、各4×4変換ブロックのDC係数460は、類似の処理連鎖(タイル状に分割、順方向重ね合わせ、次いで4×4ブロック変換)を施される。結果として生じるDC変換係数およびAC変換係数は量子化され470、エントロピ符号化され480、パケット化される490。
復号器は、逆のプロセスを実行する。復号器側では、変換係数ビットがそれぞれのパケットから抽出され510、そこから係数自体が復号化され520、逆量子化される530。DC係数540は、逆変換を適用することによって再生成され、DC係数の平面が、DCブロックエッジにまたがって適用される適当な平滑化演算子を使って「逆に重ね合わせ」られる。その後、データ全体が4×4逆変換550をDC係数に適用することによって再生成され、AC係数542がビットストリームから復号化される。最後に、結果として生じる画像平面中のブロックエッジが逆重ね合わせフィルタリングされる560。これは、復元された2Dデータ出力を生成する。
例示的実施形態において、符号器400(図4)は、入力画像を圧縮ビットストリーム420(ファイルなど)に圧縮し、復号器500(図5)は、損失なしの符号化が用いられるか、それとも損失ありの符号化が用いられるかに基づき、元の入力またはその近似を復元する。符号化のプロセスは、以下で論じる順重ね合わせ変換(LT)の適用を伴い、これは、やはり以下でより詳細に説明する可逆2次元プリ/ポストフィルタリングを用いて実施される。復号化プロセスは、可逆2次元プリ/ポストフィルタリングを使用する逆重ね合わせ変換(ILT)の適用を伴う。
図示のLTおよびILTは、厳密な意味において相互の逆であり、したがって、総称して可逆重ね合わせ変換と呼ばれ得る。可逆変換として、LT/ILT対は、損失なし画像圧縮に使用され得る。
図示の符号器400/復号器500によって圧縮される入力データ410は、様々な色形式(例えば、RGB/YUV4:4:4またはYUV4:2:0色画像形式など)の画像とすることができる。通常、入力画像は、常に、輝度(Y)成分を有する。それがRGB/YUV4:4:4またはYUV4:2:0画像である場合、その画像は、U成分およびV成分といったクロミナンス成分も有する。画像の別個の色平面または成分は、異なる空間分解能を有し得る。例えば、YUV4:2:0色形式の入力画像の場合、UおよびV成分は、Y成分の半分の幅と高さを有する。
前述のように、符号器400は、入力画像または写真をマクロブロックにタイル状に分割する。例示的実施形態では、符号器400は、入力画像をYチャネルにおいて16×16マクロブロックにタイル状に分割する(UおよびVチャネルでは色形式に応じて16×16または8×8の領域とすることができる)。各マクロブロック色平面は、4×4の領域またはブロックにタイル状に分割される。したがって、この例示的符号器実施形態では、マクロブロックが、様々な色形式のために次のように構成される。
1.グレースケール画像では、各マクロブロックは、16個の4×4輝度(Y)ブロックを含む。
2.YUV4:2:0形式色画像では、各マクロブロックは、16個の4×4Yブロック、および4個ずつの4×4クロミナンス(UおよびV)ブロックを含む。
3.RGBまたはYUV4:4:4色画像では、各マクロブロックは、16ブロックずつのY、UおよびVチャネルを含む。
2.重ね合わせ演算子を使って実現される重ね合わせ変換
より一般的には、符号器400(図4)の重ね合わせ演算子440およびブロック変換450は、図6に示すようにプリフィルタリング演算610と、それに続くブロックデータ変換620に分解され得る重ね合わせ変換600の大きなクラスの一例である。図6に、そのような分解された重ね合わせ変換の一般化された例を示す。この図示の事例では、図3に示す6×4重ね合わせ変換310が、プリフィルタ演算610段とブロック変換620段に分解される。プリフィルタリング演算610およびブロック変換620は、データ点上に均一に交互配置される。この図示の6×4重ね合わせ変換600の例では、各プリフィルタは、隣接するブロックにまたがるデータ点の長さ2の変換である。復号側では、ポストフィルタ640が、ブロック境界にまたがって、逆ブロック変換630の後に適用される。同様に、一般的なK×Nの場合では、プリフィルタは、ブロック境界に隣接する各ブロックの(K−N)/2データ点に適用される。
反転可能にするために、プリフィルタ610およびポストフィルタ640は、相互の逆である。しかしながら、損失なし重ね合わせ変換を実現するには、この条件は不十分である。これは、ブロック(コア)変換620が損失なしで実現されるのみならず、さらに、プリフィルタ610およびポストフィルタ640もまた損失なし変換であることを強いる。DCTは、特に、はしご型、格子またはリフティングベースの方法を使って、損失なしで実現され得る(例えば、非特許文献11および12参照)。また、可逆スケールなし2次元変換についても、2004年12月17日に出願された、Srinivasanによる、「Reversible Transform For Lossy And Lossless 2-D Data Compression」という名称の米国特許出願第11/015707号明細書に記載されている。また、1次元におけるDCTへのリフティングベースの可逆近似も知られている(例えば、非特許文献13参照)。
効率的な可逆性は、さらに、両ステップ、すなわちプリ/ポストフィルタとブロック変換が単位行列式であることも必要とする。
3.可逆重ね合わせ演算子
符号器400/復号器500(図4および5)がそれに基づく損失なし重ね合わせ変換600のプリフィルタ610(図6)として使用するための効率的可逆重ね合わせ演算子は、図7に示す構造700に分解される線形位相プリフィルタとして実現され得る。また、このプリフィルタの逆(すなわち、ポストフィルタ640)も、異なる係数を伴うが、同じ構造を持つ。
この線形位相フィルタ構造700は、その入力および出力における交差アダマールネットワーク710を含めて、複数の直交する構成要素を持つ。図示のアダマールネットワーク710中の内部矢印は、この図において否定を表す。構造700は、さらに、直交行列U1、U2、V1およびV2を含む。これらの構成要素は、格子/リフティングベースの方法を使用することによって、損失なしで実施され得る。
さらに、構造700は、非ゼロのスケール係数sからsを持つ。この単位行列式制約条件は、
Figure 2006197573
を示唆する。すべてのスケール係数が±1であるとき、プリ/ポストフィルタは、その成分行列U1、U2、V1およびV2が損失なし格子/リフティングステップとして実施される損失なし変換として実現され得る。しかしながら、スケール係数がすべてが±1とは限らないとき、損失なしの実現は、以下でより詳細に論じるように対処される課題のままにとどまる。
この線形位相プリフィルタ構造700を用いれば、損失なしプリ/ポストフィルタ対を実現する問題は、以下の3つのステップに還元される。
1.直交行列U1、U2,V1およびV2について、フィルタFを以下の形に分解するステップ。
Figure 2006197573
式中、Iは単位行列であり、
2.U1、U2、V1およびV2の損失なしの実現を導出するステップ。
3.スケーリング行列の損失なしの実現を導出するステップ。
ステップ1に関して、2点アダマール変換を定義する右辺の最初と最後の行列は、これらの段を単位行列式にするために、いくつかの項に因数1/2を組み込んでいる。残りは、それぞれがFの線形次元の半分の、2つのブロックを持つブロック対角形に再構成される。各ブロックの特異値分解またはSVDは、直交行列U1、U2、V1およびV2、ならびにそのスケールを提供する。
成分行列の損失なしの実現は、ステップ2で、(例えば、非特許文献11に)記載されている標準リフティングベースの技法を使って導出され得る。
ステップ3でのスケーリング行列の損失なしの実現は、以下のように対処される。簡単にするために、(a)損失なしであり、(b)第1の構成要素にはs(0<s<1)による、第2の構成要素には1/sによるスケーリングを実現する、ある2入力2出力構成要素を備えるものと仮定する(他の場合は、出力信号の一方または両方の符号を反転することによって獲得され得る)。言い換えると、
Figure 2006197573
によって与えられる入力/出力関係を持つ。
式(2)における変換行列の行列式はs/s=1である。この行列は、図8および9に示す4リフティングステップ手順800または5リフティングステップ手順900で実現され得る。普通は、除算なしの整数実施形態を得るために、リフティングステップすべてを、xを入力とし、yを出力とし、a、bおよびrを整数とし、rを丸め誤差制御に使用されるものとする、y=(a.x+r)>>bの形で近似する。式(2)によって定義される変換を、本明細書では、単位行列式スケーリング変換と呼び、スケーリング変換と略す。
興味深いことに、スケーリング変換は、以下で定義するように、せん断変形演算と密接に関連している。
Figure 2006197573
−b=1(a>0,b≧0)という制約条件の下、せん断変形演算は単位行列を持ち、3つのリフティングステップを用いて実現され得る。
Figure 2006197573
したがって、
Figure 2006197573
である。
ここで、せん断変形行列を間に挟む行列中のスケーリング係数1/2および2は、せん断変形リフティングステップに分配され、最初の行列の最後のリフティングステップは最初のせん断変形リフティングステップと組み合わされ、最後の行列の最初のリフティングステップは最初のせん断変形リフティングステップと組み合わされる。図9に示すスケーリング変換の手順900としての5ステップ実現は、式(5)に基づくものである。可能な場合には、式(1)の3グループ、すなわち、アダマールネットワーク、直交行列、およびスケーリング演算の間で逆演算を相殺することによってこの構造の単純化が可能となり得る(これらは、結果として、アダマール演算およびせん断変形演算に分解され得る)。
より具体的には、手順800の損失なしスケーリングの4リフティングステップ実現の実際の変換行列は、
Figure 2006197573
であり、式中、c=1−sである。他方、手順900の5リフティングステップ実現の実際の変換行列は、
Figure 2006197573
であり、式中、c=1−sである。
図8に示すスケーリング手順800は図9に示すものより1つ少ないリフティングステップを持つが、後者の手順900は、前者の4つとは対照的に、3つの非自明なリフティングステップだけしか持たない。前段で述べた理由により、図9の最初または最後の自明のリフティングステップは、一定の条件(例えば、U1、U2およびV1が単位行列であるときなど)の下で、前の、または後の変換ステップと(例えば、図7のどちらかの端のアダマールネットワーク710などと)マージされ得る。
スケーリング手順は、より大きい行列に容易に拡張され得る。これを図10に示す。図10では、M個のおそらく異なるスケール係数sからsが、スケーリング変換のカスケード1000としてM個のデータパスに適用される。これを可逆に達成するためには、一般に、M−1回の可逆スケーリング変換が必要とされる。
1つの役に立つ特殊な例が、M個のスケール係数sからsが、(s,1/s)の形のM/2グループにグループ化され得る場合である。この場合には、M/2回の可逆スケーリング変換だけでよい。一例が、s=s=...=sM/2=sおよびsM/2+1=sM/2+2=...=s=1/sの場合である。好ましいグループ化のやり方は、中心軸を挟んで対象性を維持するものであり、言い換えると、各グループが、係数sおよびsM+1−iをスケーリングする。Mが奇数である場合、グループ化されない1つのスケール係数は1であり、軸に沿ったデータパスに対応する。
プリ/ポストフィルタが信号の外側に延在する必要のある信号境界上における1つの解決法は、信号を対称的に延長し、次いで、プリ/ポストフィルタを適用するものである。これは、一般に、スケーリングのため、損失なし演算ではない。別の解決法は、境界上におけるプリ/ポストフィルタリングをスキップするものである。これら2つの解決法の間には、(例えば、損失ありの画像/ビデオ圧縮に使用される場合)RD性能および知覚的品質の点で目立った差異はない。
次に図11を見ると、次いで、所望のRD効率のよい(すなわち単位行列式の)特性を持つ可逆重ね合わせ演算子が、可逆単位行列式アダマールネットワーク710、(成分行列U1、U2、V1およびV2での)可逆直交回転1110、および(リフティングステップ手順800、900またはカスケード1100などを使った)可逆単位行列式スケーリング1120を含む線形位相プリフィルタ構造700(図7)として実現される。ポストフィルタはプリフィルタに類似し、逆の順序で逆のリフティングステップを用いてではあるが、同じ構成を使って構築される。これは図7に示されており、図中、ブロック中のデータ値Mの数は、一般に、任意の自然数である。図は偶数Mの場合についてであるが、中央データ値の「1点アダマール」変換がそれ自体であることに留意すれば、奇数値も可能である。この手順は、より高次元のデータに一般化され得る。
要約すると、可逆重ね合わせ演算子の動作は、図12に示される。第1のステップ1210で、入力2次元ディジタルメディアデータが(図4の符号器400でも示すように)タイル状のブロックに分割される。ステップ1220で、可逆重ね合わせ演算子は、アダマールネットワーク710を隣接するタイルにまたがって適用する。次いで、ステップ1230で、この演算子は、可逆回転を和と差に適用し、その後に、ステップ1240の可逆スケーリング演算子が続く。この後に、別の可逆ブロック回転(ステップ1250)、可逆逆アダマールネットワーク(ステップ1260)が続く。
次に、図13を参照すると、可逆ブロック回転およびスケーリング演算子の行列表現は、例えば、式(1)に示す演算を使用する所望の重ね合わせ演算子に依存する。図13には、その前に可逆ブロック変換(この場合は4点アダマール変換)が行われる、図7および図11に示す構造700を備えるポストフィルタの一例が示されている。このポストフィルタの伝達関数は、
Figure 2006197573
である。
アダマールの低域成分は、図14のグラフに示すインパルス応答を生み出す。
4.重ね合わせ変換モード
1つの例示的実施形態において、符号器400および復号器500は、様々な種類の変換(例えば、本明細書で説明する重ね合わせ変換や、重ね合わせフィルタリングが省かれるモードなど)を使用して複数の圧縮モードをサポートする。符号化のプロセスの間、ユーザによって内部パラメータOverlapModeが供給される。このパラメータは、符号化に使用される変換の種類を決定し、ビットストリームによって復号器に知らされる。例示的実施形態では、OverlapModeの3つの選択、すなわち、「OL_NONE」、「OL_ONE」および「OL_TWO」が可能であり、次のように機能する。
1.OL_NONEは、画像を圧縮するのにブロック変換が使用されることを知らせる。
2.OL_ONEは、高域(詳細)画像に重ね合わせ変換が使用され、低域(DC)画像成分にブロック変換が使用されることを知らせる。
3.OL_TWOは、画像の高域成分と低域成分の両方に重ね合わせ変換が使用されることを知らせる。
他の符号器/復号器実施形態では、より少ない、またはさらに多くの変換モードがサポートされ得る。
例示的実施形態において、重ね合わせ変換は、図17に示し、以下でより詳細に説明するように、符号器側で、4×4プリフィルタ(順重ね合わせ440)の後に4×4ブロック変換450が続くものとして実施される。復号器側では、重ね合わせ変換は、図18に示し、以下でより詳細に説明するように、4×4逆ブロック変換550の後に4×4ポストフィルタ(逆重ね合わせ560)が続くものとして実施される。ブロック変換だけが使用されるとき(例えば、OL_NONEモードや、OL_ONEモード圧縮画像の低域帯の場合など)、プリおよびポストフィルタリングステップは省略される。
YUV4:2:0形式の輝度低域色平面の特殊な事例では、フィルタおよび変換ブロックサイズは2×2である。次の説明では、この特殊な事例には2×2ブロックが使用されるという了解の下で、フィルタ/変換サイズを指すのに「4×4」という用語を使用する。
図15に示すように、この例示的符号器実施形態におけるブロック変換は、未処理の4×4グリッド、すなわち、マクロブロック境界に整列させた4×4タイルの画素配列上で実行される。フィルタリングプロセスは、千鳥配列の4×4グリッド、すなわち、マクロブロック境界から、水平方向と垂直方向の両方に2ずつオフセットさせた4×4タイルの画素配列上で実行される。図15の図1500において、1510〜1513で示す4つのブロックは変換の未処理のグリッドに対応し、中央の影付き(グレー)ブロック1520は、そこにプリ/ポストフィルタが適用される領域である。中央ブロックの画素を、重ね合わせ演算子のための「サポート」と呼ぶ。図16に、2×2の特殊な事例での変換および重ね合わせ演算子の整列1600を示す。
例示的実施形態で使用され、4×4ブロックのそれぞれに適用されるブロック変換を、本明細書では「コア」変換と呼ぶ。このコア変換は、2004年12月17日に出願された、Srinivasanによる、「Reversible Transform For Lossy And Lossless 2-D Data Compression」という名称の米国特許出願第11/015707号明細書に記載されており、以下の「コア変換」という表題の項でも論じる可逆近似4×4DCTを実施する。コア変換の後、ブロックは、(図4に示すように)1DC係数460および15AC係数462の係数ブロックにマップされる。
プリ/ポストフィルタ(図4の順重ね合わせ440、および図5の逆重ね合わせ560)は、コア変換と一緒に組み合わされて、本明細書で重ね合わせ演算子ともいう、重ね合わせ変換を実施する。
符号器400(図4)によってコア変換450が適用された後、画像の全ブロックのDC係数460が集められてDCサブバンドを形成する。このDCサブバンドにコア変換の第2段が適用される。OverlapMode=OL_TWOである場合、第2段のコア変換の直前に第2段の重ね合わせ演算子も適用される。画像が、YUV_444画像のY成分、あるいはUまたはV成分である場合、DCサブバンド460は4×4ブロックにタイル状に分割され、第1段と同じ4×4PCTおよび4×4PLOが使用される。しかしながら、画像がYUV4:2:0画像のUまたはV成分である場合、DCサブバンドは、そうではなく、2×2ブロックにタイル状に分割される。したがって、2×2PCTおよび2×2PLOが使用される。図16に、隣接する2×2ブロック1610〜1613にもまたがる、2×2重ね合わせ演算子の2×2サポート1620を示す。
図15を参照すると、画像の隅では、重ね合わせ演算子がまたがる4ブロックのうち1つだけが利用可能である。これらは、左上隅のブロック3、右上のブロック1、左下のブロック2、および右下のブロック0である。これらの場合、4×4または2×2重ね合わせ演算子はスキップされる。
4隅以外の画像境界上では、重ね合わせ演算子1520がまたがる4ブロックのうち2つが利用可能である。これらの領域では、1次元演算子だけしか必要とされない。したがって、4×4重ね合わせ演算子は、1D4点重ね合わせ演算子の2つのインスタンスで置き換えられる(2×2重ね合わせ演算子についても同様である)。
具体的には(図15に関して)以下の4つの場合がある。
サポート1520、1620は、上側画像境界にまたがる(ブロック0および2は利用不能であり、ブロック1および3は利用可能である)。すなわち、4点重ね合わせ演算子が点(i、j、k、l)および点(m、n、o、p)に適用され、または2点重ね合わせ演算子が点(c、d)に適用される。
サポート1520、1620は下側画像境界にまたがる(ブロック1および3は利用不能であり、ブロック0および2は利用可能である)。すなわち、4点重ね合わせ演算子が点(a、b、c、d)および点(e、f、g、h)に適用され、または2点重ね合わせ演算子が点(a、b)に適用される。
サポート1520、1620は左側画像境界にまたがる(ブロック0および1は利用不能であり、ブロック2および3は利用可能である)。すなわち、4点重ね合わせ演算子が点(c、g、k、o)および点(d、h、l、p)に適用され、または2点重ね合わせ演算子が点(b、d)に適用される。
サポート1520、1620は右側画像境界にまたがる(ブロック2および3は利用不能であり、ブロック0および1は利用可能である)。すなわち、4点重ね合わせ演算子が点(a、e、i、m)および点(b、f、j、n)に適用され、または2点重ね合わせ演算子が点(a、c)に適用される。
したがって、符号器400(図4)の例示的実施形態の符号化プロセス1700(図17)で利用される重ね合わせ変換は、2×2コア変換、4×4コア変換、2×2重ね合わせ演算子、4×4重ね合わせ演算子、2点重ね合わせ演算子、および4点重ね合わせ演算子を伴う。復号器500(図5)によって利用される復号化プロセス1800(図18)は、そのプロセスを損失なしで逆転させる。逆コア変換は符号器のコア変換の完全な逆であり、逆重ね合わせ演算子は符号器の重ね合わせ演算子の完全な逆である。1次元4点重ね合わせ演算子については、前述の「可逆重ね合わせ演算子」という表題の項で説明されている。次に、2次元重ね合わせ演算子について説明する。
5.2次元プリ/ポストフィルタリング
一手法において、2次元プリ/ポストフィルタリング440(図4)のための4×4重ね合わせ演算子は、(前述の「可逆重ね合わせ演算子」という表題の項でも説明されている)図19の4点重ね合わせ演算子1900を、4×4重ね合わせ演算子サポート1520(図15)に、水平と垂直とに分離可能に適用することによって実施され得る。この4×4重ね合わせ演算子の分離可能手法の実施形態2000を図20に示す。より詳細には、この手法は、1次元4点重ね合わせ演算子を、4×4重ね合わせ演算子サポート1520の垂直列(すなわち、列a、e、i、m、列b、f、j、n、列c、g、k、o、および列d、h、l、p)に適用し、続いて1次元4点重ね合わせ演算子を水平行(すなわち、行a、b、c、d、行e、f、g、h、行i、j、k、l、および行m、n、o、p)に適用する。しかしながら、この手法2000には、前述の発明の開示の項で要約したようにいくつかの欠点がある。
本明細書で説明する符号器400/復号器500の例示的実施形態では、これらの欠点に対処する2次元プリ/ポストフィルタリング(順重ね合わせ440および逆重ね合わせ560)を実施する別の手法を使用する。この別の手法2100(図21)は、分離可能手法の水平および垂直フィルタからの演算を複数の段に散在させる。さらに、これらの演算は、図24、29および30に示すような、正規化スケールなし、および可逆「バタフライ」実現形態を有する2×2変換を形成するようにグループ化される。さらに、前述の「可逆重ね合わせ演算子」という表題の項で説明されているリフティングステップで実施される正規化スケーリング演算は、散在型2次元構造における「交差項」の相殺に注目することによって、より限定された信号対のセットに適用され得る。この結果として、効率のよいスケールなし可逆2次元ブロック変換と共に、損失なしと損失あり両方の、画像およびビデオの効果的で、計算効率のよい圧縮のために符号器/復号器で使用され得る重ね合わせ変換を提供する、効率のよいスケールなし可逆2次元プリ/ポストフィルタがもたらされる。
図21に示すように、1つの例示的実施形態におけるこの第2の手法は、プリ/ポストフィルタの垂直および水平演算を3つの段に散在させる。各段内で、それらの演算は、さらに、4×4データブロックの4点の別個のグループ上での基本2×2演算に再構成される。
より詳細には、プリ/ポストフィルタの最初の段、ならびに最後の段は、正規化2点アダマールバタフライとして実現される。この段での垂直および水平演算は、4×4データブロックにおいて4点のグループに別個に適用される、図22に示すプログラムリスト2200で定義されるような(2004年12月17日に出願された、Srinivasanによる、「Reversible Transform For Lossy And Lossless 2-D Data Compression」という名称の米国特許出願第11/015707号明細書に記載されているT変換である)2×2正規化アダマール演算に再構成される。この2×2正規化アダマール演算は、図23に示すような2×2入力行列(点a、b、cおよびd)2300に適用される。図23および本明細書の残りの部分では、影付けを使用してデータ点(同様に、画素または行列要素)と処理ステップの間の対応を表す。入力行列[ab;cd]に適用される基本2×2演算は、図23に示すように、所定位置で計算される。
次いで、散在型手法2100(図21)における段1および段3演算が、データブロック中の4つの別個の4点グループ2400(図24)、すなわち、隅の4点2410、中央の4点2420、上下端の4点2430、および左右端の4点2440への、この2×2正規化アダマール演算2200(図22)の適用に再構成され得る。
他方、段2演算は、2つのステップを含み、その第1は(図21に表す)回転であり、その第2は(図21には示さない)スケーリングである。これら2つのステップの順序は重要ではないが、一貫性を保つために、すべてのコーデックによって同じ順序が維持されなければならず、それらの逆重ね合わせ変換に対する重ね合わせ変換での順序は逆である。
回転ステップも、やはり、演算を別個の2×2変換に再構成することによって実施される。1次元の場合には低域項は通過であるため(図19の重ね合わせ演算子1900の点x0およびx1)、2次元における低/低点(すなわち両方向における低域)もやはり通過であり(すなわちこの段ではフィルタリングされない)。これは、図29の左上2×2サブブロック2910に対応する。
高/高項2920(図29)は、2004年12月17日に出願された、Srinivasanによる、「Reversible Transform For Lossy And Lossless 2-D Data Compression」という名称の米国特許出願第11/015707号明細書に記載されているTodd‐odd変換である、効率のよい2×2正規化可逆回転演算2500を用いて実施される。このTodd‐odd変換は、図25に示すCプログラミング言語のリスト2500で実施され得る。全体のバイアスを最小限に抑えるために、非自明リフティングステップにおけるオフセット(すなわち、3逓倍を伴うもの)が選択される。ポストフィルタでのこの変換の逆は、図26に示すCプログラミング言語のリストで実施され得る。
高/低および低/高の項2930(図29)は、他方の次元の演算が通過であるために、1次元フィルタリングだけを伴う。これらは、図27に示す、Cプログラミング言語のリスト2700で定義される2点回転を用いて実施される。ポストフィルタでの逆演算は、図28のCプログラミング言語のリスト2800で実施される。これらの2点回転は、実際にうまく機能する、2つの計算上自明なリフティングステップを伴う簡単な近似である。代替として、他の近似も使用され得る。この2点回転は、図29の影付き部分で示すように、高/低および低/高の項2930に、4セットの2点演算として適用される。
段2のスケーリングステップで、1次元4点重ね合わせ演算子1900(図19)は、[f f 1/f 1/f]で4点をスケーリングすることを含む。2次元の場合には、スケーリングステップは、[f f 1/f 1/f]とそれ自体との外積を実現する。結果として生じるスケーリング行列は以下の通りである。
Figure 2006197573
行列エントリの半分は1であり、したがって、これらの点は単に通過されるだけである。残りのエントリは、行列の中心の周りでの2点演算で対称的に組み合わされる(すなわち、図30の影付き部分で示す対3010、3020、3030および3040)。対称性が必要とされるのは、最良レートひずみ性能を散在型手法2100(図21)の段1および3とマッチさせるためである。各対に適用される2点スケーリング演算自体は、図31に示す、Cプログラミング言語のリスト3100で実施される。ポストフィルタのための逆2点スケーリング演算を、図32のリスト3200に示す。代替として、2点スケーリングプロセスには他の近似も可能である。さらに、スケーリングプロセスは、段1または段3の2×2アダマール演算の末端の演算間での相殺に注目して、それらと組み合わせることもできる。
図33に、図21に示す散在型手法2100を使用する完全な4×4重ね合わせ演算子のプログラムリスト3300を示す。図17および18に示す、符号器400/復号器500の例示的実施形態で前述したように、4×4重ね合わせ演算子は、OL_ONEが真である場合、画像の隅でも境界でもない部分に適用される。OL_TWOが真である場合、4×4重ね合わせ演算子は、それがYUV4:2:0画像のUまたはV成分でない場合には、やはり、画像のDCサブバンドの隅でも境界でもない部分に適用される。異なる近似または(特にスケーリングとアダマールの間での)マージされるステップを用いる、他の代替実現形態も可能である。
前述の図15に示すように、4×4重ね合わせ演算子は、以下の入力データブロックとして表され得る重ね合わせ演算子サポートに適用される。
Figure 2006197573
その場合、4×4順重ね合わせ演算子は、このプログラムリストでは、関数PLO4×4(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p)として定義される。前述のように、この関数は、2×2アダマール演算2200(図22)、順スケーリング3100(図31)、2点回転2700(図27)、および順奇/奇変換2500(図25)を、3段で、図24、29および30に示す入力ブロックの点のサブグループに適用することを含む。
図34に、やはり、散在型手法を使用する逆4×4重ね合わせ演算子の実施形態のプログラムリスト3400を示す。逆4×4重ね合わせ演算子の入力係数ブロックがブロック
Figure 2006197573
である場合、この演算子は、このプログラムリストでは、IPLO4×4(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p)として定義される。逆4×4重ね合わせ演算子は、(それ自体の逆である)2×2アダマール演算2200(図22)、逆奇/奇変換2600(図26)、逆2点回転2800(図28)、および逆スケーリング3200(図32)を、やはり3段で、図24、29および30に示す係数ブロックの点のサブグループに適用することを含む。
前述の特殊な事例として、図17および18に示す、符号器/復号器の例示的実施形態は、2×2プリ/ポストフィルタリング演算も適用する。図35に、2×2プリフィルタリングのプログラムリスト3500を示す。2×2プリ/ポストフィルタリングは、段2で回転がないことを除いて、4×4プリ/ポストフィルタリングと同様である。したがって、2×2プリフィルタリングは、段2の回転ステップが除去された前述の4×4の事例として実現され得る。図36に、2×2ポストフィルタリングを実施するプログラムリスト3600を示す。
図17および18に示す、符号器/復号器の例示的実施形態では、2Dフィルタリングステップには不十分な画素しかない画像端に沿って、1次元に沿ったフィルタリングも必要である。1Dフィルタは、正規化された損失なしリフティング実現のためのショートカットがないために、対応する2Dフィルタよりも複雑になり得る。1Dプリ/ポストフィルタリングの実施形態は、前述の「可逆重ね合わせ演算子」という表題の項で論じられている。
図37に、OL_TWOが真である場合に、図17および18の符号器/復号器の例示的実施形態において、YUV4:2:0画像のUおよびV成分のDCサブバンドの境界に適用される、1次元2点重ね合わせ演算子の(Cプログラミング言語の)プログラムリスト3700を示す。図38に、1次元逆2点重ね合わせ演算子のプログラムリスト3800を示す。
また、図17および18の符号器/復号器の例示的実施形態は、OL_ONEが真である場合、画像の境界に4点重ね合わせ演算子も適用する。OL_TWOが真である場合、それがYUV4:2:0画像のUまたはV成分でなければ、画像のDCサブバンドの境界には4点重ね合わせ演算子も適用される。その場合、[abcd]として配列された入力データでの1次元4点順重ね合わせ演算子が、図39に示す(Cプログラミング言語の)プログラムリスト3900で、関数PLO4(a,b,c,d)として定義される。図40に示すプログラムリスト4000は、入力係数[abcd]に対する4点逆重ね合わせ演算子を定義する関数IPLO(a,b,c,d)を含む。
6.コア変換
前述のように、符号器/復号器の例示的実施形態は、前述の重ね合わせ演算子と、2004年12月17日に出願された、Srinivasanによる、「Reversible Transform For Lossy And Lossless 2-D Data Compression」という名称の米国特許出願第11/015707号明細書に記載されている可逆近似4×4DCTとの組み合わせである重ね合わせ変換を実施する。この例示的実施形態の図17の符号化プロセス1700および図18の復号化プロセス1800で示すように、符号器/復号器は、2×2コア変換、2×2逆コア変換、4×4コア変換および4×4逆コア変換を使用する。これらの変換の実施形態は、以下で論じる、図41〜46に示す(Cプログラミング言語の)プログラムリストで定義される。
2×2入力ブロック
Figure 2006197573
に対する2×2順コア変換は、次の2ステップで実施され得る。
1.図22のアダマール2×2(a,b,c,d)関数2200を適用する。
2.点bと点cを交換する。
いくつかの実施形態では、ステップ2は、量子化またはジグザグスキャンと組み合わされ得る。
2×2係数ブロック
Figure 2006197573
に対する2×2逆コア変換は、次の2ステップで実施され得る。
1.点bと点cを交換する。
2.アダマール2×2(a,b,c,d)関数2200(図22)を適用する。
いくつかの実施形態では、ステップ1は、逆量子化または逆ジグザグスキャンと組み合わされ得る。
4×4入力データブロック
Figure 2006197573
に適用される4×4順コア変換は、次の2ステップで実施され得る。
1.図41に示す関数4100、PCT4×4(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p)を適用する。4×4重ね合わせ演算子と同様に、この関数は、演算が、データブロックの点のサブグループに対する2×2演算にさらに構成される散在型手法を使用する。これらの2×2演算は、図42に示す関数4200で実施される奇変換、および図43に示す関数4300で実施される奇/奇変換を含む。回転を実施するための、より多い、またはより少ないリフティングステップに基づく他の近似も可能である。
2.データブロックを、
Figure 2006197573
から
Figure 2006197573
に入れ替える。これは、量子化/ジグザグスキャンと組み合わされ得る。
4×4入力係数ブロック
Figure 2006197573
に対する4×4逆コア変換は、次の2ステップで実施され得る。
1.係数ブロックを、
Figure 2006197573
から
Figure 2006197573
に入れ替える。これは、逆量子化/逆ジグザグスキャンと組み合わされ得る。
2.関数4100、PCT4×4の逆である、図44に示す関数4400、IPCT4×4(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p)を適用する。関数4400は、2×2変換、すなわち、図45に示す関数4500によって実施される逆奇変換、および図46に示す関数4600によって定義される逆奇/奇変換を含む。
7.コンピューティング環境
4×4プリ/ポストフィルタリングを使用する重ね合わせ変換に基づく前述のコーデックは、特に、コンピュータ、画像/ビデオ記録、送信および受信装置、携帯用ビデオプレーヤ、テレビ会議などを含む、ディジタルメディア信号処理が行われる様々な装置のいずれかで実行され得る。このディジタルメディア符号化技法は、図47に示すようなコンピュータまたは他のコンピューティング環境内で、ディジタルメディア処理ソフトウェアとしてのみならず、ハードウェア回路としても実施され得る。
図47には、前述の実施形態が実施され得る適当なコンピューティング環境(4700)の一般的な例が示されている。コンピューティング環境(4700)は、本発明の用途または機能の範囲に関するどんな限定を示唆するためのものでもない。というのは、本発明は、多種多様な汎用または専用コンピューティング環境で実施され得るからである。
図47を参照すると、コンピューティング環境(4700)は、少なくとも1つの処理装置(4710)およびメモリ(4720)を含む。図47では、この最も基本的な構成(4730)が破線内に含まれる。処理装置(4710)は、コンピュータ実行可能命令を実行し、実プロセッサとすることも、仮想プロセッサとすることもできる。多重処理システムにおいては、処理能力を増大させるために、複数の処理装置がコンピュータ実行可能命令を実行する。メモリ(4720)は、揮発性メモリ(レジスタ、キャッシュ、RAMなど)、不揮発性メモリ(ROM、EEPROM、フラッシュメモリなど)、またはこれら2つの何らかの組み合わせとすることができる。メモリ(4720)は、前述の符号器/復号器および変換を実施するソフトウェア(4780)を格納する。
コンピューティング環境は、追加の機構を備え得る。例えば、コンピューティング環境(4700)は、記憶(4740)、1つまたは複数の入力装置(4750)、1つまたは複数の出力装置(4760)、および1つまたは複数の通信接続(4770)を含む。バス、コントローラ、ネットワークなどの相互接続機構(図示せず)が、コンピューティング環境(4700)の構成要素を相互接続する。通常は、オペレーティングシステムソフトウェア(図示せず)が、コンピューティング環境(4700)で実行される他のソフトウェアのための動作環境を提供し、コンピューティング環境(4700)の構成要素のアクティビティを調整する。
記憶(4740)は、着脱式でも固定式でもよく、これには、磁気ディスク、磁気テープまたはカセット、CD−ROM、CD−RW、DVD、または情報を格納するのに使用され、コンピューティング環境(4700)内でアクセスされ得る他の任意の媒体が含まれる。記憶(4740)は、4×4プリ/ポストフィルタリングを使用する重ね合わせ変換に基づくコーデックを実施するソフトウェア(4780)の命令を格納する。
入力装置(4750)は、キーボード、マウス、ペン、トラックボールなどのタッチ入力装置、音声入力装置、スキャン装置、またはコンピューティング環境(4700)への入力を提供する別の装置とすることができる。オーディオでは、入力装置(4750)は、アナログまたはディジタル形式でオーディオ入力を受け入れるサウンドカードまたは類似の装置、あるいはコンピューティング環境にオーディオサンプルを提供するCD−ROMリーダとすることができる。出力装置(4760)は、ディスプレイ、プリンタ、スピーカ、CDライタ、またはコンピューティング環境(4700)からの出力を提供する別の装置とすることができる。
通信接続(4770)は、通信媒体を介した別のコンピューティングエンティティへの通信を可能にする。通信媒体は、コンピュータ実行可能命令、圧縮オーディオまたはビデオ情報、その他のデータなどの情報を変調データ信号として伝達する。変調データ信号とは、その特性の1つまたは複数が、その信号に情報を符号化するような方式で設定または変更されている信号である。例をあげると、それだけに限らないが、通信媒体には、電気、光、RF、赤外線、音響またはその他の搬送波を用いて実施される有線または無線技法が含まれる。
本明細書のディジタルメディア処理技法は、コンピュータ可読媒体の一般的状況で説明され得る。コンピュータ可読媒体は、コンピューティング環境内でアクセスされ得る任意の利用可能な媒体である。例をあげると、それだけに限らないが、コンピューティング環境(4700)で、コンピュータ可読媒体には、メモリ(4720)、記憶(4740)、通信媒体、およびそれらのいずれかの組み合わせが含まれる。
本明細書のディジタルメディア処理技法は、コンピューティング環境においてターゲット実/仮想プロセッサ上で実行される、プログラムモジュールに含まれるものなどのコンピュータ実行可能命令の一般的状況で説明され得る。一般に、プログラムモジュールには、個々のタスクを実行し、または個々の抽象データ型を実施する、ルーチン、プログラム、ライブラリ、オブジェクト、クラス、コンポーネント、データ構造などが含まれる。プログラムモジュールの機能は、様々な実施形態において所望に応じて組み合わされ、またはプログラムモジュール間で分割され得る。プログラムモジュールのコンピュータ実行可能命令は、ローカルまたは分散コンピューティング環境内で実行され得る。
表現のために、詳細な説明では、「決定する」、「生成する」、「調整する」、および「適用する」のような用語を使ってコンピューティング環境でのコンピュータ動作を説明している。これらの用語は、コンピュータによって実行される動作の高度な抽象化であり、人間によって行われる行為と混同すべきではない。これらの用語に対応する実際のコンピュータ動作は、実施に応じて異なる。
4.可逆重ね合わせ演算子の変形および拡張
前述の可逆重ね合わせ演算子の様々な変更および拡張が行われ得る。前述の説明は1次元データでのものであるが、同じ手順は、複数のデータ次元に分離可能に、または分離不能に適用され得る。
前述の可逆重ね合わせ演算子実施における直交回転は、その近似によって、または直交しないことのある他の変換によって置換される。
さらに、前述の説明では入力データの損失なし回復に主要な焦点が置かれているが、同じ変換は、損失ありデータ圧縮にも使用され得る。この場合、損失は、量子化プロセスにおいて、あるいはプリフィルタまたはポストフィルタの限られた精度/近似実施が原因で、あるいは他の誤り、もしくは複数の要因の組み合わせが原因で発生し得る。
本明細書で述べた可逆重ね合わせ演算子は、データ圧縮以外の領域にも適用され得る。可逆重ね合わせ演算子を使用する重ね合わせ変換は、それ自体、拡張的であり得る。
可逆重ね合わせ演算子は、適切に変更された形で、マルチレートフィルタバンク、ウェーブレット、2を上回るブロック幅にまたがる(K>2N)サポートを有する重ね合わせ変換を実施するために適用され得る。
可逆重ね合わせ演算子は、重ね合わせフィルタの大きさおよび形状がデータの空間的大きさによって異なり得る、空間的に変化する方式で適用され得る。
本発明の原理が適用され得る多くの可能な実施形態を考慮して、発明者らは、以下の特許請求の範囲およびその均等物の範囲および精神の内に含まれ得るそのようなすべての実施形態を本発明として特許請求するものである。
従来技術における従来方式のブロック変換ベースのコーデックを示すブロック図である。 やはり従来技術における、図1のブロック変換ベースのコーデックと組み合わせた前処理および後処理演算として実施される空間領域重ね合わせ変換を示すブロック図である。 1次元データの重ね合わせ変換と逆重ね合わせ変換の対を示すブロック図である。 可逆重ね合わせ演算子を利用する重ね合わせ変換に基づく符号器を示す流れ図である。 重ね合わせ変換に基づく復号器を示す流れ図である。 プリフィルタリングおよびポストフィルタリング演算(または可逆重ね合わせ演算子)をブロック変換と併用する1次元データの重ね合わせ変換と逆重ね合わせ変換の対を示すブロック図である。 図6の重ね合わせ変換で可逆重ね合わせ演算子として使用するための線形位相プリ(またはポスト)フィルタの構造を示すシグナルフローグラフである。 可逆重ね合わせ演算子で使用するための4つのリフティングステップとしての損失なしスケーリングを示すシグナルフローグラフである。 可逆重ね合わせ演算子で使用するための5つのリフティングステップとしての損失なしスケーリングを示すシグナルフローグラフである。 損失なし単位行列式スケーリングを実現するためにより大きい次元の行列に適用される2点スケーリングのカスケードを示すシグナルフローグラフである。 図7に示す構造を持ち、図10の損失なし単位行列式スケーリングを使用する可逆重ね合わせ演算子(またはプリ/ポストフィルタ)を示すシグナルフローグラフである。 図11の可逆重ね合わせ演算子の動作を示す流れ図である。 図11の可逆重ね合わせ演算子を使用する可逆重ね合わせ変換実施形態の一例を示すシグナルフローグラフである。 図13の例示的重ね合わせ変換のDC係数を示すインパルス応答グラフである。 4×4サイズブロックでの2次元重ね合わせ演算子のサポートとして使用される画素を示す図である。 2×2サイズブロックでの2次元重ね合わせ演算子のサポートとして使用される画素を示す図である。 図4の符号器によって符号器側で適用される変換を示す流れ図である。 図5の復号器によって復号器側で適用される変換を示す流れ図である。 図11に示す1次元可逆重ね合わせ演算子の正規表現を提供するシグナルフローグラフである。 図19の1次元可逆重ね合わせ演算子を水平と垂直とに分離可能に適用することによって実施される重ね合わせ変換のための2次元プリ/ポストフィルタを示すシグナルフローグラフである。 2次元フィルタの水平および垂直演算を段にインターリーブすることによって実施される重ね合わせ変換のための2次元プリ/ポストフィルタを示すシグナルフローグラフである。 図21の2次元プリ/ポストフィルタの一部を形成する正規化2×2アダマール演算子を実現する、Cプログラミング言語でリストされたプログラムである。 2×2プリ/ポストフィルタを用いて処理されるデータ点間の対応を示す図である。 2×2アダマール演算子が、図21の4×4の2次元プリ/ポストフィルタの実施形態の第1段でそこに適用される、4×4データブロックのデータ点を示す図である。 図21の2次元プリフィルタの一部を形成する順回転を実現する、Cプログラミング言語でリストされたプログラムである。 図21の2次元ポストフィルタの一部を形成する逆回転を実現する、Cプログラミング言語でリストされたプログラムである。 図21の2次元プリフィルタの一部を形成する順2点回転を実現する、Cプログラミング言語でリストされたプログラムである。 図21の2次元ポストフィルタの一部を形成する逆2点回転を実現する、Cプログラミング言語でリストされたプログラムである。 図25〜28の回転が、図21の4×4の2次元プリ/ポストフィルタの実施形態の別の段でそこに適用される、4×4データブロックのデータ点を示す図である。 2点スケーリング演算が、図21の4×4の2次元プリ/ポストフィルタの実施形態のさらに別の段でそこに適用される、4×4データブロックのデータ点を示す図である。 図21の2次元プリフィルタの一部を形成する順スケーリングを実現する、Cプログラミング言語でリストされたプログラムである。 図21の2次元ポストフィルタの一部を形成する逆スケーリングを実現する、Cプログラミング言語でリストされたプログラムである。 図21の2次元4×4プリフィルタを実現する、Cプログラミング言語でリストされたプログラムである。 図21の2次元4×4ポストフィルタを実現する、Cプログラミング言語でリストされたプログラムである。 2次元2×2プリフィルタを実現する、Cプログラミング言語でリストされたプログラムである。 2次元2×2ポストフィルタを実現する、Cプログラミング言語でリストされたプログラムである。 図35の2次元プリフィルタには不十分なデータ点を有する画像端において適用するための1次元2点プリフィルタを実現する、Cプログラミング言語でリストされたプログラムである。 図36の2次元ポストフィルタには不十分なデータ点を有する画像端において適用するための1次元2点ポストフィルタを実現する、Cプログラミング言語でリストされたプログラムである。 図33の2次元プリフィルタには不十分なデータ点を有する画像端において適用するための1次元4点プリフィルタを実現する、Cプログラミング言語でリストされたプログラムである。 図34の2次元ポストフィルタには不十分なデータ点を有する画像端において適用するための1次元4点ポストフィルタを実現する、Cプログラミング言語でリストされたプログラムである。 図21のプリフィルタと組み合わせて図4の符号器において重ね合わせ変換を実施するのに使用される順変換を実現する、Cプログラミング言語でリストされたプログラムである。 図41の順変換の一部を形成する変換を実現する、Cプログラミング言語でリストされたプログラムである。 図41の順変換の一部を形成する別の変換を実現する、Cプログラミング言語でリストされたプログラムである。 図21のポストフィルタと組み合わせて図5の復号器において逆重ね合わせ変換を実施するのに使用される逆変換を実現する、Cプログラミング言語でリストされたプログラムである。 図44の逆変換の一部を形成する変換を実現する、Cプログラミング言語でリストされたプログラムである。 図44の逆変換の一部を形成する別の変換を実現する、Cプログラミング言語でリストされたプログラムである。 図4および5の改善された空間領域重ね合わせ変換を用いたブロック変換ベースのコーデックを実施するのに適したコンピューティング環境を示すブロック図である。
符号の説明
710 可逆単位行列式アダマール
1110 可逆直交回転
1120 可逆単位行列式スケーリング

Claims (20)

  1. 2次元ディジタルメディアデータを重ね合わせ変換として処理する方法であって、
    可逆2次元重ね合わせ演算子を、千鳥配列のグリッドベース上の前記ディジタルメディアデータの2次元ブロックの第1のセットに適用するステップと、
    可逆2次元ブロック変換を、整列されたグリッドベース上の前記ディジタルメディアデータの2次元ブロックの第2のセットに適用するステップと
    を含み、前記千鳥配列のグリッドベースは前記整列されたグリッドベースに対して空間的にずらされており、前記可逆2次元重ね合わせ演算子および前記可逆2次元ブロック変換を一緒に適用する前記ステップは、前記2次元ディジタルメディアデータの前記重ね合わせ変換をもたらすことを特徴とする方法。
  2. 請求項1に記載の前記重ね合わせ変換としての前記処理を一部使用することによって前記2次元ディジタルメディアデータを符号化し、復号化する方法であって、復号化において前記可逆2次元重ね合わせ演算子を適用する前記ステップと前記可逆2次元ブロック変換を適用する前記ステップは、前記2次元ディジタルメディアデータの符号化において適用される前記重ね合わせ演算子およびブロック変換から反転され、その逆の順序であり、復号化における重ね合わせ変換としての前記処理は、前記2次元ディジタルメディアデータを符号化し、復号化する際に実行される他のどんな処理とも別の、符号化における重ね合わせ変換としての前記処理の損失なしの逆であることを特徴とする方法。
  3. 前記可逆2次元重ね合わせ演算子を適用する前記ステップは、前記千鳥配列のグリッドベース上の2次元ブロックの前記第1のセット中のブロックについて、
    前記ブロックへの1次元可逆重ね合わせ演算子の水平と垂直に分離可能な適用の演算をインターリーブする複数の段において一連の演算を適用するステップであって、それぞれの段における前記演算は、前記ブロック中の点の独立のサブグループへのリフティングステップとして実施される基本的変換のセットとして構成されるステップ
    を含むことを特徴とする請求項1に記載の方法。
  4. 最初と最後の段において演算を適用する前記ステップは、前記ブロックの4点サブセットに正規化2×2アダマール演算子を適用するステップを含むことを特徴とする請求項3に記載の方法。
  5. 4×4点サイズブロックの場合には、前記4点サブセットは、
    前記ブロックの隅のところの4点のグループと、
    前記ブロックの中央にある4点のグループと、
    前記ブロックの水平端の中央にある4点のグループと、
    前記ブロックの垂直端の中央にある4点のグループと
    を含むことを特徴とする請求項4に記載の方法。
  6. 前記最初と最後の段の間の段において演算を適用する前記ステップは、前記ブロック中の点のサブセットに回転変換を適用するステップを含むことを特徴とする請求項4に記載の方法。
  7. 4×4点サイズブロックの場合には、回転変換を適用する前記ステップは、
    前記ブロックの2×2低域、低域サブセット中の点を通過するステップと、
    前記ブロックの2×2高域、高域サブセットの点に2×2回転変換を適用するステップと、
    前記ブロックの2×2高域、低域サブセットおよび2×2低域、高域サブセットの独立の2点サブグループに2点回転変換を適用するステップと
    を含むことを特徴とする請求項6に記載の方法。
  8. 前記最初と最後の段の間の別の段において演算を適用する前記ステップは、前記ブロック中の点のサブセットにスケーリング演算を適用するステップを含むことを特徴とする請求項4に記載の方法。
  9. 前記別の段において前記ブロック中の点のサブセットにスケーリング演算を適用する前記ステップおよび前記最初と最後の段において前記2×2アダマール演算子を適用する前記ステップは、前記ブロックへの前記1次元可逆重ね合わせ演算子の水平と垂直に分離可能な適用に関する少なくともいくつかの演算を省略し、そのような少なくともいくつかの演算は、前記最初と最後の段の前記2×2アダマール演算子の演算と相殺される前記別の段のスケーリング演算であることを特徴とする請求項8に記載の方法。
  10. 前記別の段において前記ブロック中の点のサブセットにスケーリング演算を適用する前記ステップは、前記ブロックへの前記1次元可逆重ね合わせ演算子の水平と垂直に分離可能な適用に関する、少なくともいくつかの相殺可能なスケーリング演算を省略することを特徴とする請求項8に記載の方法。
  11. 4×4点サイズブロックの場合には、スケーリング演算を適用する前記ステップは、
    前記ブロックの2×2高域、低域サブセットおよび2×2低域、高域サブセット中の点を通過するステップと、
    前記ブロックの2×2高域、高域サブセット、および前記ブロックの2×2低域、低域サブセットにスケーリング演算を適用するステップと
    を含むことを特徴とする請求項8に記載の方法。
  12. 前記ブロックの前記2×2高域、高域サブセットおよび前記低域、低域サブセットにスケーリング演算を適用する前記ステップは、
    前記ブロックの中心の周りに対称的に位置する前記2つのサブセットからの点の対に2点スケーリング演算を適用するステップ
    を含むことを特徴とする請求項11に記載の方法。
  13. ディジタルメディアプロセッサ上で実行可能な、前記プロセッサに2次元ディジタルメディアデータに対して請求項3に記載の方法を実行させるソフトウェアプログラムを保持していることを特徴とする少なくとも1つのプログラム保持媒体。
  14. ディジタルメディアプロセッサ上で実行可能な、前記プロセッサに2次元ディジタルメディアデータに対して請求項8に記載の方法を実行させるソフトウェアプログラムを保持していることを特徴とする少なくとも1つのプログラム保持媒体。
  15. 重ね合わせ変換を使用して処理される2次元ディジタルメディアデータを格納するデータ格納バッファと、
    可逆2次元重ね合わせ演算子を、千鳥配列のグリッドベース上の前記ディジタルメディアデータの2次元ブロックの第1のセットに適用し、
    可逆2次元ブロック変換を、整列されたグリッドベース上の前記ディジタルメディアデータの2次元ブロックの第2のセットに適用するようにプログラムされたプロセッサであって、前記千鳥配列のグリッドベースは前記整列されたグリッドベースに対して空間的にずらされており、前記可逆2次元重ね合わせ演算子および前記可逆2次元ブロック変換を一緒に適用することは、前記2次元ディジタルメディアデータの前記重ね合わせ変換をもたらす
    プロセッサと
    を備えることを特徴とする2次元ディジタルメディアプロセッサ。
  16. 前記可逆2次元重ね合わせ演算子を適用するときに、前記千鳥配列のグリッドベース上の2次元ブロックの前記第1のセット中のブロックについて、さらに、
    前記ブロックへの1次元可逆重ね合わせ演算子の水平と垂直に分離可能な適用の演算をインターリーブする複数の段において一連の演算を適用するようにプログラムされたプロセッサであって、それぞれの段における前記演算は、前記ブロック中の点の独立のサブグループへのリフティングステップとして実施される基本的変換のセットとして構成される
    プロセッサであることを特徴とする請求項15に記載の2次元ディジタルメディアプロセッサ。
  17. 複数の段において前記一連の演算を適用するときに、さらに、
    最初と最後の段において前記ブロックの4点サブセットに正規化2×2アダマール演算子を適用し、
    前記最初と最後の段の間の段において前記ブロック中の点のサブセットに回転変換を適用し、
    前記最初と最後の段の間の前記段においてスケーリング演算を適用する
    ようにプログラムされることを特徴とする請求項16に記載の2次元ディジタルメディアプロセッサ。
  18. 前記ディジタルメディアデータの4×4点サイズブロックの場合には、前記4点サブセットは、
    前記ブロックの隅のところの4点のグループと、
    前記ブロックの中央にある4点のグループと、
    前記ブロックの水平端の中央にある4点のグループと、
    前記ブロックの垂直端の中央にある4点のグループと
    を含むことを特徴とする請求項17に記載の2次元ディジタルメディアプロセッサ。
  19. 前記ディジタルメディアデータの4×4点サイズブロックの場合に、回転変換を適用するときに、さらに、
    前記ブロックの2×2低域、低域サブセット中の点を通過し、
    前記ブロックの2×2高域、高域サブセットの点に2×2回転変換を適用し、
    前記ブロックの2×2高域、低域サブセットおよび2×2低域、高域サブセットの独立の2点サブグループに2点回転変換を適用する
    ようにプログラムされることを特徴とする請求項17に記載の2次元ディジタルメディアプロセッサ。
  20. 4×4点サイズブロックの場合に、前記スケーリング演算を適用するときに、さらに、
    前記ブロックの2×2高域、低域サブセットおよび2×2低域、高域サブセット中の点を通過し、
    前記ブロックの中心の周りに対称的に位置する、前記ブロックの2×2高域、高域サブセットおよび前記ブロックの2×2低域、低域サブセットである2つのサブセットからの点の対に2点スケーリング演算を適用する
    ようにプログラムされることを特徴とする請求項17に記載の2次元ディジタルメディアプロセッサ。
JP2005365286A 2004-12-17 2005-12-19 重ね合わせ双直交変換のための可逆2次元プリ/ポストフィルタリング Active JP4771803B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US11/015,148 US7428342B2 (en) 2004-12-17 2004-12-17 Reversible overlap operator for efficient lossless data compression
US11/015,148 2004-12-17
US11/035,991 2005-01-14
US11/035,991 US7305139B2 (en) 2004-12-17 2005-01-14 Reversible 2-dimensional pre-/post-filtering for lapped biorthogonal transform

Publications (2)

Publication Number Publication Date
JP2006197573A true JP2006197573A (ja) 2006-07-27
JP4771803B2 JP4771803B2 (ja) 2011-09-14

Family

ID=36595821

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005365286A Active JP4771803B2 (ja) 2004-12-17 2005-12-19 重ね合わせ双直交変換のための可逆2次元プリ/ポストフィルタリング

Country Status (2)

Country Link
US (1) US7305139B2 (ja)
JP (1) JP4771803B2 (ja)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009100330A (ja) * 2007-10-18 2009-05-07 Mega Chips Corp 周波数変換器、階層符号器、および、階層復号器
JP2009232217A (ja) * 2008-03-24 2009-10-08 Mega Chips Corp 画像処理装置
JP2009232218A (ja) * 2008-03-24 2009-10-08 Mega Chips Corp 画像処理装置
JP2009267668A (ja) * 2008-04-24 2009-11-12 Mega Chips Corp エンコーダ
JP2009278472A (ja) * 2008-05-15 2009-11-26 Ricoh Co Ltd 情報処理装置、情報処理方法、プログラム及び記録媒体
JP2010041505A (ja) * 2008-08-06 2010-02-18 Ricoh Co Ltd 画像処理装置、画像処理方法、コンピュータプログラム、及び、情報記録媒体
US8094726B2 (en) 2008-04-02 2012-01-10 Canon Kabushiki Kaisha Image encoding apparatus and control method thereof
US8218648B2 (en) 2008-04-02 2012-07-10 Canon Kabushiki Kaisha Image encoding apparatus and control method thereof
US8340441B2 (en) 2008-09-17 2012-12-25 Canon Kabushiki Kaisha Image encoding apparatus, image decoding apparatus, and methods of controlling the same
JP2013516834A (ja) * 2009-12-31 2013-05-13 トムソン ライセンシング ビデオ符号化および復号化用の適応型結合前処理および後処理フィルタのための方法および装置
US8457420B2 (en) 2009-06-16 2013-06-04 Canon Kabushiki Kaisha Image decoding apparatus for decoding image data encoded by a method designating whether to perform distortion suppression processing and control method for the same
US8509548B2 (en) 2009-06-16 2013-08-13 Canon Kabushiki Kaisha Image decoding apparatus and control method for speeding up decoding processing

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7630569B2 (en) * 2002-02-26 2009-12-08 Decegama Angel Real-time software video/audio transmission and display with content protection against camcorder piracy
JP4105578B2 (ja) * 2003-03-28 2008-06-25 株式会社リコー 画像圧縮装置
US7471726B2 (en) * 2003-07-15 2008-12-30 Microsoft Corporation Spatial-domain lapped transform in digital media compression
US7724827B2 (en) * 2003-09-07 2010-05-25 Microsoft Corporation Multi-layer run level encoding and decoding
US7369709B2 (en) 2003-09-07 2008-05-06 Microsoft Corporation Conditional lapped transform
KR100530377B1 (ko) * 2003-12-30 2005-11-22 삼성전자주식회사 엠펙 오디오 디코더의 합성필터 및 그 디코딩 방법
US7305139B2 (en) * 2004-12-17 2007-12-04 Microsoft Corporation Reversible 2-dimensional pre-/post-filtering for lapped biorthogonal transform
US7471850B2 (en) * 2004-12-17 2008-12-30 Microsoft Corporation Reversible transform for lossy and lossless 2-D data compression
US7428342B2 (en) * 2004-12-17 2008-09-23 Microsoft Corporation Reversible overlap operator for efficient lossless data compression
KR100682912B1 (ko) * 2005-01-05 2007-02-15 삼성전자주식회사 화상 데이터 부호화 및 복호화 방법 및 장치
JP4384607B2 (ja) * 2005-01-25 2009-12-16 株式会社日立国際電気 画像処理装置
US9118923B2 (en) * 2005-04-27 2015-08-25 Broadcom Corporation Reconstruction and overlap transform system and method supporting VC-1 decoding
KR101088375B1 (ko) * 2005-07-21 2011-12-01 삼성전자주식회사 가변 블록 변환 장치 및 방법 및 이를 이용한 영상부호화/복호화 장치 및 방법
US8036274B2 (en) * 2005-08-12 2011-10-11 Microsoft Corporation SIMD lapped transform-based digital media encoding/decoding
US8260070B1 (en) * 2006-10-03 2012-09-04 Adobe Systems Incorporated Method and system to generate a compressed image utilizing custom probability tables
WO2008108701A1 (en) * 2007-03-02 2008-09-12 Telefonaktiebolaget Lm Ericsson (Publ) Postfilter for layered codecs
TWI370690B (en) * 2008-03-21 2012-08-11 Novatek Microelectronics Corp Method and apparatus for generating coded block pattern for highpass coeffecients
US8139880B2 (en) * 2008-03-24 2012-03-20 Microsoft Corporation Lifting-based directional lapped transforms
TWI382768B (zh) * 2008-03-24 2013-01-11 Novatek Microelectronics Corp 具有執行重疊濾波以及核心轉換的運算方法及其裝置
US8369638B2 (en) * 2008-05-27 2013-02-05 Microsoft Corporation Reducing DC leakage in HD photo transform
US8447591B2 (en) * 2008-05-30 2013-05-21 Microsoft Corporation Factorization of overlapping tranforms into two block transforms
US8275209B2 (en) * 2008-10-10 2012-09-25 Microsoft Corporation Reduced DC gain mismatch and DC leakage in overlap transform processing
KR101054644B1 (ko) * 2008-11-25 2011-08-08 에스케이 텔레콤주식회사 동작 추정 기반 영상 부호화/복호화 장치 및 방법
US20100312828A1 (en) * 2009-06-03 2010-12-09 Mobixell Networks Ltd. Server-controlled download of streaming media files
GB2475721B (en) * 2009-11-27 2015-03-11 British Broadcasting Corp Picture encoding and decoding
US8527649B2 (en) * 2010-03-09 2013-09-03 Mobixell Networks Ltd. Multi-stream bit rate adaptation
US8832709B2 (en) 2010-07-19 2014-09-09 Flash Networks Ltd. Network optimization
US8688074B2 (en) 2011-02-28 2014-04-01 Moisixell Networks Ltd. Service classification of web traffic
US11502715B2 (en) * 2020-04-29 2022-11-15 Eagle Technology, Llc Radio frequency (RF) system including programmable processing circuit performing block coding computations and related methods

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0591459A (ja) * 1990-12-21 1993-04-09 Casio Comput Co Ltd 電子カメラ

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4754492A (en) 1985-06-03 1988-06-28 Picturetel Corporation Method and system for adapting a digitized signal processing system for block processing with minimal blocking artifacts
US5297236A (en) 1989-01-27 1994-03-22 Dolby Laboratories Licensing Corporation Low computational-complexity digital filter bank for encoder, decoder, and encoder/decoder
JP2549479B2 (ja) 1991-12-06 1996-10-30 日本電信電話株式会社 動き補償フレーム間帯域分割符号化処理方法
KR0148130B1 (ko) 1992-05-18 1998-09-15 강진구 블럭킹아티팩트를 억제시키는 부호화/복호화 방법 및 그 장치
US5982459A (en) 1995-05-31 1999-11-09 8×8, Inc. Integrated multimedia communications processor and codec
US5933535A (en) 1995-10-05 1999-08-03 Microsoft Corporation Object-based video compression process employing arbitrarily-shaped features
US5850294A (en) 1995-12-18 1998-12-15 Lucent Technologies Inc. Method and apparatus for post-processing images
US5805739A (en) 1996-04-02 1998-09-08 Picturetel Corporation Lapped orthogonal vector quantization
JP2907146B2 (ja) 1996-09-11 1999-06-21 日本電気株式会社 メモリlsiの特定箇所探索方法および探索装置
US5973755A (en) 1997-04-04 1999-10-26 Microsoft Corporation Video encoder and decoder using bilinear motion compensation and lapped orthogonal transforms
US6101279A (en) * 1997-06-05 2000-08-08 Wisconsin Alumni Research Foundation Image compression system using block transforms and tree-type coefficient truncation
US5859788A (en) 1997-08-15 1999-01-12 The Aerospace Corporation Modulated lapped transform method
US6393156B1 (en) 1998-01-07 2002-05-21 Truong Q. Nguyen Enhanced transform compatibility for standardized data compression
US6393061B1 (en) 1998-05-15 2002-05-21 Hughes Electronics Corporation Method for reducing blocking artifacts in digital images
US6029126A (en) 1998-06-30 2000-02-22 Microsoft Corporation Scalable audio coder and decoder
US6115689A (en) 1998-05-27 2000-09-05 Microsoft Corporation Scalable audio coder and decoder
US6154762A (en) 1998-06-03 2000-11-28 Microsoft Corporation Fast system and method for computing modulated lapped transforms
US6073153A (en) 1998-06-03 2000-06-06 Microsoft Corporation Fast system and method for computing modulated lapped transforms
US6253165B1 (en) 1998-06-30 2001-06-26 Microsoft Corporation System and method for modeling probability distribution functions of transform coefficients of encoded signal
US6496795B1 (en) 1999-05-05 2002-12-17 Microsoft Corporation Modulated complex lapped transform for integrated signal enhancement and coding
US6487574B1 (en) 1999-02-26 2002-11-26 Microsoft Corp. System and method for producing modulated complex lapped transforms
US6370502B1 (en) 1999-05-27 2002-04-09 America Online, Inc. Method and system for reduction of quantization-induced block-discontinuities and general purpose audio codec
US6771829B1 (en) * 1999-10-23 2004-08-03 Fastvdo Llc Method for local zerotree image coding
US6865229B1 (en) 1999-12-14 2005-03-08 Koninklijke Philips Electronics N.V. Method and apparatus for reducing the “blocky picture” effect in MPEG decoded images
US6771828B1 (en) 2000-03-03 2004-08-03 Microsoft Corporation System and method for progessively transform coding digital data
WO2002007438A1 (en) 2000-07-17 2002-01-24 Trustees Of Boston University Generalized lapped biorthogonal transform embedded inverse discrete cosine transform and low bit rate video sequence coding artifact removal
KR20020064803A (ko) 2000-09-12 2002-08-09 코닌클리케 필립스 일렉트로닉스 엔.브이. 비디오 코딩 방법
CN101448162B (zh) 2001-12-17 2013-01-02 微软公司 处理视频图像的方法
US6763068B2 (en) 2001-12-28 2004-07-13 Nokia Corporation Method and apparatus for selecting macroblock quantization parameters in a video encoder
US7155065B1 (en) * 2002-03-27 2006-12-26 Microsoft Corporation System and method for progressively transforming and coding digital data
US7006699B2 (en) 2002-03-27 2006-02-28 Microsoft Corporation System and method for progressively transforming and coding digital data
US7242713B2 (en) 2002-05-02 2007-07-10 Microsoft Corporation 2-D transforms for image and video coding
US6728315B2 (en) 2002-07-24 2004-04-27 Apple Computer, Inc. Method and apparatus for variable accuracy inter-picture timing specification for digital video encoding with reduced requirements for division operations
US7227901B2 (en) 2002-11-21 2007-06-05 Ub Video Inc. Low-complexity deblocking filter
US7167522B2 (en) 2003-02-27 2007-01-23 Texas Instruments Incorporated Video deblocking filter
US7471726B2 (en) 2003-07-15 2008-12-30 Microsoft Corporation Spatial-domain lapped transform in digital media compression
US7305139B2 (en) * 2004-12-17 2007-12-04 Microsoft Corporation Reversible 2-dimensional pre-/post-filtering for lapped biorthogonal transform

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0591459A (ja) * 1990-12-21 1993-04-09 Casio Comput Co Ltd 電子カメラ

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009100330A (ja) * 2007-10-18 2009-05-07 Mega Chips Corp 周波数変換器、階層符号器、および、階層復号器
US8270740B2 (en) 2007-10-18 2012-09-18 Megachips Corporation Frequency converter and frequency inverter
JP2009232217A (ja) * 2008-03-24 2009-10-08 Mega Chips Corp 画像処理装置
JP2009232218A (ja) * 2008-03-24 2009-10-08 Mega Chips Corp 画像処理装置
US8094726B2 (en) 2008-04-02 2012-01-10 Canon Kabushiki Kaisha Image encoding apparatus and control method thereof
US8218648B2 (en) 2008-04-02 2012-07-10 Canon Kabushiki Kaisha Image encoding apparatus and control method thereof
JP2009267668A (ja) * 2008-04-24 2009-11-12 Mega Chips Corp エンコーダ
JP2009278472A (ja) * 2008-05-15 2009-11-26 Ricoh Co Ltd 情報処理装置、情報処理方法、プログラム及び記録媒体
US8559735B2 (en) 2008-05-15 2013-10-15 Ricoh Company, Ltd. Information processing apparatus for extracting codes corresponding to an image area
JP2010041505A (ja) * 2008-08-06 2010-02-18 Ricoh Co Ltd 画像処理装置、画像処理方法、コンピュータプログラム、及び、情報記録媒体
US8295618B2 (en) 2008-08-06 2012-10-23 Ricoh Company, Limited Image processing apparatus, image processing method, and computer program product
US8340441B2 (en) 2008-09-17 2012-12-25 Canon Kabushiki Kaisha Image encoding apparatus, image decoding apparatus, and methods of controlling the same
US8457420B2 (en) 2009-06-16 2013-06-04 Canon Kabushiki Kaisha Image decoding apparatus for decoding image data encoded by a method designating whether to perform distortion suppression processing and control method for the same
US8509548B2 (en) 2009-06-16 2013-08-13 Canon Kabushiki Kaisha Image decoding apparatus and control method for speeding up decoding processing
JP2013516834A (ja) * 2009-12-31 2013-05-13 トムソン ライセンシング ビデオ符号化および復号化用の適応型結合前処理および後処理フィルタのための方法および装置

Also Published As

Publication number Publication date
US7305139B2 (en) 2007-12-04
US20060133684A1 (en) 2006-06-22
JP4771803B2 (ja) 2011-09-14

Similar Documents

Publication Publication Date Title
JP4771803B2 (ja) 重ね合わせ双直交変換のための可逆2次元プリ/ポストフィルタリング
JP5036900B2 (ja) 効率的な損失なしデータ圧縮のための可逆重ね合わせ演算子
KR101036733B1 (ko) 중복 변환으로서 2차원 디지털 미디어 데이터를 처리하는방법 및 2차원 디지털 미디어 프로세서
EP1913521B1 (en) Simd lapped transform-based digital media encoding/decoding
BRPI0506196B1 (pt) Method for encoding and decoding two-dimensional digital media data and two-dimensional digital media processor

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081203

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20090902

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20091008

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101105

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110204

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110209

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110303

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110308

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110405

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110408

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110506

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110523

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110621

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140701

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4771803

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250