ここでは、下記の順序に従って本発明の実施の形態について説明する。
(1)スキャナーの構成:
(2)表示装置の構成:
(3)表示制御処理:
(4)他の実施形態:
(1)スキャナーの構成:
図1は、本発明の一実施例にかかるスキャナー1のブロック図である。スキャナー1は、コントローラー10と通信部70と操作部80と読取部(光源21、光学部22、センサー23、副走査装置30)を備える。コントローラー10は、図示しない記録媒体と、当該記録媒体からプログラムを読み出して実行するプロセッサー(特定の処理を実行するように回路が構成されたASIC等の専用回路であってもよいし、ASIC等とCPUとが協働していてもよい)を備える。
コントローラー10はセンサー23を制御する制御部11、読み取った画像からスキャンデータを生成する処理部12として機能する。すなわち、コントローラー10は、制御部11の機能によりスキャナー1の各部を制御してスキャン対象物を読み取り、処理部12の機能によって読み取り結果を処理してスキャンデータを生成する。
操作部80は、利用者に対して種々の情報を提供する出力部と、利用者による入力操作を受け付ける入力部とを備えている。出力部は、例えば表示を行うディスプレイや音を出すスピーカーであり、入力部は、入力ボタンやタッチパネルである。コントローラー10は、操作部80を制御してスキャン条件の選択やスキャン開始指示等を行うための情報を出力部に表示させる。利用者は、当該出力部の出力に基づいてスキャン条件の選択やスキャン開始指示等を入力することができる。
スキャン開始指示が入力されると、コントローラー10は、スキャナー1の各部を制御し、スキャン対象物を読み取るための動作を行わせる。この動作により、センサー23から読み取り結果が出力されると、コントローラー10が読み取り結果を合成し、合成結果を補正してスキャンデータを生成する。
通信部70は、外部の装置(本実施形態においては、外部のコンピューター90)と通信を行うための装置であり、コントローラー10は、任意の情報をコンピューター90に送信し、コンピューター90から各種の指示等を受け取ることができる。本実施形態において、スキャンデータが生成されると、コントローラー10が通信部70を介してスキャンデータをコンピューター90に送信する。むろん、スキャンデータは、種々の態様で利用されてよく、スキャナー1が備える図示しない記録媒体に保存されてもよいし、可搬型の記録媒体に保存されてもよいし、通信部70を介してコンピューター90以外の装置に提供されてもよい。
本実施形態にかかるスキャナー1はスキャン対象物を置くための載置台を備えており、平面の載置台に載せられたスキャン対象物が読み取られる。本実施形態において、載置台のスキャン対象物は、光源21,光学部22,センサー23,副走査装置30を備える読取部によって読み取られる。本実施形態において、光源21,光学部22,センサー23はCIS(Contact Image sensor)として構成されている。図2は、CISと載置台50とを模式的に示す図である。同図に示すY軸は副走査方向、Z軸は載置台50に垂直な方向を示しており、この図においてはY軸およびZ軸に垂直な方向が主走査方向である。
副走査装置30は、図示しないモーターを備え、当該モーターの動力によって副走査方向(Y軸方向)にCISを往復動作させることが可能な装置である。コントローラー10は、副走査装置30の動作を制御することができる。光源21は、複数色のLEDを備えており、各LEDは載置台50の所定方向に向けて照明光E1を照射するようにCISに取り付けられている。従って、スキャン対象物が読み取られる場合、LEDの向きが所定方向に向いた状態で光源21が副走査方向に移動し得る。すなわち、照明光が照射される位置が副走査方向に移動することで読み取り位置が変化し、副走査が行われる。
なお、本実施形態において光源21は、第1色チャネル(R:Red)、第2色チャネル(G:Green)、第3色チャネル(B:Blue)の3色のLEDを備えている。コントローラー10は、光源21を制御し、副走査を行いながら第1色チャネル、第2色チャネル、第3色チャネルの順にLEDを点灯させる制御を繰り返すことでスキャン対象物のカラースキャンを行うことができる(むろん、点灯順序は異なっていてもよいし、CISの搬送を間欠駆動させ、停止している間に各色チャネルの照射を行う動作を停止毎に繰り返しても良い)。
図2においては、載置台上でのスキャン対象物の読取面の付近を拡大図Fとして示している。拡大図Fにおいては、第1色チャネルの光路をRおよび実線の矢印で示し、第2色チャネルの光路をGおよび破線の矢印で示し、第3色チャネルの光路をBおよび一点鎖線の矢印で示している。拡大図Fに示す光路の矢印は代表的な光路である。拡大図Fに示すように、本実施形態においては、各色チャネルの光源21のそれぞれが独立して点灯された状態でCISが副走査方向に移動することで副走査方向の所定範囲が各色チャネルで読み取られる。また、本実施形態においては、副走査方向に連続する一定の領域が1画素を構成し、1画素の画像は第1色チャネルの画素値と第2色チャネルの画素値と第3色チャネルの画素値とで構成される。
光学部22は、図示しない複数のレンズを備えており、当該複数のレンズが主走査方向(X軸)に並ぶロッドレンズを備えている。光源21からの照明光E1は、スキャン対象物で乱反射し、光学部22への入射光E2となる。入射光E2はロッドレンズに入射し、ロッドレンズによってスキャン対象物の像がセンサー23に等倍結像する。むろん、光学部22はレンズ以外の光学部品、例えば絞り等を備えていて良い。また、光学系は等倍結像させる構成に限定されず、縮小結像や拡大結像させる光学系であっても良い。
センサー23は1列のラインセンサーであり、一方向に並ぶ複数の光電変換素子(以後、素子と呼ぶ)を備えている。すなわち、本実施形態においては、異なる色チャネルの光源21が異なるタイミングで点灯され、各色チャネルでの読み取り結果(光の強度)を出力する。従って、センサー23は、カラーフィルターを備えない(いわばモノクロの)センサーである。なお、本実施形態においては、センサー23の各素子が並ぶ方向を主走査方向とみなす。むろん、センサー23の構成は、他にも種々の構成が採用されてよく、例えば、主走査方向に分割された複数のセンサーを備え、各センサーでの読み取り結果を結合して1ラインの読み取りを行ってもよい。
センサー23は、図示しないアナログフロントエンドを備えている。アナログフロントエンドは、光の受光量に応じて素子が出力した信号を増幅させて出力する回路やA/D変換する回路を含む。本実施形態においてアナログフロントエンドは、増幅率を示す情報を記録する記録媒体を備えており、アナログフロントエンドにおいては、当該増幅率を示す情報に基づいて、センサー23の黒レベルを最小の出力値、白レベルを最大の出力値にする増幅率調整を行う。
次に、スキャナー1のコントローラー10が実行するスキャン処理を説明する。本実施形態にかかるスキャナー1は、紙などの自発光しない媒体を読み取る通常のモードの他、自発光するディスプレイに表示された画像を読み取るディスプレイスキャンモードを実行可能である。利用者は、操作部80に対する操作によってモードを指定することができる。
利用者が紙原稿を読み取る場合、利用者は紙原稿を載置台50におく。この状態で、利用者がスキャナー1の操作部80を操作し、通常のモードでのスキャンの開始指示を行なうと、コントローラー10は、制御部11の機能により、図3に示すスキャン動作を開始する。
なお、図3においては、横方向が時間軸であり、R,G,Bの各光源の駆動タイミングを示しており、時間軸上で各光源がオンになるタイミングを矩形で示している。また、各光源の光で読取が行われる原稿の内容を模式的に示している。すなわち、図3に示す原稿においては、背景が暗いグレーであり、副走査方向に赤、黄、青、緑の部位が並んでいる状態が想定されている。原稿の各部位にはR,G,Bのパーセンテージによって各画素の色が示されている。なお、以後、原稿の赤、黄、青、緑の部位を部位(a)、部位(b)、部位(c)、部位(d)とも呼ぶ。なお、ここでは、原稿の主走査方向に、同色の部位が連続している例が想定されている。例えば、部位(a)を含むラインは、主走査方向に沿って背景、赤い部位、背景が並んでいる状態が想定されている。
さらに、図3においては、センサー駆動タイミングが上下方向の実線で示されている。図3に示すセンサー出力は、センサーから出力される出力値をライン毎に棒グラフによって模式的に示している。センサー出力は、各光源によって原稿が照射され、乱反射した光がセンサーに蓄積された光量に対応した値であり、R,G,Bの各光源の点灯順に各色チャネルの出力値が1ライン分出力されたと解釈される。例えば、図3の左端の背景の読み取り結果は、R,G,Bの順に1ライン分全てで10%の出力値であり、グレーの画素として読み取られたことを示している。当該背景の隣の赤の部位の読み取り結果は、1ラインの読み取り結果の中から背景を除外した部位の読み取り結果がR,G,Bの順に90%,10%,20%の出力値となっており、赤の画素として読み取られたことを示している。
スキャン動作が開始されると、コントローラー10は、制御部11の機能により、図3に示すような既定の順序および期間で各色チャネルの光源を点灯するように光源21を制御する。また、コントローラー10は、制御部11の機能により、副走査装置30を制御してCISのY軸正方向の移動を開始させる。さらに、コントローラー10は、制御部11の機能により、センサー23を制御し、既定のタイミングでセンサー23にライン取り込み動作をさせる。
具体的には、図3に示すタイミングTmでモーターの正方向回転が開始される。この結果、CISが一定速度でY軸正方向に移動していく。CISの移動開始後、コントローラー10は、制御部11の機能により、センサー23を制御し、既定のタイミングでセンサー23にライン取り込み動作をさせる。図3においては、「センサー駆動」において黒い線でセンサー23の動作タイミングを示している。
一定期間毎のセンサー駆動タイミングによってライン取り込み動作が行われることにより、第1色チャネルR、第2色チャネルG、第3色チャネルBの順で色チャネル毎の取り込みが行われる。図3に示す、「センサー出力」において、第1色チャネル〜第3色チャネルの画像が一定時間毎に出力されることを、R,G,Bの文字によって示している。このように、各色チャネルの画像を順にスキャンする構成は、スキャナー1の光源21がR,G,Bの各色チャネルのLEDを有していることに対応しており、一定時間毎に順次点灯していることに対応している。
すなわち、この構成においてセンサー23は、異なる色の複数のカラーフィルターを有しておらず、光の色を区別することなく光の強度に対応した値を出力するセンサーである。従って、通常のモードにおいては、図3の「光源R駆動」「光源G駆動」「光源B駆動」に示すように、R,G,Bの各色チャネルのLEDを順次点灯させることで、各色チャネルのスキャンを順に行なう構成となっている。
(2)表示装置の構成:
以上の構成により、本実施形態にかかるスキャナー1は、スキャン対象物のスキャンを行うことができる。そして、本実施形態にかかるスキャナー1は、上述の通常のモードの他、自発光するディスプレイに表示された画像を読み取るディスプレイスキャンモードを実行可能である。利用者は、操作部80に対する操作によってモードを指定することができる。
以下においては、自発光するディスプレイに表示された画像を読み取るディスプレイスキャンモードについて主に説明する。ディスプレイスキャンモードにおいて、利用者は、ディスプレイを備える表示装置(携帯端末等)を用意し、スキャン対象画像をディスプレイに表示させる。また、利用者は、ディスプレイが載置台50側を向くように表示装置を載置台50に置き、スキャナー1によって表示装置のディスプレイをスキャンする。
このようなスキャンを実現するため、本実施形態においては携帯端末等によってスキャナー1でのスキャンに対応した画像を表示させるためのアプリケーションプログラムである表示アプリを実行する。この結果、携帯端末等が本実施形態にかかる表示装置として機能する。図4は、携帯端末等が表示装置として機能する場合の構成を示す図である。
図4に示すように、表示装置2は、コントローラー100とタッチパネルディスプレイ200とカメラ300と無線通信部400とを備えている。コントローラー100は、図示しないCPUやROM(EEPROMであってもよい),RAM等のメモリを備えており、メモリに記録された種々のプログラムを実行可能である。本実施形態においては、当該プログラムの一つにスキャナー1でのスキャンに対応した画像を表示させるためのアプリケーションプログラムが含まれている。
タッチパネルディスプレイ200は、各種の情報を表示可能なディスプレイと、ディスプレイに対するタッチを検出するタッチパネルとを兼ねたユーザーインターフェイスである。本実施形態においてタッチパネルディスプレイ200は、第1色チャネルと第2色チャネルと第3色チャネルの各色の発光体を備えた画素が複数個並べられて形成されている。色チャネルは少なくとも3色(例えば、RGB:Red,Green,Blue)であれば良く、4色以上(例えば、RGBY:Red,Green,Blue,Yellow)であってもよい。本実施形態において、タッチパネルディスプレイ200は第1色チャネルR,第2色チャネルG,第3色チャネルBの各色チャネルの発光体を備えている。
カメラ300は、視野内の画像を撮像し、当該画像を示す画像データを生成する装置である。本実施形態において、カメラ300は、表示装置2の筐体においてタッチパネルディスプレイ200と同一の面に設けられており、例えば、タッチパネルディスプレイ200を利用者が視認している場合、利用者の顔がカメラ300の視野内に含まれる状態になる。無線通信部400は、公衆通信回線を介して他の端末と通話や通信を行うための装置である。むろん、種々の無線規格によって表示装置2とスキャナー1とが無線通信可能であっても良い。
本実施形態においてコントローラー100は、タッチパネルディスプレイ200とカメラ300と無線通信部400との各部を制御する。また、コントローラー100は、スキャナー1がディスプレイスキャンモードで動作する際にスキャン対象となる画像をタッチパネルディスプレイ200に表示させる制御を行う。すなわち、スキャナー1でのスキャンに対応した画像を表示させるためのアプリケーションプログラムが実行されると、コントローラー100は、表示制御部110、カメラ制御部120として機能する。
表示制御部110は、コントローラー100に、カラー画像の第1色チャネルRに基づく第1画像と、カラー画像の第2色チャネルGに基づく第2画像と、カラー画像の第3色チャネルBに基づく第3画像と、をスキャナーの動作に応じて順次切り替えてタッチパネルディスプレイ200に表示させる機能をコントローラー100に実行させる。
すなわち、ディスプレイスキャンモードにおいて、カラー画像は第1色チャネル、第2色チャネル、第3色チャネルの各色チャネルに分解され、色チャネル毎にスキャンが行われる。このため、コントローラー100は、スキャン対象のカラー画像を色チャネル毎の画像に分解し、第1画像、第2画像、第3画像とする。なお、本実施形態において、スキャン対象であるカラー画像はコントローラー100のメモリに記録されているが、コントローラー100が無線通信部400や各種のインターフェース(外部メモリのインターフェース等)から取得する構成等であっても良い。
利用者は、表示装置2で表示アプリを起動し、スキャンを行わせる画像を選択して表示アプリに選択された画像の表示を指示する。その後ユーザーは、タッチパネルディスプレイ200が載置台50側を向くように表示装置2を載置台50に置く。この状態でコントローラー100は表示制御部110の機能により、第1画像、第2画像、第3画像を順次タッチパネルディスプレイ200に表示させる。スキャナー1のコントローラー10は、制御部11の機能により、読取部(光源21、光学部22、センサー23、副走査装置30)を制御し、第1画像を読み取る第1スキャン、第2画像を読み取る第2スキャン、第3画像を読み取る第3スキャンを実行させる。
スキャンが行われると、コントローラー10の処理部12は、第1画像に基づく第1色チャネルと、第2画像に基づく第2色チャネルと、第3画像に基づく第3色チャネルと、を含むカラー画像を生成する。以上の構成によれば、ディスプレイの表示から、カラー画像の再現をすることが可能である。
カメラ制御部120は、カメラ300を制御する機能をコントローラー100に実行させることができる。すなわち、コントローラー100は、カメラ制御部120の機能により、カメラ300を制御し、カメラ300で撮像された画像を取得することができる。ディスプレイスキャンモードにおいて、カメラ300は、スキャン終了タイミングを特定するために利用される。すなわち、コントローラー100は、カメラ制御部120の機能によりカメラ300を制御し、光源21の照明光を検出することによって、スキャン終了タイミングを特定する。
具体的には、コントローラー10は、制御部11の機能により、スキャナー1においてスキャンを行う場合、CISを副走査方向の一方向に移動させる。副走査方向の一方向への移動が完了するとコントローラー10は、制御部11の機能により、CISを副走査方向の逆方向に移動させる。ディスプレイスキャンモードにおいて、コントローラー10は、制御部11の機能により、CISが副走査方向の一方向へ移動している際に光源21を消灯させる。また、コントローラー10は、制御部11の機能により、CISが副走査方向の逆方向へ移動している際に光源21を点灯させる。従って、コントローラー100がカメラ300の撮像画像を監視すれば、当該光源21の点灯、すなわち、スキャンの終了を検出することができる。スキャンの終了が検出されると、コントローラー100は、表示制御部110の機能により、次のスキャン用の画像に切り替える。以上の構成により、表示装置2においては、自動でスキャン対象の画像を切り替える事ができる。
(3)表示制御処理:
次に、上述の構成における各装置の処理を詳細に説明する。図5、図6は、利用者、表示装置2、スキャナー1が実行する操作および処理を示す図である。利用者は、ディスプレイスキャンモードでのスキャンを行うため、スキャナー1でのスキャンに対応した画像を表示させるための表示アプリを表示装置2において起動する操作を行う(ステップUS1)。この結果、表示装置2においては表示アプリが起動され(ステップS90)、以後、表示アプリによる処理が開始される。表示アプリによる処理が開始されると、表示装置2のコントローラー100は、表示制御部110の機能により、画像選択を受け付ける(ステップS100)。すなわち、コントローラー100は、タッチパネルディスプレイ200を制御して、カラー画像の選択肢を表示させる。
利用者が、当該選択肢に対するタッチなどによりスキャン対象のカラー画像を選択する(ステップUS2)と、表示装置2のコントローラー100は、タッチパネルディスプレイ200の出力に基づいて利用者が選択したカラー画像を受け付ける。本明細書では、選択された画像をsg(x,y,c)と表現する。ここで、xはカラー画像のx方向の座標であり値域が1〜xmaxである。yはカラー画像のy方向の座標であり値域が1〜ymaxである。また、cは色チャネルを示す符号である。従って、sg(x,y,c)は、各座標において、第1色チャネルR、第2色チャネルG、第3色チャネルBのそれぞれについての画素値(0%〜100%)が与えられるデータである。
図7は、カラー画像の例を示す図である。図7においては、選択されたカラー画像が表示装置2において表示されている状態を単純化して模式的に示している。図7において太い線で示す矩形は1画素分の大きさを模式的に示している。また、図7においては、x方向の値域が1〜3であり、y方向の値域が1〜4である。図7においては、これらの画素の周囲においてx方向に5個、y方向に6個の画素に相当する大きさの枠が存在する状態が想定されている。なお、カメラ300は、当該枠の部分、例えば、位置Pcに存在する構成等を想定可能である。むろん、実際の表示装置2において、枠や画像の表示領域はより大きい。
図7においては、各画素に第1色チャネル〜第3色チャネルのサブ画素が並んでいることが想定されており、図7に示すカラー画像において、x方向には同一の色の画素が並んでおり、y方向には異なる色の画素が並んでいる。図7に示す各サブ画素には、0〜100%の値域の画素値の例が書き込まれている。x=1〜3,y=1の画素は赤であり、第1色チャネルRの画素値が90%,第2色チャネルGの画素値が10%,第3色チャネルBの画素値が20%である。
また、x=1〜3,y=2の画素は黄であり、第1色チャネルRの画素値が80%,第2色チャネルGの画素値が90%,第3色チャネルBの画素値が10%である。x=1〜3,y=3の画素は青であり、第1色チャネルRの画素値が30%,第2色チャネルGの画素値が30%,第3色チャネルBの画素値が90%である。x=1〜3,y=4の画素は緑であり、第1色チャネルRの画素値が10%,第2色チャネルGの画素値が70%,第3色チャネルBの画素値が10%である。従って、図7に示すカラー画像は、y方向に上から順に赤、黄、青、緑の画素が並んだ画像である。なお、図7に示す画素値は最も明るい状態を100%、最も暗い状態を0%として示しているが、むろん、他の値域(例えば、0〜255)等で画素値が表現されても良い。
以上のようなカラー画像は、モノクロのセンサー23でスキャンされるため、通常のモードと同様にスキャンが行われると、カラー画像の色を読取画像において再現することができない。すなわち、センサー23は、色の区別をすることができない状態で光の強度を検出するため、図7に示すカラー画像の各画素をスキャンしたとしても、色の区別は行われず、光の強度のみが検出される。従って、図7に示すカラー画像を通常のモードで読み取ったとしても、サブ画素毎の色の区別は行われず、各画素の色チャネル毎の光の強度が平均化された状態で検出される。この結果、図7に示すカラー画像は、図8のような画素値として読み取られる。
例えば、y方向の最も上方に位置する赤の画素の明るさは、第1色チャネルRが90%,第2色チャネルGが10%,第3色チャネルBが20%であるため、これらの値を平均化した40%の強度として検出される。なお、表示装置2のタッチパネルディスプレイ200に光源21からの光を照射したとしても、乱反射した光はほとんどセンサー23に検出されない。従って、光源21の点灯、非点灯によらず、表示装置2に表示されたカラー画像を通常のモードで読み取って色を再現することはできない。
このように、通常のモードのようにして表示装置2のカラー画像を読み取っても、色を再現することができないため、ディスプレイスキャンモードでは、色チャネル毎の画素値を特定できるようにカラー画像を変換する。具体的には、ステップS100において、カラー画像が受け付けられると、コントローラー100は、表示制御部110の機能により、カラー画像から第1画像、第2画像、第3画像を生成する(ステップS105)。ここで、第1画像はスキャンデータの第1色チャネルの画像を生成するために表示装置2に表示される画像であり、ステップS100で取得されたカラー画像の第1色チャネルから生成される。具体的には、コントローラー100は、カラー画像から第1色チャネルの画素値を抽出する。そして、コントローラー100は、第1色チャネルの画素値で第2色チャネルおよび第3色チャネルの画素値を置換する。
以上の置換を一般化すると、カラー画像がsg(x,y,c)、x=1〜xmax、y=1〜ymax、c=R,G,Bである場合に、第1画像ss1(x,y,c)は、sg(x,y,R)と定義される。すなわち、第1画像ss1においては、R,G,Bの全ての色チャネルにおいて元のカラー画像sg(x,y,c)の第1色チャネルの値sg(x,y,R)が代入される。同様に、第2画像ss2(x,y,c)は、sg(x,y,G)であると見なされ、第3画像ss3(x,y,c)は、sg(x,y,B)であると見なされる。
すなわち、第1画像は、全ての色チャネルの画素値が第1色チャネルの画素値と同じ値にされたモノクロ画像である。図9は、図7に示す例から生成された第1画像を示す図である。例えば、図7に示す例において、y方向の最も上方に位置する赤の画素における第1色チャネルRの画素値は90%であるため、図9に示す第1画像においては、当該画素において、第2色チャネルGの画素値である10%と,第3色チャネルBの画素値である20%が第1色チャネルRの画素値である90%に置換されている。
第2画像、第3画像も同様であり、第2画像は第2色チャネルの画素値から生成されたモノクロ画像、第3画像は第3色チャネルの画素値から生成されたモノクロ画像である。そこで、コントローラー100は、カラー画像における第2色チャネルの画素値で第1色チャネル、第3色チャネルの画素値を置換し、第2画像と見なす。図10は、図7に示す例から生成された第2画像を示す図である。例えば、図7に示す例において、y方向の最も上方に位置する赤の画素における第2色チャネルGの画素値は10%であるため、図10に示す第2画像においては、当該画素において、第1色チャネルRの画素値である90%と,第3色チャネルBの画素値である20%が第2色チャネルGの画素値である10%に置換されている。
また、コントローラー100は、第3色チャネルの画素値で第2色チャネル、第1色チャネルの画素値を置換し、第3画像と見なす。図11は、図7に示す例から生成された第3画像を示す図である。例えば、図7に示す例において、y方向の最も上方に位置する赤の画素における第3色チャネルBの画素値は20%であるため、図11に示す第3画像においては、当該画素において、第1色チャネルRの画素値である90%と,第2色チャネルGの画素値である10%が第3色チャネルBの画素値である20%に置換されている。
次に、コントローラー100は、表示制御部110の機能により、予備画像を表示させる(ステップS110)。本実施形態においては、ステップS105で生成された第1画像、第2画像、第3画像が本画像であり、本画像をスキャンする本スキャンが行われる前に予備画像をスキャンする予備スキャンが行われる。本実施形態において、予備画像は本画像の切り出し領域の決定に利用される画像である。予備画像は、他の用途、例えば、シェーディング補正等に利用されても良い。
予備画像に基づいて本画像の切り出し領域の決定を行うため、本実施形態においてコントローラー100の表示制御部110は、予備画像の大きさと本画像の大きさを同じ大きさにする。すなわち、表示制御部110は、ステップS100で受け付けたカラー画像の大きさ(x方向およびy方向の画素数)を予備画像の大きさとして取得する。なお、予備画像は本画像と同じ大きさであれば良く、本実施形態においては、本画像の大きさがタッチパネルディスプレイ200の表示領域の大きさよりも小さい例を想定している。従って、この場合、予備画像の大きさはタッチパネルディスプレイ200の表示領域の大きさよりも小さい。
さらに、表示制御部110は、決定された予備画像の大きさの全域に渡って、100%の明るさの白を表示するためのデータを生成する。すなわち、表示制御部110は、全画素において第1色チャネル〜第3色チャネルの全てについて画素値を100%とし、タッチパネルディスプレイ200が備える3チャネルの発光体を全て点灯させる予備画像を生成する。
すなわち、カラー画像がsg(x,y,c)、x=1〜xmax、y=1〜ymax、c=R,G,Bである場合に、予備画像pw(x,y,c)のパラメータもx=1〜xmax、y=1〜ymax、c=R,G,Bであるが、予備画像pw(x,y,c)においては全ての画素の全ての色チャネルの画素値が100%となる。図12は、図7に示すカラー画像から生成された予備画像を模式的に示す図である。
利用者がタッチパネルディスプレイ200に予備画像が表示されたことを確認すると、利用者は、タッチパネルディスプレイ200が載置台50側を向くように表示装置2を載置台50に置く(ステップUS3)。この状態において、利用者がスキャナー1の操作部80によってスキャン開始指示を行うと(ステップUS4)、スキャナー1がコントローラー10の機能により、ディスプレイスキャンを開始する(ステップS190)。
ディスプレイスキャンが開始されると、スキャナー1のコントローラー10は、光源21を消灯して予備スキャンを行う(ステップS200)。すなわち、コントローラー10は、制御部11の機能により、光源21に制御信号を出力し、光源21を消灯させる。また、コントローラー10は、制御部11の機能により、タイミングTmで副走査装置30を制御してモーターを正方向に回転させ、CISのY軸正方向の移動を開始させる。さらに、コントローラー10は、制御部11の機能により、センサー23を制御し、既定のタイミングでセンサー23にライン取り込み動作をさせる。
図13は、予備スキャンの動作を説明する図である。図13は、図3に示す通常のモードと同様のフォーマットで表現されており、横方向が時間軸である。図13の上部にはR,G,Bの各光源の駆動タイミングが示されているが、ステップS200の予備スキャンにおいては光源21が消灯されるため、時間軸上で各光源がオンになるタイミングは示されていない。
また、図13においては、表示装置2に表示される画像の内容を模式的に示している。すなわち、図13においては、図12に示す予備画像が表示装置2に表示され、当該予備画像におけるy軸正方向を副走査方向として読取が行われた場合が想定されている。このため、図13においては、副走査方向に枠、白の画素、白の画素、白の画素、白の画素、枠が並んでいる状態が示されている。各画素にはR,G,Bの画素値がパーセンテージによって示されている。なお、以後、表示装置2の各画素を画素(a)、画素(b)、画素(c)、画素(d)とも呼ぶ。
さらに、図13においては、センサー駆動タイミングが上下方向の実線で示されている。すなわち、ディスプレイスキャンモードにおいて光源21は点灯されないが、センサー駆動のタイミングは通常のモードと同等である。図13に示すセンサー出力は、センサーから出力される出力値をライン毎に棒グラフによって模式的に示している。センサー出力は、表示装置2のタッチパネルディスプレイ200から出力された光の光量に対応した値であり、通常のモードでのR,G,Bの各光源の点灯順に各色チャネルの出力値が出力されたと解釈される。
すなわち、本実施形態においては、センサー駆動タイミングによってライン取り込み動作が行われることにより、第1色チャネルR、第2色チャネルG、第3色チャネルBの順で色チャネル毎のスキャンが行われる。例えば、図13の画素(a)の読み取りが行われる場合、画素(a)を含むラインについて第1色チャネルR,第2色チャネルG,第3色チャネルBの順にライン取り込み動作が行われる。各ラインの出力値から画素(a)の出力値が抽出されれば、画素(a)の読み取り結果となる。図13に示す例であれば、画素(a)の出力値の各色チャネルが100%の出力値であり、白の画素として読み取られる。各色チャネルの画像を順にスキャンする構成は、スキャナー1の光源21がR,G,Bの各色チャネルのLEDを有していることに対応している。
すなわち、本実施形態においてセンサー23はカラーフィルターを有しておらず、光の色を区別することなく光の強度に対応した値を出力するセンサーである。従って、通常のモードにおいては、図3に示すように、R,G,Bの各色チャネルのLEDを順に点灯させることで、各色チャネルのスキャンを順に行う構成となっている。ディスプレイスキャンモードにおいては光源21を消灯した状態でタッチパネルディスプレイ200をスキャンするが、各色チャンネルのスキャンを順に行う構成は、通常のモードと同様である。本実施形態においては、以上のように、センサー23の出力を色チャネル毎の画像であると見なすことにより、予備スキャンおよび本スキャンを行う。なお、画像表示領域外の枠に対応する位置でのセンサー23の出力は、第1色チャネル〜第3色チャネルの全てにおいて最低輝度レベルであり、黒の画像として読み取られる。
以上のようにして予備画像の予備スキャンが行われると、コントローラー10は、制御部11の機能により、副走査装置30による移動範囲においてCISがスキャンした予備画像を示す画像データを図示しないメモリに記録する。ここでは、表示装置2で表示された予備画像pw(x,y,c)を読み取って得られた予備画像データをPW(x,y,c),x=1〜xpwmax、y=1〜ypwmax、c=R,G,Bと表記する。ただし、この段階において、スキャナー1のコントローラー10は、予備画像pw(x,y,c)の範囲を特定していない。従って、予備画像データPW(x,y,c)における値域x=1〜xpwmax、y=1〜ypwmaxと、予備画像における値域x=1〜xmax、y=1〜ymaxとは一致しておらず、値域x=1〜xpwmax、y=1〜ypwmaxの範囲で読み取られた画像には表示装置2の枠の読み取り結果も含まれ得る。
いずれにしても予備画像データPW(x,y,c)が取得されると、コントローラー10は、画像表示領域において白レベル、画像表示領域外において黒レベルとなっている画像データをスキャン結果として取得することになる。従って、コントローラー10は、制御部11の機能により、白レベルと黒レベルとを示す予備画像データを取得することになる。
なお、本実施形態においては、予備スキャンの段階において、白レベルの画像データが、スキャナー1にとって十分白と見なされるレベルに達していないこともありうる。その場合、画像表示領域と画像表示領域外の区別がつかないことや、区別がついても画像の品質が低い、すなわちノイズが多い、ことがありうる。
そこで、タッチパネルディスプレイ200が表示した予備画像(白レベル)を、スキャナー1にとって白と見なせるレベルになるように、スキャナー1のライン読取露光時間、すなわち、ラインシフト間隔、読取速度の調整を行ってもよい。すなわち、コントローラー10は、予備スキャンの結果に応じて第1スキャンと第2スキャンと第3スキャンとにおけるセンサー23のラインシフト間隔時間を決定してもよい。また、アナログフロントエンドの増幅率で調整を行なってもよい。
さらに、予備画像データの白部分PW(x,y,c)のデータを使って、後述する本画像を画素毎に正規化(シェーディング補正)してもよい。当該正規化は、例えば、スキャン後の画像をS(x,y,c)と表記した場合に、補正後の画像S'(x,y,c)=S(x,y,c)/PW(x,y,c)×100とする処理等によって実現可能である。この処理により、タッチパネルディスプレイ200あるいはセンサー23の画素毎の感度ばらつきによるむらなどを低減できる効果がある。
以上のようにして、予備スキャンが行われると、コントローラー10は、制御部11の機能により、光源21を点灯してCISを復帰させる(ステップS210)。すなわち、コントローラー10は図14に示すタイミングTrmにおいて、光源21を制御し、光源21を点灯させる。また、コントローラー10は副走査装置30を制御し、モーターを逆方向回転(図14に示す−)させてCISをY軸負方向に移動させ、CISを初期位置まで復帰させる。なお、図14に示す例においては、緑の光源Gが点灯されているが、他の色であっても良いし、複数の色の光源が点灯されても良い。また、図14においては、CISが復帰方向に移動するため、表示装置2の画素が(d)(c)(b)(a)の順に表記されているが、この段階で読取は行われない。
ただし、CISの復帰動作の過程で光源21が点灯されていると、表示装置2のカメラ300において当該光源21の光を検出することができる。このため、表示装置2のコントローラー100は、図5に示すように、ステップS110で予備画像を表示した後、カメラ制御部120の機能により、カメラ300が高輝度を検出するまで待機する(ステップS120)。すなわち、コントローラー100は、カメラ300の出力画像を監視し、高輝度の状態を検出したか否かを判定する。図14に示すように光源21が点灯された状態でCISが復帰動作を行うと、CISがカメラ300の周囲に達した場合に、高輝度の状態が検出され、ステップS120でY判定となる。
次に、表示装置2とスキャナー1は、連携して本スキャンを行う。具体的には、表示装置2のコントローラー100は、本スキャンとしての第1スキャンの準備を行う。すなわち、コントローラー100は、カメラ300が高輝度を検出したことで予備スキャンが終わったと判断し、予備画像の表示を終了させる。そして表示制御部110の機能により、タッチパネルディスプレイ200に第1画像を速やかに表示させる(ステップS125)。すなわち、コントローラー100は、表示制御部110の機能により、タッチパネルディスプレイ200を制御し、ステップS105で生成した第1画像を表示させる。この結果、タッチパネルディスプレイ200においては、3チャネルの発光体が全て元のカラー画像の第1色チャネルの画素値に対応する明るさで発光している状態になる。なお、ここでは、予備画像を表示していたのとまったく同じ範囲に第1画像を表示させる。
スキャナー1においては、CISが復帰すると、コントローラー10が、制御部11の機能により、光源を消灯して第1スキャンを実行する(ステップS215)。すなわち、コントローラー10は、制御部11の機能により、光源21に制御信号を出力し、光源21を消灯させる。そして、コントローラー10は、制御部11の機能により、副走査装置30を制御してCISのY軸正方向の移動を開始させる。さらに、コントローラー10は、制御部11の機能により、センサー23を制御し、既定のタイミングでセンサー23にライン取り込み動作をさせる。本実施形態において、スキャナー1で実施される動作は予備スキャンと同等の動作である。
図15は、第1画像を読み取る第1スキャンの動作を説明する図である。図15は、図3に示す通常のモードと同様のフォーマットで表現されており、横方向が時間軸である。図15の上部にはR,G,Bの各光源の駆動タイミングが示されているが、ステップS215の第1スキャンにおいては光源21が消灯されるため、時間軸上で各光源がオンになるタイミングは示されていない。
また、図15においては、表示装置2に表示される画像の内容を模式的に示している。すなわち、図15においては、図9に示す第1画像が表示装置2に表示され、当該第1画像におけるy軸正方向を副走査方向として読取が行われた場合が想定されている。このため、図15においては、副走査方向に枠、明るさ90%のグレーの画素(a)、明るさ80%のグレーの画素(b)、明るさ30%のグレーの画素(c)、明るさ10%のグレーの画素(d)、枠が並んでいる状態が示されている。
さらに、図15においては、センサー駆動タイミングが上下方向の実線で示されている。すなわち、ディスプレイスキャンモードにおいて光源21は点灯されないが、センサー駆動のタイミングは通常のモードと同等である。図15に示すセンサー出力は、センサーから出力される出力値を棒グラフによって模式的に示している。センサー出力は、表示装置2のタッチパネルディスプレイ200から出力された光の光量に対応した値であり、通常のモードでのR,G,Bの各光源の点灯順に各色チャネルの出力値が出力されたと解釈される。
すなわち、本実施形態においては、センサー駆動タイミングによってライン取り込み動作が行われることにより、第1色チャネルR、第2色チャネルG、第3色チャネルBの順で色チャネル毎のスキャンが行われる。例えば、図15の画素(a)の読み取りが行われる場合、画素(a)を含むラインについて第1色チャネルR,第2色チャネルG,第3色チャネルBの順にライン取り込み動作が行われる。各ラインの出力値から画素(a)の出力値が抽出されれば、画素(a)の読み取り結果となる。図15に示す例であれば、画素(a)の出力値の各色チャネルが90%の出力値であり、グレーの画素として読み取られる。このような各色チャネルに関する読取の順序は予備画像における順序と同等である。
本実施形態においては、以上のように、センサー23の出力を色チャネル毎の画像であると見なすことにより、第1スキャンを行う。なお、画像表示領域外の枠に対応する位置でのセンサー23の出力は、第1色チャネル〜第3色チャネルの全てにおいて最低輝度レベルであり、黒の画像として読み取られる。以上のようにして第1画像の第1スキャンが行われると、コントローラー10は、制御部11の機能により、副走査装置30による移動範囲においてCISがスキャンした第1画像を示す画像データを図示しないメモリに記録する。
ここでは、表示装置2で表示された第1画像ss1(x,y,c)を読み取って得られた第1画像データをSS1(x,y,c),x=1〜xpwmax、y=1〜ypwmax、c=R,G,Bと表記する。ただし、この段階において、スキャナー1のコントローラー10は、第1画像ss1(x,y,c)の範囲を特定していない。従って、第1画像データSS1(x,y,c)における値域x=1〜xpwmax、y=1〜ypwmaxと、第1画像における値域x=1〜xmax、y=1〜ymaxとは一致しておらず、値域x=1〜xpwmax、y=1〜ypwmaxの範囲で読み取られた画像には表示装置2の枠の読み取り結果も含まれ得る。なお、第1画像データの値域x=1〜xpwmax、y=1〜ypwmaxと予備画像データの値域は一致し得る。
以上のようにして、第1スキャンが行われると、コントローラー10は、制御部11の機能により、光源21を点灯してCISを復帰させる(ステップS220)。当該CISの復帰処理は、ステップS210に示す復帰処理と同等である。ただし、表示装置2のタッチパネルディスプレイ200に表示されている画像は予備画像ではなく第1画像である。従って、復帰処理によって図14に示す動作と同等の動作が行われるが、表示装置2の各画素(d)(c)(b)(a)における表示内容は図15に示す各画素(d)(c)(b)(a)における表示内容と同一になる。
この際、表示装置2のコントローラー100は、カメラ制御部120の機能により、カメラ300が高輝度を検出するまで待機する(ステップS130)。すなわち、コントローラー100は、カメラ300の出力画像を監視し、高輝度の状態を検出したか否かを判定する。図14に示すように光源21が点灯された状態でCISが復帰動作を行うと、CISがカメラ300の周囲に達した場合に、高輝度の状態が検出され、ステップS130でY判定となる。
この場合、コントローラー100は、カメラ300が高輝度を検出したことで第1スキャンが終わったと判断し、第1画像の表示を終了させる。そして表示制御部110の機能により、タッチパネルディスプレイ200に第2画像を速やかに表示させる(ステップS135)。すなわち、コントローラー100は、表示制御部110の機能により、タッチパネルディスプレイ200を制御し、ステップS105で生成した第2画像を表示させる。この結果、タッチパネルディスプレイ200においては、3チャネルの発光体が全て元のカラー画像の第2色チャネルの画素値に対応する明るさで発光している状態になる。なお、ここでは、予備画像を表示していたのとまったく同じ範囲に第2画像を表示させる。
スキャナー1においては、CISが復帰すると、コントローラー10が、制御部11の機能により、光源を消灯して第2スキャンを実行する(ステップS225)。すなわち、コントローラー10は、制御部11の機能により、光源21に制御信号を出力し、光源21を消灯させる。そして、コントローラー10は、制御部11の機能により、副走査装置30を制御してCISのY軸正方向の移動を開始させる。さらに、コントローラー10は、制御部11の機能により、センサー23を制御し、既定のタイミングでセンサー23にライン取り込み動作をさせる。本実施形態において、スキャナー1で実施される動作は予備スキャンと同等の動作である。
図16は、第2画像を読み取る第2スキャンの動作を説明する図である。図16は、図3に示す通常のモードと同様のフォーマットで表現されており、横方向が時間軸である。図16に示す第2スキャンにおいても、光源21が消灯されており、時間軸上で各光源がオンになるタイミングは示されていない。また、図16においては、副走査方向に枠、明るさ10%のグレーの画素(a)、明るさ90%のグレーの画素(b)、明るさ30%のグレーの画素(c)、明るさ70%のグレーの画素(d)、枠が並んでいる状態が示されている。
さらに、図16においては、センサー駆動タイミングによってライン取り込み動作が行われ、センサー出力として各画素がグレーの画素として読み取られた様子が示されている。なお、画像表示領域外の枠に対応する位置でのセンサー23の出力は、第1色チャネル〜第3色チャネルの全てにおいて最低輝度レベルであり、黒の画像として読み取られる。以上のようにして第2画像の第2スキャンが行われると、コントローラー10は、制御部11の機能により、副走査装置30による移動範囲においてCISがスキャンした第2画像を示す画像データを図示しないメモリに記録する。
ここでは、表示装置2で表示された第2画像ss2(x,y,c)を読み取って得られた第2画像データをSS2(x,y,c),x=1〜xpwmax、y=1〜ypwmax、c=R,G,Bと表記する。ここでも、第2画像データSS2(x,y,c)における値域x=1〜xpwmax、y=1〜ypwmaxと、第2画像における値域x=1〜xmax、y=1〜ymaxとは一致しておらず、値域x=1〜xpwmax、y=1〜ypwmaxの範囲で読み取られた画像には表示装置2の枠の読み取り結果も含まれ得る。第2画像データの値域x=1〜xpwmax、y=1〜ypwmaxと予備画像データの値域は一致し得る。
以上のようにして、第2スキャンが行われると、コントローラー10は、制御部11の機能により、光源21を点灯してCISを復帰させる(ステップS230)。当該CISの復帰処理は、ステップS210に示す復帰処理と同等である。ただし、表示装置2のタッチパネルディスプレイ200に表示されている画像は予備画像ではなく第2画像である。
この際、表示装置2のコントローラー100は、カメラ制御部120の機能により、カメラ300が高輝度を検出するまで待機する(ステップS140)。すなわち、コントローラー100は、カメラ300の出力画像を監視し、CISがカメラ300の周囲に達して高輝度の状態が検出されると、ステップS140でY判定となる。
この場合、コントローラー100は、カメラ300が高輝度を検出したことで第2スキャンが終わったと判断し、第2画像の表示を終了させる。そして表示制御部110の機能により、タッチパネルディスプレイ200に第3画像を速やかに表示させる(ステップS145)。すなわち、コントローラー100は、表示制御部110の機能により、タッチパネルディスプレイ200を制御し、ステップS105で生成した第3画像を表示させる。この結果、タッチパネルディスプレイ200においては、3チャネルの発光体が全て元のカラー画像の第3色チャネルの画素値に対応する明るさで発光している状態になる。なお、ここでは、予備画像を表示していたのとまったく同じ範囲に第3画像を表示させる。
スキャナー1においては、CISが復帰すると、コントローラー10が、制御部11の機能により、光源を消灯して第3スキャンを実行する(ステップS235)。すなわち、コントローラー10は、制御部11の機能により、光源21に制御信号を出力し、光源21を消灯させる。そして、コントローラー10は、制御部11の機能により、副走査装置30を制御してCISのY軸正方向の移動を開始させる。さらに、コントローラー10は、制御部11の機能により、センサー23を制御し、既定のタイミングでセンサー23にライン取り込み動作をさせる。本実施形態において、スキャナー1で実施される動作は予備スキャンと同等の動作である。
図17は、第3画像を読み取る第3スキャンの動作を説明する図である。図17は、図3に示す通常のモードと同様のフォーマットで表現されており、横方向が時間軸である。図17に示す第3スキャンにおいても、光源21が消灯されており、時間軸上で各光源がオンになるタイミングは示されていない。また、図17においては、副走査方向に枠、明るさ20%のグレーの画素(a)、明るさ10%のグレーの画素(b)、明るさ90%のグレーの画素(c)、明るさ10%のグレーの画素(d)、枠が並んでいる状態が示されている。
さらに、図17においては、センサー駆動タイミングによってライン取り込み動作が行われ、センサー出力として各画素がグレーの画素として読み取られた様子が示されている。なお、画像表示領域外の枠に対応する位置でのセンサー23の出力は、第1色チャネル〜第3色チャネルの全てにおいて最低輝度レベルであり、黒の画像として読み取られる。以上のようにして第3画像の第3スキャンが行われると、コントローラー10は、制御部11の機能により、副走査装置30による移動範囲においてCISがスキャンした第3画像を示す画像データを図示しないメモリに記録する。
ここでは、表示装置2で表示された第3画像ss3(x,y,c)を読み取って得られた第3画像データをSS3(x,y,c),x=1〜xpwmax、y=1〜ypwmax、c=R,G,Bと表記する。ここでも、第3画像データSS3(x,y,c)における値域x=1〜xpwmax、y=1〜ypwmaxと、第3画像における値域x=1〜xmax、y=1〜ymaxとは一致しておらず、値域x=1〜xpwmax、y=1〜ypwmaxの範囲で読み取られた画像には表示装置2の枠の読み取り結果も含まれ得る。第3画像データの値域x=1〜xpwmax、y=1〜ypwmaxと予備画像データの値域は一致し得る。
以上のようにして、第3スキャンが行われると、コントローラー10は、制御部11の機能により、光源21を点灯してCISを復帰させる(ステップS240)。当該CISの復帰処理は、ステップS210に示す復帰処理と同等である。ただし、表示装置2のタッチパネルディスプレイ200に表示されている画像は予備画像ではなく第3画像である。
この際、表示装置2のコントローラー100は、カメラ制御部120の機能により、カメラ300が高輝度を検出するまで待機する(ステップS150)。すなわち、コントローラー100は、カメラ300の出力画像を監視し、CISがカメラ300の周囲に達して高輝度の状態が検出されると、ステップS150でY判定となる。この結果、表示装置2における表示アプリの処理は終了する。
一方、スキャナー1において、コントローラー10は、処理部12の機能により、カラー画像を合成する(ステップS245)。具体的には、コントローラー10は、ステップS215でメモリに記録された第1画像データSS1(x,y,c)を取得し、第1色チャネルの画像データSS1(x,y,R)を抽出する。そして、コントローラー10は、合成後のカラー画像データDG(x,y,c)の第1色チャネルDG(x,y,R)がSS1(x,y,R)であると見なす。
また、コントローラー10は、ステップS225でメモリに記録された第2画像データSS2(x,y,c)を取得し、第1色チャネルの画像データSS2(x,y,R)を抽出する。そして、コントローラー10は、合成後のカラー画像データDG(x,y,c)の第2色チャネルDG(x,y,G)がSS2(x,y,R)であると見なす。なお、第2画像データSS2(x,y,c)から画像データを抽出する際には、第1画像データSS1(x,y,c)から画像データを抽出した際と同じ色チャネルのデータ(本例では第1色チャネル)を用いる。これは、第1画像データSS1(x,y,c)と第2画像データSS2(x,y,c)との読取での副走査の位置を合わせるためである。
さらに、コントローラー10は、ステップS235でメモリに記録された第3画像データSS3(x,y,c)を取得し、第1色チャネルの画像データSS3(x,y,R)を抽出する。そして、コントローラー10は、合成後のカラー画像データDG(x,y,c)の第3色チャネルDG(x,y,B)がSS3(x,y,R)であると見なす。なお、第3画像データSS3(x,y,c)から画像データを抽出する際には、第1画像データSS1(x,y,c)から画像データを抽出した際と同じ色チャネルのデータ(本例では第1色チャネル)を用いる。これは、第1画像データSS1(x,y,c)と第2画像データSS2(x,y,c)と第3画像データSS3(x,y,c)との読取での副走査の位置を合わせるためである。
なお、以上の例においては、第1画像データSS1(x,y,c)と第2画像データSS2(x,y,c)と第3画像データSS3(x,y,c)との第1色チャネルを抽出して、合成後のカラー画像データDG(x,y,c)の第1色チャネル、第2色チャネル、第3色チャネルのデータとした。しかし、第1画像データSS1(x,y,c)と第2画像データSS2(x,y,c)と第3画像データSS3(x,y,c)との第2色チャネルや第3色チャネルが抽出されても良い。
さらに、第1画像データSS1(x,y,c)と第2画像データSS2(x,y,c)と第3画像データSS3(x,y,c)とにおける第1色チャネル、第2色チャネル、第3色チャネルの平均値が抽出されても良い。すなわち、
DG(x,y,R)=(SS1(x,y,R)+SS1(x,y,G)+SS1(x,y,B))/3
DG(x,y,G)=(SS2(x,y,R)+SS2(x,y,G)+SS2(x,y,B))/3
DG(x,y,B)=(SS3(x,y,R)+SS3(x,y,G)+SS3(x,y,B))/3
としてもよい。この構成によれば、ノイズが低減される。
なお、以上の実施形態は、モノクロセンサーでカラースキャン読取方式を利用することで読取を行う構成であったが、モノクロスキャン読取方式を利用して読取が行われてもよい。この方式によれば、全体的な読取時間を短縮することができる。
以上の処理によってカラー画像が合成されると、コントローラー10は、処理部12の機能により、画像データの切り出しを行う(ステップS250)。すなわち、コントローラー10は、メモリを参照し、予備スキャンで読み取られた予備画像データを取得する。そして、コントローラー10は、当該予備画像データにおける白い部分(画素値が全色チャネルで飽和している部分)を予備画像とみなし、その位置を特定する。ここでは、予備画像データPW(x,y,c)におけるx、yの値域x=1〜xpwmax、y=1〜ypwmaxの中において、x=xd〜xd+xw、y=yd〜yd+yhの範囲が白(すなわち、予備画像pwが読み取られた部分)である状態を想定する。
本実施形態においては、表示装置2は載置台50に置かれたまま予備スキャン及び本スキャンが行われるため、本スキャンで取得された画像データにおいて予備画像と同一の位置に本画像が存在すると考えられる。そこで、コントローラー10は、ステップS245合成された画像データDG(x,y,c)からx=xd〜xd+xw、y=yd〜yd+yhの範囲のデータを抽出し、切り出し後の画像データT(x,y,c)とみなす。なお、この際、コントローラー10は、画像データDG(x,y,c)のxdが1、xd+xwがxw+1となるようにxの値を修正し、ydが1、yd+yhがyh+1となるようにyの値を修正する。従って、切り出し後の画像データT(x,y,c)において、xの値域は1〜xw+1、yの値域は1〜yh+1である。
なお、表示装置2が画像読取中以外のタイミングで移動してしまった場合を考慮して、画像表示装置に画像データの外部に位置決めのためのマークを表示させておき、スキャナーはこのマークに基づいて表示装置の移動によるずれをなくすように予備画像に基づく切り出し位置を修正してもよい。以上のようにして、切り出し後の画像データT(x,y,c)が生成されると、コントローラー10は画像データT(x,y,c)を示すファイルを生成してスキャンデータと見なし、通信部70を介してコンピューター90に対して出力する。この結果、コンピューター90においてタッチパネルディスプレイ200に表示された本画像のスキャンデータを利用することが可能になる。
(4)他の実施形態:
以上の実施形態は本発明を実施するための一例であり、他にも種々の実施形態を採用可能である。例えば、本発明の一実施形態にかかるスキャナーは、読み取り以外の目的にも使用される電子機器である複合機等に備えられていても良い。さらに、以上の実施形態のようにカラー画像を複数の色チャネル毎にスキャンする手法は、プログラムの発明、方法の発明やスキャンデータの生成方法の発明としても実現可能である。
さらに、読み取りを行って生成したスキャンデータは、コンピューター90に対して出力するほかに、自装置に装着されたUSBメモリ等の記憶媒体に出力してスキャンデータを記憶させたり、印刷機構に出力してスキャンデータを印刷(すなわちコピー)させたり、モニタに表示出力してもよい。さらに、コントローラー10の少なくとも1部における処理を、コンピューター90のドライバプログラム又はアプリケーションプログラムに実施させ、合成を行わせることで最終的なスキャンデータを生成させてもよい。この場合、コンピューター90をスキャナーの一部とみなすことができる。さらに、タッチパネルディスプレイ200に表示させるスキャン対象の画像は種々の画像であって良く、1ページの画像を分割した分割画像のそれぞれをタッチパネルディスプレイ200に表示させ、数キャンした後に合成して1ページの画像としても良い。
制御部は、ディスプレイから第1画像を読み取る第1スキャンと、ディスプレイから第2画像を読み取る第2スキャンと、ディスプレイから第3画像を読み取る第3スキャンと、を含む少なくとも3回のスキャンを順にセンサーに実行させることができればよい。すなわち、制御部は、ディスプレイが表示する画像を順次読み取って画像の各色チャネルを生成することにより、全色を1回のスキャンで読み取る場合と比較して画質を向上させることができればよい。スキャンは、少なくとも3回行われ3回のスキャンによってカラー画像が生成されればよい。従って、4回以上のスキャンで読み取られた画像に基づいてカラー画像が生成されても良い。
第1画像、第2画像、第3画像は、これらの読み取り結果がカラー画像の第1色チャネル、第2色チャネル、第3色チャネルとなる画像である。従って、第1画像、第2画像、第3画像のそれぞれが、各色チャネルの光の強度に対応した画像であれば良い。第1画像、第2画像、第3画像のそれぞれがディスプレイに表示される際には、表示される画像の色が読み取り後のチャネルの色と一致していても良いし、一致していなくても良い。
ディスプレイは、種々の構成であって良く、第1色チャネル、第2色チャネル、第3色チャネルの各色の発光体から1画素が構成されても良いし、より多数の色の発光体から1画素が構成されても良く、種々の構成を採用可能である。
処理部は、第1画像に基づく第1色チャネルと、第2画像に基づく第2色チャネルと、第3画像に基づく第3色チャネルと、を含むカラー画像を生成することができればよい。すなわち、第1画像、第2画像、第3画像のそれぞれから、カラー画像の異なる色の色チャンネルの画素値を生成してカラーが図を生成することができればよい。色チャネルは少なくとも3色(例えば、RGB:Red,Green,Blue)であれば良く、4色以上(例えば、RGBY:Red,Green,Blue,Yellow)であれば4回以上のスキャンが行われてよい。
第1画像データSS1(x,y,c)と第2画像データSS2(x,y,c)と第3画像データSS3(x,y,c)とにおける第1色チャネル、第2色チャネル、第3色チャネルの平均は、上述の実施形態のような全色の加重が等しい平均(単純平均)以外にも種々の平均が採用されてよく、例えば、色チャネル毎に人間の目の感度に応じた重み付けをして加重平均する構成等であっても良い。重み付けの値は、種々の値が採用されてよく、例えば、(3R+6G+B)/10等の加重平均が採用されてよい。
予備画像は、少なくとも本画像の切り出しや増幅率の設定等の処理のいずれかに利用される画像であれば良く、他にも、本画像のスキャンに関する種々の処理に利用されて良い。予備画像は、本画像の切り出し領域を決定するための画像であれば良く、予備画像が本画像と同じ大きさの画像である構成以外にも、種々の構成が採用されてよい。例えば、予備画像内に本画像の大きさや形状等を示す図形等の画像が含まれており、当該画像に基づいて本画像の切り出し領域が決定される構成等であっても良い。
スキャナーはセンサーによって画像を読み取ることができればよく、センサーは、カラー画像をスキャン可能な種々のセンサーであって良い。すなわち、上述のように、RGB等の3色の光源から光を順次切り替えながらスキャン対象に照射し、スキャン対象から出力される光をモノクロセンサーによって検出する構成(以後、モノクロセンサーでの構成、のように表記する)以外にも種々の構成が採用可能である。
例えば、白色のような単一光源からの光をスキャン対象に照射し、スキャン対象から出力される光を、RGBのようなカラーフィルターを搭載したカラーセンサーによって検出する構成(以後、カラーセンサーでの構成、のように表記する)等が採用されてもよい。
図18は、カラーセンサーでの構成の要部を説明するための図である。当該スキャナーは、図1に示す構成とほぼ同様の構成で実現可能であるが、CISすなわち光源、光学部、センサーが異なる。図18に示すスキャナーにおいて、光源210は白色光源(例えば、白色LED等)である。また、センサー230は、主走査方向に延びる3列のラインセンサーであり、それぞれのラインセンサーには第1色チャネルR、第2色チャネルG、第3色チャネルBのカラーフィルターが取り付けられている。
図18の拡大図Fに示すように、光源210から白色Wの照明光E1が読取対象に照射されると、スキャン対象で反射、拡散した入射光E2が光学部220に入射し、光学部220がラインセンサーに等倍結像させる。3列のラインセンサーの第1色チャネル〜第3色チャネル用のカラーフィルターによって、各ラインセンサーは第1色〜第3色の光を検出する。このため、1画素のスキャンに際して光源210を一回点灯させることによって、センサー230から3色の色チャネルの画像データを出力することができる。
このようなカラーセンサーでの構成においても、表示画像を第1画像、第2画像、第3画像に変換して読み取ることで、画質が向上する。以下、その効果を説明する。上述の画像sg(x,y,c)における各色チャネルのデータに基づいて、表示装置2のタッチパネルディスプレイ200で表示したとしても、タッチパネルディスプレイ200上で色を正確に再現できず、多少の色ずれが生じることがある。例えば、純色の白(R100%,G100%,B100%)のデータによって、R100%,G100%,B94%などのような黄色がかった表示が行われる場合がある。この場合、仮にスキャナー側の取り込み色再現性が完璧であったとしても、カラーセンサーでの読取結果は、R100%,G100%,B94%となってしまう。
そこで、カラーセンサーでの構成においても、図5、図6に示す処理を行うことが好ましい。すなわち、ステップS105において、表示装置2のコントローラー100が、画像sg(x,y,c)に基づいて、第1画像ss1(x,y,c)=g(x,y,R)、第2画像ss2(x,y,c)=sg(x,y,G)、第3画像ss3(x,y,c)=、sg(x,y,B)を生成する。
また、表示装置2のコントローラー100が、ステップS125においてモノクロ画像である第1画像をタッチパネルディスプレイ200に表示させる。第1画像が表示されると、スキャナー1のコントローラー10は、ステップS215において第1画像データSS1(x,y,c)を読み取る。図19は、カラーセンサーでの構成において第1画像を読み取る第1スキャンの動作を説明する図である。図19においては、横方向を時間軸として各要素の状態等を示している。図19の上部には白色光源Wの駆動タイミングが示されるが、ステップS215の第1スキャンにおいては光源210が消灯されるため、時間軸上で各光源がオンになるタイミングは示されていない。
また、図19においては、表示装置2に表示される画像の内容を模式的に示している。すなわち、図19においては、ステップS105で生成された第1画像においてy軸方向およびx軸方向に純色の白(R100%,G100%,B100%)の画素が並ぶ画像が、タッチパネルディスプレイ200に表示されている状態が想定されている(例えば、図12のような画像)。ただし、図19においては、タッチパネルディスプレイ200に色ずれが生じており、白い画素が黄色寄りの色で表示されていることが示されている。従って、図19においては、各画素の色がR100%,G100%,B94%であると表記されている。なお、図19においても、副走査方向に枠、画素(a)、画素(b)、画素(c)、画素(d)、枠が並んでいる状態が想定されている。
さらに、図19においては、センサー駆動タイミングが上下方向の実線で示されている。すなわち、ディスプレイスキャンモードにおいて光源21は点灯されないが、センサー230は一定時間毎に駆動され、ライン取り込み動作が行われる。なお、本実施形態においてセンサー230は、R,G,Bのそれぞれの色チャネルに対応したラインセンサーを備えており、センサーの駆動タイミングに同期してR,G,Bの順序でライン取り込み動作が行われる。この結果、同一画素の読み取り結果の出力値は、少しずつずれたタイミングで出力される。図19に示すセンサー出力は、センサーから出力される出力値をライン毎に棒グラフによって模式的に示しているが、同一画素の読み取り結果の出力タイミングがずれているため、例えば、図19に(a)等の符号で示すように、ある画素の読み取り結果は異なるタイミングで出力される。
スキャナー1のコントローラー10は、このような出力タイミングに合わせてR,G,Bの各センサーの出力を取り込み、各画素のデータを生成して第1画像データSS1(x,y,c)を生成する。例えば、図19の画素(a)は、当該画素(a)が属するラインの各色チャネルの出力値から、第1色チャネルRが100%,第2色チャネルGが100%,第3色チャネルBが94%となり、黄色寄りの白の画素として読み取られる。
なお、画像表示領域外の枠に対応する位置でのセンサー230の出力は、第1色チャネル〜第3色チャネルの全てにおいて最低輝度レベルであり、黒の画像として読み取られる。以上のようにして第1画像の第1スキャンが行われると、コントローラー10は、制御部11の機能により、副走査装置30による移動範囲においてCISがスキャンした第1画像を示す画像データを図示しないメモリに記録する。そして、スキャナー1のコントローラー10は、ステップS245において、当該第1画像データSS1(x,y,c)の第1色チャネルSS1(x,y,R)を、合成後のカラー画像データの第1色チャネルDG(x,y,R)とみなす。
第2スキャンにおいては、表示装置2のコントローラー100が、ステップS135においてモノクロ画像である第2画像をタッチパネルディスプレイ200に表示させる。第2画像が表示されると、スキャナー1のコントローラー10は、ステップS225において第2画像データSS2(x,y,c)を読み取る。そして、スキャナー1のコントローラー10は、ステップS245において、当該第2画像データSS2(x,y,c)の第1色チャネルSS2(x,y,R)を、合成後のカラー画像データの第2色チャネルDG(x,y,G)とみなす。
第3スキャンにおいては、表示装置2のコントローラー100が、ステップS145においてモノクロ画像である第3画像をタッチパネルディスプレイ200に表示させる。第3画像が表示されると、スキャナー1のコントローラー10は、ステップS235において第3画像データSS3(x,y,c)を読み取る。そして、スキャナー1のコントローラー10は、ステップS245において、当該第3画像データSS1(x,y,c)の第1色チャネルSS3(x,y,R)を、合成後のカラー画像データの第3色チャネルDG(x,y,B)とみなす。
ここでは、カラー画像sg(x,y,c)における画素(a),画素(b),画素(c),画素(d)が白、すなわち、R100%,G100%,B100%であるが、実際の表示が黄色寄りであり、R100%,G100%,B94%である例が想定されている。さらに、この場合において、図19に示すようにスキャナー1の色再現性が良好であり、第1画像データSS1(x,y,c)、第2画像データSS2(x,y,c)、第3画像データSS3(x,y,c)のいずれにおいても、R100%,G100%,B94%で読み取られた場合を想定する。
この場合であっても、合成後のカラー画像データDG(x,y,c)は、第1画像データSS1(x,y,c)、第2画像データSS2(x,y,c)、第3画像データSS3(x,y,c)の第1色チャネルに基づいて生成される。具体的には、
DG(x,y,R)=SS1(x,y,R)=100%
DG(x,y,G)=SS2(x,y,R)=100%
DG(x,y,B)=SS3(x,y,R)=100%
となる。従って、表示された画像sg(x,y,c)の白と同じ色であり、色のずれが生じていない画像を合成後のカラー画像データDG(x,y,c)とすることができる。むろん、この例においては、第2色チャネルに基づいて合成後のカラー画像データが生成されても良い。
なお、この例において、第1画像データSS1(x,y,c)、第2画像データSS2(x,y,c)、第3画像データSS3(x,y,c)の色チャネルの平均値に基づいて算出する方法では、(100+100+94)/3=98%であるため、
DG(x,y,R)=SS1(x,y,R)=98%
DG(x,y,G)=SS2(x,y,R)=98%
DG(x,y,B)=SS3(x,y,R)=98%
となる。このため、色のずれは生じていないが、明るさが少し変動し得る。第3色チャネルに基づいて合成後のカラー画像データが生成された場合も同様である。ただし、この場合であっても上述のように、予備スキャン画像に基づいて正規化(シェーディング補正)を行なうことで、明るさも元画像と合わせることができる。