(57)【要約】【課題】データ処理効率を向上できるデータ処理システムを提供する。【解決手段】プロセッサ２はプログラム制御によって処理を実行する。専用機能ユニットＵ０〜Ｕ３は布線論理制御によって処理を実行する。データバス４は主データメモリ１を介してプロセッサ２と専用機能ユニットＵ０〜Ｕ３とを連結する。データバスＢ０１、Ｂ１２、Ｂ２３は、専用機能ユニットＵ０〜Ｕ３を直接連結する。データ転送コントローラＣ０１、Ｃ１２、Ｃ２３は、データバスＢ０１、Ｂ１２、Ｂ２３によるデータ転送を制御する。データバスＢ０１、Ｂ１２、Ｂ２３を設けたことで、データバス４を介したデータ転送の頻度を抑制でき、処理の待ち時間を短縮できる。【選択図】　図１
2004046499.tif 000002
【特許請求の範囲】
【請求項１】
プログラム制御によってデータ処理を実行する第１のデータ処理手段と、
各々が、布線論理制御によってデータ処理を実行する複数の第２のデータ処理手段と、
データを格納する記憶手段と、
前記記憶手段を介して、前記第１のデータ処理手段と前記第２のデータ処理手段とを連結する第１のデータ転送手段と、
前記第２のデータ処理手段を連結する第２のデータ転送手段と、を備える、ことを特徴とするデータ処理システム。
【請求項２】
前記第２のデータ転送手段により、前記第２のデータ処理手段と、他の前記第２のデータ処理手段と、の間で、双方向のデータの転送を行う、ことを特徴とする請求項１記載のデータ処理システム。
【請求項３】
前記第２のデータ転送手段により、前記第２のデータ処理手段と、他の前記第２のデータ処理手段と、の間で、一方向のデータの転送を行う、ことを特徴とする請求項１記載のデータ処理システム。
【請求項４】
前記第２のデータ転送手段により、前記第２のデータ処理手段と、他の前記第２のデータ処理手段と、の一対一を連結する、ことを特徴とする請求項１記載のデータ処理システム。
【請求項５】
複数の前記第２のデータ転送手段により、前記第２のデータ処理手段と、複数の他の前記第２のデータ処理手段と、の一対多を連結する、ことを特徴とする請求項１記載のデータ処理システム。
【請求項６】
前記第２のデータ転送手段により、複数の前記第２のデータ処理手段を連結する、ことを特徴とする請求項１記載のデータ処理システム。
【請求項７】
前記第２のデータ転送手段により、複数の前記第２のデータ処理手段を連結し、
前記第２のデータ転送手段により、所定の前記第２のデータ処理手段から、他の複数の前記第２のデータ処理手段へ、一方向のデータの転送を行う、ことを特徴とする請求項１記載のデータ処理システム。
【請求項８】
前記第１のデータ処理手段と前記第２のデータ処理手段とを連結する第３のデータ転送手段、をさらに備える、ことを特徴とする請求項１から７記載のデータ処理システム。
【請求項９】
前記第２のデータ処理手段は、
演算を実行する演算手段と、
前記演算手段と前記第２のデータ転送手段とを連結する第４のデータ転送手段と、を含む、ことを特徴とする請求項４記載のデータ処理システム。
【請求項１０】
前記第１のデータ処理手段は、前記第２のデータ転送手段を介したデータの転送を制御する、ことを特徴とする請求項１から９記載のデータ処理システム。
【請求項１１】
前記第１のデータ処理手段は、前記第３のデータ転送手段を介したデータの転送を制御する、ことを特徴とする請求項８記載のデータ処理システム。
【請求項１２】
前記第２のデータ転送手段を介したデータの転送を制御する第１のデータ転送制御手段、をさらに備える、ことを特徴とする請求項１から９記載のデータ処理システム。
【請求項１３】
前記第３のデータ転送手段を介したデータの転送を制御する第２のデータ転送制御手段、をさらに備える、ことを特徴とする請求項８記載のデータ処理システム。
【請求項１４】
前記第２のデータ処理手段は、符号化のための処理を実行する、ことを特徴とする請求項１から１３記載のデータ処理システム。
【請求項１５】
前記第２のデータ処理手段は、復号化のための処理を実行する、ことを特徴とする請求項１から１４記載のデータ処理システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、プログラム制御によってデータ処理を実行するデータ処理装置と、布線論理制御によってデータ処理を実行する複数のデータ処理装置と、から構成されるデータ処理システムに関する。
【０００２】
【従来の技術】
近年、ディジタル衛星放送、若しくは、インターネット、又は、携帯情報端末、を利用したディジタル映像コンテンツの送受信の普及により、ＭＰＥＧ　（Ｍｏｖｉｎｇ　Ｐｉｃｔｕｒｅ　Ｅｘｐｅｒｔｓ　Ｇｒｏｕｐ）、又は、ＪＰＥＧ（Ｊｏｉｎｔ　Ｐｉｃｔｕｒｅ　Ｅｘｐｅｒｔｓ　Ｇｒｏｕｐ）、などの符号化及び復号化を実現するディジタル信号処理装置の重要性が増している。
【０００３】
現在、ＭＰＥＧには、ＣＤ−ＲＯＭ（ｃｏｍｐａｃｔ　ｄｉｓｃ−ｒｅａｄ　ｏｎｌｙ　ｍｅｍｏｒｙ）などの蓄積メディアを対象にしたＭＰＥＧ１、ディジタルテレビ放送やＤＶＤ（Ｄｉｇｉｔａｌ　Ｖｉｄｅｏ　Ｄｉｓｃ）などの蓄積メディアを対象としたＭＰＥＧ２、低ビット・レートや汎用的な符号化方式を目指したＭＰＥＧ４、といった様々な符号化方式が存在している。
【０００４】
これら異なる様々な符号化方式に柔軟に対応するためには、汎用プロセッサや汎用ディジタル・シグナル・プロセッサを用いて、共通のハードウェア上でソフトウェア処理により各符号化方式に対応することが有効である。
【０００５】
しかしながら、ＭＰＥＧやＪＰＥＧでは膨大な画像データに対する処理を行うため、ソフトウェア処理で対応するには高性能な汎用プロセッサや汎用ディジタル・シグナル・プロセッサが必要であり、その消費電力は大きなものとなる。
【０００６】
携帯電話をはじめとする携帯情報端末では、バッテリ駆動が前提であるため、各機能を低消費電力で実現することが不可欠となる。
【０００７】
そこで、各機能を実現するための処理に必要となる動作周波数を低減するために、所定の機能に特化した専用ハードウェアを適用した構成を採ることが多い。
【０００８】
専用ハードウェアを適用した構成に関しては、すべてを当該処理に限定したハードウェア構成とすることで、最適動作周波数での動作により、消費電力低減を実現しているものがある。
【０００９】
しかしながら、この場合、すべてをハードウェアで実現するために柔軟性に乏しい。ＭＰＥＧの例では、各方式で仕様が異なる部分に対応するためには、各方式に対するハードウェアが必要となるため、ある方式に対する処理を行う場合は、別の方式のための専用ハードウェアは処理を行わないことになり、ハードウェアの無駄が生じる。
【００１０】
そこで、ソフトウェア処理では高い性能を必要とするが、柔軟性を失わせることのない定型信号処理の部分を、専用のハードウェアで実現し，各方式によって仕様が異なる部分は、ソフトウェア処理で実現する、というように、プログラム制御によるデータ処理装置と、所定の機能に特化した専用ハードウェアによるデータ処理装置（布線論理制御によるデータ処理装置）と、の双方を使用してデータ処理を行うことで、性能、柔軟性、および消費電力の問題を解決する構成が、現在主流となっている。
【００１１】
ここで、図面を用いて、従来における、プログラム制御によるデータ処理装置と、所定の機能に特化した専用ハードウェアによるデータ処理装置と、の双方を使用したデータ処理システムについて説明する。
【００１２】
図９は、従来のデータ処理システムのブロック図である。図９に示すように、この従来のデータ処理システムは、主データメモリ３００、プロセッサ３０１、ダイレクトメモリアクセスコントローラ（ＤＭＡコントローラ）３０２、データバス３０３、及び、複数の専用機能ユニットＡ０〜Ａｎ（ｎは１以上の整数）、を具備する。
【００１３】
プロセッサ３０１は、演算回路３０４、及び、ローカルデータメモリ３０５、を含む。プロセッサ３０１は、例えば、汎用プロセッサ、あるいは、汎用ディジタル・シグナル・プロセッサ、である。
【００１４】
専用機能ユニットＡ０〜Ａｎは、ローカルデータメモリＤ０〜Ｄｎ、及び、専用演算回路Ｅ０〜Ｅｎ、を含む。
【００１５】
ここで、プロセッサ３０１は、プログラム制御により動作するデータ処理装置に相当し、専用機能ユニットＡ０〜Ａｎの各々は、所定の機能に特化した専用ハードウェアによるデータ処理装置（布線論理制御により動作するデータ処理装置）に相当する。
【００１６】
また、ＤＭＡコントローラ３０２は、主データメモリ３００とプロセッサ３０１との間のデータ転送、および、主データメモリ３００と専用機能ユニットＡ０〜Ａｎとの間のデータ転送、を制御する。
【００１７】
また、データバス３０３は、主データメモリ３００とプロセッサ３０１との間でのデータ転送、および、主データメモリ３００と専用機能ユニットＡ０〜Ａｎとの間でのデータ転送、を行う。
【００１８】
さて、次に、図９を用いて、具体例を挙げて、動作を説明する。
まず、プロセッサ３０１でのデータ処理結果を、専用機能ユニットＡ０によりデータ処理する場合について説明する。
【００１９】
プロセッサ３０１は、プログラム制御によって、主データメモリ３００に格納されているデータの一部を、プロセッサ３０１のローカルデータメモリ３０５に転送するための命令列を実行し、ＤＭＡコントローラ３０２に対して、データ転送要求を行う。
【００２０】
ＤＭＡコントローラ３０２は、プロセッサ３０１と主データメモリ３００との間での他のデータ転送要求、あるいは、専用機能ユニットＡ０〜Ａｎと主データメモリ３００との間でのデータ転送要求、がある場合には、これらのデータ転送要求と当該データ転送要求との調停（ａｒｂｉｔｒａｔｉｏｎ）を行い、最終的には、当該データ転送要求を受け付けて、主データメモリ３００からローカルデータメモリ３０５へのデータ転送を実行する。
【００２１】
そして、プロセッサ３０１の演算回路３０４は、ローカルデータメモリ３０５に格納されたデータに対して処理を実行し、結果をローカルデータメモリ３０５に格納する。
【００２２】
このローカルデータメモリ３０５に格納された演算回路３０４による処理結果は、さらに、主データメモリ３００に一旦格納する必要がある。
【００２３】
そこで、プロセッサ３０１は、ローカルデータメモリ３０５に格納されたデータを、主データメモリ３００に転送するための命令列を実行し、ＤＭＡコントローラ３０２に対して、データ転送要求を行う。
【００２４】
ＤＭＡコントローラ３０２は、プロセッサ３０１と主データメモリ３００との間での他のデータ転送要求、あるいは、専用機能ユニットＡ０〜Ａｎと主データメモリ３００との間でのデータ転送要求、がある場合には、これらのデータ転送要求と当該データ転送要求との調停を行い、最終的には、当該データ転送要求を受け付けて、ローカルデータメモリ３０５から主データメモリ３００へのデータ転送を実行する。
【００２５】
ここまでのデータ転送の経路は、主データメモリ３００、データバス３０３、プロセッサ３０１のローカルデータメモリ３０５、演算回路３０４、ローカルデータメモリ３０５、データバス３０３、主データメモリ３００、という経路である。
【００２６】
そして、プロセッサ３０１は、主データメモリ３００に格納された上記データを、専用機能ユニットＡ０のローカルデータメモリＤ０に転送するための命令列を実行し、ＤＭＡコントローラ３０２に対して、データ転送要求を行う。
【００２７】
ＤＭＡコントローラ３０２は、プロセッサ３０１と主データメモリ３００との間での他のデータ転送要求、あるいは、専用機能ユニットＡ１〜Ａｎと主データメモリ３００との間でのデータ転送要求、がある場合には、これらのデータ転送要求と当該データ転送要求との調停を行い、最終的には、当該データ転送要求を受け付けて、主データメモリ３００からローカルデータメモリＤ０へのデータ転送を実行する。
【００２８】
そして、専用機能ユニットＡ０の専用演算回路Ｅ０は、ローカルデータメモリＤ０に格納されたデータに対して処理を実行し、結果をローカルデータメモリＤ０に格納する。
【００２９】
このローカルデータメモリＤ０に格納された専用演算回路Ｅ０による処理結果は、主データメモリ３００に一旦格納する必要がある。
【００３０】
そこで、プロセッサ３０１は、ローカルデータメモリＤ０に格納されたデータを、主データメモリ３００に転送するための命令列を実行し、ＤＭＡコントローラ３０２に対して、データ転送要求を行う。
【００３１】
ＤＭＡコントローラ３０２は、プロセッサ３０１と主データメモリ３００との間での他のデータ転送要求、あるいは、専用機能ユニットＡ１〜Ａｎと主データメモリ３００との間でのデータ転送要求、がある場合には、これらのデータ転送要求と当該データ転送要求との調停を行い、最終的には、当該データ転送要求を受け付けて、ローカルデータメモリＤ０から主データメモリ３００へのデータ転送を実行する。
【００３２】
ここまでのデータ転送の経路は、主データメモリ３００、データバス３０３、専用機能ユニットＡ０のローカルデータメモリＤ０、専用演算回路Ｅ０、ローカルデータメモリＤ０、データバス３０３、主データメモリ３００、という経路である。
【００３３】
次に、専用機能ユニットＡ０でのデータ処理結果を、プロセッサ３０１でデータ処理する場合について説明する。
【００３４】
プロセッサ３０１は、プログラム制御によって、主データメモリ３００に格納されたデータの一部を、専用機能ユニットＡ０のローカルデータメモリＤ０に転送するための命令列を実行し、ＤＭＡコントローラ３０２に対してデータ転送要求を行う。
【００３５】
ＤＭＡコントローラ３０２は、プロセッサ３０１と主データメモリ３００との間での他のデータ転送要求、あるいは、専用機能ユニットＡ１〜Ａｎと主データメモリ３００との間でのデータ転送要求、がある場合には、これらのデータ転送要求と当該データ転送要求との調停を行い、最終的には、当該データ転送要求を受け付けて、主データメモリ３００からローカルデータメモリＤ０へのデータ転送を実行する。
【００３６】
そして、専用機能ユニットＡ０の専用演算回路Ｅ０は、ローカルデータメモリＤ０に格納されたデータに対して処理を実行し、結果をローカルデータメモリＤ０に格納する。
【００３７】
このローカルデータメモリＤ０に格納された専用演算回路Ｅ０による処理結果は、主データメモリ３００に一旦格納する必要がある。
【００３８】
そこで、プロセッサ３０１は、ローカルデータメモリＤ０に格納されたデータを、主データメモリ３００に転送するための命令列を実行し、ＤＭＡコントローラ３０２に対して、データ転送要求を行う。
【００３９】
ＤＭＡコントローラ３０２は、プロセッサ３０１と主データメモリ３００との間での他のデータ転送要求、あるいは、専用機能ユニットＡ１〜Ａｎと主データメモリ３００との間でのデータ転送要求、がある場合には、これらのデータ転送要求と当該データ転送要求との調停を行い、最終的には、当該データ転送要求を受け付けて、ローカルデータメモリＤ０から主データメモリ３００へのデータ転送を実行する。
【００４０】
ここまでのデータ転送の経路は、主データメモリ３００、データバス３０３、専用機能ユニットＡ０のローカルデータメモリＤ０、専用演算回路Ｅ０、ローカルデータメモリＤ０、データバス３０３、主データメモリ３００、という経路である。
【００４１】
そして、プロセッサ３０１は、主データメモリ３００に格納されたデータを、プロセッサ３０１のローカルデータメモリ３０５に転送するための命令列を実行し、ＤＭＡコントローラ３０２に対して、データ転送要求を行う。
【００４２】
ＤＭＡコントローラ３０２は、プロセッサ３０１と主データメモリ３００との間での他のデータ転送要求、あるいは、専用機能ユニットＡ０〜Ａｎと主データメモリ３００との間でのデータ転送要求、がある場合には、これらのデータ転送要求と当該データ転送要求との調停を行い、最終的には、当該データ転送要求を受け付けて、主データメモリ３００からローカルデータメモリ３０５へのデータ転送を実行する。
【００４３】
そして、プロセッサ３０１の演算回路３０４は、ローカルデータメモリ３０５に格納されたデータに対して処理を実行し、結果をローカルデータメモリ３０５に格納する。
【００４４】
このローカルデータメモリ３０５に格納された演算回路３０４による処理結果は、主データメモリ３００に一旦格納する必要がある。
【００４５】
そこで、プロセッサ３０１は、ローカルデータメモリ３０５に格納されたデータを、主データメモリ３００に転送するための命令列を実行し、ＤＭＡコントローラ３０２に対して、データ転送要求を行う。
【００４６】
ＤＭＡコントローラ３０２は、プロセッサ３０１と主データメモリ３００との間での他のデータ転送要求、あるいは、専用機能ユニットＡ０〜Ａｎと主データメモリ３００との間でのデータ転送要求、がある場合には、これらのデータ転送要求と当該データ転送要求との調停を行い、最終的には、当該データ転送要求を受け付けて、ローカルデータメモリ３０５から主データメモリ３００へのデータ転送を実行する。
【００４７】
ここまでのデータ転送の経路は、主データメモリ３００、データバス３０３、プロセッサ３０１のローカルデータメモリ３０５、演算回路３０４、ローカルデータメモリ３０５、データバス３０３、主データメモリ３００、という経路である。
【００４８】
【発明が解決しようとする課題】
以上のように、従来のデータ処理システムでは、１つのデータバス３０３に接続された主データメモリ３００を介して、プログラム制御によるデータ処理装置であるプロセッサ３０１と、布線論理制御によるデータ処理装置である専用機能ユニットＡ０〜Ａｎと、の間でのデータの交換を行う。
【００４９】
このため、専用機能ユニットＡ０〜Ａｎの数を増やすと、データバス３０３上のデータ転送量が増大し、処理の対象であるデータの転送を開始するまでの待ち時間が発生し、データ処理システムの処理効率が低下するという問題が生じる。
【００５０】
そこで、本発明は、プログラム制御によるデータ処理の柔軟性、及び、布線論理制御による消費電力の低減効果、を維持しながらも、データの処理効率を向上できるデータ処理システムを提供することを目的とする。
【００５１】
【課題を解決するための手段】
本発明に係るデータ処理システムでは、プログラム制御によってデータ処理を実行する第１のデータ処理手段と、各々が、布線論理制御によってデータ処理を実行する複数の第２のデータ処理手段と、データを格納する記憶手段と、記憶手段を介して、第１のデータ処理手段と第２のデータ処理手段とを連結する第１のデータ転送手段と、第２のデータ処理手段を連結する第２のデータ転送手段と、を備える。
【００５２】
この構成によれば、布線論理制御によって動作する第２のデータ処理手段を連結する第２のデータ転送手段を設けているので、第２のデータ処理手段の間でのデータの転送は、第２のデータ転送手段を介して実行できる。
【００５３】
このため、第１のデータ転送手段を介したデータの転送頻度を抑制できる。従って、プログラム制御によって動作する第１のデータ処理手段と、複数の第２のデータ処理手段とによって、一連の処理を実行する場合において、データを転送する際の待ち時間の短縮化を図ることができる。
【００５４】
その結果、データの処理効率の向上を、第２のデータ処理手段の数に関係なく図ることができる。
【００５５】
しかも、プログラム制御によって動作する第１のデータ処理手段によるデータ処理の柔軟性、及び、布線論理制御によって動作する第２のデータ処理手段による消費電力の低減効果、を維持できる。
【００５６】
【発明の実施の形態】
請求項１記載のデータ処理システムでは、プログラム制御によってデータ処理を実行する第１のデータ処理手段と、各々が、布線論理制御によってデータ処理を実行する複数の第２のデータ処理手段と、データを格納する記憶手段と、記憶手段を介して、第１のデータ処理手段と第２のデータ処理手段とを連結する第１のデータ転送手段と、第２のデータ処理手段を連結する第２のデータ転送手段と、を備える。
【００５７】
この構成によれば、布線論理制御によって動作する第２のデータ処理手段を連結する第２のデータ転送手段を設けているので、第２のデータ処理手段の間でのデータの転送は、第２のデータ転送手段を介して実行できる。
【００５８】
このため、第１のデータ転送手段を介したデータの転送頻度を抑制できる。従って、プログラム制御によって動作する第１のデータ処理手段と、複数の第２のデータ処理手段とによって、一連の処理を実行する場合において、データを転送する際の待ち時間の短縮化を図ることができる。
【００５９】
その結果、データの処理効率の向上を、第２のデータ処理手段の数に関係なく図ることができる。
【００６０】
しかも、プログラム制御によって動作する第１のデータ処理手段によるデータ処理の柔軟性、及び、布線論理制御によって動作する第２のデータ処理手段による消費電力の低減効果、を維持できる。
【００６１】
請求項２記載のデータ処理システムでは、第２のデータ転送手段により、第２のデータ処理手段と、他の第２のデータ処理手段と、の間で、双方向のデータの転送を行う。
【００６２】
この構成によれば、一方の第２のデータ処理手段の処理結果を他方の第２のデータ処理手段で処理できるし、また、他方の第２のデータ処理手段の処理結果を一方の第２のデータ処理手段で処理できる。
【００６３】
請求項３記載のデータ処理システムでは、第２のデータ転送手段により、第２のデータ処理手段と、他の第２のデータ処理手段と、の間で、一方向のデータの転送を行う。
【００６４】
この構成によれば、双方向のデータの転送を行う場合と比較して、データを転送する際の制御を容易に行うことができる。
【００６５】
請求項４記載のデータ処理システムでは、第２のデータ転送手段により、第２のデータ処理手段と、他の第２のデータ処理手段と、の一対一を連結する。
【００６６】
この構成によれば、第２のデータ転送手段により、複数の第２のデータ処理手段を連結する場合と比較して、データを転送する際の制御を容易に行うことができる。また、実装面積の縮小化を図ることができる。
【００６７】
請求項５記載のデータ処理システムでは、複数の第２のデータ転送手段により、第２のデータ処理手段と、複数の他の第２のデータ処理手段と、の一対多を連結する。
【００６８】
この構成によれば、第２のデータ処理手段の処理結果を、複数の第２のデータ転送手段により連結された複数の他の第２のデータ処理手段の中から選択した第２のデータ処理手段に転送できる。
その結果、データ処理の自由度を向上できる。
【００６９】
請求項６記載のデータ処理システムでは、第２のデータ転送手段により、複数の第２のデータ処理手段を連結する。
【００７０】
この構成によれば、第２のデータ転送手段により連結された複数の第２のデータ処理手段の間で、任意にデータの転送を行うことができる。
【００７１】
請求項７記載のデータ処理システムでは、第２のデータ転送手段により、複数の第２のデータ処理手段を連結し、第２のデータ転送手段により、所定の第２のデータ処理手段から、他の複数の第２のデータ処理手段へ、一方向のデータの転送を行う。
【００７２】
この構成によれば、所定の第２のデータ処理手段の処理結果を、他の複数の第２のデータ処理手段により、並列に処理することができる。
その結果、処理の高速化を図ることができる。
【００７３】
請求項８記載のデータ処理システムでは、第１のデータ処理手段と第２のデータ処理手段とを連結する第３のデータ転送手段、をさらに備える。
【００７４】
この構成によれば、第１のデータ処理手段と第２のデータ処理手段とを連結する第３のデータ転送手段を設けているので、第１のデータ処理手段の処理結果と、第２のデータ処理手段の処理結果とを、記憶手段及び第１のデータ転送手段を介さずに直接送受信することができる。
【００７５】
このため、第１のデータ転送手段を介したデータの転送頻度をより抑制することができる。その結果、データの処理効率をより向上させることができる。
【００７６】
請求項９記載のデータ処理システムでは、第２のデータ処理手段は、演算を実行する演算手段と、演算手段と第２のデータ転送手段とを連結する第４のデータ転送手段と、を含む。
【００７７】
この構成によれば、第２のデータ処理手段における処理結果を、一旦記憶することなしに、第２のデータ転送手段を介して、他の第２のデータ処理手段に直接入力することができる。
【００７８】
このため、第２のデータ処理手段における処理、及び、その第２のデータ処理手段による処理結果に対する他の第２のデータ処理手段による処理、を並列に実行できる。
その結果、処理の高速化を図ることができる。
【００７９】
請求項１０記載のデータ処理システムでは、第１のデータ処理手段は、第２のデータ転送手段を介したデータの転送を制御する。
【００８０】
この構成によれば、第２のデータ処理手段の間でのデータ転送は、第１のデータ処理手段によってプログラム制御可能となる。
【００８１】
その結果、第２のデータ処理手段の間でのデータ転送を自由に行うことができる。
【００８２】
また、第２のデータ転送手段を介したデータの転送を制御するための特別の手段を設ける場合と比較して、実装面積の縮小化を図ることができる。
【００８３】
請求項１１記載のデータ処理システムでは、第１のデータ処理手段は、第３のデータ転送手段を介したデータの転送を制御する。
【００８４】
この構成によれば、第１のデータ処理手段と第２のデータ処理手段との間でのデータ転送は、第１のデータ処理手段によってプログラム制御可能となる。
【００８５】
その結果、第１のデータ処理手段と第２のデータ処理手段との間での直接のデータ転送を自由に行うことができる。
【００８６】
また、第３のデータ転送手段を介したデータの転送を制御するための特別の手段を設ける場合と比較して、実装面積の縮小化を図ることができる。
【００８７】
請求項１２記載のデータ処理システムでは、第２のデータ転送手段を介したデータの転送を制御する第１のデータ転送制御手段、をさらに備える。
【００８８】
この構成によれば、第１のデータ処理手段が、第２のデータ転送手段を介したデータの転送を制御する場合と比較して、第１のデータ処理手段の負担を軽減できる。
【００８９】
請求項１３記載のデータ処理システムでは、第３のデータ転送手段を介したデータの転送を制御する第２のデータ転送制御手段、をさらに備える。
【００９０】
この構成によれば、第１のデータ処理手段が、第３のデータ転送手段を介したデータの転送を制御する場合と比較して、第１のデータ処理手段の負担を軽減できる。
【００９１】
請求項１４記載のデータ処理システムでは、第２のデータ処理手段は、符号化のための処理を実行する。
この構成によれば、符号化の処理効率の向上を図ることができる。
【００９２】
請求項１５記載のデータ処理システムでは、第２のデータ処理手段は、復号化のための処理を実行する。
この構成によれば、復号化の処理効率の向上を図ることができる。
【００９３】
以下、図面を参照して本発明の実施の形態を説明する。
（実施の形態１）
【００９４】
図１は、本発明の実施の形態１における動画像符号化復号化装置のブロック図である。図１に示すように、この動画像符号化復号化装置は、主データメモリ１、プロセッサ２、ダイレクトメモリアクセスコントローラ（ＤＭＡコントローラ）３、専用機能ユニットＵ０〜Ｕ３、データ転送コントローラＣ０１、Ｃ１２、Ｃ２３、データバス４、データバスＢ０１、Ｂ１２、Ｂ２３、を具備する。
【００９５】
プロセッサ２は、演算回路２１、及び、ローカルデータメモリ２２、を含む。専用機能ユニットＵ０は、ローカルデータメモリＭ０、及び、可変長符号化／復号化回路Ｆ０、を含む。専用機能ユニットＵ１は、ローカルデータメモリＭ１、及び、量子化／逆量子化回路Ｆ１、を含む。専用機能ユニットＵ２は、ローカルデータメモリＭ２、及び、離散コサイン変換／逆離散コサイン変換回路（ＤＣＴ／ＩＤＣＴ回路）Ｆ２、を含む。専用機能ユニットＵ３は、ローカルデータメモリＭ３、及び、動き検出／動き補償回路Ｆ３、を含む。
【００９６】
ここで、動画像符号化復号化装置は、データ処理システムに相当する。プロセッサ２は、プログラム制御によりデータ処理を実行するデータ処理装置に相当する。
【００９７】
専用機能ユニットＵ０〜Ｕ３の各々は、布線論理制御によりデータ処理を実行するデータ処理装置（所定の機能に特化した専用ハードウェアによるデータ処理装置）に相当する。
【００９８】
本明細書において、データバスは、データを転送する手段に相当する。
【００９９】
なお、データ転送コントローラＣ０１、Ｃ１２、Ｃ２３を、一括して表現するときは、データ転送コントローラＣと表す。
【０１００】
また、専用機能ユニットＵ０〜Ｕ３を、一括して表現するときは、専用機能ユニットＵと表す。
【０１０１】
また、ローカルデータメモリＭ０〜Ｍ３を、一括して表現するときは、ローカルデータメモリＭと表す。
【０１０２】
また、データバスＢ０１、Ｂ１２、Ｂ２３を、一括して表現するときは、データバスＢと表す。
【０１０３】
また、可変長符号化／復号化回路Ｆ０、量子化／逆量子化回路Ｆ１、ＤＣＴ／ＩＤＣＴ回路Ｆ２、及び、動き検出／動き補償回路Ｆ３、を一括して表現するときは、専用演算回路Ｆと表す。
【０１０４】
さて、次に、図１の各構成の機能・動作について、簡単に説明する。主データメモリ１は、データを格納する。例えば、プロセッサ２による処理結果、あるいは、専用機能ユニットＵ０〜Ｕ３による処理結果、などを格納する。
【０１０５】
プロセッサ２は、プログラム制御によりデータ処理を実行する。プロセッサ２のローカルデータメモリ２２は、主データメモリ１から転送されたデータ、又は、演算回路２１による処理結果、を格納する。
【０１０６】
例えば、プロセッサ２は、汎用プロセッサ、あるいは、汎用ディジタル・シグナル・プロセッサ、である。
【０１０７】
プロセッサ２の演算回路２１は、命令で指定されたデータ操作や演算を実行する。例えば、主データメモリ１から転送されローカルデータメモリ２２に格納されたデータに対して演算処理を施して、処理結果をローカルデータメモリ２２に格納する。
【０１０８】
専用機能ユニットＵ０のローカルデータメモリＭ０は、主データメモリ１から転送されたデータ、量子化／逆量子化回路Ｆ１による処理結果、又は、可変長符号化／復号化回路Ｆ０による処理結果、を格納する。
【０１０９】
専用機能ユニットＵ０の可変長符号化／復号化回路Ｆ０は、ローカルデータメモリＭ０に格納されたデータに対して、可変長符号化、あるいは、可変長復号化、を施して、その結果をローカルデータメモリＭ０に格納する。
【０１１０】
専用機能ユニットＵ１のローカルデータメモリＭ１は、主データメモリ１から転送されたデータ、可変長符号化／復号化回路Ｆ０による処理結果、量子化／逆量子化回路Ｆ１による処理結果、又は、ＤＣＴ／ＩＤＣＴ回路Ｆ２による処理結果、を格納する。
【０１１１】
専用機能ユニットＵ１の量子化／逆量子化回路Ｆ１は、ローカルデータメモリＭ１に格納されたデータに対して、量子化、あるいは、逆量子化、を施して、その結果をローカルデータメモリＭ１に格納する。
【０１１２】
専用機能ユニットＵ２のローカルデータメモリＭ２は、主データメモリ１から転送されたデータ、量子化／逆量子化回路Ｆ１による処理結果、ＤＣＴ／ＩＤＣＴ回路Ｆ２による処理結果、又は、動き検出／動き補償回路Ｆ３による処理結果、を格納する。
【０１１３】
専用機能ユニットＵ２のＤＣＴ／ＩＤＣＴ回路Ｆ２は、ローカルデータメモリＭ２に格納されたデータに対して、離散コサイン変換、あるいは、逆離散コサイン変換、を施して、その結果をローカルデータメモリＭ２に格納する。
【０１１４】
専用機能ユニットＵ３のローカルデータメモリＭ３は、主データメモリ１から転送されたデータ、ＤＣＴ／ＩＤＣＴ回路Ｆ２による処理結果、又は、動き検出／動き補償回路Ｆ３による処理結果、を格納する。
【０１１５】
専用機能ユニットＵ３の動き検出／動き補償回路Ｆ３は、ローカルデータメモリＭ３に格納されたデータに対して、動き検出、あるいは、動き補償、を行い、その結果をローカルデータメモリＭ３に格納する。
【０１１６】
ＤＭＡコントローラ３は、主データメモリ１とプロセッサ２との間のデータ転送、及び、主データメモリ１と専用機能ユニットＵ０〜Ｕ３との間のデータ転送、を制御する。
【０１１７】
データバス４は、主データメモリ１を介して、プロセッサ２と専用機能ユニットＵ０〜Ｕ３とを連結する。
【０１１８】
そして、データバス４は、主データメモリ１とプロセッサ２との間でのデータ転送、および、主データメモリ１と専用機能ユニットＵ０〜Ｕ３との間でのデータ転送、を行う。
【０１１９】
データ転送コントローラＣ０１は、専用機能ユニットＵ０と専用機能ユニットＵ１との間のデータバスＢ０１を介したデータ転送、を制御する。
【０１２０】
データバスＢ０１は、専用機能ユニットＵ０と専用機能ユニットＵ１とを連結する。そして、データバスＢ０１は、専用機能ユニットＵ０と専用機能ユニットＵ１との間でのデータ転送を行う。
【０１２１】
データ転送コントローラＣ１２は、専用機能ユニットＵ１と専用機能ユニットＵ２との間のデータバスＢ１２を介したデータ転送、を制御する。
【０１２２】
データバスＢ１２は、専用機能ユニットＵ１と専用機能ユニットＵ２とを連結する。そして、データバスＢ１２は、専用機能ユニットＵ１と専用機能ユニットＵ２との間でのデータ転送を行う。
【０１２３】
データ転送コントローラＣ２３は、専用機能ユニットＵ２と専用機能ユニットＵ３との間のデータバスＢ２３を介したデータ転送、を制御する。
【０１２４】
データバスＢ２３は、専用機能ユニットＵ２と専用機能ユニットＵ３とを連結する。そして、データバスＢ２３は、専用機能ユニットＵ２と専用機能ユニットＵ３との間でのデータ転送を行う。
【０１２５】
さて、次に、図１に示した動画像符号化復号化装置において、ＭＰＥＧ方式による動画像の符号化および復号化処理を実行する場合の動作について説明する。
【０１２６】
まず、符号化処理を実行する場合の動作について説明する。
符号化処理を実行する際には、まず、主データメモリ１に記憶されている符号化対象動画像データを、プロセッサ２のローカルデータメモリ２２に転送する。
【０１２７】
この際、プロセッサ２は、プログラム制御によって、主データメモリ１に格納されている符号化対象動画像データをローカルデータメモリ２２に転送するための命令列を実行し、ＤＭＡコントローラ３に対して、データ転送要求を行う。
【０１２８】
ＤＭＡコントローラ３は、当該データ転送要求と、データバス４を介した他のデータ転送要求と、の調停を行い、最終的には、プロセッサ２の当該データ転送要求を受け付けて、主データメモリ１からローカルデータメモリ２２へのデータ転送を実行する。
【０１２９】
この間のデータ転送の経路は、主データメモリ１から、データバス４を介して、プロセッサ２のローカルデータメモリ２２に至る経路である。
【０１３０】
プロセッサ２の演算回路２１は、主データメモリ１からの転送によりローカルデータメモリ２２に格納された符号化対象動画像データに対して、符号化処理を実行する際の前処理となるデータ処理を実行し、処理結果をローカルデータメモリ２２に格納する。
【０１３１】
この前処理とは、例えば、ノイズの除去、双方向動き補償のためのフレームの入れ替え、等である。
【０１３２】
次に、その前処理の実行結果である符号化対象動画像データを、専用機能ユニットＵ３に転送するために、一旦、ローカルデータメモリ２２から主データメモリ１へのデータ転送を行う。
【０１３３】
ローカルデータメモリ２２から主データメモリ１へデータを転送する際は、プロセッサ２は、ＤＭＡコントローラ３に対して、データ転送要求を発行する。
【０１３４】
これを受けたＤＭＡコントローラ３は調停を行い、ローカルデータメモリ２２から主データメモリ１へのデータ転送を実行する。
【０１３５】
この点は、主データメモリ１からプロセッサ２のローカルデータメモリ２２へのデータ転送の場合と同様である。
【０１３６】
そして、ＤＭＡコントローラ３は、データ転送終了後に、プロセッサ２に対して、データ転送の終了を通知する。
【０１３７】
この間のデータ転送の経路は、プロセッサ２のローカルデータメモリ２２から、データバス４を介して、主データメモリ１に至る経路である。
【０１３８】
次に、前処理が施された符号化対象動画像データ、並びに、専用機能ユニットＵ３において動き検出を実行する際に必要となる、参照画像データ及びパラメータ、を主データメモリ１から専用機能ユニットＵ３のローカルデータメモリＭ３へ転送する。
【０１３９】
このような、主データメモリ１から専用機能ユニットＵ３のローカルデータメモリＭ３へのデータ転送は、プログラムにより次のように実行される。
【０１４０】
まず、プロセッサ２は、ローカルデータメモリ２２から主データメモリ１へのデータ転送の終了通知を、ＤＭＡコントローラ３から受け取る。
【０１４１】
ＤＭＡコントローラ３からのデータ転送の終了通知を受信後、プロセッサ２は、動き検出に必要なデータ（前処理後の符号化対象動画像データ、参照画像データ、及び、パラメータ）の主データメモリ１からローカルデータメモリＭ３へのデータ転送要求を、ＤＭＡコントローラ３へ発行する。
【０１４２】
ＤＭＡコントローラ３は、主データメモリ１からローカルデータメモリＭ３への当該データ転送要求と、他のデータ転送要求（データバスＢ２３を介したデータ転送要求、及び、データバス４を介した他のデータ転送要求）と、の調停を行う。
【０１４３】
この場合、ＤＭＡコントローラ３は、主データメモリ１からローカルデータメモリＭ３への当該データ転送要求と、データバスＢ２３を介したデータ転送要求と、の調停については、データ転送コントローラＣ２３との間で行う。
【０１４４】
さて、ＤＭＡコントローラ３は、上記調停後に、専用機能ユニットＵ３の状態を確認し、転送可能な状態であれば、主データメモリ１からローカルデータメモリＭ３へのデータ転送を実行する。
【０１４５】
この間のデータ転送の経路は、主データメモリ１から、データバス４を介して、専用機能ユニットＵ３のローカルデータメモリＭ３に至る経路である。
【０１４６】
一方、ＤＭＡコントローラ３は、専用機能ユニットＵ３が処理中で、ローカルデータメモリＭ３を使用している場合は、当該データ転送要求を一旦記憶し、専用機能ユニットＵ３による処理が完了して、ローカルデータメモリＭ３が解放されるまで、データ転送を行わないように制御する。
【０１４７】
さて、上記のデータ転送が完了すると、ＤＭＡコントローラ３は、データ転送の終了通知を、プロセッサ２に対して行う。
【０１４８】
プロセッサ２は、このデータ転送の終了通知を受信後、専用機能ユニットＵ３におけるデータ処理を開始する命令列を実行し、専用機能ユニットＵ３に対して処理開始の通知を行う。
【０１４９】
専用機能ユニットＵ３の動き検出／動き補償回路Ｆ３は、プロセッサ２から処理開始の通知を受け取ると、主データメモリ１からの転送によりローカルデータメモリＭ３に格納された符号化対象動画像データに対して、動き検出処理を実行する。
【０１５０】
そして、動き検出／動き補償回路Ｆ３は、処理結果となる、符号化対象動画像データと参照画像データとの差分データを、ローカルデータメモリＭ３に格納する。
【０１５１】
次に、専用機能ユニットＵ３のローカルデータメモリＭ３に格納された差分データを、データバスＢ２３を介して、専用機能ユニットＵ２のローカルデータメモリＭ２へ転送する。この転送は、具体的には、次のようにして行われる。
【０１５２】
ローカルデータメモリＭ３への差分データの書き込みが完了したことに応じて、専用機能ユニットＵ３は、専用機能ユニットＵ２へのデータ転送要求を、データ転送コントローラＣ２３に送る。
【０１５３】
データ転送コントローラＣ２３は、専用機能ユニットＵ２が処理中で、ローカルデータメモリＭ２を使用している場合は、当該データ転送要求を一旦記憶し、専用機能ユニットＵ２による処理が完了して、ローカルデータメモリＭ２が解放されるまで、データ転送を行わないように制御する。
【０１５４】
一方、データ転送コントローラＣ２３は、専用機能ユニットＵ２が処理中でなく、ローカルデータメモリＭ２を使用していない場合は、直ちに、専用機能ユニットＵ３から専用機能ユニットＵ２へ、データ転送を行うように制御する。
【０１５５】
データ転送コントローラＣ２３は、以上のような、専用機能ユニットＵ３から専用機能ユニットＵ２へのデータ転送の制御を実行する場合、当該データ転送要求と、他のデータ転送要求（データバスＢ２３を介した他のデータ転送要求、データバスＢ１２を介したデータ転送要求、及び、データバス４を介したデータ転送要求）と、の調停を行う。
【０１５６】
この場合、データ転送コントローラＣ２３は、当該データ転送要求と、データバス４を介したデータ転送要求と、の調停については、ＤＭＡコントローラ３との間で行う。
【０１５７】
また、データ転送コントローラＣ２３は、当該データ転送要と、データバスＢ１２を介したデータ転送要求と、の調停については、データ転送コントローラＣ１２との間で行う。
【０１５８】
以上の調停の結果、専用機能ユニットＵ２がデータを受け付けられる状態であれば、データ転送コントローラＣ２３は、専用機能ユニットＵ３に対して、データ転送許可を送る。
【０１５９】
このデータ転送許可を受けて、専用機能ユニットＵ３は、データバスＢ２３を介して、差分データを、ローカルデータメモリＭ３からローカルデータメモリＭ２へ転送する。
【０１６０】
転送終了後、専用機能ユニットＵ３は、転送終了通知を、専用機能ユニットＵ２へ送信する。
【０１６１】
以上のようにして、専用機能ユニットＵ３から専用機能ユニットＵ２へ、データバスＢ２３を介して、差分データが転送される。
【０１６２】
専用機能ユニットＵ２のＤＣＴ／ＩＤＣＴ回路Ｆ２は、専用機能ユニットＵ３より送信された転送終了通知を受け取った後、ローカルデータメモリＭ２に格納された差分データに対して、離散コサイン変換処理を実行し、その処理結果である変換係数データ（以下、「ＤＣＴ係数データ」と呼ぶ。）を、ローカルデータメモリＭ２に格納する。
【０１６３】
次に、専用機能ユニットＵ２のローカルデータメモリＭ２に格納されたＤＣＴ係数データを、データバスＢ１２を介して、専用機能ユニットＵ１のローカルデータメモリＭ１へ転送する。
【０１６４】
この間のデータ転送は、データ転送コントローラＣ１２により、ＤＭＡコントローラ３及びデータ転送コントローラＣ０１との間での調停を経て実行される。
【０１６５】
このようなデータ転送コントローラＣ１２によるデータ転送の制御は、上記したデータ転送コントローラＣ２３によるデータ転送の制御と同様である。
【０１６６】
転送終了後、専用機能ユニットＵ２は、転送終了通知を、専用機能ユニットＵ１へ送信する。
【０１６７】
専用機能ユニットＵ１の量子化／逆量子化回路Ｆ１は、専用機能ユニットＵ２より送信された転送終了通知を受け取った後、ローカルデータメモリＭ１に格納されたＤＣＴ係数データに対して、量子化処理を実行し、処理結果となる量子化ＤＣＴ係数データを、ローカルデータメモリＭ１に格納する。
【０１６８】
次に、専用機能ユニットＵ１のローカルデータメモリＭ１に格納された量子化ＤＣＴ係数データを、データバスＢ０１を介して、専用機能ユニットＵ０のローカルデータメモリＭ０へ転送する。
【０１６９】
この間のデータ転送は、データ転送コントローラＣ０１により、ＤＭＡコントローラ３との間での調停を経て実行される。
【０１７０】
このようなデータ転送コントローラＣ０１によるデータ転送の制御は、上記したデータ転送コントローラＣ２３によるデータ転送の制御と同様である。
【０１７１】
転送終了後、専用機能ユニットＵ１は、転送終了通知を、専用機能ユニットＵ０へ送信する。
【０１７２】
専用機能ユニットＵ０の可変長符号化／復号化回路Ｆ０は、専用機能ユニットＵ１より送信された転送終了通知を受け取った後、ローカルデータメモリＭ０に格納された量子化ＤＣＴ係数データに対して、可変長符号化処理を実行し、処理結果となる符号化データを、ローカルデータメモリＭ０に格納する。
【０１７３】
そして、専用機能ユニットＵ０は、プロセッサ２に対して、符号化処理完了通知を発行する。
【０１７４】
プロセッサ２は、専用機能ユニットＵ０からの符号化処理完了通知を受け取ると、ローカルデータメモリＭ０から主データメモリ１へのデータ転送を行う命令列を実行し、ＤＭＡコントローラ３に対して、データ転送要求を行う。
【０１７５】
専用機能ユニットＵ０から主データメモリ１へのデータ転送は、プログラムにより次のように実行される。
【０１７６】
まず、プロセッサ２が、符号化処理完了通知を、専用機能ユニットＵ０から受け取る。符号化処理完了通知を受信後、プロセッサ２は、符号データのローカルデータメモリＭ０から主データメモリ１へのデータ転送要求を、ＤＭＡコントローラ３へ発行する。
【０１７７】
ＤＭＡコントローラ３は、ローカルデータメモリＭ０から主データメモリ１への当該データ転送要求と、データバス４を介した他のデータ転送要求と、の調停を行う。
【０１７８】
そして、ＤＭＡコントローラ３は、調停後に、専用機能ユニットＵ０の状態を確認し、転送可能な状態であれば、ローカルデータメモリＭ０から主データメモリ１へのデータ転送を実行する。
【０１７９】
この間のデータ転送の経路は、専用機能ユニットＵ０のローカルデータメモリＭ０から、データバス４を介して、主データメモリ１に至る経路である。
【０１８０】
上記のデータ転送が完了すると、ＤＭＡコントローラ３は、データ転送の終了通知を、プロセッサ２に対して行う。
以上のようにして、符号化処理が実行される。
【０１８１】
ここで、ＤＭＡコントローラ３とデータ転送コントローラＣ０１、Ｃ１２、Ｃ２３との間の調停について、詳細に説明する。
【０１８２】
例えば、プロセッサ２が、プログラム制御によって、主データメモリ１に格納されたデータの一部を、データバス４を介して専用機能ユニットＵ０のローカルデータメモリＭ０に転送するための命令列を実行し、ＤＭＡコントローラ３に対して、データ転送要求を行ったとする。
【０１８３】
一方、例えば、専用機能ユニットＵ１が、処理結果である量子化ＤＣＴ係数データのローカルデータメモリＭ１への書き込みを終了したときに、その量子化ＤＣＴ係数データを、データバスＢ０１を介して専用機能ユニットＵ０に転送するために、データ転送コントローラＣ０１に対して、データ転送要求を行ったとする。
【０１８４】
このように、専用機能ユニットＵ０へのデータ転送要求が競合したときは、ＤＭＡコントローラ３とデータ転送コントローラＣ０１とは、互いにその内部状態を監視して、データ転送の実行を制御する。具体的には、次の通りである。
【０１８５】
ＤＭＡコントローラ３によって、プロセッサ２からのデータ転送要求に対するデータ転送が行われている場合は、データ転送コントローラＣ０１は、プロッセッサ２からのデータ転送要求に対するデータ転送が完了してから、専用機能ユニットＵ１からのデータ転送要求に対するデータ転送を実行するように制御する。
【０１８６】
逆に、データ転送コントローラＣ０１によって、専用機能ユニットＵ１からのデータ転送要求に対するデータ転送が行われている場合は、ＤＭＡコントローラ３は、専用機能ユニットＵ１からのデータ転送要求に対するデータ転送が完了してから、プロセッサ２からのデータ転送要求に対するデータ転送を実行するように制御する。
【０１８７】
以上のようにして、ＤＭＡコントローラ３とデータ転送コントローラＣ０１との間の調停が行われる。
【０１８８】
なお、上記では、専用機能ユニットＵ０へのデータ転送要求が競合した場合を例に挙げたが、専用機能ユニットＵ１〜Ｕ３へのデータ転送要求が競合した場合も同様の調停が行われる。
【０１８９】
さて、次に、復号化処理を実行する場合の動作の説明を行う。
復号化処理は、符号化処理と逆の処理フローで実現が可能である。つまり、符号化処理とは逆に、専用機能ユニットＵ０、専用機能ユニットＵ１、専用機能ユニットＵ２、専用機能ユニットＵ３、という順番でデータを渡すことになる。具体的には、以下のような処理が実行される。
【０１９０】
まず、復号化対象符号データを主データメモリ１から専用機能ユニットＵ０のローカルデータメモリＭ０へ転送する。
【０１９１】
このような、主データメモリ１から専用機能ユニットＵ０のローカルデータメモリＭ０へのデータ転送は、プログラムにより次のように実行される。
【０１９２】
プロセッサ２は、復号化対象符号データの主データメモリ１からローカルデータメモリＭ０へのデータ転送要求を、ＤＭＡコントローラ３へ発行する。
【０１９３】
ＤＭＡコントローラ３は、主データメモリ１からローカルデータメモリＭ０への当該データ転送要求と、他のデータ転送要求（データバス４を介した他のデータ転送要求、及び、データバスＢ０１を介したデータ転送要求）と、の調停を行う。
【０１９４】
この場合、ＤＭＡコントローラ３は、当該データ転送要求と、データバスＢ０１を介したデータ転送要求と、の調停については、データ転送コントローラＣ０１との間で行う。
【０１９５】
さて、ＤＭＡコントローラ３は、上記調停後に、専用機能ユニットＵ０の状態を確認し、転送可能な状態であれば、主データメモリ１からローカルデータメモリＭ０へのデータ転送を実行する。
【０１９６】
この間のデータ転送の経路は、主データメモリ１から、データバス４を介して、専用機能ユニットＵ０のローカルデータメモリＭ０に至る経路である。
【０１９７】
なお、ＤＭＡコントローラ３は、専用機能ユニットＵ０が処理中で、ローカルデータメモリＭ０を使用している場合は、当該データ転送要求を一旦記憶し、専用機能ユニットＵ０による処理が完了して、ローカルデータメモリＭ０が解放されるまで、データ転送を行わないように制御する。
【０１９８】
さて、上記のデータ転送が完了すると、ＤＭＡコントローラ３は、データ転送の終了通知を、プロセッサ２に対して行う。
【０１９９】
プロセッサ２は、このデータ転送の終了通知を受信後、専用機能ユニットＵ０におけるデータ処理を開始する命令列を実行し、専用機能ユニットＵ０に対して処理開始の通知を行う。
【０２００】
専用機能ユニットＵ０の可変長符号化／復号化回路Ｆ０は、プロセッサ２から処理開始の通知を受け取ると、主データメモリ１からの転送によりローカルデータメモリＭ０に格納された復号化対象符号データに対して、可変長復号処理を実行する。
【０２０１】
そして、可変長符号化／復号化回路Ｆ０は、処理結果となる量子化ＤＣＴ係数データを、ローカルデータメモリＭ０に格納する。
【０２０２】
次に、専用機能ユニットＵ０のローカルデータメモリＭ０に格納された量子化ＤＣＴ係数データを、データバスＢ０１を介して、専用機能ユニットＵ１のローカルデータメモリＭ１へ転送する。この転送は、具体的には、次のようにして行われる。
【０２０３】
ローカルデータメモリＭ０への量子化ＤＣＴ係数データの書き込みが完了したことに応じて、専用機能ユニットＵ０は、専用機能ユニットＵ１へのデータ転送要求を、データ転送コントローラＣ０１に送る。
【０２０４】
データ転送コントローラＣ０１は、専用機能ユニットＵ１が処理中で、ローカルデータメモリＭ１を使用している場合は、当該データ転送要求を一旦記憶し、専用機能ユニットＵ１による処理が完了して、ローカルデータメモリＭ１が解放されるまで、データ転送を行わないように制御する。
【０２０５】
一方、データ転送コントローラＣ０１は、専用機能ユニットＵ１が処理中でなく、ローカルデータメモリＭ１を使用していない場合は、直ちに、専用機能ユニットＵ０から専用機能ユニットＵ１へ、データ転送を行うように制御する。
【０２０６】
データ転送コントローラＣ０１は、以上のような、専用機能ユニットＵ０から専用機能ユニットＵ１へのデータ転送の制御を実行する場合、当該データ転送要求と、他のデータ転送要求（データバス４を介したデータ転送要求、データバスＢ０１を介した他のデータ転送要求、及び、データバスＢ１２を介したデータ転送）と、の調停を行う。
【０２０７】
この場合、データ転送コントローラＣ０１は、当該データ転送要求と、データバス４を介したデータ転送要求と、の調停については、ＤＭＡコントローラ３との間で行う。
【０２０８】
また、データ転送コントローラＣ０１は、当該データ転送要と、データバスＢ１２を介したデータ転送と、の調停については、データ転送コントローラＣ１２との間で行う。
【０２０９】
以上の調停の結果、専用機能ユニットＵ１がデータを受け付けられる状態であれば、データ転送コントローラＣ０１は、専用機能ユニットＵ０に対して、データ転送許可を送る。
【０２１０】
このデータ転送許可を受けて、専用機能ユニットＵ０は、データバスＢ０１を介して、量子化ＤＣＴ係数データを、ローカルデータメモリＭ０からローカルデータメモリＭ１へ転送する。
【０２１１】
転送終了後、専用機能ユニットＵ０は、転送終了通知を、専用機能ユニットＵ１へ送信する。
【０２１２】
以上のようにして、専用機能ユニットＵ０から専用機能ユニットＵ１へ、データバスＢ０１を介して、量子化ＤＣＴ係数データが転送される。
【０２１３】
専用機能ユニットＵ１の量子化／逆量子化回路Ｆ１は、専用機能ユニットＵ０より送信された転送終了通知を受け取った後、ローカルデータメモリＭ１に格納された量子化ＤＣＴ係数データに対して、逆量子化処理を実行し、その処理結果であるＤＣＴ係数データを、ローカルデータメモリＭ１に格納する。
【０２１４】
次に、専用機能ユニットＵ１のローカルデータメモリＭ１に格納されたＤＣＴ係数データを、データバスＢ１２を介して、専用機能ユニットＵ２のローカルデータメモリＭ２へ転送する。
【０２１５】
この間のデータ転送は、データ転送コントローラＣ１２により、ＤＭＡコントローラ３及びデータ転送コントローラＣ２３との間での調停を経て実行される。
【０２１６】
このようなデータ転送コントローラＣ１２によるデータ転送の制御は、上記したデータ転送コントローラＣ０１によるデータ転送の制御と同様である。
【０２１７】
転送終了後、専用機能ユニットＵ１は、転送終了通知を、専用機能ユニットＵ２へ送信する。
【０２１８】
専用機能ユニットＵ２のＤＣＴ／ＩＤＣＴ回路Ｆ２は、専用機能ユニットＵ１より送信された転送終了通知を受け取った後、ローカルデータメモリＭ２に格納されたＤＣＴ係数データに対して、逆離散コサイン変換処理を実行し、処理結果となる差分データを、ローカルデータメモリＭ２に格納する。
【０２１９】
次に、専用機能ユニットＵ２のローカルデータメモリＭ２に格納された差分データを、データバスＢ２３を介して、専用機能ユニットＵ３のローカルデータメモリＭ３へ転送する。
【０２２０】
この間のデータ転送は、データ転送コントローラＣ２３により、ＤＭＡコントローラ３との間での調停を経て実行される。
【０２２１】
このようなデータ転送コントローラＣ２３によるデータ転送の制御は、上記したデータ転送コントローラＣ０１によるデータ転送の制御と同様である。
【０２２２】
転送終了後、専用機能ユニットＵ２は、転送終了通知を、専用機能ユニットＵ３へ送信する。
【０２２３】
専用機能ユニットＵ３の動き検出／動き補償回路Ｆ３は、専用機能ユニットＵ２より送信された転送終了通知を受け取った後、ローカルデータメモリＭ３に格納された差分データに対して、動き補償処理を実行し、処理結果となる復号化動画像データを、ローカルデータメモリＭ３に格納する。
【０２２４】
なお、動き補償のための予測画像データは、データバス４を介して、ローカルデータメモリＭ３に転送されている。
【０２２５】
さて、専用機能ユニットＵ３は、復号化動画像データをローカルデータメモリＭ３に格納した後、プロセッサ２に対して、復号化処理完了通知を発行する。
【０２２６】
プロセッサ２は、専用機能ユニットＵ３からの復号化処理完了通知を受け取ると、ローカルデータメモリＭ３から主データメモリ１へのデータ転送を行う命令列を実行し、ＤＭＡコントローラ３に対して、データ転送要求を行う。
【０２２７】
専用機能ユニットＵ３から主データメモリ１へのデータ転送は、プログラムにより次のように実行される。
【０２２８】
まず、プロセッサ２が、復号化処理完了通知を、専用機能ユニットＵ３から受け取る。復号化処理完了通知を受信後、プロセッサ２は、復号化動画像データのローカルデータメモリＭ３から主データメモリ１へのデータ転送要求を、ＤＭＡコントローラ３へ発行する。
【０２２９】
ＤＭＡコントローラ３は、ローカルデータメモリＭ３から主データメモリ１への当該データ転送要求と、データバス４を介した他のデータ転送要求と、の調停を行う。
【０２３０】
そして、ＤＭＡコントローラ３は、調停後に、専用機能ユニットＵ３の状態を確認し、転送可能な状態であれば、ローカルデータメモリＭ３から主データメモリ１へのデータ転送を実行する。
【０２３１】
この間のデータ転送の経路は、専用機能ユニットＵ３のローカルデータメモリＭ３から、データバス４を介して、主データメモリ１に至る経路である。
【０２３２】
上記のデータ転送が完了すると、ＤＭＡコントローラ３は、データ転送の終了通知を、プロセッサ２に対して行う。
【０２３３】
データ転送の終了通知を受けたプロセッサ２は、主データメモリ１に格納されている復号化動画像データを、ローカルデータメモリ２２に転送する。
【０２３４】
この際、プロセッサ２は、プログラム制御によって、主データメモリ１に格納されている復号化動画像データをローカルデータメモリ２２に転送するための命令列を実行し、ＤＭＡコントローラ３に対して、データ転送要求を行う。
【０２３５】
ＤＭＡコントローラ３は、当該データ転送要求と、データバス４を介した他のデータ転送要求と、の調停を行い、最終的には、プロセッサ２の当該データ転送要求を受け付けて、主データメモリ１からローカルデータメモリ２２へのデータ転送を実行する。
【０２３６】
この間のデータ転送の経路は、主データメモリ１から、データバス４を介して、プロセッサ２のローカルデータメモリ２２に至る経路である。
【０２３７】
プロセッサ２の演算回路２１は、主データメモリ１からの転送によりローカルデータメモリ２２に格納された復号化動画像データに対して、後処理となるデータ処理を実行し、処理結果をローカルデータメモリ２２に格納する。この後処理とは、例えば、ノイズの除去等である。
【０２３８】
次に、後処理の実行結果である復号化動画像データを、ローカルデータメモリ２２から主データメモリ１へ転送する。
【０２３９】
ローカルデータメモリ２２から主データメモリ１へデータを転送する際は、プロセッサ２は、ＤＭＡコントローラ３に対して、データ転送要求を発行する。
【０２４０】
これを受けたＤＭＡコントローラ３は調停を行い、ローカルデータメモリ２２から主データメモリ１へのデータ転送を実行する。
【０２４１】
この点は、主データメモリ１からプロセッサ２のローカルデータメモリ２２へのデータ転送の場合と同様である。
【０２４２】
そして、ＤＭＡコントローラ３は、データ転送終了後に、プロセッサ２に対して、データ転送の終了を通知する。
【０２４３】
この間のデータ転送の経路は、プロセッサ２のローカルデータメモリ２２から、データバス４を介して、主データメモリ１に至る経路である。
以上のようにして、復号化処理が実行される。
【０２４４】
さて、以上のように、本実施の形態では、布線論理制御によって動作する専用機能ユニットＵ０〜Ｕ３を連結するデータバスＢ０１、Ｂ１２、Ｂ２３を設けている。
【０２４５】
これにより、専用機能ユニットＵ０と専用機能ユニットＵ１との間でのデータの転送は、データバスＢ０１を介して実行でき、専用機能ユニットＵ１と専用機能ユニットＵ２との間でのデータの転送は、データバスＢ１２を介して実行でき、専用機能ユニットＵ２と専用機能ユニットＵ３との間でのデータの転送は、データバスＢ２３を介して実行できる。
【０２４６】
このため、データバス４を介したデータの転送頻度を抑制できる。従って、プログラム制御によって動作するプロセッサ２と、専用機能ユニットＵ０〜Ｕ３とによって、一連の処理（符号化のための一連の処理、復号化のための一連の処理）を実行する場合において、データを転送する際の待ち時間の短縮化を図ることができる。
【０２４７】
その結果、データの処理効率の向上を、専用機能ユニットＵ０〜Ｕ３の数に関係なく図ることができる。
【０２４８】
しかも、プログラム制御によって動作するプロセッサ２によるデータ処理の柔軟性、及び、布線論理制御によって動作する専用機能ユニットＵ０〜Ｕ３による消費電力の低減効果、を維持できる。
【０２４９】
また、本実施の形態では、データバスＢにより、専用機能ユニットＵと他の専用機能ユニットＵとの間で、双方向のデータの転送を行うことができる。
【０２５０】
従って、一方の専用機能ユニットＵの処理結果を他方の専用機能ユニットＵで処理できるし、また、他方の専用機能ユニットＵの処理結果を一方の専用機能ユニットＵで処理できる。
【０２５１】
また、本実施の形態では、データバスＢにより、専用機能ユニットＵと他の専用機能ユニットＵとの一対一を連結している。
【０２５２】
例えば、データバスＢ０１により、専用機能ユニットＵ０と専用機能ユニットＵ１との一対一を連結している。
【０２５３】
このため、一対多を連結する場合と比較して、データを転送する際の制御を容易に行うことができる。また、実装面積の縮小化を図ることができる。
【０２５４】
なお、上記では、ローカルデータメモリＭへの処理結果の書き込み完了に応じて、専用機能ユニットＵが、データ転送コントローラＣに対して、データ転送要求を行っていた。
【０２５５】
ただし、次のようにして、プロセッサ２がデータ転送要求を行うこともできる。専用機能ユニットＵが、ローカルデータメモリＭへの処理結果の書き込み完了に応じてフラグをセットすることにより、あるいは、専用機能ユニットＵが、ローカルデータメモリＭへの処理結果の書き込み完了に応じて割り込み信号としてプロセッサ２に通知することにより、プロセッサ２に、ローカルデータメモリＭへの処理結果の書き込みが完了したことを知らせる。
【０２５６】
このようにして、プロセッサ２は、専用機能ユニットＵでの処理が完了したことを判断して、プログラム制御によって、当該ローカルデータメモリＭに格納された処理結果を、当該ローカルデータメモリＭに連結された他のローカルデータメモリＭに転送するための命令列を実行し、データ転送コントローラＣに対して、データ転送要求を行う。
【０２５７】
また、上記では、専用機能ユニットＵは、連結されている他の専用機能ユニットＵへのデータの転送が終了したときに、当該他の専用機能ユニットＵに対して、データの転送が終了したことを通知する。
【０２５８】
そして、専用機能ユニットＵからデータの転送終了通知を受けたことが起因となって、当該他の専用機能ユニットＵでは、専用演算回路Ｆが起動し、演算処理を実行する。
【０２５９】
ただし、次のようにして、プロセッサ２の制御により、専用演算回路Ｆを起動させることもできる。
【０２６０】
専用機能ユニットＵは、連結されている他の専用機能ユニットＵへのデータの転送が終了したときに、プロセッサ２に対して、データの転送が終了したことを通知する。
【０２６１】
そして、専用機能ユニットＵからデータの転送終了通知を受けたプロセッサ２が、プログラム制御により、当該他の専用機能ユニットＵに対して、演算処理を開始する命令列を発行して、当該専用演算回路Ｆを起動させる。
【０２６２】
また、上記では、専用機能ユニットＵの相互間でのデータバスＢを介したデータ転送の制御は、データ転送コントローラＣが行っていた。
【０２６３】
ただし、専用機能ユニットＵの相互間でのデータバスＢを介したデータ転送の制御を、プロセッサ２が行うようにすることもできる。この点を具体例を挙げて説明する。
【０２６４】
復号化の際における専用機能ユニットＵ０から専用機能ユニットＵ１へのデータ転送を例に挙げる。
専用機能ユニットＵ０において可変長復号化処理が終了し、ローカルデータメモリＭ０へのデータの格納が終了したときに、専用機能ユニットＵ０が、プロセッサ２に対して、可変長復号処理が終了したことを通知する。
【０２６５】
この通知を受け取ったプロセッサ２は、専用機能ユニットＵ１の状態を確認する。そして、プロセッサ２は、専用機能ユニットＵ１が転送可能な状態であれば、専用機能ユニットＵ０に対して、転送許可通知を行う。
【０２６６】
転送許可通知を受け取った専用機能ユニットＵ０は、ローカルデータメモリＭ０に格納されたデータを、データバスＢ０１を介して、ローカルデータメモリＭ１へ転送する。
【０２６７】
データ転送終了後は、専用機能ユニットＵ０は、転送終了通知をプロセッサ２に対して行う。
【０２６８】
以上の方法でも、専用機能ユニットＵの相互間でのデータバスＢを介したデータ転送が可能である。
【０２６９】
このように、プロセッサ２が、データバスＢを介したデータ転送を制御する場合は、データ転送コントローラＣが不要となり、実装面積の縮小化を図ることができる。
【０２７０】
さらに、この場合は、専用機能ユニットＵの間でのデータバスＢを介したデータ転送は、プロセッサ２によってプログラム制御可能となる。その結果、専用機能ユニットＵの間でのデータ転送を自由に行うことができる。
【０２７１】
一方、データバスＢを介したデータ転送の制御を、データ転送コントローラＣが行う場合は、プロセッサ２の負担を軽減できる。
【０２７２】
また、これまで、動画像の符号化および復号化処理は、インターフレーム符号化およびインターフレーム復号化処理であるとして説明してきた。
【０２７３】
ただし、イントラフレーム符号化およびイントラフレーム復号化処理についても、専用機能ユニットＵ３での処理を除いた動作手順により、上記と同様にして行うことができる。
【０２７４】
また、上記では、専用機能ユニットＵは、符号化及び復号化を実行するための専用演算回路Ｆを具備していた。
【０２７５】
しかし、専用演算回路Ｆの機能はこれに限定されるものではなく、任意の機能を有する専用演算回路Ｆに対しても、本実施の形態を適用できる。
【０２７６】
また、上記では、専用機能ユニットＵの数を４つ、データ転送コントローラＣを３つ、データバスＢを３本、としたが、これに限定されるものではなく、これらは任意の数とすることができる。なお、１本のデータバスＢは、複数本の信号線からなる。
【０２７７】
（実施の形態２）
図２は、本発明の実施の形態２におけるデータ処理システムのブロック図である。なお、図２において、図１と同様の部分については同一の符号を付して、説明を適宜省略する。
【０２７８】
図２に示すように、本実施の形態におけるデータ処理システムは、図１のデータ処理システムの構成に加えて、データ転送コントローラ６、及び、データバス５、を設けたものでる。
【０２７９】
まず、符号化処理を実行する場合の動作について、実施の形態１と異なる点を中心に説明する。
【０２８０】
実施の形態１では、プロセッサ２により前処理が施された符号化対象動画像データは、プロセッサ２のローカルデータメモリ２２に格納された後、データバス４を介して、主データメモリ１に転送され、さらに、主データメモリ１から、データバス４を介して、専用機能ユニットＵ３のローカルデータメモリＭ３に転送されて、動き検出／動き補償回路Ｆ３による処理が施される。
【０２８１】
これに対して、本実施の形態では、プロセッサ２により前処理が施された符号化対象動画像データは、プロセッサ２のローカルデータメモリ２２に格納された後、データバス５を介して、専用機能ユニットＵ３のローカルデータメモリＭ３に転送されて、動き検出／動き補償回路Ｆ３による処理が施される。具体的には、以下の通りである。
【０２８２】
プロセッサ２のローカルデータメモリ２２から、専用機能ユニットＵ３のローカルデータメモリＭ３へデータを転送する際は、プロセッサ２は、データ転送コントローラ６に対して、データ転送要求を発行する。
【０２８３】
データ転送コントローラ６は、ローカルデータメモリ２２からローカルデータメモリＭ３へのデータ転送要求と、データバスＢ２３を介したデータ転送要求と、の調停を、データ転送コントローラＣ２３との間で行う。
【０２８４】
データ転送コントローラ６は、調停後に、専用機能ユニットＵ３の状態を確認し、転送可能な状態であれば、ローカルデータメモリ２２からローカルデータメモリＭ３へのデータ転送を実行する。
【０２８５】
データ転送コントローラ６は、データ転送終了後に、プロセッサ２に対して、データ転送の終了を通知する。
【０２８６】
この間のデータ転送の経路は、プロセッサ２のローカルデータメモリ２２から、データバス５を介して、専用機能ユニットＵ３のローカルデータメモリＭ３に至る経路である。
【０２８７】
なお、データ転送コントローラ６は、専用機能ユニットＵ３が処理中で、ローカルデータメモリＭ３を使用している場合は、当該データ転送要求を一旦記憶し、専用機能ユニットＵ３による処理が完了して、ローカルデータメモリＭ３が解放されるまで、データ転送を行わないように制御する。
【０２８８】
プロセッサ２は、データ転送の終了通知を受信後、専用機能ユニットＵ３におけるデータ処理を開始する命令列を実行し、専用機能ユニットＵ３に対して処理開始の通知を行う。
【０２８９】
この通知を受けた専用機能ユニットＵ３の動き検出／動き補償回路Ｆ３は、ローカルデータメモリＭ３に格納された前処理後の符号化対象動画像データに対して、動き検出処理を実行し、その処理結果である差分データをローカルデータメモリＭ３に格納する。
【０２９０】
ローカルデータメモリＭ３に格納された差分データは、データ転送コントローラＣ２３の制御により、ローカルデータメモリＭ２に転送される。
【０２９１】
このデータ転送の際、実施の形態１の場合と同様のＤＭＡコントローラ３及びデータ転送コントローラＣ１２との間の調停に加えて、データ転送コントローラＣ２３は、当該データ転送要求と、プロセッサ２のローカルデータメモリ２２とローカルデータメモリＭ２との間でのデータバス５を介したデータ転送要求と、の調停を、データ転送コントローラ６との間で行う。
【０２９２】
ＤＣＴ／ＩＤＣＴ回路Ｆ２は、ローカルデータメモリＭ２に格納された差分データに対して、離散コサイン変換処理を実行し、その処理結果であるＤＣＴ係数データをローカルデータメモリＭ２に格納する。
【０２９３】
ローカルデータメモリＭ２に格納されたＤＣＴ係数データは、データ転送コントローラＣ１２の制御により、ローカルデータメモリＭ１に転送される。
【０２９４】
このデータ転送の際、実施の形態１と同様のＤＭＡコントローラ３及びデータ転送コントローラＣ０１との間の調停に加えて、データ転送コントローラＣ１２は、当該データ転送要求と、プロセッサ２のローカルデータメモリ２２とローカルデータメモリＭ１との間でのデータバス５を介したデータ転送要求と、の調停を、データ転送コントローラ６との間で行う。
【０２９５】
量子化／逆量子化回路Ｆ１は、ローカルデータメモリＭ１に格納されたＤＣＴ係数データに対して、量子化処理を実行し、その処理結果である量子化ＤＣＴ係数データをローカルデータメモリＭ１に格納する。
【０２９６】
そして、ローカルデータメモリＭ１に格納された量子化ＤＣＴ係数データに対して、プロセッサ２が適応的な処理を施す。
【０２９７】
この場合、プロセッサ２は、適応的な処理をするために、ローカルデータメモリＭ１に格納されている量子化ＤＣＴ係数データを、プロセッサ２のローカルデータメモリ２２に転送する。具体的には、次の通りである。
【０２９８】
プロセッサ２は、プログラム制御によって、ローカルデータメモリＭ１に格納されている量子化ＤＣＴ係数データをローカルデータメモリ２２に転送するための命令列を実行し、データ転送コントローラ６に対して、データ転送要求を行う。
【０２９９】
データ転送コントローラ６は、当該データ転送要求と、他のデータ転送要求（データバス４を介したデータ転送要求、データバスＢ０１を介したデータ転送要求、データバスＢ１２を介したデータ転送要求、及び、データバス５を介した他のデータ転送要求）と、の調停を行い、最終的には、プロセッサ２の当該データ転送要求を受け付けて、ローカルデータメモリＭ１からローカルデータメモリ２２へのデータ転送を実行する。
【０３００】
この間のデータ転送の経路は、ローカルデータメモリＭ１から、データバス５を介して、プロセッサ２のローカルデータメモリ２２に至る経路である。
【０３０１】
なお、データ転送コントローラ６は、当該データ転送要求と、データバス４を介したデータ転送要求と、の調停については、ＤＭＡコントローラ３との間で行う。
【０３０２】
また、データ転送コントローラ６は、当該データ転送要求と、データバスＢ０１を介したデータ転送要求と、の調停については、データ転送コントローラＣ０１との間で行う。
【０３０３】
また、データ転送コントローラ６は、当該データ転送要求と、データバスＢ１２を介したデータ転送要求と、の調停については、データ転送コントローラＣ１２との間で行う。
【０３０４】
さて、プロセッサ２の演算回路２１は、ローカルデータメモリＭ１からの転送によりローカルデータメモリ２２に格納された量子化ＤＣＴ係数データに対して、適応的な処理を実行する。
【０３０５】
この適応的な処理として、例えば、次のような処理を行う。プロセッサ２は、値が「０」の量子化ＤＣＴ係数データの数を計算し、かつ、値が「０」でない量子化ＤＣＴ係数データの絶対値の最大値を求める。
【０３０６】
そして、プロセッサ２は、値が「０」の量子化ＤＣＴ係数データの数が、予め定められた第１の閾値以上であり、かつ、値が「０」でない量子化ＤＣＴ係数データの絶対値の最大値が、予め定められた第２の閾値よりも小さい場合は、ローカルデータメモリＭ１から転送された量子化ＤＣＴ係数データに対応する符号化対象動画像データは、参照画像データと同一であるとして、その符号化対象動画像データの符号化を行わないことし、当該量子化ＤＣＴ係数データに対する以後の符号化処理を中止する。
【０３０７】
このような適応的な処理を行うことで、符号化効率の向上、及び、符号化の処理量の軽減、を図ることができる。
【０３０８】
一方、プロセッサ２は、値が「０」の量子化ＤＣＴ係数データの数が、予め定められた第１の閾値より小さく、あるいは、値が「０」でない量子化ＤＣＴ係数データの絶対値の最大値が、予め定められた第２の閾値以上場合は、ローカルデータメモリＭ１から転送された量子化ＤＣＴ係数データに対応する符号化対象動画像データは、参照画像データと同一でないとして、当該量子化ＤＣＴ係数データに対する以後の符号化処理を続行する。
【０３０９】
符号化処理を続行する場合は、ローカルデータメモリＭ１に格納された量子化ＤＣＴ係数データは、データ転送コントローラＣ０１の制御により、ローカルデータメモリＭ０に転送される。
【０３１０】
このデータ転送の際、実施の形態１と同様のＤＭＡコントローラ３との間の調停に加えて、データ転送コントローラＣ０１は、当該データ転送要求と、プロセッサ２のローカルデータメモリ２２とローカルデータメモリＭ０との間でのデータバス５を介したデータ転送要求と、の調停をデータ転送コントローラ６との間で行う。
【０３１１】
可変長符号化／復号化回路Ｆ０は、ローカルデータメモリＭ０に格納された量子化ＤＣＴ係数データに対して、可変長符号化処理を実行し、その処理結果である符号化データをローカルデータメモリＭ０に格納する。
【０３１２】
そして、ローカルデータメモリＭ０に格納された符号化データは、ＤＭＡコントローラ３の制御により、主データメモリ１に転送される。
【０３１３】
さて、次に、復号化処理について、実施の形態１と異なる点を中心に説明する。復号化処理は符号化処理と逆の処理フローで実現が可能である。つまり、符号化処理とは逆に、専用機能ユニットＵ０、専用機能ユニットＵ１、専用機能ユニットＵ２、専用機能ユニットＵ３、という順番でデータを渡すことになる。具体的には、以下のような処理が実行される。
【０３１４】
主データメモリ１に格納された復号化対象符号データは、ＤＭＡコントローラ３の制御により、データバス４を介して、ローカルデータメモリＭ０に転送される。
【０３１５】
このデータ転送の際、実施の形態１の場合と同様のデータ転送コントローラＣ０１との間の調停に加えて、ＤＭＡコントローラ３は、当該データ転送要求と、ローカルデータメモリ２２とローカルデータメモリＭ０との間でのデータバス５を介したデータ転送要求と、の調停を、データ転送コントローラ６との間で行う。
【０３１６】
可変長符号化／復号化回路Ｆ０は、ローカルデータメモリＭ０に格納された復号化対象符号データに対して、可変長復号化処理を実行し、その処理結果である量子化ＤＣＴ係数データをローカルデータメモリＭ０に格納する。
【０３１７】
ローカルデータメモリＭ０に格納された量子化ＤＣＴ係数データは、データ転送コントローラＣ０１の制御により、ローカルデータメモリＭ１に転送される。
【０３１８】
このデータ転送の際、実施の形態１の場合と同様のＤＭＡコントローラ３及びデータ転送コントローラＣ１２との間の調停に加えて、データ転送コントローラＣ０１は、当該データ転送要求と、プロセッサ２のローカルデータメモリ２２とローカルデータメモリＭ１との間でのデータバス５を介したデータ転送要求と、の調停を、データ転送コントローラ６との間で行う。
【０３１９】
量子化／逆量子化回路Ｆ１は、ローカルデータメモリＭ１に格納された量子化ＤＣＴ係数データに対して、逆量子化処理を実行し、その処理結果であるＤＣＴ係数データをローカルデータメモリＭ１に格納する。
【０３２０】
ローカルデータメモリＭ１に格納されたＤＣＴ係数データは、データ転送コントローラＣ１２の制御により、ローカルデータメモリＭ２に転送される。
【０３２１】
このデータ転送の際、実施の形態１と同様のＤＭＡコントローラ３及びデータ転送コントローラＣ２３との間の調停に加えて、データ転送コントローラＣ１２は、当該データ転送要求と、プロセッサ２のローカルデータメモリ２２とローカルデータメモリＭ２との間でのデータバス５を介したデータ転送要求と、の調停を、データ転送コントローラ６との間で行う。
【０３２２】
ＤＣＴ／ＩＤＣＴ回路Ｆ２は、ローカルデータメモリＭ２に格納されたＤＣＴ係数データに対して、逆離散コサイン変換処理を実行し、その処理結果である差分データをローカルデータメモリＭ２に格納する。
【０３２３】
ローカルデータメモリＭ２に格納された差分データは、データ転送コントローラＣ２３の制御により、ローカルデータメモリＭ３に転送される。
【０３２４】
このデータ転送の際、実施の形態１と同様のＤＭＡコントローラ３との間の調停に加えて、データ転送コントローラＣ２３は、当該データ転送要求と、プロセッサ２のローカルデータメモリ２２とローカルデータメモリＭ３との間でのデータバス５を介したデータ転送要求と、の調停を、データ転送コントローラ６との間で行う。
【０３２５】
動き検出／動き補償回路Ｆ３は、ローカルデータメモリＭ３に格納された差分データに対して、動き補償処理を実行し、その処理結果である復号化動画像データをローカルデータメモリＭ３に格納する。
【０３２６】
さて、実施の形態１では、ローカルデータメモリＭ３に格納された復号化動画像データは、データバス４を介して、主データメモリ１に転送され、さらに、主データメモリ１から、データバス４を介して、プロセッサ２のローカルデータメモリ２２に転送されて、後処理が施される。
【０３２７】
これに対して、本実施の形態では、ローカルデータメモリＭ３に格納された復号化動画像データは、データバス５を介して、プロセッサ２のローカルデータメモリ２２に転送され、後処理が施される。具体的には、以下の通りである。
【０３２８】
専用機能ユニットＵ３のローカルデータメモリＭ３からプロセッサ２のローカルデータメモリ２２へデータを転送する際は、プロセッサ２は、データ転送コントローラ６に対して、データ転送要求を発行する。
【０３２９】
データ転送コントローラ６は、当該データ転送要求と、データバス５を介した他のデータ転送要求と、の調停を行う。
【０３３０】
また、データ転送コントローラ６は、当該データ転送要求と、データバス４を介したデータ転送要求と、の調停を、ＤＭＡコントローラ３との間で行う。
【０３３１】
データ転送コントローラ６は、調停後に、専用機能ユニットＵ３の状態を確認し、転送可能な状態であれば、ローカルデータメモリＭ３からローカルデータメモリ２２へのデータ転送を実行する。
【０３３２】
データ転送コントローラ６は、データ転送終了後に、プロセッサ２に対して、データ転送の終了を通知する。
【０３３３】
この間のデータ転送の経路は、専用機能ユニットＵ３のローカルデータメモリＭ３から、データバス５を介して、プロセッサ２のローカルデータメモリ２２に至る経路である。
【０３３４】
なお、データ転送コントローラ６は、専用機能ユニットＵ３が処理中で、ローカルデータメモリＭ３を使用している場合は、当該データ転送要求を一旦記憶し、専用機能ユニットＵ３による処理が完了して、ローカルデータメモリＭ３が解放されるまで、データ転送を行わないように制御する。
【０３３５】
プロセッサ２は、データ転送の終了通知を受信後、ローカルデータメモリ２２に格納された復号化動画像データに対して、後処理を実行し、処理結果をローカルデータメモリ２２に格納する。
【０３３６】
ローカルデータメモリ２２に格納された後処理後の復号化動画像データは、ＤＭＡコントロー３の制御により、データバス４を介して、主データメモリ１に転送される。
【０３３７】
ＤＭＡコントローラ３は、データ転送終了後に、プロセッサ２に対して、データ転送の終了を通知する。
【０３３８】
さて、以上のように、本実施の形態では、実施の形態１と同様の構成を備えている。このため、実施の形態１と同様に、プログラム制御によるデータ処理の柔軟性、及び、布線論理制御による消費電力の低減効果、を維持しながらも、データの処理効率を向上できる。その他、実施の形態１と同様の効果を奏する。
【０３３９】
さらに、本実施の形態では、プロセッサ２と専用機能ユニットＵ０〜Ｕ３とを直接連結するデータバス５を設けている。
【０３４０】
これにより、プロセッサ２の処理結果と、専用機能ユニットＵ０〜Ｕ３の処理結果とを、主データメモリ１及びデータバス４を介さずに、双方で直接送受信することができる。
【０３４１】
このため、データバス４を介したデータの転送頻度をより抑制することができる。その結果、データの処理効率をより向上させることができる。
【０３４２】
なお、上記では、データバス５は、全ての専用機能ユニットＵ０〜Ｕ３に連結されているが、データバス５の連結先は、任意に設定できる。
【０３４３】
また、上記では、専用機能ユニットＵ０〜Ｕ３とローカルデータメモリ２２との間でのデータバス５を介したデータ転送の制御は、データ転送コントローラ６が行っていた。
【０３４４】
ただし、このようなデータ転送の制御を、プロセッサ２が行うようにすることもできる。
【０３４５】
このように、プロセッサ２が、データバス５を介したデータ転送を制御する場合は、データ転送コントローラ６が不要となり、実装面積の縮小化を図ることができる。
【０３４６】
さらに、この場合は、プロセッサ２と専用機能ユニットＵ０〜Ｕ３との間でのデータバス５を介したデータ転送は、プロセッサ２によってプログラム制御可能となる。その結果、双方の間での直接のデータ転送を自由に行うことができる。
【０３４７】
一方、データバス５を介したデータ転送の制御を、データ転送コントローラ６が行う場合は、プロセッサ２の負担を軽減できる。
【０３４８】
（実施の形態３）
図３は、本発明の実施の形態３における動画像復号化装置のブロック図である。なお、図３において、図１と同様の部分については、同一の符号を付して説明を適宜省略する。
【０３４９】
図３に示すように、この動画像復号化装置は、主データメモリ１、プロセッサ２、ダイレクトメモリアクセスコントローラ（ＤＭＡコントローラ）３、専用機能ユニットφ０〜φ３、データ転送コントローラＣ０１、Ｃ１２、Ｃ２３、データバス４、データバスｂ０１、ｂ１２、ｂ２３、データ転送コントローラ８、及び、データバスｂ０３、を具備する。
プロセッサ２は、演算回路２１、及び、ローカルデータメモリ２２、を含む。
【０３５０】
専用機能ユニットφ０は、ローカルデータメモリＭ０、及び、可変長復号化回路ω０、を含む。専用機能ユニットφ１は、ローカルデータメモリＭ１、及び、逆量子化回路ω１、を含む。専用機能ユニットφ２は、ローカルデータメモリＭ２、及び、逆離散コサイン変換回路（ＩＤＣＴ回路）ω２、を含む。専用機能ユニットφ３は、ローカルデータメモリＭ３、及び、動き補償回路ω３、を含む。
【０３５１】
ここで、動画像復号化装置は、データ処理システムに相当する。プロセッサ２は、プログラム制御によりデータ処理を実行するデータ処理装置に相当する。
【０３５２】
専用機能ユニットφ０〜φ３の各々は、布線論理制御によりデータ処理を実行するデータ処理装置（所定の機能に特化した専用ハードウェアによるデータ処理装置）に相当する。
【０３５３】
なお、データ転送コントローラＣ０１、Ｃ１２、Ｃ２３、８を、一括して表現するときは、データ転送コントローラＣと表す。
【０３５４】
また、専用機能ユニットφ０〜φ３を、一括して表現するときは、専用機能ユニットφと表す。
【０３５５】
また、ローカルデータメモリＭ０〜Ｍ３を、一括して表現するときは、ローカルデータメモリＭと表す。
【０３５６】
また、データバスｂ０１、ｂ１２、ｂ２３、ｂ０３を、一括して表現するときは、データバスｂと表す。
【０３５７】
また、可変長復号化回路ω０、逆量子化回路ω１、ＩＤＣＴ回路ω２、及び、動き補償回路ω３、を一括して表現するときは、専用演算回路ωと表す。
【０３５８】
さて、データバス４は、主データメモリ１を介して、プロセッサ２と専用機能ユニットφ０〜φ３とを連結する。
【０３５９】
データバスｂ０１は、専用機能ユニットφ０と専用機能ユニットφ１とを連結する。データバスｂ１２は、専用機能ユニットφ１と専用機能ユニットφ２とを連結する。データバスｂ２３は、専用機能ユニットφ２と専用機能ユニットφ３とを連結する。データバスｂ０３は、専用機能ユニットφ０と専用機能ユニットφ３とを連結する。
【０３６０】
さて、次に、復号化処理について、実施の形態１の復号化処理と異なる点を中心に説明する。主データメモリ１に格納された復号化対象符号データは、ＤＭＡコントローラ３の制御により、データバス４を介して、ローカルデータメモリＭ０に転送される。
【０３６１】
可変長復号化回路ω０は、ローカルデータメモリＭ０に格納された復号化対象符号データに対して、可変長復号化処理を実行し、その処理結果である量子化ＤＣＴ係数データをローカルデータメモリＭ０に格納する。
【０３６２】
動画像符号化方式のＭＰＥＧ−４においては、可変長符号化の際の符号の１つとして、動き検出において動きの無かったマクロブロックにあてられる「Ｎｏｔ＿ｃｏｄｅｄ」という符号がある。
【０３６３】
「Ｎｏｔ＿ｃｏｄｅｄ」という符号は、マクロブロックの量子化ＤＣＴ係数データが、全て「０」であることを示し、可変長符号化後の符号量削減のために設けられている符号の１つである。
【０３６４】
可変長復号処理の際に、「Ｎｏｔ＿ｃｏｄｅｄ」の符号が検出されたときは、逆量子化処理や逆離散コサイン変換処理は必要なく、動き補償において、参照画像を直接復号画像とすることができる。
【０３６５】
従って、専用機能ユニットφ０において、「Ｎｏｔ＿ｃｏｄｅｄ」の符号が検出された際には、「０」のデータを、専用機能ユニットφ０のローカルメモリＭ０に格納する。
【０３６６】
そして、ローカルメモリＭ０に格納された「０」のデータは、データ転送コントローラ８の制御により、データバスｂ０３を介して、専用機能ユニットφ３のローカルメモリＭ３へ転送される。
【０３６７】
このデータ転送の際、データ転送コントローラ８は、当該データ転送要求と、データバスｂ２３を介したデータ転送要求と、の調停を、データ転送コントローラＣ２３との間で行う。
【０３６８】
また、データ転送コントローラ８は、当該データ転送要求と、データバス４を介したデータ転送要求と、の調停を、ＤＭＡコントローラ３との間で行う。
【０３６９】
そして、データ転送コントローラ８は、調停の後、専用機能ユニットφ３の状態を確認して、データを転送できる状態であれば、データバスｂ０３を用いて、ローカルデータメモリＭ０に格納された「０」のデータを、ローカルデータメモリＭ３へ転送する。
【０３７０】
そして、専用機能ユニットφ０は、転送終了後に、専用機能ユニットφ３に対して、転送の終了を通知する。
【０３７１】
なお、データ転送コントローラ８は、専用機能ユニットφ３が処理中で、ローカルデータメモリＭ３を使用している場合は、当該データ転送要求を一旦記憶し、専用機能ユニッφ３による処理が完了して、ローカルデータメモリＭ３が解放されるまで、データ転送を行わないように制御する。
【０３７２】
一方、専用機能ユニットφ０において、「Ｎｏｔ＿ｃｏｄｅｄ」の符号が検出されなかった場合は、ローカルデータメモリＭ０に格納された量子化ＤＣＴ係数データは、データ転送コントローラＣ０１の制御により、データバスｂ０１を介して、ローカルデータメモリＭ１に転送される。
【０３７３】
このデータ転送の際、データ転送コントローラＣ０１は、実施の形態１の場合と同様に、ＤＭＡコントローラ３との間で調停を行う。
【０３７４】
また、専用機能ユニットφ０は、転送終了後に、専用機能ユニットφ１に対して、転送の終了を通知する。
【０３７５】
この通知を受けた逆量子化回路ω１は、ローカルデータメモリＭ１に格納された量子化ＤＣＴ係数データに対して、逆量子化処理を実行し、その処理結果であるＤＣＴ係数データをローカルデータメモリＭ１に格納する。
【０３７６】
ローカルデータメモリＭ１に格納されたＤＣＴ係数データは、データ転送コントローラＣ１２の制御により、データバスｂ１２を介して、ローカルデータメモリＭ２に転送される。
【０３７７】
このデータ転送の際、データ転送コントローラＣ１２は、実施の形態１と同様に、ＤＭＡコントローラ３との間で調停を行う。
【０３７８】
また、専用機能ユニットφ１は、転送終了後に、専用機能ユニットφ２に対して、転送の終了を通知する。
【０３７９】
この通知を受けたＩＤＣＴ回路ω２は、ローカルデータメモリＭ２に格納されたＤＣＴ係数データに対して、逆離散コサイン変換処理を実行し、その処理結果である差分データをローカルデータメモリＭ２に格納する。
【０３８０】
ローカルデータメモリＭ２に格納された差分データは、データ転送コントローラＣ２３の制御により、データバスｂ２３を介して、ローカルデータメモリＭ３に転送される。
【０３８１】
このデータ転送の際、データ転送コントローラＣ２３は、実施の形態１と同様に、ＤＭＡコントローラ３との間で調停を行う。
【０３８２】
さらに、この場合、データ転送コントローラＣ２３は、データ転送コントローラ８との間でも調停を行う。
【０３８３】
また、専用機能ユニットφ２は、転送終了後に、専用機能ユニットφ３に対して、転送の終了を通知する。
【０３８４】
この通知を受けた動き補償回路ω３は、ローカルデータメモリＭ３に格納された差分データに対して、動き補償処理を実行し、その処理結果である復号化動画像データをローカルデータメモリＭ３に格納する。
【０３８５】
ローカルデータメモリＭ３に格納された復号化動画像データは、データバス４を介して、主データメモリ１に転送され、さらに、主データメモリ１から、データバス４を介して、プロセッサ２のローカルデータメモリ２２に転送されて、後処理が施される。この点は、実施の形態１における復号化処理と同様である。
【０３８６】
さて、以上のように、本実施の形態では、布線論理制御によって動作する専用機能ユニットφ０〜φ３を連結するデータバスｂ０１、ｂ１２、ｂ２３、ｂ０３を設けている。
【０３８７】
これにより、専用機能ユニットφ０と専用機能ユニットφ１との間でのデータの転送は、データバスｂ０１を介して実行でき、専用機能ユニットφ１と専用機能ユニットφ２との間でのデータの転送は、データバスｂ１２を介して実行でき、専用機能ユニットφ２と専用機能ユニットφ３との間でのデータの転送は、データバスｂ２３を介して実行でき、専用機能ユニットφ０と専用機能ユニットφ３との間でのデータの転送は、データバスｂ０３を介して実行できる。
【０３８８】
このため、データバス４を介したデータの転送頻度を抑制できる。従って、プログラム制御によって動作するプロセッサ２と、専用機能ユニットφ０〜φ３とによって、一連の処理（復号化のための一連の処理）を実行する場合において、データを転送する際の待ち時間の短縮化を図ることができる。
【０３８９】
その結果、データの処理効率の向上を、専用機能ユニットφ０〜φ３の数に関係なく図ることができる。
【０３９０】
しかも、プログラム制御によって動作するプロセッサ２によるデータ処理の柔軟性、及び、布線論理制御によって動作する専用機能ユニットφ０〜φ３による消費電力の低減効果、を維持できる。
【０３９１】
また、本実施の形態では、データバスｂは、専用機能ユニットφと他の専用機能ユニットφとの間で、一方向のデータの転送を行っている。
【０３９２】
このため、双方向のデータの転送を行う場合と比較して、データを転送する際の制御を容易に行うことができる。
【０３９３】
また、本実施の形態では、データバスｂ０１、ｂ０３により、専用機能ユニットφ０と、複数の専用機能ユニットφ１、φ３と、の一対多を連結している。
【０３９４】
このため、専用機能ユニットφ０の処理結果を、データバスｂ０１、ｂ０３により連結された複数の専用機能ユニットφ１、φ３の中から選択した専用機能ユニットに転送できる。その結果、データ処理の自由度を向上できる。
【０３９５】
なお、上記では、実施の形態１と同様に、ローカルデータメモリＭへの処理結果の書き込み完了に応じて、専用機能ユニットφが、データ転送コントローラＣに対して、データ転送要求を行う。
【０３９６】
ただし、実施の形態１で説明した場合と同様にして、プロセッサ２が、データ転送コントローラＣに対して、データ転送要求を行うこともできる。
【０３９７】
また、上記では、実施の形態１と同様に、専用機能ユニットφは、連結されている他の専用機能ユニットφへのデータの転送が終了したときに、当該他の専用機能ユニットφに対して、データの転送が終了したことを通知する。
【０３９８】
そして、専用機能ユニットφからデータの転送終了通知を受けたことが起因となって、当該他の専用機能ユニットφでは、専用演算回路ωが起動し、演算処理を実行する。
【０３９９】
ただし、実施の形態１で説明した場合と同様にして、プロセッサ２の制御により、専用演算回路ωを起動させることもできる。
【０４００】
また、上記では、専用機能ユニットφの相互間でのデータバスｂを介したデータ転送の制御は、データ転送コントローラＣが行っていた。
【０４０１】
ただし、実施の形態１で説明した場合と同様にして、専用機能ユニットφの相互間でのデータバスｂを介したデータ転送の制御を、プロセッサ２が行うようにすることもできる。
【０４０２】
このように、プロセッサ２が、データバスｂを介したデータ転送を制御する場合は、データ転送コントローラＣが不要となり、実装面積の縮小化を図ることができる。
【０４０３】
さらに、この場合は、専用機能ユニットφの間でのデータバスｂを介したデータ転送は、プロセッサ２によってプログラム制御可能となる。その結果、専用機能ユニットφの間でのデータ転送を自由に行うことができる。
【０４０４】
一方、データバスｂを介したデータ転送の制御を、データ転送コントローラＣが行う場合は、プロセッサ２の負担を軽減できる。
【０４０５】
また、上記では、専用機能ユニットφ０からのデータの転送先の選択は、専用機能ユニットφ０が行っていた。
【０４０６】
ただし、専用機能ユニットφ０からのデータの転送先の選択を、プロセッサ２が行うようにすることもできる。この点を具体例を挙げながら説明する。
【０４０７】
専用機能ユニットφ０から、専用機能ユニットφ１、又は、専用機能ユニットφ３、へのデータの転送を考える。
【０４０８】
専用機能ユニットφ０において可変長復号化処理が終了し、ローカルデータメモリＭ０へのデータの格納が終了したときに、専用機能ユニットφ０が、プロセッサ２に対して、可変長復号処理が終了したことを通知する。
【０４０９】
この通知を受け取ったプロセッサ２は、専用機能ユニットφ０に対して、復号化された符号の種類の確認を行う。
【０４１０】
復号化された符号が「Ｎｏｔ＿ｃｏｄｅｄ」であれば、プロセッサ２は、専用機能ユニットφ３の状態を確認し、転送可能であれば、専用機能ユニットφ０に対して、専用機能ユニットφ３への転送通知を行う。
【０４１１】
この転送通知を受け取った専用機能ユニットφ０は、ローカルデータメモリＭ０に格納された「０」のデータを、データバスｂ０３を介して、ローカルデータメモリＭ３へ転送する。
【０４１２】
そして、データ転送終了後に、専用機能ユニットφ０は、転送終了通知を、プロセッサ２に対して行う。
【０４１３】
一方、復号化された符号が、「Ｎｏｔ＿ｃｏｄｅｄ」でなければ、量子化ＤＣＴ係数データが存在するので、プロセッサ２は、専用機能ユニットφ１の状態を確認し、復号した量子化ＤＣＴ係数データの転送が可能であれば、専用機能ユニットφ０に対して、専用機能ユニットφ１への転送通知を行う。
【０４１４】
この転送通知を受け取った専用機能ユニットφ０は、ローカルデータメモリＭ０に格納された量子化ＤＣＴ係数データを、データバスｂ０１を介して、ローカルデータメモリＭ１へ転送する。
【０４１５】
そして、データ転送終了後に、専用機能ユニットφ０は、転送終了通知を、プロセッサ２に対して行う。
【０４１６】
以上のようにして、専用機能ユニットφ０からのデータの転送先の選択を、プロセッサ２が行うようにすることもできる。
【０４１７】
また、これまで、動画像の復号化処理は、インターフレーム復号化処理であるとして説明してきた。
【０４１８】
ただし、イントラフレーム復号化処理についても、専用機能ユニットφ３での処理を除いた動作手順により、上記と同様にして行うことができる。
【０４１９】
また、上記では、専用機能ユニットφは、復号化を実行するための専用演算回路ωを具備していた。
【０４２０】
しかし、専用演算回路ωの機能はこれに限定されるものではなく、任意の機能を有する専用演算回路ωに対しても、本実施の形態を適用できる。
【０４２１】
また、上記では、専用機能ユニットφの数を４つ、データ転送コントローラＣを４つ、データバスｂを４本、としたが、これに限定されるものではなく、これらは任意の数とすることができる。なお、１本のデータバスｂは、複数本の信号線からなる。
【０４２２】
また、本実施の形態と実施の形態１とを組み合わせて適用することもできる。また、本実施の形態と実施の形態２とを組み合わせて適用することもできる。
【０４２３】
（実施の形態４）
【０４２４】
図４は、本発明の実施の形態４における動画像処理装置のブロック図である。なお、図４において、図１と同様の部分については、同一の符号を付して説明を適宜省略する。
【０４２５】
図４に示すように、この動画像処理装置は、主データメモリ１、プロセッサ２、ダイレクトメモリアクセスコントローラ（ＤＭＡコントローラ）３、専用機能ユニットｕ０〜ｕ４、データ転送コントローラ１０、データバス４、及び、データバス９、を具備する。
【０４２６】
プロセッサ２は、演算回路２１、及び、ローカルデータメモリ２２、を含む。専用機能ユニットｕ０は、ローカルデータメモリｍ０、及び、復号回路ｆ０、を含む。専用機能ユニットｕ１は、ローカルデータメモリｍ１、及び、フィルタ演算回路ｆ１、を含む。専用機能ユニットｕ２は、ローカルデータメモリｍ２、及び、フィルタ演算回路ｆ２、を含む。専用機能ユニットｕ３は、ローカルデータメモリｍ３、及び、フィルタ演算回路回路ｆ３、を含む。専用機能ユニットｕ４は、ローカルデータメモリｍ４、及び、フィルタ演算回路回路ｆ４、を含む。
【０４２７】
ここで、動画像処理装置は、データ処理システムに相当する。プロセッサ２は、プログラム制御によりデータ処理を実行するデータ処理装置に相当する。
【０４２８】
専用機能ユニットｕ０〜ｕ４の各々は、布線論理制御によりデータ処理を実行するデータ処理装置（所定の機能に特化した専用ハードウェアによるデータ処理装置）に相当する。
【０４２９】
なお、専用機能ユニットｕ０〜ｕ４を、一括して表現するときは、専用機能ユニットｕと表す。
【０４３０】
また、ローカルデータメモリｍ０〜ｍ４を、一括して表現するときは、ローカルデータメモリｍと表す。
【０４３１】
また、復号回路ｆ０、及び、フィルタ演算回路ｆ１〜ｆ４、を一括して表現するときは、専用演算回路ｆと表す。
【０４３２】
さて、次に、図１の各構成の機能・動作について、簡単に説明する。主データメモリ１は、データを格納する。例えば、プロセッサ２による処理結果、あるいは、専用機能ユニットｕ０〜ｕ４による処理結果、などを格納する。
【０４３３】
プロセッサ２は、プログラム制御によりデータ処理を実行する。プロセッサ２のローカルデータメモリ２２は、主データメモリ１から転送されたデータ、又は、演算回路２１による処理結果、を格納する。
【０４３４】
プロセッサ２の演算回路２１は、命令で指定されたデータ操作や演算を実行する。例えば、主データメモリ１から転送されローカルデータメモリ２２に格納されたデータに対して演算処理を施して、処理結果をローカルデータメモリ２２に格納する。
【０４３５】
専用機能ユニットｕ０のローカルデータメモリｍ０は、主データメモリ１から転送されたデータ、又は、復号回路ｆ０による処理結果、を格納する。
【０４３６】
専用機能ユニットｕ０の復号回路ｆ０は、ローカルデータメモリｍ０に格納されたデータを復号して、その結果（復号化動画像データ）をローカルデータメモリｍ０に格納する。
【０４３７】
より具体的には、復号回路ｆ０は、ＭＰＥＧ方式により符号化された復号化対象符号データを復号し、その結果である復号化動画像データを、ローカルデータメモリｍ０に格納する。
【０４３８】
専用機能ユニットｕ１〜ｕ４のローカルデータメモリｍ１〜ｍ４は、主データメモリ１から転送されたデータ、又は、復号回路ｆ０による処理結果（復号化動画像データ）、を格納する。
【０４３９】
専用機能ユニットｕ１〜ｕ４のフィルタ演算回路ｆ１〜ｆ４は、対応するローカルデータメモリｍ１〜ｍ４に格納されたデータに対して、フィルタ演算を施して、その結果を対応するローカルデータメモリｍ１〜ｍ４に格納する。
【０４４０】
ＤＭＡコントローラ３は、主データメモリ１とプロセッサ２のローカルデータメモリ２２との間のデータ転送、及び、主データメモリ１とローカルデータメモリｍ０〜ｍ４との間のデータ転送、を制御する。
【０４４１】
データバス４は、主データメモリ１を介して、プロセッサ２と専用機能ユニットｕ０〜ｕ４とを連結する。
【０４４２】
そして、データバス４により、主データメモリ１とプロセッサ２との間でのデータ転送、および、主データメモリ１と専用機能ユニットｕ０〜ｕ４との間でのデータ転送、を行う。
【０４４３】
データ転送コントローラ１０は、専用機能ユニットｕ０のローカルデータメモリｍ０から、専用機能ユニットｕ１〜ｕ４のローカルデータメモリｍ１〜ｍ４へのデータ転送を制御する。
【０４４４】
データバス９は、専用機能ユニットｕ０と、専用機能ユニットｕ１〜ｕ４と、を連結する。そして、専用機能ユニットｕ０から専用機能ユニットｕ１〜ｕ４へのデータ転送を行う。
【０４４５】
ここで、フィルタ演算回路ｆ１〜ｆ４について、詳しく説明する。フィルタ演算回路ｆ１〜ｆ４の各々は、ＭＰＥＧ方式により符号化した動画像データを復号した動画像のノイズを削減するためのフィルタ演算を実行する。
【０４４６】
ＭＰＥＧ方式では、８画素×８画素のブロック単位で符号化を行うため、同一フレーム内のブロック間で空間の相関性が失われる。
【０４４７】
その結果、ブロックの境界が不連続なモザイク状となる。このノイズは、ブロックノイズと呼ばれる。
【０４４８】
ブロックノイズを除去する方法として、隣接するブロックの境界にある画素を含む新たなブロックに対して、フィルタをかける方法がある。
【０４４９】
この方法によるブロックノイズを除去する処理では、１つのフレームを構成する全ブロックに対して、フィルタをかける必要があり、多くの演算量を必要とする。
【０４５０】
そこで、本実施の形態では、各ブロックに対するフィルタ演算は、並列処理が可能であることに着目して、フィルタ演算を実行する４つの専用機能ユニットｕ１〜ｕ４を設け、４つのブロックに対して、同時にフィルタ演算を実行することで、フィルタ演算の高速化を図っている。
【０４５１】
さて、次に、本実施の形態による動画像処理装置の処理の流れを説明する。
まず、プロセッサ２の命令を受けたＤＭＡコントローラ３は、主データメモリ１に格納された復号化対象符号データを、データバス４を介して、専用機能ユニットｕ０のローカルデータメモリｍ０に転送する。
【０４５２】
この場合の具体的な処理は、図１に示すように、実施の形態１による復号化処理において、プロセッサ２の命令を受けたＤＭＡコントローラ３が、主データメモリ１に格納された復号化対象符号データを、データバス４を介して、専用機能ユニットＵ０のローカルデータメモリＭ０に転送する場合の処理と同様である。
【０４５３】
上記のデータ転送が終了すると、プロセッサ２は、ＤＭＡコントローラ３から、データ転送終了通知を受け取る。
【０４５４】
この通知を受けたプロセッサ２は、専用機能ユニットｕ０に対して、復号処理を開始するように指示する。
【０４５５】
この指示を受けた専用機能ユニットｕ０の復号回路ｆ０は、ローカルデータメモリｍ０に格納された復号化対象符号データに対して、復号処理を実行し、その処理結果である復号化動画像データをローカルデータメモリｍ０に格納する。
【０４５６】
次に、ローカルデータメモリｍ０に格納された復号化動画像データを、データバス９を介して、専用機能ユニットｕ１〜ｕ４のローカルデータメモリｍ１〜ｍ４に転送する。具体的には、このデータ転送は、以下のように実行される。
【０４５７】
復号化動画像データのローカルデータメモリｍ０への格納が完了したことに応じて、専用機能ユニットｕ０は、データ転送コントローラ１０に対して、データ転送要求を行う。
【０４５８】
データ転送コントローラ１０は、専用機能ユニットｕ１〜ｕ４がデータを受け取ることが可能な状態であれば、ローカルデータメモリｍ０に格納された復号化動画像データを、データバス９を介して、ローカルデータメモリｍ１〜ｍ４に転送する。この場合のデータ転送の単位は、ブロック単位である。
【０４５９】
従って、ローカルデータメモリｍ１〜ｍ４の各々には、ブロック単位のデータが入力され格納される。
【０４６０】
データ転送の終了後、専用機能ユニットｕ０は、専用機能ユニットｕ１〜ｕ４に対して、データ転送が完了したことを通知する。
【０４６１】
この通知を受けた専用機能ユニットｕ１〜ｕ４のフィルタ演算回路ｆ１〜ｆ４は、対応するローカルデータメモリｍ１〜ｍ４に格納されたブロック単位のデータに対するフィルタ演算を開始する。
【０４６２】
そして、フィルタ演算回路ｆ１〜ｆ４は、フィルタ演算の結果を、対応するローカルデータメモリｍ１〜ｍ４に格納する。
【０４６３】
フィルタ演算が完了した後、専用機能ユニットｕ１〜ｕ４は、プロセッサ２に対して、フィルタ演算が完了したことを通知する。
【０４６４】
この通知を受けたプロセッサ２は、ローカルデータメモリｍ１〜ｍ４に格納されているフィルタ演算後の復号化動画像データを、主データメモリ１に転送する。
【０４６５】
この際、プロセッサ２は、プログラム制御によって、ローカルデータメモリｍ１〜ｍ４に格納されているフィルタ演算後の復号化動画像データを、主データメモリ１に転送するための命令列を実行し、ＤＭＡコントローラ３に対して、データ転送要求を行う。
【０４６６】
ＤＭＡコントローラ３は、当該データ転送要求と、データバス４を介した他のデータ転送要求と、の調停を行い、最終的には、プロセッサ２の当該データ転送要求を受け付けて、ローカルデータメモリｍ１〜ｍ４から主データメモリ１へのデータ転送を実行する。
【０４６７】
この間のデータ転送の経路は、ローカルデータメモリｍ１〜ｍ４から、データバス４を介して、主データメモリ１に至る経路である。
【０４６８】
さて、以上のように、本実施の形態では、布線論理制御によって動作する専用機能ユニットｕ０〜ｕ４を連結するデータバス９を設けているので、専用機能ユニットｕ０から専用機能ユニットｕ１〜ｕ４へのデータの転送は、データバス９を介して実行できる。
【０４６９】
このため、データバス４を介したデータの転送頻度を抑制できる。従って、プログラム制御によって動作するプロセッサ２と、専用機能ユニットｕ０〜ｕ４とによって、一連の処理（復号に関する一連の処理）を実行する場合において、データを転送する際の待ち時間の短縮化を図ることができる。
【０４７０】
その結果、データの処理効率の向上を、専用機能ユニットｕ０〜ｕ４の数に関係なく図ることができる。
【０４７１】
しかも、プログラム制御によって動作するプロセッサ２によるデータ処理の柔軟性、及び、布線論理制御によって動作する専用機能ユニットｕ０〜ｕ４による消費電力の低減効果、を維持できる。
【０４７２】
また、本実施の形態では、データバス９により、専用機能ユニットｕ０と、専用機能ユニットｕ１〜ｕ４と、の間で、一方向のデータの転送を行っている。
【０４７３】
このため、双方向のデータの転送を行う場合と比較して、データを転送する際の制御を容易に行うことができる。
【０４７４】
また、本実施の形態では、データバス９により、専用機能ユニットｕ０と、専用機能ユニットｕ１〜ｕ４と、を連結している。さらに、データバス９により、専用機能ユニットｕ０から、専用機能ユニットｕ１〜ｕ４へ、一方向のデータの転送を行っている。
【０４７５】
このため、専用機能ユニットｕ０の処理結果である復号化動画像データに対して、専用機能ユニットｕ１〜ｕ４により、並列してフィルタ演算処理を実行することができる。
その結果、処理の高速化を図ることができる。
【０４７６】
なお、上記では、専用機能ユニットｕ０は、専用機能ユニットｕ１〜ｕ４へのデータの転送が終了したときに、専用機能ユニットｕ１〜ｕ４に対して、データの転送が終了したことを通知する。
【０４７７】
そして、専用機能ユニットｕ０からデータの転送終了通知を受けたことが起因となって、専用機能ユニットｕ１〜ｕ４では、フィルタ演算回路ｆ１〜ｆ４が起動し、フィルタ演算処理を実行する。
【０４７８】
ただし、実施の形態１で説明した場合と同様にして、プロセッサ２の制御により、フィルタ演算回路ｆ１〜ｆ４を起動させることもできる。
【０４７９】
また、上記では、ローカルデータメモリｍ０への処理結果の書き込み完了に応じて、専用機能ユニットｕ０が、データ転送コントローラ１０に対して、データ転送要求を行っていた。
【０４８０】
ただし、実施の形態１で説明した場合と同様にして、プロセッサ２が、データ転送コントローラ１０に対して、データ転送要求を行うこともできる。
【０４８１】
また、上記では、専用機能ユニットｕ０から専用機能ユニットｕ１〜ｕ４へのデータバス９を介したデータ転送の制御は、データ転送コントローラ１０が行っていた。
【０４８２】
ただし、実施の形態１で説明した場合と同様にして、このようなデータ転送の制御を、プロセッサ２が行うようにすることもできる。
【０４８３】
このように、プロセッサ２が、データバス９を介したデータ転送を制御する場合は、データ転送コントローラ１０が不要となり、実装面積の縮小化を図ることができる。
【０４８４】
さらに、この場合は、専用機能ユニットｕ０〜ｕ４の間でのデータバス９を介したデータ転送は、プロセッサ２によってプログラム制御可能となる。その結果、専用機能ユニットｕ０〜ｕ４の間でのデータ転送を自由に行うことができる。
【０４８５】
一方、データバス９を介したデータ転送の制御を、データ転送コントローラ１０が行う場合は、プロセッサ２の負担を軽減できる。
【０４８６】
また、上記では、専用機能ユニットｕ０は、復号を実行するための復号回路ｆ０を具備し、専用機能ユニットｕ１〜ｕ４は、フィルタ演算を実行するフィルタ演算回路ｆ１〜ｆ４を具備していた。
【０４８７】
しかし、専用機能ユニットｕの専用演算回路ｆの機能はこれに限定されるものではなく、任意の機能を有する専用演算回路ｆに対しても、本実施の形態を適用できる。
【０４８８】
そして、上記では、専用機能ユニットｕ０から、専用機能ユニットｕ１〜ｕ４への一方向へのデータ転送を行っていたが、専用機能ユニットｕの専用演算回路ｆの機能に応じて、データバス９を介した、任意の専用機能ユニットｕの間での任意の方向へのデータ転送を行うことができる。
【０４８９】
このように、データバス９を設けて、任意の専用機能ユニットｕの間での任意の方向へのデータ転送を可能にしておくことで、データバス９を用いたデータ転送を制御するデータ転送コントローラ１０のハードウェア構成は変更することなく、専用機能ユニットｕを変更するだけで、様々なデータ処理に対応することができる。
【０４９０】
また、上記では、専用機能ユニットｕ１〜ｕ４の数を４つとしたが、これに限定されるものではなく、これらは任意の数とすることができる。
また、本実施の形態と、実施の形態１〜３とを組み合わせることもできる。
【０４９１】
（実施の形態５）
本発明の実施の形態５における動画像符号化復号化装置の全体構成は、図１の動画像符号化復号化装置の全体構成と同様である。
【０４９２】
従って、実施の形態５の説明では、図１の動画像符号化復号化装置を、実施の形態５における動画像符号化復号化装置として説明する。
【０４９３】
ただし、実施の形態５における動画像符号化復号化装置では、図１の専用機能ユニットＵ１、Ｕ２に代えて、他の専用機能ユニットを設けている。この点を、詳しく説明する。
【０４９４】
図５は、本発明の実施の形態５における動画像符号化復号化装置の要部の説明図である。なお、図５において、図１と同様の部分については、同一の符号を付している。
【０４９５】
図５に示すように、本実施の形態における動画像符号化復号化装置は、図１の専用機能ユニットＵ１に代えて、専用機能ユニット１００を設け、図１の専用機能ユニットＵ２に代えて、専用機能ユニット２００を設けたものである。以下、実施の形態１と異なる点を中心に説明する。
【０４９６】
図５に示すように、専用機能ユニット１００は、ローカルデータメモリＭ１、量子化／逆量子化回路Ｆ１、セレクタ１０４、及び、データバス１０１、１０２、１０３、を含む。
【０４９７】
専用機能ユニット２００は、ローカルデータメモリＭ２、離散コサイン変換／逆離散コサイン変換回路（ＤＣＴ／ＩＤＣＴ回路）Ｆ２、セレクタ２０４、及び、データバス２０１、２０２、２０３、を含む。
【０４９８】
さて、データバスＢ０１は、図１の専用機能ユニットＵ０のローカルデータメモリＭ０と、専用機能ユニット１００のローカルデータメモリＭ１と、を連結する。
【０４９９】
データバス１０３は、ローカルデータメモリＭ１と、量子化／逆量子化回路Ｆ１と、を連結する。
【０５００】
データバス１０２は、セレクタ１０４を介して、量子化／逆量子化回路Ｆ１と、データバスＢ１２と、を連結する。
【０５０１】
データバス１０１は、セレクタ１０４を介して、ローカルデータメモリＭ１と、データバスＢ１２と、を連結する。
【０５０２】
データバスＢ１２は、専用機能ユニット１００のセレクタ１０４と、専用機能ユニット２００のセレクタ２０４と、を連結する。
【０５０３】
データバス２０１は、セレクタ２０４を介して、ローカルデータメモリＭ２と、データバスＢ１２と、を連結する。
【０５０４】
データバス２０２は、セレクタ１０４を介して、ＤＣＴ／ＩＤＣＴ回路Ｆ２と、データバスＢ１２と、を連結する。
【０５０５】
データバス２０３は、ローカルデータメモリＭ２と、ＤＣＴ／ＩＤＣＴ回路Ｆ２と、を連結する。
【０５０６】
データバスＢ２３は、専用機能ユニット２００のローカルデータメモリＭ２と、図１の専用機能ユニットＵ３のローカルデータメモリＭ３と、を連結する。
【０５０７】
専用機能ユニット１００のセレクタ１０４は、データバス１０１又はデータバス１０２のいずれか一方を選択して、データバスＢ１２と連結する。
【０５０８】
専用機能ユニット２００のセレクタ２０４は、データバス２０１又はデータバス２０２のいずれか一方を選択して、データバスＢ１２と連結する。
【０５０９】
さて、次に、動画像の符号化および復号化処理を実行する場合の動作について説明する。まず、符号化処理を実行する場合の動作について説明する。この場合の符号化処理は、例えば、ＭＰＥＧ方式による符号化処理である。
【０５１０】
専用機能ユニット２００のローカルデータメモリＭ２に、データバスＢ２３を介して、差分データが転送されるまでの処理は、実施の形態１の符号化処理において、専用機能ユニットＵ２のローカルデータメモリＭ２に、データバスＢ２３を介して、差分データが転送されるまでの処理と同様である。
【０５１１】
専用機能ユニット２００のＤＣＴ／ＩＤＣＴ回路Ｆ２には、ローカルデータメモリＭ２から、所定クロックに従って、差分データが連続的に入力される。
【０５１２】
ＤＣＴ／ＩＤＣＴ回路Ｆ２は、差分データの１つ１つに対して、離散コサイン変換処理を行うことが可能である。
【０５１３】
しかも、ＤＣＴ／ＩＤＣＴ回路Ｆ２は、上記した所定クロックに同期して動作する同期回路であり、所定クロックの１サイクルで１つの差分データが入力され、数サイクルをかけて１つの差分データに対して離散コサイン変換処理を実行し、１サイクルで１つのＤＣＴ係数データを出力する。
【０５１４】
従って、ＤＣＴ／ＩＤＣＴ回路Ｆ２からは、その処理結果である１つ１つのＤＣＴ係数データが、処理開始から数サイクルの遅延後、上記した所定クロックに従って、データバス２０２に連続して出力される。
【０５１５】
この場合、セレクタ２０４は、データバス２０２を選択して、データバスＢ１２とデータバス２０２とを連結する。
【０５１６】
従って、ＤＣＴ／ＩＤＣＴ回路Ｆ２による１つ１つのＤＣＴ係数データは、上記の所定クロックに従って、データバス２０２を介して、データバスＢ１２へ連続的に出力される。
【０５１７】
この場合、専用機能ユニット１００のセレクタ１０４は、データバス１０２を選択して、データバスＢ１２とデータバス１０２と、を連結する。
【０５１８】
従って、ＤＣＴ／ＩＤＣＴ回路Ｆ２による１つ１つのＤＣＴ係数データは、上記の所定クロックに従って、データバス２０２、Ｂ１２を介して、データバス１０２へ入力される。
【０５１９】
量子化／逆量子化回路Ｆ１は、ＤＣＴ係数データの１つ１つに対して、量子化処理を行うことが可能である。
【０５２０】
しかも、量子化／逆量子化回路Ｆ１は、上記した所定クロックに同期して動作する同期回路であり、所定クロックの１サイクルで１つのＤＣＴ係数データが入力され、１サイクルで１つのＤＣＴ係数データに対して量子化処理を実行し、１サイクルで１つの量子化ＤＣＴ係数データを出力する。
【０５２１】
従って、量子化／逆量子化回路Ｆ１は、データバス１０２から、上記した所定クロックに従って連続して入力される１つ１つのＤＣＴ係数データに対して、順次、量子化処理を実行する。
【０５２２】
そして、量子化／逆量子化回路Ｆ１は、その処理結果である量子化ＤＣＴ係数データを、上記の所定クロックに従って、データバス１０３へ出力する。
そして、この量子化ＤＣＴ係数データは、ローカルデータメモリＭ１に格納される。
【０５２３】
上記処理において、専用機能ユニット２００のローカルデータメモリＭ２から、専用機能ユニット１００のローカルデータメモリＭ１に至る経路は、ローカルデータメモリＭ２、データバス２０３、ＤＣＴ／ＩＤＣＴ回路Ｆ２、データバス２０２、セレクタ２０４、データバスＢ１２、セレクタ１０４、データバス１０２、量子化／逆量子化回路Ｆ１、データバス１０３、ローカルデータメモリＭ１、という経路である。
【０５２４】
専用機能ユニット１００のローカルデータメモリＭ１に量子化ＤＣＴ係数データが格納された後の処理は、実施の形態１の符号化処理において、専用機能ユニットＵ１のローカルデータメモリＭ１に量子化ＤＣＴ係数データが格納された後の処理と同様である。
【０５２５】
さて、次に、ＤＣＴ／ＩＤＣＴ回路Ｆ２から量子化／逆量子化回路Ｆ１までの処理の流れを、タイミング図を用いて詳細に説明する。
【０５２６】
まず、ローカルデータメモリＭ１、Ｍ２を介した処理の流れを説明する。この処理は、上記した処理と異なるが、上記した処理の効果の理解を容易にするために説明する。
【０５２７】
図６は、ローカルデータメモリＭ１、Ｍ２を介した処理のタイミング図である。
図６（ａ）は、時間軸を示しており、１区間は１サイクルである。
【０５２８】
図６（ｂ）は、ＤＣＴ／ＩＤＣＴ回路Ｆ２及び量子化／逆量子化回路Ｆ１が同期して動作する所定クロックを示している。
【０５２９】
図６（ｃ）は、ＤＣＴ係数データ＃０、…、＃ｎ（ｎは整数）が、ＤＣＴ／ＩＤＣＴ回路Ｆ２からデータバス２０３に出力される際のタイミング図である。
【０５３０】
図６（ｄ）は、ＤＣＴ係数データ＃０、…、＃ｎが、専用機能ユニット２００のローカルデータメモリＭ２に書き込まれる際のタイミング図である。
【０５３１】
図６（ｅ）は、ＤＣＴ係数データ＃０、…、＃ｎが、専用機能ユニット２００のローカルデータメモリＭ２から、専用機能ユニット１００のローカルデータメモリＭ１に転送される際のタイミング図である。
【０５３２】
図６（ｆ）は、ＤＣＴ係数データ＃０、…、＃ｎが、専用機能ユニット１００のローカルデータメモリＭ１に書き込まれる際のタイミング図である。
【０５３３】
図６（ｇ）は、ＤＣＴ係数データ＃０、…、＃ｎが、ローカルデータメモリＭ１から読み出される際のタイミング図である。
【０５３４】
図６（ｈ）は、量子化ＤＣＴ係数データ＄０、…、＄ｎ（ｎは整数）が、量子化／逆量子化回路Ｆ１からデータバス１０３に出力される際のタイミング図である。
【０５３５】
ＤＣＴ／ＩＤＣＴ回路Ｆ２は、図６（ｂ）に示す所定クロックに同期して動作し、所定クロックの数サイクルをかけて１つの差分データに対して、離散コサイン変換処理を実行する。
【０５３６】
そして、図６（ｃ）に示すように、ＤＣＴ／ＩＤＣＴ回路Ｆ２は、所定クロックの１サイクルで、１つのＤＣＴ係数データを、データバス２０３に出力する。
【０５３７】
従って、図６（ｃ）に示すように、ＤＣＴ／ＩＤＣＴ回路Ｆ２は、所定クロックに従って、連続的にＤＣＴ係数データ＃０〜＃ｎを、データバス２０３に出力する。
【０５３８】
ここで、ＤＣＴ／ＩＤＣＴ回路Ｆ２では、差分データの入力、離散コサイン変換処理、及び、ＤＣＴ係数データの出力、という各処理は、パイプライン処理により実行される。
【０５３９】
そして、図６（ｃ）及び図６（ｄ）に示すように、専用機能ユニット２００では、あるサイクルでデータバス２０３に出力したＤＣＴ係数データ＃Ｎ（Ｎ＝０、１、…、ｎ−１）を、次のサイクルで、ローカルデータメモリＭ２に書き込むと同時に、ＤＣＴ係数データ＃Ｎ＋１を、データバス２０３に出力する。
【０５４０】
さて、ローカルデータメモリＭ２への全てのＤＣＴ係数データ＃０〜＃ｎの書き込みが完了したときに、専用機能ユニット２００は、書き込みが完了したことを、データ転送コントローラＣ１２へ通知する。
【０５４１】
この通知を受けたデータ転送コントローラＣ１２は、図６（ｅ）に示すように、所定クロックに従って、ＤＣＴ係数データ＃０〜＃ｎを、データバス２０１、Ｂ１２、１０１を介して、ローカルデータメモリＭ１へ転送する。
【０５４２】
この場合、セレクタ２０４は、データバス２０１を選択し、データバス２０１とデータバスＢ１２とを連結している。また、セレクタ１０４は、データバス１０１を選択し、データバス１０１とデータバスＢ１２とを連結している。
【０５４３】
そして、図６（ｅ）及び図６（ｆ）に示すように、あるサイクルでデータバス２０１に出力したＤＣＴ係数データ＃Ｎ（Ｎ＝０、１、…、ｎ−１）を、次のサイクルで、ローカルデータメモリＭ１に書き込むと同時に、ＤＣＴ係数データ＃Ｎ＋１を、データバス２０１に出力する。
【０５４４】
ローカルデータメモリＭ２からローカルデータメモリＭ１への全てのＤＣＴ係数データ＃０〜＃ｎの転送が完了すると、量子化処理を行うように、量子化／逆量子化回路Ｆ１が起動される。
【０５４５】
そして、図６（ｇ）に示すように、所定クロックに従って、ローカルデータメモリＭ１から、ＤＣＴ係数データデータ＃０〜＃ｎが読み出される。
【０５４６】
そして、図６（ｈ）に示すように、ローカルデータメモリＭ１からのＤＣＴ係数データの読み出し開始時から、時間ｔの経過後、量子化／逆量子化回路Ｆ１は、量子化処理の結果である量子化ＤＣＴ係数データ＄０〜＄ｎ（ｎは整数）をデータバス１０３に出力する。時間ｔは、量子化／逆量子化回路Ｆ１の演算レイテンシである。
【０５４７】
ここで、量子化／逆量子化回路Ｆ１では、ＤＣＴ係数データの入力、量子化処理、及び、量子化ＤＣＴ係数データの出力、という各処理は、パイプライン処理により実行される。
【０５４８】
次に、ローカルデータメモリＭ１、Ｍ２を介さない処理の流れを説明する。
図７は、ローカルデータメモリＭ１、Ｍ２を介さない処理のタイミング図である。
【０５４９】
図７（ａ）は、時間軸を示しており、１区間は１サイクルである。
図７（ｂ）は、ＤＣＴ／ＩＤＣＴ回路Ｆ２及び量子化／逆量子化回路Ｆ１が同期して動作する所定クロックを示している。
【０５５０】
図７（ｃ）は、ＤＣＴ係数データ＃０、…、＃ｎ（ｎは整数）が、ＤＣＴ／ＩＤＣＴ回路Ｆ２からデータバス２０２に出力される際のタイミング図である。
【０５５１】
図７（ｄ）は、ＤＣＴ係数データ＃０、…、＃ｎが、データバス２０２、Ｂ１２、１０２を介して、専用機能ユニット１００の量子化／逆量子化回路Ｆ１に転送される際のタイミング図である。
【０５５２】
図７（ｅ）は、量子化ＤＣＴ係数データ＄０、…、＄ｎ（ｎは整数）が、量子化／逆量子化回路Ｆ１からデータバス１０３に出力される際のタイミング図である。
【０５５３】
ＤＣＴ／ＩＤＣＴ回路Ｆ２は、図７（ｂ）に示す所定クロックに同期して動作し、所定クロックの数サイクルをかけて１つの差分データに対して、離散コサイン変換処理を実行する。
【０５５４】
そして、図７（ｃ）に示すように、ＤＣＴ／ＩＤＣＴ回路Ｆ２は、所定クロックの１サイクルで、１つのＤＣＴ係数データを、データバス２０２に出力する。
【０５５５】
従って、図７（ｃ）に示すように、ＤＣＴ／ＩＤＣＴ回路Ｆ２は、所定クロックに従って、連続的にＤＣＴ係数データ＃０〜＃ｎを、データバス２０２に出力する。
【０５５６】
ここで、ＤＣＴ／ＩＤＣＴ回路Ｆ２では、差分データの入力、離散コサイン変換処理、及び、ＤＣＴ係数データの出力、という各処理は、パイプライン処理により実行される。
【０５５７】
そして、図６（ｃ）及び図６（ｄ）に示すように、あるサイクルでデータバス２０２に出力したＤＣＴ係数データ＃Ｎ（Ｎ＝０、１、…、ｎ−１）を、次のサイクルで、データバス２０２、Ｂ１２、１０２を介して、専用機能ユニット１００の量子化／逆量子化回路Ｆ１に転送すると同時に、ＤＣＴ係数データ＃Ｎ＋１を、データバス２０２に出力する。
【０５５８】
このように、所定クロックに従って、量子化／逆量子化回路Ｆ１に連続的に、ＤＣＴ係数データが入力される。
【０５５９】
この場合、セレクタ２０４は、データバス２０２を選択し、データバス２０２とデータバスＢ１２とを連結している。また、セレクタ１０４は、データバス１０２を選択し、データバス１０２とデータバスＢ１２とを連結している。
【０５６０】
そして、図７（ｅ）に示すように、ＤＣＴ係数データの量子化／逆量子化回路Ｆ１への入力から、時間ｔの経過後、量子化／逆量子化回路Ｆ１は、量子化処理の結果である量子化ＤＣＴ係数データ＄０〜＄ｎをデータバス１０３に出力する。時間ｔは、量子化／逆量子化回路Ｆ１の演算レイテンシである。
【０５６１】
ここで、量子化／逆量子化回路Ｆ１では、ＤＣＴ係数データの入力、量子化処理、及び、量子化ＤＣＴ係数データの出力、という各処理は、パイプライン処理により実行される。
【０５６２】
以上のように、ＤＣＴ／ＩＤＣＴ回路Ｆ２及び量子化／逆量子化回路Ｆ１において、パイプライン処理を実行することで、ＤＣＴ係数データをＤＣＴ／ＩＤＣＴ回路Ｆ２から量子化／逆量子化回路Ｆ１へ、データバス２０２、Ｂ１２、１０２を介して直接連続的に入力して、量子化処理できる。
【０５６３】
このため、ローカルデータメモリＭ２への書き込み、ローカルデータメモリＭ２からの読み出し、ローカルデータメモリＭ１への書き込み、及び、ローカルデータメモリＭ１からの読み出し、という各処理を省くことができ、量子化演算に関する処理効率を向上できる。
【０５６４】
図６と図７とを比較しても明らかなように、ローカルデータメモリＭ１、Ｍ２を介さない処理（図７）の方が、処理時間が短い。
【０５６５】
さて、次に、復号化処理を実行する場合の動作について説明する。この場合の復号化処理は、例えば、ＭＰＥＧ方式に対応する復号化処理である。
【０５６６】
専用機能ユニット１００のローカルデータメモリＭ１に、データバスＢ０１を介して、量子化ＤＣＴ係数データが転送されるまでの処理は、実施の形態１の復号化処理において、専用機能ユニットＵ１のローカルデータメモリＭ１に、データバスＢ０１を介して、量子化ＤＣＴ係数データが転送されるまでの処理と同様である。
【０５６７】
専用機能ユニット１００の量子化／逆量子化回路Ｆ１には、ローカルデータメモリＭ１から、所定クロックに従って、量子化ＤＣＴ係数データが連続的に入力される。
【０５６８】
量子化／逆量子化回路Ｆ１は、量子化ＤＣＴ係数データの１つ１つに対して、逆量子化処理を行うことが可能である。
【０５６９】
しかも、量子化／逆量子化回路Ｆ１は、上記した所定クロックに同期して動作する同期回路であり、所定クロックの１サイクルで１つの量子化ＤＣＴ係数データが入力され、数サイクルをかけて１つの量子化ＤＣＴ係数データに対して逆量子化処理を実行し、１サイクルで１つのＤＣＴ係数データを出力する。
【０５７０】
従って、量子化／逆量子化回路Ｆ１からは、その処理結果である１つ１つのＤＣＴ係数データが、処理開始から数サイクルの遅延後、上記した所定クロックに従って、データバス１０２に連続して出力される。
【０５７１】
この場合、セレクタ１０４は、データバス１０２を選択して、データバスＢ１２とデータバス１０２とを連結する。
【０５７２】
従って、量子化／逆量子化回路Ｆ１による１つ１つのＤＣＴ係数データは、上記の所定クロックに従って、データバス１０２を介して、データバスＢ１２へ連続的に出力される。
【０５７３】
この場合、専用機能ユニット２００のセレクタ２０４は、データバス２０２を選択して、データバスＢ１２とデータバス２０２と、を連結する。
【０５７４】
従って、量子化／逆量子化回路Ｆ１による１つ１つのＤＣＴ係数データは、上記の所定クロックに従って、データバス１０２、Ｂ１２を介して、データバス２０２へ連続的に入力される。
【０５７５】
なお、量子化／逆量子化回路Ｆ１では、量子化ＤＣＴ係数データの入力、逆量子化処理、及び、ＤＣＴ係数データの出力、という各処理は、パイプライン処理により実行される。
【０５７６】
さて、ＤＣＴ／ＩＤＣＴ回路Ｆ２は、ＤＣＴ係数データの１つ１つに対して、逆離散コサイン変換処理を行うことが可能である。
【０５７７】
しかも、ＤＣＴ／ＩＤＣＴ回路Ｆ２は、上記した所定クロックに同期して動作する同期回路であり、所定クロックの１サイクルで１つのＤＣＴ係数データが入力され、１サイクルで１つのＤＣＴ係数データに対して逆離散コサイン変換処理を実行し、１サイクルで１つの差分データを出力する。
【０５７８】
従って、ＤＣＴ／ＩＤＣＴ回路Ｆ２は、データバス２０２から、上記した所定クロックのサイクル毎に連続して入力される１つ１つのＤＣＴ係数データに対して、順次、逆離散コサイン変換処理を実行する。
【０５７９】
そして、ＤＣＴ／ＩＤＣＴ回路Ｆ２は、その処理結果である差分データを、上記の所定クロックに従って、データバス２０３へ出力する。
そして、この差分データは、ローカルデータメモリＭ２に格納される。
【０５８０】
なお、ＤＣＴ／ＩＤＣＴ回路Ｆ２では、ＤＣＴ係数データの入力、逆離散コサイン変換処理、及び、差分データの出力、という各処理は、パイプライン処理により実行される。
【０５８１】
上記処理において、専用機能ユニット１００のローカルデータメモリＭ１から、専用機能ユニット２００のローカルデータメモリＭ２に至る経路は、ローカルデータメモリＭ１、データバス１０３、量子化／逆量子化回路Ｆ１、データバス１０２、セレクタ１０４、データバスＢ１２、セレクタ２０４、データバス２０２、ＤＣＴ／ＩＤＣＴ回路Ｆ２、データバス２０３、ローカルデータメモリＭ２、という経路である。
【０５８２】
専用機能ユニット２００のローカルデータメモリＭ２に差分データが格納された後の処理は、実施の形態１の復号化処理において、専用機能ユニットＵ２のローカルデータメモリＭ２に差分データが格納された後の処理と同様である。
【０５８３】
なお、ローカルデータメモリＭ１、Ｍ２を介した場合の復号化処理のタイミング図は、専用機能ユニット１００と専用機能ユニット２００とが入れ替わるだけで、図６と同様になる。
【０５８４】
また、ローカルデータメモリＭ１、Ｍ２を介さない場合の復号化処理のタイミング図は、専用機能ユニット１００と専用機能ユニット２００とが入れ替わるだけで、図７と同様になる。
【０５８５】
さて、データバス４、Ｂ０１を介してローカルデータメモリＭ１に転送されてきたデータを、データバスＢ１２を介して専用機能ユニット２００に転送する場合、データバスＢ１２から転送されてくるデータをローカルデータメモリＭ１に格納する場合、はセレクタ１０４は、データバス１０１を選択して、データバス１０１とデータバスＢ１２とを連結する。
【０５８６】
また、データバス４、Ｂ２３を介してローカルデータメモリＭ２に転送されてきたデータを、データバスＢ１２を介して専用機能ユニット１００に転送する場合、データバスＢ１２から転送されてくるデータをローカルデータメモリＭ２に格納する場合、はセレクタ２０４は、データバス２０１を選択して、データバス２０１とデータバスＢ１２とを連結する。
【０５８７】
さて、以上のように、本実施の形態では、実施の形態１と同様の構成を備えている。このため、実施の形態１と同様に、プログラム制御によるデータ処理の柔軟性、及び、布線論理制御による消費電力の低減効果、を維持しながらも、データの処理効率を向上できる。その他、実施の形態１と同様の効果を奏する。
【０５８８】
また、本実施の形態では、量子化／逆量子化回路Ｆ１の処理結果に対して、ＤＣＴ／ＩＤＣＴ回路Ｆ２が処理を施す場合、又は、ＤＣＴ／ＩＤＣＴ回路Ｆ２の処理結果に対して、量子化／逆量子化回路Ｆ１が処理を施す場合、セレクタ１０４は、データバス１０２を選択して、データバスＢ１２と連結し、セレクタ２０４は、データバス２０２を選択して、データバスＢ１２と連結する。
【０５８９】
このように、量子化／逆量子化回路Ｆ１とＤＣＴ／ＩＤＣＴ回路Ｆ２とを直接連結するデータバス１０２、２０２を設けることで、量子化／逆量子化回路Ｆ１における処理結果を、ローカルデータメモリＭ１に一旦記憶することなしに、データバスＢ１２を介して、ＤＣＴ／ＩＤＣＴ回路Ｆ２に直接入力することができる。
【０５９０】
このため、量子化／逆量子化回路Ｆ１における処理、及び、量子化／逆量子化回路Ｆ１による処理結果に対するＤＣＴ／ＩＤＣＴ回路Ｆ２による処理、を並列に実行できる。
【０５９１】
同様に、ＤＣＴ／ＩＤＣＴ回路Ｆ２における処理、及び、ＤＣＴ／ＩＤＣＴ回路Ｆ２による処理結果に対する量子化／逆量子化回路Ｆ１による処理、も並列に実行できる。
その結果、処理の高速化を図ることができる。
【０５９２】
なお、上記では、専用機能ユニット１００は、量子化／逆量子化回路Ｆ１を具備し、専用機能ユニット２００は、ＤＣＴ／ＩＤＣＴ回路Ｆ２を具備していた。
【０５９３】
しかし、専用演算回路Ｆの機能はこれに限定されるものではなく、任意の機能を有する専用演算回路Ｆに対しても、本実施の形態を適用できる。
また、本実施の形態と実施の形態１〜４とを組み合わせることもできる。
【０５９４】
（実施の形態６）
図８は、本発明の実施の形態６におけるデータ処理システムのブロック図である。なお、図８において、図１と同様の部分については、同一の符号を付して説明を適宜省略する。
【０５９５】
図８に示すように、このデータ処理システムは、主データメモリ１、プロセッサ２、ダイレクトメモリアクセスコントローラ（ＤＭＡコントローラ）３、専用機能ユニットα０〜αＮ（Ｎは１以上の整数）、データバス４、データバスε０〜εＮ（Ｎは１以上の整数）、及び、レジスタ１１、を具備する。
【０５９６】
プロセッサ２は、演算回路２１、及び、ローカルデータメモリ２２、を含む。専用機能ユニットα０〜αＮは、セレクタδ０〜δＮ（Ｎは１以上の整数）、ローカルデータメモリγ０〜γＮ（Ｎは１以上の整数）、及び、専用演算回路β０〜βＮ（Ｎは１以上の整数）、を含む。
【０５９７】
ここで、プロセッサ２は、プログラム制御によりデータ処理を実行するデータ処理装置に相当する。
【０５９８】
専用機能ユニットα０〜αＮの各々は、布線論理制御によりデータ処理を実行するデータ処理装置（所定の機能に特化した専用ハードウェアによるデータ処理装置）に相当する。
【０５９９】
なお、専用機能ユニットα０〜αＮを包括して表現するときは、専用機能ユニットα、とする。また、データバスε０〜εＮを包括して表現するときは、データバスε、とする。
【０６００】
また、セレクタδ０〜δＮを包括して表現するときは、セレクタδ、とし、ローカルデータメモリγ０〜γＮを包括して表現するときは、ローカルデータメモリγ、とし、専用演算回路β０〜βＮを包括して表現するときは、専用演算回路β、とする。
【０６０１】
さて、データバス４は、主データメモリ１を介して、プロセッサ２と専用機能ユニットα０〜αＮとを連結する。
【０６０２】
また、ある１つのデータバスεは、対応する１つの専用機能ユニットαのローカルデータメモリγと、その専用機能ユニットαを除く他の全ての専用機能ユニットαのセレクタδと、を連結する。
【０６０３】
例えば、データバスεＮは、対応する専用機能ユニットαＮのローカルデータメモリγＮと、その専用機能ユニットαＮを除く他の全ての専用機能ユニットα０〜αＮ−１のセレクタδ０〜δＮ−１と、を連結する。
【０６０４】
次に、各構成の動作を説明する。主データメモリ１は、データを格納する。例えば、プロセッサ２による処理結果、あるいは、専用機能ユニットαによる処理結果、などを格納する。
【０６０５】
プロセッサ２は、プログラム制御によりデータ処理を実行する。プロセッサ２のローカルデータメモリ２２は、主データメモリ１から転送されたデータ、又は、演算回路２１による処理結果、を格納する。
【０６０６】
プロセッサ２の演算回路２１は、命令で指定されたデータ操作や演算を実行する。例えば、主データメモリ１から転送されローカルデータメモリ２２に格納されたデータに対して演算処理を施して、処理結果をローカルデータメモリ２２に格納する。
【０６０７】
専用機能ユニットαのローカルデータメモリγは、主データメモリ１から転送されたデータ、又は、対応する専用演算回路βによる処理結果、を格納する。
【０６０８】
専用機能ユニットαの専用演算回路βは、対応するローカルデータメモリγに格納されたデータに対して、予め定められた演算を施して、その結果を対応するローカルデータメモリγに格納する。
【０６０９】
ＤＭＡコントローラ３は、主データメモリ１とプロセッサ２との間のデータ転送、及び、主データメモリ１と専用機能ユニットαとの間のデータ転送、を制御する。
【０６１０】
データバスεは、対応する専用機能ユニットαから、他の専用機能ユニットαへのデータ転送を行う。
【０６１１】
例えば、データバスεＮは、対応する専用機能ユニットαＮのローカルデータメモリγＮに格納されたデータを、他の専用機能ユニットα０〜αＮ−１のうち、選択された専用機能ユニットに転送する。
【０６１２】
セレクタδは、連結されるＮ−１系統のデータバスεの中から、１系統を選択して、対応するローカルデータメモリγと連結する。
【０６１３】
例えば、セレクタδＮは、連結されるＮ−１系統のデータバスε０〜εＮ−１の中から、１系統を選択して、対応するローカルデータメモリγＮと連結する。
【０６１４】
レジスタ１１には、連結マップテーブル１２が、保持されている。連結マップテーブル１２は、各専用機能ユニットαに対して、データの転送元（ソース）となる専用機能ユニットα、及び、データの転送先（デスティネーション）となる専用機能ユニットα、を指定するテーブルである。
【０６１５】
従って、セレクタδは、連結マップテーブル１２に従って、データの転送元となる専用機能ユニットαと、データの転送先となる専用機能ユニットαと、を実質的に連結する。
【０６１６】
実質的な連結とは、データの転送元となる専用機能ユニットαのローカルデータメモリγと、データの転送先となる専用機能ユニットαのローカルデータメモリγと、が連結されることをいい、ある専用機能ユニットαのローカルデータメモリγと、他の専用機能ユニットαのセレクタδと、が単に連結されることをいうのではない。
【０６１７】
プロセッサ２は、このようなレジスタ１１の連結マップテーブル１２の内容を書き換えることができる。つまり、プロセッサ２が、連結マップテーブル１２の内容を任意に設定する。
【０６１８】
具体的には、プロセッサ２は、データ処理システムによるデータ処理を開始する前に、データ処理システムにおける処理内容と、専用機能ユニットαの実装及び構成と、に基づいて、連結マップテーブル１２の内容を設定する。
【０６１９】
そして、セレクタδは、プロセッサ２が設定した連結マップテーブル１２に従って、データバスεにより、データの転送元となる専用機能ユニットαと、データの転送先となる専用機能ユニットαと、を実質的に連結する。
【０６２０】
以下、この点について、具体例を挙げながら説明する。プロセッサ２は、プロセッサ２の記憶空間に割り当てられている連結マップテーブル１２のアドレスに値を設定するための命令列を実行し、例えば、図８に示すように、専用機能ユニットα１に対するデータの転送先を専用機能ユニットαｍに、専用機能ユニットαｍに対するデータの転送元を専用機能ユニットα１に、専用機能ユニットαｍに対するデータの転送先を専用機能ユニットαＮに、専用機能ユニットαＮに対するデータの転送元を専用機能ユニットαｍに、設定したとする。
【０６２１】
このような、連結マップテーブル１２の設定は、例えば、プロセッサ２が、本データ処理システムを制御するための外部の制御装置（図示せず）からの指示で行うこともできるし、あるいは、プロセッサ２が、本データ処理システムに予め組み込まれた、システム立ち上げ時の初期化プログラムによる制御により行うことができる。
【０６２２】
専用機能ユニットαのセレクタδは、連結マップテーブル１２に設定されている、転送元の情報と転送先の情報と、を制御情報として使用する。
【０６２３】
従って、専用機能ユニットαｍのセレクタδｍは、連結マップテーブル１２に従って、データバスε１を選択し、専用機能ユニットα１のローカルデータメモリγ１と、専用機能ユニットαｍのローカルデータメモリγｍと、を実質的に連結する。
【０６２４】
これにより、専用機能ユニットα１のローカルデータメモリγ１に格納されたデータが、専用機能ユニットαｍのローカルデータメモリγｍに転送される。
【０６２５】
そして、専用機能ユニットαｍの専用演算回路βｍは、ローカルデータメモリγｍに格納されたデータに対して、演算処理を実行し、ローカルデータメモリγｍに格納する。
【０６２６】
専用機能ユニットαＮのセレクタδＮは、連結マップテーブル１２に従って、データバスεｍを選択し、専用機能ユニットαｍのローカルデータメモリγｍと、専用機能ユニットαＮのローカルデータメモリγＮと、を実質的に連結する。
【０６２７】
これにより、専用機能ユニットαｍのローカルデータメモリγｍに格納されたデータが、専用機能ユニットαＮのローカルデータメモリγＮに転送される。
【０６２８】
そして、専用機能ユニットαＮの専用演算回路βＮは、ローカルデータメモリγＮに格納されたデータに対して、演算処理を実行し、ローカルデータメモリγＮに格納する。
【０６２９】
さて、以上のように、本実施の形態では、布線論理制御によって動作する専用機能ユニットα０〜αＮを連結するデータバスε０〜εＮを設けている。
【０６３０】
これにより、専用機能ユニットα０〜αＮの間でのデータの転送は、データバスε０〜εＮを介して実行できる。
【０６３１】
このため、データバス４を介したデータの転送頻度を抑制できる。従って、プログラム制御によって動作するプロセッサ２と、専用機能ユニットα０〜αＮとによって、一連の処理を実行する場合において、データを転送する際の待ち時間の短縮化を図ることができる。
【０６３２】
その結果、データの処理効率の向上を、専用機能ユニットα０〜αＮの数に関係なく図ることができる。
【０６３３】
しかも、プログラム制御によって動作するプロセッサ２によるデータ処理の柔軟性、及び、布線論理制御によって動作する専用機能ユニットα０〜αＮによる消費電力の低減効果、を維持できる。
【０６３４】
また、本実施の形態では、データバスεにより、専用機能ユニットαと他の専用機能ユニットαとの間で、双方向のデータの転送を行うことができる。
【０６３５】
従って、一方の専用機能ユニットαの処理結果を他方の専用機能ユニットαで処理できるし、また、他方の専用機能ユニットαの処理結果を一方の専用機能ユニットαで処理できる。
【０６３６】
また、本実施の形態では、専用機能ユニットαの専用演算回路βの機能に応じて、データバスεを介した、任意の専用機能ユニットαの間での任意の方向へのデータ転送を行うことができる。
【０６３７】
このように、データバスεを設けて、任意の専用機能ユニットαの間での任意の方向へのデータ転送を可能にしておくことで、データバスεを用いたデータ転送を制御するプロセッサ２及びデータバスεのハードウェア構成は変更することなく、専用機能ユニットαを変更するだけで、様々なデータ処理に対応することができる。
【０６３８】
また、本実施の形態のように、プロセッサ２が、データバスεを介したデータ転送を制御する場合は、データバスεを介したデータ転送を制御する特別の回路が不要となり、実装面積の縮小化を図ることができる。
【０６３９】
さらに、専用機能ユニットαの間でのデータバスεを介したデータ転送は、プロセッサ２によってプログラム制御可能である。その結果、専用機能ユニットαの間でのデータ転送を自由に行うことができる。
【０６４０】
【発明の効果】
請求項１記載のデータ処理システムでは、布線論理制御によって動作する第２のデータ処理手段を連結する第２のデータ転送手段を設けているので、第２のデータ処理手段の間でのデータの転送は、第２のデータ転送手段を介して実行できる。
【０６４１】
このため、第１のデータ転送手段を介したデータの転送頻度を抑制できる。従って、プログラム制御によって動作する第１のデータ処理手段と、複数の第２のデータ処理手段とによって、一連の処理を実行する場合において、データを転送する際の待ち時間の短縮化を図ることができる。
【０６４２】
その結果、データの処理効率の向上を、第２のデータ処理手段の数に関係なく図ることができる。
【０６４３】
しかも、プログラム制御によって動作する第１のデータ処理手段によるデータ処理の柔軟性、及び、布線論理制御によって動作する第２のデータ処理手段による消費電力の低減効果、を維持できる。
【０６４４】
請求項２記載のデータ処理システムでは、一方の第２のデータ処理手段の処理結果を他方の第２のデータ処理手段で処理できるし、また、他方の第２のデータ処理手段の処理結果を一方の第２のデータ処理手段で処理できる。
【０６４５】
請求項３記載のデータ処理システムでは、双方向のデータの転送を行う場合と比較して、データを転送する際の制御を容易に行うことができる。
【０６４６】
請求項４記載のデータ処理システムでは、第２のデータ転送手段により、複数の第２のデータ処理手段を連結する場合と比較して、データを転送する際の制御を容易に行うことができる。また、実装面積の縮小化を図ることができる。
【０６４７】
請求項５記載のデータ処理システムでは、第２のデータ処理手段の処理結果を、複数の第２のデータ転送手段により連結された複数の他の第２のデータ処理手段の中から選択した第２のデータ処理手段に転送できる。
その結果、データ処理の自由度を向上できる。
【０６４８】
請求項６記載のデータ処理システムでは、第２のデータ転送手段により連結された複数の第２のデータ処理手段の間で、任意にデータの転送を行うことができる。
【０６４９】
請求項７記載のデータ処理システムでは、所定の第２のデータ処理手段の処理結果を、他の複数の第２のデータ処理手段により、並列に処理することができる。
その結果、処理の高速化を図ることができる。
【０６５０】
請求項８記載のデータ処理システムでは、第１のデータ処理手段と第２のデータ処理手段とを連結する第３のデータ転送手段を設けているので、第１のデータ処理手段の処理結果と、第２のデータ処理手段の処理結果とを、記憶手段及び第１のデータ転送手段を介さずに直接送受信することができる。
【０６５１】
このため、第１のデータ転送手段を介したデータの転送頻度をより抑制することができる。その結果、データの処理効率をより向上させることができる。
【０６５２】
請求項９記載のデータ処理システムでは、第２のデータ処理手段における処理結果を、一旦記憶することなしに、第２のデータ転送手段を介して、他の第２のデータ処理手段に直接入力することができる。
【０６５３】
このため、第２のデータ処理手段における処理、及び、その第２のデータ処理手段による処理結果に対する他の第２のデータ処理手段による処理、を並列に実行できる。
その結果、処理の高速化を図ることができる。
【０６５４】
請求項１０記載のデータ処理システムでは、第２のデータ処理手段の間でのデータ転送は、第１のデータ処理手段によってプログラム制御可能となる。
【０６５５】
その結果、第２のデータ処理手段の間でのデータ転送を自由に行うことができる。
【０６５６】
また、第２のデータ転送手段を介したデータの転送を制御するための特別の手段を設ける場合と比較して、実装面積の縮小化を図ることができる。
【０６５７】
請求項１１記載のデータ処理システムでは、第１のデータ処理手段と第２のデータ処理手段との間でのデータ転送は、第１のデータ処理手段によってプログラム制御可能となる。
【０６５８】
その結果、第１のデータ処理手段と第２のデータ処理手段との間での直接のデータ転送を自由に行うことができる。
【０６５９】
また、第３のデータ転送手段を介したデータの転送を制御するための特別の手段を設ける場合と比較して、実装面積の縮小化を図ることができる。
【０６６０】
請求項１２記載のデータ処理システムでは、第１のデータ処理手段が、第２のデータ転送手段を介したデータの転送を制御する場合と比較して、第１のデータ処理手段の負担を軽減できる。
【０６６１】
請求項１３記載のデータ処理システムでは、第１のデータ処理手段が、第３のデータ転送手段を介したデータの転送を制御する場合と比較して、第１のデータ処理手段の負担を軽減できる。
【０６６２】
請求項１４記載のデータ処理システムでは、符号化の処理効率の向上を図ることができる。
【０６６３】
請求項１５記載のデータ処理システムでは、復号化の処理効率の向上を図ることができる。
【図面の簡単な説明】
【図１】本発明の実施の形態１における動画像符号化復号化装置のブロック図
【図２】本発明の実施の形態２における動画像符号化復号化装置のブロック図
【図３】本発明の実施の形態３における動画像復号化装置のブロック図
【図４】本発明の実施の形態４における動画像処理装置のブロック図
【図５】本発明の実施の形態５における動画像符号化復号化装置の要部のブロック図
【図６】（ａ）同動画像符号化復号化装置によるローカルデータメモリを介した処理のタイミング図
（ｂ）同動画像符号化復号化装置によるローカルデータメモリを介した処理のタイミング図
（ｃ）同動画像符号化復号化装置によるローカルデータメモリを介した処理のタイミング図
（ｄ）同動画像符号化復号化装置によるローカルデータメモリを介した処理のタイミング図
（ｅ）同動画像符号化復号化装置によるローカルデータメモリを介した処理のタイミング図
（ｆ）同動画像符号化復号化装置によるローカルデータメモリを介した処理のタイミング図
（ｇ）同動画像符号化復号化装置によるローカルデータメモリを介した処理のタイミング図
（ｈ）同動画像符号化復号化装置によるローカルデータメモリを介した処理のタイミング図
【図７】（ａ）同動画像符号化復号化装置によるローカルデータメモリを介さない処理のタイミング図
（ｂ）同動画像符号化復号化装置によるローカルデータメモリを介さない処理のタイミング図
（ｃ）同動画像符号化復号化装置によるローカルデータメモリを介さない処理のタイミング図
（ｄ）同動画像符号化復号化装置によるローカルデータメモリを介さない処理のタイミング図
（ｅ）同動画像符号化復号化装置によるローカルデータメモリを介さない処理のタイミング図
【図８】本発明の実施の形態６におけるデータ処理システムのブロック図
【図９】従来のデータ処理システムのブロック図
【符号の説明】
１、３００　主データメモリ
２、３０１　プロセッサ
３、３０２　ダイレクトメモリアクセスコントローラ（ＤＭＡコントローラ）
４、Ｂ０１、Ｂ１２、Ｂ２３、５、ｂ０１、ｂ１２、ｂ２３、ｂ０３、９、１０１〜１０３、２０１〜２０３、ε０〜εＮ、３０３　データバス
１１　レジスタ
１２　連結マップテーブル
２１、３０４　演算回路
２２、Ｍ０〜Ｍ３、ｍ０〜ｍ４、γ０〜γＮ、３０５、Ｄ０〜Ｄｎ　ローカルデータメモリ
１０４、２０４、δ０〜δＮ　セレクタ
Ｕ０〜Ｕ３、φ０〜φ３、ｕ０〜ｕ４、α０〜αＮ、Ａ０〜Ａｎ　専用機能ユニット
Ｆ０　可変長符号化／復号化回路
Ｆ１、１００　量子化／逆量子化回路
Ｆ２、２００　離散コサイン変換／逆離散コサイン変換回路（ＤＣＴ／ＩＤＣＴ回路）
Ｆ３　動き検出／動き補償回路
Ｃ０１、Ｃ１２、Ｃ２３、６、８、１０　データ転送コントローラ
ω０　可変長復号化回路
ω１　逆量子化回路
ω２　逆離散コサイン変換回路（ＩＤＣＴ回路）
ω３　動き補償回路
ｆ０　復号回路
ｆ１〜ｆ４　フィルタ演算回路
β０〜βＮ、Ｅ０〜Ｅｎ　専用演算回路
【図１】
2004046499.tif 000003
【図２】
2004046499.tif 000004
【図３】
2004046499.tif 000005
【図４】
2004046499.tif 000006
【図５】
2004046499.tif 000007
【図６】
2004046499.tif 000008
【図７】
2004046499.tif 000009
【図８】
2004046499.tif 000010
【図９】
2004046499.tif 000011