(57)【特許請求の範囲】
【請求項１】
画像データの圧縮および圧縮された画像データの伸張のうち少なくともいずれか１つの処理を含む画像データ処理を行う第１データ処理部と、この第１データ処理部とは画像データ処理の処理方式が異なるとともに、該画像データ処理にかかる処理時間が該第１データ処理部よりも小さい第２データ処理部とを有する画像処理装置であって、
上記画像データ処理を行う画像データとして、異なる特性の領域を含む第１画像データと、該第１画像データとは異なる第２画像データとを記憶する記憶部と、
上記記憶部に記憶された第１画像データを、該第１画像データを構成する領域の特性に応じて、上記第１データ処理部によって画像データ処理を行う領域である第１領域部分と、上記第２データ処理部によって画像データ処理を行う領域である第２領域部分とに分離する分離部と、を備え、
上記第１データ処理部が第１領域部分の画像データ処理を行っている間に、上記第２データ処理部は、上記第２領域部分と上記第２画像データとを上記記憶部から読み出し、画像データ処理を行うことを特徴とする画像処理装置。
【請求項２】
上記第１画像データと上記第２画像データとにおいて上記画像データ処理を行う優先度が設定されており、
上記第２領域部分および第２画像データそれぞれを上記記憶部から読み出し、上記第２データ処理部に転送する転送部を備え、
上記転送部は、上記優先度に従って上記第２領域部分または第２画像データを上記第２データ処理部に転送することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
上記転送部は、上記第２領域部分または第２画像データのいずれかの画像データを、上記第２データ処理部に転送する際、転送する画像データが第２領域部分または第２画像データのいずれであるかを示す送信データ指示信号を出力しており、
上記第２データ処理部は、上記送信データ指示信号に基づき、転送されたデータが第２領域部分であるのか、または第２画像データであるのか判定し、転送されたデータに応じた画像データ処理を実行することを特徴とする請求項２に記載の画像処理装置。
【請求項４】
上記第２データ処理部は、上記第２領域部分の画像データ処理を実行するための情報である第１データ処理情報と、上記第２画像データの画像データ処理を実行するための情報である第２データ処理情報とを保持しており、
上記送信データ指示信号に基づき、上記第１データ処理情報または上記第２データ処理情報のいずれかを選択して、転送されたデータに応じた画像データ処理を実行することを特徴とする請求項３に記載の画像処理装置。
【請求項５】
画像データの圧縮および圧縮された画像データの伸張のうち少なくともいずれか１つの処理を含む画像データ処理を行う第１データ処理部と、この第１データ処理部とは画像データ処理の処理方式が異なるとともに、該画像データ処理にかかる処理時間が該第１データ処理部よりも小さい第２データ処理部とを有する画像処理装置の制御方法であって、
上記画像処理装置は、上記画像データ処理を行う画像データとして、異なる特性の領域を含む第１画像データと、該第１画像データとは異なる第２画像データとを記憶する記憶部をさらに備えており、
上記記憶部に記憶された第１画像データを、該第１画像データを構成する領域の特性に応じて、上記第１データ処理部によって画像データ処理を行う領域である第１領域部分と、上記第２データ処理部によって画像データ処理を行う領域である第２領域部分とに分離する分離ステップと、
上記第１データ処理部が第１領域部分の画像データ処理を行っている間に、上記第２データ処理部は、上記第２領域部分と上記第２画像データとを上記記憶部から読み出し、画像データ処理を行う画像データ処理ステップとを含むことを特徴とする画像処理装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データの圧縮処理または圧縮された画像データの伸張処理を行う画像処理装置に関する。特には、画像データを可逆圧縮する圧縮処理部と、非可逆圧縮する圧縮処理部との異なる圧縮処理方式となる圧縮処理部を備える画像処理装置に関する。
【背景技術】
【０００２】
スキャナ機能、コピー機能、プリンタ機能、ＦＡＸ機能をはじめとする多数の機能を有したデジタル複合機が開発されている。デジタル複合機は、ユーザから指示されたジョブや、通信ネットワークまたは電話回線ネットワークなどを通じて遠隔機器からばらばらに投入されたジョブを並列的に処理することができる。このため、デジタル複合機で行なわれる処理は非常に複雑なものとなる。
【０００３】
さらにまた近年では、上記した機能のみならず様々な機能が加わり、デジタル複合機の多機能化がますます進んでいる。例えば、デジタル複合機で実現されている新たな機能としては、様々なネットワーク関連サービス、あるいはＵＳＢメモリまたはＳＤカード等の記録メディアから提供されたデータに対する処理、ＰＤＦ文書の作成、各種帳票作成などを実現するためのアプリケーション機能などが挙げられる。
【０００４】
デジタル複合機では、上述した機能を単体でユーザの利便性を損なうことなく実現できるとともに、複数の機能が同時に要求される場合であっても、全てのジョブを適切に処理していくことが求められる。
【０００５】
また、デジタル複合機の主たる機能の一つとしては、静止画のデジタル画像を出力することである。このため、デジタル複合機から出力されるデジタル画像の画質向上は必要不可欠な問題となる。一般的にデジタル画像において画質の向上を達成するためには、画素の諧調性を大きくしたり、デジタル画像に対して適切な画像処理を施したり、画質劣化が小さい圧縮方式を採用したりする。しかしながらデジタル画像の画質向上を達成することのみを目的とすると、デジタル複合機全体における他の処理能力（例えば画像の出力処理にかかる処理速度）が低下し、ユーザの利便性を損なうことになる。そこで、画質と処理能力との両方を勘案して画像の処理方法を決定することが所望される。
【０００６】
例えば、デジタル画像の保存・伝送等に利用する圧縮方式には、可逆圧縮と非可逆圧縮と呼ばれる圧縮形式がある。可逆圧縮とは、画像を圧縮し、後に伸張処理を行うと、完全に元の画像に戻すことができる圧縮形式である。可逆圧縮の代表的な方式としてＦＡＸなどで用いられるＭＲ（modified READ）、ＭＭＲ（modified modified READ）、あるいはＪＢＩＧなどが挙げられる。
【０００７】
一方、非可逆圧縮とは、画像を圧縮する際に、何らかの情報を欠落させることにより圧縮する方法を含むため、伸張後は元の画像に戻すことは不可能になる。非可逆圧縮の方式としては、例えばＪＰＥＧやＪＰＥＧ２０００、ＪＰＥＧ−ＸＲなどが挙げられる。一般的には、非可逆圧縮は、可逆圧縮に比べ圧縮率を高めることができる利点や、圧縮率を調整できる利点がある。その一方で、伸張後は元の画像に戻すことができないため、画質が可逆圧縮に比べて低下することとなる。
【０００８】
このように圧縮率が低くなると、圧縮後の画像データのデータサイズが大きくなる。このため、ハードディスクドライブなど記憶装置において、画像データの格納領域を十分確保することができなかったり、格納領域への画像データの転送時間が大きくなったりする。その結果、デジタル複合機全体の性能が低下してしまうこととなる。
【０００９】
逆に、デジタル複合機の処理能力の向上を重視し、圧縮方式として非可逆圧縮を選択した場合、圧縮率を上げすぎると画質劣化が激しくなり、ユーザの満足する画質が得られなくなる。
【００１０】
そこで、特許文献１では、可逆圧縮および非可逆圧縮の両方の特徴を利用した画像処理装置が提案されている。特許文献１に示す画像処理装置は、静止画像を解析して、写真領域や文字領域など特徴領域（特性の領域）を判定し、それぞれのレイヤーに分割する。そして、得られたレイヤーの特徴に応じて圧縮を行う。例えば写真領域などの濃度変化の大きい画像については非可逆圧縮しても画質劣化の影響が少ない。このため、写真領域などでは、圧縮率を高められることが可能な非可逆圧縮を行う。一方、文字領域については非可逆圧縮ではブロックノイズなどにより画質劣化が目立つ。このため、文字領域は、画質面を考えて可逆圧縮を行う。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２０１０−１０８１９号公報（２０１０年１月１４日公開）
【発明の概要】
【発明が解決しようとする課題】
【００１２】
しかしながら、上述のような従来技術は、画像データに対して効率よくデータ量削減処理を行うことができないという問題が生じる。
【００１３】
より具体的には、特許文献１に開示された画像処理装置のように、写真領域、文字領域それぞれのレイヤーごとに別々に圧縮処理を行う構成の場合、可逆圧縮または非可逆圧縮の圧縮処理を行うたびにメインメモリにアクセスして画像データを読み出す必要がある。このため、画像データを格納したメインメモリに対するアクセス数が多くなり、効率よく画像データの圧縮処理を行うことができない。
【００１４】
そこで、メインメモリに対するアクセス数を低減させるために、所定数の画素単位で画像データを読み出し、該画像データに対して非可逆圧縮処理および可逆圧縮処理の両者を行う構成を想定することができる。つまり、可逆圧縮および非可逆圧縮を行う際に行うメインメモリに対するアクセスを共通化する構成とすることが考えられる。
【００１５】
しかしながら、このようにメインメモリに対するアクセスを共通化する構成の場合、以下のような問題が生じる。すなわち、可逆圧縮処理を行う圧縮器と非可逆圧縮処理を行う圧縮器との間において処理性能（処理速度）に差があるとき、処理性能の高い圧縮器は、処理性能の低い圧縮器の処理が完了するまで待つ必要性があるという問題が生じる。
【００１６】
このように、メインメモリに対するアクセスを共通化する構成であっても、効率のよい圧縮処理を実現できない。また、この問題は、圧縮処理だけではなく、その圧縮処理された画像データの復元（伸張）処理でも同様に生じる。つまり、圧縮処理および復元（伸張）処理などの画像データ処理を効率よく行うことができない。
【００１７】
本発明は、上記の問題点に鑑みてなされたものであり、その目的は、画像データに対して効率よく画像データ処理を行うことができる、画像処理装置および画像処理装置の制御方法を実現することにある。
【課題を解決するための手段】
【００１８】
本発明に係る画像処理装置は、上記した課題を解決するために、画像データの圧縮および圧縮された画像データの伸張のうち少なくともいずれか１つの処理を含む画像データ処理を行う第１データ処理部と、この第１データ処理部とは画像データ処理の処理方式が異なるとともに、該画像データ処理にかかる処理時間が該第１データ処理部よりも小さい第２データ処理部とを有する画像処理装置であって、上記画像データ処理を行う画像データとして、異なる特性の領域を含む第１画像データと、該第１画像データとは異なる第２画像データとを記憶する記憶部と、上記記憶部に記憶された第１画像データを、該第１画像データを構成する領域の特性に応じて、上記第１データ処理部によって画像データ処理を行う領域である第１領域部分と、上記第２データ処理部によって画像データ処理を行う領域である第２領域部分とに分離する分離部と、を備え、上記第１データ処理部が第１領域部分の画像データ処理を行っている間に、上記第２データ処理部は、上記第２領域部分と上記第２画像データとを上記記憶部から読み出し、画像データ処理を行うことを特徴とする。
【００１９】
本発明に係る画像処理装置は、画像データ処理の処理方式が異なる第１データ処理部および第２データ処理部を備えているため、画像データの特性に応じて適切な方式により画像データの画像データ処理を行うことができる。
【００２０】
なお、画像データの特性としては、画像データ処理に伴い、その画像データが画質の劣化の影響を大きく受けるか否か等が挙げられる。
【００２１】
上記した構成によるとさらに分離部を備えているため、画像データを構成する領域の特性に応じて第１画像データを第１領域部分と第２領域部分とに分離することができる。そして、分離された第１領域部分と第２領域部分とはそれぞれ第１データ処理部と第２データ処理部とで並行して画像データ処理を行うことができる。例えば、画像データの圧縮処理に伴い、画像データが画質の劣化の影響を大きく受けるか否か等によって第１画像データを分離し、それぞれの特性に応じて、第１データ処理部と第２データ処理部とに並行して処理させることができる。
【００２２】
また、第２データ処理部は、上記第１データ処理部が第１領域部分の画像データ処理を行っている間に、上記第２領域部分に加えて上記第２画像データも上記記憶部から読み出し、画像データ処理を行うことできる。
【００２３】
このため、本発明に係る画像処理装置は、記憶部に記憶している画像データに対して効率よく画像データ処理を実行することができるという効果を奏する。
【００２４】
また、本発明に係る画像処理装置は、上記した構成において、上記第１領域部分と上記第２画像データとにおいて上記画像データ処理を行う優先度が設定されており、上記第２領域部分および第２画像データそれぞれを上記記憶部から読み出し、上記第２データ処理部に転送する転送部を備え、上記転送部は、上記優先度に従って上記第２領域部分または第２画像データを上記第２データ処理部に転送するように構成されていてもよい。
【００２５】
上記した構成によると、転送部を備えているため、予め設定されている優先度に従って、第２領域部分または第２画像データを第２データ処理部に送信することができる。
【００２６】
このため、画像データ処理の実行に優先度がある場合であっても、その優先度にしたがって処理を行うことができる。
【００２７】
また、本発明に係る画像処理装置は、上記した構成において、上記転送部は、上記第２領域部分または第２画像データのいずれかの画像データを、上記第２データ処理部に転送する際、転送する画像データが第２領域部分または第２画像データのいずれであるかを示す送信データ指示信号を出力しており、上記第２データ処理部は、上記送信データ指示信号に基づき、転送されたデータが第２領域部分であるのか、または第２画像データであるのか判定し、転送されたデータに応じた画像データ処理を実行するように構成されていてもよい。
【００２８】
また、本発明に係る画像処理装置は、上記した構成において、上記第２データ処理部は、上記第２領域部分の画像データ処理を実行するための情報である第１データ処理情報と、上記第２画像データの画像データ処理を実行するための情報である第２データ処理情報とを保持しており、上記送信データ指示信号に基づき、上記第１データ処理情報または上記第２データ処理情報のいずれかを選択して、転送されたデータに応じた画像データ処理を実行するように構成されていてもよい。
【００２９】
上記した構成によると、第２データ処理部は、第１データ処理情報及び第２データ処理情報を保持し、上記送信データ指示信号に応じて第１データ処理情報または第２データ処理情報に基づき画像データ処理を実行することができる。このため、第２データ処理部は、転送されたデータの画像データ処理の処理内容が異なる場合であってもそれぞれの処理内容に応じた処理を行うことができる。
【００３０】
本発明に係るが像処理装置の制御方法は、上記した課題を解決するために、画像データの圧縮および圧縮された画像データの伸張のうち少なくともいずれか１つの処理を含む画像データ処理を行う第１データ処理部と、この第１データ処理部とは画像データ処理の処理方式が異なるとともに、該画像データ処理にかかる処理時間が該第１データ処理部よりも小さい第２データ処理部とを有する画像処理装置の制御方法であって、上記画像処理装置は、上記画像データ処理を行う画像データとして、異なる特性の領域を含む第１画像データと、該第１画像データとは異なる第２画像データとを記憶する記憶部をさらに備えており、上記記憶部に記憶された第１画像データを、該第１画像データを構成する領域の特性に応じて、上記第１データ処理部によって画像データ処理を行う領域である第１領域部分と、上記第２データ処理部によって画像データ処理を行う領域である第２領域部分とに分離する分離ステップと、上記第１データ処理部が第１領域部分の画像データ処理を行っている間に、上記第２データ処理部は、上記第２領域部分と上記第２画像データとを上記記憶部から読み出し、画像データ処理を行う画像データ処理ステップとを含むことを特徴とする。
【００３１】
本発明に係る画像処理装置の制御方法は、画像データ処理の処理方式が異なる第１データ処理部および第２データ処理部を備えているため、画像データの特性に応じて適切な方式により画像データの画像データ処理を行うことができる。
【００３２】
なお、画像データの特性としては、画像データ処理に伴い、その画像データが画質の劣化の影響を大きく受けるか否か等が挙げられる。
【００３３】
上記した方法によるとさらに分離ステップを含むため、画像データを構成する領域の特性に応じて第１画像データを第１領域部分と第２領域部分とに分離することができる。そして、分離された第１領域部分と第２領域部分とはそれぞれ第１データ処理部と第２データ処理部とで並行して画像データ処理を行うことができる。例えば、画像データの圧縮処理に伴い、画像データが画質の劣化の影響を大きく受けるか否か等によって第１画像データを分離し、それぞれの特性に応じて、第１データ処理部と第２データ処理部とに並行して処理させることができる。
【００３４】
また、画像データ処理ステップを含むため、第２データ処理部は、上記第１データ処理部が第１領域部分の画像データ処理を行っている間に、上記第２領域部分に加えて上記第２画像データも上記記憶部から読み出し、画像データ処理を行うことできる。
【００３５】
このため、本発明に係る画像処理装置の制御方法は、記憶部に記憶している画像データに対して効率よく画像データ処理を実行することができるという効果を奏する。
【発明の効果】
【００３６】
本発明に係る画像処理装置は、以上のように、本発明に係る画像処理装置は、上記した課題を解決するために、画像データの圧縮および圧縮された画像データの伸張のうち少なくともいずれか１つの処理を含む画像データ処理を行う第１データ処理部と、この第１データ処理部とは画像データ処理の処理方式が異なるとともに、該画像データ処理にかかる処理時間が該第１データ処理部よりも小さい第２データ処理部とを有する画像処理装置であって、上記画像データ処理を行う画像データとして、異なる特性の領域を含む第１画像データと、該第１画像データとは異なる第２画像データとを記憶する記憶部と、上記記憶部に記憶された第１画像データを、該第１画像データを構成する領域の特性に応じて、上記第１データ処理部によって画像データ処理を行う領域である第１領域部分と、上記第２データ処理部によって画像データ処理を行う領域である第２領域部分とに分離する分離部と、を備え、上記第１データ処理部が第１領域部分の画像データ処理を行っている間に、上記第２データ処理部は、上記第２領域部分と上記第２画像データとを上記記憶部から読み出し、画像データ処理を行うことを特徴とする。
【００３７】
このため、本発明に係る画像処理装置は、記憶部に記憶している画像データに対して効率よく画像データ処理を実行することができるという効果を奏する。
【００３８】
本発明に係るが像処理装置の制御方法は、以上のように、画像データの圧縮および圧縮された画像データの伸張のうち少なくともいずれか１つの処理を含む画像データ処理を行う第１データ処理部と、この第１データ処理部とは画像データ処理の処理方式が異なるとともに、該画像データ処理にかかる処理時間が該第１データ処理部よりも小さい第２データ処理部とを有する画像処理装置の制御方法であって、上記画像処理装置は、上記画像データ処理を行う画像データとして、異なる特性の領域を含む第１画像データと、該第１画像データとは異なる第２画像データとを記憶する記憶部をさらに備えており、上記記憶部に記憶された第１画像データを、該第１画像データを構成する領域の特性に応じて、上記第１データ処理部によって画像データ処理を行う領域である第１領域部分と、上記第２データ処理部によって画像データ処理を行う領域である第２領域部分とに分離する分離ステップと、上記第１データ処理部が第１領域部分の画像データ処理を行っている間に、上記第２データ処理部は、上記第２領域部分と上記第２画像データとを上記記憶部から読み出し、画像データ処理を行う画像データ処理ステップとを含むことを特徴とする。
【００３９】
このため、本発明に係る画像処理装置の制御方法は、記憶部に記憶している画像データに対して効率よく画像データ処理を実行することができるという効果を奏する。
【図面の簡単な説明】
【００４０】
【図１】本発明の実施形態を示すものであり、画像処理装置における圧縮処理に係る要部構成について示すブロック図である。
【図２】本発明の実施形態を示すものであり、圧縮モジュールの要部構成を説明するブロック図である。
【図３】本発明の実施形態を示すものであり、圧縮モジュールにおける圧縮処理の処理フローを示すフローチャートである。
【図４】本発明の実施形態を示すものであり、ＤＲＡＭからＳＲＡＭへのデータの読み出し例を示す図である。
【図５】本発明の実施形態を示すものであり、データ置換部によって実行される置換処理を示す図である。
【図６】本発明の実施形態を示すものであり、データ置換部によって実行される置換処理を示す図である。
【図７】本発明の実施形態を示すものであり、アービタによる調停処理のタイムチャートを示す図である。
【図８】本発明の実施形態を示すものであり、指示データ可逆圧縮コア、画像データ可逆圧縮コア、画像データ非可逆圧縮コアそれぞれで第１画像データセットの圧縮処理を行なった場合における処理時間の比較を示す図である。
【図９】本発明の実施形態を示すものであり、圧縮モジュールにおける圧縮処理の処理フローを示すフローチャートである。
【図１０】本発明の実施形態を示すものであり、画像データ非可逆圧縮コアが画像データを受信する際の信号波形を示す図である。
【図１１】本発明の実施形態を示すものであり、２種類の画像データを時分割で圧縮処理した場合の処理状態の一例を示す図である。
【図１２】本発明の実施形態を示すものであり、画像データ非可逆圧縮コアの要部構成を示すブロック図である。
【発明を実施するための形態】
【００４１】
本発明の一実施形態について図１ないし図１２に基づいて説明すると以下の通りである。すなわち、本実施の形態に係る画像処理装置１は、画像データから写真領域や文字領域など特徴領域（特性の領域）を判定し、特徴領域に応じて可逆圧縮または非可逆圧縮（画像データ処理）を行うものである。画像処理装置１は、例えば、複写機、プリンタ、スキャナ、ファクシミリ、あるいはこれらを統合したデジタル複合機などにより実現できる。
【００４２】
まず、図１を参照して画像処理装置１における圧縮処理に係る構成について説明する。図１は、本発明の実施形態を示すものであり、画像処理装置１における圧縮処理に係る要部構成について示すブロック図である。
【００４３】
（画像処理装置の圧縮処理に係る構成）
図１に示すように、本実施の形態に係る画像処理装置１は、圧縮処理に係る構成として、割り込み制御部１１、ＣＰＵ１２、メモリコントローラ１４、ＨＤＤコントローラ１５、画像処理部１６、指示データ生成部１７、および画質改善画像処理部１８を備えている。そして、これら各部はシステムバス２を通じてデータの送受信を行うことができる。
【００４４】
割り込み制御部１１は、当該画像処理装置１が備える各部からイベント信号を受信するとＣＰＵ１２に対してイベント発生を通知するものである。このイベント信号の例としては、例えば、ＤＭＡ転送完了の通知、スレーブモジュール（本実施形態ではメモリコントローラ１４等）との通信エラーなどによるＤＭＡ転送の中止を示す通知などが挙げられる。つまり、イベント信号は、各ＤＭＡ部から割り込み制御部１１に対して出力される通知信号である。各ＤＭＡ部から通知されたこれらの通知信号は、割り込み制御部１１が備える不図示のレジスタに保持されように構成されている。そして、ＣＰＵ１２が該当するレジスタから通知信号を読み出すことにより、何のイベントが発生したのかを判定することができる。ＣＰＵ１２は判定したイベントの種類によって、次に動作すべき内容を決定する。
【００４５】
ＣＰＵ１２は、画像処理装置１が備える各部の各種制御を行うものである。具体的には、ＣＰＵ１２は、後述するＤＲＡＭ（メインメモリ）３からプログラムデータを、メモリコントローラ１４を介して読み出し、この読み出した命令を解釈して動作する。ＣＰＵ１２は、これらの命令を順番に読み出すことで、画像処理装置１全体の各部を制御することができる。なお、この命令としては、例えばＤＭＡ部に対する起動および終了命令、あるいは割り込み処理命令などが挙げられる。
【００４６】
メモリコントローラ１４は、ＤＲＡＭ３と接続されており、ＣＰＵ１２、または各ＤＭＡ部からの指示に応じて該ＤＲＡＭ３に対するデータの読み出し、および書込みを制御するモジュールである。つまり、メモリコントローラ１４は、スレーブモジュールとして動作するものであり、マスタモジュールであるＣＰＵ１２や各ＤＭＡ部により指示されたＤＲＡＭ３のアドレスから、指示されたデータサイズのデータを読み出したり、書き込んだりする。そして、メモリコントローラ１４は、読み出し要求によってＤＲＡＭ３から読み出したデータを、読み出しの要求を行ったマスタモジュール（ＣＰＵ１２または各ＤＭＡ部）に転送する。あるいは、メモリコントローラ１４は、書き込み要求により書き込むべきデータをマスタモジュールから取得し、ＤＲＡＭ３に対して書き込みを行う。また、メモリコントローラ１４は、ＤＲＡＭ３に格納されているデータが消えないようにするために、リフレッシュ制御などを行うものでもある。
【００４７】
ＨＤＤコントローラ１５は、ＤＭＡ部を有しており、ＣＰＵ１２からのＤＭＡ部に対する起動命令に応じて、ハードディスク（ＨＤＤ）に対し、データの読み出し、あるいは書き込みを行うモジュールである。ＨＤＤコントローラ１５は、全てのデータ転送が完了すると、割り込み制御部１１に対して完了通知を行う。そして、この通知は、割り込み制御部１１を介してＣＰＵ１２に通知される。なお、ＨＤＤコントローラ１５が扱うデータとは、画像データ、指示データ、圧縮データ、プログラムデータなど、ＨＤＤに格納するデータ全てが対象となる。
【００４８】
画質改善画像処理部１８は、ＤＭＡ部を有し、高画質化処理および解像度変換処理など画質改善にかかる処理を実現するモジュールである。画質改善画像処理部１８は、ＣＰＵ１２からのＤＭＡ部に対する起動命令に応じて、ＤＲＡＭ３から画像データを取得する。そして、ＣＰＵ１２からの指示に応じて、取得した画像データに対して、高画質化処理および解像度変換処理等を実施する。
【００４９】
画像処理部１６は、ＤＭＡ部を有し、画像処理機能を実現するモジュールである。画像処理部１６は、ＣＰＵ１２からのＤＭＡ部に対する起動命令に応じて、ＤＲＡＭ３から画像データを取得し、データバッファであるＳＲＡＭ２５に保存する。そして、画像処理部１６は、ＳＲＡＭ２５に保存した画像データを読み出し、ＣＰＵ１２からの指示に従って画像処理を行い、出力バッファであるＳＲＡＭ２５に書き込む。このようにして、画像処理が完了すると、画像処理部１６では、ＤＭＡ部がＤＲＡＭ３に対して書き込みを行う。この一連の処理を繰り返し、全ての画像データに対する画像処理を完了すると、画像処理部１６は、割り込み制御部１１に対して完了通知を送る。そして、この完了通知は、画像処理部１６を介してＣＰＵ１２通知される。なお、画像処理部１６において実行される画像処理としては、例えば、画像データの高画質化処理、解像度変換処理、暗号化処理、圧縮処理、伸張処理などの処理が挙げられる。なお、圧縮処理および伸張処理が本発明の画像データ処理に相当する。
【００５０】
また、画像処理部１６は、特に圧縮処理を実行する部材として、圧縮モジュール１３を備えている。圧縮モジュール１３の詳細については後述する。
【００５１】
指示データ生成部１７は、ＤＭＡ部を有し、圧縮方式指示データ（指示データと称する）を生成するモジュールである。この指示データとは、画像データの圧縮形式を特定するためのデータである。以下において、この指示データの生成処理について説明する。
【００５２】
本実施の形態に係る画像処理装置１は、以下のような流れで画像データの指示データの生成を行っている。すなわち、ＣＰＵ１２からの起動命令に応じて、指示データ生成１７がＤＲＡＭ３からデータを読み出し、指示データ生成１７内部で画像解析を行う。指示データ生成部１７は、画像解析結果から各画素（本実施形態ではＲＧＢ各８ｂｉｔ合計２４ｂｉｔを１画素とする）毎に、４ｂｉｔの指示データ（指示データと称する）を生成する。つまり、１画素２４ｂｉｔの画像データにつき、４ｂｉｔの指示データを生成する。例えば、１００ＭＢの画像データを圧縮処理する場合、該１００ＭＢの画像データに対する指示データは１６．７ＭＢのサイズとなる。このようにして、ＣＰＵ１２からの制御指示の下、指示データ生成部１７が指示データを生成する。
【００５３】
生成された指示データは、ＣＰＵ１２からの指示に応じて指示データ生成部１７が備えるＤＭＡが、メモリコントローラ１４を介してＤＲＡＭ３に書き込む。そして、全ての画素に対する指示データをＤＲＡＭ３に書き込むと、割り込み制御部１１に対して指示データ生成処理の完了通知を行う。この完了通知は、割り込み制御部１１を介してＣＰＵ１２に通知される。
【００５４】
画像データに対して実行される画像解析とは、例えば、領域判定などの処理が挙げられる。つまり、領域判定処理において、色変化および濃度変化の大きく高周波成分の多い画像は、写真領域であると判定され、この領域に対して非可逆圧縮を行う指示データが生成される。なお、画像解析の具体的処理内容については、公知の技術であるため、その詳細はここでは省略する。
【００５５】
圧縮モジュール１３は、複数のＤＭＡ部からなる圧縮モジュールＤＭＡ２４を有しており、ＣＰＵ１２からの指示に応じてデータの圧縮処理を行うモジュールである。図１に示すように圧縮モジュール１３は、３つの圧縮コアモジュール（画像データ非可逆圧縮コア２１、画像データ可逆圧縮コア２２、指示データ可逆圧縮コア２３）を備えている。なお、本明細書では、画像データ非可逆圧縮コア２１、画像データ可逆圧縮コア２２、指示データ可逆圧縮コア２３をそれぞれ区別して説明する必要がない場合は、これらを総称して単に圧縮コアモジュールと称することとする。
【００５６】
圧縮モジュール１３は、ＤＲＡＭ３から画像データと指示データを読み込むと、３つの圧縮コアモジュールに分散して、可逆圧縮および非可逆圧縮が行われる。より具体的には、画像データ非可逆圧縮コア２１は、画像データのうち写真等を含む所定領域（写真領域）に対して非可逆圧縮を行う。一方、画像データ可逆圧縮コア２２は、この同じ画像データのうち文字等が存在する領域（文字領域）に対して可逆圧縮を行う。また、指示データ可逆圧縮コア２３は、この画像データに対応する指示データの可逆圧縮を実行する。以下において、図２を参照して、本実施の形態に係る圧縮モジュール１３のより詳細な構成について説明する。図２は、本発明の実施形態を示すものであり、圧縮モジュール１３の要部構成を説明するブロック図である。
【００５７】
なお、図２では、説明を簡便にするために、圧縮モジュール１３がＤＲＡＭ３から第１画像データ、圧縮方式指示データ、第２画像データをそれぞれ読み出すように記載されている。しかしながら、実際には、システムバス２を通じてメモリコントローラ１４を介してＤＲＡＭ３から上述した各種画像データを読み出す。
【００５８】
（圧縮モジュールの構成）
図２に示すように、本実施の形態に係る圧縮モジュール１３は、圧縮モジュールＤＭＡ２４（ＤＭＡ部２４ａ〜ＤＭＡ部２４ｇ）、ＳＲＡＭ２５（ＳＲＡＭ２５ａ〜２５ｇ）、アービタ２６、ＳＲＡＭリードコントローラ２７ａ〜２７ｃ、データ置換部２８ａ〜２８ｂ、圧縮コアモジュール（画像データ非可逆圧縮コア２１、画像データ可逆圧縮コア２２、指示データ可逆圧縮コア２３）、ＳＲＡＭライトコントローラ２９ａ〜２９ｃとを備えてなる構成である。
【００５９】
なお、圧縮モジュールＤＭＡ２４（特にＤＭＡ部２４ａ〜２４ｃ）、ＳＲＡＭ２５（特にＳＲＡＭ２５ａ〜２５ｃ）、アービタ２６、ＳＲＡＭリードコントローラ２７ａ〜２７ｃによって本発明の転送部を実現する。
【００６０】
また、圧縮モジュール１３が備えるＤＭＡ部２４ａ〜２４ｇ、ＳＲＡＭ２５ａ〜２５ｇ、ＳＲＡＭリードコントローラ２７ａ〜２７ｃ、データ置換部２８ａ〜２８ｂ、圧縮コアモジュール、ＳＲＡＭライトコントローラ２９ａ〜２９ｃそれぞれの個数は上述した個数に限定されるものではない。圧縮処理対象となるデータの種類等に応じて適宜設けることができる。
【００６１】
ＳＲＡＭ２５は、ＤＲＡＭ３から読み出した指示データ、画像データ（第１画像データ、第２画像データ）、およびこれらの各種データを圧縮処理した結果得られる４つの圧縮データ（圧縮データ２４ｄ〜２４ｇ）を格納するメモリである。
【００６２】
第１画像データとは、例えばスキャナからの取得画像であり、第２画像データとは、例えばＦＡＸ画像など様々な画像形式が挙げられる。
【００６３】
アービタ２６は、データを読み出すためにＳＲＡＭ２５へアクセスするモジュールを決定するものである。より具体的には、アービタ２６は、ＳＲＡＭリードコントローラ２７ａ〜２７ｃのＳＲＡＭ２５に対するアクセス許可を発行する。このため、アービタ２６により許可を発行されたＳＲＡＭリードコントローラだけがＳＲＡＭ２５にアクセスしてデータを読み出すことができる。
【００６４】
データ置換部２８ａ〜２８ｂは、ＳＲＡＭリードコントローラ２７ｂ、２７ｃによりＳＲＡＭ２５から読み出された画像データを、指示データの内容に従って置換処理するものである。そして、データ置換部２８ａ〜２８ｃは、置換処理した結果を圧縮コアモジュールに対して出力する。なお、この置換処理の詳細については後述する。
【００６５】
ＳＲＡＭライトコントローラ２９ａ〜２９ｃは、各圧縮コアモジュールによって圧縮処理されたデータ（第１〜第４圧縮データ）をＳＲＡＭ２５（ＳＲＡＭ２５ｄ〜２５ｇ）にそれぞれ書き込むものである。ＳＲＡＭ２５に書き込まれたデータそれぞれを、ＤＭＡ２４ｄ〜２４ｇが、メモリコントローラ１４を介してＤＲＡＭ３に書き込む。
【００６６】
上記した構成を有する圧縮モジュール１３は、２種類の画像データ（第１画像データセットおよび第２画像データ）を並列的に圧縮処理することが可能となっている。そこで、上述した図２、ならびに図３、４を参照にして、圧縮モジュール１３における圧縮処理の処理フローについて説明する。図３は、本発明の実施形態を示すものであり、圧縮モジュール１３における圧縮処理の処理フローを示すフローチャートである。
【００６７】
（圧縮処理の処理フロー）
まず、前提として、並列的に圧縮処理を行う２種類の画像データとして、第１画像データとその指示データとを含むデータ（第１画像データセット）と、第１画像データとは異なる画像データである第２画像データとが図２に示すようにＤＲＡＭ３に記憶されているものとする。そして、第１画像データはその一部が非可逆圧縮され、それ以外は可逆圧縮されるものとする。また、指示データは可逆圧縮されるものとする。第２画像データは、非可逆圧縮のみ実行されるものとする。
【００６８】
また、指示データのＳＲＡＭ２５へのＤＭＡ転送は、ＤＭＡ部２４ａが、第１画像データのＳＲＡＭ２５へのＤＭＡ転送は、ＤＭＡ部２４ｂが行うものとする。また、第２画像データのＳＲＡＭ２５へのＤＭＡ転送は、ＤＭＡ部２４ｃが行うものとする。一方、可逆圧縮された指示データのＤＲＡＭ３へのＤＭＡ転送は、ＤＭＡ部２４ｄが、可逆圧縮された第１画像データのＤＲＡＭ３へのＤＭＡ転送は、ＤＭＡ部２４ｅが、非可逆圧縮された第１画像データのＤＲＡＭ３へのＤＭＡ転送は、ＤＭＡ部２４ｆがそれぞれ行うものとする。また非可逆圧縮された第２画像データのＤＲＡＭ３へのＤＭＡ転送は、ＤＭＡ部２４ｇが行うものとする。
【００６９】
なお、２種類の画像データそれぞれの画像圧縮処理は独立して起動および終了が可能である。このため、説明の便宜上、以下のフローチャートではそれぞれの場合について個別に説明する。
【００７０】
（第１画像データセットの圧縮処理）
まず、第１画像データセットの圧縮処理について説明する。
【００７１】
図３に示すように、ＣＰＵ１２は、ＤＭＡ部（ＤＭＡ部２４ａ、２４ｂ）のソース動作設定を行う（ステップＳ１１、これ以降Ｓ１１のように称する）。ＤＭＡのソース動作設定とは、ＤＭＡ部２４ａ、２４ｂそれぞれが取得するデータが格納されているＤＲＡＭ３における位置（アドレス）、および画像サイズに応じたデータサイズなどを設定することである。この設定は、ＣＰＵ１２が、ＤＲＡＭ３に格納する原稿のデータサイズや、ＤＲＡＭ３の使用状況に基づいて自動的に行うように構成されている。
【００７２】
なお、ステップＳ１１では、ＣＰＵ１２が、ＤＭＡ部２４ａおよびＤＭＡ部２４ｂそれぞれが扱うデータについても設定する。具体的には、ＣＰＵ１２は、各ＤＭＡ部２４ａ、２４ｂそれぞれが読み出すデータの格納位置を示すアドレスを指示することでこの設定を行う。例えば、指示データおよび第１画像データそれぞれが、図２に示すようにＤＲＡＭ３に格納されている場合、ＣＰＵ１２は、ＤＭＡ部２４ａに対し、指示データの格納アドレスをアドレス0x0000_0000とし、ＤＭＡ部２４ｂに対し、第１画像データの格納アドレスをアドレス0x1000_0000として設定する。
【００７３】
次に、ＣＰＵ１２は、ＤＭＡ部（ＤＭＡ部２４ｄからＤＭＡ部２４ｆ）のデスティネーション（destination)動作設定を行う（Ｓ１２）。
【００７４】
このデスティネーション（destination)動作設定とは、圧縮処理後のデータを、ＤＲＡＭ３のどの位置（アドレス）に格納すべきか指定することである。
【００７５】
より具体的には、ＣＰＵ１２は、ＤＭＡ部２４ｄに対し、可逆圧縮後の指示データ（第１圧縮データ）を、開始アドレス0x3000_0000に格納するように設定する。ＤＭＡ部２４ｅに対しては、可逆圧縮後の画像データ（第２圧縮データ）を、開始アドレス0x4000_0000に格納するように設定する。ＤＭＡ部２４ｅに対しては、非可逆圧縮後の画像データ（第３圧縮データ）を、開始アドレス0x5000_0000に格納するように設定する。
【００７６】
以上のようにソース動作設定およびデスティネーション（destination)動作設定が完了すると、ＣＰＵ１２は、圧縮モジュールＤＭＡ２４を起動させる（Ｓ１３）。ＣＰＵ１２により圧縮モジュールＤＭＡ２４に対して起動指示がなされると、各ＤＭＡ部（本実施形態ではＤＭＡ部２４ａ、２４ｂ）は、ＤＲＡＭ３に対してデータを要求する。
【００７７】
まず、ＤＭＡ部２４ｂは、第１画像データをＤＲＡＭ３からＳＲＡＭのデータサイズ分だけ読み出す。そして、読み出したデータをＳＲＡＭ２５に格納する（Ｓ１４）。
【００７８】
具体的には、図４に示すように、ＤＲＡＭ３から読み出されたデータがＳＲＡＭ２５に読み出される。図４は、本発明の実施形態を示すものであり、ＤＲＡＭ３からＳＲＡＭ２５へのデータの読み出し例を示す図である。
【００７９】
すなわち、ＤＲＡＭ３に格納されている画像データは、主走査方向（図の左右方向）について１００画素あり、図４に示すように連続的にデータが格納されているものとする。本実施形態では、８×８画素単位で非可逆圧縮処理を行うように構成されている。一方、ＳＲＡＭ２５には８×８画素３つ分の容量があるため、主走査方向の２４画素分、副走査方向（図の上下方向）の８ライン分の矩形領域データ（１９２画素）を、ＤＭＡ部２４ｂはＤＲＡＭ３から読み出し、ＳＲＡＭ２５に格納する。その結果、ＳＲＡＭ２５には、図４に示すように、画素データが格納される。
【００８０】
次に、ＤＭＡ部２４ａは、指示データをＤＲＡＭ３からＳＲＡＭのデータサイズ分だけ読み出す。そして、読み出したデータをＳＲＡＭ２５に格納する（Ｓ１５）。
【００８１】
具体的には、上記した第１画像データと同様に、図４に示すように、ＤＲＡＭ３から読み出されたデータがＳＲＡＭ２５に読み出される。
【００８２】
すなわち、指示データについても第１画像データと同様に、設定された開始アドレスから連続的にデータが格納されているものとする。なお、指示データが必要となる領域部分は、第１画像データにおける非可逆圧縮を実行する画像領域に対応した矩形領域部分である。このため、ＤＭＡ部２４ａは、該当領域箇所の主走査方向における２４画素、副走査方向における８画素分のデータを取得してＳＲＡＭ２５に格納する。
【００８３】
このように指示データおよび第１画像データの取得が完了すると、圧縮モジュールＤＭＡ２４は、ＳＲＡＭリードコントローラ２７ａ〜２７ｃに対して、データ取得完了を通知する。この通知を受信すると、ＳＲＡＭリードコントローラ２７ａ〜２７ｃは、画像データおよび指示データをアービタ２６の調停結果に従って、画像データ、指示データの読み込み処理を開始する。そして、データ置換部２８ａ、２８ｂは、ＳＲＡＭリードコントローラ２７ｂ、２７ｃによりＳＲＡＭ２５から読み出された画像データを、指示データの内容に従って置換処理する。そして、置換処理を行うと、ＳＲＡＭリードコントローラ２７ａ〜２７ｃは、圧縮コアモジュールに対して転送する（Ｓ１６）。
【００８４】
ここで、図５を参照して、データ置換部２８ａ、２８ｂによって実行される置換処理について説明する。図５は、本発明の実施形態を示すものであり、データ置換部２８ａ、２８ｂによって実行される置換処理を示す図である。
【００８５】
まず、置換処理後の結果を画像データ非可逆圧縮コア２１に出力する場合について説明する。
【００８６】
データ置換部２８ａ、２８ｂは、画像データの画素「００１」と、対応する指示データ「１」とを、それぞれのＳＲＡＭ２５より取得する。ここで指示データは、「０」または「１」の２値により示されるもので、「０」は可逆圧縮処理を行うべき画素であることを意味し、「１」は非可逆圧縮処理を行うべき画素であることを意味するものとする。
【００８７】
このように、指示データの値「１」は、対応する第１画像データの画素「００１」について非可逆圧縮処理を行うことを意味する。このため、第１画像データの画素「００１」は画像データ非可逆圧縮コア２１に出力される。
【００８８】
次に、第１画像データの画素「００２」と対応する指示データの値も「１」である。このため、画素「００２」についても画像データ非可逆圧縮コア２１に出力する。このように、順次、画像データ非可逆圧縮コア２１への出力を繰り返す。
【００８９】
図５において、第１画像データの画素「００７」を処理する場合、指示データの値は「０」となる。ここで、指示データの値「０」は可逆圧縮を行うことを意味するため、画像データの画素「００７」を「０ｘ００」に置換して、画像データ非可逆圧縮コア２１に出力する。
【００９０】
このように置換処理を主走査方向の８画素、副走査方向における８ライン分の合計６４画素分すなわち６４回繰り返すと、図５の右側に示すような置換処理後のデータが非可逆圧縮コア２１に転送される。
【００９１】
なお、本実施形態では、処理を簡単にするため置換処理は「０ｘ００」への単純置換としているが、実際には画質向上のために様々な方法が考えられる。
【００９２】
次に、図６を参照して置換処理後の結果を画像データ可逆圧縮コア２２に出力する場合について説明する。図６は、本発明の実施形態を示すものであり、データ置換部２８ａ、２８ｂによって実行される置換処理を示す図である。
【００９３】
ここでの置換処理の処理手順は図５と同様となる。つまり、主走査方向の８画素、副走査方向の８画素分の矩形領域を１ラインずつ処理する。具体的には、第１画像データの画素の番号が若い順に処理をする。
【００９４】
ただし、置換処理後の結果を画像データ非可逆圧縮コア２１に出力する場合と比較して以下の点で異なる。すなわち、指示データの値に対する置換処理が逆転する点である。より具体的には、指示データの値「１」は非可逆圧縮処理を行うことを意味する。このため、指示データの値が「１」に対応する第１画像データの画素を「０ｘ００」に置換して画像データ可逆圧縮コア２２に出力する。一方、指示データの値が「０」に対応する第１画像データの画素は可逆圧縮を行うことを意味するため、そのまま可逆圧縮コアへ出力する。
【００９５】
ところで、ＳＲＡＭリードコントローラ２７ａ〜２７ｃそれぞれは、同じ指示データを格納したＳＲＡＭ２５ａと、第１画像データを格納したＳＲＡＭ２５ｂにアクセスするため、アービタ２６によってＳＲＡＭ２５ａ、２５ｂに対するアクセス制御の調停が行われる。
【００９６】
以下において、図７を参照してアービタ２６による調停処理について説明する。図７は、本発明の実施形態を示すものであり、アービタ２６による調停処理のタイムチャートを示す図である。
【００９７】
本実施の形態に係るＳＲＡＭリードコントローラ２７ａ〜２７ｃは、上記したように、各ＤＭＡ部２４ａ、２４ｂからデータ取得完了通知を受信すると、ＳＲＡＭ２５にデータを要求するために、リクエスト信号（「req1」、「req2」、「req3」）を、すべてＨｉｇｈアクティブにする。アービタ２６はリクエストを発行しているＳＲＡＭリードコントローラ２７ａ〜２７ｃのうちから１つを選択し、アドレス有効信号（「avalid1」、「avalid2」、または「avalid3」）をアクティブにする。
【００９８】
図７に示す実施形態では、置換処理後の画像データの出力先として画像データ可逆圧縮コア２２が選択され、「avalid 1」がアクティブとなっているものとする。このように、「avalid 1」がアクティブ（Ｈｉｇｈ）となりＳＲＡＭ２５へのアクセス権を得たＳＲＡＭリードコントローラ２７ａは、次のクロック(「clock」)で出力しているアドレス（「address」）に対応するデータ(「data」)を取得することが可能となる。
【００９９】
一方、ＳＲＡＭリードコントローラ２７ａ〜２７ｃとＳＲＡＭ２５ａ、２５ｂとの間におけるインタフェースを提供するＳＲＡＭ  Ｉ／Ｆは、アービタ２６からＳＲＡＭリードコントロール選択信号を受信する。そして、このＳＲＡＭリードコントロール選択信号に応じて、各ＳＲＡＭリードコントローラ２７ａ〜２７ｃから入力されるリクエスト信号を、ＳＲＡＭチップセレクト信号(「CS」)に出力する。また、ＳＲＡＭ  Ｉ／Ｆは、ＳＲＡＭリードコントロール選択信号に応じて、各ＳＲＡＭリードコントローラからのアドレス信号をＳＲＡＭ２５に出力する。
【０１００】
以上のようにして、本実施形態では、アービタ２６による調停処理により、複数モジュール（ＳＲＡＭリードコントローラ２７ａ〜２７ｃ）からの同じＳＲＡＭ２５に対する時分割アクセスを実現することができる。ただし、ＳＲＡＭのリードポートを３ポート備えた構成とすれば、このような時分割制御を省略することができる。
【０１０１】
画像データおよび指示データが圧縮コアモジュールに対して転送されると、圧縮コアモジュールにおいて、圧縮処理（可逆圧縮処理または非可逆圧縮理）が行なわれる（Ｓ１７）。
【０１０２】
圧縮処理された画像データおよび指示データは、ＳＲＡＭライトコントローラ２９ａ〜２９ｃによってＳＲＡＭ２５（ＳＲＡＭ２５ｄ〜２５ｇ）に格納される（Ｓ１８）。
【０１０３】
また、本実施の形態に係る画像処理装置１では、３つの圧縮コアモジュールそれぞれは、圧縮処理が完了すると、圧縮モジュールＤＭＡ２４（ＤＭＡ部２４ｄ〜２４ｇ）に対して、その完了を示す完了通知を行うように構成されている。より具体的には、指示データ可逆圧縮コア２３は、指示データの可逆圧縮処理が完了するたびにＤＭＡ部２４ｄに完了通知を行う。画像データ可逆圧縮コア２２は、画像データの可逆圧縮処理が完了するたびにＤＭＡ部２４ｅに完了通知を行う。また、画像データ非可逆圧縮コア２１は、画像データの非可逆圧縮が完了するたびにＤＭＡ部２４ｆに完了通知を行う。
【０１０４】
圧縮モジュールＤＭＡ２４（ＤＭＡ部２４ｄ〜２４ｇ）は、完了通知を受信したものから順に、ＳＲＡＭ２５（ＳＲＡＭ２５ｄ〜２５ｆ）に格納された圧縮データ（第１圧縮データ〜第３圧縮データ）を、ステップＳ１２において設定したデスティネーション（destination)動作設定に基づきＤＲＡＭ３に対して書き込む（Ｓ１９）。
【０１０５】
ＤＲＡＭ３に格納されている指示データおよび第１画像データすべてに対して圧縮処理が完了するまで（ステップＳ２０において「ＹＥＳ」と判定されるまで）、上記したステップＳ１４からステップＳ１９までの処理を繰り返す。
【０１０６】
ステップＳ２０において「ＹＥＳ」と判定されると、圧縮モジュールＤＭＡ２４（ＤＭＡ部２４ｄ〜２４ｆ）は、ＣＰＵ１２に対して圧縮処理の終了通知を行う。
【０１０７】
以上のようにして、本実施の形態に係る画像処理装置１では、「第１画像データセットの圧縮処理」を実行する。
【０１０８】
ところで、アービタ２６によりＳＲＡＭリードコントローラ２７ａ〜２７ｃのＳＲＡＭ２５に対するアクセスは時分割制御されているが、指示データの可逆圧縮処理、画像データの可逆圧縮処理、ならびに画像データの非可逆圧縮処理それぞれは、実質的には並列して処理が進められる。
【０１０９】
また、可逆圧縮、非可逆圧縮はそれぞれ圧縮方式が異なるため圧縮処理にかかる時間が異なる。このため、画像データ非可逆圧縮コア２１により実行される処理と、画像データ可逆圧縮コア２２、および指示データ可逆圧縮コア２３により実行される処理とでは、終了タイミングが異なるものとなる。
【０１１０】
例えば、画像データ可逆圧縮コア２２および指示データ可逆圧縮コア２３それぞれの処理能力を７５ＭＢ／ｓ、画像データ非可逆圧縮コア２１の処理能力を２００ＭＢ／ｓと仮定すると、圧縮処理にかかる時間の関係は図８のように表される。図８では、塗りつぶされた１ブロックが、ＳＲＡＭサイズ分の画像データ、指示データそれぞれに対する圧縮処理時間を示している。図８に示す例では、画像データ非可逆圧縮コア２１は、画像データ可逆圧縮コア２２または指示データ可逆圧縮コア２３の半分以下の時間で圧縮処理が完了している。図８は、本発明の実施形態を示すものであり、指示データ可逆圧縮コア２３、画像データ可逆圧縮コア２２、画像データ非可逆圧縮コア２１それぞれで第１画像データセットの圧縮処理を行った場合における処理時間の比較を示す図である。
【０１１１】
なお、上述したように、アービタ２６によって、ＳＲＡＭリードコントローラ２７ａ〜２７ｃそれぞれのＳＲＡＭ２５に対するアクセスタイミングが調整されている。しかしながら、ＳＲＡＭリードコントローラ２７ａ〜２７ｃそれぞれのＳＲＡＭ２５に対するアクセスタイミングのタイムラグは、非常に小さい。このため、画像データ非可逆圧縮コア２１、画像データ可逆圧縮コア２２、指示データ可逆圧縮コア２３それぞれで実行される圧縮処理は、それぞれほぼ同じタイミングで並列して実行されるものとしてみなすことができる。このため、図８では、ＳＲＡＭサイズ分の指示データ、画像データに対する圧縮処理の開始はほぼ同時となるように表している。
【０１１２】
図８からも明らかなように、圧縮処理の処理速度が異なる場合、圧縮処理の処理速度が速い方は、圧縮処理の処理速度が遅い方の処理が完了するのを待たなければ、次のＳＲＡＭサイズ分の指示データ、画像データに対する圧縮処理を実行することができない。つまり、画像データ非可逆圧縮コア２１が次の圧縮処理を開始するまでの間に待ち時間が発生している。
【０１１３】
ところで、本実施の形態に係る画像処理装置１は、上記したように、並列的に圧縮処理を行う２種類の画像データとして、第１画像データとその指示データとを含むデータ（第１画像データセット）に加えて、第２画像データがＤＲＡＭ３に記憶されている。
【０１１４】
そこで、本実施の形態に係る画像処理装置１は、画像データ非可逆圧縮コア２１において発生している上述の待ち時間を利用して、この第２画像データの圧縮処理を行うように構成されている。
【０１１５】
以下において、まず図９を参照して第２画像データの圧縮処理の処理フローを説明する。そして、画像データ非可逆圧縮コア２１において実行される第１画像データおよび第２画像データの圧縮処理について説明する。
【０１１６】
（第２画像データの圧縮処理）
図９を参照すると、第２画像データの圧縮処理は以下のようになる。図９は、本発明の実施形態を示すものであり、圧縮モジュール１３における圧縮処理の処理フローを示すフローチャートである。
【０１１７】
まず、前提として、第２画像データについては、非可逆圧縮のみが行われるものとする。
【０１１８】
図９に示すように、ＣＰＵ１２は、ＤＭＡ部（ＤＭＡ部２４ｃ）のソース動作設定を行う（Ｓ３１）。なお、このステップＳ３１では、具体的には、ＣＰＵ１２は、ＤＭＡ部２４ｃが読み出すデータの格納位置を示すアドレスを指示する。例えば、ＣＰＵ１２は、ＤＭＡ部２４ｃに対し、第２画像データの格納アドレスをアドレス0x2000_0000として設定する。
【０１１９】
次に、ＣＰＵ１２は、ＤＭＡ部２４ｇのデスティネーション（destination)動作設定を行う（Ｓ３２）。より具体的には、ＣＰＵ１２は、ＤＭＡ部２４ｇに対し、非可逆圧縮後の画像データ（第４圧縮データ）を、開始アドレス0x6000_0000に格納するように設定する。
【０１２０】
以上のようにソース動作設定およびデスティネーション動作設定が完了すると、ＣＰＵ１２は、圧縮モジュールＤＭＡ２４を起動させる（Ｓ３３）。ＣＰＵ１２により圧縮モジュールＤＭＡ２４に対して起動指示がなされると、ＤＭＡ部（本実施形態ではＤＭＡ部２４ｃ）は、ＤＲＡＭ３に対してデータを要求する。
【０１２１】
まず、ＤＭＡ部２４ｃは、第２画像データをＤＲＡＭ３からＳＲＡＭのデータサイズ分だけ読み出す。そして、読み出したデータをＳＲＡＭ２５に格納する（Ｓ３４）。
【０１２２】
具体的には、上述した図４と同様にして、ＤＲＡＭ３から読み出されたデータがＳＲＡＭ２５に読み出される。
【０１２３】
ＤＲＡＭ３から第２画像データの取得が完了すると、すなわち第２画像データのＳＲＡＭデータサイズ分の読み出しが完了すると、圧縮モジュールＤＭＡ２４は、ＳＲＡＭリードコントローラ２７ｃに対して、データ取得完了を通知する。
【０１２４】
この通知を受信すると、ＳＲＡＭリードコントローラ２７ｃは、第２画像データの読み込み処理を開始する。そして、ＳＲＡＭリードコントローラ２７ｃは、ＣＰＵ１２からの指示に応じて、データ置換部２８ａ、２８ｂによる置換処理を省略して、読み出した第２画像データをアービタ２６の調停結果に従って圧縮コアモジュール（画像データ非可逆圧縮コア２１）に転送する（Ｓ３５）。
【０１２５】
第２画像データが圧縮コアモジュール（画像データ非可逆圧縮コア２１）に対して転送されると、この圧縮コアモジュールにおいて、圧縮処理（非可逆圧縮理）が行なわれる（Ｓ３６）。
【０１２６】
圧縮処理された第２画像データは、ＳＲＡＭライトコントローラ２９ｃによってＳＲＡＭ２５ｇに格納される（Ｓ３７）。
【０１２７】
また、画像データ非可逆圧縮コア２１は、画像データの非可逆圧縮が完了するたびにＤＭＡ部２４ｆに完了通知を行う。
【０１２８】
圧縮モジュールＤＭＡ２４（ＤＭＡ部２４ｇ）は、完了通知を受信するとＳＲＡＭ２５ｇに格納された圧縮データ（第４圧縮データ）を、ステップＳ１２において設定したデスティネーション（destination)動作設定に基づきＤＲＡＭ３に対して書き込む（Ｓ３８）。
【０１２９】
ＤＲＡＭ３に格納されている第２画像データすべてに対して圧縮処理が完了するまで（ステップＳ３９において「ＹＥＳ」と判定されるまで）、上記したステップＳ３４からステップＳ３８までの処理を繰り返す。
【０１３０】
ステップＳ３９において「ＹＥＳ」と判定されると、圧縮モジュールＤＭＡ２４（ＤＭＡ部２４ｇ）は、ＣＰＵ１２に対して圧縮処理の終了通知を行う。
【０１３１】
以上のようにして、本実施の形態に係る画像処理装置１では、「第２画像データセットの圧縮処理」を実行する。
【０１３２】
以上のように、「第２画像データの圧縮処理」は、図３に示す、上記した「第１画像データセットの圧縮処理」と比較して、指示データをＤＲＡＭ３から読み出すステップ（Ｓ１５）が無い点を除きほぼ同様な処理を行う。
【０１３３】
本実施形態では、説明の便宜上、「第１画像データセットの圧縮処理」と「第２画像データセットの圧縮処理」とを別々に説明したが、画像処理装置１では、両者の処理を並列して行っている。特に、上述したように、本実施の形態に係る画像処理装置１では、画像データ非可逆圧縮コア２１において発生する、第１画像データの圧縮処理後の待ち時間を利用して、第２画像データの圧縮処理を行う構成である。このため、画像データ非可逆圧縮コア２１の利用にはハードウェア的に工夫が必要となる。
【０１３４】
以下において、第１画像データセットおよび第２画像データの画像データ非可逆圧縮コア２１における並列処理について説明する。
【０１３５】
（画像データ非可逆圧縮コアにおける並列処理）
本実施の形態に係る画像処理装置１では、前提として、第２画像データよりも第１画像データセットに対する圧縮処理が優先されるように設定されているものとする。
【０１３６】
まず、ＳＲＡＭリードコントローラ２７ｃは第１画像データセットのデータ転送を行うＤＭＡ部２４ａ、２４ｂと、第２画像データのデータ転送を行うＤＭＡ部２４ｃとからそれぞれデータの読み込み完了通知を受信するように構成されている。
【０１３７】
ここで、第１画像データ１セットを優先して圧縮処理する必要があるため、ＤＭＡ部２４ａ〜２４ｃそれぞれからデータの読み込み完了通知を受信している場合、ＳＲＡＭリードコントローラ２７ｃは第１画像データセットのデータ転送を優先させる。
【０１３８】
なお、ＤＭＡ部２４ｃのみからデータの読み込み完了通知を受信した場合、第１画像データセットが完全にＳＲＡＭ２５に格納されていない状態であると判定される、このため、この場合ではＳＲＡＭリードコントローラ２７ｃは優先度の低い第２画像データのデータ転送を行う。
【０１３９】
また、ＳＲＡＭ２５ａ、２５ｂ内に格納された指示データおよび第１画像データの、圧縮コアモジュールへの転送が完了した直後において、処理すべき第２画像データがＳＲＡＭ２５ｃ内に存在し、かつＤＭＡ部２４ｃから読み込み完了通知を受信している場合、ＳＲＡＭリードコントローラ２７ｃは第２画像データの転送を行う。
【０１４０】
これら２つの条件を満たす場合以外は、ＤＭＡ部２４ｃから読み込み完了通知を受信している場合であっても、ＳＲＡＭリードコントローラ２７ｃは第１画像データセットを優先的に転送する。
【０１４１】
このように、上記した２つの条件を満たす場合以外では、第１画像データセットを優先的に転送するように構成されているため、本実施の形態に係る画像処理装置１は、所望されるパフォーマンスを守ることができる。
【０１４２】
すなわち、ＳＲＡＭリードコントローラ２７ｃは、予め設定されている優先度に従って、第１画像データセットまたは第２画像データを画像データ非可逆圧縮コア２１に送信することができる。
【０１４３】
このため、第１画像データセットに対する処理について時間制約がある場合、該第１画像データセットに対する処理を優先することができる。なお、時間制約がある処理とは、例えば、第１画像データセットが、当該画像処理装置１において提示されているカタログスペックを守らなければならないコピージョブなどである。
【０１４４】
上記では第１画像データセットを第２画像データよりも優先して圧縮処理を行う場合について説明した。しかしながら、第１画像データセットよりも第２画像データを優先して圧縮処理を行う場合も、優先度を切り替えるだけで同様に処理することができる。つまり、第２画像データを優先処理するように設定されている場合、ＳＲＡＭリードコントローラ２７ｃは、ＤＭＡ部２４ａ、２４ｂとＤＭＡ部２４ｃとからの読み込み完了通知について優先関係を逆転して解釈することとなる。
【０１４５】
また、画像データ非可逆圧縮コア２１には、第１画像データセットと第２画像データとの異なる種類の画像データが入力される。このため、ＳＲＡＭリードコントローラ２７ｃは、画像データ非可逆圧縮コア２１に対して画像データを供給する際には、どちらの画像データを転送中なのかを示す必要がある。ＳＲＡＭリードコントローラ２７ｃは、図１０に示すように、画像データ非可逆圧縮コア２１に対して出力する信号中にimage number信号（送信データ指示信号）を含めることによって、どちらの画像データを転送中なのか示すことができる。
【０１４６】
より具体的には、画像データ非可逆圧縮コア２１に対して画像データが転送される際、画像データ非可逆圧縮コア２１は、image number信号を含む図１０に示す信号の入力を受ける。図１０は、画像データ非可逆圧縮コア２１が画像データを受信する際の信号波形を示す図である。
【０１４７】
図１０に示すように、image valid信号が「Ｈｉｇｈ」の時、image dataは有効な画像データとして画像データ非可逆圧縮コア２１に対して供給される。このとき、同時にimage number信号も画像データ非可逆圧縮コア２１に対して示すことにより、供給される画像データが第１画像データであるのか、あるいは第２画像データであるのか区別することができる。図１０に示す例では、image number信号が「Ｈｉｇｈ」の時、第１画像データの供給を受けており、「Ｌｏｗ」の時、第２画像データの供給を受けていると画像データ非可逆圧縮コア２１は認識する。
【０１４８】
また、画像データ非可逆圧縮コア２１はimage number信号によって示された２種類の画像データが、図１１に示すようにランダムに入力されることから、それぞれの画像データに応じた圧縮処理を時分割的に実現する必要がある。そして、画像データ非可逆圧縮コア２１は２種類の画像データを時分割で圧縮処理するために、レジスタ設定セットを２つ有する必要がある。なお、図１１は、本発明の実施形態を示すものであり、２種類の画像データを時分割で圧縮処理した場合の処理状態の一例を示す図である。
【０１４９】
そこで、本実施の形態に係る画像データ非可逆圧縮コア２１は、図１２に示すように、圧縮コア３１と、２種類のレジスタセット（第１レジスタセット３３ａ、第２レジスタセット３３ｂ）を有するレジスタ３２とを備えた構成とする。図１２は、本発明の実施形態を示すものであり、画像データ非可逆圧縮コア２１の要部構成を示すブロック図である。
【０１５０】
第１レジスタセット（第１データ処理情報）３３ａおよび第２レジスタセット（第２データ処理情報）３３ｂには、第１画像データおよび第２画像データそれそれに応じた圧縮処理を実行するためのレジスタ設定セットが記録されている。例えば非可逆圧縮方式がＪＰＥＧの場合、このレジスタ設定セットとしては、画素サンプリング設定、量子化テーブル設定、ハフマンテーブル設定などが挙げられる。
【０１５１】
なお、このレジスタ３２における第１レジスタセット３３ａおよび第２レジスタセット３３ｂは、レジスタＩ／Ｆ３４を介してＣＰＵ１２によって設定される。
【０１５２】
圧縮コア３１は、画像データ非可逆圧縮コア２１の中核となる部分であり、画像データを非可逆圧縮するために演算処理するものである。圧縮コア３１は、image number信号に応じて、レジスタ３２における第１レジスタセット３３ａまたは第２レジスタセット３３ｂいずれかを選択する。そして、レジスタ３２から、選択した第１レジスタセット３３ａまたは第２レジスタセット３３ｂのレジスタ設定の供給を受け、第１画像データまたは第２画像データの非可逆圧縮処理を実行する。
【０１５３】
圧縮コア３１は、非可逆圧縮処理後の圧縮データ（第３圧縮データまたは第４圧縮データ）をＳＲＡＭライトコントローラ２９ｃに渡してＳＲＡＭ２５ｆまたはＳＲＡＭ２５ｇに格納させる。
【０１５４】
この圧縮データの転送においても、画像データ非可逆圧縮コア２１は、ＳＲＡＭライトコントローラ２９ｃに対して圧縮データが第１画像データの圧縮データ（第３圧縮データ）であるのか、第２画像データの圧縮データ（第４圧縮データ）であるのか示す必要がある。そこで、圧縮コア３１は、圧縮データを出力する際、ＳＲＡＭリードコントローラ２７ｃから第１画像データまたは第２画像データを受信するときと同様の、image number信号を含む信号をＳＲＡＭライトコントローラ２９ｃに出力する。
【０１５５】
ＳＲＡＭライトコントローラ２９ｃは、このimage number信号に応じて、転送する圧縮データが第３圧縮データであるのか、あるいは第４圧縮データであるのか判定する。そして、ＳＲＡＭライトコントローラ２９ｃは、する圧縮データが第３圧縮データであると判定した場合、ＳＲＡＭ２５ｆに、第４圧縮データであると判定した場合、ＳＲＡＭ２５ｇにそれぞれ格納する。
【０１５６】
ＳＲＡＭ２５ｆに格された第３圧縮データは、ＤＭＡ部２４ｆによってＤＲＡＭ３の所定の位置に格納される。また、ＳＲＡＭ２５ｇに格納された第４圧縮データは、ＤＭＡ部２４ｇによってＤＲＡＭ３の所定の位置に格納される。
【０１５７】
以上の構成により、２種類の画像データに対する圧縮処理を、画像データ非可逆圧縮コア２１において、並列的に処理することができる。この結果、画像データ非可逆圧縮コア２１は図８に示した待ち時間の間に第２画像データの圧縮処理を実施することができるため、画像データに対する圧縮処理の効率化を図ることができる。
【０１５８】
なお、上記では、画像データを圧縮する圧縮処理を例に挙げて説明したが、これに限定されるものではなく、逆に圧縮された画像データの伸張処理でも同様に実現できる。すなわち、圧縮された画像データの伸張処理においても、可逆圧縮された画像データを伸張する場合と、非可逆圧縮された画像データを伸張する場合とでは同様に処理能力に差が出る。このため、圧縮された画像データの伸張処理の場合であっても、上記した圧縮処理と同様に、伸張処理の待ち時間に異なる種類の画像データの伸張処理を行うことで、処理効率を向上させることができる。
【０１５９】
また、上記では画像データ可逆圧縮コア２２と画像データ非可逆圧縮コア２１との間において処理能力に差がある場合について説明した。しかしながら、例えば、同じ可逆圧縮または非可逆圧縮同士であっても、圧縮モジュールの処理能力に差がある場合には同様に、処理能力が高い方に生じる待ち時間に異なる種類の画像データの圧縮処理を行うことで処理効率を向上させることができる。
【０１６０】
以上のように、本実施の形態に係る画像処理装置１は、画像データを圧縮する画像データ可逆圧縮コア２２と、該画像データ可逆圧縮コア２２とは画像データの圧縮方式が異なるとともに、圧縮処理時間が小さい画像データ非可逆圧縮コア２１を備える。さらに、画像処理装置１は、第１画像データセットを、該第１画像データを構成する領域の特性に応じて、画像データ可逆圧縮コア２２によって圧縮する第１領域部分と、画像データ非可逆圧縮コア２１によって圧縮する第２領域部分とに分離するＣＰＵ１２も備えている。そして、画像処理装置１では、画像データ可逆圧縮コア２２により第１領域部分が圧縮されている間に、第２領域部分と第１画像データとは異なる第２画像データとを圧縮するように構成されている。
【０１６１】
このため、本実施の形態に係る画像処理装置１は、ＤＲＡＭ３に記憶している第１画像データセットおよび第２画像データに対して効率よく圧縮処理を実行することができる。
【０１６２】
本発明は上述した実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能である。すなわち、請求項に示した範囲で適宜変更した技術的手段を組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【産業上の利用可能性】
【０１６３】
本実施の形態に係る画像処理装置１は、処理速度が遅い圧縮コアモジュールで圧縮処理している間に、処理速度が速い、別の圧縮コアモジュールで複数種類の画像データに対する圧縮処理を行うことができる。このため、異なる処理性能（処理速度）を有する２以上の圧縮コアモジュールを備える装置において幅広く適用できる。
【符号の説明】
【０１６４】
１  画像処理装置
３  ＤＲＡＭ（記憶部）
１２  ＣＰＵ（分離部）
１３  圧縮モジュール
１７  指示データ生成部
２１  画像データ非可逆圧縮コア（第２データ処理部）
２２  画像データ可逆圧縮コア（第１データ処理部）
２３  指示データ可逆圧縮コア
２４  圧縮モジュールＤＭＡ（転送部）
２４ａ〜２４ｃ  ＤＭＡ部（転送部）
２５  ＳＲＡＭ（転送部）
２５ａ〜２５ｃ  ＳＲＡＭ（転送部）
２６  アービタ（転送部）
２７ａ〜２７ｃ  ＳＲＡＭリードコントローラ（転送部）
３２  レジスタ
３３ａ  第１レジスタセット（第１データ処理情報）
３３ｂ  第２レジスタセット（第２データ処理情報）
【図１】
0005587029.tif 000002
【図２】
0005587029.tif 000003
【図３】
0005587029.tif 000004
【図４】
0005587029.tif 000005
【図５】
0005587029.tif 000006
【図６】
0005587029.tif 000007
【図７】
0005587029.tif 000008
【図８】
0005587029.tif 000009
【図９】
0005587029.tif 000010
【図１０】
0005587029.tif 000011
【図１１】
0005587029.tif 000012
【図１２】
0005587029.tif 000013