(57)【要約】【課題】ＰＳデータの描画方向を適切に判定することのできる画像形成装置、画像処理方法、及び画像処理プログラムの提供を目的とする。【解決手段】ＰＳデータに基づいて画像を形成する画像形成装置であって、前記ＰＳデータにおけるＣＴＭに基づいて当該ＰＳデータの描画方向を判定する判定手段を有することにより上記課題を解決する。【選択図】図２
2008211390.tif 000002
【特許請求の範囲】
【請求項１】
ＰＳデータに基づいて画像を形成する画像形成装置であって、
前記ＰＳデータにおけるＣＴＭに基づいて当該ＰＳデータの描画方向を判定する判定手段を有することを特徴とする画像形成装置。
【請求項２】
前記判定手段は、ＣＴＭ［ａ  ｂ  ｃ  ｄ  ｔｘ  ｔｙ］において、ｂ及びｃの値が０の場合、当該ＣＴＭが適用される描画オブジェクトは縦長であると判定し、ａ及びｄの値が０の場合、当該ＣＴＭが適用される描画オブジェクトは横長であると判定し、当該判定結果に基づいて当該描画オブジェクトが含まれるページの描画方向を判定することを特徴とする請求項１記載の画像形成装置。
【請求項３】
前記判定手段は、一つのページ内において最初に処理される描画オブジェクトのＣＴＭによって判定される描画方向を当該ページの描画方向として判定することを特徴とする請求項２記載の画像形成装置。
【請求項４】
前記判定手段は、一つのページ内における各描画オブジェクトの描画方向を当該描画オブジェクトのＣＴＭに基づいて判定し、描画方向ごとの描画オブジェクトの総数が多い方の描画方向を当該ページの描画方向として判定することを特徴とする請求項２記載の画像形成装置。
【請求項５】
前記判定手段は、一つのページ内における各描画オブジェクトの描画方向を当該描画オブジェクトのＣＴＭに基づいて判定し、各描画オブジェクトの大きさを算出し、描画方向ごとの描画オブジェクトの大きさの合計値が大きい方の描画方向を当該ページの描画方向として判定することを特徴とする請求項２記載の画像形成装置。
【請求項６】
前記判定手段は、一つのページ内における各描画オブジェクトの描画方向を当該描画オブジェクトのＣＴＭに基づいて判定し、各描画オブジェクトの大きさを算出し、当該ページ内において最も大きな描画オブジェクトの描画方向を当該ページ描画方向として判定することを特徴とする請求項２記載の画像形成装置。
【請求項７】
ＰＳデータに基づいて画像を形成する画像形成装置が実行する画像処理方法であって、
前記ＰＳデータにおけるＣＴＭに基づいて当該ＰＳデータの描画方向を判定する判定手順を有することを特徴とする画像処理方法。
【請求項８】
前記判定手順は、ＣＴＭ［ａ  ｂ  ｃ  ｄ  ｔｘ  ｔｙ］において、ｂ及びｃの値が０の場合、当該ＣＴＭが適用される描画オブジェクトは縦長であると判定し、ａ及びｄの値が０の場合、当該ＣＴＭが適用される描画オブジェクトは横長であると判定し、当該判定結果に基づいて当該描画オブジェクトが含まれるページの描画方向を判定することを特徴とする請求項７記載の画像処理方法。
【請求項９】
前記判定手順は、一つのページ内において最初に処理される描画オブジェクトのＣＴＭによって判定される描画方向を当該ページの描画方向として判定することを特徴とする請求項８記載の画像処理方法。
【請求項１０】
前記判定手順は、一つのページ内における各描画オブジェクトの描画方向を当該描画オブジェクトのＣＴＭに基づいて判定し、描画方向ごとの描画オブジェクトの総数が多い方の描画方向を当該ページの描画方向として判定することを特徴とする請求項８記載の画像処理方法。
【請求項１１】
前記判定手順は、一つのページ内における各描画オブジェクトの描画方向を当該描画オブジェクトのＣＴＭに基づいて判定し、各描画オブジェクトの大きさを算出し、描画方向ごとの描画オブジェクトの大きさの合計値が大きい方の描画方向を当該ページの描画方向として判定することを特徴とする請求項８記載の画像処理方法。
【請求項１２】
前記判定手順は、一つのページ内における各描画オブジェクトの描画方向を当該描画オブジェクトのＣＴＭに基づいて判定し、各描画オブジェクトの大きさを算出し、当該ページ内において最も大きな描画オブジェクトの描画方向を当該ページ描画方向として判定することを特徴とする請求項８記載の画像処理方法。
【請求項１３】
請求項７乃至１２いずれか一項記載の画像処理方法をコンピュータに実行させるための画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置、画像処理方法、及び画像処理プログラムに関し、特にＰＳデータに基づいて画像を形成する画像形成装置、画像処理方法、及び画像処理プログラムに関する。
【背景技術】
【０００２】
アプリケーションソフトによって作成された文書を印刷する場合、当該文書は、プリンタドライバによって印刷先のプリンタが解釈可能なプリンタ言語による印刷コマンドに変換される。プリンタは、当該プリンタ言語による印刷コマンドを解釈することにより、文書の印刷画像を生成し、当該印刷画像を印刷用紙に印字する。
【０００３】
ところで、文書をどのような方向で印刷用紙に印字すべきであるかという問題は、印刷された文書の取り扱いの利便性等の観点より重要である。かかる問題について、従来、様々な技術が提案されている（例えば、特許文献１）。
【特許文献１】特開平１１−７０７０５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、プリンタ言語の一つとして普及しているＰＳ（Post Script）言語は、文書を描画する際の原点や描画回転角度を自由に設定できる等、描画に関する自由度が高い。したがって、プリンタにおいて文書の描画方向を判定するのが困難であるという問題がある。文書の描画方向が判定できなければ、そもそも当該文書をどのような方向で印字すべきかを判断することができない。
【０００５】
本発明は、上記の点に鑑みてなされたものであって、ＰＳデータの描画方向を適切に判定することのできる画像形成装置、画像処理方法、及び画像処理プログラムの提供を目的とする。
【課題を解決するための手段】
【０００６】
そこで上記課題を解決するため、本発明は、ＰＳデータに基づいて画像を形成する画像形成装置であって、前記ＰＳデータにおけるＣＴＭに基づいて当該ＰＳデータの描画方向を判定する判定手段を有することを特徴とする。
【０００７】
このような画像形成装置では、ＰＳデータの描画方向を適切に判定することができる。
【発明の効果】
【０００８】
本発明によれば、ＰＳデータの描画方向を適切に判定することのできる画像形成装置、画像処理方法、及び画像処理プログラムを提供することができる。
【発明を実施するための最良の形態】
【０００９】
以下、図面に基づいて本発明の実施の形態を説明する。図１は、本発明の実施の形態における画像形成装置のハードウェア構成例を示す図である。図１において画像形成装置１０は、コントローラ１１、スキャナ１２、プリンタ１３、モデム１４、ネットワークインタフェース１５、及び操作パネル１６等のハードウェアを有する。
【００１０】
コントローラ１１は、ＣＰＵ１１１、ＲＡＭ１１２、ＲＯＭ１１３、及びＨＤＤ１１４等より構成される。ＲＯＭ１１３には、各種のプログラムやプログラムによって利用されるデータ等が記録されている。ＲＡＭ１１２は、プログラムをロードするための記憶領域や、ロードされたプログラムのワーク領域等として用いられる。ＣＰＵ１１１は、ＲＡＭ１１２にロードされたプログラムを処理することにより、後述される機能を実現する。ＨＤＤ１１４は、各種のデータの保存領域やプログラムの仮想メモリ（記憶）領域として用いられる。
【００１１】
スキャナ１２は、原稿より画像データを読み取るためのハードウェアである。プリンタは１３、画像データ（印刷画像）を印刷用紙に印刷するためのハードウェアである。モデム１４は、電話回線に接続するためのハードウェアであり、ＦＡＸ通信による画像データの送受信を実行するために用いられる。ネットワークインタフェース１５は、ＬＡＮ（Local Area Network）等のネットワーク（有線又は無線の別は問わない。）に接続するためのハードウェアである。操作パネル１６は、ユーザからの入力の受け付けや、ユーザに対する情報の通知等を行うめのボタン、液晶パネル等を備えたハードウェアである。
【００１２】
図２は、本発明の実施の形態における画像形成装置のソフトウェア構成例を示す図である。図２において、画像形成装置１０は、コントロールサービス１１０と、当該コントロールサービス１１０を利用して動作する各種のアプリケーションと等より構成される。
【００１３】
コントロールサービス１１０は、アプリケーションがそれぞれの機能を実現するために共通的に必要とされるサービスを提供するプログラムである。コントロールサービス１１０は、例えば、ネットワーク通信の仲介、ハードウェアの制御、メモリ（ＲＡＭ１１２、ＲＯＭ１１３）やＨＤＤ１１４の制御、操作パネル１６の制御、及びユーザ情報の管理等を行う。
【００１４】
図２には、各種のアプリケーションとして、プリンタアプリ１２０、ＦＡＸアプリ１３０、及びコピーアプリ１４０が示されている。プリンタアプリ１２０は、画像形成装置１０をプリンタとして機能させるためのアプリケーションである。ＦＡＸアプリ１３０は、画像形成装置１０をファクシミリとして機能させるためのアプリケーションである。コピーアプリ１４０は、画像形成装置１０をコピー機として機能させるためのアプリケーションである。
【００１５】
なお、コントロールサービス１１０、プリンタアプリ１２０、ＦＡＸアプリ１３０、コピーアプリ１４０は、ＯＳ（Operating System）１５０上においてそれぞれ異なるプロセスとして動作する。
【００１６】
プリンタアプリ１２０について更に詳しく説明する。プリンタアプリ１２０は、ＰＳインタプリタ１２１及びプリンタシステム１２２より構成される。ＰＳインタプリタ１２１は、プリンタ言語の一つであるＰＳ（Post Script）言語による描画コマンドを解釈及び翻訳し、印刷対象とされた文書の画像データ（印刷画像）を形成（生成）するプログラムである。なお、画像形成装置１０において、ＰＳ言語以外のプリンタ言語（例えば、ＰＣＬ（Printer Control Language）等）を解釈するためのインタプリタが別途実装されていてもよい。
【００１７】
プリンタシステム１２２は、ネットワークを介して接続されるＰＣ（Personal Computer）等のホストコンピュータより転送される印刷データ（印刷コマンド）の受信に応じ、印刷データに係る文書の印刷ジョブの実行を制御する。プリタシステム１２２は、印刷データがＰＳ言語によるものである場合（以下「ＰＳデータ（ポストスクリプトデータ）」という。）、ＰＳデータに含まれている描画コマンドに応じた印刷画像の生成をＰＳインタプリタ１２１に実行させる。生成された印刷画像は、プリンタシステム１２２に出力され、プリンタシステム１２２の制御に基づいてプリンタ１３によって印刷される。
【００１８】
ところで、ＰＳインタプリタ１２１は、描画方向判定部１２１１を有する。描画方向判定部は、文書が描画されている方向（Ｏｒｉｅｎｔａｔｉｏｎ）が、Ｌａｎｄｓｃａｐｅ（横長）であるか、Ｐｏｒｔｒａｉｔ（縦長）であるかを判定する。
【００１９】
図３は、文書の描画方向を説明するための図である。図３では「ＡＢＣＤＥ」という文字列を描画要素（描画オブジェクト）とする文書が例とされている。図中（Ａ）では「ＡＢＣＤＥ」という文字列が横方向に描画されている。この場合、文書の描画方向はＬａｎｄｓｃａｐｅ（横方向）であると考える。一方、（Ｂ）では「ＡＢＣＤＥ」という文字列が縦長に描画されている。この場合、文書の描画方向はＰｏｒｔｒａｉｔ（縦長）であると考える。
【００２０】
描画方向判定部１２１１によって判定された描画方向は、生成された印刷画像と共にプリンタシステム１２２に出力される。したがって、プリンタシステム１２２では、印刷画像中において文書がどの方向に描画されているのか（すなわち、印刷画像の方向）を判定することができ、印刷用紙に対して適切な方向に印刷画像を印刷することができる。
【００２１】
但し、ＰＳデータに基づいて、文書の方向を判定するのは困難である。ＰＳ言語の仕様にＯｒｉｅｎｔａｔｉｏｎという概念が無いからである。そこで、本願発明者は、描画方向判定部１２１１を実現すべく独自に調査を行った。その結果、ＰＳ言語において描画方向の判定に利用し得るパラメータの候補として、ＤＳＣコメント、ＰａｇｅＳｉｚｅ［Ｘ  Ｙ］指定、及びＣＴＭ（Current Transfer Matrix）が挙げられた。
【００２２】
ＤＳＣコメントとは、Ａｄｏｂｅ（登録商標）社によって記述が推奨されているコメントであり、その一つとしてＯｒｉｅｎｔａｔｉｏｎコメントが存在する。Ｏｒｉｅｎｔａｔｉｏｎコメントには、値として「Ｐｏｒｔｒａｉｔ」又は「Ｌａｎｓｃａｐｅ」の別を指定することができる。但し、当該パラメータは、推奨されているコメントに過ぎない。したがって、ＰＳデータを出力するアプリケーションにおいて必ずしも記述されているとは限らず、また、その値の信頼性も低い。本願発明者が市販されている主なアプリケーションを調査したところ、この値が当該ＰＳデータに係る文書の描画方向と一致しないものが多数あることが判明した。したがって、本願発明者は、Ｏｒｉｅｎｔａｔｉｏｎコメントに基づいて判定するのは適切ではないと判断した。
【００２３】
ＰａｓｅＳｉｚｅ［Ｘ  Ｙ］とは、用紙サイズの縦方向の長さ（Ｘ）と横方向の長さ（Ｙ）とが指定されているパラメータである。本願発明者が調査したところ、当該パラメータにおいてＸ＞Ｙの場合（用紙が横長の場合）、当該ＰＳデータに係る文書の描画方向は横方向であると判定できることが分かった。但し、Ｘ＜Ｙの場合（用紙が縦長の場合）、当該ＰＳデータに係る文書の描画方向を確定できないことが判明した。すなわち、用紙が縦長の場合は、描画オブジェクトが回転されることが有るからである（なお、調査結果において用紙が横長の場合に描画オブジェクトが回転されるようなＰＳデータが生成されるアプリケーションは無かった。）。したがって、本願発明者は、ＰａｇｅＳｉｚｅ［Ｘ  Ｙ］に基づいて判定するのは適切ではないと判断した。
【００２４】
ＣＴＭは、文書のページ中の描画オブジェクトを回転等させるための変換行列であり、描画オブジェクトごとに指定されている。文書の縦横を判断するのは人間であり、その人間によって視認されるのは、描画オブジェクトである。すなわち、人間は描画オブジェクトを視認することによって文書の縦横を認識する。そこで、本願発明者は文書の描画方向の判定にＣＴＭを採用することとした。すなわち、描画方向判定部１２１１は、ＰＳデータにおけるＣＴＭを参照して当該文書の描画方向を判定する。
【００２５】
以下、描画方向判定部１２１１の処理手順について説明する。図４は、描画方向判定部による一つの描画オブジェクトの描画方向の判定処理を説明するためのフローチャートである。
【００２６】
ＰＳデータ内において描画オブジェクトを検知すると（Ｓ１０１）、当該描画オブジェクトのＣＴＭをＰＳデータ内より取得する（Ｓ１０２）。ＣＴＭは、［ａ  ｂ  ｃ  ｄ  ｔｘ  ｔｙ］の要素（係数）より構成される。当該ＣＴＭによれば、一組の（ｘ、ｙ）座標は、次の一次方程式により別の座標（ｘ'、ｙ'）に変換される。
ｘ'＝ａｘ＋ｃｙ＋ｔｘ
ｙ'＝ｂｘ＋ｄｙ＋ｔｙ
続いて、ＣＴＭにおけるｂ要素及びＣ要素の値が０であるか、又はａ要素及びｄ要素の値が０であるかを判定する（Ｓ１０３）。これは、描画オブジェクトの方向が斜めであるか（水平又は垂直以外であるか）否かの判定に相当する。当該判定が肯定的な場合（すなわち、ｂ要素及びｃ要素の値が０であるか、又はａ要素及びｄ要素の値が０である場合）（Ｓ１０３でＹｅｓ）、ｂ要素及びｃ要素が０以外であるか否かを判定する（Ｓ１０４）。
【００２７】
ｂ要素及びｃ要素が０以外の場合、すなわち、ａ要素及びｄ要素の値が０の場合（Ｓ１０４でＹｅｓ）、描画オブジェクトの傾きは０度又は１８０度（水平）であるため、描画オブジェクトは横長であると判定する（Ｓ１０５）。一方、ｂ要素及びｃ要素が０の場合（Ｓ１０４でＮｏ）、描画オブジェクトの傾きは９０度又は２７０度（垂直）であるため、描画オブジェクトは縦長であると判定する（Ｓ１０６）。
【００２８】
なお、ステップＳ１０３における判定が否定的な場合（Ｓ１０３でＮｏ）、描画オブジェクトは斜めであるため、縦長であるか横長であるかを特定することはできない。したがって、この場合、縦長であると判定する（Ｓ１０６）。
【００２９】
次に、図４の判定方法を用いて、描画方向判定部１２１１が、１ページ分の描画方向を判定する処理について説明する。
【００３０】
図５は、第一の実施の形態における１ページ分の描画方向の判定処理を説明するためのフローチャートである。
【００３１】
第一の実施の形態では、一つのページ内において最初に検知された（処理される）描画オブジェクトの描画方向を図４の処理により判定する（Ｓ２０１）。判定結果が縦長の場合（Ｓ２０２で「縦長」）、当該ページにおける文書の描画方向は縦長であると判定する（Ｓ２０３）。一方、判定結果が横長の場合（Ｓ２０２で「横長」）、当該ページにおける文書の描画方向は横長であると判定する（Ｓ２０４）。
【００３２】
次に、第二の実施の形態について説明する。図６は、第二の実施の形態における１ページ分の描画方向の判定処理を説明するためのフローチャートである。
【００３３】
第二の実施の形態では、１ページ内の全ての描画オブジェクトについて（Ｓ３０１）、図４の処理により描画方向を判定する（Ｓ３０２）。この際、縦長の描画オブジェクトの総数と、横長の描画オブジェクトの総数とをカウントする。
【００３４】
続いて、縦長の描画オブジェクトの総数と横長の描画オブジェクトの総数とのいずれが多いか判定する（Ｓ３０３）。縦長の描画オブジェクトの総数の方が多い場合（Ｓ３０３でＹｅｓ）、当該ページにおける文書の描画方向は縦長であると判定する（Ｓ３０４）。一方、横長の描画オブジェクトの総数の方が多い場合（Ｓ３０３でＮｏ）、当該ページにおける文書の描画方向は横長であると判定する（Ｓ３０５）。
【００３５】
第二の実施の形態によれば、１ページの描画方向が描画オブジェクトの方向の多数決によって判定される。したがって、ユーザが見た全体的な印象に近い判定結果を出力することができる。
【００３６】
次に、第三の実施の形態について説明する。図７は、第三の実施の形態における１ページ分の描画方向の判定処理を説明するためのフローチャートである。
【００３７】
第三の実施の形態では、１ページ内の全ての描画オブジェクトについて（Ｓ４０１）、図４の処理により描画方向を判定すると共に（Ｓ４０２）、ＣＴＭに基づいて描画オブジェクトの大きさ（描画面積）を算出する（Ｓ４０３）。この際、縦長の描画オブジェクトの大きさの合計値と横長のオブジェクトの大きさの合計値とを算出する（Ｓ４０４）。
【００３８】
続いて、縦長の描画オブジェクトの大きさの合計値と横長のオブジェクトの大きさの合計値とのいずれか大きいかを判定する（Ｓ４０５）。縦長の描画オブジェクトの大きさの合計値の方が大きい場合（Ｓ４０５でＹｅｓ）、当該ページにおける文書の描画方向は縦長であると判定する（Ｓ４０６）。一方、横長の描画オブジェクトの大きさの合計値の方が大きい場合（Ｓ４０５でＮｏ）、当該ページにおける文書の描画方向は横長であると判定する（Ｓ４０７）。
【００３９】
第三の実施の形態によれば、描画方向ごとにおける描画オブジェクト大きさの合計値によってページの描画方向が判定される。大きい描画オブジェクト程、ページ全体に与える印象は大きい。したがって、ユーザが見た全体的な印象に近い判定結果を出力することができる。
【００４０】
次に、第四の実施の形態について説明する。図８は、第四の実施の形態における１ページ分の描画方向の判定処理を説明するためのフローチャートである。
【００４１】
第四の実施の形態では、１ページ内の全ての描画オブジェクトについて（Ｓ５０１）、図４の処理により描画方向を判定し（Ｓ５０２）、判定対象とされた描画オブジェクトの大きさ（描画面積）が、それまでで最も大きい場合は（Ｓ５０３でＹｅｓ）、当該描画オブジェクトの描画方向を保持する（Ｓ５０４）。
【００４２】
続いて、保持されている描画方向、すなわち、１ページ内で最も大きな描画オブジェクトの描画方向を判定する（Ｓ５０５）。当該描画オブジェクトの描画方向が縦長の場合（Ｓ５０６でＹｅｓ）、当該ページにおける文書の描画方向は縦長であると判定する（Ｓ５０６）。一方、当該描画オブジェクトの描画方向が横長の場合（Ｓ５０６でＮｏ）、当該ページにおける文書の描画方向は横長であると判定する（Ｓ５０７）。
【００４３】
第三の実施の形態によれば、最も大きい描画オブジェクトによってページの描画方向が判定される。最も大きい描画オブジェクトは、ページ全体に与える印象が大きい。したがって、ユーザが見た全体的な印象に近い判定結果を出力することができる。
【００４４】
上述したように、本実施の形態における画像形成装置１０によれば、ＰＳデータに基づいて、文書の描画方向を適切に、また、妥当的に判定することができる。
【００４５】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図面の簡単な説明】
【００４６】
【図１】本発明の実施の形態における画像形成装置のハードウェア構成例を示す図である。
【図２】本発明の実施の形態における画像形成装置のソフトウェア構成例を示す図である。
【図３】文書の描画方向を説明するための図である。
【図４】描画方向判定部による一つの描画オブジェクトの描画方向の判定処理を説明するためのフローチャートである。
【図５】第一の実施の形態における１ページ分の描画方向の判定処理を説明するためのフローチャートである。
【図６】第二の実施の形態における１ページ分の描画方向の判定処理を説明するためのフローチャートである。
【図７】第三の実施の形態における１ページ分の描画方向の判定処理を説明するためのフローチャートである。
【図８】第四の実施の形態における１ページ分の描画方向の判定処理を説明するためのフローチャートである。
【符号の説明】
【００４７】
１０        画像形成装置
１１        コントローラ
１２        スキャナ
１３        プリンタ
１４        モデム
１５        ネットワークインタフェース
１６        操作パネル
１１０      コントロールサービス
１１１      ＣＰＵ
１１２      ＲＡＭ
１１３      ＲＯＭ
１１４      ＨＤＤ
１２０      プリンタアプリ
１２１      ＰＳインタプリタ
１２２      プリンタシステム
１３０      ＦＡＸアプリ
１４０      コピーアプリ
１２１１    描画方向判定部
【図１】
2008211390.tif 000003
【図２】
2008211390.tif 000004
【図３】
2008211390.tif 000005
【図４】
2008211390.tif 000006
【図５】
2008211390.tif 000007
【図６】
2008211390.tif 000008
【図７】
2008211390.tif 000009
【図８】
2008211390.tif 000010