JP4378302B2 - 画像処理装置及び画像処理方法並びにプログラム - Google Patents

画像処理装置及び画像処理方法並びにプログラム Download PDF

Info

Publication number
JP4378302B2
JP4378302B2 JP2005054536A JP2005054536A JP4378302B2 JP 4378302 B2 JP4378302 B2 JP 4378302B2 JP 2005054536 A JP2005054536 A JP 2005054536A JP 2005054536 A JP2005054536 A JP 2005054536A JP 4378302 B2 JP4378302 B2 JP 4378302B2
Authority
JP
Japan
Prior art keywords
line
band
image processing
element blocks
structured document
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2005054536A
Other languages
English (en)
Other versions
JP2006243807A (ja
Inventor
明 鈴木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2005054536A priority Critical patent/JP4378302B2/ja
Priority to US11/355,853 priority patent/US7724391B2/en
Publication of JP2006243807A publication Critical patent/JP2006243807A/ja
Application granted granted Critical
Publication of JP4378302B2 publication Critical patent/JP4378302B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1848Generation of the printable image
    • G06K15/1849Generation of the printable image using an intermediate representation, e.g. a list of graphical primitives
    • G06K15/1851Generation of the printable image using an intermediate representation, e.g. a list of graphical primitives parted in a plurality of segments per page

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Record Information Processing For Printing (AREA)

Description

本発明は、複数の要素ブロックから構成されるディジタルコンテンツ等の構造化文書を印刷するために複数のバンドに分割する画像処理装置及び画像処理方法並びにプログラムを提供することを目的とする。
従来、ディジタルデータ放送やインターネット等のデータ通信を用いて配信されるHTMLファイル等のディジタルコンテンツを印刷装置で印刷するような場合には、通常、1ページ分のレイアウト情報を複数のバンドに分割して、それぞれのバンドについて描画処理が行われている。すなわち、各バンドごとに、その領域内に含まれるオブジェクトを描画データに変換するためのレンダリング処理が行われる。
これは、メモリの容量が十分でない印刷装置では、1ページ分の描画データを常に全て保持できるとは限らないためである。このような場合、描画対象のバンドの領域内に含まれるオブジェクトデータをホスト側から参照(外部参照)することによって描画データに変換する処理を行う必要がある。このような外部参照処理では、入力したHTMLファイルに記述された内容を解析して、画像データ等のオブジェクトが実際に格納されているアドレスを取得することにより、当該アドレスにアクセスして画像データ等のオブジェクトデータを取得している。
そのため、オブジェクトが複数のバンドにまたがって存在しているような場合、それぞれのバンドの描画処理を行う度に同一のオブジェクトを何度も外部参照する必要が生じ、処理時間が長くなり、描画効率が悪くなってしまう。
これに対し、バンド毎に順次バンド高さを仮決定して初期値を設定した後、その高さに含まれるオブジェクト描画面積の総和を求め、予め定められた閾値以下となるようにバンド高さを順次調整する技術が特許文献1の第1の実施例に開示されている(特許文献1参照。)。
特開2000−238349号公報
しかしながら、上記特許文献1に記載の技術は、オブジェクトを外部参照する回数を少なくするものではない。また、当該特許文献1の第2の実施例には、処理に時間がかかる図形であるか否かを判断し、処理に時間がかかる図形についてその描画範囲が収まる最小の高さのバンドを設定し、処理効率を高めようとする技術が開示されている。しかしながら、当該技術を実現するための構成では、比較的簡単な処理で済むような図形やテキストのオブジェクトについては複数のバンドにまたがったままになってしまうため、外部参照する回数を減少させることはできない。
例えば、構造化文書を解析して得られた1ページ分のレイアウト情報を複数のバンドに分割して描画する場合において、複数のバンドにまたがるオブジェクトが出現した場合、バンド分割処理が煩雑になるのみならず、同じオブジェクトに対する外部参照がその都度発生して、描画効率を低下させてしまう。特に、オブジェクトの参照先がネットワーク、例えばインターネットを経由した外部装置であるような場合には、顕著に描画効率の低下が現れることとなる。
一般に、ディジタルテレビはもとより、最近では携帯電話やディジタルカメラ等の携帯機器も、マークアップ言語等で記述されたディジタルコンテンツを取り扱うことが多くなってきている。しかしながら、上述したような小型の携帯機器ではハードウェア資源が限られている。そのため、マークアップ言語等で記述されたディジタルコンテンツをレンダリング処理する過程、特に、レイアウト済みの中間データを描画するレンダリング処理は、当該携帯機器内のハードウェア資源にとっては負荷の大きい処理となっている。従って、例え簡単な処理で済む図形やテキスト等のオブジェクトであっても、外部参照する回数を減少させることが必要となってくる。
本発明は、このような事情を考慮してなされたものであり、構造化文書中の各要素ブロックを1つのバンドに含めるようにバンド幅を好適に調整して、描画時にオブジェクトの外部参照回数を低減し描画効率を高めることができる画像処理装置及び画像処理方法並びにプログラムを提供することを目的とする。
上記課題を解決するために、本発明は、複数の要素ブロックを有する構造化文書のページを複数のバンドに分割する画像処理装置であって、
前記構造化文書のページをスキャンすることにより、スキャンされたライン上の外部参照すべきオブジェクトが配置される要素ブロック数をそれぞれ検出する検出手段と、
前記検出手段によって検出された前記要素ブロック数が減少するラインを前記構造化文書の分割ラインとして設定する設定手段と
を備えることを特徴とする。
また、上記課題を解決するために、本発明は、複数の要素ブロックを有する構造化文書のページを複数のバンドに分割する画像処理方法であって、
前記構造化文書のページをスキャンすることにより、スキャンされたライン上の外部参照すべきオブジェクトが配置される要素ブロック数をそれぞれ検出する検出工程と、
前記検出工程によって検出された前記要素ブロック数が減少するラインを前記構造化文書の分割ラインとして設定する設定工程と
を有することを特徴とする。
さらに、上記課題を解決するために、本発明に係るプログラムは、
複数の要素ブロックを有する構造化文書のページを複数のバンドに分割するコンピュータに、
前記構造化文書のページをスキャンすることにより、スキャンされたライン上の外部参照すべきオブジェクトが配置される要素ブロック数をそれぞれ検出する検出手順と、
前記検出手順によって検出された前記要素ブロック数が減少するラインを前記構造化文書の分割ラインとして設定する設定手順と
を実行させることを特徴とする。
本発明によれば、構造化文書中の各要素ブロックを1つのバンドに含めるようにバンド幅を好適に調整して、描画時にオブジェクトの外部参照回数を低減し描画効率を高めることができる。
以下、図面を参照して、本発明の一実施形態について詳細に説明する。
図1は、本発明の一実施形態に係るホームネットワーク環境での画像処理システムの装置接続構成例を示す図である。図1に示すように、本画像処理システムは、ホスト側機器(Host106)とプリンタ側機器(Printer)107とがイーサネット(登録商標)等のネットワーク110を介して互いに通信可能になっている。ここで、ホスト側機器106して動作する機器としては、図1に示すように、ディジタル放送用テレビ(DTV)101、セットトップボックス(STB)102、パーソナルコンピュータ(PC)103等がある。また、プリンタ側機器107として動作する機器としては、ネットワークプリンタ(Network Printer)104がある。
さらに、イーサネット(登録商標)等のネットワーク110に接続した上記機器は、ブロードバンドルータ(Router)105を介してインターネット(Internet)108への接続も可能となる。従って、当該機器は、ウェブサーバ(WWW Server)109上のコンテンツデータを任意にブラウジングすることが可能である。
図2は、図1に示す画像処理のシステムにおける印刷処理の実行の様子を説明するための図である。図2では、ホスト側機器106としては処理パフォーマンスの高いPCを前提とせず、DTV101とプリンタ側機器107(例えば、ネットワークプリンタ104等)とを1対1で接続したシステム構成について示している。このようなシステム構成において、ホスト側機器106のDTV101ではプリンタドライバを用いた印刷データ生成を行わず、XHTML(Extensible Hypertext Markup Language)形式で生成した印刷用コンテンツデータを直接プリンタ側機器107に与えて、当該プリンタ側機器107において解釈した後、印刷を行う。
尚、図2に示すシステムにおいて、コンテンツデータは、「個別のファイル形式」又はパッケージングした「一括モジュール形式」として入力される。ここで、この印刷処理形態は前述した「プッシュ型」、すなわちコンテンツの入力指示に応じた印刷処理形態に限らず、「プル型」、すなわちコンテンツの所在場所が示されプリンタ自身が参照により内容を取得する形態もあり得る。
図2に示すシステムにおける印刷動作を説明すると、DTV101からイーサネット(登録商標)等のネットワーク110を経由して、XHTML形式の印刷用データを含むネットワークデータ(Network data)204がプリンタ側機器(Printer)107に送信される。
プリンタ側機器107では、ネットワークコントローラ(Network Controller)201が、受信した当該データの一部又は全部を一時記憶し、コンテンツデータ(Contents data)205を選び出し、一つのプリントジョブ形式に変換して、プリンタコントローラ(Printer Controller)202に渡す。そして、プリンタコントローラ202は、ネットワークコントローラ201から渡されたコンテンツデータ205を解釈して印刷用のイメージデータ(Image data)を生成して印刷メディア(Print Media)203上に画像(Output)206を出力する。このようにして、印刷動作が行われる。
図3は、図2に示すネットワークコントローラ201の内部構造を示すブロック図である。図3に示すように、ネットワークコントローラ201は、主制御を司るCPU501と、外部参照を行うことによって得られたオブジェクトデータ等のネットワークデータ204を一時取り込むためのバッファメモリやワークメモリとして使用するDRAM502と、イーサネット(登録商標)等のネットワーク110に接続されたホスト側機器106との通信を行うネットワークインタフェースコントローラ(NIC)505と、実行プログラムが書き込まれたプログラムROM503と、フォントデータが書き込まれたフォントROM504と、プリンタコントローラ202との通信に用いられるシリアルIO(SIO)506とが内部バスによって互いに接続された構成となっている。
図4は、図2に示すプリンタコントローラ202の内部構造を示すブロック図である。図4に示すように、プリンタコントローラ202では、主制御を司るP−CPU601と、ネットワークコントローラ201から受信したコンテンツデータ205を一時取り込むためのバンドメモリとして機能するプールメモリやワークメモリとして使用するP−DRAM602と、実行プログラムが書き込まれたP−ROM603と、シリアルIOで接続されたネットワークコントローラ201と通信を行うP−SIO604との各ブロックが、内部バスによってプリントエンジンコントローラ(Print Engine Controller)605と接続され、当該プリントエンジンコントローラ605を経由して印刷機構部のインクジェットヘッド607を駆動するヘッドドライバ606、キャリッジモータ609を駆動するモータドライバ608、及びペーパーフィードモータ611を駆動するモータドライバ610とを制御するように構成されている。
図5は、本発明の一実施形態に係るプリンタ側機器107(例えば、ネットワークプリンタ104)内部におけるソフトウェア処理のモジュール構成を示すブロック図である。尚、本実施形態におけるネットワークプリンタ104としては、インクジェット方式のプリンタを一例として用いる。
まず、プリンタ側機器107を構成するネットワーク制御記憶部301は、前述したネットワークコントローラ201の処理に相当する部分である。ここでは、印刷のジョブ制御、印刷動作にかかわる設定、及びモニタ等の外部機器と連携に拘わる機能が果たされる。次に、構文解析部302は、テキストストリームであるコンンツデータを木構造のデータに変換する処理を行う。さらに要素配置部303は、構文解析部302における構文解析処理により得られた要素ツリーの上層から順次、各要素に関連づけられてスタイル等の指定に基づいて要素、BOXモデル、文字、画像等をページ内に配置する処理を行う。尚、XHTMLドキュメント形式でのイメージングモデルはボックス、すなわち「矩形」を用いる。また、要素配置部303からの出力である「レイアウト情報」の実体は、画像に至る中間状態であるページごとの「描画コマンドの集合」である。
画像形成部304では、ページ毎のレイアウト情報、すなわち描画コマンドの集合から実際のイメージを作成して、印刷制御部305に多値RGBのビットマップデータとして出力する処理を行う。画像形成部304での変換処理には、後述するバンディング処理によって処理時間の短縮を図り、また、メモリ空間を最適化する技術を適用する。
印刷制御部305は、プリントエンジン306の主制御部である。印刷制御部305は、入力された多値RGBイメージデータをインクジエットプリントエンジンの入力形式である「2値YMCK」に画像変換し、さらに、インクジェット用ヘッドの駆動パターンに適合する形式に変換し、各色データを順次出力する。ここで、印刷バンドメモリはP−DRAM603に含まれるものであるが、後述するように本実施形態では少なくとも2バンド分の容量を有するものとする。印刷制御部305のその他の働きとしては、出力制御を管理したり、印刷実行状況を監視したりしてプリンタのステータス情報としてネットワークコントローラ201に出力を行う。
プリントエンジン306は、画像データに合わせてインクを吐出するヘッドと、ヘッドが装着されたキャリア部を走査するキャリッジ機構と、メディアの搬送に用いるペーパーフィード機構とで構成されたプリンタ可動部の処理を実行する。
図6は、図5に示すプリンタ側機器107の要素配置部303と画像形成部304前段における処理内容を説明する図である。図6での処理は、特にバンディング処理に関するものである。尚、説明を容易にするために、以下では1ページ分に相当するドキュメントに関して説明するが、複数枚でもあっても処理は同等である。
まず、構文解析部302とその結果を引き継いだ要素配置部303において、1ページ分のレイアウト情報が形成されるレイアウト形成処理(ステップS60)が行われる。本実施形態では、レイアウト情報は、「矩形」形状を基本として表される。すなわち、左上コーナ(角)の座標位置と高さ寸法と幅寸法とで表現することが可能である。また、レイアウト情報には、オブジェクト等の内容に関する情報が付加されている。例えば、画像であれば外部の参照先アドレスが、テキストであれば文字コードやフォント情報が付加される。また、矩形領域の背景色等も付加情報をして付加しても良い。一般に、レイアウト情報としては、ドキュメントデータと最終画像との中間的抽象度を持つ形式の情報であって、中間言語やさらに抽象度が低いディスプレイリスト等による記述がこの種の情報の分類に含まれる。
次いで、ページ分割処理(ステップS61)が行われる。ページの分割数は、限られたメモリ容量を効率的に利用して処理を高速化する観点から、配置する描画ボックス(画像等のオブジェクトが配置される領域)の大きさとメモリの容量によって決定されている。ここで、分割数が多過ぎる場合は一つのバンドに含まれる描画ボックスの数が多くなり、複数にまたがるボックスの処理が煩雑になる。具体的には、描画ボックス内のオブジェクトデータを外部から参照する回数が多くなり、処理効率が低下することとなる。逆に、分割数が少な過ぎる場合はメモリの容量を大きくしなければならず、分割する目的を満たさない。従って、バンド幅の最大値及び最小値をあらかじめ決めておくようにする必要がある。
そして、ページの分割する部位が決定した後、実際にコマンド自体をバンドごとに割り当てるコマンドの割り当て処理(ステップS62)を行う。図6では、符号63、64で示すように、ある背景色が設定された親ブロックの下位に4つの小ブロックが存在する構造化文書の例が示されている。ここでは説明を容易にするために、4個の小ブロックに注目する。尚、本実施形態において、一つのブロックは幾つかの描画コマンドの集合から構成されているものとする。
例えば、まず本実施形態に係るプログラムの働きで、一つのバンドが決定するものとする。ここで、決定した当該バンド内には複数のブロックが存在する。そこで、これらのブロックのうち、複数のバンド内に分割されて含まれるブロックの描画コマンドを再編成する。
図7は、図5に示すプリンタ側機器107の画像形成部304における前段処理の結果を示す図である。尚、図7においては、従来例によるバンディング処理の結果例(左側:71)と本実施形態に係る処理結果例(右側:72)とを表している。図7では、バンド分割数は従来の場合と変化はしないが、従来例では各バンドの高さが均等であるのに対して、本実施形態例では文書内のブロックがバンドにまたがらないようにバンドの高さが調整されている。
図8は、図5に示すプリンタ側機器107の画像形成部304における画像形成部304の後段処理、すなわち、分割済みのバンド描画情報を用いて実際に描画する処理、及びその処理結果を引き継ぐ印刷制御部305における処理内容を説明する図である。
まず、一つのバンドに関する描画コマンドが入力される(ステップS81)。次に、描画に必要な描画バンドメモリをメモリプールから切り出して確保する(ステップS82)。尚、その描画バンドメモリの容量は、描画バンドの高さに応じて変動するものとする。一方、描画バンドに形成したデータは、印刷制御部305の働きで、プリントエンジンの機構にあった印刷データに変換して印刷バンドメモリに保持する。尚、ここでの変換処理は、RGBビットマップデータからYMCKラスタデータに変換するもので、色空間、カラーマッチング、黒合成、データフォーマットの変換を含む。ここで、印刷バンドメモリは、本実施形態の場合、固定長のメモリから成る。通常、印刷バンドメモリは、同じ大きさの2系列の書き込みと読み出しを交互に行う。データの配列は、例えば、インクジェット方式の場合、印刷ヘッドノズル構成にあわせたものである。
尚、描画コマンドの主要な部分は、ボックスの領域座標及び外部参照先アドレスである。描画中に外部参照が発生すると、外部データの取得ルーチンが起動し、取得したオブジェクトデータが例えばJPEG等の圧縮形式のものに対しては伸長を行い、バンド範囲内に収まる部分を切り抜いた形でメモリ上に形成される。また、テキストデータであれば、フオントジェネレータの働きで描画され、それぞれメモリ上に展開される。ここでの出力データ形式は、一般には、RGBの各色8ビットで表現したビットマップデータである。
描画バンドメモリは、実用的には、メモリプールの全容量の半分程度である。逆に、メモリプールの容量は、印刷バンドメモリの容量も含めると、少なくとも最高バンド幅の2バンド分以上の容量を必要とする。また、描画バンドに形成された印刷データは、印刷バンドメモリが空き次第、順次データが印刷バンドメモリに転送される。このように、描画バンドメモリの内容が印刷制御部305から全て読み取られた場合には、直ちに描画バンドメモリは前述のメモリプールに返却(開放)される仕組みになっている。
図9は、本発明の一実施形態に係る画像処理システムにおけるバンド分割処理内容を説明するための図である。図9に示す例では、写真(画像)、テキスト及びグラフィクスで構成されるドキュメント上のオブジェクト配置例が示されている。ドキュメントのレイアウト情報は、それぞれ要素ブロックと呼ばれる「矩形」のオブジェクトで表現され、当該オブジェクトの配置領域を指定する位置情報(x,y)が付加された状態で保存されている。ここで、画像データは、例えば、参照先のアドレスとして、ウェブサーバのURLが与えられており、その実体が必要になった際にその都度、所定のプロトコルを用いて取得するものとする。図9に示すような情報を含むレイアウトデータを後述するプログラムによって走査することにより、適正な分割位置が判明することとなる。
図10は、バンドに分割に適用するゾーンマップ或いはゾーンテーブルの一例を示す図である。図10に示すテーブルの左3列は、バンド分割を決める処理のための事前準備により得られるデータに基づくデータである。プリンタコントローラ202において、プリントエンジンコントローラ605は、初期処理として、ページレイアウト情報を先頭(上)から最後(下)まで順番にスキャン(走査)し、図10に示すテーブルのように、走査ライン上に位置する要素ブロック(外部参照すべきオブジェクトデータが配置される領域)の個数に関するデータを作成し、P−DRAM602に格納する。
図10に示すテーブルにおいて、垂直ゾーンZは、当該ページ内でブロックが出現する範囲において、ブロックの存在が変化する垂直軸に注目して分割した複数のゾーンの番号を示し、ページの上側から1、2、3、・・・として示している。また、フラグXは、画像データを含むブロックであって外部参照をする必要があるオブジェクトの存在を示すものである。さらに、要素ブロックの個数Nは、水平軸の座標軸上における各区間にかかわりの有る要素ブロックの個数を示している。図9に示す例の場合、ゾーン1、2、3、4、5、6、7に対して、それぞれN値が1、0、1,2、1、0、1となっている。
一方、図10に示すテーブルの右2列のうち、1つは、後述するプログラムの働きによってN値の減少点を検出をマークするフラグDである。図10に示すテーブルは、実際に結果が書き込まれた状態を示している。さらに、図10において、区切り情報・座標Yは、オブジェクトが検出された座標のうち垂直方向の座標である。この例では、ゾーン2、5、6で、それぞれY1、Y4、Y5がバンドの区切情報、或いは、区切り候補として検知されていることがわかる。
図11は、本発明の一実施形態に係るプリンタコントローラ202のP−CPU601によって実行されるバンド分割処理手順の一例を説明するためのフローチャートである。図11のフローチャートでは、分割処理と描画処理とが連続的に行われる。すなわち、前述した図10に示すゾーンテーブルを作成し、バンドの最適な分割を行いつつ同時に描画動作も行うような実用性を備えた手法について説明する。
まず、予め解析された複数の要素ブロックを備える構造化文書のページレイアウト情報をスキャンして図10に示すようなゾーンテーブルを作成する(ステップS101)。そして、各ゾーンごとにゾーンテーブルをスキャンする(ステップS102)。そして、予め決められた最大高さ以内にN値の減少が検出されたか否かを判定する(ステップS103)。そして、検出された場合はさらにその検出された高さが予め設定された最小バンド高以上であるか否かを判定する(ステップS104)。その結果、最小バンド高以上である場合(Yes)は、1ページの処理を終了したか否かを判定する(ステップS105)。
そして、1ページの処理が終了しておらず、スキャンしていないゾーンが存在している場合(No)は、ステップS107に進む。ステップS107では、検出したゾーンまでを1バンドとし、必要な描画バンドメモリの容量をメモリプールから確保し、オブジェクトの描画を完成させて印刷処理を行うべく印刷制御部305に引き渡す。尚、描画バンドメモリが使用したメモリ領域をメモリプールに解放する。そして、再度、1ページの処理が終了したか否かを判定する(ステップS108)。
その結果、1ページの処理が終了していない場合(No)は、ステップS102に戻って、次のゾーンテーブルのスキャンを行う。尚、ステップS103において、予め決められた最大高さ以内にN値の減少が検出されなかった場合(No)はステップS105に進む。
また、ステップS105において、1ページの処理が終了し、スキャンしていないゾーンが存在しない場合(Yes)は、描画に必要なデータのバンド部分又は全体を外部装置から取得して(ステップS106)、ステップS107に進む。
尚、本実施形態では、配置ボックスがバンドをまたがらないようにバンド高さを調整することも処理するようになっているが、これだけに限らず、外部参照の必要なボックスを重み付けして、優先的にバンド内で完結して外部参照回数を低減するようにしてもよい。
さらに、プリントエンジンによるデータの印刷処理方向にあわせて、ページの先頭からスキャンして印刷データを順次作成することも、または、逆にページ後端から同様の処理を行うようにしてもよい。このような手法は、描画バンドメモリの確保と開放を動的に制御することができるため、メモリ容量の節約と処理効率の向上を図ることができる。尚、オブジェクトの描画においては、バンド内に外部参照データがある場合は、当該データを保有する外部装置から描画に必要なデータを取得する。
図12は、本発明の一実施形態に係るプリンタコントローラ202のP−CPU601によって実行される別の処理手順例を説明するためのフローチャートである。図12に示すフローチャートでは、バンドの決定をした後に実際の描画を開始する方式である。すなわち、バンド区切り情報を先に作成しておき、その後、外部参照フラグX等の付帯情報情報に基づいて可能な限り再調整を実行した後に、バンド描画を開始する処理方式である。
図12に示す手順では、ページの先端から中央に向かって前半の処理を終え、次の処理ではページ後端から中央部に向かってスキャンする方式で行う。この方式は、先端及び後端は必ずバンド区切りになるという点に着目して、中央部分で調整を図るものである。
まず、複数の要素ブロックを備える構造化文書のページレイアウト情報をスキャンして図10に示すようなゾーンテーブルを作成する(ステップS201)。そして、各ゾーンごとにゾーンテーブルをスキャン(例えば、ページ情報からスキャン)する(ステップS202)。そして、予め決められた最大高さ以内にN値の減少が検出されたか否かを判定する(ステップS203)。そして、検出された場合はさらにその検出された高さが予め設定された最小バンド高以上であるか否かを判定する(ステップS204)。その結果、最小バンド高以上である場合(Yes)は、検出したゾーンまでを1バンドとして、バンド区切り候補情報として登録(マーク)する(ステップS205)。
そして、スキャンがページの中央部を超えたか否かを判定する(ステップS206)。そして、超えていない場合(No)は、ステップS202に戻って次のゾーンテーブルについて上述した処理を行う。一方、超えていると判定された場合(Yes)は、上下方向からのスキャンが終了したか否かを判定する(ステップS207)。その結果、いずれかの一方からのみ(例えば、上方向から)のスキャンしか終了していない場合(No)は、ステップS202に戻って他方向からのスキャン(例えば、下方向からのスキャン)を同様にして行う。
ステップS207で両方向からのスキャンが終了したと判定された場合(Yes)は、ステップS208に進み、センターラインをまたぐ2つのブロックを併合するが、併合した際に印刷高さが制限高さを超えている場合は、センター部分で強制的に分割する。また、外部参照フラグXに基づいて、バンド高さ制限内の調整で外部参照ブロックがバンド内におさまるときはバンドを再調整する。
次いで、ステップS209に進んで、各バンドごとに、必要な容量の描画バンドメモリを取得し、描画を完成させ、印刷制御部305に引き渡す。尚、描画バンドメモリの取得ができない場合は処理を待つようにする。また、各バンドの印刷処理が終了した後は、当該描画バンドメモリをメモリプールに解放する。
図12に示す例では、外部参照が生じるボックスの重み付けフラグXを利用した外部参照回数を低減する手法の適用が、前述した図11に示す第1の手順よりも効果的であるため、より高度なバンドの切り出し処理が可能となる。尚、本実施形態では、図9に示すように、テキストブロックが最終的に分割され、画像ブロック(外部参照ブロック)は分割されなかったため、再調整は作用していない。
上述したように、最適なバンディング機能を実現することにより、描画効率を高めることができる。特に、バンド内に画像ブロック等の外部参照データが存在する場合、参照回数を大幅に低減することが可能となり描画効率の向上が図られる。
以上、実施形態例を詳述したが、本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体(記録媒体)等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
尚、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム(実施形態では図に示すフローチャートに対応したプログラム)を、システムあるいは装置に直接あるいは遠隔から供給し、そのシステムあるいは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であっても良い。
プログラムを供給するための記録媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などがある。
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現される。
本発明の一実施形態に係るホームネットワーク環境での画像処理システムの装置接続構成例を示す図である。 図1に示す画像処理のシステムにおける印刷処理の実行の様子を説明するための図である。 図2に示すネットワークコントローラ201の内部構造を示すブロック図である。 図2に示すプリンタコントローラ202の内部構造を示すブロック図である。 本発明の一実施形態に係るプリンタ側機器107(例えば、ネットワークプリンタ104)内部におけるソフトウェア処理のモジュール構成を示すブロック図である。 図5に示すプリンタ側機器107の要素配置部303と画像形成部304前段における処理内容を説明する図である。 図5に示すプリンタ側機器107の画像形成部304における前段処理の結果を示す図である。 図5に示すプリンタ側機器107の画像形成部304における画像形成部304の後段処理、すなわち、分割済みのバンド描画情報を用いて実際に描画する処理、及びその処理結果を引き継ぐ印刷制御部305における処理内容を説明する図である。 本発明の一実施形態に係る画像処理システムにおけるバンド分割処理内容を説明するための図である。 バンドに分割に適用するゾーンマップ或いはゾーンテーブルの一例を示す図である。 本発明の一実施形態に係るプリンタコントローラ202のP−CPU601によって実行されるバンド分割処理手順の一例を説明するためのフローチャートである。 本発明の一実施形態に係るプリンタコントローラ202のP−CPU601によって実行される別の処理手順例を説明するためのフローチャートである。
符号の説明
101 ディジタル放送用テレビ(DTV)
106 ホスト側機器(HOST)
107 プリンタ側機器(Printer)
201 ネットワークコントローラ
202 プリンタコントローラ
203 プリントメディア
204 ネットワークデータ
205 コンテンツデータ
206 画像出力(Output)
301 ネットワーク制御記憶部
302 構文解析部
303 要素配置部
304 画像形成部
305 印刷制御部
306 プリントエンジン

Claims (16)

  1. 複数の要素ブロックを有する構造化文書のページを複数のバンドに分割する画像処理装置であって、
    前記構造化文書のページをスキャンすることにより、スキャンされたライン上の外部参照すべきオブジェクトが配置される要素ブロック数をそれぞれ検出する検出手段と、
    前記検出手段によって検出された前記要素ブロック数が減少するラインを前記構造化文書の分割ラインとして設定する設定手段と
    を備えることを特徴とする画像処理装置。
  2. 前記バンドの最大高さを入力する第1の入力手段をさらに備え、
    前記設定手段が、前記複数のバンドのそれぞれが前記最大高さ以下となることを条件として、前記要素ブロック数が減少するラインを前記分割ラインとして設定することを特徴とする請求項1に記載の画像処理装置。
  3. 前記バンドに含まれるオブジェクトデータが描画されて印刷される印刷装置が保有するメモリの容量に基づいて前記バンドの最大高さを決定する第1の決定手段をさらに備えることを特徴とする請求項2に記載の画像処理装置。
  4. 前記バンドの最小高さを入力する第2の入力手段をさらに備え、
    前記設定手段が、前記複数のバンドのそれぞれが前記最小高さ以上となることを条件として、前記要素ブロック数が減少するラインを前記分割ラインとして設定することを特徴とする請求項1から3までのいずれか1項に記載の画像処理装置。
  5. 前記バンドに含まれるオブジェクトデータが描画されて印刷される印刷装置における印刷バンド高さに基づいて前記バンドの最小高さを決定する第2の決定手段をさらに備えることを特徴とする請求項4に記載の画像処理装置。
  6. 前記検出手段が、前記ページの先端から水平方向のラインと交差する前記要素ブロック数を検出することを特徴とする請求項1から5までのいずれか1項に記載の画像処理装置。
  7. 前記検出手段が、前記ページの後端から水平方向のラインと交差する前記要素ブロック数を検出することを特徴とする請求項1から5までのいずれか1項に記載の画像処理装置。
  8. 前記検出手段が、前記構造化文書のページを1ラインずつスキャンして、該構造化文書に含まれる各要素ブロックの開始ライン及び終了ラインとを区切りとして得られる複数のゾーンと、それぞれのゾーン中に含まれる外部装置が保持するデータを参照するオブジェクトデータの有無、及びそれぞれのゾーン中に含まれる要素ブロック数とを検出してテーブルを予め作成しておき、該テーブルを参照してそれぞれのライン上の要素ブロック数を検出することを特徴とする請求項1から7までのいずれか1項に記載の画像処理装置。
  9. 前記設定手段によって設定された前記分割ラインに基づいて分割された前記複数のバンド中に外部装置が保持するデータを参照するオブジェクトデータが存在する場合に、該オブジェクトデータの全てが1つのバンド内に含まれるように、バンドの分割を調整する調整手段をさらに備えることを特徴とする請求項1から8までのいずれか1項に記載の画像処理装置。
  10. 前記検出手段が、前記構造化文書の上端及び下端から1ラインずつスキャンして、それぞれのライン上の要素ブロック数を検出し、
    前記設定手段が、前記要素ブロック数が減少するラインを前記構造化文書の分割ラインとして設定するとともに、前記ページの中央部分のブロックを調整する
    ことを特徴とする請求項1から5までのいずれか1項に記載の画像処理装置。
  11. 前記設定手段が、前記ページを上端からスキャンしたときの中央部分の水平ラインを含むブロックと、下端からスキャンしたときの前記水平ラインを含むブロックとを併合して併合ブロックを設定することを特徴とする請求項10に記載の画像処理装置。
  12. 前記設定手段が、前記併合ブロックが前記バンドの最大許容高さを超えている場合に、該併合ブロックを前記センターラインで強制的に2つのブロックに分割することを特徴とする請求項11に記載の画像処理装置。
  13. 請求項1から12までのいずれか1項に記載の画像処理装置によって分割されたそれぞれのバンドに含まれるオブジェクトデータを描画する描画手段と、
    前記描画手段によって描画された前記オブジェクトデータを印刷媒体上に印刷する印刷手段と
    を備えることを特徴とする印刷装置。
  14. 複数の要素ブロックを有する構造化文書のページを複数のバンドに分割する画像処理方法であって、
    前記構造化文書のページをスキャンすることにより、スキャンされたライン上の外部参照すべきオブジェクトが配置される要素ブロック数をそれぞれ検出する検出工程と、
    前記検出工程によって検出された前記要素ブロック数が減少するラインを前記構造化文書の分割ラインとして設定する設定工程と
    を有することを特徴とする画像処理方法。
  15. 複数の要素ブロックを有する構造化文書のページを複数のバンドに分割するコンピュータに、
    前記構造化文書のページをスキャンすることにより、スキャンされたライン上の外部参照すべきオブジェクトが配置される要素ブロック数をそれぞれ検出する検出手順と、
    前記検出手順によって検出された前記要素ブロック数が減少するラインを前記構造化文書の分割ラインとして設定する設定手順と
    を実行させるためのプログラム。
  16. 請求項15に記載のプログラムを格納したことを特徴とするコンピュータ読み取り可能な記憶媒体。
JP2005054536A 2005-02-28 2005-02-28 画像処理装置及び画像処理方法並びにプログラム Expired - Fee Related JP4378302B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005054536A JP4378302B2 (ja) 2005-02-28 2005-02-28 画像処理装置及び画像処理方法並びにプログラム
US11/355,853 US7724391B2 (en) 2005-02-28 2006-02-16 Image processing apparatus, image processing method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005054536A JP4378302B2 (ja) 2005-02-28 2005-02-28 画像処理装置及び画像処理方法並びにプログラム

Publications (2)

Publication Number Publication Date
JP2006243807A JP2006243807A (ja) 2006-09-14
JP4378302B2 true JP4378302B2 (ja) 2009-12-02

Family

ID=36931687

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005054536A Expired - Fee Related JP4378302B2 (ja) 2005-02-28 2005-02-28 画像処理装置及び画像処理方法並びにプログラム

Country Status (2)

Country Link
US (1) US7724391B2 (ja)
JP (1) JP4378302B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1906340B1 (en) * 2006-09-29 2011-11-09 Brother Kogyo Kabushiki Kaisha Rasterizing device
JP4501959B2 (ja) * 2007-05-10 2010-07-14 セイコーエプソン株式会社 画像処理装置および画像処理方法
US8520250B2 (en) * 2007-09-12 2013-08-27 Ricoh Company, Ltd. Image reading apparatus and method, and computer-readable recording medium
JP5171461B2 (ja) * 2008-07-31 2013-03-27 キヤノン株式会社 情報処理装置および情報処理方法並びに情報処理システム及びプログラム
JP4700719B2 (ja) * 2008-09-30 2011-06-15 株式会社沖データ 画像処理装置及び画像形成装置
JP6458427B2 (ja) * 2014-09-29 2019-01-30 ブラザー工業株式会社 情報処理装置、記録システム、及びプログラム
WO2017009901A1 (ja) * 2015-07-10 2017-01-19 三菱電機株式会社 描画装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4439790A (en) * 1981-01-23 1984-03-27 Canon Kabushiki Kaisha Image forming apparatus
US5991515A (en) * 1992-11-10 1999-11-23 Adobe Systems Incorporated Method and apparatus for compressing and decompressing data prior to display
JP2776793B2 (ja) * 1996-05-30 1998-07-16 日本電気アイシーマイコンシステム株式会社 画像表示方法およびその表示装置
TW401564B (en) * 1996-12-27 2000-08-11 Canon Kk Printing system
JP3334661B2 (ja) 1999-02-24 2002-10-15 日本電気株式会社 画像形成装置及び方法
JP4339093B2 (ja) * 2003-05-28 2009-10-07 シャープ株式会社 画像形成装置の調整方法、画像形成装置、画像読取装置の調整方法

Also Published As

Publication number Publication date
US20060192986A1 (en) 2006-08-31
JP2006243807A (ja) 2006-09-14
US7724391B2 (en) 2010-05-25

Similar Documents

Publication Publication Date Title
JP4378302B2 (ja) 画像処理装置及び画像処理方法並びにプログラム
JP4502798B2 (ja) ラスタ集約カラー文書の迅速処理システムとその方法
US7680358B2 (en) Image processing apparatus and control method thereof, and program
US7864199B2 (en) Image processing apparatus and control method thereof
US8081342B2 (en) Information processing apparatus, information processing method, and print control program
JP4838662B2 (ja) 情報処理装置、情報処理方法、記憶媒体、プログラム
US7551299B2 (en) Method and apparatus for handling different print data formats
JP4458176B2 (ja) 印刷制御装置、印刷装置およびプログラム
JP2007156671A (ja) 情報処理装置および印刷ジョブ変換方法およびプログラム
US20080080780A1 (en) Image compression method and apparatus
US20060050308A1 (en) Information processing device capable of outputting print data to print device, and control method thereof
US8452045B2 (en) Image processing method for generating easily readable image
US20040196483A1 (en) Line based parallel rendering
JP4589222B2 (ja) 画像形成方法、画像形成装置、画像形成システム及び画像形成装置用プログラム
KR20140029260A (ko) 기록 장치, 및 기록 장치의 제어 방법
US10140558B2 (en) Print control system, print control apparatus, and program
JP4706884B2 (ja) 画像処理装置、画像処理プログラムおよび印刷装置
JP2005149218A (ja) 印刷データ作成装置、プログラム及び記録媒体
US20120075677A1 (en) Method and apparatus for processing print job in printing platform
JP4132634B2 (ja) 文書印刷処理システム及びそのプログラムを記録した記録媒体
JP5171400B2 (ja) 画像形成装置および画像形成プログラム
JP3359317B2 (ja) 画像処理方法および記録媒体
JP2006085551A (ja) 画像処理装置および画像処理装置の制御方法および画像形成装置および画像形成装置の制御方法および画像処理装置のプログラムおよび記憶媒体
JP2005222267A (ja) 印刷制御装置,印刷制御方法,プログラム,および記録媒体遠隔管理システム
JP2003173446A (ja) 画像処理装置、画像処理システム、画像処理方法、記憶媒体、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070115

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090827

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090904

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090914

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120918

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120918

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130918

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees