JP2019165351A - 処理装置及び電子機器 - Google Patents
処理装置及び電子機器 Download PDFInfo
- Publication number
- JP2019165351A JP2019165351A JP2018052007A JP2018052007A JP2019165351A JP 2019165351 A JP2019165351 A JP 2019165351A JP 2018052007 A JP2018052007 A JP 2018052007A JP 2018052007 A JP2018052007 A JP 2018052007A JP 2019165351 A JP2019165351 A JP 2019165351A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- image data
- image
- data
- processor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Image Input (AREA)
- Facsimile Scanning Arrangements (AREA)
- Storing Facsimile Image Data (AREA)
Abstract
【課題】 画像データのバッファリングに必要なメモリー容量が小さく、低コスト化が可能な処理装置及び電子機器の提供。【解決手段】 処理装置200は、イメージセンサー100から画像データが入力される入力インターフェース210と、メモリー240と、プロセッサー220と、メモリー240に書き込まれた画像データを外部装置300に送信する出力インターフェース230を含む。プロセッサー220は、入力される複数フレームの画像データのうちの第iのフレームの画像データを、バッファリング可能な容量までメモリー240に書き込んで、書き込み済みの画素を特定する特定情報を記憶する。プロセッサー220は、メモリー240の容量に空きがある場合に、第jのフレームの画像データのうちの、特定情報により特定される画素の次の画素のデータから、メモリー240に書き込む。【選択図】 図4
Description
本発明は、処理装置及び電子機器等に関する。
従来、イメージセンサーから画像データを取得し、取得した画像データを外部装置に転送する装置が知られている。例えば特許文献1には、撮像した静止画像信号を外部記憶装置に転送する電子カメラシステムが開示されている。
特許文献1では、静止画像信号を内部記憶装置に一旦格納し、当該内部記憶装置に格納した静止画像信号を外部記憶装置に転送する。特許文献1の内部記憶装置は、少なくとも1フレーム分の静止画像信号を格納可能な容量が必要であり、具体的には20フレーム分を格納可能な容量である。即ち特許文献1等の従来手法では、イメージセンサーからの画像データを外部装置に転送する場合、画像データをバッファーする大容量メモリーを設置する必要があった。そのため、機器のコストが増大してしまう。
本発明の一態様は、イメージセンサーから画像データが入力される入力インターフェースと、メモリーと、入力された前記画像データを前記メモリーに書き込むプロセッサーと、前記メモリーに書き込まれた前記画像データを外部装置に送信する出力インターフェースと、を含み、前記プロセッサーは、前記入力インターフェースを介して入力される複数フレームの画像データのうちの第i(iは正の整数)のフレームの画像データを、前記メモリーがバッファリング可能な容量まで、前記メモリーに書き込んで、書き込み済みの画素を特定する特定情報を記憶し、第j(jはj>iを満たす整数)のフレームの画像データが前記入力インターフェースを介して入力されたときに、前記メモリーの容量に空きがある場合は、前記第jのフレームの画像データのうちの、前記特定情報により特定される画素の次の画素のデータから、前記メモリーに書き込む処理装置に関係する。
また本発明の一態様では、前記プロセッサーは、前記外部装置に送信済みでない前記画像データが前記メモリーに記憶されており、且つ、前記出力インターフェースが前記外部装置から前記画像データが受信可能であるという情報を受けたとき、前記画像データを前記外部装置に送信する処理を行ってもよい。
また本発明の一態様では、前記メモリーがバッファリング可能な容量は、前記メモリーがフル状態になる容量であってもよい。
また本発明の一態様では、前記メモリーは、前記プロセッサーの内蔵メモリーであってもよい。
また本発明の一態様では、前記複数のフレーム画像は、同一被写体を撮像した静止画像であってもよい。
また本発明の他の態様は、上記のいずれかに記載の処理装置と、前記イメージセンサーと、前記イメージセンサーを移動させる移動機構と、を含む電子機器に関係する。
また本発明の他の態様では、前記移動機構は、複数の検査用被写体を撮像可能な位置に、前記イメージセンサーを順次移動させ、前記イメージセンサーは、前記複数の検査用被写体の各検査用被写体について、前記複数のフレーム画像を撮像してもよい。
また本発明の他の態様では、前記移動機構は、印刷ヘッドを移動させるキャリッジであり、前記検査用被写体は、印刷媒体に印刷された検査用画像であってもよい。
また本発明の他の態様では、前記キャリッジの第1の移動時に前記印刷媒体に前記検査用画像が印刷され、前記イメージセンサーは、前記第1の移動より後に実行される第2の移動時に前記検査用画像を撮像してもよい。
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
1.処理装置の構成例
図1、図2は、本実施形態の手法に対する比較例を説明する図である。図1は、比較例における処理装置90の構成を例示する図である。比較例の処理装置90は、イメージセンサー100から画像データを取得し、取得した画像データを外部装置300に対して転送する。なお、イメージセンサー100、及び外部装置300については図3を用いて後述する本実施形態の構成と同様であるため、同じ符号を付して説明する。
図1、図2は、本実施形態の手法に対する比較例を説明する図である。図1は、比較例における処理装置90の構成を例示する図である。比較例の処理装置90は、イメージセンサー100から画像データを取得し、取得した画像データを外部装置300に対して転送する。なお、イメージセンサー100、及び外部装置300については図3を用いて後述する本実施形態の構成と同様であるため、同じ符号を付して説明する。
比較例の処理装置90では、プロセッサー92が入力インターフェース91を介してイメージセンサー100から画像データを受信し、当該画像データを大容量メモリー80に記憶する。ここでの大容量メモリー80は、プロセッサー92とは別体として設けられるメモリーであり、例えば処理装置90に外付けされるメモリーである。そしてプロセッサー92は、大容量メモリー80に記憶した画像データを読み出し、出力インターフェース93を介して外部装置300へ送信する。図1における受信ルートとは、イメージセンサー100からの画像データを大容量メモリー80にバッファリングするまでのルートを表す。また送信ルートとは、大容量メモリー80から画像データを読み出し、外部装置300に送信するまでのルートを表す。
図2は、比較例におけるタイミングチャートを表す図である。図2の横軸は時間を表し、縦軸は各データのデータ転送量を表す。
図2のA1は、イメージセンサー100から出力される画像データのデータ量を表す。イメージセンサー100は、CMOS(Complementary MOS)イメージセンサーやCCD(Charge Coupled Device)イメージセンサー等により実現され、光電変換により蓄積した電荷に基づく信号を出力する。イメージセンサー100が信号出力を長時間行わないでいると、過剰な露光が行われ適切な画像データを取得できない。そのため、A1に示したように、イメージセンサー100からは、所定間隔で一定の量のデータが出力される。
図2のA11、A12、A13がそれぞれ1フレーム分の画像データに対応する。なお、画像データの出力レート(フレームレート)や、画像データのデータサイズについては種々の設定が可能である。例えば、出力レートは15fps(frame per second)であり、1枚分の画像データのデータサイズは数MByte程度である。
図2のA2は、受信ルートで受信されるデータ量を表す。図2のA3は、大容量メモリー80に記憶されたデータ量の合計を表す図である。より具体的には、A3は大容量メモリー80に記憶され、且つ、外部装置300への送信が完了していないデータ量を表す。図2のA4は、送信ルートで送信されるデータ量を表す。
大容量メモリー80でバッファリングされるデータ量は、受信ルートでの受信により増加し、送信ルートでの送信により減少する。つまり、受信ルートで大容量メモリー80に書き込まれたデータを、即座に送信ルートで転送してしまえば、大容量メモリー80がバッファリングするデータ量は大きくならず、そもそも大容量である必要がない。
しかし、送信ルートでの送信が常に所望の送信レートで実行可能であるとは限らない。例えば、外部装置300は、処理装置90からの画像データの受信以外の処理を実行する場合が考えられる。図8を用いて後述する印刷装置10の例であれば、外部装置300とは印刷装置10全体の制御を行う印刷機制御ボード12である。印刷機制御ボード12とは、メインCPUが搭載されるメインボード等である。外部装置300である印刷機制御ボード12は、画像データの受信だけでなく、印刷ヘッドの制御、印刷媒体を搬送する搬送機構の制御、ユーザーインターフェース画面の作成や表示制御、インターネット等のネットワークを介した通信制御等、多様な制御を実行する必要がある。後述するように、イメージセンサー100が撮像した画像データに基づいて検査処理を行う場合、外部装置300では画像データに対する画像解析処理も行われる。結果として、外部装置300のリソースを画像データの受信に割り当てることができず、処理装置90から画像データを受信できない期間が生じる場合がある。図2の例では、A41の期間では、大容量メモリー80に画像データが蓄積されているのに(A31)、当該画像データは送信ルートでの送信が行われない。
処理装置90での画像データの入出力を考えた場合、入力側のイメージセンサー100からは一定のレートで画像データが入力される(A1)のに対して、外部装置300への画像データの出力は、外部装置300の動作状況に応じて変化する(A4)ことになる。結果として、比較例の処理装置90は、A41のように画像データの送信が行われない場合を想定し、少なくとも1フレーム分の画像データを蓄積可能な容量を有する大容量メモリー80を用いる必要があった。
比較例では、プロセッサー92は、大容量メモリー80に1フレーム分の空きがある場合には、入力インターフェース91が受信した1フレーム分の画像データ(A11)を、全て大容量メモリー80に記憶する(A21)。一方、大容量メモリー80に1フレーム分の空きがない場合、プロセッサー92は、入力インターフェース91が受信した1フレーム分の画像データ(A12)を、大容量メモリー80に記憶することなく破棄する(A22)。
図2の例では、A42のタイミングで外部装置300から画像データの転送が可能である旨の応答があり、送信ルートでの送信が開始され(A43)、大容量メモリー80にバッファリングされている画像データが減少していく(A33)。これにより、3フレーム目(A13)の受信開始時には、大容量メモリー80に十分な空きができている。よってプロセッサー92は、入力インターフェース91が受信した1フレーム分の画像データ(A13)を、大容量メモリー80に記憶する(A23)。
以上が、比較例における処理装置90の動作例である。上述したように、イメージセンサー100からは一定量のデータが入ってくるのに対して、外部装置300へ送信されるデータ量は外部装置300の状態に応じて変化するため、不均衡が生じる。従来手法では、1つの画像を1フレーム内のデータから構成することが前提であるため、上記不均衡に対応するためには、少なくとも1フレーム内分の画像データを蓄積可能な大容量メモリー80が必須となっていた。
しかし、1つの画像を構成する際に、複数のフレームの情報を利用可能なケースも多く考えられる。例えば、複数のフレーム画像が、同一被写体を撮像した静止画像である場合である。上述したように、出力が動画像か静止画像かによらず、イメージセンサー100からは15fps、30fps等の一定のレートで画像データが出力される。外部装置300で用いられる画像データが静止画像であれば、出力対象となる画像は少数の画像、狭義には1枚の画像で十分である。
静止画像の撮像においては、ブレによる解像度低下を抑制するために、ある程度の期間、イメージセンサー100を含む撮像光学系と、被写体との相対的な位置姿勢変化が小さくなる。例えば、イメージセンサー100を含むカメラの撮像レートが15fpsであり、当該カメラを被写体に対して1秒静止させたとする。この場合、15フレーム分の画像データは被写体が同じであり、当該被写体に対するカメラの相対位置、相対姿勢の変化が十分小さいため、画像間の差異が非常に小さくなると考えられる。外部装置300は、上記被写体を、上記相対位置、相対姿勢のカメラで撮像した静止画像を取得できればよい。静止画像の生成に、15フレームの画像データのうちのいずれか1フレームのデータを用いたのか、複数のフレームのデータを組み合わせて用いたのかは問題とならない。
またここでは15フレームの例を示したが、より多いフレームで被写体とカメラの関係を固定可能な場合もある。例えば図10で後述する例であれば、外部装置300である印刷機制御ボード12からの制御信号に基づいて撮像装置30の位置が制御される。つまり外部装置300が必要な画像データを受信できたと判定するまでは、被写体と撮像装置30の位置関係を固定し、差異の十分小さい画像データを撮像し続けることも可能である。
図3は、本実施形態の処理装置200の構成例である。図3に示したように、処理装置200は、イメージセンサー100から画像データが入力される入力インターフェース210と、メモリー240と、入力された画像データをメモリーに書き込むプロセッサー220と、メモリー240に書き込まれた画像データを外部装置300に送信する出力インターフェース230を含む。
ここで、入力インターフェース210は、イメージセンサー100からの画像データを受信するインターフェースであり、例えばパラレルインターフェースである。ただし、入力インターフェース210をシリアルインターフェースにより実現することは妨げられない。
プロセッサー220は、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、或いはDSP(Digital Signal Processor)等、各種のプロセッサーを用いることが可能である。またプロセッサー220はASIC(Application Specific Integrated Circuit)によるハードウェア回路でもよい。またプロセッサー220は、複数のCPUにより構成されていてもよいし、複数のASICによるハードウェア回路により構成されていてもよい。また、プロセッサー220は、複数のCPUと、複数のASICによるハードウェア回路と、の組み合わせにより構成されていてもよい。
出力インターフェース230は、画像データを外部装置300に転送するインターフェースであり、例えばUSB(Universal Serial Bus)により実現できる。ただし、出力インターフェース230を他のインターフェースにより実現することは妨げられない。
メモリー240(記憶部)は、データやプログラムなどの各種の情報を記憶する。プロセッサー220は例えばメモリー240をワーク領域として動作する。メモリー240は、例えばSDRAM(Synchronous Dynamic Random Access Memory)であるが、他の半導体メモリーであってもよいし、レジスターであってもよい。
処理装置200は、例えば入力インターフェース210と、プロセッサー220と、出力インターフェース230と、メモリー240を搭載する制御基板を含む。制御基板の一部または全部は、ASICや、FPGA(Field-Programmable Gate Array)、SoC(System on a Chip)により実現できる。制御基板に搭載される各要素は、バス回路などを介して電気的に接続され、データの読み書きや信号の送受信が可能に接続されている。換言すれば、入力インターフェース210や出力インターフェース230は、プロセッサー220と別チップとして構成されてもよいし、ワンチップで構成されてもよい。
またメモリー240についても同様であり、メモリー240は、プロセッサー220の内蔵メモリーであってもよいし、別体として設けられるメモリーであってもよい。メモリー240をプロセッサー220に内蔵することで、処理装置200の小型化等が可能になる。ただし、本実施形態のメモリー240は従来手法に比べて記憶可能な容量を少なくできるため、メモリー240がプロセッサー220の内蔵メモリーでない場合であっても、低コスト化や処理装置200の小型化が可能である。
本実施形態のプロセッサー220は、入力インターフェース210を介して入力される複数フレームの画像データのうちの第i(iは正の整数)のフレームの画像データを、メモリー240がバッファリング可能な容量まで、メモリー240に書き込む。またプロセッサー220は、書き込み済みの画素を特定する特定情報を記憶する。そしてプロセッサー220は、第j(jはj>iを満たす整数)のフレームの画像データが入力インターフェース210を介して入力されたときに、メモリー240の容量に空きがある場合は、第jのフレームの画像データのうちの、特定情報により特定される画素の次の画素のデータから、メモリー240に書き込む。ここで、第p(pは正の整数)のフレームとは、pの値が小さいほど時系列的に前のタイミングで受信され、pの値が大きいほど後のタイミングで受信されるフレームである。i<jであるため、第jのフレームの画像データは、第iのフレームの画像データよりも後に受信される画像データとなる。
本実施形態の手法によれば、外部装置300に1枚の画像に相当するデータを出力する際に、第iのフレームの途中でバッファリング可能な容量に到達してしまった場合、第jのフレームを利用して画像データのバッファリングを行うことが可能になる。異なる複数のフレームに分けてバッファリングが可能であるため、1フレーム分の画像データをまとめてバッファリングする必要がなく、メモリー240が記憶可能な容量を従来手法に比べて削減できる。
特定情報について説明する。例えばイメージセンサー100から入力される画像データが1920×1080画素のデータである場合、画素数は207万3600画素となる。特定情報とは、207万3600画素のうち、いずれの画素までメモリー240に書き込み済みであるかを表す情報である。例えば、画像の先頭からX画素目までメモリー240に書き込まれた場合、プロセッサー220は特定情報kとしてk=Xという値を記憶する。このようにすれば、プロセッサー220は、次にメモリー240への書き込みを行う場合、先頭からX+1画素目から開始すればよいとの判定が可能になる。
ただし特定情報は、書き込み済みである画素を特定可能な情報であればよく、具体的な形式は種々の変形実施が可能である。例えば特定情報は、書き込み済みの画素の終端を表す座標情報(x,y)であってもよい。画像データが左上を起点として、右方向への水平走査、及び下方向への垂直走査が行われる例を考える。特定情報により(x,y)の画素が特定された場合、0〜y−1ライン目の全ての画素と、yライン目の左からx画素が書き込み済みであると判定される。またメモリー240への書き込みをライン単位で行い、特定情報として書き込み済みのラインを表す情報を記憶してもよい。
特定情報は、例えばプロセッサー220のレジスターに記憶される。レジスターはフリップフロップ等により実現される。或いは、プロセッサー220が内蔵メモリーを含み、特定情報は当該内蔵メモリーに記憶されてもよい。ここでの内蔵メモリーとは、メモリー240とは異なるメモリーであることが想定されるが、メモリー240が画像データ以外のデータを記憶可能な領域を有し、当該領域に特定情報が記憶されることも妨げられない。
図4は、本実施形態におけるタイミングチャートを表す図である。図4の横軸は時間を表し、縦軸は各データのデータ転送量を表す。図4のB1は、イメージセンサー100から出力される画像データのデータ量を表し、図2のA1と同様である。図4のB2は受信ルートで受信されるデータ量を表し、B3はメモリー240に記憶されたデータ量の合計を表し、B4は、送信ルートで送信されるデータ量を表す。
図4の開始時点では、メモリー240は未送信の画像データを記憶していない。メモリー240がフル状態でないため、プロセッサー220は第1のフレームの画像データ(B11)のメモリー240への書き込みを開始する(B21)。図4の例では、B41のタイミングで外部装置300への画像データの送信が開始される。ただし、出力インターフェース230の転送レートはウォーミングアップ期間(B42)で徐々に増加していくため、単位時間当たりでは、入力データ量>出力データ量となる。結果として、メモリー240がバッファリングしているデータ量は増大していき(B31)、1フレーム目の画像データの途中で、メモリー240がバッファリング可能な容量に到達してしまう(B32)。具体的には、メモリー240に書き込まれ、且つ、外部装置300に未送信であるデータ量が、バッファリング可能な容量に到達する。
ここで、「メモリー240がバッファリング可能な容量」は、メモリー240がフル状態になる容量である。フル状態について詳細に説明する。
図5は、メモリー240によるバッファリングを説明する模式図である。図5では、リングバッファーを例示するが、バッファリングが他の方式により行われることは妨げられない。リングバッファーでは、書き込み位置を表す書き込みポインターwpと、読み出し位置を表す読み出しポインターrpが用いられる。プロセッサー220は、リングバッファーに対して1アドレス分のデータの書き込みを行う場合、書き込みポインターwpで特定されるアドレスに対して書き込みを行い、書き込みポインターwpをインクリメントする。また、リングバッファーから1アドレス分のデータの読み出しを行う場合、読み出しポインターrpで特定されるアドレスから読み出しを行い、読み出しポインターrpをインクリメントする。なお、リングバッファーの制御は公知であるため、詳細な説明は省略する。
図5のBDに示したように、書き込みポインターwpと読み出しポインターrpの間の領域が、書き込み済み且つ読み出し前のデータ、即ちメモリー240がバッファリングしているデータとなる。本実施形態におけるフル状態とは、BDが所与の最大値に到達した状態を表す。ここでの最大値とは、例えばリングバッファーの全容量を表す値である。ただし、ある程度の余裕を持たせ、全容量に対して所定割合となる値をBDの最大値に設定してもよい。即ち、本実施形態のフル状態とは、バッファリングしているデータの量が、バッファリング用の記憶領域の容量から設定される所定値に到達している状態を表す。なお、フル状態か否かの判定は、BDの数値に基づいて判定してもよいし、フル状態か否かを表すフラグ情報を用いてもよい。
プロセッサー220は、メモリー240がフル状態になったと判定されたら(B32)、メモリー240への画像データの書き込みを停止する(B22)。プロセッサー220は、書き込み済みの画素を特定する特定情報を記憶する。B22の段階でX1画素目まで書き込まれていた場合、特定情報k=X1である。
そしてプロセッサー220は、次以降のフレームにおいて、X1+1画素目からの受信が可能であるか否か、即ちメモリー240に空きがあるか否かを判定する。メモリー240がフル状態でなければ、プロセッサー220は、当該フレームのX1+1画素からメモリー240への書き込みを開始する。画像データの最後、例えば207万3600画素目を書き込む前に再度メモリー240がフル状態となった場合、そこで当該フレームでの書き込みを停止し、書き込み済みの画素を特定する特定情報を記憶する。
図4の例では、2フレーム目のX1+1画素目の受信時(B14、B23)にメモリー240に空きがあるか否かを判定する。B23では、メモリー240がフル状態でない(B33)ため、画像データの書き込みが開始される。そして、先頭からX2画素目を書き込んだところでメモリー240がフル状態となったため(B24、B34)、プロセッサー220は2フレーム目での書き込みを停止し、特定情報としてk=X2を記憶する。
同様に図4の例では、3フレーム目のX2+1画素目の受信時(B15、B25)にメモリー240に空きがあるか否かを判定する。B25では、メモリー240がフル状態でない(B35)ため、画像データの書き込みが開始される。そして、メモリー240がフル状態となる前に画像データ最後の画素まで書き込みが完了する(B26)。このように図4の例では、1フレーム目の先頭X1画素と、2フレーム目のX1+1〜X2画素、及び3フレーム目のX2+1画素以降を合わせることで、1枚分の画像データのバッファリングが可能になる。
なおプロセッサー220は、外部装置300に送信済みでない画像データがメモリー240に記憶されており、且つ、出力インターフェース230が外部装置300から画像データが受信可能であるという情報を受けたとき、画像データを外部装置300に送信する処理を行う。
外部装置300に送信済みでない画像データがメモリー240に記憶されているか否かは、例えば上記のBDに基づいて判定する。BD≠0である場合、少なくとも1アドレス分のデータは未送信である。或いは、プロセッサー220は、未送信データの有無を表すフラグ情報を用いてもよい。
このようにすれば、2つの条件を用いることで、画像データを適切に外部装置300に送信できる。図4の例であれば、処理装置200は、B41の時点で外部装置300から画像データが受信可能であるという情報を、出力インターフェース230を介して受信している。また、B31からメモリー240へのデータの蓄積が開始されている。よって上記条件を満たすため、B41から外部装置300への画像データの送信が開始される。
翻って考えれば、外部装置300に送信済みでない画像データがメモリー240に記憶されていたとしても、外部装置300が画像データを受信可能な状態でない場合、送信処理は実行されない。
図4の例では、2フレーム目のB14のタイミングまでに送信処理が行われ(B41〜B43)、メモリー240に空きが発生していた。そのため、X1+1画素目からの受信を2フレーム目で実行することが可能であった。しかし外部装置300の状態によっては、送信処理が行われず、2フレーム目のB14のタイミングでメモリー240に空きが発生していない場合もあり得る。この場合、プロセッサー220は、3フレーム目以降のフレームにおいて、X1+1画素目からの受信が可能で否かを判定する。本実施形態における第iのフレームと第jのフレームは、j=i+1に限定されず、j≧i+2であってもよい。このように、外部装置300の状況に応じて、実際に受信が行われるフレーム、送信処理が行われるタイミング、1枚の画像データの送信を完了するまでに要するフレーム数、等が変化する。ただし、プロセッサー220で実行される受信及び書き込み処理と、読み出し及び送信処理の具体的なアルゴズムを変更する必要はなく、それぞれ上記の条件に従って並列に実行することで本実施形態の処理を実現可能である。
図6は、本実施形態のプロセッサー220で行われる処理を説明するフローチャートである。図6は、1枚分の画像データの送信を想定した処理であり、複数枚の画像データを送信する場合、図6の処理が複数回実行される。この処理が開始されると、受信及び書き込み処理(S101〜S108)と、読み出し及び送信処理(S201〜S206)が並列に開始される。
受信及び書き込み処理では、まず画素の特定情報kを0で初期化する(S101)。次に、フレームの先頭のデータが受信されたか否かを判定する(S102)。S102の処理は、例えば特定のデータ構造であるヘッダーが受信されたか否かの判定より実現できる。S102でNoの場合、フレームの先頭が検出されるまで処理を繰り返す。
S102でYesの場合、画像データのうちの1画素を受信する(S103)。そして受信した画素が、特定情報kにより表される画素以降のデータであるかを判定する(S104)。例えば図6には不図示であるが、各フレームにおいて1画素受信するごとにインクリメントされる変数を設けることで、フレーム内での受信画素数をカウントし、S104では受信画素数>kであるかを判定する。図4の例であれば、1フレーム目ではk=0であるため、最初の画素からS104がYesと判定される。2フレーム目ではk=X1であるため、X1+1番目の画素からS104がYesと判定される。
S104でNoの場合、S103で受信した画素は、過去のフレームで既にバッファリング済みの画素であると判定される。よって、S105以降の処理を行わずにS103に戻り、次の画素の受信を行う。
S104でYesの場合、S103で受信した画素は、バッファリングが行われていない画素であると判定される。よってメモリー240に空き容量があるか否かを判定する(S105)。
メモリー240に空きがない場合(S105でNo)とは、図4のB22やB24のように、フレームの途中でメモリー240がフル状態に到達してしまった場合、或いはそもそも当該フレーム開始時にメモリー240に空きがなかった場合に対応する。よってS102に戻り、次以降のフレームを対象として処理を実行する。
メモリーに空きがある場合(S105でYes)、S103で受信した画素をメモリー240に書き込み(S106)、画素の特定情報kをインクリメントする(S107)。S107の処理により、バッファリング済みの画素数と、特定情報が表す画素が適切に対応付けられる。
S107の処理後、画素を全て受信したかを判定する(S108)。S108の処理は、フレームの最後の画素までメモリー240に書き込まれたか否かの判定である。S108でYesの場合、図4のB26の状況に対応するため、1枚分の画像データのバッファリングが完了したと判定される。よってプロセッサー220は、受信及び書き込み処理を終了する。
また、S101〜S108と並列に、読み出し及び送信処理が実行される。この処理が開始されると、まずプロセッサー220は、外部装置300の状態を確認する(S201)。S201の処理は、出力インターフェース230を介したステータス情報の受信である。ここでのステータス情報は、受信の可否を表すフラグ情報であってもよいし、他の形式の情報であってもよい。そしてS201で受信したステータス情報に基づいて、外部装置300が画像データを受信可能であるか否かを判定する(S202)。
受信不可である場合(S202でNo)、S201に戻る。受信可能である場合(S202でYes)、メモリー240の状態を確認する(S203)。そしてメモリー240の状態に基づいて、メモリー240に未送信の画像データが記憶されているか否かを判定する(S204)。S204は、上記のようにBDの値を判定する処理でもよいし、未送信フラグを参照する処理でもよい。
未送信データが記憶されていない場合(S204でNo)、S106により新たにデータが書き込まれるまで、S203に戻り処理を継続する。未送信データが記憶されている場合(S204でYes)、当該データをメモリー240から読み出し、出力インターフェース230を介して外部装置300に対して送信する(S205)。
S205の処理後、1枚分の画像データを全て外部装置300に送信したか否かを判定する(S206)。S206の処理は、送信処理側で送信済み画素数をカウントし、1枚分の画素数、例えば207万3600画素に到達したか否かを判定してもよい。或いはS206の処理は、1枚分の画像データがバッファリング済み、且つ、メモリー240に未送信データがない、という2つの条件が満たされたか否かを判定してもよい。即ち、A108とS204の両方でYesと判定されてS206に来たときにYesと判定されてもよい。S206でNoの場合、未バッファリングのデータ、或いは未送信のデータが残っているため、S201に戻り処理を継続する。S206でYesの場合、処理を終了する。
2.電子機器
また本実施形態の手法は、上記の処理装置200と、イメージセンサー100と、イメージセンサー100を移動させる移動機構と、を含む電子機器に適用できる。より具体的には、イメージセンサー100は、少なくともレンズ等の撮像光学系を含む撮像装置30に搭載される。
また本実施形態の手法は、上記の処理装置200と、イメージセンサー100と、イメージセンサー100を移動させる移動機構と、を含む電子機器に適用できる。より具体的には、イメージセンサー100は、少なくともレンズ等の撮像光学系を含む撮像装置30に搭載される。
図7は、イメージセンサー100を含む撮像装置30の構成例を示す図であって、システムの内部構造を示す縦断面図である。撮像装置30は、下方に開口部を有する箱型のケース31に、第1光源41及び第2光源42と、撮像ユニット50と、システム制御ボード60と、を搭載する。撮像ユニット50は、イメージセンサー100とレンズ51を含む。勿論、これら以外の要素も適宜含めることができる。なお、上、右、前の各方向は、図7の撮像装置30が印刷装置10に搭載された場合の方向を表す。各方向の詳細は、図8〜図10を用いて後述する。
第1光源41と第2光源42は、撮像対象の被写体に撮影用の光を照射するN個(N≧2)の光源であって、それぞれの発光正面方向DL1,DL2が互いに、被写体に対して正反射の位置に設置されている。撮像装置30が印刷装置10に搭載される場合、被写体とは印刷対象の媒体3である。また、第1光源41と第2光源42は、本実施形態では白色の発光ダイオードであり、駆動用の電圧・電流がシステム制御ボード60によって制御されることで、光量が制御される。
なお、第1光源41と第2光源42の発光体は、白色の発光ダイオードに限らない。他の色の発光ダイオードであっても良いし、発光体の種類も適宜設定可能である。また、本実施形態では光源の数Nを2個としているが、複数であれば3個以上であってもよい。撮像ユニット50は、光軸Dcが第1光源41と第2光源42との正反射の反射位置に向けて設置されている。
本実施形態に係る処理装置200は、例えば撮像装置30のシステム制御ボード60に対応する。撮像装置30のシステム制御ボード60は、撮像ユニット50で撮像された画像データのバッファリングを行い、当該画像データを外部装置300に対して送信する。
本実施形態に係る電子機器は、例えば印刷装置10である。インクジェットプリンターにおいて、複数のインクジェットヘッドを搭載し、高速に広範囲の印刷を可能にする機構を持つ機種がある。その場合、ヘッド間の取り付け調整や、ヘッド特性差異の補償等のため、所定の印刷パターンをヘッドに取り付けられたカメラにより撮像し、そのデジタル画像を解析して、ヘッドの調整度合いを数値化する仕組みが検討されている。換言すれば、ヘッドの自動検査、自動調整を実行するシステムが検討されている。調整は、プリンターの初期導入時に設置場所で行ったり、用紙等の印刷メディアの交換時に都度行うことが想定されている。電子機器に含まれるイメージセンサー100は、当該所定の印刷パターンの撮像に用いることが可能である。
図8は、撮像装置30が搭載される印刷装置10の構成例を示す正面図である。印刷装置10は、紙、布、プラスチックなどを材料とするシート状の印刷対象の媒体3に対して、染料や顔料といった印刷インクの液滴を吐出することでカラー画像を形成するインクジェット式のカラープリンターである。
具体的には、印刷装置10は、印刷機制御ボード12と、キャリッジ部20とを搭載する。印刷機制御ボード12は、印刷装置10の動作を統合的に制御する制御基板である。印刷装置10は、印刷機制御ボード12の制御によってキャリッジ部20を主走査方向Dsに沿って移動させながら印刷インクを媒体3に噴射して印刷を行う。
本実施形態の印刷装置10は、印刷対象の媒体3としてA2サイズ以上を扱うことができるLFP(Large Format Printer:大判プリンター)とするが、中型・小型のインクジェット式の印刷装置であってもよい。
なお、図8〜図10では方向を次のように定義する。前後方向は、印刷装置10が印刷後の媒体3を排出する側を正面・前とする。左右方向は、前後方向に対して直交する主走査方向Dsに沿っており、正面から向かった左右とする。
図9は、キャリッジ部20の構成例の概要を説明するための概略配置図であって、キャリッジ部20を上から見た図に相当する。キャリッジ部20は、キャリッジ部コントローラー22と、印刷ヘッドユニット群24と、撮像装置30と、を搭載する。キャリッジ部コントローラー22は、印刷機制御ボード12からの制御信号を受けてキャリッジの動作を統合的に制御する。キャリッジ部コントローラー22は、キャリッジ部20の制御基板に相当する。印刷ヘッドユニット群24は、インクジェット式のプリンターヘッドである。使用される印刷インクの色数や種類に応じて搭載する印刷ヘッドの数や相対位置は適宜設定可能である。
図8、図9に示したように、電子機器が印刷装置10である場合、イメージセンサー100を移動させる移動機構とは、キャリッジ部20、及びキャリッジ部20を主走査方向Dsで移動させるためのアクチュエーター等の構成に対応する。また、外部装置300は、印刷機制御ボード12である。即ち、イメージセンサー100を含む撮像装置30は、キャリッジ部20の移動に伴って所定の被写体を撮像し、処理装置200であるシステム制御ボード60でバッファリングされる。そしてシステム制御ボード60から印刷機制御ボード12に対して画像が送信され、印刷機制御ボード12で検査のための画像処理が実行される。
電子機器の移動機構は、複数の検査用被写体を撮像可能な位置に、イメージセンサー100を順次移動させ、イメージセンサー100は、複数の検査用被写体の各検査用被写体について、複数のフレーム画像を撮像する。このようにすれば複数の検査用被写体を対象として、視覚的な検査を実行することが可能になる。
特に電子機器が印刷装置10である場合、移動機構は、印刷ヘッド(印刷ヘッドユニット群24)を移動させるキャリッジ(キャリッジ部20)であり、検査用被写体は、印刷媒体3に印刷された検査用画像である。印刷装置10では、所定の検査用パターンを印刷することで、印刷ヘッドの取り付け位置や取り付け姿勢、或いは各印刷ヘッドから適量のインクが吐出されているか等を視覚的に示す手法が広く知られている。本実施形態における検査用画像は、例えばこのような検査用パターンである。
図10は、検査用画像の印刷、及び検査用の画像データの撮像におけるキャリッジ部20の制御例を説明する図である。上述したように、キャリッジ部20は、主走査方向Dsに移動可能に構成される。キャリッジ部コントローラー22は、印刷機制御ボード12の制御に従って、キャリッジ部20を移動させ、主走査方向Dsに沿って複数の検査パターンを印刷する。
図10のC1が印刷パスの往路であり、C2が印刷パスの復路である。C1とC2の間の所定の位置で、印刷ヘッドユニット群24から所定色のインクを吐出することで、複数の検査用パターンが印刷される。なお、図10では4つの検査用パターンD1〜D4を示したが、検査用パターンの数は任意である。また、図10ではC1及びC2の一往復で検査用パターンを印刷する例を示したが、複数回の往復で検査用パターンが印刷されてもよい。また、往路で検査用パターンの印刷が行われ、復路で検査用パターンの撮像が行われてもよい。本実施形態では、印刷パスと撮像パスが分かれていればよく、具体的なパスについては種々の変形実施が可能である。また、各パスでのキャリッジ部20と媒体3の副走査方向(前後方向)での位置関係も種々の設定が可能である。例えば、印刷パス(C1,C2)と撮像パス(C3〜C6)の全てにおいて、副走査方向での位置関係を固定とする。この場合、検査用パターンの印刷から撮像の完了まで、媒体3の搬送が行われない。或いは、媒体3を搬送しながら複数の印刷パスにより検査用パターンを印刷した後、撮影に適した位置関係となるように媒体3の引き戻しを行って撮像を行ってもよい。
検査用パターンの印刷が完了したら、印刷機制御ボード12は、キャリッジ部コントローラー22に対して、検査用パターンの撮像を指示する。具体的には、C1及びC2に示した印刷パスとは異なるパスにおいて、まず検査用パターンD1を撮像可能な位置にキャリッジ部20を移動させる(C3)。
C3の移動が完了したら、処理装置200のプロセッサー220は、図6に示した処理を開始する。C3の移動の完了後、且つ、次の移動であるC4の開始前の期間においては、複数のフレームにわたって検査用パターンD1の撮像が継続される。よってプロセッサー220は、メモリー240の空き容量や外部装置300の受信可否に応じて図6の処理を行い、必要に応じて複数フレーム分の画像データを用いて、外部装置300である印刷機制御ボード12に対して、検査用パターンD1を撮像した画像データを送信する。
印刷機制御ボード12は、検査用パターンD1についての検査が可能な枚数の画像データが適切に取得された場合に、キャリッジ部コントローラー22に対して、次の検査用パターンD2の撮像を指示する。キャリッジ部コントローラー22は、C4に示したようにキャリッジ部20を移動させ、撮像装置30は検査用パターンD2の撮像を開始する。なお、検査が可能な枚数とは最小は1枚であるが、ノイズ等を考慮して複数枚としてもよい。
これ以降についても同様である。処理装置200は、複数のフレーム画像に基づいて、検査用パターンD2を撮像した画像を、印刷機制御ボード12に送信する。印刷機制御ボード12は、検査用パターンD2についての検査が可能な枚数の画像データが適切に取得された場合に、キャリッジ部コントローラー22に対して、次の検査用パターンD3の撮像を指示する。キャリッジ部コントローラー22は、C5に示したようにキャリッジ部20を移動させ、撮像装置30は検査用パターンD3の撮像を開始する。検査用パターンD3の撮像が完了したら、C6の移動が行われ検査用パターンD4の撮像が行われる。
以上のように、印刷装置10である電子機器では、キャリッジ(キャリッジ部20)の第1の移動時に印刷媒体3に検査用画像が印刷され、イメージセンサー100は、第1の移動より後に実行される第2の移動時に検査用画像を撮像する。第1の移動とは印刷パスに対応し、第2の移動とは撮像パスに対応する。図10の例であれば、第1の移動とはC1及びC2の移動であり、第2の移動とはC3〜C6の少なくとも1つの移動である。ただし、印刷パスと撮像パスに種々の変形実施が可能である点は上述したとおりである。このようにすれば、印刷パスを撮像パスを分けることが可能になる。印刷途中の画像を撮像すること等が抑制されるため、撮像及び検査を適切に実行することが可能になる。
また本実施形態の電子機器は、処理装置200と、イメージセンサー100と、移動機構とを含めばよく、印刷装置10以外の機器に拡張可能である。
図11は、本実施形態に係る電子機器の一例であるロボットの外観図である。図11のロボット400は、第1のアーム410と、第2のアーム420を含み、撮像装置30は、第1のアーム410及び第2のアーム420の少なくとも一方に設けられるハンドアイカメラである。図11では、第1のアーム410は、関節411,413と、関節の間に設けられるフレーム415,417から構成され、第2のアーム420についても同様のものとしたがこれに限定されない。また、図11では2本のアームを有する双腕ロボットの例を示したが、本実施形態のロボットは3本以上のアームを有してもよい。またロボット400は人型のロボットに限定されず、広く知られたSCARA型のロボット等であってもよい。
図11のロボット400は、7自由度や6自由度のアームを用いることで、撮像装置30の3次元的な位置、姿勢を柔軟に変更可能である。即ち、多様な角度から検査用被写体OBを撮像し、複数の画像データを用いて検査用被写体OBの外観検査を実行できる。ここでの外部装置300は、ロボット400の制御、例えばアーム410やアーム420等の制御を行う制御基板であってもよい。或いは、ロボット400と直接、或いはネットワークを介して接続可能なPC等の機器を外部装置300としてもよい。
以上、本発明を適用した実施形態およびその変形例について説明したが、本発明は、各実施形態やその変形例そのままに限定されるものではなく、実施段階では、発明の要旨を逸脱しない範囲内で構成要素を変形して具体化することができる。また、上記した各実施形態や変形例に開示されている複数の構成要素を適宜組み合わせることによって、種々の発明を形成することができる。例えば、各実施形態や変形例に記載した全構成要素からいくつかの構成要素を削除してもよい。さらに、異なる実施の形態や変形例で説明した構成要素を適宜組み合わせてもよい。また、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語と共に記載された用語は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。このように、発明の主旨を逸脱しない範囲内において種々の変形や応用が可能である。
3…印刷媒体、10…印刷装置、12…印刷機制御ボード、20…キャリッジ部、
22…キャリッジ部コントローラー、24…印刷ヘッドユニット群、30…撮像装置、
31…ケース、41…第1光源、42…第2光源、50…撮像ユニット、51…レンズ、60…システム制御ボード、80…大容量メモリー、90…比較例の処理装置、
91…比較例の入力インターフェース、92…比較例のプロセッサー、
93…比較例の出力インターフェース、100…イメージセンサー、200…処理装置、
210…入力インターフェース、220…プロセッサー、
230…出力インターフェース、240…メモリー、300…外部装置、
400…ロボット、410,420…アーム、411,413…関節、
415,417…フレーム、Ds…主走査方向、OB…検査用被写体、
rp…読み取りポインター、wp…書き込みポインター
22…キャリッジ部コントローラー、24…印刷ヘッドユニット群、30…撮像装置、
31…ケース、41…第1光源、42…第2光源、50…撮像ユニット、51…レンズ、60…システム制御ボード、80…大容量メモリー、90…比較例の処理装置、
91…比較例の入力インターフェース、92…比較例のプロセッサー、
93…比較例の出力インターフェース、100…イメージセンサー、200…処理装置、
210…入力インターフェース、220…プロセッサー、
230…出力インターフェース、240…メモリー、300…外部装置、
400…ロボット、410,420…アーム、411,413…関節、
415,417…フレーム、Ds…主走査方向、OB…検査用被写体、
rp…読み取りポインター、wp…書き込みポインター
Claims (9)
- イメージセンサーから画像データが入力される入力インターフェースと、
メモリーと、
入力された前記画像データを前記メモリーに書き込むプロセッサーと、
前記メモリーに書き込まれた前記画像データを外部装置に送信する出力インターフェースと、
を含み、
前記プロセッサーは、
前記入力インターフェースを介して入力される複数フレームの画像データのうちの第i(iは正の整数)のフレームの画像データを、前記メモリーがバッファリング可能な容量まで、前記メモリーに書き込んで、書き込み済みの画素を特定する特定情報を記憶し、第j(jはj>iを満たす整数)のフレームの画像データが前記入力インターフェースを介して入力されたときに、前記メモリーの容量に空きがある場合は、前記第jのフレームの画像データのうちの、前記特定情報により特定される画素の次の画素のデータから、前記メモリーに書き込むことを特徴とする処理装置。 - 請求項1において、
前記プロセッサーは、
前記外部装置に送信済みでない前記画像データが前記メモリーに記憶されており、且つ、前記出力インターフェースが前記外部装置から前記画像データが受信可能であるという情報を受けたとき、前記画像データを前記外部装置に送信する処理を行うことを特徴とする処理装置。 - 請求項1又は2において、
前記メモリーがバッファリング可能な容量は、前記メモリーがフル状態になる容量であることを特徴とする処理装置。 - 請求項1乃至3のいずれかにおいて、
前記メモリーは、前記プロセッサーの内蔵メモリーであることを特徴とする処理装置。 - 請求項1乃至4のいずれかにおいて、
前記複数のフレーム画像は、同一被写体を撮像した静止画像であることを特徴とする処理装置。 - 請求項1乃至5のいずれかに記載の処理装置と、
前記イメージセンサーと、
前記イメージセンサーを移動させる移動機構と、
を含むことを特徴とする電子機器。 - 請求項6において、
前記移動機構は、
複数の検査用被写体を撮像可能な位置に、前記イメージセンサーを順次移動させ、
前記イメージセンサーは、
前記複数の検査用被写体の各検査用被写体について、前記複数のフレーム画像を撮像することを特徴とする電子機器。 - 請求項7において、
前記移動機構は、
印刷ヘッドを移動させるキャリッジであり、
前記検査用被写体は、
印刷媒体に印刷された検査用画像であることを特徴とする電子機器。 - 請求項8において、
前記キャリッジの第1の移動時に前記印刷媒体に前記検査用画像が印刷され、
前記イメージセンサーは、
前記第1の移動より後に実行される第2の移動時に前記検査用画像を撮像することを特徴とする電子機器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018052007A JP2019165351A (ja) | 2018-03-20 | 2018-03-20 | 処理装置及び電子機器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018052007A JP2019165351A (ja) | 2018-03-20 | 2018-03-20 | 処理装置及び電子機器 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019165351A true JP2019165351A (ja) | 2019-09-26 |
Family
ID=68065049
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018052007A Pending JP2019165351A (ja) | 2018-03-20 | 2018-03-20 | 処理装置及び電子機器 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2019165351A (ja) |
-
2018
- 2018-03-20 JP JP2018052007A patent/JP2019165351A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9900465B2 (en) | Adjusting image data using divided areas | |
US20090195660A1 (en) | Image signal processing system, digital camera, and printer | |
US20090027508A1 (en) | Image processing system, imaging device, and output device | |
JP2019165351A (ja) | 処理装置及び電子機器 | |
JP2018049363A (ja) | プログラム及び情報処理装置 | |
JP4570156B2 (ja) | 画像形成装置 | |
US9485381B1 (en) | Scanner interface and protocol | |
TWI231709B (en) | Input apparatus of image | |
JP6463437B2 (ja) | 画像処理装置及びその制御方法、並びに、プログラム | |
JP5567790B2 (ja) | 画像処理装置及びその制御方法、並びに、プログラム | |
US20150124120A1 (en) | Machine vision system with device-independent camera interface | |
US20040212846A1 (en) | Interleaved image processing for an imaging apparatus | |
US20190130523A1 (en) | Information processing device and image processing system | |
US20120206737A1 (en) | Image forming apparatus and image forming method for correcting registration deviation | |
JP2019153061A (ja) | 画像処理装置、その制御方法、及びプログラム | |
US11093150B2 (en) | Image processing apparatus | |
JP2011042056A (ja) | 画像形成装置、画像形成制御方法、画像形成制御プログラム及び記録媒体 | |
JP5124401B2 (ja) | 画像形成装置、画像形成制御方法、画像形成制御プログラム及び記録媒体 | |
JP4725799B2 (ja) | 画像形成装置 | |
JP4143246B2 (ja) | 画像形成システム | |
JP5176808B2 (ja) | 画像処理装置、および画像処理方法 | |
JP6225202B2 (ja) | 画像処理装置及びその制御方法、並びに、プログラム | |
JP2018049362A (ja) | プログラム及び情報処理装置 | |
US20130148171A1 (en) | Image reading device and image reading method | |
US20080024832A1 (en) | Method for amending scanned images |