JP2003333598A - イメージおよびビデオ符号化のための2−d変換 - Google Patents

イメージおよびビデオ符号化のための2−d変換

Info

Publication number
JP2003333598A
JP2003333598A JP2003122704A JP2003122704A JP2003333598A JP 2003333598 A JP2003333598 A JP 2003333598A JP 2003122704 A JP2003122704 A JP 2003122704A JP 2003122704 A JP2003122704 A JP 2003122704A JP 2003333598 A JP2003333598 A JP 2003333598A
Authority
JP
Japan
Prior art keywords
transform
matrix
block
constraint
integer
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
JP2003122704A
Other languages
English (en)
Other versions
JP4425561B2 (ja
Inventor
Sridhar Srinivasan
スリニバサン スリドハー
Shankar Regunathan
レグナザン シャンカー
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
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2003333598A publication Critical patent/JP2003333598A/ja
Application granted granted Critical
Publication of JP4425561B2 publication Critical patent/JP4425561B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/007Transform coding, e.g. discrete cosine transform
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/147Discrete orthonormal transforms, e.g. discrete cosine transform, discrete sine transform, and variations therefrom, e.g. modified discrete cosine transform, integer transforms approximating the discrete cosine transform
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Discrete Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Multimedia (AREA)
  • Algebra (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Television Systems (AREA)

Abstract

(57)【要約】 【課題】 計算効率のよい、イメージおよびビデオ符号
化に使用するような変換の実装を提供すること。 【解決手段】 本発明の変換実装は、ある範囲制限の制
約に従って構築される1次元変換および2次元変換のセ
ットを提供する。この制約は、この変換が、スケーリン
グされた整数の実装を有すること、完全またはほぼ完全
な再構築を提供すること、DCT近似の基底(DCT-like
basis)を有すること、nビット(例えば、nは16ビ
ット)における表現の範囲内の係数に制限されること、
ノルムに類似する基底関数を有すること、および、範囲
のオーバーフローに対して十分なヘッドルームを提供す
ること、を含むことができる。この変換のセットは、整
数行列乗算演算を使用した効率的計算処理のための、n
ビット整数範囲内の実装を有するこの手順により、構築
される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、信号をデジタル方
式でエンコードしたり、処理したりするための技術に関
する。より詳細には、本発明は、イメージおよびビデオ
などの信号のエンコードおよびデコードにおける、計算
効率のよい変換のクラスの構築および使用に関する。
【0002】
【従来の技術】変換符号化は、多数のオーディオ、イメ
ージおよびビデオ圧縮システムにおいて使用される圧縮
技術である。圧縮されていないデジタル・イメージおよ
びビデオは通常、2次元グリッド内に配列されたイメー
ジまたはビデオ・フレームにおける位置の画素または色
のサンプルとして表現され、あるいは取り込まれる。例
えば、イメージ用の通常のフォーマットは、グリッドと
して配列された24ビットのカラー画素サンプルのスト
リームからなる。各サンプルは、中でもRGBまたはY
IQなど、色空間内のグリッド内でピクセル位置での色
成分を表現する集まりである。様々なイメージおよびビ
デオ・システムは、サンプリングについて様々な異なる
色、空間および時間分解能を備えることができる。
【0003】圧縮されていないデジタル・イメージおよ
びビデオ信号は、かなりの格納容量および伝送容量を消
費する可能性がある。変換符号化は、これは、信号の空
間領域表現を周波数領域(または、変換領域などの他
の)表現に変換すること、および次いで、変換領域表現
の、一般に知覚困難なある周波数成分の分解能を低減す
ることによって、デジタル・イメージおよびビデオの量
的なサイズを低減する。このことは、一般に、空間領域
におけるイメージまたはビデオの色または空間の分解能
の低減に比較して、ずっと少ないデジタル信号について
の劣化を生じさせる。
【0004】具体的には、通常の変換符号化技術は、圧
縮されていないデジタル・イメージのピクセルを、固定
サイズの2次元ブロックで、場合によっては他のブロッ
クと重なりあう各ブロックに分割する。空間周波数解析
を行う線形変換が各ブロックに適用され、これはブロッ
ク内で間隔のあいたサンプルを、周波数(または変換)
係数のセットに変換し、これは一般に、ブロック空間の
全面にわたって対応する周波数帯域におけるデジタル信
号の強度を表現している。圧縮のため、変換係数を選択
的に量子化することができ(すなわち、分解能を低減
し、これは、係数値の最下位ビットをドロップするこ
と、またはそうでない場合は、より高い分解能数セット
における値をより低い分解能にマップすることなどによ
って行う)、その後、圧縮データ・ストリームにエント
ロピー符号化または可変長符号化することができる。デ
コードでは、変換係数は逆方向変換されて、元々の、色
/空間サンプリングされた、イメージ/ビデオ信号をほ
ぼ再構築する。
【0005】中でもMPEGおよびWindows(登
録商標)Mediaなど、多数のイメージおよびビデオ
圧縮システムは、離散コサイン変換(DCT)に基づい
た変換を利用する。DCTは、ほぼ最適なデータ圧縮を
結果として生じる、好ましいエネルギー圧縮特性を有す
ることが知られている。これらの圧縮システムでは、逆
DCT(IDCT)が、個々のイメージ・ブロックを再
構築するために、圧縮システムのエンコーダおよびデコ
ーダにおける再構築ループにおいて使用される(例え
ば、非特許文献1参照)。
【0006】非特許文献1において定義されたIDCT
変換の欠点は、変換の計算が64ビット浮動小数点数の
行列乗算を要件とする変換の計算であり、これは計算処
理的に費用のかかるものである。このことは、IDCT
が、リアル・タイムベースで、あるいは他の同様の時間
制約下で、多量の圧縮データに基づいて実行されている
場合、特にストリーミング・メディアおよび同様のメデ
ィア再生アプリケーションにおいて、イメージまたはビ
デオ圧縮システムのパフォーマンスが制限される可能性
がある。
【0007】
【非特許文献1】"IEEE Standard Specification for t
he Implementations of 8x8 Inverse Discrete Cosine
Transform", IEEE Std. 1180-1990, December 6, 1990
【0008】
【発明が解決しようとする課題】本発明の目的は、イメ
ージおよびビデオなどの信号のエンコードおよびデコー
ドにおいて、1および2次元変換のクラス、このような
変換の構築において、効率良く計算する方法、この方法
を適用した装置、および記憶媒体を提供することにあ
る。
【0009】本明細書では、1および2次元変換のクラ
ス、このような変換を構築するための技術、および、こ
のような変換を利用したメディア符号化/復号システム
が、記載される。
【0010】
【課題を解決するための手段】記載した変換は、計算効
率(computational efficiency)を得るために、整数を
使用した行列乗算演算に基づいた実装(implementation
s)を備えている。通常の一般的な目的およびグラフィ
ックス・プロセッサでは、整数を使用した行列乗算演算
を、浮動小数点数を使用した場合よりも、はるかに高速
に実行することができる。さらに、いくつかの32ビッ
ト・プロセッサは、同時に2つの16ビット整数を使用
した乗算演算を提供する。典型的な実装では、記載した
変換は、16ビット整数行列乗算を使用して実行され
る。整数の行列乗算を使用した記載した変換の実装は、
メディア符号化/復号システムにおける符号化および復
号化のパフォーマンスの速度を早める。
【0011】記載した変換を、本明細書に記載した構築
手順を介して生成することができる。この構築手順は、
ある制約を受ける変換係数のセットの選択に基づく変換
クラスの変換を生成する。この制約は、この変換が、ス
ケーリングされた整数の実装を有すること、完全または
ほぼ完全な再構築を提供すること、DCT近似の基底
(DCT like Basis)を有すること、nビット(例えば、
nは16ビット)における表現の範囲内の係数に制限さ
れること、ノルム(norm)において近い基底関数(basi
s functions)を有すること、および、その範囲からの
オーバーフローに備えて十分なヘッドルームを提供する
こと、を含むことができる。
【0012】記載した構築手順を使用すると、1次元に
おける4および8点の成分を備えた変換のセットは、2
次元における8×8、8×4、4×8および4×4ブロ
ック変換を生じさせる。16ビット行列乗算を使用した
実装を可能にする変換に基づく圧縮システムは、より計
算効率のよいエンコーディングおよびデコーディングを
提供することができる。
【0013】本発明の追加の特徴および利点は、添付の
図面を参照して進行する以下の実施形態の詳細な説明か
ら、明らかになるであろう。
【0014】
【発明の実施の形態】以下の記載は、計算効率のための
1および2次元変換のクラス、ある基準に従うこのよう
な変換を構築するための技術、および信号処理における
このような変換の使用、および詳細には、このような変
換に基づいたメディア圧縮システムを対象とする。変換
の例示的応用例は、Microsoft Window
s(登録商標)Media Video(WMV)ファ
イル・フォーマットの変形形態を使用するエンコーダお
よびデコーダなど、イメージまたはビデオのエンコーダ
およびデコータにおけるものである。しかし、本明細書
に記載したように構築された変換はこのフォーマットに
限定されず、他のメディア符号化フォーマットに適用す
ることができる。したがって、これらの変換を、汎用の
イメージまたはビデオのエンコーダおよびデコーダに関
連して記載するが、別法として、様々なタイプのメディ
ア信号エンコーダおよびデコーダに組み込むことができ
る。
【0015】I.汎用ビデオ・エンコーダおよびデコー
ダ 図1は汎用ビデオ・エンコーダ(100)のブロック図
であり、図2は汎用ビデオ・デコーダ(200)のブロ
ック図である。
【0016】エンコーダおよびデコーダ内の複数のモジ
ュールの間で示される関係は、エンコーダおよびデコー
ダにおける情報の主要な流れを示し、他の関係は、簡単
にするために図示しない。特に、図1および2は、通
常、ビデオ・シーケンス、フレーム、マクロブロック、
ブロックなどのために使用されるエンコーダ設定、モー
ド、テーブルなどを示す副情報を図示しない。このよう
な副情報が、通常は、副情報のエントロピー符号化の
後、出力ビットストリームにおいて送信される。出力ビ
ットストリームのフォーマットを、Windows(登
録商標)MediaVideoフォーマットまたは別の
フォーマットにすることができる。
【0017】エンコーダ(100)およびデコーダ(2
00)はブロック・ベースであり、4:2:0マクロブ
ロック・フォーマットを使用し、各マクロブロックは、
4つのルミナンス8×8ルミナンス・ブロック(時とし
て、1つの16×16マクロブロックとして処理され
る)および2つの8×8クロミナンス・ブロックを含
む。別法として、エンコーダ(100)およびデコーダ
(200)はオブジェクト・ベースであり、異なるマク
ロブロックまたはブロック・フォーマットを使用し、あ
るいは、8×8ブロックおよび16×16マクロブロッ
クとは異なるサイズまたは構成のピクセルのセットにお
いてオペレーションを実行する。
【0018】実装および所望の圧縮のタイプに応じて、
エンコーダまたはデコーダのモジュールを追加したり、
省略したり、多数のモジュールに分割にしたり、他のモ
ジュールと結合したり、かつ/または同様のモジュール
で置き換えたりすることができる。代替実施形態では、
異なるモジュールおよび/または他のモジュールの構成
を有するエンコーダまたはデコーダは、記載した技術の
うち1つまたは複数を実行する。
【0019】A.ビデオ・エンコーダ 図1は、汎用ビデオ・エンコーダ・システム(100)
のブロック図である。エンコーダ・システム(100)
は、カレント・フレーム(105)を含むビデオ・フレ
ームのシーケンスを受信し、圧縮されたビデオ情報(1
95)を出力として生じさせる。ビデオ・エンコーダの
特定の実施形態は、通常、汎用エンコーダ(100)の
変形形態(variation)または補足バージョン(supplem
ented version)を使用する。
【0020】エンコーダ・システム(100)は、予測
フレームおよびキー・フレームを圧縮する。説明のた
め、図1は、エンコーダ・システム(100)を通過す
るキー・フレームのパス、および、前方向予測フレーム
のパスを示す。エンコーダ・システム(100)のコン
ポーネントの多くは、キー・フレームおよび予測フレー
ムの両方を圧縮するために使用される。これらのコンポ
ーネントによって実行される厳密なオペレーションは、
圧縮中の情報のタイプに応じて変わる可能性がある。
【0021】予測フレーム(pフレーム、双方向予測で
はbフレーム、またはインター・コード化フレーム(in
ter-coded frame)とも呼ばれる)は、1つまたは複数
の他のフレームからの予測(または差異)の期間に対し
て表現される。予測残差は、予測されたものと元のフレ
ームの間の差異である。対照的に、キー・フレーム(i
フレーム、イントラ・コード化フレーム(intra-coded
frame)とも呼ばれる)は、他のフレームに関係なく圧
縮される。
【0022】カレント・フレーム(105)が前方向予
測フレームであった場合、動き予測器(110)は、フ
レーム・ストア(120)においてバッファリングされ
ている、再構築された先のフレーム(125)である、
参照フレームを考慮して、カレント・フレーム(10
5)のマクロブロックまたは他のピクセルのセットの動
きを予測する。代替実施形態では、参照フレームは後の
フレームであり、あるいはカレント・フレームは双方向
予測される。動き予測器(110)は、副情報として動
きベクトルなどの動き情報(115)を出力する。動き
補償器(130)は、動き情報(115)を、再構築さ
れた先のフレーム(125)に加えて、動き補償された
カレント・フレーム(135)を形成する。しかし、予
測はめったに完全ではなく、動き補償されたカレント・
フレーム(135)と元のカレント・フレーム(10
5)の間の差異は、予測残差(145)である。別法と
して、動き予測器および動き補償器は、別のタイプの動
き予測/補償を適用する。
【0023】周波数変換器(160)は、空間領域ビデ
オ情報を周波数領域(すなわち、スペクトル)データに
変換する。ブロック−ベースのビデオ・フレームでは、
周波数変換器(160)は、以下のセクションで記載す
る、離散コサイン変換[「DCT」]に類似した特性を
有する変換を適用する。いくつかの実施形態では、周波
数変換器(160)は周波数変換を、キー・フレームに
ついての空間予測残差のブロックに適用する。周波数変
換器(160)は、8×8、8×4、4×8または他の
サイズの周波数変換を適用することができる。
【0024】次いで、量子化器(170)がスペクトル
・データ係数のブロックを量子化する。量子化器は、一
様なスカラー量子化を、フレーム毎のベースで、あるい
は他のベースで変わるステップ・サイズを使用してスペ
クトル・データに適用する。別法として、量子化器は別
のタイプの量子化をスペクトル・データ係数に適用し、
これは例えば、非一様、ベクトル、または非適応量子化
であり、あるいは空間領域データを、周波数変換を使用
しないエンコーダ・システムにおいて直接量子化する。
適応量子化に加えて、エンコーダ(100)はフレーム
・ドロップ、適応フィルタリング、またはレート・コン
トロールのための他の技術を使用することができる。
【0025】再構築されたカレント・フレームが、後続
の動き予測/補償のために必要とされるとき、逆量子化
器(176)は逆量子化を、量子化されたスペクトル・
データ係数上で実行する。次いで、逆周波数変換器(1
66)は、周波数変換器(160)のオペレーションの
逆を実行し、再構築された予測残差(予測フレームのも
の)、または再構築されたキー・フレームを生じさせ
る。カレント・フレーム(105)がキー・フレームで
あった場合、再構築されたキー・フレームが、再構築さ
れたカレント・フレーム(図示せず)として採用され
る。カレント・フレーム(105)が予測フレームであ
った場合、再構築された予測残差が、動き補償されたカ
レント・フレーム(135)に追加されて、再構築され
たカレント・フレームが形成される。フレーム・ストア
(120)は、再構築されたカレント・フレームを、次
のフレームの予測において使用するためにバッファリン
グする。いくつかの実施形態では、エンコーダは、デブ
ロッキング・フィルタを再構築されたフレームに適用し
て、フレームのブロックにおける不連続性を適応的に平
滑化する。
【0026】エントロピー符号器(180)は、量子化
器(170)の出力ならびにある副情報(例えば、動き
情報(115)、量子化ステップ・サイズ)を圧縮す
る。通常のエントロピー符号化技術には、算術符号化、
差分符号化、ハフマン符号化、ラン・レングス符号化、
LZ符号化、辞書型符号化、および上記の組合せが含ま
れる。エントロピー符号器(180)は通常、異なる種
類の情報(例えば、DC係数、AC係数、異なる種類の
副情報)について異なる符号化技術を使用し、特定の符
号化技術内の複数のコード・テーブルの中から選択する
ことができる。
【0027】エントロピー符号器(180)は、圧縮さ
れたビデオ情報(195)をバッファ(190)に入れ
る。バッファ・レベル・インディケータ(標識)が、ビ
ットレート適応化モジュールにフィードバックされる。
圧縮されたビデオ情報(195)は、バッファ(19
0)から、一定の、あるいは相対的に一定のビットレー
ドで消耗され、そのビットレートでの後続のストリーミ
ングに備えてに格納される。別法として、エンコーダ・
システム(100)は、圧縮されたビデオ情報を、圧縮
のすぐ後に続いてストリームする。
【0028】バッファ(190)の前または後に、圧縮
されたビデオ情報(195)を、ネットワークを介して
伝送するためにチャネル符号化することができる。チャ
ネル符号化は、誤り検出および訂正データを、圧縮され
たビデオ情報(195)に適用することができる。
【0029】B.ビデオ・デコーダ 図2は、汎用ビデオ・デコーダ・システム(200)の
ブロック図である。デコーダ・システム(200)は、
圧縮されたビデオ・フレームのシーケンスについての情
報(295)を受信し、再構築されたフレーム(20
5)を含む出力を生じさせる。ビデオ・デコーダの特定
の実施形態は、通常、汎用デコーダ(200)の変形形
態または補足バージョンを使用する。
【0030】デコーダ・システム(200)は、予測フ
レームおよびキー・フレームを圧縮解除する。説明のた
め、図2は、デコーダ・システム(200)を通過する
キー・フレームのパス、および、前方向予測フレームの
パスを示す。デコーダ・システム(200)のコンポー
ネントの多くは、キー・フレームおよび予測フレームの
両方を圧縮解除するために使用される。これらのコンポ
ーネントによって実行される厳密なオペレーションは、
圧縮解除中の情報のタイプに応じて変わる可能性があ
る。
【0031】バッファ(290)は、圧縮されたビデオ
・シーケンスについての情報(295)を受信し、受信
された情報をエントロピー復号器(280)で使用可能
にする。バッファ(290)は通常、情報を、経時的に
かなり一定であるレートで受信し、帯域幅または伝送に
おける短期の変化を平滑化するためのジッタ・バッファ
を含む。バッファ(290)は、再生バッファおよび他
のバッファも含むことができる。別法として、バッファ
(290)は情報を、変化するレートで受信する。バッ
ファ(290)の前または後に、圧縮されたビデオ情報
をチャネル・デコードし、誤り検出および訂正のために
処理することができる。
【0032】エントロピー復号器(280)は、通常
は、エンコーダにおいて実行されたエントロピー符号化
の逆を適用して、エントロピー符号化された量子化デー
タ、ならびに、エントロピー符号化された副情報(例え
ば、動き情報、量子化ステップ・サイズ)をエントロピ
ー復号する。エントロピー復号技術には、算術復号、差
分復号、ハフマン復号、ラン・レングス復号、LZ復
号、辞書型復号、および上記の組合せが含まれる。エン
トロピー復号器(280)はしばしば、異なる種類の情
報(例えば、DC係数、AC係数、異なる種類の副情
報)について異なる符号化技術を使用し、特定の復号技
術内の複数のコード・テーブルの中から選択することが
できる。
【0033】再構築されるフレーム(205)が前方向
予測フレームであった場合、動き補償器(230)は動
き情報(215)を参照フレーム(225)に適用し
て、再構築されるフレーム(205)の予測(235)
を形成する。例えば、動き補償器(230)はマクロブ
ロック動きベクトルを使用して、参照フレーム(22
5)におけるマクロブロックを発見する。フレーム・バ
ッファ(220)は、先の再構築されたフレームを、参
照フレームとして使用するために格納する。別法とし
て、動き補償器は別のタイプの動き補償を適用する。動
き補償器による予測はめったに完全ではなく、そのため
デコーダ(200)はまた予測残差をも再構築する。
【0034】デコーダが、再構築されたフレームを後続
の動き補償のために必要とするとき、フレーム・ストア
(220)は、再構築されたフレームを、次のフレーム
の予測において使用するためにバッファリングする。い
くつかの実施形態では、エンコーダは、デブロッキング
・フィルタを再構築されたフレームに適用して、フレー
ムのブロック内の不連続性を適応的に平滑化する。
【0035】逆量子化器(270)は、エントロピー復
号されたデータを逆量子化する。一般には、逆量子化器
は一様なスカラー逆量子化を、フレーム毎のベースで、
あるいは他のベースで変わるステップ・サイズを使用し
て、エントロピー復号されたデータに適用する。別法と
して、逆量子化器は別のタイプの逆量子化をデータに適
用し、これは例えば、非一様、ベクトル、または非適応
逆量子化であり、あるいは空間領域データを、逆周波数
変換を使用しないデコーダ・システムにおいて直接逆量
子化する。
【0036】逆周波数変換器(260)は、量子化され
た周波数領域を空間領域ビデオ情報に変換する。ブロッ
ク−ベースのビデオ・フレームに対して、逆周波数変換
器(260)は、以下のセクションで記載する逆方向変
換を適用する。いくつかの実施形態では、逆周波数変換
器(260)は逆周波数変換を、キー・フレームの空間
予測残差のブロックに適用する。逆周波数変換器(26
0)は、8×8、8×4、4×8または他のサイズの逆
周波数変換を適用することができる。
【0037】II.変換の概観 図3は、図1および2のビデオ・エンコーダ100およ
びデコーダ200において使用された2次元変換300
および逆方向変換310を例示する。変換300および
逆方向変換310は、以下に記載するようなある制約を
受けて構築された変換のクラスに基づいている。
【0038】2次元変換300は、メディア・コンテン
ツの空間的に関係付けられたサンプルとして表現された
メディア・コンテンツの2次元(n×m)ブロック32
0を、変換領域ブロックに変換する。例えば、ブロック
は、一様に間隔のあいたグリッド位置に配列されたカラ
ー・サンプル(ピクセル)のアレイとして表現すること
ができるような、デジタル・イメージまたはデジタル・
ビデオ・フレームの一部であるとすることができる。こ
れは、メディア・コンテンツの空間領域表現と呼ばれ
る。この変換ブロックもまたn×mサンプルからなり、
本明細書では、メディア・コンテンツの変換領域表現と
称する。
【0039】逆方向変換320は、サンプルのブロック
を変換領域から、元の、あるいは空間領域に戻すように
変換する。
【0040】III.変換ベースの符号化 一般に、例えば、上述したビデオ・エンコーダおよびデ
コーダにおけるような、メディア・コンテンツの変換ベ
ースの符号化400は、変換300(図3)および逆方
向変換310(図3)を量子化と共に利用して、メディ
ア・コンテンツを圧縮された形式でエンコードする。変
換ベースの符号化は最初に変換ステージ410内の変換
300を、変換領域に変換するためにメディア・コンテ
ンツの入力ブロックに適用する。次いで、変換ベースの
符号化は、量子化ステージ420で、ある変換領域サン
プル(例えば、メディア・コンテンツについてより少な
い知覚可能な劣化を生じさせる変換領域サンプル)の量
子化を実行する(すなわち、分解能を低減する)。量子
化された変換領域サンプルを使用して、圧縮された形式
のメディア・コンテンツを生成することができる。
【0041】変換ベースの符号化400はまた、逆量子
化ステージ430および逆方向変換ステージ440も有
する。逆量子化ステージ430で、変換ベースの符号化
は、量子化された変換領域サンプルを、それらの元の分
解能に戻すようにマップし、逆方向変換310の準備を
する。変換ベースの符号化は、逆方向変換ステージにお
いて、逆方向変換を逆量子化された領域サンプルにおい
て実行して、次いでメディア・コンテンツ・ブロックを
再構築する。
【0042】変換ベースの符号化400を、ビデオ・エ
ンコーダおよびデコーダにおける様々な点で実行するこ
とができる。例えば、ビデオ・エンコーダは、また、差
分符号化およびインター・フレーム符号化技術において
使用するために、逆量子化および逆方向変換ステージを
有する再構築ループを含むこともできる。
【0043】IV.計算効率のよい逆方向変換の実装 このとき、図5を参照すると、変換300および逆方向
変換310(図3)は、好ましくは、前−乗算変換行列
(T)による(変換300のための空間領域サンプル
の、かつ、逆方向変換のための変換領域サンプルの)2
次元データ・ブロックの前−乗算510、および、後−
乗算変換行列(T’)による後−乗算530として実装
される。前−乗算変換行列(T)の行は変換の基底関数
を表し、これが前−乗算510におけるデータ・ブロッ
クの列に適用される。同様に、後−乗算変換行列
(T’)の列は、後−乗算530におけるデータ・ブロ
ックの行に適用される変換基底関数(transform basis
functions)である。
【0044】計算効率のため、変換行列(Tおよび
T’)およびデータ・ブロックは、コンピュータまたは
グラフィックス・プロセッサの整数乗算演算を使用して
その行列乗算が実行されることを可能にする範囲内の整
数値から構成される。例えば、16ビット整数乗算演算
を提供する多数の現在のプロセッサでは、好ましくは、
16ビット整数乗算演算を使用してその行列が実行され
ることを可能にする範囲内の整数から構成される。別法
として、行列は、他のサイズの整数の整数乗算演算を提
供するプロセッサのための、より小さい、あるいはより
大きい範囲における整数から構成されることも可能であ
る。
【0045】整数から構成される変換基底関数によるデ
ータ・ブロックの前−乗算および後−乗算は、結果とし
て生じるデータ・ブロック値をより大きい範囲において
生じさせる。実装500は、基底関数乗算によるこの拡
大を、それぞれ前乗算および後乗算の後にスケーリング
演算520、540を使用して補償する。計算効率のた
め、スケーリング演算520、540は、シフト演算
(実際には、2のべき乗による除算)であることが好ま
しく、これは値をいくつかのビット位置SおよびS
だけそれぞれシフトさせる。
【0046】例示した実装500では、データ・ブロッ
ク内の値は、前−乗算510の入力、スケーリング52
0、後−乗算530、スケーリング540および出力で
の、それぞれA〜Eとして表されたビット・サイズを有
する整数である。例えば、前−乗算ステージ510の入
力でのデータ・ブロックの値は、サイズがAビットであ
る整数である。
【0047】この変換の設計において基礎をなす原理
は、順方向変換および逆方向変換において、後者が、制
約された精度の整数の演算という態様で実装され、(有
効な量子化および逆量子化に従う)対応する順方向変換
プロセスによって生成されている入力データについての
有意味の結果を生成するように保証されている、そのよ
うな逆方向変換と順方向変換のペアとしてのその実装5
00である。
【0048】V.変換の構築 計算効率のよい変換は、以下に記載するある制約に従
う、変換基底関数のための係数値(すなわち、前−乗算
行列Tおよび後−乗算行列T’における値)を選択する
ことによって構築される。この構築技術は、範囲が制限
された、直交(orthogonal)または双直交変換(bi-ort
hogonal transforms)を生じさせることができる。
【0049】制約。 スケーリングされる整数の実装。この変換係数は、2の
べき乗によるスケーリングを可能とする、整数である。
これにより、標準のコンピュータにおける実装が容易に
なる。
【0050】完全な再構築。量子化(例えば、図4にお
ける量子化および逆量子化ステージ420、430)が
ない場合、逆方向変換は元の空間領域データを、変換に
よって生成された変換領域データから、完全に再構築す
る。データを圧縮するために使用される変換のための主
要な要件は、量子化および丸めがない場合に、順方向お
よび逆方向変換が完全な再構築ペアを形成することであ
る。これは、正規直交性(orthonormality)または双正
規直交性(biorthonormality)を通じて保証されること
ができる。前者の場合、順方向および逆方向変換は等し
いが、後者ではこれらは異なる。
【0051】DCT近似の基底(DCT like Basis)。変
換および逆方向変換は、DCTに類似した特性を有す
る。よい符号化パフォーマンスのために、変換がDCT
を厳密に近似することが好ましい。DCTは、ほぼ最適
なデータ圧縮を結果として生じる好ましいエネルギー圧
縮特性を有することが知られている。DCTのDC基底
関数は定数値である。これは、「ゼロ番目」の基底の変
換係数が定数値を有するように制約する。
【0052】範囲。データ値および変換係数の範囲は、
(例えば、16ビット整数演算において)ターゲット・
コンピュータまたはグラフィックス・プロセッサにおけ
る計算効率のよい整数乗算演算を使用した実装を可能に
する。好ましい実装では、これらの値は、逆方向変換の
16ビット実装を可能にする範囲に制約される。この実
装では、16ビット整数演算は、16ビット累算器、お
よび、符号付きモジュロまたは基数216へのロールオ
ーバ演算(rollover arithmetic)、すなわち、[−3
2768...32767]のデータ範囲を有する累算
器、により実行することができる整数の算術演算であ
る。2個の16ビット数の乗算の結果は、積の保存され
ている下位16ビットのみとなる。別法として、この範
囲は、別のビット・サイズの整数演算をサポートする他
のターゲット・プラットフォームについて変えることが
できる。
【0053】変換基底関数による、データ・ブロック内
のサンプルについての乗算は、範囲に拡張をもたらし、
その範囲は、変換基底関数内のサンプル(点)の数によ
って変わる。ビデオ圧縮システムでは、8×8、4×
8、8×4および4×4点の2次元(N×M点)変換が
一般に使用される。4および8点変換の間で、8点変換
は、より厳しい制約を整数変換係数の範囲に課す。これ
は、N>Mであるとき、N点変換に関連付けられた拡張
は、M点変換に関連付けられたものより大きいからであ
る。DC値は、N点変換では
【0054】
【数25】
【0055】として拡張する。したがって、8点変換が
より厳しい制約を提示するので、最初に8点変換を考察
する。
【0056】例えば、ビデオ圧縮システムにおける空間
領域データ・ブロック・サンプルの共通範囲は[−25
5...255]であり、これは9ビットの分解能であ
る。[−255 255]の範囲に対応するこのような
9ビット入力では、8×8変換は、範囲[−2047
2047]内の値を取ることができ、12ビットの精度
を必要とする。実際には、各8点変換は1.5ビットの
拡張の結果となる。2次元の8×8変換では、8点変換
が、前−乗算ステージ510(図5)での行変換および
後−乗算ステージ530(図5)での列変換により、2
度適用され、結果として生じる変換領域サンプルが3ビ
ットだけ(12ビットの分解能に)拡張される。
【0057】より詳細に図5を参照すると、例示的実施
において入力Aで逆方向変換のために入力された変換領
域データ・ブロックは、12ビットの範囲を有するのに
対して、出力Eで再構築された空間領域データ・ブロッ
クは9ビットの範囲を有する。2つの逆方向変換演算
(前−乗算510および後−乗算530)は、|T|
のスケーリングまたは範囲の拡張を引き起こし、これは
およびsビットの2つのシフトによってそれぞれ
補償される。これには、変換によって引き起こされた範
囲の拡張が、補償のスケーリングにほぼ等しいか、また
は|T|≒2 s1+s2)であることが必要とされ
る。変換行列(T)が正規化された行列である(ただ
し、T=T/|T|)と仮定すると、前−乗算の後に
結果として生じるデータ・ブロック(B=T・A)の動
的範囲(dynamic range)は約10.5ビットである。
したがって、結果として生じるデータ・ブロック(B)
は、10.5+log(|T|)ビットの範囲を有す
る。同様に、後−乗算データ・ブロック(D=C・
T’)は9+2・log(|T|)−sビットの範
囲を有する。16ビット整数演算を使用した、計算効率
のよい逆方向変換の実装のために、以下の比較式が必要
とされる(log(|T|)をLによって示す)。 10.5+L<=16 (1) 9+2L−s<=16 (2) 2L≒s+s (3)
【0058】したがって、続いて(9+m<=16)と
なり、すなわち、m=6、かつL<=5.5または|T
|<=2048である。
【0059】さらに、逆方向変換のDC基底関数が[d
ddddddd]によって与えられるようにすることに
より、範囲制約は、8d<=2048またはd<=1
6であることを必要とする。
【0060】基底関数のノルム。変換のための基底関数
のそれぞれはノルムにおいて非常に近い。
【0061】一般的な直交(orthogonal)および双直交
(biorthogonal)整数変換では、個々の基底関数に対応
する変換行列Tの個々の行は、個々のノルムを有するこ
とができるようにされる。この柔軟性の背後にある考え
は、複数のノルムの間の不適合の影響を、量子化および
逆量子化中に順方向および逆方向変換について取り消す
ことができるということである。実際には、正規化は2
つの難点を提示する。すなわち、(1)正規化により、
特にデコーダ側に複雑さが追加されること、および、
(2)正規化乗数が小さい整数でない限り、短い整数
(short integer)(16ビット)実装については正規
化が不可能となることである。
【0062】すべての基底関数のノルムが一致している
ことが必要とされる場合、追加の再正規化は不要であ
る。いかなる正規化項も、逆量子化の中に要因としてお
り込むことができる。量子化値による効果は、このプロ
セスにおいて、少し変えることができる(すなわち、あ
る量子化点(QP)のレート−歪み点は、例えば正規化
された完全精度変換を使用して計算されたその元の値か
ら、離れているが、レート−歪み(R−D)曲線に沿っ
て、動かすことができる)。
【0063】4および8点変換について言えば、同じ論
理が当てはまる。4点か8点かにかかわらず、すべての
基底関数のノルムが一致しており、正規化を取り出すこ
とができるように、同様であることが必要とされる可能
性がある。実際には、適切に小さい整数の基数につい
て、すべての基底関数のすべてのノルムが一致している
という制約を受ける変換係数のセットを発見することは
不可能である。ここでの制約は、基底関数がノルムにお
いて非常に近いことを許容することによって、ささやか
な柔軟性を可能とする。
【0064】ヘッドルーム。1つの実装では、順方向変
換への有効な入力(空間領域データ・ブロック)の範囲
は9ビットであるが、量子化(図4のステージ420)
の後に再構築されたデータ・ブロックが、+255ない
し−255の範囲を上回るかあるいは下回るようにオー
バーフローする可能性がある。短い整数(short intege
r)の実装は、このことを考慮に入れて、このような状
況のために十分なヘッドルームを残すことが必要とされ
る。
【0065】要約すると、本明細書に記載した構築技術
は、以下の制約を受ける変換を生じさせる。すなわち、
(1)スケーリングされた整数の実装、(2)正規直交
性または完全な再構築、(3)エネルギー圧縮について
のDCT近似の基底、および(4)整数ベースの実装の
ための制限された制約(例えば、16ビット整数演算に
おける)である。所与の範囲制限では、上の制約のすべ
てを満たすことは困難である。特定の例として、これら
の制約の最初の3つを満たし、ならびに16ビットに制
限された範囲にある、変換を構築することは可能ではな
い。以下に記載する構築プロセスは、効率的な、範囲制
限された、変換を、これらの制約のうち1つまたは複数
をわずかに緩和すること(例えば、例示した変換の実装
において、正規直交性の制約を緩和すること)によっ
て、生み出す。例示した変換の実装では、変換のペアが
直交(orthogonal)であることのみが必要とされるが、
そのノルムをわずかに異なるようにすることができる。
この追加の柔軟性により、変換のための探索空間が拡大
され、これにより、他の制約を満たす効率的な範囲制限
された変換の構築が実現可能となる。以下でさらに論じ
るように、ノルムにおけるわずかな不一致の影響を、量
子化ステージ中に再正規化することによって取り消すこ
とができる。この再正規化は、量子化ステージにおいて
実装されているので、結果として複雑さの増大は、エン
コーダのみがこうむることになる。これにより、圧縮能
率を維持しつつ、システム全体の複雑さが、かなり低減
する。
【0066】構築。図6を参照すると、これらの制約に
従う計算効率のよい変換を構築するプロセス600は、
図5の変換の実装500についての前−乗算および後−
乗算の変換行列(TおよびT’)のための直交変換係数
のセットを生じさせる。この例示的な計算効率のよい変
換の実装を生成するための、この構築手順において使用
された許容差のしきい値のいくつかは任意であり、これ
らをさらに緩和して、さらなる解に達するようにするこ
とができる。しかし、緩和されたしきい値により、この
ような代替変換の実装は、さらに悪い符号化パフォーマ
ンスを有する可能性がある。
【0067】この手順600を使用して構築された計算
効率のよい変換の例示的セットは、4および8点の基底
関数を使用した2次元変換を含む。4および8点の基底
関数に基づいて、8×8、4×8、8×4および4×4
変換のための変換行列が生成される。しかし、この制約
プロセスを別法として、他の数の点またはブロック・デ
ィメンションを有する基底関数による変換を生じさせる
ように変更することができる。
【0068】構築プロセス600の第1のステップ61
0は、DC基底関数に属する一定の乗数を発見すること
である。4および8点の基底関数では、一定の乗数がそ
れぞれdおよびdと示される。上で論じたノルム制
約により、これらの一定の乗数は、d≦16の場合
に、
【0069】
【数26】
【0070】として関係付けられる。このノルム制約を
約1%以内で満たす整数のペア{d,d}は、
{7,5}、{10,7}、{17,12}および{2
0,14}のみである。8点変換では、DC基底の2乗
ノルムは
【0071】
【数27】
【0072】である。したがって、これらの整数ペアを
有するDC基底について許容可能な8点2乗ノルムは、
200、392、1152および1568である。
【0073】構築プロセス600の第2のステップ62
0は、変換の奇数基底関数(odd basis functions)
(奇数の「周波数」とも呼ばれる)を決定することであ
る。上で論じた「DCT近似の基底」の制約にしたがっ
て、変換は、DCT変換に類似した特性を有するべきで
あり、これは8点DCT変換では、以下の奇数基底関数
を有する。
【0074】
【数28】
【0075】4つの定数値が、8点DCTのこれらの奇
数基底関数を決定する。基数の構造により、定数C1、
C2、C3およびC4を使用して一意の絶対係数を置き
換えて、以下の基底を与えることができる。
【0076】
【数29】
【0077】構築は、以下の条件を使用して、空間{C
,C,C,C}上を探索することによって進行
する。
【0078】1.基底の直交性。偶数周波数項を有する
奇数項の直交性は、所与の偶数周波数の相補的構造に事
実上含まれている。したがって、この条件は、減少し
て、奇数基底関数の直交性になる。
【0079】2.DCT近似の基底。ベクトル[C
]は、対応するDCT係数ベクトル
[0.4904 0.4157 0.2778 0.0
975]と「十分」に相関する。相関は、複数のベクト
ルの間の角度のコサインによって測定され、可能な限り
1に近くなることが望ましい。相関についての他の測定
も使用することができる。
【0080】3.奇数の基数のノルムがDCノルムに密
接に適合する。これを以下のように表すことができる。
【0081】
【数30】
【0082】ノルムの5%の許容差(条件3)および
0.99の許容可能な相関「コサイン」(条件2)内
で、8点奇数基底関数のための制約を満たす整数係数の
セットはただ1つしかない。このセットは[16 15
9 4]であり、578のノルムを有し、これは明確
に所望の576に非常に近い。この相関は、好ましい
0.9984である。
【0083】構築プロセス600の第3のステップ63
0は、変換のための偶数基底関数(even basis functio
ns)または偶数周波数を決定することである。再度、D
CT近似の基底の制約によれば、偶数基底関数は、DC
T変換のものに十分相関するべきである。8点DCT変
換では、偶数基底関数は以下のようになる。
【0084】
【数31】
【0085】周波数2および6におけるノルム制約は、
【0086】
【数32】
【0087】によって与えられる。整数ペア{16,
6}はこのノルム制約を約1%以内まで満たす。
【0088】結果として生じる(ステップ2および3で
決定された整数係数を使用する)8点変換行列は、以下
のようになる。
【0089】
【数33】
【0090】構築プロセス600の第4のステップ64
0は、4点変換を生成する。上(ステップ610〜63
0)で論じたように生成された8点変換では、DC基底
関数の一定の乗数はd=12である。したがって、4
点変換のための一定の乗数はd=17である。DCT
近似の基底では、これはDおよびDという係数を、
生成される以下の基底関数において残す。
【0091】
【数34】
【0092】上の基底関数による行列は、いかなる選択
のDおよびDについても本質的に直交している。し
かし、DCT近似の変換の制約によれば、これらの係数
が、
【0093】
【数35】
【0094】に等しいDCT回転因子(すなわち、D
/Dの比率)によって関係付けられる。さらに、これ
らの係数はノルム制約D1+D2≒578に従う。
直交性、DCT近似の基底およびノルム制約を約1%以
内まで満たす整数のペアは、整数ペア{22,10}で
ある。これは、4点変換について以下の基底関数を生じ
る。
【0095】
【数36】
【0096】VI.変換の実装(続き) 図5に戻ると、上の構築プロセス600を使用して生成
された変換行列は本質的に変換を定義する。2次元変換
では、基底関数が各ディメンションにおいてサンプル・
データ・ブロックに適用される。例示した変換の実装5
00では、基底関数が前−乗算510においてサンプル
・データ・ブロックの行に適用され、次いで後−乗算5
30でサンプル・データ・ブロックの列に適用される。
この変換が直交するように構築されるので、一致した変
換行列が、順方向300および逆方向310の変換につ
いて使用される。非ユニタリ・ノルムを有する変換基底
関数なので、例示した実装は、また、スケーリング・ス
テージ520および540を逆変換で含んで、変換によ
って導入された範囲の拡張を補償する。このような範囲
制限された実装を、順方向変換のために使用することも
できるが、ビデオ符号化においては、順方向変換におけ
る範囲制限はしばしば冗長である。エンコード・プロセ
スはデコードより低速であり、かつエンコーダで使用可
能な計算リソースはしばしばデコーダのものより桁違い
に高いので、エンコーダをより高い精度(例えば、32
ビット)の整数または倍精度浮動小数点で、実装するこ
とができる。したがって、以下の考察ではまず、上で記
載した変換行列を使用した逆方向変換の例示的実装を考
察する。
【0097】逆方向変換の実装。 先に記載したような変換の実装500では、前−乗算ス
テージ510において、適切なサイズの変換行列(例え
ば、8×8データ・ブロックでは上の行列T)による
行列乗算を実行することによって、変換領域データ・ブ
ロックの行(以下の考察ではDと示す)が逆方向変換さ
れる。後−乗算ステージ530において、同じくこの変
換行列による行列乗算を実行することによって、変換領
域データ・ブロックの列が逆方向変換される。この順序
付けを逆にすることができるが、これは不適合の結果と
なる可能性が高い。前−乗算および後−乗算ステージの
ための変換行列は、上に記載したように構築された変換
行列である。
【0098】スケーリング・ステージ520および54
0では、例示的変換の実装におけるスケーリングが、上
で論じた、スケーリングされた整数の実装の制約(すな
わち、スケーリングは、標準システムおよびグラフィッ
クス・プロセッサの計算を容易にするために、2のべき
乗による)に従って、決定される。したがって、スケー
リングは、変換行列の基底関数の2乗ノルムに最も近い
2のべき乗となるように選択される。
【0099】より詳細には、逆方向変換のための標準的
な公式を以下のように表すことができる。
【0100】
【数37】
【0101】ただし、Dは、逆方向変換への入力(A)
での変換領域データ・ブロックを示す。以下の考察で
は、Dは、変換の実装500の第1の乗算ステージ5
10から出力されたデータ・ブロックを表し、Rは、行
および列関連の逆方向変換の後の、再構築された出力を
表す。分母sはスケーリング係数である。D、Dおよ
びRは、同形の8×8、8×4または4×8行列であ
る。表記法において、行列およびスカラーを含む演算
は、行列におけるエントリ関連の演算である。同様に、
行列引数を有するスカラー演算は、行列におけるエント
リ関連のスカラー演算である。
【0102】分母sは、基底関数の2乗ノルムに最も近
い2のべき乗となるように選択される。8×8の逆方向
変換では、1次元の8点基底関数の2乗ノルムの値は
{1152,1156,1168}である。したがっ
て、分母が1024となるように選択され(すなわち、
s=1024)、これはこれらの2乗ノルム値に最も近
い2のべき乗である。実際のノルムとこの分母の間の比
率(すなわち、ノルム/s≒1.12)は1に近いの
で、標準IDCTについて使用された量子化パラメータ
と、例示した変換の実装について使用されたものの間に
密接な対応がある。すべての残りの正規化(本質的に
は、1024/基底関数の2乗ノルムによる)が、以下
に記載する順方向変換プロセスで実行されるので、誤り
が付加されることはない。
【0103】上の範囲制約の考察によれば、逆方向変換
の入力での変換領域データ・ブロックDは、例示した実
装において12ビットの範囲を有する。(正規化のた
め、順方向変換から生じた変換領域データ・ブロックが
実際には±2048/1.12に減らされる。)標準的
な中間行列(1次元における逆方向変換の後のもの)
は、以下のようになる。
【0104】
【数38】
【0105】これは10.5ビットよりわずかに低い範
囲を有する。
【0106】1つの逆方向変換の実装500では、スケ
ーリング・ステージ520および540はそれぞれ、デ
ータ・ブロック値を5ビット位置だけ切り捨てるか、あ
るいはシフトすること(実際には、32による除算)が
でき、これは同時に(1024による除算について)1
0ビット位置だけシフトする。これは、乗算ステージ5
10および530での範囲制約を16ビット範囲内に維
持する。
【0107】代替実装は、第2の後−乗算ステージのた
めの演算精度を保持し、これは、第1のスケーリング・
ステージ520でのスケーリングまたは丸めの量を減ら
すことによって行う。第1の乗算ステージの後の結果の
データ・ブロックDは、10.5ビットの範囲を使用
し、8点変換は範囲を4ビットにより拡張するので、ス
ケーリングの多くとも1ビット少ないものを第1のスケ
ーリング・ステージで許容して、両方の乗算ステージで
16ビット範囲制約内に残るようにすることができる。
したがって、代替実装は、第1のスケーリング・ステー
ジ520で4ビットだけ、第2のスケーリング・ステー
ジ540で6ビットだけシフトすることができる。この
変換の標準的な表現は、このとき、以下の通りである。
【0108】
【数39】
【0109】この代替実装は、追加の精度のビットがD
で保持されることを可能にする。この同じスケーリン
グを4点変換のために使用することができ、これは、4
点変換行列における最大乗数が、どうにか、なお、使用
可能なヘッドルーム(4.5ビット)内であるからであ
る。
【0110】第2の追加の精度のビットを中間データ・
ブロックDで保持するために、さらなる代替実装は変
換行列を次のように分解する。
【0111】
【数40】
【0112】ここで、奇数成分行列
【0113】
【数41】
【0114】および
【0115】
【数42】
【0116】は0、1および−1のみをエントリとして
有することが許容される。Tのエントリの大部分は偶
数であるので、
【0117】
【数43】
【0118】はスパース(sparse)行列である。同様
に、
【0119】
【数44】
【0120】は、
【0121】
【数45】
【0122】に非常に相関された構造を有する。このさ
らなる代替逆方向変換の実装の標準的な表現が、このと
き以下のように定義される。
【0123】
【数46】
【0124】第1のスケーリング・ステージ520はこ
のとき3ビットのみ下にシフトし、第2の乗算ステージ
530のための余分の精度を保持する。偶数成分はT
の範囲の半分を有するので、また、奇数成分
【0125】
【数47】
【0126】は、0、1および−1のエントリを有する
ように制限されるので、変換の第2のステージにおいて
結果として生じる分子は、16ビットに制限された範囲
である。この方法には、精度Dでの余分の精度のビッ
トのために受ける、計算上の小さい不利がある。それに
もかかわらず、この変換行列の分解は、結果として改善
された演算精度をごくわずかなコストでもたらす。
【0127】他の代替実装では、変換Tをより一般に成
分変換行列TおよびTに分解することができ、これ
らが変換基底Tに、T=2・T+Tとして関係付
けられる。この変換の計算は以下の通りである。
【0128】
【数48】
【0129】次いでこれを以下のように定義することが
できる。
【0130】
【数49】
【0131】この計算を、行列乗算およびシフト演算を
使用して、以下のように実装することができる。 (D・T+((D・T)>>x))>>(y−x)
【0132】変換Tの特定の代替実装に戻ると、8点
変換の奇数および偶数成分が以下のように示される。
【0133】
【数50】
【0134】
【数51】
【0135】が2つの独立したゼロでない列のみを有す
ることに留意されたい。
【0136】
【数52】
【0137】による後乗算は、以下のように2つの加算
(および否定)のみと同等である。
【0138】
【数53】
【0139】ただし、以下の通りである。
【0140】
【数54】
【0141】4点逆方向変換の偶数および奇数成分は、
以下の通りである。
【0142】
【数55】
【0143】このさらなる代替実装では、8×8逆方向
変換のための行関連または前−乗算ステージ510およ
び第1のスケーリング・ステージ520は、以下の演算
を実行する。 D=(D・T+4)>>3
【0144】この逆方向変換の実装における列関連また
は後−乗算ステージ530およびスケーリング・ステー
ジ540は、最初に、Tの奇数成分を見て8つの要素
の2つの共通の行を計算することによって定義される。
これらは右に1ビットだけシフトされ、次いで、この結
果が6ビットだけ下に丸められる前に、偶数成分の積に
加算される(あるいはそれから減算される)。したがっ
て、これらのステージにおいて実行される演算は以下の
ように表現される。
【0145】
【数56】
【0146】さらなる代替実装における4×8逆方向変
換(本明細書で使用される規定によれば、これは4列お
よび8行を有するアレイを指す)では、行関連または前
−乗算ステージ510およびスケーリング・ステージ5
20は、以下のように定義される4点演算を実行する。 D=(D・T+4)>>3
【0147】この変換の第2の部分では、列関連または
後−乗算ステージ530およびスケーリング・ステージ
540は、上に記載した8×8逆方向変換のためのもの
に等しい。
【0148】8×4逆方向変換では、さらなる代替実装
は、行関連ステージ510およびスケーリング・ステー
ジ520において、4行/8列の変換領域データ上で、
以下に従って演算する。 D=(D・T+4)>>3
【0149】列関連ステージ530およびスケーリング
・ステージ540のための4点逆方向変換は、以下のよ
うに定義される。
【0150】
【数57】
【0151】4×4逆方向変換では、4×4逆方向変換
のステージ510、530が、4×8逆方向変換の行関
連ステージ510および8×4逆方向変換の列関連ステ
ージ530それぞれについて上に記載したように、実装
される。
【0152】順方向変換の実装。 スケーリング・ステージを含む図5に例示したような、
範囲制限された実装を順方向変換にも適用することがで
きるが、ビデオ符号化においては、このような手順はし
ばしば冗長である。エンコード・プロセスはデコードよ
り低速であり、かつエンコーダで使用可能な計算リソー
スはしばしばデコーダのものより桁違いに高いので、エ
ンコーダをより高い精度(例えば、32ビット)の整数
または倍精度浮動小数点で実装することができる。すな
わち、順方向変換の実装において、スケーリング・ステ
ージ520、540を省略することができる。
【0153】図7に示す、好ましい順方向変換の実装で
は、再正規化ステージ740が順方向変換側で(行関連
および列関連乗算710および730の後に)実行され
て、再構築において、変換自体が最低量の誤りをもたら
すように保証される。これにより、基底関数のノルムに
おけるわずかな差異を補償し、使用可能な計算リソース
がより少ない可能性のあるデコーダでの計算の負担を減
らす。別法として、十分な計算リソースをデコードで設
けているシステムでは、補償(変換データのスケーリン
グ)をデコーダで実行することができる。
【0154】以下の考察では、記号
【0155】
【数58】
【0156】は、等しいサイズの行列の要素関連の積を
示す。元の2−D信号(サンプル・データ・ブロック)
をXと示し、その変換をYと示す(Xは、行関連の変
換のすぐ後のブロックを示す)。行列XおよびYは同じ
サイズであり、8×8、8×4および4×8の場合を包
含する。以下のスケーリング係数が使用される。
【0157】
【数59】
【0158】8×8順方向変換では、ステージ710、
730および740における処理が以下のように記載さ
れる。
【0159】
【数60】
【0160】4×8順方向変換では、ステージが以下を
実行する。
【0161】
【数61】
【0162】他方では、8×4順方向変換は、上の4×
8順方向変換についての転置された変換である。
【0163】4×4順方向変換は、以下のようにスケー
リングを実装する。
【0164】
【数62】
【0165】VII.適切なコンピューティング環境 上に記載した変換を、イメージおよびビデオ信号処理が
実行される様々なデバイスのいずれかにおいて実行する
ことができ、これには、他の実施例の中でも、コンピュ
ータ、イメージおよびビデオ記録、送信および受信装
置、ポータブル・ビデオ・プレイヤー、テレビ会議およ
びその他が含まれる。イメージおよびビデオ符号化技術
をハードウェアの回路において、ならびに、図8に示す
ような、コンピュータまたは他のコンピューティング環
境内で実行するイメージおよびビデオ処理ソフトウェア
にも実装することができる。
【0166】図8は、記載した実施形態を実装すること
ができる、適切なコンピューティング環境(800)の
汎用の実施例を例示している。本発明は、多様な汎用ま
たは専用コンピューティング環境において実装できるの
で、コンピューティング環境(800)は、本発明の使
用または機能性の範囲についていかなる限定も示唆する
ように意図されたものではない。
【0167】図8を参照すると、コンピューティング環
境(800)は、少なくとも1つの処理装置(810)
およびメモリ(820)を含む。図8では、この最も基
本的な構成(830)が破線内に含まれる。処理装置
(810)はコンピュータ実行可能命令を実行し、従っ
て、現実の、あるいは仮想プロセッサにすることができ
る。多重処理システムでは、多重処理装置がコンピュー
タ実行可能命令を実行して処理能力を高める。メモリ
(820)は、揮発性メモリ(例えば、レジスタ、キャ
ッシュ、RAM)、不揮発性メモリ(例えば、ROM、
EEPROM、フラッシュ・メモリなど)、またはこの
2つのある組合せにすることができる。メモリ(82
0)は、記載したイメージおよび/またはビデオ・エン
コーダ/デコーダおよび変換を実装するソフトウェア
(880)を格納する。
【0168】コンピューティング環境は追加の機能を有
することができる。例えば、コンピューティング環境
(800)は、記憶装置(840)、1つまたは複数の
入力デバイス(850)、1つまたは複数の出力デバイ
ス(860)、および1つまたは複数の通信接続(87
0)を含む。バス、コントローラまたはネットワークな
どの相互接続メカニズム(図示せず)は、コンピューテ
ィング環境(800)のコンポーネントを相互接続す
る。通常、オペレーティング・システム・ソフトウェア
(図示せず)が、コンピューティング環境(800)に
おいて実行する他のソフトウェアのためのオペレーティ
ング環境を提供し、コンピューティング環境(800)
のコンポーネントのアクティビティを調整する。
【0169】記憶装置(840)はリムーバブルまたは
非リムーバブルにすることができ、これには、磁気ディ
スク、磁気テープまたはカセット、CD−ROM、CD
−RW、DVD、または、情報を格納するために使用す
ることができ、かつコンピューティング環境(800)
内でアクセスすることができる他のいずれかの媒体が含
まれる。記憶装置(840)は、量子化行列を生成かつ
圧縮するオーディオ・エンコーダを実装するソフトウェ
ア(880)のための命令を格納する。
【0170】入力デバイス(850)は、キーボード、
マウス、ペンまたはトラック・ボールなどのタッチ入力
デバイス、音声入力デバイス、走査デバイス、または、
入力をコンピューティング環境(800)に提供する別
のデバイスにすることができる。オーディオについて
は、入力デバイス(850)をサウンド・カード、また
は、アナログまたはデジタル形式におけるオーディオ入
力を受け入れる類似のデバイス、またはオーディオ・サ
ンプルをコンピューティング環境に提供するCD−RO
Mリーダにすることができる。出力デバイス(860)
は、ディスプレイ、プリンタ、スピーカ、CDライタ、
または、コンピューティング環境(800)からの出力
を提供する別のデバイスにすることができる。
【0171】通信接続(870)は、通信媒体を介して
別のコンピューティング・エンティティへの通信を可能
にする。通信媒体は、コンピュータ実行可能命令、圧縮
されたオーディオまたはビデオ情報、または変調された
データ信号における他のデータなどの情報を搬送する。
変調されたデータ信号は、信号中に情報をエンコードす
るような方法で設定された、あるいは変更された1つま
たは複数の特性を有する信号である。例として、限定し
ないが、通信媒体には、電気、光学、RF、赤外線、音
響または他の搬送波により実装されるワイヤードまたは
ワイヤレス技術が含まれる。
【0172】本明細書の変換および符号化/復号技術
を、一般にコンピュータ可読媒体内に記述することがで
きる。コンピュータ可読媒体は、コンピューティング環
境内でアクセスすることができるいずれかの使用可能な
媒体である。例として、限定しないが、コンピューティ
ング環境(800)では、コンピュータ可読媒体は、メ
モリ(820)、記憶装置(840)、通信媒体、およ
び上記のいずれかの組合せを含む。
【0173】本明細書の変換および符号化/復号技術
を、ターゲットの、実際の、あるいは仮想のプロセッサ
上のコンピューティング環境において実行される、プロ
グラム・モジュールに含まれるような、一般にコンピュ
ータ実行可能命令に関連して記述することができる。一
般に、プログラム・モジュールには、ルーチン、プログ
ラム、ライブラリ、オブジェクト、クラス、コンポーネ
ント、データ構造など、特定のタスクを実行するか、あ
るいは特定の抽象データ型を実装するものが含まれる。
プログラム・モジュールの機能性を、様々な実施形態に
おいて望まれるように、複数のプログラム・モジュール
の間で結合あるいは分割することができる。プログラム
・モジュールのためのコンピュータ実行可能命令を、ロ
ーカルまたは分散コンピューティング環境内で実行する
ことができる。
【0174】説明のため、詳細な説明では、「決定す
る」、「生成する」、「調整する」および「適用する」
のような用語を使用して、コンピューティング環境にお
けるコンピュータ・オペレーションを記載した。これら
の用語は、コンピュータによって実行されるオペレーシ
ョンについての高レベルの抽象であり、人間によって実
行される動作と混同されるべきではない。これらの用語
に対応する実際のコンピュータ・オペレーションは、実
装に応じて変わる。
【0175】VIII.拡張 上に記載した変換およびそれらの実装を、以下のものを
含む、様々な方法で拡張することができる。
【0176】変換の実装の変形形態には、オルタネート
・ラウンディング(alternate rounding)、「バタフラ
イ(butterfly)」実装および双直交公式化(biorthgon
al formulations)が含めることができる。
【0177】さらに、上に記載した構築プロセスの後に
続いて、異なるビット範囲制約を受けて、異なる係数範
囲を有する変換の変形形態を生成することができる。
【0178】構築手順において使用された制約のしきい
値のパラメータを変更して、より大きいセットの制約変
換を生じさせることができる。
【0179】変換セットを拡張して、さらなるブロック
・サイズ(例えば、4×4および他のブロック・サイズ
の変換)を含むようにすることができる。同様に、生成
された変換セットは必ずしも、上に例示した実装におけ
るサイズ(すなわち、8×8、8×4および4×8変
換)を含まない可能性がある。変換を他のサイズのブロ
ック、およびより高い(2より高い)次元まで拡張する
ことができる。
【0180】ビット深度の選択は可変パラメータであ
り、(生のピクセル値の8ビット分解能、および中間結
果についての16ビットを使用した)例示した実施例に
ついて任意に変更することができる。
【0181】順方向変換の実装を、逆方向変換の実装を
範囲制限するために記載した手順を使用することなどに
よって、範囲制限することもできる。
【0182】上に記載した構築プロセスの後に続いて、
他の非DCT基底関数に近似する変換を生成することが
できる。例えば、構築プロセスは、スケールされた整
数、完全な再構築および範囲制限における制約を満たし
ながら、FFT、ウェーブレット、または他のオーバー
ラップ変換を近似する変換を生成することができる。
【0183】本発明の原理を、記載した実施形態を参照
して記載かつ例示したが、記載した実施形態の構成およ
び詳細を、このような原理から逸脱することなく修正で
きることは理解されよう。本明細書に記載したプログラ
ム、プロセスまたは方法は、そうでないと指示されない
限り、いずれかの特定のタイプのコンピューティング環
境に関係付けられず、あるいは限定されないことを理解
されたい。様々なタイプの汎用または専用コンピューテ
ィング環境は、本明細書に記載した技術によるオペレー
ションと共に使用することができ、あるいはこれを実行
することができる。ソフトウェアにおいて示した記載の
実施形態の要素をハードウェアにおいて実施することが
でき、その逆も可能である。
【0184】変換符号化技術を本明細書のところどころ
で、単一の統合されたシステムの一部として記載する
が、これらの技術を他の技術と組み合わせて別々に、潜
在的に適用することができる。代替実施形態では、エン
コーダまたはデコーダ以外の信号処理ツールがこれらの
技術の1つまたは複数を実装する。
【0185】記載した変換および変換符号化の実施形態
は、様々な技術を実行する。これらの技術のためのオペ
レーションを通常、提示のために特定の一連の順序で記
載するが、この記載の方法は、特定の順序が必要とされ
ない限り、オペレーションの順序における重要でない再
配列を包含することを理解されたい。例えば、順次に記
載したオペレーションを、いくつかの場合では、再配列
あるいは同時に実行することができる。さらに、簡単に
するため、流れ図では通常、特定の技術を他の技術と共
に使用することができる様々な方法を図示していない。
【0186】本発明の原理を適用することができる多数
の可能な実施形態に鑑みて、本発明として、特許請求の
範囲およびその同等物の範囲および趣旨内に入る可能性
のあるこのようなすべての実施形態を請求する。
【図面の簡単な説明】
【図1】本明細書に記載した変換のクラスに基づくビデ
オ・エンコーダのブロック図である。
【図2】本明細書に記載した変換のクラスに基づくビデ
オ・デコーダのブロック図である。
【図3】2次元変換を例示するブロック図である。
【図4】図1および2のビデオ・エンコーダおよびデコ
ーダによる、本明細書に記載した変換のクラスを使用し
た変換符号化を例示するデータ流れ図である。
【図5】本明細書に記載した変換のクラスについての逆
方向変換の実装のブロック図である。
【図6】本明細書に記載した変換のクラスのうち1つを
構築するためのプロセスの流れ図である。
【図7】本明細書に記載した変換のクラスについての順
方向変換の実装のブロック図である。
【図8】図1および2の、記載した変換のクラスに基づ
くビデオ・エンコーダ/デコーダのための適切なコンピ
ューティング環境のブロック図である。
【符号の説明】
100 汎用ビデオ・エンコーダ 105 カレント・フレーム 110 動き予測器 115、215 動き情報 120、220 フレーム・ストア 125、225 参照フレーム 130、230 動き補償器 135 動き補償されたカレント・フレーム 145 予測残差 160 周波数変換器 166、260 逆周波数変換器 170 量子化器 176、270 逆量子化器 180 エントロピー符号器 190、290 バッファ 195、295 圧縮されたビデオ情報 200 汎用ビデオ・デコーダ 205 再構築されたフレーム 235 予測フレーム 245 再構築された残差 280 エントロピー復号器 T 前−乗算変換行列 T’ 後−乗算変換行列 S シフトさせるビット位置 S シフトさせるビット位置
───────────────────────────────────────────────────── フロントページの続き (72)発明者 スリドハー スリニバサン アメリカ合衆国 98109 ワシントン州 シアトル オーロラ アベニュー ノース 1504 ナンバー509 (72)発明者 シャンカー レグナザン アメリカ合衆国 98007 ワシントン州 ベルビュー ノースイースト 42 プレイ ス 14628 ナンバーエヌ210 Fターム(参考) 5C059 KK11 MA05 MA14 MA21 MA23 MA24 MC11 MC38 ME02 ME05 ME11 PP05 PP06 PP07 UA02 UA05 UA11 5J064 AA02 BA09 BA16 BC09 BC16 BD03 BD04

Claims (50)

    【特許請求の範囲】
  1. 【請求項1】 メディア・データをエンコードする方法
    であって、 前記メディア・データの2次元ブロックについて、前記
    ブロックの順方向変換を実行して、前記ブロックを変換
    領域に変換すること、 前記変換領域ブロックを量子化すること、 前記変換領域ブロックを逆量子化すること、および、 前記変換領域ブロックの逆方向変換を実行して、再構築
    されたブロックを生じさせることを備え、 前記逆方向変換は、ある制約に予め定めた許容差内で適
    合する整数から構成された変換行列を乗じる一連の行列
    乗算として実装され、前記制約は、スケーリングされた
    整数の制約、完全な再構築の制約、DCT近似の基底の
    制約および整数範囲制限の制約を備えることを特徴とす
    る方法。
  2. 【請求項2】 前記順方向変換もまた、同じく前記ある
    制約に前記予め定めた許容差内で適合する整数から構成
    された変換行列を乗じる一連の行列乗算として実装され
    ていることを特徴とする請求項1に記載の方法。
  3. 【請求項3】 前記制約はまた、前記変換の基底関数が
    ノルム(norm)において近いという制約、および、十分
    なヘッドルームがあるという制約も備えることを特徴と
    する請求項1に記載の方法。
  4. 【請求項4】 量子化時に、基底関数のノルム(norm
    s)における不一致を補償することをさらに備えること
    を特徴とする請求項3に記載の方法。
  5. 【請求項5】 逆量子化時に、基底関数のノルム(norm
    s)における不一致を補償することをさらに備えること
    を特徴とする請求項3に記載の方法。
  6. 【請求項6】 量子化時に部分的に、かつ逆量子化時に
    部分的に、基底関数のノルム(norms)における不一致
    を補償することをさらに備えることを特徴とする請求項
    3に記載の方法。
  7. 【請求項7】 メディア・データの変換符号化を提供す
    るメディア・システムであって、 前記メディア・データの2次元ブロックについて、前記
    ブロックの順方向変換を実行し、前記ブロックを変換領
    域に変換するように動作する順方向変換ステージと、 前記変換領域ブロックを量子化するように動作する量子
    化ステージと、 前記変換領域ブロックを逆量子化するように動作する逆
    量子化ステージと、 前記変換領域ブロックの逆方向変換を実行して、再構築
    されたブロックを生じさせる逆方向変換ステージとを備
    え、 前記逆方向変換は、ある制約に予め定めた許容差内で適
    合する整数から構成された変換行列を乗じる一連の行列
    乗算として実装され、前記制約は、スケーリングされた
    整数の制約、完全な再構築の制約、DCT近似の基底の
    制約および整数範囲制限の制約を備えることを特徴とす
    るメディア・システム。
  8. 【請求項8】 メディア・データをエンコードする方法
    を実行するコンピュータ・システム上での実行に作用す
    る、格納されている、コンピュータ実行可能プログラム
    命令を有するコンピュータ可読記憶媒体であって、前記
    方法は、 前記メディア・データの2次元ブロックについて、前記
    ブロックの順方向変換を実行して、前記ブロックを変換
    領域に変換すること、前記変換領域ブロックを量子化す
    ること、 前記変換領域ブロックを逆量子化すること、および、 前記変換領域ブロックの逆方向変換を実行して、再構築
    されたブロックを生じさせることを備え、 前記逆方向変換は、ある制約に予め定めた許容差内で適
    合する整数から構成された変換行列を乗じる一連の行列
    乗算として実装され、前記制約は、スケーリングされた
    整数の制約、完全な再構築の制約、DCT近似の基底の
    制約および整数範囲制限の制約を備えることを特徴とす
    るコンピュータ可読記憶媒体。
  9. 【請求項9】 量子化され、変換領域値のブロックとし
    てエンコードされたメディア・データをデコードする方
    法であって、 前記変換領域ブロックを逆量子化すること、および、 前記変換領域ブロックの逆方向変換を実行して、再構築
    されたブロックを生じさせることを備え、 前記逆方向変換は、ある制約に予め定めた許容差内で適
    合する整数から構成された変換行列を乗じる一連の行列
    乗算として実装され、前記制約は、スケーリングされた
    整数の制約、完全な再構築の制約、DCT近似の基底の
    制約および整数範囲制限の制約を備えることを特徴とす
    る方法。
  10. 【請求項10】 前記制約はまた、ノルムにおいて近い
    という制約および十分なヘッドルームの制約も備えるこ
    とを特徴とする請求項9に記載の方法。
  11. 【請求項11】 前記エンコードされたメディア・デー
    タ・ブロックは、ノルムの不一致が量子化において補償
    されることを特徴とする請求項10に記載の方法。
  12. 【請求項12】 前記変換の基底関数のノルムにおける
    不一致を逆量子化において補償することをさらに備える
    ことを特徴とする請求項10に記載の方法。
  13. 【請求項13】 量子化時に部分的に、かつ逆量子化時
    に部分的に、前記変換の基底関数のノルムにおける不一
    致を補償することを備えることを特徴とする請求項10
    に記載の方法。
  14. 【請求項14】 量子化された変換領域値のブロックと
    してエンコードされたデータをデコードするためのメデ
    ィア・デコーダであって、 前記変換領域ブロックを逆量子化するための逆量子化ス
    テージと、 前記変換領域ブロックの逆方向変換を実行して、再構築
    されたブロックを生じさせる逆方向変換ステージとを備
    え、 前記逆方向変換は、ある制約に予め定めた許容差内で適
    合する整数から構成された変換行列を乗じる一連の行列
    乗算として実装され、前記制約は、スケーリングされた
    整数の制約、完全な再構築の制約、DCT近似の基底の
    制約および整数範囲制限の制約を備えることを特徴とす
    るメディア・デコーダ。
  15. 【請求項15】 量子化され、変換領域値のブロックと
    してエンコードされたメディア・データをデコードする
    方法を実行するコンピュータ・システム上での実行に作
    用する、格納されている、コンピュータ実行可能プログ
    ラム命令を有するコンピュータ可読記憶媒体であって、
    前記方法は、 前記変換領域ブロックを逆量子化すること、および、 前記変換領域ブロックの逆方向変換を実行して、再構築
    されたブロックを生じさせることを備え、 前記逆方向変換は、ある制約に予め定めた許容差内で適
    合する整数から構成された変換行列を乗じる一連の行列
    乗算として実装され、前記制約は、スケーリングされた
    整数の制約、完全な再構築の制約、DCT近似の基底の
    制約および整数範囲制限の制約を備えることを特徴とす
    るコンピュータ可読記憶媒体。
  16. 【請求項16】 イメージ・データの2次元ブロック
    で、当該ブロックの少なくとも1つのディメンションは
    8点である、2次元ブロックを空間領域表現と変換領域
    表現との間で変換する方法であって、 【数1】 の形式の整数変換係数から構成される変換行列を使用し
    て、前記イメージ・データ・ブロックの少なくとも1つ
    の行列乗算を実行すること、および、 結果として生じる行列の積を、ビット範囲制限内に残る
    ようにスケーリングすることを備えることを特徴とする
    方法。
  17. 【請求項17】 前記イメージ・データ・ブロックは8
    ×8ブロックであり、前記少なくとも1つの行列乗算を
    実行することは、前記変換行列を使用して、前記イメー
    ジ・データ・ブロックの行関連および列関連の行列乗算
    を実行することを備えることを特徴とする請求項16に
    記載の方法。
  18. 【請求項18】 前記スケーリングすることは、各前記
    行関連および列関連の行列乗算の後に、2のべき乗によ
    る除算を実施するエントリ関連のシフト演算を備えるこ
    とを特徴とする請求項17に記載の方法。
  19. 【請求項19】 第1の前記行列乗算の後の前記エント
    リ関連のシフト演算は、第2の前記行列乗算の後よりも
    少ないビット位置によるシフトであることを特徴とする
    請求項18に記載の方法。
  20. 【請求項20】 前記エントリ関連のシフト演算は、各
    前記行列乗算の後のビット位置に等しい数によるシフト
    であることを特徴とする請求項18に記載の方法。
  21. 【請求項21】 イメージ・データの2次元ブロック
    で、当該ブロックの少なくとも1つのディメンションは
    8点である2次元ブロックを空間領域表現と変換領域表
    現との間で変換する方法をコンピュータ上で実行するた
    めの、格納されているコンピュータ実行可能プログラム
    命令を有するコンピュータ可読記憶媒体であって、前記
    方法は、 【数2】 の形式の整数変換係数から構成される変換行列を使用し
    て、前記イメージ・データ・ブロックの少なくとも1つ
    の行列乗算を実行すること、および、 結果として生じる行列の積を、ビット範囲制限内に残る
    ようにスケーリングすることを備えることを特徴とする
    コンピュータ可読記憶媒体。
  22. 【請求項22】 イメージ・データの2次元ブロック
    で、ブロックの少なくとも1つのディメンションは4点
    である2次元ブロックを空間領域表現と変換領域表現と
    の間で変換する方法であって、 【数3】 の形式の整数変換係数から構成される変換行列を使用し
    て、前記イメージ・データ・ブロックの少なくとも1つ
    の行列乗算を実行すること、および、 結果として生じる行列の積を、ビット範囲制限内に残る
    ようにスケーリングすることを備えることを特徴とする
    方法。
  23. 【請求項23】 前記イメージ・データ・ブロックは4
    ×4ブロックであり、前記少なくとも1つの行列乗算を
    実行することは、前記変換行列を使用して前記イメージ
    ・データ・ブロックの行関連および列関連の行列乗算を
    実行することを備えることを特徴とする請求項22に記
    載の方法。
  24. 【請求項24】 前記スケーリングすることは、各前記
    行関連および列関連の行列乗算の後に、2のべき乗によ
    る除算を実施するエントリ関連のシフト演算を備えるこ
    とを特徴とする請求項23に記載の方法。
  25. 【請求項25】 前記行列乗算の第1番目のものの後の
    前記エントリ関連のシフト演算は、前記行列乗算の第2
    番目のものの後よりも少ないビット位置によるシフトで
    あることを特徴とする請求項23に記載の方法。
  26. 【請求項26】 前記エントリ関連のシフト演算は、各
    前記行列乗算の後のビット位置に等しい数によるシフト
    であることを特徴とする請求項23に記載の方法。
  27. 【請求項27】 イメージ・データの2次元ブロック
    で、当該ブロックの少なくとも1つのディメンションは
    4点である2次元ブロックを空間領域表現と変換領域表
    現との間で変換する方法をコンピュータ・システム上で
    実行するための、格納されているコンピュータ実行可能
    プログラム命令を有するコンピュータ可読記憶媒体であ
    って、前記方法は、 【数4】 の形式の整数変換係数から構成される変換行列を使用し
    て、前記イメージ・データ・ブロックの少なくとも1つ
    の行列乗算を実行すること、および、 結果として生じる行列の積を、ビット範囲制限内に残る
    ようにスケーリングすることを備えることを特徴とする
    コンピュータ可読記憶媒体。
  28. 【請求項28】 イメージ・データの2次元ブロック
    で、当該ブロックのディメンションは4および8点であ
    る2次元ブロックを空間領域表現と変換領域表現との間
    で変換する方法であって、 【数5】 【数6】 の形式の整数変換係数から構成される変換行列を使用し
    て、前記イメージ・データ・ブロックの行関連および列
    関連の行列乗算を実行すること、 結果として生じる行列の積を、ビット範囲制限内に残る
    ようにスケーリングすることを備えることを特徴とする
    方法。
  29. 【請求項29】 前記データ・ブロックは4×8点のデ
    ィメンションを有し、前記行列乗算を実行する動作は、
    前記データ・ブロックをXで表し、前記結果として生じ
    る行列の積をYとして、関係式Y=(T・X・
    T’)に従って実行されることを特徴とする請求項2
    8に記載の方法。
  30. 【請求項30】 前記データ・ブロックは8×4点のデ
    ィメンションを有し、前記行列乗算を実行する動作は、
    前記データ・ブロックをXで表し、前記結果として生じ
    る行列の積をYとして、関係式Y=(T・X・
    T’)に従って実行されることを特徴とする請求項2
    8に記載の方法。
  31. 【請求項31】 イメージ・データの2次元ブロック
    で、当該ブロックのディメンションは4および8点であ
    る2次元ブロックを空間領域表現と変換領域表現との間
    で変換する方法をコンピュータ・システム上で実行する
    ための、格納されているコンピュータ実行可能プログラ
    ム命令を有するコンピュータ可読記憶媒体であって、前
    記方法は、 【数7】 【数8】 の形式の整数変換係数から構成される変換行列を使用し
    て、前記イメージ・データ・ブロックの行関連および列
    関連の行列乗算を実行すること、および、 結果として生じる行列の積を、ビット範囲制限内に残る
    ようにスケーリングすることを備えることを特徴とする
    コンピュータ可読記憶媒体。
  32. 【請求項32】 非整数係数の基底関数を有する第2の
    変換を近似する変換であって、ディメンションnおよび
    mを有した整数値からなるデータ・ブロックの、整数係
    数から構成される変換行列を使用した、行列乗算として
    実装された変換を利用した2次元メディア・データの変
    換符号器であって、前記変換行列は構築プロセスに従っ
    て構築され、前記構築プロセスは、 nおよびm点のDC基底関数のそれぞれのノルムが一致
    するという制約に対してある許容差内にある、前記nお
    よびm点のDC基底関数で、整数値の制限範囲内の変換
    領域データを生じさせることになる前記基底関数に属す
    る一定の乗数を決定すること、 奇数基底関数それぞれが直交すること、前記第2の変換
    の対応する基底関数の一定の乗数に十分に相関するこ
    と、および、前記DC基底関数にノルムにおいて一致す
    る、という制約に対して前記許容差内にある、nまたは
    m点のうち大きい方の前記奇数基底関数に属する一定の
    乗数のセットを決定すること、 偶数基底関数それぞれが直交すること、前記第2の変換
    の対応する基底関数の一定の乗数に十分に相関するこ
    と、および、前記DCおよび奇数基底関数それぞれにノ
    ルムにおいて一致する、という制約に対して前記許容差
    内にある前記nまたはm点のうち大きい方の前記偶数基
    底関数の一定の乗数のセットを決定すること、および、 基底関数それぞれが直交すること、前記第2の変換の対
    応する基底関数の一定の乗数に十分に相関すること、お
    よび、前記nおよびm点のうち大きい方の基底関数それ
    ぞれにノルムにおいて一致する、という制約に対して前
    記許容差内にあるnまたはm点のうち小さい方の基底関
    数の乗数のセットを決定することを備えることを特徴と
    する変換符号器。
  33. 【請求項33】 前記第2の変換はDCT変換であるこ
    とを特徴とする請求項32に記載の変換符号器。
  34. 【請求項34】 前記第2の変換は、DCT、FFT、
    ウェーブレットまたはオーバーラップ変換のうちの1つ
    であることを特徴とする請求項32に記載の変換符号
    器。
  35. 【請求項35】 前記ディメンションnおよびmは等し
    いことを特徴とする請求項32に記載の変換符号器。
  36. 【請求項36】 前記ディメンンションnおよびmは4
    および8であることを特徴とする請求項32に記載の変
    換符号器。
  37. 【請求項37】 整数係数から構成される変換行列を使
    用した、ディメンションnおよびmを有し、整数値から
    成るデータ・ブロックの行列乗算として実装された変換
    を利用した2次元メディア・データのための変換デコー
    ダであって、前記変換行列は構築プロセスに従って構築
    され、前記構築プロセスは、 nおよびm点のDC基底関数のノルムが適合すること、
    および、基底関数が整数値の制限範囲内の変換領域デー
    タを生じさせるという制約に対してある許容差内にあ
    る、前記nおよびm点のDC基底関数に属する一定の乗
    数を決定すること、 奇数基底関数それぞれが直交すること、対応するDCT
    基底関数の一定の乗数に十分に相関すること、および、
    前記DC基底関数とノルムにおいて適合する、という制
    約に対して前記許容差内にある、nまたはm点のうち大
    きい方の奇数基底関数に属する一定の乗数のセットを決
    定すること、 偶数基底関数それぞれが直交すること、対応するDCT
    基底関数の一定の乗数に十分に相関すること、および、
    前記DCおよび奇数基底関数とノルムにおいて適合す
    る、という制約に対して前記許容差内にある前記nまた
    はm点のうち大きい方の偶数基底関数に属する一定の乗
    数のセットを決定すること、および、 基底関数それぞれが直交すること、対応するDCT基底
    関数の一定の乗数に十分に相関すること、および、前記
    nおよびm点のうち大きい方の基底関数とノルムにおい
    て適合する、という制約に対して前記許容差内にあるn
    またはm点のうち小さい方の基底関数に属する乗数のセ
    ットを決定することを備えることを特徴とする変換デコ
    ーダ。
  38. 【請求項38】 前記ディメンションnおよびmは等し
    いことを特徴とする請求項37に記載の変換デコーダ。
  39. 【請求項39】 前記ディメンションnおよびmは4お
    よび8であることを特徴とする請求項37に記載の変換
    デコーダ。
  40. 【請求項40】 メディア・コンテンツを表現するデー
    タ・ブロックを変換符号化する方法であって、 不一致だがなおほぼ等しいノルムを有する変換基底関数
    のセットを備える変換を前記データ・ブロックに適用し
    て、前記メディア・コンテンツを表現する変換領域デー
    タ・ブロックを生じさせること、および、 前記不一致のノルムを補償するために、前記各変換基底
    関数のためのスケーリング係数に従って前記変換領域デ
    ータ・ブロックにおける値をスケーリングすることを備
    えることを特徴とする方法。
  41. 【請求項41】 前記不一致のノルムを補償するために
    スケーリングすることは、デコードでの計算負荷を削減
    するように、エンコードにおいて実行されることを特徴
    とする請求項40に記載の方法。
  42. 【請求項42】 前記不一致のノルムを補償するために
    スケーリングすることは、エンコードでの計算負荷を削
    減するように、デコードにおいて実行されることを特徴
    とする請求項40に記載の方法。
  43. 【請求項43】 前記変換を適用して、前記メディア・
    コンテンツを表現する変換領域データ・ブロックを生じ
    させることは、 【数9】 の行列を使用した行列乗算を備え、 スケーリングすることは、 【数10】 とした場合に、 【数11】 の行列を使用した成分関連の積を実行することを備える
    ことを特徴とする請求項40に記載の方法。
  44. 【請求項44】 前記変換を適用して、前記メディア・
    コンテンツを表現する変換領域データ・ブロックを生じ
    させることは、 【数12】 【数13】 の行列を使用した行列乗算を備え、 スケーリングすることは、 【数14】 とした場合に、 【数15】 の行列を使用した成分関連の積を計算することを備える
    ことを特徴とする請求項40に記載の方法。
  45. 【請求項45】 前記変換を適用して、前記メディア・
    コンテンツを表現する変換領域データ・ブロックを生じ
    させることは、 【数16】 の行列を使用した行列乗算を備え、 スケーリングすることは、 【数17】 とした場合に 【数18】 の行列を使用した成分関連の積を計算することを備える
    ことを特徴とする請求項40に記載の方法。
  46. 【請求項46】 メディア・コンテンツを表現するデー
    タ・ブロックを変換符号化する方法を達成するコンピュ
    ータ・システム上で実行する、格納されているコンピュ
    ータ実行可能プログラム命令を有するコンピュータ可読
    記憶媒体であって、前記方法は、 ノルムに対して不一致であるがなおほぼ等しい変換基底
    関数のセットを備える変換を前記データ・ブロックに適
    用して、前記メディア・コンテンツを表現する変換領域
    データ・ブロックを生じさせること、および、 前記各変換基底関数のためのスケーリング係数に従って
    前記変換領域データ・ブロックにおける値をスケーリン
    グして、前記不一致のノルムを補償することを備えるこ
    とを特徴とするコンピュータ可読記憶媒体。
  47. 【請求項47】 メディア・コンテンツを表現するデー
    タ・ブロックDを変換符号化する方法であって、 前記メディア・ブロックの空間領域表現と変換領域表現
    との間で変換であって、Tを変換基底関数の行列とし、
    前記変換の結果をRとすると 【数19】 として前記変換の結果が前記データ・ブロックDに関係
    付けられる変換をする前記データ・ブロックの変換を計
    算することを備え、 前記計算することは、 前記データ・ブロックの行列乗算を、前記変換基底関数
    行列にT=2・T+Tとして関係付けられた変換
    副成分行列(TおよびT)の第1および第2の変換
    副成分行列のそれぞれを使用して実行すること、 前記データ・ブロックおよび第2の副成分行列の積を、
    xビット位置だけシフトすること、 前記データ・ブロックおよび第1の副成分行列の積と、
    前記データ・ブロックおよび第2の副成分行列の積がx
    ビットだけシフトされた結果を合計すること、 前記合計された結果をyビット位置だけシフトして前記
    結果Rを生じさせることを備え、それにより前記変換の
    ヘッドルームが拡張されることを特徴とする方法。
  48. 【請求項48】 前記変換基底関数行列は、 【数20】 であり、前記変換副成分行列は、 【数21】 であることを特徴とする請求項47に記載の方法。
  49. 【請求項49】 前記変換基底関数行列は、 【数22】 であり、前記変換副成分行列は、 【数23】 であることを特徴とする請求項47に記載の方法。
  50. 【請求項50】 メディア・コンテンツを表現するデー
    タ・ブロックDを変換符号化する方法をコンピュータ・
    システム上で実行する、格納されているコンピュータ実
    行可能プログラム命令を有するコンピュータ可読記憶媒
    体であって、前記方法は、 前記メディア・ブロックの空間および変換領域表現の間
    で変換するための変換であって、Tを変換基底関数の行
    列とし、前記変換の結果をRとすると、 【数24】 として前記変換の結果がデータ・ブロックDに関係付け
    られる変換をする前記データ・ブロックの変換を計算す
    ることを備え、前記計算することは、 前記データ・ブロックの行列乗算を、前記変換基底関数
    行列にT=2・T+Tとして関係付けられた前記
    変換副成分行列(TおよびT)の第1および第2の
    変換副成分行列のそれぞれを使用して実行すること、前
    記データ・ブロックおよび第2の副成分行列の積を、x
    ビット位置だけシフトすること、 前記データ・ブロックおよび第1の副成分行列の積と、
    前記データ・ブロックおよび第2の副成分行列の積がx
    ビットだけシフトされた結果を合計すること、および、 前記合計された結果をyビット位置だけシフトして前記
    結果Rを生じさせることを備え、それにより前記変換の
    ヘッドルームが拡張されることを特徴とするコンピュー
    タ可読記憶媒体。
JP2003122704A 2002-05-02 2003-04-25 イメージおよびビデオ符号化のための2−d変換 Expired - Lifetime JP4425561B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US37729802P 2002-05-02 2002-05-02
US60/377,298 2002-05-02
US10/376147 2003-02-28
US10/376,147 US7242713B2 (en) 2002-05-02 2003-02-28 2-D transforms for image and video coding

Publications (2)

Publication Number Publication Date
JP2003333598A true JP2003333598A (ja) 2003-11-21
JP4425561B2 JP4425561B2 (ja) 2010-03-03

Family

ID=29273051

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003122704A Expired - Lifetime JP4425561B2 (ja) 2002-05-02 2003-04-25 イメージおよびビデオ符号化のための2−d変換

Country Status (8)

Country Link
US (1) US7242713B2 (ja)
EP (1) EP1359546B1 (ja)
JP (1) JP4425561B2 (ja)
KR (1) KR100965704B1 (ja)
CN (1) CN100379292C (ja)
AT (1) ATE339744T1 (ja)
DE (1) DE60308255T2 (ja)
HK (1) HK1060205A1 (ja)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007243427A (ja) * 2006-03-07 2007-09-20 Nippon Hoso Kyokai <Nhk> 符号化装置及び復号化装置
JP2011504000A (ja) * 2007-11-12 2011-01-27 タンドベルク・テレコム・エイ・エス ビデオ符号化および復号化の方法
KR101153105B1 (ko) 2004-05-14 2012-06-04 마이크로소프트 코포레이션 고속 비디오 코덱 변환의 구현
WO2012044076A3 (ko) * 2010-09-28 2012-06-14 삼성전자 주식회사 비디오의 부호화 방법 및 장치, 복호화 방법 및 장치
JP2013016972A (ja) * 2011-07-01 2013-01-24 Nippon Hoso Kyokai <Nhk> 符号化装置、復号装置及びプログラム
US8416850B2 (en) 2005-10-14 2013-04-09 Nec Corporation Image encoding method, device using the same, and computer program
JP2014523175A (ja) * 2011-06-27 2014-09-08 ブリティッシュ・ブロードキャスティング・コーポレーション 変換を用いたビデオの符号化および復号
JP2014535246A (ja) * 2011-11-07 2014-12-25 ヴィド スケール インコーポレイテッド 偶数−奇数整数変換を使用するビデオおよびデータの処理
US8942289B2 (en) 2007-02-21 2015-01-27 Microsoft Corporation Computational complexity and precision control in transform-based digital media codec
US8971405B2 (en) 2001-09-18 2015-03-03 Microsoft Technology Licensing, Llc Block transform and quantization for image and video coding
JP2015109585A (ja) * 2013-12-05 2015-06-11 Nttエレクトロニクス株式会社 デジタル符号化装置
CN105744280A (zh) * 2009-06-05 2016-07-06 高通股份有限公司 用于媒体编码的4x4变换
US9392285B2 (en) 2011-06-30 2016-07-12 Samsung Electronics Co., Ltd. Video encoding method with bit depth adjustment for fixed-point conversion and apparatus therefor, and video decoding method and apparatus therefor

Families Citing this family (72)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL147370A (en) * 2001-12-27 2007-07-24 Itzhak Florentin Method and system for guiding a remote vehicle via a retarded communication channel
US7129962B1 (en) * 2002-03-25 2006-10-31 Matrox Graphics Inc. Efficient video processing method and system
US7242713B2 (en) 2002-05-02 2007-07-10 Microsoft Corporation 2-D transforms for image and video coding
US7760950B2 (en) * 2002-09-26 2010-07-20 Ntt Docomo, Inc. Low complexity and unified transforms for video coding
US6831868B2 (en) * 2002-12-05 2004-12-14 Intel Corporation Byte aligned redundancy for memory array
US7471726B2 (en) * 2003-07-15 2008-12-30 Microsoft Corporation Spatial-domain lapped transform in digital media compression
JP4699685B2 (ja) * 2003-08-21 2011-06-15 パナソニック株式会社 信号処理装置及びそれを用いた電子機器
US7369709B2 (en) * 2003-09-07 2008-05-06 Microsoft Corporation Conditional lapped transform
US7724827B2 (en) 2003-09-07 2010-05-25 Microsoft Corporation Multi-layer run level encoding and decoding
US7627187B2 (en) * 2003-09-24 2009-12-01 Ntt Docomo, Inc. Low complexity and unified transforms for video coding
KR20050075578A (ko) * 2004-01-16 2005-07-21 삼성전자주식회사 폐루프 최적화를 지원하는 스케일러블 비디오 엔코딩 방법및 장치
US8045614B2 (en) 2005-05-11 2011-10-25 Dolby Laboratories Licensing Corporation Quantization control for variable bit depth
CN100440978C (zh) * 2004-09-28 2008-12-03 华为技术有限公司 一种视频图像编码方法
US7428342B2 (en) * 2004-12-17 2008-09-23 Microsoft Corporation Reversible overlap operator for efficient lossless data compression
US7471850B2 (en) * 2004-12-17 2008-12-30 Microsoft Corporation Reversible transform for lossy and lossless 2-D data compression
US7305139B2 (en) * 2004-12-17 2007-12-04 Microsoft Corporation Reversible 2-dimensional pre-/post-filtering for lapped biorthogonal transform
AU2005239628B2 (en) * 2005-01-14 2010-08-05 Microsoft Technology Licensing, Llc Reversible 2-dimensional pre-/post-filtering for lapped biorthogonal transform
US8311088B2 (en) * 2005-02-07 2012-11-13 Broadcom Corporation Method and system for image processing in a microprocessor for portable video communication devices
US7953161B2 (en) * 2005-04-27 2011-05-31 Broadcom Corporation System and method for overlap transforming and deblocking
US8422546B2 (en) * 2005-05-25 2013-04-16 Microsoft Corporation Adaptive video encoding using a perceptual model
US8036274B2 (en) * 2005-08-12 2011-10-11 Microsoft Corporation SIMD lapped transform-based digital media encoding/decoding
US20070047655A1 (en) * 2005-08-26 2007-03-01 Vannerson Eric F Transpose buffering for video processing
WO2007027418A2 (en) * 2005-08-31 2007-03-08 Micronas Usa, Inc. Systems and methods for video transformation and in loop filtering
JP2007195117A (ja) * 2006-01-23 2007-08-02 Toshiba Corp 動画像復号装置
US7995649B2 (en) 2006-04-07 2011-08-09 Microsoft Corporation Quantization adjustment based on texture level
US8503536B2 (en) 2006-04-07 2013-08-06 Microsoft Corporation Quantization adjustments for DC shift artifacts
US8059721B2 (en) * 2006-04-07 2011-11-15 Microsoft Corporation Estimating sample-domain distortion in the transform domain with rounding compensation
US8711925B2 (en) 2006-05-05 2014-04-29 Microsoft Corporation Flexible quantization
JP4829019B2 (ja) * 2006-07-06 2011-11-30 株式会社東芝 通信端末装置
US8238424B2 (en) 2007-02-09 2012-08-07 Microsoft Corporation Complexity-based adaptive preprocessing for multiple-pass video compression
US8498335B2 (en) 2007-03-26 2013-07-30 Microsoft Corporation Adaptive deadzone size adjustment in quantization
US20080240257A1 (en) * 2007-03-26 2008-10-02 Microsoft Corporation Using quantization bias that accounts for relations between transform bins and quantization bins
US8243797B2 (en) 2007-03-30 2012-08-14 Microsoft Corporation Regions of interest for quality adjustments
US8442337B2 (en) 2007-04-18 2013-05-14 Microsoft Corporation Encoding adjustments for animation content
US8331438B2 (en) 2007-06-05 2012-12-11 Microsoft Corporation Adaptive selection of picture-level quantization parameters for predicted video pictures
US8255445B2 (en) * 2007-10-30 2012-08-28 The Chinese University Of Hong Kong Processes and apparatus for deriving order-16 integer transforms
CN100461095C (zh) * 2007-11-20 2009-02-11 浙江大学 一种支持多模式的媒体增强流水线乘法单元设计方法
US8189933B2 (en) 2008-03-31 2012-05-29 Microsoft Corporation Classifying and controlling encoding quality for textured, dark smooth and smooth video content
US8102918B2 (en) 2008-04-15 2012-01-24 The Chinese University Of Hong Kong Generation of an order-2N transform from an order-N transform
US8175165B2 (en) 2008-04-15 2012-05-08 The Chinese University Of Hong Kong Methods and apparatus for deriving an order-16 integer transform
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
US8897359B2 (en) 2008-06-03 2014-11-25 Microsoft Corporation Adaptive quantization for enhancement layer video coding
EP2154898A3 (en) * 2008-08-12 2010-06-02 LG Electronics Inc. Method of processing a video signal
US8275209B2 (en) * 2008-10-10 2012-09-25 Microsoft Corporation Reduced DC gain mismatch and DC leakage in overlap transform processing
US9183181B2 (en) * 2011-01-10 2015-11-10 Cisco Technology, Inc. Integer matrix transform video compression system, method and computer program product
US9110849B2 (en) 2009-04-15 2015-08-18 Qualcomm Incorporated Computing even-sized discrete cosine transforms
US8762441B2 (en) * 2009-06-05 2014-06-24 Qualcomm Incorporated 4X4 transform for media coding
KR101805531B1 (ko) 2009-06-07 2018-01-10 엘지전자 주식회사 비디오 신호의 디코딩 방법 및 장치
US9635368B2 (en) 2009-06-07 2017-04-25 Lg Electronics Inc. Method and apparatus for decoding a video signal
US9075757B2 (en) 2009-06-24 2015-07-07 Qualcomm Incorporated 16-point transform for media data coding
US9081733B2 (en) 2009-06-24 2015-07-14 Qualcomm Incorporated 16-point transform for media data coding
US9118898B2 (en) 2009-06-24 2015-08-25 Qualcomm Incorporated 8-point transform for media data coding
US8817875B2 (en) * 2009-08-13 2014-08-26 The Johns Hopkins University Methods and systems to encode and decode sequences of images
CN102667923B (zh) 2009-10-20 2014-11-05 弗兰霍菲尔运输应用研究公司 音频编码器、音频解码器、用于将音频信息编码的方法、用于将音频信息解码的方法
SG182466A1 (en) * 2010-01-12 2012-08-30 Fraunhofer Ges Forschung Audio encoder, audio decoder, method for encoding and audio information, method for decoding an audio information and computer program using a modification of a number representation of a numeric previous context value
TWI415474B (zh) * 2010-07-19 2013-11-11 Mstar Semiconductor Inc 視訊編/解碼器與其方法
CN101977321B (zh) * 2010-11-04 2014-03-12 深圳市融创天下科技股份有限公司 一种视频编码的整数变换方法
US9824066B2 (en) 2011-01-10 2017-11-21 Qualcomm Incorporated 32-point transform for media data coding
US8719321B2 (en) * 2011-12-11 2014-05-06 Hong Kong Applied Science and Technology Research Institute Company Limited Adaptive block-size transform using LLMICT
JP6480186B2 (ja) * 2012-01-19 2019-03-06 ヴィド スケール インコーポレイテッド ビデオコーディング量子化およびダイナミックレンジ制御のシステムおよび方法
CN103905825B (zh) * 2012-12-27 2018-02-13 中国电信股份有限公司 视频图像的运动补偿方法和装置
CN104901703B (zh) * 2015-04-08 2018-04-03 河海大学 一种整数序列快速压缩存储算法
AU2015404416C1 (en) * 2015-07-31 2021-03-25 Ent. Services Development Corporation Lp Translate data structure to video frame structure
US10567800B2 (en) 2016-11-29 2020-02-18 Qualcomm Incorporated Transform hardware architecture for video coding
CN106954070B (zh) * 2017-04-28 2023-04-11 河南工程学院 一种滑动像素块整数dct核心矩阵变换运动补偿器及方法
US11049219B2 (en) 2017-06-06 2021-06-29 Gopro, Inc. Methods and apparatus for multi-encoder processing of high resolution content
WO2019159696A1 (ja) * 2018-02-14 2019-08-22 ソニー株式会社 画像処理装置および方法
US11647214B2 (en) * 2018-03-30 2023-05-09 Qualcomm Incorporated Multiple transforms adjustment stages for video coding
US11228781B2 (en) 2019-06-26 2022-01-18 Gopro, Inc. Methods and apparatus for maximizing codec bandwidth in video applications
US11481863B2 (en) 2019-10-23 2022-10-25 Gopro, Inc. Methods and apparatus for hardware accelerated image processing for spherical projections
KR20220147339A (ko) 2021-04-27 2022-11-03 성균관대학교산학협력단 이미지의 암호화 방법

Family Cites Families (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63219066A (ja) 1987-03-06 1988-09-12 Matsushita Electric Ind Co Ltd 直交変換装置
US5357594A (en) 1989-01-27 1994-10-18 Dolby Laboratories Licensing Corporation Encoding and decoding using specially designed pairs of analysis and synthesis windows
US5379351A (en) 1992-02-19 1995-01-03 Integrated Information Technology, Inc. Video compression/decompression processing and processors
US5319724A (en) 1990-04-19 1994-06-07 Ricoh Corporation Apparatus and method for compressing still images
JP2945487B2 (ja) 1990-12-26 1999-09-06 株式会社日立製作所 行列乗算器
JPH04282988A (ja) 1991-03-12 1992-10-08 Sony Corp データ変換装置及び方法
US5168375A (en) * 1991-09-18 1992-12-01 Polaroid Corporation Image reconstruction by use of discrete cosine and related transforms
JPH0645948A (ja) 1992-07-27 1994-02-18 Victor Co Of Japan Ltd 直交変換装置及び逆直交変換装置
JPH0645949A (ja) 1992-07-27 1994-02-18 Victor Co Of Japan Ltd 直交変換装置及び逆直交変換装置
JPH0654307A (ja) 1992-07-29 1994-02-25 Casio Comput Co Ltd データ圧縮装置
JP3069455B2 (ja) 1992-12-22 2000-07-24 富士写真フイルム株式会社 画像データ圧縮伸張装置における量子化・逆量子化回路
US5995539A (en) 1993-03-17 1999-11-30 Miller; William J. Method and apparatus for signal transmission and reception
JP3697717B2 (ja) 1993-09-24 2005-09-21 ソニー株式会社 2次元離散コサイン変換装置および2次元逆離散コサイン変換装置
US5864637A (en) 1995-04-18 1999-01-26 Advanced Micro Devices, Inc. Method and apparatus for improved video decompression by selective reduction of spatial resolution
US6002801A (en) 1995-04-18 1999-12-14 Advanced Micro Devices, Inc. Method and apparatus for improved video decompression by selection of IDCT method based on image characteristics
JP2914226B2 (ja) 1995-06-16 1999-06-28 日本電気株式会社 可逆変換を可能にするディジタル信号の変換符号化方式
US5701263A (en) * 1995-08-28 1997-12-23 Hyundai Electronics America Inverse discrete cosine transform processor for VLSI implementation
US5995670A (en) 1995-10-05 1999-11-30 Microsoft Corporation Simplified chain encoding
US6957350B1 (en) 1996-01-30 2005-10-18 Dolby Laboratories Licensing Corporation Encrypted and watermarked temporal and resolution layering in advanced television
JPH1091614A (ja) 1996-09-13 1998-04-10 Hitachi Ltd Idctの整数化法
US5883823A (en) 1997-01-15 1999-03-16 Sun Microsystems, Inc. System and method of a fast inverse discrete cosine transform and video compression/decompression systems employing the same
US6058215A (en) * 1997-04-30 2000-05-02 Ricoh Company, Ltd. Reversible DCT for lossless-lossy compression
US6134270A (en) 1997-06-13 2000-10-17 Sun Microsystems, Inc. Scaled forward and inverse discrete cosine transform and video compression/decompression systems employing the same
US6057855A (en) * 1997-07-02 2000-05-02 Hewlett-Packard Company Method and apparatus for providing polygon pixel sub-sample information using incremental means
EP0957638A4 (en) 1997-12-01 2008-06-04 Matsushita Electric Ind Co Ltd Image data processor and variable length coder and decoder
EP1038403B1 (de) 1997-12-19 2005-10-12 Infineon Technologies AG Vorrichtung zur multiplikation mit konstanten faktoren und deren verwendung zur videokompression (mpeg)
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
US6301304B1 (en) 1998-06-17 2001-10-09 Lsi Logic Corporation Architecture and method for inverse quantization of discrete cosine transform coefficients in MPEG decoders
GB9819648D0 (en) 1998-09-10 1998-11-04 Nds Ltd Determining visually noticeable differences between two images
US6363117B1 (en) 1998-12-31 2002-03-26 Sony Corporation Video compression using fast block motion estimation
US6473534B1 (en) 1999-01-06 2002-10-29 Hewlett-Packard Company Multiplier-free implementation of DCT used in image and video processing and compression
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
US6507614B1 (en) 1999-10-19 2003-01-14 Sony Corporation Efficient de-quantization in a digital video decoding process using a dynamic quantization matrix for parallel computations
JP3593944B2 (ja) 2000-03-08 2004-11-24 日本電気株式会社 画像データ処理装置及びそれに用いる動き補償処理方法
US8374237B2 (en) 2001-03-02 2013-02-12 Dolby Laboratories Licensing Corporation High precision encoding and decoding of video images
US20030112873A1 (en) 2001-07-11 2003-06-19 Demos Gary A. Motion estimation for video compression systems
US7123655B2 (en) * 2001-08-09 2006-10-17 Sharp Laboratories Of America, Inc. Method for reduced bit-depth quantization
US6882685B2 (en) 2001-09-18 2005-04-19 Microsoft Corporation Block transform and quantization for image and video coding
CN1225904C (zh) 2002-04-12 2005-11-02 精工爱普生株式会社 在压缩域视频处理中降低存储器要求和实施有效的逆运动补偿的方法和设备
US7242713B2 (en) 2002-05-02 2007-07-10 Microsoft Corporation 2-D transforms for image and video coding

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8971405B2 (en) 2001-09-18 2015-03-03 Microsoft Technology Licensing, Llc Block transform and quantization for image and video coding
KR101153105B1 (ko) 2004-05-14 2012-06-04 마이크로소프트 코포레이션 고속 비디오 코덱 변환의 구현
US8416850B2 (en) 2005-10-14 2013-04-09 Nec Corporation Image encoding method, device using the same, and computer program
JP2007243427A (ja) * 2006-03-07 2007-09-20 Nippon Hoso Kyokai <Nhk> 符号化装置及び復号化装置
US8942289B2 (en) 2007-02-21 2015-01-27 Microsoft Corporation Computational complexity and precision control in transform-based digital media codec
JP2011504000A (ja) * 2007-11-12 2011-01-27 タンドベルク・テレコム・エイ・エス ビデオ符号化および復号化の方法
CN105744280A (zh) * 2009-06-05 2016-07-06 高通股份有限公司 用于媒体编码的4x4变换
US9788013B2 (en) 2010-09-28 2017-10-10 Samsung Electronics Co., Ltd. Video encoding method and device and decoding method and device
WO2012044076A3 (ko) * 2010-09-28 2012-06-14 삼성전자 주식회사 비디오의 부호화 방법 및 장치, 복호화 방법 및 장치
US10743026B2 (en) 2010-09-28 2020-08-11 Samsung Electronics Co., Ltd. Video encoding method and device and decoding method and device
US9350997B2 (en) 2010-09-28 2016-05-24 Samsung Electronics Co., Ltd. Video encoding method and device and decoding method and device
US10455252B2 (en) 2010-09-28 2019-10-22 Samsung Electronics Co., Ltd. Video encoding method and device and decoding method and device
US10038918B2 (en) 2010-09-28 2018-07-31 Samsung Electronics Co., Ltd. Video encoding method and device and decoding method and device
JP2014523175A (ja) * 2011-06-27 2014-09-08 ブリティッシュ・ブロードキャスティング・コーポレーション 変換を用いたビデオの符号化および復号
US9549202B2 (en) 2011-06-30 2017-01-17 Samsung Electronics Co., Ltd. Video encoding method with bit depth adjustment for fixed-point conversion and apparatus therefor, and video decoding method and apparatus therefor
US9414074B2 (en) 2011-06-30 2016-08-09 Samsung Electronics Co., Ltd. Video encoding method with bit depth adjustment for fixed-point conversion and apparatus therefor, and video decoding method and apparatus therefor
JP2017130982A (ja) * 2011-06-30 2017-07-27 サムスン エレクトロニクス カンパニー リミテッド 固定小数点変換のためのビット深度調節を伴うビデオ符号化方法及びその装置、並びにビデオ復号化方法及びその装置
US9407917B2 (en) 2011-06-30 2016-08-02 Samsung Electronics Co., Ltd. Video encoding method with bit depth adjustment for fixed-point conversion and apparatus therefor, and video decoding method and apparatus therefor
US9888242B2 (en) 2011-06-30 2018-02-06 Samsung Electronics Co., Ltd. Video encoding method with bit depth adjustment for fixed-point conversion and apparatus therefor, and video decoding method and apparatus therefor
US9392285B2 (en) 2011-06-30 2016-07-12 Samsung Electronics Co., Ltd. Video encoding method with bit depth adjustment for fixed-point conversion and apparatus therefor, and video decoding method and apparatus therefor
JP2013016972A (ja) * 2011-07-01 2013-01-24 Nippon Hoso Kyokai <Nhk> 符号化装置、復号装置及びプログラム
JP2014535246A (ja) * 2011-11-07 2014-12-25 ヴィド スケール インコーポレイテッド 偶数−奇数整数変換を使用するビデオおよびデータの処理
US10452743B2 (en) 2011-11-07 2019-10-22 Vid Scale, Inc. Video and data processing using even-odd integer transforms
JP2015109585A (ja) * 2013-12-05 2015-06-11 Nttエレクトロニクス株式会社 デジタル符号化装置

Also Published As

Publication number Publication date
ATE339744T1 (de) 2006-10-15
CN100379292C (zh) 2008-04-02
US7242713B2 (en) 2007-07-10
CN1455599A (zh) 2003-11-12
US20030206582A1 (en) 2003-11-06
DE60308255D1 (de) 2006-10-26
KR20030086423A (ko) 2003-11-10
DE60308255T2 (de) 2006-12-28
JP4425561B2 (ja) 2010-03-03
EP1359546B1 (en) 2006-09-13
EP1359546A1 (en) 2003-11-05
KR100965704B1 (ko) 2010-06-24
HK1060205A1 (en) 2004-07-30

Similar Documents

Publication Publication Date Title
JP4425561B2 (ja) イメージおよびビデオ符号化のための2−d変換
JP4425824B2 (ja) 動画像コーデック変換の高速実装
KR101013344B1 (ko) 이산 코사인 변환의 계산 중의 에러 감소
KR101036731B1 (ko) 손실 및 무손실 2차원 데이터 압축을 위한 가역 변환
KR100839309B1 (ko) 비디오 또는 이미지 정보를 디코딩하는 방법, 비디오 또는 이미지 정보를 코딩하는 방법, 및 비디오 디코더
KR100963458B1 (ko) 순이산 및 역이산 코사인 변환의 효율적인 고정 소수점 근사
KR101131757B1 (ko) 스케일링 인터페이스 및 넌-스케일링 인터페이스를 갖는 변환 디자인
US7730116B2 (en) Method and system for fast implementation of an approximation of a discrete cosine transform
JP2010213296A (ja) 映像符号化のための低複雑性単一化変換
JP2002531973A (ja) 画像の圧縮及び伸張
KR100963459B1 (ko) 순이산 및 역이산 코사인 변환의 효율적인 고정 소수점 근사
KR100402734B1 (ko) 부호화된 피승수를 사용하는 고정 소수점 곱셈 장치 및 그방법
Radhika et al. Power and Area Optimization Techniques for Reconfigurable Inverse Discrete Cosine Transform FPGA for High Performance Computation Electromagnetics
KR19980075634A (ko) 영상신호의 압축과 복원을 위한 이산 코사인 변환 장치
JPH05160746A (ja) 符号復号化装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060323

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090203

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090507

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090529

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090929

RD13 Notification of appointment of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7433

Effective date: 20090930

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20090930

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20091030

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: 20091113

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20091209

R150 Certificate of patent or registration of utility model

Ref document number: 4425561

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20121218

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20131218

Year of fee payment: 4

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

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

EXPY Cancellation because of completion of term