図面 (/)

技術 画像処理装置、および、コンピュータプログラム

出願人 ブラザー工業株式会社
発明者 澤田和英
出願日 2014年9月30日 (5年1ヶ月経過) 出願番号 2014-202259
公開日 2016年5月9日 (3年6ヶ月経過) 公開番号 2016-071743
状態 特許登録済
技術分野 タイプライター等へのデジタル出力 プリンティングのための記録情報の処理
主要キーワード 類似閾値 ブレンドモード ソフトマスク エッジライン テキストコマンド 類似条件 有線LANインタフェース 生成完了
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2016年5月9日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (13)

課題

適切な画像データを生成することができる技術を開示する。

解決手段

第1条件が満たされる場合、特定ベクタデータを用いて、出力データのうちの特定オブジェクトに対応する部分を生成する。第2条件が満たされる場合、特定オブジェクトに対応する特定ラスタデータを用いて、出力データのうちの特定オブジェクトに対応する部分を生成する。第1条件は、特定ベクタデータが解釈可能なことを含み、第2条件は、特定ベクタデータが解釈不可能なことを含む。また、第1条件は、特定ベクタデータを用いて得られる第1注目ラスタ画像と、ラスタ形式のデータを用いて得られる第2注目ラスタ画像とが、類似条件を満たすことを含み、第2条件は、第1注目ラスタ画像と第2注目ラスタ画像とが類似条件を満たさないことを含んでもよい。

概要

背景

従来から、画像データとして、頁記述言語で画像を表現するデータが用いられている。頁記述言語で画像を表現する画像データは、例えば、画像を表す描画コマンドを含んでいる。描画コマンドを用いて画像を表すデータ形式は、ベクタ形式とも呼ばれる。ベクタ形式のデータは、種々の用途、例えば、画像を出力(例えば、印刷、または、表示)するための画像データの生成に用いられている。特許文献1では、印刷のための画像処理として、以下の処理が提案されている。すなわち、画像処理装置PDFファイル等の頁記述ファイルに含まれるデータを解釈し、データ内のオブジェクトビットマップレンダリングし、用紙に対する全てのオブジェクトをレンダリングした後に、画像を印刷する。ここで、オブジェクトは、レイヤー順に、レンダリングされる。

概要

適切な画像データを生成することができる技術を開示する。第1条件が満たされる場合、特定ベクタデータを用いて、出力データのうちの特定オブジェクトに対応する部分を生成する。第2条件が満たされる場合、特定オブジェクトに対応する特定ラスタデータを用いて、出力データのうちの特定オブジェクトに対応する部分を生成する。第1条件は、特定ベクタデータが解釈可能なことを含み、第2条件は、特定ベクタデータが解釈不可能なことを含む。また、第1条件は、特定ベクタデータを用いて得られる第1注目ラスタ画像と、ラスタ形式のデータを用いて得られる第2注目ラスタ画像とが、類似条件を満たすことを含み、第2条件は、第1注目ラスタ画像と第2注目ラスタ画像とが類似条件を満たさないことを含んでもよい。

目的

このシーケンス図の処理は、通信端末200が、画像処理装置100が提供する

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

画像処理装置であって、入力画像を表す第1種の入力画像データであって、オブジェクトを描画するための描画コマンドと、前記描画コマンドによる前記オブジェクトの描画に利用されるパラメータと、を含むベクタ形式のデータを含む前記第1種の入力画像データを取得する第1取得部と、前記入力画像を表す第2種の入力画像データであって、前記ベクタ形式のデータを含まずラスタ形式のデータを含む前記第2種の入力画像データを取得する第2取得部と、前記第1種の入力画像データと前記第2種の入力画像データとの少なくとも一方を用いて、前記入力画像を画像出力装置に出力させるための出力データを生成する生成部と、を備え、前記生成部は、前記第1種の入力画像データのうち、前記入力画像中の特定オブジェクトを描画するための前記ベクタ形式の特定ベクタデータ解釈可能なことを含む第1条件が満たされる場合に、前記特定ベクタデータを用いて前記出力データのうちの前記特定オブジェクトに対応する部分を生成し、前記特定ベクタデータが解釈不可能なことを含む第2条件が満たされる場合に、前記第2種の入力画像データのうち、前記入力画像中の前記特定オブジェクトに対応するラスタ形式の特定ラスタデータを用いて前記出力データのうちの前記特定オブジェクトに対応する部分を生成する、画像処理装置。

請求項2

請求項1に記載の画像処理装置であって、前記第1条件は、前記特定ベクタデータが、解釈可能であるとともに予め決められた描画可能条件を満たすことを含み、前記第2条件は、前記特定ベクタデータが解釈不可能であることと、前記特定ベクタデータが解釈可能でありつつも前記描画可能条件を満たさないことと、のいずれかが満たされることを含む、画像処理装置。

請求項3

請求項2に記載の画像処理装置であって、前記生成部は、前記第1種の入力画像データの前記特定ベクタデータをラスタライズすることによって前記特定オブジェクトに対応する第1注目ラスタデータを生成し、前記特定ラスタデータを第2注目ラスタデータと呼ぶとき、前記第1条件は、(A)前記特定ベクタデータが、解釈可能であるとともに前記描画可能条件を満たすことと、(B)前記特定ベクタデータが、解釈可能であるとともに前記描画可能条件を満たさず、かつ、前記第1注目ラスタデータによって表される第1注目ラスタ画像と、前記第2注目ラスタデータによって表される第2注目ラスタ画像とが、予め決められた類似条件を満たすことと、のいずれかが満たされることを含み、前記第2条件は、(C)前記特定ベクタデータが解釈不可能であることと、(D)前記特定ベクタデータが解釈可能であるとともに前記描画可能条件を満たさず、かつ、前記第1注目ラスタ画像と前記第2注目ラスタ画像とが前記類似条件を満たさないことと、のいずれかが満たされることを含む、画像処理装置。

請求項4

請求項1に記載の画像処理装置であって、前記生成部は、前記第1種の入力画像データの前記特定ベクタデータをラスタライズすることによって前記特定オブジェクトに対応する第1注目ラスタデータを生成し、前記特定ラスタデータを第2注目ラスタデータと呼ぶとき、前記第1条件は、前記特定ベクタデータが解釈可能であり、かつ、前記第1注目ラスタデータによって表される第1注目ラスタ画像と、前記第2注目ラスタデータによって表される第2注目ラスタ画像とが、予め決められた類似条件を満たすことを含み、前記第2条件は、前記特定ベクタデータが解釈不可能であることと、前記特定ベクタデータが解釈可能でありつつも前記第1注目ラスタ画像と前記第2注目ラスタ画像とが前記類似条件を満たさないことと、のいずれかが満たされることを含む、画像処理装置。

請求項5

画像処理装置であって、入力画像を表す第1種の入力画像データであって、オブジェクトを描画するための描画コマンドと、前記描画コマンドによる前記オブジェクトの描画に利用されるパラメータと、を含むベクタ形式のデータを含む前記第1種の入力画像データを取得する第1取得部と、前記入力画像を表す第2種の入力画像データであって、前記ベクタ形式のデータを含まずラスタ形式のデータを含む前記第2種の入力画像データを取得する第2取得部と、前記第1種の入力画像データと前記第2種の入力画像データとの少なくとも一方を用いて、前記入力画像を画像出力装置に出力させるための出力データを生成する生成部と、を備え、前記生成部は、前記第1種の入力画像データのうち、前記入力画像中の特定オブジェクトを描画するための前記ベクタ形式の特定ベクタデータをラスタライズすることによって前記入力画像中の特定オブジェクトに対応する第1注目ラスタデータを生成し、前記生成部は、前記第1注目ラスタデータによって表される第1注目ラスタ画像と、前記第2種の入力画像データのうち前記入力画像中の前記特定オブジェクトに対応する第2注目ラスタデータによって表される第2注目ラスタ画像とが、予め決められた類似条件を満たすことを含む第1条件が満たされる場合に、前記第1注目ラスタデータを用いて前記出力データのうちの前記特定オブジェクトに対応する部分を生成し、前記第1注目ラスタ画像と前記第2注目ラスタ画像とが前記類似条件を満たさないことを含む第2条件が満たされる場合に、前記第2注目ラスタデータを用いて前記出力データのうちの前記特定オブジェクトに対応する部分を生成する、画像処理装置。

請求項6

請求項5に記載の画像処理装置であって、前記第1条件は、前記特定ベクタデータが予め決められた描画可能条件を満たし、かつ、前記第1注目ラスタ画像と前記第2注目ラスタ画像とが前記類似条件を満たすことを含み、前記第2条件は、前記特定ベクタデータが前記描画可能条件を満たさないことと、前記特定ベクタデータが前記描画可能条件を満たしつつも前記第1注目ラスタ画像と前記第2注目ラスタ画像とが前記類似条件を満たさないことと、のいずれかが満たされることを含む、画像処理装置。

請求項7

請求項1から6のいずれか1項に記載の画像処理装置であって、前記画像出力装置は、印刷装置であり、前記出力データは、前記入力画像を前記印刷装置に印刷させるためのデータであり、前記第2種の入力画像データは、前記出力データとして利用可能なデータである、画像処理装置。

請求項8

コンピュータプログラムであって、入力画像を表す第1種の入力画像データであって、オブジェクトを描画するための描画コマンドと、前記描画コマンドによる前記オブジェクトの描画に利用されるパラメータと、を含むベクタ形式のデータを含む前記第1種の入力画像データを取得する第1取得機能と、前記入力画像を表す第2種の入力画像データであって、前記ベクタ形式のデータを含まずラスタ形式のデータを含む前記第2種の入力画像データを取得する第2取得機能と、前記第1種の入力画像データと前記第2種の入力画像データとの少なくとも一方を用いて、前記入力画像を画像出力装置に出力させるための出力データを生成する生成機能と、をコンピュータに実現させ、前記生成機能は、前記第1種の入力画像データのうち、前記入力画像中の特定オブジェクトを描画するための前記ベクタ形式の特定ベクタデータが解釈可能なことを含む第1条件が満たされる場合に、前記特定ベクタデータを用いて前記出力データのうちの前記特定オブジェクトに対応する部分を生成し、前記特定ベクタデータが解釈不可能なことを含む第2条件が満たされる場合に、前記第2種の入力画像データのうち、前記入力画像中の前記特定オブジェクトに対応するラスタ形式の特定ラスタデータを用いて前記出力データのうちの前記特定オブジェクトに対応する部分を生成する、コンピュータプログラム。

請求項9

コンピュータプログラムであって、入力画像を表す第1種の入力画像データであって、オブジェクトを描画するための描画コマンドと、前記描画コマンドによる前記オブジェクトの描画に利用されるパラメータと、を含むベクタ形式のデータを含む前記第1種の入力画像データを取得する第1取得機能と、前記入力画像を表す第2種の入力画像データであって、前記ベクタ形式のデータを含まずラスタ形式のデータを含む前記第2種の入力画像データを取得する第2取得機能と、前記第1種の入力画像データと前記第2種の入力画像データとの少なくとも一方を用いて、前記入力画像を画像出力装置に出力させるための出力データを生成する生成機能と、をコンピュータに実現させ、前記生成機能は、前記第1種の入力画像データのうち、前記入力画像中の特定オブジェクトを描画するための前記ベクタ形式の特定ベクタデータをラスタライズすることによって前記入力画像中の特定オブジェクトに対応する第1注目ラスタデータを生成し、前記生成機能は、前記第1注目ラスタデータによって表される第1注目ラスタ画像と、前記第2種の入力画像データのうち前記入力画像中の前記特定オブジェクトに対応する第2注目ラスタデータによって表される第2注目ラスタ画像とが、予め決められた類似条件を満たすことを含む第1条件が満たされる場合に、前記第1注目ラスタデータを用いて前記出力データのうちの前記特定オブジェクトに対応する部分を生成し、前記第1注目ラスタ画像と前記第2注目ラスタ画像とが前記類似条件を満たさないことを含む第2条件が満たされる場合に、前記第2注目ラスタデータを用いて前記出力データのうちの前記特定オブジェクトに対応する部分を生成する、コンピュータプログラム。

技術分野

0001

本開示は、入力された画像データを用いて出力用の画像データを生成する技術に関する。

背景技術

0002

従来から、画像データとして、頁記述言語で画像を表現するデータが用いられている。頁記述言語で画像を表現する画像データは、例えば、画像を表す描画コマンドを含んでいる。描画コマンドを用いて画像を表すデータ形式は、ベクタ形式とも呼ばれる。ベクタ形式のデータは、種々の用途、例えば、画像を出力(例えば、印刷、または、表示)するための画像データの生成に用いられている。特許文献1では、印刷のための画像処理として、以下の処理が提案されている。すなわち、画像処理装置PDFファイル等の頁記述ファイルに含まれるデータを解釈し、データ内のオブジェクトビットマップレンダリングし、用紙に対する全てのオブジェクトをレンダリングした後に、画像を印刷する。ここで、オブジェクトは、レイヤー順に、レンダリングされる。

先行技術

0003

特開平11−105368号公報
特開2013−161227号公報
特開2000−22938号公報

発明が解決しようとする課題

0004

ところが、画像処理装置は描画コマンドを解釈して画像データを生成する場合、適切な画像データを生成できない場合があった。例えば、描画コマンドが、画像処理装置に未実装コマンドを含む場合、画像処理装置は、適切な画像データを生成できない場合があった。その場合、例えば、印刷エラーとして印刷処理が実行されないため、ユーザに不便をもたらす恐れがある。

0005

本開示は、適切な画像データを生成することができる技術を開示する。

課題を解決するための手段

0006

本開示は、例えば、以下の適用例を開示する。

0007

[適用例1]画像処理装置であって、入力画像を表す第1種の入力画像データであって、オブジェクトを描画するための描画コマンドと、前記描画コマンドによる前記オブジェクトの描画に利用されるパラメータと、を含むベクタ形式のデータを含む前記第1種の入力画像データを取得する第1取得部と、前記入力画像を表す第2種の入力画像データであって、前記ベクタ形式のデータを含まずラスタ形式のデータを含む前記第2種の入力画像データを取得する第2取得部と、前記第1種の入力画像データと前記第2種の入力画像データとの少なくとも一方を用いて、前記入力画像を画像出力装置に出力させるための出力データを生成する生成部と、を備え、前記生成部は、前記第1種の入力画像データのうち、前記入力画像中の特定オブジェクトを描画するための前記ベクタ形式の特定ベクタデータが解釈可能なことを含む第1条件が満たされる場合に、前記特定ベクタデータを用いて前記出力データのうちの前記特定オブジェクトに対応する部分を生成し、前記特定ベクタデータが解釈不可能なことを含む第2条件が満たされる場合に、前記第2種の入力画像データのうち、前記入力画像中の前記特定オブジェクトに対応するラスタ形式の特定ラスタデータを用いて前記出力データのうちの前記特定オブジェクトに対応する部分を生成する、画像処理装置。

0008

この構成によれば、特定オブジェクトを描画するためのベクタ形式のデータが適切に処理されずに不適切な出力データが生成されることを抑制できる。

0009

[適用例2]適用例1に記載の画像処理装置であって、前記第1条件は、前記特定ベクタデータが、解釈可能であるとともに予め決められた描画可能条件を満たすことを含み、前記第2条件は、前記特定ベクタデータが解釈不可能であることと、前記特定ベクタデータが解釈可能でありつつも前記描画可能条件を満たさないことと、のいずれかが満たされることを含む、画像処理装置。

0010

この構成によれば、特定オブジェクトを描画するためのベクタ形式のデータが適切に処理されずに不適切な出力データが生成されることをより適切に抑制できる。

0011

[適用例3]適用例2に記載の画像処理装置であって、前記生成部は、前記第1種の入力画像データの前記特定ベクタデータをラスタライズすることによって前記特定オブジェクトに対応する第1注目ラスタデータを生成し、前記特定ラスタデータを第2注目ラスタデータと呼ぶとき、前記第1条件は、(A)前記特定ベクタデータが、解釈可能であるとともに前記描画可能条件を満たすことと、(B)前記特定ベクタデータが、解釈可能であるとともに前記描画可能条件を満たさず、かつ、前記第1注目ラスタデータによって表される第1注目ラスタ画像と、前記第2注目ラスタデータによって表される第2注目ラスタ画像とが、予め決められた類似条件を満たすことと、のいずれかが満たされることを含み、前記第2条件は、(C)前記特定ベクタデータが解釈不可能であることと、(D)前記特定ベクタデータが解釈可能であるとともに前記描画可能条件を満たさず、かつ、前記第1注目ラスタ画像と前記第2注目ラスタ画像とが前記類似条件を満たさないことと、のいずれかが満たされることを含む、画像処理装置。

0012

この構成によれば、特定オブジェクトを描画するためのベクタ形式のデータが適切に処理されずに不適切な出力データが生成されることをより適切に抑制できる。

0013

[適用例4]適用例1に記載の画像処理装置であって、前記生成部は、前記第1種の入力画像データの前記特定ベクタデータをラスタライズすることによって前記特定オブジェクトに対応する第1注目ラスタデータを生成し、前記特定ラスタデータを第2注目ラスタデータと呼ぶとき、前記第1条件は、前記特定ベクタデータが解釈可能であり、かつ、前記第1注目ラスタデータによって表される第1注目ラスタ画像と、前記第2注目ラスタデータによって表される第2注目ラスタ画像とが、予め決められた類似条件を満たすことを含み、前記第2条件は、前記特定ベクタデータが解釈不可能であることと、前記特定ベクタデータが解釈可能でありつつも前記第1注目ラスタ画像と前記第2注目ラスタ画像とが前記類似条件を満たさないことと、のいずれかが満たされることを含む、画像処理装置。

0014

この構成によれば、特定オブジェクトを描画するためのベクタ形式のデータが適切に処理されずに不適切な出力データが生成されることをより適切に抑制できる。

0015

[適用例5]画像処理装置であって、入力画像を表す第1種の入力画像データであって、オブジェクトを描画するための描画コマンドと、前記描画コマンドによる前記オブジェクトの描画に利用されるパラメータと、を含むベクタ形式のデータを含む前記第1種の入力画像データを取得する第1取得部と、前記入力画像を表す第2種の入力画像データであって、前記ベクタ形式のデータを含まずラスタ形式のデータを含む前記第2種の入力画像データを取得する第2取得部と、前記第1種の入力画像データと前記第2種の入力画像データとの少なくとも一方を用いて、前記入力画像を画像出力装置に出力させるための出力データを生成する生成部と、を備え、前記生成部は、前記第1種の入力画像データのうち、前記入力画像中の特定オブジェクトを描画するための前記ベクタ形式の特定ベクタデータをラスタライズすることによって前記入力画像中の特定オブジェクトに対応する第1注目ラスタデータを生成し、前記生成部は、前記第1注目ラスタデータによって表される第1注目ラスタ画像と、前記第2種の入力画像データのうち前記入力画像中の前記特定オブジェクトに対応する第2注目ラスタデータによって表される第2注目ラスタ画像とが、予め決められた類似条件を満たすことを含む第1条件が満たされる場合に、前記第1注目ラスタデータを用いて前記出力データのうちの前記特定オブジェクトに対応する部分を生成し、前記第1注目ラスタ画像と前記第2注目ラスタ画像とが前記類似条件を満たさないことを含む第2条件が満たされる場合に、前記第2注目ラスタデータを用いて前記出力データのうちの前記特定オブジェクトに対応する部分を生成する、画像処理装置。

0016

この構成によれば、特定オブジェクトを描画するためのベクタ形式のデータが適切に処理されずに不適切な出力データが生成されることを抑制できる。

0017

[適用例6]適用例5に記載の画像処理装置であって、前記第1条件は、前記特定ベクタデータが予め決められた描画可能条件を満たし、かつ、前記第1注目ラスタ画像と前記第2注目ラスタ画像とが前記類似条件を満たすことを含み、前記第2条件は、前記特定ベクタデータが前記描画可能条件を満たさないことと、前記特定ベクタデータが前記描画可能条件を満たしつつも前記第1注目ラスタ画像と前記第2注目ラスタ画像とが前記類似条件を満たさないことと、のいずれかが満たされることを含む、画像処理装置。

0018

この構成によれば、特定オブジェクトを描画するためのベクタ形式のデータが適切に処理されずに不適切な出力データが生成されることをより適切に抑制できる。

0019

[適用例7]適用例1から6のいずれか1項に記載の画像処理装置であって、前記画像出力装置は、印刷装置であり、前記出力データは、前記入力画像を前記印刷装置に印刷させるためのデータであり、前記第2種の入力画像データは、前記出力データとして利用可能なデータである、画像処理装置。

0020

この構成によれば、印刷装置に適した出力データを生成できる。

0021

なお、本発明は、種々の態様で実現することが可能であり、例えば、画像処理方法および画像処理装置、それらの方法または装置の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体(例えば、一時的ではない記録媒体)、等の形態で実現することができる。

図面の簡単な説明

0022

実施例における画像処理システムの構成を示すブロック図である。
画像処理システム1000の動作を示すシーケンス図である。
印刷処理で処理される画像の例を示す概略図である。
ラスタライズの手順を示すフローチャートである。
解釈可能なコマンドと解釈不可能なコマンドとの例を示す表である。
ラスタライズの別の実施例のフローチャートである。
第2実施例で処理される画像の例を示す概略図である。
ラスタライズの別の実施例のフローチャートである。
コマンドの分類例を示す表である。
ラスタライズの別の実施例のフローチャートである。
ラスタライズの別の実施例のフローチャートである。
ラスタライズの別の実施例のフローチャートである。

実施例

0023

A.第1実施例:
図1は、実施例における画像処理システムの構成を示すブロック図である。画像処理システム1000は、画像処理装置100と、通信端末200と、を有している。画像処理装置100と通信端末200とは、ネットワーク300(例えば、LAN(Local Area Network))に接続されており、互いに通信可能である。

0024

画像処理装置100は、いわゆるネットワークプリンタである。画像処理装置100は、プロセッサ110と、揮発性記憶装置120と、不揮発性記憶装置130と、通信インタフェース160と、プリンタ部190と、を有している。

0025

プロセッサ110は、データ処理を行う装置であり、例えば、CPUである。揮発性記憶装置120は、例えば、DRAMであり、不揮発性記憶装置130は、例えば、フラッシュメモリである。不揮発性記憶装置130は、プログラム132を格納している。プロセッサ110は、プログラム132を実行することによって、種々の機能を実現する(詳細は、後述)。また、プロセッサ110は、プログラム(例えば、プログラム132)の実行に利用される種々の中間データを、記憶装置(例えば、揮発性記憶装置120、または、不揮発性記憶装置130)に、一時的に格納する。

0026

通信インタフェース160は、他の装置と通信するためのインタフェースである(例えば、有線LANインタフェースIEEE802.11の無線インタフェース)。

0027

プリンタ部190は、用紙(印刷媒体の一例)上に画像を印刷する装置である。本実施例では、プリンタ部190は、シアンCとマゼンタMとイエロYとブラックKのそれぞれのインクを用いるインクジェット式の印刷装置である。なお、プリンタ部190としては、他の方式(例えば、レーザ方式)の印刷装置を採用してもよい。

0028

通信端末200は、例えば、タブレットコンピュータである。通信端末200は、プロセッサ210と、揮発性記憶装置220と、不揮発性記憶装置230と、表示部240と、操作部250と、通信インタフェース260と、を有している。

0029

プロセッサ210は、データ処理を行う装置であり、例えば、CPUである。揮発性記憶装置220は、例えば、DRAMであり、不揮発性記憶装置230は、例えば、フラッシュメモリである。不揮発性記憶装置230は、プログラム232を格納している。プロセッサ210は、プログラム232を実行することによって、種々の機能を実現する(詳細は、後述)。また、プロセッサ210は、プログラム(例えば、プログラム232)の実行に利用される種々の中間データを、記憶装置(例えば、揮発性記憶装置220、または、不揮発性記憶装置230)に、一時的に格納する。

0030

表示部240は、画像を表示する装置であり、例えば、液晶ディスプレイである。操作部250は、ユーザによる操作を受け取る装置であり、例えば、表示部240上に重ねて配置されたタッチパネルである。ユーザは、操作部250を操作することによって、後述する画像処理の開始指示等の種々の指示を通信端末200に入力可能である。

0031

通信インタフェース260は、他の装置と通信するためのインタフェースである(例えば、有線LANインタフェース、IEEE802.11の無線インタフェース)。

0032

図2は、画像処理システム1000の動作を示すシーケンス図である。このシーケンス図の処理は、通信端末200が、画像処理装置100が提供する印刷サービス利用指示を、ユーザから受け付けた場合に開始される。画像処理装置100は、外部装置(例えば、通信端末200)から受信した画像データ(入力画像データと呼ぶ)を用いて画像を印刷する。図中では、処理を示す符号として、文字「S」と、文字「S」に続く数字と、を組み合わせた符号を用いる。

0033

画像処理装置100には、ベクタ形式のデータを含む画像データを用いて画像を印刷する機能と、ベクタ形式のデータを含まずにラスタ形式のデータを含む画像データを用いて画像を印刷する機能とが、実装されている。以下、ベクタ形式のデータを含む入力画像データを、「第1種入力画像データ」または「入力ベクタデータ」と呼ぶ。また、ベクタ形式のデータを含まずにラスタ形式のデータを含む入力画像データを、「第2種入力画像データ」または「入力ラスタデータ」と呼ぶ。なお、ラスタ形式の画像データは、ビットマップデータとも呼ばれる。

0034

ベクタ形式のデータは、オブジェクトを描画するための描画コマンドと、描画コマンドによるオブジェクトの描画に利用されるパラメータと、を含むデータである。描画コマンドの例としては、円などの図形を描画するコマンドや、圧縮されたビットマップデータを解凍するコマンド、などが挙げられる。描画に利用されるパラメータの例としては、円の中心の位置と半径などの図形の位置と形状とを定めるパラメータや、画像データ中に埋め込まれた圧縮済のビットマップデータ、などが挙げられる。入力ベクタデータの例としては、PDF(Portable Document Format)やXPS(XML Paper Specification)の画像データが挙げられる。本実施例では、画像処理装置100は、PDFの画像データを利用可能である。以下、描画コマンドのことを、単に「コマンド」とも呼ぶ。

0035

入力ラスタデータの例としては、PWG raster format(単に「PWG」とも呼ぶ)やJPEGの画像データが挙げられる。PWGは、IEEE-ISTO(The Institute of Electrical and Electronics Engineers - Industry Standardsand : Technology Organization)のプリンタワーキンググループ(PWG)によって提案された形式である。本実施例では、画像処理装置100は、PWGの画像データを利用可能である。

0036

以下、ユーザが、PDFの画像データを印刷対象データとして選択し、印刷対象データの印刷を通信端末200に指示したこととして、説明を行う。通信端末200(図1)のプロセッサ210は、プログラム232に従って動作することによって、図2に示す印刷のための処理を実行する。印刷のための処理を実行する機能は、通信端末200のオペレーティングシステムに組み込まれている。この代わりに、オペレーティングシステム上で動作するアプリケーションが、印刷のための処理を実行してもよい。また、画像処理装置100のプロセッサ110は、プログラム132に従って動作することによって、図2に示す印刷のための処理を実行する。

0037

S10では、通信端末200のプロセッサ210は、印刷対象データ(ここでは、PDFデータ)を、入力ベクタデータとして、画像処理装置100に送信する。S20では、プロセッサ210は、印刷対象データをラスタライズすることによって、ラスタデータを生成する。ラスタライズは、ベクタ形式のデータ(描画コマンドなど)を解釈して、ラスタデータを生成する処理である。本実施例では、ラスタデータとして、PWGデータが生成される。また、生成されるラスタデータの画素密度は、通信端末200のプログラム232の設計に依存して異なり得る。S30では、プロセッサ210は、生成したラスタデータを、入力ラスタデータとして、画像処理装置100に送信する。そして、プロセッサ210は、印刷のための処理を終了する。なお、入力ベクタデータと入力ラスタデータとは、いずれも、印刷対象データによって表される画像と同じ画像を表している(「入力画像」と呼ぶ)。後述するように、入力ラスタデータは、画像処理装置100によって利用されない場合がある。従って、本実施例では、プロセッサ210は、画像処理装置100から入力ラスタデータを要求された場合にのみ、S20、S30を実行する。ただし、プロセッサ210は、画像処理装置100が入力ラスタデータを利用するか否かに拘わらずに、所定の手順に従ってS20、S30を実行してもよい。

0038

画像処理装置100(図1)のプロセッサ110は、S100で、入力ベクタデータを受信(取得)する。図3は、印刷処理で処理される画像の例を示す概略図である。図中の上段の画像IMiは、入力画像を示している(「入力画像IMi」と呼ぶ)。図3の例では、入力画像IMiは、背景Bg上に互いに分離して配置された3個のオブジェクトO1、O2、O3を表している。

0039

図2のS110では、プロセッサ110は、入力ベクタデータによって表される入力画像IMiの領域を複数のバンド区分し、そして、未処理のバンドを注目バンドとして選択する。図3の例では、入力画像IMiは、4つのバンドB1、B2、B3、B4に区分されている。本実施例では、プロセッサ110は、入力画像IMiの領域を、縦方向に並ぶ複数の矩形領域に区分する。1つの矩形領域が1つのバンドに対応する。1つのバンドは、横方向に延びる複数の画素ラインを含んでいる。プロセッサ110は、上から順番に1つの未処理のバンドを注目バンドとして選択する。

0040

図2のS120では、プロセッサ110は、注目バンドのラスタライズを実行する。S120では、ラスタライズによって、プリンタ部190による印刷のための所定の画素密度(処理画素密度と呼ぶ)のラスタ形式の画像データ(注目バンドラスタデータと呼ぶ)が生成される。本実施例では、生成される注目バンドラスタデータは、赤R、緑G、青Bの各成分の色値(例えば、0〜255の256階調の値)を画素ごとに含むRGB画像データである。ラスタライズの詳細については、後述する。

0041

S130では、プロセッサ110は、注目バンドラスタデータの複数の画素の色値を、RGBの階調値から、印刷用のインクの色成分に対応するCMYKの階調値に変換する。RGBとCMYKとの間の対応関係は、不揮発性記憶装置230に予め格納されたルックアップテーブル(図示省略)によって予め規定されている。プロセッサ110は、このルックアップテーブルを参照して、色変換を実行する。

0042

S140では、プロセッサ110は、色変換済のデータを用いて、ハーフトーン処理を行う。ハーフトーン処理としては、いわゆる誤差拡散法に従った処理が行われる。この代わりに、ディザマトリクスを用いる方法を採用してもよい。ハーフトーン処理によって、注目バンドの画像をプリンタ部190に印刷させるための印刷データが生成される。

0043

S150では、プロセッサ110は、印刷データをプリンタ部190に供給し、プリンタ部190に注目バンドの画像を印刷させる。

0044

S160では、プロセッサ110は、全てのバンドの処理が完了したか否かを判断する。未処理のバンドが残っている場合(S160:No)、プロセッサ110は、S110に移行して、未処理のバンドの処理を実行する。全てのバンドの処理が完了した場合(S160:Yes)、入力画像の全体の印刷が完了し、図2の処理が終了する。

0045

図4は、ラスタライズ(図2:S120)の手順を示すフローチャートである。S200では、プロセッサ110は、入力ベクタデータの注目バンドに対応する部分を処理画素密度でラスタライズする。図3の例では、入力画像IMiの4つのバンドB1〜B4のうちの1つの注目バンドのラスタライズが行われる。

0046

図4中の中段の左側に示す第1ラスタ画像IMvは、入力ベクタデータのラスタライズによって生成されるラスタデータによって表される画像を示している。第1ラスタ画像IMvは、3個のオブジェクトO1、O2、O3xを表している。2つのオブジェクトO1、O2は、入力画像IMi中のオブジェクトO1、O2と、それぞれ同じである。第3オブジェクトO3xは、入力画像IMiの第3オブジェクトO3を正しく表していない(図3の例では、第3オブジェクトO3xは、空欄である)。このような不適切なラスタライズは、例えば、第3オブジェクトO3を描画するためのコマンドが、プロセッサ110によって解釈不可能なコマンドを含んでいる場合に、生じる。

0047

図5は、解釈可能なコマンドと解釈不可能なコマンドとの例を示す表である。本実施例では、「/JBIG2Decode」と「/JPXDecode」との2つのコマンドが解釈不可能である。入力ベクタデータに含まれ得るコマンドのうち、解釈不可能なコマンドを除いた残りの全てのコマンドは、解釈可能である。本実施例では、図1の画像処理装置100(ここでは、プログラム132)にコマンドに応じた処理が実装されているコマンドが、解釈可能なコマンドに分類される。コマンドに応じた処理が実装されていないコマンドが、解釈不可能なコマンドに分類される。従来、このような解釈不可能なコマンドを含む入力ベクタデータを受信されると、画像処理装置は印刷エラーをユーザに通知し、印刷処理を実行しない。

0048

「/JBIG2Decode」は、JBIG2方式で圧縮されたビットマップデータを展開するコマンドである。「/JPXDecode」は、JPEG2000方式で圧縮されたビットマップデータを展開するコマンドである。本実施例では、これらのコマンドは、プログラム132に実装されていないので、解釈不可能である。従って、オブジェクトを描画するためのコマンドが、「/JBIG2Decode」と「/JPXDecode」との少なくとも1つを含む場合、プロセッサ110は、そのオブジェクトをラスタライズすることができない。図3の例では、第3オブジェクトO3のコマンドが、「/JPXDecode」を含んでいることとする。

0049

図4のS210では、プロセッサ110は、入力ベクタデータに含まれるコマンドを解析することによって、注目バンドに含まれるゼロ個以上のオブジェクト領域を特定する。オブジェクト領域は、オブジェクトを表す領域である。プロセッサ110は、オブジェクトを描画するコマンドが解釈不可能なコマンドを含むか否かに拘わらず、そのオブジェクトを表す領域の位置と高さと幅とを指定する別のコマンドのパラメータを参照することによって、そのオブジェクト領域を特定可能である。S220では、特定されたオブジェクト領域から、未処理のオブジェクト領域を注目オブジェクト領域として選択する。

0050

S230では、プロセッサ110は、注目オブジェクト領域のオブジェクトを描画するためのコマンド(「注目コマンド」と呼ぶ)の全てが解釈可能であるか否かを判断する。例えば、注目オブジェクト領域が、図3のオブジェクトO1、O2を表す領域に含まれる場合、S230の判断結果は「Yes」である。判断結果が「Yes」である場合、S250で、プロセッサ110は、注目オブジェクト領域の印刷データの生成に利用すべき入力画像データとして、入力ベクタデータを選択する。すなわち、プロセッサ110は、図4の処理で生成される注目バンドラスタデータのうち注目オブジェクト領域に対応するデータとして、入力ベクタデータのラスタライズによって生成されたラスタデータのうちの注目オブジェクト領域に対応するデータ(第1注目ラスタデータと呼ぶ)を採用する。第1注目ラスタデータは、注目コマンドに従うラスタライズによって生成されるラスタデータである。例えば、図3の例では、図4の処理で生成される注目バンドラスタデータのうちオブジェクトO1、O2を表すオブジェクト領域に対応するデータとして、第1注目ラスタデータが採用される。そして、処理は、S290に移行する。

0051

注目コマンドが、1個以上の解釈不可能なコマンドを含む場合、S230の判断結果は「No」である。例えば、注目オブジェクト領域が、図3の第3オブジェクトO3を表す領域である場合、判断結果は「No」である。判断結果が「No」である場合、S270で、プロセッサ110は、入力ラスタデータを通信端末200に要求し、そして、通信端末200から入力ラスタデータを取得する。

0052

なお、本実施例では、通信端末200のプロセッサ210は、図2のS20、S30を、バンド毎に進行する。すなわち、プロセッサ210は、1つのバンドのラスタライズが完了したら、次のバンドのラスタライズの完了を待たずに、生成したラスタデータを画像処理装置100に送信する。従って、画像処理装置100のプロセッサ110は、入力ラスタデータの全体の生成完了を待たずに、入力ラスタデータのうちの注目バンド内の注目オブジェクト領域に対応するデータ(第2注目ラスタデータと呼ぶ)を取得したことに応じて、処理を進行できる。

0053

また、本実施例では、入力ラスタデータは、圧縮されている(例えば、パックビッツ圧縮)。従って、S272では、プロセッサ110は、取得した第2注目ラスタデータを解凍する。入力ラスタデータが圧縮されていない場合には、S272は省略可能である。なお、本実施例では、通信端末200によって生成される入力ラスタデータの画素密度は、プリンタ部190による印刷のための処理画素密度と同じとは限らない。入力ラスタデータの画素密度が処理画素密度と異なる場合、プロセッサ110は、S272で、第2注目ラスタデータの画素密度を処理画素密度に変更する処理(例えば、画像の拡大または縮小)を行って、処理画素密度の第2注目ラスタデータを生成すればよい。

0054

図3の中段の右側の第2ラスタ画像IMrは、入力ラスタデータによって表される画像を示している。第2ラスタ画像IMrは、入力画像IMiと同じく、3個のオブジェクトO1、O2、O3を表している。

0055

図4のS280では、プロセッサ110は、注目オブジェクト領域の印刷データの生成に利用すべき入力画像データとして、入力ラスタデータを選択する。すなわち、プロセッサ110は、図4の処理で生成される注目バンドラスタデータのうち注目オブジェクト領域に対応するデータとして、第2注目ラスタデータ(すなわち、入力ラスタデータのうち注目オブジェクト領域に対応するデータ)を採用する。例えば、図3の例では、図4の処理で生成される注目バンドラスタデータのうち第3オブジェクトO3を表すオブジェクト領域に対応するデータとして、第2注目ラスタデータが採用される。そして、処理は、S290に移行する。

0056

S290では、プロセッサ110は、注目バンド内の全てのオブジェクト領域の処理が完了したか否かを判断する。未処理のオブジェクト領域が残っている場合(S290:No)、プロセッサ110は、S220に移行し、未処理のオブジェクト領域の処理を実行する。

0057

全てのオブジェクト領域の処理が完了した場合(S290:Yes)、S295で、プロセッサ110は、S250、S280で選択された第1または第2の注目ラスタデータを合成することによって、注目バンドラスタデータを生成する。そして、図4の処理が終了し、処理は、図2のS130に移行する。

0058

図3下段出力画像IMoは、順次生成される注目バンドラスタデータによって表される画像(印刷データによって表される画像と同じ)を示している。出力画像IMoは、入力画像IMiと同じく、3個のオブジェクトO1、O2、O3を表している。図中の中段の第1ラスタ画像IMvと第2ラスタ画像IMrとのオブジェクト領域のうち、二重線で囲まれるオブジェクト領域は、出力画像IMoの生成に利用される領域を示している。図3の例では、出力画像IMoを表すデータ(注目バンドラスタデータ)のうち、オブジェクトO1、O2を表す領域に対応するデータとしては、第1ラスタ画像IMvのオブジェクトO1、O2を表すデータ(すなわち、入力ベクタデータのラスタライズによって生成されるラスタデータ)が採用される。また、出力画像IMoを表すデータのうち、第3オブジェクトO3を表す領域に対応するデータとしては、第2ラスタ画像IMrの第3オブジェクトO3を表すデータ(すなわち、入力ラスタデータ)が採用される。

0059

以上のように、本実施例では、注目オブジェクト領域のオブジェクトを描画するための注目コマンドが解釈可能な場合に(図4:S230:Yes)、プロセッサ110は、注目コマンドを用いて印刷データのうち注目オブジェクト領域に対応する部分を生成する(図4:S250、S295、図2:S130、S140)。また、注目コマンドが解釈不可能なコマンドを含む場合(S230:No)、プロセッサ110は、印刷データの生成を中止せずに、入力ラスタデータのうち注目オブジェクト領域に対応する第2注目ラスタデータを用いて、印刷データのうち注目オブジェクト領域に対応する部分を生成する(図4:S280、S295、図2:S130、S140)。従って、注目コマンドが解釈不可能なコマンドを含む場合であっても、印刷データによって表されるブジクトが入力画像のオブジェクトと異なることや印刷中止等の不具合を抑制できる。

0060

また、通信端末200によって生成される入力ラスタデータの画質は、通信端末200の処理能力に依存して変化し得る。例えば、通信端末200の処理能力が低い場合には、低画質の入力ラスタデータが生成される場合がある。例えば、通信端末200によって生成される入力ラスタデータの画素密度が処理画素密度よりも低くて、オブジェクトのエッジぼやけた入力ラスタデータが生成される場合がある。ここで、仮に、画像処理装置100が入力ベクタデータを用いずに入力ラスタデータを用いて画像を印刷する場合、低画質の画像が印刷される場合がある。本実施例では、特定の条件が満たされる場合(本実施例では、注目コマンドが解釈可能な場合)、プロセッサ110は、プロセッサ110によるラスタライズ処理によって生成された第1注目ラスタデータを用いるので、通信端末200の処理能力に拘わらずに、画像処理装置100(ここでは、プロセッサ110)の処理能力を活用することによって高画質な印刷データを生成できる。

0061

なお、本実施例では、全てのオブジェクトの全てのコマンドが解釈可能な場合には、プロセッサ110は、入力ラスタデータを通信端末200に要求せずに、入力ラスタデータを用いずに、印刷データを生成する。この場合、通信端末200は、図2のS20、S30を実行しない。

0062

B.第2実施例:
図6は、ラスタライズの別の実施例のフローチャートである。図4の実施例との差異は、2点ある。第1の差異は、図4のS270、S272が省略され、そして、入力ベクタデータと入力ラスタデータとの一方を選択するための条件判断よりも前に、入力ラスタデータを取得する処理(S203、S206)が実行されている点である。第2の差異は、条件判断のためのS230が、類似条件を用いて条件判断を行うための処理(S264、S266)に置換されている点である。図6の他の処理は、図4の処理と同じである。図6のステップのうち、図4のステップと同じステップには、同じ符号を付して、その説明を省略する。図6のラスタライズは、図2のS120に適用される。画像処理を実行する画像処理システムのハードウェア構成は、図1の構成と同じである。

0063

図6の実施例では、S203、S206が、S200とS210との間に実行される。S203では、プロセッサ110(図1)は、入力ラスタデータを通信端末200に要求し、そして、通信端末200から入力ラスタデータ(特に入力ラスタデータのうちの注目バンドに対応するデータ)を取得する。S206では、プロセッサ110は、取得した注目バンドのラスタデータを、解凍する。入力ラスタデータが圧縮されていない場合には、S206は省略可能である。なお、S200は、S203とS206の間に実行されてもよく、S206の後に実行されてもよい。また、S210は、S203とS206との間、または、S200とS203との間に実行されてもよい。

0064

図7は、第2実施例で処理される画像の例を示す概略図である。図中の上段の画像IMi2は、入力画像IMi2を示している。この入力画像IMi2は、3個のオブジェクトO1、O2a、O3aを表している。図3の入力画像IMiとの差異は、2つある。第1の差異は、第2オブジェクトO2aが、複数の要素(例えば、文字、矩形、円など)を各要素の不透明度に応じて重ね合わせることによって得られる画像を表している点である。第2の差異は、第3オブジェクトO3aが、第1オブジェクトO1と同様に、画像処理装置100によるラスタライズによって適切に描画される点である。

0065

図7の中段の左側の第1ラスタ画像IMv2は、入力ベクタデータのラスタライズによって生成されるラスタデータによって表される画像を示している。第1ラスタ画像IMv2は、3個のオブジェクトO1、O2ax、O3aを表している。2個のオブジェクトO1、O3aは、入力画像IMi2のオブジェクトO1、O3aと、それぞれ同じである。第2オブジェクトO2axは、入力画像IMi2の第2オブジェクトO2aと若干異なっている。具体的には、複数の要素が重なる部分の色が、入力画像IMi2の色とは異なる色に設定されている。このような不適切なラスタライズは、例えば、第2オブジェクトO2aを描画するためのコマンドが複雑な計算式による重ね合わせを表す場合に、計算のエラーによって生じ得る。

0066

図7の例では、第2オブジェクトO2aを描画するコマンドは、「/SMask」を含んでいる。「/SMask」は、ソフトマスクとも呼ばれ、画像内の位置に応じて変化し得る不透明度を設定するコマンドである。「/SMask」は、複数の要素を各要素の不透明度に応じて重ね合わせる場合に、利用される。複数の要素が重なる領域の色値の計算式として、不透明度を用いる種々の計算式を利用可能である(そのような計算式は、ブレンドモードとも呼ばれる)。そのような計算式は、計算式を指定するための描画コマンドを用いることによって、指定可能である。ここで、複雑な計算式が指定される場合、計算エラーによって不適切な色値が算出される場合がある。

0067

図7の中段の右側の第2ラスタ画像IMr2は、入力ラスタデータによって表される画像を示している。第2ラスタ画像IMr2は、入力画像IMi2と同じく、3個のオブジェクトO1、O2a、O3aを表している。そのため、本実施例では、プロセッサ110は、第1ラスタ画像IMv2と第2ラスタ画像IMr2との差の度合いを用いて、第1ラスタ画像IMv2が適切にラスタライズされたか否かを判断する。

0068

具体的に、図6のS220で注目オブジェクト領域が選択された後、S264で、プロセッサ110は、第1注目ラスタデータによって表される第1注目ラスタ画像と、第2注目ラスタデータによって表される第2注目ラスタ画像と、を比較して、第1注目ラスタ画像と第2注目ラスタ画像との差の度合いを算出する。ここで、第1注目ラスタデータは、入力ベクタデータのラスタライズによって生成されたラスタデータのうちの注目オブジェクト領域に対応するデータである。すなわち、第1注目ラスタデータは、注目コマンドのラスタライズによって生成されるラスタデータである。第2注目ラスタデータは、入力ラスタデータのうちの注目オブジェクト領域に対応するデータである。

0069

本実施例では、差の度合いとして、赤Rと緑Gと青Bとのそれぞれの色値のヒストグラムの形状の差の度合いが採用される。具体的には、プロセッサ110は、第1注目ラスタ画像と第2注目ラスタ画像とのそれぞれに対して、赤Rと緑Gと青Bとの3つの色値の3つのヒストグラムを作成する。プロセッサ110は、2個の注目ラスタ画像の間で同じ色成分のヒストグラムの同じ色値の頻度を比較して、頻度の差分の絶対値を算出する。プロセッサ110は、ヒストグラムの全ての色値の頻度の差分の絶対値を足し合わせることによって、合計値を算出する。ゼロの合計値は、2つのヒストグラムの間で分布の形状が同一であることを示している。合計値が小さいほど、2つのヒストグラムの間で分布の形状の差が小さい。すなわち、2個の注目ラスタ画像が類似している場合には、合計値は小さい。プロセッサ110は、3つの色成分の3つの合計値の和を、2個の注目ラスタ画像の間の差の度合いとして算出する。例えば、注目オブジェクト領域が第1オブジェクトO1(図7)を表す場合には、第1ラスタ画像IMv2の第1オブジェクトO1と第2ラスタ画像IMr2の第1オブジェクトO1とは類似しているので、差の度合いが小さい。その場合、第1ラスタ画像IMv2中の第1オブジェクトO1が適切にラスタライズされた可能性が高い。注目オブジェクト領域が第2オブジェクトO2aを表す場合、第1ラスタ画像IMv2の第2オブジェクトO2axと第2ラスタ画像IMr2の第2オブジェクトO2aとの間に差があるので、差の度合いが大きい。その場合、第1ラスタ画像IMv2中の第2オブジェクトO2axが適切にラスタライズされなかった可能性が高い。注目オブジェクト領域が第3オブジェクトO3aを表す場合、第1ラスタ画像IMv2の第3オブジェクトO3aと第2ラスタ画像IMr2の第3オブジェクトO3aとは類似しているので、差の度合いは小さい。なお、このような差の度合いは、2個の画像の間の類似度を示している、ということもできる。

0070

図6のS266では、プロセッサ110は、第1注目ラスタ画像と第2注目ラスタ画像とが、予め決められた類似条件を満たしているか否かを判断する。本実施例では、類似条件は、S264で算出された差の度合いが、予め決められた類似閾値よりも小さいことである。類似条件が満たされる場合(S266:Yes)、プロセッサ110は、S250で入力ベクタデータを選択し、S290に移行する。類似条件が満たされない場合(S266:No)、プロセッサ110は、S280で入力ラスタデータを選択し、S290に移行する。S290以降の処理は、図4の実施例と同じである。

0071

図7の下段の出力画像IMo2は、順次生成される注目バンドラスタデータによって表される画像(印刷データによって表される画像と同じ)を示している。出力画像IMo2は、入力画像IMi2と同じく、3個のオブジェクトO1、O2a、O3aを表している。図7の例では、出力画像IMo2を表すデータ(注目バンドラスタデータ)のうち、第1オブジェクトO1と第3オブジェクトO3aとを表す領域に対応するデータとしては、第1ラスタ画像IMv2の第1オブジェクトO1と第3オブジェクトO3aとを表すデータ(すなわち、入力ベクタデータのラスタライズによって生成されるラスタデータ)が採用される。また、注目バンドラスタデータのうち、第2オブジェクトO2aを表す領域に対応するデータとしては、第2ラスタ画像IMr2の第2オブジェクトO2aを表すデータ(すなわち、入力ラスタデータ)が採用される。

0072

以上のように、第1注目ラスタ画像と第2注目ラスタ画像とが類似条件を満たす場合(S266:Yes)、プロセッサ110は、印刷データのうち注目オブジェクト領域に対応する部分を、第1注目ラスタデータを用いて生成する(図6:S250、S295、図2:S130、S140)。第1注目ラスタデータは、入力ベクタデータに含まれる注目コマンドのラスタライズによって生成されたデータである。従って、プロセッサ110は、プロセッサ110によるラスタライズの処理能力を活用することによって、高画質な印刷データを生成できる。

0073

第1注目ラスタ画像と第2注目ラスタ画像とが類似条件を満たさない場合(S266:No)、プロセッサ110は、印刷データのうち注目オブジェクト領域に対応する部分を、第2注目ラスタデータを用いて生成する(図6:S280、S295、図2:S130、S140)。第2注目ラスタデータは、入力ラスタデータのうちの注目オブジェクト領域に対応する部分である。従って、プロセッサ110は、注目コマンドを適切に処理できない場合であっても、印刷データによって表されるオブジェクトが入力画像のオブジェクトと異なることや印刷中止等の不具合を抑制できる。

0074

C.第3実施例:
図8は、ラスタライズの別の実施例のフローチャートである。図4の実施例との差異は、S230の判断結果が「Yes」である場合に実行され得るS240、S260、S262、S264、S266が追加されている点だけである。図8の他の処理は、図4の処理と同じである。図8のステップのうち、図4のステップと同じステップには、同じ符号を付して、その説明を省略する。図8のラスタライズは、図2のS120に適用される。画像処理を実行する画像処理システムのハードウェア構成は、図1の構成と同じである。

0075

注目コマンドが解釈可能である場合(S230:Yes)、S240で、プロセッサ110は、注目コマンドが描画可能条件を満たすか否かを判断する。図9は、コマンドの分類例を示す表である。図5の実施例とは異なり、解釈可能なコマンドは、さらに、描画可能なコマンドと、要素を正しく描画できない場合があるコマンドと、に分類されている。以下、描画可能なコマンドを「描画可能コマンド」とも呼ぶ。また、要素を正しく描画できない場合があるコマンド、すなわち、要素を正しく描画できるか否かが確定していないコマンドを、「未確定コマンド」とも呼ぶ。本実施例では、「/SMask」と「/Group」と「/ICCBased」とは、解釈可能であり、かつ、未確定なコマンドである。解釈不可能なコマンドは、図5の実施例と同じである。解釈可能なコマンドのうち、未確定コマンドを除いた残りの全てのコマンドは、描画可能である。

0076

「/SMask」は、上記の通り、不透明度を設定するコマンドである。「/Group」は、複数の要素を重ね合わせる場合の連続的に重なるグループを規定するコマンドである。「/ICCBased」は、ICCプロファイルに従って色変換を行うコマンドである。本実施例では、これらのコマンドは、解釈可能であるが、未確定コマンドである。例えば、「/SMask」が用いられる場合には、図7で説明したように、複雑な計算式に起因して不適切な色値が算出される場合がある。「/Group」が用いられる場合も、同様に、複数の要素が重なる部分の色値の計算式が複雑になって、不適切な色値が算出される場合がある。「/ICCBased」が用いられる場合には、プリンタ部190が、ICCプロファイルによって規定される色空間の一部の色を印刷できない場合がある。

0077

本実施例では、図8のS240で判断される描画可能条件は、注目コマンドの全てが描画可能であることである。例えば、注目オブジェクト領域が、図7の第1オブジェクトO1を表す領域に含まれる場合、S240の判断結果は「Yes」である。判断結果が「Yes」である場合、プロセッサ110は、S250に移行する。S250に続く処理は、図4の実施例と同じである。

0078

注目コマンドが、未確定コマンドを含む場合、注目コマンドは、描画可能条件を満たしていない(S240:No)。例えば、注目オブジェクト領域が、図7の第2オブジェクトO2aを表す領域に含まれる場合、判断結果は「No」である。判断結果が「No」である場合、プロセッサ110は、S260で入力ラスタデータ(特に、注目オブジェクト領域に対応する第2注目ラスタデータ)を取得し、S262で、入力ラスタデータを解凍する。これらのS260、S262は、図4のS270、S272と、それぞれ同じである。

0079

第2注目ラスタデータを取得した後、プロセッサ110は、第1注目ラスタ画像と第2注目ラスタ画像とが類似条件を満たしているか否かを判断する(S264、S266)。判断のためのS264、S266は、図6のS264、S266と、それぞれ同じである。

0080

類似条件が満たされる場合(S266:Yes)、プロセッサ110は、S250に移行する。S250に続く処理は、図4の実施例と同じである。類似条件が満たされない場合、プロセッサ110は、S280に移行する。S280に続く処理は、図4の実施例と同じである。

0081

以上のように、注目コマンドが、解釈可能、かつ、描画可能条件を満たす場合(S230:Yes、S240:Yes)、プロセッサ110は、注目コマンド(すなわち、第1注目ラスタデータ)を用いて印刷データのうち注目オブジェクト領域に対応する部分を生成する(図8:S250、S295、図2:S130、S140)。従って、プロセッサ110は、プロセッサ110によるラスタライズの処理能力を活用することによって、高画質な印刷データを生成できる。

0082

また、注目コマンドが、解釈可能であるとともに描画可能条件を満たさず(S230:Yes、S240:No)、かつ、第1注目ラスタ画像と第2注目ラスタ画像とが類似条件を満たす場合(S266:Yes)、プロセッサ110は、注目コマンド(すなわち、第1注目ラスタデータ)を用いて印刷データのうち注目オブジェクト領域に対応する部分を生成する(図8:S250、S295、図2:S130、S140)。このように、注目コマンドが描画可能条件を満たしていない場合であっても、注目コマンドのラスタライズによって得られる第1注目ラスタ画像が適切な画像を表している場合には、第1注目ラスタデータが用いられる。従って、プロセッサ110は、プロセッサ110によるラスタライズの処理能力を活用することによって、高画質な印刷データを生成できる。例えば、プロセッサ110は、図7の第2オブジェクトO2aを描画するコマンドを適切にラスタライズできる場合には、印刷データのうちの第2オブジェクトO2aに対応する部分を、入力ベクタデータのラスタライズによって生成されるラスタデータを用いて、生成する。

0083

また、注目コマンドが解釈不可能なコマンドを含む場合(S230:No)、プロセッサ110は、入力ラスタデータのうち注目オブジェクト領域に対応する第2注目ラスタデータを用いて、印刷データのうち注目オブジェクト領域に対応する部分を生成する(図8:S280、S295、図2:S130、S140)。従って、注目コマンドが解釈不可能なコマンドを含む場合であっても、印刷データによって表されるオブジェクトが入力画像のオブジェクトと異なることや印刷中止等の不具合を抑制できる。

0084

また、注目コマンドが解釈可能であるとともに描画可能条件を満たさず(S230:Yes、S240:No)、かつ、第1注目ラスタ画像と第2注目ラスタ画像とが類似条件を満たさない場合(S266:No)、プロセッサ110は、第2注目ラスタデータを用いて、印刷データのうち注目オブジェクト領域に対応する部分を生成する(図8:S280、S295、図2:S130、S140)。従って、プロセッサ110は、注目コマンドを適切に処理できない場合であっても、印刷データによって表されるオブジェクトが入力画像のオブジェクトと異なることや印刷中止等の不具合を抑制できる。

0085

なお、通信端末としては、入力ラスタデータを生成する機能が実装されておらず、入力ベクタデータのみを画像処理装置100に供給する端末が利用されてもよい。この場合、画像処理装置100のプロセッサ110は、入力ラスタデータを用いずに、入力ベクタデータのラスタライズによって生成されるラスタデータを用いて、印刷データを生成すればよい。入力ベクタデータが解釈不可能なコマンドを含む場合、プロセッサ110は、解釈不可能なコマンドによって表されるオブジェクト領域を空欄にすればよい。入力ベクタデータが未確定コマンドを含む場合には、プロセッサ110は、その未確定コマンドのラスタライズによって得られるラスタデータを用いて、印刷データを生成すればよい。こうすれば、印刷される画像からのオブジェクトの欠落を抑制できる。一方、本実施例のように入力ラスタデータと入力ベクタデータとの両方を利用可能な場合には、プロセッサ110は、未確定コマンドのラスタライズの結果が不適切である場合(S266:No)に入力ラスタデータを用いるので、不適切な印刷データが生成されることを抑制できる。

0086

D.第4実施例:
図10は、ラスタライズの別の実施例のフローチャートである。図8の実施例との差異は、類似条件を判断するための処理(S260、S262、S264、S266)が省略されている点だけである。S240の判断結果が「No」である場合、処理は、S270に移行する。図10の他の処理は、図8の処理と同じである。図10のステップのうち、図8のステップと同じステップには、同じ符号を付して、その説明を省略する。図10のラスタライズは、図2のS120に適用される。画像処理を実行する画像処理システムのハードウェア構成は、図1の構成と同じである。

0087

本実施例では、以下の2つの場合の処理は、図8の実施例と同じである。
(第1の場合)注目コマンドが、解釈可能、かつ、描画可能条件を満たす場合(S230:Yes、S240:Yes)の処理。
(第2の場合)注目コマンドが解釈不可能なコマンドを含む場合(S230:No)の処理。
従って、図8の実施例と同様に、第1の場合には、プロセッサ110は、プロセッサ110によるラスタライズの処理能力を活用することによって、高画質な印刷データを生成できる。また、第2の場合には、プロセッサ110は、注目コマンドが解釈不可能なコマンドを含む場合であっても、入力ラスタデータを用いることによって、印刷データによって表されるオブジェクトが入力画像のオブジェクトと異なることや印刷中止等の不具合を抑制できる。

0088

さらに、本実施例では、注目コマンドが、解釈可能でありつつも描画可能条件を満たさない場合(S230:Yes、S240:No)、プロセッサ110は、入力ラスタデータのうち注目オブジェクト領域に対応する第2注目ラスタデータを用いて、印刷データのうち注目オブジェクト領域に対応する部分を生成する(図10:S280、S295、図2:S130、S140)。従って、プロセッサ110は、注目コマンドを正しくラスタライズできない可能性がある場合に、入力ラスタデータを用いることによって、印刷データによって表されるオブジェクトが入力画像のオブジェクトと異なることや印刷中止等の不具合を抑制できる。

0089

E.第5実施例:
図11は、ラスタライズの別の実施例のフローチャートである。図8の実施例との差異は、描画可能条件を判断するS240が省略されている点だけである。S230の判断結果が「Yes」である場合、処理は、S260に移行する。図11の他の処理は、図8の処理と同じである。図11のステップのうち、図8のステップと同じステップには、同じ符号を付して、その説明を省略する。図11のラスタライズは、図2のS120に適用される。画像処理を実行する画像処理システムのハードウェア構成は、図1の構成と同じである。

0090

本実施例では、注目コマンドが解釈不可能なコマンドを含む場合(S230:No)の処理は、図8図10の実施例と同じく、入力ラスタデータのうちの第2注目ラスタデータが用いられる。従って、プロセッサ110は、注目コマンドが解釈不可能なコマンドを含む場合であっても、印刷データによって表されるオブジェクトが入力画像のオブジェクトと異なることや印刷中止等の不具合を抑制できる。

0091

また、注目コマンドが解釈可能である場合(S230:Yes)、図8の実施例のS260〜S266と同様に、類似条件が満たされるか否かに応じて、注目オブジェクト領域の印刷データの生成に用いられる注目ラスタデータが選択される。従って、注目コマンドのラスタライズによって得られる第1注目ラスタ画像が適切な画像を表している場合には(S266:Yes)、第1注目ラスタデータを用いることによって、高画質な印刷データを生成できる。また、注目コマンドのラスタライズによって得られる第1注目ラスタ画像が適切な画像を表していない場合には(S266:No)、第2注目ラスタデータを用いることによって、印刷データによって表されるオブジェクトが入力画像のオブジェクトと異なることや印刷中止等の不具合を抑制できる。

0092

F.第6実施例:
図12は、ラスタライズの別の実施例のフローチャートである。図11の実施例との差異は、注目コマンドが解釈可能か否かを判断するS230が、描画可能条件を判断するS240に置換されている点だけである。S240の判断結果が「Yes」である場合、処理は、S260に移行する。S240の判断結果が「No」である場合、処理は、S270に移行する。図12の他の処理は、図11の処理と同じである。図12のステップのうち、図11のステップと同じステップには、同じ符号を付して、その説明を省略する。図12のラスタライズは、図2のS120に適用される。画像処理を実行する画像処理システムのハードウェア構成は、図1の構成と同じである。

0093

図8の実施例と同様に、描画可能条件は、注目コマンドの全てが描画可能であることである。従って、注目コマンドが未確定コマンドを含む場合には、S240の判断結果は「No」である。

0094

本実施例では、注目コマンドが描画可能条件を満たす場合(S240:Yes)、図8図11の実施例のS260〜S266と同様に、類似条件が満たされるか否かに応じて、注目オブジェクト領域の印刷データの生成に用いられる注目ラスタデータが選択される。従って、注目コマンドのラスタライズによって得られる第1注目ラスタ画像が適切な画像を表している場合には(S266:Yes)、第1注目ラスタデータを用いることによって、高画質な印刷データを生成できる。また、注目コマンドのラスタライズによって得られる第1注目ラスタ画像が適切な画像を表していない場合には(S266:No)、第2注目ラスタデータを用いることによって、印刷データによって表されるオブジェクトが入力画像のオブジェクトと異なることや印刷中止等の不具合を抑制できる。

0095

また、注目コマンドが描画可能条件を満たさない場合(S240:No)、入力ラスタデータのうちの第2注目ラスタデータを用いることによって、印刷データによって表されるオブジェクトが入力画像のオブジェクトと異なることや印刷中止等の不具合を抑制できる(S280、S295)。

0096

また、本実施例では、注目コマンドが解釈可能か否かに拘わらずに、S250が実行されるためには、類似条件が満たされることが必要である。従って、注目コマンドのラスタライズの不具合に起因して不適切な印刷データが生成されることを抑制できる。

0097

G.変形例:
(1)入力ベクタデータ(第1種入力画像データ)としては、PDFの画像データに代えて、描画コマンドとパラメータとを含むベクタ形式のデータを含む他の種々の形式の画像データを採用可能である。例えば、画像処理装置100に固有な描画コマンドを含む画像データを採用してもよい。

0098

また、入力ラスタデータ(第2種入力画像データ)としては、PWGの画像データに代えて、ベクタ形式のデータを含まずにラスタ形式のデータを含む他の種々の形式の画像データを採用可能である。例えば、ハーフトーン処理済の画像を表しプリンタ部190によって利用可能な形式の画像データ(すなわち、印刷データ)を採用してもよい。

0099

このような入力ベクタデータと入力ラスタデータとを用いれば、プリンタ部に適した印刷データを生成できる。

0100

(2)解釈可能な描画コマンドとしては、図5で説明したコマンドに代えて、他の種々のコマンドを採用可能である。また、一般的には、注目コマンドが解釈可能か否かを判断するための条件としては、注目コマンドの全てが、予め決められた1個以上の解釈可能なコマンドに含まれることを採用可能である。解釈可能なコマンドとしては、画像処理装置100にコマンドに応じた処理が実装されているコマンドを採用可能である。

0101

(3)描画可能条件としては、図9で説明したように、注目コマンドの全てが、予め決められた1個以上の描画可能なコマンドに含まれることを採用可能である。この代わりに、プロセッサ110は、描画コマンドの解析結果に基づいて描画可能条件が満たされるか否かを判断してもよい。

0102

例えば、注目コマンドが、テキストを描画するコマンド(「テキストコマンド」と呼ぶ)と、テキストコマンドのパラメータとして、描画される文字列と、フォントを指定する情報と、を含む場合がある。指定されたフォントのデータが利用可能である場合(例えば、フォントのデータが、画像処理装置100の記憶装置に予め格納されている、または、入力ベクタデータに埋め込まれている場合)、プロセッサ110は、テキストコマンドに従って、適切に文字列を描画できる。指定されたフォントのデータが利用可能ではない場合、プロセッサ110は、利用可能な代替フォントを用いて、文字列を描画可能である。しかし、指定されたフォントが特殊なフォントである場合、代替フォントを用いたとしても文字列を適切に描画できない場合がある。

0103

そこで、プロセッサ110は、注目コマンドがテキストコマンドを含む場合には、指定されたフォントのデータが利用可能であるか否かを判断する。そして、プロセッサ110は、指定されたフォントのデータが利用可能である場合、テキストコマンドは描画可能条件を満たすと判断してもよい。そして、プロセッサ110は、指定されたフォントのデータが利用可能ではない場合、テキストコマンドは描画可能条件を満たさないと判断してもよい。

0104

(4)類似条件としては、ヒストグラムを用いる条件に代えて、2個の注目ラスタ画像が類似していることを示す他の種々の条件を採用可能である。例えば、プロセッサ110は、パターンマッチングによって、2個の注目ラスタ画像が類似しているか否か(すなわち、類似条件が満たされるか否か)を判断してもよい。パターンマッチングによる判断方法としては、公知の方法を採用可能である。例えば、プロセッサ110は、各注目ラスタ画像から特徴点(例えば、エッジライン端点分岐点など)を抽出し、抽出された特徴点から、2個の注目ラスタ画像の両方の同じ位置に配置された特徴点(「同位置特徴点」と呼ぶ)を抽出する。そして、プロセッサ110は、特徴点の総数に対する同位置特徴点の総数の割合を算出する。ここで、プロセッサ110は、算出された割合が、所定の閾値以上であることを、類似条件として採用してもよい。

0105

(5)入力ベクタデータを用いて印刷データを生成するための第1条件としては、上記各実施例の条件に代えて、他の種々の条件を採用可能である。例えば、注目コマンドが描画可能コマンドであることを、第1条件として採用してもよい。

0106

入力ラスタデータを用いて印刷データを生成するための第2条件としては、上記各実施例の条件に代えて、他の種々の条件を採用可能である。例えば、注目コマンドが未確定コマンドを含むことを、第2条件として採用してもよい。

0107

(6)印刷処理の手順としては、上記各実施例の手順に代えて、他の種々の手順を採用可能である。例えば、図4図6図8図10図11図12の処理において、プロセッサ110は、横方向に延びる1本の画素ラインの処理を繰り返してもよい。また、プロセッサ110は、バンドや画素ラインの処理を繰り返すのではなく、画像の全体を一括して処理してもよい。また、オブジェクト領域を特定する方法(S210)としては、入力ベクタデータを解析する方法に代えて、入力ラスタデータを解析する方法を採用してもよい。ラスタデータの解析によってオブジェクト領域を特定する方法としては、公知の方法を採用可能であり、例えば、以下の方法を採用可能である。ラスタデータによって表されるラスタ画像を複数の処理領域(例えば、矩形領域)に分割し、処理領域毎に特定の色成分の色値(例えば、輝度値)の分散を算出する。そして、分散が所定の閾値(「オブジェクト閾値」と呼ぶ)よりも小さい処理領域を「背景」に分類し、分散がオブジェクト閾値以上の処理領域を「オブジェクト」に分類する。そして、オブジェクトに分類された処理領域が連続することによって構成される1つの連続な領域を、1つのオブジェクト領域として決定する。

0108

(7)入力ベクタデータと入力ラスタデータとを用いる画像データの生成処理は、印刷データの生成に限らず、一般的に、画像出力装置に画像を出力させるための出力データの生成に適用可能である。例えば、画像出力装置は、画像を表示する画像表示装置(例えば、液晶ディスプレイ)であってよく、出力データは、画像表示装置に画像を表示させるための画像データであってもよい。

0109

(8)上記実施例において、プリンタ部190は、画像処理装置100に接続された、画像処理装置100とは異なる別の装置であってもよい。また、ネットワークを介して互いに通信可能な複数の装置(例えば、コンピュータ)が、画像処理装置による画像処理の機能を一部ずつ分担して、全体として、画像処理の機能を提供してもよい(これらの装置を備えるシステムが画像処理装置に対応する)。

0110

上記各実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部あるいは全部をハードウェアに置き換えるようにしてもよい。例えば、図1の画像処理装置100のプロセッサ110の機能を、専用のハードウェア回路によって実現してもよい。

0111

また、本発明の機能の一部または全部がコンピュータプログラムで実現される場合には、そのプログラムは、コンピュータ読み取り可能な記録媒体(例えば、一時的ではない記録媒体)に格納された形で提供することができる。プログラムは、提供時と同一または異なる記録媒体(コンピュータ読み取り可能な記録媒体)に格納された状態で、使用され得る。「コンピュータ読み取り可能な記録媒体」は、メモリーカードCD−ROMのような携帯型の記録媒体に限らず、各種ROM等のコンピュータ内の内部記憶装置や、ハードディスクドライブ等のコンピュータに接続されている外部記憶装置も含んでいる。

0112

以上、実施例、変形例に基づき本発明について説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨並びに特許請求の範囲を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれる。

0113

100...画像処理装置、110...プロセッサ、120...揮発性記憶装置、130...不揮発性記憶装置、132...プログラム、160...通信インタフェース、190...プリンタ部、200...通信端末、210...プロセッサ、220...揮発性記憶装置、230...不揮発性記憶装置、232...プログラム、240...表示部、250...操作部、260...通信インタフェース、300...ネットワーク、1000...画像処理システム、IMi、IMi2...入力画像、IMv、IMv2...第1ラスタ画像、IMr、IMr2...第2ラスタ画像、IMo、IMo2...出力画像、O1...第1オブジェクト、O2a、O2ax...第2オブジェクト、O3、O3a...第3オブジェクト、Bg...背景

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ