〔第一の実施形態〕
図1は、画像処理装置1が設けられたネットワーク構成の例を示す図である。図2は、画像処理装置1のハードウェア構成の例を示す図である。図3は、画像処理装置1の機能的構成の例を示す図である。
図1に示す画像処理装置1は、一般に複合機またはMFP(Multi Function Peripherals)などと呼ばれる装置であって、コピー、ネットワークプリンティング、スキャン、ファックス、およびボックスなどの機能を集約した装置である。
「ネットワークプリンティング機能」は、パーソナルコンピュータ、タブレットコンピュータ、またはスマートフォンなどの端末装置から画像データを受信し、この画像データに基づいて画像を用紙に印刷する機能である。「ネットワークプリント」または「PCプリント」と呼ばれることもある。
「ボックス機能」は、ユーザごとに「ボックス」または「パーソナルボックス」などと呼ばれる記憶領域を与えておき、各ユーザが自分の記憶領域によって画像データなどのデータを保存し管理するための機能である。ボックスは、パーソナルコンピュータにおける「フォルダ」または「ディレクトリ」に相当する。
画像処理装置1は、いわゆるLAN(Local Area Network)回線、公衆回線、またはインターネットなどの通信回線を介してパーソナルコンピュータ、タブレットコンピュータ、スマートフォン、およびファックス端末などの端末装置と画像データのやり取りを行うことができる。
画像処理装置1は、図2に示すように、CPU(Central Processing Unit)10a、RAM(Random Access Memory)10b、VRAM(Video RAM)10c、ROM(Read Only Memory)10d、大容量記憶装置10e、スキャンユニット10f、プリントユニット10g、NIC(Network Interface Card)10h、ファックスモデム10i、操作パネル10j、およびタッチパネルディスプレイ10kなどによって構成される。
NIC10hは、TCP/IP(Transmission Control Protocol/Internet Protocol)などのプロトコルによってパーソナルコンピュータ、タブレットコンピュータ、およびスマートフォンなどと通信を行うための装置である。
ファックスモデム10iは、G3などのプロトコルでファックス端末などと画像データをやり取りするための装置である。
操作パネル10jは、テンキー、スタートキー、およびストップキーなど、操作用のキーによって構成される。
タッチパネルディスプレイ10kは、ユーザに対するメッセージを与えるための画面、処理の結果を示す画面、またはユーザが画像処理装置1に対して指示を入力するための画面などを表示する。また、タッチパネルディスプレイ10kは、タッチされた位置を検知し、CPU10aへその位置を通知する。
ユーザは、操作パネル10jまたはタッチパネルディスプレイ10kを操作することによって、画像処理装置1に対してコマンドを与えたりデータを入力したりすることができる。
スキャンユニット10fは、用紙に記されている写真、文字、絵、図表などの画像を読み取って画像データを生成する。カラーの画像およびモノクロの画像の両方を読み取ることができる。
プリントユニット10gは、スキャンユニット10fによって読み取られた画像のほか、端末装置から送信されてきた画像データに示される画像を用紙に印刷する。カラーの画像およびモノクロの画像の両方を印刷することができる。
ROM10dまたは大容量記憶装置10eには、上述の機能を実現するためのオペレーティングシステム、ミドルウェア、およびアプリケーションなどのソフトウェアが記憶されている。さらに、図3に示す画像データ登録処理部101、画像データ記憶部102、画面表示処理部103、および画像処理部104などの機能を実現するためのソフトウェアが記憶されている。
各ソフトウェアを構成するモジュールは必要に応じてRAM10bにロードされ、CPU10aによって実行される。大容量記憶装置10eとして、ハードディスクドライブまたはSSD(Solid State Drive)などが用いられる。
RAM10bは、主にCPU10aのメインメモリ(画像処理の演算等のための作業メモリ)として用いられる。VRAM10cは、タッチパネルディスプレイ10kに表示する画像のデータを記憶するために用いられる。
図4は、画像データ登録処理部101の構成の例を示す図である。図5は、画像データ登録処理の流れの例を説明するフローチャートである。図6は、1つの原稿のためのデータの構成の例を示す図である。図7は、画面表示処理部103の例を示す図である。図8は、サムネイル表示処理の流れの例を説明するフローチャートである。図9は、原稿選択ウィンドウWN1の例を示す図である。図10は、RAM10bおよびVRAM10cに確保された領域の例を示す図である。図11は、ビットマップデータの準備の処理を説明する図である。図12は、合成画像の生成の例を示す図である。図13は、サムネイル形態変更処理の流れの例を説明するフローチャートである。図14は、付加情報画像を非表示にする際のRAM10bおよびVRAM10cの制御の例を説明する図である。図15は、付加情報画像が非表示である原稿選択ウィンドウWN1の例を示す図である。
以下、図3に示す画像処理装置1の各部を、図4〜図10を参照しながら順次説明する。
画像データ登録処理部101は、図4に示すように、原稿画像データ取得部121、縮小画像データ生成部122、および属性データ生成部123などによって構成され、原稿画像データ50、縮小画像データ51、および属性データ52を画像データ記憶部102に登録するための処理を行う。原稿画像データ50は、原稿の画像の画像データである。縮小画像データ51は、原稿を縮小したものの画像データである。属性データ52は、原稿の種々の属性を示すデータである。
ここで、画像データ登録処理部101の各部の処理の流れを、図5のフローチャートなどを参照しながら説明する。
図5において、原稿画像データ取得部121は、次のように、原稿画像データ50を取得する(#701)。
ユーザは、原稿(例えば、文書、写真、またはイラストなどからなるドキュメント)の画像が記された用紙をスキャンユニット10fにセットし、スキャンの指令を入力する。すると、原稿画像データ取得部121は、用紙のスキャンをスキャンユニット10fに実行させることによって画像のロー(Raw)データを取得し、所定のフォーマット(例えば、PDF(Portable Document Format)またはTIFF(Tagged Image File Format)の画像データに変換する。このようにして得られたデータが、原稿画像データ50である。
または、ユーザは、パーソナルコンピュータ、タブレットコンピュータ、またはスマートフォンなどの端末装置においてワープロソフトまたは描画ソフトなどのアプリケーションで原稿を作成し、この原稿の画像データを所定のフォーマットの画像データへ端末装置に変換させる。そして、端末装置から画像処理装置1へこの画像データを送信する。原稿画像データ取得部121は、この画像データを原稿画像データ50として取得する。そのほか、原稿画像データ取得部121は、ファックスモデム10iがファックス端末から受信した画像データを原稿画像データ50として取得することもできる。
そして、原稿画像データ取得部121は、原稿画像データ50を画像データ記憶部102に記憶させる(#702)。この際に、原稿画像データ50にデータ名を付しておく。原稿画像データ50をファイル単位で管理する場合は、ファイル名がデータ名として用いられる。画像データ記憶部102として、大容量記憶装置10eに設けられている既存のボックス(フォルダ)を用いてもよい。この場合は、予めユーザが指定したボックスを用いればよい。または、オンラインストレージに設けられているフォルダであってもよい。
なお、第一の実施形態では、すべての原稿において高さと幅との比が一定であるものとする。例えば、原稿は、縦長であり、高さと幅との比が、√2:1、であるものとする。サムネイルも同様に、高さと幅との比が、√2:1、であるものとする。後述する第二の実施形態および第三の実施形態においても、同様である。
縮小画像データ生成部122は、原稿画像データ50が取得されると、縮小画像データ51を次のように生成する(#703〜#706)。
縮小画像データ生成部122は、サムネイルエリアサイズを示すサイズデータ61を取得する(#703)。「サムネイルエリアサイズ」は、後述する原稿選択ウィンドウWN1(図9参照)に設けられているサムネイルエリアRY1の縦の長さ(高さEh)および横の長さ(幅Ew)である。サイズデータ61は、ウィンドウ表示処理部131(図7参照)またはウィンドウ用のライブラリなどから取得することができる。
縮小画像データ生成部122は、取得したサイズデータ61に示される高さEhおよび幅Ewに応じて、例えば次のようにサムネイルのサイズを決定する(#704)。なお、上述の通りサムネイルの縦横比が固定なので、サムネイルのサイズは、サムネイルの高さShが決まれば自ずと決まる。
0<Eh<Ph1、および、0<Ew<Pw1、のうちの少なくとも一方の条件を満たす場合は、高さShをSh1に決定する。
これら2つの条件をいずれも満たさないが、Ph1≦Eh<Ph2、および、Pw1≦Ew<Pw2、のうちの少なくとも一方を満たす場合は、高さShをSh2に決定する。それ以外の場合は、高さShをSh3に決定する。
ただし、Ph1、Ph2、およびPh3は閾値であり、Ph1<Ph2<Ph3である。Pw1、Pw2、およびPw3も同様に閾値であり、Pw1<Pw2<Pw3である。また、Sh1<Sh2<Sh3、である。
このように、縮小画像データ生成部122は、基本的に、サムネイルエリアRY1のサイズが大きいほど、サムネイルのサイズを大きいサイズに決定する。この方法によると、3段階のサイズのうちのいずれかにサムネイルのサイズが決定するが、閾値をもっと多く設定しておくことによってサイズをより詳細に決定してもよい。または、2段階のサイズのうちのいずれかに決定するようにしてもよい。
縮小画像データ生成部122は、ステップ#704で決定したサイズおよびステップ#701で原稿画像データ50を取得した原稿のサイズに基づいて、この原稿の縮小率αを算出する(#705)。すなわち、縮小率αとして、Sh/Gh、を算出する。ただし、「Gh」は、この原稿の高さである。
そして、縮小画像データ生成部122は、ステップ#701で原稿画像データ50を取得した原稿を、ステップ#705で算出した縮小率αに縮小することによって、縮小画像データ51を生成する(#706)。
例えば、縮小率αが「0.3」である場合は、原稿の高さおよび幅をそれぞれ30%に縮小する。
縮小画像データ生成部122は、生成した縮小画像データ51を、ステップ#701で取得した原稿画像データ50と対応付けて画像データ記憶部102に記憶させる(#707)。
ただし、原稿が複数のページからなる場合は、縮小画像データ生成部122は、1ページ目を縮小した画像の画像データを縮小画像データ51として記憶させる。
属性データ生成部123は、ステップ#703〜#707の処理と並行してまたは前後して、ステップ#701で原稿画像データ50を生成した原稿の属性を示すデータを生成し(#708)、属性データ52として、この原稿画像データ50と対応付けて画像データ記憶部102に記憶させる(#709)。属性として、ページ数、作成者、所有者、およびデータ名のほか、画像データ記憶部102への登録の日時などが示される。
画像データ登録処理部101の上述の処理が行われるごとに、原稿画像データ50、縮小画像データ51、および属性データ52が、図6に示すように互いに対応付けられて、画像データ記憶部102に記憶される。このようにして、複数の組の縮小画像データ51、および属性データ52が画像データ記憶部102に蓄積される。
画面表示処理部103は、図7に示すウィンドウ表示処理部131、サムネイル用領域確保部132、画像データロード処理部133、画像合成部134、合成画像表示処理部135、選択原稿等判別部136、およびサムネイル変更処理部137などによって構成され、処理の対象の候補の画像をサムネイルとして表示する処理を行う。
ここで、画面表示処理部103の各部の処理の流れを、図8のフローチャートなどを参照しながら説明する。
図8において、ウィンドウ表示処理部131は、所定のコマンド(例えば、原稿の一覧の表示のコマンド)が入力されると、図9に示す原稿選択ウィンドウWN1をタッチパネルディスプレイ10kに表示させる(#711)。ただし、この時点では、サムネイルエリアRY1には未だ何も配置されていない。
サムネイル用領域確保部132は、画像データ記憶部102に記憶されている原稿画像データ50のうち、サムネイルエリアRY1にサムネイルとして表示する原稿の原稿画像データ50を特定する(#712)。そして、特定した原稿画像データ50ごとに、図10(A)に示すようにサムネイル処理領域8AをRAM10bに確保するとともに、図10(B)に示すようにサムネイル領域8BをVRAM10cに確保する(#713)。
原稿画像データ50の特定は、例えば、次の方法によって行うことができる。サムネイルの表示の条件として、あるユーザが所有者であることが指定されている場合は、サムネイル用領域確保部132は、このユーザが所有者として属性データ52に示される原稿の画像データ50を、表示の対象の原稿の画像データ50として特定する。
サムネイル処理領域8Aおよびサムネイル領域8Bは、いずれも、原稿画像データ50に係る原稿のサムネイルの表示の処理に用いられる。サムネイル処理領域8Aは、付加情報画像領域8A1、印刷画像領域8A2、およびベースレイヤ領域8A3によって構成される。サムネイル処理領域8Aおよびサムネイル領域8Bの使い方は、後に順次説明する。
画像データロード処理部133、画像合成部134、および合成画像表示処理部135は、ステップ#712で特定された原稿画像データ50の原稿ごとに、次の処理を行う。以下、ある原稿画像データ50の原稿(以下、「原稿DCx」と記載する。)について処理を行う場合を例に、さらに図11を参照しながら説明する。
画像データロード処理部133は、原稿DCxの属性データ52に基づいて、原稿DCxの属性を表わす文字を含む付加情報画像のビットマップデータ53を生成し(#715)、原稿DCxの付加情報画像領域8A1に書き込む(#716)。文字は、付加情報画像の中の所定の位置、例えば、下方に配置される。文字以外の部分は、透過率が100%の画素が配置される。付加情報画像の高さおよび幅は、それぞれ、縮小画像の高さおよび幅に等しい。
ステップ#715〜#716の処理と並行してまたは前後して、画像データロード処理部133は、原稿DCxの縮小画像データ51に基づいて原稿DCxの縮小画像のビットマップデータ54を生成し(#717)、原稿DCxの印刷画像領域8A2に書き込む(#718)。
なお、ベースレイヤ領域8A3は、次に説明する画像の合成の際に、いわゆるベースレイヤとして用いられる。
画像合成部134は、原稿ごとに、その原稿の付加情報画像領域8A1および印刷画像領域8A2にそれぞれ記憶されているビットマップデータ53および54に基づいて、原稿DCxの縮小画像の上に原稿DCxの付加情報画像を重ねることによって、合成画像を算出する(#719)。その合成画像の画像データ(以下、「ビットマップデータ55」と記載する。)を、その原稿のベースレイヤ領域8A3に記憶させる(#720)。
そして、画像合成部134は、ビットマップデータ55を、原稿DCxのサムネイル領域8Bに記憶させる(#721)。
合成画像表示処理部135は、サムネイル領域8Bに記憶されたビットマップデータ55に基づいて、原稿DCxのサムネイルSN1をサムネイルエリアRY1に配置する(#722)。
つまり、画像合成部134および合成画像表示処理部135は、図12に示すように、白紙のベースレイヤに縮小画像および付加情報画像を順に重ねることによって得られた合成画像をサムネイルSN1としてタッチパネルディスプレイ10kに表示させる。
ステップ#712で特定された他の原稿画像データ50の原稿についても同様に、画像合成部134は、ビットマップデータ55を生成しサムネイル領域8Bに記憶させ、合成画像表示処理部135は、サムネイルをサムネイルエリアRY1に配置する。
ウィンドウ表示処理部131ないし合成画像表示処理部135の以上の処理によって、原稿のサムネイルSN1(SN11、SN12、…)が図9に示すようにサムネイルエリアRY1に次々に表示される。
ユーザは、原稿選択ウィンドウWN1を見ながら、処理の対象の原稿を、その原稿に対応するサムネイルSN1をタッチすることによって選択することができる。そして、実行したい処理を、その処理に対応するボタンBN1をタッチすることによって選択することができる。
この際に、選択原稿等判別部136およびサムネイル変更処理部137は、選択された原稿のサムネイルSN1の形態を変更する処理を、図13のフローチャートに示す手順で実行する。
選択原稿等判別部136は、タッチパネルディスプレイ10kのタッチされた位置に基づいて、ユーザが選択した原稿および処理を判別する(図13の#731)。
サムネイル変更処理部137は、図14に示すように、この原稿のサムネイル領域8Bに、この原稿の印刷画像領域8A2に記憶されているビットマップデータ54を上書きする(#732)。そして、ビットマップデータ54に基づいて、この原稿のサムネイルSN1を表示し直す。ビットマップデータ55(合成画像のデータ)の代わりにビットマップデータ54(合成前のデータ)が用いられるので、図15のように、付加情報画像が消えた状態でサムネイルSN1が表示される。
なお、原稿選択ウィンドウWN1をタッチパネルディスプレイ10kに表示するためにも、RAM10bおよびVRAM10cが使用されるが、使用方法は従来と基本的に同様なので、説明を省略する。
図3に戻って、画像処理部104は、選択原稿等判別部136によって判別された原稿に対して、選択原稿等判別部136によって判別された処理を実行する。つまり、原稿選択ウィンドウWN1においてタッチされたサムネイルSN1に対応する原稿に対して、タッチされたサムネイルSN1に対応する処理を実行する。
具体的には、ボタンBN11がタッチされた場合は、画像処理部104は、この原稿が用紙に印刷されるようにプリントユニット10gなどを制御する。または、ボタンBN12がタッチされた場合は、この原稿の原稿画像データ50が、ユーザが指定した宛先へ送信されるようにNIC10hまたはファックスモデム10iなどを制御する。または、ボタンBN13がタッチされた場合は、この原稿の原稿画像データ50をユーザが指定した保存場所(例えば、大容量記憶装置10eに設けられているボックス)へ移動させる処理を行う。または、ボタンBN14がタッチされた場合は、この原稿の原稿画像データ50を画像データ記憶部102から削除する処理を行う。
処理によっては、条件(用紙のサイズまたは送信先のアドレスなど)の指定を受け付ける必要がある場合がある。この場合は、画像処理装置1は、原稿選択ウィンドウWN1を表示する前に、または、サムネイルSN1およびボタンBN1がタッチされた後に、受付用の画面(例えば、ダイアログボックス)を表示し、ユーザに条件を入力させるようにすればよい。
図16は、画像処理装置1の全体的な処理の流れの例を説明するフローチャートである。
次に、第一の実施形態における原稿画像データ50の管理に関する全体的な処理の流れを、図16のフローチャートを参照しながら説明する。
画像処理装置1は、電源がオンの間、データまたはコマンドが入力されるごとに、入力されたデータまたはコマンドに応じて次の処理を実行する。
画像処理装置1は、データまたはコマンドが入力されるのを待つ(図16の#11)。原稿画像データ50が端末装置から入力されまたはスキャンによって取得された場合は(#12でYes、#13でYes)、この原稿画像データ50を、縮小画像データ51および属性データ52とともに登録する処理を行う(#14)。この処理の手順は、前に図5で説明した通りである。
または、画像処理装置1は、原稿の一覧の表示のコマンドなど所定のコマンドが入力された場合は(#15でYes)、原稿選択ウィンドウWN1(図9参照)を表示する(#16)。表示の際の処理の手順は、前に図8で説明した通りである。ここで、サムネイルSN1およびボタンBN1がタッチされると(#17でYes)、画像処理装置1は、タッチされたサムネイルSN1を、図15に示したように、付加情報画像のない状態で表示し直す(#18)。表示し直す際の処理の手順は、前に図13で説明した通りである。そして、画像処理装置1は、タッチされたサムネイルSN1に対応する原稿の原稿画像データ50について、タッチされたボタンBN1に対応する処理を実行する(#19)。
第一の実施形態によると、サイズを小さくしまたは個数を少なくすることなくサムネイルを表示しつつ、ユーザに誤解されたまま画像に係る処理が行われないように付加情報を表示することができる。
第一の実施形態では、タッチされたボタンBN1に対応する処理が原稿画像データ50に関する処理であれば、処理の種類を問わず、付加情報画像を消してサムネイルSN1を表示し直した。しかし、処理の種類を限定してもよい。例えば、原稿画像データ50を用いた原稿の印刷の処理および他の装置への原稿画像データ50の送信の処理など、外部への原稿の出力に係る処理が指定された場合にのみ、サムネイルSN1を表示し直してもよい。
第一の実施形態では、縮小画像のサイズをサムネイルエリアRY1(図9参照)に基づいて決定したが、さらに、画像データ記憶部102に原稿画像データ50が記憶されている原稿の個数をも参照して、例えば次のように決定してもよい。
画像処理装置1は、原稿選択ウィンドウWN1を表示する際に、サムネイルエリアRY1のサイズ(高さEhおよび幅Ew)と、画像データ記憶部102に記憶されている原稿画像データ50の個数とを、チェックする。そして、この個数のサムネイルSN1をサムネイルエリアRY1に収めることのできる、サムネイルSN1の最大のサイズを算出する。これは、公知の方法によって算出すればよい。
ただし、原稿選択ウィンドウWN1を表示するタイミングになるまで、原稿画像データ50の個数が変動し得る。そこで、画像処理装置1は、縮小画像データ51の生成を、原稿画像データ50を取得したタイミングで行うのではなく、原稿選択ウィンドウWN1を表示するタイミングで行う。後に説明する第二ないし第四の実施形態においても同様に、縮小画像データ51を生成してもよい。
第一の実施形態では、タッチパネルディスプレイ10kに触れて種々の操作を行う場合を例に説明したが、マウスまたはタブレットなどのポインティングデバイスで操作を行ってもよい。この場合は、タッチの代わりにクリックを行うことによって、サムネイルSN1およびボタンBN1を選択すればよい。後述する第二ないし第四の実施形態においても、同様である。
第一の実施形態では、画像処理装置1は、原稿の単位でサムネイルを表示したが、1つの原稿のページ単位でサムネイルを表示してもよい。この場合は、付加情報画像として、ページに関する属性(例えば、ページ番号、含まれる章の番号または名称)を示す画像をサムネイルとともに表示すればよい。後述する第二ないし第四の実施形態においても、同様である。
〔第二の実施形態〕
図17は、画像処理装置1の機能的構成の例を示す図である。図18は、画面表示処理部203の構成の例を示す図である。図19は、原稿選択ウィンドウWN2の例を示す図である。図20は、RAM10bおよびVRAM10cに確保された領域の例を示す図である。図21は、クローン画像表示処理の流れの例を説明するフローチャートである。図22は、クローン画像SC2を表示する際のRAM10bおよびVRAM10cの制御の例を説明する図である。図23は、クローン画像SC2のドラッグ中における原稿選択ウィンドウWN2の例を示す図である。図24は、付加情報画像を非表示にする際のRAM10bおよびVRAM10cの制御の例を説明する図である。図25は、付加情報画像が非表示である原稿選択ウィンドウWN2の例を示す図である。
第一の実施形態では、ユーザは、処理およびその対象を、それぞれに対応するボタンBN1およびサムネイルSN1をタッチすることによって選択した。第二の実施形態では、そのサムネイルSN1をドラッグしてそのボタンBN1の上にドロップすることによって、選択する。
第二の実施形態においても、処理の対象として選択された原稿のサムネイルSN1から付加情報画像が消える。以下、この仕組みについて、説明する。なお、第一の実施形態と重複する点については、説明を省略する。
第二の実施形態における画像処理装置1のハードウェアの構成は、第一の実施形態と同様であり、図2に示した通りである。
ただし、VRAM10cおよびROM10dには、図17に示す画像データ登録処理部201、画像データ記憶部202、画面表示処理部203、画像処理指令検知部204、および画像処理部205などの機能を実現するためのソフトウェアが記憶されている。
画像データ登録処理部201および画像データ記憶部202は、それぞれ、第一の実施形態の画像データ登録処理部101および画像データ記憶部102と同様に機能する。
画面表示処理部203は、第一の実施形態の画面表示処理部103と同様、原稿選択ウィンドウの表示の処理を行う。ただし、図18に示すように、ウィンドウ表示処理部211、サムネイル用領域確保部212、画像データロード処理部213、画像合成部214、合成画像表示処理部215、クローン画像準備処理部216、クローン画像移動処理部217、および合成画像変更処理部218などによって構成される。
ウィンドウ表示処理部211は、第一の実施形態のウィンドウ表示処理部131(図7参照)と同様、所定のコマンドが入力されると、原稿選択ウィンドウをタッチパネルディスプレイ10kに表示させる。ただし、原稿選択ウィンドウWN1(図9参照)の代わりに、図19に示すような原稿選択ウィンドウWN2を表示させる。サムネイルエリアRY21、ボタンBN2、およびサムネイルSN2の役割は、それぞれ、第一の実施形態のサムネイルエリアRY1、ボタンBN1、サムネイルSN1と同様であり、これらの表示方法も第一の実施形態と同様である。原稿選択ウィンドウWN2には、さらに、すべてのボタンBN2を含む領域である画像処理エリアRY22が定められている。
サムネイル用領域確保部212は、第一の実施形態のサムネイル用領域確保部132と同様、サムネイルエリアRY21にサムネイルとして表示する原稿ごとに、RAM10bにサムネイル処理領域8Aを確保し、VRAM10cにサムネイル領域8Bを確保する。さらに、サムネイル用領域確保部212は、図20に示すように、VRAM10cにクローン画像領域8Cを確保する。クローン画像領域8Cの使い方は、後述する。
画像データロード処理部213は、第一の実施形態の画像データロード処理部133と同様、各原稿のビットマップデータ53(付加情報画像のビットマップデータ)を生成し、それぞれに対応する付加情報画像領域8A1に書き込む。さらに、各原稿のビットマップデータ54(縮小画像のビットマップデータ)を生成し、それぞれに対応する印刷画像領域8A2に書き込む。
画像合成部214は、第一の実施形態の画像合成部134と同様、各原稿のビットマップデータ55(合成画像のビットマップデータ)を、ベースレイヤに縮小画像および付加情報画像を重ねることによって生成し(図11、図12参照)、それぞれに対応するベースレイヤ領域8A3に書き込む。
合成画像表示処理部215は、第一の実施形態の合成画像表示処理部135と同様、各原稿のサムネイルSN2をサムネイルエリアRY21に表示させる。
ここで、ユーザは、所望する処理のボタンBN2の上へ、処理の対象の原稿のサムネイルSN2をドラッグ・アンド・ドロップする。
この際に、クローン画像準備処理部216、クローン画像移動処理部217、および合成画像変更処理部218は、サムネイルSN2の表示のための処理を、図21に示す手順で行う。
クローン画像準備処理部216は、いずれかのサムネイルSN2がタッチされると、このサムネイルSN2に対応する原稿を判別し(図21の#741)、図22に示すように、この原稿のベースレイヤ領域8A3に記憶されているビットマップデータ55を、クローン画像領域8Cに書き込む(#742)。
指が離れることなくサムネイルSN2がドラッグされ始めると、クローン画像移動処理部217は、サムネイルSN2と同一の画像を、タッチされている位置に表示させる(#743)。以下、この同一の画像を「クローン画像SC2」と記載する。
クローン画像移動処理部217は、その後、タッチされている位置が変わるたびに(#744でYes)、図23のように、最新の位置に合わせてクローン画像SC2を移動させながら表示させる(#745)。
画像処理エリアRY22にクローン画像SC2の一部分または全部分が入ったら(#746でYes)、合成画像変更処理部218は、このクローン画像SC2に対応する印刷画像領域8A2からビットマップデータ54を読み出し(#747)、図24のようにクローン画像領域8Cに上書きする(#748)。クローン画像移動処理部217は、このビットマップデータ54に基づいてクローン画像SC2を表示し直す(#749)。ビットマップデータ55(合成画像のデータ)の代わりにビットマップデータ54(合成前のデータ)が用いられるので、図25のように、付加情報画像が消えた状態でクローン画像SC2が表示される。
ドラッグの最中にクローン画像SC2が画像処理エリアRY22の外に出ると(#750でYes)、合成画像変更処理部218は、この原稿のベースレイヤ領域8A3からビットマップデータ55を読み出し(#751)、図22のようにクローン画像領域8Cに上書きする(#752)。クローン画像移動処理部217は、このビットマップデータ55に基づいてクローン画像SC2を表示し直す(#753)。ビットマップデータ55が再び用いられるので、図23のように、付加情報画像が加わった状態でクローン画像SC2が表示される。
指がクローン画像SC2から離れると、つまり、ドラッグの操作が終わってクローン画像SC2がドロップされると(#754でYes)、クローン画像移動処理部217は、クローン画像SC2の表示を終了する(#755)。つまり、クローン画像SC2を消去する。
図17に戻って、画像処理指令検知部204は、クローン画像SC2がドロップされた際に、クローン画像SC2の最後の位置に基づいて、画像処理の指令の入力を検知する。具体的には、画像処理指令検知部204は、いずれかのボタンBN2の全部分または一部分にクローン画像SC2の一部分が重なっていれば、重なったボタンBN2に対応する処理の指令を検知する。つまり、クローン画像SC2がドロップされたボタンBN2に対応する処理の指令を検知する。
なお、クローン画像SC2が、複数のボタンBN2に重なっているときにドロップされることがある。この場合は、どちらのボタンBN2に対応する処理をユーザが選択しているのか、分からない。そこで、この場合は、画像処理指令検知部204は、最後にタッチされていた位置つまり指が離れた位置に最も近いボタンBN2の上に、クローン画像SC2がドロップされたと検知すればよい。後述する第三の実施形態においても、同様である。
画像処理部205は、直近にドラッグ・アンド・ドロップされたクローン画像SC2に対応する原稿に対して、画像処理指令検知部204によって指令が検知された処理を実行する。処理の例は、第一の実施形態と同様である。処理の条件の指定の仕方も、第一の実施形態で説明した通りである。
図26は、画像処理装置1の全体的な処理の流れの例を説明するフローチャートである。
次に、第二の実施形態における原稿画像データ50の管理に関する全体的な処理の流れを、図26のフローチャートを参照しながら説明する。
画像処理装置1は、電源がオンの間、データまたはコマンドが入力されるごとに、入力されたデータまたはコマンドに応じて次の処理を実行する。
画像処理装置1は、データまたはコマンドが入力されるのを待つ(図26の#31)。原稿画像データ50が端末装置から入力されまたはスキャンによって取得された場合、(#32でYes、#33でYes)は、第一の実施形態のステップ#14と同様に、この原稿画像データ50を、縮小画像データ51および属性データ52とともに登録する処理を行う(#34)。原稿の一覧の表示のコマンドなど所定のコマンドが入力された場合も(#35でYes)、第一の実施形態のステップ#16と同様に、原稿選択ウィンドウWN2(図19参照)を表示する(#36)。
ここで、ユーザは、原稿選択ウィンドウWN2の中のいずれかのサムネイルSN2をタッチしてドラッグすることができる。
画像処理装置1は、いずれかのサムネイルSN2がタッチされたことを検知すると(#37でYes)、このサムネイルSN2の真上にクローン画像SC2を表示し、クローン画像SC2にタッチしている間、つまり、指がクローン画像SC2から離れるまでの間、タッチされている位置に応じてクローン画像SC2の位置を変えて表示する(#38)。クローン画像SC2の表示の仕方は、前に図21で説明した通りである。
図21のステップ#754、#755の通り、画像処理装置1は、クローン画像SC2から指が離れたこと、つまり、クローン画像SC2がドロップされたことを検知すると、クローン画像SC2の表示の処理を終了する。
クローン画像SC2がいずれかのボタンBN2の上でドロップされたのであれば(#39でYes)、画像処理装置1は、このクローン画像SC2に対応する原稿の原稿画像データ50を、ドロップされたボタンBN2に対応する処理を実行する(#40)。
第二の実施形態によると、サイズを小さくしまたは個数を少なくすることなくサムネイルを表示しつつ、ユーザに誤解されたまま画像に係る処理が行われないように付加情報を表示することができる。
図27は、原稿選択ウィンドウWN2の変形例を示す図である。第二の実施形態では、タッチされたボタンBN2に対応する処理が原稿画像データ50に関する処理であれば、処理の種類を問わず、付加情報画像を消してクローン画像SC2を表示し直した。しかし、処理の種類を限定してもよい。例えば、原稿の出力に係る処理が指定された場合にのみ、クローン画像SC2を表示し直してもよい。この場合は、図27に示すように画像処理エリアRY22に原稿の出力に係る処理のボタンBN2(BN21、BN22)を配置し、他の処理のボタンBN2(BN23、BN24)を配置しないようにすればよい。
本実施形態では、ドラッグに合わせてサムネイルSN2の複製つまりクローン画像SC2を移動させたが、ドラッグ中、サムネイルSN2を半透明にするなど、表示の形態を変えてもよい。または、クローン画像SC2を表示させず、サムネイルSN2を移動させてもよい。この場合は、指が離れると、サムネイルSN2を元の位置に戻すようにすればよい。第三の実施形態および第四の実施形態においても、同様である。
〔第三の実施形態〕
図28は、画像処理装置1の機能的構成の例を示す図である。図29は、画像データ登録処理部301の構成の例を示す図である。図30は、画像データ登録処理の流れの例を説明するフローチャートである。図31は、1つの原稿のためのデータの構成の例を示す図である。図32は、画面表示処理部203の構成の例を示す図である。図33は、原稿選択ウィンドウWN3の例を示す図である。図34は、RAM10bおよびVRAM10cに確保された領域の例を示す図である。図35および図36は、クローン画像表示処理の流れの例を説明するフローチャートである。図37は、クローン画像SC2を表示する際のRAM10bおよびVRAM10cの制御の例を説明する図である。図38は、付加情報画像を非表示にする際のRAM10bおよびVRAM10cの制御の例を説明する図である。図39は、クローン画像SC2をモノクロで表示する際のRAM10bおよびVRAM10cの制御の例を説明する図である。
第一の実施形態および第二の実施形態では、プリントユニット10gとして、いわゆるカラープリンタを用いる場合を例に説明した。第三の実施形態は、プリントユニット10gとして、いわゆるモノクロプリンタを用いる場合を例に説明する。
第三の実施形態においても、第二の実施形態と同様、処理の対象として選択された原稿のクローン画像から付加情報画像が消える(図25参照)。第三の実施形態では、さらに、その処理が原稿をモノクロで出力する処理である場合は、クローン画像がモノクロの画像に変わる。以下、この仕組みについて、説明する。なお、第一の実施形態または第二の実施形態と重複する点については、説明を省略する。
第三の実施形態における画像処理装置1のハードウェアの構成は、プリントユニット10g以外は基本的に第一の実施形態および第二の実施形態と同様であり、図2に示した通りである。
ただし、VRAM10cおよびROM10dには、図28に示す画像データ登録処理部301、画像データ記憶部302、画面表示処理部303、画像処理指令検知部304、および画像処理部305などの機能を実現するためのソフトウェアが記憶されている。
画像データ登録処理部301の機能は、第一の実施形態の画像データ登録処理部101および第二の実施形態の画像データ登録処理部201と基本的に同様である。ただし、画像データ登録処理部301は、さらに、モノクロのクローン画像の画像データを用意する処理を行う。
画像データ登録処理部301は、図29に示すように、原稿画像データ取得部321、縮小画像データ生成部322、属性データ生成部323、およびモノクロ画像データ生成部324などによって構成される。ここで、画像データ登録処理部301の各部の処理を、図30のフローチャートなどを参照しながら説明する。
原稿画像データ取得部321、縮小画像データ生成部322、および属性データ生成部323の処理は、第一の実施形態および第二の実施形態の原稿画像データ取得部121、縮小画像データ生成部122、および属性データ生成部123(図4参照)の処理と同様である。
つまり、原稿画像データ取得部321は、原稿画像データ50を取得し(図30の#761)、画像データ記憶部302に記憶させる(#762)。
縮小画像データ生成部322は、原稿画像データ50が取得されると、縮小率を算出するなどして縮小画像データ51を生成し(#763〜#766)、画像データ記憶部302に原稿画像データ50と対応付けて縮小画像データ51を記憶させる(#767)。
属性データ生成部323は、ステップ#763〜#767の処理と並行してまたは前後して、属性データ52を生成し(#768)、原稿画像データ50と対応付けて画像データ記憶部302に記憶させる(#769)。
原稿がカラーである場合は(#770でYes)、さらに、ステップ#768〜#769の処理と並行してまたは前後して、モノクロ画像データ生成部324は、縮小画像データ51に対してモノクロ変換の処理を施すことによってモノクロの縮小画像(以下、「モノクロ画像」と記載する。)の画像データを生成する(#771)。そして、この画像データをモノクロ画像データ56として、原稿画像データ50と対応付けて画像データ記憶部302に記憶させる(#772)。モノクロ画像のサイズは、縮小画像のサイズに等しい。
なお、原稿画像データ50に対してモノクロ変換の処理を施し、ステップ#765で決定した縮小率αで縮小を行うことによって、モノクロ画像データ56を生成してもよい。
以上の処理によって、原稿の、原稿画像データ50、縮小画像データ51、属性データ52、およびモノクロ画像データ56が、図31に示すように互いに対応付けられて画像データ記憶部302に記憶される。
図28に戻って、画面表示処理部303は、第一の実施形態の画面表示処理部103(図3参照)および第二の実施形態の画面表示処理部203(図17参照)と同様、原稿選択ウィンドウの表示の処理を行う。ただし、303は、図32に示すように、ウィンドウ表示処理部311、サムネイル用領域確保部312、画像データロード処理部313、画像合成部314、合成画像表示処理部315、クローン画像準備処理部316、クローン画像移動処理部317、および合成画像変更処理部318などによって構成される。
ウィンドウ表示処理部311は、第一の実施形態のウィンドウ表示処理部131(図7参照)および第二の実施形態のウィンドウ表示処理部211(図18参照)と同様、所定のコマンドが入力されると、原稿選択ウィンドウをタッチパネルディスプレイ10kに表示させる。ただし、原稿選択ウィンドウWN1、WN2(図9、図19参照)の代わりに、図33のような原稿選択ウィンドウWN3を表示させる。サムネイルエリアRY31、ボタンBN3、およびサムネイルSN3の役割は、それぞれ、サムネイルエリアRY1、RY21、ボタンBN1、BN2、およびサムネイルSN1、SN2と同様であり、これらの表示方法も第一の実施形態および第二の実施形態と同様である。原稿選択ウィンドウWN3には、さらに、印刷に対応するボタンBN31を含む第一の画像処理エリアRY32および印刷以外の各処理に対応するボタンBN32〜BN34を含む第二の画像処理エリアRY33が、定められている。
サムネイル用領域確保部312は、サムネイルエリアRY31にサムネイルとして表示する原稿ごとに、RAM10bにサムネイル処理領域8A’を確保し、VRAM10cにサムネイル領域8Bを確保する。さらに、サムネイル用領域確保部312は、VRAM10cに、クローン画像領域8Cを確保する。
サムネイル処理領域8A’には、第一の実施形態および第二の実施形態と同様、付加情報画像領域8A1、印刷画像領域8A2、およびベースレイヤ領域8A3が設けられている。サムネイル処理領域8A’には、さらに、図34に示すように、モノクロ画像のビットマップデータを記憶するためのモノクロ画像領域8A4が設けられている。
画像データロード処理部313は、第一の実施形態の画像データロード処理部133および第二の実施形態の画像データロード処理部213と同様、各原稿のビットマップデータ53(付加情報画像のビットマップデータ)を生成し、それぞれに対応する付加情報画像領域8A1に書き込む。各原稿のビットマップデータ55(縮小画像のビットマップデータ)を生成し、それぞれに対応する印刷画像領域8A2に書き込む。さらに、各原稿のモノクロ画像のビットマップデータ(以下、「ビットマップデータ56」と記載する。)を生成し、それぞれに対応するモノクロ画像領域8A4に書き込む。
画像合成部314は、第一の実施形態の画像合成部134および第二の実施形態の画像合成部214と同様、各原稿のサムネイルSN3を、ベースレイヤに縮小画像および付加情報画像を重ねることによって生成する(図11、図12参照)。
合成画像表示処理部315は、第一の実施形態の合成画像表示処理部135および第二の実施形態の合成画像表示処理部215と同様、各原稿のサムネイルSN3をサムネイルエリアRY31に表示させる。
ここで、ユーザは、第二の実施形態と同様、所望する処理のボタンBN3の上へ、処理の対象の原稿のサムネイルSN3(より正確には、サムネイルSN3のクローン画像)をドラッグ・アンド・ドロップする。
この際に、クローン画像準備処理部316、クローン画像移動処理部317、および合成画像変更処理部318は、サムネイルSN3の表示のための処理を、図35および図36に示す手順で行う。
クローン画像準備処理部316は、いずれかのサムネイルSN3がタッチされると、第二の実施形態のクローン画像準備処理部216と同様、このサムネイルSN3に対応する原稿を判別し(図35の#781)、図37に示すように、この原稿のベースレイヤ領域8A3に記憶されているビットマップデータ55を、クローン画像領域8Cに書き込む(#782)。
指が離れることなくサムネイルSN3がドラッグされ始めると、クローン画像移動処理部317は、第二の実施形態のクローン画像移動処理部217と同様、サムネイルSN3の移動の処理を行う。すなわち、クローン画像移動処理部317は、サムネイルSN3と同一の画像を、タッチされている位置に表示させる(#783)。以下、この同一の画像を「クローン画像SC3」と記載する。
クローン画像移動処理部317は、その後、タッチされている位置が変わるたびに(#784でYes)、最新の位置に合わせてクローン画像SC3を移動させながら表示させる(#785)。
合成画像変更処理部318は、クローン画像SC3が第一の画像処理エリアRY32または第二の画像処理エリアRY33に入った場合に、クローン画像SC3の形態を変える処理を次のように行う。
第二の画像処理エリアRY33にクローン画像SC3の一部分または全部分が入った場合は(#786でYes)、合成画像変更処理部318は、第二の実施形態の合成画像変更処理部218と同様、クローン画像SC3に対応する原稿の印刷画像領域8A2からビットマップデータ54を読み出し(#747)、図38のようにクローン画像領域8Cに上書きする(#788)。クローン画像移動処理部317は、このビットマップデータ54に基づいてクローン画像SC3を表示し直す(#789)。よって、付加情報画像が消えた状態でクローン画像SC3が表示される。
一方、第一の画像処理エリアRY32にクローン画像SC3の一部分または全部分が入った場合は(#790でYes)、合成画像変更処理部318は、クローン画像SC3に対応する原稿のモノクロ画像領域8A4からモノクロ画像データ56を読み出し(#791)、図39のようにクローン画像領域8Cに上書きする(#792)。クローン画像移動処理部317は、このモノクロ画像データ56に基づいてクローン画像SC3を表示し直す(図36の#793)。よって、付加情報画像が消えた状態でかつモノクロでクローン画像SC3が表示される。
ドラッグの最中にクローン画像SC3が第一の画像処理エリアRY32および第二の画像処理エリアRY33のいずれにも重ならなくなると(#794でYes)、合成画像変更処理部318は、この原稿のベースレイヤ領域8A3からビットマップデータ55を読み出し(#795)、図37のようにクローン画像領域8Cに上書きする(#796)。クローン画像移動処理部317は、このビットマップデータ55に基づいてクローン画像SC3を表示し直す(#797)。ビットマップデータ55が再び用いられるので、再び付加情報画像が加わった状態でクローン画像SC3が表示される。また、モノクロだった場合は、カラーに戻って表示される。
指がクローン画像SC3から離れると、つまり、ドラッグの操作が終わってクローン画像SC3がドロップされると(#798でYes)、クローン画像移動処理部317は、クローン画像SC3の表示を終了する(#799)。
図28に戻って、画像処理指令検知部304は、クローン画像SC3がドロップされた際に、第二の実施形態の画像処理指令検知部204と同様、クローン画像SC3がドロップされた位置に基づいて、画像処理の指令の入力を検知する。
画像処理部305は、第二の実施形態の画像処理部205と同様、直近にドラッグ・アンド・ドロップされたクローン画像SC3に対応する原稿に対して、画像処理指令検知部304によって指令が検知された処理を実行する。処理の例は、第一の実施形態および第二の実施形態と同様である。処理の条件の指定の仕方も、第一の実施形態で説明した通りである。
第三の実施形態における画像処理装置1の全体的な処理の流れは、第二の実施形態と同様であり、図26で説明した通りである。ただし、ステップ#38において、クローン画像SC3の表示の処理を、図35および図36に示した手順で実行する。
第三の実施形態によると、サイズを小さくしまたは個数を少なくすることなくサムネイルを表示しつつ、ユーザに誤解されたまま画像に係る処理が行われないように付加情報を表示することができる。さらに、カラー印刷が行われると誤解されないようにサムネイルを表示することができる。
第三の実施形態では、ドラッグ・アンド・ドロップによって処理の種類および対象を指定したが、第一の実施形態と同様、それぞれに対応するボタンおよびサムネイルをタッチすることによって指定する場合にも、サムネイルをモノクロ化することができる。
すなわち、図33において、いずれかのサムネイルSN3と第一の画像処理エリアRY32内のいずれかのボタンBN3とがタッチされた場合に、タッチされたサムネイルSN3をモノクロで表示すればよい。この際に、付加情報画像を消去する。
第三の実施形態では、プリントユニット10gがモノクロプリンタである場合を例に説明したが、プリントユニット10gがカラープリンタであっても印刷のカラー/モノクロの条件としてモノクロが設定された場合も、クローン画像SC3をモノクロに変えて表示してもよい。
〔第四の実施形態〕
図40は、合成画像の生成の変形例を示す図である。図41は、サムネイルSN4の例を示す図である。
第一ないし第三の実施形態では、サムネイルの付加情報画像が用紙に印刷されない情報である旨を、サムネイルとともにボタンが選択された際に付加情報画像を隠すことによって、ユーザに知らせた。第四の実施形態では、この旨を、縮小画像から付加情報画像をはみ出して配置することによって知らせてもよい。以下、この仕組みについて、説明する。なお、第一ないし第三の実施形態と重複する点については、説明を省略する。
第四の実施形態における画像処理装置1のハードウェアの構成は、第一ないし第三の実施形態と同様であり、図2に示した通りである。
VRAM10cおよびROM10dに記憶されているソフトウェアも、基本的に第一ないし第三の実施形態のいずれかと同様である。ただし、第四の実施形態では、合成画像を生成する方法が、異なる。
つまり、第一ないし第三の実施形態では、図12に示したように、縮小画像と付加情報画像とをずれないように重ねた。
一方、第四の実施形態では、図40に示すように、付加情報画像を幅方向に長さFSw
だけシフトさせて縮小画像の上に重ねることによって、合成画像を生成する。よって、第一ないし第三の実施形態の場合よりも、合成画像のサイズが大きくなる。そこで、合成画像55が記憶できるように、必要に応じて第一ないし第三の実施形態の場合よりもベースレイヤ領域8A3(図10、図20、図34参照)を大きくしておく。
画像処理装置1は、このような合成画像のビットマップデータ55を用いることによって、図41に示すように、縮小画像から付加情報画像がはみ出た状態でサムネイルSN4を表示することができる。
付加情報画像を隠す方法および処理の指令を受け付ける方法などは、第一ないし第三の実施形態と同様である。なお、第四の実施形態では、付加情報画像を隠さないようにしてもよい。
第四の実施形態によると、サムネイルSN4を表示した当初から、付加情報画像が原稿とともに出力されるものではないことをユーザに認識させることができる。
第一ないし第四の実施形態では、画像処理装置1がサムネイルを表示する場合を例に説明したが、パーソナルコンピュータ、タブレットコンピュータ、またはスマートフォンなどがサムネイルを表示する場合にも、本発明を適用することができる。
その他、画像処理装置1の全体または各部の構成、処理内容、処理順序、データの構成などは、本発明の趣旨に沿って適宜変更することができる。