JP4173159B2 - 画像信号処理装置及び撮像装置 - Google Patents

画像信号処理装置及び撮像装置 Download PDF

Info

Publication number
JP4173159B2
JP4173159B2 JP2005339679A JP2005339679A JP4173159B2 JP 4173159 B2 JP4173159 B2 JP 4173159B2 JP 2005339679 A JP2005339679 A JP 2005339679A JP 2005339679 A JP2005339679 A JP 2005339679A JP 4173159 B2 JP4173159 B2 JP 4173159B2
Authority
JP
Japan
Prior art keywords
data
storage area
quantization table
image
compressed image
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.)
Expired - Fee Related
Application number
JP2005339679A
Other languages
English (en)
Other versions
JP2007150490A (ja
Inventor
正太郎 守谷
孝一 山下
俊 伊藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2005339679A priority Critical patent/JP4173159B2/ja
Publication of JP2007150490A publication Critical patent/JP2007150490A/ja
Application granted granted Critical
Publication of JP4173159B2 publication Critical patent/JP4173159B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、画像信号をパケット送信するための信号処理を行う画像信号処理装置及びこの装置を備えた撮像装置に関するものである。
イントラネット又はインターネット等のネットワークを介して画像データを送信する従来の撮像装置として、ネットワークの状態を監視して画像データの送信に要する時間の遅延を判定する遅延判定部を設け、画像制御部が遅延判定部の判定結果に基づいてCCDからの信号を画像圧縮部に取り込むタイミングを制御するネットワークカメラの提案がある(例えば、特許文献1参照)。
特開2003−324710号公報(段落0011)
上記ネットワークカメラは、CCDからの信号を画像圧縮部に取り込むタイミングを制御するものであり、ネットワークが混雑しているときにはCCDからの古い画像データを廃棄処理して新しい画像データに更新することがあった。その結果、CCDで撮像されたが、画像圧縮部に取り込まれることなく、捨てられる画像データが発生していた。
また、上記従来のネットワークカメラは、画像圧縮部で生成される圧縮画像データのサイズを制御していないので、ネットワークカメラ自身から大きなサイズの画像データが出力され、それが原因でネットワークを混雑させてしまうことがあった。すなわち、上記従来のネットワークカメラは、自身が出力する画像データが引き起こすネットワークの混雑を未然に防止することができなかった。
そこで、本発明は、上記従来技術の課題を解決するためになされたものであり、その目的は、送信される圧縮画像データのサイズを目標サイズに近づけることができる画像信号処理装置及びこれを備えた撮像装置を提供することにある。
本発明の画像信号処理装置は、量子化テーブルを保持し、入力される画像信号を前記量子化テーブルの値を用いてJPEG形式に準拠したフォーマットで圧縮した圧縮画像データを生成する画像圧縮手段と、第1のデータ記憶領域、第2のデータ記憶領域、第3のデータ記憶領域からなる記憶手段と、前記第1のデータ記憶領域への前記圧縮画像データの書き込みを行う第1の記憶領域制御手段と、前記画像圧縮手段の制御、前記第1のデータ記憶領域に書き込まれた前記圧縮画像データを前記第2のデータ記憶領域へと移す制御、前記第2のデータ記憶領域へ書き込まれた前記圧縮画像データをパケット化し、前記第3のデータ記憶領域へと書き込む制御及び量子化テーブル更新フラグの保持を行う制御手段と、前記第3のデータ記憶領域から前記圧縮画像データの読み出しを行う第2の記憶領域制御手段と、前記第2の記憶領域制御手段が読み出した前記圧縮画像データを送信する送信手段と、を有し、前記制御手段は、前記量子化テーブル更新フラグの初期値として0を設定し、前記画像圧縮手段にて画像1フレーム分の前記圧縮画像データが生成された後に、前記量子化テーブル更新フラグの値を1とし、前記第1のデータ記憶領域に書き込まれた前記圧縮画像データを前記第2のデータ記憶領域へと移した後に、前記量子化テーブル更新フラグの値を0とし、さらに、前記第1のデータ記憶領域に書き込まれた前記圧縮画像データを前記第2のデータ記憶領域へと移す際に、前記第1のデータ記憶領域の所定のアドレスに書き込まれている値が‘0xFFDA’であるかどうか確認し、前記所定のアドレスは、JPEGヘッダにおいて、SOSを表すデータに対して割り当てられるアドレスと同じであり、前記制御手段は、前記圧縮画像データの1フレームあたりのデータサイズを求め、前記1フレームあたりのデータサイズと所定の目標データサイズとを比較し、前記1フレームあたりのデータサイズが前記目標データサイズより大きいときは前記圧縮画像データのデータサイズを小さくする量子化テーブルの更新値を生成し、前記1フレームあたりのデータサイズが前記目標データサイズより小さいときは前記圧縮画像データのデータサイズを大きくする量子化テーブルの更新値を生成し、前記第1のデータ記憶領域の前記所定のアドレスから読み出したデータが‘0xFFDA’であって、さらに前記量子化テーブル更新フラグの値が0である場合に、前記画像圧縮手段に保持された量子化テーブルの値を前記量子化テーブルの更新値へと更新することを特徴とする

また、本発明の撮像装置は、撮像素子と、前記撮像素子から出力される画像信号が入力される画像信号処理回路とを有し、前記画像信号処理回路を上記画像信号処理装置としたものである。
本発明によれば、送信手段から出力される圧縮画像データのサイズを目標サイズに近づけることができる。したがって、本発明によれば、一定のフレームレートで安定した動画像を送信することができるという効果がある。
図1は、本発明の実施の形態に係る撮像装置CAMの構成を概略的に示すブロック図である。図1に示されるように、撮像装置CAMは、同期信号発生回路1と、撮像素子2と、信号処理回路3と、画像圧縮回路4と、メモリコントローラ5と、3つの格納領域6〜8を備えた記憶部9と、マクロプロセッサ10と、メモリコントローラ11と、送信制御部12とを有している。なお、同期信号発生回路1と、信号処理回路3と、画像圧縮回路4と、メモリコントローラ5と、記憶部9と、マクロプロセッサ10と、メモリコントローラ11と、送信制御部12とは、本発明の画像信号処理装置を構成している。また、マクロプロセッサ10及び記憶部9は、後述するパケット生成動作を行うパケット生成手段として機能する。また、マクロプロセッサ10及びメモリコントローラ5は、後述する量子化テーブルの更新を行う制御手段として機能する。また、送信制御部12は、パケット生成手段で生成された送信パケットを送信する送信手段として機能する。
撮像素子2は、入射光Lを電気信号に光電変換する。撮像素子2から出力される電気信号である撮像信号S1は、信号処理回路3に入力される。信号処理回路3は、入力された画像信号S1をA/D変換した後、補間処理、ホワイトバランス処理、ガンマ補正処理等の各種処理を行って画像データS2を出力する。信号処理回路3から出力される画像データS2は、画像圧縮回路4に入力される。
画像圧縮回路4は、同期信号発生回路1から出力される垂直同期信号VDに同期して、画像データS2の圧縮を開始し、作成した圧縮画像データS3を出力する。また、画像圧縮回路4は、1画面分の圧縮画像データS3を出力するたびに圧縮終了通知S6を生成する。画像圧縮回路4で生成された圧縮画像データS3は、メモリコントローラ5により、記憶部9の格納領域6に順次書き込まれる。また、メモリコントローラ5は、後述するタイミングで、マイクロプロセッサ10に割り込み処理要求S5を出力する。
マイクロプロセッサ10は、記憶部9の格納領域6に書き込まれたデータを読み出し、読み出したデータと同じデータを格納領域8に書き込む。マイクロプロセッサ10は、格納領域8内のデータを、ネットワーク上へ送信するための形式にしたがって順次パケット化して、格納領域7に書き込む。また、マイクロプロセッサ10は、画像圧縮回路4、メモリコントローラ5の動作を停止させることができる。
メモリコントローラ11は、記憶部9の格納領域7に書き込まれたパケット化されたデータを読み出し、送信制御部12に出力する。送信制御部12は、ネットワークとの接続が確認されると、格納領域7内のパケット化されたデータをネットワーク上へ出力する。
ここで、圧縮画像データS3の形式としては、例えば、Joint Photograph Experts Group(JPEG)により制定された静止画像データの圧縮方式の一つであるJPEG形式を用いることができる。図2は、JPEGの仕様にしたがって作成されるJPEGファイルを模式的に示す図である。図2に示されるように、JPEGファイルの先頭部F1には、画像データの開始、すなわち、Start Of Image(SOI)を表すコード値‘0xFFD8’が書き込まれる。なお、‘0x・・・・’は、‘0x’以下のコードが16進数で表記されていることを意味する。
図2に示されるように、JPEGファイルには、SOI部分F1以降の部分として、順に、ハフマンテーブルに関するデータが書かれたハフマンデーブルデータ部F2と、量子化テーブルに関するデータが書かれた量子化テーブル部F3と、フレームヘッダ部F5と、スキャンヘッダ部F6と、圧縮データ部F7と、JPEGファイルの終端部F8とが含まれている。終端部F8には、画像データの終了、すなわち、End Of Image(EOI)を表すコード値‘0xFFD9’が書き込まれている。
スキャンヘッダ部F6の先頭F4は、Start Of Scan(SOS)と呼ばれ、SOSを表すコード値は‘0xFFDA’である。
JPEGファイルの先頭部F1からフレームヘッダ部F5までの部分はJPEGヘッダと呼ばれ、JPEGファイルのスキャンヘッダ部F6からJPEGファイルの終端部F8までは圧縮データと呼ばれる。ここで、圧縮データは、必ず、SOSを表すコード値‘0xFFDA’から始まる。なお、本発明において用いることができる圧縮画像データの形式は、JPEG形式に限定されず、SOIを表すコード値、EOIを表すコード値、及びSOSを表すコード値も圧縮画像データの形式によって異なる。
ここで、ハフマンテーブル及び量子化テーブルのサイズを一定にすることで、JPEGヘッダのサイズを常に一定とすることができる。本実施の形態においては、以降、量子化テーブルを変更することがあるが、その際、量子化テーブルの各要素の値を変更することはあっても量子化テーブルのサイズ(要素の数)自体は変えない。したがって、本実施の形態においては、JPEGヘッダのサイズは常に一定である。
図3は、図1に示される画像圧縮回路4の構成を示すブロック図である。図3に示されるように、画像圧縮回路4は、画像圧縮演算部13と、レジスタ14と、バッファ15とを有している。バッファ15は、信号処理回路3から出力された画像データS2を一時的に蓄える。レジスタ14には、バッファ15に蓄えられた画像信号を、JPEGフォーマットにしたがって圧縮(JPEG圧縮)する際に用いられる量子化テーブルに関する情報などが書き込まれている。レジスタ14に保持されている情報は、画像圧縮演算部13によって、垂直同期信号VDに同期して読み出され、JPEG圧縮に利用される。また、レジスタ14内の量子化テーブルに関する情報は、マイクロプロセッサ10の出力する信号S7により書き換えることが可能である。画像圧縮演算部13は、レジスタ14から読み出した量子化テーブルの各要素の値をもとにJPEGヘッダを作成したり、バッファ15に蓄えられた画像信号をJPEG圧縮したりすることができる。
図4は、図1に示されるメモリコントローラ5の構成を示すブロック図である。図4に示されるように、メモリコントローラ5は、バッファ16と、カウンタ17と、レジスタ18とを有している。バッファ16は、画像圧縮回路4から出力された圧縮画像データS3を一時的に蓄える。メモリコントローラ5は、画像圧縮回路4から圧縮終了通知S6を受けるまで、バッファ16に蓄えられた圧縮画像データS3を記憶部9内の格納領域6に順次書き込んで行く。カウンタ17は、圧縮画像データS3を格納領域6に順次書き込む動作と並行して、バッファ16から格納領域6に移されたデータの総量をカウントする。メモリコントローラ5は、圧縮終了通知S6を受けると、バッファ16内部に残っている圧縮画像データS3の全てが格納領域6に移されたことを確認した後、カウンタ17でカウントしたデータの総量をレジスタ18に記録する。その後、メモリコントローラ5は、マイクロプロセッサ10に対して、割り込み処理要求S5を出力する。
図5は、本実施の形態に係る撮像装置CAMの動作を示すタイミングチャートである。図5に示されるように、画像圧縮回路4の画像圧縮演算部13は、垂直同期信号VDに同期して、時刻T1において、レジスタ14から量子化テーブルに関する情報を読み出す。画像圧縮演算部13は、量子化テーブルに関する情報の読み出しが完了すると、時刻T2において、JPEGヘッダの作成を開始する。画像圧縮演算部13は、JPEGヘッダの作成が完了した時刻T3以降、バッファ15から画像データ(映像信号)S2を読み出し、JPEG圧縮を行い、圧縮画像データを作成する。ここで、図5に示されるように、画像データS2は、信号処理回路3から、垂直同期区間ごとに一定間隔で出力されており、JPEG圧縮されるまでは、画像圧縮回路4内のバッファ15に一時保存されている。そして、画像圧縮演算部13によるJPEG圧縮は、バッファ15から画像データS2を読み出して行われる。時刻T4において、1画像分の画像データS2の圧縮が完了すると、画像圧縮演算部13は圧縮終了通知S6をメモリコントローラ5に対して発行する。画像圧縮回路4は、以上の処理を垂直同期信号VDに同期して繰り返し行う。
図5に示されるように、メモリコントローラ5は、時刻T2以降、圧縮終了通知S6を受けるまでバッファ16内の圧縮画像データS3を記憶部9の格納領域6に転送する。また、メモリコントローラ5は、圧縮画像データS3の格納領域6への転送と並行して、カウンタ17によって、転送したデータの総量をカウントする。そして、メモリコントローラ5は、時刻T4において、圧縮終了通知S6を受けると、その後、圧縮画像データS3の全てが記憶部9に転送されたのを確認し、時刻T5において、転送データの総量をレジスタ18に記憶させる。これにより、レジスタ18には、JPEGファイルのデータサイズが書き込まれる。その後、メモリコントローラ5は、割り込み処理要求S5をマイクロプロセッサ10に対して発行する。
図6乃至図8は、図1に示されるマイクロプロセッサ10の動作を示すフローチャートである。なお、マイクロプロセッサ10においては、図6及び図7に示される処理と、図8に示される処理とが、スレッド処理により並行して行われる。ここで、図6及び図7に示される処理において、メインの処理は図6に示される処理であり、図7に示される処理は、割り込み処理要求S5が発行された時、割り込み処理によって実施される。また、図8に示される処理を行うスレッドは、図7に示される処理によって立ち上げられる。
図6に示されるように、先ず、マイクロプロセッサ10は、ステップP0において、量子化テーブル更新フラグの初期値として0を設定する。以降は後述するように、通常はステップP20、ステップP22の処理がループし、割り込み処理復帰後のみステップP20、ステップP21、ステップP8の処理が行われる。すなわち、ステップP20において、割り込み処理から復帰したか否かを判断し、割り込み処理から復帰していた場合はステップP21、ステップP8の処理を、そうでない場合はステップP22の処理を実施する。なお、ステップP21とステップP22で行われる処理は同一であり、複数のステップP1、P2、P3、P4、P6、P7、P9からなる。以下に各ステップの詳細を述べる。先ず、マイクロプロセッサ10は、ステップP1において、記憶部9の格納領域6に書き込まれた圧縮画像データを読み出す。次に、マイクロプロセッサ10は、ステップP2において、読み出した圧縮画像データと同じものを記憶部9の格納領域8へ書き込む。この際、マイクロプロセッサ10は、ステップP3において、格納領域8にSOSを表すデータ値‘0xFFDA’を書き込んだか否かを判断する。マイクロプロセッサ10は、SOSを表すデータ値‘0xFFDA’を書き込んだ場合には、処理をステップP4に進め、書き込まなかった場合には、処理をステップP1に戻す。ここで、JPEGヘッダのサイズは一定となるように設定しているので、格納領域6においてSOSを表すデータ‘0xFFDA’の書き込まれる可能性のあるアドレスは、ある一箇所に固定されている。したがって、ステップP3において格納領域8にSOSを表すデータ値‘0xFFDA’が書き込まれたかを判断するためには、格納領域6からデータを読み出した際に、その読み出したデータを全てについて判断処理を実行するのではなく、格納領域6から読み出したデータのうち特定のアドレス部分のデータのみについて判断処理を実行すればよい。
処理がステップP4に進む場合には、マイクロプロセッサ10は、量子化テーブル更新フラグの値が1であるか否かを判断する。マイクロプロセッサ10は、量子化テーブル更新フラグの値が1である場合には、処理をステップP9に進め、量子化テーブル更新フラグの値が1以外である場合には、処理をステップP6に進める。
処理がステップP6に進んだ場合には、マイクロプロセッサ10は、画像圧縮回路4内のレジスタ14内の量子化テーブルに関するデータを更新する。この時、更新後の新しい量子化テーブルの値の計算については後述する。次のステップP7においては、マイクロプロセッサ10は、格納領域6においてSOSを表すデータ値‘0xFFDA’が記入されていた箇所のデータをリセットする。例えば、マイクロプロセッサ10は、該当箇所のデータをクリアして、例えば、データ値‘0x0000’に書き換える。そして、マイクロプロセッサ10は、処理をステップP1に戻す。
また、ステップP4において処理がステップP9に進んだ場合には、マイクロプロセッサ10は、リセット処理を行う。ここで行うリセット処理については後述する。
図6に示される処理によって、記憶部9の格納領域6に順次書き込まれるデータをもとにして、JPEGファイルのデータが格納領域8に保存される。ステップP8では、量子化テーブル更新フラグの値を0にする。
次に、図7のフローチャートを用いてマイクロプロセッサ10が、圧縮完了割り込み処理要求S5を受けた場合の動作を説明する。
圧縮完了割り込み処理要求S5を受信すると、マイクロプロセッサ10は、図6のフローチャートに示される処理の途中で、割り込み処理により図7のフローチャートに示される処理を以下の手順で行う。
図7に示されるように、マイクロプロセッサ10は、ステップP5において、量子化テーブル変更フラグの値を1にする。次に、マイクロプロセッサ10は、ステップP10において、レジスタ18に書き込まれているJPEGファイルデータのサイズに応じて、新しい量子化テーブルを計算する。新しい量子化テーブルの値の計算については後述する。
マイクロプロセッサ10は、新しい量子化テーブルの計算が終了すると、次に、ステップP11において、図8に示されるフローチャートを処理するための新スレッドを立ち上げる。その後、図6のフローチャートに示される処理に復帰する。
図8に示されるフローチャートにおいては、記憶部9の格納領域8に格納されたJPEGファイルデータをパケット化しネットワーク上へ送信するための処理が行われる。
図8に示されるように、マイクロプロセッサ10は、ステップP12において、格納領域8に格納されたJPEGファイルデータの一部を読み出した後、読み出したデータに対しIPヘッダ、Ethernet(登録商標)ヘッダ等を加えてパケット化したデータを作成する。そして、マイクロプロセッサ10は、ステップP13において、作成したデータを記憶部9の格納領域7に格納する。
マイクロプロセッサ10は、ステップP14において、ステップP12及びP13の処理が1画像分行われたか否かを判断する。ステップP12及びP13の処理が1画像分行われたか否かの判断は、例えば、パケット化する際に、EOIを表すデータ値が含まれていたかを確認することで可能である。そして、マイクロプロセッサ10は、ステップP14において、ステップP12及びP13の処理が1画像分行われたと判断した場合は、ステップP15において、ステップP11で生成されたスレッドを破棄して、処理を終了する。ステップP12及びP13の処理が1画像分行われていなかった場合は、マイクロプロセッサ10は、処理をステップP12に進め、ステップP12以降の処理を繰り返す。
図8に示される処理により、JPEGファイルデータがパケット化された形で格納領域7に順次書き込まれていく。なお、格納領域7にパケット化されて書き込まれたJPEGファイルデータはメモリコントローラ11及び送信制御部12によりネットワーク上へ送信される。
図9は、図7に示されるステップP10における量子化テーブルの計算方法を示すフローチャートである。図9に示されるように、マイクロプロセッサ10は、ステップP16において、メモリコントローラ5内のレジスタ18からJPEGファイルのデータサイズを読み出す。
次に、マイクロプロセッサ10は、ステップP17において、1フレーム当たりのJPEGファイルのデータサイズが目標とするデータサイズ(目標値)より大きいか否かを判断する。JPEGファイルのデータサイズが目標とするデータサイズより大きいと判断した場合は、マイクロプロセッサ10は、処理をステップP18へ進め、JPEGファイルのデータサイズが目標とするデータサイズより小さいと判断した場合は、処理をステップP19へ進め、JPEGファイルのデータサイズが目標とするデータサイズに等しいと判断した場合は、処理をステップP30へ進めて量子化テーブルの更新をしない。
マイクロプロセッサ10は、JPEGファイルのデータサイズが目標とするデータサイズより大きいと判断した場合には、ステップP18において、JPEGファイルのデータサイズがより小さくなるよう新しい量子化テーブルを計算する。すなわち、マイクロプロセッサ10は、画像圧縮演算部13で計算される圧縮データの圧縮率が上がるように新しい量子化テーブルを計算する。ここで、圧縮データの圧縮率を上げるために、どのように量子化テーブルを変更するかは公知技術であるので、ここでの説明は省略する。
また、マイクロプロセッサ10は、JPEGファイルのデータサイズが目標とするデータサイズより小さいと判断した場合には、ステップP19において、JPEGファイルのデータサイズがより大きくなるよう新しい量子化テーブルを計算する。すなわち、マイクロプロセッサ10は、画像圧縮演算部13で計算される圧縮データの圧縮率が下がるように新しい量子化テーブルを計算する。ここで、圧縮データの圧縮率を下げるために、どのように量子化テーブルを変更するかは公知技術であるので、ここでの説明は省略する。
ステップP18で計算される量子化テーブルにより圧縮率が上がる割合を示す圧縮率上昇割合をあらかじめ所定値(例えば、A1(%))に決めておき、ステップP19で計算される量子化テーブルにより圧縮率が下がる割合を示す圧縮率低下割合をあらかじめ所定値(例えば、A2(%))に決めておく場合には、圧縮率低下割合を圧縮率上昇割合よりも大きな値に設定すること(すなわち、A2>A1)が好ましい。すなわち、JPEGファイルデータのサイズが目標値より大きかった場合は、比較的大きな値の圧縮率低下割合に従って更新された量子化テーブルを用いることによってJPEGファイルデータのサイズが短時間で小さくなるように、逆に、JPEGファイルデータのサイズが目標値より小さかった場合は、比較的小さな値の圧縮率上昇割合に従って更新された量子化テーブルを用いることによってその後作成されるJPEGファイルデータのサイズが徐々に大きくなるように新しい量子化テーブルを計算する。ステップP9のリセット処理では、先ず、マイクロプロセッサ10が画像圧縮回路4、及びメモリコントローラ5の動作を停止する。すなわち、画像圧縮回路4は、新たな圧縮画像データS3の作成を停止し、メモリコントローラ5は圧縮画像データの転送を停止する。そして、スレッドTH2が立ち上がっていた場合、スレッドTH2の処理が終了するのを待ち、その後、記憶部9に残っているデータを全て消去する。その後、マイクロプロセッサ10は、垂直同期信号VDに同期して量子化テーブルの値をあらかじめ定められていた初期値に戻し、画像圧縮回路4、メモリコントローラ5の動作を再開させ、再び、図6のフローに従った動作を行う。
以上に説明したマイクロプロセッサ10の動作を、図10のタイミングチャートを用いて、時系列にそって説明する。図10において、マイクロプロセッサ10の動作を示す箇所以外は、図5の場合と同じである。
図10において、TH1及びTH2は各々マイクロプロセッサ10でスレッド処理により実施される処理を表す。ここで、スレッドTH1は、図6及び図7に示される処理を実施するためのスレッドであり、スレッドTH2は、図8に示される処理を実施するためのスレッドである。
まず、スレッドTH1においては、時刻T11に、格納領域6に書き込まれた圧縮データを読み出して格納領域8に同じデータを書き込む処理が開始される。この時、マイクロプロセッサ10は、図6におけるステップP3で説明したように、書き込むデータの特定のアドレスに対応するデータがSOSを表すデータ値‘0xFFDA’か否かをチェックする。そして、書き込むデータの特定のアドレスに対応するデータが‘0xFFDA’であれば、その後ステップP4以降の処理を行う。
図10においては、時刻T12が、SOSを表すデータ値‘0xFFDA’が現れた時刻に対応しており、予め求めていた量子化テーブルのデータが、時刻T12において、画像圧縮回路4内のレジスタ14に書き込まれる。
そして、マイクロプロセッサ10は、量子化テーブルのデータの書き込みが終了した時刻T13から、再び格納領域6に書き込まれたJPEGファイルのデータを読み出して格納領域8に同じデータを書き込む処理を開始する。
その後、マイクロプロセッサ10は、時刻T14にメモリコントローラ5から割り込み処理要求S5を受けると、図7のフローチャートに示される割り込み処理を実施し、その後、新しいスレッドTH2を立ち上げる。
また、マイクロプロセッサ10は、割り込み処理が終了すると、再び格納領域6に書き込まれたJPEGファイルのデータを読み出して格納領域8に同じデータを書き込む処理を開始し、1画面分の圧縮データを格納領域8に書き込むまで同処理を続ける。このとき、スレッドTH1では、割り込み処理から復帰した場合、ステップP8で説明したように、格納領域8へデータを書き込んだ後、量子化テーブル更新フラグを0にする。図10の例では、時刻T20の量子化テーブル更新フラグが0に戻される。
マイクロプロセッサ10は、スレッドTH2においては1画面分のJPEGファイルのデータをパケット化し終わるまで、図8のフローチャートに従った処理を実施する。そして、1画面分の圧縮画像データをパケット化し終えると、時刻T16でスレッドTH2は消滅する。
なお、先に述べたようにスレッドTH1に示される処理とスレッドTH2に示される処理はスレッド処理により並行して行われる。以上がマイクロプロセッサ10の動作である。
本実施の形態に係る撮像装置CAMにおいては、図7に示されるステップP10において、図9に示されるフローチャートにしたがってJPEG圧縮に利用する量子化テーブルを変更している。量子化テーブルの変更はJPEGファイルのデータサイズを計測した結果に基づいて行っており、JPEGファイルのデータサイズが目標値より大きいときはJPEGファイルのデータサイズが小さくなるよう、逆にJPEGファイルのデータサイズが目標値より小さいときはJPEGファイルのデータサイズが大きくなるように行っている。すなわち、作成されるJPEGファイルのデータサイズが常に目標とするデータサイズになるように(一定になるように)制御されるので、ネットワーク上での画像転送量を一定に抑えることができる。すなわち、画像転送がネットワークにかける負荷を抑えることができる。
また、ネットワーク上での画像転送量が一定になるように制御されているので、ネットワーク負荷の増大による通信速度の低下を未然に防ぐことができる。すなわち、一定のフレームレートで安定した動画像を送信することができる。
ここで、量子化テーブルの値を更新するにあたって、誤ったタイミングでレジスタ14内の量子化テーブル値を更新すると画像圧縮回路4でJPEGヘッダの作成に失敗する可能性がある。
例えば、画像圧縮演算部13がレジスタ14から量子化テーブルの情報を読み出している途中にレジスタ14内の量子化テーブルの内容を更新すると、画像圧縮演算部13がJPEGヘッダ内の量子化テーブル部の作成に失敗し、その結果、正しいJPEGヘッダの作成に失敗するといったことが考えられる。
そこで、本実施の形態における撮像装置CAMにおいては、マイクロプロセッサ10において、JPEGヘッダが作成されたか確認して量子化テーブルを更新することとしている。
JPEGヘッダの作成には量子化テーブルの情報が不可欠である。すなわち、画像圧縮回路4がJPEGヘッダ情報を作成したということは、画像圧縮演算部13が量子化テーブルの内容を読み終えたことを意味する。本実施の形態における撮像装置CAMにおいては、マイクロプロセッサ10において、JPEGヘッダ情報が作成されたかを確認して量子化テーブルを更新することとしているので、画像圧縮演算部13が量子化テーブルの情報を読み出している途中にレジスタ14内の量子化テーブルの内容を誤って更新することがない。すなわち、正しいタイミングで量子化テーブルのデータを更新することができる。
また、JPEGヘッダが作成されたか確認するために、SOSを表すコード値‘0xFFDA’を用いている。JPEGの仕様によりSOSを表すコード値‘0xFFDA’はスキャンヘッダ部F6の先頭にのみ表れる。また、スキャンヘッダ部F6はJPEGヘッダの終了直後に作成される。したがって、SOSを表すコード値‘0xFFDA’を用いることでJPEGヘッダの作成が終了したか確実に判定することができる。
また、画像圧縮回路4から出力されるデータのみを用いてヘッダ情報を作成したかどうか確認しているので、画像圧縮回路4からマイクロプロセッサ10にヘッダ情報の作成完了を通知するための専用の信号等を用意しなくても、マイクロプロセッサ10はヘッダ情報の作成完了を知ることができる。すなわち、JPEGヘッダ情報の作成が完了したことを通知する信号を新たに設ける必要がない。
また、SOSを表すコード値‘0xFFDA’が書き込まれたかどうかの確認は格納領域6内のある特定のアドレスのデータのみを確認するだけで済む。すなわち、マイクロプロセッサ10は、全データについて、‘0xFFDA’と一致するかチェックするというような大幅な負荷増となる処理をすることなく、SOSを表すコード値‘0xFFDA’が書き込まれたかどうかの確認ができる。
すなわち、SOSを表すコード値‘0xFFDA’が書き込まれたか確認するためにマイクロプロセッサ10の処理は、ほとんど増加することはない。
また、格納領域6内に、SOSを表すコード値‘0xFFDA’を確認した場合は、格納領域6内で‘0xFFDA’の値が記入されていた部分のデータをリセットする。
つまり、一度確認されたSOSを表すコード値は確実に消去される。また、JPEGの仕様からコード値‘0xFFDA’は1枚のJPEGファイル中に1箇所しか現れないので、一度確認されたコード値‘0xFFDA’を消去することで、マイクロプロセッサ10がSOSを表すコード値‘0xFFDA’を誤って確認することを防げる。
また、本実施の形態に係る撮像装置においては、割り込み処理時、量子化テーブル更新フラグを1にする。また、割り込み処理から復帰し、さらに格納領域8へデータを書き込み終えた後、量子化テーブル更新フラグを0にしている。そして、図6に示されるステップP4において、量子化テーブル更新フラグが1の場合、量子化テーブルの更新を行おうとするとリセット処理をするようにしている。ここで、割り込み処理が発生するタイミングは、画像1枚分のデータをJPEG圧縮した後なので、画像1枚分のデータをJPEG圧縮した後に、量子化テーブル更新フラグが1になる。画像1枚分のデータをJPEG圧縮するには、画像1枚分の画像データS2が出力されておらねばならず、したがって、図10に時刻T14からT20の間で示されるように、画像1枚分の画像データS2が出力された一定時間後には、次の垂直同期信号VDが発生し、画像圧縮回路4内部においては、レジスタ14から量子化テーブルに関するデータが読み出される。すなわち、量子化テーブルの値の更新が禁止されなければならない時間になる。
以上のことから、画像1枚分の画像データS2が出力された後に現れる量子化テーブル更新フラグが1の区間は、量子化テーブルの値の更新が禁止されなければならない時間である可能性が高い。本実施の形態における撮像装置においては、量子化テーブル更新フラグが1の場合、量子化テーブルの更新を行おうとするとリセット処理をするようにしているので、量子化テーブルの更新が禁止されなければならない時間である可能性が高いときに誤って量子化テーブルが更新されるのを防ぐことができる。
また、本実施の形態における撮像装置においては量子化テーブルを計算する際、圧縮率を下げる場合は速やかに下がるように圧縮率低下割合を決定し、圧縮率を上げる場合は圧縮率が緩やかに上がるように圧縮率上昇割合を決定しているので、圧縮後の画像サイズが目標値を越えた状況が長く続くという状況が起きにくい。すなわち、画像転送にかかる負荷が急激に増加して、その結果ネットワークの通信性能が落ちるといった事態を防ぐことができる。
本発明の活用例として、ネットワークカメラの符号量制御への適用がある。
本発明の実施の形態に係る撮像装置の構成を概略的に示すブロック図である。 JPEGファイルの仕様を示す図である。 図1に示される画像圧縮回路の構成を示すブロック図である。 図1に示されるメモリコントローラの構成を示すブロック図である。 本発明の実施の形態に係る撮像装置の画像圧縮回路及びメモリコントローラの動作を示すタイミングチャートである。 図1に示されるマイクロプロセッサの動作を示すフローチャートである。 図1に示されるマイクロプロセッサの動作を示すフローチャートである。 図1に示されるマイクロプロセッサの動作を示すフローチャートである。 図1に示されるマイクロプロセッサの動作を示すフローチャートである。 本発明の実施の形態に係る撮像装置のマイクロプロセッサの動作を示すタイミングチャートである。
符号の説明
1 同期信号発生回路、 2 撮像素子、 3 信号処理回路、 4 画像圧縮回路、 5 メモリコントローラ、 6 格納領域、 7 格納領域、 8 格納領域、 9 記憶部、 10 マイクロプロセッサ、 11 メモリコントローラ、 12 送信制御部、 13 画像圧縮演算部、 14 レジスタ、 15 バッファ、 16 バッファ、 17 カウンタ、 18 レジスタ、 CAM 撮像装置。

Claims (4)

  1. 量子化テーブルを保持し、入力される画像信号を前記量子化テーブルの値を用いてJPEG形式に準拠したフォーマットで圧縮した圧縮画像データを生成する画像圧縮手段と、
    第1のデータ記憶領域、第2のデータ記憶領域、第3のデータ記憶領域からなる記憶手段と、
    前記第1のデータ記憶領域への前記圧縮画像データの書き込みを行う第1の記憶領域制御手段と、
    前記画像圧縮手段の制御、前記第1のデータ記憶領域に書き込まれた前記圧縮画像データを前記第2のデータ記憶領域へと移す制御、前記第2のデータ記憶領域へ書き込まれた前記圧縮画像データをパケット化し、前記第3のデータ記憶領域へと書き込む制御及び量子化テーブル更新フラグの保持を行う制御手段と、
    前記第3のデータ記憶領域から前記圧縮画像データの読み出しを行う第2の記憶領域制御手段と、
    前記第2の記憶領域制御手段が読み出した前記圧縮画像データを送信する送信手段と、
    を有し、
    前記制御手段は、
    前記量子化テーブル更新フラグの初期値として0を設定し、
    前記画像圧縮手段にて画像1フレーム分の前記圧縮画像データが生成された後に、前記量子化テーブル更新フラグの値を1とし、
    前記第1のデータ記憶領域に書き込まれた前記圧縮画像データを前記第2のデータ記憶領域へと移した後に、前記量子化テーブル更新フラグの値を0とし、
    さらに、前記第1のデータ記憶領域に書き込まれた前記圧縮画像データを前記第2のデータ記憶領域へと移す際に、前記第1のデータ記憶領域の所定のアドレスに書き込まれている値が‘0xFFDA’であるかどうか確認し、
    前記所定のアドレスは、JPEGヘッダにおいて、SOSを表すデータに対して割り当てられるアドレスと同じであり、
    前記制御手段は、
    前記圧縮画像データの1フレームあたりのデータサイズを求め、前記1フレームあたりのデータサイズと所定の目標データサイズとを比較し、前記1フレームあたりのデータサイズが前記目標データサイズより大きいときは前記圧縮画像データのデータサイズを小さくする量子化テーブルの更新値を生成し、前記1フレームあたりのデータサイズが前記目標データサイズより小さいときは前記圧縮画像データのデータサイズを大きくする量子化テーブルの更新値を生成し、
    前記第1のデータ記憶領域の前記所定のアドレスから読み出したデータが‘0xFFDA’であって、さらに前記量子化テーブル更新フラグの値が0である場合に、前記画像圧縮手段に保持された量子化テーブルの値を前記量子化テーブルの更新値へと更新する
    ことを特徴とする画像処理装置。
  2. 前記制御手段は、
    前記第1のデータ記憶領域の前記所定のアドレスから読み出したデータが‘0xFFDA’であって、さらに前記量子化テーブル更新フラグの値が0であった場合に、前記第1のデータ記憶領域の前記所定のアドレスに書き込まれているデータを‘0x0000’へと書き換える
    ことを特徴とする請求項1記載の画像信号処理装置。
  3. 前記制御手段は、
    前記第1のデータ記憶領域の前記所定のアドレスから読み出したデータが‘0xFFDA’であって、さらに前記量子化テーブル更新フラグの値が1であった場合に、前記画像圧縮手段での前記画像圧縮データの生成を停止し、前記第1の記憶領域制御手段による前記第1のデータ記憶領域への前記圧縮画像データの書き込みを停止し、
    さらに、前記第2の記憶領域へ書き込まれた前記圧縮画像データをパケット化した後に、前記第1から第3のデータ記憶領域に記憶された前記圧縮画像データを消去し、
    前記画像圧縮手段での前記画像圧縮データの生成の停止、前記第1の記憶領域制御手段による前記第1のデータ記憶領域への前記圧縮画像データの書き込みの停止、及び前記第1から第3のデータ記憶領域に記憶された前記圧縮画像データの消去が終了した後に、
    前記量子化テーブル更新フラグの値を0にし、
    前記画像圧縮手段による前記圧縮画像データの生成、前記第1の記憶領域制御手段による前記第1のデータ記憶領域への前記圧縮画像データの書き込み、前記制御手段による前記圧縮画像データを移す制御、前記圧縮画像データをパケット化し、前記第3のデータ記憶領域へと書き込む制御及び量子化テーブル更新フラグの保持、並びに、前記第2の記憶領域制御手段による前記第3のデータ記憶領域から前記圧縮画像データの読み出しを再開させる
    ことを特徴とする請求項1又は2に記載の画像信号処理装置。
  4. 撮像素子と、
    前記撮像素子から出力される画像信号が入力される画像信号処理回路と
    を有し、
    前記画像信号処理回路が、請求項1乃至3のいずれか1項に記載の画像信号処理装置である
    ことを特徴とする撮像装置。
JP2005339679A 2005-11-25 2005-11-25 画像信号処理装置及び撮像装置 Expired - Fee Related JP4173159B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005339679A JP4173159B2 (ja) 2005-11-25 2005-11-25 画像信号処理装置及び撮像装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005339679A JP4173159B2 (ja) 2005-11-25 2005-11-25 画像信号処理装置及び撮像装置

Publications (2)

Publication Number Publication Date
JP2007150490A JP2007150490A (ja) 2007-06-14
JP4173159B2 true JP4173159B2 (ja) 2008-10-29

Family

ID=38211391

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005339679A Expired - Fee Related JP4173159B2 (ja) 2005-11-25 2005-11-25 画像信号処理装置及び撮像装置

Country Status (1)

Country Link
JP (1) JP4173159B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014075708A (ja) * 2012-10-04 2014-04-24 Canon Inc 動画像符号化装置及び動画像符号化方法

Also Published As

Publication number Publication date
JP2007150490A (ja) 2007-06-14

Similar Documents

Publication Publication Date Title
EP1009138B1 (en) Data transmission method
US8018931B2 (en) Communication apparatus and integrated circuit for communication
EP1835391B1 (en) Storage apparatus and method for processing in the same
CN104704808A (zh) 摄像显示系统、摄像装置、摄像方法和程序
JP2008219479A (ja) 画像伝送システム、撮像装置、及び画像伝送方法
CN110830460A (zh) 一种连接建立方法、装置、电子设备及存储介质
EP3528490A1 (en) Image data frame synchronization method, image signal processing device and terminal
KR101689077B1 (ko) 시간 동기화 방법 및 그 장치
US20140032551A1 (en) Communication apparatus, method of controlling the communication apparatus, and recording medium
JP4173159B2 (ja) 画像信号処理装置及び撮像装置
US9544401B2 (en) Device and method for data communication using a transmission ring buffer
TWI538523B (zh) 影像日誌儲存系統及其記錄方法
US20050195857A1 (en) Method and apparatus for extracting payload from a packetized elementary stream packet
JP2010258894A (ja) 映像受信装置、映像受信方法及びプログラム
KR100991122B1 (ko) 데이터 패킷 전송 방법 및 디바이스
US20180324471A1 (en) Image transmission apparatus, image transmission method, and recording medium
JP6740002B2 (ja) 制御装置、制御方法及びプログラム
US10674172B2 (en) Image processing apparatus, image processing method, and computer-readable recording medium
KR101442485B1 (ko) 데이터 통신 시스템 및 그 방법
US20230224587A1 (en) Imaging device and imaging method
US8738999B2 (en) Information processing apparatus, communication control method, and communication control system
JP2001078182A (ja) 画像伝送装置及び画像伝送方法
JP2001078195A (ja) システムエンコード装置
JPH09270831A (ja) データ伝送装置
TW202335473A (zh) 通信裝置及通信方法、以及程式

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080424

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080513

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080707

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080812

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080812

R150 Certificate of patent or registration of utility model

Ref document number: 4173159

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110822

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110822

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120822

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120822

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130822

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees