(57)【要約】      （修正有）【課題】新しい符号化データについて、新しいソフトウェアと既存の構成を有効利用し、ソフトウェアのみの伸長と比べ速度低下を抑制する。【解決手段】符号化データを伸長する画像伸長装置は、設定された種類の符号化データを伸長可能な第１の伸長部と、第１の伸長部が非対応の符号化データの伸長する第２の伸長部と、符号化データの種類をブロック毎に識別する識別部と、識別されたブロックの符号化の種類が、第１の伸長部で伸長可能な場合は該符号化データを所定のメモリに格納し、第１の伸長部で伸長不可の場合は、第１の伸長部が伸長可の所定の符号化データをメモリに格納し、第１の伸長部が伸長可能な符号化データを作成する作成部と、作成された符号化データを第１の伸長部で伸長して仮の画像データを生成し、第１の伸長部で伸長不可の符号化データを第２の伸長部で伸長し、当該伸長結果で仮の画像データを更新し出力画像データを生成する制御部を有する。【選択図】図５
2020048041.tif 000002
【特許請求の範囲】
【請求項１】
符号化画像データを伸長する画像伸長装置であって、
予め設定された種類の符号化データを伸長可能な第１の伸長手段と、
該第１の伸長手段が非対応の種類の符号化データの伸長処理を行う第２の伸長手段と、
入力した符号化画像データのブロック単位に符号化データの種類を識別する識別手段と、
該識別手段により識別された着目ブロックの符号化データの種類が、前記第１の伸長手段の伸長可の種類である場合には前記着目ブロックの符号化データを所定のメモリに格納し、
前記第１の伸長手段の伸長不可の種類である場合には、前記第１の伸長手段が伸長可の所定の符号化データを前記メモリに格納することで、前記第１の伸長手段が伸長可能な符号化画像データを作成する作成手段と、
該作成手段で作成された符号化データを前記第１の伸長手段を制御して伸長することで仮の画像データを生成させた後、前記第２の伸長手段を制御して前記第１の伸長手段の伸長不可の符号化データの伸長し、当該伸長結果で前記仮の画像データを更新することで出力用の画像データを生成する制御手段と
を有することを特徴とする画像伸長装置。
【請求項２】
符号化画像データを伸長する画像伸長装置であって、
ブロック単位であって、予め設定された種類の符号化データを伸長可能な第１の伸長手段と、
複数種類の符号化データが混在したブロックの符号化データを伸長可能な第２の伸長手段と、
入力した符号化画像データのブロック単位に符号化データの種類を識別する識別手段と、
該識別手段により識別された着目ブロックの符号化データの種類が、前記第１の伸長手段の伸長可の単独の種類である場合には前記着目ブロックの符号化データを所定のメモリに格納し、
前記第１の伸長手段の伸長不可の複数種類の符号化データが含まれる場合には、前記着目ブロックの符号化データにおける前記第１の伸長手段で伸長できる単独の種類の符号化データを、前記着目ブロックの符号化データとして前記メモリに格納することで、前記第１の伸長手段が伸長可能な符号化画像データを作成する作成手段と、
該作成手段で作成された符号化データを前記第１の伸長手段を制御して伸長することで仮の画像データを生成させた後、前記第２の伸長手段を制御して前記第１の伸長手段の伸長不可となった残りの種類の符号化データの伸長し、当該伸長結果で前記仮の画像データを更新することで出力用の画像データを生成する制御手段と
を有することを特徴とする画像伸長装置。
【請求項３】
前記第１の伸長手段はハードウェアであって、前記第２の伸長手段はソフトウェアであることを特徴とする請求項１又は２に記載の画像伸長装置。
【請求項４】
前記第２の伸長手段は、ロスレス符号化データとロッシー符号化データの２種類が混在した符号化データを伸長することを特徴とする請求項２に記載の画像伸長装置。
【請求項５】
更に、前記制御手段で得た画像データに従って印刷する印刷手段を有することを特徴とする請求項１乃至４のいずれか１項に記載の画像伸長装置。
【請求項６】
符号化画像データを伸長する画像伸長装置の制御方法であって、
予め設定された種類の符号化データを伸長可能な第１の伸長工程と、
該第１の伸長工程が非対応の種類の符号化データの伸長処理を行う第２の伸長工程と、
入力した符号化画像データのブロック単位に符号化データの種類を識別する識別工程と、
該識別工程により識別された着目ブロックの符号化データの種類が、前記第１の伸長工程の伸長可の種類である場合には前記着目ブロックの符号化データを所定のメモリに格納し、
前記第１の伸長工程の伸長不可の種類である場合には、前記第１の伸長工程が伸長可の所定の符号化データを前記メモリに格納することで、前記第１の伸長工程が伸長可能な符号化画像データを作成する作成工程と、
該作成工程で作成された符号化データを前記第１の伸長工程を制御して伸長することで仮の画像データを生成させた後、前記第２の伸長工程を制御して前記第１の伸長工程の伸長不可の符号化データの伸長し、当該伸長結果で前記仮の画像データを更新することで出力用の画像データを生成する制御工程と
を有することを特徴とする画像伸長装置の制御方法。
【請求項７】
符号化画像データを伸長する画像伸長装置の制御方法であって、
ブロック単位であって、予め設定された種類の符号化データを伸長可能な第１の伸長工程と、
複数種類の符号化データが混在したブロックの符号化データを伸長可能な第２の伸長工程と、
入力した符号化画像データのブロック単位に符号化データの種類を識別する識別工程
と、
該識別工程により識別された着目ブロックの符号化データの種類が、前記第１の伸長工程の伸長可の単独の種類である場合には前記着目ブロックの符号化データを所定のメモリに格納し、
前記第１の伸長工程の伸長不可の複数種類の符号化データが含まれる場合には、前記着目ブロックの符号化データにおける前記第１の伸長工程で伸長できる単独の種類の符号化データを、前記着目ブロックの符号化データとして前記メモリに格納することで、前記第１の伸長工程が伸長可能な符号化画像データを作成する作成工程と、
該作成工程で作成された符号化データを前記第１の伸長工程を制御して伸長することで仮の画像データを生成させた後、前記第２の伸長工程を制御して前記第１の伸長工程の伸長不可となった残りの種類の符号化データの伸長し、当該伸長結果で前記仮の画像データを更新することで出力用の画像データを生成する制御工程と
を有することを特徴とする画像伸長装置の制御方法。
【請求項８】
コンピュータが読み込み実行することで、前記コンピュータに、請求項１乃至５のいずれか１項に記載の画像伸長装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、圧縮符号化され画像データの伸長技術に関するものである。
【背景技術】
【０００２】
近年、静止画や動画の高精細化、高解像度化が進んでいる。画像が高解像度になればなるほどそのデータ量は膨大になる。それ故、より少ないメモリ資源で画像データを記憶するため、より短時間でネットワーク転送するために、符号化による画像圧縮技術が重要になってくる。また、その一方で、画像圧縮技術には画像品位を損なわないことも求められており、画像品位を損なわない符号化方式の開発が続けられている。
【０００３】
一般に、既に販売された製品が対応する符号化方式は販売時の技術レベルに依存するので、販売後に開発された新しいフォーマットの符号化データに対応するのは難しい。
【０００４】
かかる点で、特許文献１は既存のデコードプログラムにより伸長不可な新規の画像規格であると判別された場合に、符号化データに含められたデコードプログラム情報を取得して、新規の符号化方式で符号化された符号データを伸長する技術を開示している。
【０００５】
また、特許文献２は、符号データを送る際に、符号データが新規の符号方式であることを通知するとともに、新規の符号方式のフォーマット情報を符号データに含めて送信する。これによって、符号伸長装置が新しいフォーマット情報を用いて動的に動作を変えることで新規の符号方式を伸長する技術を開示している。
【０００６】
また、その他の技術として、新規の符号方式で符号化された符号データとして検出された部分についてはプロセッサで処理し、従来の符号方式で符号化された符号データは符号伸長装置で高速に処理する手法が知られている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００４−２３６２２６号公報
【特許文献２】特開平１０−３２２２１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
特許文献１では、新しい符号化データに新しい方式の伸長プログラムの情報を含めることで、伸長側が新しい符号化データの伸長を行えるようにしている。つまり、特許文献１は、新しい符号化データについては、その伸長処理をソフトウェアで処理することを前提にしている。それ故、装置に、それ以前の方式に適用したハードウェアとしての伸長回路があったとしても、それを有効活用しているとは言えない。
【０００９】
特許文献２に開示された技術は、再構成可能なハードウェア構成を前提としている。そのため、固定化されたハードウェアで構成された装置には適用できない。
【００１０】
本発明は上記を鑑みてなされたものであり、新しい符号化データについて、新しいソフトウェアのみで伸長するのではなく、既存の固定化された伸長にかかる構成を有効利用し、もってソフトウェアのみの対応と比較して、速度低下を抑制する技術を提供しようとするものである。
【課題を解決するための手段】
【００１１】
この課題を解決するため、例えば本発明の画像伸長装置は以下の構成を備える。すなわち、
符号化画像データを伸長する画像伸長装置であって、
予め設定された種類の符号化データを伸長可能な第１の伸長手段と、
該第１の伸長手段が非対応の種類の符号化データの伸長処理を行う第２の伸長手段と、
入力した符号化画像データのブロック単位に符号化データの種類を識別する識別手段と、
該識別手段により識別された着目ブロックの符号化データの種類が、前記第１の伸長手段の伸長可の種類である場合には前記着目ブロックの符号化データを所定のメモリに格納し、
前記第１の伸長手段の伸長不可の種類である場合には、前記第１の伸長手段が伸長可の所定の符号化データを前記メモリに格納することで、前記第１の伸長手段が伸長可能な符号化画像データを作成する作成手段と、
該作成手段で作成された符号化データを前記第１の伸長手段を制御して伸長することで仮の画像データを生成させた後、前記第２の伸長手段を制御して前記第１の伸長手段の伸長不可の符号化データの伸長し、当該伸長結果で前記仮の画像データを更新することで出力用の画像データを生成する制御手段とを有する。
【発明の効果】
【００１２】
本発明によれば、新しい符号化データについて、新しいソフトウェアのみで伸長するのではなく、既存の固定化された伸長にかかる構成を有効利用し、もってソフトウェアのみの対応と比較して、速度低下を抑制することが可能になる。
【図面の簡単な説明】
【００１３】
【図１】第１の実施形態が適用する画像形成装置のブロック構成図。
【図２】画像データをブロック単位に複数種類の符号化方式の１つを用いて符号化する様を説明しるための図。
【図３】符号方式を判別しながら伸長処理を切り替えて手法を説明するための図。
【図４】第１の実施形態における新符号化伸長部の構成とＲＡＭとの関係を示す図。
【図５】第１の実施形態における新符号化伸長部の処理を示すフローチャート。
【図６】第１の実施形態における新符号化伸長部の処理とＲＡＭ内のデータ構造を示す図。
【図７】第２の実施形態における新符号化伸長部の処理を示すフローチャート。
【図８】第２の実施形態における新符号化伸長部の処理とＲＡＭ内のデータ構造を示す図。
【図９】受信する符号化データのデータ構造の例を示す図。
【発明を実施するための形態】
【００１４】
以下、添付図面に従って本発明に係る実施形態を詳細に説明する。なお、以下に示す実施形態における構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【００１５】
図１は、第１の実施形態における画像伸長装置（画像復号）が適用される画像形成装置１００のブロック構成図である。この画像形成装置１００は、ＣＰＵ１０１、ＲＯＭ１０２、ＲＡＭ１０３、入力部１０４、符号伸長部１０５、画像処理部１０６、印刷処理部１０７から構成され、これらは内部バスにより互いに接続されている。
【００１６】
ＲＯＭ１０２は、書き換えが可能な不揮発性のメモリであり、格納されている制御プログラムの追加、変更が可能である。ＣＰＵ１０１は、ＲＯＭ１０２に格納された制御プログラムを読み出し実行することにより、演算処理や符号伸長装置内の各部の動作を統括的に制御する。なお、ＲＯＭ１０２は書き換え可能であればその種類は特に問わないが、フラッシュメモリやＥＥＰＲＯＭなどでよい。ＲＡＭ１０３は、読み出し及び書き込み可能なメモリであり、画像データなどの各種データを一時的に格納するための記憶媒体である。入力部１０４は、ホストＰＣやサーバ（不図示）から転送されてくる符号化画像データを受信し、ＲＡＭ１０３に格納する。符号伸長部１０５は、入力部１０４が受信し、ＲＡＭ１０３に格納された、所定の種類の符号化画像データを伸長（復号）して圧縮前の画像データを生成する。画像処理部１０６は、符号伸長部１０５による伸長処理で得た画像データを印刷処理部１０７の特性に好適な画像データへの変換（ＲＧＢ→ＹＭＣＫ変換、ハーフトーン処理）し、印刷処理部１０７の入力データフォーマットに変換して印刷データを生成する。印刷処理部１０７は、電子情報である印刷データに基づいて、記録媒体（記録紙）上に画像を形成する。実施形態における画像形成はインク液を記録媒体上に吐出するタイプとするが、電子写真方式のようにトナーを利用するものでも良く、画像形成方式は特に問わない。
【００１７】
ＣＰＵ１０１は、ＲＯＭ１０２に格納された制御プログラムをアップデートすることで、新しい制御プログラムを実行することが出来る。このような新しいプログラムへのアップデートは、以下の手順で行われる。画像形成装置１００は、入力部１０４を通じてホストＰＣやサーバ（不図示）から、通常の印刷データとは識別できる形式で、新しい制御プログラムを受信し、ＲＡＭ１０３に保存する。そして、ＣＰＵ１は、ＲＯＭ１０２内の予め設定されたアドレス位置（書き換えしないアドレス位置）に格納された書き換えプログラムを実行することで、受信した新しい制御プログラムをＲＯＭ１０２上に上書きする。上書きが完了すると、ＣＰＵ１０１は、一旦リセットし、上書きされた新しい制御プログラムを実行することで、画像形成装置１００におけるバージョンアップした制御プログラムに従って画像伸長や画像形成処理が行うことになる。
【００１８】
一般に、画像データを符号化する場合、その画像データを複数の矩形ブロック（又はタイル）の画像データに分割して、各矩形ブロックの画像データの特徴に応じて適した符号方式を選択して符号化する手法がよく用いられる。ここで、矩形ブロックの画像データの特徴とは、例えばそのブロック内に出現する色数、自然画のように似通った色の画素が多くふくまれているか否かなどの特徴が符号方式の選択に用いられる。矩形ブロックごとにこれらの特徴を解析し、より符号化効率のよい符号方式が選択される。
【００１９】
図２（ａ）は、画像データを複数の符号方式で符号化する例を示す図である。図２（ａ）を用いて、複数の符号方式が画像の特徴に応じて適応的に選択されることを説明する。
【００２０】
参照符号２０１は、符号化対象の画像データであり、ここでは、１ページの画像データは水平方向４４８画素、垂直方向１２８画素（以下、この水平、垂直の関係を単に４４８×１２８画素と記す）のサイズであるとする。この画像データ２０１は、６４×６４画素で構成される矩形ブロックに分割される。すると図示のごとく、画像データ２０１は、７×２個の矩形ブロックへの分割されることになる。なお、画像のサイズや、１ブロックのサイズは具体例を示すことで理解を用意するためであって、これらの数値に限定されるものではない。
【００２１】
ここで、参照符号２０２の白地の部分は背景領域、参照符号２０３のハッチがかかった部分は自然画領域、参照符号２０４は単一色で描画されたテキスト領域、そして、参照符号２０５は単一色のグラフィック領域であるとする。
【００２２】
参照符号２０６乃至２０９は、画像の種類別の矩形ブロックを示している。矩形ブロック２０６の画像は、単一色のグラフィック領域のみから構成されているので、単一色領域の符号化に適したロスレス符号化（可逆符号化）方式である方式Ａで符号化される。
【００２３】
矩形ブロック２０７の画像は、複数色の領域に分かれているものの、出現する色の種類は少ない。故に、この矩形ブロック２０７は、ロスレス符号方式である方式Ｂで符号化するのが適している。方式Ｂは同一色が連続する画素数を符号化して圧縮する方式であるランレングス符号方式を用いて符号化される。あるいは、予め決められた数の色を登録したパレットテーブルを用いて、テーブルのインデックスを符号化するパレット符号方式を用いてもよい。
【００２４】
矩形ブロック２０８の画像は、オブジェクトの存在しない背景領域と自然画領域から構成されるので、自然画の画質劣化を抑えながら効率よく圧縮できるロッシー符号化（非可逆符号化）方式であるＪＰＥＧ方式を用いた方式Ｃで符号化される。方式Ｃで用いられる符号方式は、例えばＪＰＥＧ２０００などのＪＰＥＧ以外の方式であってもよい。
【００２５】
矩形ブロック２０９の画像は、自然画領域とテキスト領域が混在している画像となっている。このような特徴の画像に対しては、方式ＣはＪＰＥＧ方式を用いたロッシーの符号方式であるため、自然画領域に対しては画質劣化が目立ちにくいが、テキスト領域に対してはエッジがぼやけるなどの画質劣化が目立ちやすい。このため、テキスト領域についてはロスレスの方式Ｂの符号方式を用いて符号化し、自然画領域については、ロッシーの方式Ｃの符号方式を用いて符号化することのできる、方式Ｂと方式Ｃの２つの方式のデータ構造を持つ符号方式である方式Ｄで符号化される。
【００２６】
以上のように、矩形画像の特徴に応じて、最適な符号方式が選択されて、各方式で符号化される。７×２個の矩形ブロックと、それぞれの符号化方式との関係を示すと、図２（ｂ）の通りである。
【００２７】
図９は、図２（ｂ）に示す符号化データに対応する、外部から受信する符号化画像データ９００のデータ構造を示している。符号化データ９００は、ファイルヘッダ９０１、および、それに後続するブロック９１０、９１１、９１２、９１３…の構造を有する。ファイルヘッダ９０１には、１画素が何ビットで構成されているか、その画像データの色空間の種類、さらには、画像が７×２個のブロックで構成される等の伸長に必要な情報が格納されている。ブロック９１０、９１１…の並びは、図２（ｂ）に示すブロックを単位とするラスタースキャンであるものとする。したがって、ブロック９１０の符号化データは、図２（ｂ）の左上隅の矩形ブロックに対応する。ブロック９１０の符号化データは、ブロックヘッダ９１０ａと、ペイロードである符号化データ９１０ｂで構成される。ブロックヘッダ９１０ａには、該当するブロックが「方式Ａ」で符号化されていることを特定する識別ビット、並びに、このブロックが６４×６４画素であることを示す情報等の各種制御情報が含まれている。これは他のブロック９１１，９１２、９１３…でも同じである。なお、ファイルヘッダに１ブロックが６４×６４画素であることを示す情報が格納されるものとしても良い。
【００２８】
さて、実施形態における符号伸長部１０５は、方式Ａ，Ｂ，Ｃの符号化データを伸長することはできるものの、方式Ｄの符号化データは伸長できないものとする。つまり、符号伸長部１０５が、方式Ａ，Ｂ，Ｃに対応するが、方式Ｄには未対応であるとする。
【００２９】
本実施形態では、ＲＯＭ１０２内の制御プログラムを更新することで、図２（ｂ）又は図９に示す符号化データ９００を正しく伸長する。
【００３０】
まず、その際の伸長処理を、図３を参照して説明する。矩形領域３０１から３０６は、ＣＰＵ１０１、もしくは符号伸長部１０５のどちらかで伸長処理を行う処理単位である。図３（ａ）は、画像２０１と矩形領域３０１から３０６を重ねて示している。図３（ｂ）は、画像２０１が矩形領域３０１から３０６に分けて処理される例を示すイメージ図であり、斜線で塗られた矩形領域は符号伸長部１０５で直接には伸長することのできない符号方式Ｄの領域である。
【００３１】
まず同図（ａ）、（ｂ）を用いて、伸長処理を切り替えて行う場合に発生するオーバーヘッドについて説明する。
【００３２】
一般的に、プロセッサで伸長プログラムを実行して伸長する場合の処理性能はハードウェアデコーダで構成された符号伸長部１０５の処理性能よりも大きく劣ることが多い。そのため、矩形ブロック単位に符号化された画像２０１の符号データを、矩形ブロック単位に解析して符号方式を判別することによって、符号伸長部１０５で伸長できるか否かを判別する。判別結果に応じて、符号伸長部１０５で伸長することのできない部分のみをＣＰＵ１０１によって伸長プログラムで伸長させることで、処理時間のかかる伸長プログラムで伸長処理をさせる符号データの処理量を必要最小限にすることができる。
【００３３】
図３（ｂ）の矩形領域３０１は、３つの矩形ブロックを含む領域である。これら３つの矩形ブロックは、図２で説明したように符号方式ＡまたはＢで圧縮されるので、符号伸長部１０５で伸長させることができる領域であり、高速に伸長できる。
【００３４】
矩形領域３０２は、３つの矩形ブロックを含む領域で、方式Ｄの新方式で符号化される。故に、ＣＰＵ１０１で伸長プログラムを実行して伸長する必要がある領域である。
【００３５】
矩形領域３０３は、１つの矩形ブロックを含む領域で、符号方式Ｃで符号化されている。故に、この矩形領域３０３は、符号伸長部１０５で伸長させることができる。
【００３６】
矩形領域３０４は、３つの矩形ブロックを含む領域である。これらの矩形ブロックが方式ＡまたはＢで符号化されているので符号伸長部１０５で伸長することができる。
【００３７】
矩形領域３０５は、２つの矩形ブロックを含む領域である。これら矩形ブロックは方式Ｄで符号化されているので、ＣＰＵ１０１で伸長する必要がある。
【００３８】
そして、矩形領域３０６は、２つの矩形ブロックを含む領域で、符号方式Ｃで符号化されているので、符号伸長部１０５で伸長させることができる。
【００３９】
このように、矩形領域ごとに符号方式を解析し、矩形領域３０１から３０６の６つの部分領域ごとに符号伸長部１０５による伸長処理と、伸長プログラムによる伸長処理を切り替えて伸長処理を実行する必要がある。一般に、符号データの伸長処理は、伸長する符号データに関する制御情報および、出力データに関する制御情報が必要である。符号データに関する制御情報とは、符号データがＲＡＭ１０３上のどこに保存されているかを示す開始アドレス、および符号データサイズもしくは、終了アドレスなどである。出力データに関する制御情報とは、伸長データをＲＡＭ１０３上のどこに出力するかを示す出力アドレスなどである。
【００４０】
さて、符号伸長部１０５と伸長プログラムによって伸長する場合の処理のシーケンスは次の通りとなる。
(1)領域３０１を符号伸長部１０５により伸長する。
(2)領域３０２を伸長プログラムにより伸長する。
(3)領域３０３を符号伸長部１０５により伸長する。
(4)領域３０４を符号伸長部１０５により伸長する。
(5)領域３０５を伸長プログラムにより伸長する。
(6)領域３０６を伸長プログラムにより伸長する。
【００４１】
上記の通り、画像２０１を６つの部分領域に分けて、ＣＰＵ１０１で６回の判断処理を行う。そして、上記のような制御情報をブロック毎に算出し、設定する必要がある。このため、処理時間のかかる伸長プログラムによる伸長処理を必要最小限の領域に限定しても、符号伸長部１０５と伸長プログラムとの切り替えの際のオーバーヘッドが大きく、性能劣化が大きくなる。また、符号伸長部１０５が伸長すべき符号化データは、ＲＡＭ１０３の不連続のアドレスに存在するため、ＣＰＵ１０１は複数回に分けて符号伸長部１０５への設定処理を行う必要があり、かかる点でも処理性能の低下は避けられない。
【００４２】
そこで、本第１の実施形態では、本実施形態では、図４に示す構成によって、符号化単位ごとに、伸長プログラムと符号伸長部１０５による伸長処理の切り替えに起因するオーバーヘッドを無くし、効率よく符号化画像データを伸長する。
【００４３】
図４は、ＲＯＭ１０２の更新後の制御プログラムをＣＰＵ１０１が実行した場合の機能部、及び、既存の符号伸長部１０５で構成される新符号伸長部４００と、ＲＡＭ１０３に記憶されるデータの構成の一例を示すブロック図である。
【００４４】
新符号伸長部４００における、符号方式解析部４０１、変換符号作成部４０２、および、方式Ｄ伸長部４０３は、更新後の制御プログラムを実行するＣＰＵ１０１により実現される機能部である。符号伸長部１０５は、画像形成装置１００がもともと有するハードウェアであって、方式Ａ、Ｂ，Ｃの符号化データを伸長するものである。ＲＡＭ１０３には、受信した符号化画像データ領域４０５、変換符号データ領域４０６、および、伸長処理の出力用としての伸長データ領域４０７が予め確保されている。
【００４５】
以下、新符号伸長部４００の動作を、図５のフローチャート、および、図６を参照して説明する。図６は、ＲＡＭ１０３における領域４０５乃至４０７のデータの格納状態を示している。
【００４６】
新符号伸長部４００は、外部から受信した符号化データの、ＲＡＭ１０３の符号化画像データ領域４０５への格納処理が終えると、この伸長処理を開始する。
【００４７】
まず、Ｓ５０１にて、新符号伸長部４００は、符号方式解析部４０１を制御し、符号化画像データ領域４０５から１つのブロック（以下、着目ブロック）のヘッダを解析させ、その符号方式を判定させる。次に、Ｓ５０２にて、新符号伸長部４００は、判定した符号方式が符号伸長部１０５で伸長可能な符号方式（方式Ａ乃至Ｃ）であるか否かを判定する。言い換えれば、新符号伸長部４００は、実施形態における符号伸長部１０５が着目ブロックの伸長に対応しているか、それとも非対応かを判定する。符号伸長部１０５で伸長できる方式であると判定した場合、新符号伸長部４００は処理をＳ５０３に進め、着目ブロックの符号化データ（ブロックヘッダを含む）をそのままコピーし、変換符号データ領域４０６に保存する。
【００４８】
また、着目ブロックの符号化データが符号伸長部１０５で伸長できない方式（方式Ｄ）であると判定した場合、新符号伸長部４００は、処理をＳ５０４に進める。Ｓ５０４にて、新符号伸長部４００は変換符号作成部４０２を制御し、符号伸長部１０５が伸長可能な、予め設定されたダミーの固定の符号化データを、変換符号データ領域４０６に保存させる。実施形態において、このダミーの固定の符号化データは、最も単純で、符号長も最短となる方式Ａの符号化データとした。
【００４９】
そして、新符号伸長部４００は、Ｓ５０５にて、全ブロックについての判定処理を終えたか否かを判定し、否の場合には処理をＳ５０１に戻す。
【００５０】
上記のようにして、全ブロックの符号判定処理を終えると、変換符号データ領域４０６には、方式Ａ乃至Ｃのみの符号化データが、ブロック順に連続して格納されることになる。つまり、見かけ上、変換符号データ領域４０６には、符号伸長部１０５によって伸長できる形式の符号化データが、ブロック順に連続して格納されることになる。
【００５１】
そこで、Ｓ５０６にて、新符号伸長部４００は、変換符号データ領域４０６に格納された各ブロックの符号化データを、符号伸長部１０５により伸長処理させ、伸長データ領域４０７に画像データとして格納する。
【００５２】
そして、この後、新符号伸長部４００は、処理をＳ５０７に進める。このＳ５０７にて、新符号伸長部４００は、方式Ｄ伸長部４０３を制御し、符号化画像データ領域４０５に格納された、方式Ｄの符号化データが存在する限り、その伸長を行わせ、得られたブロックの画像データを、伸長データ領域４０７内の該当するブロックに上書きする、ことを繰り返す。
【００５３】
この後は、伸長データ領域４０７の画像データに対する画像処理部１０６による画像処理、印刷処理が行われることになる。
【００５４】
以上、説明したように第１の実施形態によれば、新しい符号方式の符号化データ（実施形態では、方式Ｄの符号化データ）が存在したとしても、第１段階にて、これまで利用していた符号伸長部１０５が伸長可能な連続したブロックの符号化データを構築し、一気に伸長させる。そして、第２段階にて、ソフトウェアによる新しい符号化データの伸長を行う。このように、符号化データの種類に応じて、ブロック単位の伸長符号化部１０５とソフトウェアによる伸長処理の切換に起因するオーバーヘッドが無くなり、高速に伸長することが出来る。この結果、伸長処理の遅延量を少なくでき、印刷にかかる遅延を少なくできる。
【００５５】
［第２の実施形態］
上記第１の実施形態では、符号伸長部１０５は、単独の種類の符号化データを伸長できるものとした。そして、第１の実施形態では、符号伸長部１０５で伸長可能な符号化データは、そのコピーを変換符号データ領域４０６に格納し、符号伸長部１０５で伸長不可の方式Ｄの符号化データの場合は、それとは無関係の方式Ａの固定のダミーの符号データを変換符号データ領域４０６に格納することとで、全ブロックについて符号伸長部１０５による伸長可能な符号化データを構築した。
【００５６】
しかし、ダミーの固定データを変換符号データ領域４０６に格納するのではなく、元の方式Ｄの符号化データをもとに、符号伸長部１０５が伸長できる符号データを変換する構成としてもよい。本第２の実施形態では、かかる点を説明する。
【００５７】
本第２の実施形態では、方式Ｄが、異なる２種類の符号方式を組み合わせたハイブリッド型符号化データであることに鑑み、変換符号作成部４０２が、方式Ｄの符号データを符号伸長部１０５で伸長することのできる符号方式Ｃのデータ構造に変換する。
【００５８】
図７は、第２の実施形態における新符号伸長部４００の処理手順を示すフローチャートである。また、図８は、第２の実施形態におけるＲＡＭ１０３内の領域４０５乃至４０７のデータの格納状態を示している。
【００５９】
外部から受信した符号化データがＲＡＭ１０３の符号化画像データ領域４０５へ格納されると、本処理が開始する。
【００６０】
まず、Ｓ７０１にて、新符号伸長部４００は、符号方式解析部４０１を制御し、符号化画像データ領域４０５から１つのブロック（以下、着目ブロック）のヘッダを解析させ、その符号方式を判定させる。次に、Ｓ７０２にて、新符号伸長部４００は、判定した符号方式が符号伸長部１０５で伸長可能な符号方式（方式Ａ乃至Ｃ）であるか否かを判定する。言い換えれば、新符号伸長部４００は、実施形態における符号伸長部１０５が着目ブロックの伸長に対応しているか、それとも非対応かを判定する。符号伸長部１０５で伸長できる方式であると判定した場合、新符号伸長部４００は処理をＳ７０３に進め、着目ブロックの符号化データ（ブロックヘッダを含む）をそのままコピーし、変換符号データ領域４０６に保存する。
【００６１】
また、着目ブロックの符号化データが符号伸長部１０５で伸長できない方式（方式Ｄ）であると判定した場合、新符号伸長部４００は、処理をＳ７０４に進める。Ｓ７０４にて、新符号伸長部４００は変換符号作成部４０２を制御し、着目ブロックの符号化データから、符号伸長部１０５で伸長できる符号データに変換する。図８を用いて、本実施形態におけるＳ７０４における符号データの変換方法を詳細に説明する。
【００６２】
図８の参照符号８０１は、符号方式解析部４０１で検出された符号伸長部１０５で伸長できないハイブリッド形式の符号方式Ｄで符号化されたブロックの符号データを示している。参照符号８０２は、ハイブリッド形式の符号方式Ｄのデータ構造を示している。データ構造８０２は、ヘッダと、ロスレス符号化データ、ロッシー符号化データから構成される。ヘッダは、符号化単位ごとに符号データに付与されているデータで、本符号データが符号化されている符号方式を知ることが出来る。符号方式Ｄは、ロスレス符号を用いる方式Ｂとロッシー符号を用いる方式Ｃのハイブリッド型の符号方式であるので、ロスレス符号、ロッシー符号のデータ構造はそれぞれ方式Ｂ，Ｃと同じ構造となっている。
【００６３】
参照符号８０３は、変換符号作成部で変換されたロッシー符号を用いる方式Ｃの符号データを示している。参照符号８０４は、方式Ｃのデータ構造を示しており、ヘッダとロッシー符号データからなる。
【００６４】
変換符号作成部４０２は、方式Ｄの符号化データから、ロスレス符号データを削除してロッシー符号だけを残し、かつ、ヘッダを方式Ｃに書き換えることで、方式Ｄのロッシー部分を方式Ｃに変更し、その変更結果、つまり、方式Ｃの符号化データとして変換符号データ領域４０６に保存する。
【００６５】
本実施形態では、ロスレス符号データを削除してロッシー符号だけを残す構成としているが、ロッシー符号化データを削除してロスレス符号符号化データだけを残す構成としてもよい。また、ヘッダを書き換えることによって、伸長されなくなるロスレスもしくはロッシーの符号化データを符号伸長部１０５が無視できる場合は、削除しないでヘッダのみを書き換える構成としてもよい。
【００６６】
そして、新符号伸長部４００は、Ｓ７０５にて、全ブロックについての判定処理を終えたか否かを判定し、否の場合には処理をＳ７０１に戻す。
【００６７】
Ｓ７０５にて、全ブロックの判定処理が終了したと判定された場合、ＲＡＭ３の変換符号データ領域４０６には、符号伸長部１０５が伸長できる、全ブロックに対する有意な符号化データが格納されていることになる。
【００６８】
そこで、新符号伸長部４００は、Ｓ７０６にて、符号伸長部１０５を制御し、ＲＡＭ３の変換符号データ領域４０６に格納された符号化データの伸長処理を実行させ、伸長データ領域４０７に伸長結果の画像データを格納させる。
【００６９】
図８の参照８０５は、Ｓ７０６の処理が完了した時点での、伸長データ領域４０７に格納された伸長データの出力例を示している。この時点では、符号化画像データ領域４０５内の方式Ｄにおける、ロッシー符号化データが示す背景部分の自然画のみが伸長されることになる。
【００７０】
この伸長処理を終えると、新符号伸長部４００は、Ｓ７０７に処理を進め、方式Ｄ伸長部４０３を制御して、符号化画像データ領域４０５内の方式Ｄの符号データの情報を受け取って、符号データをソフトウェアデコードする。本実施形態では、既に符号伸長部１０５によりロッシー符号の部分については伸長している。したがって、方式Ｄ伸長部４０３は符号方式Ｄのロスレス符号化データの部分をデコードして得た画像データで、伸長データ領域４０７の該当する位置に合成することになる。
【００７１】
以上説明したように、本第２の実施形態によれば、既存の符号伸長装置で伸長できない新しい符号方式の符号データを変換して、従来の符号方式として処理することで新しい符号方式の伸長処理の一部を既存の符号伸長装置で伸長することができる。これによって、新たに開発された符号方式で符号化されたデータを高速に伸長することが出来る。
【００７２】
なお、上記第２の実施形態では、方式Ｄは、２種類の符号方式の符号化データの混在を示すものとして説明したが、複数種類であれば良いので、種類の数が２に限定されるものではない。
【００７３】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００７４】
１００…画像形成装置、１０１…ＣＰＵ、１０２…ＲＯＭ、１０３…ＲＡＭ、１０４…入力部、１０５…符号伸長部、１０６…画像処理部、１０７…印刷処理部
【図１】
2020048041.tif 000003
【図２】
2020048041.tif 000004
【図３】
2020048041.tif 000005
【図４】
2020048041.tif 000006
【図５】
2020048041.tif 000007
【図６】
2020048041.tif 000008
【図７】
2020048041.tif 000009
【図８】
2020048041.tif 000010
【図９】
2020048041.tif 000011