(57)【要約】【課題】  演算処理付ＤＭＡ方式において、演算処理の入出力フォーマットに制限されることなく、任意のデータフォーマットのデータを処理できるようにする。【解決手段】  処理対象データをメモリ２２からＤＭＡ転送する入力用ＤＭＡ装置１１と、入力用ＤＭＡ装置１１により転送された処理対象データを一時的に格納する入力レジスタ１２と、入力レジスタ１２に格納された処理対象データを演算処理する演算処理部１５とを備えたデータ処理装置１において、フォーマット変換部１４により、入力用ピックアップテーブル部１３に格納されるピックアップテーブルに基づいて、入力レジスタ１２内の処理対象データを演算処理部１５の入力フォーマットに合わせて並べ替えて、演算処理部１５に入力する。【選択図】  図１
2005301665.tif 000002
【特許請求の範囲】
【請求項１】
処理対象データを演算処理する演算処理手段と、
メモリ内の処理対象データをＤＭＡ転送する処理対象データ転送手段と、
前記処理対象データ転送手段により転送される処理対象データを一時的に格納する第１の記憶手段と、
前記第１の記憶手段から、少なくとも前記演算処理手段による１回の処理に必要な処理対象データを読み出し、読み出した処理対象データを前記演算処理手段の入力フォーマットに適合する状態で前記演算処理手段へ入力する入力フォーマット変換手段と、
を備えることを特徴とするデータ処理装置。
【請求項２】
前記第１の記憶手段に記憶された処理対象データの配列順序を定める設定テーブルを保持する設定テーブル保持手段をさらに備え、
前記入力フォーマット変換手段は、前記第１の記憶手段に記憶された処理対象データを、前記設定テーブル保持手段により保持される設定テーブルに定められた配列順序に従って並べ、前記演算処理手段へ入力すること、
を特徴とする請求項１記載のデータ処理装置。
【請求項３】
前記設定テーブル保持手段に保持される設定テーブルは、前記第１の記憶手段に記憶された複数のデータのうち、特定の複数のデータと、これら特定の複数のデータの配列順序とを定めるものであって、
前記入力フォーマット変換手段は、前記設定テーブル保持手段に保持される設定テーブルを参照し、当該設定テーブルに定められた特定の複数のデータを前記第１の記憶手段から読み出して、当該設定テーブルに定められた配列順序に従って並べて前記演算処理手段へ入力することを特徴とする請求項２記載のデータ処理装置。
【請求項４】
前記演算処理手段から出力される出力データを、所定のフォーマットに従って並べる出力フォーマット変換手段と、
前記出力フォーマット変換手段により並べられた出力データを一時的に格納する第２の記憶手段と、
前記第２の記憶手段に記憶された出力データを前記メモリにＤＭＡ転送する出力データ転送手段と、
をさらに備えることを特徴とする請求項１から３のいずれかに記載のデータ処理装置。
【請求項５】
メモリ内の処理対象データをＤＭＡ転送するとともに、演算処理手段によって演算処理するデータ処理方法であって、
前記メモリから転送される処理対象データを第１の記憶手段に一時的に格納し、
前記第１の記憶手段から、少なくとも前記演算処理手段による１回の処理に必要な処理対象データを読み出し、読み出した処理対象データを前記演算処理手段の入力フォーマットに適合する状態で前記演算処理手段へ入力すること、
を特徴とするデータ処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理装置、及び、このデータ処理装置におけるデータ処理方法に関する。
【背景技術】
【０００２】
装置内部でデータを転送する方法として、ＤＭＡ（Direct Memory Access）方式が知られている。また、ＤＭＡ方式によってメモリからデータを転送する際に演算処理を行う演算処理付ＤＭＡ方式が知られている（例えば、特許文献１参照。）。
【特許文献１】特開平７−７９３５３号公報
【０００３】
以下、従来の演算処理付ＤＭＡ方式について、図８及び図９を参照して説明する。
図８に示すデータ処理装置３は、従来の演算処理付ＤＭＡ方式によりデータを転送する装置の一例であり、入力メモリエリア３１内のデータを順次処理部３０によって演算処理し、出力メモリエリア３２に出力するものである。
【０００４】
処理部３０の処理実行部３０ａは、入力インタフェース３０ｂから入力される処理対象データAin，Bin，Cin，Dinを演算処理して、Aout，Bout，Cout，Doutを出力する。処理部３０は、処理対象データAin，Bin，Cin，Dinが入力される入力インタフェース３０ｂと、処理実行部３０ａの処理により生成される出力データAout，Bout，Cout，Doutを出力する出力インタフェース３０ｃとを備える。
【０００５】
入力メモリエリア３１には、処理実行部３０ａによる処理の複数回分に相当する処理対象データが格納され、これら複数回分の処理対象データは、いずれも、入力インタフェース３０ｂにおける入力フォーマットに合わせて、Ain，Bin，Cin，Dinの順に４個のデータが一組となっている。
また、出力メモリエリア３２には、処理実行部３０ａによる複数回の処理によって出力されたデータが、いずれも、出力インタフェース３０ｃから出力されたフォーマットの通り、すなわちAout，Bout，Cout，Doutの順に格納される。
【０００６】
つまり、入力メモリエリア３１及び出力メモリエリア３２におけるデータのフォーマットは、処理部３０の入出力フォーマットに適合している。入力メモリエリア３１における処理対象データのフォーマットが、処理部３０の入力フォーマットと異なっている場合は、図９に示すようにフォーマットを変換する処理が必要になる。
【０００７】
図９に示す入力メモリエリア３１においては、処理対象データAin[0]，Bin[0]，Cin[0]，Din[0]，…が、入力インタフェース３０ｂに入力されるフォーマットは異なり、Bin[0]，Din[0]，Ain[0]，Cin[0]，…のように並んでいる。
この場合、いったん入力メモリエリア３１に格納された処理対象データを、入力インタフェース３０ｂの入力フォーマットに合わせて並べ替える処理を実行し、並べ替えたデータを順次入力メモリエリア３１から入力インタフェース３０ｂに出力していた。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
このように、従来の演算処理付ＤＭＡ方式では、処理対象データのフォーマットを、予め、演算処理を実行する処理部の入力フォーマットに合わせておく必要があった。また、上記処理部による演算処理によって出力される出力データは、出力フォーマットの通りにメモリエリアに格納されていた。つまり処理対象データ及び出力データのフォーマットが、処理部３０における入出力フォーマットの制約を受けるという問題があった。
【０００９】
また、処理部３０における入力フォーマットとは異なるフォーマットのデータを転送・処理する場合、予めデータフォーマットを変換しておく等の処理が必要になり、処理の負荷が増す上に、高速なデータ転送を妨げるおそれがあるという問題があった。
【００１０】
そこで、本発明の目的は、演算処理付ＤＭＡ方式において、演算処理の入出力フォーマットに制限されることなく、任意のデータフォーマットのデータを処理できるようにすることである。
【課題を解決するための手段】
【００１１】
上記の目的を達成するために、本発明は、次のような特徴を備えている。なお、次に示す説明中、括弧書きにより実施の形態に対応する構成を一例として示す。符号等は、後述する図面参照符号等である。
【００１２】
本発明のデータ処理装置は、処理対象データを演算処理する演算処理手段（例えば、演算処理部１５）と、メモリ（例えば、メモリ２２）内の処理対象データをＤＭＡ転送する処理対象データ転送手段（例えば、入力用ＤＭＡ装置１１）と、前記処理対象データ転送手段により転送される処理対象データを一時的に格納する第１の記憶手段（例えば、入力レジスタ１２）と、前記第１の記憶手段から、少なくとも前記演算処理手段による１回の処理に必要な処理対象データを読み出し、読み出した処理対象データを前記演算処理手段の入力フォーマットに適合する状態で前記演算処理手段へ入力する入力フォーマット変換手段（例えば、フォーマット変換部１４）とを備えることを特徴とする。
【００１３】
また、本発明において、前記第１の記憶手段に記憶された処理対象データの配列順序を定める設定テーブルを保持する設定テーブル保持手段（例えば、入力用ピックアップテーブル部１３）をさらに備え、前記入力フォーマット変換手段が、前記第１の記憶手段に記憶された処理対象データを、前記設定テーブル保持手段により保持される設定テーブルに定められた配列順序に従って並べ、前記演算処理手段へ入力する構成としても良い。
【００１４】
また、本発明において、前記設定テーブル保持手段に保持される設定テーブルが、前記第１の記憶手段に記憶された複数のデータのうち、特定の複数のデータと、これら特定の複数のデータの配列順序とを定めるものであって、前記入力フォーマット変換手段が、前記設定テーブル保持手段に保持される設定テーブルを参照し、当該設定テーブルに定められた特定の複数のデータを前記第１の記憶手段から読み出して、当該設定テーブルに定められた配列順序に従って並べて前記演算処理手段へ入力する構成としても良い。
【００１５】
また、本発明において、前記演算処理手段から出力される出力データを、所定のフォーマットに従って並べる出力フォーマット変換手段（例えば、フォーマット変換部１７）と、前記出力フォーマット変換手段により並べられた出力データを一時的に格納する第２の記憶手段（例えば、出力レジスタ１８）と、前記第２の記憶手段に記憶された出力データを前記メモリにＤＭＡ転送する出力データ転送手段（例えば、出力用ＤＭＡ装置１９）と、をさらに備える構成としても良い。
【００１６】
また、本発明のデータ処理方法は、メモリ（例えば、メモリ２２）内の処理対象データをＤＭＡ転送するとともに、演算処理手段（例えば、演算処理部１５）によって演算処理するデータ処理方法であって、前記メモリから転送される処理対象データを第１の記憶手段（例えば、入力レジスタ１２）に一時的に格納し、前記第１の記憶手段から、少なくとも前記演算処理手段による１回の処理に必要な処理対象データを読み出し、読み出した処理対象データを前記演算処理手段の入力フォーマットに適合する状態で前記演算処理手段へ入力することを特徴とする。
【発明の効果】
【００１７】
本発明によれば、メモリ内の処理対象データを処理対象データ転送手段によってＤＭＡ転送し、演算処理手段によって処理対象データを演算処理する場合に、転送手段により転送される処理対象データを第１の記憶手段に一時的に格納し、入力フォーマット変換手段により、第１の記憶手段から少なくとも演算処理手段による１回の処理に必要な処理対象データを読み出し、読み出した処理対象データを演算処理手段の入力フォーマットに適合する状態で演算処理手段へ入力するので、メモリからＤＭＡ転送される処理対象データのフォーマットがどのようなフォーマットであっても、演算処理手段には、当該演算処理手段の入力フォーマットに適した処理対象データが入力される。これにより、演算処理の入力フォーマットに関係なく、様々なフォーマットのデータを処理対象として演算処理付ＤＭＡ転送を実行することが可能になる。
【００１８】
また、本発明において、第１の記憶手段に記憶された処理対象データの配列順序を定める設定テーブルを設定テーブル保持手段によって保持し、入力フォーマット変換手段が、第１の記憶手段に記憶された処理対象データを、設定テーブル保持手段により保持される設定テーブルに定められた配列順序に従って並べ、演算処理手段へ入力する構成とした場合、入力フォーマット変換手段は、設定テーブルを参照しながら第１の記憶手段に記憶された処理対象データを読み出して並べれば良い。従って、メモリから転送される処理対象データのフォーマットと、演算処理手段の入力フォーマットに合わせた設定テーブルを保持しておくだけで、様々なフォーマットのデータに対応できる。さらに、処理対象の全データについてフォーマットを一括変換する等の処理を実行する場合に比べ、処理の負荷が小さく、極めて高速に処理を行うことができるので、ＤＭＡ転送の処理速度を損なうことなく様々なフォーマットのデータを処理できる。
【００１９】
また、本発明において、設定テーブル保持手段に保持される設定テーブルが、第１の記憶手段に記憶された複数のデータのうち、特定の複数のデータと、これら複数のデータの配列順とを定めるものであって、入力フォーマット変換手段が、設定テーブル保持手段に保持される設定テーブルを参照し、当該設定テーブルに定められた特定の複数のデータを第１の記憶手段から読み出して、当該設定テーブルに定められた順序に並べて演算処理手段へ入力する構成とした場合、入力フォーマット変換手段は、第１の記憶手段に格納された特定のデータを読み出し、並べ替える処理を行うので、第１の記憶手段に格納されたデータを１回ずつ読み出しても、１個のデータを複数回にわたって読み出しても、処理に要する時間や手順は全く変化しない。すなわち、同一内容の複数のデータが演算処理手段によって処理される場合に、第１の記憶手段には当該データを１個だけ記憶させておき、入力フォーマット変換手段によって、当該データを複数回読み出すようにすれば、第１の記憶手段に記憶すべきデータの量を圧縮できる。これにより、処理速度を全く損なうことなくデータ量を圧縮できるという効果が得られる。
【００２０】
また、本発明において、出力フォーマット変換手段によって、演算処理手段から出力される出力データを所定のフォーマットに従って並べ、並べられた出力データを第２の記憶手段に一時的に格納し、第２の記憶手段に記憶された出力データを出力データ転送手段によってメモリにＤＭＡ転送する構成とした場合、演算処理手段による処理後に出力される出力データを、演算処理手段の出力フォーマットとは異なるフォーマットに並べ替えて、メモリに転送することが可能となるので、出力データを様々なフォーマットで得ることができる。
【発明を実施するための最良の形態】
【００２１】
以下、本発明の実施の形態を図面に基づき説明する。
図１は、本発明の実施の形態におけるデータ処理装置１の機能的構成を示すブロック図である。図１に示すようにデータ処理装置１は、シーケンス制御部１０、入力用ＤＭＡ装置１１、入力レジスタ１２、入力用ピックアップテーブル部１３、フォーマット変換部１４、演算処理部１５、出力用ピックアップテーブル部１６、フォーマット変換部１７、出力レジスタ１８及び出力用ＤＭＡ装置１９の各部を備えて構成される。
また、データ処理装置１のシーケンス制御部１０、入力用ＤＭＡ装置１１及び出力用ＤＭＡ装置１９の各部はバス２０に接続され、バス２０を介して、ＣＰＵ（Central Processing Unit）２１及びメモリ２２との間でデータを送受信する。
【００２２】
シーケンス制御部１０は、ＣＰＵ２１から入力される制御信号に従って、データ処理装置１の各部を制御する。すなわち、シーケンス制御部１０は、入力用ＤＭＡ装置１１及び出力用ＤＭＡ装置１９を制御して、メモリ２２との間でＤＭＡ方式によるデータの転送を実行させる。また、シーケンス制御部１０は、入力用ピックアップテーブル部１３及び出力用ピックアップテーブル部１６を制御して、ピックアップテーブルを選択するためのカウンタのリセット等を行う。
【００２３】
入力用ＤＭＡ装置１１は、シーケンス制御部１０の制御に従って、バス２０を介してメモリ２２から処理対象データを読み出して入力レジスタ１２に格納する。
入力レジスタ１２は、入力用ＤＭＡ装置１１から入力される処理対象データを一時的に格納するバッファメモリである。
【００２４】
入力用ピックアップテーブル部１３は、フォーマット変換部１４により参照される複数のピックアップテーブルを格納する。入力用ピックアップテーブル部１３は、格納したピックアップテーブルを選択するためのカウンタ（図示略）を備え、フォーマット変換部１４によってピックアップテーブルが参照される毎にカウンタをインクリメント（＋１）する。
フォーマット変換部１４は、入力用ピックアップテーブル部１３内のカウンタ（図示略）のカウント値に基づいて、入力用ピックアップテーブル部１３に格納されたピックアップテーブルを参照し、このピックアップテーブルに従って入力レジスタ１２内の処理対象データを読み出し、演算処理部１５へ出力する。
【００２５】
演算処理部１５は、フォーマット変換部１４から入力された処理対象データを演算処理して出力データを生成し、フォーマット変換部１７へ出力する。
出力用ピックアップテーブル部１６は、フォーマット変換部１７により参照される複数のピックアップテーブルを格納する。出力用ピックアップテーブル部１６は、格納したピックアップテーブルを選択するためのカウンタ（図示略）を備え、フォーマット変換部１７によってピックアップテーブルが参照される毎にカウンタをインクリメント（＋１）する。
フォーマット変換部１７は、出力用ピックアップテーブル部１６内のカウンタ（図示略）のカウント値に基づいて、出力用ピックアップテーブル部１６に格納されたピックアップテーブルを参照し、このピックアップテーブルに従って、演算処理部１５から出力される出力データを出力レジスタ１８に出力する。
【００２６】
出力レジスタ１８は、フォーマット変換部１７から入力される出力データを一時的に格納するバッファメモリである。
出力用ＤＭＡ装置１９は、シーケンス制御部１０の制御に従って出力レジスタ１８に格納された出力データを読み出し、バス２０を介してメモリ２２に出力する。
【００２７】
図２は、入力用ピックアップテーブル部１３に格納されるピックアップテーブルの構成例を模式的に示す図である。
図２に示すように、入力用ピックアップテーブル部１３には複数のテーブルが格納され、各ピックアップテーブルを識別するためのピックアップインデックスが付されている。
【００２８】
各ピックアップテーブルには、入力レジスタ１２におけるアドレスが所定の順序で格納されている。例えば、図２中の「ピックアップテーブル０」には、Ｘ個のアドレス「P00」，「P01」，…，「P0x」が格納される。これらのアドレスは、入力レジスタ１２内において処理対象データが格納されたアドレスを指す。また、ピックアップテーブルにおけるアドレス「P00」，「P01」，…，「P0x」の順序は、各アドレスの処理対象データを演算処理部１５の入力フォーマットに合わせて並べるための順序を示す。従って、フォーマット変換部１４は、「ピックアップテーブル０」のアドレス「P00」，「P01」，…，「P0x」に格納された処理対象データを入力レジスタ１２から順次読み出して、「ピックアップテーブル０」における順序に従って並べることにより、処理対象データのフォーマットを演算処理部１５の入力フォーマットに適合させることができる。
【００２９】
また、上述のように、入力用ピックアップテーブル部１３はカウンタ（図示略）を備えている。フォーマット変換部１４は、入力用ピックアップテーブル部１３内のピックアップテーブルを参照する場合に、カウンタのカウント値に基づいてピックアップテーブルを選択する。例えば、カウント値が「０」の場合、フォーマット変換部１４は、入力用ピックアップテーブル部１３内の「ピックアップテーブル０」を参照し、カウント値が「１」の場合、フォーマット変換部１４は「ピックアップテーブル１」を参照する。
従って、入力用ピックアップテーブル部１３に格納された複数のピックアップテーブルは、処理の進行に伴って順番に参照される。
【００３０】
なお、図２には入力用ピックアップテーブル部１３内に格納されるピックアップテーブルの構成例を示したが、出力用ピックアップテーブル部１６に格納されるピックアップテーブルの構成も同様である。すなわち、出力用ピックアップテーブル部１６に格納されるピックアップテーブルには、出力レジスタ１８において出力データが格納されるアドレスが所定の順序に従って格納されている。フォーマット変換部１７は、出力用ピックアップテーブル部１６内のピックアップテーブルを参照することにより、出力レジスタ１８内のアドレスを取得し、取得したアドレスに出力データを順次格納する。これにより、出力レジスタ１８におけるデータフォーマットを、演算処理部１５の出力フォーマットに関係なく、任意のフォーマットにすることができる。
【００３１】
図３は、データ処理装置１において、演算処理付ＤＭＡ方式によりデータを処理する動作を示すフローチャートである。また、図４は、データ処理装置１によるメモリ２２に格納された複数の処理対象データの処理を示す図である。
なお、メモリエリア２２ａは、演算処理部１５によって処理されるべき処理対象データを格納する領域であり、図４に示す例ではｎ個の処理対象データscr_1，scr_2，…，scr_nが格納されている。また、メモリエリア２２ｂは、演算処理部１５によって生成された出力データを格納する領域であり、図４に示す例ではｎ個の出力データdst_1，dst_2，…，dst_nを格納する。
【００３２】
以下、図３及び図４を参照して、データ処理装置１の動作について説明する。
まず、シーケンス制御部１０は、データ処理装置１の動作状態を示すステータスを、「動作中」に更新する（図３のステップＳ１１）。続いて、シーケンス制御部１０は、入力用ＤＭＡ装置１１を制御することにより、１処理単位分の処理対象データをＤＭＡ転送させる（ステップＳ１２）。
【００３３】
ここで、入力用ＤＭＡ装置１１は、１処理単位分の処理対象データ、すなわち、メモリエリア２２ａ内のscr_1（図４）を、バス２０（図１）を介して読み出し、入力レジスタ１２に格納する（図３のステップＳ１３）。
【００３４】
続いて、シーケンス制御部１０は、入力用ピックアップテーブル部１３及び出力用ピックアップテーブル部１６を制御して、入力用ピックアップテーブル部１３及び出力用ピックアップテーブル部１６に格納された複数のピックアップテーブルの中からピックアップテーブルを選択するためのカウンタをリセットさせる（ステップＳ１４）。
【００３５】
ここで、フォーマット変換部１４は、入力用ピックアップテーブル部１３内のカウンタ（図示略）のカウント値に従って、入力用ピックアップテーブル部１３内のピックアップテーブルを参照し、このピックアップテーブルに従って、入力レジスタ１２から処理対象データを読み出して演算処理部１５に入力する（ステップＳ１５）。
演算処理部１５は、フォーマット変換部１４から入力された処理対象データをもとに演算処理を実行して出力データを生成し、フォーマット変換部１７に出力する（ステップＳ１６）。
【００３６】
演算処理部１５による処理が終わると、フォーマット変換部１７は、出力用ピックアップテーブル部１６内のカウンタ（図示略）のカウント値に従って、出力用ピックアップテーブル部１６に格納されたピックアップテーブルを参照し、このピックアップテーブルに従って、演算処理部１５から出力される出力データを出力レジスタ１８に格納する（ステップＳ１７）。
【００３７】
さらに、入力用ピックアップテーブル部１３及び出力用ピックアップテーブル部１６は、内蔵するカウンタのカウント値をインクリメント（＋１）する（ステップＳ１８）。
【００３８】
シーケンス制御部１０は、入力用ピックアップテーブル部１３及び出力用ピックアップテーブル部１６内のカウンタのカウント値が、予め指定された指定値に達したか否かを判定する（ステップＳ１９）。
ここで、指定値とは、すなわち、入力用ＤＭＡ装置１１によってメモリエリア２２ａ（図４）から読み出され、入力レジスタ１２に格納されたscr_1の全部を処理したか否かを示す指標となる値である。例えば、処理対象データscr_1が、演算処理部１５によって１回に処理可能な量を超えるデータを含む場合、入力レジスタ１２内の処理対象データscr_1を全部処理するためには、演算処理部１５によって複数回の処理を行う必要がある。この場合、演算処理部１５によって実行すべき処理の回数を予め求めておき、その回数を指定値としておけば、入力レジスタ１２内の全ての処理対象データを確実に処理できる。
【００３９】
入力用ピックアップテーブル部１３及び出力用ピックアップテーブル部１６内のカウンタのカウント値が指定値に達していなければ（図３のステップＳ１９；Ｎｏ）、データ処理装置１の動作はステップＳ１５に戻る。
【００４０】
また、入力用ピックアップテーブル部１３及び出力用ピックアップテーブル部１６内のカウンタのカウント値が指定値に達した場合（ステップＳ１９；Ｙｅｓ）、シーケンス制御部１０は、出力用ＤＭＡ装置１９を制御して、出力レジスタ１８に格納された１処理単位分の出力データをメモリ２２（図１）へＤＭＡ転送させ、メモリエリア２２ｂ（図４）にdst_1として格納する（図３のステップＳ２０）。
【００４１】
その後、シーケンス制御部１０は、バス２０（図１）を介してＣＰＵ２１から入力される制御信号に従って、全ての処理が完了したか否かを判定する（ステップＳ２１）。全ての処理が完了した状態とは、すなわち、図４に示すメモリエリア２２ａ内のｎ個の処理対象データscr_1，scr_2，…，scr_nが、全て演算処理部１５によって処理され、メモリエリア２２ｂにｎ個の出力データdst_1，dst_2，…，dst_nが格納された状態を指す。
【００４２】
図３のステップＳ２１において、データ処理装置１による処理が完了していなければ、データ処理装置１の動作はステップＳ１１に戻り、メモリエリア２２ａ（図４）に格納された次の処理対象データを処理する。また、処理が完了した場合（図３のステップＳ２１；Ｙｅｓ）、シーケンス制御部１０は、データ処理装置１の動作状態を示すステータスを「アイドル状態」に更新して（ステップＳ２２）、本処理を終了する。
【００４３】
図５は、入力用ピックアップテーブル部１３及び出力用ピックアップテーブル部１６に格納されるピックアップテーブルの具体的な構成例と、ピックアップテーブルに基づく処理を示す説明図である。
【００４４】
なお、図５において、シーケンス制御部１０、入力用ＤＭＡ装置１１、出力用ＤＭＡ装置１９、バス２０、ＣＰＵ２１及びメモリ２２の各部については図示を省略する。また、入力用ピックアップテーブル部１３及び出力用ピックアップテーブル部１６については、その中に格納されるピックアップテーブル１３ａ，１６ａのみを図示する。
【００４５】
演算処理部１５は、演算処理を実行する処理実行部１５ａと、処理実行部１５ａにより処理される情報の入力を受け付ける入力インタフェース１５ｂと、処理実行部１５ａによる処理により生成されるデータを出力する出力インタフェース１５ｃとを備える。
以下、処理対象データ及び出力データには、処理実行部１５ａによって処理・生成される順序を示す添え字[0]〜[3]を付す。
【００４６】
図５に示す例において、演算処理部１５は、Ain，Bin，Cin，Dinの４つの処理対象データに基づく演算処理を実行し、出力データAout，Bout，Cout，Doutを出力する。
入力レジスタ１２には、Ｎｏ．０〜Ｆの１６アドレスに対応づけて、処理対象データBin[0]，Din[0]，Ain[0]，Cin[0]，…，Bin[3]，Din[3]，Ain[3]，Cin[3]が格納される。これら１６個の処理対象データは、演算処理部１５による４回の演算処理によって処理される。
【００４７】
ピックアップテーブル１３ａには、入力レジスタ１２内の１６個のデータを演算処理部１５の入力フォーマットに合わせてAin，Bin，Cin，Dinの順に並べるため、データの配列順序と入力レジスタ１２内のアドレスとが対応づけて格納される。
【００４８】
フォーマット変換部１４は、まず、ピックアップテーブル１３ａ中、最初に処理される処理対象データアドレスを示すデータ２，０，３，１を参照し、入力レジスタ１２のアドレス２，０，３，１に格納された処理対象データAin[0]，Bin[0]，Cin[0]，Din[0]を読み出す。これにより、入力レジスタ１２内の処理対象データBin[0]，Din[0]，Ain[0]，Cin[0]が、入力インタフェース１５ｂの入力フォーマットに合わせてAin[0]，Bin[0]，Cin[0]，Din[0]の順に並べられ、演算処理部１５の処理実行部１５ａに入力される。
【００４９】
そして、入力インタフェース１５ｂに入力されたデータAin[0]，Bin[0]，Cin[0]，Din[0]に基づいて、処理実行部１５ａによる処理が実行されると、出力インタフェース１５ｃから、最初の処理による出力データAout[0]，Bout[0]，Cout[0]，Dout[0]が出力される。
フォーマット変換部１７は、ピックアップテーブル１６ａを参照し、最初の出力データAout[0]，Bout[0]，Cout[0]，Dout[0]を格納すべき出力レジスタ１８内のアドレス０，１，２，３を取得し、このアドレス０，１，２，３に、Aout[0]，Bout[0]，Cout[0]，Dout[0]を、それぞれ格納する。
【００５０】
以後、同様に、入力レジスタ１２内の処理対象データBin[1]，Din[1]，Ain[1]，Cin[1]，…，Bin[3]，Din[3]，Ain[3]，Cin[3]が、フォーマット変換部１４によって、入力インタフェース１５ｂの入力フォーマットに合わせて並べられ、演算処理部１５によって処理され、出力データAout[1]，Bout[1]，Cout[1]，Dout[1]，…，Aout[3]，Bout[3]，Cout[3]，Dout[3]が、ピックアップテーブル１６ａにより定められるフォーマットで出力レジスタ１８に格納される。
【００５１】
以上のように、本発明を適用した実施の形態におけるデータ処理装置１は、ＤＭＡ転送によりメモリ２２から入力レジスタ１２に転送された処理対象データが、演算処理部１５によって処理され、処理後の出力データが出力レジスタ１８に格納される一連の動作において、フォーマット変換部１４によって、入力レジスタ１２に格納された処理対象データが、入力用ピックアップテーブル部１３内のピックアップテーブルに基づく順序で並べられ、演算処理部１５の入力フォーマットに適合する状態で演算処理部１５に入力される。
これにより、入力レジスタ１２に格納された処理対象データのフォーマットが、演算処理部１５の入力フォーマットと異なっていても速やかに処理できるので、様々なデータフォーマットのデータを、効率よく高速に処理できる。
【００５２】
また、入力用ピックアップテーブル部１３に格納されるピックアップテーブルは、入力レジスタ１２におけるアドレスを指定するものであるから、入力レジスタ１２内の処理対象データを細かく指定できる。これにより、演算処理部１５による複数回の処理において同一のデータを用いる場合には、当該データを一つだけ入力レジスタ１２に格納し、複数のピックアップテーブルにおいて当該データのアドレスを指定するようにすれば、フォーマット変換部１４によって当該データが処理される毎に、入力レジスタ１２からの読み出しが行われ、演算処理部１５に入力される。従って、入力レジスタ１２に同一のデータを複数格納する必要がなく、これら複数のデータを一つだけにすることができるので、入力レジスタ１２のデータ量を圧縮できる。また、入力レジスタ１２における１つのデータを複数回読み出す処理は、複数のデータを１回ずつ読み出す処理と全く同一の手順で行われるので、処理速度を損なうことなくデータ量を圧縮できるという利点がある。
【００５３】
さらに、演算処理部１５の処理により生成された出力データについても、フォーマット変換部１７により、演算処理部１５からの出力フォーマットに関係なく、ピックアップテーブルに従って出力レジスタ１８に格納される。このため、演算処理後に出力されるデータのフォーマットを任意のフォーマットにすることができる。
【００５４】
このように、データ処理装置１によれば、様々なデータフォーマットに容易に対応することができ、どのようなフォーマットのデータであっても、効率よく高速に処理できるという利点がある。
【００５５】
なお、上記実施の形態において、図４に示すメモリエリア２２ａ，２２ｂの容量や、メモリエリア２２ａ，２２ｂに格納されるデータscr_1，…，scr_n，dst_1，…，dst_nのサイズ等は、任意に変更可能である。また、メモリエリア２２ａに格納されるデータscr_1，…，scr_nを、それぞれ分割して複数回にわたって処理する構成としても良い。さらに、入力レジスタ１２及び出力レジスタ１８を１つのメモリとして実装することも可能である。この場合、入力用ピックアップテーブル部１３及び出力用ピックアップテーブル部１６に格納されるピックアップテーブルには、同一メモリ内におけるアドレスが格納されることになる。なお、入力レジスタ１２のアドレスまたは出力レジスタ１８のアドレスをオフセットしておくことにより、ピックアップテーブルに格納されるアドレスを小さくすることができる。
【００５６】
ここで、上記実施の形態におけるデータ処理装置１のより具体的な例として、本発明を、ＹＵＶフォーマットの映像信号をＲＧＢフォーマットに変換する映像変換処理に適用した場合について、実施例として説明する。
【実施例１】
【００５７】
図６は、本発明を適用したデータ処理装置１において、ＹＵＶ映像信号をＲＧＢ信号に変換する映像変換処理を実行する場合を示す図である。なお、図６において、ＣＰＵ２１及びメモリ２２については図示を省略する。
【００５８】
図６に示す例において、データ処理装置１は、ＹＵＶ４４４（ＹＵＶ４：４：４）フォーマットのデータをＲＧＢフォーマットのデータに変換する処理を実行する。
この処理では、ＹＵＶ４４４フォーマットのＹ（輝度信号）、Ｕ（輝度信号と赤色成分の差）、Ｖ（輝度信号と青色成分の差）の３つのデータをもとに、１ピクセル分のＲＧＢデータを生成する。
演算処理部１５は、Ｙ，Ｕ，Ｖの３つのデータをもとに演算処理を行って、Ｒ，Ｇ，Ｂのデータを生成するＹＵＶ−ＲＧＢ変換処理部１５ｄ、入力インタフェース１５ｅ、及び、出力インタフェース１５ｆを備える。
【００５９】
本実施例１では、１２個のＹ，Ｕ，Ｖデータから、４ピクセル分のＲＧＢデータを生成する処理を例にとって、その手順について説明する。
入力レジスタ１２には、１２個のＹ，Ｕ，Ｖデータが、ＹＵＶフォーマットに従って、Ｕ，Ｖ，Ｙの順に格納されている。一方、演算処理部１５の入力インタフェース１５ｅの入力フォーマットは、Ｙ，Ｕ，Ｖの順にデータが並んだものである。
【００６０】
手順１．シーケンス制御部１０により入力用ＤＭＡ装置１１を制御して、処理対象データを格納したメモリ２２（図示略）から１２個の処理対象データを入力レジスタ１２に転送する。
手順２．フォーマット変換部１４により、入力用ピックアップテーブル部１３内のピックアップテーブル１３ｂにおけるＴＢＬ０を参照し、最初に処理されるＹ，Ｕ，Ｖの各処理対象データのアドレスＳ１，Ｓ０，Ｓ２を取得し、このアドレスに従って入力レジスタ１２内の処理対象データＹ０，Ｕ０，Ｖ０を読み出し、入力インタフェース１５ｅに入力する。
手順３．ＹＵＶ−ＲＧＢ変換処理部１５ｄにより、ＹＵＶ→ＲＧＢ変換処理を実行し、出力データＲ０，Ｇ０，Ｂ０を生成して出力インタフェース１５ｆから出力する。
手順４．フォーマット変換部１７により、出力用ピックアップテーブル部１６内のピックアップテーブル１６ｂにおけるＴＢＬ０を参照し、最初に出力されるＲ，Ｇ，Ｂの各出力データのアドレスＤ０，Ｄ１，Ｄ２を取得し、このアドレスに従って、出力インタフェース１５ｆから出力された出力データＲ０，Ｇ０，Ｂ０を出力レジスタ１８に格納する。
【００６１】
手順５．フォーマット変換部１４により、入力用ピックアップテーブル部１３内のピックアップテーブル１３ｂにおけるＴＢＬ１を参照し、処理対象データのアドレスＳ４，Ｓ３，Ｓ５を取得し、このアドレスに従って入力レジスタ１２内の処理対象データＹ１，Ｕ１，Ｖ１を読み出し、入力インタフェース１５ｅに入力する。
手順６．ＹＵＶ−ＲＧＢ変換処理部１５ｄにより、ＹＵＶ→ＲＧＢ変換処理を実行し、出力データＲ１，Ｇ１，Ｂ１を生成して出力インタフェース１５ｆから出力する。
手順７．フォーマット変換部１７により、出力用ピックアップテーブル部１６内のピックアップテーブル１６ｂにおけるＴＢＬ１を参照し、出力データのアドレスＤ３，Ｄ４，Ｄ５を取得し、このアドレスに従って、出力インタフェース１５ｆから出力された出力データＲ１，Ｇ１，Ｂ１を出力レジスタ１８に格納する。
【００６２】
手順８．フォーマット変換部１４により、入力用ピックアップテーブル部１３内のピックアップテーブル１３ｂにおけるＴＢＬ２を参照し、処理対象データのアドレスＳ７，Ｓ６，Ｓ８を取得して、このアドレスに従って入力レジスタ１２内の処理対象データＹ２，Ｕ２，Ｖ２を読み出し、入力インタフェース１５ｅに入力する。
手順９．ＹＵＶ−ＲＧＢ変換処理部１５ｄにより、ＹＵＶ→ＲＧＢ変換処理を実行し、出力データＲ２，Ｇ２，Ｂ２を生成して出力インタフェース１５ｆから出力する。
手順１０．フォーマット変換部１７により、出力用ピックアップテーブル部１６内のピックアップテーブル１６ｂにおけるＴＢＬ２を参照し、出力データのアドレスＤ６，Ｄ７，Ｄ８を取得して、このアドレスに従って、出力インタフェース１５ｆから出力された出力データＲ２，Ｇ２，Ｂ２を出力レジスタ１８に格納する。
【００６３】
手順１１．フォーマット変換部１４により、入力用ピックアップテーブル部１３内のピックアップテーブル１３ｂにおけるＴＢＬ３を参照し、処理対象データのアドレスＳ１０，Ｓ９，Ｓ１１を取得して、このアドレスに従って入力レジスタ１２内の処理対象データＹ３，Ｕ３，Ｖ３を読み出し、入力インタフェース１５ｅに入力する。
手順１２．ＹＵＶ−ＲＧＢ変換処理部１５ｄによりＹＵＶ→ＲＧＢ変換処理を実行し、出力データＲ３，Ｇ３，Ｂ３を生成して出力インタフェース１５ｆから出力する。
手順１３．フォーマット変換部１７により、出力用ピックアップテーブル部１６内のピックアップテーブル１６ｂにおけるＴＢＬ３を参照し、出力データのアドレスＤ９，Ｄ１０，Ｄ１１を取得して、このアドレスに従って、出力インタフェース１５ｆから出力された出力データＲ３，Ｇ３，Ｂ３を出力レジスタ１８に格納する。
【００６４】
手順１４．シーケンス制御部１０の制御により、出力レジスタ１８に格納された出力データを出力用ＤＭＡ装置１９によってメモリ２２（図示略）にＤＭＡ転送する。
手順１５．手順１〜１４の処理を、メモリ２２（図示略）内の全ての処理対象データが処理されるまで繰り返し実行する。
【００６５】
以上のように、本実施例１で、フォーマット変換部１４は、Ｕ，Ｙ，Ｖの順にデータが並ぶＹＵＶフォーマットの処理対象データを、Ｙ，Ｕ，Ｖの順にデータが並ぶフォーマットに変換して演算処理部１５に入力するので、ＹＵＶフォーマットのデータを高速に処理し、ＲＧＢフォーマットの映像データを得ることができる。
【００６６】
また、ＹＵＶフォーマットにおいてＵ，Ｙ，Ｖの順に並ぶ処理対象データを、フォーマット変換部１４によって、入力インタフェース１５ｅの入力フォーマットであるＹ，Ｕ，Ｖの順に並べ替えるので、予め、全ての処理対象データを変換する等の処理が不要である。従って、入力用ＤＭＡ装置１１は、メモリ２２（図示略）から入力レジスタ１２へ、ＹＵＶフォーマットのデータをそのまま転送すれば良い。これにより、ＤＭＡ転送の速度を損なうことなく、データを処理できる。
【実施例２】
【００６７】
図７は、本発明を適用したデータ処理装置１において、ＹＵＶ映像信号をＲＧＢ信号に変換する映像変換処理を実行する場合を示す図であり、ＹＵＶ４２２フォーマットのデータをＲＧＢフォーマットのデータに変換する処理を示す。なお、図７において、ＣＰＵ２１及びメモリ２２については図示を省略する。
【００６８】
ＹＵＶ４２２（ＹＵＶ４：２：２）フォーマットのデータをＲＧＢフォーマットに変換する場合、Ｙ×２，Ｕ×１，Ｖ×１の４個のデータから２ピクセルのＲＧＢデータを生成する。すなわち、一つのＵデータ及びＶデータを用いて１ピクセルのＲＧＢデータを生成する処理を２回実行するので、Ｕデータ及びＶデータは、それぞれ２回利用されることになる。
【００６９】
本実施例２では、８個のＹ，Ｕ，Ｖデータから、４ピクセル分のＲＧＢデータを生成する処理を例にとって、その手順について説明する。
【００７０】
手順１．シーケンス制御部１０により入力用ＤＭＡ装置１１を制御して、処理対象データを格納したメモリ２２（図示略）から８個の処理対象データを入力レジスタ１２に転送する。
手順２．フォーマット変換部１４により、入力用ピックアップテーブル部１３内のピックアップテーブル１３ｃにおけるＴＢＬ０を参照し、最初に処理されるＹ，Ｕ，Ｖの各処理対象データのアドレスＳ１，Ｓ０，Ｓ２を取得し、このアドレスに従って入力レジスタ１２内の処理対象データＹ０，Ｕ０，Ｖ０を読み出し、入力インタフェース１５ｅに入力する。
手順３．ＹＵＶ−ＲＧＢ変換処理部１５ｄにより、ＹＵＶ→ＲＧＢ変換処理を実行し、出力データＲ０，Ｇ０，Ｂ０を生成して出力インタフェース１５ｆから出力する。
手順４．フォーマット変換部１７により、出力用ピックアップテーブル部１６内のピックアップテーブル１６ｃにおけるＴＢＬ０を参照し、最初に出力されるＲ，Ｇ，Ｂの各出力データのアドレスＤ０，Ｄ１，Ｄ２を取得し、このアドレスに従って、出力インタフェース１５ｆから出力された出力データＲ０，Ｇ０，Ｂ０を出力レジスタ１８に格納する。
【００７１】
手順５．フォーマット変換部１４により、入力用ピックアップテーブル部１３内のピックアップテーブル１３ｃにおけるＴＢＬ１を参照し、処理対象データのアドレスＳ３，Ｓ０，Ｓ２を取得し、このアドレスに従って入力レジスタ１２内の処理対象データＹ１，Ｕ０，Ｖ０を読み出して、入力インタフェース１５ｅに入力する。
手順６．ＹＵＶ−ＲＧＢ変換処理部１５ｄにより、ＹＵＶ→ＲＧＢ変換処理を実行し、出力データＲ１，Ｇ１，Ｂ１を生成して出力インタフェース１５ｆから出力する。
手順７．フォーマット変換部１７により、出力用ピックアップテーブル部１６内のピックアップテーブル１６ｃにおけるＴＢＬ１を参照し、出力データのアドレスＤ３，Ｄ４，Ｄ５を取得し、このアドレスに従って、出力インタフェース１５ｆから出力された出力データＲ１，Ｇ１，Ｂ１を出力レジスタ１８に格納する。
【００７２】
手順８．フォーマット変換部１４により、入力用ピックアップテーブル部１３内のピックアップテーブル１３ｃにおけるＴＢＬ２を参照し、処理対象データのアドレスＳ５，Ｓ４．Ｓ６を取得して、このアドレスに従って入力レジスタ１２内の処理対象データＹ２，Ｕ２，Ｖ２を読み出し、入力インタフェース１５ｅに入力する。
手順９．ＹＵＶ−ＲＧＢ変換処理部１５ｄにより、ＹＵＶ→ＲＧＢ変換処理を実行し、出力データＲ２，Ｇ２，Ｂ２を生成して出力インタフェース１５ｆから出力する。
手順１０．フォーマット変換部１７により、出力用ピックアップテーブル部１６内のピックアップテーブル１６ｃにおけるＴＢＬ２を参照し、出力データのアドレスＤ６，Ｄ７，Ｄ８を取得して、このアドレスに従って、出力インタフェース１５ｆから出力された出力データＲ２，Ｇ２，Ｂ２を出力レジスタ１８に格納する。
【００７３】
手順１１．フォーマット変換部１４により、入力用ピックアップテーブル部１３内のピックアップテーブル１３ｃにおけるＴＢＬ３を参照し、処理対象データのアドレスＳ７，Ｓ４，Ｓ６を取得して、このアドレスに従って入力レジスタ１２内の処理対象データＹ３，Ｕ２，Ｖ２を読み出し、入力インタフェース１５ｅに入力する。
手順１２．ＹＵＶ−ＲＧＢ変換処理部１５ｄによりＹＵＶ→ＲＧＢ変換処理を実行し、出力データＲ３，Ｇ３，Ｂ３を生成して出力インタフェース１５ｆから出力する。
手順１３．フォーマット変換部１７により、出力用ピックアップテーブル部１６内のピックアップテーブル１６ｃにおけるＴＢＬ３を参照し、出力データのアドレスＤ９，Ｄ１０，Ｄ１１を取得して、このアドレスに従って、出力インタフェース１５ｆから出力された出力データＲ３，Ｇ３，Ｂ３を出力レジスタ１８に格納する。
【００７４】
手順１４．シーケンス制御部１０の制御により、出力レジスタ１８に格納された出力データを出力用ＤＭＡ装置１９によってメモリ２２（図示略）にＤＭＡ転送する。
手順１５．手順１〜１４の処理を、メモリ２２（図示略）内の全ての処理対象データが処理されるまで繰り返し実行する。
【００７５】
以上説明したように、本実施例２のデータ処理装置１においては、ピックアップテーブル１３ｃを適宜設定することで、入力レジスタ１２に格納された８個のデータを、３個ずつ読み出して演算処理部１５に入力し、４回の処理を行うことができる。すなわち、上記の手順１〜１４においては、入力レジスタ１２内の処理対象データＵ０，Ｕ２，Ｙ０，Ｙ２は、それぞれ２回ずつ読み出されて入力インタフェース１５ｅに入力される。
このように、データ処理装置１によれば、１個のデータを複数回の処理において用いる場合に、予めデータをコピーしてデータの数を揃えるといった処理を必要としないので、様々なフォーマットのデータを効率よく高速に処理できる。
さらに、入力レジスタ１２内の１個のデータを複数回読み出す場合の処理は、ピックアップテーブルの内容が異なるだけで、入力レジスタ１２内のデータを１回ずつ読み出す処理と全く同様である。従って、処理速度に全く影響を与えることなく、データ量を圧縮できる。
【００７６】
なお、上記実施例１及び２においては、４ピクセルのＲＧＢデータを生成する場合について説明したが、本発明はこれに限定されるものではなく、１処理単位の設定はハードウェアの仕様等に基づいて適宜変更可能である。また、入力用ピックアップテーブル部１３及び出力用ピックアップテーブル部１６を一体として実装することも可能であり、入力レジスタ１２に格納されるデータのサイズ等のその他の具体的な細部構成についても、任意に変更可能であることは勿論である。
【図面の簡単な説明】
【００７７】
【図１】本発明の実施の形態におけるデータ処理装置１の機能的構成を示すブロック図である。
【図２】図１に示す入力用ピックアップテーブル部１３に格納されるピックアップテーブルの構成例を模式的に示す図である。
【図３】図１に示すデータ処理装置１において、演算処理付ＤＭＡ方式によりデータを処理する動作を示すフローチャートである。
【図４】図１に示すデータ処理装置１によってメモリ２２に格納された複数のデータを処理する様子を示す図である。
【図５】図１に示す入力用ピックアップテーブル部１３及び出力用ピックアップテーブル部１６に格納されるピックアップテーブルの具体的な構成例と、ピックアップテーブルに基づく処理を示す説明図である。
【図６】本発明の実施例として、図１に示すデータ処理装置１において、ＹＵＶ映像信号をＲＧＢ信号に変換する映像変換処理を実行する場合を示す図である。
【図７】本発明の実施例として、図１に示すデータ処理装置１において、ＹＵＶ映像信号をＲＧＢ信号に変換する映像変換処理を実行する場合を示す図である。
【図８】従来の演算処理付ＤＭＡ方式の例を示す図である。
【図９】従来の演算処理付ＤＭＡ方式の例を示す図である。
【符号の説明】
【００７８】
１  データ処理装置
１０  シーケンス制御部
１１  入力用ＤＭＡ装置
１２  入力レジスタ
１３  入力用ピックアップテーブル部
１４  フォーマット変換部
１５  演算処理部
１６  出力用ピックアップテーブル部
１７  フォーマット変換部
１８  出力レジスタ
１９  出力用ＤＭＡ装置
２０  バス
２１  ＣＰＵ
２２  メモリ
【図１】
2005301665.tif 000003
【図２】
2005301665.tif 000004
【図３】
2005301665.tif 000005
【図４】
2005301665.tif 000006
【図５】
2005301665.tif 000007
【図６】
2005301665.tif 000008
【図７】
2005301665.tif 000009
【図８】
2005301665.tif 000010
【図９】
2005301665.tif 000011