説明

共用フローグラフに基づく離散コサイン変換のための回路

入力信号(416)の離散コサイン変換(DCT)を実行するための回路は、直列に結合される、順方向加算器ツリー・モジュール(402)、マルチプレクサの第1のセット(404)、共用フローグラフ・モジュール(406)、逆方向加算器ツリー・モジュール(408)、及びマルチプレクサの第2のセット(410)を含む。演算において、マルチプレクサ(404)は、順方向加算器ツリー・モジュール(402)及び共用フローグラフ・モジュール(406)を介して入力信号を処理して、入力信号(416)の順方向DCTを実行する、又は、共用フローグラフ・モジュール(406)及び逆方向加算器ツリー・モジュール(408)を介して入力信号(416)の逆DCTを実行するように構成される。


【発明の詳細な説明】
【技術分野】
【0001】
本願は、エレクトロニクスの分野に関連し、更に特定して言えば、離散コサイン変換(DCT)装置及び回路に関連する。
【背景技術】
【0002】
離散コサイン変換(DCT)は、波形データを、重み付けされたコサインの和として表すための手法である。DCTは、JPEG(Joint Photographic Experts Group)のような、音声又は画像のデータ圧縮に一般に用いられている。DCTのこの用途は、損失のある圧縮をもたらす。DCT自体がデータを失うのではなく、より正確に言えば、DCTに依存するデータ圧縮技術は、データ量を減らすためにDCTの幾つかの係数の近似値を求めるのである。時間ドメインのデジタル入力データが周波数ドメインのデジタル出力データに変換される場合のDCTは、順方向離散コサイン変換(FDCT)と呼ばれる。反対に、周波数ドメインのデジタル入力データが時間ドメインのデジタル出力データに変換される場合のDCTは、逆離散コサイン変換(IDCT)と呼ばれる。種々の応用例において、デジタル入力データを圧縮する際にFDCTが用いられ、一方、このデジタル入力データを復元する際にIDCTが用いられる。
【0003】
8ポイント(例えば、8個のパラレル・デジタル入力及び出力)FDCTは、下記の数式によって表すことができる。
【数1】

ここで、F(k)は周波数ドメインのデジタル出力データを表し、c(k)は定数(例えば、k=0の場合、c(k)=1/(2)1/2、k=1から7の場合、c(k)=1)を表し、f(j)は時間ドメインのデジタル入力データを表し、kは0から7の範囲の整数を表す。更に、下記は、このFDCT計算式の行列乗算を表す。
【数2】

ここで、
【数3】

であり、このFDCT計算式の係数、即ち、1/4、は1に正規化される。図1は、チェン(Chen)、スミス(Smith)、及びフラリック(Fralick)のアルゴリズムに従った8ポイントFDCTフローグラフ100を示し、この8ポイントFDCTフローグラフ100はハードウェアを用いて実装され得る。図1において、8ポイントFDCTフローグラフ100は、円で表す26個の加算器102〜152、及び矩形で表す28個の乗算器154〜195を含む。演算において、8ポイントFDCTフローグラフ100は、入力信号196、即ち、f(0)〜f(7)、を処理することによって、出力信号198(例えば、F(0)〜F(7))を生成する。例えば、F(0)は、図1において強調表示した信号経路で示すように、下記の数式:F(0)=C4×((f(0)+f(7))+(f(3)+f(4)))+C4×((f(1)+f(6))+(f(2)+f(5)))=C4×(f(0)+f(1)+f(2)+f(3)+f(4)+f(5)+f(6)+f(7))を用いて求めることができる。同様に、F(1)〜F(7)も求めることができる。
【0004】
8ポイントIDCTは、下記の数式によって表すことができる。
【数4】

ここで、f(j)は時間ドメインのデジタル出力データを表し、c(k)は定数(例えば、k=0の場合、c(k)=1/(2)1/2であり、k=1から7の場合、c(k)=1)を表し、F(k)は周波数ドメインのデジタル入力データを表し、jは0から7の範囲の整数を表す。更に、下記はこのIDCT計算式の行列乗算を表す。
【数5】

ここで、
【数6】

である。図2は、チェン、スミス、及びフラリックのアルゴリズムに従った8ポイントIDCTフローグラフ200を示し、この8ポイントIDCTフローグラフ200はハードウェアを用いて実装され得る。図2において、8ポイントIDCTフローグラフ200は、26個の加算器202〜252及び26個の乗算器254〜295を含む。演算において、8ポイントIDCTフローグラフ200は、入力信号296、即ち、F(0)〜F(7)、を処理することによって、出力信号298、即ち、f(0)〜f(7)、を生成する。例えば、f(0)は、図2において強調表示した信号経路で示すように、下記の数式:f(0)=(C4×F(0)+C4×F(4))+(C2×F(2)+C6×F(6))+(C5×F(5)+C3×F(3))+(C1×F(1)+C7×F(7))=C4×F(0)+C1×F(1)+C2×F(2)+C3×F(3)+C4×F(4)+C5×F(5)+C6×F(6)+C7×F(7)を用いて求めることができる。同様に、f(1)〜f(7)も求めることができる。
【0005】
FDCT及びIDCTのいずれも、符号化器/復号化器などの応用例において並列に用いることがある。つまり、図1及び図2のものなど2つの個別の回路が、それぞれFDCT及びIDCT用に実装され得る。この方法は、FDCT又はIDCTのいずれか用に指定された加算器及びマルチプレクサを用いるため、回路を構築するために一層多くのスペース及び構成要素を必要とする可能性がある。
【0006】
代替として、図3に図示するように、FDCT及びIDCTの両方のための回路が単一の回路を用いて構築されてもよい。図3は、チェン、スミス、及びフラリックのアルゴリズムに従った8ポイントFDCT/IDCTフローグラフ300を示し、この8ポイントFDCT/IDCTフローグラフ300はハードウェアを用いて実装され得る。図3において、8ポイントFDCT/IDCTフローグラフ300は、36個の加算器302〜337、及び矩形で表す28個の乗算器350〜377を含む。演算において、8ポイントFDCT/IDCTフローグラフ300は、FDCT演算の間、時間ドメイン信号398に基づいて周波数ドメイン信号396を生成し、一方、IDCT演算の間、周波数ドメイン信号396に基づいて時間ドメイン信号398を生成する。図3に示すように、FDCT及びIDCTを単一の回路に組み合わせることで、回路の寸法だけでなく回路の構成要素の数も低減されるように思われるが、これらの2種類の離散コサイン変換(DCT)に関して2つの反対方向に流れる信号を処理するため、その回路にかなりの数のマルチプレクサを付加する必要が生じ得る。つまり、回路300内の各加算器に1個のマルチプレクサ(例えば、又は少なくとも計28個のマルチプレクサ)が割り当てられ、DCTの種類に基づいてそのマルチプレクサに関連する各加算器を選択するまたはその選択を解除する必要があり得る。例えば、FDCTのF(0)を得るため、信号経路内の加算器のうち、加算器306、314、315、322、323、324及び325が含まれる必要があり、一方、加算器330〜337は、各々のマルチプレクサ(図3には図示せず)を用いて排除される必要がある。別の例では、IDCTでf(0)を得るため、信号経路内の加算器のうち、加算器312、313、314、317、321、322及び330が含まれる必要があり、一方、加算器302〜309及び329は、各々のマルチプレクサ(図3には図示せず)を用いて排除される必要がある。更に、FDCT又はIDCT演算に基づいて回路300内のマルチプレクサを制御するため、1つ又は複数の論理回路が実装される必要があり得る。このため、回路300内に実装される必要のあるこれらの付加的なマルチプレクサ及び論理回路が、同一回路にFDCT/IDCTの両方の特徴を実装することによってもたらされるスケーリング効果を相殺してしまう可能性がある。
【発明の概要】
【0007】
フローグラフの共用に基づく離散コサイン変換のための装置及び回路が開示される。
【0008】
1つの側面において、入力信号の離散コサイン変換を実行するための装置が、加算器及び乗算器の第1のセットを有する順方向加算器ツリー・モジュールを含み、この順方向加算器ツリー・モジュールの入力ノードは、入力信号を受信するように構成される。この装置は、入力ノードが前記順方向加算器ツリー・モジュールの出力ノードに接続され、前記入力信号を受信するように構成される、マルチプレクサの第1のセットを更に含む。この装置は、加算器及び乗算器の第2のセットを有する共用フローグラフ・モジュールを更に含み、この共用フローグラフ・モジュールの入力ノードは、前記マルチプレクサの第1のセットの出力ノードに接続される。また、この装置は、加算器及び乗算器の第3のセットを有する逆方向加算器ツリー・モジュールを含み、この逆方向加算器ツリー・モジュールの入力ノードは、前記共用フローグラフ・モジュールの出力ノードに接続される。また、この装置は、入力ノードが前記共用フローグラフ・モジュールの出力ノードに及び前記逆方向加算器ツリー・モジュールの出力ノードに接続される、マルチプレクサの第2のセットを含む。
【0009】
別の側面において、入力信号の離散コサイン変換を実行するための回路が、12個の加算器及び6個の乗算器を有する順方向加算器ツリー・モジュールを含み、この順方向加算器ツリー・モジュールの入力ノードは、8個のデジタル入力データを並列に受信するように構成される。この回路は、入力ノードが前記順方向加算器ツリー・モジュールの出力ノードに接続され、前記8個のデジタル入力データを受信するように構成される、8個のマルチプレクサの第1のセットを更に含む。この回路は、14個の加算器及び20個の乗算器を有する共用フローグラフ・モジュールを更に含み、この共用フローグラフ・モジュールの入力ノードは、前記8個のマルチプレクサの第1のセットの出力ノードに接続される。また、この回路は、12個の加算器及び6個の乗算器を有する逆方向加算器ツリー・モジュールを含み、この逆方向加算器ツリー・モジュールの入力ノードは、前記共用フローグラフ・モジュールの出力ノードに接続される。また、この回路は、入力ノードが前記共用フローグラフ・モジュールの出力ノードに及び前記逆方向加算器ツリー・モジュールの出力ノードに接続される、8個のマルチプレクサの第2のセットを含む。
【0010】
これらの実施例の他の特徴は、添付の図面から、また以下に続く詳細な説明から明らかとなろう。
【図面の簡単な説明】
【0011】
【図1】図1は、チェン、スミス、及びフラリックのアルゴリズムに従った8ポイントFDCTフローグラフを示す。
【0012】
【図2】図2は、チェン、スミス、及びフラリックのアルゴリズムに従った8ポイントIDCTフローグラフを示す。
【0013】
【図3】図3は、チェン、スミス、及びフラリックのアルゴリズムに従った8ポイントFDCT/IDCTフローグラフを示す。
【0014】
【図4】図4は、一実施例に従った例示のDCT装置のブロック図を示す。
【0015】
【図5】図5は、一実施例に従った、例示の共用フローグラフ・モジュール及び例示の逆方向加算器ツリー・モジュールを含む、8ポイントIDCTフローグラフを示す。
【0016】
【図6】図6は、図1の8ポイントFDCTフローグラフの簡略化したバージョンを示す。
【0017】
【図7】図7は、一実施例に従った、例示の順方向加算器ツリー・モジュール及び図5の共用フローグラフ・モジュールを含む、8ポイントFDCTフローグラフを示す。
【0018】
【図8】図8は、一実施例に従った例示のDCT回路の概略図を示す。
【発明を実施するための形態】
【0019】
本明細書に記載の図面は、単なる例示のためであって、いかなる方式においても本開示の範囲を制限することを意図しているものではない。
【0020】
フローグラフの共用に基づく離散コサイン変換のための装置及び回路の例が開示される。下記の詳細な説明は、単なる例示であり、本開示、応用例、又は用途を制限することを意図しているものではない。複数の図面にわたって、対応する参照符号は、同様の又は対応する部分及び特徴を示すことを理解されたい。
【0021】
図4は、一実施例に従った、例示のDCT装置400のブロック図を示す。DCT装置400は、順方向加算器ツリー・モジュール402、マルチプレクサ404、共用フローグラフ・モジュール406、逆方向加算器ツリー・モジュール408、及びマルチプレクサ410を含む。順方向加算器ツリー・モジュール402は、加算器及び乗算器412を含み、順方向加算器ツリー・モジュール402の入力ノード414は、入力信号416を受信するように構成される。マルチプレクサ404は、順方向加算器ツリー・モジュール402の出力ノード420に接続される入力ノード418を有し、マルチプレクサ404の入力ノード418も入力信号416を受信するように構成される。共用フローグラフ・モジュール406は、加算器及び乗算器422を含み、共用フローグラフ・モジュール406の入力ノード424は、マルチプレクサ404の第1のセットの出力ノード426に接続される。逆方向加算器ツリー・モジュール408は、加算器及び乗算器428を含み、逆方向加算器ツリー・モジュール408の入力ノード430は、共用フローグラフ・モジュール406の出力ノード432に接続される。マルチプレクサ410は、共用フローグラフ・モジュール406の出力ノード432に及び逆方向加算器ツリー・モジュール408の出力ノード436に接続される入力ノード434を有する。
【0022】
一例の演算において、受信した制御信号438に基づいて、マルチプレクサ404及びマルチプレクサ410は、順方向加算器ツリー・モジュール402及び共用フローグラフ・モジュール406を介して入力信号416を処理して、入力信号416のFDCT演算を実行するように構成される。つまり、入力信号416のFDCT演算の間、マルチプレクサ404が、順方向加算器ツリー・モジュール402の出力ノード420から各々の信号を選択するように構成され、マルチプレクサ410が、共用フローグラフ・モジュール406の出力ノード432から各々の信号を選択するように構成される。従って、マルチプレクサ410は、その出力ノードを介して、入力信号416のFDCT演算から出力信号440を生成する。
【0023】
別の演算例では、マルチプレクサ404及びマルチプレクサ410は、共用フローグラフ・モジュール406及び逆方向加算器ツリー・モジュール408を介して入力信号416を処理して、入力信号416のIDCT演算を実行するように構成される。つまり、入力信号416のIDCT演算の間、受信した制御信号438に基づいて、マルチプレクサ404が入力信号416を選択するように構成され、マルチプレクサ410が、逆方向加算器ツリー・モジュール408の出力ノード436から各々の信号を選択するように構成される。従って、マルチプレクサ410は、入力信号416のIDCT演算から出力信号440を生成する。
【0024】
共用フローグラフ・モジュール406はFDCT及びIDCT演算の両方に用いられ、それにより、使用する加算器及び乗算器などの構成要素の数が低減されたDCT装置400を構築することが可能となることを理解されたい。DCT装置400の共用フローグラフ・モジュール406は、FDCT及びIDCT演算の両方に対し単一方向の信号を処理し、一方、図3に示したものなどの従来のDCT装置は、FDCT及びIDCT演算の間逆方向に流れる信号を扱うため、マルチプレクサなどの付加的な電子的構成要素を必要とし得ることも理解されたい。
【0025】
図5は、一実施例に従った、例示の共用フローグラフ・モジュール502及び例示の逆方向加算器ツリー・モジュール503を含む8ポイントIDCTフローグラフ500を示す。共用フローグラフ・モジュール502は、図4の共用フローグラフ・モジュール406の一例の実施例であることを理解されたい。逆方向加算器ツリー・モジュール503は、逆方向加算器ツリー・モジュール408の一例の実施例であることも理解されたい。8ポイントIDCTフローグラフ500は、構成要素(例えば、加算器506〜519及び550〜561、及び乗算器520〜539及び562〜567)を用いて実装される場合、周波数ドメインのデジタル入力データ504(例えば、並列の8個のデジタル入力データF(0)〜F(7))のIDCT演算を実行して、時間ドメインのデジタル出力データ505(例えば、並列の8個のデジタル出力データf(0)〜f(7))を生成する。
【0026】
図5に図示するように、共用フローグラフ・モジュール502は、14個の加算器(例えば、加算器506〜519)及び20個の乗算器(例えば、乗算器520〜539)を含む。各加算器は、2個の入力を受け単一の出力を生成する。各乗算器は、その入力値を一定の係数で乗算するように構成され、この係数は、−C1又は−π/16、C1又はπ/16、−C2又は−π/8、C2又はπ/8、C3又は3π/16、C4又はπ/4、−C5又は−5π/16、C5又は5π/16、C6又は6π/16、C7又は7π/16、及び−1を含む。逆方向加算器ツリー・モジュール503は、12個の加算器(例えば、加算器550〜561)及び6個の負の単位元(unity)乗算器(例えば、乗算器562〜567)を含む。各加算器は、2個の入力を受け単一の出力を生成する。各乗算器はその入力値を−1で乗算するように構成される。
【0027】
また、共用フローグラフ・モジュール502から、ノードB0〜B7の信号、即ち、S(B0)〜S(B7)、を下記のようにノードA0〜A7の信号、即ち、S(A0)〜S(A7)、に関して求めることができる。
S(B0)=C4×S(A0)+C4×S(A1),
S(B1)=C4×S(A0)-C4×S(A1) ,
S(B2)=C6×S(A2)-C2×S(A3) ,
S(B3)=C2×S(A2)+C6×S(A3) ,
S(B4)=C7×S(A4)+C3×S(A5)-C5×S(A6)-C1×S(A7) ,
S(B7)=C1×S(A4)+C5×S(A5)+C3×S(A6)+C7×S(A7) ,
cos(x+y)=cosx×cosy-sinx×siny、cos(x-y)=cosx×cosy+sinx×siny、sinx=cos(π/2-x)及びcos(π/4)=sin(π/4)というコサイン及びサインの特性を用い、
S(B5)=C4×[-C5×S(A5)-C3×S(A6)+C1×S(A4)+C7×S(A7)]
-C4×[C7×S(A4)-C1×S(A7)-C3×S(A5)+C5×S(A6)]
=C4×(C1-C7)×S(A4)-C4×(C5-C3)×S(A5)-C4×(C3+C5)×S(A6)
+C4×(C7+C1)×S(A7)
=C5×S(A4)+C7×S(A5)-C1×S(A6)+C3×S(A7)であり、
S(B6)=C4×[C7×S(A4)-C1×S(A7)-(C3×S(A5)-C5×S(A6))]
+C4×[-(C5×S(A5)+C3×S(A6))+C1×S(A4)+C7×S(A7)]
=C4×(C7+C1)×S(A4)-C4×(C3+C5)×S(A5)+C4×(C5-C3)×S(A6)
+C4×(C7-C1)×S(A7)
=C3×S(A4)-C1×S(A5)-C7×S(A6)-C5×S(A7)であり、
ここで、C4×(C1-C7)=C4×C1-C4×C7=cos(4π/16)×cos(π/16)-cos(4π/16)×cos(7π/16)
=cos(4π/16)×cos(π/16)-sin(4π/16)×sin(π/16)=cos(4π/16+π/16)=cos(5π/16)=C5,
-C4×(C5-C3)=C4×C3-C4×C5=cos(4π/16)×cos(3π/16)-cos(4π/16)×cos(5π/16)
=cos(4π/16)×cos(3π/16)-sin(4π/16)×sin(3π/16)=cos(4π/16+3π/16)=cos(7π/16)=C7,
C4×(C3+C5)=C4×C3+C4×C5=cos(4π/16)×cos(3π/16)+cos(4π/16)×cos(5π/16)
=cos(4π/16)×cos(3π/16)+sin(4π/16)×sin(3π/16)=cos(4π/16-3π/16)=cos(π/16)=C1,
及びC4×(C7+C1)=C4×C7+C4×C1=cos(4π/16)×cos(7π/16)+cos(4π/16)×cos(π/16)
=cos(4π/16)×cos(π/16)+sin(4π/16)×sin(π/16)=cos(4π/16-π/16)=cos(3π/16)=C3である。
【0028】
図6は、図1の8ポイントFDCTフローグラフ100の簡略化したバージョンを示す。図1において、出力信号198、即ち、F(0)〜F(7)、は下記のようにノードA0〜A7の信号、即ち、S(A0)〜S(A7)、に関して求めることができる。
F(0)=C4×S(A0)+C4×S(A1),
F(4)=C4×S(A0)-C4×S(A1),
F(2)=C6×S(A2)+C2×S(A3),
F(6)=C6×S(A3)-C2×S(A2),
cos(x+y)=cosx×cosy-sinx×siny、cos(x-y)=cosx×cosy+sinx×siny、sinx=cos(π/2-x)、及びcos(π/4)=sin(π/4)というコサイン及びサインの特性を用いて、
F(1)=C7×[S(A4)+C4×(S(A6)-S(A5))]+C1×[S(A7)+C4×S(A5)+C4×S(A6)]
=C7×S(A4)+C4×(C1-C7)×S(A5)+C4×(C1+C7)×S(A6)+C1×S(7)
=C7×S(A4)+C5×S(A5)+C3×S(A6)+C1×S(A7),
F(3)=-C5×[S(A4)+-(C4×S(A6)-C4×S(A5))]+C3×[S(A7)-(C4×S(A5)
+C4×S(A6))]=-C5×S(A4)-C4×(C3+C5)×S(A5)+C4×(C5-C3)×S(A6)
+C3×S(A7)
=-C5×S(A4)-C1×S(A5)-C7×S(A6)+C3×S(A7)
F(5)=C3×[S(A4)-C4×S(A6)+C4×S(A5)]+C5×[S(A7)-C4×(S(A5)+S(A6))]
=C3×S(A4)+C4×(C3-C5)×S(A5)-C4×(C3+C5)×S(A6)+C5×S(A7)
=C3×S(A4)+C7×S(A5)-C1×S(A6)+C5×S(A7)であり、
F(7)=-C1×[S(A4)+C4×(S(A6)-S(A5))]+C7×[C4×(S(A5)+S(A6))+S(A7))]
=-C1×S(A4)+C4×(C7+C1)×S(A5)+C4×(C7-C1)×S(A6)+C7×S(A7)
=-C1×S(A4)+C3×S(A5)-C5×S(A6)+C7×S(A7)であり、
ここで、C4×(C1-C7)=C4×C1-C4×C7=cos(4π/16)×cos(π/16)-cos(4π/16)×cos(7π/16)
=cos(4π/16)×cos(π/16)-sin(4π/16)×sin(π/16)=cos(4π/16+π/16)=cos(5π/16)=C5,
-C4×(C5-C3)=C4×C3-C4×C5=cos(4π/16)×cos(3π/16)-cos(4π/16)×cos(5π/16)
=cos(4π/16)×cos(3π/16)-sin(4π/16)×sin(3π/16)=cos(4π/16+3π/16)=cos(7π/16)=C7,
C4×(C3+C5)=C4×C3+C4×C5=cos(4π/16)×cos(3π/16)+cos(4π/16)×cos(5π/16)=
cos(4π/16)×cos(3π/16)+sin(4π/16)×sin(3π/16)=cos(4π/16-3π/16)=cos(π/16)=C1,
及びC4×(C7+C1)=C4×C7+C4×C1=cos(4π/16)×cos(7π/16)+cos(4π/16)×cos(π/16)
=cos(4π/16)×cos(π/16)+sin(4π/16)×sin(π/16)=cos(4π/16-π/16)=cos(3π/16)=C3である。
【0029】
図6は、FDCTフローグラフ100の簡略化したバージョンを表し、ここで、出力信号603、即ち、F(0)〜F(7)、は−C1、C1、−C2、C2、C3、C4、−C5、C5、C6、−C7、C7、及び−1など、上述で計算した係数に基づいて、ノードA0〜A7の信号に関して表される。図5のS(B0)〜S(B7)と前で計算したF(0)〜F(7)とを比較すると、下記のことが分かる。
(1) F(0)とS(B0)が等価である。
(2) F(4)とS(B1)が等価である。
(3) S(A2)とS(A3)が交差する場合、F(2)はS(B3)と等価となる。
(4) S(A2)とS(A3)交差する場合、F(6)はS(B2)と等価となる。
(5) S(A4)とS(A7)交差する場合、F(1)はS(B7)と等価となる。
(6) S(A4)とS(A7)交差する場合、F(3)はS(B6)と等価となる。
(7) S(A4)とS(A7)交差する場合、F(5)はS(B5)と等価となる。
(8) S(A4)とS(A7)交差する場合、F(7)はS(B4)と等価となる。
これらの関係を用いて、後に図7に図示するように、共用フローグラフ502が8ポイントFDCTフローグラフ100内に形成され得る。つまり、ノードA2及びA3だけでなくノードA4及びA7が交差することにより、共用フローグラフ502が8ポイントFDCTフローグラフ100内に形成され得る。
【0030】
図7は、一実施例に従って、例示の順方向加算器ツリー・モジュール702及び図5の共用フローグラフ・モジュール502を含む8ポイントFDCTフローグラフ700を示す。順方向加算器ツリー・モジュール702は、図4の順方向加算器ツリー・モジュール402の一例の実施例であることを理解されたい。8ポイントFDCTフローグラフ700は、構成要素(例えば、加算器706〜717及び506〜519、及び乗算器718〜723及び520〜539)を用いて実装される場合、時間ドメインのデジタル入力データ704(例えば、並列の8個のデジタル入力データf(0)〜f(7))のFDCT演算を実行して、周波数ドメインのデジタル出力データ705(例えば、並列の8個のデジタル出力データF(0)〜F(7))を生成する。
【0031】
図7に図示するように、順方向加算器ツリー・モジュール702は、12個の加算器(例えば、加算器706〜717)、及び6個の負の単位元乗算器(例えば、乗算器718〜723)を含む。各加算器は、2個の入力を受け単一の出力を生成する。各乗算器は、その入力値を−1で乗算するように構成される。共用フローグラフ・モジュール502は、14個の加算器(例えば、加算器506〜519)、及び20個の乗算器(例えば、乗算器520〜539)を含む。各加算器は2個の入力を受け単一の出力を生成する。各乗算器は、その入力値を一定の係数で乗算するように構成され、この係数は、−C1又は−π/16、C1又はπ/16、−C2又は−π/8、C2又はπ/8、C3又は3π/16、C4又はπ/4、−C5又は−5π/16、C5又は5π/16、C6又は6π/16、C7又は7π/16、及び−1を含む。
【0032】
図8は、一実施例に従った例示のDCT回路800の概略図を示す。DCT回路800は、図7の順方向加算器ツリー・モジュール702、8個のマルチプレクサ802〜816、図5の共用フローグラフ・モジュール502、逆方向加算器ツリー・モジュール503、及び8個のマルチプレクサ818〜832を含む。順方向加算器ツリー・モジュール702の入力ノードE0〜E7は、デジタル入力データ704を受信するように構成される。8個のマルチプレクサ802〜816の入力ノードは、順方向加算器ツリー・モジュール702の出力ノードF0〜F7に接続され、デジタル入力データ704を受信するように構成される。共用フローグラフ・モジュール502の入力ノードA0〜A7は、8個のマルチプレクサ802〜816の出力ノードに接続される。逆方向加算器ツリー・モジュール503の入力ノードC0〜C7は、共用フローグラフ・モジュール502の出力ノードB0〜B7に接続される。8個のマルチプレクサ818〜832の入力ノードは、共用フローグラフ・モジュール502の出力ノードB0〜B7、及び逆方向加算器ツリー・モジュール503の出力ノードD0〜D7に接続される。
【0033】
図8に図示するように、8個のマルチプレクサ802〜832の各々は2:1マルチプレクサである。DCT回路800の一例の演算において、それらの制御信号834として「0」を受信すると、8個のマルチプレクサ802〜816が、順方向加算器ツリー・モジュール702の出力ノードF0〜F7から各々の信号を選択するように構成され、8個のマルチプレクサ818〜832が、共用フローグラフ・モジュール502の出力ノードB0〜B7から各々の信号を選択するように構成される。更に、8個のマルチプレクサ818〜832は、デジタル入力データ704のFDCT演算を表す、デジタル出力データ705、即ち、F(0)〜F(7)、を並列に生成するように構成される。
【0034】
DCT回路800の別の演算例では、それらの制御信号834として「1」を受信すると、8個のマルチプレクサ802〜816がデジタル入力データ704を選択するように構成され、8個のマルチプレクサ818〜832が、逆方向加算器ツリー・モジュール503の出力ノードD0〜D7から各々の信号を選択するように構成される。8個のマルチプレクサ818〜832は、デジタル入力データ504のIDCT演算を表す、デジタル出力データ505、即ち、f(0)〜f(7)、を並列に生成するように構成される。
【0035】
本明細書に記載の種々のデバイス、モジュール、アナライザ、生成器などは、ハードウェア回路(例えば、論理回路に基づく相補型金属酸化膜半導体(CMOS))、ファームウェア、ソフトウェア、及び/又はハードウェア、ファームウェア及び/又はソフトウェアの任意の組み合わせ(例えば、機械により解読可能な媒体に組み込まれる)を用いて作動し及び操作され得る。また、種々の電気的構造及び方法は、トランジスタ、論理ゲート、及び/又は電気的回路(例えば、特定用途向け集積回路(ASIC))を用いて組み込まれ得る。本願実施例を特定の例示の実施例に関連して説明してきたが、これらの種々の実施例の範囲及び趣旨から逸脱することなく、これらの実施例に種々の変形及び変更が成され得ることは明らかであろう。例えば、本願実施例は一次元DCTに関して説明している。しかし、これらの実施例は、転置された出力を有するマルチ・パスDCTと同じように、多次元DCTに適用され得る。例えば、JPEG及びビデオ符号化/復号化技術のベースとなっている二次元DCTは、単に、画像又はマトリックスの一次元DCTを、行に沿って及びその後列に沿って、又はその逆に実行したものである。


【特許請求の範囲】
【請求項1】
入力信号の離散コサイン変換を実行するための装置であって、
加算器及び乗算器の第1のセットを含む順方向加算器ツリー・モジュールであって、前記順方向加算器ツリー・モジュールの入力ノードが入力信号を受信するように構成される、前記順方向加算器ツリー・モジュール、
マルチプレクサの第1のセットであって、前記マルチプレクサの第1のセットの入力ノードが、前記順方向加算器ツリー・モジュールの出力ノードに接続され、且つ前記入力信号を受信するように構成される、前記マルチプレクサの第1のセット、
加算器及び乗算器の第2のセットを含む共用フローグラフ・モジュールであって、前記共用フローグラフ・モジュールの入力ノードが、前記マルチプレクサの第1のセットの出力ノードに接続される、前記共用フローグラフ・モジュール、
加算器及び乗算器の第3のセットを含む逆方向加算器ツリー・モジュールであって、前記逆方向加算器ツリー・モジュールの入力ノードが前記共用フローグラフ・モジュールの出力ノードに接続される、前記逆方向加算器ツリー・モジュール、及び、
マルチプレクサの第2のセットであって、前記マルチプレクサの第2のセットの入力ノードが、前記共用フローグラフ・モジュールの出力ノード及び前記逆方向加算器ツリー・モジュールの出力ノードに接続される、前記マルチプレクサの第2のセット、
を含む、装置。
【請求項2】
請求項1に記載の装置であって、前記マルチプレクサの第1のセット及び前記マルチプレクサの第2のセットが、前記順方向加算器ツリー・モジュール及び前記共用フローグラフ・モジュールを介して前記入力信号を処理して、前記入力信号の順方向離散コサイン変換を実行するように構成される、装置。
【請求項3】
請求項2に記載の装置であって、前記入力信号の前記順方向離散コサイン変換の間、前記マルチプレクサの第1のセットが、前記順方向加算器ツリー・モジュールの前記出力ノードから各々の信号を選択するように構成され、前記マルチプレクサの第2のセットが、前記共用フローグラフ・モジュールの前記出力ノードから各々の信号を選択するように構成される、装置。
【請求項4】
請求項1に記載の装置であって、前記マルチプレクサの第1のセット及び前記マルチプレクサの第2のセットが、前記共用フローグラフ・モジュール及び前記逆方向加算器ツリー・モジュールを介して前記入力信号を処理して、前記入力信号の逆離散コサイン変換を実行するように構成される、装置。
【請求項5】
請求項4に記載の装置であって、前記入力信号の前記逆離散コサイン変換の間、前記マルチプレクサの第1のセットが前記入力信号を選択するように構成され、前記マルチプレクサの第2のセットが、前記逆加算器モジュールの前記出力ノードから各々の信号を選択するように構成される、装置。
【請求項6】
請求項1に記載の装置であって、前記入力信号が、並列の8個のデジタル入力データを含む、装置。
【請求項7】
請求項6に記載の装置であって、前記加算器及び乗算器の第1のセットが、12個の加算器及び6個の負の単位元乗算器を含み、前記加算器及び乗算器の第2のセットが、14個の加算器及び20個の乗算器を含む、装置。
【請求項8】
請求項7に記載の装置であって、前記加算器及び乗算器の第3のセットが12個の加算器及び6個の負の単位元乗算器を含む、装置。
【請求項9】
請求項8に記載の装置であって、前記20個の乗算器が、それらの入力値を一定の係数で乗算するように構成され、前記一定の係数が、−π/16、π/16、−π/8、π/8、3π/16、π/4、−5π/16、5π/16、6π/16、7π/16、及び−1を含む、装置。
【請求項10】
請求項1に記載の装置であって、前記マルチプレクサの第1のセットが8個の2:1マルチプレクサを含み、前記マルチプレクサの第2のセットが8個の2:1マルチプレクサを含む、装置。
【請求項11】
請求項10に記載の装置であって、前記8個のマルチプレクサの第1のセット及び前記8個のマルチプレクサの第2のセットが、それらの制御信号として「0」を受信すると、それぞれ、前記順方向加算器ツリー・モジュールの前記出力ノードから各々の信号を、及び前記共用フローグラフ・モジュールの前記出力ノードから各々の信号を選択するように構成される、装置。
【請求項12】
請求項10に記載の装置であって、前記8個のマルチプレクサの第2のセットが、前記8個のデジタル入力データの順方向離散コサイン変換を表す、8個のデジタル出力データを並列に生成するように構成される、装置。
【請求項13】
請求項12に記載の装置であって、前記8個のマルチプレクサの第1のセット及び前記8個のマルチプレクサの第2のセットが、それらの制御信号として「1」を受信すると、それぞれ、前記8個のデジタル入力データを、及び前記逆加算器モジュールの前記出力ノードから各々の信号を選択するように構成される、装置。
【請求項14】
請求項13に記載の装置、前記8個のマルチプレクサの第2のセットが、前記8個のデジタル入力データの逆離散コサイン変換を表す、8個のデジタル出力データを並列に生成するように構成される、装置。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公表番号】特表2013−513866(P2013−513866A)
【公表日】平成25年4月22日(2013.4.22)
【国際特許分類】
【出願番号】特願2012−543232(P2012−543232)
【出願日】平成22年12月8日(2010.12.8)
【国際出願番号】PCT/US2010/059410
【国際公開番号】WO2011/071987
【国際公開日】平成23年6月16日(2011.6.16)
【出願人】(390020248)日本テキサス・インスツルメンツ株式会社 (219)
【出願人】(507107291)テキサス インスツルメンツ インコーポレイテッド (50)
【上記1名の代理人】
【識別番号】100098497
【弁理士】
【氏名又は名称】片寄 恭三
【Fターム(参考)】