JP2005244631A - 画像表示システム、装置、画像撮像装置、およびプログラム - Google Patents
画像表示システム、装置、画像撮像装置、およびプログラム Download PDFInfo
- Publication number
- JP2005244631A JP2005244631A JP2004052080A JP2004052080A JP2005244631A JP 2005244631 A JP2005244631 A JP 2005244631A JP 2004052080 A JP2004052080 A JP 2004052080A JP 2004052080 A JP2004052080 A JP 2004052080A JP 2005244631 A JP2005244631 A JP 2005244631A
- Authority
- JP
- Japan
- Prior art keywords
- frame
- image
- packet
- data
- data amount
- 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
Images
Landscapes
- Studio Devices (AREA)
Abstract
【課題】電子カメラ等で撮像した画像データをパソコンへ転送して表示すること。
【解決手段】カメラヘッド3で撮像した画像は、画像処理部4にて画像処理がされ、予め設定された画像フォーマット、および画像サイズに変換される。CPU7は画像処理部4からFIFOメモリ5への画像データの転送、およびFIFOメモリ5からUSBコントローラ6へ1フレーム単位の画像データの転送を指示する。USBコントローラ6は、1フレームの画像データを最大512バイトのパケットに分割し、USB2.0インターフェース11を介してPC2へ転送する。PC2においては、フレームメモリ格納制御部10aによってフレームの区切りを判断し、1フレーム分のパケットをフレームメモリ8に格納する。正常転送判断部10bは、1フレームが正常に転送されているかを判断して、正常に転送されているフレームのみをモニタ9に表示する。
【選択図】 図1
【解決手段】カメラヘッド3で撮像した画像は、画像処理部4にて画像処理がされ、予め設定された画像フォーマット、および画像サイズに変換される。CPU7は画像処理部4からFIFOメモリ5への画像データの転送、およびFIFOメモリ5からUSBコントローラ6へ1フレーム単位の画像データの転送を指示する。USBコントローラ6は、1フレームの画像データを最大512バイトのパケットに分割し、USB2.0インターフェース11を介してPC2へ転送する。PC2においては、フレームメモリ格納制御部10aによってフレームの区切りを判断し、1フレーム分のパケットをフレームメモリ8に格納する。正常転送判断部10bは、1フレームが正常に転送されているかを判断して、正常に転送されているフレームのみをモニタ9に表示する。
【選択図】 図1
Description
本発明は、電子カメラ等で撮像した画像データをパソコンへ転送して表示する画像表示システム、装置、画像撮像装置、およびプログラムに関する。
画像データを転送する際に、画像データにフレームヘッダを挿入し、フレームの区切りを識別する方法が特許文献1によって知られている。
しかしながら、画像データを伝送する際に、画像データにフレームヘッダを挿入する従来の方法においては、フレームヘッダを挿入する処理に大きな負荷がかかるという問題が生じていた。
請求項1に記載の画像表示システムは、被写体を撮像するカメラと、カメラで撮像した画像を処理する処理回路と、処理回路で処理した画像を外部へ送信するための通信手段と、処理回路で処理した画像を通信手段へ転送する転送手段とを有する画像撮像装置、および通信手段から送られてくる画像をモニタに1フレーム単位に連続して表示する表示制御手段とを有する画像処理装置を備え、転送手段は、カメラで撮像した画像データを転送する第1のデータ転送手段と、第1のデータ転送手段に転送された画像データをフレームの単位に区切った1フレーム単位の画像データとして通信手段へ転送する第2のデータ転送手段とを備え、通信手段は、画像処理装置へ画像データを送信するに当たって、第2のデータ転送手段から送られてきた1フレーム分の画像データに対して、最初または最終パケットのデータ量が、最初または最終パケットを除くパケットの所定データ量と異なるように分割処理しながらパケットごとに送信することを特徴とする。
請求項2に記載の画像表示システムは、請求項1に記載の画像表示システムにおいて、画像処理装置は、通信手段から所定データ量と異なるデータ量のパケットを受信したとき、当該所定データ量と異なるデータ量のパケットを画像データの1フレームの区切りとして判断して、当該所定データ量と異なるデータ量のパケットを含む1フレームの画像データをフレームメモリに格納するデータ格納制御手段と、フレームメモリに格納された1フレームと認識されたパケットの合計データ量を算出するデータ量算出手段と、データ量算出手段で算出された当該合計データ量と、1フレームの画像データの本来のデータ量とに基づいて、通信手段による転送が正常に完了したか否かを判断する正常転送判断手段とを有することを特徴とする。
請求項3に記載の画像表示システムは、請求項2に記載の画像表示システムにおいて、データ格納制御手段は、通信手段から所定データ量と異なるデータ量のパケットを受信した場合、所定データ量と異なるデータ量のパケットが1フレーム単位の画像データの最初のパケットであるとき、当該所定データ量と異なるデータ量のパケットを受信してから、次の所定データ量と異なるデータ量のパケットの直前のパケットを受信するまでの間に受信したパケットを1フレームの画像データとして認識し、所定データ量と異なるデータ量のパケットが1フレーム単位の画像データの最終パケットであるとき、当該所定データ量と異なるデータ量のパケットの次のパケットを受信してから、次の所定データ量と異なるデータ量のパケットを受信するまでの間に受信したパケットを1フレームの画像データとして認識することを特徴とする。
請求項4に記載の画像表示システムは、請求項3に記載の画像表示システムにおいて、前記正常転送判断手段は、1フレームの画像データの転送が正常に行われなかったと判断した場合、当該フレームの画像データを表示出力しないことを特徴とする。
請求項5に記載の画像撮像装置は、請求項1〜4のいずれか一項に記載の画像撮像装置である。
請求項6に記載の画像処理装置は、請求項1〜4のいずれか一項に記載の画像処理装置である。
請求項7に記載のプログラムは、請求項5に記載の画像撮像装置に搭載されるコンピュータによって実行するためのプログラムであって、カメラで撮像した画像の処理と、画像データを第1の転送手段から転送させる処理と、第1の転送手段から転送されてくる画像データをフレーム単位に区切った1フレーム単位の画像データとして第2の転送手段から通信手段へ転送する処理と、第2の転送手段から転送されてくる1フレーム単位の画像データを最初または最終パケットのデータ量が、最初または最終パケットを除くパケットの所定データ量と異なるように分割処理しながらパケットごとに通信手段から画像処理装置へ送信する処理とを有し、第2の転送手段から転送されるフレームのサイズは、画像処理装置から指示される1フレームの大きさに基づいて決定されることを特徴とする。
請求項8に記載のプログラムは、請求項5に記載の画像撮像装置に搭載されるコンピュータによって実行するためのプログラムであって、カメラで撮像した画像の処理と、画像データを第1の転送手段から転送させる処理と、第1の転送手段から転送されてくる画像データをフレーム単位に区切った1フレーム単位の画像データとして第2の転送手段から通信手段へ転送する処理と、第2の転送手段から転送されてくる1フレーム単位の画像データを最初または最終パケットのデータ量が、最初または最終パケットを除くパケットの所定データ量と異なるように分割処理しながらパケットごとに通信手段から画像処理装置へ送信する処理とを有し、第2の転送手段から転送されるフレームのサイズは、画像処理装置から指示される1フレームの大きさに基づいて決定されることを特徴とする。
請求項2に記載の画像表示システムは、請求項1に記載の画像表示システムにおいて、画像処理装置は、通信手段から所定データ量と異なるデータ量のパケットを受信したとき、当該所定データ量と異なるデータ量のパケットを画像データの1フレームの区切りとして判断して、当該所定データ量と異なるデータ量のパケットを含む1フレームの画像データをフレームメモリに格納するデータ格納制御手段と、フレームメモリに格納された1フレームと認識されたパケットの合計データ量を算出するデータ量算出手段と、データ量算出手段で算出された当該合計データ量と、1フレームの画像データの本来のデータ量とに基づいて、通信手段による転送が正常に完了したか否かを判断する正常転送判断手段とを有することを特徴とする。
請求項3に記載の画像表示システムは、請求項2に記載の画像表示システムにおいて、データ格納制御手段は、通信手段から所定データ量と異なるデータ量のパケットを受信した場合、所定データ量と異なるデータ量のパケットが1フレーム単位の画像データの最初のパケットであるとき、当該所定データ量と異なるデータ量のパケットを受信してから、次の所定データ量と異なるデータ量のパケットの直前のパケットを受信するまでの間に受信したパケットを1フレームの画像データとして認識し、所定データ量と異なるデータ量のパケットが1フレーム単位の画像データの最終パケットであるとき、当該所定データ量と異なるデータ量のパケットの次のパケットを受信してから、次の所定データ量と異なるデータ量のパケットを受信するまでの間に受信したパケットを1フレームの画像データとして認識することを特徴とする。
請求項4に記載の画像表示システムは、請求項3に記載の画像表示システムにおいて、前記正常転送判断手段は、1フレームの画像データの転送が正常に行われなかったと判断した場合、当該フレームの画像データを表示出力しないことを特徴とする。
請求項5に記載の画像撮像装置は、請求項1〜4のいずれか一項に記載の画像撮像装置である。
請求項6に記載の画像処理装置は、請求項1〜4のいずれか一項に記載の画像処理装置である。
請求項7に記載のプログラムは、請求項5に記載の画像撮像装置に搭載されるコンピュータによって実行するためのプログラムであって、カメラで撮像した画像の処理と、画像データを第1の転送手段から転送させる処理と、第1の転送手段から転送されてくる画像データをフレーム単位に区切った1フレーム単位の画像データとして第2の転送手段から通信手段へ転送する処理と、第2の転送手段から転送されてくる1フレーム単位の画像データを最初または最終パケットのデータ量が、最初または最終パケットを除くパケットの所定データ量と異なるように分割処理しながらパケットごとに通信手段から画像処理装置へ送信する処理とを有し、第2の転送手段から転送されるフレームのサイズは、画像処理装置から指示される1フレームの大きさに基づいて決定されることを特徴とする。
請求項8に記載のプログラムは、請求項5に記載の画像撮像装置に搭載されるコンピュータによって実行するためのプログラムであって、カメラで撮像した画像の処理と、画像データを第1の転送手段から転送させる処理と、第1の転送手段から転送されてくる画像データをフレーム単位に区切った1フレーム単位の画像データとして第2の転送手段から通信手段へ転送する処理と、第2の転送手段から転送されてくる1フレーム単位の画像データを最初または最終パケットのデータ量が、最初または最終パケットを除くパケットの所定データ量と異なるように分割処理しながらパケットごとに通信手段から画像処理装置へ送信する処理とを有し、第2の転送手段から転送されるフレームのサイズは、画像処理装置から指示される1フレームの大きさに基づいて決定されることを特徴とする。
本発明によれば、画像データにフレームヘッダを挿入することなく、フレームの区切りが識別でき、処理の負荷を軽減することができる。
図1は、本発明による画像表示装置の一実施の形態の構成を示すブロック図である。画像表示装置においては、画像撮像装置1と画像処理装置2とがUSB2.0インターフェース11を介して接続されている。画像処理装置2はパソコン(PC)を用いることができる。パソコン(PC)2は、USB2.0インターフェース11を介して画像撮像装置1に対して画像データの転送指示信号を送信し、転送指示信号を受信した画像撮像装置1は、USB2.0インターフェース11を介してPC2に対して撮像した画像データを転送する。
このとき、PC2において、使用者は不図示の入力装置を使用して、あらかじめ転送する画像のフォーマットや画像サイズを設定しておき、画像撮像装置1への転送要求と同時にこれらの設定値をUSB2.0インターフェース11を介して送信する。画像撮像装置1は、カメラヘッド3で撮像した画像を、あらかじめ設定された画像フォーマット、および画像サイズの画像データに変換して、PC2へ画像を送信する。
画像撮像装置1は、画像を撮像するカメラヘッド3と、撮像された画像データに対して各種画像処理を行う画像処理部4と、画像処理部4で画像処理が行われた画像を格納するFIFOメモリ(First In First Out Memory)5と、USB2.0インターフェース11を制御するUSBコントローラ6と、画像撮像装置1全体を制御するCPU7とを有している。
カメラヘッド3にはCCD素子が組み込まれており、カメラヘッド3は所定時間ごとに次々と被写体を撮像し、撮像した被写体を1フレームずつデジタルデータに変換して出力する。画像処理部4は、カメラヘッド3から次々と出力されて来る画像データを、1フレームずつCPU7からの指示に基づいてPC2であらかじめ設定されたフォーマットおよびサイズに変換する。また、必要に応じて補間、階調変換や輪郭強調などの画像処理が行われる。なお、本実施の形態においては、画像フォーマットをRGB形式のデータフォーマットとし、RGB画像データを640画素×480画素(VGA)の画像サイズに変換するものとする。
画像処理部4にて画像処理が行われた画像データは1フレームずつ次々とFIFOメモリ5へ転送される。画像処理部4からFIFOメモリ5への転送はCPU7によって制御される。なお、CPU7によって制御される画像データの転送処理については後述する。
FIFOメモリ5は、画像処理部4から転送された画像データを1フレームずつ複数枚格納するバッファとしての機能を有し、画像処理部4から転送されてきた画像データの順に、画像データを1フレーム単位でUSBコントローラ6へ転送する。FIFOメモリ5からUSBコントローラ6への画像データの転送もCPU7によって制御される。なお、画像処理部4において、RGB形式でVGAサイズに変換された画像データは、FIFOメモリ5に図2に示すように格納される。RGB形式の画像データでは、各画素にはR(赤)、G(緑)、B(青)のすべての色成分の色情報が存在している。すなわち、1画素中にはR、G、Bの3バイト分の色情報を含んでいる。したがって、VGAサイズに変換された1フレーム当たりの画像データサイズは、640画素×480画素×3バイト=921600バイトとなる。
USBコントローラ6は、CPU7からの指示に基づいてFIFOメモリ5から転送された1フレーム単位の画像データを、512バイトの固定長符号化し、複数のパケットに分割してから、USB2.0インターフェース11を介してPC2に転送する。なお、1フレーム当たりの画像データのサイズは、CPU7からUSBコントローラ6へ通知されている。また、1フレーム単位の画像データの全パケットが転送完了したか否かを判断し、転送が完了した時点で転送を停止し、転送が完了した旨をCPU7に通知する。この機能は、USB2.0の標準仕様により提供されている。USBコントローラ6は、USB2.0の標準仕様に則って画像データの転送を制御する。
CPU7は、不図示のメモリに格納されたプログラムを実行することにより、画像撮像装置1全体を制御する。すなわち、以下の処理を行う。画像処理部4に対しては、PC2からの指示に基づいて指定された画像フォーマット、および画像サイズへの変換を行うよう指示を出す。
CPU7はまた、画像処理部4からFIFOメモリ5への画像データの転送、およびFIFOメモリ5からUSBコントローラ6への画像データの転送の起動、停止タイミングを制御する。画像処理部4からFIFOメモリ5への画像データの転送においては、PC2から画像転送要求がされた時点で画像データの転送を開始し、PC2から画像転送の停止要求がされたときに転送を停止すべく制御する。すなわち、PC2から画像転送要求がされてから、PC2から画像転送の停止要求がされるまでの間、連続的に画像データを1フレームごとに転送する。なお、本明細書では、この転送を次のように表現することもある。つまり、カメラヘッド3で撮像した画像データをフレームの区切りを有しない連続したデータとして転送する。
FIFOメモリ5からUSBコントローラ6への画像データの転送においては、FIFOメモリ5に格納された画像データの1フレーム単位でUSBコントローラ6への転送を行う。したがって、CPU7は、1フレームの転送ごとに転送の起動と停止を繰り返すべくFIFOメモリ5の出力を制御する。このとき、CPU7は、USBコントローラ6からの1フレーム受信完了の信号を検知することにより1フレームの送信が完了したことを判断する。本明細書では、この転送を次のように表現することもある。つまり、FIFOメモリ5に転送された連続した画像データを、フレーム単位に区切った1フレーム単位のデータとして転送する。
以上説明したように、画像撮像装置1によって撮像された画像データは、1フレームごとに512バイトのパケットに分割され、USB2.0インターフェース11を介してPC2へ転送される。
PC2は、画像撮像装置1から転送された画像データを、1フレーム単位に格納するフレームメモリ8と、フレームメモリ8に格納された画像データについて、次の画像データがフレームメモリ8に格納されるまでの間、その画像を視覚的に表示する(可視化する)モニタ9と、PC2を制御するCPU10とを有している。CPU10は、フレームメモリ格納制御部10aと、正常転送判定部10bとを有している。
フレームメモリ格納制御部10aは、画像撮像装置1からパケット転送された画像データの1フレームの区切りを検出し、1フレーム単位の画像データをフレームメモリ8に格納する。画像データの1フレームの区切りの検出は、USB2.0の標準仕様により提供されているデータの区切りとなるパケットを検出することによって行われる。
具体的には、USBコントローラ6は、上述したとおり、1フレーム単位の画像データを、それぞれが512バイトに固定長に符号化された複数のパケットに分割する。その際、全データサイズが512バイトで割り切れない場合には、最終パケットが512バイト未満のパケットとなる。しかし、本実施の形態における画像データサイズは921600バイトであるため最終パケットも512バイトとなり、512バイト未満のパケットが発生しない。したがって本実施の形態では、USBコントローラ6は、パケット作成時にデータ量をカウントし、921600バイトを計測したとき、最終パケットとして0バイトのパケットを作成して付加する。これにより、後述するようにPC2は最終パケットの判断、すなわち1フレームの判断を可能としている。
図3に、USBコントローラ6によって分割され、PC2に転送されるパケットの例を示す。1フレームの画像データに相当するフレーム3aは、1つのパケットが512バイトである複数のパケット3bに分割され転送される。そして、最終パケット3cのみが512バイト未満のパケットとして転送される。
したがって、フレームメモリ格納制御部10aは、512バイト未満のパケットが転送されてきたときに、当該パケットが1フレームの最終パケット、すなわち1フレームの区切りであると判断する。そして、1フレームの区切りである512バイト未満のパケットの次のパケットから、次に512バイト未満のパケットが転送されてくるまでのパケットを、次の1フレームの画像データとしてフレームメモリ8に格納する。
正常転送判定部10bは、画像撮像装置1から転送され、フレームメモリ8に格納された画像1フレーム分の全パケットの合計サイズと、画像データが正常に送られた場合の正しい画像データサイズ、すなわち921600バイトとを比較する。そして、両者が一致するか否かを判定することにより、画像データの転送が正常に完了したか否かを判断する。一般に、USB2.0インターフェースのように高周波の電気信号によってデータ伝送を行う場合には、ノイズにより伝送にエラーが発生する可能性がある。この場合、画像データにおいては、エラーにより一部のパケットが正常に転送されない場合、表示画像の乱れの発生などの原因となる。
したがって、1フレームが正常に転送されていないフレームはフレームメモリから消去し、正常に転送されたフレームのみをモニタ9に表示する。これによって、次々に転送されてくる複数の画像のうち、転送エラーが発生した画像データは無視して、正常な画像データだけをモニタ9で表示することができる。
以下、上記画像表示装置における処理について、図4〜6に示すフローチャートにしたがって、詳細に説明する。図4は、画像撮像装置1におけるCPU7によって実行される処理の流れを示すフローチャート図である。図4に示す処理は、画像撮像装置1の電源がONされ、カメラヘッド3によって被写体の撮像が開始されると起動するプログラムにより実行される。
ステップS10において、PC2からデータ転送要求がされたか否かが判断される。PC2からのデータ転送要求があったと判断された場合には、ステップS20へ進む。ステップS20において、画像処理部4は、カメラヘッド3で撮像されデジタルデータに変換された画像データに対して、補間、階調変換などの画像処理を行う。また、PC2から指示された画像フォーマット、および画像サイズ、すなわちRGB形式のフォーマット、およびVGAサイズへ変換する。
ステップS30において、画像処理部4からFIFOメモリ5への画像データの転送を起動する。これによって、画像処理部4において画像処理された画像データがFIFOメモリ5に転送され、ステップS40において、図2に示すようにFIFOメモリ5に格納される。ステップS50において、FIFOメモリ5からUSBコントローラ6への1フレームの画像データの転送が起動する。すなわちCPU7は、FIFOメモリ5に対してUSBコントローラ6へ1フレーム分の画像データを転送するよう指示を出す。
ステップS60において、USBコントローラ6から1フレーム転送完了の通知を受信したか否かが判断される。USBコントローラ6は、上述したとおり、CPU7から通知された1フレームの画像データサイズに基づいて、1フレーム分の全パケットの転送が完了したことをCPU7に通知する。CPU7は、このUSBコントローラ6からの転送完了通知を検出することにより、USBコントローラ6が1フレームの画像データの転送を完了したことを判断する。USBコントローラ6から1フレーム転送完了の通知を受信したと判断された場合には、ステップS70へ進む。
ステップS70において、PC2から画像データの転送停止要求があったか否かが判断される。使用者は、画像撮像装置1からの画像転送を停止する場合には、PC2の不図示の入力装置を使用して転送停止指示を行う。PC2において、使用者によって転送停止指示が出されると、当該指示は、転送停止要求としてUSB2.0インターフェース11を介して画像撮像装置1へ送信される。この転送停止要求をCPU7が検出した場合には、ステップS80へ進む。ステップS80において、ステップS30で起動した画像処理部4からFIFOメモリ5への画像データの転送を停止して、処理を終了する。
一方、転送停止要求をCPU7が検出しない場合には、ステップS50へ戻り、FIFOメモリ5に格納された次の1フレームの画像データのUSBコントローラ6への転送を起動する。その後、ステップS70でPC2から画像データの転送停止要求があったと判断されるまで、ステップS50〜ステップS70の処理が繰り返し実行される。
次に、画像撮像装置1のUSBコントローラ6における処理について説明する。図5は、USBコントローラ6によって実行される処理の流れを示すフローチャート図である。ステップS110において、USBコントローラ6が転送された画像データを検出したか否かが判断される。これは、図4のステップS50で、CPU7によってFIFOメモリ5からUSBコントローラ6への1フレームの画像データの転送が起動された結果、USBコントローラ6に画像データが到着した(受信した)時点で検出される。USBコントローラ6が転送された画像データを検出した場合には、ステップS120へ進む。
ステップS120において、受信した画像データをUSB2.0インターフェース11を介してPC2へ転送すべく、PC2への転送を起動する。PC2への転送を起動すると同時に、以下に説明するステップS130〜ステップS210の処理によって、受信した画像データを512バイトのパケットに分割し、PC2へパケット転送を行う。
ステップS130において、FIFOメモリ5から受信済みの画像データサイズと、CPU7からあらかじめ通知された1フレームの画像データサイズとから、受信中の1フレームの残りサイズが512バイトより大きいか否かが判断される。受信中の1フレームの残りサイズが512バイトより大きいと判断された場合には、現在のフレームをパケット分割するに当たって、未だ最終パケットには到達しないため、ステップS140において、512バイトの画像データを受信したら、その画像データから512バイトのパケットを作成する。その後、ステップS150において、作成した512バイトのパケットをUSB2.0インターフェース11を介してPC2へ転送する。
その後、ステップS130に戻り、受信中の1フレームの残りサイズが512バイト以下になるまで、ステップS140で512バイトのパケット作成を続け、作成したパケットをPC2へ転送する。これによって、1フレームの画像データをFIFOメモリ5から受信しながら、512バイトのパケットに分割を行い、順次PC2へ転送することができる。
ステップS130において、受信中の1フレームの残りサイズが512バイト以下であると判断された場合には、現在受信中の画像データは、パケット分割後の1フレームの最終パケットに相当すると判断して、ステップS160へ進む。ステップS160において、受信中の1フレームの残りサイズが512バイトであるか否かが判断される。受信中の1フレームの残りサイズが512バイトである場合には、1フレームの画像データサイズが、ちょうど512バイトで割り切れる、すなわち、最終パケットとして0バイトのパケットを作成する必要があると判断して、ステップS170へ進む。
ステップS170において、受信した1フレームの最後の画像データに該当する512バイトを使用して、512バイトのパケットを作成し、ステップS180において、作成したパケットをPC2へ転送する。その後、ステップS190へ進み、最終パケット、すなわち1フレーム単位の画像データの区切りとして判断するための、0バイトのパケットを作成し、ステップS210において、作成した0バイトのパケットをPC2へ転送する。
これに対して、ステップS160において、受信中の1フレームの残りサイズが512バイトでないと判断された場合には、最終パケットとして512バイト未満のパケットを作成できると判断することができる。よって、ステップS200へ進み、最終パケットとして、残りの画像データから512バイト未満のパケットを作成し、ステップS210において、作成した512バイト未満のパケットをPC2へ転送する。
以上、ステップS130〜ステップS210の処理により、1フレームの画像データが順次512バイトのパケットに分割された後、PC2へ転送され、最終パケットとして分割された512バイト未満のパケット、もしくは作成された0バイトのパケットがPC2へ転送されることになる。
1フレームの画像データ全てをパケット分割し、PC2へ転送した後は、ステップS220において、PC2への転送を停止する。その後、ステップS230において、CPU7に対して、1フレーム転送完了を通知して処理を終了する。これによって、上述した図4のステップS60で、CPU7はUSBコントローラ6からの転送完了通知を検出することになる。
次に、PC2における処理を、図6により説明する。図6は、PC2におけるCPU10によって実行される処理の流れを示すフローチャート図である。ステップS310において、使用者がPC2の不図示の入力装置から画像撮像装置1に対して画像データの転送指示を行ったか否かが判断される。使用者によって、画像転送指示がされたと判断された場合には、ステップS320へ進む。ステップS320において、CPU10はUSB2.0インターフェース11を介して、画像転送要求を画像撮像装置1に送信する。これによって、上述した図4のS10において、画像撮像装置1のCPU7は、PC2からデータ転送要求がされたと判断して処理を開始する。
ステップS330においては、ステップS320で送信した画像転送要求を受けて、画像撮像装置1が図4および図5の処理を実行し、USBコントローラ6からパケット転送がされた結果、PC2にパケットが転送されてきたか否かを判断する。PC2にパケットが転送されてきた(受信した)と判断した場合には、ステップS340へ進む。
ステップS340においては、画像撮像装置1から受信したパケットをフレームメモリ8へ格納する。なお、後述するステップS350で512バイト未満のパケットを受信したら、すなわち1フレーム分のパケットを受信したら次のステップに進み、ステップS360〜ステップS390の処理が完了した後、ステップS400において、フレームメモリ8内のデータをクリアしている。このため、フレームメモリ8には、常に前回512バイト未満のパケットを受信した次のパケットから、最後に受信した512バイトのパケットまでのデータ、すなわち最新に受信した1フレーム分の画像データが格納されていることになる。
ステップS350において、画像撮像装置1から受信したパケットが512バイト未満であるか否かが判断される。画像撮像装置1から受信したパケットが512バイト未満であると判断された場合には、フレームメモリ格納制御部10aは、現在受信したパケットが1フレームの最終パケット、すなわちフレームの区切りであると判断してステップS360へ進む。
ステップS360において、フレームメモリ8に格納された全パケットの合計サイズがカウントされる。上述したように、フレームメモリ内には常に最新に受信した1フレーム分のパケットが格納されている。このため、フレームメモリ8に格納された全パケットの合計サイズをカウントすることによって、画像撮像装置1から受信した1フレームの画像データのサイズを算出することができる。
ステップS370において、ステップS360でカウントしたフレームメモリ8に格納された全パケットの合計サイズと、画像データ1フレームの本来のサイズ、すなわち本実施の形態においては921600バイトとが比較される。比較の結果、両者が一致すると判定された場合は、正常転送判断部10bは、画像撮像装置1からPC2へのパケット転送は正常に完了したと判断して、ステップS380に進む。ステップS380において、フレームメモリ8に格納されている画像データを、モニタ9への表示形式に変換し、ステップS390においてモニタ9に表示する。これによって、画像撮像装置1で撮像された画像がPC2へ転送され、モニタ9を介して使用者に視覚的に表示される。カメラヘッド3は、所定の時間間隔で次々に被写体を撮像し、その画像データはPC2に送信されるので、モニタ9にはそれらの画像が次々に表示される。
一方、ステップS370において、ステップS360でカウントしたフレームメモリ8に格納された全パケットの合計サイズと、画像データ1フレームの本来のサイズが一致しないと判断された場合には、正常転送判断部10bは、パケット転送中にノイズ等の影響によってエラーが発生したと判断する。したがって、当該フレームはモニタ9には表示せず、そのまま破棄することとし、つまり表示出力しないで、ステップS400に進む。
ステップS400において、フレームメモリ8に格納された画像データをクリアする。これにより、次のフレームを格納する準備が完了する。ステップS410において、使用者によって、画像データの転送停止指示がされたか否かが判断される。使用者によって画像データの転送指示がされないと判断された場合には、ステップS330へ戻り、次の1フレームのパケットをフレームメモリ8に格納するために、パケットが転送されてくるのを待ち、上述した処理を繰り返す。
これに対して、使用者によって画像データの転送指示がされたと判断された場合には、ステップS420へ進み、画像撮像装置1に対して転送停止要求を送信する。これによって、画像撮像装置1においては、上述した図4のステップS70において、CPU7がPC2からの転送停止要求を検出することになる。
以上、本実施の形態によれば、以下のような作用効果を得ることができる。
(1)画像撮像装置1において、画像データを転送するに当たって、画像処理部4からFIFOメモリ5へのデータ転送は1フレームずつ区切り無く連続的に行い、FIFOメモリ5からUSBコントローラ6へのデータ転送は1フレーム単位に行うこととした。これにより、USBコントローラ6は、PC2へ転送するデータをパケットに分割するに当たって、1フレームごとに区切ってパケット分割を行うことができる。さらに、カメラヘッド3で撮像した画像データを高速でFIFOメモリ5へ転送することができる。
(2)USBコントローラ6でパケット分割を行うにあたって、フレームの最終パケットのみ512バイト未満のパケットを作成して転送することとした。これによって、PC2では、512バイト未満のパケットを検出することにより、フレームヘッダ等、特別な情報を付加することなくフレームの区切りを判断することが可能となる。
(1)画像撮像装置1において、画像データを転送するに当たって、画像処理部4からFIFOメモリ5へのデータ転送は1フレームずつ区切り無く連続的に行い、FIFOメモリ5からUSBコントローラ6へのデータ転送は1フレーム単位に行うこととした。これにより、USBコントローラ6は、PC2へ転送するデータをパケットに分割するに当たって、1フレームごとに区切ってパケット分割を行うことができる。さらに、カメラヘッド3で撮像した画像データを高速でFIFOメモリ5へ転送することができる。
(2)USBコントローラ6でパケット分割を行うにあたって、フレームの最終パケットのみ512バイト未満のパケットを作成して転送することとした。これによって、PC2では、512バイト未満のパケットを検出することにより、フレームヘッダ等、特別な情報を付加することなくフレームの区切りを判断することが可能となる。
(3)PC2では、画像撮像装置1から受信した1フレーム分のパケットをフレームメモリ8に格納し、フレームメモリ内のパケットサイズの合計と、本来の1フレームの画像データのサイズとを比較することにより、データ転送が正常に行われたか否かを判断することとした。これによって、データ転送が正常に行われたフレームのみをモニタ9に表示し、エラーが発生したフレームはそのまま消去して、次の正常なフレームを継続して表示することが可能となる。したがって、表示画像の乱れを軽減することができる。
(4)USBコントローラ6によるUSB2.0インターフェースを介したデータ転送は、USB2.0の標準仕様に則って制御するものとした。これにより、既存の技術を使用して、簡易な構造で装置を構築することができる。
(4)USBコントローラ6によるUSB2.0インターフェースを介したデータ転送は、USB2.0の標準仕様に則って制御するものとした。これにより、既存の技術を使用して、簡易な構造で装置を構築することができる。
以上のように、カメラヘッド3で撮像した画像データを画像処理部4からFIFOメモリ5へ転送する場合、フレームの区切りを有しない連続したデータとして転送することにより、高速なデータ転送ができ、さらにこの段階でのフレーム抜けも防ぐことができる。しかし、本発明では、フレームに区切られたデータを転送してもよい。
なお、本実施の形態においては、PC2から指示される画像フォーマットはRGBであるものとしたが、これに限定されず、以下のように変形することができる。例えば、画像フォーマットはYUVでもよく、1フレームが固定長となるフォーマットであれば、その他の画像フォーマットでもよい。
本実施の形態では、フレームの最終パケットのみ、他のパケットと異なるバイト数としたが、フレームの最初のパケットを他のパケットと異なるバイト数としてもよい。また、最初または最終パケットのバイト数を所定バイト数(512バイト)未満としたが、所定バイト数を超えるバイト数としてもよい。
PC2から指示される画像サイズはVGAであるものとしたが、その他、XGA(1024画素×768画素)等の画像サイズでもよく、本発明は、様々な画像サイズのものに適用可能である。
本実施の形態においては、通信手段として画像撮像装置1とPC2とをUSB2.0インターフェース11で接続することとした。しかし、これに限定されず、USB1.1インターフェースによって接続してもよい。また、その他、パケット転送を行うことができるインターフェースによって接続してもよい。
なお、本実施の形態における画像撮像装置1は、例えば生体顕微鏡などと一体に用いられる。
特許請求の範囲の構成要素と実施の形態との対応関係について説明する。CPU7は転送手段、第1のデータ転送手段、および第2のデータ転送手段に、フレームメモリ格納制御部10aはデータ格納制御手段に相当する。正常転送判定部10bはデータ量算出手段、および正常転送判断手段に、USBコントローラ6、およびUSB2.0インターフェース11は通信手段に相当する。なお、本発明の特徴的な機能を損なわない限り、本発明は、上述した実施の形態における構成に何ら限定されない。
1 画像撮像装置
2 画像処理装置(PC)
3 カメラヘッド
4 画像処理部
5 FIFOメモリ
6 USBコントローラ
7、10 CPU
8 フレームメモリ
9 モニタ
10a フレームメモリ格納制御部
10b 正常転送判断部
11 USB2.0インターフェース
2 画像処理装置(PC)
3 カメラヘッド
4 画像処理部
5 FIFOメモリ
6 USBコントローラ
7、10 CPU
8 フレームメモリ
9 モニタ
10a フレームメモリ格納制御部
10b 正常転送判断部
11 USB2.0インターフェース
Claims (8)
- 被写体を撮像するカメラと、前記カメラで撮像した画像を処理する処理回路と、前記処理回路で処理した画像を外部へ送信するための通信手段と、前記処理回路で処理した画像を前記通信手段へ転送する転送手段とを有する画像撮像装置、および
前記通信手段から送られてくる画像をモニタに1フレーム単位に連続して表示する表示制御手段とを有する画像処理装置を備え、
前記転送手段は、前記カメラで撮像した画像データを転送する第1のデータ転送手段と、前記第1のデータ転送手段に転送された画像データをフレームの単位に区切った1フレーム単位の画像データとして前記通信手段へ転送する第2のデータ転送手段とを備え、
前記通信手段は、前記画像処理装置へ画像データを送信するに当たって、前記第2のデータ転送手段から送られてきた1フレーム分の画像データに対して、最初または最終パケットのデータ量が、前記最初または最終パケットを除くパケットの所定データ量と異なるように分割処理しながらパケットごとに送信することを特徴とする画像表示システム。 - 請求項1に記載の画像表示システムにおいて、
前記画像処理装置は、
前記通信手段から前記所定データ量と異なるデータ量のパケットを受信したとき、当該所定データ量と異なるデータ量のパケットを画像データの1フレームの区切りとして判断して、当該所定データ量と異なるデータ量のパケットを含む1フレームの画像データをフレームメモリに格納するデータ格納制御手段と、
前記フレームメモリに格納された1フレームと認識されたパケットの合計データ量を算出するデータ量算出手段と、
前記データ量算出手段で算出された当該合計データ量と、1フレームの画像データの本来のデータ量とに基づいて、前記通信手段による転送が正常に完了したか否かを判断する正常転送判断手段とを有することを特徴とする画像表示システム。 - 請求項2に記載の画像表示システムにおいて、
前記データ格納制御手段は、前記通信手段から前記所定データ量と異なるデータ量のパケットを受信した場合、前記所定データ量と異なるデータ量のパケットが1フレーム単位の画像データの最初のパケットであるとき、当該所定データ量と異なるデータ量のパケットを受信してから、次の所定データ量と異なるデータ量のパケットの直前のパケットを受信するまでの間に受信したパケットを1フレームの画像データとして認識し、前記所定データ量と異なるデータ量のパケットが1フレーム単位の画像データの最終パケットであるとき、当該所定データ量と異なるデータ量のパケットの次のパケットを受信してから、次の所定データ量と異なるデータ量のパケットを受信するまでの間に受信したパケットを1フレームの画像データとして認識することを特徴とする画像表示システム。 - 請求項3に記載の画像表示システムにおいて、
前記正常転送判断手段は、前記1フレームの画像データの転送が正常に行われなかったと判断した場合、当該フレームの画像データを表示出力しないことを特徴とする画像表示システム。 - 請求項1〜4のいずれか一項に記載の画像撮像装置。
- 請求項1〜4のいずれか一項に記載の画像処理装置。
- 請求項5に記載の画像撮像装置に搭載されるコンピュータによって実行するためのプログラムであって、
前記カメラで撮像した画像の処理と、
画像データを前記第1の転送手段から転送させる処理と、
前記第1の転送手段から転送されてくる画像データをフレーム単位に区切った1フレーム単位の画像データとして前記第2の転送手段から前記通信手段へ転送する処理と、
前記第2の転送手段から転送されてくる1フレーム単位の画像データを最初または最終パケットのデータ量が、前記最初または最終パケットを除くパケットの所定データ量と異なるように分割処理しながらパケットごとに前記通信手段から前記画像処理装置へ送信する処理とを有し、
前記第2の転送手段から転送されるフレームのサイズは、前記画像処理装置から指示される1フレームの大きさに基づいて決定されることを特徴とするプログラム。 - 請求項6に記載の画像処理装置に搭載されるコンピュータによって実行するためのプログラムであって、
受信したパケットが前記所定データ量と異なるデータ量のパケットか否かを判断し、当該所定データ量と異なるデータ量のパケットを画像データの1フレームの区切りとして判断する処理と、
その処理に基づいて、1フレームの画像データをフレームメモリに格納する処理と、
フレームメモリに格納した1フレームのパケットの合計データ量を算出し、当該所定データ量と、1フレームの画像データの本来のデータ量とに基づいて、通信手段による転送が正常に完了したか否かを判断する処理とを有することを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004052080A JP2005244631A (ja) | 2004-02-26 | 2004-02-26 | 画像表示システム、装置、画像撮像装置、およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004052080A JP2005244631A (ja) | 2004-02-26 | 2004-02-26 | 画像表示システム、装置、画像撮像装置、およびプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005244631A true JP2005244631A (ja) | 2005-09-08 |
Family
ID=35025869
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004052080A Pending JP2005244631A (ja) | 2004-02-26 | 2004-02-26 | 画像表示システム、装置、画像撮像装置、およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005244631A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014225756A (ja) * | 2013-05-15 | 2014-12-04 | 株式会社リコー | データ処理装置 |
US20150077577A1 (en) * | 2013-09-17 | 2015-03-19 | Toshiyuki Terashita | Image processing apparatus, information processing apparatus, and image transfer method |
-
2004
- 2004-02-26 JP JP2004052080A patent/JP2005244631A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014225756A (ja) * | 2013-05-15 | 2014-12-04 | 株式会社リコー | データ処理装置 |
US20150077577A1 (en) * | 2013-09-17 | 2015-03-19 | Toshiyuki Terashita | Image processing apparatus, information processing apparatus, and image transfer method |
JP2015060008A (ja) * | 2013-09-17 | 2015-03-30 | 株式会社リコー | 画像処理装置、情報処理装置、及び画像転送方法 |
US9584712B2 (en) * | 2013-09-17 | 2017-02-28 | Ricoh Company, Ltd. | Image processing apparatus, information processing apparatus, and image transfer method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4318075B2 (ja) | Usbファンクション装置 | |
JP7277373B2 (ja) | 送信装置 | |
US20080316331A1 (en) | Image processing apparatus and method for displaying captured image without time delay and computer readable medium stored thereon computer executable instructions for performing the method | |
JP2008219479A (ja) | 画像伝送システム、撮像装置、及び画像伝送方法 | |
JP2019091967A (ja) | 送信装置 | |
WO2009002074A1 (en) | Image processing apparatus and method for displaying captured image without time delay and computer readable medium stored thereon computer executable instructions for performing the method | |
JP5441512B2 (ja) | 画像処理装置、その制御方法、プログラム | |
CN110300326B (zh) | 一种视频卡顿的检测方法、装置、电子设备及存储介质 | |
US20060055781A1 (en) | Method of processing video data from video presenter | |
US11924546B2 (en) | Reception apparatus and transmission apparatus | |
JP2005244631A (ja) | 画像表示システム、装置、画像撮像装置、およびプログラム | |
JP2010109567A (ja) | 情報処理装置および情報処理方法 | |
TW201143381A (en) | Digital camera with upload function | |
US10764616B2 (en) | Image transmission apparatus, image transmission method, and recording medium | |
JP2009088666A (ja) | 画像処理装置 | |
JP2008005415A (ja) | 符号化データ転送装置および符号化データ転送方法 | |
JP5930834B2 (ja) | 画像処理装置、画像処理方法、画像処理装置の制御方法 | |
JP2000244796A (ja) | カメラシステム | |
JP7194744B2 (ja) | 通信システム、受信端末、通信方法、およびプログラム | |
JP3827537B2 (ja) | 静止画像データ圧縮装置、静止画像データ圧縮方法およびその記録媒体 | |
JP2007034344A (ja) | 画像表示条件設定装置及び画像入出力装置 | |
US20240104920A1 (en) | Image processing apparatus, image processing method, and non-transitory computer-readable storage medium | |
JP2002044575A (ja) | 動画像取り込み装置及びその動画像取り込み方法 | |
JP2011130035A (ja) | 送信装置、送信方法 | |
TW201141200A (en) | Interactive system capable of improving image processing |