(57)【要約】【課題】機能拡張が容易で機能の検証を容易に行える信号処理装置を得ること。【解決手段】複数の信号処理を行う画像ＣＯＤＥＣ１２６において、予め設定された所定の信号処理を行う専用画像処理ブロック１０と、専用画像処理ブロック１０内の各処理モジュール１０２〜１０５がアクセスする内部メモリ１１４と、専用画像処理ブロック１０と内部メモリ１１４の間のデータ転送を行うＤＭＡＣ１０７と、を有し、内部メモリ１１４上の処理対象データをＤＭＡＣ１０７を介して専用画像処理ブロック１０に入力するとともに、専用画像処理ブロック１０内の処理モジュール１０２〜１０５によって信号処理された処理対象データをＤＭＡＣ１０７を介して内部メモリ１１４に出力するよう、専用画像処理ブロック１０、内部メモリ１１４およびＤＭＡＣ１０７をバス接続することを特徴とする信号処理装置。【選択図】図１
2006330871.tif 000002
【特許請求の範囲】
【請求項１】
複数の信号処理を行う信号処理装置において、
予め設定された所定の信号処理を行う複数の信号処理手段と、
前記各信号処理手段がアクセスするメモリと、
前記信号処理手段と前記メモリの間のデータ転送を行うＤＭＡコントローラと、
前記信号処理手段、前記メモリおよび前記ＤＭＡコントローラを制御する制御手段と、
を有し、
前記メモリ上の処理対象データを前記ＤＭＡコントローラを介して前記画像処理手段に入力するとともに、前記画像処理手段によって信号処理された処理対象データを前記ＤＭＡコントローラを介して前記メモリに出力するよう、前記信号処理手段、前記メモリおよび前記ＤＭＡコントローラをバス接続することを特徴とする信号処理装置。
【請求項２】
前記制御手段は、前記メモリ上の処理対象データを１つの信号処理手段に入力して当該信号処理手段からの処理対象データを前記メモリに出力する処理を、複数の信号処理手段に順次行って連続した複数の信号処理を行うことを特徴とする請求項１に記載の信号処理装置。
【請求項３】
前記信号処理手段は、画像に関する信号処理を行うことを特徴とする請求項１または２に記載の信号処理装置。
【請求項４】
前記信号処理手段の画像に関する信号処理は、画像属性の変換処理および符号データのフォーマット変換処理を含み、
前記制御手段は、前記画像属性の変換処理および前記符号データのフォーマット変換処理を１つのシーケンス制御によって行うよう、前記信号処理手段、前記メモリおよび前記ＤＭＡコントローラを制御することを特徴とする請求項１〜３のいずれか１つに記載の信号処理装置。
【請求項５】
前記信号処理手段の画像に関する信号処理は、画像の回転処理および符号データのフォーマット変換処理を含み、
前記制御手段は、前記画像の回転処理および前記符号データのフォーマット変換処理を１つのシーケンス制御によって行うよう、前記信号処理手段、前記メモリおよび前記ＤＭＡコントローラを制御することを特徴とする請求項１〜４のいずれか１つに記載の信号処理装置。
【請求項６】
前記請求項１〜５のいずれか１つに記載の信号処理装置を備えるデジタル複合機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は複数の信号処理を行う信号処理装置に関するものである。
【背景技術】
【０００２】
デジタル複合機は、コピー機能、プリンタ機能、ＦＡＸ（Facsimile）機能を統合した装置であり、各種の画像処理機能を高速に実行することが求められる。従来、デジタル複合機に用いる画像処理機能は、例えば、ＪＰＥＧ（Joint Photographic Experts Group）やＪＢＩＧ（Joint Bi-level Image experts Group）などの単機能のＬＳＩ（Large Scale Integration）を複数個組み合わせて実現していた。このため、デジタル複合機に用いる画像処理機能は、複数の単機能ＬＳＩを共通バスに接続していた。
【０００３】
しかしながら、複数個のＬＳＩを共通バスに接続するとバスの転送負荷が増大し、高速化が実現しにくくなるといった問題があった。また、ＬＳＩのチップ数が多くなるとコストアップにつながること、基板の実装面積が増大することなどによって、性能、コスト、基板実装面で問題が生じる。このような問題点を解決する方法として、相互に関連する複数の機能を１つのＬＳＩにまとめて実装する技術がある。
【０００４】
特許文献１に記載の信号処理装置は、複数の機能（処理手段）をまとめて１つのＬＳＩとして実現している。すなわち、このＬＳＩには、ＭＰＥＧ符号化／復号化、誤り訂正の各機能が実装されている。また、これらの各機能モジュールがアドレス変換回路を介して直接メモリにアクセスするように接続されている。
【特許文献１】特開平８−１２３９４４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記従来の技術では、アドレス変換回路が論理回路であるため、各モジュールがメモリのどの領域にアクセスできるかを予め設定したうえで、各モジュールが回路に実装されている。このような予め固定して設計された論理回路による構成では、機能拡張に対する自由度はなく、また新規の機能モジュールを追加する場合、ＬＳＩのアーキテクチャレベルからの再設計が必要となる。そのため、機能拡張性やアーキテクチャの継承性に乏しいという問題があった。また、実装する処理機能の種類が増えるにつれて、これらを制御する制御回路が複雑になり、機能の検証が困難になるという問題があった。
【０００６】
本発明は、上記に鑑みてなされたものであって、機能拡張が容易で機能の検証を容易に行える信号処理装置を得ることを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明の信号処理装置は、複数の信号処理を行う信号処理装置において、予め設定された所定の信号処理を行う複数の信号処理手段と、各信号処理手段がアクセスするメモリと、信号処理手段とメモリの間のデータ転送を行うＤＭＡコントローラと、信号処理手段、メモリおよびＤＭＡコントローラを制御する制御手段と、を有し、メモリ上の処理対象データをＤＭＡコントローラを介して画像処理手段に入力するとともに、画像処理手段によって信号処理された処理対象データをＤＭＡコントローラを介してメモリに出力するよう、信号処理手段、メモリおよびＤＭＡコントローラをバス接続することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、機能拡張が容易で機能の検証を容易に行える信号処理装置を得ることができる。
【発明を実施するための最良の形態】
【０００９】
本発明の第１の発明の信号処理装置は、複数の信号処理を行う信号処理装置において、予め設定された所定の信号処理を行う複数の信号処理手段と、各信号処理手段がアクセスするメモリと、信号処理手段とメモリの間のデータ転送を行うＤＭＡコントローラと、信号処理手段、メモリおよびＤＭＡコントローラを制御する制御手段と、を有し、メモリ上の処理対象データをＤＭＡコントローラを介して画像処理手段に入力するとともに、画像処理手段によって信号処理された処理対象データをＤＭＡコントローラを介してメモリに出力するよう、信号処理手段、メモリおよびＤＭＡコントローラをバス接続する。この構成により、信号処理手段どうしで処理データを直接受け渡すことなく、メモリは処理対象データをＤＭＡコントローラを介して信号処理手段に入出力することができる。
【００１０】
この発明の第２の発明の信号処理装置は、第１の発明の信号処理装置において、制御手段は、メモリ上の処理対象データを１つの信号処理手段に入力してこの信号処理手段からの処理対象データをメモリに出力する処理を、複数の信号処理手段に順次行って連続した複数の信号処理を行う。この構成により、連続した複数の信号処理を行う際に、信号処理手段どうしで処理データを直接受け渡すことがなくなり、メモリは処理対象データをＤＭＡコントローラを介して信号処理手段に入出力することができる。
【００１１】
この発明の第３の発明の信号処理装置は、第１の発明または第２の発明のいずれか１つの信号処理装置において、信号処理手段は、画像に関する信号処理を行う。
この構成により、信号処理手段が画像に関する信号処理を行うことができ、メモリは画像に関する処理対象データをＤＭＡコントローラを介して信号処理手段に入出力することができる。
【００１２】
この発明の第４の発明の信号処理装置は、第１の発明〜第３の発明のいずれか１つの信号処理装置において、信号処理手段の画像に関する信号処理は、画像属性の変換処理および符号データのフォーマット変換処理を含み、制御手段は、画像属性の変換処理および符号データのフォーマット変換処理を１つのシーケンス制御によって行うよう、信号処理手段、メモリおよびＤＭＡコントローラを制御する。この構成により、画像属性の変換処理および符号データのフォーマット変換処理を１つのシーケンス制御によって実行することができる。
【００１３】
この発明の第５の発明の信号処理装置は、第１の発明〜第４の発明のいずれか１つの信号処理装置において、信号処理手段の画像に関する信号処理は、画像の回転処理および符号データのフォーマット変換処理を含み、制御手段は、画像の回転処理および符号データのフォーマット変換処理を１つのシーケンス制御によって行うよう、信号処理手段、メモリおよびＤＭＡコントローラを制御する。この構成により、画像の回転処理および符号データのフォーマット変換処理を１つのシーケンス制御によって実行することができる。
【００１４】
この発明の第６の発明の信号処理装置は、第１の発明〜第５の発明のいずれか１つの信号処理装置を備えるようデジタル複合機を構成したものである。この構成により、信号処理手段どうしで処理データを直接受け渡すことなく、メモリが処理対象データをＤＭＡコントローラを介して信号処理手段に入出力することができる信号処理装置を備えるデジタル複合機を得ることができる。
（実施の形態）
以下、本発明の実施の形態について説明する。ここでは、信号処理装置の一例として画像処理に関する信号処理を行う画像ＣＯＤＥＣ（Compression／Decompression）について説明する。ここでの画像ＣＯＤＥＣは、例えばデジタル複合機に用いるカラー画像とモノクロ画像を対象にした各種の画像処理モジュールを統合した高速かつ高機能な画像符号化復号化装置である。以下、このような画像ＣＯＤＥＣをＬＳＩとして実装する際のアーキテクチャや方法とともに、画像ＣＯＤＥＣの構成や動作を説明する。
【００１５】
図１は、本発明にかかる画像ＣＯＤＥＣの構成を示すブロック図である。図１において、１２６は画像ＣＯＤＥＣであり、カラー複合機等のＣＯＤＥＣとして機能する。１０はＪＰＥＧ、ＪＢＩＧなど特定の画像処理を高速に実行する専用画像処理ブロック、１１は内部メモリ（オンチップメモリ）である。１２１は装置全体を制御するコアＣＰＵ（Central Processing Unit）ブロック、１０７，１０８はＤＭＡＣ（Direct Memory Access channel unit Controller）である。
【００１６】
１００はイメージバス、１１７はＰＣＩ（Peripheral Components Interconnect）バス、１２４はコアＣＰＵブロック１２１のローカルバス（ＣＰＵローカルバス）、１２５は後述する外部メモリ１２３との専用バス（外部メモリバス）である。イメージバス１００、ＰＣＩバス１１７、ＣＰＵローカルバス１２４、外部メモリバス１２５は、それぞれ外部インタフェースとして機能する。
【００１７】
イメージバス１００は、外部の画像処理ＬＳＩと接続するためのバスであり、主に画像データの転送に用いる。ＰＣＩバス１１７は、例えば応用装置（カラー複合機）のホストＣＰＵ（後述するホストＣＰＵ６０６）と接続するためのＰＣＩ規格に準拠した標準バスである。このＰＣＩバス１１７は、主に符号データの転送に用いる。ＣＰＵローカルバス１２４は、ブートＲＯＭ１２２とコアＣＰＵブロック１２１を接続するバスである。イメージバス１００、ＰＣＩバス１１７、ＣＰＵローカルバス１２４、外部メモリバス１２５は、例えば高速の３２ビットバスで構成される。
【００１８】
専用画像処理ブロック１０は、所定の画像処理を高速に実行できるように設計されたハードウェアモジュールである。本実施の形態では、専用画像処理ブロック１０が解像度変換／ハーフトーン処理部１０２、ＪＰＥＧ符号・復号器１０３、ＪＢＩＧ符号器１０４、ＪＢＩＧ復号器１０５、および画像の回転回路１１５から構成されている場合について説明する。なお、ここでの回転回路１１５は内部メモリ１１４内に配置されている。すなわち、ここでの内部メモリ１１４はメモリ機能に加えて制御機能（回転回路１１５）を備えている。
【００１９】
解像度変換／ハーフトーン処理部１０２は、２値画像と多値画像の解像度変換を行う回路、ガンマ補正（階調補正）を行う回路、誤差拡散などのハーフトーン処理回路から構成されている。
【００２０】
ＪＰＥＧ符号・復号器１０３は、ＩＴＵ（International Telecommunications Union）勧告Ｔ．８１に準拠したＪＰＥＧベースライン仕様のＣＯＤＥＣである。同様に、ＪＢＩＧ符号器１０４、ＪＢＩＧ復号器１０５はＩＴＵ勧告Ｔ．８２に準拠したＪＢＩＧ仕様のＣＯＤＥＣである。これらのＪＰＥＧ符号・復号器１０３、ＪＢＩＧ符号器１０４、ＪＢＩＧ復号器１０５は、国際規格に準拠した機能ブロックであるため内部構成の説明は省略する。
【００２１】
回転回路１１５は、画像の例えば９０度単位の回転を実行するモジュールである。回転回路１１５は、外部メモリ１２３に格納されたページ画像データを所定のライン数単位で読み出して回転画像に変換する。この変換された回転画像は、外部メモリ１２３に格納される。
【００２２】
これらの各画像処理モジュール（解像度変換／ハーフトーン処理部１０２、ＪＰＥＧ符号・復号器１０３、ＪＢＩＧ符号器１０４、ＪＢＩＧ復号器１０５、画像の回転回路１１５）は、データバス１０９〜１１２に共通のインタフェース仕様で、内部メモリ１１４、ＤＭＡＣ１０７，１０８およびコアＣＰＵブロック１２１に接続されている。
【００２３】
ＤＭＡＣ１０７は、複数のデータバス１０９，１１０と接続されている。データバス１０９が専用画像処理ブロック１０内の所定のモジュールと接続し、データバス１１０が内部メモリ１１４と接続している。すなわち、専用画像処理ブロック１０内の所定のモジュールと内部メモリ１１４は、データバス１０９、ＤＭＡＣ１０７、データバス１１０を介して接続されている。
【００２４】
また、ＤＭＡＣ１０８は、データバス１１１，１１２と接続されている。データバス１１２が専用画像処理ブロック１０内の所定のモジュールと接続し、データバス１１１が内部メモリ１１４と接続している。すなわち、専用画像処理ブロック１０内の所定のモジュールと内部メモリ１１４は、データバス１１１、ＤＭＡＣ１０７、データバス１１２を介して接続されている。
【００２５】
各画像処理モジュールと内部メモリ１１４の間のデータ転送は、すべてＤＭＡＣ１０７，１０８によって実行される。例えば、画像データをイメージバス１００から内部メモリ１１４に入力するには、画像データがイメージバス制御部１０１を介してデータバス１０９に送られ、データバス１０９、ＤＭＡＣ１０７、データバス１１０を介して内部メモリ１１４の所定領域にライトされる。他の画像処理モジュールからのデータ転送も同様に、ＤＭＡＣ１０７，１０８を介して行われる。なお、２つのＤＭＡＣ１０７，１０８を用いているのはバスの転送負荷を分散させるためであり、１つのＤＭＡＣ（ＤＭＡＣ１０７またはＤＭＡＣ１０８）によって画像ＣＯＤＥＣ１２６を構成してもよい。
【００２６】
内部メモリ１１４は、ブロックメモリ２２、ラインメモリ２３、符号メモリ２４を備えている。すなわち、内部メモリ１１４の内部は用途に応じて構成されており、ライン単位の画像格納用のラインメモリ２３、符号バッファとして使用する符号メモリ２４、およびブロックメモリ２２に分かれている。ブロックメモリ２２は、ＪＰＥＧ処理に適するように８×８画素、１６×１６画素のブロック単位で画像データをアクセスしやすいよう構成されたメモリである。また、各画像処理機能に対応し、動作モードやページ幅などのパラメータを設定するレジスタ領域（パラメータレジスタ（レジスタファイル２１））も内部メモリ１１４に配置されている。
【００２７】
これらの内部メモリ１１４内の各メモリ（ブロックメモリ２２、ラインメモリ２３、符号メモリ２４）と外部メモリ１２３とは、画像処理モジュールと内部メモリ１１４の間のデータ転送と同様に、ＤＭＡＣ１０７，１０８によってデータ転送される。各画像処理モジュールの入力データは内部メモリ１１４上に置かれ、処理されたデータも内部メモリ１１４に置かれるように構成されている。
【００２８】
すなわち、本実施の形態の画像ＣＯＤＥＣ１２６は、所定の画像処理モジュールから別の画像処理モジュールへは、装置全体を制御するコアＣＰＵブロック１２１を介さずにデータが直接転送されることがないよう構成されている。換言すると、所定の画像処理モジュールで処理を行った後、次に別の画像処理モジュールで処理する場合には、データがＤＭＡＣ１０７，１０８、内部メモリを介して転送する。そして、この転送処理はコアＣＰＵブロック１２１が制御している。
【００２９】
このように、処理モジュールが画像メモリからデータを読んで、処理結果をメモリに返すよう構成されているので、コアＣＰＵブロック１２１が複雑な処理の組み合わせを容易に制御することが可能とり、機能拡張性が向上する。また、画像ＣＯＤＥＣ１２６をこのような構成にすることによってＬＳＩ設計のロジックが簡易になりＬＳＩの設計や機能検証を容易に行うことが可能となる。
【００３０】
コアＣＰＵブロック１２１は、画像処理モジュールの起動や状態監視、装置全体の制御を実行するブロックである。コアＣＰＵブロック１２１は、汎用ＣＰＵであり、プログラムの実行によって画像ＣＯＤＥＣ１２６の動作を制御する。また、コアＣＰＵブロック１２１は、所定のソフトウェアによって画像処理を実行することもできる。
【００３１】
外部メモリ１２３は、ＳＤＲＡＭ（Synchronous Dynamic Random Access Memory）などで構成され、画像／符号メモリとして使用される。また、外部メモリ１２３へは、コアＣＰＵブロック１２１のプログラムをブートする際に、ブートＲＯＭ（Read Only Memory）１２２内の情報がロードされる。また、外部メモリ１２３はコアＣＰＵブロック１２１のワーク領域としても使われる。外部メモリ１２３上にデータを配置する際のアドレスは、ホストＣＰＵなどの画像ＣＯＤＥＣ１２６外部の制御手段からパラメータレジスタを通じて指定できるよう構成されている。
【００３２】
ＤＭＡＣ１０７またはＤＭＡＣ１０８がバスマスタとなって内部メモリ１１４と外部メモリ１２３の間のデータ転送を実行するときは、バスブリッジ（ＢＢ＿Ａ）１１９を介してデータ転送が行われる。一方、コアＣＰＵブロック１２１がバスマスタとなって内部メモリ１１４と外部メモリ１２３の間のデータ転送を実行するときは、バスブリッジ(ＢＢ＿Ｂ)１２０を介してデータ転送が行われる。
【００３３】
ここで、解像度変換／ハーフトーン処理部１０２の構成を説明する。図２は、解像度変換／ハーフトーン処理部の構成の一例を示す図である。解像度変換／ハーフトーン処理部１０２は、多値画像解像度変換部３０１、ガンマ補正部３０２、ＳＲＡＭ（Static RAM）３０３、２値画像解像度変換部３０４、ハーフトーン処理部３０５、ＳＲＡＭ３０６、内部バスＩ／Ｆ３０７、メモリ制御部３０８、ラインメモリ３０９を備えている。
【００３４】
多値画像解像度変換部３０１、ガンマ補正部３０２、２値画像解像度変換部３０４、ハーフトーン処理部３０５、内部バスＩ／Ｆ３０７は同一のバスに接続されている。また、
多値画像解像度変換部３０１、２値画像解像度変換部３０４、内部バスＩ／Ｆ３０７が、メモリ制御部３０８に接続され、メモリ制御部３０８がラインメモリ３０９に接続されている。また、ＳＲＡＭ３０３はガンマ補正部３０２に接続され、ＳＲＡＭ３０６は内部バスＩ／Ｆ３０７に接続されている。
【００３５】
多値画像解像度変換部３０１は、多値画像の解像度変換を行う。ガンマ補正部３０２は、処理データのガンマ補正（階調補正）を行う。ＳＲＡＭ３０３は、ガンマ補正部３０２によって使用されるメモリである。２値画像解像度変換部３０４は、２値画像の解像度変換を行う。ハーフトーン処理部３０５は、誤差拡散などのハーフトーン処理を行う。ＳＲＡＭ３０６は、ハーフトーン処理部３０５によって使用されるメモリである。内部バスＩ／Ｆ３０７は、データバス１０９〜１１３などの内部バスと通信を行うインタフェースである。メモリ制御部３０８は、ラインメモリ３０９を制御する。ラインメモリ３０９は、ライン単位の画像を格納する。
【００３６】
つぎに、各画像処理モジュールとメモリ（内部メモリ１１４、外部メモリ１２３）の関係を説明する。図３−１および図３−２は、画像処理モジュールとメモリの関係を説明するための図である。
【００３７】
外部メモリ１２３と画像処理モジュールの関係は、内部メモリ１１４と画像処理モジュールの関係と同様の関係を有している。すべての画像処理モジュールは、メモリから入力データをリードし、処理結果をメモリに返すように構成されている。すなわち、画像処理モジュールが内部メモリ１１４または外部メモリ１２３から入力データをリードし、処理結果を内部メモリ１１４または外部メモリ１２３に返すように構成されている。また、メモリと画像処理モジュールの間のデータ転送はすべてＤＭＡ転送で行う。
【００３８】
図３−１では、画像処理モジュールから入力データがリードされるメモリをメモリ２０１、画像処理モジュールから処理結果が返されるメモリをメモリ２０５として説明する。すなわち、ここでのメモリ２０１，２０５は、図１に示した内部メモリ１１４または外部メモリ１２３に対応する。
【００３９】
また、ＤＭＡＣ２０２，２０４は、図１に示したＤＭＡＣ１０７またはＤＭＡＣ１０８に対応する。画像処理モジュール２０３は、図１に示したＪＢＩＧ符号器１０４などの画像処理モジュールに対応する。
【００４０】
画像処理モジュール２０３は、メモリ２０１のデータ（アドレス（転送開始アドレス）Ａ１、転送サイズＡ２）をＤＭＡＣ２０２を介してリードする。このとき、コアＣＰＵブロック１２１は、メモリ２０１のアドレスＡ１と転送データ量（転送サイズＡ２）などをＤＭＡＣ２０２の所定のレジスタに設定してデータ転送を行う。
【００４１】
画像処理モジュール２０３は、メモリ２０１からリードしたデータに対して所定の処理を行う。例えば、画像処理モジュール２０３がＪＢＩＧ符号器１０４の場合、画像処理モジュール２０３はリードしたデータに対してＪＢＩＧ符号を行う。
【００４２】
つぎに、画像処理モジュール２０３は、所定の処理を行ったデータ（処理結果）をＤＭＡＣ２０４を介してメモリ２０５（アドレスＢ１，転送サイズＢ２）に送る。このとき、コアＣＰＵブロック１２１は、メモリ２０１の転送開始アドレスＢ１と転送データ量（転送サイズＢ２）などをＤＭＡＣ２０４の所定のレジスタに設定してデータ転送を行う。
【００４３】
図３−２は、２つの画像処理モジュールがそれぞれ２つの異なる処理を連結（連続）して行う場合（復合処理）を示している。ここでは、画像処理モジュール２１２が処理＃１を行い、画像処理モジュール２１７が処理＃２を行う場合を示している。また、ここでは画像処理モジュール２１２から処理＃１に対応する入力データをリードされるメモリがメモリ２１０であり、画像処理モジュール２１２から処理結果が返されるメモリがメモリ２１４である。さらに、画像処理モジュール２１７から処理＃２に対応する入力データ（処理＃１の処理結果）をリードされるメモリがメモリ２１４であり、画像処理モジュール２１７から処理結果が返されるメモリがメモリ２１９である。すなわち、メモリ２１０，２１４，２１９が、図１に示した内部メモリ１１４または外部メモリ１２３に対応する。
【００４４】
また、ＤＭＡＣ２１１，２１３，２１６，２１８が、図１に示したＤＭＡＣ１０７またはＤＭＡＣ１０８に対応する。画像処理モジュール２１２，２１７は、図１に示したＪＢＩＧ符号器１０４、ＪＰＥＧ符号・復号器１０３などの画像処理モジュールに対応する。
【００４５】
画像処理モジュール２１２は、メモリ２１０のデータ（アドレスＡ３）をＤＭＡＣ２１１を介してリードする。このとき、コアＣＰＵブロック１２１は、メモリ２１０のアドレスＡ３や転送データ量などをＤＭＡＣ２１１の所定のレジスタに設定してデータ転送を行う。画像処理モジュール２１２は、メモリ２０１からリードしたデータに対して所定の処理（処理＃１）を行う。
【００４６】
つぎに、画像処理モジュール２１２は、処理＃１を行ったデータ（処理結果）をＤＭＡＣ２１３を介してメモリ２１４（アドレスＢ３）に送る。このとき、コアＣＰＵブロック１２１は、メモリ２１４のアドレスＢ３や転送データ量などをＤＭＡＣ２１３の所定のレジスタに設定してデータ転送を行う。
【００４７】
つぎに、第１の処理（処理＃１）の処理結果が第２の処理（処理＃２）の入力データになるよう、メモリアドレスと転送サイズを設定する。すなわち、メモリ２１４が記憶する画像処理モジュール２１２からの処理結果（アドレスＢ３）が入力データとなるよう、画像処理モジュール２１２がメモリ２１４のデータ（アドレスＢ３）をＤＭＡＣ２１６を介してリードする。
【００４８】
そして、画像処理モジュール２１７が、メモリ２１４からリードしたデータに対して所定の処理（処理＃２）を行う。さらに、画像処理モジュール２１７は、処理＃２を行ったデータ（処理結果）をＤＭＡＣ２１８を介してメモリ２１９（アドレスＣ１）に送る。これにより、複合機能を単一機能の組合せによって行うことが可能となる。
【００４９】
これらのメモリ、画像処理モジュールの処理は、専用画像処理ブロック１０内の何れの画像処理モジュールによる処理であってもよい。また、メモリ、画像処理モジュールの処理は、任意の個数だけ連結処理することができる。
【００５０】
例えば、多値画像をハーフトーン化する処理を第１の処理、第１の処理によって出力されたハーフトーン画像をＪＢＩＧ符号化する処理を第２の処理とすると、これら２つの処理を組み合わせることによって、多値画像を入力としてＪＢＩＧ符号データを出力することが可能となる。
【００５１】
また、ＪＰＥＧ符号を復号化する処理を第１の処理、第１の処理によって出力された画像（信号）の輝度成分をハーフトーン化する処理を第２の処理、第２の処理によって出力された画像をＪＢＩＧ符号化する処理を第３の処理としてもよい。このような複数の処理を容易に組合わせることができるので、画像ＣＯＤＥＣ１２６の機能拡張（画像処理モジュールの追加など）が容易となる。
【００５２】
また、画像処理モジュールの処理と、コアＣＰＵブロック１２１のソフトウェアによる画像処理とを組合わせてもよい。これにより、コアＣＰＵブロック１２１で処理したデータを更に画像処理モジュールで処理する等、ハードウェア処理とソフトウェア処理の組み合わせ処理を実行することが可能となる。このようなソフトウェア処理は容易に追加できるので、画像ＣＯＤＥＣ１２６の機能拡張が容易となる。
【００５３】
また、このように画像ＣＯＤＥＣ１２６（プロセッサ）を構成することによって、ＬＳＩ設計時の機能検証作業を効率よく行うことが可能となる。
各画像処理モジュールの機能検証は、例えばメモリ上の入力データに対して処理された出力データを、処理の期待値と比較することによって行う。
【００５４】
また、本実施の形態にかかる画像ＣＯＤＥＣ１２６は、復合機能を単機能の組合せとして実現しているので、ＬＳＩの機能検証としての複合機能の確認が不要となる。ここでの複合機能は、コアＣＰＵブロック１２１で実行するソフトウェアで制御されるためである。
【００５５】
つぎに、コアＣＰＵブロック１２１が実行する制御ソフトウェアの構成例と画像ＣＯＤＥＣ１２６が実現する画像処理機能について説明する。図４は、コアＣＰＵブロック１２１が実行する制御ソフトウェアの構成の一例を説明するための図である。ここでの制御ソフトウェア（プログラム）は、画像処理モジュールや入出力を制御するソフトウェアである。
【００５６】
ここでのプログラムは、ブート時にブートＲＯＭ１２２から外部メモリ１２３に転送され、コアＣＰＵブロック１２１が外部メモリ１２３から命令コードをフェッチすることによって実行される。
【００５７】
ソフトウェアの基本構成は、例えばリアルタイムＯＳ（Operating System）を用いたマルチタスク構成であり、共通ブロック４０１（ソフトウェアの共通ルーチン）を備えている。共通ブロック４０１は、全体を制御するシステム制御タスク４０、割り込み処理プログラム４１、初期化ルーチン４２、リアルタイムＯＳ４３からなる。
【００５８】
システム制御タスク４０は、画像ＣＯＤＥＣ１２６全体を制御する。すなわち、システム制御タスク４０は、画像ＣＯＤＥＣ１２６の全体の動作を監視したり、外部とのソフトウェア的なインタフェースをとる。システム制御タスク４０は、ホストＣＰＵ（例えばホストＣＰＵ６０６）から動作指示を受け、指示に対応するタスクを起動するとともに、タスクによる処理が終了すると割り込みによってホストＣＰＵ６０６に処理の終了を通知する。
【００５９】
割り込み処理プログラム４１は、画像処理モジュールが処理単位毎（１ライン単位、複数ライン単位、ページ単位などの所定の単位）にコアＣＰＵブロック１２１に割り込み信号１１８を出力して処理が終わったことを通知する。コアＣＰＵブロック１２１は、割り込み信号を受けると、その時の処理を一旦中止して、割り込み処理にジャンプし、割り込み処理に書かれているプログラムを実行する。ここでの処理内容は割り込みの種類によって異なるが、コアＣＰＵブロック１２１はＤＭＡＣ１０７，１０８のアドレスを更新して次の処理の所定の単位の処理を実行するよう、処理モジュールに所定の値などを設定して起動する。
【００６０】
初期化ルーチン４２は、レジスタ（レジスタファイル２１）の初期設定やメモリの初期化などを行う。リアルタイムＯＳ４３は、マルチタスクプログラムを制御するプログラムあり、ここではμＩＴＲＯＮなどによって構成されている。リアルタイムＯＳ４３は、タスクと呼ばれるプログラムが時分割動作しながら複数の処理を並行処理するソフトウェアの仕組みを備えている。
【００６１】
また、図４においてはイメージバスＩ／Ｆ５１など破線で示した機能ブロックはハードウェアモジュールを示している。すなわち、イメージバスＩ／Ｆ５１、ＰＣＩバスＩ／Ｆ５２、ＰＣＩバス上メモリ５３、ＣＰＵバスＩ／Ｆ５４、ＣＰＵバス上メモリ５５、ＳＤＲＡＭ５６、ＪＢＩＧ符号器６１、ＪＢＩＧ復号器６２、ＪＰＥＧ符号器６３、ＪＰＥＧ復号器６４、解像度変換器６５、回転器６６、イメージバスＩ／Ｆ７１、ＰＣＩバスＩ／Ｆ７２、ＰＣＩバス上メモリ７３、ＣＰＵバスＩ／Ｆ７４、ＣＰＵバス上メモリ７５、ＳＤＲＡＭ７６がハードウェアモジュールである。なお、ここでのＳＤＲＡＭ５６，７６が図１に示す外部メモリ１２３に対応している。
【００６２】
イメージバスＩ／Ｆ５１，７１は図１で説明したイメージバスの通信インタフェースである。同様に、ＰＣＩバスＩ／Ｆ５２，７２は、ＰＣＩバスの通信インタフェースであり、ＣＰＵバスＩ／Ｆ５４，７４は、ＣＰＵローカルバス１２４の通信インタフェースである。
【００６３】
データ入力処理タスク４０２は、イメージバス１００やＰＣＩバス１１７などの外部バスからの画像や符号データの入力を制御するプログラムである。入力対象となるデータとしては、外部のＬＳＩ（図示せず）を介してイメージバスＩ／Ｆ５１から入力されるデータ、ＰＣＩバスＩ／Ｆ５２を介して入力されるＰＣＩバス上メモリ５３に格納されているデータ、ＣＰＵバスＩ／Ｆ５４を介して入力されるＣＰＵバス上メモリ５５に格納されているデータ、予めＳＤＲＡＭ５６に格納済みのデータが、データ入力処理タスク４０２の制御によって画像ＣＯＤＥＣ１２６に入力される。
【００６４】
また、データ出力処理タスク４０３は、画像ＣＯＤＥＣ１２６で処理されたデータの出力を制御するプログラムである。データの出力先は、データの入力元と同様にイメージバス１００、ＰＣＩバス上メモリ７３、ＣＰＵバス上メモリ７５、およびＳＤＲＡＭ７６である。
【００６５】
イメージバス１００へはイメージバスＩ／Ｆ７１を介してデータ出力され、ＰＣＩバス上メモリ７３へはＰＣＩバスＩ／Ｆ７２（ＰＣＩバス１１７）を介してデータ出力され、ＣＰＵバス上メモリ７５へはＣＰＵバスＩ／Ｆ７４（ＣＰＵローカルバス１２４）を介してデータ出力される。
【００６６】
各画像処理は、ＪＢＩＧ符号器６１、ＪＢＩＧ復号器６２などのハードウェアモジュールに１対１で対応する処理タスクによって制御される。すなわち、ＪＢＩＧ符号器６１がＪＢＩＧ符号化処理タスク４０４によって制御され、ＪＢＩＧ復号器６２がＪＢＩＧ復号化処理タスク４０５によって制御され、ＪＰＥＧ符号器６３がＪＰＥＧ符号化処理タスク４０６によって制御され、ＪＰＥＧ復号器６４がＪＰＥＧ復号化処理タスク４０７によって制御される。また、解像度変換器６５が解像度変換処理タスク４０８によって制御され、回転器６６が回転処理タスク４０９によって制御される。
【００６７】
データ転送制御タスク４１０は、データ入力処理とデータ出力処理をつないで、所定のバスから他のバスにデータを転送する役割を担う。これらのハードウェアモジュールと処理タスクを組み合わせることによって種々の機能を実現することが可能となる。
【００６８】
なお、本実施の形態では外部のホストＣＰＵ６０６からコアＣＰＵブロック１２１を起動させるようプログラムを実装しているが、コアＣＰＵブロック１２１がホストＣＰＵ６０６を兼ねる構成としてもよい。
【００６９】
つぎに、画像ＣＯＤＥＣ１２６の処理手順を説明する。図５は、画像ＣＯＤＥＣの処理手順の一例を説明するための図である。画像ＣＯＤＥＣ１２６の基本機能は、画像の符号化、復号化、および画像属性の変換などである。これらの機能は、ある符号データから別の符号データへの変換という位置づけで統一される。
【００７０】
まず、符号データＸがＳＤＲＡＭ（図４に示すＳＤＲＡＭ５６）などに与えられる（５０１）。この符号データＸがカラー画像のＪＰＥＧ符号であれば、それをデコード（５０２）することによってカラー画像が得られる（５０３）。また、符号データＸがモノクロＪＰＥＧ符号であれば、それをデコード（５０２）することによってモノクロ多値画像（Ｂ／Ｗ（（Black ＆ White）多値画像）（５０７）が得られ、符号データＸがＪＢＩＧ符号であれば、それをデコード（５０２）することによってモノクロ２値画像が得られる（５０９）。ここでのデコードは、符号データＸがカラー画像のＪＰＥＧ符号であれば、ＪＰＥＧ符号・復号器１０３によって行う。
【００７１】
復元されたカラー画像（５０３）は、解像度変換／ハーフトーン処理部（図１の解像度変換／ハーフトーン処理部１０２）によって拡大縮小処理（５０４）が実行されて画像サイズが変換される。また、回転処理部（図１の回転回路１１５）によって画像の向きを変えてもよい。また、これらの処理を組み合わせてもよい。
【００７２】
カラー画像（５０３）は、色差廃棄の処理（５０６）によって輝度成分だけを残せばモノクロ多値画像（５０７）に変換される。このモノクロ多値画像（５０７）に対しても、カラー画像（５０３）と同様に拡大縮小処理や回転処理を行うことができる（５１２，５１３）。
【００７３】
モノクロ多値画像（５０７）は、解像度変換／ハーフトーン処理部１０２によって誤差拡散などの２値化処理（５０８）を行えば、モノクロ２値画像（Ｂ／Ｗ２値画像）（５０９）を得ることができる。このモノクロ２値画像（５０９）に対しても、拡大縮小処理や回転処理を行うことができる（５１４，５１５）。
【００７４】
このようにして得られた画像（カラー画像（５０３）、モノクロ多値画像（５０７）、モノクロ２値画像（５０９））は、符号化処理（エンコード）（５１０）によって、符号データＹに変換される（５１１）。ここでの符号化処理は、例えばＪＢＩＧ符号器１０４によって行う。
【００７５】
なお、ここでは符号データから別の符号データへ変換する場合について説明したが、カラー画像（５０３）を入力して関連する後続処理（色差廃棄（５０６）、２値化（５０８）など）を実行してもよい。また。ここではハードウェアモジュールによる画像処理について説明したが、ソフトウェアによる画像処理や符号化処理と組み合わせることとしてもよい。このようにして、画像ＣＯＤＥＣ１２６では、カラー／モノクロ変換、多値／２値変換、画像サイズ等の画像の属性変換、ＪＰＥＧ、ＪＢＩＧなどの符号データのフォーマット変換、およびこれらの組み合わせ処理を実行することができる。
【００７６】
つぎに、画像ＣＯＤＥＣ１２６のデジタル複合機への応用例について説明する。図６は、実施の形態にかかる画像ＣＯＤＥＣを備えたデジタルカラー複合機の構成を示すブロック図である。
【００７７】
スキャナ６０３から読み込まれた画像信号は、シェーディング補正、ＭＴＦ（Modulation Transfer Function）補正（エッジ強調）、ＲＧＢ（Red-Green-Blue）からＹＣｂＣｒなどへの色空間変換、スクリーン処理などの記録用の画像処理を経てプリンタ６０２に出力される。これらの画像処理は実際には複数個のＬＳＩで実現しているが、ここでは一つの機能ブロック６０４として示している。
【００７８】
スキャナ６０３から読取った画像を複数枚プリントするソートコピー時は、その画像信号がイメージバス１００を介して画像ＣＯＤＥＣ１２６に入力され、符号データが外部メモリ１２３に蓄積される。それと同時にプリントする所定枚数分の回数だけデータが復号され、イメージバス１００、ＬＳＩセット６０４をを介してプリンタ６０２に出力される。
【００７９】
画像ＣＯＤＥＣ１２６は、ホストＣＰＵ６０６側とはＰＣＩバス１１７によって接続される。ＰＣＩバス１１７は、ホストＣＰＵ６０６から画像ＣＯＤＥＣ１２６へのレジスタアクセス、外部メモリ１２３のデータのシステム側（ホストＣＰＵ６０６）への転送を行い、ＦＡＸ通信やネットワークスキャナ時のデータ転送などを行う。このように、画像処理のためのデータ転送は画像ＣＯＤＥＣ１２６内で行うため、ホストＣＰＵ６０６の負荷が大きく軽減され高速な装置（カラー複合機）を実現することが可能となる。
【００８０】
なお、外部メモリ１２３はＰＣＩバス１１７に接続されていないが、ホストＣＰＵ６０６はＰＣＩインタフェース部１３０を介してＰＣＩバスから外部メモリ１２３の所定の範囲（ウインドウで指定した範囲）にアクセスできる仕組みになっている。本実施の形態においては、外部メモリ１２３上の符号バッファのメモリ領域（図示せず）がホストＣＰＵ６０６から見えるようになっている。これにより、符号データを画像ＣＯＤＥＣ１２６とホストＣＰＵ６０６の間で自由にやり取りできるようにしている。
【００８１】
なお、本実施の形態では、画像ＣＯＤＥＣ１２６がＪＢＩＧ符号化などを行う場合について説明したが、画像ＣＯＤＥＣ１２６の処理はこれらの処理に限られるものではない。すなわち、画像ＣＯＤＥＣ１２６が、ＭＰＥＧ２のコードをＭＰＥＧ４のコードに変換する処理（トランスコーダ）を行ってもよい。画像ＣＯＤＥＣ１２６は、例えばデータのＭＰＥＧ２符号化、画像サイズの変換、ＭＰＥＧ４の符号化の処理を順番に行うこととしてもよい。
【００８２】
また、本実施の形態では信号処理装置の一例として画像ＣＯＤＥＣ１２６について説明したが、信号処理装置は画像ＣＯＤＥＣ１２６に限られるものではない。すなわち、信号処理装置が通信処理に関する信号処理を行うこととしてもよい。例えば、信号処理装置が情報源符号化（画像符号化や音声符号化）、誤り訂正符号化、暗号処理化を順番に行うこととしてもよい。
【００８３】
このように実施の形態によれば、画像ＣＯＤＥＣが予め定めた複数の画像処理モジュールの組み合わせ処理を容易に行うことが可能となる。また各画像処理モジュールは同じインタフェースで内部バスとコアＣＰＵに接続されているため、新たなモジュールを追加する際にＬＳＩ全体の基本構造を変えることなく拡張することが可能となる。したがって、ＬＳＩアーキテクチャとソフトウェアの継承を容易に行うことが可能となる。また、画像ＣＯＤＥＣにおいて、複合的な画像処理は単機能処理の組み合わせとしてソフトウェア的に制御できる構成としているので、ＬＳＩ設計時の論理検証を単機能の検証を行えばよく、ＬＳＩ全体の機能検証を効率的に実行可能となる。
【産業上の利用可能性】
【００８４】
以上のように、本発明にかかる信号処理装置は、複数の信号処理を行うＬＳＩに適している。
【図面の簡単な説明】
【００８５】
【図１】本発明にかかる画像ＣＯＤＥＣの構成を示すブロック図
【図２】解像度変換／ハーフトーン処理部の構成の一例を示す図
【図３−１】画像処理モジュールとメモリの関係を説明するための図（１）
【図３−２】画像処理モジュールとメモリの関係を説明するための図（２）
【図４】コアＣＰＵブロックが実行する制御ソフトウェアの構成の一例を説明するための図
【図５】画像ＣＯＤＥＣの処理手順の一例を説明するための図
【図６】実施の形態にかかる画像ＣＯＤＥＣを備えたデジタルカラー複合機の構成を示すブロック図
【符号の説明】
【００８６】
１０    専用画像処理ブロック
２１    レジスタファイル
２２    ブロックメモリ
２３    ラインメモリ
２４    符号メモリ
４０    システム制御タスク
４１    割り込み処理プログラム
４２    初期化ルーチン
４３    リアルタイムＯＳ
５１、７１    イメージバスＩ／Ｆ
５２，７２    ＰＣＩバスＩ／Ｆ
５３，７３    ＰＣＩバス上メモリ
５４，７４    ＣＰＵバスＩ／Ｆ
５５，７５    ＣＰＵバス上メモリ
５６，７６    ＳＤＲＡＭ
６１    ＪＢＩＧ符号器
６２，１０５    ＪＢＩＧ復号器
６３，１０４    ＪＰＥＧ符号器
６４    ＪＰＥＧ復号器
６５    解像度変換器
６６    回転器
１００    イメージバス
１０１    イメージバス制御部
１０２    解像度変換／ハーフトーン処理部
１０３    ＪＰＥＧ符号・復号器
１０７，１０８，２０２，２０４，２１１，２１３，２１６，２１８    ＤＭＡＣ
１０９〜１１３    データバス
１１４    内部メモリ
１１５    回転回路
１１７    ＰＣＩバス
１１８    割り込み信号
１１９，１２０    バスブリッジ
１２１    コアＣＰＵブロック
１２２    ブートＲＯＭ
１２３    外部メモリ
１２４    ＣＰＵローカルバス
１２５    外部メモリバス
１２６    画像ＣＯＤＥＣ
１３０    ＰＣＩインタフェース部
２０１，２０５，２１０，２１４，２１９    メモリ
２０３，２１２，２１７    画像処理モジュール
３０１    多値画像解像度変換部
３０２    ガンマ補正部
３０３，３０６    ＳＲＡＭ
３０４    値画像解像度変換部
３０５    ハーフトーン処理部
３０７    内部バスＩ／Ｆ
３０８    メモリ制御部
３０９    ラインメモリ
４０１    共通ブロック
４０２    データ入力処理タスク
４０３    データ出力処理タスク
４０４    ＪＢＩＧ符号化処理タスク
４０５    ＪＢＩＧ復号化処理タスク
４０６    ＪＰＥＧ符号化処理タスク
４０７    ＪＰＥＧ復号化処理タスク
４０８    解像度変換処理タスク
４０９    回転処理タスク
４１０    データ転送制御タスク
６０２    プリンタ
６０３    スキャナ
６０４    ＬＳＩセット
６０６    ホストＣＰＵ
【図１】
2006330871.tif 000003
【図２】
2006330871.tif 000004
【図３−１】
2006330871.tif 000005
【図３−２】
2006330871.tif 000006
【図４】
2006330871.tif 000007
【図５】
2006330871.tif 000008
【図６】
2006330871.tif 000009