(57)【特許請求の範囲】
【請求項１】
各々が既定周期を有する複数のパルスによって形成されるパルスコードを取り込む取り込み手段、
前記取り込み手段によって取り込まれたパルスコードを形成する複数のパルスの各々からアクティブレベルの終端を規定するエッジを検出する検出手段、
前記検出手段によって検出されるエッジのうち奇数番目のエッジに応答して第１タイマをリセットする第１リセット手段、
前記検出手段によって検出されるエッジのうち偶数番目のエッジに応答して前記第１タイマの数値を第１レジスタに設定する第１設定手段、
前記検出手段によって検出されるエッジのうち偶数番目のエッジに応答して第２タイマをリセットする第２リセット手段、
前記検出手段によって検出されるエッジのうち奇数番目のエッジに応答して前記第２タイマの数値を第２レジスタに設定する第２設定手段、および
前記取り込み手段によって取り込まれたパルスコードが有する情報を前記第１レジスタの設定値と前記第２レジスタの設定値とに基づいて識別する識別手段を備え、
前記第１設定手段は前記第２リセット手段のリセット処理の後に設定処理を実行し、
前記第２設定手段は前記第１リセット手段のリセット処理の後に設定処理を実行する、コード識別装置。
【請求項２】
前記取り込み手段によって取り込まれるパルスコードは第１期間に相当する長さを有しかつ前記第１期間よりも長い第２期間毎に現れる、請求項１記載のコード識別装置。
【請求項３】
請求項１または２のいずれかに記載のコード識別装置を搭載した、監視カメラ。
【請求項４】
各々が既定周期を有する複数のパルスによって形成されるパルスコードを取り込む取り込み手段を備えるコード識別装置のプロセサに、
前記取り込み手段によって取り込まれたパルスコードを形成する複数のパルスの各々からアクティブレベルの終端を規定するエッジを検出する検出ステップ、
前記検出手段によって検出されるエッジのうち奇数番目のエッジに応答して第１タイマをリセットする第１リセットステップ、
前記検出手段によって検出されるエッジのうち偶数番目のエッジに応答して前記第１タイマの数値を第１レジスタに設定する第１設定ステップ、
前記検出手段によって検出されるエッジのうち偶数番目のエッジに応答して第２タイマをリセットする第２リセットステップ、
前記検出手段によって検出されるエッジのうち奇数番目のエッジに応答して前記第２タイマの数値を第２レジスタに設定する第２設定ステップ、および
前記取り込み手段によって取り込まれたパルスコードが有する情報を前記第１レジスタの設定値と前記第２レジスタの設定値とに基づいて識別する識別ステップを実行させ、
前記第１設定ステップは前記第２リセットステップのリセット処理の後に設定処理を実行させ、
前記第２設定ステップは前記第１リセットステップのリセット処理の後に設定処理を実行させる、コード識別プログラム。
【請求項５】
各々が既定周期を有する複数のパルスによって形成されるパルスコードを取り込む取り込み手段を備えるコード識別装置のコード識別方法であって、
前記取り込み手段によって取り込まれたパルスコードを形成する複数のパルスの各々からアクティブレベルの終端を規定するエッジを検出する検出ステップ、
前記検出手段によって検出されるエッジのうち奇数番目のエッジに応答して第１タイマをリセットする第１リセットステップ、
前記検出手段によって検出されるエッジのうち偶数番目のエッジに応答して前記第１タイマの数値を第１レジスタに設定する第１設定ステップ、
前記検出手段によって検出されるエッジのうち偶数番目のエッジに応答して第２タイマをリセットする第２リセットステップ、
前記検出手段によって検出されるエッジのうち奇数番目のエッジに応答して前記第２タイマの数値を第２レジスタに設定する第２設定ステップ、および
前記取り込み手段によって取り込まれたパルスコードが有する情報を前記第１レジスタの設定値と前記第２レジスタの設定値とに基づいて識別する識別ステップを備え、
前記第１設定ステップは前記第２リセットステップのリセット処理の後に設定処理を実行し、
前記第２設定ステップは前記第１リセットステップのリセット処理の後に設定処理を実行する、コード識別方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、コード識別装置に関し、特にたとえば監視カメラシステムに適用され、ハードディスクレコーダから与えられた制御コードを識別し、識別結果に基づいて監視カメラを制御する、コード識別装置に関する。
【背景技術】
【０００２】
従来のこの種の回路の一例が、特許文献１に開示されている。この従来技術によれば、表示処理回路３０に設けられるＶＢＩ（Vertical Blanking Interval）解析回路３０ｂは、ＨＤＲ１６によって与えられた撮影画像信号からＶＢＩ信号を抽出し、抽出したＶＢＩ信号のＩＤビットを解析する。撮影画像信号は、ＩＤビットの解析結果に基づいてメモリ３０ａに格納され、メモリ３０ａに格納された撮影画像信号がモニタ２２に出力される。
【特許文献１】特開２００４−５６４１０号公報[H04N 5/915,7/18]
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし、ＶＢＩパルスコードを解析するには、ＶＢＩパルスコードを形成するパルスの周期との関係で既定される高い処理能力が要求される。
【０００４】
それゆえに、この発明の主たる目的は、パルスコードを低い処理速度で正確に解析することができる、コード識別装置を提供することである。
【課題を解決するための手段】
【０００５】
請求項１の発明に従うコード識別装置(22)は、各々が既定周期を有する複数のパルスによって形成されるパルスコードを取り込む取り込み手段(T1,24)、取り込み手段によって取り込まれたパルスコードを形成する複数のパルスの各々からアクティブレベルの終端を規定するエッジを検出する検出手段(S29)、検出手段によって検出されるエッジのうち奇数番目のエッジに応答して第１タイマをリセットする第１リセット手段(S37)、検出手段によって検出されるエッジのうち偶数番目のエッジに応答して第１タイマの数値を第１レジスタに設定する第１設定手段(S39)、検出手段によって検出されるエッジのうち偶数番目のエッジに応答して第２タイマをリセットする第２リセット手段(S43)、検出手段によって検出されるエッジのうち奇数番目のエッジに応答して第２タイマの数値を第２レジスタに設定する第２設定手段(S45)、および取り込み手段によって取り込まれたパルスコードが有する情報を第１レジスタの設定値と第２レジスタの設定値とに基づいて識別する識別手段(S11)を備え、第１設定手段は第２リセット手段のリセット処理の後に設定処理を実行し、第２設定手段は第１リセット手段のリセット処理の後に設定処理を実行する。
【０００６】
パルスコードは、各々が既定周期を有する複数のパルスによって形成される。このようなパルスコードが、取り込み手段によって取り込まれる。検出手段は、取り込み手段によって取り込まれたパルスコードを形成する複数のパルスの各々から、アクティブレベルの終端を規定するエッジを検出する。
【０００７】
第１リセット手段は、検出手段によって検出されるエッジのうち奇数番目のエッジに応答して第１タイマをリセットする。また、第１設定手段は、検出手段によって検出されるエッジのうち偶数番目のエッジに応答して第１タイマの数値を第１レジスタに設定する。
【０００８】
第２リセット手段は、検出手段によって検出されるエッジのうち偶数番目のエッジに応答して第２タイマをリセットする。第２設定手段は、検出手段によって検出されるエッジのうち奇数番目のエッジに応答して第２タイマの数値を第２レジスタに設定する。識別手段は、取り込み手段によって取り込まれたパルスコードが有する情報を、第１レジスタの設定値と第２レジスタの設定値とに基づいて識別する。ここで、第１設定手段は第２リセット手段のリセット処理の後に設定処理を実行し、第２設定手段は第１リセット手段のリセット処理の後に設定処理を実行する。
【０００９】
検出手段によって検出されたエッジは、既定周期を有するパルスのアクティブレベルの終端を規定するエッジであり、パルスコードが有する情報を反映する。第１タイマは奇数番目のエッジに応答してリセットされ、第２タイマは偶数番目のエッジに応答してリセットされる。第１タイマの数値は、偶数番目のエッジが検出されたとき、第２タイマのリセット処理の後に第１レジスタに設定される。また、第２タイマの数値は、奇数番目のエッジが検出されたとき、第１タイマのリセット処理の後に第２レジスタに設定される。第１レジスタの設定値は奇数番目のエッジから偶数番目のエッジまでの時間間隔を示し、第２レジスタの設定値は偶数番目のエッジから奇数番目のエッジまでの時間間隔を示す。
【００１０】
第１タイマのリセット処理の後に第２タイマの数値を第２レジスタに設定することで、レジスタ設定処理に起因する第１タイマのリセットの遅れが回避される。同様に、第２タイマのリセット処理の後に第１タイマの数値を第１レジスタに設定することで、レジスタ設定処理に起因する第２タイマのリセットの遅れが回避される。この結果、処理速度が低くても、パルスコードが有する情報を正確に識別することができる。
【００１１】
請求項２に従うコード識別装置は、請求項１に従属し、取り込み手段によって取り込まれるパルスコードは第１期間に相当する長さを有しかつ第１期間よりも長い第２期間毎に現れる。つまり、検出手段はパルスコードを第１期間かけて検出し、取り込み手段は第２期間毎に現れるパルスコードを取り込む。
【００１２】
請求項３に従う監視カメラ(10)は、請求項１または２のいずれかに記載のコード識別装置を搭載する。
【００１３】
請求項４に従うコード識別プログラムは、各々が既定周期を有する複数のパルスによって形成される第１パルスコードを取り込む第１取り込み手段(T1,24)を備えるコード識別装置のプロセサ(22)に、第１取り込み手段によって取り込まれた第１パルスコードを形成する複数のパルスの各々からアクティブレベルの終端を規定するエッジを検出する検出ステップ(S29)、検出手段によって検出されるエッジのうち奇数番目のエッジに応答して第１タイマをリセットする第１リセットステップ(S37)、検出手段によって検出されるエッジのうち偶数番目のエッジに応答して第１タイマの数値を第１レジスタに設定する第１設定ステップ(S39)、検出手段によって検出されるエッジのうち偶数番目のエッジに応答して第２タイマをリセットする第２リセットステップ(S43)、検出手段によって検出されるエッジのうち奇数番目のエッジに応答して第２タイマの数値を第２レジスタに設定する第２設定ステップ(S45)、および第１取り込み手段によって取り込まれた第１パルスコードが有する情報を第１レジスタの設定値と第２レジスタの設定値とに基づいて識別する識別ステップ(S11)を実行させ、第１設定ステップは第２リセットステップのリセット処理の後に設定処理を実行させ、第２設定ステップは第１リセットステップのリセット処理の後に設定処理を実行させるためのコード識別プログラムである。
【００１４】
請求項５に従うコード識別方法は、各々が既定周期を有する複数のパルスによって形成される第１パルスコードを取り込む第１取り込み手段(T1,24)を備えるコード識別装置(22)のコード識別方法であって、第１取り込み手段によって取り込まれた第１パルスコードを形成する複数のパルスの各々からアクティブレベルの終端を規定するエッジを検出する検出ステップ(S29)、検出手段によって検出されるエッジのうち奇数番目のエッジに応答して第１タイマをリセットする第１リセットステップ(S37)、検出手段によって検出されるエッジのうち偶数番目のエッジに応答して第１タイマの数値を第１レジスタに設定する第１設定ステップ(S39)、検出手段によって検出されるエッジのうち偶数番目のエッジに応答して第２タイマをリセットする第２リセットステップ(S43)、検出手段によって検出されるエッジのうち奇数番目のエッジに応答して第２タイマの数値を第２レジスタに設定する第２設定ステップ(S45)、および第１取り込み手段によって取り込まれた第１パルスコードが有する情報を第１レジスタの設定値と第２レジスタの設定値とに基づいて識別する識別ステップ(S11)を備え、第１設定ステップは第２リセットステップのリセット処理の後に設定処理を実行し、第２設定ステップは第１リセットステップのリセット処理の後に設定処理を実行するコード識別方法である。
【００１５】
請求項４および５についても、請求項１の発明と同様に、第１タイマのリセット処理の後に第２タイマの数値を第２レジスタに設定することで、レジスタ設定処理に起因する第１タイマのリセットの遅れが回避される。同様に、第２タイマのリセット処理の後に第１タイマの数値を第１レジスタに設定することで、レジスタ設定処理に起因する第２タイマのリセットの遅れが回避される。この結果、処理速度が低くても、第１パルスコードが有する情報を正確に識別することができる。
【発明の効果】
【００１６】
この発明によれば、第１タイマのリセット処理の後に第２タイマの数値を第２レジスタに設定することで、レジスタ設定処理に起因する第１タイマのリセットの遅れが回避される。同様に、第２タイマのリセット処理の後に第１タイマの数値を第１レジスタに設定することで、レジスタ設定処理に起因する第２タイマのリセットの遅れが回避される。この結果、処理速度が低くても、第１パルスコードが有する情報を正確に識別することができる。
【００１７】
この発明の上述の目的，その他の目的，特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【発明を実施するための最良の形態】
【００１８】
図１を参照して、この実施例の監視カメラシステムは、監視カメラ１０とハードディスクレコーダ１２とを含み、同軸ケーブル１４の一方端は監視カメラ１０に設けられた入出力端子Ｔ１に接続され、同軸ケーブル１４の他方端はハードディスクレコーダ１２に設けられた入出力端子Ｔ２に接続される。
【００１９】
カメラＣＰＵ１６によって制御される撮像装置１８は、レンズ（図示せず）を経た被写界の光学像に基づくコンポジット映像信号を生成する。生成されたコンポジット映像信号は、同期分離回路２０に与えられるとともに、入出力端子Ｔ１，同軸ケーブル１４および入出力端子Ｔ２を介してハードディスクレコーダ１２にも与えられる。
【００２０】
同期分離回路２０は、与えられたコンポジット映像信号から水平同期信号ＨＤおよび垂直同期信号ＶＤを分離する。分離された水平同期信号ＨＤおよび垂直同期信号ＶＤはＩ／ＯＣＰＵ２２に与えられる。
【００２１】
Ｉ／ＯＣＰＵ２２は、ラインカウンタ２２Ｌを有する。ラインカウンタ２２Ｌのカウント値は、水平同期信号ＨＤが入力される毎にインクリメントされ、垂直同期信号ＶＤがＩ／ＯＣＰＵ２２に入力されると、ラインカウンタ２２Ｌのカウント値はリセットされる。Ｉ／ＯＣＰＵ２２はラインカウンタ２２Ｌのカウント値を参照する。これによって、コンポジット映像信号の水平ラインが判別される。
【００２２】
ハードディスクレコーダ１２はメインユニット２６を有する。メインユニット２６は、記録媒体（図示せず）を含み、監視カメラ１０から与えられるコンポジット映像信号のうち映像成分にディジタル圧縮処理を施し、こうして得られた符号化映像データを記録媒体に記録する。
【００２３】
監視カメラ１０から与えられるコンポジット映像信号はまた、同期分離回路２８に与えられ、同期分離回路２８は、与えられたコンポジット映像信号から水平同期信号ＨＤおよび垂直同期信号ＶＤを分離する。分離された水平同期信号ＨＤおよび垂直同期信号ＶＤはＩ／ＯＣＰＵ３２に与えられる。
【００２４】
Ｉ／ＯＣＰＵ３２は、ラインカウンタ３２Ｌを有する。ラインカウンタ２２Ｌのカウント値は、水平同期信号ＨＤが入力される毎にインクリメントされ、垂直同期信号ＶＤがＩ／ＯＣＰＵ３２に入力されると、ラインカウンタ３２Ｌのカウント値はリセットされる。Ｉ／ＯＣＰＵ３２は、ラインカウンタ３２Ｌのカウント値を参照する。これによって、上述と同様に、コンポジット映像信号の水平ラインが判別される。
【００２５】
ハードディスクレコーダ１２に設けられた操作パネル３６は、複数の操作キー（図示せず）を有する。例えば、ズームイン命令つまり監視カメラ１０のズーム倍率を“１．０倍”から“２．０倍”に変更する命令が操作キーによって行われると、操作パネル３６はこのズームイン命令に従う制御コマンドをドライバ３４に与える。ドライバ３４は、与えられた制御コマンドを制御信号に変換し、変換された制御信号をＩ／ＯＣＰＵ３２に与える。
【００２６】
Ｉ／ＯＣＰＵ３２は、ドライバ３４から与えられた制御信号を解析し、解析結果に基づくＶＢＩパルスコードを生成する。ＶＢＩパルスコードが生成されると、Ｉ／ＯＣＰＵ３２は続いて、ラインカウンタ３２Ｌのカウント値に従ってコンポジット映像信号の１８番目および１９番目の水平ラインでＶＢＩパルスコードをＶＢＩ重畳回路３０に出力する。ＶＢＩパルスコードは、入出力端子Ｔ２，同軸ケーブル１４および入出力端子Ｔ１を介してＶＢＩ分離回路２４に与えられる。ＶＢＩ分離回路２４は、ＶＢＩパルスコードをＩ／ＯＣＰＵ２２に入力する。この結果、Ｉ／ＯＣＰＵ２２には、コンポジット映像信号の１８番目および１９番目の水平ラインでＶＢＩパルスコードが入力される。
【００２７】
Ｉ／ＯＣＰＵ２２は、ＶＢＩ分離回路２４によって入力されたＶＢＩパルスコードから変換パルスコードを作成し、作成された変換パルスコードに基づいて得られる復元データは、カメラＣＰＵ１６による取り込み要求に応答してカメラＣＰＵ１６に入力される。カメラＣＰＵ１６は、入力された復元データに従って撮像装置１８のズーム倍率を“１．０”から“２．０”に変更する。こうして、操作パネル３６による命令が監視カメラ１０に反映される。
【００２８】
ＶＢＩパルスコードは、図２に示すように、コンポジット映像信号の１８番目および１９番目の水平ラインの各々で検出される。検出されたＶＢＩパルスコードは任意の垂直同期信号ＶＤｎが発生してから次の垂直同期信号ＶＤｎ＋１が発生するまでの期間中に識別される。つまり、Ｉ／ＯＣＰＵ２２による識別処理はＶＢＩパルスコードが現れない空白期間で実行される。
【００２９】
図３を参照して、２バイトの長さを有するＶＢＩパルスコードは、１８番目の水平ラインの開始から１９番目の水平ラインの開始までの期間に１度検出され、１９番目の水平ラインの開始から２０番目の水平ラインの開始までの期間に再度検出される。
【００３０】
図４に示すように、ＶＢＩパルスコードが有する情報は、ＶＢＩパルスコードの３μｓｅｃ毎に割り当てられる。３μｓｅｃ毎に割り当てられるデータ値は、ＶＢＩパルスコードのアクティブ期間つまりＶＢＩパルスコードの立ち上がりエッジからＶＢＩパルスコードの立ち下がりエッジまでの期間によって既定される。具体的には、ＶＢＩパルスコードの立ち上がりエッジからＶＢＩパルスコードの立ち下がりエッジまでの期間が“２μｓｅｃ”を示すとき、データ値は“１”を示し、ＶＢＩパルスコードの立ち上がりエッジからＶＢＩパルスコードの立ち下がりエッジまでの期間が“１μｓｅｃ”を示すとき、データ値は“０”を示す。
【００３１】
図１に戻って、Ｉ／ＯＣＰＵ２２は、レジスタＲＨおよびレジスタＲＬとタイマＴＨおよびタイマＴＬとを有する。ＶＢＩ重畳回路３０によって１８番目の水平ラインに重畳されたＶＢＩパルスコードが入力されると、Ｉ／ＯＣＰＵ２２は、このＶＢＩパルスコードに基づいて変換パルスコードを作成し、タイマＴＨのタイマ値およびタイマＴＬのタイマ値はこの変換パルスコードに従って制御される。タイマＴＨのタイマ値およびタイマＴＬのタイマ値はそれぞれ、レジスタＲＨおよびレジスタＲＬに登録される。
【００３２】
ＶＢＩ重畳回路３０によって１９番目の水平ラインに重畳されたＶＢＩパルスコードが２バイト期間を経過すると、上述で示す処理と同様に、このＶＢＩパルスコードに基づいて制御されたタイマＴＨのタイマ値およびタイマＴＬのタイマ値がレジスタＲＨおよびレジスタＲＬにそれぞれ登録される。
【００３３】
レジスタＲＨおよびレジスタＲＬに登録された複数のタイマ値は、Ｉ／ＯＣＰＵ２２がレジスタＲＨにタイマＴＨのタイマ値を設定するときとＩ／ＯＣＰＵ２２がレジスタＲＬにタイマＴＬのタイマ値を設定するときとに注目する時系列順に整列される。つまり、タイマＴＨのタイマ値のレジスタ設定およびタイマＴＬのタイマ値のレジスタ設定が交互に実行され、レジスタＲＨに登録されたタイマ値およびレジスタＲＬに登録されたタイマ値は実行された順番で整列される。
【００３４】
整列された複数のタイマ値は、メモリ２２Ｍに書き込まれる。この結果、１８番目の水平ラインに重畳されたＶＢＩパルスコードおよび１９番目の水平ラインに重畳されたＶＢＩパルスコードの各々に対応する復元データがメモリ２２Ｍに格納される。
【００３５】
具体的には、図５（Ａ）に示すＶＢＩパルスコードは、複数の立ち上がりエッジと複数の立ち下がりエッジとを含み、立ち上がりエッジのうち先頭エッジ（図５（Ｂ）参照）つまり最初に検出された立ち上がりエッジとＶＢＩパルスコードに形成された複数の立ち下がりエッジ（図５（Ｃ）参照）とがＩ／ＯＣＰＵ２２によって検出される。
【００３６】
先頭エッジが検出されると、Ｉ／ＯＣＰＵ２２はまず、変換パルスコード（図５（Ｄ）参照）の出力レベルを“Ｌｏｗ”に設定するとともに、タイマＴＬをリセットおよびスタート（図５（Ｅ）参照）する。
【００３７】
ＶＢＩパルスコードの立ち下がりエッジが検出されると、Ｉ／ＯＣＰＵ２２は次に、変換パルスコードの出力レベルを“Ｈｉｇｈ”に設定し、タイマＴＨをリセットおよびスタート（図５（Ｇ）参照）し、そして現在のタイマＴＬのタイマ値を検出（図５（Ｅ）参照）する。検出結果は、レジスタＲＬ（図５（Ｆ）参照）に退避される。この結果、変換パルスコードに立ち上がりエッジが形成され、Ｉ／ＯＣＰＵ２２に入力されたＶＢＩパルスコードの最初のパルス幅（２μｓｅｃ）がレジスタＲＬに格納される。
【００３８】
ＶＢＩパルスコードの次の立ち下がりエッジが検出されると、Ｉ／ＯＣＰＵ２２はまた、タイマＴＬをリセットおよびスタート（図５（Ｅ）参照）するともに、変換パルスコードの出力レベルを“Ｌｏｗ”に設定し、そして現在のタイマＴＨのタイマ値を検出（図５（Ｇ）参照）する。この検出結果は、レジスタＲＨ（図５（Ｈ）参照）に退避される。この結果、変換パルスコードに立ち下がりエッジが形成され、変換パルスコードの出力レベルが“Ｈｉｇｈ”の期間を示すエッジ幅（２μｓｅｃ）がレジスタＲＨに格納される。
【００３９】
さらにＶＢＩパルスコードの立ち下がりエッジが検出されると、上述と同様の処理を実行し、変換パルスコードの出力レベルが“Ｌｏｗ”の期間を示すエッジ幅（３μｓｅｃ）がレジスタＲＬに格納される。なお、上述に示す処理はＶＢＩパルスコードのうち２バイト期間経過するまで継続する。
【００４０】
ここで、変換パルスコードの出力レベルは、ＶＢＩパルスコードの立ち下がりエッジに応答して“Ｈｉｇｈ”および“Ｌｏｗ”を遷移する。図５（Ｃ）に示すように、ＶＢＩパルスコードの奇数番目の立ち下がりエッジに応答して、変換パルスコードの出力レベルが“Ｈｉｇｈ”に立ち上がり、ＶＢＩパルスコードの偶数番目の立ち下がりエッジに応答して、変換パルスコードの出力レベルが“Ｌｏｗ”に立ち下がる。
【００４１】
つまり、奇数番目の立ち下がりエッジが検出されたとき、タイマＴＨはリセットおよびスタートされ、この処理の後に、タイマＴＬのタイマ値がレジスタＲＬに登録される。また、偶数番目の立ち下がりエッジが検出されたとき、タイマＴＬはリセットおよびスタートされ、この処理の後に、タイマＴＨのタイマ値がレジスタＲＨに登録される。
【００４２】
この結果、レジスタＲＬの設定処理に起因するタイマＴＨのリセットの遅れが回避されるとともに、レジスタＲＨの設定処理に起因するタイマＴＬのリセットの遅れが回避される。これによって、処理速度が低くても、ＶＢＩパルスコードが有する情報を正確に識別することができる。
【００４３】
変換パルスコードに従って生成された複数のタイマ値は時系列順に整列され、整列された複数のタイマ値はメモリ２２Ｍにエッジ幅として格納される。Ｉ／ＯＣＰＵ２２は、エッジ幅からパルス幅およびデータ値を図６に示す変換テーブルに従って算出し、算出結果をメモリ２２Ｍに格納する。つまり、図５（Ａ）に示すＶＢＩパルスコードからエッジ幅（図７（Ａ）参照）が作成され、作成されたエッジ幅に従ってパルス幅（図７（Ｂ）参照）およびデータ値（図７（Ｃ）参照）が算出される。算出されたデータ値は、カメラＣＰＵ１６の取り込み要求に応答して復元データとして出力される。この結果、２バイトの長さに相当するアナログ信号のＶＢＩパルスコードは、ディジタルデータの復元データに変換されてカメラＣＰＵ１６に入力される。これによって、取り込み要求が発行されてからのカメラＣＰＵ１６の待機期間が短縮される。
【００４４】
このように、ＶＢＩパルスコードは、各々が既定周期を有する複数のパルスによって形成される。入出力端子Ｔ１およびＶＢＩ分離回路２４は、このようなＶＢＩパルスコードを取り込む。Ｉ／ＯＣＰＵ２２は、取り込まれたＶＢＩパルスコードを形成する複数のパルスの各々から、アクティブレベルの終端を規定する立ち下がりエッジを検出する。
【００４５】
Ｉ／ＯＣＰＵ２２は、検出される立ち下がりエッジのうち奇数番目のエッジに応答してタイマＴＨをリセットし、検出される立ち下がりエッジのうち偶数番目のエッジに応答してタイマＴＨのタイマ値をレジスタＲＨに設定する。
【００４６】
Ｉ／ＯＣＰＵ２２はまた、検出される立ち下がりエッジのうち偶数番目のエッジに応答してタイマＴＬをリセットし、検出される立ち下がりエッジのうち奇数番目のエッジに応答してタイマＴＬのタイマ値をレジスタＲＬに設定する。Ｉ／ＯＣＰＵ２２はさらに、取り込まれたＶＢＩパルスコードが有する情報を、レジスタＴＨに設定されたタイマ値とレジスタＴＬに設定されたタイマ値とに基づいて識別する。ここで、Ｉ／ＯＣＰＵ２２は、タイマＴＬのリセット処理の後にタイマＴＨのタイマ値をレジスタＴＨに設定し、タイマＴＨのリセット処理の後にタイマＴＬのタイマ値をレジスタＴＬに設定する。
【００４７】
Ｉ／ＯＣＰＵ２２によって検出された立ち下がりエッジは、既定周期を有するパルスのアクティブレベルの終端を規定するエッジであり、ＶＢＩパルスコードが有する情報を反映する。タイマＴＨは奇数番目の立ち下がりエッジに応答してリセットされ、タイマＴＬは偶数番目の立ち下がりエッジに応答してリセットされる。タイマＴＨのタイマ値は、偶数番目の立ち下がりエッジが検出されたとき、タイマＴＬのリセット処理の後にレジスタＲＨに設定される。また、タイマＴＬのタイマ値は、奇数番目の立ち下がりエッジが検出されたとき、タイマＴＨのリセット処理の後にレジスタＲＬに設定される。レジスタＲＨのタイマ値は奇数番目のエッジから偶数番目の立ち下がりエッジまでの時間間隔を示し、レジスタＲＬのタイマ値は偶数番目のエッジから奇数番目の立ち下がりエッジまでの時間間隔を示す。
【００４８】
タイマＴＨのリセット処理の後にタイマＴＬのタイマ値をレジスタＴＬに設定することで、レジスタＲＬを設定する処理に起因するタイマＴＨのリセットの遅れが回避される。同様に、タイマＴＬのリセット処理の後にタイマＴＨのタイマ値をレジスタＲＨに設定することで、レジスタＲＨを設定する処理に起因するタイマＴＬのリセットの遅れが回避される。この結果、処理速度が低くても、ＶＢＩパルスコードが有する情報を正確に識別することができる。
【００４９】
Ｉ／ＯＣＰＵ２２は、具体的には図８〜図１０に示すフロー図に従う処理を行う。なお、このフロー図に対応するプログラムは、監視カメラ１０に形成されるフラッシュメモリ（図示せず）に記憶される。
【００５０】
図８によれば、ステップＳ１で垂直同期信号ＨＤが同期分離回路２０によって与えられるまで待機する。垂直同期信号ＨＤが与えられると、ステップＳ３でラインカウンタ２２Ｌのカウント値が“１８”または“１９”を示すか否かを判別する。判別結果がＹＥＳであれば、現在の水平ラインはコンポジット映像信号の１８番目の水平ラインまたはコンポジット映像信号の１９番目の水平ラインであると判断し、ステップＳ５で作成処理を実行する。この結果、コンポジット映像信号の１８番目または１９番目の水平ラインに重畳されるＶＢＩパルスコードに対応する変換パルスコードが作成される。
【００５１】
一方、判別結果がＮＯであれば、ステップＳ７でラインカウンタ２２Ｌのカウント値が“２０”を示すか否かを判別する。判別結果がＮＯであれば、ステップＳ１に戻る。判別結果がＹＥＳであれば、現在の水平ラインは２０番目の水平ラインであると判断し、ステップＳ９でレジスタＲＨおよびレジスタＲＬに格納された複数のタイマ値に整列処理を施す。この結果、整列された複数のタイマ値がメモリ２２Ｍにエッジ幅として格納される。
【００５２】
ステップＳ１１でメモリ２２Ｍに格納されたエッジ幅に識別処理を施す。この処理を終えると、ステップＳ１３でカメラＣＰＵ１６から取り込み要求が与えられるまで待機する。取り込み要求が与えられると、ステップＳ１５で識別結果に従って生成された復元データをカメラＣＰＵ１６に出力し、ステップＳ１７でレジスタＲＨおよびレジスタＲＬをリセットし、ステップＳ１に戻る。
【００５３】
ステップＳ５の作成処理は、図９に示すサブルーチンに従う。ステップＳ２１では、ＶＢＩパルスコードの立ち上がりエッジが検出されるまで待機する。立ち上がりエッジが検出されると、ステップＳ２３で変換パルスコードの出力レベルを“Ｌｏｗ”に設定し、ステップＳ２５でタイマＴＬをリセットおよびスタートさせ、ステップＳ２７で変数Ｅｄを“０”に設定する。この変数Ｅｄは、ＶＢＩパルスコードの立ち下がりエッジが検出される毎にインクリメントされる。つまり、変数Ｅｄの数値が立ち下がりエッジの検出回数を示す。
【００５４】
ステップＳ２９では、ＶＢＩパルスコードの立ち下がりエッジが検出されるまで待機する。立ち下がりエッジが検出されると、ステップＳ３１で変数Ｅｄをインクリメントし、ステップＳ３３で変数Ｅｄを“２”で割った余りを算出し、算出結果を変数Ｎに代入する。ステップＳ３５では、変数Ｎが“１”であるか否かを判別する。判別結果がＹＥＳであれば、ＶＢＩパルスコードの立ち下がりエッジは奇数番目であると判断し、ステップＳ３７に進む。一方、判別結果がＮＯであれば、ＶＢＩパルスコードの立ち下がりエッジは偶数番目であると判断し、ステップＳ４３に進む。
【００５５】
ステップＳ３７では、タイマＴＨをリセットおよびスタートし、ステップＳ３９でタイマＴＬのタイマ値をレジスタＲＬに登録し、ステップＳ４１で変換パルスコードの出力レベルを“Ｈｉｇｈ”に設定する。この結果、図５（Ｅ）および図５（Ｆ）に示すように、タイマＴＨがリセットおよびスタートされた後に、タイマＴＬのタイマ値がレジスタＲＬに登録される。なお、偶数番目の立ち下がりエッジから奇数番目の立ち下がりエッジまでの時間間隔がレジスタＲＬに登録される。
【００５６】
ステップＳ４３では、タイマＴＬをリセットおよびスタートし、ステップＳ４５でタイマＴＨのタイマ値をレジスタＲＨに登録し、ステップＳ４７で変換パルスコードの出力レベルを“Ｌｏｗ”に設定する。この結果、図５（Ｇ）および図５（Ｈ）に示すように、タイマＴＨがリセットおよびスタートされた後に、タイマＴＬのタイマ値がレジスタＲＬに登録される。なお、奇数番目の立ち下がりエッジから偶数番目の立ち下がりエッジまでの時間間隔がレジスタＲＨに登録される。
【００５７】
ステップＳ４７では、２バイト期間が経過されたか否かを判別する。判別結果がＮＯであれば、ステップＳ２５に戻り、判別結果がＹＥＳであれば、ＶＢＩパルスコードの検出が完了したと判断し、上階層のルーチンに復帰する。
【００５８】
ステップＳ１１の識別処理は、図１０に示すサブルーチンに従う。ステップＳ５１では、インデックスｉを“０”に設定し、ステップＳ５３でエッジ幅［０］が“２”であるか否かを判別する。ここで、エッジ幅に最初に登録されたエッジ幅［０］と他のエッジ幅［ｉ］とは取り扱いが異なる。つまり、エッジ幅[ｉ]およびエッジ幅［ｉ-１］が示す値に従ってパルス幅［ｉ］およびデータ値［ｉ］が設定され、エッジ幅［０］のとき、参照すべきエッジ幅が存在しない。このため、エッジ幅［０］は、ステップＳ５５およびステップＳ５７に従ってデータ値が与えられる。
【００５９】
エッジ幅［０］が“２”のとき、ステップＳ５５でメモリ２２Ｍのパルス幅［０］に“２”を設定し、メモリ２２Ｍのデータ値［０］に“１”を設定する。一方、エッジ幅［１］が“１”のとき、ステップＳ５７でパルス幅［０］に“１”を設定し、データ値［０］に“０”を設定する。
【００６０】
ステップＳ５９では、インデックスｉをインクリメントし、ステップＳ６１でエッジ幅［ｉ］が“２”であるか否かを判別する。判別結果がＹＥＳであれば、ステップＳ６７でメモリ２２Ｍのパルス幅［ｉ］に“１”を設定するとともに、メモリ２２Ｍのデータ値［ｉ］に“０”を設定する。判別結果がＮＯであれば、ステップＳ６３でエッジ幅［ｉ］が“４”であるか否かを判別する。エッジ幅［ｉ］が“４”であれば、ステップＳ６９でパルス幅［ｉ］に“２”を設定するとともに、データ値［ｉ］に“１”を設定する。
【００６１】
エッジ幅［ｉ］が“４”でなければ、エッジ幅［ｉ］は“２”，“３”および“４”のいずれか一つに該当するため、エッジ幅［ｉ］は“３”であると判断し、ステップＳ６５でデータ値［ｉ-１］が“１”であるか否かを判別する。ここで、任意のエッジ幅［ｉ］に設定すべきデータ値［ｉ］は“０”および“１”のいずれか一つに該当するため、エッジ幅［ｉ］の値によって特定できないデータ値［ｉ］は、一つ手前のデータ値［ｉ-１］を参照することによって、データ値［ｉ］が特定される。
【００６２】
データ値［ｉ-１］が“１”であれば、ステップＳ７１でパルス幅［ｉ］に“１”を設定するとともに、データ値［ｉ］に“０”を設定する。一方、データ値［ｉ−１］が“０”であれば、ステップＳ７３でパルス幅［ｉ］に“２”を設定するとともに、データ値［ｉ］に“１”を設定する。
【００６３】
ステップＳ７５では、インデックスｉが所定値以下であるか否かを判別する。判別結果がＹＥＳであれば、ステップＳ７７に戻り、判別結果がＮＯであれば、変換パルスコードの識別が完了したと判断し、上階層のルーチンに復帰する。こうして、パルス幅およびデータ値がメモリ２２Ｍに格納される。
【図面の簡単な説明】
【００６４】
【図１】この発明の一実施例の構成を示すブロック図である。
【図２】図１実施例に適用されるＩ／ＯＣＰＵ２２の動作の一例を示す図解図である。
【図３】図１実施例に適用されるＩ／ＯＣＰＵ２２の動作の他の一例を示す図解図である。
【図４】図１実施例に適用されるＩ／ＯＣＰＵ２２に入力されるＶＢＩパルスコードの一例を示す図解図である。
【図５】（Ａ）は図１実施例に適用されるＩ／ＯＣＰＵ２２に与えられるＶＢＩパルスコードの一例を示す図解図であり、（Ｂ）はＶＢＩパルスコードの立ち上がりエッジを検出するタイミングの一例を示す図解図であり、（Ｃ）はＶＢＩパルスコードの立ち下がりエッジを検出するタイミングの一例を示す図解図であり、（Ｄ）はＶＢＩパルスコードの立ち下がりエッジに従って生成される変換パルスコードの一例を示す図解図であり、（Ｅ）はタイマＴＬの動作の一例を示す図解図であり、（Ｆ）はレジスタＲＬの動作の一例を示す図解図であり、（Ｇ）はタイマＴＨの動作の一例を示す図解図であり、そして（Ｈ）はレジスタＲＨの動作の一例を示す図解図である。
【図６】図１実施例に適用されるＩ／ＯＣＰＵ２２の解析処理のときに参照するテーブルの一例を示す図解図である。
【図７】（Ａ）は図１実施例に適用されるＩ／ＯＣＰＵ２２に形成されるメモリ２２Ｍの動作の一例を示す図解図であり、（Ｂ）は図１実施例に適用されるメモリ２２Ｍの他の一例を示す図解図であり、そして（Ｃ）は図１実施例に適用されるメモリ２２Ｍのその他の一例を示す図解図である。
【図８】図１実施例に適用されるＩ／ＯＣＰＵ２２の動作の一部を示すフロー図である。
【図９】図１実施例に適用されるＩ／ＯＣＰＵ２２の動作の他の一部を示すフロー図である。
【図１０】図１実施例に適用されるＩ／ＯＣＰＵ２２の動作のその他の一部を示すフロー図である。
【符号の説明】
【００６５】
１０  …  監視カメラ
１２  …  ハードディスクレコーダ
１４  …  同軸ケーブル
Ｔ１，Ｔ２  …  入出力端子
２０，２８  …  同期分離回路
２２，３２  …  Ｉ／ＯＣＰＵ
２４，３０  …  ＶＢＩ分離／重畳
３６  …  専用コントローラ
ＴＨ，ＴＬ  …  タイマ
ＲＨ，ＲＬ  …  レジスタ
【図１】
0004762008.tif 000002
【図２】
0004762008.tif 000003
【図３】
0004762008.tif 000004
【図４】
0004762008.tif 000005
【図５】
0004762008.tif 000006
【図６】
0004762008.tif 000007
【図７】
0004762008.tif 000008
【図８】
0004762008.tif 000009
【図９】
0004762008.tif 000010
【図１０】
0004762008.tif 000011