"NNは自然数個の入力信号に対し離散コサイン変換及び離散サイン変換の直交変換処理を行い、N個の離散コサイン変換係数及びN個の離散サイン変換係数を生成する直交変換処理装置において、前記N個の入力信号に対し積和演算を段階的に行い、前記N個の離散コサイン変換係数及びN個の離散サイン変換係数を生成する処理部を備え、前記処理部は、前記積和演算の結果の一部を、前記離散コサイン変換係数及び離散サイン変換係数を生成するための共通の結果として、次の段階の積和演算に用いる、ことを特徴とする直交変換処理装置。請求項1に記載の直交変換処理装置において、前記処理部は、前記N個の入力信号のうちのいずれかの入力信号を用いて積和演算を行い、第1段階の結果を求め、前記第1段階の結果を、前記離散コサイン変換係数及び離散サイン変換係数を生成するための共通の結果として、第2段階の積和演算に用いる、ことを特徴とする直交変換処理装置。請求項2に記載の直交変換処理装置において、前記処理部は、さらに、第2段階以降の積和演算の結果の一部を、前記離散コサイン変換係数及び離散サイン変換係数を生成するための共通の結果として、次の段階の積和演算の一部に用いる、ことを特徴とする直交変換処理装置。請求項1から3までのいずれか一項に記載の直交変換処理装置において、前記処理部は、前記N個の入力信号に対し積和演算を段階的に行って前記N個の離散コサイン変換係数を生成する処理を示す段階的な離散コサイン変換フローと、前記N個の入力信号に対し積和演算を段階的に行って前記N個の離散サイン変換係数を生成する処理を示す段階的なフローであって、かつ前記離散コサイン変換フローと同じ形態の離散サイン変換フローとを結合した処理により、前記N個の入力信号に対し積和演算を段階的に行い、前記N個の離散コサイン変換係数及びN個の離散サイン変換係数を生成する、ことを特徴とする直交変換処理装置。請求項1から4までのいずれか一項に記載の直交変換処理装置において、前記Nを、4、8、16、32のうちのいずれかとする、ことを特徴とする直交変換処理装置。NNは自然数個の入力信号に対し離散コサイン変換及び離散サイン変換の直交変換処理を行い、N個の離散コサイン変換係数及びN個の離散サイン変換係数を生成する直交変換処理方法において、前記N個の入力信号に対し積和演算を段階的に行い、前記段階毎に積和演算の結果を生成するステップと、前記積和演算の結果の一部を、前記離散コサイン変換係数及び離散サイン変換係数を生成するための共通の結果として、次の段階の積和演算に用いるステップと、最終段階の積和演算を行い、前記N個の離散コサイン変換係数及びN個の離散サイン変換係数を生成するステップと、を有することを特徴とする直交変換処理方法。コンピュータを、請求項1から5までのいずれか一項に記載の直交変換処理装置として機能させるための直交変換処理プログラム。非特許文献1に記載された方法は、前述のとおり、離散コサイン変換による直交変換処理を高速化するものである。しかしながら、複数種類の直交変換を処理するためには、異なる複数のバタフライ演算回路を備える必要があり、回路規模が増大するという問題があった。また、特許文献1に記載された方法は、前述のとおり、離散コサイン変換及び離散サイン変換の2種類の直交変換を1つの装置で処理するものである。しかしながら、2種類の直交変換処理を行うためには、回路を2回動作させるか、または2つの回路を備える必要があり、演算時間及び消費電力が増大するという問題があった。そこで、本発明はかかる課題を解決するためになされたものであり、その目的は、離散コサイン変換処理及び離散サイン変換処理を、少ない演算回数で同時に行うことが可能な直交変換処理装置、方法及びプログラムを提供することにある。前記目的を達成するために、本発明による直交変換処理装置は、NNは自然数個の入力信号に対し離散コサイン変換及び離散サイン変換の直交変換処理を行い、N個の離散コサイン変換係数及びN個の離散サイン変換係数を生成する直交変換処理装置において、前記N個の入力信号に対し積和演算を段階的に行い、前記N個の離散コサイン変換係数及びN個の離散サイン変換係数を生成する処理部を備え、前記処理部が、前記積和演算の結果の一部を、前記離散コサイン変換係数及び離散サイン変換係数を生成するための共通の結果として、次の段階の積和演算に用いる、ことを特徴とする。また、本発明による直交変換処理装置は、前記処理部が、前記N個の入力信号のうちのいずれかの入力信号を用いて積和演算を行い、第1段階の結果を求め、前記第1段階の結果を、前記離散コサイン変換係数及び離散サイン変換係数を生成するための共通の結果として、第2段階の積和演算に用いる、ことを特徴とする。また、本発明による直交変換処理装置は、前記処理部が、さらに、第2段階以降の積和演算の結果の一部を、前記離散コサイン変換係数及び離散サイン変換係数を生成するための共通の結果として、次の段階の積和演算の一部に用いる、ことを特徴とする。また、本発明による直交変換処理装置は、前記処理部が、前記N個の入力信号に対し積和演算を段階的に行って前記N個の離散コサイン変換係数を生成する処理を示す段階的な離散コサイン変換フローと、前記N個の入力信号に対し積和演算を段階的に行って前記N個の離散サイン変換係数を生成する処理を示す段階的なフローであって、かつ前記離散コサイン変換フローと同じ形態の離散サイン変換フローとを結合した処理により、前記N個の入力信号に対し積和演算を段階的に行い、前記N個の離散コサイン変換係数及びN個の離散サイン変換係数を生成する、ことを特徴とする。また、本発明による直交変換処理装置は、前記Nを、4、8、16、32のうちのいずれかとする、ことを特徴とする。さらに、本発明による直交変換処理方法は、NNは自然数個の入力信号に対し離散コサイン変換及び離散サイン変換の直交変換処理を行い、N個の離散コサイン変換係数及びN個の離散サイン変換係数を生成する直交変換処理方法において、前記N個の入力信号に対し積和演算を段階的に行い、前記段階毎に積和演算の結果を生成するステップと、前記積和演算の結果の一部を、前記離散コサイン変換係数及び離散サイン変換係数を生成するための共通の結果として、次の段階の積和演算に用いるステップと、最終段階の積和演算を行い、前記N個の離散コサイン変換係数及びN個の離散サイン変換係数を生成するステップと、を有することを特徴とする。また、本発明による直交変換処理プログラムは、コンピュータを、前記直交変換処理装置として機能させることを特徴とする。以上のように、本発明によれば、離散コサイン変換処理及び離散サイン変換処理の一部を共有化するようにしたから、これらの処理を少ない演算回数で同時に行うことができ、回路規模、演算時間及び消費電力を削減することができる。以下、本発明を実施するための形態について図面を用いて詳細に説明する。本発明は、離散コサイン変換以下、DCTという。及び離散サイン変換以下、DSTという。の直交変換処理を、段階的な積和演算のフローを示す線図以下、バタフライ線図という。で表した場合に、DSTのバタフライ線図をDCTのバタフライ線図と同じ形態になるように構成し、DCT及びDSTの積和演算における途中の演算結果を相互に利用して共有化することを特徴とする。これにより、DCT及びDSTの処理を別々に行う場合に比べ、これらの処理を少ない演算回数で同時に行うことができる。符号化装置まず、本発明の実施形態による直交変換処理装置を含む符号化装置について説明する。図1は、本発明の実施形態による直交変換処理装置直交変換部を含む符号化装置の構成を示すブロック図である。この符号化装置11は、前処理部1、減算部2、直交変換部3、量子化部4、逆量子化部5、逆直交変換部6、加算部7、フレームメモリ8、信号予測部9及びエントロピー符号化部10を備えている。前処理部1は、符号化対象となる信号を入力し、この入力信号に対し、符号化のために必要な所定の前処理を行う。前処理については既知であるから、ここでは説明を省略する。減算部2は、前処理部1から前処理後の信号を入力すると共に、後述する信号予測部9から予測信号を入力し、前処理後の信号から予測信号を減算する。直交変換部3は、減算部1から減算結果の信号を入力し、DCT及びDSTの直交変換を行い、DCTの直交変換結果であるDCT係数またはDSTの直交変換結果であるDST係数のいずれか一方を、符号化効率の観点から最適な信号として選択する。直交変換部3の詳細については後述する。量子化部4は、直交変換部3からDCT係数またはDST係数の信号を入力し、量子化を行う。逆量子化部5は、量子化部4から量子化した信号を入力し、逆量子化を行い、逆量子化した信号を逆直交変換部6に出力する。逆直交変換部6は、逆量子化部5から逆量子化された信号を入力し、この信号を、直交変換部3により選択されたDCT係数またはDST係数に対応する逆離散コサイン変換IDCTまたは逆離散サイン変換IDSTの逆直交変換を行う。加算部7は、逆直交変換部6からIDCT係数またはIDST係数の信号を入力すると共に、後述する信号予測部9から予測信号を入力し、両信号を加算する。フレームメモリ8は、加算部7から加算結果の信号を入力し、復号信号として記憶する。フレームメモリ8に記憶された復号信号は、後述する信号予測部9により、予測信号を生成する際の参照信号として読み出される。信号予測部9は、フレームメモリ8から参照信号を読み出し、参照信号に基づいて、所定の予測方式により予測信号を生成し、減算部2及び加算部7に出力する。エントロピー符号化部10は、量子化部4から量子化した信号を入力し、エントロピー符号化し、符号化信号を出力する。本発明の実施形態では、符号化装置11の直交変換部3において、DCT及びDSTの直交変換を行う際に、減算部2からの信号に対する積和演算における途中の演算結果を、DCT及びDSTの両処理に共通して利用する。これにより、DCT及びDSTの処理を別々に行う場合に比べ、これらの処理を少ない演算回数で同時に行うことができ、直交変換部3としても符号化装置11全体としても、回路規模、演算時間及び消費電力を削減することができる。直交変換部次に、図1に示した直交変換部3について詳細に説明する。図2は、直交変換部3の構成を示すブロック図である。この直交変換部3は、DCTDST処理部31、DCT量子化処理部32-1、DST量子化処理部32-2及び選択部33を備えている。DCTDST処理部31は、減算部2から減算結果の信号を入力し、DCT及びDSTの直交変換を行う際に、例えば1次元N点DCT及びDSTにおいてN=4の場合、後述する図8のDCTDSTバタフライ線図後述する図11のDCTDSTプログラムに示すように、DCT及びDSTの積和演算における途中の演算結果を相互に利用し、DCT係数列及びDST係数列を生成する。DCTDST処理部31におけるDCT及びDSTの直交変換の詳細については後述する。DCT量子化処理部32-1は、DCTDST処理部31からDCT係数列を入力し、DCT係数列に対し、予め設定されたそれぞれの定数DCT用の定数を乗算して量子化スケーリング処理を行う。また、DST量子化処理部32-2は、DCTDST処理部31からDST係数列を入力し、DST係数列に対し、予め設定されたそれぞれの定数DST用の定数を乗算して量子化を行う。尚、DCT量子化処理部32-1及びDST量子化処理部32-2による量子化処理については既知であるから、ここでは詳細な説明を省略する。詳しくは、矢ヶ崎陽一、他3名、株式会社トリケップス、次世代画像符号化方式MPEG-4AVC|H.264、p.72を参照されたい。DCTDST処理部31及びDCT量子化処理部32-1により、1次元N点DCTの演算式後述する式4にて表されるDCT係数が求められる。また、DCTDST処理部31及びDST量子化処理部32-2により、1次元N点DSTの演算式後述する式1にて表されるDST係数が求められる。選択部33は、DCT量子化処理部32-1からDCT係数列を入力すると共に、DST量子化処理部32-2からDST係数列を入力し、例えばRD最適化法Rate-DistortionOptimizationによって、入力信号の特性に応じて直交変換後の信号の符号化効率が最も高くなる信号を、DCT係数列またはDST係数列から選択し、出力信号として出力する。DCT及びDST次に、DCT及びDSTの関係について説明する。DCT及びDSTは、三角関数を変換核とするフーリエ変換から派生した方式の1つである。サイン関数及びコサイン関数は、互いに直交する周期関数であり、この性質を利用することにより、以下に示すように、DSTの演算式をDCTの演算式から導出することができる。1次元N点DSTの演算式にて表されるu次のDST係数Guは、以下の式により求められる。Nは自然数である。但し、Cuは以下のとおりである。ここで、次数の範囲を0からN-1とするために、uをN-uに置き換えて変形すると以下の式となる。前記式3から、u次のDST係数GN-uは、1ステップ毎に符号反転した信号を入力信号とすると、DCTの演算式の成分が含まれることがわかる。1次元N点DCTの演算式にて表されるu次のDCT係数Fuが、以下の式で求められるからである。このように、DSTの演算式をDCTの演算式から導出することができ、DST係数は、入力信号を1ステップ毎に符号反転させ、その1ステップ毎に符号反転した信号を入力信号としてDCTを行うことにより生成されることがわかる。N=4のDCTバタフライ線図次に、N=4のDCTを実現するための高速処理アルゴリズムである、非特許文献1に記載されたChenのバタフライ演算について説明する。図3は、N=4のDCTバタフライ線図である。入力信号をx0~x3、出力信号であるDCT係数をC0~C3とする。図3及び後述する図4~図8N=4、図12N=8において、矢印近傍の数値は乗算の係数を示しており、映像符号化方式を規定するH.264等で用いられている整数化されたDCT及びDSTを例としているが、従来から知られているように、±cosiπ/N,±siniπ/Niは1からNまでの整数としてもよい。これは、N=16,32の場合も同様である。また、丸印○はノードを示しており、入力信号x0~x3を入力するノードを入力点、途中のノードを分岐点、出力信号であるDCT係数C0~C3を出力するノードを出力点とする。尚、ノードでは基本的に加算演算が行われるが、入力点では加算演算は行われず、加算演算を行わない分岐点及び出力点も存在する。分岐点及び出力点において、入力する矢印が1個の場合は、入力した信号をそのまま出力し、入力する矢印が2個の場合は、加算演算を行いその加算結果を出力することを示している。例えば、分岐点α3では、矢印の向きに従って、入力点α1からx0を入力し、入力点α2から係数-1が乗算されたx3を入力し、x0-x3の加算を行う。この分岐点α3の加算結果は、係数2が乗算されて出力点α4に出力される。また、この分岐点α3の加算結果は、出力点α5に出力される。出力点α5のDCT係数C3は、以下の演算により求められる。C3=-2×{x1-x2}{x0-x3}このように、図3に示したN=4のDCTバタフライ線図における入力点、分岐点及び出力点間の矢印及び係数が、積和演算を表しており、入力信号x0~x3に対し段階的に積和演算が行われ、出力信号であるDCT係数C0~C3が演算される。具体的には、入力点から分岐点までの間の第1段階において、入力信号x0~x3に対する積和演算が行われ、次に、第1段階の積和演算の結果を用いて、次の第2段階の積和演算が行われ、第2段階の積和演算の結果であるDCT係数C0~C3が求められる。尚、図3に示したN=4のDCTバタフライ線図は、整数DCTを行うものであり、次世代符号化方式を規定するHEVCHighEfficiencyVideoCodingのテストモデルHMHighEfficiencyVideoCodingTestModelのプログラムに基づいている。後述するN=8,16,32の場合も同様である。N=4のDSTバタフライ線図次に、N=4のDSTを実現するための高速処理アルゴリズムのバタフライ演算について説明する。図4は、N=4のDSTバタフライ線図である。入力信号をx0~x3、出力信号であるDST係数をS0~S3とする。このN=4のDSTバタフライ線図は、図3に示したN=4のDCTバタフライ線図非特許文献1に記載されたChenのバタフライ演算の線図を用いて、このDCTバタフライ線図の段階的な積和演算のフローと同じ形態のフローになるように構成したものである。図3及び図4から、入力点、分岐点及び出力点の数及び配置、並びに矢印の数及び向きが同一であるから、N=4のDCTバタフライ線図及びDSTバタフライ線図は、同じ形態のフローにより段階的に構成されていることがわかる。このように、図4に示したN=4のDSTバタフライ線図における入力点、分岐点及び出力点間の矢印及び係数が、図3と同様に積和演算を表しており、入力信号x0~x3に対し段階的に積和演算が行われ、出力信号であるDST係数S0~S3が演算される。具体的には、入力点から分岐点までの間の第1段階において、入力信号x0~x3に対する積和演算が行われ、次に、第1段階の積和演算の結果を用いて、次の第2段階の積和演算が行われ、第2段階の積和演算の結果であるDST係数S0~S3が求められる。次に、N=4のDSTバタフライ演算が、図3に示したN=4のDCTバタフライ線図を変形して図4のDSTバタフライ線図で表される理由について説明する。図5は、DCTから求めたN=4のDSTバタフライ線図である。DST係数S0~S3は、入力信号x0~x3を1ステップ毎に符号反転させ、DCTを行って出力信号を生成し、出力信号の順番を逆にすることにより生成される。そこで、図5に示すように、図3に示したN=4のDCTバタフライ線図に対し、入力信号x0~x3を1ステップ毎に符号反転させることで、DST係数S3,S1,S2,S0が生成される。つまり、図5に示すN=4のDSTバタフライ線図は、図3のDCTバタフライ線図と同じ矢印及び係数の線図において、入力信号がx0,-x1,x2,-x3となり、DST係数がS3,S1,S2,S0となる。後述するように、図5に示したN=4のDSTバタフライ線図が、図4に示したN=4のDSTバタフライ線図に変形される。図61は、入力信号を-xからxに変更する場合の、バタフライ線図の変形規則を示す図であり、図62は、出力信号を-yからyに変更する場合の、バタフライ線図の変形規則を示す図である。図61において、左側のバタフライ線図と右側のバタフライ線図とは等価である。入力点β1の入力信号が-x、入力点β1から分岐点β2への矢印における乗算の係数がa、入力点β1から分岐点β3への矢印における乗算の係数がbとすると、入力信号をxに変更した場合、入力点β1から分岐点β2への矢印における乗算の係数は-a、入力点β1から分岐点β3への矢印における乗算の係数は-bとなる。逆に、入力点β1の入力信号がx、入力点β1から分岐点β2への矢印における乗算の係数が-a、入力点β1から分岐点β3への矢印における乗算の係数が-bとすると、入力信号を-xに変更した場合、入力点β1から分岐点β2への矢印における乗算の係数はa、入力点β1から分岐点β3への矢印における乗算の係数はbとなる。また、図62において、左側のバタフライ線図と右側のバタフライ線図とは等価である。分岐点γ1から出力点γ3への矢印における乗算の係数がa、分岐点γ2から出力点γ3への矢印における乗算の係数がb、出力点γ3の出力信号が-yとすると、分岐点γ1から出力点γ3への矢印における乗算の係数を-a、分岐点γ2から出力点γ3への矢印における乗算の係数を-bに変更した場合、出力点γ3の出力信号はyとなる。逆に、分岐点γ1から出力点γ3への矢印における乗算の係数が-a、分岐点γ2から出力点γ3への矢印における乗算の係数が-b、出力点γ3の出力信号がyとすると、分岐点γ1から出力点γ3への矢印における乗算の係数をa、分岐点γ2から出力点γ3への矢印における乗算の係数をbに変更した場合、出力点γ3の出力信号は-yとなる。尚、β1を入力点としたが分岐点であってもよく、γ3を出力点としたが分岐点であってもよい。図71は、DCTから求めたN=4のDSTバタフライ線図であり、図5に示したDSTバタフライ線図と同じである。図72は、図71における入力信号の-x1,-x3をx1,x3に変更した場合の、N=4のDSTバタフライ線図である。図73は、出力信号のS3,S1,S2,S0をS0,S2,S1,S3の順番に変更した場合の、N=4のDSTバタフライ線図であり、図4に示したDSTバタフライ線図と同じである。図71から図72への変形及び図72から図3への変形は、図612の変形規則に基づいている。このように、図4に示したN=4のDSTバタフライ線図は、図3に示したN=4のDCTバタフライ線図に対して、入力信号x0~x3を1ステップ毎に符号反転させると共に、出力信号C0~C3を出力信号S3~S0の逆順にさせ、図612の変形規則に従って変形することにより、N=4のDCTバタフライ線図における段階的な積和演算のフローと同じ形態のフローになるように構成することができる。N=4のDCTDSTバタフライ線図次に、N=4のDCTDSTバタフライ線図について説明する。このDCTDSTバタフライ線図の演算は、入力信号x0~x3に対し、DCT及びDSTの積和演算における途中の演算結果を相互に利用し、DCT係数C0~C3及びDST係数S0~S3を生成する処理であり、図2に示した直交変換部3のDCTDST処理部31により行われる。ここで、前述したとおり、図3に示したN=4のDCTバタフライ線図と、図4に示したN=4のDSTバタフライ線図とを比較すると、同様の形態形状になっている。具体的には、矢印が入力点から分岐点へ、分岐点から出力点へ同じ方向に流れており、さらに、左側の4個の入力点と中央の4個の分岐点との間に存在する係数が同一である。つまり、DCTバタフライ演算及びDSTバタフライ演算は、同様の積和演算の形態をとることになり、例えば、4個の入力点と中央の4個の分岐点の間の積和演算は、同一となる。したがって、図3のDCTバタフライ演算及び図4のDSTバタフライ演算は、DCT及びDSTの直交変換を行う積和演算における途中の演算結果を相互に利用することで、実現することができるといえる。図3及び図4における個別の演算では、N点のDCT及びDSTは、いずれも{3Nlog2N-14}回の積和演算合計で2{3Nlog2N-14}回の積和演算により求めることができる。図8は、N=4のDCTDSTバタフライ線図である。このDCTDSTバタフライ線図は、図3に示したN=4のDCTバタフライ線図と、図4に示したN=4のDSTバタフライ線図とを結合したものであり、4個の入力点と中央左の4個の分岐点との間の積和演算が共通化されており図8のの箇所を参照、DCT用の演算及びDST用の演算を別々に行わなくても済むようになっている。図9は、図3に示したN=4のDCTバタフライ線図を実行するDCTプログラムの概要を示す図であり、図10は、図4に示したN=4のDSTバタフライ線図を実行するDSTプログラムの概要を示す図であり、図11は、図8に示したN=4のDCTDSTバタフライ線図を実行するDCTDSTプログラムの概要を示す図である。図9~図11におけるパラメータは図3、図4及び図8に対応しており、入力信号がx0~x3であり、DCT係数がC0~C3であり、DST係数がS0~S3であり、tmp1~tmp4は、図3及び図4において中央の4個の分岐点における積和演算結果であり、図8において中央左の分岐点における積和演算結果である。図11のDCTDSTプログラムは、図9のDCTプログラムと図10のDSTプログラムとを結合したものであり、入力信号x0~x3からtmp1~tmp4を求める積和演算式は共通化されており図9~図11の四角で囲った箇所を参照、DCT用の演算及びDST用の演算を別々に行わなくても済むようになっている。これは、図3、図4及び図8に示したバタフライ線図と同様である。したがって、図2に示した直交変換部3のDCTDST処理部31は、入力信号x0~x3を入力し、DCT及びDSTの直交変換を行う積和演算の際に、途中の演算結果tmp1~tmp4を相互に利用するバタフライ演算を行い、DCT係数C0~C3及びDST係数S0~S3を生成する。つまり、DCTDST処理部31は、入力信号x0~x3に対し段階的に積和演算を行い、DCT係数C0~C3及びDST係数S0~S3を生成する際に、第1段階では、入力信号x0~x3に対する積和演算を行い、第2段階では、第1段階の積和演算の結果を用いて積和演算を行い、第2段階の積和演算の結果であるDCT係数C0~C3及びDST係数S0~S3を生成する。この場合、第1段階の積和演算の結果が、DCT係数C0~C3及びDST係数S0~S3を生成するための共通の結果として用いられる。図3に示したN=4のDCTバタフライ線図及び図4に示したN=4のDSTバタフライ線図による個別演算では、合計の積和演算回数がそれぞれ32回である。これに対し、図8に示したN=4のDCTDSTバタフライ線図による共通化演算では、積和演算回数が24回である後述する図20を参照。このように、本発明の実施形態による直交変換部3のDCTDST処理部31によれば、N=4のDCT及びDSTを行う際に、8回=2Nの積和演算を減らすことができる。これは、入力信号x0~x3の積和演算結果tmp1~tmp4を、DCT及びDSTの双方の処理に用いるようにし、一部の処理を共通化して一方の処理を省略したからである。N=8のDCTDSTバタフライ線図次に、N=8のDCTDSTバタフライ線図について説明する。このDCTDSTバタフライ線図の演算は、入力信号x0~x7に対し、DCT及びDSTの積和演算における途中の演算結果を相互に利用し、DCT係数C0~C7及びDST係数S0~S7を生成する処理であり、図2に示した直交変換部3のDCTDST処理部31により行われる。ここで、N=8のDCTバタフライ線図は、非特許文献1に示したChenのバタフライ演算のアルゴリズムから得ることができる。そして、N=8のDSTバタフライ線図は、図3~図5及び図7に示したN=4の場合と同様に、N=8のDCTバタフライ線図に基づいて、入力信号x0~x7を1ステップ毎に符号反転させ、DCTを行って出力信号を生成し、出力信号の順番を逆にしてDST係数S0~S7を生成することにより、得ることができる。つまり、N=8のDSTバタフライ線図は、N=8のDCTバタフライ線図における段階的な積和演算のフローと同じ形態のフローになるように構成することができる。図12は、N=8のDCTDSTバタフライ線図である。このDCTDSTバタフライ線図は、N=8のDCTバタフライ線図と、N=8のDSTバタフライ線図とを結合したものであり、8個の入力点と中央左の8個の分岐点との間の積和演算が共通化されており図12のの箇所を参照、DCT用の演算及びDST用の演算を別々に行わなくても済むようになっている。具体的には、tmp1-1~tmp1-8を、図12において中央左の8個の分岐点1の箇所の分岐点におけるそれぞれの積和演算結果とすると、N=8のDCTDSTバタフライ線図すなわち、このDCTDSTバタフライ線図を実行するDCTDSTプログラムにおいて、入力信号x0~x7からtmp1-1~tmp1-8を求める積和演算式は共通化されている。また、tmp2-1~tmp2-16を、図12において中央右の16個の分岐点2の箇所の分岐点におけるそれぞれの積和演算結果とすると、途中の積和演算結果tmp2-1~tmp2-4,tmp2-13~tmp2-16は共通化されており、これらを求める積和演算式も共通化されている。したがって、図2に示した直交変換部3のDCTDST処理部31は、入力信号x0~x7を入力し、DCT及びDSTの直交変換を行う積和演算の際に、途中の演算結果tmp1-1~tmp1-8,tmp2-1~tmp2-4,tmp2-13~tmp2-16を相互に利用するバタフライ演算を行い、DCT係数C0~C7及びDST係数S0~S7を生成する。つまり、DCTDST処理部31は、入力信号x0~x7に対し段階的に積和演算を行い、DCT係数C0~C7及びDST係数S0~S7を生成する際に、第1段階では、入力信号x0~x7に対する積和演算を行い、第2段階では、第1段階の積和演算の結果を用いて次の積和演算を行い、第3段階では、第2段階の積和演算の結果を用いて次の積和演算を行い、第4段階では、第3段階の積和演算の結果を用いて次の積和演算を行い、第3段階における積和演算の結果の一部及び第4段階の積和演算の結果であるDCT係数C0~C7及びDST係数S0~S7を生成する。この場合、第1段階の積和演算の結果tmp1-1~tmp1-8、及び第2段階の積和演算の結果の一部tmp2-1~tmp2-4,tmp2-13~tmp2-16が、DCT係数C0~C3及びDST係数S0~S3を生成するための共通の結果として用いられる。N=8のDCTバタフライ線図及びN=8のDSTバタフライ線図による個別演算では、合計の積和演算回数が104回である。これに対し、図12に示したN=8のDCTDSTバタフライ線図による共通化演算では、積和演算回数が80回である後述する図20を参照。このように、本発明の実施形態による直交変換部3のDCTDST処理部31によれば、N=8のDCT及びDSTを行う際に、24回>2Nの積和演算を減らすことができる。これは、入力信号x0~x7の積和演算結果tmp1-1~tmp1-8を、DCT及びDSTの双方の処理に用いるようにし、また、途中の積和演算結果tmp2-1~tmp2-4,tmp2-13~tmp2-16も双方の処理に用いるようにし、処理の一部を共通化して一方の処理を省略したからである。N=16,32のDCTDSTバタフライ線図次に、N=16,32のDCTDSTバタフライ線図について、それを実行するプログラムを挙げて説明する。N=16,32のDCTDSTバタフライ線図の演算も、前述したN=4,8の場合と同様に、入力信号に対し、DCT及びDSTの積和演算における途中の演算結果を相互に利用し、DCT係数及びDST係数を生成する処理であり、図2に示した直交変換部3のDCTDST処理部31により行われる。ここで、N=16,32のDCTバタフライ線図は、非特許文献1に示したChenのバタフライ演算のアルゴリズムから得ることができる。そして、N=16,32のDSTバタフライ線図は、図3~図5及び図7に示したN=4の場合と同様に、N=16,32のDCTバタフライ線図に基づいて、入力信号を1ステップ毎に符号反転させ、DCTを行って出力信号を生成し、出力信号の順番を逆にしてDST係数を生成することにより、得ることができる。つまり、N=16,32のDSTバタフライ線図は、N=16,32のDCTバタフライ線図における段階的な積和演算のフローと同じ形態のフローになるように構成することができる。図13は、N=16のDCTDSTバタフライ線図を実行するDCTDSTプログラムの概要を示す図であり、図14は、図13のDCTDSTプログラムの続きを示す図である。図13及び図14に示すN=16のDCTDSTプログラムから、N=16のDCTDSTバタフライ線図を得ることができる。図13及び図14において、入力信号がx0~x15であり、DCT係数がDCT0~DCT15であり、DST係数がDST0~DST15であり、B,C,H,D,E,F,I,J,Kが、入力信号x0~x15の入力点と出力信号であるDCT0~DCT15及びDST0~DST15の出力点との間に位置する分岐点における積和演算結果である。このDCTDSTプログラムは、N=16のDCTバタフライ線図を実行するDCTプログラムと、N=16のDSTバタフライ線図を実行するDSTプログラムとを結合したものであり、入力信号x0~x15からB0~B15を求める第1段階の積和演算式等図13の四角で囲った箇所を参照が共通化されており、DCT用の演算及びDST用の演算を別々に行わなくても済むようになっている。これは、図9に示したN=4のDCTプログラム、図10に示したN=4のDSTプログラム及び図11に示したN=4のDCTDSTプログラムと同様である。したがって、図2に示した直交変換部3のDCTDST処理部31は、入力信号x0~x15を入力し、DCT及びDSTの直交変換を行う積和演算の際に、途中の演算結果B0~B15等を相互に利用するバタフライ演算を行い、DCT係数であるDCT0~DCT15及びDST係数であるDST0~DST15を生成する。図15は、N=32のDCTDSTバタフライ線図を実行するDCTDSTプログラムの概要を示す図であり、図16~図19は、それぞれ図15~図18のDCTDSTプログラムの続きを示す図である。図15~図19に示すN=32のDCTDSTプログラムから、N=32のDCTDSTバタフライ線図を得ることができる。このDCTDSTプログラムにおいて、入力信号がx0~x31であり、DCT係数がDCT0~DCT31であり、DST係数がDST0~DST31であり、A,B,I,C,J,D,K,E,L,F,M,G,Nが、入力信号x0~x31の入力点と出力信号であるDCT0~DCT31及びDST0~DST31の出力点との間に位置する分岐点における積和演算結果である。このDCTDSTプログラムは、N=32のDCTバタフライ線図を実行するDCTプログラムと、N=32のDSTバタフライ線図を実行するDSTプログラムとを結合したものであり、入力信号x0~x31からA0~A31を求める第1段階の積和演算式等図15及び図16の四角で囲った箇所を参照が共通化されており、DCT用の演算及びDST用の演算を別々に行わなくても済むようになっている。これは、図9~図11に示したN=4のDCTDSTプログラム、並びに図13及び図14に示したN=16のDCTDSTプログラムと同様である。したがって、図2に示した直交変換部3のDCTDST処理部31は、入力信号x0~x31を入力し、DCT及びDSTの直交変換を行う積和演算の際に、途中の演算結果A0~A31等を相互に利用するバタフライ演算を行い、DCT係数であるDCT0~DCT31及びDST係数であるDST0~DST31を生成する。N=16のDCTバタフライ演算及びN=16のDSTバタフライ演算の個別演算による合計の積和演算回数は296回である。これに対し、図13及び図14に示したN=16のDCTDSTプログラムDCTDSTバタフライ演算の共通化演算による積和演算回数は256回である。また、N=32のDCTバタフライ演算及びN=32のDSTバタフライ演算の個別演算による合計の積和演算回数は776回である。これに対し、図15~図19に示したN=32のDCTDSTプログラムDCTDSTバタフライ演算の共通化演算による積和演算回数は680回である後述する図20を参照。このように、本発明の実施形態による直交変換部3のDCTDST処理部31によれば、N=16,32のDCT及びDSTを行う際に、40,96回>2Nの積和演算を減らすことができる。これは、入力信号の積和演算結果を、DCT及びDSTの双方の処理に用いるようにし、また、途中の積和演算結果も双方の処理に用いるようにし、処理の一部を共通化して一方の処理を省略したからである。実験結果次に、DCT及びDSTの個別演算を行う場合と、本発明の実施形態による直交変換部3のDCTDST処理部31により共通化演算を行う場合との間の性能を比較するための実験結果について説明する。図20は、個別演算を行う場合及び本発明の実施形態による直交変換部3のDCTDST処理部31により共通化演算を行う場合のシミュレーション結果を示す図である。図20から、N=4,8,16,32における個別演算の場合の積和演算数及び本発明の実施形態による共通化演算の場合の積和演算数は、本発明の実施形態による共通化演算の方が少なくなっており、個別演算における積和演算数を1としたときの割合を示す回数比及び時間比処理時間比が100よりも小さくなっていることがわかる。つまり、本発明の実施形態による直交変換部3のDCTDST処理部31によれば、N点のDCT及びDSTを行う際に、2{3Nlog2N-14-N}回以下の積和演算により、DCT係数及びDST係数を求めることができ、個別演算を行う場合に比べて、積和演算の数を減らすことができる。以上のように、本発明の実施形態による直交変換部3によれば、DCTDST処理部31が、DCT及びDSTの直交変換処理を行う際に、DCT及びDSTの個別演算における一部の処理を共有化するようにした。これにより、個別演算を行う場合よりも積和演算回数を2N回以上減らすことができる。したがって、DCT及びDSTの処理を、個別演算を行う場合よりも少ない演算回数で同時に行うことができ、回路規模、演算時間及び消費電力を削減することができる。2次元の信号以上、1次元の信号に対するDCTDSTの直交変換について説明したが、画像等の2次元の信号に対してDCTDSTの直交変換を行う場合も、同様の手法を用いることができる。具体的には、直交変換部3のDCTDST処理部31は、水平方向の入力信号に対して1次元のDCTDSTの直交変換を行い、その後、垂直方向の入力信号に対して1次元のDCTDSTの直交変換を行う。このように、本発明の実施形態による直交変換部3のDCTDST処理部31による手法を、1次元の信号を処理する場合と同様に、2次元の信号を処理する場合に適用し、水平方向及び垂直方向に対して1次元のDCTDSTの直交変換を行うようにした。これにより、水平方向の1次元の信号に対するDCTDSTの直交変換、及び、垂直方向の1次元の信号に対するDCTDSTの直交変換について、合計4種類の2次元直交変換処理を、個別演算を行う場合よりも少ない演算回数で行うことができ、回路規模、演算時間及び消費電力を削減することができる。尚、本発明の実施形態による直交変換部3である直交変換処理装置のハードウェア構成としては、通常のコンピュータを使用することができる。この直交変換処理装置は、CPU、RAM等の揮発性の記憶媒体、ROM等の不揮発性の記憶媒体、及びインターフェース等を備えたコンピュータによって構成される。直交変換処理装置に備えたDCTDST処理部31、DCT量子化処理部32-1、DST量子化処理部32-2及び選択部33の各機能は、これらの機能を記述したプログラムをCPUに実行させることによりそれぞれ実現される。また、これらのプログラムは、磁気ディスクフロッピー登録商標ディスク、ハードディスク等、光ディスクCD-ROM、DVD等、半導体メモリ等の記憶媒体に格納して頒布することもできる。以上、実施形態を挙げて本発明を説明したが、本発明は前記実施形態に限定されるものではなく、その技術思想を逸脱しない範囲で種々変形可能である。例えば、前記実施形態では、本発明の実施形態による直交変換処理装置直交変換部を含む符号化装置11について説明したが、符号化装置11は一例である。本発明は、符号化装置11に適用されるだけでなく、他の装置にも適用がある。要するに、DCT及びDSTの処理を行う装置であればよい。また、前記実施形態では、入力信号の数をN=4,8,16,32として説明したが、これらは例示であり、入力信号の数は、これらよりも大きい数N=64,128等であってもよい。また、前記実施形態では、DCTDSTバタフライ線図及びDCTDSTプログラムについて、N=4,8,16,32の場合を挙げて説明したが、これらは例示であり、本発明はこれらの例示に限定されることはなく、例えば、乗算の係数として異なる係数を用いるようにしてもよいし、異なるフローを用いるようにしてもよい。"