(57)【特許請求の範囲】
【請求項１】
乗算器及び加算器を有し、入力データと設定された係数との積を求めかつその積に該入力データに対応したデータを加算して積和演算を実施するＮ（Ｎは正の整数）個の演算回路を備え、２次元のマトリックスで構成されたＮ以下の任意個数の２次元ブロックデータに対して離散コサイン変換を行う離散コサイン変換装置において、
前記各２次元ブロックデータ中の所定ラインのデータまたは帰還されたデータを選択して前記各演算回路へそれぞれ伝達する複数の入力セレクタと、前記各演算回路の演算結果のデータを格納すると共に該格納データを前記入力セレクタにそれぞれ帰還する複数の入出力メモリとを設け、
前記離散コサイン変換過程中の１次離散コサイン変換処理時には、前記各演算回路を並列接続し、該演算回路の演算結果を前記各入出力メモリに格納し、
前記離散コサイン変換過程中の２次離散コサイン変換処理時には、前記各演算回路を縦続接続し、前記各入出力メモリに格納された該演算回路の演算結果と前段の演算回路の演算結果を選択して前記積と加算し、該加算結果を順次次段の演算回路へ送り、最終段の演算回路から前記２次元ブロックデータに対応した離散コサイン変換結果を出力する構成にしたことを特徴とする離散コサイン変換装置。
【請求項２】
乗算器及び加算器を有し、入力データと設定された係数との積を求めかつその積に該入力データに対応したデータを加算して積和演算を実施するＮ（Ｎは正の整数）個の演算回路を備え、２次元のマトリックスで構成されたＮ以下の任意個数の２次元ブロックデータに対して逆離散コサイン変換を行う逆離散コサイン変換装置において、  前記各２次元ブロックデータ中の所定ラインのデータまたは帰還されたデータを選択して前記各演算回路へそれぞれ伝達する複数の入力セレクタと、前記各演算回路の演算結果のデータを格納すると共に該格納データを前記入力セレクタにそれぞれ帰還する複数の入出力メモリとを設け、
前記逆離散コサイン変換過程中の１次逆離散コサイン変換処理時には、前記各演算回路を並列接続し、該演算回路の演算結果を前記各入出力メモリに格納し、
前記逆離散コサイン変換過程中の２次逆離散コサイン変換処理時には、前記各演算回路を縦続接続し、前記各入出力メモリに格納された該演算回路の演算結果と前段の演算回路の演算結果を選択して前記積と加算し、該加算結果を順次次段の演算回路へ送り、最終段の演算回路から前記逆離散コサイン変換結果を出力する構成にしたことを特徴とする逆離散コサイン変換装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、画像処理における符号化装置等に広く用いられ、入力データに対して直交変換の一種である離散コサイン変換（以下、ＤＣＴという。）または逆離散コサイン変換（以下、ＩＤＣＴという。）を実施する装置に関するものである。
【０００２】
【従来の技術】
従来、このような分野の技術としては、例えば、次のような文献に記載されるものがあった。
文献１；特開平４−３１３１５７号公報
文献２；“テレビジョン画像情報工学データブック”オーム社、p.22,96
文献３；テレビジョン学会誌、４７［２］（1993）、大藤健著、“ＤＳＰ             の技術動向”p.168-175
ＤＣＴ及びＩＤＣＴは、画像処理、特に符号化の分野で広く用いられている。例えば、通常の画像処理において、画像が局所的な２次元の画素マトリックスを有するブロックに分割され、該ブロックごとに画像処理が実行される。ＤＣＴ及びＩＤＣＴについても、同様に、分割された２次元ブロックに対して実施される。即ち、大きさＬ（Ｌ×Ｌ画素）のブロックに対して次の（１）式のＤＣＴと（２）式のＩＤＣＴが実行される。
【０００３】
【数１】
0003652380.tif 000002
以降、大きさＬを８としてＤＣＴ及びＩＤＣＴ処理について説明する。大きさＬが８のとき、（１）式は（３）式となり、（３）式は、（４）および（５）式と分けることができる。
【０００４】
【数２】
0003652380.tif 000003
即ち、（４）式の後（５）式を実施することによりＤＣＴ演算を行うことができる。（４）式を１次ＤＣＴ、（５）式を２次ＤＣＴと称する。
一方、ＩＤＣＴは、（２）式から、（６）及び（７）式となり、（６）式の後（７）式を実施することによりＩＤＣＴ演算を行うことができる。（６）式を１次ＩＤＣＴ、（７）式を２次ＩＤＣＴと称する。
【０００５】
【数３】
0003652380.tif 000004
従来のＤＣＴ及びＩＤＣＴの変換装置としては、文献１に開示された方法があり、（４）〜（７）式の乗算回数を１／２にしてＤＣＴ処理前段に前処理、ＩＤＣＴ後段に後処理を行う方法が示されている。この場合は、ＤＣＴ及びＩＤＣＴのための専用回路を構成している。一方、専用回路でなく汎用性を有する回路で実現しようとした場合、文献３に示されているように、ＤＳＰ（Digital Signal Processor）に用いられている積和演算回路を並列に動作させる方法が考えられる。
【０００６】
図２は、従来例のＤＣＴ及びＩＤＣＴ装置の構成ブロック図であり、並列の複数の積和演算回路を有し、汎用性を有した回路で入力データに対してＤＣＴ及びＩＤＣＴ演算を実施する。
図２の装置は、８×８画素の２次元マトリックスで構成されたブロックに対し、ＤＣＴまたはＩＤＣＴ演算を実施する８個の並列の演算部Ａ0 〜Ａ7 で構成され、１個の８×８画素のブロックの８成分に対して演算を同時に実施する装置である。各演算部Ａ0 〜Ａ7 は、各成分毎のブロック内の画素データが予め格納されている８個の入力メモリ１０〜１７と、各入力メモリ１０〜１７の出力側にそれぞれ接続されて入力を切り替える８個の入力セレクタ２０〜２７と、内蔵した乗算器及び加算器を用いて各入力セレクタ２０〜２７で選択されたデータに対してそれぞれ積和演算をする８個の積和演算回路３０〜３７と、積和演算回路３０〜３７の演算結果をそれぞれ格納する８個の入出力メモリ４０〜４７とを、備えている。各入出力メモリ４０〜４７の出力データは、入力セレクタ２０〜２７にそれぞれ入力され、各入力セレクタ２０〜２７は、その入出力メモリ４０〜４７の出力データと入力メモリ１０〜１７からのデータをそれぞれ選択する。また、各積和演算回路３０〜３７には、図示しない内蔵乗算器の一方の入力となる係数を格納するメモリを有している。
【０００７】
次に、図２の変換装置の動作を説明する。
各入力メモリ１０〜１７の出力データを、入力セレクタ２０〜２７を介して積和演算回路３０〜３７へそれぞれ入力するモードとすることにより、（４）式が実行される。８×８画素ブロック分の１次ＤＣＴが終了の後、各入出力メモリ４０〜４７からの出力データを、入力セレクタ２０〜２７を介して積和演算回路３０〜３７へそれぞれ入力するモードとすることにより、（５）式が実行される。以上の動作を経ることにより、８個の８×８画素ブロックのデータが、同時にＤＣＴ処理される。
ＩＤＣＴにおいては、８×８画素のＤＣＴデータを予め各入出力メモリ４０〜４７に格納した後、（６）及び（７）式が実行される。
汎用的な変換装置を用いる利点は、その変換装置を他の画像処理演算、例えばフィルタ処理等に使用することができる点にある。即ち、変換装置を複数動作させることにより、画像処理装置としての総合性能を向上することができる点が利点であった。
【０００８】
【発明が解決しようとする課題】
しかしながら、従来のＤＣＴまたはＩＤＣＴの変換装置おいては、次のような課題があった。
図２のように、演算部Ａ0 〜Ａ7 を並列した変換装置では、全ての演算部Ａ0 〜Ａ7にデータを供給していない場合、演算部Ａ0 〜Ａ7中の積和演算回路３０〜３７の動作効率が低下し、無駄が発生する。
文献２は、画像符号化等で扱うカラー画像のフォーマットが２種類あることを示している。画像の輝度成分においては、画像が１６×１６画素のマクロブロックと呼ばれる単位に分割され、その画像処理はマクロブロック単位に実施される。マクロブロック単位中には、８×８画素のブロックが４個存在し、輝度成分に対しては、図２中の演算部が４個使用される。その４個の演算部で使用される輝度成分をそれぞれ成分Ｙ0 ，Ｙ1 ，Ｙ2 ，Ｙ3 と称する。
一方、画像の色成分は２種類の色差成分Ｃｂ，Ｃｒで構成されている。色差成分Ｃｂ，Ｃｒの両成分とも水平方向画素数は、輝度成分の１／２である。しかし、色差成分Ｃｂ，Ｃｒの両成分の垂直方向の画素数は、輝度成分と等しい場合と輝度成分の１／２である場合の２通りある。前者の場合を４；２；２フォーマット、後者の場合を４；２；０フォーマットという。即ち、画像処理において、４；２；２フォーマットは、Ｙ0 ，Ｙ1 ，Ｙ2 ，Ｙ3 ，Ｃｂ0 ，Ｃｒ0 ，Ｃｂ1 ，Ｃｒ1 の８ブロックのデータ処理、４；２；０フォーマットでは、Ｙ0 ，Ｙ1 ，Ｙ2 ，Ｙ3 ，Ｃｂ，Ｃｒの６ブロックのデータ処理で構成される。
【０００９】
図２の従来例では、演算回路３０〜３７が８個使用されているので、４；２；２フォーマットの処理を実施するには、都合がよい。しかしながら、４；２；０フォーマットの場合には、図２の従来例の変換装置は、２ブロック分の演算回路が動作しないことになる。このことは、変換装置の動作効率が低下したことを示している。動作効率の低下を避けるために、複数のマクロブロック分のデータを同時に処理しようとすると、ＤＣＴまたはＩＤＣＴ以外の処理と同期をとる制御が複雑になるという問題があった。
演算部を６個とすると４；２；０フォーマットの画像には適するが、４；２；２フォーマットの画像には、適さなかった。また、文献１に開示されている回路構成によれば、マクロブロック内に存在するブロック数に関わらずＤＣＴまたはＩＤＣＴの演算が行われるが、専用回路であるため他の演算回路を必要とし、画像処理装置全体のハード量が増加していた。
本発明は前記従来技術が持っていた課題として、汎用的な回路構成でＤＣＴまたはＩＤＣＴ回路を構成すると演算回路に無駄が生じる点について解決をしたＤＣＴ及びＩＤＣＴ装置を提供するものである。
【００１０】
【課題を解決するための手段】
第１の発明は、前記課題を解決するために、乗算器及び加算器を有し、入力データと設定された係数との積を求めかつその積に該入力データに対応したデータを加算して積和演算を実施するＮ（Ｎは正の整数）個の演算回路を備え、２次元のマトリックスで構成されたＮ以下の任意個数の２次元ブロックデータに対してＤＣＴを行うＤＣＴ装置において、次のような手段を講じている。
即ち、第１の発明のＤＣＴ装置は、前記各２次元ブロックデータ中の所定ラインのデータまたは帰還されたデータを選択して前記各演算回路へそれぞれ伝達する複数の入力セレクタと、前記各演算回路の演算結果のデータを格納すると共に該格納データを前記入力セレクタにそれぞれ帰還する複数の入出力メモリとを設けている。そして、前記ＤＣＴ過程中の１次ＤＣＴ処理時には、前記各演算回路を並列接続し、該演算回路の演算結果を前記各入出力メモリに格納し、前記ＤＣＴ過程中の２次ＤＣＴ処理時には、前記各演算回路を縦続接続し、前記各入出力メモリに格納された該演算回路の演算結果と前段の演算回路の演算結果を選択して前記積と加算し、該加算結果を順次次段の演算回路へ送り、最終段の演算回路から前記２次元ブロックデータに対応したＤＣＴ結果を出力する構成にしている。
【００１１】
第２の発明は、乗算器及び加算器を有し、入力データと設定された係数との積を求めかつその積に該入力データに対応したデータを加算して積和演算を実施するＮ（Ｎは正の整数）個の演算回路を備え、２次元のマトリックスで構成されたＮ以下の任意個数の２次元ブロックデータに対してＩＤＣＴを行うＩＤＣＴ装置において、次のような手段を講じている。
即ち、第２の発明のＩＤＣＴ装置は、前記各２次元ブロックデータ中の所定ラインのデータまたは帰還されたデータを選択して前記各演算回路へそれぞれ伝達する複数の入力セレクタと、前記各演算回路の演算結果のデータを格納すると共に該格納データを前記入力セレクタにそれぞれ帰還する複数の入出力メモリとを設けている。そして、前記ＩＤＣＴ過程中の１次ＩＤＣＴ処理時には、前記各演算回路を並列接続し、該演算回路の演算結果を前記各入出力メモリに格納し、前記ＩＤＣＴ過程中の２次ＩＤＣＴ処理時には、前記各演算回路を縦続接続し、前記各入出力メモリに格納された該演算回路の演算結果と前段の演算回路の演算結果を選択して前記積と加算し、該加算結果を順次次段の演算回路へ送り、最終段の演算回路から前記ＩＤＣＴ結果を出力する構成にしている。
【００１２】
【作用】
第１の発明によれば、以上のようにＤＣＴ装置を構成したので、１次ＤＣＴのとき、入力セレクタは、各２次元ブロックデータ中の所定ラインのデータを選択し、該所定ラインのデータが、各演算回路へそれぞれ伝達される。各演算回路は、所定の係数とその伝達されたデータに対して積和演算をそれぞれ実施する。積和演算の結果が、１次ＤＣＴの演算結果として入出力メモリに格納される。２次ＤＣＴのとき、各演算回路が縦続接続され、各演算回路は、１つのパイプラインとして動作する。２次ＤＣＴのとき、各入力セレクタは、１次ＤＣＴの演算結果を格納した入出力メモリの出力を順次選択して各演算回路へそれぞれ伝達する。各演算回路は、伝達されたデータに対して設定された係数を乗算し、さらに前段の演算回路の演算結果と加算する。即ち、積和演算の結果が順次次段の演算回路に送られ、最終段の演算回路の演算結果が、求めるＤＣＴの演算結果となる。
第２の発明によれば、１次ＩＤＣＴのとき、入力セレクタは、各２次元ブロックデータ中の所定ラインのデータを選択し、該所定ラインのデータが、各演算回路へそれぞれ伝達される。各演算回路は、所定の係数とその伝達されたデータに対して積和演算をそれぞれ実施する。積和演算の結果が、１次ＩＤＣＴの演算結果として入出力メモリに格納される。２次ＩＤＣＴのとき、各演算回路が縦続接続され、各演算回路は、１つのパイプラインとして動作する。２次ＩＤＣＴのとき、各入力セレクタは、１次ＩＤＣＴの演算結果を格納した入出力メモリの出力を順次選択して各演算回路へそれぞれ伝達する。各演算回路は、伝達されたデータに対して設定された係数を乗算し、さらに前段の演算回路の演算結果と加算する。即ち、積和演算の結果が順次次段の演算回路に送られ、最終段の演算回路の演算結果が、求めるＩＤＣＴの演算結果となる。従って、前記課題を解決できるのである。
【００１３】
【実施例】
図１は、本発明の実施例のＤＣＴ及びＩＤＣＴ装置を示す構成ブロック図である。
このＤＣＴ及びＩＤＣＴ装置は、画像における分割された局所的な２次元の８×８画素マトリックスのブロックに対し、ＤＣＴまたはＩＤＣＴ演算を実施する画像処理用の装置である。図１のＤＣＴ及びＩＤＣＴ装置は、積和演算を行う８個の演算回路５０〜５７と、各演算回路５０〜５７の演算結果のデータＤｏを格納するとともに格納されたデータを帰還データとしてそれぞれ出力する入出力メモリ６０〜６７と、ＤＣＴ実行時にマクロブロックの画像データが格納され、ＩＤＣＴ実行時にはマクロブロックの２次元周波数スペクトルデータが格納される８個の入力メモリ７０〜７７と、各入力メモリ７０〜７７からのデータまたは入出力メモリ６０〜６７からの帰還データとをそれぞれ選択して演算回路５０〜５７へ伝達する入力セレクタ８０〜８７とを、備えている。
２次ＤＣＴまたは２次ＩＤＣＴの実行中、各演算回路５０〜５７は縦続接続され、各演算回路５０〜５６の出力データＤｏは、次段の演算回路５１〜５７の入力データＤ-oとされる。最終段の演算回路５７の出力データＤｏがＤＣＴまたはＩＤＣＴの結果として出力される。
【００１４】
図３は、図１中の各演算回路を示す構成ブロック図である。
図３に示された各演算回路５０〜５７は、（４）〜（７）式で使用する定数が格納された定数ＲＡＭ５０1 と、その定数ＲＡＭ５０1 に格納されたデータと各入力セレクタ８０〜８７から伝達された入力データＤｉｎとの積を求める乗算器５０2 と、乗算器５０2 の出力データが２入力の内の一方に入力される加算器５０3 をそれぞれ有している。また、各演算回路５０〜５７は、加算器５０3 の演算結果を保持すると共に出力データＤｏを出力するレジスタ５０4 と、レジスタ５０4 にから帰還されたデータＤｒと前段の演算回路からの入力データＤ-oを選択して加算器５０3 の他方の入力端子に入力するセレクタ５０5 をそれぞれ有している。
図４は、ＤＣＴ演算における入力メモリと入出力メモリの格納データを示す図である。図４中の（Ａ）には、入力メモリ７０〜７７の構成が示され、（Ｂ）には、１次ＤＣＴ終了時の入出力メモリ６０〜６７の構成が示されている。４；２；０フォーマットのＤＣＴ演算において入力メモリ７０〜７７には、２次元ブロック中の所定ラインの画像成分Ｙ0 ，Ｙ1 ，Ｙ2 ，Ｙ3 ，Ｃｂ，Ｃｒのデータが格納されている。即ち、入力メモリ７０は、例えば画素マトリックスのライン画素Ｘ（０，０）〜Ｘ（７，０）のＹ0 ，Ｙ1 ，Ｙ2 ，Ｙ3 ，Ｃｂ，Ｃｒ成分を格納し、入力メモリ７１は、ライン画素Ｘ（０，１）〜Ｘ（７，１）のＹ0 ，Ｙ1 ，Ｙ2 ，Ｙ3 ，Ｃｂ，Ｃｒ成分を格納している。以下同様に、各入力メモリ７２〜７７はライン毎のＹ0 ，Ｙ1 ，Ｙ2 ，Ｙ3 ，Ｃｂ，Ｃｒ成分をそれぞれ格納している。
また、４；２；０フォーマットのＤＣＴ演算において各入出力メモリ６０〜６７には、１次ＤＣＴの演算結果のデータがライン毎にそれぞれ格納され、その後該格納データが、２次ＤＣＴの入力データＤｉｎとして読出される。２次ＤＣＴ終了後、最終段の入出力メモリ６７には、ＤＣＴの出力データが格納される。
【００１５】
図５は、１次ＤＣＴの処理手順を示すタイムチャートであり、図６は、２次ＤＣＴの処理手順を示すタイムチャートである。図４〜図６を参照しつつ、図１の装置のＤＣＴ動作を説明する。
まず、１次ＤＣＴ演算のとき、各入力セレクタ８０〜８７は、入力メモリ７０〜７７を選択して演算回路５０〜５７へそれぞれ伝達する。各演算回路５０〜５７中のセレクタ５０5 は、該セレクタ５０5 の所属するレジスタ５０4 の出力データＤｒを加算器５０3 へ出力し、セレクタ５０5 、レジスタ５０4 及び加算器５０3 は、累積加算器を構成する。画像データＸ（ｘ，ｙ）及び定数Ｃ（ｘ，ｕ）の入力順序は図５のようになり、第８サイクルでＹ0 成分のＹ（０，０），Ｙ（０，１），…，Ｙ（０，７）が各演算回路５０〜５７からそれぞれ出力され、以後、
第１６サイクルでＹ0 成分Ｙ（１，０），Ｙ（１，１），…，Ｙ（１，７）
第２４サイクルでＹ0 成分Ｙ（２，０），Ｙ（２，１），…，Ｙ（２，７）
…………………
第６４サイクルでＹ0 成分Ｙ（７，０），Ｙ（７，１），…，Ｙ（７，７）
第７２サイクルでＹ1 成分Ｙ（０，０），Ｙ（０，１），…，Ｙ（０，７）
…………………
第３８４サイクルでＣｒ成分Ｙ（７，０），Ｙ（７，１），…，Ｙ（７，７）が出力されて１次ＤＣＴが終了する。
１次ＤＣＴの出力データは、データの出力順に図４の（Ｂ）のように入出力メモリ６０〜６７にそれぞれ格納される。
【００１６】
次に２次ＤＣＴ演算のとき、各入力セレクタ８０〜８７は、入出力メモリ６０〜６７を選択して演算回路５０〜５７へそれぞれ伝達する。各演算回路５１〜５７中のセレクタ５０5 は、前段の演算回路の出力データＤ-oを選択して加算器５０3 へ出力する。即ち、８個の演算回路５０〜５７全体が８段パイプラインで動作し、２次ＤＣＴ演算結果が、全て演算回路５７から順次出力される。図６の手順で各演算回路５０〜５７へ入出力メモリ６０〜６７のデータを入力すると、第８サイクル以降、ＤＣＴの結果がＦ（０，０），Ｆ（１，０）…の順で、
第８サイクル〜第７１サイクルでＹ0 成分出力
第７２サイクル〜第１３５サイクルでＹ1 成分出力
第１３６サイクル〜第１９９サイクルでＹ2 成分出力
第２００サイクル〜第２６３サイクルでＹ3 成分出力
第２６４サイクル〜第３２７サイクルでＣｂ成分出力
第３２８サイクル〜第３９１サイクルでＣｒ成分出力
が演算回路５７から毎サイクル出力される。
図７は、ＩＤＣＴ演算における入力メモリと入出力メモリの格納データを示す図である。図７中の（Ａ）には、入力メモリ７０〜７７の構成が示され、（Ｂ）には、１次ＩＤＣＴＴ終了時の入出力メモリ６０〜６７の構成が示されている。４；２；０フォーマットのＩＤＣＴ演算において入力メモリ７０〜７７には、２次元ブロック中の所定ラインの画像データＦ（ｕ，ｖ）の成分Ｙ0 ，Ｙ1 ，Ｙ2 ，Ｙ3 ，Ｃｂ，Ｃｒのデータが格納されている。例えば、入力メモリ７０には、第０ラインのデータＦ（０，０）〜Ｆ（７，０）が格納され、入力メモリ７１には、第１ラインのデータＦ（０，１）〜Ｆ（７，１）が格納されいる。以下同様に、各入力メモリ７２〜７７には、ライン毎のＹ0 ，Ｙ1 ，Ｙ2 ，Ｙ3 ，Ｃｂ，Ｃｒ成分に対応したデータがそれぞれ格納される。
【００１７】
図８は、１次ＩＤＣＴの処理手順を示すタイムチャートであり、図９は、２次ＩＤＣＴの処理手順を示すタイムチャートである。図７〜図９を参照しつつ、図１の装置のＩＤＣＴ動作を説明する。
１次ＩＤＣＴ演算のとき、各入力セレクタ８０〜８７は、入力メモリ７０〜７７を選択して演算回路５０〜５７へそれぞれ伝達する。各演算回路５０〜５７中のセレクタ５０5 は、該セレクタ５０5 の所属するレジスタ５０4 の出力データＤｒを加算器５０3 へ選択出力する。データＦ（ｕ，ｖ）及び定数Ｃ（ｙ，ｖ）の入力順序は図８のようになり、第８サイクルでＹ0 成分のＹ（０，０），Ｙ（１，０），…，Ｙ（７，０）が各演算回路５０〜５７からそれぞれ出力され、以後、
第１６サイクルでＹ0 成分Ｙ（０，１），Ｙ（１，１），…，Ｙ（７，１）
第２４サイクルでＹ0 成分Ｙ（０，２），Ｙ（１，２），…，Ｙ（７，２）
…………………
第６４サイクルでＹ0 成分Ｙ（０，７），Ｙ（１，７），…，Ｙ（７，７）
第７２サイクルでＹ1 成分Ｙ（０，０），Ｙ（１，０），…，Ｙ（７，０）
…………………
第３８４サイクルでＣｒ成分Ｙ（０，７），Ｙ（１，７），…，Ｙ（７，７）が出力されて１次ＩＤＣＴが終了する。
【００１８】
１次ＩＤＣＴの出力データは、データの出力順に図７の（Ｂ）のように入出力メモリ６０〜６７にそれぞれ格納される。
次に２次ＩＤＣＴ演算のとき、各入力セレクタ８０〜８７は、入出力メモリ６０〜６７を選択して演算回路５０〜５７へそれぞれ伝達する。各演算回路５１〜５７中のセレクタ５０5 は、前段の演算回路の出力データＤ-oを選択して加算器５０3 へ出力する。即ち、８個の演算回路５０〜５７全体が８段パイプラインで動作し、２次ＩＤＣＴ演算結果が全て演算回路５７から順次出力される。図９の手順で各演算回路５０〜５７へ入出力メモリ６０〜６７のデータを入力すると、第８サイクル以降、ＩＤＣＴの結果がＸ（０，０），Ｘ（１，０）…の順で、
第８サイクル〜第７１サイクルでＹ0 成分出力
第７２サイクル〜第１３５サイクルでＹ1 成分出力
第１３６サイクル〜第１９９サイクルでＹ2 成分出力
第２００サイクル〜第２６３サイクルでＹ3 成分出力
第２６４サイクル〜第３２７サイクルでＣｂ成分出力
第３２８サイクル〜第３９１サイクルでＣｒ成分出力
が演算回路５７から毎サイクル出力される。
【００１９】
以上のように、本実施例では、各演算回路５０〜５７への入力データを画素ライン単位とすることにより、４；２；０フォーマットの画像処理時に演算回路の動作効率の低下を招くこと無くＤＣＴまたはＩＤＣＴを行うことができる。また、４；２；２フォーマットの画像処理に対しても全く同じ方法で処理することが可能であり、１ブロックから８ブロックまでのいずれの大きさのデータに対しても同一の処理でＤＣＴまたはＩＤＣＴを実行できる。
なお、本発明は、上記実施例に限定されず種々の変形が可能である。その変形例としては、例えば入力メモリと入出力メモリを別に設けず、入出力メモリ６０〜６７に予め入力データを図４の（Ａ）及び図７の（Ａ）のように格納することも可能である。また、（１）及び（２）式で２次元ブロックの大きさＬを８としたが、他の値の場合も、入力メモリと入出力メモリの大きさを変えることで対応が可能となる。
【００２０】
【発明の効果】
以上詳細に説明したように、第１の発明によれば、各演算回路への入力データを２次元ブロックデータ中の所定ラインとし、さらに、各演算回路を１次ＤＣＴの演算時に並列状態で使用し、２次ＤＣＴ演算時に縦続接続の状態で使用する構成である。そのため、２次元ブロックの数が少ないデータのＤＣＴに対しても、各演算回路がすべて有効に動作し、無駄を省くことができる。また、このＤＣＴ装置は、汎用性を有しており、例えば、フィルタ等としても用いることが可能であり、画像処理における装置構成の複雑化を防止することができる。
第２の発明によれば、各演算回路への入力データを２次元ブロックデータ中の所定ラインとし、さらに、各演算回路を１次ＩＤＣＴの演算時に並列状態で使用し、２次ＩＤＣＴ演算時に縦続接続の状態で使用する構成である。そのため、２次元ブロックの数が少ないデータのＩＤＣＴに対しても、各演算回路がすべて有効に動作し、無駄を省くことができる。また、このＩＤＣＴ装置は、汎用性を有しており、例えば、フィルタ等としても用いることが可能であり、画像処理における装置構成の複雑化を防止することができる。
【図面の簡単な説明】
【図１】本発明の実施例のＤＣＴ及びＩＤＣＴ装置を示す構成ブロック図である。
【図２】従来例のＤＣＴ及びＩＤＣＴ装置を示す構成ブロック図である。
【図３】図１中の演算回路を示す構成ブロック図である。
【図４】ＤＣＴ演算における入力メモリと入出力メモリの格納データを示す図である。
【図５】１次ＤＣＴの処理手順を示すタイムチャートである。
【図６】２次ＤＣＴの処理手順を示すタイムチャートである。
【図７】ＩＤＣＴ演算における入力メモリと入出力メモリの格納データを示す図である。
【図８】１次ＩＤＣＴの処理手順を示すタイムチャートである。
【図９】２次ＩＤＣＴの処理手順を示すタイムチャートである。
【符号の説明】
２０〜２７，８０〜８７          入力セレクタ
３０〜３７，５０〜５７          演算回路
４０〜４７，６０〜６７          入出力メモリ
【図１】
0003652380.tif 000005
【図２】
0003652380.tif 000006
【図３】
0003652380.tif 000007
【図４】
0003652380.tif 000008
【図５】
0003652380.tif 000009
【図６】
0003652380.tif 000010
【図７】
0003652380.tif 000011
【図８】
0003652380.tif 000012
【図９】
0003652380.tif 000013