説明

画像処理装置、画像処理システム、及び画像処理方法

【課題】原稿より読み取られた画像の出力態様を効率化すること。
【解決手段】ネットワークを介して接続される画像形成装置において読み取られた画像データを受信し、画像データ記憶手段に記録する画像データ受信手段と、前記画像データ記憶手段に記録された前記画像データに含まれる複数の画像について、所定の配置領域に対するレイアウトを生成するレイアウト生成手段と、前記レイアウトが所定の条件を満たす場合に前記レイアウトに従って前記画像が配置されたレイアウト画像データを生成するレイアウト画像生成手段と、前記レイアウト画像データを前記画像形成装置に印刷させる印刷制御手段とを有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置、画像処理システム、及び画像処理方法に関し、特に原稿より読み取られた画像を出力させる画像処理装置、画像処理システム、及び画像処理方法に関する。
【背景技術】
【0002】
従来、複写機を利用して原稿を等倍で複写する場合、原稿1枚に対して1枚の複写物が得られる。但し、原稿の特性上、必ずしも等倍で複写される必要の無いものもある。斯かる原稿については集約機能を利用すると便利である(例えば、特許文献1)。集約機能によれば、複数枚の原稿を1枚に収めることができる。その結果、用紙やトナー等を節約することができると共に、複写物の枚数を削減させ、携帯性を向上させることができる。
【発明の概要】
【発明が解決しようとする課題】
【0003】
しかしながら、集約機能には複写物の利便性を考慮して各種の制約が有る。例えば、集約後の原稿の配置順は、原稿の順番に従う。また、集約範囲は、1つのジョブについて入力された原稿に限定される。
【0004】
したがって、以上のような制約を課す必要のない原稿から読み取られた画像の出力(印刷)については、更なる効率化の余地が考えられる。
【0005】
本発明は、上記の点に鑑みてなされたものであって、原稿より読み取られた画像の出力態様を効率化することのできる画像処理装置、画像処理システム、及び画像処理方法の提供を目的とする。
【課題を解決するための手段】
【0006】
そこで上記課題を解決するため、本発明は、ネットワークを介して接続される画像形成装置において読み取られた画像データを受信し、画像データ記憶手段に記録する画像データ受信手段と、前記画像データ記憶手段に記録された前記画像データに含まれる複数の画像について、所定の配置領域に対するレイアウトを生成するレイアウト生成手段と、前記レイアウトが所定の条件を満たす場合に前記レイアウトに従って前記画像が配置されたレイアウト画像データを生成するレイアウト画像生成手段と、前記レイアウト画像データを前記画像形成装置に印刷させる印刷制御手段とを有する。
【0007】
このような画像処理装置では、原稿より読み取られた画像の出力態様を効率化することができる。
【発明の効果】
【0008】
本発明によれば、原稿より読み取られた画像の出力態様を効率化することができる。
【図面の簡単な説明】
【0009】
【図1】本発明の実施の形態における画像処理システムの構成例を示す図である。
【図2】本発明の実施の形態における画像形成装置のハードウェア構成例を示す図である。
【図3】本発明の実施の形態におけるユーザ端末のハードウェア構成例を示す図である。
【図4】ウィジェット、ウィジェットマネージャ、及びプロバイダアプリの機能構成例を示す図である。
【図5】スキャンレイアウトウィジェットのウィジェット情報の送信時の処理手順を説明するためのシーケンス図である。
【図6】スキャンレイアウトウィジェットのウィジェット情報の例を示す図である。
【図7】ユーザ管理テーブルの構成例を示す図である。
【図8】スキャンレイアウトウィジェット実行時の処理手順を説明するためのシーケンス図である。
【図9】ユーザ選択画面の表示例を示す図である。
【図10】ウィジェットマネージャからプロバイダアプリに送信されるスキャンレイアウトウィジェットのウィジェット情報の構成例を示す図である。
【図11】ウィジェット選択画面の表示例を示す図である。
【図12】スキャンレイアウトウィジェットのロジック部の機能構成例を示す図である。
【図13】スキャンレイアウトウィジェットのロジック部による処理手順を説明するためのフローチャートである。
【図14】単位画像の切り出し範囲の判定方法の第一の例を説明するための図である。
【図15】単位画像の切り出し範囲の判定方法の第二の例を説明するための図である。
【図16】単位画像のレイアウト生成の概要を説明するための図である。
【図17】レイアウト生成処理の概要を説明するためのフローチャートである。
【図18】FFDHによる単位画像の配置方法の一例を説明するためのフローチャートである。
【図19】単位画像の最密充填レイアウトの一例を示す図である。
【図20】配置領域に対する単位画像の配置に基づくブロック及び行の例を示す図である。
【図21】1ページ分のレイアウトデータの出力処理を説明するためのフローチャートである。
【図22】2ページ目にかかるブロックの例を示す図である。
【図23】ページレイアウトの生成処理を説明するためのフローチャートである。
【図24】ページを跨ぐブロックが有る場合に他のブロックを繰り上げて1ページ目に充填する例を示す図である。
【図25】印刷ウィジェットのウィジェット情報の送信時の処理手順を説明するためのシーケンス図である。
【図26】印刷ウィジェットのウィジェット情報の例を示す図である。
【図27】印刷ウィジェットにジョブが投入された場合のウィジェット選択画面の表示例を示す図である。
【図28】印刷ウィジェットの実行時の処理手順を説明するためのシーケンス図である。
【発明を実施するための形態】
【0010】
以下、図面に基づいて本発明の実施の形態を説明する。図1は、本発明の実施の形態における画像処理システムの構成例を示す図である。同図の画像処理システム1において、一台以上の画像形成装置10と、一台以上のユーザ端末20とは、LAN(Local Area Network)又はインターネット等のネットワーク(有線又は無線の別は問わない。)を介して接続されている。
【0011】
画像形成装置10は、スキャン、印刷、コピー、及びFAX送受信等の機能を一台の筐体によって実現する複合機である。本実施の形態において、画像形成装置10は、スキャン機能及び印刷機能の双方を備えているのが好適である。但し、スキャン機能又は印刷機能のいずれか一方を備える機器が画像形成装置10として用いられてもよい。この場合、画像処理システム1に含まれる他の画像形成装置10によって、当該機器が備えていない機能(印刷機能又はスキャン機能)が補完されればよい。
【0012】
ユーザ端末20は、ユーザが利用する個人端末であり、ソフトウェアプログラムのインストール及び実行が可能であり、通信機能を有するものであれば、特定の装置に限定されない。ユーザ端末20の具体例として、デスクトップ型のPC(Personal Computer)、ノートPC、PDA(Personal Digital Assistance)、又は携帯電話等が挙げられる。本実施の形態において、ユーザ端末20は、画像処理装置の一例として機能する。
【0013】
ユーザ端末20のソフトウェア構成について説明する。図1において、ユーザ端末20は、スキャンレイアウトウィジェット21a、印刷ウィジェット21b、ウィジェットマネージャ22、文書アプリ23、プリンタドライバ24、及びOS25等を有する。
【0014】
スキャンレイアウトウィジェット21a及び印刷ウィジェット21bは、本実施の形態において、「ウィジェット21」として総称されるアプリケーションプログラムである。近年では、ウィジェット(Widget)又はガジェット(Gadget)とよばれる手軽なアプリケーションが流通している。本実施の形態では、手軽にインストールして利用可能なアプリケーションという程度の意味においてこれらのアプリケーションをウィジェット21と呼ぶ(すなわち、技術的な意義において限定する趣旨ではない)。但し、本実施の形態において、各ウィジェット21は、画像形成装置10の機能を利用して所定の処理フロー(例えば、ワークフロー等の一連の処理フロー)を実現するという点において共通する。
【0015】
スキャンレイアウトウィジェット21aは、画像形成装置10にスキャンを実行させ、スキャンされた画像データをユーザ端末20に蓄積する。スキャンレイアウトウィジェット21aは、蓄積された画像データによって表現される複数の画像について、所定の配置領域に対するレイアウトを生成し、生成されたレイアウトによって当該複数の画像が配置された画像データを生成する。なお、「画像データによって表現される画像」とは、画像データがコンピュータによって処理されることにより、表示装置又は印刷媒体等に形成されうる2次元の情報をいう。但し、本実施の形態で「画像」というとき、当該画像の状態は、必ずしも表示装置又は印刷媒体等に形成された具体的な状態に限定されない。「画像」には、画像データ内に記録された情報によって表現される抽象的な状態の画像も含まれる。
【0016】
印刷ウィジェット21bは、所定の論理プリンタに対して生成された印刷データについて、画像形成装置10に印刷ジョブを実行させる。
【0017】
ウィジェットマネージャ22は、ウィジェット21のフレームワークとして位置付けられ、ウィジェット21と画像形成装置10との間の通信の仲介等を行う。各ウィジェット21は、ウィジェットマネージャ22によって規定されるインタフェース及び処理手順を備える必要がある。換言すれば、ウィジェットマネージャ22と協調して動作するアプリケーションが、本実施の形態におけるウィジェット21である。
【0018】
文書アプリ23は、ワープロソフト、表計算ソフト等、印刷対象となりうる電子的な文書データを作成するアプリケーションである。図中、文書アプリ23は一つのブロックによって表現されているが、文書アプリ23は、文書データのデータ形式に応じて複数の種類が存在しうる。
【0019】
プリンタドライバ24は、いわゆるプリンタドライバであり、各種の文書アプリ23によって生成された文書データに関する印刷データを生成する。印刷ウィジェット21bに対応する論理プリンタが印刷先として指定された場合、プリンタドライバ24は、当該論理プリンタに対して出力先として設定されている所定のファイル名の中間ファイルを生成し、当該中間ファイルに印刷データを出力する。
【0020】
OS25は、いわゆるOS(Operating System)である。ユーザ端末20上の各ソフトウェアは、OS25上においてプロセス又はスレッドとして動作する。
【0021】
画像形成装置10のソフトウェア構成について説明する。図1において、画像形成装置10は、標準アプリ121、SDKアプリ122、SDKプラットフォーム123、コントロールサービス124、及びOS125等を有する。
【0022】
標準アプリ121は、画像形成装置10に標準的に(出荷時に予め)実装されているアプリケーションの集合である。同図では、スキャンアプリ1211、印刷アプリ1212、コピーアプリ1213、及びFAXアプリ1214が例示されている。スキャンアプリ1211は、スキャンジョブを実行する。印刷アプリ1212は印刷ジョブを実行する。コピーアプリ1213は、コピージョブを実行する。FAXアプリ1214は、FAXの送信ジョブ又は受信ジョブを実行する。
【0023】
コントロールサービス124は、各種のハードウェアリソース等を制御するための機能を上位アプリケーション等に対して提供するソフトウェアモジュール群であり、例えば、ネットワーク通信に関する機能、スキャナの制御機能、プリンタの制御機能、メモリの管理機能等を有する。
【0024】
SDKアプリ122は、画像形成装置10の出荷後において、画像形成装置10の機能拡張を図るためのプラグインとして追加的にインストールされるアプリケーションである。同図では、SDKアプリ122として、プロバイダアプリ1221が例示されている。プロバイダアプリ1221は、ウィジェット21を画像形成装置10より操作可能とするための処理を実行する。
【0025】
SDKプラットフォーム123は、SDKアプリ122の実行環境を提供する。各SDKアプリ122は、SDKプラットフォーム123が提供するAPI(Application Program Interface)を利用して開発される。例えば、SDKプラットフォーム123は、スキャン機能を利用させるためのインタフェース、印刷機能を利用させるためのインタフェース、コピー機能を利用させるためのインタフェース等をSDKアプリ122に提供する。なお、SDKプラットフォーム123のAPIは公開されており、サードベンダ等によってもSDKアプリ122は開発されうる。
【0026】
OS125は、いわゆるOS(Operating System)である。画像形成装置10上の各ソフトウェアは、OS125上においてプロセス又はスレッドとして動作する。
【0027】
続いて、各装置のハードウェア構成について説明する。図2は、本発明の実施の形態における画像形成装置のハードウェア構成例を示す図である。図2において、画像形成装置10は、コントローラ11、スキャナ12、プリンタ13、モデム14、操作パネル15、ネットワークインタフェース16、及びSDカードスロット17等のハードウェアを有する。
【0028】
コントローラ11は、CPU111、RAM112、ROM113、及びHDD114等を有する。ROM113には、各種のプログラムやプログラムによって利用されるデータ等が記録されている。RAM112は、プログラムをロードするための記憶領域や、ロードされたプログラムのワーク領域等として用いられる。CPU111は、RAM112にロードされたプログラムを処理することにより、各種の機能を実現する。HDD114には、プログラムやプログラムが利用する各種のデータ等が記録される。
【0029】
スキャナ12は、原稿より画像データを読み取るためのハードウェアである。プリンタは13、印刷データを印刷用紙に印刷するためのハードウェアである。モデム14は、電話回線に接続するためのハードウェアであり、FAX通信による画像データの送受信を実行するために用いられる。操作パネル15は、ユーザからの入力の受け付けを行うめのボタン等の入力手段や、液晶パネル等の表示手段を備えたハードウェアである。ネットワークインタフェース16は、LAN等のネットワーク(有線又は無線の別は問わない。)に接続するためのハードウェアである。SDカードスロット17は、SDカード80に記録されたプログラムを読み取るために利用される。すなわち、画像形成装置10では、ROM113に記録されたプログラムだけでなく、SDカード80に記録されたプログラムもRAM112にロードされ、実行されうる。なお、他の記録媒体(例えば、CD−ROM又はUSB(Universal Serial Bus)メモリ等)によってSDカード80が代替されてもよい。すなわち、SDカード80の位置付けに相当する記録媒体の種類は、所定のものに限定されない。この場合、SDカードスロット17は、記録媒体の種類に応じたハードウェアによって代替されればよい。
【0030】
図3は、本発明の実施の形態におけるユーザ端末のハードウェア構成例を示す図である。図3のユーザ端末20は、それぞれバスBで相互に接続されているドライブ装置200と、補助記憶装置202と、メモリ装置203と、CPU204と、インタフェース装置205と、表示装置206と、入力装置207とを有する。
【0031】
ユーザ端末20での処理を実現するプログラムは、CD−ROM又はメモリカード等の記録媒体201によって提供される。プログラムを記録した記録媒体201がドライブ装置200にセットされると、プログラムが記録媒体201からドライブ装置200を介して補助記憶装置202にインストールされる。但し、プログラムのインストールは必ずしも記録媒体201より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置202は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【0032】
メモリ装置203は、プログラムの起動指示があった場合に、補助記憶装置202からプログラムを読み出して格納する。CPU204は、メモリ装置203に格納されたプログラムに従ってユーザ端末20に係る機能を実現する。インタフェース装置205は、ネットワーク接続用のインタフェース、USB(Universal Serial Bus)接続用のインタフェース、Bluetooth等の無線通信用のインタフェース等、各種通信用のインタフェースである。表示装置206はプログラムによるGUI(Graphical User Interface)等を表示する。入力装置207はキーボード、マウス、又はボタン等で構成され、様々な操作指示を入力させるために用いられる。
【0033】
続いて、ウィジェット21、ウィジェットマネージャ22、及びプロバイダアプリ1221について更に詳しく説明する。図4は、ウィジェット、ウィジェットマネージャ、及びプロバイダアプリの機能構成例を示す図である。
【0034】
同図に示されるように、各ウィジェット21は、ウィジェットUI部211、ウィジェット情報送信部212、連携部213、ロジック部214、及び属性情報管理ファイル215等を有する。
【0035】
ウィジェットUI部211は、ウィジェット21に関する各種の表示画面をユーザ端末20の表示装置206に表示させる。ウィジェット情報送信部212は、ウィジェット21が起動されたとき等に、ウィジェット情報(ウィジェット21の属性情報)の登録要求をウィジェットマネージャ22に送信する。連携部213は、プロバイダアプリ1221との連携のための通信(情報のやりとり等)を制御する。属性情報管理ファイル215は、ウィジェット21対する属性情報を格納するファイルである。属性情報には、ウィジェット21に対する設定情報も含まれる。設定情報は、ウィジェット21の振る舞い又はウィジェット21によって実行されるジョブの内容を規定するパラメータの集合である。ロジック部214は、各ウィジェット21に固有の機能が実装される部分である。例えば、スキャンレイアウトウィジェット21aのロジック部215は、スキャンされた画像データによって表現される画像のレイアウトの生成処理等を実行する。印刷ウィジェット21bのロジック部215は、所定の論理プリンタに対して生成された印刷データについて、画像形成装置10に印刷ジョブを実行させるための処理を実行する。
【0036】
なお、ウィジェット21に含まれる各部について、スキャンレイアウトウィジェット21aに属するものと印刷ウィジェット21bに属するものとを区別する場合、前者については「a」を、後者については「b」を参照番号の末尾に付加する。例えば、スキャンレイアウトウィジェット21aのロジック部214は、「ロジック部214a」と表記される。
【0037】
ウィジェットマネージャ22は、ウィジェット情報登録部221、広告部222、ウィジェット情報提供部223、仲介部224、及びウィジェット情報管理テーブル227等を有する。
【0038】
ウィジェット情報登録部221は、ウィジェット21より送信されるウィジェット情報の登録要求を受信し、当該ウィジェット情報をウィジェット情報管理テーブル227に保存する。ウィジェット情報管理テーブル227には、ユーザ端末20において起動されている各ウィジェット21のウィジェット情報が登録されるテーブルであり、ユーザ端末20の補助記憶装置202に記録される。
【0039】
広告部222は、ウィジェット情報登録部221によって受信されたウィジェット情報に含まれるユーザID等をネットワーク上に広告(ブロードキャスト又はマルチキャスト等)する。広告は、ユーザ単位(ユーザID単位)で発行される。具体的には、ユーザ端末20内における或るウィジェット21の起動に応じてユーザAに関して広告が発行された後、当該ユーザ端末20内において、他のウィジェット21が起動されたとしても当該ウィジェット情報に応じた広告は発行されない。本実施の形態では、便宜上、ユーザ端末20とユーザとは一対一に対応する。したがって、広告部222による広告は、何らかのウィジェット21を利用可能になったユーザが新たに発生したことを画像形成装置10に通知するための情報であるといえる。但し、ウィジェット情報単位で広告が行われてもよい。この場合、同一ユーザについて重複して広告が発行されることになるが、重複の排除は画像形成装置10側で行えばよい。
【0040】
ウィジェット情報提供部223は、画像形成装置10からの要求に応じ、ウィジェット情報管理テーブル227に登録されているウィジェット情報を画像形成装置10に提供(送信)する。仲介部224は、ウィジェット21とプロバイダアプリ1221との通信を仲介又は中継する。
【0041】
プロバイダアプリ1221は、ユーザ検知部131、UI制御部132、ウィジェット情報取得部133、ウィジェット連携部134、機能制御部135、及びユーザ管理テーブル136等を有する。
【0042】
ユーザ検知部131は、ウィジェットマネージャ22より発行される広告に基づいて、ウィジェット21を利用可能なユーザの存在を検知し、広告に含まれているユーザID等をユーザ管理テーブル136に登録する。ユーザ管理テーブル136は、利用可能なウィジェット21がネットワーク上に存在するユーザの一覧を管理するテーブルである。
【0043】
UI制御部132は、ユーザよりウィジェット21の操作指示等の入力を受け付ける。すなわち、ウィジェット21は、ユーザ端末20に配置されているが、画像形成装置10の操作パネルからも操作されうる。ウィジェット情報取得部133は、ユーザ管理テーブル136に登録されているユーザの中から選択されたユーザに属するウィジェット21のウィジェット情報をウィジェットマネージャ22より取得する。ウィジェット連携部134は、ウィジェットマネージャ22との通信を制御する。機能制御部135は、ウィジェット21から要求された機能の実行を制御する。機能を実現するための処理は、標準アプリ121や他のSDKアプリ122に委譲される。
【0044】
以下、画像処理システム1の処理手順について説明する。図5は、スキャンレイアウトウィジェットのウィジェット情報の送信時の処理手順を説明するためのシーケンス図である。
【0045】
ユーザ端末20においてユーザによって入力されるスキャンレイアウトウィジェット21aの起動指示に応じ、スキャンレイアウトウィジェット21aは自らの属性情報管理ファイル215aよりウィジェット情報を取得し、当該ウィジェット情報の登録要求をウィジェットマネージャ22に送信する(S111)。なお、各ウィジェット21には、ウィジェットマネージャ22と通信するための識別情報(例えば、ウィジェットマネージャ22のURL(Uniform Resource Locator)等)が予め設定されている。
【0046】
図6は、スキャンレイアウトウィジェットのウィジェット情報の例を示す図である。同図において、スキャンレイアウトウィジェット21aのウィジェット情報は、ウィジェットID、ユーザID、連携機能識別子、ウィジェットアドレス、表示名、及び設定情報等を含む。
【0047】
ウィジェットIDは、各ウィジェット21を一意に識別する識別情報である。ユーザIDは、スキャンレイアウトウィジェット21aの所有者であるユーザの識別情報である。連携機能識別子は、スキャンレイアウトウィジェット21aと連携する画像形成装置10が有している必要のある機能(換言すれば、スキャンレイアウトウィジェット21aが利用する機能)を識別するための情報である。連携機能識別子の一例として「print」、「scan」等が挙げられる。「print」は、印刷機能を示す。「scan」は、スキャン機能を示す。スキャンレイアウトウィジェット21aは、画像形成装置10のスキャン機能を利用する。したがって、図6の例では、「scan」が連携機能識別子とされている。ウィジェットアドレスは、ネットワーク通信において各ウィジェットを一意に識別するための識別情報(例えば、URL等)である。表示名は、スキャンレイアウトウィジェット21aの名前の表示用の文字列である。
【0048】
設定情報は、ウィジェット21の振る舞いを既定するパラメータであり、その内容はウィジェット21の種類ごとにことなる。例えば、スキャンレイアウトウィジェット21aの場合、スキャン条件(解像度、カラー及びモノクロの別等)等が設定情報に含まれる。
【0049】
ステップS111において、スキャンレイアウトウィジェット21aのウィジェット情報送信部212aより送信されたウィジェット情報は、ウィジェットマネージャ22のウィジェット情報登録部221によって受信される。ウィジェット情報登録部221は、受信されたウィジェット情報に含まれているユーザIDに対応するウィジェット情報管理テーブル227に当該ウィジェット情報を登録する。当該ユーザIDに対応するウィジェット情報管理テーブル227が存在しない場合、ウィジェット情報登録部221は、当該ユーザIDに対応するウィジェット情報管理テーブル227を生成し、生成されたウィジェット情報管理テーブル227にウィジェット情報を登録する(S112)。
【0050】
ウィジェット情報管理テーブル227が新たに生成された場合(すなわち、受信されたウィジェット情報に含まれているユーザIDに係るユーザについて、初めてウィジェット情報が登録された場合)、広告部222は、受信されたウィジェット情報に含まれているユーザIDと、ウィジェット情報取得用URL(Uniform Resource Locator)とを含む広告をネットワーク上に発行する(S113)。ウィジェット情報取得用URLとは、ウィジェット情報管理テーブル227ごとに一意なURLである。例えば、ウィジェット情報登録部221は、ウィジェット情報管理テーブル227を生成した際に、当該ウィジェット情報管理テーブル227に対するウィジェット情報取得用URLを生成する。ここで、ウィジェット情報管理テーブル227は、ユーザごとに生成される。したがって、ウィジェット情報取得用URLはユーザごとに一意となる。
【0051】
続いて、プロバイダアプリ1221のユーザ検知部131は、広告を受信すると、当該広告に含まれているユーザID及びウィジェット情報取得用URLをユーザ管理テーブル136に登録する(S114)。
【0052】
図7は、ユーザ管理テーブルの構成例を示す図である。同図に示されるように、ユーザ管理テーブル136は、ユーザIDとウィジェット情報取得用URLとの組(ペア)を管理する。同図では、ユーザA及びユーザBについてレコードが登録されている例が示されている。なお、ユーザ管理テーブル136は、例えば、HDD114に記憶されている。
【0053】
一方、スキャンレイアウトウィジェット21aは、ウィジェット情報を送信した後、画像形成装置10において画像データがスキャンされたことを確認するためのポーリングを行い、画像データの転送(返信)を待機する。具体的には、スキャンレイアウトウィジェット21aの連携部213aは、スキャンされた画像データ(スキャン画像データ)の取得要求をウィジェットマネージャ22の仲介部224に送信する(S115)。仲介部224は、当該取得要求に対する応答を行う(S116)。この段階では、画像データはスキャンされていないため、スキャン画像データは無いことを示す応答が返信される。その後もスキャン画像データの取得要求(S115)は一定間隔ごとに繰り返し行われる。スキャン画像データの取得要求には、ウィジェットIDを含めるようにしてもよい。
【0054】
ユーザ端末20においてスキャンレイアウトウィジェット21aを起動させた後、ユーザは、スキャンレイアウトウィジェット21aを利用するために画像形成装置10の設置場所へ移動する。なお、複数の画像形成装置10がネットワークに接続されている場合、同一の広告が各画像形成装置10のユーザ検知部131によって受信され、それぞれの画像形成装置10のユーザ管理テーブル136にユーザID及びウィジェット情報取得用URLが登録される。したがって、ユーザは、スキャン機能を備えた画像形成装置10であれば、複数の画像形成装置10のいずれからもスキャンレイアウトウィジェット21aを利用することができる。
【0055】
続いて、画像形成装置10におけるユーザによる操作に応じて実行される処理について説明する。図8は、スキャンレイアウトウィジェット実行時の処理手順を説明するためのシーケンス図である。
【0056】
ユーザによって操作パネル15を介してプロバイダアプリ1221の利用指示が入力されると(S201)、プロバイダアプリ1221のUI制御部132は、ユーザ管理テーブル136に登録されている情報に基づいてユーザ選択画面を操作パネル15に表示させる(S202)。
【0057】
図9は、ユーザ選択画面の表示例を示す図である。同図に示されるユーザ選択画面610には、ユーザIDごとにボタンが表示されている。同図では、ユーザAに対応するボタン611とユーザBに対応するボタン612とが表示されている。
【0058】
続いて、ユーザは、ユーザ選択画面610において自らのユーザIDに対応するボタンを押下する(S203)。ボタンの押下に応じ、ウィジェット情報取得部133は、選択されたボタンに対応するユーザIDに関連付けられているウィジェット情報取得用URLをユーザ管理テーブル136より取得する。なお、ユーザIDに対応するボタンの押下に応じ、ユーザの認証を行い、ユーザが認証された場合にのみ以降の処理が実行されるようにしてもよい。
【0059】
続いて、ウィジェット情報取得部133は、選択されたユーザIDに対応するウィジェット情報取得用URL宛に、ウィジェット情報の取得要求を送信する(S204)。ウィジェット情報の取得要求は、ウィジェットマネージャ22のウィジェット情報提供部223によって受信される。ウィジェット情報提供部223は、ウィジェット情報取得用URLに対応するウィジェット情報管理テーブル227(すなわち、画像形成装置10を操作中のユーザに対応するウィジェット情報管理テーブル227)に登録されているウィジェット情報の一覧を取得し、当該一覧をプロバイダアプリ1221に返信する(S205)。ウィジェット情報の一覧の送信に際し、ウィジェット情報提供部223は、プロバイダアプリ1221と各ウィジェット21との通信を中継するためのURL(以下、「ウィジェット中継用URL」という。)をウィジェットごと(ウィジェット情報ごと)に一意に生成する。ウィジェット情報提供部223は、ウィジェットごとに生成されたウィジェット中継用URLを、各ウィジェットに対応するウィジェット情報に付加し、ウィジェット中継用URLが付加されたウィジェット情報の一覧をプロバイダアプリ1221に送信する。したがって、ステップS205において送信されるウィジェット情報は、例えば、図10に示されるような構成を有する。
【0060】
図10は、ウィジェットマネージャからプロバイダアプリに送信されるスキャンレイアウトウィジェットのウィジェット情報の構成例を示す図である。
【0061】
図10に示されるウィジェット情報は、図6のウィジェット情報に対してウィジェット中継用URLが付加されたものである。ステップS205では、同図に示されるようなウィジェット情報の一覧が送信される。ここでは、ウィジェット情報が一つしか含まれないものもウィジェット情報の一覧という。
【0062】
続いて、プロバイダアプリ1221のUI制御部132は、受信されたウィジェット情報の一覧をRAM112に記録しておき、当該ウィジェット情報の一覧に基づいて、ユーザに利用可能なウィジェット21の一覧を含む画面(ウィジェット選択画面)を表示させる(S206)。
【0063】
図11は、ウィジェット選択画面の表示例を示す図である。同図においてウィジェット選択画面620には、スキャンレイアウトウィジェット21aに対応するボタン621が表示されている。
【0064】
画像形成装置10に1枚以上の原稿がセットされ、ウィジェット選択画面620において、スキャンレイアウトウィジェット21aに対応するボタン621が選択されると(S207)、プロバイダアプリ1221のウィジェット連携部134は、押下されたボタンに対応するウィジェット情報(以下、「カレントウィジェット情報」という。)に含まれている連携機能識別子(「scan」)に基づいて、スキャンを実行すべきことを認識する。そこで、ウィジェット連携部134は、スキャンの実行を機能制御部135に要求する。
【0065】
機能制御部135は、カレントウィジェット情報に含まれている設定情報に基づくスキャンジョブをスキャンアプリ1211に実行させる(S208)。スキャンアプリ1211は、画像形成装置10にセットされた原稿に対するスキャンをスキャナ12に実行させ、その結果得られる画像データ(以下「スキャン画像データ」という。)をウィジェット連携部134に出力する。
【0066】
ウィジェット連携部134は、スキャン画像データをカレントウィジェット情報に含まれているウィジェット中継用URL宛に送信する(S209)。ウィジェット中継用URL宛に送信されたスキャン画像データは、ウィジェットマネージャ22の仲介部224によって受信される。続いて、仲介部224は、スキャン画像データの受信後に受信される、当該ウィジェット中継用URLに対応するスキャンレイアウトウィジェット21aの連携部213aからのスキャン画像データの取得要求(S115)に応じ、スキャン画像データを連携部213aに返信する(S121)。
【0067】
連携部213aは、スキャン画像データを受信すると、当該スキャン画像データをロジック部214aに入力する。ロジック部214aは、スキャン画像データを処理対象として、自らに実装されている処理(ロジック)を実行する(S122)。当該処理内容の詳細については後述する。
【0068】
続いて、連携部213aは、次のスキャンレイアウトウィジェット21aの実行に備えて、スキャン画像データ取要求のポーリングを再開し(S115)、スキャン画像データの転送を待機する。
【0069】
なお、ステップS122において処理対象とされる画像データは、必ずしもスキャン画像データに限定されない。ユーザ端末20に保存されている画像ファイルに格納されている画像データであってもよい。この場合、例えば、スキャンレイアウトウィジェット21aが起動後に表示装置206に表示させているアイコンに対して、当該画像ファイルのアイコンがユーザの操作に従ってドラッグ&ドロップされる。スキャンレイアウトウィジェット21aは、ドロップされた画像ファイルに格納されている画像データに対してステップS122に係る処理を実行する。
【0070】
続いて、ステップS122の処理の詳細について説明する。図12は、スキャンレイアウトウィジェットのロジック部の機能構成例を示す図である。同図において、ロジック部214aは、単位画像切り出し部2141、単位画像蓄積部2142、レイアウト生成部2143、レイアウト画像生成部2144、及びレイアウト画像出力部2145等を有する。
【0071】
単位画像切り出し部2141は、画像形成装置10においてスキャンされた画像データより、画像領域を切り出す(抽出する)。一つの画像データから一以上の画像領域が切り出される。単位画像切り出し部2141は、切り出された画像領域係る画像(以下、「単位画像」という。)ごとに画像データ(以下、「単位画像データ」という。)を生成し、単位画像データを単位画像蓄積部2142に記録する。
【0072】
単位画像蓄積部2142は、補助記憶装置202又はメモリ生成部203において、単位画像を蓄積又はバッファリングするための記憶領域である。レイアウト生成部2143は、単位画像蓄積部2142に蓄積された単位画像データによって表現される単位画像について、所定の配置領域に対するレイアウト(配置情報)を生成する。生成されたレイアウトが所定の条件(以下、「出力条件」という。)を満たす場合、レイアウト生成部2143は、当該レイアウト結果において1ページ分のレイアウトを示すレイアウトデータを出力する。生成されたレイアウトが出力条件を満たさない場合、レイアウトデータは出力されない。所定の配置領域のサイズは、スキャンレイアウトウィジェット21aにとっての1ページのサイズ(すなわち、スキャンレイアウトウィジェット21aはどのような範囲を1ページとして扱うか)に基づいて定まる。当該1ページのサイズは、(例えば、A4、A5、又は幅及び高さの指定によって規定されるサイズ)は、スキャンレイアウトウィジェット21aの設定情報において指定されている。
【0073】
レイアウト画像生成部2144は、レイアウト生成部2143よりレイアウトデータが出力された場合に、当該レイアウトデータに基づいてレイアウト画像データを生成する。レイアウト画像データとは、レイアウトデータに従って単位画像が配置された画像を表現する画像データをいう。レイアウト画像出力部2145は、レイアウト画像生成部2144によって生成されたレイアウト画像データの出力処理を実行する。出力処理の一例として、プリンタドライバ24を利用した画像形成装置10に対する印刷要求、又は所定のフォルダへの保存等が挙げられる。
【0074】
上記の説明より明らかなように、スキャンレイアウトウィジェット21aは、単位画像蓄積部2142に蓄積された単位画像データに係る単位画像について、出力条件を満たすようなレイアウトが生成された場合に印刷を実行させる。換言すれば、スキャンレイアウトウィジェット21aは、出力条件が満たされるようなレイアウトが生成されるまで、単位画像データをバッファリングする。
【0075】
図13は、スキャンレイアウトウィジェットのロジック部による処理手順を説明するためのフローチャートである。
【0076】
ステップS1221において、単位画像切り出し部2141は、スキャン画像データによって表現される画像(スキャン画像)より単位画像を切り出す。単位画像の切り出し範囲は、例えば、次のような方法に基づいて判定される。
【0077】
図14は、単位画像の切り出し範囲の判定方法の第一の例を説明するための図である。第一の例では、まず、スキャン画像データが二値化される。図14の例では、二値化されたスキャン画像510には、黒塗りの矩形511及び矩形512が含まれている。矩形511の幅はw1であり、高さはh1である。矩形512の幅はw2であり、高さはh2である。
【0078】
続いて、スキャン画像510の主走査方向(幅方向)及び副走査方向(高さ方向)のそれぞれについて、黒画素の分布が一次元化される。すなわち、主走査方向及び副走査方向のそれぞれについて、黒画素の論理和が1次元に投影される。図14には、黒画素の分布の一元化の結果として、主走査方向の黒画素の分布を示す分布515と、副走査方向の黒画素の分布を示す分布516とが示されている。
【0079】
続いて、分布515及び分布516が重複する矩形領域が単位画像の切り出し範囲として判定される。具体的には、w1+αの幅を有し、h1の高さを有する矩形511aに係る範囲と、w2+βの幅を有し、h2の高さを有する矩形511bに係る範囲とが単位画像の切り出し範囲とされる。
【0080】
また、図15は、単位画像の切り出し範囲の判定方法の第二の例を説明するための図である。第二の例では、まず、スキャン画像が二値化される。続いて、二値化されたスキャン画像520において、主走査方向の黒ラン(黒画素の連続部分)が抽出される。図中(1)では、黒ラン521a〜521kが抽出された例が示されている。なお、同図では、便宜上、スキャン画像520の一部のみが示されている。
【0081】
続いて、副走査方向に隣接している黒ラン同士がグループ化される。図中(2)には、グループ化の結果が示されている。すなわち、黒ラン521a、521b、521e、521g、及び521hは、グループG1としてグループ化されている。また、黒ラン521c、521f、及び521kは、グループG2としてグループ化されている。また、黒ラン521dは、単独でグループG3としてグループ化されている。
【0082】
続いて、各グループに属する黒ランを含む最小の矩形に係る範囲が単位画像の切り出し範囲として判定される。したがって、図15の例では、グループG1に係る矩形、グループG2に係る矩形、グループG3に係る矩形(厳密には線分)が、単位画像の切り出し範囲とされる。
【0083】
なお、単位画像の切り出し範囲の判定には、他の公知技術が用いられてもよい。例えば、OCR(Optical Character Recognition)処理の過程において判定されるOCR範囲が単位画像の切り出し範囲として判定されてもよい。
【0084】
また、単位画像の切り出し範囲は、ユーザによって指定されてもよい。例えば、単位画像切り出し部2141は、スキャン画像を含む編集画面を表示装置206に表示させる。単位画像切り出し部2141は、当該編集画面において指定された一つ以上の矩形領域を単位画像の切り出し範囲として認識する。
【0085】
また、単位画像の切り出し処理は、画像形成装置10において行われてもよい。この場合、プロバイダアプリ1221の機能制御部135は、図8のステップS208に続いて、画像形成装置10に実装されている画像処理プログラムを用いて、スキャン画像からの単位画像の切り出し処理を実行する。続いて、機能制御部135は、切り出された単位画像を表現する単位画像データをウィジェット連携部134に出力する。その結果、ステップS209では、単位画像データがウィジェットマネージャ22に転送される。なお、複数の単位画像が切り出された場合、複数の単位画像データが同時に転送されてもよいし、順番に転送されてもよい。
【0086】
ステップS1221に続いて、単位画像切り出し部2141は、切り出された単位画像データを表現する画像データ(単位画像データ)を生成し、生成された単位画像データを単位画像蓄積部2142に保存する(S1222)。この際、各単位画像データには、当該単位画像データの生成時期(生成日時)が関連付けられて記録される。
【0087】
なお、単位画像の切り出しは、必ずしも実行されなくてもよい。すなわち、スキャン画像データがそのまま単位画像蓄積部2142に保存されてもよい。この場合、以降の処理では、スキャン画像が単位画像として扱われる。すなわち、非画像領域(余白領域)も含む、1つのスキャン画像が単位画像とされる。このような扱いは、所定の配置領域の元となる1ページのサイズが、スキャン画像のサイズに比べて大きい場合に有効である。例えば、スキャン画像のサイズがはがきサイズであり、所定の配置領域の元となる1ページサイズがA4サイズ等である場合である。
【0088】
続いて、レイアウト生成部2143は、単位画像蓄積部2142に蓄積されている単位画像データについて、レイアウトの生成処理を実行し、生成されたレイアウトが出力条件を満たす場合、レイアウトデータを出力する(S1223)。出力条件は、後述されるように、様々なものが採用されうる。但し、いずれの条件についても、所定の配置領域に対して所定のレイアウト規則(配置規則)に従って単位画像を配置した場合に、少なくとも所定の用紙サイズ1ページ分が単位画像によって満たされたことが条件とされる点において共通する。したがって、本実施の形態では、少なくとも1ページ分の単位画像が蓄積された場合に印刷が実行される。なお、「1ページ分が単位画像によって満たされた」とは、所定のレイアウト規則に従った場合に、それ以上当該ページ内に配置可能な単位画像が単位画像蓄積部2142に無い状態をいう。
【0089】
レイアウト生成部2143よりレイアウトデータが出力されない場合(S1224でNo)、図13の処理は終了する。一方、レイアウト生成部2143よりレイアウトデータが出力された場合(S1224でYes)、レイアウト画像生成部2144は、レイアウト生成部2143によって生成されたレイアウトデータに従って単位画像が配置された1ページ分のレイアウト画像データを、当該単位画像に係る単位画像データを用いて生成する(S1225)。続いて、レイアウト画像生成部2144は、レイアウト画像データの生成に用いられた単位画像データ(すなわち、1ページ内にレイアウトされた単位画像に係る単位画像データ)を単位画像蓄積部2142より削除する(S1226)。
【0090】
続いて、レイアウト画像出力部2145は、レイアウト画像データの印刷データをプリンタドライバ24に生成させる(S1227)。具体的には、レイアウト画像出力部2145は、レイアウト画像データを格納したファイルのファイル名が引数に指定されたコマンドラインによってレイアウト画像データのデータ形式に対応する文書アプリ23をバックグラウンドで起動させ、当該文書アプリ23に印刷指示を入力する。その結果、プリンタドライバ24によってレイアウト画像データの印刷データが生成される。
【0091】
プリンタドライバ24によって生成された印刷データは、OS25を介して画像形成装置10に送信される。画像形成装置10の印刷アプリ1212は、当該印刷データに基づいて印刷ジョブを実行する。その結果、1ページ分のレイアウト画像が印刷される。
【0092】
図8及び図13の処理手順より明らかなように、ユーザから見ると、画像形成装置10においてスキャンレイアウトウィジェット21aを実行対象として選択した場合に、スキャンされた画像(スキャン画像)より切り出された単位画像に対するレイアウトが出力条件を満たすときは、その場で1ページ分のレイアウト画像が印刷される。一方、当該レイアウトが出力条件を満たさないときは、単位画像データはユーザ端末20に蓄積され、印刷は実行されない。
【0093】
続いて、ステップS1223におけるレイアウト生成処理の詳細について説明する。
【0094】
図16は、単位画像のレイアウト生成の概要を説明するための図である。同図に示されるように、レイアウト生成部2143は、様々な大きさ(幅×高さ)を有する複数の矩形の単位画像を、幅W、高さHの配置領域700(所定の配置領域)上に配置する際のレイアウトを生成する。ここで、幅Wは有限の値を持ち、高さHは、無限大の値を持つものとする。配置領域700の幅Wの値は、例えば、スキャンレイアウトウィジェット21aの設定情報において指定されている1ページのサイズに基づいて決定される。なお、レイアウトとは、配置領域700上における単位画像の配置を示し、レイアウトデータは、レイアウトにおける単位画像の配置を示す情報(例えば座標情報)からなるものとする。また、ページとは、一度に表示を行うための領域をいい、以下では、幅Wを持つ配置領域700を、一度に表示を行う所定の高さh毎に区切った各領域をページと呼ぶ。
【0095】
図17は、レイアウト生成処理の概要を説明するためのフローチャートである。
【0096】
ステップS701において、レイアウト生成部2143は、単位画像蓄積部2142に蓄積されている全ての単位画像データを取得する。続いて、レイアウト生成部2143は、取得された単位画像データに基づき、最密充填レイアウトを生成する(S702)。続いて、レイアウト生成部2143は、生成された最密充填レイアウトが出力条件を満たす場合、当該最密充填レイアウトに基づいて1ページ分のレイアウトデータを出力する(S703)。
【0097】
図17のステップS702における最密充填レイアウトの生成処理の詳細について説明する。最密充填レイアウトの生成処理では、予め決められた幅を持ち、高さが無限の領域に対して、下記の条件を満たし、且つ、高さを最小にするように複数の単位画像を配置する問題として考えて、各単位画像のレイアウトが決定される。
(1)単位画像の形状が矩形であって、幅及び高さが有理数値である。
(2)回転を許容しない。
(3)各単位画像が互いに重ならない。
【0098】
なお、単位画像は、様々な形状が想定されうるが、本実施の形態では、説明のため、単位画像による画像が矩形であるものとする。また、単位画像に対してマージン等を付加された矩形がレイアウト対象とされてもよい。
【0099】
ここで、(3)の各単位画像が互いに重ならないという条件は、2つの単位画像C及びCについて、下記の式(1)〜式(4)のうち少なくとも1つが成立することと等価である。なお、式(1)〜式(4)において、値w及び値hは、それぞれ単位画像の幅及び高さ、値x及び値yは、それぞれ単位画像の一端(例えば左下隅)のx座標及びy座標である。
+w≦x …(1)
+w≦x …(2)
+h≦y …(3)
+h≦y …(4)
【0100】
各単位画像に対して、式(1)〜式(4)のうち何れを採用するかを決める場合、単純に見積もって4(n(n-1)/2)通りの可能性があるといえる。この問題は、一般的に箱詰め問題と称され、NP困難に属しており、実用的な演算時間で解決することが極めて困難であると考えられる。そこで、本実施の形態では、最適解に近似する最適近似解をできるだけ簡単な手順で求める手法を用いて、最密充填レイアウトの生成を行う。
【0101】
このような問題を解決するために、上述の各条件を満たし、且つ、評価値すなわち最適解からの外れ度が定まっている基本的なアルゴリズムとして、FFDH(First-Fit Decreasing-Height)やNFDH(Next-Fit Decreasing-Height)等が知られている。本実施の形態では、FFDHを用いて最密充填レイアウトの生成を行う。FFDHについては、「E.G.Coffman, JR., M.R.Garey, D.S.Johonson, R.E.Tarjan(Bell Lab.&Stanford Univ.) "Performance bounds for level-oriented two-dimensional packing algorithms", SIAM J. Comput, vol.9., pp808-826, No.4, 1980.」に記載がある。
【0102】
図18は、FFDHによる単位画像の配置方法の一例を説明するためのフローチャートである。FFDHによれば、先ず、単位画像を高さの大きい順にソートして、ソート順に配置領域700への配置が行われる。以下では、説明の便宜上、配置開始位置を配置領域700の左上隅とする。
【0103】
図18のフローチャートによる処理の開始に先立って、何らかの単位画像(例えばソート順で1番目の単位画像)が配置領域700に配置されているものとする。これを最後に配置された単位画像として、図18のフローチャートによる処理が開始される。ステップS710において、レイアウト生成部2143は、全ての単位画像について配置が完了したか否かを判定する。完了していない場合(S710でNo)、レイアウト生成部2143は、直前に選択した単位画像に対してソート順で次の単位画像を選択する(S711)。続いて、レイアウト生成部2143は、ステップS711で選択された単位画像(以下、「カレント単位画像」という。)が、最後に配置した単位画像の右隣に配置可能か否かを判定する(S712)。すなわち、最後に配置した単位画像の右端から配置領域700の右端までの幅が、カレント単位画像の幅以上であれば、当該選択された単位画像は配置可能であると判定される。配置可能であると判定された場合(S712でYes)、レイアウト生成部2143は、最後に配置した単位画像の右隣にカレント単位画像を配置する(S713)。各単位画像の配置位置を示す情報(配置位置情報)は、例えばメモリ装置103に記録される。続いて、処理はステップS710に戻される。
【0104】
一方、ステップS712において配置不可であると判定された場合(S712でNo)、レイアウト生成部2143は、カレント単位画像がソート順で最後の単位画像か否かを判定する(S714)。カレント画像がソート順で最後の単位画像である場合(S714でYes)、レイアウト生成部2143は、未配置の単位画像のうち、ソート順が最も早い(すなわち高さが最も高い)単位画像を、最後に配置した単位画像に対して幅方向の左端に配置される単位画像の下に、配置領域に対して左詰めで配置する(S715)。すなわち、当該ソート順が最も早い単位画像は、後述されるブロック単位において、次のブロックの左端に配置される。
【0105】
ステップS715に続いて、又はステップS714においてカレント単位画像は最後の単位画像ではないと判定された場合(S714でNo)、処理はステップS710に戻される。
【0106】
図18による処理の結果、例えば、単位画像は例えば図19に示されるように配置される。図19は、単位画像の最密充填レイアウトの一例を示す図である。同図では、幅が「10」の配置領域700に、8個の単位画像が配置されている。図18の処理を実行することにより生成される最密充填レイアウトを、以下「初期レイアウト」という。
【0107】
図19及び図18のフローチャートによる処理より明らかなように、FFDHによる最密充填レイアウトでは、単位画像の右隣には、当該単位画像と高さが同じ又は低い単位画像が配置される。また、左端の単位画像については、当該単位画像の下には当該単位画像と高さが同じ又は低い単位画像が配置される。以下、配置領域700の幅を持ち、左端の単位画像の上下端で高さ及び配置領域における高さ方向の位置が規定される領域を、「ブロック」という。また、ブロックとブロックとの区切りを「行」という。
【0108】
図20は、配置領域に対する単位画像の配置に基づくブロック及び行の例を示す図である。同図の例では、ブロックごとに、各単位画像は上端を揃えて一列に配置されている。但し、左端のブロックに対して右方向に一列に配置される一連のブロックは、上下端が左端のブロックの上端及び下端からなる範囲を越えなければ、他の態様で配置されてもよい。
【0109】
なお、FFDHでは、最適解に対する評価値が下記の式(5)のようになることが知られている。式(5)は、単位画像の高さと幅とをそれぞれ「1」に正規化した場合の例である。また、式(5)において、値HalgはFFDHにより求められる高さ、値Hoptは最適解を表す。
alg≦1.7×Hopt+1 …(5)
続いて、図17のステップS703の詳細について説明する。図21は、1ページ分のレイアウトデータの出力処理を説明するためのフローチャートである。
【0110】
ステップS721において、レイアウト生成部2143は、初期レイアウトが出力条件を満たしているか否かを判定する。ここでは、「少なくとも一部が2ページ目の領域にかかっているブロックが有ること」を出力条件とする。したがって、配置領域700の上端から最下段のブロックの底辺(すなわち、最終行)までの長さが1ページの高さを超えているか否かが判定される。なお、1ページの高さは、スキャンレイアウトウィジェット21aの設定情報において指定されている1ページのサイズに基づいて決定される。
【0111】
図22は、2ページ目にかかるブロックの例を示す図である。同図において、配置領域700に配置されたブロック301〜304のうち、ブロック303の一部は、2ページ目にかかっている。また、ブロック304の全部は2ページ目に含まれている。したがって、初期レイアウトが同図に示されるようなものである場合、初期レイアウトは出力条件を満たすと判定される。
【0112】
初期レイアウトが出力条件を満たす場合(S721でYes)、レイアウト生成部2143は、1ページ目の領域内に配置された各単位画像の配置位置情報を含むレイアウトデータを出力(生成)する(S722)。レイアウトデータには、1ページ目の領域内に配置された単位画像ごとに、識別情報(例えば、当該単位画像データを格納するファイルのファイル名)と配置位置情報とが含まれる。なお、2ページ目にかかるブロックに属する単位画像であっても、当該単位画像の全部が1ページ目の領域に含まれる場合、当該単位画像も1ページ目の領域内に配置された単位画像として扱われる。例えば、図22において、ブロック303に属する4×2の単位画像は、1ページ目の領域内に配置された単位画像として扱われる。なお、1ページ目の領域内に配置された単位画像に係る単位画像データは、図13のステップ1225においてレイアウト画像データの生成に用いられ、ステップS1226において単位画像蓄積部2142より削除される。
【0113】
一方、初期レイアウトが出力条件を満たさない場合(S721でNo)、レイアウト生成部2143は、レイアウトデータの出力は行わない。
【0114】
図21の処理において、レイアウトデータの対象に含められなかった単位画像データは、次回に図13の処理が実行される際に改めてレイアウト生成部2143によって処理対象とされる。
【0115】
なお、出力条件を、「少なくとも一部がNページ目の領域にかかっているブロックが有ること」とし、Nの値を可変としてもよい。例えば、Nの値をスキャンレイアウトウィジェット21aの設定情報において指定可能としてもよい。例えば、Nの値が「3」の場合、2ページ分を満たす単位画像データが蓄積されるまでレイアウトデータの出力は抑制される。このことは、Nの値が2の場合(図21において説明した例)よりも多くの単位画像の集合(2ページ分のバッファ)に基づいて最密充填レイアウトが生成されることを意味する。したがって、より効率的なレイアウトが生成される可能性を高めることができる。すなわち、Nの値を大きくすればする程、レイアウトの効率性を高めることができる。但し、Nの値を大きくすればする程、レイアウト画像データが印刷されるまでの期間が長期化する。したがって、レイアウトの効率性と、レイアウト画像データが印刷されるタイミングとを比較考量し、実際の運用に適した値をNの値として採用すればよい。
【0116】
Nの値が3以上となる場合、初期レイアウトに基づいて複数のページごとのレイアウト(ページレイアウト)を生成した後に、レイアウトデータの生成対象とするページレイアウト(ページ)を選択すればよい。ページレイアウトを生成は、図21の実行前に行われればよい。図23は、ページレイアウトの生成処理を説明するためのフローチャートである。
【0117】
ステップS730において、ページレイアウト生成部2143は、対象ページのページレイアウトを取得する。なお、対象ページのページレイアウトとは、初期レイアウトにおいて、対象ページに係るブロックからなるレイアウトである。ステップS730が最初に実行される場合、対象ページは1ページ目となる。
【0118】
続いて、レイアウト生成部2143は、対象ページのページレイアウトにおいてページを跨ぐブロックがあるか否かを判定する(S731)。ページを跨ぐブロックが有る場合(S731でYes)、レイアウト生成部2143は、対象ページのレイアウト中においてページを跨ぐブロックが、対象ページの次のページの先頭に配置されるように、当該ブロックおよび当該ブロックの下に配置される各ブロックを下方へずらして再配置する(S732)。
【0119】
対象ページのページレイアウトにおいてページを跨ぐブロックが無い場合(S731でNo)、又はステップS732に続いて、レイアウト生成部2143は、現在のブロックの配置状態に従い、対象ページにおけるページレイアウトを生成し、当該対象ページのページレイアウトを決定する(S733)。続いて、レイアウト生成部2143は、初期レイアウトの全てのページについてページレイアウトが決定されたか否かを判定する(S734)。ページレイアウトが決定されていないページが存在する場合(S734でNo)、処理はステップS730に戻され、ステップS733でページレイアウトが決定された次のページを対象ページとして、処理が繰り返される。
【0120】
一方、ステップS734で、全てのページについてページレイアウトが決定されたと判定され場合(S734でYes)、図23の処理は終了する。
【0121】
レイアウトデータの生成対象とするページレイアウトの選択は、各ページレイアウトに含まれる単位画像の生成時期に基づいて判定するとよい。具体的には、最も古い単位画像が属するページのページレイアウト(すなわち、1ページ分のページレイアウト)についてレイアウトデータを生成するようにすればよい。そうすることにより、スキャンされた画像データが長時間経過しても印刷されないといった事態の発生を回避することができる。なお、最も古い単位画像データとは、当該単位画像データの生成時期が最も早い単位画像データをいう。換言すれば、連携部213aによってスキャン画像データが受信された時期が最も早いスキャン画像データに含まれていた(当該スキャン画像データより切り出された)単位画像データをいう。
【0122】
または、単位画像の密度が最も高いページレイアウトをレイアウトデータの生成対象として選択するようにしてもよい。単位画像の密度は、1ページ内に配置された全ての画像の面積(以下、「画像面積」という。)の総和を1ページの面積(以下、「ページ面積」という。)によって除することによって求めてもよいし、ページ面積から画像面積を引くことによって求めてもよい。後者の場合、余白部分の面積が求められることになる。したがって、値が大きいほど密度は低い。
【0123】
但し、2ページ分以上のページレイアウトデータが生成されてもよい。また、スキャンレイアウトウィジェット21aに対するユーザによる指示入力に応じ、出力条件が満たされない場合であっても強制的にその時点におけるページレイアウトに基づいて全ページが印刷されるようにしてもよい。
【0124】
ところで、図18を用いて説明した最密充填レイアウトの生成方法によれば、新しいブロックの形成時には、その時点で未配置の単位画像の中で高さが最大の単位画像が当該ブロックの左端に配置されることになる。そのため、ブロックは、下方に配置されるに従い高さが単調に減少(または非増加)する。したがって、あるブロックがページを跨いで配置された場合、当該ブロックの下に、当該ブロックと配置を交換することでブロックがページを跨ぐ事態を解消可能な高さのブロックが存在している可能性がある。そこで、ページを跨ぐブロックが存在する場合に、当該ブロック以降のブロックから1ページ目に収まるブロックを探索し、探索されたブロックを繰り上げて1ページ目に充填するようにしてもよい。
【0125】
より詳しくは、或るブロックがページを跨いで配置された場合、当該ブロックの下に位置するブロックから順次、対象ブロックと配置を交換した場合にページ内に収まるか否かを判定する。ページ内に収まる高さのブロックが存在したら、当該ブロックの配置と、ページを跨るブロックの配置とを入れ替える。斯かる処理は、図17のステップS702とステップS703との間に実行されればよい。
【0126】
図24は、ページを跨ぐブロックが有る場合に他のブロックを繰り上げて充填する例を示す図である。同図では、図22においてページを跨っていたブロック303と、ブロック304とが入れ替えられた例が示されている。その結果、ブロック304に属する全ての単位画像が、1ページ目に充填される。その結果、より効率的に単位画像データを1ページ目に充填することができる。
【0127】
なお、レイアウト生成部2143によるレイアウトの生成処理は、必ずしもFFDHに従わなくてもよい。例えば、高さでソートされた順ではなく、古い単位画像から順に、図18の処理が実行されてもよい。この場合ステップS712では、カレント画像が、最後に配置した単位画像より高さが低く、かつ、最後に配置した単位画像の右隣に配置可能な否かを判定すればよい。
【0128】
また、図13の処理を実行する前までに、文字を示す画像(文字画像)であるか、絵柄(イメージ)を示す画像データであるか、モノクロ画像であるか、又はカラー画像であるか等、画像の内容に応じて単位画像をグループに分類し、グループごとに並列的に図13が実行されるようにしてもよい。ここで、並列的にとは、時間的に並列であることに限定されない。時間的に直列的であっても、図17の処理が実行されるタイミングにおいて、グループごとに図17の処理が実行されればよい。
【0129】
そうすることにより、レイアウト画像データは、画像の内容が近似した単位画像データに基づいて生成される。その結果、各単位画像(文字又は絵柄)に適した画質による印刷を可能としたり、トナーの消費量の節約を可能としたりすることができる。なお、画像内容に基づく画像データの分類は、像域分離処理等、公知の技術を用いて行えばよい。
【0130】
上述したように、本実施の形態によれば、スキャン画像データに含まれる画像(単位画像)のレイアウトが出力条件を満たすまで、スキャン画像データはバッファリングされる。また、単位画像のレイアウトは、効率的に単位画像が配置される規則に基づいて生成される。更に、単位画像のレイアウトは、複数のスキャン画像データを跨って行われうる。したがって、柔軟かつ効率的にスキャン画像の出力(印刷)を実行することができる。
【0131】
また、本実施の形態によれば、レイアウト画像データの生成は、スキャンレイアウトウィジェット21aによって行われる。上述したように、スキャンレイアウトウィジェット21aを利用する場合に操作対象となりうる画像形成装置10は、画像処理システム1内において特定の画像形成装置10に限定されない。したがって、複数の画像形成装置10においてスキャンされたスキャン画像データが、同一のスキャンレイアウトウィジェット21aに転送されうる。その結果、複数の画像形成装置10においてスキャンされたスキャン画像が混在したレイアウト画像データを生成及び出力することが可能となる。
【0132】
次に、図13のステップS1227において、印刷ウィジェット21bを用いてレイアウト画像データを印刷させる例について説明する。
【0133】
まず、印刷ウィジェット21bの基本的な動作について説明する。図25は、印刷ウィジェットのウィジェット情報の送信時の処理手順を説明するためのシーケンス図である。
【0134】
ユーザ端末20において、文書アプリ23を操作しているユーザによって印刷指示が入力されると、プリンタドライバ24は、文書アプリ23によって生成された文書データに関する印刷データを生成する。印刷ウィジェット21bに対応する論理プリンタが印刷先として指定された場合、プリンタドライバ24は、当該論理プリンタに対して出力先として設定されている所定のファイル名の中間ファイルを生成し、当該中間ファイルに印刷データを出力する(S301)。
【0135】
一方、印刷ウィジェット21bは、起動された後、所定のファイル名の中間ファイルが生成されるのを待機している。具体的には、印刷ウィジェット21bは、中間ファイルの有無を確認するため所定のフォルダ内の所定のファイル名のファイルをポーリングしている。印刷ウィジェット21bは、中間ファイルが生成されたことを検知すると、当該中間ファイルより印刷データを読み込む(S302)。これによって、印刷ウィジェット21bに対してジョブが投入されたことになる。
【0136】
なお、印刷ウィジェット21bが複数起動される可能性があるユーザ端末20では、印刷ウィジェット21bごとに論理プリンタを設定しておき、各論理プリンタが出力する中間ファイルのファイル名を異なるものとしておけばよい。各印刷ウィジェット21bは、自らに対応する論理プリンタが出力する中間ファイルの生成を待機することで、同一の中間ファイルに対する複数の印刷ウィジェット21bによる競合が回避される。なお、複数の印刷ウィジェット21bを起動する意義としては、各印刷ウィジェット21bに設定されている印刷設定情報を異なるものとし、所望する印刷態様に応じて利用対象とする印刷ウィジェット21bを切り替えることが一例としてあげられる。ユーザは、各印刷ウィジェット21bに対応する論理プリンタを選択することで、利用対象とする印刷ウィジェット21bを選択することができる。
【0137】
続いて、印刷ウィジェット21bのウィジェット情報送信部212bは、属性情報管理ファイル215bより印刷設定情報を読み込む(S303)。続いて、ウィジェット情報送信部212bは、印刷設定情報と印刷データとを含むウィジェット情報の登録要求をウィジェットマネージャ22に送信する(S304)。なお、印刷ウィジェット21bのウィジェット情報は、投入されたジョブに関する属性情報に相当する。
【0138】
図26は、印刷ウィジェットのウィジェット情報の例を示す図である。同図に示されるウィジェット情報の構成は、図6において説明したスキャンレイアウトウィジェット21aのウィジェット情報の構成とほぼ同様である。但し、印刷ウィジェット21bのウィジェット情報には、スキャンレイアウトウィジェット21aの設定情報の代わりに、印刷設定情報と印刷データとが含まれている。
【0139】
ステップS304において、印刷ウィジェット21bのウィジェット情報送信部212bより送信されたウィジェット情報は、ウィジェットマネージャ22のウィジェット情報登録部221によって受信される。ウィジェット情報登録部221は、受信されたウィジェット情報に含まれているユーザIDに対応するウィジェット情報管理テーブル227に当該ウィジェット情報を登録する(S305)。なお、同一ユーザによってスキャンレイアウトウィジェット21aが既に起動されている場合、スキャンレイアウトウィジェット21aの起動時に生成されたウィジェット情報管理テーブル227に印刷ウィジェット21bのウィジェット情報も登録される。また、スキャンレイアウトウィジェット21aの起動に応じて広告が発行されている場合、印刷ウィジェット21bのウィジェット情報の登録に応じて、同一ユーザに関して改めて広告は発行されない。
【0140】
なお、印刷ウィジェット21bは、ウィジェット情報の登録後、中間ファイルのポーリングを再開する。
【0141】
ユーザ端末20において印刷ウィジェット21bに対してジョブを投入後、ユーザは、印刷ウィジェット21bを利用するために画像形成装置10の設置場所へ移動する。なお、スキャンレイアウトウィジェット21aと同様、ユーザは、広告を受信している複数の画像形成装置10のいずれからも印刷ウィジェット21bを利用することができる。
【0142】
ユーザによって操作パネル15を介してプロバイダアプリ1221の利用指示が入力され、ウィジェット選択画面620が表示されるまでは、図8のステップS201からS206において説明した通りである。但し、同一ユーザに関して(同一のユーザ端末20において)スキャンレイアウトウィジェット21aが起動され、印刷ウィジェット21bに対してジョブが投入されている場合、ステップS205において、ウィジェットマネージャ22のウィジェット情報提供部223によってプロバイダアプリ1221に転送されるウィジェット情報の一覧の中には、スキャンレイアウトウィジェット21aのウィジェット情報(図10参照)に加え、印刷ウィジェット21bのウィジェット情報も含まれる。なお、ここで転送される印刷ウィジェット21bのウィジェット情報は、図26に示されるウィジェット情報に対してウィジェット中継用URLが付加されたものとなる。
【0143】
したがって、この場合、ステップS206において表示されるウィジェット選択画面620の表示内容は、図27に示されるようなものとなる。
【0144】
図27は、印刷ウィジェットにジョブが投入された場合のウィジェット選択画面の表示例を示す図である。図27中、図11と同一部分には同一符号を付している。図27に示されるウィジェット選択画面620には、印刷ウィジェット21bに投入されたジョブに対応するボタン622が表示されている。ボタン622には、印刷ウィジェット21bの表示名に加え、投入されたジョブにおいて印刷対象とされている文書データの文書名(「文書A」)が表示されている。
【0145】
ウィジェット選択画面620においてボタン622が押下され、操作パネル15のスタートキーが押下されると、図28に示される処理が開始される。
【0146】
図28は、印刷ウィジェットの実行時の処理手順を説明するためのシーケンス図である。
【0147】
ウィジェット連携部134は、押下されたボタン622に対応するウィジェット情報(以下、「カレントウィジェット情報」という。)に含まれている連携機能識別子(「print」)に基づいて、印刷を実行すべきことを認識する。印刷を実行するためには印刷設定情報及び印刷データを入手する必要がある。そこで、ウィジェット連携部134は、印刷設定情報及び印刷データの送信要求をカレントウィジェット情報に含まれているウィジェット中継用URL宛に送信する(S401)。
【0148】
ウィジェット中継用URL宛の印刷設定情報及び印刷データの送信要求は、ウィジェットマネージャ22の仲介部224によって受信される。仲介部224は、ウィジェット情報管理テーブル227に登録されているウィジェット情報の中で、当該ウィジェット中継用URLが対応するウィジェット情報より印刷設定情報及び印刷データを取得する。仲介部224は、取得された印刷設定情報及び印刷データをプロバイダアプリ1221のウィジェット連携部134に返信する(S402)。
【0149】
ウィジェット連携部134は、受信された印刷設定情報及び印刷データを機能制御部135に入力する。続いて、機能制御部135は、入力された印刷設定情報及び印刷データに基づく印刷ジョブを印刷アプリ1212に実行させる(S403)。その結果、当該印刷設定情報及び印刷データに基づく印刷画像が印刷された印刷用紙がプリンタ13より出力される。
【0150】
以上のように動作する印刷ウィジェット21bを利用してレイアウト画像データの印刷を実行する場合、スキャンレイアウトウィジェット21aのレイアウト画像出力部2145は、図13のステップS1227において、レイアウト画像データを格納したファイルのファイル名が引数に指定されたコマンドラインによってレイアウト画像データのデータ形式に対応する文書アプリ23をバックグラウンドで起動させ、当該文書アプリ23に印刷指示を入力する。その結果、プリンタドライバ24によってレイアウト画像データの印刷データが生成される。ここで、当該プリンタドライバ24の印刷先を印刷ウィジェット21bに対応する論理プリンタに設定しておけばよい。そうすることにより、当該プリンタドライバ24は、当該論理プリンタに対して出力先として設定されている所定のファイル名の中間ファイルを生成し、当該中間ファイルに印刷データを出力する。その結果、当該中間ファイルの生成に応じ、図25のステップS302以降が実行される。
【0151】
また、レイアウト画像データのデータ形式が、画像形成装置10によって印刷可能なデータ形式である場合、スキャンレイアウトウィジェット21aのレイアウト画像出力部2145は、図13のステップS1227において、レイアウト画像データを格納したファイルを印刷ウィジェット21bのポーリング対象の中間ファイルとして出力してもよい。この場合も同様に、当該中間ファイルの生成に応じ、図25のステップS302以降が実行される。
【0152】
印刷ウィジェット21bを利用してレイアウト画像データの印刷を実行する場合(すなわち、スキャンレイアウトウィジェット21aと印刷ウィジェット21bとを連携させる場合)、ユーザは、画像形成装置10において、以下のような操作を行うことになる。
【0153】
ユーザは、まず、プロバイダアプリ1221の利用指示を入力する。その結果、ユーザ選択画面610(図9参照)が操作パネル15に表示される。ユーザが、ユーザ選択画面610において自らに対応するボタンを押下すると、ウィジェット選択画面620(図11参照)が操作パネル15に表示される。ユーザは、ボタン621を押下して、スキャンレイアウトウィジェット21aを実行させる。続いて、ユーザは改めてウィジェット選択画面620を表示させる。この際、ユーザ端末20側において出力条件が満たされ、レイアウト画像データが生成されていれば、ウィジェット選択画面620の表示内容は図27に示されるようになる。そこで、ユーザがボタン622を押下すると、操作対象の画像形成装置10よりレイアウト画像が印刷された印刷用紙が出力される。
【0154】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【0155】
1 画像処理システム
10 画像形成装置
11 コントローラ
12 スキャナ
13 プリンタ
14 モデム
15 操作パネル
16 ネットワークインタフェース
17 SDカードスロット
20 ユーザ端末
21a スキャンレイアウトウィジェット
21b 印刷ウィジェット
22 ウィジェットマネージャ
23 文書アプリ
24 プリンタドライバ
25 OS
80 SDカード
111 CPU
112 RAM
113 ROM
114 HDD
121 標準アプリ
122 SDKアプリ
123 SDKプラットフォーム
124 コントロールサービス
125 OS
131 ユーザ検知部
132 UI制御部
133 ウィジェット情報取得部
134 ウィジェット連携部
135 機能制御部
136 ユーザ管理テーブル
200 ドライブ装置
201 記録媒体
202 補助記憶装置
203 メモリ装置
204 CPU
205 インタフェース装置
206 表示装置
207 入力装置
211 ウィジェットUI部
212 ウィジェット情報送信部
213 連携部
214 ロジック部
215 属性情報管理ファイル
221 ウィジェット情報登録部
222 広告部
223 ウィジェット情報提供部
224 仲介部
227 ウィジェット情報管理テーブル
1211 スキャンアプリ
1212 印刷アプリ
1213 コピーアプリ
1214 FAXアプリ
1221 プロバイダアプリ
2141 単位画像切り出し部
2142 単位画像蓄積部
2143 レイアウト生成部
2144 レイアウト画像生成部
2145 レイアウト画像出力部
【先行技術文献】
【特許文献】
【0156】
【特許文献1】特開2007−150698号公報

【特許請求の範囲】
【請求項1】
ネットワークを介して接続される画像形成装置において読み取られた画像データを受信し、画像データ記憶手段に記録する画像データ受信手段と、
前記画像データ記憶手段に記録された前記画像データに含まれる複数の画像について、所定の配置領域に対するレイアウトを生成するレイアウト生成手段と、
前記レイアウトが所定の条件を満たす場合に前記レイアウトに従って前記画像が配置されたレイアウト画像データを生成するレイアウト画像生成手段と、
前記レイアウト画像データを前記画像形成装置に印刷させる印刷制御手段とを有する画像処理装置。
【請求項2】
前記所定の条件は、所定のレイアウト規則に従って、所定の用紙サイズについて少なくとも1ページ分が前記画像によって満たされることである請求項1記載の画像処理装置。
【請求項3】
前記所定の条件は、前記所定の用紙サイズについて複数ページ分が前記画像によって満たされることである請求項2記載の画像処理装置。
【請求項4】
前記レイアウト画像データ生成手段は、前記レイアウトに基づいて前記画像が配置された、所定の用紙サイズについて1ページ分のレイアウト画像データを生成する請求項1乃至3いずれか一項記載の画像処理装置。
【請求項5】
前記レイアウト画像生成手段は、前記複数ページの中で、前記画像データ受信手段によって受信された時期が最も早い画像データに係る前記画像が含まれているページについて、前記レイアウト画像データを生成する請求項3記載の画像処理装置。
【請求項6】
前記レイアウト画像生成手段は、前記複数のページの中で、前記画像の密度が最も高いページについて、前記レイアウト画像データを生成する請求項3記載の画像処理装置。
【請求項7】
前記画像データ受信手段によって画像データによって表現される画像より1以上の画像領域を切り出し、切り出された画像領域に係る画像データを前記画像データ記憶手段に記録する画像切り出し手段を有する請求項1乃至6いずれか一項記載の画像処理装置。
【請求項8】
画像形成装置とプログラムとを有する画像処理システムであって、
前記プログラムは、
前記画像形成装置において読み取られた画像データを受信し、画像データ記憶手段に記録する画像データ受信手順と、
前記画像データ記憶手段に記録された前記画像データに含まれる複数の画像について、所定の配置領域に対するレイアウトを生成するレイアウト生成手順と、
前記レイアウトが所定の条件を満たす場合に前記レイアウトに従って前記画像が配置されたレイアウト画像データを生成するレイアウト画像生成手順と、
前記レイアウト画像データを前記画像形成装置に印刷させる印刷制御手順とを前記画像形成装置とネットワークを介して接続されるコンピュータに実行させる画像処理システム。
【請求項9】
コンピュータが、
ネットワークを介して接続される画像形成装置において読み取られた画像データを受信し、画像データ記憶手段に記録する画像データ受信手順と、
前記画像データ記憶手段に記録された前記画像データに含まれる複数の画像について、所定の配置領域に対するレイアウトを生成するレイアウト生成手順と、
前記レイアウトが所定の条件を満たす場合に前記レイアウトに従って前記画像が配置されたレイアウト画像データを生成するレイアウト画像生成手順と、
前記レイアウト画像データを前記画像形成装置に印刷させる印刷制御手順とを実行する画像処理方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate


【公開番号】特開2011−142466(P2011−142466A)
【公開日】平成23年7月21日(2011.7.21)
【国際特許分類】
【出願番号】特願2010−1468(P2010−1468)
【出願日】平成22年1月6日(2010.1.6)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.Bluetooth
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】