(57)【特許請求の範囲】
【請求項１】
１次元入力データ（Ｘ（ｎ））を３次元入力データ（Ｘ（ｎ1 ，ｎ2 ，ｎ3 ））に転移する入力マッピング手段と、
前記３次元入力データ（Ｘ（ｎ1 ，ｎ2 ，ｎ3 ））を３次元出力データ（Ｘ（ｋ1 ，ｋ2 ，ｋ3 ））に変換するために、ｍ個のマッピング函数を利用して１次元ＤＣＴ計算式を３次元ＤＣＴ計算式に変換する３次元変換手段と、
前記３次元出力データ（Ｘ（ｋ1 ，ｋ2 ，ｋ3 ））を１次元出力データ（Ｘ（ｋ））に転移する出力マッピング手段とを、
備えたことを特徴とする離散コサイン変換の高速演算装置。
【請求項２】
前記入力マッピング手段は前記ｎ値をマッピング函数に代替するように対応させるための入力マッピングテーブルを備えたことを特徴とする請求項１に記載の離散コサイン変換の高速演算装置。
【請求項３】
前記３次元変換手段は前記ｎ値に相当する数のＤＣＴを備えたことを特徴とする請求項１に記載の離散コサイン変換の高速演算装置。
【請求項４】
前記出力マッピング手段は前記ｋ値をマッピング函数に代替するように対応させるための出力マッピングテーブルを備えたことを特徴とする請求項１に記載の離散コサイン変換の高速演算装置。
【請求項５】
前記３次元変換手段は、ＤＣＴのカーネルである１つのコサインを３つのコサインの乗で変換することを特徴とする請求項３に記載の離散コサイン変換の高速演算装置。
【請求項６】
前記３次元変換手段は、コサインの３重乗を導くために、三角函数の加算の公式を利用することを特徴とする請求項３に記載の離散コサイン変換の高速演算装置。
【請求項７】
前記３次元入力データのブロックサイズが素因数の乗算でなされる場合、前記マッピング函数が、
【数１】
0003727361.tif 000042
であることを特徴とする請求項２に記載の離散コサイン変換の高速演算装置。
【請求項８】
前記３次元入力データのブロックサイズが共通因数の乗算でなされる場合、前記マッピング函数が、
【数２】
0003727361.tif 000043
【数３】
であることを特徴とする請求項２に記載の離散コサイン変換の高速演算装置。
0003727361.tif 000044
【請求項９】
前記素因数は、各因数が１以外の公約数を持たない数であることを特徴とする請求項７に記載の離散コサイン変換の高速演算装置。
【請求項１０】
前記共通因数は、各因数が１以外の共約数を持つ数であることを特徴とする請求項８に記載の離散コサイン変換の高速演算装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、画像処理システム、高品位（ハイビジョン）ＴＶ受像機等において、画像情報の圧縮を行うための映像圧縮方法に関し、特に、素因数アルゴリズム（以下、“ＰＦＡ”と呼ぶ）および共通因数アルゴリズム（以下、“ＣＦＡ”と呼ぶ）を利用して画像情報の３次元展開を行って、離散コサイン変換（以下、“ＤＴＣ”と呼ぶ）の高速演算を行う装置に関する。
【０００２】
【従来の技術】
従来のＤＣＴ高速アルゴリズムにおいて、ＰＦＡは画像情報を１次元から２次元に展開する方法である。この方法は１次元入力データＸ（ｎ）を２次元入力データＸ（ｎ1 ，ｎ2 ）にマッピング（mapping)してＤＣＴ演算を行う方法である。
【０００３】
この方法は１次元入力データを２次元入力データとして転移する入力マッピング過程と、入力マッピング値をＤＣＴ演算に代入して数学的ＤＣＴカーネル（kernel）であるｃｏｓθをｃｏｓθ1 ，ｃｏｓθ2 に展開証明する過程と、前記過程により計算された係数値を出力データとしてマッピングする出力マッピング過程と、とからなる。
【０００４】
前記方法により、入力データ（圧縮対象である画像情報）を１次元から２次元にマッピングさせると、乗算演算の数が、ブロックサイズＮの場合に２次元として展開の際、Ｎ＝Ｎ1 ，Ｎ2 と変換されてＮ2 個からＮ（Ｎ1 ＋Ｎ2 ）個に減少することになる。
【０００５】
ここに、減少現象には重複計算と“０”または“１”が乗算される場合をすべて含む。
【０００６】
上述した従来のＤＣＴ演算方法は、数式的に１次元ＤＣＴ計算式を２次元ＤＣＴ計算式に変換して乗算量を低減する方法である。
【０００７】
１次元ＤＣＴ計算式は下記の通りである。
【０００８】
【数４】
0003727361.tif 000002
また、２次元ＤＣＴ計算式は下記の通りである。
【０００９】
【数５】
0003727361.tif 000003
この過程を導く方法が、入力マッピングと出力マッピングとの、２つのマッピングによって達成される。
【００１０】
このための入力マッピング函数は次の通りである。
【００１１】
【数６】
0003727361.tif 000004
このための出力マッピング函数は次の通りである。
【００１２】
【数７】
0003727361.tif 000005
【００１３】
【発明が解決しようとする課題】
従来の方法により、２次元ＰＦＡが入力データをＮ＝Ｎ1 Ｎ2 の出力データとして展開する際、素因数（Ｎ1 ，Ｎ2 ）が相対素数（互いに素数関係）であるので、計算可能なブロックサイズは２×３＝６，３×４＝１２，４×５＝２０，…等に制限され、この制限によって国際標準化規格であるブロックサイズ８については計算が不可能となる問題点があった。
【００１４】
また、従来の方法は２次元の展開に依存するので乗算の減少が所望する程度にはならないという問題点があった。
【００１５】
本発明の目的は、上記問題点を解決するためのもので、ＤＣＴ計算カーナルであるコサイン（ｃｏｓｉｎｅ）を３個のコサインの乗算（ｃｏｓＡ・ｃｏｓＢ・ｃｏｓＣ）に展開可能になるようにして、計算の必要とする乗算数を顕著に低減して高速演算を実現することができ、さらに３次元ＣＦＡを実現して計算可能なブロックサイズの制限を解消することにより、国際標準規格のブロックサイズについてもＤＣＴ計算を可能となるようにする離散コサイン変換の高速演算装置を提供することにある。
【００１６】
【課題を解決するための手段】
上記の目的を達成するために、本発明の離散コサイン変換の高速演算装置は、１次元入力データ（Ｘ（ｎ））を３次元入力データ（Ｘ（ｎ1 ，ｎ2 ，ｎ3 ））に転移する入力マッピング手段と、前記３次元入力データ（Ｘ（ｎ1 ，ｎ2 ，ｎ3 ））を３次元出力データ（Ｘ（ｋ1 ，ｋ2 ，ｋ3 ））に変換するために、ｍ個のマッピング函数を利用して１次元ＤＣＴ計算式を３次元ＤＣＴ計算式に変換する３次元変換手段と、前記３次元出力データ（Ｘ（ｋ1 ，ｋ2 ，ｋ3 ））を１次元出力データ（Ｘ（ｋ））に転移する出力マッピング手段とからなる。
【００１７】
【作用】
１次元入力データ（Ｘ（ｎ））を３次元入力データ（Ｘ（ｎ1 ，ｎ2 ，ｎ3 ））に転移させ、３次元入力データ（Ｘ（ｎ1 ，ｎ2 ，ｎ3 ））を３次元出力データ（Ｘ（ｋ1 ，ｋ2 ，ｋ3 ））に変換するために、ｍ個のマッピング函数を利用して１次元ＤＣＴ計算式を３次元ＤＣＴ計算式に変換させ、３次元出力データ（Ｘ（ｋ1 ，ｋ2 ，ｋ3 ））を１次元出力データ（Ｘ（ｋ））に転移させるので乗算量が減少し、ＤＣＴ演算速度が増加し、映像データの圧縮性能が高まる。
【００１８】
【実施例】
以下、本発明の離散コサイン変換の高速演算装置を図面に基づいて詳述する。
【００１９】
本発明によるＤＣＴ高速演算装置で提案したＤＣＴ素因数アルゴリズムと共通因数アルゴリズムは、ＤＣＴ計算のカーナル（kernel）であるコサインを３個のコサイン乗、例えばｃｏｓＡ・ｃｏｓＢ・ｃｏｓＣとして展開する数学的なアルゴリズムである。ＤＣＴカーナルである１個のコサインを３個のコサイン自乗として展開すると、計算に必要な乗算の数が顕著に低減し、計算時間を短縮させて高速演算が可能となる。
【００２０】
一般の高速離散フーリェ変換アルゴリズムの中、前述したＰＦＡはカーナルが指数項なので、３個の自乗形態に変形することは簡単な置換によって可能である。しかしＤＣＴの場合にはＤＣＴカーナルであるコサイン項を純粋なコサインの乗の形態に直接展開することは難しい。
【００２１】
したがって、マッピングを利用した数学的展開過程を介して、ＤＣＴから単純展開の難しい３個のコサイン乗算を得ることに本発明は注目している。
【００２２】
まず、本発明の３次元ＰＦＡはブロックサイズＮをＮ1 ×Ｎ2 ×Ｎ3 （ここで、Ｎ1 ，Ｎ2 ，Ｎ3 は相関素数：３つの数が１以外の公約数を持たない数）の形態とした時のＤＣＴ計算アルゴリズムである。
【００２３】
例えば、Ｎ＝１×２×３＝６，１×２×５＝１０，１×３×４＝１２，…２×３×５＝３０…等の素数の乗算によってなされるブロックサイズＮについてＤＣＴを計算することができる。最初にブロックサイズＮを３個の素数の乗算にする。
【００２４】
Ｎ＝Ｎ1 ×Ｎ2 ×Ｎ3               ……（１）
ＤＣＴの定義によってＤＣＴおよびＩＤＣＴの演算式は次のように表現される。
【００２５】
【数８】
0003727361.tif 000006
ここで、ＤＣＴとＩＤＣＴとは互いに直交変換であるので式（２），（３）のいずれか一方の式は他方の式の逆過程である。
【００２６】
前記アルゴリズムでは、式（２）を利用して３次元ＰＦＡを展開する。前記アルゴリズムの核心内容は、乗算の数を低減させるために、ＤＣＴのカーネルであるｃｏｓ［π（２ｋ＋１）ｎ／２Ｎ］をｃｏｓ［π（２ｋ1 ＋１）ｎ／２Ｎ1 ］×ｃｏｓ［π（２ｋ2 ＋１）ｎ／２Ｎ2 ］×ｃｏｓ［π（２ｋ3 ＋１）ｎ／２Ｎ3 ］に展開する方法である。すなわち式（２）を式（４）のように展開する。
【００２７】
【数９】
0003727361.tif 000007
式（２）から式（４）への変換過程は次の通りである。式（２）を式（４）に展開するために本発明では入力データｘ（ｎ）：ｎ＝０，１，…，Ｎ−１を
Ｘ（ｎ1 ，ｎ2 ，ｎ3 ）：ｎ1 ＝０，１，２，…，ｎ1 −１
：ｎ2 ＝０，１，２，…，ｎ2 −１
：ｎ3 ＝０，１，２，…，ｎ3 −１
に転移する入力マッピングを下記の４種類の場合に分類する。
【００２８】
ここで、入力マッピングとはｎ値をマッピング函数に代替するように対応させることをいう。
【００２９】
このマッピンク法はコサインの３重乗を得るように設定されたものである。
【００３０】
【数１０】
0003727361.tif 000008
式（５）に示したマッピンク函数は次の特性（証明は省略する）を有する。
【００３１】
0003727361.tif 000009
それぞれのマッピング函数から計算されたｎ値は式（６）の関係から分るように１：１マッピングである。
【００３２】
しかし、ｆa ，ｆb ，ｆc ，ｆd マッピングを介して計算されたｎ値の集合をそれぞれΩa ，Ωb ，Ωc ，Ωd とすれば式（７）のように表わすことができる。
【００３３】
【数１１】
0003727361.tif 000010
各集合Ωa ，Ωb ，Ωc ，Ωd のユニオン（各集合から計算された元素を単に集めておく概念、すなわち集合｛１，２，３｝と集合｛３，４，５｝のユニオンは集合｛１，２，３，４，５｝と同様である）は４Ωとなる。
【００３４】
これは各集合の元素のユニオンは０，１，２…，Ｎ−１の各元素が４つずつ存在することを意味する。
【００３５】
このマッピング特性を利用して式（２）は式（８）のように各マッピングについてのＤＣＴ演算値を４で割った後合算する。
【００３６】
【数１２】
0003727361.tif 000011
また、マッピングによる入力は次のように符号因子ｓ（ｎ）を利用して表現することができる。
【００３７】
0003727361.tif 000012
ここで、
【００３８】
【数１３】
0003727361.tif 000013
ここで、マイナス（陰）符号は下記式のようなコサインの周期函数的な特性によって表わす。
【００３９】
0003727361.tif 000014
式（８）は式（９）の入力函数を各々のマッピングに該当する値に代入し、ｎ値の代わりに４つのマッピング函数ｆa （ｎ1 ，ｎ2 ，ｎ3 ），ｆb （ｎ1 ，ｎ2 ，ｎ3 ），ｆc （ｎ1 ，ｎ2 ，ｎ3 ）を代入すると式（１０）のようになる。
【００４０】
【数１４】
0003727361.tif 000015
ここに、相互関連のないマッピングについては入力値が存在しないので、それぞれ計算値は全て０となり、これを表現すると式（１１）のようになる。
【００４１】
【数１５】
0003727361.tif 000016
【００４２】
【数１６】
0003727361.tif 000017
【００４３】
【数１７】
0003727361.tif 000018
すなわち、式（１１）の最初の３項がすべて０となる理由はｎの代わりにマッピング函数ｆa が代入されるので入力函数ｆb ，ｆc ，ｆd に該当するＤＣＴ演算においては互いに関連のないマッピングに該当されるためである。残りマッピング函数ｆa ，ｆb ，ｆc ，ｆd が代入された演算についても同じ理由により全て０となる。
【００４４】
式（１１）を利用して式（１０）の入力データは式（１２）のように入力をくるめて表現できる。
【００４５】
【数１８】
0003727361.tif 000019
式（１２）からコサインの３重乗を導くために、本発明では三角函数の加算の公式を利用し、これを式（１３）に示す。
【００４６】
【数１９】
0003727361.tif 000020
【００４７】
【数２０】
0003727361.tif 000021
式（１３）の各項を合算すれば、式（１４）のように全てのｓｉｎｅ項が消去される。
【００４８】
【数２１】
0003727361.tif 000022
式（１４）でａ＝ｎ1 Ｎ2 Ｎ3 ，ｂ＝ｎ2 Ｎ3 Ｎ1 ，ｃ＝ｎ3 Ｎ1 Ｎ2 と置換すると式（１２）のｃｏｓｉｎｅ項は次のように３つのｃｏｓｉｎｅ乗の形態と変わる。
【００４９】
ｃｏｓ［π（２ｋ＋１）（ｎ1 Ｎ2 Ｎ3 ＋ｎ2 Ｎ3 Ｎ1 
＋ｎ3 Ｎ1 Ｎ2 ）／２Ｎ］                        ……（１５）
＋ｃｏｓ［π（２ｋ＋１）（ｎ1 Ｎ2 Ｎ3 −ｎ2 Ｎ3 Ｎ1 
＋ｎ3 Ｎ1 Ｎ2 ）／２Ｎ］
＋ｃｏｓ［π（２ｋ＋１）（ｎ1 Ｎ2 Ｎ3 ＋ｎ2 Ｎ3 Ｎ1 
−ｎ3 Ｎ1 Ｎ2 ）／２Ｎ］
＋ｃｏｓ［π（２ｋ＋１）（ｎ1 Ｎ2 Ｎ3 −ｎ2 Ｎ3 Ｎ1 
−ｎ3 Ｎ1 Ｎ2 ）／２Ｎ］
＝ｃｏｓ［π（２ｋ＋１）ｎ1 ／２Ｎ1 ］
×ｃｏｓ［π（２ｋ＋１）ｎ2 ／２Ｎ2 ］
×ｃｏｓ［π（２ｋ＋１）ｎ3 ／２Ｎ3 ］
したがって、式（１５）を式（１２）に代入すると式（１６）のように３つのｃｏｓｉｎｅ乗の形態が導かれる。
【００５０】
【数２２】
0003727361.tif 000023
一方、出力側においてもＸ（ｋ1 ，ｋ2 ，ｋ3 ）：ｋ1 ＝０，１，２，…，Ｎ1 −１，ｋ2 ＝０，１，２，…，Ｎ2 −１，ｋ3 ＝０，１，２，…，Ｎ3 −１をｘ（ｋ）：ｋ＝０，１，２，…，Ｎ−１に転移する出力マッピングを介して計算された値を出力に連結する過程が出力マッピングであり、式（１７）に方法を提示する。
【００５１】
【数２３】
0003727361.tif 000024
式（１７）の出力マッピンク値ｋ1 ，ｋ2 ，ｋ3 をｋに代入して式（１８）の結果を得る。
【００５２】
ｃｏｓ［π（２ｋ＋１）ｎ1 ／２Ｎ1 ］
＝ｃｏｓ［π（２ｋ＋１）ｎ1 ／２Ｎ1 ］
ｃｏｓ［π（２ｋ＋１）ｎ2 ／２Ｎ2 ］
＝ｃｏｓ［π（２ｋ＋１）ｎ2 ／２Ｎ2 ］
ｃｏｓ［π（２ｋ＋１）ｎ3 ／２Ｎ3 ］
＝ｃｏｓ［π（２ｋ＋１）ｎ3 ／２Ｎ3 ］          ……（１８）
したがって、上記結果により式（２）は本発明の３次元ＰＦＡ結果式（１９）に変換される。
【００５３】
【数２４】
0003727361.tif 000025
図１はブロックサイズ（Ｎ）が３０である場合のＰＦＡについての入力マッピングテーブルである。図１において、ブロックサイズ（Ｎ）が３０（＝２×３×５）である場合各変数（ｎ1 ＝０，１：ｎ2 ＝１，２：ｎ3 ＝０，１，２，３，４）を上記式（５）の４つの入力マッピング函数（ｆa ，ｆb ，ｆc ，ｆd ）に代入して計算したマッピング値を表示したものである。
【００５４】
このマッピング値のユニオンにおいて、結果値の０，１，２，３…，２９の各元素が４つずつ存在する。
【００５５】
図２はブロックサイズ（Ｎ）が３０である場合のＰＦＡについての出力マッピングテーブルである。図２において式（１７）の出力マッピング函数に各出力変数（ｋ1 ＝０，１：ｋ2 ＝０，１，２：ｋ3 ＝０，１，２，３，４）を代入した結果であり、３次元のＤＣＴを介して計算された結果を再配列する役割をする。
【００５６】
図３は２次元ＰＦＡの乗算数と３次元ＰＦＡの乗算数とを比較したテーブルである。図３において、Ｎ値が大きければ大きいほど、３次元ＰＦＡが２次元ＰＦＡに比べてさらに小さい乗算数を必要とするということが分かる。
【００５７】
前記ＰＦＡはブロックサイズ（Ｎ）が３段以上の乗算によって分けられるので、Ｎが大きい場合は他のアルゴリズムに比べて乗算の数が顕著に減少する。これは本来的にＤＣＴを計算する時Ｎ2 個の乗算が必要とすることとなるが、Ｎは素数Ｎ1 ，Ｎ2 ，Ｎ3 の乗として置いて計算するＰＦＡの場合は、乗算の数がＮ×（Ｎ1 ＋Ｎ2 ＋Ｎ3 ）に減少されるためである。
【００５８】
実際の乗算数は０，１が乗算される場合と重複される計算を全て除外するので、さらに減少する。また乗算数がＮ（Ｎ1 ＋Ｎ2 ＋Ｎ3 ）であるので、Ｎ値が大きくなることによって他の計算アルゴリズムより顕著に乗算数が減少されることが分かる。また、Ｎをさらに多い因子の乗で展開すれば展開するほど乗算数はさらに低減される。
【００５９】
前記アルゴリズムから制限されたマッピングを繰返し適用すれば４次元以上のマッピング変換が導かれることができ、しかも三角関数の加算の公式を利用して多次元ＰＦＡを誘導することができる。
【００６０】
前記ＰＦＡはブロックサイズ（Ｎ）値が１×２×３＝６，１×２×５＝１０，１×３×４＝１２，１×３×５＝１５，２×３×４＝３０…等の素数の乗で表現できる値に関してだけ、計算可能である。したがってＰＦＡはブロックサイズ（Ｎ）が８である場合には計算不能である。
【００６１】
すなわちブロックサイズ（Ｎ）が８である場合、国際標準化機構であるＭＰＥＧが標準案として提案したＤＣＴブロックサイズであるので、これを計算するためにはＣＦＡが必要である。
【００６２】
共通因数とは、各因子が１以外の共約数を有する数をいい、３つの数２，２，２は公約数が１，２であるのでそれが共通因数となる。
【００６３】
本発明によるＣＦＡは、ブロックサイズ（Ｎ）が２×２×２＝８，２×２×４＝１６，２×４×４＝３２，…等のブロックサイズについて計算可能なアルゴリズムである。まず、ブロックサイズ（Ｎ）を３個素因数の乗算としておく。
【００６４】
Ｎ＝Ｎ1 ＋Ｎ2 ＋Ｎ3             ………（２０）
ＤＣＴの定義によってＤＣＴとＩＤＣＴの演算式は次のように表現される。
【００６５】
【数２５】
0003727361.tif 000026
ここで、ＤＣＴとＩＤＣＴとは互いに直交変換であるので式（２１），（２２）のいずれか一方の式は他方の式の逆過程であることがわかる。
【００６６】
上記アルゴリズムではＤＣＴ演算式（２１）を利用して展開する。本アルゴリズムの核心要素は乗算数の減少のために、ＤＣＴのカーネルであるｃｏｓ［π（２ｋ＋１）ｎ／２Ｎ］をｃｏｓ［π（２ｋ1 ＋１）ｎ／２Ｎ1 ］×ｃｏｓ［π（２ｋ2 ＋１）ｎ／２Ｎ2 ］×ｃｏｓ［π（２ｋ3 ＋１）ｎ／２Ｎ3 ］として展開（ＣＦＡの３重乗の形態はＰＦＡの３重乗の形態に比較してみると、分母部分が異なる）する方法である。すなわちＤＣＴ計算式（２１）を式（２３）のように展開する。
【００６７】
【数２６】
0003727361.tif 000027
式（２３）をみると、ＰＦＡにおける式（４）の形態とはｃｏｓｉｎｅ項の分布が異なることが分る。これはＰＦＡとＣＦＡは相互異なるマッピングが代入されるためである。式（２１）から式（２３）を導く過程は次の通りである。
【００６８】
ＰＦＡと同様に式（２１）を式（２３）に展開するために、ｘ（ｎ）：ｎ＝０，１，…，Ｎ−１をＸ（ｎ1 ，ｎ2 ，ｎ3 ）：ｎ1 ＝０，１，２…，Ｎ1 −１／ｎ2 ＝０，１，２，…，Ｎ2 −１／３＝０，１，２，…，Ｎ3 −１に転移する入力マッピングを下記４つの形態で分類する。
＜入力マッピング＞
【００６９】
【数２７】
0003727361.tif 000028
【００７０】
【数２８】
0003727361.tif 000029
しかしながら、マッピング函数ｆa ，ｆb ，ｆc ，ｆd を介して計算されたｎの集合をそれぞれΩa ，Ωb ，Ωc ，Ωd として示すと、
【００７１】
【数２９】
0003727361.tif 000030
のように表現でき、各集合Ωa ，Ωb ，Ωc ，Ωd のユニオンは４Ωとなる。
【００７２】
これは各集合の元素のユニオンは、０，１，２…，Ｎ−１の各元素が４つずつ存在するということを意味する。
【００７３】
このようなマッピング特性を利用して式（２１）は次のように各マッピングについてのＤＣＴ演算値を４で割った後合算する。
【００７４】
【数３０】
0003727361.tif 000031
また、マッピングによる入力は次のように符号因子ｓ（ｎ）を使用して表現でき、マッピングがＰＦＡとは異なるので符号因子ｓ（ｎ）も異なる形態を示す。
【００７５】
0003727361.tif 000032
ここで、マイナス（陰）符号は下記式のようなコサインの周期函数的な特性によって表わす。
【００７６】
0003727361.tif 000033
式（２６）は式（２７）の入力函数を各々のマッピングに該当する値に代入し、ｎ値の代わりに４つのマッピング函数ｆa （ｎ1 ，ｎ2 ，ｎ3 ），ｆb （ｎ1 ，ｎ2 ，ｎ3 ），ｆc （ｎ1 ，ｎ2 ，ｎ3 ），ｆd （ｎ1 ，ｎ2 ，ｎ3 ）を代入すると式（２９）のようなこととなる。
【００７７】
【数３１】
0003727361.tif 000034
ここに、相互関連のないマッピングについては入力値が存在しないので、それぞれ計算値は全て０となり、これを表現すると式（３０）のようになる。
【００７８】
【数３２】
0003727361.tif 000035
すなわち、ＰＦＡから説明したように、ｆa はｆb ，ｆc ，ｆd のマッピングを適用したＤＣＴ演算においては互いに関連のないマッピングに該当するもので、計算値がすべて０であり、ｆb ，ｆc ，ｆd についても互いに関連のないＤＣＴ演算には全て０となる。
【００７９】
式（３０）を利用して式（２９）は式（３１）のように入力をくるめて表現できる。
【００８０】
【数３３】
0003727361.tif 000036
ＰＦＡから説明したように、三角函数の加算の公式を利用してＰＦＡの式（１３）からａ，ｂ，ｃをそれぞれａ＝ｎ1 ，ｂ＝ｎ2 Ｎ3 Ｎ1 ，ｃ＝ｎ3 Ｎ1 と置換すると式（３０）のコサイン項は式（３２）のように３つのコサイン乗の形態と変わる。
【００８１】
ｃｏｓ［π（２ｋ＋１）（ｎ2 Ｎ3 Ｎ1 ＋ｎ3 Ｎ1 
＋ｎ1 ）／２Ｎ］                    ……（３２）
＋ｃｏｓ［π（２ｋ＋１）（ｎ2 Ｎ3 Ｎ1 ＋ｎ3 Ｎ1 
−ｎ1 ）／２Ｎ］
＋ｃｏｓ［π（２ｋ＋１）（ｎ2 Ｎ3 Ｎ1 −ｎ3 Ｎ1 
＋ｎ1 ）／２Ｎ］
＋ｃｏｓ［π（２ｋ＋１）（ｎ2 Ｎ3 Ｎ1 −ｎ3 Ｎ1 
−ｎ1 ）／２Ｎ］
＝ｃｏｓ［π（２ｋ＋１）ｎ1 ／２Ｎ1 ］
×ｃｏｓ［π（２ｋ＋１）ｎ2 ／２Ｎ2 ］
×ｃｏｓ［π（２ｋ＋１）ｎ3 ／２Ｎ3 ］
したがって、式（３２）を利用して式（３１）を式（３３）のように３つのｃｏｓｉｎｅ乗の形態が導かれる。
【００８２】
【数３４】
0003727361.tif 000037
一方、出力側においても３次元出力データＸ（ｋ1 ，ｋ2 ，ｋ3 ）を１次元出力データｘ（ｋ）に転移する出力マッピングを介して計算された値を出力に連結する過程が出力マッピングであり、式（３４）に方法を提示する。
＜出力マッピング＞
【００８３】
【数３５】
0003727361.tif 000038
式（３４）の出力マッピングの関係からｋにｋ1 ，ｋ2 ，ｋ3 を代入することにより式（３５）は証明される。
【００８４】
0003727361.tif 000039
したがって、上記結果により、式（２１）から最終的な３次元のＣＦＡ結果式（３６）を得る。
【００８５】
【数３６】
0003727361.tif 000040
図４はブロックサイズが８である場合ＣＦＡについての入力マッピングテーブルである。図４においてブロックサイズ（Ｎ）が８（＝２×２×２）である場合、各変数（ｎ＝０，１：ｎ2 ＝０，１：ｎ3 ＝０，１）を式（２４）の４個の入力マッピング函数に代入して計算したマッピング値を示すものである。
【００８６】
図４に示すように、ＰＦＡマッピングと同様に、４個のマッピング函数の計算値をユニオンすれば、０から８までの元素が各々４つずつ存在する。
【００８７】
図５はブロックサイズが８である場合ＣＦＡについての出力マッピングテーブルである。図５に示すように、式（３４）の出力マッピング函数に、各出力変数（ｋ1 ＝０，１：ｋ2 ＝０，１：ｋ3 ＝０，１）を代入した結果であり、出力シーケンスを再配列する役割をする。
【００８８】
図６はＣＦＡについての入力マッピングの信号流れ図であり、図７はＣＦＡについての出力マッピングの信号流れ図である。図６に示すように、Ｎ＝８において１次元の入力データ［Ｘ（０）−Ｘ（７）］を３次元の入力データ［Ｘ（０，０，０）−Ｘ（１，１，１）］にマッピングさせ、前記計算結果を図７に示すように、圧縮された最終の出力データ［Ｘ（０）−Ｘ（７）］にマッピングさせる。
【００８９】
入力マッピングと出力マッピングを全部結合すれば、図８に示すように、信号流れグラフが得られる。
【００９０】
図８はＣＦＡの処理過程を示す図である。図８に示すように、ブロックサイズ（Ｎ）が８である場合のＤＣＴを計算する場合、２点ＤＣＴを１２個使用し、各ＤＣＴについて１個の乗が必要であるので、計１２個の乗算が必要であることが分かる。
【００９１】
図８に示すグラフにおいて、入力マッピング部１は１次元の入力データを３次元の入力データにマッピングさせるために設けられ、変換部２は１次元のＤＣＴ計算式を３次元のＤＣＴの計算式に展開するために設けられる。
【００９２】
また、出力マッピング部３は展開された値を最終圧縮データにマッピングさせるために設けられる。変換部２は１２個の２点ＤＣＴ（４Ａ−４Ｌ）から構成されている。ＣＦＡを利用してＤＣＴを計算する場合、Ｎ1 点ＤＣＴ，Ｎ2 点ＤＣＴ，Ｎ3 点ＤＣＴの乗算数は（Ｎ／２）×ｌｏｇ2 Ｎである。
【００９３】
ＣＦＡの必要とする乗算数は次の方法により計算することができる。
【００９４】
0003727361.tif 000041
したがって、３次元ＣＦＡはＭＰＥＧ標準案においてＤＣＴブロックサイズ８について計算することができる。ブロックサイズ（Ｎ）はＰＦＡと同様に３段分解するので計算に必要な乗算数は２次元ＣＦＡより減少する。
【００９５】
また、ＰＦＡと同様にＣＦＡによりＤＣＴを計算する時必要な乗算数はブロックサイズ（Ｎ）が３段以上の乗で分けられるのでＮが大きければ大きいほど顕著に減少する。
【００９６】
【発明の効果】
以上説明したように、本発明の離散コサイン変換の高速演算装置によれば、従来２次元ＤＣＴ演算に比べて乗算量が顕著に減少されるので、ＤＣＴ演算速度を増加し、かつ映像データの圧縮性能を高めることができ、従来より小さい量の乗算器および加算器を使用するので、ＩＣ化の際、チップ面積を縮小することができる。
【図面の簡単な説明】
【図１】本発明によるＰＦＡについての入力マッピングテーブル。
【図２】本発明によるＰＦＡについての出力マッピングテーブル。
【図３】２次元ＰＦＡの乗算数と３次元ＰＦＡの乗算数とを比較したテーブル。
【図４】本発明によるＣＦＡについての入力マッピングテーブル。
【図５】本発明によるＣＦＡについての出力マッピングテーブル。
【図６】ＣＦＡについての入力マッピングの信号流れ図。
【図７】ＣＦＡについての出力マッピングの信号流れ図。
【図８】ＣＦＡの処理過程を示す信号流れ図。
【符号の説明】
１  入力マッピング部
２  変換部
３  出力マッピング部
【図１】
0003727361.tif 000045
【図２】
0003727361.tif 000046
【図３】
0003727361.tif 000047
【図４】
0003727361.tif 000048
【図５】
0003727361.tif 000049
【図６】
0003727361.tif 000050
【図７】
0003727361.tif 000051
【図８】
0003727361.tif 000052