JP5529101B2 - 基準化および非基準化インタフェースを用いた変換設計 - Google Patents

基準化および非基準化インタフェースを用いた変換設計 Download PDF

Info

Publication number
JP5529101B2
JP5529101B2 JP2011243719A JP2011243719A JP5529101B2 JP 5529101 B2 JP5529101 B2 JP 5529101B2 JP 2011243719 A JP2011243719 A JP 2011243719A JP 2011243719 A JP2011243719 A JP 2011243719A JP 5529101 B2 JP5529101 B2 JP 5529101B2
Authority
JP
Japan
Prior art keywords
block
transform
scaled
idct
normalized
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.)
Expired - Fee Related
Application number
JP2011243719A
Other languages
English (en)
Other versions
JP2012105273A (ja
Inventor
ユリー・レズニク
アルバート・スコット・ルドウィン
ヒュクジュネ・チュン
ハリナス・ガルダドリ
ナビーン・ビー.・スリニバサマーシ
フォーム・サゲトン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2012105273A publication Critical patent/JP2012105273A/ja
Application granted granted Critical
Publication of JP5529101B2 publication Critical patent/JP5529101B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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
    • 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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Description

本開示は一般に処理に関し、より詳細にはデータに変換を実行するための手法に関する。
変換は一般的に1つの領域からもう一方の領域へデータを変換するために用いられる。例えば、離散コサイン変換(DCT)はデータを空間領域から周波数領域へ変換するために一般的に用いられ、逆離散コサイン変換(IDCT)はデータを周波数領域から空間領域へ変換するために一般的に用いられる。DCTは画像/ビデオ圧縮に用いられ、画像またはビデオフレーム内の画素(ピクセル)のブロックを空間的に無相関化する。得られる変換係数は通常相互にほとんど依存しない。これによりこれらの係数は量子化および符号化に一層適する。DCTはエネルギー集中特性をも示す。これは、ピクセルブロックのエネルギーの大部分をわずかな(通常低次の)変換係数だけにマッピングすることができるものである。このエネルギー集中特性は符号化アルゴリズムの設計を簡易にできる。
異なる画像およびビデオ符号化標準をサポートするかもしれない種々のアプリケーションに対して、DCTおよびIDCTのような変換が用いられるかもしれない。したがって、これらのアプリケーションに適したフォーマットのデータを受信し、出力できるインタフェースを提供することが望ましい。さらに、変換は大量のデータに関して実行されるかもしれないため、できるだけ効率的に変換を実行することが望ましい。
米国仮出願番号60/787,562
新井、安居院、中嶋、「画像用高速DCT-SQ方式」、電子情報通信学会論文誌、1988年11月
本出願は、本譲受人に譲渡され、ここに参照として組み込まれる2006年3月29日に出願された米国仮出願番号60/787,562、名称“CONVERGENCE OF SCALED AND NON-SCALED IDCT ARCHITECTURES”(基準化および非基準化IDCTアーキテクチャの収束)の優先権を主張する。
ここに、完全および基準化インタフェースを介して入力されるデータにそれぞれ完全および基準化変換を効率的に実行するための手法を説明する。完全変換とは、変換の完全な数学的記述を実施する変換である。完全変換は完全変換係数(または簡単に、変換係数)に作用するか、またはこれを出力する。また、完全変換は非基準化変換、コンプリート変換等と呼ばれるかもしれない。基準化変換とは、完全変換係数の基準化バージョンである基準化変換係数に作用するか、またはこれを出力する変換である。基準化変換は計算量がより少ないかもしれない。また、基準化変換係数が使用可能なアプリケーションで用いられるかもしれない。完全変換は全変換係数の交換を必要とするアプリケーションで用いられるかもしれない。完全および基準化変換は2次元(2D)IDCT用であるかもしれない。これは1次元(1D)IDCTを用いて分離可能な方法で実施されるかもしれない。また、完全および基準化変換は2D DCT用であるかもしれない。これは1D DCTを用いて分離可能な方法で実施されるかもしれない。以下で説明するように、1D IDCTおよび1D DCTは効率的計算方法で実施されるかもしれない。
本発明の2D基準化を用いた分離可能な完全2D IDCTを示す図。 本発明の行-列基準化を用いた分離可能な完全2D IDCTを示す図。 本発明の1D基準化を用いた、分離可能な完全2D IDCTを示す図。 本発明の分離可能な基準化2D IDCTを示す図。 本発明の8点1D IDCTの要素分解のフロー図。 本発明の2D基準化を用いた分離可能な完全2D DCTを示す図。 本発明の行-列基準化を用いた分離可能な完全2D DCTを示す図。 本発明の1D基準化を用いた分離可能な完全2D DCTを示す図。 本発明の分離可能な基準化2D DCTを示す図。 本発明の8点1D DCTの要素分解のフロー図。 本発明の完全および基準化インタフェースをサポートするIDCTプロセッサを示す図。 本発明の完全および基準化インタフェースをサポートするDCTプロセッサを示す図。 本発明の変換を実行するための処理を示す図。 本発明の符号化システムおよび復号システムを示す図。 本発明の符号化システムのブロック図。 本発明の復号システムのブロック図。
以下に、本開示の種々の態様および特徴をより詳細に説明する。
ここに説明する手法は、DCT、IDCT、離散フーリエ変換(DFT)、逆DFT(IDFT)、変調重複変換(MLT)、逆MLT、変調複素重複変換(MCLT)、逆MCLTなどの種々の変換に用いられるかもしれない。本手法は、画像、ビデオ、およびオーディオ処理、通信、計算、データネットワーキング、データ保存、グラフィックスなどの種々のアプリケーションにも用いられるかもしれない。一般に、本手法は変換を用いるいかなるアプリケーションにも用いられるかもしれない。明確さのために、本手法を画像およびビデオ処理において一般的に用いられるDCTおよびIDCTに対して以下に説明する。
タイプIIのN点1D DCTおよびのN点1D IDCTは次式のように定義されるかもしれない。
Figure 0005529101
x[n]は1D空間領域関数、
X[k]は1D周波数領域関数である。
式(1)の1D DCTはN個の入力サンプルすなわち空間領域値x[0]からx[N−1]に作用し、N個の変換係数X[0]からX[N−1]を生成する。式(2)の1D IDCTはN個の変換係数に作用し、N個の出力サンプルを生成する。タイプII DCTは、変換の一形式であり、画像/ビデオ圧縮のためにたびたび提案される種々のエネルギー集中化変換の中で最も効率的な変換の1つであると一般的に信じられている。
1D DCTおよび1D IDCTはそれぞれ式(1)および式(2)に示すそれらの元々の型で実施されるかもしれない。しかし、以下で説明するように、できるだけ少ない乗算および加算になるような要素分解を見出すことにより、かなりの計算量削減が実現されるかもしれない。
式(1)の1D DCTは以下のように行列形式で表現されるかもしれない。
式(3)
ここで、は入力サンプルのN×1ベクトル、
は完全1D DCTのN×N行列、
は変換係数のN×1ベクトルである。
は入力サンプルx[0]からx[N−1]を含み、は変換係数X[0]からX[N−1]を含む。の要素は式(1)に基づいて得られるかもしれない。
1D DCTは以下のように行列の積に分解されるかもしれない。
S 式(4)
ここで、 = diag(A,・・・,AN−1)は基準化係数の対角行列、
は基準化1D DCTのN×N行列である。
式(3)および式(4)は、最初に基準化1D DCTをに実行し、次にその結果をを用いて基準化することにより、完全1D DCTがに実行されるかもしれないことを示している。
例えば、式(4)に示すような、完全変換の基準化変換への分解および基準化操作の利点は、基準化係数を適切に選択することにより基準化変換の乗算量が減少するかもしれないことである。例えば、新井、安居院、中嶋(AAN)「画像用高速DCT-SQ方式」、電子情報通信学会論文誌、1988年11月発行、に記載の周知の分解は、わずか5回の無理数係数の乗算を用いて実施されるかもしれない基準化8点DCTを実現する。対照的に、最もよく知られている完全8点DCTはそのような乗算を11回要する。
N×Nの2D DCTは以下のように定義される。
Figure 0005529101
式(5)の演算の結果はN×Nの2D DCTの行列である。
2D DCTは入力サンプルのN×N行列に、一回に1次元について、分離可能な方法で実行されるかもしれない。例えば、中間行列を得るために、の各行に1D DCTが実行されるかもしれない。次に、前記中間行列の各列に1D DCTが実行されるかもしれない。あるいはまた、の各列に1D DCTが実行され、中間行列の各行についての1D DCTが後続するかもしれない。
式(5)は最初に基準化2D DCTをに実行し、次にその結果を基準化することにより、に2D DCTが実行されるかもしれないことを示している。また、式(5)は、行および列1D DCTに対する基準化は、基準化2D DCTの結果に適用される単一のステップ
Figure 0005529101
式(2)の1D IDCTは次のように行列形式で表されるかもしれない。
Figure 0005529101
ここで、tは完全1D IDCTのN×N行列であり、「t」は転置を表す。
2D IDCTは次式で表されるかもしれない。
Figure 0005529101
式(7)は最初に変換係数を基準化し、次に基準化2D IDCTを前記基準化変換係数に実行することにより、2D IDCTが変換係数のN×N行列に実行されるかもしれないことを示している。また、式(7)は、行および列1D IDCTに対する基準化は、基準化2D IDCTに先立つ単一のステップへ組み込まれるかもしれないことを示している。
基準化アーキテクチャとは、基準化変換を用いる設計であり、また完全アーキテクチャとは、完全変換を用いる設計である。基準化アーキテクチャは完全アーキテクチャより乗算量が少ないかもしれない。例えば、基準化アーキテクチャは分離可能な行-列の方法で基準化2D IDCT
Figure 0005529101
また、各行および各列に対してAAN分解による8点基準化1D IDCT を用いるかもしれない。この基準化アーキテクチャの乗算量は、8×8+16×5 = 64+80 = 144、すなわち基準化のための64回の乗算並びに8行および8列の各々に対する5回の乗算であるかもしれない。特定の状況において、基準化は量子化と組み合わされるかもしれない。その場合、基準化アーキテクチャの乗算量は約80回の乗算に減少するかもしれない。完全アーキテクチャは行-列の方法で2D IDCT
Figure 0005529101
また、各行および各列に対して最もよく知られている完全8点1D IDCT を用いるかもしれない。この完全アーキテクチャの乗算量は、16×11 = 176、すなわち8行および8列の各々に対して11回の乗算であるかもしれない。分離可能の実施において、基準化アーキテクチャは完全アーキテクチャより乗算量が少ないかもしれない。
基準化アーキテクチャは低計算量が好ましい設計に用いられるかもしれない。基準化アーキテクチャは基準化する非ゼロ変換係数がほとんどない場合に有利であるかもしれない。これは画像/ビデオ復号器の2D IDCTにおいてよくある場合であるかもしれない。また、基準化アーキテクチャは、図8に示すように、変換係数の基準化が画像/ビデオ符号器/復号器(コーデック)における量子化および/または逆量子化と組み合わされることができる設計において有利であるかもしれない。
完全アーキテクチャは使いやすさを好む設計において望ましいかもしれない。例えば、多くの計算環境およびアプリケーションは複数の画像およびビデオ符号化標準をサポートするかもしれない。これらの例において、完全変換を実施する変換エンジンを有すること、およびその変換エンジンが種々の量子化器とコーデックとで用いられ得るようにフレキシブルな入力/出力インタフェースを提供することは、より便利であるかもしれない。完全アーキテクチャは簡単なインタフェースを提供し、そのような環境においてより適切であるかもしれない。
基準化および完全インタフェースを介して異なるアプリケーションを柔軟にサポートできる変換設計をここに説明する。本変換設計は完全インタフェースを介して完全入力値を入力し、これらの入力値に完全変換を実行し、完全アーキテクチャと同様に完全出力値を出力するかもしれない。本変換設計は、また、基準化インタフェースを介して基準化入力値を入力し、これらの入力値に基準化変換を実行し、基準化アーキテクチャと同様に基準化出力値を出力するかもしれない。本変換設計は可能性として少ない計算量および/または改善した精度を達成するために分離可能な基準化変換を内部的に実施するかもしれない。このように、本変換設計はあるアプリケーションに対して計算量を少なくでき、他のアプリケーションに対しては使いやすさを提供し、またはある場合には少ない計算量と使いやすさの双方を提供することができるかもしれない。本変換設計は順変換(例えば、DCT)と逆変換(例えば、IDCT)の双方に用いられるかもしれない。明確さのために、以下に本変換設計をIDCTに対して特に説明する。
基準化および非基準化/完全2D IDCTアーキテクチャは次式で表されるかもしれない。
基準化2D IDCT:
Figure 0005529101
非基準化2D IDCT:
Figure 0005529101
完全/非基準化インタフェースは変換係数を入力するかもしれない。これらの変換係数に完全2D IDCTが以下のように実行されるかもしれない。
= Θ() ≒ 式(10)
ここで、は変換係数の行列、
Θ(・)は完全2D IDCTの近似、
は出力サンプルの行列である。
式(10)の演算子記法(・)は、固定小数点近似が線形操作のみに基づいていないかもしれないということを示すために用いられる。
完全な2D IDCTはXの各行および各列について以下のように完全1D IDCTを実行することによって達成されるかもしれない。
θ(i) ≒ i 式(11)
ここで、iはのi番目の行または列、
θ(・)は完全1D IDCTの近似である。
θ(・)は2D演算子Θ(・)の行-列の実施に用いられるかもしれない。
基準化インタフェースは基準化変換係数を入力するかもしれない。これは以下のように求められるかもしれない。
= Σ() ≒ 式(12)
ここで、Σ(・)は2D基準化操作の近似、
は基準化変換係数の行列である。
基準化2D IDCTは以下のように基準化変換係数に実行されるかもしれない。
Figure 0005529101
ここで、Ξ(・)は基準化2D IDCTの近似である。
基準化2D IDCTはXSの各行および各列に以下のように基準化1D IDCTを実行することにより達成されるかもしれない。
Figure 0005529101
ここで、 ,iは のi番目の行または列、
ξ(・)は基準化1D IDCTの近似である。
ξ(・)は2D演算子Ξ(・)の行-列の実施に用いられるかもしれない。
式(13)に示すように、2D演算子Ξ(・)を実施することにより基準化インタフェースが実現されるかもしれない。式(12)および式(13)に示すように、2D演算子Ξ(・)に加えて2D基準化演算子Σ(・)を実施することにより完全インタフェースが実現されるかもしれない。したがって、完全2D IDCTは以下のように実行されるかもしれない。
= Ξ(Σ()) ≒ Θ() 式(15)
式(15)は、最初に完全変換係数を2D基準化演算子Σ(・)を用いて基準化し、次に前記基準化変換係数に2D演算子Ξ(・)を用いて基準化2D IDCTを実行することにより、完全変換係数に完全2D IDCTが実行されるかもしれないことを示している。2D演算子Ξ(・)は1D演算子ξ(・)の行-列の縦続接続で順次実施されるかもしれない。
したがって、分離可能な完全2D IDCTのための2D演算子Θ(・)は分離可能な基準化2D IDCTのための2D演算子Ξ(・)および2D基準化演算子Σ(・)を用いて実施されるかもしれない。2D基準化は、以下に説明するように、種々の方法で実施されるかもしれない。分離可能な基準化2D IDCTおよび2D基準化を用いて実施される分離可能な完全2D IDCTの計算量と特性は、結果として、元々実施される完全2D IDCTと同等になるかもしれない。
図1Aに2D基準化を用いた分離可能な完全2D IDCT 100の構造を示す。2D IDCT 100は、2D基準化段112と、それに続く行(または列)用の基準化1D IDCT段114と、さらにそれに続く列(または行)用の基準化1D IDCT段116と、終段の出力フォーマッティング段118と含む。2D基準化段112は変換係数XのN×Nブロックを入力し、さらに各変換係数Xijに基準化係数Aijを乗算するかもしれない。またさらに、各基準化変換係数をPビットだけ左へシフトするかもしれない。ここでPは予約「仮数」ビット数を表す。基準化後に、出力サンプルにおいて適当な丸めを得るために、DC変換係数に値C=2P−1が加算されるかもしれない。基準化の精度改善のためにS=P+Rビットが基準化係数の整数への変換で用いられるかもしれない。乗算後Rビットだけ右シフトが実行されるかもしれない。Sはハードウェアプラットフォームでの実施を容易にすることができる任意の適切な値であるかもしれない。例えば、符号付/符号なし16ビット乗算器を備えたプラットフォームにおいてSは15または16であるかもしれない。
IDCT段114は2D基準化段112からの基準化変換係数のブロックの各行にN点の基準化1D IDCTを実行する。IDCT段116はIDCT段114で生成される中間ブロックの各列にN点の基準化1D IDCTを実行する。段114および116用の基準化1D IDCTはそれらの入力データに対して、内部の前基準化または後基準化すること無しに、直接動作するかもしれない。すべての行と列の処理後に、完全2D IDCTに対する出力サンプルのN×Nブロックを生成するために、出力フォーマッティング段118はIDCT段116から得た量をPビットだけ右にシフトするかもしれない。基準化係数および精度定数Pは所望の幅のレジスタを用いて全体の2D IDCTを実施することができるように選択されるかもしれない。
段112における2D基準化は次式で表されるかもしれない。
ij = (Xij・A・A) >> R 式(16)
ここで、Xijの行i、列jの変換係数、
およびAはSのそれぞれi番目、j番目の対角要素、
ij の行i、列jの基準化変換係数、
「>>R」はRビットの符号付右シフトを表す。
Rは、基準化変換係数XS,ijにおいてPビットの付加的固定小数点精度を確実にする定数である。
1つの表にi = 0,・・・,N−1およびj = 0,・・・,N−1に対して基準化係数Aij = A・Aが格納されるかもしれない。の各要素はこの表の対応する基準化係数と乗算されるかもしれない。最大N・N回の乗算が、のN・N要素に対して実行されるかもしれない。
図1Bに分離可能な行-列基準化を用いた分離可能な完全2D IDCT102の構造を示す。2D IDCT 102は分離可能な行-列基準化段122と、それに続く行(または列)用の基準化1D IDCT段124と、さらにそれに続く列(または行)用の基準化1D IDCT段126と、終段の出力フォーマッティング段128を含む。基準化段122は変換係数のN×Nブロックを入力し、基準化変換係数を求めるために、次式のようにさらに各行iの各変換係数Xijに基準化係数Aを乗算し、さらに、各列jの得られた各係数に基準化係数Aを乗算するかもしれない。
Figure 0005529101
このように、基準化段122は分離可能な方法で行、続いて列に(または列、続いて行に)2D基準化を実行するかもしれない。分離可能な行-列の基準化は同じハードウェアが行の基準化および列の基準化に用いられることを可能にするかもしれない。これは実施の複雑さを減少させるかもしれない。のN・N要素に対して最大2・N・N回の乗算が実行されるかもしれない。しかし、基準化係数A0からAN−1のいくつかはよくある値(例えば256)を有しており、またこれらのよくある基準化係数との乗算は単純なシフト操作で実施されるかもしれないため、実際の乗算回数は上算数は2・N・Nより遙かに少ないかもしれない。段124、126、および128はそれぞれ図1Aの段114、116、および118と同様に動作するかもしれない。
図1Cに各基準化1D IDCTに先立って基準化を用いる分離可能な完全2D IDCT 104の構造を示す。2D IDCT 104は、行(または列)用の基準化を用いる基準化1D IDCT段134と、それに続く列(または行)用の基準化を用いる基準化1D IDCT段136と、終段の出力フォーマッティング段138を含む。IDCT段134はN点の基準化1D IDCTに先立って、変換係数のブロックの各行に基準化を実行する。IDCT段136はN点の基準化1D IDCTに先立って、IDCT段134で生成される中間ブロックの各列に基準化を実行する。段134および136は基準化1D IDCTを用いて本質的には完全1D IDCTを実行する。基準化係数A0からAN−1および基準化1D IDCT内の定係数は、以下に説明するように完全1D IDCTのために計算量を減少しおよび/または精度を改善するように選択されるかもしれない。段138は図1Aの段118と同様に動作するかもしれない。
図1Dに分離可能な基準化2D IDCT 106の構造を示す。2D IDCT 106は行(または列)用の基準化1D IDCT段144と、それに続く列(または行)用の基準化1D IDCT段146と、終段の出力フォーマッティング段148を含む。IDCT段144は基準化変換係数 のN×Nブロックの各行にN点の基準化1D IDCTを実行する。IDCT段146はIDCT段144で生成される中間ブロックの各列にN点の基準化1D IDCTを実行する。段148は図1Aの段118と同様に動作するかもしれない。
図1Aから1Cに示すように、完全2D IDCTに対する基準化は、図1Aの行-列1D IDCTに先立つ2D基準化を用いるような、または図1Bの行-列1D IDCTに先立つ分離可能な行-列基準化を用いるような、または図1Cの各1D IDCTに先立つ基準化を用いるような種々の方法で達成できるかもしれない。基準化は他の方法でも実行されるかもしれない。図1Dに示すように、基準化2D IDCTは単に基準化を省略し行と列に対して1D IDCTを実行することによって達成されるかもしれない。
種々の形式の基準化1D IDCTが図1Aから図1Dにおける行-列1D IDCTに用いられるかもしれない。例えば、AAN分解に基づく基準化1D IDCTが用いられるかもしれない。計算量がおそらくより少ない別の基準化IDCTについて以下に説明する。
図2に8点1D IDCTの例示的な要素分解のフロー図200を示す。
Figure 0005529101
各加算は2つの入力値を加算または減算し、出力値を出力する。各乗算は入力値と四角形の中の示される定係数の乗算を行い、出力値を出力する。図2における要素分解には、以下の定係数との乗算がある。
α1 = α2 = 1 式(18)
β1 = β2 = Cπ/4 = cos(π/4) ≒ 0.707106781
γ1 = C3π/8 = cos(3π/8) ≒ 0.382683432
δ1 = S3π/8 = sin(3π/8) ≒ 0.923879533。
フロー図200は8個の変換係数X[0]からX[7]を入力し、8個の基準化変換係数A0・X[0]からA7・X[7]を求めるためにこれらの変換係数を基準化係数A0からA7を用いて基準化するかもしれない。あるいはまた、フロー図200は直接8個の基準化変換係数を入力するかもしれない。どちらの場合においても、フロー図200は、8個の基準化変換係数に8点1D IDCTを実行し、8個の出力サンプルx[0]からx[7]を生成する。基準化係数A0からA7は以下の通りである。
Figure 0005529101
フロー図200は多くのバタフライ演算を含む。バタフライ演算は2つの入力値を入力し、1つの出力値は2つの入力値の和であり、もう一方の出力値は2つの入力値の差である2つの出力値を生成する。例えば、入力値A・X[0]およびA・X[4]のバタフライ演算は上側分岐において出力値A・X[0] + A・X[4]を、下側分岐において出力値A・X[0] − A・X[4]を生成する。
図2に示す要素分解により合計6個の乗算と28個の加算となる。これは式(2)を直接計算するために必要な乗算と加算の数より大幅に少ない。乗算は8点1D IDCTにおいてはπ/8の倍数である種々の角度のsinおよびcosを表す無理数定数との乗算である。無理数定数は2つの整数の比ではない定数である。各無理数定数が有理2項定数で近似される場合、無理数定数との乗算は固定小数点整数算術で効率的に実行されるかもしれない。有理2項定数は2進の分母を有する有理定数であり、c/2bの形である。ここで、bおよびcは整数でありb>0である。
固定小数点整数算術における整数変数xと無理数定数μの乗算は以下のように無理数定数を有理2項定数で近似することにより達成されるかもしれない。
μ ≒ c/2 式(19)
ここで、μは近似されるべき無理数定数、
c/2は有理2項定数である。
整数変数xおよび有理2項定数u = c/2bが与えられると、整数値の積
y = (x・c)/2 式(20)
が中間値の数列
x0,x1,x2,・・・,xt 式(21)
を用いて近似されるかもしれない。
ここで、x = 0,x = x、およびすべての2≦i≦tに対してxiは以下のように求められる。
Figure 0005529101
ここで、xk・2siは中間値xkに|s|ビットだけ(定数sの符号に依存して)左または右シフトのいずれかを意味する。
式(22)において、xはx+x・2si,x−x・2siまたは−x+x・2siに等しいかもしれない。
数列内の各中間値xは数列内の2つの先行する中間値xおよびxに基づいて導出されるかもしれない。ここで、xおよびxのいずれかは0であるかもしれない。各中間値xは1シフトおよび/または1加算で求められるかもしれない。sが0の場合、シフトは不要である。x = x = 0の場合、加算は不要である。乗算のための加算およびシフトの総数は、数列になっている中間値の数tおよび各中間値に用いられる式とよって決定される。有理2項定数uによる乗算は本質的に一連のシフトおよび加算操作に展開される。数列は数列の最終の値が所望の整数値積、すなわち、
≒ y 式(23)
になるように決定される。
固定小数点整数算術における整数変数xと2つの無理数定数μおよびηとの乗算は、以下のように無理数定数を有理2項定数で近似することによって得られるかもしれない。
μ ≒ c/2b および η ≒ e/2d 式(24)
ここで、c/2bおよびe/2dは2つの有理2項定数、
b,c,d,eは整数、b>0、d>0である。
整数値xおよび有理2項定数u = c/2およびv = e/2を与えると、2つの整数値の積
y = (x・c)/2 および z = (x・e)/2 式(25)
は中間値の数列
,x,x,・・・,x 式(26)を用いて近似されるかもしれない。
ここで、x = 0,x = x、およびすべての2≦i≦tに対してxは以下のように求められる。
Figure 0005529101
この数列は所望の整数で表した値の積が以下のようにステップmおよびnで得られるように定義される。
≒ y および x ≒ z 式(28)
ここで、m,n≦t、mまたはnのいずれかはtに等しい。
式(24)から式(28)に示すように、整数変数xと無理数定数μおよびηとの乗算は、操作の総数を減少するためにシフトおよび加算操作で生成される共通の中間値の数列で、および中間値を用いて近似されるかもしれない。
上述の計算において、0の加算および減算並びに0ビットのシフトのような自明の操作は省略されるかもしれない。以下の簡素化がなされるかもしれない。
Figure 0005529101
式(29)において、「⇒」の左の式は0(x0で表される)の加算または減算を含み、「⇒」の右の式で示すように1つのシフトで実行されるかもしれない。式(30)において、「⇒」の左の式は0ビットのシフト(20で表される)を含み、「⇒」の右の式で示すように1回の加算で実行されるかもしれない。式(29)および式(30)はxiの計算における式(22)および式(27)に適用されるかもしれない。
計算量を減少するために、次式で示すように、第1の共通係数F1がフロー図200の定数項αおよびβに適用され、第2の共通係数Fが定数項α、β、δおよびγに適用されるかもしれない。
Figure 0005529101
基準化係数AからAも共通係数FおよびFを計算に入れるように次式のように基準化されるかもしれない。
Figure 0005529101
共通係数F1およびF2の種々の値の組合せが評価されるかもしれない。F1およびF2の値の各組合せに対して、1D IDCTのための論理および算術演算の総数並びに出力サンプルの精度が決定されるかもしれない。
表1に、 F = 2523/2048およびF = 2607/2048としたときの図2の1D IDCTに対する固定小数点近似の例を示す。表1の第1列に、基準化係数A0'からA7'および基準化共通係数を示す。各係数は第2列に示す有理2項定数で近似されるかもしれない。変数xと1つまたは2つの有理2項定数の乗算に対する中間値の数列を第3列に示す。各乗算に対する加算およびシフト演算の数をそれぞれ第4および第5列に示す。1D IDCTのために各乗算が用いられる回数を第6列に示す。1D IDCTのための加算操作の総数は第4列の加算操作の数掛ける第6列に示す数の和に等しい。1D IDCTのためのシフト操作の総数は第5列のシフト操作の数掛ける第6列に示す数の和に等しい。
Figure 0005529101
表1において、8だけ右シフトすることは基準化係数A0',A1',A2'およびA4'の256との乗算を打ち消す。これは付加的計算量の減少を可能とする。
表1に示す設計において、8点基準化1D IDCTは50の加算操作および24のシフト操作を用いて実行されるかもしれない。8点完全1D IDCTは61の加算操作および39のシフト操作を用いて実行されるかもしれない。基準化係数A0'からA7'までを用いる基準化は、(図1Cに示すように)基準化1D IDCTに先立って実行されるか、または、(図の1Aおよび1Bに示すように)行-列の1D IDCTに先立って実行されるかもしれない。8×8の完全2D IDCTは977の加算操作および688のシフト操作を用いて実行されるかもしれない。上記977の加算操作は8行および8列に対する16の1D IDCTの各々に対する61の加算に、2P−1と基準化後のDC変換係数の和のために1つの加算を加えた操作を含む。上記688のシフト操作は8行および8列に対する16のIDCTの各々に対する39のシフトに、第2のIDCT段からの64の値をPビットだけシフトするための64のシフトを加えた操作を含むかもしれない。表1に示す設計はIEEE標準1180−1190および未決定のその後継版で定義される精度基準を満足するか、または超えている。
表1は図2の1D IDCTのための例示的固定小数点近似を示すものである。基準化係数A0からA7並びに定係数α1、β1、α2、β2、δ1およびγ1は、異なる計算量および/または精度を有するかもしれない他の有理2項定数で近似されるかもしれない。また、他の形式の基準化IDCTが分離可能な基準化および完全2D IDCTを実施するために用いられるかもしれない。
図3Aに2D基準化を用いた分離可能な完全2D DCT 300の構造を示す。2D DCT300は入力フォーマッティング段312と、それに続く行(または列)用の基準化1D DCT段314と、さらにそれに続く列(または行)用の基準化1D DCT段316と、終段の2D基準化段318を含む。入力フォーマッティング段312は入力サンプルのN×Nブロックを左から乗算するかもしれない。DCT段314は段312からの予め乗算したサンプルのブロックの各行にN点基準化1D DCTを実行し、第1の中間ブロックを生成する。DCT段316は前記第1の中間ブロックの各列にN点基準化1D DCTを実行し、第2の中間ブロックを生成する。基準化段318は第2の中間の各要素を基準化し、完全2D DCTのための変換係数のブロックを出力する。
図3Bに分離可能な行-列基準化を用いた分離可能な完全2D DCT302の構造を示す。2D DCT302は入力フォーマッティング段322と、それに続く行(または列)用の基準化1D DCT段324と、さらにそれに続く列(または行)用の基準化1D DCT段326と、終段の行-列基準化段328を含む。段322、324、および326はそれぞれ図3Aの段312、314、および316と同様に動作するかもしれない。基準化段328は完全2D DCTのための変換係数のブロックを生成するために、DCT段326からの第2の中間ブロックを行毎に、次いで列毎に基準化するかもしれない。
図3Cに各基準化1D DCTの後に基準化を用いる分離可能な完全2D DCT304の構造を示す。2D DCT304は、入力フォーマッティング段332、それに続く行(または列)用の基準化を用いる基準化1D DCT段334、さらにそれに続く列(または行)用の基準化を用いる基準化1D DCT段336を含む。段332は図3Aの段312と同様に動作するかもしれない。DCT段334はN点基準化1D DCTを実行し、続いて段332からの予め乗算されたサンプルのブロックの各行に基準化を実行する。DCT段336はN点基準化1D DCTを実行し、続いてDCT段334で生成された中間ブロックの各列に基準化を実行する。
図3Dに分離可能な基準化2D DCT306の構造を示す。2D DCT306は入力フォーマッティング段342、それに続く行(または列)用の基準化1D DCT段344、さらにそれに続く列(または行)用の基準化1D DCT346を含む。段342は図3Aの段312と同様に動作するかもしれない。DCT段344は段332からの予め乗算されたサンプルのブロックの各行にN点基準化1D DCTを実行する。DCT段346はDCT段344で生成された中間ブロックの各列にN点基準化1D DCTを実行する。
図3Aから図3Cに示すように、完全2D DCTのための基準化は、図3Aの行-列1D DCT後に2D基準化を用いる方法、図3Bの行-列1D DCT後に分離可能な行-列基準化を用いる方法、または図3Cの各1D DCT後に基準化を用いる方法などの種々の方法で達成されるかもしれない。基準化は、他の方法でも実行されるかもしれない。図3Dに示すように、基準化2D DCTは単に基準化を省略し行と列に対して1D IDCTを実行することによって達成されるかもしれない。
種々の形式の基準化1D DCTが図3Aから図3Dの基準化1D DCTに用いられるかもしれない。計算量の少ない例示的基準化DCTについて以下に説明する。
図4は8点1D DCTの例示的要素分解のフロー図400を示す。フロー図400は入力サンプルx[0]からx[7]を入力し、これらの入力サンプルに8点基準化1D DCTを実行し、これらの入力のサンプルに実行し、8個の基準化変換係数8A0・X[0]から8A7・X[7]を生成する。基準化係数A0からA7は上で与えられる。図4の要素分解には以下の定数係数との乗算がある。
α = α = 1 式(33)
β = β = 1/Cπ/4 = 1/cos(π/4)
γa = 2C3π/8 = 2cos(3π/8)
δ = 2S3π/8 = 2sin(3π/8)。
図2および図4のIDCT用およびDCT用のフロー図は類似しており、本質的に同一(1/2の違いがある)の定数係数との乗算を含む。このような類似性はDCTおよびIDCTを集積回路上で実施するのに有利であるかもしれない。特に、この類似性は順変換および逆変換の双方で用いられるバタフライ回路および変換定数との乗算を実施するためのシリコンまたはダイ面積の節約を可能にするかもしれない。
図5に完全および基準化インタフェースをサポートするIDCTプロセッサ500の構造のブロック図を示す。IDCTプロセッサ500内において、基準化ユニット510は完全インタフェースを介して変換係数のブロックを入力し、その変換係数のブロックに基準化(例えば要素毎に2D基準化または分離可能な行-列基準化)を実行し、基準化変換係数のブロックを出力する。マルチプレクサ(Mux)512は、完全インタフェースが選択されている場合、基準化ユニット510から基準化変換係数を入力し出力する。マルチプレクサ512は、基準化インタフェースが選択されている場合には、基準化インタフェースを介して基準化変換係数を入力し、これらの基準化変換係数を出力する。マルチプレクサ514はマルチプレクサ512の出力またはバッファ518の出力をIDCTエンジン516へ出力する。
IDCTエンジン516はマルチプレクサ512からの基準化変換係数のブロックの行に基準化1D IDCTを実行し、中間結果のブロックの行をバッファ518へ出力するかもしれない。IDCTエンジン516は、次にバッファ518からの中間結果のブロックの列に基準化1D IDCTを実行し、最終結果のブロックをバッファ518に出力するかもしれない。ユニット520はバッファ518の最終結果に出力フォーマッティングを実行し、出力サンプルを出力する。
図6に完全および基準化インタフェースをサポートするDCTプロセッサ600の構造のブロック図を示す。DCTプロセッサ600内で、ユニット610は入力サンプルのブロックに入力フォーマッティングを実行する。DCTエンジン614はマルチプレクサ612を介してユニット610から入力値のブロックを入力し、入力値のブロックの行に基準化1D DCTを実行し、中間結果のブロックをバッファ616に出力する。DCTエンジン614は、次にバッファ616からの中間結果のブロックの列に基準化1D DCTを実行し、基準化変換係数のブロックをバッファ616に出力するかもしれない。バッファ616は基準化変換係数のブロックを基準化インタフェースに出力する。基準化ユニット618は基準化変換係数のブロックを入力し基準化し完全変換係数を完全インタフェースに出力する。
明確さのために、上記の説明のほとんどはDCTおよびIDCTに対するものである。一般に、ここに説明した手法はDCT、IDCT、DFT、IDFT、MLT、逆MLT、MCLT、逆MCLTなどのような、いかなる形式の変換にも用いられるかもしれない。また、本手法は図2および図4に示したいくつかの例示的要素分解の例を用いて、変換の任意の要素分解にも用いることができるかもしれない。また、本手法は図2および図4に示した8点変換を用いて任意サイズの変換に用いられるかもしれない。8×8DCTおよび8×8IDCTは画像およびビデオ処理に一般的に用いられる。また、本手法はJPEG、MPEG−1、MPEG−2、MPEG−4(P.2)、H.261、H.263などのような種々の画像およびビデオの符号化標準に用いられるかもしれない。
図7に変換を実行するための処理700の構造を示す。第1の入力値が第1のインタフェース(完全または非基準化インタフェース)を介して入力されるかもしれない(ブロック712)。第1の出力値を得るために第1の入力値に完全変換が実行されるかもしれない(ブロック714)。第2の入力値が第2のインタフェース(基準化インタフェース)を介して入力されるかもしれない(ブロック716)。第2の出力値を得るために第2の入力値に基準化変換が実行されるかもしれない(ブロック718)。
完全変換は完全2D逆変換であるかもしれない。この場合、第1の入力値のブロックは第1のインタフェースを介して入力され、基準化入力値のブロックを得るために基準化されるかもしれない。中間ブロックを得るために基準化入力値のブロックの各行に基準化1D変換が実行されるかもしれない。第1の出力値のブロックを得るために中間ブロックの各列に基準化1D変換が実行されるかもしれない。また、基準化1D変換は列に、次いで行に実行されるかもしれない。
完全変換はまた完全2D順変換であるかもしれない。この場合、第1のインタフェースを介して第1の入力値のブロックが入力されるかもしれない。第1の中間ブロックを得るために入力値のブロックの各行に基準化1D変換が実行されるかもしれない。第2の中間ブロックを得るために第1の中間ブロックの各列に基準化1D変換が実行されるかもしれない。第1の出力値のブロックを得るために第2の中間ブロックが基準化されるかもしれない。
完全変換は完全2D IDCTであるかもしれない。この場合、第1のインタフェースを介して変換係数のブロックが入力され、基準化変換係数のブロックを得るために基準化されるかもしれない。各変換係数は対応する基準化変換係数を得るために、例えば、図1Aに示すように、それぞれの基準化係数で基準化されるかもしれない。あるいはまた、変換係数のブロックは例えば図1Bに示すように基準化変換係数のブロックを得るために、行毎におよび列毎に基準化されるかもしれない。中間ブロックを得るために基準化変換係数のブロックの各行に基準化1D IDCTが実行されるかもしれない。出力サンプルのブロックを得るために中間ブロックの各列に基準化1D IDCTが実行されるかもしれない。あるいはまた、図1Cに示すように、中間ブロックを得るために変換係数のブロックの各行に基準化および1つの基準化1D IDCTが実行され、中間ブロックの各列に基準化または基準化1D IDCTが実行されるかもしれない。
基準化変換は基準化2D IDCTであるかもしれない。この場合、基準化変換係数のブロックは第2のインタフェースを介して入力されるかもしれない。次に、中間ブロックを得るために基準化変換係数のブロックの各行に基準化1D IDCTが実行されるかもしれない。出力サンプルのブロックを得るために中間ブロックの各列に基準化1D IDCTが実行されるかもしれない。
完全変換は完全2D DCTであるかもしれない。また、基準化変換は基準化2D DCTであるかもしれない。第1のインタフェースに対する完全変換係数のブロックを得るために、上述したように入力サンプルのブロックに完全2D DCTが実行されるかもしれない。また、第2のインタフェースに対する基準化変換係数のブロックを得るために、入力サンプルのブロックに基準化2D DCTが実行されるかもしれない。
図8に符号化システム810および復号システム850の構造のブロック図を示す。符号化システム810において、画像/ビデオ符号器820は、複数の画素ブロックを入力し、特定の画像またはビデオ圧縮アルゴリズムに従って各画素ブロックに圧縮を実行するかもしれない。符号器820は画素の差分値(または、残差)のブロックおよび画素のブロックを出力するかもしれない。ユニット822は入力サンプルのブロックとして残差ブロックおよび画素ブロックを入力し、各入力サンプルブロックに2D DCTを実行し、完全または基準化変換係数のブロックを出力するかもしれない。ユニット822は完全および基準化インタフェースの双方をサポートするかもしれない。量子化器824は完全または基準化変換係数を量子化し、量子化係数を出力するかもしれない。エントロピー符号器826はその量子化係数にエントロピー符号化を実行し、通信チャネル840を介した伝送および/または格納のために、圧縮されたデータをパケットまたはビットストリームで出力するかもしれない。
復号システム850において、エントロピー復号器860は圧縮されたデータにエントロピー復号を符号器826によるエントロピー符号化の相補的方法で実行し、量子化係数を出力するかもしれない。逆量子化器862はその量子化係数を完全または基準化変換係数にマッピングするかもしれない。ユニット864は完全変換係数に完全2D IDCTを、または基準化変換係数に基準化2D IDCTを実行し、出力サンプルのブロックを出力するかもしれない。ユニット864は完全および基準化インタフェースの双方をサポートするかもしれない。画像/ビデオ復号器866は出力サンプルのブロックに復元を実行し、画素のブロックを出力するかもしれない。
符号化システム810において、ユニット822は基準化2D DCTを実行し、基準化変換係数を出力するかもしれない。量子化器824は基準化変換係数の量子化と同様に基準化(例えば、図3Aの段318または図3Bの段328)を実行するかもしれない。復号システム850において、ユニット862は変換係数に対する基準化(例えば、図1Aの段112または図1Bの段122)と同様に逆量子化を実行するかもしれない。次に、ユニット864はユニット862からの基準化変換係数に基準化2D IDCTを実行するかもしれない。
図9に符号化システム900のブロック図を示す。これは、図8の符号化システム810に用いられるかもしれない。取得デバイス/メモリー910は源信号を入力し、デジタルフォーマットへの変換を実行し、入力/生データを出力するかもしれない。取得デバイス910はビデオカメラ、ディジタイザ、または他のデバイスであるかもしれない。プロセッサ920は生データを処理し、圧縮されたデータを生成する。プロセッサ920内において、生データはDCTユニット922で変換され、ジグザグスキャンユニット924でスキャンされ、量子化器926で量子化され、エントロピー符号器928で符号化され、パケット化器でパケット化されるかもしれない。DCTユニット922は、ここに説明した手法に従って生データに2D DCTを実行し、完全および基準化インタフェース双方をサポートするかもしれない。922から930の各ユニットはハードウェア、ファームウェア、および/またはソフトウェアで実施されるかもしれない。例えば、DCTユニット922は専用ハードウェア、演算論理ユニット(ALU)のための1組の命令、その他で実施されるかもしれない。
記憶ユニット940はプロセッサ920からの圧縮されたデータを格納するかもしれない。送信機942は圧縮されたデータを送信するかもしれない。制御器/プロセッサ950は符号化システム900の種々のユニットの動作を制御する。メモリー952は符号化システム900のためのデータおよびプログラムコードを格納する。1つ以上のバス960は符号化システム900内の種々のユニットを相互接続する。
図10に復号システム1000のブロック図を示す。これは図8の復号システム850に用いられるかもしれない。受信機1010は符号化システムから圧縮されたデータを受信し、記憶ユニット1012は受信された圧縮されたデータを格納するかもしれない。プロセッサ1020は圧縮されたデータを処理し、出力データを生成する。プロセッサ1020内において、圧縮されたデータはパケット分解器1022でパケット分解され、エントロピー復号器1024で復号され、逆量子化器1026で逆量子化され、逆ジグザグスキャンユニット1028で適切な順に配置され、IDCTユニット1030で変換されるかもしれない。IDCTユニット1030はここに説明した手法に従って完全または基準化変換係数に2D IDCTを実行し、完全および基準化インタフェースの双方をサポートするかもしれない。1022から1030の各ユニットは、ハードウェア、ファームウェア、および/またはソフトウェアで実施されるかもしれない。例えば、IDCTユニット1030は専用ハードウェア、ALUのための1組の命令、その他で実施されるかもしれない。
ディスプレイユニット1040はプロセッサ1020からの再構成画像およびビデオを表示する。制御器/プロセッサ1050は復号システム1000内の種々のユニットの動作を制御する。メモリー1052は復号システム1000のためのデータおよびプログラムコードを格納する。1つ以上のバス1060は復号システム1000内の種々のユニットを相互接続する。
プロセッサ920および1020はそれぞれ1つ以上の特定用途向IC(ASIC)、ディジタル信号プロセッサ(DSP)、および/または、ある他の形式のプロセッサで実施されるかもしれない。あるいはまた、プロセッサ920および1020はそれぞれ1つ以上のランダムアクセスメモリー(RAM)、読み出し専用メモリー(ROM)、電気的プログラム可能ROM(EPROM)、電気的消去可能プログラマブルROM(EEPROM)、磁気ディスク、光ディスク、および/または当業者に既知の他の形式の揮発性および不揮発性メモリーでそれぞれ置き換えられるかもしれない。
ここに説明した手法は種々の形式の装置において実施されるかもしれない。例えば、本手法は種々の形式のプロセッサ、種々の形式の集積回路、種々の形式の電子機器、種々の形式の電子回路、その他で実施されるかもしれない。
当業者は情報および信号が種々の異なる技術および手法のいずれかを用いて表されるかもしれないことを理解するだろう。例えば、上の記述中に参照されるかもしれないデータ、命令、指示、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁場もしくは磁性粒子、光学場もしくは光粒子、またはそれらの任意の組合せで表されるかもしれない。
当業者は本開示に関連して説明された種々の例示的論理ブロック、モジュール、回路およびアルゴリズムのステップは、電子的ハードウェア、計算機ソフトウェア、またはその双方の組合せとして実施されるかもしれないことをさらに認識するだろう。ハードウェアとソフトウェアのこの互換性を明確に示すために、ここまで種々の例示的部品、ブロック、モジュール、回路、およびステップをそれらの機能の面から一般的に説明してきた。そのような機能がハードウェアまたはソフトウェアとして実施されるかどうかは、全体のシステムに課せられた特定のアプリケーションおよび設計制約に依存する。当業者は、説明した機能を各特定のアプリケーションに対して異なる方法で実施するかもしれないが、そのような実施の決定が本開示の範囲からの逸脱を引き起こすと解釈されるべきではない。
本開示に関して説明された種々の例示的論理ブロック、モジュール、および回路は、汎用プロセッサ、DSP、ASIC、プログラマブルゲートアレイ(FPGA)、もしくは他のプログラム可能論理回路、個別ゲートもしくはトランジスタ論理、個別ハードウェア部品、またはここに説明した機能を実行するように設計されたそれらの任意の組合せで実施または実行されるかもしれない。汎用プロセッサはマイクロプロセッサであるかもしれないが、代替的にはプロセッサは、任意の通常のプロセッサ、制御器、マイクロ制御器または状態機械であるかもしれない。プロセッサはまた、計算機器の組合せ、例えばDSPとマイクロプロセッサ、複数のマイクロプロセッサ、DSPコアと連係した1つ以上のマイクロプロセッサ、または他のそのような構成として実施されるかもしれない。
本開示に関して説明した方法またはアルゴリズムのステップは、直接ハードウェアで、プロセッサで実行されるソフトウェアモジュールで、またはその2つの組合せで具体化されるかもしれない。ソフトウェアモジュールはRAMメモリー、フラッシュメモリ、ROMメモリー、EPROMメモリー、EEPROMメモリー、レジスタ、ハードディスク、可搬形ディスク、CD−ROM、または当業者に既知の任意の他の形式の記憶媒体の中にあるかもしれない。代表的記憶媒体はプロセッサが情報を記憶媒体から読み出しおよび情報を記憶媒体に書き込むことができるようにプロセッサに接続される。代替的には、記憶媒体はプロセッサの構成部品であるかもしれない。プロセッサおよび記憶媒体はASIC内にあるかもしれない。ASICはユーザ端末内にあるかもしれない。代替的に、プロセッサおよび記憶媒体は個別部品としてユーザ端末内にあるかもしれない。
本開示のこれまでの説明は、いかなる当業者も本開示を製造しまたは使用することが可能となるように提供されている。本開示への種々の変形は当業者に容易に明らかになるだろう。また、ここに定義した一般的原理は本開示の精神または範囲から逸脱することなく他の設計に適用されるかもしれない。したがって、本開示は、ここに示した例に制限することを意図していず、ここに開示した原理および新規な機能に矛盾しない最も広い範囲と一致するということである。
付記
[1] 第1のインタフェースを介して第1の入力値を入力するように、および前記第1の出力値を得るために第1の入力値に完全変換を実行するように、および第2のインタフェースを介して第2の入力値を入力するように、および第2の出力値を得るために前記第2の入力値に基準化変換を実行するように構成されるプロセッサと、
前記プロセッサに結合されたメモリ、とを含む装置。
[2] 完全変換が、完全2次元(2D)変換であり、かつプロセッサが、第1のインタフェースを介して第1の入力値のブロックを入力するように、および基準化された入力値のブロックを得るために前記第1の入力値のブロックを基準化するように、および中間ブロックを得るために前記基準化された入力値のブロックの各行に基準化1次元(1D)変換を実行するように、および第1の出力値のブロックを得るために前記中間ブロックの各列に基準化1D変換を実行するように構成された、[1]に記載の装置。
[3] 完全変換が、完全2次元(2D)変換であり、かつプロセッサが、第1のインタフェースを介して第1の入力値のブロックを入力するように、および第1の中間ブロックを得るために前記入力値のブロックの各行に基準化1次元(1D)変換を実行するように、および第2の中間ブロックを得るために前記第1の中間ブロックの各列に基準化1D変換を実行するように、および第1の出力値のブロックを得るために前記第2の中間ブロックを基準化するように構成された、[1]に記載の装置。
[4] 完全変換が、完全逆離散コサイン変換(IDCT)であり、かつ基準化変換が、基準化IDCTである、[1]に記載の装置。
[5] 完全変換が、完全2次元(2D)逆離散コサイン変換(IDCT)であり、かつ基準化変換が、基準化2D IDCTである[1]に記載の装置。
[6] プロセッサが、第1のインタフェースを介して第1の変換係数のブロックを第1の入力値として入力するように、および第2の基準化変換係数のブロックを得るために前記第1の変換係数のブロックを基準化するように、および中間ブロックを得るために前記第2のブロックの各行に基準化1次元(1D)IDCTを実行するように、および前記中間ブロックの各列に基準化1D IDCTを実行するように構成された、[5]に記載の装置。
[7] プロセッサが、第1のブロック内の各変換係数を、第2のブロック内の対応する基準化変換係数を得るために、それぞれの基準化係数を用いて基準化するように構成された、[6]に記載の装置。
[8] プロセッサが、第2の基準化変換係数のブロックを得るために第1の変換係数のブロックを行毎におよび列毎に基準化するように構成された、[6]に記載の装置。
[9] プロセッサが、第1のインタフェースを介して変換係数のブロックを第1の入力値として入力するように、並びに中間ブロックを得るために前記変換係数のブロックの各行に基準化および基準化1次元(1D)IDCTを実行するように、並びに前記中間ブロックの各列に基準化および基準化1D IDCTを実行するように構成された、[5]に記載の装置。
[10] プロセッサが、第2のインタフェースを介して基準化変換係数のブロックを第2の入力値として入力するように、および中間ブロックを得るために前記基準化変換係数のブロックの各行に基準化1次元(1D)IDCTを実行するように、および前記中間ブロックの各列に基準化1D IDCTを実行するように構成された、[5]に記載の装置。
[11] 完全変換が、完全離散コサイン変換(DCT)であり、かつ基準化変換が、基準化DCTである、 [1]に記載の装置。
[12] 完全変換が、完全2次元(2D)離散コサイン変換(DCT)であり、かつ基準化変換が、基準化2D DCTである、[1]に記載の装置。
[13] プロセッサが、第1のインタフェースを介して入力サンプルのブロックを第1の入力値として入力するように、および第1の中間ブロックを得るために前記入力サンプルのブロックの各行に基準化1次元(1D)DCTを実行するように、および第2の中間ブロックを得るために前記第1の中間ブロックの各列に基準化1D DCTを実行するように、および変換係数のブロックを得るために前記第2の中間ブロックを基準化するように、および第1のインタフェースを介して前記変換係数のブロックを第1の出力値として出力するように構成された、[12]に記載の装置。
[14] プロセッサが、第2の中間ブロック内の各要素を、変換係数のブロック内の対応する変換係数を得るために、それぞれの基準化係数を用いて基準化するように構成された、[13]に記載の装置。
[15] プロセッサが、変換係数のブロックを得るために第2の中間ブロックを行毎におよび列毎に基準化するように構成された、[13]に記載の装置。
[16] プロセッサが、第1のインタフェースを介して入力サンプルのブロックを第1の入力値として入力するように、並びに中間ブロックを得るために前記入力サンプルのブロックの各行に基準化1次元(1D)DCTおよび基準化を実行するように、並びに変換係数のブロックを得るために前記中間ブロックの各列に基準化1D DCTおよび基準化を実行するように、並びに第1のインタフェースを介して前記変換係数のブロックを第1の出力値として出力するように構成された、[12]に記載の装置。
[17] プロセッサが、第2のインタフェースを介して入力サンプルのブロックを第2の入力値として入力するように、および中間ブロックを得るために前記入力サンプルのブロックの各行に基準化1次元(1D)DCTを実行するように、および基準化変換係数のブロックを得るために前記中間ブロックの各列に基準化1D DCTを実行するように、および第2のインタフェースを介して前記基準化変換係数のブロックを第2の出力値として出力するように構成された、[12]に記載の装置。
[18] 第1のインタフェースを介して第1の入力値を入力することと、第1の出力値を得るために前記第1の入力値に完全変換を実行することと、第2のインタフェースを介して第2の入力値を入力することと、第2の出力値を得るために前記第2の入力値に基準化変換を実行することとを含む方法。
[19] 完全変換が、完全2次元(2D)変換であり、かつ第1の入力値に完全変換を実行することが、基準化された入力値のブロックを得るために第1の入力値のブロックを基準化することと、中間ブロックを得るために前記基準化された入力値のブロックの各行に基準化1次元(1D)変換を実行することと、第1の出力値のブロックを得るために前記中間ブロックの各列に基準化1D変換を実行することとを含む、[18]に記載の方法。
[20] 完全変換が、完全2次元(2D)変換であり、かつ第1の入力値に完全変換を実行することが、第1の中間ブロックを得るために入力値のブロックの各行に基準化1次元(1D)変換を実行することと、第2の中間ブロックを得るために前記第1の中間ブロックの各列に基準化1D変換を実行することと、第1の出力値のブロックを得るために前記第2の中間ブロックを基準化することとを含む、[18]に記載の方法。
[21] 完全変換が、完全2次元(2D)逆離散コサイン変換(IDCT)であり、かつ第1のインタフェースを介して第1の入力値を入力することが、第1のインタフェースを介して第1の変換係数のブロックを第1の入力値として入力することを含み、かつ第1の入力値に完全変換を実行することが、第2の基準化変換係数のブロックを得るために前記第1の変換係数のブロックを基準化することと、中間ブロックを得るために前記第2のブロックの各行に基準化1次元(1D)IDCTを実行することと、前記中間ブロックの各列に基準化1D IDCTを実行することとを含む、[18]に記載の方法。
[22] 完全変換が、完全2次元(2D)離散コサイン変換(DCT)であり、かつ第1のインタフェースを介して第1の入力値を入力することが、第1のインタフェースを介して入力サンプルのブロックを第1の入力値として入力することを含み、かつ第1の入力値に完全変換を実行することが、第1の中間ブロックを得るために入力サンプルの前記ブロックの各行に基準化1次元(1D)DCTを実行することと、第2の中間ブロックを得るために前記第1の中間ブロックの各列に基準化1D DCTを実行することと、変換係数のブロックを得るために前記第2の中間ブロックを基準化することと、第1のインタフェースを介して前記第1の変換係数のブロックを第1の出力値として出力することとを含む、[18]に記載の方法。
[23] 第1のインタフェースを介して第1の入力値を入力するための手段と、第1の出力値を得るために前記第1の入力値に完全変換を実行するための手段と、第2のインタフェースを介して第2の入力値を入力するための手段と、第2の出力値を得るために前記第2の入力値に基準化変換を実行するための手段とを含む装置。
[24] 完全変換が、完全2次元(2D)変換であり、かつ第1の入力値に完全変換を実行するための手段が、基準化された入力値のブロックを得るために第1の入力値のブロックを基準化するための手段と、中間ブロックを得るために前記基準化された入力値のブロックの各行に基準化1次元(1D)変換を実行するための手段と、第1の出力値のブロックを得るために前記中間ブロックの各列に基準化1D変換を実行するための手段とを含む、[23]に記載の装置。
[25] 完全変換が、完全2次元(2D)変換であり、かつ第1の入力値に完全変換を実行するための手段が、第1の中間ブロックを得るために入力値のブロックの各行に基準化1次元(1D)変換を実行するための手段と、第2の中間ブロックを得るために前記第1の中間ブロックの各列に基準化1D変換を実行するための手段と、第1の出力値のブロックを得るために前記第2の中間ブロックを基準化するための手段とを含む、[23]に記載の装置。
[26] 第1のインタフェースを介して第1の入力値を入力し、第1の出力値を得るために第1の入力値に完全変換を実行し、第2のインタフェースを介して第2の入力値を入力し、および 第2の出力値を得るために第2の入力値に基準化変換を実行するための命令を格納するためのプロセッサ可読媒体。
[27] 基準化変換係数の第2のブロックを得るために変換係数の第1のブロックを基準化するように、および中間ブロックを得るために前記第2のブロックの各行に基準化1次元(1D)変換を実行するように、および出力サンプルのブロックを得るために前記中間ブロックの各列に基準化1D変換を実行するように、および各基準化1D変換のための1組の無理数定数を近似する1組の有理2項定数と1組の変数の乗算を実行するように構成されたプロセッサと、前記プロセッサに結合され、前記中間ブロックを格納するように構成されたメモリとを含む装置。
[28] 基準化1D変換が、基準化1D逆離散コサイン変換(IDCT)である[27]に記載の装置。
[29] 基準化変換係数の第2のブロックを得るために変換係数の第1のブロックを基準化することと、中間ブロックを得るために前記第2のブロックの各行に基準化1次元(1D)変換を実行することと、出力サンプルのブロックを得るために前記中間ブロックの各列に基準化1D変換を実行することと、各基準化1D変換のための1組の無理定数を近似する1組の有理2項定数と1組の変数の乗算を実行することとを含む方法。
[30] 基準化1D変換が、基準化1D逆離散コサイン変換(IDCT)である、[29]に記載の方法。
[31] 第1の中間ブロックを得るために入力サンプルのブロックの各行に基準化1次元(1D)変換を実行するように、および第2の中間ブロックを得るために前記第1の中間ブロックの各列に基準化1D変換を実行するように、および変換係数のブロックを得るために前記第2の中間ブロックを基準化するように、および各基準化1D変換のための1組の無理数定数を近似する1組の有理2項定数と1組の変数の乗算を実行するように構成されたプロセッサと、前記プロセッサに結合され、前記第1および第2の中間ブロックを格納するように構成されたメモリとを含む装置。
[32] 基準化1D変換が、基準化1D離散コサイン変換(DCT)である[31]に記載の装置。
[33] 第1の中間ブロックを得るために入力サンプルのブロックの各行に基準化1次元(1D)変換を実行することと、第2の中間ブロックを得るために前記第1の中間ブロックの各列に基準化1D変換を実行することと、変換係数のブロックを得るために前記第2の中間ブロックを基準化することと、各基準化1D変換のための1組の無理数定数を近似する1組の有理2項定数と1組の変数の乗算を実行することとを含む方法。
[34] 基準化1D変換が基準化1D離散コサイン変換(DCT)である[33]に記載の方法。

Claims (9)

  1. 第1のインタフェースを介して第1の入力値のブロック受信するように、
    基準化された入力値のブロックを得るために前記第1の入力値のブロックを基準化すること、
    中間ブロックを得るために前記基準化された入力値のブロックの各行に基準化1次元(1D)変換を実行すること、
    前記中間ブロックの各列に基準化1D変換を実行することを含めて、第1の出力値のブロックを得るために前記第1の入力値のブロックに完全次元(2D)変換を実行するように、

    2のインタフェースを介して前記第1の入力値のブロックとは異なる第2の入力値のブロック受信するように、
    2の出力値のブロックを得るために前記第2の入力値のブロックに基準化変換を実行するように構成される、プロセッサと、
    前記プロセッサに結合されたメモリと、を含む装置。
  2. 前記プロセッサは、第1の出力サンプルのブロックを形成するために前記第1の出力値のブロックに出力フォーマッティングを行うように、および第2の出力サンプルのブロックを形成するために前記第2の出力値のブロックに出力フォーマッティングを実行するように更に構成された、請求項1に記載の装置。
  3. 前記完全二次元変換が、完全逆離散コサイン変換(IDCT)であり、前記基準化変換が、基準化IDCTである、請求項1に記載の装置。
  4. 前記完全二次元変換は、完全2次元(2D)逆離散コサイン変換(IDCT)であり、前記基準化変換が、基準化2D IDCTである請求項1に記載の装置。
  5. 前記第1の入力値のブロックが完全変換係数のブロックを含む、請求項に記載の装置。
  6. 前記第2の入力値のブロックが基準化変換係数のブロックを含む、請求項に記載の装置。
  7. 第1のインタフェースを介して第1の入力値のブロックを受信するための手段と、
    基準化入力値のブロックを得るために前記第1の入力値のブロックを基準化すること、
    中間ブロックを得るために前記基準化された入力値のブロックの各行に基準化1次元(1D)変換を実行すること、
    前記中間ブロックの各列に基準化1D変換を実行することによって第1の出力値のブロックを得るために前記第1の入力値のブロックに完全次元(2D)変換を実行するための手段と、

    第2のインタフェースを介して、前記第1の入力値のブロックとは異なる第2の入力値のブロックを受信するための手段と、
    第2の出力値のブロックを得るために前記第2の入力値のブロックに基準化変換を実行するための手段と、を具備する、装置。
  8. 前記完全次元(2D)変換を実行するための手段は、第2の出力サンプルのブロックを形成するために前記第1の出力値のブロックに出力フォーマッティングを実行するための手段を更に含む、請求項に記載の装置。
  9. 第1のインタフェースを介して第1の入力値のブロックを受信し、
    基準化入力値のブロックを得るために前記第1の入力値のブロックを基準化することと、
    中間ブロックを得るために前記基準化された入力値のブロックの各行に基準化1次元(1D)変換を実行することと、
    前記中間ブロックの各列に基準化1D変換を実行することによって第1の出力値のブロックを得るために前記第1の入力値のブロック、完次元(2D)変換を実行し、
    行われ、
    第2のインタフェースを介して、前記第1の入力値のブロックとは異なる第2の入力値のブロックを受信し、
    第2の出力値のブロックを得るために前記第2の入力値のブロックに基準化変換を実行するための命令を格納する、プロセッサ可読記憶媒体。
JP2011243719A 2006-03-29 2011-11-07 基準化および非基準化インタフェースを用いた変換設計 Expired - Fee Related JP5529101B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US78756206P 2006-03-29 2006-03-29
US60/787,562 2006-03-29
US11/691,268 2007-03-26
US11/691,268 US8849884B2 (en) 2006-03-29 2007-03-26 Transform design with scaled and non-scaled interfaces

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2009503289A Division JP2009534723A (ja) 2006-03-29 2007-03-29 基準化および非基準化インタフェースを用いた変換設計

Publications (2)

Publication Number Publication Date
JP2012105273A JP2012105273A (ja) 2012-05-31
JP5529101B2 true JP5529101B2 (ja) 2014-06-25

Family

ID=38560679

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2009503289A Withdrawn JP2009534723A (ja) 2006-03-29 2007-03-29 基準化および非基準化インタフェースを用いた変換設計
JP2011243719A Expired - Fee Related JP5529101B2 (ja) 2006-03-29 2011-11-07 基準化および非基準化インタフェースを用いた変換設計

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2009503289A Withdrawn JP2009534723A (ja) 2006-03-29 2007-03-29 基準化および非基準化インタフェースを用いた変換設計

Country Status (9)

Country Link
US (2) US8849884B2 (ja)
EP (1) EP1999642B1 (ja)
JP (2) JP2009534723A (ja)
KR (2) KR101136770B1 (ja)
CN (1) CN101796506B (ja)
BR (1) BRPI0709263A2 (ja)
CA (1) CA2644505A1 (ja)
RU (1) RU2460129C2 (ja)
WO (1) WO2007115127A2 (ja)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070200738A1 (en) * 2005-10-12 2007-08-30 Yuriy Reznik Efficient multiplication-free computation for signal and data processing
US8595281B2 (en) * 2006-01-11 2013-11-26 Qualcomm Incorporated Transforms with common factors
US8849884B2 (en) 2006-03-29 2014-09-30 Qualcom Incorporate Transform design with scaled and non-scaled interfaces
US8819095B2 (en) * 2007-08-28 2014-08-26 Qualcomm Incorporated Fast computation of products by dyadic fractions with sign-symmetric rounding errors
US8654833B2 (en) * 2007-09-26 2014-02-18 Qualcomm Incorporated Efficient transformation techniques for video coding
TWI382768B (zh) * 2008-03-24 2013-01-11 Novatek Microelectronics Corp 具有執行重疊濾波以及核心轉換的運算方法及其裝置
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
US9069713B2 (en) * 2009-06-05 2015-06-30 Qualcomm Incorporated 4X4 transform for media 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
US8451904B2 (en) 2009-06-24 2013-05-28 Qualcomm Incorporated 8-point transform for media data coding
US9075757B2 (en) 2009-06-24 2015-07-07 Qualcomm Incorporated 16-point transform for media data coding
JP5696248B2 (ja) * 2010-01-07 2015-04-08 株式会社東芝 動画像符号化装置及び動画像復号化装置
WO2011083573A1 (ja) 2010-01-07 2011-07-14 株式会社 東芝 動画像符号化装置及び動画像復号化装置
JP5597782B2 (ja) * 2010-01-07 2014-10-01 株式会社東芝 動画像符号化装置及び動画像復号化装置
CN105512093A (zh) 2010-09-28 2016-04-20 三星电子株式会社 视频编码方法和装置以及解码方法和装置
US9824066B2 (en) 2011-01-10 2017-11-21 Qualcomm Incorporated 32-point transform for media data coding
AU2016219700B2 (en) * 2011-01-18 2018-06-28 Dolby International Ab Video decoder with reduced dynamic range transform with inverse transform shifting memory
US20120183045A1 (en) * 2011-01-18 2012-07-19 Louis Joseph Kerofsky Video decoder with reduced dynamic range transform including clipping
US9807395B2 (en) 2011-01-18 2017-10-31 Dolby International Ab Video decoder with reduced dynamic range transform with inverse transform shifting memory
US11308449B2 (en) 2011-04-28 2022-04-19 Microsoft Technology Licensing, Llc Storing metadata inside file to reference shared version of file
CN102647597A (zh) * 2012-05-02 2012-08-22 华南理工大学 一种基于多边形裁剪dct的jpeg图像压缩方法
US9456383B2 (en) 2012-08-27 2016-09-27 Qualcomm Incorporated Device and method for adaptive rate multimedia communications on a wireless network
US20220417537A1 (en) * 2021-06-23 2022-12-29 Black Sesame International Holding Limited Unprocessed image coding and decoding

Family Cites Families (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4864529A (en) 1986-10-09 1989-09-05 North American Philips Corporation Fast multiplier architecture
JPH01175186A (ja) 1987-12-29 1989-07-11 Nitto Denko Corp 熱接着用プレス装置における熱加圧具
JP2711176B2 (ja) 1990-10-02 1998-02-10 アロカ株式会社 超音波画像処理装置
CA2060407C (en) 1991-03-22 1998-10-27 Jack M. Sacks Minimum difference processor
US5233551A (en) 1991-10-21 1993-08-03 Rockwell International Corporation Radix-12 DFT/FFT building block
US5285402A (en) 1991-11-22 1994-02-08 Intel Corporation Multiplyless discrete cosine transform
US5539836A (en) 1991-12-20 1996-07-23 Alaris Inc. Method and apparatus for the realization of two-dimensional discrete cosine transform for an 8*8 image fragment
TW284869B (ja) 1994-05-27 1996-09-01 Hitachi Ltd
US5712809A (en) 1994-10-31 1998-01-27 Vivo Software, Inc. Method and apparatus for performing fast reduced coefficient discrete cosine transforms
US5701263A (en) 1995-08-28 1997-12-23 Hyundai Electronics America Inverse discrete cosine transform processor for VLSI implementation
US5930160A (en) 1996-06-22 1999-07-27 Texas Instruments Incorporated Multiply accumulate unit for processing a signal and method of operation
JP3263807B2 (ja) 1996-09-09 2002-03-11 ソニー株式会社 画像符号化装置および画像符号化方法
US6058215A (en) * 1997-04-30 2000-05-02 Ricoh Company, Ltd. Reversible DCT for lossless-lossy compression
JP3957829B2 (ja) 1997-08-29 2007-08-15 株式会社オフィスノア 動画像情報の圧縮方法およびそのシステム
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
KR100270799B1 (ko) 1998-01-30 2000-11-01 김영환 이산코사인변환/역이산코사인변환 프로세서
US6189021B1 (en) 1998-09-15 2001-02-13 Winbond Electronics Corp. Method for forming two-dimensional discrete cosine transform and its inverse involving a reduced number of multiplication operations
US6757326B1 (en) 1998-12-28 2004-06-29 Motorola, Inc. Method and apparatus for implementing wavelet filters in a digital system
US6473534B1 (en) 1999-01-06 2002-10-29 Hewlett-Packard Company Multiplier-free implementation of DCT used in image and video processing and compression
AU3751900A (en) 1999-03-17 2000-10-04 Johns Hopkins University, The A fast multiplierless transform
US6529634B1 (en) 1999-11-08 2003-03-04 Qualcomm, Inc. Contrast sensitive variance based adaptive block size DCT image compression
US6760486B1 (en) 2000-03-28 2004-07-06 General Electric Company Flash artifact suppression in two-dimensional ultrasound imaging
AU2001268309A1 (en) 2000-06-09 2001-12-17 Walter E Pelton Methods for reducing the number of computations in a discrete fourier transform
JP4266512B2 (ja) 2000-12-27 2009-05-20 キヤノン株式会社 データ処理装置
US7007054B1 (en) * 2000-10-23 2006-02-28 International Business Machines Corporation Faster discrete cosine transforms using scaled terms
US6766341B1 (en) 2000-10-23 2004-07-20 International Business Machines Corporation Faster transforms using scaled terms
EP1395952B1 (en) 2001-06-12 2007-10-10 Silicon Optix Inc. Method and system for processing a non-linear two dimensional spatial transformation
US6870963B2 (en) 2001-06-15 2005-03-22 Qualcomm, Inc. Configurable pattern optimizer
US7082450B2 (en) 2001-08-30 2006-07-25 Nokia Corporation Implementation of a transform and of a subsequent quantization
US20030074383A1 (en) 2001-10-15 2003-04-17 Murphy Charles Douglas Shared multiplication in signal processing transforms
US6917955B1 (en) 2002-04-25 2005-07-12 Analog Devices, Inc. FFT processor suited for a DMT engine for multichannel CO ADSL application
US7395210B2 (en) 2002-11-21 2008-07-01 Microsoft Corporation Progressive to lossless embedded audio coder (PLEAC) with multiple factorization reversible transform
US7792891B2 (en) 2002-12-11 2010-09-07 Nvidia Corporation Forward discrete cosine transform engine
TWI220716B (en) 2003-05-19 2004-09-01 Ind Tech Res Inst Method and apparatus of constructing a hardware architecture for transfer functions
RU2305377C2 (ru) 2003-05-20 2007-08-27 Корпорация "САМСУНГ ЭЛЕКТРОНИКС Ко., Лтд." Способ уменьшения искажения сжатого видеоизображения и устройство для его реализации
US7487193B2 (en) 2004-05-14 2009-02-03 Microsoft Corporation Fast video codec transform implementations
US7587093B2 (en) 2004-07-07 2009-09-08 Mediatek Inc. Method and apparatus for implementing DCT/IDCT based video/image processing
US7489826B2 (en) 2004-10-07 2009-02-10 Infoprint Solutions Company, Llc Compensating for errors in performance sensitive transformations
US7421139B2 (en) 2004-10-07 2008-09-02 Infoprint Solutions Company, Llc Reducing errors in performance sensitive transformations
US20070200738A1 (en) 2005-10-12 2007-08-30 Yuriy Reznik Efficient multiplication-free computation for signal and data processing
US8548265B2 (en) * 2006-01-05 2013-10-01 Fastvdo, Llc Fast multiplierless integer invertible transforms
US8595281B2 (en) 2006-01-11 2013-11-26 Qualcomm Incorporated Transforms with common factors
US20070271321A1 (en) 2006-01-11 2007-11-22 Qualcomm, Inc. Transforms with reduce complexity and/or improve precision by means of common factors
US8849884B2 (en) 2006-03-29 2014-09-30 Qualcom Incorporate Transform design with scaled and non-scaled interfaces

Also Published As

Publication number Publication date
US20070233764A1 (en) 2007-10-04
US8849884B2 (en) 2014-09-30
RU2008142735A (ru) 2010-05-10
JP2009534723A (ja) 2009-09-24
RU2460129C2 (ru) 2012-08-27
JP2012105273A (ja) 2012-05-31
CN101796506A (zh) 2010-08-04
US9727530B2 (en) 2017-08-08
CA2644505A1 (en) 2007-10-11
KR20080107474A (ko) 2008-12-10
KR101136770B1 (ko) 2012-05-30
KR101131757B1 (ko) 2012-04-05
KR20110034603A (ko) 2011-04-05
EP1999642B1 (en) 2020-04-22
EP1999642A2 (en) 2008-12-10
US20140149478A1 (en) 2014-05-29
WO2007115127A2 (en) 2007-10-11
WO2007115127A3 (en) 2010-05-06
CN101796506B (zh) 2014-07-30
BRPI0709263A2 (pt) 2011-06-28

Similar Documents

Publication Publication Date Title
JP5529101B2 (ja) 基準化および非基準化インタフェースを用いた変換設計
JP5086274B2 (ja) 共通因数を用いる変換
JP5113067B2 (ja) 信号およびデータ処理のための効率的な無乗算計算
JP4874642B2 (ja) ロッシーおよびロスレス2dデータ圧縮のための可逆な変換
JP4425824B2 (ja) 動画像コーデック変換の高速実装
JPH07236143A (ja) 高速デジタル信号復号化方法
US20070081734A1 (en) Multimedia signal processing using fixed-point approximations of linear transforms
US7421139B2 (en) Reducing errors in performance sensitive transformations
US7489826B2 (en) Compensating for errors in performance sensitive transformations
TWI432029B (zh) 具有比例化及非比例化介面之變換設計
US7430332B2 (en) Approximations used in performance sensitive transformations which contain sub-transforms
Ismail et al. High speed on-chip multiple cosine transform generator
Müller et al. A Flexible Real Time HDTV Motion Vector Estimation Chipset Based on Phasecorrelation

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130618

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130918

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140203

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140416

R150 Certificate of patent or registration of utility model

Ref document number: 5529101

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees