(57)【要約】【課題】  二段構成の符号化を行うシステムは、圧縮率の調整が可能でありながら、非可逆方式だけでなく可能な限り可逆方式にて符号化しターゲット圧縮率を達成させることで、画質劣化を緩和させる。しかし、１つの方式で符号化する場合と比べて、符号化に要する時間が長くなる。その結果、画像データが入力される所要時間より符号化に要する時間の方が長くなる場合があり、システム全体のパフォーマンスが低下する問題がある。よって、画像データが入力されるときの所要時間よりも、短い時間で二段構成の符号化を行うシステムを提供する。【解決手段】  画像データが入力されるときの所要時間の長さに依存して二次符号化を行うかどうかを判断する“二次符号化実行判定手段”を、追加する。【選択図】  図１
2007159028.tif 000002
【特許請求の範囲】
【請求項１】
本発明は、画像データを入力する“画像データ入力手段”と、入力された画像データを分割する“画像データ分割手段”と、分割された画像データを符号化する“一次符号化手段”と、一次符号化手段により符号化されたデータが圧縮率を達成しているかを判断する“一次符号データ判定手段”と、一次符号化手段により符号化されたデータを更に符号化する“二次符号化手段”と、符号化されたデータを蓄積する“符号データ蓄積手段”と、符号データを元の画像データに戻す“伸張手段”と、画像データを出力する“画像データ出力手段”とを具備する画像処理装置に於いて、
画像データが入力されるときの所要時間の長さに依存して、二次符号化を行うかどうかを判断する“二次符号化実行判定手段”を追加することにより、処理時間を増加させること無く圧縮率を向上させ、データメモリの有効活用を行うことを特徴とした、画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ページスプール機能を有するプリンタシステム、サーバー機能を有するマルチファンクションプリンタ（ＭＦＰ）／コピー／ＦＡＸシステムなど、符号化を伴う静止画像データのストレージを行う上での、データハンドリングに関する。
【背景技術】
【０００２】
静止画像データのストレージを行う画像処理装置では、“記憶媒体のメモリ容量削減”、“ストレージ容量の拡大”を目的として、画像データに符号化圧縮を施す場合が多い。ＬＺＷやＰＮＧのように、画質劣化が生じない可逆方式も利用されるが、“画像によって圧縮率が変化すること”や“圧縮率に限界があること”から、常に一定した圧縮率にて画像データをストレージする必要があるシステムでは、ＪＰＥＧのような非可逆方式が利用されている。
【０００３】
本発明の主なターゲットであるプリンタシステムでは、ページスプール用メモリのデータフォーマットに符号化データが利用されることが多い。このメモリは出力用データの速度変換や電子ソート機能の実現にも利用されることから、最低必要となるストレージ容量が決まっている。よって、必要とする所望の圧縮率（以下、ターゲット圧縮率）に合わせて、画像データを符号化しなければばらない。ターゲット圧縮率は、そのシステムの画像品質（高圧縮になると画質劣化大）とコスト（大メモリ容量になるとコスト高）との兼ね合いにより決められており、ターゲット圧縮率よりも圧縮率が大きくなることも小さくなることも良くない。つまり、多少のマージンは取ったとしても、ターゲット圧縮率に等しく符号化しなければいけない。
【０００４】
非可逆の符号化方式は、一般的にユーザー可変の符号化パラメータが準備されており、圧縮率を調整できるようにしてある。（JPEGで云うとQ-Table（量子化テーブル））しかし、同じパラメータでも画像データによって圧縮率は異なるために、ターゲット圧縮率に等しく符号化するには、パラメータを変えつつ試行を繰り返すことで、画像データに適切なパラメータを探索しなければならない。そのため、符号化処理を何度も繰り返すことになり、処理時間が増大する。最近では、このことを改良すべく、適切な符号化パラメータを効率良く探索し、処理時間を削減させるための方法が、数多く考案されるようになった。（例として、特許文献１参照のこと）
符号化の方法も、ある方式でターゲット圧縮率を達成するように符号化されたデータを、別の方式で更に符号化する、二段構成の符号化を行うシステムも考案されるようになった。（例えば、特許文献２参照のこと）このシステムは、第一の方式を非可逆、第二の方式を可逆方式とした場合、先ず圧縮率を調整できる非可逆方式にてターゲット圧縮率を達成したあと、画質劣化が生じない可逆方式にて更に符号化することで圧縮率を限界まで高めることが目的である。つまり、非可逆方式の圧縮率が可変であると云う特徴を残しつつ、画質劣化のある非可逆方式だけで符号化するのではなく、可能な限り可逆方式にて符号化することで、圧縮率から判断して比較的に画質劣化が少ない符号データが生成できることを特徴としている。
【０００５】
以上のような、符号化を伴う静止画像データのストレージを行う上での、データハンドリングに関する技術を背景として、本発明の説明を行う。
【特許文献１】特開２００４−１９４１５６号公報
【特許文献２】特許第３３７６８７０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
背景技術にあるように、二段構成の符号化を行うシステムは、圧縮率の調整が可能でありながら、非可逆方式だけでなく、可能な限り可逆方式にて符号化することで、圧縮率から判断して比較的画質劣化を少なくするメリットがある。しかし、二段構成の符号化を行うことは、１つの方式で符号化を行う場合と比べて、符号化に要する時間が長くなる。その結果、画像データが入力される所要時間より符号化に要する時間の方が長くなる場合があり、符号化の所要時間が原因となって、システム全体のパフォーマンスが低下する問題がある。二段構成の符号化を行って画像データをストレージするシステムは、既存の技術としていくつか挙げられるが、所要時間の削減に関するものは現在のところ見当たらない。
【０００７】
よって、符号化の所要時間が原因となって、システム全体のパフォーマンスを低下させることがないように、画像データが入力されるときの所要時間よりも、短い時間で二段構成の符号化を行うシステムを提供する。
【課題を解決するための手段】
【０００８】
画像データを入力する“画像データ入力手段”と、入力された画像データを分割する“画像データ分割手段”と、分割された画像データを符号化する“一次符号化手段”と、一次符号化手段により符号化されたデータが所望の圧縮率を達成しているかを判断する“一次符号データ判定手段”と、一次符号化手段により符号化されたデータを更に符号化する“二次符号化手段”と、符号化されたデータを蓄積する“符号データ蓄積手段”と、符号データを元の画像データに戻す“伸張手段”と、画像データを出力する“画像データ出力手段”を具備する画像処理装置に於いて、
画像データが入力されるときの所要時間の長さに依存して二次符号化を行うかどうかを判断する“二次符号化実行判定手段”を、追加することを特徴とする。
【発明の効果】
【０００９】
本発明の画像処理装置は、画像データの入力されるときの所要時間に依存して、二段目の符号化を行うかどうかを決定する。画像データが入力されるときの所要時間が長く、符号化する時間が十分にあれば一段目の符号化のあとに二段目の符号化を行い、画像データの入力されるときの所要時間が短く、符号化する時間が十分になければ一段目の符号化のみ行い二段目の符号化は行わない。つまり、常に二段目の符号化を行う訳ではなく、適宜判断して二段目の符号化を行うと云う方法で、画像データが入力されるときの所要時間よりも、短い時間で符号化を行うことを保障する。このことで、二段構成の符号化が原因となり、システム全体のパフォーマンスを低下させる問題点を解決した、画像処理装置を提供することができる。
【００１０】
また、本発明の画像処理装置は、ハードウェアとソフトウェアの何れに於いても、従来の画像処理装置からの変更点は少なく、実施する上での障害は少ない。
【発明を実施するための最良の形態】
【００１１】
次に、本発明の詳細を実施例の記述に従って説明する。
【実施例１】
【００１２】
ホスト(ＰＣ)とプリンタ装置、それらを接続するネットワークを含めたプリンタシステムにて、プリンタ装置がプリント動作を行う様子を説明する。
【００１３】
図１上部のイラストは、プリントシステムの全体イメージであり、“ホスト(ＰＣ)１００”と“本発明の画像処理装置(プリンタ装置)１２０”が、“ネットワーク１１０”を経由して接続されていることを表している。図１下部のブロック図は、プリント動作の処理フローである。“ホスト１００“にてユーザーによる“プリント動作スタート１０１”のアクションが発生してから、“ネットワーク１１０”を経由して画像データが転送され、“本発明の画像処理装置１２０”にて“プロット出力１２９“が開始されるまで、を表している。
【００１４】
本発明の画像処理装置の従来技術と異なる部分は、“本発明の画像処理装置１２０”の“ＰａｇｅＳｐｏｏｌ１２７”である。この部分は、画像データ（ビットマップデータ）や属性データ（画像特性を識別する）をページメモリにストレージすることを行い、ページスプールと呼ばれる。
【００１５】
第一に、プリンタ装置に於いて、ページスプールが必要な理由を説明する。ページスプールが行われる理由は多くあるが、その一つである高速両面印字（プロット）を取り上げ、ページスプールの必要性を説明する実施例とする。
【００１６】
（高速両面印字（プロット）の説明）
プリンタ装置では、複数枚の画像出力メディア（定形ペーパー）への両面プロットを高速で行うために、ホストから転送されてくる画像データ順にプロット出力せずに、ペーパーのハンドリングを機械構造的に工夫して、プロット出力の順序を並び替える場合が多い。しかし、ホストから転送されてくる画像データの順序は替えられないことから、プロット出力順序を並べ替えるには、ページスプールすることが必要である。
【００１７】
図２は、画像データが“ホストから転送される順序”と“プロット出力の順序”が同じである場合を比較している。ホストから転送される画像データをダイレクトにプロット出力しているので、ページスプールを行う必要がない。“ブランク”と表記しているところは、データが受け取れないのでホストを待たせている状態、“※枚目裏返し（※は数字）”と記載しているところは、プロット出力するペーパーの表面と裏面をひっくり返す動作をしている状態、のことである。但し、ホストからのデータとプロット出力するデータの転送速度は通常異なり、その違いを吸収する速度変換バッファなるメモリは必要であるが、主旨である画像データストレージという意味とは異なるので、今回の説明では考えないでおく。
【００１８】
図３は、プロッタの出力速度を最大限に利用して、高速の両面プロットを実現しようと試み、ペーパーのハンドリングを機械構造的に工夫した装置に於いて、画像データが“ホストから転送される順序”と“プロット出力の順序”を比較している。図２では、“※枚目裏返し”の動作をしている最中はプロット出力を行わず、ホストからのデータ転送も待たせている。図３は、このプロット出力がブランク状態になっている期間も、無駄なくプロット出力させるために、“※枚目裏返し”の動作をしている最中も、別のペーパーにプロット出力できるように、プロット出力の順序を並べ替えている。このことで、“ホストから転送される順序と”プロット出力の順序“が異なってしまい、ページスプールを行う必要がある。このプロット出力の順序では、最低でも１ページ分のメモリを搭載したページスプールを行う必要がある。
【００１９】
図４は、参考までに、この装置のページメモリが１ページ分であった場合について、ページメモリの内容を時系列に記載している。
【００２０】
第二に、図１を利用して、動作フローを時系列に説明する。この動作フローは、本発明の画像処理装置と従来技術ともに同じであり、一般的なプリント動作である。本発明の画像処理装置が従来技術と異なる部分である“ＰａｇｅＳｐｏｏｌ１２７”については、従来技術を比較して説明するために後述する。ここでは単にページスプールを行うとして扱い、ブラックボックスとしておく。
【００２１】
（プリント動作のフロー説明）
i）最初に、“ホスト１００”がアイドリング状態にあるとき、ユーザーにより“プリント動作スタート１０１”のアクションが発生したと仮定する。
【００２２】
ii）“ホスト１００”は、“ＰＤＬ１０２”にて、出力画像情報をプリンタ言語(ＰＤＬ)で表現したデータを生成する。これはＰＤＬデータと呼び、画像情報をオブジェクトに分解し、それらオブジェクトの原稿位置や前後関係などを言語化したものである。画像データをプロット出力するには、画像データをラスタ形式のビットマップデータに変換する必要があるが、データ転送効率の関係からＰＤＬデータをネットワークに転送する機種がある。このことは、ホスト外の画像処理装置にてデータ変換処理を行わせ、ホスト負荷を軽減させる効果も兼ねている。本実施例の画像処理装置も含まれるが、特に業務用のハイエンドプリンタに多く見られる。
【００２３】
iii）“ホスト１００”は、生成されたＰＤＬデータを“メモリ１０３”に一旦蓄積したあと、“ネットワークＩ／Ｆ１０４”にてネットワークへ送信する。
【００２４】
iv）“ＰＤＬ転送１１１”は、“ホスト１００”から送信されたＰＤＬデータが、“ネットワーク１１０”を経由して、“本発明の画像処理装置１２０”へ転送されることを表している。
【００２５】
ｖ）“本発明の画像処理装置１２０”は、ネットワークから転送されてきたＰＤＬデータを“ネットワークＩ／Ｆ１２１“にて受信し、”メモリ１２２“に一旦蓄積する。
【００２６】
vi）“本発明の画像処理装置１２０”は、蓄積したＰＤＬデータを”ＤＬＧ１２３“にてディスプレイリストに変換し、”メモリ１２４“に蓄積する。ディスプレイリストとは、プロット出力するために必要なビットマップデータを生成するための中間フォーマットであり、レンダリングする画像パターンやレンダリングする順序などを記載する。
【００２７】
vii）“本発明の画像処理装置１２０”は、蓄積したディスプレイリストを“ＲＩＰ１２５”にて、ビットマップデータに変換（レンダリング）し、“メモリ１２６”に蓄積する。レンダリングは、ディスプレイリストに記載されている画像パターンを、ラスタ形式の画像データとしてメモリ上に展開、複数ある場合は順番に上書きして展開することで、オブジェクトの前後関係も考慮したビットマップデータ（画像データ）を生成する。また、画像データの特性情報を画素単位で保持している属性データという付加データもここで生成され、ビットマップデータ同様に“メモリ１２６”に蓄積する。属性データは、色変換や中間調処理などの画質に関わる画像処理で利用される。
【００２８】
viii）“本発明の画像処理装置１２０”は、蓄積したビットマップデータ（画像データ）と属性データを“ＰａｇｅＳｐｏｏｌ１２７”にて、ページスプールする。本発明の画像処理装置の特徴は、この部分に関することである。後述にて従来技術と比較して説明するために、ここでは単にページスプールを行うとしておく。
【００２９】
ix）“本発明の画像処理装置１２０”は、ページスプール後のビットマップデータ（画像データ）に“画像処理１２８”を行う。
【００３０】
画像処理について、実施例を一つ挙げて説明する。図５は、実施例として挙げる画像処理の内部処理フローである。図５を利用して、実施例として挙げる画像処理について説明する。“フィルタ５０２”にて、入力するＲＧＢの画像データにフィルタ処理をする。フィルタ処理とは、画像データの周波数を変調させる事で、画像のエッジ部分を強調したり、画像全体を平滑化したりする。また、フィルタ強度や強調するか平滑化するかの切り換えを、画像特性を識別する属性データを利用して、画像領域毎に逐次行う場合がある。例えば、テキスト領域であれば画像を強調して文字をシャープに再現させ、イメージ領域であれば画像を平滑化して写真をスムーズに再現させる。画像のエッジ部分とは、画像データの輝度が急峻に変化する部分であり、文字や線画の輪郭部分などがそれに相当する。“色変換５０３”にて、ＲＧＢ空間の画像データを、ＣＭＹＫ空間の画像データに変換する。“γ補正５０４”にて、画像データにγ補正する。実際に画像出力を行うプロッタは、入力画像データのディジタル値の大きさに正比例する出力濃度が得られず、歪のあるγ特性となっている。このγ特性の歪を補正する。“中間調処理５０５”にて、画像データを量子化する。画像データのディジタル値の階調数に比べて、プロッタ出力の階調数が少ないので、画像データに量子化を行う。量子化された画像データは、プロットデータとして出力する。
【００３１】
ｘ）“本発明の画像処理装置１２０”は、画像処理が終わると“プロット出力１２９”の動作を開始する。
【００３２】
第三に、プリント動作のフロー説明で敢えて省略した、図１の“ＰａｇｅＳｐｏｏｌ１２７”について、“従来技術の画像処理装置”と“本発明の画像処理装置”のページスプールを説明する。始めに“従来技術の画像処理装置”、次に“本発明の画像処理装置”を説明する。
【００３３】
（従来技術の画像処理装置のページスプール）
図６は、従来技術の画像処理装置でのページスプールの内部処理フローである。図６を利用して説明する。
【００３４】
ｉ）“画像データ入力手段６０１”から画像データが入力されると、“画像データ分割手段６０２”は、図８のように画像フレームを横帯状（バンド）に画像データを分割する。
【００３５】
ii）“一次符号化手段６０３”は、分割された画像データを非可逆方式で符号化する。背景技術の説明にて紹介したが、プリンタ装置に最低必要なページスプールする画像データの枚数は決まっており、画像データに行う圧縮率（ターゲット圧縮率）も決まっている。そのため、圧縮率を調整する必要があることから、非可逆方式の符号化が行われる。非可逆方式の符号化は、符号化パラメータにより圧縮率が調整できるようになっている。圧縮率が高くなると画質劣化が大きくなり、圧縮率が低くなると画質劣化が小さくなる。ターゲット圧縮率を達成し、より画質劣化が少なくなるような最適な符号化パラメータを決定するには、符号化パラメータを変更しながら、繰り返し符号化を行うことで決定する。よって、圧縮率の低い符号化パラメータ（画質劣化が少ない）から順に使用するようにする。符号化方式の具体的な実施例は、後述の“非可逆符号化方式の実施例”にて説明する。
【００３６】
iii）“一次符号データ判定手段６０４”は、符号化されたデータの圧縮効率を定量化する圧縮率（＝画像データ量（オリジナル画像データ量）／符号データ量）を算出し、ターゲット圧縮率を達成していることを確認する。ターゲット圧縮率を達成できている場合は、そのまま次の工程へ進む。達成できていない場合は、“一次符号化手段６０３”の符号化パラメータを、圧縮率が高くなるように設定し直し、“一次符号化手段６０３”にて画像データを符号化するところからやり直す（以下、リトライする）。図６で云うと“一次符号データ判定手段６０４”から“一次符号化手段６０３”への破線矢印のパスとなる。このリトライする動作を繰り返すことにより、最終的な符号化パラメータを決定する。
【００３７】
ターゲット圧縮率は、画像データをページメモリ内に収めるために必要な圧縮率のことであるが、ターゲット圧縮率を達成しなければシステムは破綻する。プリンタ装置のターゲット圧縮率は、コストと画質のトレードオフにより決定される。コストを重視してページメモリの容量を削減すると、ターゲット圧縮率が高くなり画質が悪くなる。逆に、画質を重視してターゲット圧縮率は低くして画質を良くすると、必要となるページメモリ容量が増大してコストが高くなる。画質劣化の無い可逆方式は、エントロピー以上の圧縮率は見込めないし、実際に必要なターゲット圧縮率はそれよりも高い場合が多い。更に、可逆方式は画像データによって圧縮率が大きく変化し、圧縮率を調整することも殆ど不可能である。よって、可逆方式の符号化のみでターゲット圧縮率を達成させることは不可能であり、必ず非可逆方式の符号化が必要である。
【００３８】
iv）“二次符号化手段６０６”は、“一次符号化手段６０３”により符号化されたデータを、更に可逆方式で符号化する。“二次符号化手段６０６”の符号化方式は、“一次符号化手段６０３”の符号データを正確に伸張する必要があるので、情報の劣化の無い可逆方式に限定する。符号化方式の具体的な実施例は、後述の“可逆符号化方式の実施例”にて説明する。
【００３９】
ｖ）“符号データ蓄積手段６０７”は、“二次符号化手段６０６”にて符号化されたデータを蓄積する。
【００４０】
vi）“伸張手段６０８”は、“二次符号化手段６０６”により符号化されたデータを伸張して画像データに戻し、“画像データ出力手段６０９”へ画像データを出力する。
【００４１】
（本発明の画像処理装置のページスプール）
図７は、本発明の画像処理装置でのページスプールの内部処理フローである。図７を利用して説明する。
【００４２】
ｉ）“画像データ入力手段７０１”から画像データが入力されると、従来技術の画像処理装置同様に、“画像データ分割手段７０２”は、図７のように画像フレームを横帯状（バンド）に画像データを分割する。
【００４３】
ii）“一次符号化手段７０３”は、従来技術の画像処理装置同様に、分割された画像データを非可逆方式で符号化する。符号化方式の具体的な実施例は、後述の“非可逆符号化方式の実施例”にて説明する。
【００４４】
iii）“一次符号データ判定手段７０４”は、従来技術の画像処理装置同様に、符号化されたデータの圧縮率を算出し、ターゲット圧縮率を達成していることを確認する。ターゲット圧縮率を達成できている場合は、そのまま次の工程へ進む。達成できていない場合は、“一次符号化手段７０３”の符号化パラメータを、圧縮率が高くなるように設定し直し、“一次符号化手段７０３”にて画像データを符号化するところからやり直す（以下、リトライする）。図７で云うと“一次符号データ判定手段７０４”から“一次符号化手段７０３”への破線矢印のパスとなる。このリトライする動作を繰り返すことにより、最終的な符号化パラメータを決定する。
【００４５】
iv）“二次符号化実行判定手段７０５”は、“画像データ入力手段７０１”より画像データが入力されるときの所要時間により、一次符号化が終了した時点で、二次符号化を行う時間的余裕を考慮して、次工程の“二次符号化手段７０６”を実行するか、それとも二次符号化を行わずに符号データを“符号データ蓄積手段７０７”に蓄積するかを判断する。
【００４６】
“画像データ入力手段７０１”より画像データが入力されるときの所要時間とは、本実施例の画像処理装置で云うと、図１の“ＲＩＰ１２５”がレンダリングしてビットマップデータ（画像データ）を生成する時間になる。“ＲＩＰ１２５”にてレンダリングしたビットマップデータが、直接“ＰａｇｅＳｐｏｏｌ１２７”に入るのではなく、“メモリ１２６”を速度変換用のバッファとして介在させている。しかし、“ＰａｇｅＳｐｏｏｌ１２７”にて符号化しているバンドデータの次のバンドデータは、“ＲＩＰ１２５”にてレンダリングされている。そのレンダリングが終了するまでは、“ＰａｇｅＳｐｏｏｌ１２７”は同じバンドデータを符号化することに時間を要しても、システム全体の動作に障害を与えることはない。つまり、符号化しているバンドデータの前のバンドデータをレンダリングしている時間が、符号化に利用できる時間（画像データが入力されるときの所要時間）と云える。
【００４７】
図９は、横棒の長さが時間を表すグラフを使って、レンダリングしている時間が長いときと短いときに行える符号化を比較している。レンダリングしている時間は、レンダリングを開始するときに予め見積もることができる。また、この“二次符号化実行判定手段７０５”は、“一時符号化手段７０３”のあとに行うので、一次符号化に要した時間もこの時点で判っている。よって、符号化に利用できる時間を算出できるので、“二次符号化実行判定手段７０５”は、この時間が二次符号化を実行するのに十分か不十分かを判断している。但し、二次符号化に要する時間は、予め設定しておく必要がある。
【００４８】
ｖ）“二次符号化手段７０６”は、“二次符号化実行判定手段７０５”にて二次符号化を実行すると判断した場合、“一次符号化手段７０３”により符号化されたデータを、更に可逆方式で符号化する。“二次符号化手段７０６”の符号化方式は、“一次符号化手段７０３”の符号データを正確に伸張する必要があるので、情報劣化のない可逆方式に限定する。符号化方式の具体的な実施例は、後述の“可逆符号化方式の実施例”にて説明する。
【００４９】
vi）“符号データ蓄積手段７０７”は、“一次符号化手段７０３”にて符号化されたデータ、もしくは、その符号データを“二次符号化手段７０６”にて更に符号化されたデータを蓄積する。
【００５０】
vii）“伸張手段７０８”は、“二次符号化手段７０６”により符号化されたデータを伸張して画像データに戻し、“画像データ出力手段７０９”へ画像データを出力する。
【００５１】
（可逆符号化方式の実施例）
可逆方式の実施例として、Huffman符号を取り上げる。
【００５２】
Huffman符号は、出現頻度を考慮して文字に符号を割り当てる。文字列“ＡＡＡＢＣＡＡＡＢＤ”の各文字の出現頻度は、図１０の“出現頻度表１００１”のようになる。Huffman符号では、出現頻度の低い文字からbitを割り当てる。出現頻度の低い２つを探し、０と１に割り振る。先ずは、CとDに、０と１を割り当てる。（図１０の出現頻度表１００２参照）CとDの出現頻度は合わせて２であり、CとDは出現回数２のCDと云う組として扱う。次に、出現回数が低いのは、BとCDであり、BとCDに、０と１を割り当てる。（図１０の出現頻度表１００３参照）ここで、BCDを１つの組として扱い、最後に、AとBCDに０と１を割り当てる。（図１０の出現頻度表１００４参照）以上が、Huffman符号のbit割り当ての例である。
【００５３】
また、図１１の“出現頻度の木１１０１”のような“木”を利用しても、同様の結果が得られる。左の枝に０、右の枝に１、を割り当てて符号bitを決定すると、図１１の“枝へのbit割り当て１１０２”のようになる。これを利用して“ＡＡＡＢＣＡＡＡＢＤ”の文字列を符号化すると、“０００１０１１００００１０１１１”という符号になる。
【００５４】
（非可逆方式の実施例）
非可逆方式の実施例として、標準静止画符号化方式であるＪＰＥＧのモデル化部分を取り上げる。
【００５５】
ＪＰＥＧは、図１２のように、前段の“モデル化部１２０２”と後段の“符号化部１２０３”の２段に分かれている。前段のモデル化部は、画像データをＤＣＴにて周波数分解し、冗長な周波数帯域を量子化することで、データ圧縮を行う。後段の符号化部は、更にこのデータをHuffman符号・算術符号と云ったエントロピー符号化し、データ圧縮を行う。何れも独立したデータ圧縮が行える符号化手法である。前段のモデル化部分は、非可逆符号化であり、圧縮率の調整も行えるので、本発明の画像処理装置の非可逆方式として適している。
図１３は、ＪＰＥＧのモデル化部の内部処理をブロック化している。これに沿って説明する。
【００５６】
“ＲＧＢ → ＹＣＣ変換１３０２”にて、入力する画像データのフォーマットを、ＲＧＢからＹＣｂＣｒに変換する。ＹＣｂＣｒは、輝度Ｙと色差ＣｂとＣｒを分解して表現する。具体的な変換式は次のように表される。
【００５７】
Ｙ   =   0.29900×Ｒ＋0.58700×Ｇ＋0.11400×Ｂ
Ｃｂ = −0.16874×Ｒ−0.33126×Ｇ＋0.50000×Ｂ＋0x80
Ｃｒ =   0.50000×Ｒ−0.41869×Ｇ−0.08131×Ｂ＋0x80
※ 0≦Ｒ≦0xFF，0≦  Ｇ≦0xFF，0≦  Ｂ≦0xFF
0≦Ｙ≦0xFF，0≦Ｃｂ≦0xFF，0≦Ｃｒ≦0xFF
“サンプリング１３０３”にて、図１４のように、先ず、８×８画素単位のブロックに画像データを分割する。ＪＰＥＧはこのブロック単位で符号化を行う。次に、ブロック単位で、画像データの色差成分であるＣｂＣｒに対して、サンプリング（間引き処理）を行う。色差成分は輝度成分に比べて、画質劣化に対する人間の視覚感度が低く、データをサンプリングしても比較的影響が少ないとされている。図１５の“１５０１”は、ＹＣｂＣｒの各コンポーネントのデータ量が均等であることを表しており、サンプリング前のデータを指している。“１５０２”は、Ｙ成分はそのままで、ＣｂＣｒ成分を１／２にサンプリングしたデータであり、ＣｂＣｒ成分の各データ量が１／４になっていることが判る。“１５０３”は、Ｙ成分はそのままで、ＣｂＣｒ成分を１／４にサンプリングしたデータであり、ＣｂＣｒ成分の各データ量が１／１６になっていることが判る。
【００５８】
“ＤＣＴ１３０４”にて、ブロック単位で画像データにＤＣＴを行い、サブサンプリングする。ＤＣＴとは、直交変換の一種である離散コサイン変換であり、画像データを周波数成分に分解して表す。具体的な変換式は次のように表される。
【００５９】
F(u,v)= 
1/4C(u)C(v)Σ(i=0-7)Σ(j=0-7)X(i,j)cos((2i+1)uπ/16)cos((2i+1)uπ/16)
C(u)C(v) = 1/root(2) (u=v=0) ，1 (otherwise)
ブロック単位にＤＣＴを施されサブサンプリングされた画像データは、図１６のように４つの周波数成分に分解される。“１６０１”は８×８画素ブロックのＤＣＴを施される前の画像データを表している。一番小さな四角形が位置画素を示している。“１６０２”は、ＤＣＴが施されサブサンプリング後のデータを表している。ＬＬ，ＨＬ，ＬＨ，ＬＬと４領域に分解されることが判る。Ｌ文字は低周波成分、Ｈ文字は高周波成分を意味している。ＬＬとかＨＬのように○×となっているのは、○の部分の文字は横方向、×の部分の文字は縦方向のＤＣＴ変換を行ったと云う意味である。
【００６０】
“量子化１３０５”にて、ブロック単位で図１６の“１６０２”のように変換されたデータを、量子化することで画像データの圧縮を行う。ＬＬ成分の量子化階調を削減すれば低周波成分の画像が劣化し、ＨＨ成分の量子化階調を削減すれば高周波成分の画像が劣化する。一般的には、高周波成分は低周波成分に比べて、画質劣化に対するに人間の視覚感覚が低く、データを量子化しても比較的影響が少ないとされている。図１７にあるのが量子化テーブル（Q-Tableとも云う）と云われる、ブロック内各ビットの量子化の程度を決定するパラメータである。各ビットのデータを、それぞれ対応する量子化テーブル値で割ることで量子化する。“量子化テーブル１７０１”に比べ“１７０２”の方が全体的に数値が大きい。つまり、画像データを大きな数値で割り、量子化階調数が少なくなるので、圧縮率が大きくなる。その反面、画質劣化も大きくなる。この量子化テーブルにより、JPEGは圧縮率と画像品質のトレードオフを調整することが可能となっている。ここまでが、JPEGのモデル化部分である。
【００６１】
実際は、量子化後のデータに対して、Huffman符号や算術符号と云ったエントロピー符号化を行い、更にデータ圧縮を図る。これらエントロピー符号化は可逆方式であり、圧縮率の調整機構を持っていない。よって、Q-TableはJPEGの唯一の圧縮率を調整するパラメータである。
【図面の簡単な説明】
【００６２】
【図１】本発明の画像処理装置の実施例
【図２】ページスプールを行わない場合のプロット出力の順序
【図３】ページスプールを行う場合のプロット出力の順序
【図４】ページメモリの内容
【図５】画像処理構成図
【図６】従来技術の画像処理装置の符号化器と伸張器の処理フロー
【図７】本発明の画像処理装置の符号化器と伸張器の処理フロー
【図８】画像フレームの横帯状（バンド）分割イメージ
【図９】レンダリングしている時間によって替わる符号化説明図
【図１０】Huffman符号の実施例を説明する出現頻度表
【図１１】Huffman符号の実施例を説明する符号木、及び、そのビットアサイン方法
【図１２】ＪＰＥＧ構成図
【図１３】ＪＰＥＧのモデル化部の内部処理ブロック図
【図１４】画像フレームのブロック分割イメージ
【図１５】ＹＣｂＣｒサンプリング説明図
【図１６】ＤＣＴ説明図
【図１７】ＪＰＥＧの量子化テーブル(Q-Table)説明図
【図１】
2007159028.tif 000003
【図２】
2007159028.tif 000004
【図３】
2007159028.tif 000005
【図４】
2007159028.tif 000006
【図５】
2007159028.tif 000007
【図６】
2007159028.tif 000008
【図７】
2007159028.tif 000009
【図８】
2007159028.tif 000010
【図９】
2007159028.tif 000011
【図１０】
2007159028.tif 000012
【図１１】
2007159028.tif 000013
【図１２】
2007159028.tif 000014
【図１３】
2007159028.tif 000015
【図１４】
2007159028.tif 000016
【図１５】
2007159028.tif 000017
【図１６】
2007159028.tif 000018
【図１７】
2007159028.tif 000019