(57)【特許請求の範囲】
【請求項１】
原画像をブロック毎に符号化した符号化成分を有し且つ前記符号化成分に他のブロックとの差分に関する情報を含む符号化画像データを復号化し所定の角度だけ回転させた状態で出力する画像処理装置であって、
復号化を実行する復元処理部と、
復号化に関する情報を格納する復元情報格納部と、
復号化されたブロックの回転処理を実行するブロック回転部と、
を備え、
前記復元処理部は、まず、前記符号化画像データを最初から順番に復号化し、前記原画像中に予め定めた起点ブロックを復号化するために必要とされる復元情報が得られたら前記復元情報格納部に格納し、
しかる後に、前記復元処理部は、前記復元情報格納部に格納した前記復元情報を利用して前記符号化画像データを前記起点ブロックから復号化し、
前記ブロック回転部は、前記復元処理部により復号化されたブロックが出力すべきブロックの場合は前記所定の角度だけ回転させて出力することにより、
前記原画像を前記所定の角度だけ回転させた状態とした時に上方に位置するブロックから順に復号化データを出力可能としたことを特徴とする画像処理装置。
【請求項２】
出力バッファをさらに備え、
前記ブロック回転部により前記所定の角度だけ回転させて出力される前記ブロックは、前記出力バッファ上に展開されることを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記符号化画像データは、ＪＰＥＧフォーマットに基づき、
前記復元情報は、前記起点ブロックの離散コサイン変換係数のＤＣ成分に関する情報であることを特徴とする請求項１または２に記載画像処理装置。
【請求項４】
前記角度は、０°以上１８０°以下であり、
前記起点ブロックは、前記原画像における左端の一列のブロックを含むことを特徴とする請求項１〜３のいずか１つに記載の画像処理装置。
【請求項５】
前記角度は、１８０°よりも大きく且つ３６０°よりも小さく、
前記起点ブロックは、前記原画像における左端の一列のブロックと、それ以外の一列のブロックと、を含むことを特徴とする請求項１〜３のいずれか１つに記載の画像処理装置。
【請求項６】
前記復元情報格納部は、キャッシュメモリを有することを特徴とする請求項１〜５のいずれか１つに記載の画像処理装置。
【請求項７】
原画像をブロック毎に符号化した符号化成分を有し且つ前記符号化成分に他のブロックとの差分に関する情報を含む符号化画像データを復号化し所定の角度だけ回転させた状態で出力する画像処理方法であって、
前記符号化画像データを最初から順番に復号化し、原画像中に定めた起点ブロックを復号化するために必要とされる復元情報が得られたら保持し、
しかる後に、前記保持した前記復元情報を利用して前記符号化画像データを前記起点ブロックから復号化し、
前記復号化されたブロックが出力すべきブロックの場合は前記所定の角度だけ回転させて出力することにより、
前記原画像を前記所定の角度だけ回転させた状態とした時に上方に位置するブロックから順に復号化データを出力可能としたことを特徴とする画像処理方法。
【請求項８】
前記出力すべきブロックを前記所定の角度だけ回転させて出力バッファ上に展開することを特徴とする請求項７記載の画像処理方法。
【請求項９】
前記符号化画像データは、ＪＰＥＧフォーマットに基づき、
前記復元情報は、前記起点ブロックの離散コサイン変換係数のＤＣ成分に関する情報であることを特徴とする請求項７または８に記載の画像処理方法。
【請求項１０】
前記角度は、０°以上１８０°以下であり、
前記起点ブロックは、前記原画像における左端の一列のブロックを含むことを特徴とする請求項７〜９のいずか１つに記載の画像処理方法。
【請求項１１】
前記角度は、１８０°よりも大きく且つ３６０°よりも小さく、
前記起点ブロックは、前記原画像における左端の一列のブロックと、それ以外の一列のブロックと、を含むことを特徴とする請求項７〜９のいずれか１つに記載の画像処理方法。
【請求項１２】
原画像をブロック毎に符号化した符号化成分を有し且つ前記符号化成分に他のブロックとの差分に関する情報を含む符号化画像データを入力し、前記原画像を所定の角度だけ回転させた状態で画像形成媒体上に出力する画像形成装置であって、
復号化を実行する復元処理部と、
復号化に関する情報を格納する復元情報格納部と、
復号化されたブロックの回転処理を実行するブロック回転部と、
復号化データに基づいて画像形成媒体上に画像を形成する画像形成手段と、
を備え、
前記復元処理部は、まず、前記符号化画像データを最初から順番に復号化し、原画像中に予め定めた起点ブロックを復号化するために必要とされる復元情報が得られたら前記復元情報格納部に格納し、
しかる後に、前記復元処理部は、前記復元情報格納部に格納した前記復元情報を利用して前記符号化画像データを前記起点ブロックから復号化し、
前記ブロック回転部は、前記復元処理部により復号化されたブロックが出力すべきブロックの場合は前記所定の角度だけ回転させて前記復号化データを出力し、
前記画像形成手段は、前記出力された復号化データに基づいて画像を形成することにより、
前記所定の角度だけ回転させた状態の画像を上方のブロックから順次画像形成媒体上に形成可能としたことを特徴とする画像形成装置。
【請求項１３】
符号化画像データの復号化を実行する復元処理部と、前記復号化に関する情報を格納する復元情報格納部と、前記復号化されたブロックの回転処理を実行するブロック回転部と、を有し、原画像をブロック毎に符号化した符号化成分を有し且つ前記符号化成分に他のブロックとの差分に関する情報を含む符号化画像データを復号化し所定の角度だけ回転させた状態で出力する画像処理装置を制御するプログラムを格納した記録媒体であって、
前記プログラムは、
まず、前記復元処理部に、前記符号化画像データを最初から順番に復号化させ、原画像中に定めた所定の起点ブロックを復号化するために必要とされる復元情報が得られたら前記復元情報格納部に格納させ、
しかる後に、前記復元処理部に、前記復元情報格納部に格納した前記復元情報を利用させて前記符号化画像データを前記起点ブロックから復号化させ、
前記ブロック回転部に、前記復元処理部により復号化されたブロックが出力すべきブロックの場合は前記所定の角度だけ回転させて出力させることにより、
前記原画像を前記所定の角度だけ回転させた状態とした時に上方に位置するブロックから順に復号化データを出力可能としたことを特徴とする記録媒体。
【請求項１４】
前記画像処理装置は、出力バッファをさらに有し、
前記プログラムは、前記ブロック回転部により前記所定の角度だけ回転させて出力される前記ブロックを前記出力バッファ上に展開させることを特徴とする請求項１３記載の記録媒体。
【請求項１５】
原画像をブロック毎に符号化した符号化成分を有し且つ前記符号化成分に他のブロックとの差分に関する情報を含む符号化画像データを復号化し所定の角度だけ回転させた状態で出力するプログラムが格納された記録媒体であって、
前記プログラムは、
前記符号化画像データを最初から順番に復号化し、原画像中に定めた所定の起点ブロックを復号化するために必要とされる復元情報が得られたら保持し、
しかる後に、前記保持した前記復元情報を利用して前記符号化画像データを前記起点ブロックから復号化し、
前記復号化されたブロックが出力すべきブロックの場合は前記所定の角度だけ回転させて出力することにより、
前記原画像を前記所定の角度だけ回転させた状態とした時に上方に位置するブロックから復号化データを順に出力可能としたことを特徴とする記録媒体。
【請求項１６】
前記符号化画像データは、ＪＰＥＧフォーマットに基づき、
前記復元情報は、前記起点ブロックの離散コサイン変換係数のＤＣ成分に関する情報であることを特徴とする請求項１３〜１５のいずれか１つに記載の記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像処理装置、画像処理方法、画像形成装置及びプログラムを記録した記録媒体に関する。より詳細には、本発明は、圧縮された画像データを少ないメモリで且つ高速に回転させることができる画像処理装置、画像処理方法、画像形成装置及びプログラムを記録した記録媒体に関する。
【０００２】
【従来の技術】
近年、画像情報のデジタル化とインターネットに代表されるネットワーク化の急速に発展し、各種のデジタル画像情報が圧縮した状態で取り扱われることが多い。このような圧縮フォーマットとして最もポピュラーなものに、「ＪＰＥＧ（Joint Photograph Experts Group）」がある。ＪＰＥＧは、例えば、ＲＧＢ（赤緑青）２４ビットなどで表現される静止画像情報を圧縮可能な高能率符号化標準である。
【０００３】
図２２は、ＪＰＥＧによる圧縮、復元処理の典型例を表す概念図である。すなわち、同図（ａ）〜（ｄ）は、圧縮（符号化）のプロセスを表し、同図（ｅ）〜（ｈ）は復元（復号化）のプロセスを表す。
【０００４】
ＪＰＥＧ圧縮に際しては、ＲＧＢあるいはＹ（輝度）Ｃｂ（青色差）Ｃｒ（赤色差）などにより表される原画を、まず、図２２（ａ）に表したように８ピクセル×８ピクセルのブロックに分割する。
【０００５】
次に、同図（ｂ）に表したように、ブック毎にＤＣＴ（descrete cosince transform：離散コサイン変換）処理を施す。ＤＣＴ処理は周波数変換に対応し、この処理によってブロック画像が周波数により表される。一般に画像データは、周波数スペクトルの形式で表すと低周波数帯域において分布が見られ、この結果として少ない情報量で符号化を行うことができる。このように周波数に変換した後にさらに量子化することにより離散化させる。
【０００６】
次に、このようにＤＣＴ量子化したデータを図２２（ｃ）に表したように、ジグザク走査して一列に並べる。そして、エントロピ符号化処理を施すことにより、同図（ｄ）に表したような符号列とすることができる。
【０００７】
一方、復元は、上述した一連の処理を逆に施すことにより、同図（ｅ）〜（ｈ）に表したように実行される。
【０００８】
【発明が解決しようとする課題】
ところで、画像データを取り扱うに際して、入力した画像を所定の角度だけ回転させたい場合がある。例えば、ＣＤ−ＲＯＭなどの媒体から、あるいはインターネットなどを介してパーソナルコンピュータに取り込んだＪＰＥＧ画像をプリンタで印刷出力する際に、用紙のサイズや画像のレイアウトに応じて、ＪＰＥＧ画像を９０°、１８０°、あるいは２７０°回転させた状態で出力させたい場合も多い。
【０００９】
このような場合に、対象となるＪＰＥＧ画像の全体を復元し、しかる後に所定の角度だけ回転処理を施す方法も考えられる。
【００１０】
しかし、この方法によると、復元した画像の全体を一時的に保持するための大容量メモリが必要となるばかりでなく、大容量の画像データを回転処理するために回転処理の所要時間も増大し、システムに対する負荷が大きくなるという問題が生ずる。
【００１１】
例えば、このようなＪＰＥＧ画像の復元、保持、回転処理をホストコンピュータで実行することとすると、ホストのメモリコストが高くなり、また処理の負荷が増大する。一方、プリンタ側において同様の動作を実行させるためには、大容量メモリを増設する必要があり、コストが大幅に上昇する。
【００１２】
一方、近年の画像情報のデジタル化の進展に伴い、高速なＣＰＵや大容量メモリを必ずしも搭載していないようなデジタル機器、例えば、デジタルカメラや各種のゲーム機器などが登場している。これらのデジタル機器から圧縮された画像データをそのまま取り出し、所定の角度だけ回転した状態の画像を形成できる画像形成装置があると、各種の画像データをさらに便利に取り扱うことができる。
【００１３】
本発明は、かかる諸事情の認識に基づいてなされたものである。すなわち、その目的は、少ないメモリで且つ高速に、圧縮された画像データを復元し所定の角度だけ回転させた状態で、順次出力することができる、画像処理装置、画像処理方法、画像形成装置及びプログラムを記録した記憶媒体を提供することにある。
【００１４】
【課題を解決するための手段】
上記目的の達成のために、本発明の画像処理装置は、原画像をブロック毎に符号化した符号化成分を有し且つ前記符号化成分に他のブロックとの差分に関する情報を含む符号化画像データを復号化し所定の角度だけ回転させた状態で出力する画像処理装置であって、復号化を実行する復元処理部と、復号化に関する情報を格納する復元情報格納部と、復号化されたブロックの回転処理を実行するブロック回転部と、を備え、
前記復元処理部は、まず、前記符号化画像データを最初から順番に復号化し、前記原画像中に予め定めた起点ブロックを復号化するために必要とされる復元情報が得られたら前記復元情報格納部に格納し、
しかる後に、前記復元処理部は、前記復元情報格納部に格納した前記復元情報を利用して前記符号化画像データを前記起点ブロックから復号化し、
前記ブロック回転部は、前記復元処理部により復号化されたブロックが出力すべきブロックの場合は前記所定の角度だけ回転させて出力することにより、
前記原画像を前記所定の角度だけ回転させた状態とした時に上方に位置するブロックから順に復号化データを出力可能としたことを特徴とする。
【００１５】
上記構成によれば、復元した画像全体を格納するための大容量メモリが不要となり、極めて小さいメモリを用いて高速に復元・回転処理を実行することができる。
【００１６】
ここで、出力バッファをさらに備え、前記ブロック回転部により前記所定の角度だけ回転させて出力される前記ブロックは、前記出力バッファ上に展開されることとすると、各ブロックを所定の位置関係に容易且つ確実に配置して出力できる。
【００１７】
また、前記符号化画像データは、ＪＰＥＧフォーマットに基づき、前記復元情報は、前記起点ブロックの離散コサイン変換係数のＤＣ成分に関する情報であることとすると、最も汎用性のあるＪＰＥＧ画像ファイルを復元回転することができる。
【００１８】
また、前記角度は、０°以上１８０°以下であり、前記起点ブロックは、前記原画像における左端の一列のブロックを含むこととすると、起点ブロックから順に復元することによって回転後画像を上方のブロックから順に出力することができる。
【００１９】
または、前記角度は、１８０°よりも大きく且つ３６０°よりも小さく、前記起点ブロックは、前記原画像における左端の一列のブロックと、それ以外の一列のブロックと、を含むこととすると、起点ブロックから復元を進めて目的とするブロックに到達するまでの処理時間を短縮することができる。
【００２０】
また、前記復元情報格納部は、キャッシュメモリを有することとすると、復元情報に高速にアクセスでき、高速に処理可能となる。
【００２１】
一方、本発明の画像処理方法は、原画像をブロック毎に符号化した符号化成分を有し且つ前記符号化成分に他のブロックとの差分に関する情報を含む符号化画像データを復号化し所定の角度だけ回転させた状態で出力する画像処理方法であって、
前記符号化画像データを最初から順番に復号化し、原画像中に定めた起点ブロックを復号化するために必要とされる復元情報が得られたら保持し、
しかる後に、前記保持した前記復元情報を利用して前記符号化画像データを前記起点ブロックから復号化し、
前記復号化されたブロックが出力すべきブロックの場合は前記所定の角度だけ回転させて出力することにより、
前記原画像を前記所定の角度だけ回転させた状態とした時に上方に位置するブロックから順に復号化データを出力可能としたことを特徴とする。
【００２２】
上記構成によれば、復元した画像全体を格納するための大容量メモリが不要となり、極めて小さいメモリを用いて高速に復元・回転処理を実行することができる。
【００２３】
一方、本発明の画像形成装置は、原画像をブロック毎に符号化した符号化成分を有し且つ前記符号化成分に他のブロックとの差分に関する情報を含む符号化画像データを入力し、前記原画像を所定の角度だけ回転させた状態で出力する画像形成装置であって、復号化を実行する復元処理部と、復号化に関する情報を格納する復元情報格納部と、復号化されたブロックの回転処理を実行するブロック回転部と、復号化データに基づいて画像を形成する画像形成手段と、を備え、
前記復元処理部は、まず、前記符号化画像データを最初から順番に復号化し、原画像中に予め定めた起点ブロックを復号化するために必要とされる復元情報が得られたら前記復元情報格納部に格納し、
しかる後に、前記復元処理部は、前記復元情報格納部に格納した前記復元情報を利用して前記符号化画像データを前記起点ブロックから復号化し、
前記ブロック回転部は、前記復元処理部により復号化されたブロックが出力すべきブロックの場合は前記所定の角度だけ回転させて前記復号化データを出力し、
前記画像形成手段は、前記出力された復号化データに基づいて画像を形成することにより、
前記所定の角度だけ回転させた状態の画像を上方のブロックから順次形成可能としたことを特徴とする。
【００２４】
上記構成によれば、復元した画像全体を格納するための大容量メモリが不要となり、極めて小さいメモリを用いて高速に復元・回転処理を実行することができる。
【００２５】
ここで、出力バッファをさらに備え、
前記ブロック回転部により前記所定の角度だけ回転させて出力される前記ブロックの復号化データは、前記出力バッファ上に展開され、
前記画像形成手段は、前記出力バッファ上に展開された前記復号化データを読み出して前記画像を形成することとすると、各ブロックを所定の位置関係に容易且つ確実に配置して出力できる。
【００２６】
また、前記符号化画像データは、ＪＰＥＧフォーマットに基づき、前記復元情報は、前記起点ブロックの離散コサイン変換係数のＤＣ成分に関する情報であることとすると、最も汎用性のあるＪＰＥＧ画像ファイルを復元回転することができる。
【００２７】
また、前記角度は、０°以上１８０°以下であり、前記起点ブロックは、前記原画像における左端の一列のブロックを含むこととすると、起点ブロックから順に復元することによって回転後画像を上方のブロックから順に出力することができる。
【００２８】
または、前記角度は、１８０°よりも大きく且つ３６０°よりも小さく、前記起点ブロックは、前記原画像における左端の一列のブロックと、それ以外の一列のブロックと、を含むこととすると、起点ブロックから復元を進めて目的とするブロックに到達するまでの処理時間を短縮することができる。
【００２９】
また、前記復元情報格納部は、キャッシュメモリを有することとすると、復元情報に高速にアクセスでき、高速に処理可能となる。
【００３０】
また、前記画像形成手段は、前記復号化データを印刷データに変換する印刷データ生成部と、前記印刷データに基づいて印刷イメージを生成するイメージ生成部と、前記印刷イメージに基づいて印刷媒体上に画像を形成するプリンタエンジンと、を有するインクジェット方式の画像形成手段であることとすれば、インクジェットプリンタがもともと有するイメージバッファを用いて復元回転処理を実行することも可能であり、コストの上昇を抑えつつ、極めて高性能化することができる。
【００３１】
一方、本発明の記録媒体は、符号化画像データの復号化を実行する復元処理部と、前記復号化に関する情報を格納する復元情報格納部と、前記復号化されたブロックの回転処理を実行するブロック回転部と、を有し、原画像をブロック毎に符号化した符号化成分を有し且つ前記符号化成分に他のブロックとの差分に関する情報を含む符号化画像データを復号化し所定の角度だけ回転させた状態で出力する画像処理装置を制御するプログラムを格納した記録媒体であって、前記プログラムは、
まず、前記復元処理部に、前記符号化画像データを最初から順番に復号化させ、原画像中に定めた所定の起点ブロックを復号化するために必要とされる復元情報が得られたら前記復元情報格納部に格納させ、
しかる後に、前記復元処理部に、前記復元情報格納部に格納した前記復元情報を利用させて前記符号化画像データを前記起点ブロックから復号化させ、
前記ブロック回転部に、前記復元処理部により復号化されたブロックが出力すべきブロックの場合は前記所定の角度だけ回転させて出力させることにより、
前記原画像を前記所定の角度だけ回転させた状態とした時に上方に位置するブロックから順に復号化データを出力可能としたことを特徴とする。
【００３２】
上記構成によれば、復元した画像全体を格納するための大容量メモリが不要となり、極めて小さいメモリを用いて高速に復元・回転処理を実行することができる。
【００３３】
ここで、前記画像処理装置は、出力バッファをさらに有し、
前記プログラムは、前記ブロック回転部により前記所定の角度だけ回転させて出力される前記ブロックを前記出力バッファ上に展開させることとすると、各ブロックを所定の位置関係に容易且つ確実に配置して出力できる。
【００３４】
または、本発明の記録媒体は、原画像をブロック毎に符号化した符号化成分を有し且つ前記符号化成分に他のブロックとの差分に関する情報を含む符号化画像データを復号化し所定の角度だけ回転させた状態で出力するプログラムが格納された記録媒体であって、前記プログラムは、
前記符号化画像データを最初から順番に復号化し、原画像中に定めた所定の起点ブロックを復号化するために必要とされる復元情報が得られたら保持し、
しかる後に、前記保持した前記復元情報を利用して前記符号化画像データを前記起点ブロックから復号化し、
前記復号化されたブロックが出力すべきブロックの場合は前記所定の角度だけ回転させて出力することにより、
前記原画像を前記所定の角度だけ回転させた状態とした時に上方に位置するブロックから復号化データを順に出力可能としたことを特徴とする。
【００３５】
上記構成によれば、復元した画像全体を格納するための大容量メモリが不要となり、極めて小さいメモリを用いて高速に復元・回転処理を実行することができる。
【００３６】
また、前記符号化画像データは、ＪＰＥＧフォーマットに基づき、前記復元情報は、前記起点ブロックの離散コサイン変換係数のＤＣ成分に関する情報であることとすると、最も汎用性のあるＪＰＥＧ画像ファイルを復元回転することができる。
【００３７】
また、前記角度は、０°以上１８０°以下であり、前記起点ブロックは、前記原画像における左端の一列のブロックを含むこととすると、起点ブロックから順に復元することによって回転後画像を上方のブロックから順に出力することができる。
【００３８】
または、前記角度は、１８０°よりも大きく且つ３６０°よりも小さく、前記起点ブロックは、前記原画像における左端の一列のブロックと、それ以外の一列のブロックと、を含むこととすると、起点ブロックから復元を進めて目的とするブロックに到達するまでの処理時間を短縮することができる。
【００３９】
ここで、「記録媒体」とは、例えば、ハードディスク（ＨＤ）、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＯＭ、光磁気記録媒体、フレキシブル・ディスク（ＦＤ）やＣＤ−ＲＯＭなどの他に、ＲＡＭやＲＯＭなどの各種メモリも含む。
【００４０】
また、これらの媒体に記録されるべきプログラムをそのままの状態で、あるいは必要に応じて暗号化したり、変調をかけたり、圧縮したような状態で、イントラネットやインターネットなどの有線回線や無線回線を介して頒布しても良い。
【００４１】
【発明の実施の形態】
以下、図面を参照しつつ本発明の実施の形態について説明する。
【００４２】
図１は、本具体例に対応した画像処理装置の概略構成を表すブロック図である。
【００４３】
すなわち、本発明の画像処理装置１０は、画像ファイル（符号化画像データ）２００を読み出すことができる。画像ファイル２００は、例えばＪＰＥＧ形式により圧縮され、ＲＡＭ（ramdom access memory）、ＣＤ−ＲＯＭ（compact disc-read only memory）あるいはハードディスクなどの各種の格納手段に格納されている。
【００４４】
画像ファイル２００と画像処理装置１０とは、例えば、コンピュータのような同一のシステム内に設けられていても良く、または、画像ファイル２００はコンピュータなどのホスト機器に格納され、一方、画像処理装置１０は、プリンタなどの別体の機器に設けられているものであっても良い。
【００４５】
本発明の画像処理装置１０は、復元処理部１２と、データバッファ１４と、復元情報格納部１５と、ブロック回転部１６と、展開制御部１７と出力バッファ１８とを有する。
【００４６】
復元処理部１２は、画像ファイル２００から所定のデータを読み出し、解析し、復元（復号化）して、必要に応じて各部にデータを出力すると共に各部の制御も行う。
【００４７】
データバッファ１４は、画像ファイル２００から読み出された圧縮画像データを一次的にバッファリングする。
【００４８】
復元情報格納部１５は、復元処理部が解析し、復元した分割ブロックに関する情報、典型的には「ＤＣ成分」と「ファイルポインタ」を格納する。なお、後に詳述するように、この復元情報格納部１５は、頻繁にアクセスする必要があるため、キャッシュメモリにより構成すると、システムの処理速度を高くすることができる。
【００４９】
ブロック回転部１６は、復元処理部１２において復元された分割ブロックのデータを受け取り、所定の回転角度だけ回転して出力する。
【００５０】
展開制御部１７は、ブロック回転部１６から出力された分割ブロックのデータを出力バッファ１８に展開するに際して、展開位置を制御する。
【００５１】
出力バッファ１８は、復元され回転された分割ブロックのデータを所定の順序に展開格納し、外部に出力可能な状態とする。
【００５２】
図２は、本発明により画像を回転して復元する様子を例示した概念図である。また、図３は、本発明による画像処理装置の動作を概念的に表すフローチャートである。
【００５３】
本発明においては、画像ファイル２００として、原画像を複数のブロックに分割して圧縮したフォーマットのものを対象とする。この典型例は、図２２に表したＪＰＥＧ標準に基づく画像ファイルである。従って、以下の説明では、符号化標準としてＪＰＥＧを用いた場合を例に挙げて説明する。
【００５４】
本発明においては、このような画像ファイルを回転復元するに際して、まず図３にステップＳ１００と表したように、画像ファイルを最初から順に復元する。
【００５５】
そして、予め定めた「起点ブロック」が復元されたら、ステップＳ２００においてその「起点ブロック」の「復元情報」を格納する。ここで、「復元情報」とは、典型的には、その「起点ブロック」の「ファイルポインタ」と「ＤＣ成分」である。また、「起点ブロック」は、後に詳述するように、回転後の画像を上から順に復元するのに都合の良い位置にある分割ブロックのことである。
【００５６】
そして、「ファイルポインタ」とは、画像ファイル２００において「起点ブロック」のデータが格納されているアドレスに対応する。
【００５７】
また、「ＤＣ成分」とは、図２２（ｂ）に例示したＤＣＴ係数のひとつである。
【００５８】
以下、「ＤＣ成分」について補足的に説明する。
【００５９】
ＪＰＥＧにおいては、原画像を８ピクセル×８ピクセルのブロック（以下、「分割ブロック」と称する）に分割し、ブロック毎にＤＣＴ（descrete cosince transform：離散コサイン変換）を施す。原画像の信号をｆ（ｘ、ｙ）、ＤＣＴ変換係数をＦ（ｘ、ｙ）とすると、変換・逆変換には以下の関係式が用いられる。
【００６０】
【数１】
0003661520.tif 000002
ここで、上の式は、ＤＣＴ変換に対応し、下の式は、逆ＤＣＴ変換に対応する。  図４（ａ）は、変換前の実空間における分割ブロックの画素配列を表し、図４（ｂ）は、ＤＣＴ変化された後の周波数空間におけるＤＣＴ係数の配列を概念的に表す説明図である。
【００６１】
ここで、ＤＣＴ変換係数Ｆ（ｕ、ｖ）は６４個存在する。これらのうちで、Ｆ（０、０）が「ＤＣ成分」、残りの６３個が「ＡＣ成分」と称され、ｕまたはｖが大きいほど高い空間周波数成分に相当する。
【００６２】
このようにして得られた６４個のＤＣＴ係数は、次に、量子化処理によってレベル数が離散化される。そして、量子化の後に、図２２（ｃ）に表したように、周波数空間においてジグザグ走査により２次元的な配列を１次元の配列に変換してからエントロピー符号化処理が施される。
【００６３】
但し、「ＤＣ成分」については、順に符号化される分割ブロックのうちの直前の分割ブロックの「ＤＣ成分」との差分がエントロピー符号化される。これは、「ＤＣ成分」すなわち、画像情報の平均値は隣接ブロック間で大きく変化しないために、差分値の分散が小さいという統計的な性質に基づく。
【００６４】
以上の説明から分かるように、ＪＰＥＧ符号化においては、「ＤＣＴ係数」のうちの「ＤＣ成分」に関しては、直前の分割ブロックとの差分について符号化されている。従って、画像中の途中にある分割ブロックのみを復元したい場合であっても、原画像の１番目の分割ブロック（通常は、左上端の分割ブロックである）、つまり符号化画像データを最初から順に復元し、「ＤＣ成分」を累算する必要がある。
【００６５】
例えば、図２に表した具体例においては、原画像の左端の１列のブロックＢ（１，１）〜Ｂ（１、Ｎ）のそれぞれを「起点ブロック」とする。そして、復元処理部１２は、まず原画像全体を順に復元しながら、これら「起点ブロック」の「ファイルポインタ」と「ＤＣ成分」とを求めて、復元情報格納部１５に格納する。これが、図３にステップＳ１００及びＳ２００として表したプロセスである。
【００６６】
次に、図３にステップＳ３００で表したように、復元情報を利用して起点ブロックから復元を開始する。つまり、復元情報格納部１５に格納した「起点ブロック」のデータを利用して、符号化画像データを途中から復元する。そして、復元されたブロックが、回転後の上端のブロックでない場合（ステップＳ４００：Ｎｏ）は、復元を続行する（ステップＳ５００）。一方、復元されたブロックが、回転後の上端のブロックである場合（ステップＳ４００：Ｙｅｓ）は、ステップＳ６００に進み、そのブロックを回転して出力する。
【００６７】
例えば図２に表したように、原画像を右回りに９０°回転した状態で復元し出力する場合について説明すると、原画像の左端の分割ブロックＢ（１、１）〜Ｂ（１、Ｎ）は、９０°回転することにより、画像の上端に来る。つまり、９０°回転させた復元画像を上端から順に得るためには、原画像の左端の一列の分割ブロックＢ（１、Ｎ）〜Ｂ（１、１）をそれぞれ「起点ブロック」とすると都合が良い。
【００６８】
これらの「起点ブロック」の「ファイルポインタ」と「ＤＣ成分」をステップＳ２００において予め格納しておけば、画像ファイル２００の所定のアドレスに直ちにアクセスし、目的の起点ブロックを直ちに復元することができる。
【００６９】
図２に表した具体例の場合には、起点ブロックのそれぞれが回転後に画像の上端に来るので、ステップＳ６００に進み、復元した分割ブロックＢ（１、Ｎ）〜Ｂ（１、１）をそれぞれ９０°回転し、出力バッファ１８上に展開する。
【００７０】
次に、分割ブロックＢ（２、Ｎ）〜Ｂ（２、１）について、同様に復元、回転し、出力バッファ１８上に展開する。以降、同様のプロセスを繰り返すことにより、回転した状態の復元画像を上端から順に得ることができる。
【００７１】
以下、図２に表したようにＪＰＥＧ画像を右回りに９０°回転させて出力する場合の動作についてさらに詳細に説明する。
【００７２】
図５は、本具体例に係る画像処理方法を表すフローチャートである。
【００７３】
まず、図５にステップＳ１２と表したように、復元処理部１２において画像ファイルポインタを初期化する。つまり、対象とするＪＰＥＧ画像データに関する読み出し位置を初期化する。また、以下のステップにおいては、例えば、画像ファイル２００から新しいデータを読み出すにあたって、前回の読み出しバイト数だけファイルポインタを進めるようにする。
【００７４】
次に、ステップＳ１４において、復元処理部１２は、データバッファ１４上に２５６バイトのバッファ領域を確保する。これは、ＪＰＥＧ符号化の対象となるカラー画像情報は、（Ｒ、Ｇ、Ｂ）または（Ｙ、Ｃｂ、Ｃｒ）または（Ｙ、Ｍ、Ｃ、Ｋ）の各要素毎に、ベースライン・システムの場合には１画素あたりの階調が８ビット精度であるからである。つまり、８ピクセル×８ピクセルの分割ブロックのビット数は、圧縮されている関係上６４ビット以下であり、４色表示の場合でも、６４×４＝２５６ビット以下となる。なお、ＪＰＥＧの拡張システムの場合には、１画素あたりの階調は１２ビット精度であるので、これに合わせて、例えば、３８４バイトのメモリ領域を確保すれば良い。
【００７５】
次に、ステップＳ１６において、画像ファイル２００から最初の２５６バイトのデータを読み出し、データバッファ１４に格納する。
【００７６】
次に、ステップＳ１８において、格納した画像データ上のタグデータを解析する。ここで「タグデータ」とは、ＪＰＥＧデータの符号化フォーマットの詳細パラメータ、例えば、量子化のための量子化テーブルなどに関する情報を含むデータである。
【００７７】
「タグデータ」の解析が未了の場合（ステップＳ２０：Ｎｏ）は、ステップＳ１６に戻り、ファイルポインタを２５６バイト進めて、次の２５６バイトのデータを読み出し、タグデータの解析を続行する。
【００７８】
一方、「タグデータ」の解析が終了した場合（ステップＳ２０：Ｙｅｓ）は、ステップＳ２２に進み、バッファデータが空であるかを判断する。この判断は、復元処理部１２が実行することができる。ここで、データバッファ１４に読み込み済みのデータのうちで「タグデータ」に関するものは、消費されている。つまり、データバッファ１４のバッファデータが空でない場合（ステップＳ２２：Ｎｏ）は、分割ブロックに関する圧縮データがバッファリングされていることになるので、ステップＳ２６に進んでこの圧縮データの復元を実行する。
【００７９】
一方、バッファデータが空の場合（ステップＳ２２：Ｙｅｓ）は、ステップＳ２４に進み、画像ファイル２００から２５６バイトのデータをデータバッファ１４に読み込む。そして、ステップＳ２６においてこの圧縮データの復元処理を実行する。この復元処理の内容は、例えば、図２２に概念的に表したものであり、復元処理部１２によって実行される。
【００８０】
次に、ステップＳ２８において、復元処理部１２は、８ピクセル×８ピクセルの分割ブロックの復元を終了したかを判断する。未了の場合（ステップＳ２８：Ｎｏ）は、ステップＳ２４に戻り、画像ファイル２００から次の２５６バイトの圧縮データを読み出す。
【００８１】
一方、分割ブロックの復元が終了した場合（ステップＳ２８：Ｙｅｓ）は、ステップＳ３０に進み、復元した分割ブロックが「起点ブロック」、すなわち本具体例の場合には、原画像の左端のブロックＢ（１，１）〜Ｂ（１，Ｎ）のいずれかであるかを判断する。
【００８２】
左端のブロックでない場合（ステップＳ３０：Ｎｏ）、すなわち、「起点ブロック」でない場合は、ステップＳ２４に戻り、圧縮データの読み出し、復元を行う。なお、復元処理部１２は、このようにして次々と分割ブロックを復元するに際して、「ＤＣ成分」を内部に保持し、累算することにより算出する。
【００８３】
一方、左端のブロックである場合（ステップＳ３０：Ｙｅｓ）、ステップＳ３２に進み、そのブロックに対応する「ファイルポインタ」と「ＤＣ成分」とを復元情報格納部１５にキャッシュする。この「ファイルポインタ」は、画像ファイル２００中で、「起点ブロック」に対応する圧縮データのアドレスを表すものである。従って、ここでキャッシュする「ファイルポインタ」は、「起点ブロック」の圧縮データの始まり位置とすることが便利である。
【００８４】
次に、ステップＳ３２において、画像データの全てを処理したか否かを判断する。未了の場合（ステップＳ３２：Ｎｏ）は、ステップＳ２４に戻り、圧縮データの読み出し、復元、判断、キャッシュを繰り返す。
【００８５】
ここまでが、図３に表したステップＳ１００に対応するステップである。ここまでのステップが終了した状態では、復元情報格納部１５には、「起点ブロック」の「ファイルポインタ」と「ＤＣ成分」とが格納されている。
【００８６】
この様子は、図２の左下に概念的に表した。つまり、本具体例においては、原画像の左端の一列のブロックを「起点ブロック」と定義したので、起点ブロック格納部１５には、ブロックＢ（１，１）〜Ｂ（１，Ｎ）の「ファイルポインタ」と「ＤＣ成分」とが、スキャンの順番に１番目からＮ番目まで格納されている。ここで、所定数Ｎは、原画像の高さをＹピクセルとした時に、Ｎ＝Ｙ／８と表すことができる。
【００８７】
このようにして「起点ブロック」についての情報が揃ったら、復元と回転の操作を開始する。
【００８８】
すなわち、画像データの処理が終了した場合（ステップＳ３２：Ｙｅｓ）は、ステップＳ５２において「垂直展開ポインタ」をゼロに設定し、さらに、ステップＳ５４において「水平展開ポインタ」もゼロに設定する。これらのポインタは、出力バッファ１８上で復元画像データの展開位置を指定するものであり、展開制御部１７に設けられる。また、これらのポインタは、例えば、復元処理部１２が設定することができる。
【００８９】
次に、ステップＳ５６において、復元処理部１８は、読み出しパラメータｉを所定数Ｎに設定する。この所定数Ｎは、前述したように、「起点ブロック」として定義した左端の一番下の分割ブロックＢ（１，Ｎ）の番号に対応する。
【００９０】
つまり、図２に表したように、画像を９０°回転すると、回転前の画像の左端の一番下の分割ブロックＢ（１，Ｎ）が、回転後の画像の上端の一番左側に来る。従って、原画像の左端のブロックをブロックＢ（１、Ｎ）からブロックＢ（１，１）に向かって順に復元すれば、回転後の画像の上端のブロック行の左から右に向かって復元データが得られることとなる。
【００９１】
すなわち、ステップＳ５８において、復元処理部１２は、復元情報格納部１５のｉ番目のキャッシュから分割ブロックＢ（１，Ｎ）の「ファイルポインタ」を取得する。
【００９２】
そして、ステップＳ６０において、画像ファイル２００から２５６バイトの圧縮データを読み出し、データバッファ１４に格納する。
【００９３】
復元処理部１８は、この圧縮データを、復元し（ステップＳ６２）、分割ブロックの復元が終了したかを判断する（ステップＳ６４）。復元が未了の場合（ステップＳ６４：Ｎｏ）は、ステップＳ６０に戻り、次の２５６バイトの圧縮データを読み込んで復元を続行する。
【００９４】
分割ブロックの復元が終了した場合（ステップＳ６４：Ｙｅｓ）は、この復元データをブロック回転部１６に送り、右回りに９０°回転する。このように回転した画像データは、回転後の画像において上端の一番左側の分割ブロックに対応する。そこで、ステップＳ６８において、展開制御部１７は、この画像データを、垂直展開ポインタと水平展開ポインタの設定値に従って出力バッファ１８上に展開する。
【００９５】
次に、ステップＳ７０において、この状態での「ファイルポインタ」と「ＤＣ成分」を復元情報格納部１５のｉ番目のキャッシュに保持する。例えば、ｉ＝Ｎの場合を例に挙げると、ここで保持される「ファイルポインタ」は、原画像において左から２番目の列の一番下の分割ブロックＢ（２、Ｎ）の「ファイルポインタ」であり、ここで保持される「ＤＣ成分」は、その直前すなわち左から１番目の一番下の分割ブロックＢ（１、Ｎ）の「ＤＣ成分」に対応する。
【００９６】
次に、ステップＳ７２において、次の分割ブロックＢ（１、Ｎ−１）の展開に備えて、水平展開ポインタを８だけ増加させ、同時に読み出しパラメータｉを１だけ減少させる。
【００９７】
そして、パラメータｉがゼロでない場合（ステップＳ７４：Ｎｏ）は、ステップＳ５８に戻り、次の分割ブロックの圧縮データを読み出し、復元して、出力バッファ１８に展開する。
【００９８】
パラメータｉがゼロになった状態（ステップＳ７４：Ｙｅｓ）においては、原画像の左端の一列の分割ブロックＢ（１、１）〜Ｂ（１、Ｎ）の全てを復元し、９０°回転させて出力バッファ１８上に展開した状態が完成している。つまり、出力バッファ１８には、９０°回転した復元画像の上から８ピクセル分のストライプ状の領域が展開されている。
【００９９】
次に、ステップＳ７６において、出力バッファ１８の垂直展開ポインタを８だけ増加させる。これは、次の８ピクセル分のブロック行Ｂ（２、Ｎ）〜Ｂ（２、１）の展開に備えるためである。
【０１００】
この状態で、ステップＳ７８において、圧縮画像データの復元が終了したかを判断する。
【０１０１】
圧縮画像データの復元が未了の場合（ステップＳ７８：Ｎｏ）は、ステップＳ５４に戻り、原画像において左端からみて次の列の分割ブロック、すなわち、回転画像において上端からみて次の行の分割ブロックのデータ読み出し、復元、回転、展開を実行する。
【０１０２】
一方、画像ファイルの復元が終了した場合（ステップＳ７８：Ｙｅｓ）は、一連の画像処理を終了する。
【０１０３】
以上、説明したように、本発明によれば、圧縮された画像ファイルを途中から復元するために便利な「起点ブロック」を予め定めておき、一度連続的に復元することによって、これら「起点ブロック」の「ファイルポインタ」と「ＤＣ成分」とを格納しておく。そして、これらのデータを利用することによって、圧縮データを途中から迅速に復元し、適宜回転させて出力バッファ上に展開することによって、回転させた状態の画像を上端から順次出力することができる。
【０１０４】
本発明によれば、復元した画像の全体を一旦格納するための大容量のメモリは必要としない。
【０１０５】
また、本発明によれば、出力バッファ１８は、復元された画像全体を格納するだけのメモリ容量は要しない。つまり、図示しない各種の入力機器は、出力バッファ１８の上に展開された画像データを随時読み出すことによって、回転された画像データを上端から順に受け取ることができる。従って、図１に例示した出力バッファ１８は、出力画像を部分的にバッファリングできれば十分である。例えば、そのメモリ容量は、１列の分割ブロックに対応する高さ８ピクセルの領域を格納できれば良い。従って、極めて少ないメモリ容量で圧縮画像データを回転した状態で復元し出力することができる。
【０１０６】
また、本発明によれば、復元情報格納部１５に要所ブロックの「ファイルポインタ」と「ＤＣ成分」とをキャッシュしておくことにより、画像ファイル２００から所定の分割ブロックに対応する圧縮データを迅速に読み出し、迅速に復元することができる。さらに、ステップＳ６６に表したような回転処理は、８ピクセル×８ピクセルという極めて小さなブロック単位で行えば良いので、回転処理も極めて迅速に実行することができる。
【０１０７】
以上、圧縮画像ファイルから９０°回転させた状態の復元画像を形成する具体例について説明した。
【０１０８】
次に、右回りに１８０°回転させた状態の復元画像を形成する具体例について説明する。
【０１０９】
図６は、本具体例に係る画像処理方法を概念的に表す説明図である。
【０１１０】
また、図７は、本具体例に係る画像処理方法を表すフローチャートである。図７に関しては、前述した図５と同一のステップには同一の符号を付して詳細な説明は省略する。
【０１１１】
本具体例においても、図６に表したように、「起点ブロック」として、原画像の左端の一列の分割ブロックＢ（１、１）〜Ｂ（１、Ｎ）を定義することができる。つまり、図７のステップＳ１２〜Ｓ３４は、図５に関して前述したステップと同様とすることができる。
【０１１２】
さて、画像を１８０°回転させると、これらの分割ブロックＢ（１、１）〜Ｂ（１、Ｎ）は回転後の画像上では右端に来る。そして、原画像の一番下の分割ブロックＢ（１、Ｎ）は、回転画像の上では、右端の列の一番上に１８０°回転した状態で配置される。従って、原画像の起点ブロックの一番下のブロックＢ（１、Ｎ）をまず復元し、１８０°回転させて出力バッファ１８の右上に展開する。
【０１１３】
この処理のために、まず、図７のステップＳ５１において、読み出しパラメータｉ＝Ｎとし、ステップＳ５２において垂直展開ポインタ＝０、ステップＳ５４Ａにおいて、水平展開ポインタを（画像幅−８）とする。
【０１１４】
次に、ステップＳ５８〜Ｓ６４において、分割ブロックＢ（１、Ｎ）の圧縮データを読み出して復元する。
【０１１５】
次に、ステップＳ６６Ａにおいて、復元した８×８分割ブロックＢ（１、Ｎ）を１８０°回転させ、ステップＳ６８において出力バッファ１８上に展開する。ステップＳ７４Ａにおいて水平ポインタを８だけ減少させるのは、次の分割ブロックＢ（２、Ｎ）を、出力バッファ１８上において、展開済みの分割ブロックＢ（１、Ｎ）の左側に展開するからである。
【０１１６】
ステップＳ５８〜７４Ａの一連のループを繰り返し、ステップ７４Ａにおいて水平展開ポインタがゼロよりも小さくなった場合（ステップＳ７４Ａ：Ｙｅｓ）は、出力バッファ１８上に、１行分の分割ブロックＢ（１、Ｎ）〜Ｂ（Ｍ、Ｎ）復元画像が展開されている。そこで、ステップＳ７６Ａにおいて、２行目の分割ブロックＢ（１、Ｎ−１）〜Ｂ（Ｍ、Ｎ−１）を展開するために、垂直展開ポインタを８だけ増加させ、同時に、読み出しパラメータｉを１だけ減少させる。
【０１１７】
そして、出力バッファが一杯でなく、画像ファイルの復元が未了の場合（ステップＳ７８：Ｎｏ）は、ステップＳ５４Ａに戻り、次のブロック行を復元出力する。
【０１１８】
以上説明したように、１８０°回転した状態で復元する場合も、原画像の左端の一列のブロックＢ（１、１）〜Ｂ（１、Ｎ）を「起点ブロック」とし、これらを下側の分割ブロックから順に復元することにより、回転した復元画像を上端から順に出力することができる。
【０１１９】
次に、右回りに２７０°回転させた状態の復元画像を形成する具体例について説明する。
【０１２０】
図８は、本具体例に係る画像処理方法を概念的に表す説明図である。
【０１２１】
また、図９は、本具体例に係る画像処理方法を表すフローチャートである。図９に関しては、前述した図５あるいは図７と同一のステップには同一の符号を付して詳細な説明は省略する。
【０１２２】
本具体例においても、図８に表したように、「起点ブロック」として、原画像の左端の一列の分割ブロックＢ（１、１）〜Ｂ（１、Ｎ）を定義することができる。つまり、図７のステップＳ１２〜Ｓ３４は、図５に関して前述したステップと同様とすることができる。
【０１２３】
さて、画像を２７０°回転させると、これらの分割ブロックＢ（１，１）〜Ｂ（１、Ｎ）は回転後の画像上では下端に来る。そこで、原画像の起点ブロックＢ（１、１）から順に復元を進めてブロックＢ（Ｍ、１）を復元できたら、これを１８０°回転させて出力バッファ１８の左上に展開する。
【０１２４】
この処理のために、まず、図９のステップＳ５２において垂直展開ポインタ＝０、ステップＳ５４において水平展開ポインタ＝０、ステップＳ５６において読み出しパラメータｉ＝１とする。
【０１２５】
次に、ステップＳ５８〜Ｓ６５において、目的とする分割ブロックにたどり着くまでデータ読み出し、復元を繰り返す。例えば、回転後の画像の上端のブロックＢ（Ｍ、１）の復元データを得るためには、起点ブロックＢ（１、１）から復元を繰り返す。同様に、例えば、回転後の画像の上端のブロックＢ（Ｍ、ｘ）の復元データを得るためには、起点ブロックＢ（１、ｘ）から復元を繰り返す。目的の分割ブロックの復元が終了したか否かは、ステップＳ６５において判断する。
【０１２６】
目的の分割ブロックの復元データが得られた場合（ステップＳ６５：Ｙｅｓ）は、ステップＳ６６Ｂに進み、復元した８×８分割ブロックを２７０°回転させ、ステップＳ６８において出力バッファ１８上に展開する。
【０１２７】
次に、ステップＳ７２において、次の分割ブロックの展開に備えて水平展開ポインタを８だけ増加し、読み出しパラメータｉを１だけ増加する。
【０１２８】
ステップＳ５８〜７４Ｂの一連のループを繰り返し、ステップ７４Ｂにおいて読み出しパラメータｉがブロック個数Ｎよりも大きくなった場合（ステップＳ７４Ａ：Ｙｅｓ）は、出力バッファ１８上に、１行分の分割ブロックの復元画像が展開されている。そこで、ステップＳ７６において、次の行の分割ブロックを展開するために、垂直展開ポインタを８だけ増加させ。
【０１２９】
そして、出力バッファが一杯でなく、画像ファイルの復元が未了の場合（ステップＳ７８：Ｎｏ）は、ステップＳ５２に戻り、次のブロック行を復元出力する。
【０１３０】
以上説明したように、２７０°回転した状態で復元する場合も、原画像の左端の一列のブロックＢ（１、１）〜Ｂ（１、Ｎ）を「起点ブロック」とし、これらを起点として、順に復元を繰り返すことにより、目的とする分割ブロックの復元データを得ることができる。
【０１３１】
但し、右回りに２７０°回転させる場合に、「起点ブロック」として、原画像の左端の一列のブロックＢ（１、１）〜Ｂ（１、Ｎ）を選択すると、回転画像の上端付近のブロックに辿りつくまで、復元を繰り返す必要があり、処理時間がやや長くなる。そこで、このような場合には、「起点ブロック」を複数ライン設けると良い。
【０１３２】
図１０は、「起点ブロック」を複数ライン設けた場合を例示する概念図である。すなわち、同図の例においては、原画像において、左端の一列のブロックＢ（１、１）〜Ｂ（１、Ｎ）と、中央付近の一列のブロックＢ（ｃ、１）〜Ｂ（ｃ、Ｎ）とをそれぞれ「起点ブロック」とする。図示したように、これらブロック列１とブロック列２の「ファイルポインタ」と「ＤＣ成分」とは、キャッシュ１とキャッシュ２に分割して格納しても良い。
【０１３３】
そして、回転した画像上で見て、領域１に属する分割ブロックは、ブロック列２の対応する分割ブロックを起点として復元し、領域２に属する分割ブロックは、ブロック列１の対応する分割ブロックを起点として復元する。このようにすれば、目的とする分割ブロックにたどり着くまでの復元処理の回数を半減することができ、より高速に処理することができる。
【０１３４】
もちろん、３ライン以上のブロック列を「起点ブロック」とすれば、さらに高速に処理することができる。
【０１３５】
以上、簡単に理解できる具体例として、９０°、１８０°または２７０°回転させた状態で復元する方法を説明した。
【０１３６】
しかし、本発明は、これらの具体例に限定される訳ではない。すなわち、本発明によれば、任意の角度だけ回転させた状態で復元画像を出力することができる。
【０１３７】
図１１〜図１４は、本発明により任意の角度だけ回転させて復元出力する様子を例示する概念図である。
【０１３８】
例えば、図１１は、原画像を右回りに９０°未満の任意の角度だけ回転させる場合を表している。
【０１３９】
この場合には、例えば、原画像の左端の一列の分割ブロックＢ（１，１）〜Ｂ（１，Ｎ）を「起点ブロック」として決定することができる。そして、回転後の画像を上端から順番に出力するためには、回転画像において、「１」、「２」、「３」、・・・・と付したような順番で分割ブロックを順次、復元し、回転し、出力バッファ１８上に展開すれば良い。
【０１４０】
この際に、分割ブロックの復元の順序は、復元処理部１２が決定することができる。これは、具体的には、回転角度に応じた各ブロックの上下関係を演算することによって決定できる。また、このようにして決定された順序で復元した分割ブロックは、所定の角度だけ回転させて、出力バッファ１８上の所定の位置に展開する。この際の展開位置も、復元処理部１２が回転角度に応じて演算し、決定することができる。
【０１４１】
同様の処理は、図１２〜図１４に例示した場合にも実行可能である。すなわち、図１２は、原画像を右回りに９０°よりも大きく１８０°よりも小さい任意の角度だけ回転させる場合を表している。
【０１４２】
この場合にも、原画像の左端の一列の分割ブロックＢ（１，１）〜Ｂ（１，Ｎ）を「起点ブロック」として決定することができる。そして、回転後の画像を上端から順番に出力するためには、図１３の回転画像において、「１」、「２」、「３」、・・・・と付したような順番で分割ブロックを順次、復元し、回転し、出力バッファ１８上に展開すれば良い。
【０１４３】
一方、図１３は、原画像を右回りに１８０°よりも大きく２７０°よりも小さい任意の角度だけ回転させる場合を表している。
【０１４４】
また、図１４は、原画像を右回りに２７０°よりも大きく３６０°よりも小さい任意の角度だけ回転させる場合を表している。
【０１４５】
これらの場合にも、原画像の左端の一列の分割ブロックＢ（１，１）〜Ｂ（１，Ｎ）を「起点ブロック」として決定することができる。但し、回転後の画像を上端から順番に出力するためには、同図において、「１」、「２」、「３」、・・・・と付したような順番で分割ブロックを復元する必要があり、「起点ブロック」から遠くなるために、処理に時間がかかる。そこで、図１０に関して前述した場合と同様に、複数のラインを「起点ブロック」として選択すれば、処理速度を改善することができる。
【０１４６】
以上説明したように、任意の回転角度に対応するためには、「起点ブロック」や復元の順序、出力バッファ１８への展開位置などを回転角度に応じて決定する機能を設ければ良い。これらの機能は、例えば、復元処理部１２に設けることができる。
【０１４７】
図１５は、本発明による画像処理装置の具体例を表すブロック図である。
【０１４８】
すなわち、同図に表した画像処理装置においては、復元処理部１２が、復元部１２Ａ、起点ブロック決定部１２Ｂ、復元順序決定部１２Ｃ、展開位置決定部１２Ｄ及び制御部１２Ｅによって構成されている。
【０１４９】
復元部１２Ａは、画像ファイル２００から読み出した圧縮データの復元処理を実行する。
【０１５０】
起点ブロック決定部１２Ｂは、画像の回転角度に応じて、最適な「起点ブロック」を決定する。例えば、図１１、図１２のような場合は、左端の一列の分割ブロックを「起点ブロック」とし、図１３、図１４のような場合には、複数ラインの分割ブロックを「起点ブロック」と決定する。
【０１５１】
復元順序決定部１２Ｃは、画像の回転角度と起点ブロック決定部１２Ｂによって決定された「起点ブロック」の位置とに基づき、出力バッファ１８の上に展開するための分割ブロックの復元の順番を決定する。これは、例えば、図１１〜図１４において、「１」、「２」、「３」、・・・と付したように決定され、回転後の画像においてブロック間の上下関係を演算することにより、簡単に求めることができる。
【０１５２】
展開位置決定部１２Ｄは、順次復元される分割ブロックの出力バッファ１８上での展開位置を決定する。これは、分割ブロック同士の相対的な位置関係を考慮することにより決定することができる。
【０１５３】
制御部１２Ｅは、各部の動作の制御とデータ入出力の制御を実行する。
【０１５４】
以上説明したように、本発明に係る画像処理装置は、任意の角度で回転させた状態の復元画像を極めて少ないメモリで高速に得ることができる。
【０１５５】
本発明に係る画像処理装置は、例えば、専用の集積回路半導体チップあるいは半導体チップアレイなどのハードウエアとして実現することが可能である。
【０１５６】
また、本発明に係る画像処理装置は、ＣＰＵ（central proccessing unit）及びメモリを有する機器において、所定のソフトウエアによりＣＰＵを動作させることによっても実現可能である。
【０１５７】
そして、これらのハードウエアやソフトウエアは、例えば、パーソナルコンピュータを初めとする各種のコンピュータ、プリンタ、デジタルカメラ、各種のＰＤＡ（personal data assistance）、あるいはその他の各種のデジタル画像データを扱う機器の一部として設けることにより、所定の効果を奏するものである。
【０１５８】
特に、各種のディスプレイ装置や印刷用紙などの画像形成媒体上に画像を形成する画像形成装置に本発明を適用すると、圧縮画像ファイルを元にして所定の角度だけ回転させた状態の画像を低コストで迅速に形成できる点で顕著な効果がえられる。このような画像形成装置としては、プリンタの他に、ディスプレイ付きのＰＤＡあるいはカーナビゲーションシステム、各種のゲーム機などを挙げるこどができる。
【０１５９】
以下、本発明の画像形成装置の具体例として実現したプリンタについて説明する。
【０１６０】
図１６は、本発明に係るプリンタの概略構成を表すブロック図である。
【０１６１】
すなわち、同図に例示したプリンタ５０は、「インクジェットプリンタ」であり、インターフェイス部５２、受信部５４、解釈部５６、回転復元部１０、印刷データ生成部６２、イメージ生成部６４、及びプリンタエンジン６８を有する。
【０１６２】
インターフェイス部５２は、ホスト機器３００からＪＰＥＧ形式の画像ファイル２００や、その他の「画像データ」または「印刷データ」を受信すると共に、データ要求信号などの各種のステータス情報をホスト機器３００に送信する。
【０１６３】
受信部５４は、ホスト機器３００から送信されたデータを必要に応じて一時的に格納する。なお、本発明においては、この受信部５４は必ずしも必要でなく、インターフェイス部５２において受信した「画像データ」などを直ちに解釈部５６に送るようにしても良い。
【０１６４】
解釈部５６は、ホスト機器３００から送られた信号の種類を調べて適宜必要なデータ処理を施す。すなわち、ホスト機器３００が「プリンタドライバ」を有しており、「印刷データ」をプリンタに送信した場合には、解釈部５６は、その信号に含まれるヘッダ情報やフッタ情報を取り除き、経路Ｃを選択して、その「印刷データ」をイメージ生成部６４に送る。一方、ホスト機器３００から「画像データ」が送られてきた場合には、解釈部５６は、その「画像データ」の形式に応じて経路Ａまたは経路Ｂを選択し、その「画像データ」を次段に送る。
【０１６５】
回転復元部１０は、図１〜図１５に関して前述した「画像処理装置」に相当する構成を有する。つまり、ホスト機器３００が圧縮された形式の画像ファイル２００を有する場合に、これを所定の角度だけ回転した状態で復元する役割を有する。なお、このモードでプリンタが動作する場合には、解釈部１６は、図１７において符号Ａで表した経路を介して、圧縮された画像ファイルのデータを回転復元部１０に送る。回転復元部１０は、図１〜図１５に関して前述したように、この圧縮データを所定の角度だけ回転した状態で順次復元して出力する。
【０１６６】
印刷データ生成部６２は、「画像データ」を「印刷データ」に変換する。すなわち、ＲＧＢ（red,green,blue）の３要素などにより表される「画像データ」を、プリンタが用いる各色のインク（例えば、シアン：Ｃ、マゼンタ：Ｍ、黄色：Ｙ、及び黒：Ｋの４色）によるドットの配列情報に対応する「印刷データ」に変換する。
【０１６７】
図１７は、印刷データ生成部６２の構成の具体例を表すブロック図である。すなわち、印刷データ生成部６２は、サイズ変換部６２Ａ、色変換部６２Ｂ、ハーフトーン処理部６２Ｃ、及びインターレース処理部６２Ｄからなるものとすることができる。サイズ変換部６２Ａは、ホスト機器３００から送られてきたレイアウト情報に基づいて、「画像データ」を所望の印刷サイズに変換する役割を有する。例えば、ＲＧＢ２４ビットからなる「画像データ」を所望のサイズに変換する。
【０１６８】
色変換部６２Ｂは、「画像データ」をプリンタの色要素からなるデータに変換する。すなわち、プリンタが使用するインク色及び発色の特性に応じた色補正を施し、インク色のデータに変換する。例えば、ＲＧＢ２４ビットからなる「画像データ」をＣＭＹＫ３２ビットデータに変換する。
【０１６９】
ハーフトーン処理部６２Ｃは、色変換された後のＣＭＹＫデータからドット単位でのインクの有無によってある面積での濃度を表現する２値化処理を実行する。このハーフトーン処理によってＣＭＹＫからなる印刷データが生成される。例えば、色変換により得られたＣＭＹＫ３２ビットデータを、ＣＭＹＫ４ビットからなるデータに変換する。
【０１７０】
インターレース処理部６２Ｄは、ハーフトーン処理によって得られたＣＭＹＫ４ビットデータをインターレース印刷するために変換する。ここで、「インターレース」とは、プリンタの印刷ヘッドのインクジェットノズルの配列ピッチよりも小さいピッチで印刷ヘッドを主走査方向及び／または副走査方向にずらしながら印刷することより、きめが細かく、且つ印刷ヘッドのノズル径などのばらつきによる「ムラ」を解消することができる印刷手法である。
【０１７１】
以上の処理によって、「画像データ」が「印刷データ」に変換される。
【０１７２】
再び図１６に戻って説明すると、イメージ生成部６４は、解釈部５６から直接送られてくる「印刷データ」または、印刷データ生成部６２から送られてくる「印刷データ」に基づいて、印刷イメージを生成し、プリンタエンジン６８を駆動させる役割を有する。
【０１７３】
プリンタエンジン６８は、図示しない印刷ヘッドやその駆動系及び紙送り機構などを有し、イメージ生成部６４において生成された印刷イメージに基づいて印刷を実行する。
【０１７４】
図１６に例示したプリンタ５０は、ホスト機器３００から送られたきたデータの形式に応じて、３通りの経路のいずれかを選択して処理することができる。すなわち、圧縮された画像ファイルは、経路Ａを介して、回転復元部１０→印刷データ生成部６２→イメージ生成部６４→プリンタエンジン６８と送られる。
【０１７５】
一方、非圧縮の「画像データ」は、経路Ｂが選択され、印刷データ生成部６２に送り、「印刷データ」に変換する。この際に、図示しない回転処理部を別途設けて、「画像データ」または「印刷データ」を所定の角度だけ回転した状態で印刷可能としても良い。
【０１７６】
また、「印刷データ」を受信した場合には、経路Ｃを介して印刷を実行する。これらの経路の切り替えは、解釈部５６により決定される。つまり、解釈部５６は、ホスト機器３００から送られたデータを解析し、その種類に応じて適宜データ処理経路を選択してデータを供給する。
【０１７７】
本実施形態のプリンタ５０は、上述の複数の経路のうちで、特に経路Ａを介した処理を実行することができる点にひとつの特徴を有する。
【０１７８】
図１８〜図２０は、それぞれ画像ファイルを入力し、９０°、１８０°、２７０°回転させた状態で印刷する際の動作を表すフローチャートである。すなわち、これらのフローチャートは、図５、図７、図９にそれぞれ対応するものであり、同一のステップには、同一の符合を付して詳細な説明は省略する。
【０１７９】
本発明のプリンタ５０においては、回転復元部１０が有する出力バッファ１８（図１参照）が「イメージバンドバッファ」としての役割を果たす。ここで、イメージバンド」とは「イメージバンド」や「ライン」とも称され、インクジェットプリンタやインパクトドットプリンタなどの「シリアルプリンタ」において、印刷ヘッドの一回の走査で印刷される領域のことをいう。
【０１８０】
図２１は、シリアルプリンタによってひとつの「イメージバンド」が印刷された状態を表す概念図である。すなわち、「イメージバンド」は、印刷ヘッドの幅すなわち、ヘッドの一回の走査により印刷される画像の幅に対応する。なお、印刷ヘッドの走査方向は「主走査方向」、画像形成媒体としての紙の送り方向は「副走査方向」と称する場合が多い。つまり、印刷ヘッドが「主走査方向」に走査することによりひとつの「イメージバンド」が形成される。そして、紙が「副走査方向」に送られことにより次の「イメージバンド」の形成位置が決定される。
【０１８１】
図１８〜図２０において、ステップＳ７８Ａで表した分岐ステップは、ひとつの「イメージバンド」の印刷に必要なデータが出力バッファ１８に展開されたか、あるいは印刷すべきページが終了したか否かを判断するステップである。データが揃ってない時など（ステップＳ  ７８Ａ：Ｎｏ）は、ステップＳ５４またはＳ５４Ａに戻り、圧縮データの読み込み、復元、回転、展開の処理が繰り返される。
【０１８２】
一方、データが揃った時（ステップＳ７８Ａ：Ｙｅｓ）は、ステップＳ９０において、色変換、ハーフトーン処理などを行い、「画像データ」を「印刷データ」に変換する。これらの処理は、印刷データ生成部６２において実行される。
【０１８３】
そして、ステップＳ９２において、印刷データがプリンタエンジン６８に送られ、ひとつの「イメージバンド」の印刷が実行される。
【０１８４】
この段階で、まだページが終了していない時（ステップＳ９４：Ｎｏ）は、ステップＳ５２に戻り、次のイメージバンドのために、圧縮画像データの読み込み、復元、回転、展開の処理が繰り返される。
【０１８５】
ページが終了した場合（ステップＳ９４：Ｙｅｓ）は、ステップＳ９６に進み、プリンタエンジン６８が用紙を排紙して印刷処理を終了する。
【０１８６】
以上説明したように、本発明によれば、プリンタに回転復元部１０を設けることにより、ホスト機器３００に格納されているＪＰＥＧなどの形式の画像ファイル２００を直接読み出し、復元して所定の角度だけ回転した状態で印刷することができる。従って、ホスト機器３００は、圧縮された画像ファイルを復元するための復元手段も、回転処理を実行するための画像回転処理手段も有する必要がない。従って、プリンタ５０を接続することができるホスト機器の範囲を大幅に広げることができる。例えば、デジタルカメラや各種の各種のＰＤＡ（personal data assistance）、あるいはインターネットなどのデータ源に接続して圧縮された画像データをダウンロードできる各種のデジタル機器などをホスト機器３００とすることができる。そして、これらのホスト機器にプリンタを直接接続し、例えば、インターネットなどを介して圧縮画像データをダウンロードし、プリンタに読みとらせることにより、所定の角度だけ回転させた状態で直ちに印刷することが可能となる。つまり、従来と異なり、ホストコンピュータを介することなくこれらの機器から画像ファイルを取り出して所定のレイアウトで印刷することができ、プリンタの応用範囲を大幅に拡げることができる。
【０１８７】
また、本発明によれば、画像復元手段や画像回転処理手段を有する機器をホスト機器３００として用いる場合にも、ホスト機器３００の負担を大幅に減らすことができる。つまり、プリンタ側で画像ファイルの復元処理や回転処理を行うので、ホストコンピュータは、圧縮された画像ファイルをプリンタに送出するだけで、他のタスクの処理に直ちにとりかかることができ、システム全体の処理能力を大幅に改善することが可能となる。
【０１８８】
さらに、本発明によれば、極めて小さいメモリ容量で圧縮画像の回転処理が実現できる。つまり、画像全体を一旦格納する必要がないため、大容量のメモリを増設する必要がなく、極めて低コストで高性能のプリンタを実現することができる。この効果は、特に「シリアルプリンタ」の場合に顕著となる。何故ならば、従来のシリアルプリンタは、数イメージバンド程度の容量の「イメージバンドバッファ」しか有していないが、本発明によれば、このメモリをそのまま流用して、圧縮画像の回転復元処理を高速に実行することができるからである。
【０１８９】
以上具体例を参照しつつ本発明の実施の形態について説明した。しかし、本発明は、これらの具体例に限定されるものではない。
【０１９０】
例えば、本発明のプリンタの具体例としては、インクジェットプリンタの例を挙げつつ説明したが、本発明は、これ以外にもあらゆるシリアルプリンタに適用して同様の効果を得ることができる。
【０１９１】
また、本発明は、レーザプリンタやＬＥＤプリンタなどの「ページプリンタ」についても同様に適用して、同様の各種の効果を得ることができる。
【０１９２】
また、入力される画像ファイルのフォーマットも、ＪＰＥＧに限定されず、ブロックに分割され、且つ変換成分に隣接ブロックとの差分を用いるようなすべてのフォーマットの画像ファイルについて同様に適用することができる。この点に関しては、例えば、ＪＰＥＧの他にも、異なる方式のデータフォーマットに対応した復元部を設けて、入力される圧縮画像データのフォーマットに応じて適宜復元方式を選択できるようにしても良い。
【０１９３】
また、プリンタが用いるインクの色も、具体例として挙げたＣＭＹＫ４色に限定されるものではなく、これらにライトシアン、ライトマゼンタなどの淡色を加えたものや、その他のあらゆるインクの組み合わせを同様に用いることができる。
【０１９４】
さらに、プリンタ機構を有するものであれば、プリンタ専用機には限定されず、複写機、ファクシミリ装置などの他の機能を備えた複合機であっても良い。
【０１９５】
その他、当業者であれば、本明細書に開示した本発明の要旨の範囲内で種々の追加、変更等が可能である。
【０１９６】
【発明の効果】
本発明は、以上説明した形態で実施され、以下に説明する効果を奏する。
【０１９７】
まず、本発明によれば、圧縮された画像ファイルを途中から復元するために便利な「起点ブロック」を予め定めておき、一度連続的に復元することによって、これら「起点ブロック」の「ファイルポインタ」と「ＤＣ成分」とを格納し、これらのデータを利用することによって、圧縮データを途中から迅速に復元し、適宜回転させて出力バッファ上に展開することによって、回転させた状態の画像を上端から順次出力することができる。従って、本発明によれば、復元した画像の全体を一旦格納するための大容量のメモリは必要としない。
【０１９８】
また、本発明によれば、出力バッファは、復元された画像全体を格納するだけのメモリ容量は要しない。つまり、各種の入力機器は、出力バッファの上に展開された画像データを随時読み出すことによって、回転された画像データを上端から順に受け取ることができ、出力バッファは、出力画像を部分的にバッファリングできれば十分である。例えば、そのメモリ容量は、１列の分割ブロックに対応する高さ８ピクセルの領域を格納できれば良い。従って、極めて少ないメモリ容量で圧縮画像データを回転した状態で復元し出力することができる。
【０１９９】
また、本発明によれば、復元情報格納部に要所ブロックの「ファイルポインタ」と「ＤＣ成分」とをキャッシュしておくことにより、画像ファイルから所定の分割ブロックに対応する圧縮データを迅速に読み出し、迅速に復元することができる。さらに、ブロックの回転処理は、８ピクセル×８ピクセルという極めて小さなブロック単位で行えば良いので、回転処理も極めて迅速に実行することができる。
【０２００】
また、本発明によれば、プリンタに回転復元部を設けることにより、ホスト機器に格納されているＪＰＥＧなどの形式の画像ファイルを直接読み出し、復元して所定の角度だけ回転した状態で印刷することができ、ホスト機器は、圧縮された画像ファイルを復元するための復元手段も、回転処理を実行するための画像回転処理手段も有する必要がない。従って、プリンタを接続することができるホスト機器の範囲を大幅に広げることができ、例えば、デジタルカメラや各種の各種のＰＤＡ（personal data assistance）、あるいはインターネットなどのデータ源に接続して圧縮された画像データをダウンロードできる各種のデジタル機器などをホスト機器とすることができる。そして、これらのホスト機器にプリンタを直接接続し、例えば、インターネットなどを介して圧縮画像データをダウンロードし、プリンタに読みとらせることにより、所定の角度だけ回転させた状態で直ちに印刷することが可能となる。つまり、従来と異なり、ホストコンピュータを介することなくこれらの機器から画像ファイルを取り出して所定のレイアウトで印刷することができ、プリンタの応用範囲を大幅に拡げることができる。
【０２０１】
また、本発明によれば、画像復元手段や画像回転処理手段を有する機器をホスト機器として用いる場合にも、ホスト機器の負担を大幅に減らすことができる。つまり、プリンタ側で画像ファイルの復元処理や回転処理を行うので、ホストコンピュータは、圧縮された画像ファイルをプリンタに送出するだけで、他のタスクの処理に直ちにとりかかることができ、システム全体の処理能力を大幅に改善することが可能となる。
【０２０２】
さらに、本発明によれば、極めて小さいメモリ容量で圧縮画像の回転処理が実現できる。つまり、画像全体を一旦格納する必要がないため、大容量のメモリを増設する必要がなく、極めて低コストで高性能のプリンタを実現することができる。この効果は、特に「シリアルプリンタ」の場合に顕著となる。何故ならば、従来のシリアルプリンタは、数イメージバンド程度の容量の「イメージバンドバッファ」しか有していないが、本発明によれば、このメモリをそのまま流用して、圧縮画像の回転復元処理を高速に実行することができるからである。
【０２０３】
また、本発明によれば、圧縮された画像ファイルとしてＪＰＥＧフォーマットを適用して好適であり、最も汎用性の広い画像処理装置及び画像形成装置を提供することができる。
【０２０４】
以上詳述したように、本発明によれば、極めて低コストで画像ファイルの復元回転処理が可能で、応用範囲を従来よりも大幅に拡げ、ホスト負担も軽減することができる画像処理装置や画像形成装置などを提供することが可能となり産業上のメリットは多大である。
【図面の簡単な説明】
【図１】本発明の画像処理装置の概略構成を表すブロック図である。
【図２】本発明により画像を回転して復元する様子を例示した概念図である。
【図３】本発明による画像処理装置の動作を概念的に表すフローチャートである。
【図４】図４（ａ）は、変換前の実空間における分割ブロックの画素配列を表し、図４（ｂ）は、ＤＣＴ変化された後の周波数空間におけるＤＣＴ係数の配列を概念的に表す説明図である。
【図５】右回りに９０°回転させる具体例に係る画像処理方法を表すフローチャートである。
【図６】右回りに１８０°回転させる具体例に係る画像処理方法を概念的に表す説明図である。
【図７】右回りに１８０°回転させる具体例に係る画像処理方法を表すフローチャートである。
【図８】右回りに２７０°回転させる具体例に係る画像処理方法を概念的に表す説明図である。
【図９】右回りに２７０°回転させる具体例に係る画像処理方法を表すフローチャートである。
【図１０】「起点ブロック」を複数ライン設けた場合を例示する概念図である。
【図１１】原画像を右回りに９０°未満の任意の角度だけ回転させる場合を表している。
【図１２】原画像を右回りに９０°よりも大きく１８０°よりも小さい任意の角度だけ回転させる場合を表している。
【図１３】原画像を右回りに１８０°よりも大きく２７０°よりも小さい任意の角度だけ回転させる場合を表している。
【図１４】原画像を右回りに２７０°よりも大きく３６０°よりも小さい任意の角度だけ回転させる場合を表している。
【図１５】本発明による画像処理装置の具体例を表すブロック図である。
【図１６】本発明に係るプリンタの概略構成を表すブロック図である。
【図１７】印刷データ生成部６２の構成の具体例を表すブロック図である。
【図１８】画像ファイルを入力し、９０°回転させた状態で印刷する際の動作を表すフローチャートである。
【図１９】画像ファイルを入力し、１８０°回転させた状態で印刷する際の動作を表すフローチャートである。
【図２０】画像ファイルを入力し、２７０°回転させた状態で印刷する際の動作を表すフローチャートである。
【図２１】シリアルプリンタによってひとつの「イメージバンド」が印刷された状態を表す概念図である。
【図２２】ＪＰＥＧによる圧縮、復元処理の典型例を表す概念図である。
【符号の説明】
１０  画像処理装置
１２  復元処理部
１２Ａ  復元部
１２Ｂ  起点ブロック決定部
１２Ｃ  復元順序決定部
１２Ｄ  展開位置決定部
１２Ｅ  制御部
１４  データバッファ
１５  復元情報格納部
１６  ブロック回転部
１７  展開制御部
１８  出力バッファ
５０  インクジェットプリンタ
５２  インターフェイス部
５４  受信部
５６  解釈部
６２  印刷データ生成部
６２Ａ  サイズ変換部
６２Ｂ  色変換部
６２Ｃ  ハーフトーン処理部
６２Ｄ  インターレース処理部
６４  イメージ生成部
６６  データ読込み制御部
６８  プリンタエンジン
２００  画像ファイル
３００  ホスト機器
【図１】
0003661520.tif 000003
【図２】
0003661520.tif 000004
【図３】
0003661520.tif 000005
【図４】
0003661520.tif 000006
【図５】
0003661520.tif 000007
【図６】
0003661520.tif 000008
【図７】
0003661520.tif 000009
【図８】
0003661520.tif 000010
【図９】
0003661520.tif 000011
【図１０】
0003661520.tif 000012
【図１１】
0003661520.tif 000013
【図１２】
0003661520.tif 000014
【図１３】
0003661520.tif 000015
【図１４】
0003661520.tif 000016
【図１５】
0003661520.tif 000017
【図１６】
0003661520.tif 000018
【図１７】
0003661520.tif 000019
【図１８】
0003661520.tif 000020
【図１９】
0003661520.tif 000021
【図２０】
0003661520.tif 000022
【図２１】
0003661520.tif 000023
【図２２】
0003661520.tif 000024