以下、本発明の各実施の形態について図面を参照しながら詳細に説明する。しかしながら、以下の各実施の形態に記載されている構成はあくまで例示に過ぎず、本発明の範囲は各実施の形態に記載されている構成によって限定されることはない。
<第1実施形態>
図面を参照して、第1実施形態について説明する。図1は、第1実施形態に係る撮像装置100の構成例を示す図である。撮像装置100は、外部装置と接続されており、当該外部装置から同期信号およびタイムコード情報を含む外部信号が撮像装置100に入力される。撮像装置100は、タイムコード情報が示すタイムコードの位相ずれ量をメタデータとして記憶し、メタデータに基づいて、タイムコードの位相を調整し、位相が調整されたタイムコードを出力する。以下、撮像装置100は、システムクロックを短くする方向にのみ位相を調整可能なものとして説明する。撮像装置100および外部装置(他の撮像装置)は、例えば、ビデオカメラである。撮像装置100には、複数の外部装置が接続されていてもよい。撮像装置100がマスター、複数の外部装置がスレーブ、という関係になる場合もある。撮像装置100は、外部装置と、任意の端子により接続される。例えば、撮像装置100と外部装置とは、SDI(Serial Digital Interface)端子やHDMI(登録商標)(High-Definition Multimedia Interface(登録商標))等により接続されてもよい。撮像装置100は、システム制御部101、撮像部102、撮像素子部103、動画像記憶部104、表示部105、表示用データ記憶部106、入力部107およびシステムクロック生成部108を有する。
システム制御部101は、撮像信号制御部109、動画像制御部110、表示制御部111、表示用データ制御部112、入力制御部113、タイムコード位相制御部114、タイムコード制御部115およびタイムコード生成部116を有する。システム制御部101は、外部タイムコード制御部117、外部タイムコード検出部118、外部信号検出部119、同期信号位相制御部120、外部同期信号制御部121および外部同期信号検出部122を有する。システム制御部101は、システムクロック制御部123および外部出力制御部124を有する。また、システム制御部101は、CPU(Central Processing Unit)やROM(Read Only Memory)、RAM(Random Access Memory)等を有する。システム制御部101の各部の機能は、CPUが、RAMを作業エリアとして、ROMに格納された制御プログラムを実行することで実現される。CPUは、システムクロック生成部108から入力されるクロックで動作する。
撮像部102は、フォーカスレンズやズームレンズ、絞り、シャッター等の光学部を含み、撮像対象から入射する光学像に対して所定の光学処理を行い、撮像素子部103に出力する。撮像素子部103は、撮像部102により光学処理された光学像を電気信号に変換する処理を行い、変換した電気信号を撮像信号制御部109に出力する。撮像素子部103には、CCD(Charge Coupled Device Image Sensor)やCMOS(Complementary Metal Oxide Semiconductor)等が適用される。表示部105は、表示制御部111から送られてくる、表示形式に変換されたデータを表示する。表示部105には、LCD(Liquid Crystal Monitor)やEVF(Electronic View Finder)等の液晶画面が適用され得る。動画像記憶部104は、映像(動画像データ)を記憶する記憶手段である。表示用データ記憶部106は、表示用データを記憶する。動画像記憶部104や表示用データ記憶部106は、HDD(Hard Disk Drive)やDVD(Digital Versatile Disc)等の光ディスクが適用されてもよいし、不揮発性のメモリーカードなどの記憶媒体が適用されてもよい。入力部107は、ユーザーによる各種の操作を受け付けることが可能であり、例えば、ジョグダイヤルやダイヤルスイッチ等が適用される。
撮像信号制御部109は、撮像素子部103から入力した電気信号に対してA/D変換処理や増幅処理等の画像処理を施し、映像信号を生成する。生成される映像信号は、記録方式によりフレームレート(1秒間のフレーム数)が異なる。フレームレートは、NTSC方式の場合は、120p、60p、60i、30pまたは24pの何れかである。、また、フレームレートは、PAL方式の場合は100p、50p、50iまたは25pの何れかである。また、動画像記憶部104に記憶されるデータの記録画像サイズは、4096×2160や3840×2160、2160×1080、1920×1080、1280×720、1440×1080等を設定可能である。フレームレートおよび記録画像サイズは、上述した値には限定されない。以下、撮像装置100における記録画像サイズは、1920×1080、フレームレートは30pに設定されているものとして説明する。撮像信号制御部109は、上記の映像信号を動画像制御部110に送る。
動画像制御部110は、映像信号の圧縮(エンコード)や伸張(デコード)を行う機能を有している。動画像制御部110は、撮像信号制御部109から映像信号が送られてきた場合、映像信号を圧縮(エンコード)し、圧縮(エンコード)された動画像データを動画像記憶部104に送る。また、動画像制御部110は、入力制御部113により送られる指示により動画像記憶部104に対して所望の動画像データを取得するように指示を送る。そして、動画像制御部110は、動画像記憶部104から動画像データが送られてくると、動画像データの伸張(デコード)を行い、表示制御部111に送る。これにより、表示部105に動画像データの表示が行われる。さらに、動画像制御部110は、タイムコード位相制御部114からタイムコードが送られてきた場合は、映像信号にタイムコードを重畳してから圧縮(エンコード)を行う。動画像制御部110は、出力手段に対応する。
動画像記憶部104は、MPEG2(Moving Picture Experts Group)、H.264、H.265等の形式に基づいた動画像データとして記憶することが可能である。動画像記憶部104は、動画像制御部110から受けた指示により動画像データの書き込みや読み出しを行うことも可能である。各実施形態では、圧縮されたビデオフレーム(動画像データ)は、タイムコード等の管理情報や音声データが、MXF(Material eXchange Format)というコンテナ構造で、動画像記憶部104に記憶される例について説明する。ビデオフレームの記憶形式は、AVCHD(Advanced Video Codec High Definition)やMP4(MPEG−4 Part14またはISO/IEC14496−14:2003)等の任意のフォーマットであってもよい。図2(A)は、動画像記憶部104に記憶されるMXFのフォルダ構成の例を示し、図2(B)は、MXFのコンテナ構造の例を示す。
入力部107に対する指示に基づいて、撮像装置100が初期化されると、動画像記憶部104には、CONTENSフォルダ201やCLIPS001フォルダ202等が生成される。入力部107に対する指示に基づいて、記録が開始されると、ストリームファイルであるMXFファイル204(XXXXXX.MXF)および編集情報を記載したXMLファイル205(XXXXXX.XML)が、動画像記憶部104に記憶される。MXFは、SMPTE規格によって定義されたコンテナフォーマットである。複数のクリップが記憶されていくと、MXFファイル204およびXMLファイル205のファイル名が変化し、増加していく。インデックスファイル203(INDEX.MIF)は、複数のクリップの情報を1つにまとめている管理ファイルである。インデックスファイル203により各クリップが管理されることで、クリップ数が増えたとしても、クリップ単位でフォルダ内を解析する必要がなく、1つのインデックスファイル203を解析すればよい。このため、各クリップの解析時間を短縮することができる。
また、フレーム単位に設定する必要があるフレーム番号やタイムコード等はMXFファイル204に記録される。図2(B)を参照して、MXFのコンテナ構造について説明する。ヘッダ210はファイルの開始を示す情報およびファイルに関するメタ情報(メタデータ)を有する。ストリームファイルのフレームレートや画像データの解像度等の情報は、ヘッダ210に記録される。フレーム情報211は、各フレームのデータを表し、フレームのメタ情報213、画像データ214、音声データ215を含む。フッタ212はファイルの終了を示す情報である。フレーム番号は開始フレームを0として、フレームのメタ情報213の領域に記録される。XMLファイル205は、マークアップ言語のXML(Extensible Markup Language)ファイルであり、タグ情報を使用して編集情報を書き込むことも可能である。
入力制御部113は、入力部107を介して、入力操作(ユーザーによる入力操作)を受け付ける。入力制御部113が、動画像制御部110に指示を送ることで記録開始や記録停止、記録フレームレートの選択が可能である。また、入力制御部113が、表示用データ制御部112に指示を送ることで表示用データ記憶部106から所望の表示用データを選択することができる。また、入力制御部113が、タイムコード制御部115に指示を送ることでタイムコードの設定をユーザーが任意で設定することも可能である。
表示用データ制御部112は、入力制御部113より受けた指示により表示用データを表示用データ記憶部106から読み出すことができ、読み出した表示用データを表示制御部111に送る。表示用データ記憶部106は、表示用データを記憶しており、表示用データ制御部112から受けた指示により表示用データが読み出される。表示制御部111は、表示用データや映像信号、タイムコードの情報、同期信号の情報等を合成し、表示部105が表示可能な形式のデータに変換する。変換されたデータは、表示部105に送られる。
タイムコード生成部116は、タイムコード制御部115より受けた指示によりタイムコードの生成を行う。タイムコードは、時、分、秒、フレーム情報、サブフレーム情報単位で生成可能であり、設定されている記録フレームレートによってフレーム数は変わる。サブフレーム情報は、フレーム情報より精度の高いタイムコードの拡張情報である。図3は、タイムコードおよび拡張タイムコードを示す図である。タイムコードに対するタイムコード設定値の詳細はSMPTE ST 12を参照とし、ここでの詳細な説明は省略する。図3(A)のように、SMPTE ST 12−1やSMPTE ST 12−2で定義されているタイムコード設定値は、時間(HH)261、分(MM)262、秒(SS)263、「00〜29」までのフレーム情報(FF)264で表現されていた。時間(HH)261は、「00〜23」の範囲であり、分(MM)262は、「00〜59」の範囲であり、フレーム情報(FF)264は、「00〜29」の範囲である。従って、図2(A)のタイムコードの場合、「0〜29」の30Pまで、各フレーム情報に対して異なるタイムコードを付加することができ、各フレーム情報を区別することができる。
しかし、120pなど、フレームレートが高くなるとSMPTE ST 12−1、SMPTE ST 12−2ではフレームの区別をすることができず、異なるフレームに同一のタイムコード値を設定しなくてはならない。そのため、SMPTE ST 12−3では、新たにサブフレーム情報が定義された。サブフレーム情報(SF)265は、「00〜31」の範囲であり、1つのフレーム情報(FF)264に、複数のサブフレーム情報(SF)265が割り当てられている。その結果、フレーム情報(FF)264とサブフレーム情報(SF)265との両者が用いられることで、「0〜959」の960pまで、各フレームに対して異なるタイムコードを付加することができ、各フレームを区別することが可能となる。
図1に示されるように、タイムコード位相制御部114は、タイムコード制御部115から送られてくるタイムコード(内部タイムコード)と外部タイムコード制御部117から送られてくるタイムコード(外部タイムコード)との位相制御(位相調整)を行う。タイムコード位相制御部114は、取得手段に対応する。
タイムコード位相制御部114は、タイムコードに基づく位相をずらす必要がある場合、同期信号位相制御部120に位相をずらす量を送る。タイムコード位相制御部114は、外部タイムコード制御部117から外部タイムコードが送られてきた場合は、タイムコード制御部115に外部タイムコードを送ることで、撮像装置100の内部タイムコードが変更される。また、タイムコード位相制御部114は、動画像制御部110とタイムコードの入出力を行うことで、映像信号にタイムコードを重畳してから圧縮(エンコード)や伸張(デコード)を行う。これにより、映像信号からタイムコードを取得することができる。さらに、タイムコード位相制御部114は、位相制御したタイムコードを表示制御部111に送ることで表示部105にタイムコードを表示することが可能である。
タイムコード制御部115は、タイムコード生成部116により生成されるタイムコードを読み出して、読み出されたタイムコードをタイムコード位相制御部114に送る。また、タイムコード制御部115は、タイムコード位相制御部114から送られてきたタイムコードをタイムコード生成部116に送ることで撮像装置100のタイムコードを変更することも可能である。また、タイムコード制御部115は、入力制御部113より受けた指示によりタイムコード生成部116にタイムコードを送ることも可能である。
外部タイムコード制御部117は、外部タイムコード検出部118から送られてくるタイムコードの周波数やサブフレーム情報の有無を検出し、検出結果をタイムコード位相制御部114に通知する。外部タイムコード検出部118は、外部信号検出部119によりタイムコードが入力されたか否かを、SDI端子やタイムコード端子等によりチェックする。外部タイムコード検出部118は、タイムコードの入力が検出された場合にタイムコードを抽出し、抽出されたタイムコードの情報を外部タイムコード制御部117に送る。外部信号検出部119は、外部装置からの入力信号の有無を検出し、入出信号を検出した場合、当該入出力信号を、タイムコードを表す信号と外部同期信号とに分離する。外部信号検出部119は、分離された2つの信号のうち、タイムコードを外部タイムコード検出部118に送り、外部同期信号を外部同期信号検出部122に送る。
同期信号位相制御部120は、外部同期信号制御部121から送られてくる外部同期信号とシステムクロック制御部123から送られてくるシステムクロックとの位相のずれ量(第1位相ずれ量)を算出することにより、取得する。同期信号位相制御部120は、取得された第1位相ずれ量をシステムクロック制御部123に送り、撮像装置100のシステムクロックの位相をずらす要求を出す。内部タイムコードと外部タイムコードとの位相がずれている場合、同期信号位相制御部120に、タイムコード位相制御部114からタイムコードの位相ずれ量(第2位相ずれ量)が送られてくる。同期信号位相制御部120は、第1位相ずれ量および第2位相ずれ量をシステムクロック制御部123に送る。このため、外部装置の動作周波数と撮像装置100の内部の動作周波数とが異なる場合でも、同期信号位相制御部120は、タイムコードの位相のずれ量を加味して、システムクロックの位相をずらす要求をシステムクロック制御部123に出すことができる。また、同期信号位相制御部120は、表示制御部111に位相合わせが完了した通知を送ることで表示部105に位相合わせが完了したことを表示することができる。
外部同期信号制御部121は、外部同期信号検出部122が検出した外部装置からの外部同期信号から水平同期信号および垂直同期信号を抽出し、同期信号位相制御部120に送る。外部同期信号検出部122は、外部装置からSDI端子や同期信号入力端子等により外部同期信号が入力されたか否かをチェックする。外部同期信号検出部122は、外部同期信号の入力が検出された場合に垂直同期信号を抽出し、抽出された垂直同期信号の情報を外部同期信号制御部121に送る。システムクロック制御部123は、同期信号位相制御部120からシステムクロックの位相のずれ量が送られてきた場合に、位相のずれ量を調整する制御を行う。システムクロック制御部123は、調整手段に対応する。例えば、システムクロック制御部123は、システムクロック生成部108に対して位相のずれを吸収するようPLL(Phase Lock Loop)制御を行い、位相を合わせる制御を行う。
次に、本実施形態に係る撮像装置100の位相合わせ処理およびメタデータの記憶処理について、説明する。図4は、位相合わせ処理およびメタデータの記憶処理の流れを示すフローチャートである。図4のフローチャートは、撮像装置100に電源が投入され、撮像装置100が起動している状態で実行されるフローチャートである。外部信号検出部119は、外部装置から外部同期信号が入力されたか否かを判定する(S400)。外部装置から外部同期信号が入力されていない場合、S400でNOと判定される。この場合、フローは、S400に戻る。外部装置から外部同期信号が入力されている場合、S400でYESと判定される。この場合、システム制御部101は、外部装置から入力したタイムコード値を取得し、ハードウェアでデータを検知してから、ソフトウェアでタイムコード値が制御できるまでの遅延調整を行う(S401)。
図5は、外部信号検出部119が、外部入力信号を検出した場合の例を示す図である。外部装置から外部同期信号が入力されたときの水平同期信号、垂直同期信号およびタイムコードの関係は、図5に示される関係にある。上述したように、撮像装置100の記録画像サイズは1920×1080、フレームレートは30pに設定されているものとする。また、外部装置から入力した外部同期信号およびタイムコードは120Hzで入力されているものとする。図5において、外部装置からの水平同期信号5101は、外部装置から入力されている水平同期信号のパルスの例を表している。パルスの幅は1水平期間(=1H)で1ラインである。また、外部装置からの垂直同期信号5102は、外部装置から入力されている垂直同期信号のパルスの例を表している。パルスの幅は1垂直期間(=1V)で、1125ラインである。外部タイムコードの情報5103は、外部装置から入力したタイムコード情報の例を表している。
図5の例では、タイムコードのフレーム情報およびサブフレーム情報が示されているが、上述したように、タイムコードには、他に、時間、分および秒が含まれる。また、外部タイムコードには、フレーム情報およびサブフレーム情報の両者が含まれているが、内部タイムコードには、サブフレーム情報は含まれていない。外部タイムコードの1フレーム情報には4つのサブフレーム情報が割り当てられている。
内部の水平同期信号5104は、撮像装置100の内部の水平同期信号のパルスの例を表している。パルスの幅は1水平期間(=1H)で1ラインである。内部の垂直同期信号5105は、撮像装置100の内部の垂直同期信号のパルスの例を表している。パルスの幅は1垂直期間(=1V)で、1125ラインである。内部タイムコード情報5106は、撮像装置100の内部タイムコードである。システムクロック制御部123は、外部装置からの水平同期信号5101と内部の水平同期信号5104との位相合わせを行う(S402)。
図6は、図5の状態から水平同期信号の位相を合わせた場合の例を示す図である。図6に示されるように、外部装置からの水平同期信号5201と内部の水平同期信号5202とは、位相がずれている。システムクロック制御部123は、同期信号位相制御部120の制御により、水平同期信号の位相を合わせる調整制御を行う。これにより、図6の例に示されるように、外部装置からの水平同期信号5203と内部の水平同期信号5204とは、位相が合った状態になる。
同期信号位相制御部120は、外部装置からの垂直同期信号と内部の垂直同期信号との位相合わせを行うためのずれ量を算出することにより、取得する(S403)。そして、システムクロック制御部123は、取得したずれ量に基づいて、撮像装置100の内部のシステムクロックを外部装置からの垂直同期信号の位相に合わせる制御を行う。本実施形態では、基本的に、撮像装置100の内部のシステムクロックは、外部装置からの垂直同期信号に位相が合わせられて処理が行われる。
システム制御部101は、撮像装置100のシステムクロック周期を短くする方向にずらす設定がされているか否かを判定する(S404)。撮像装置100のシステムクロック周期を短くする方向にずらす設定がされていない場合、S404でNOと判定される。撮像装置100のシステムクロック周期を短くする方向にずらす設定がされている場合、S404でYESと判定される。S404でYESと判定された場合、システム制御部101は、S403で取得されたずれ量が所定量より大きいか否かを判定する(S405)。S405の判定は、S404でYESと判定された場合に行われるため、システムクロック制御部123は、システムクロック周期を短くする方向にずらす。ここで、システムクロック制御部123が、システムクロック周期を短くする方向に大きくずらす場合、システムクロック周期で制御している処理が破綻する可能性がある。そこで、システムクロック制御部123は、内部の垂直同期信号の位相をずらす量に所定量(閾値)を設定し、内部の垂直同期信号の位相を所定量ずらす制御を行う(S406)。上述した所定量は、システムクロック周期で制御している処理を破綻させないライン数である。以下、所定量を250ラインとする。例えば、撮像装置100のシステムクロックに同期している処理は、業務用端子やパネルへの映像表示等があり、これらの処理を破綻させないために、所定量が設定される。S406の処理により、内部の垂直同期信号の位相は、250ラインずらされる(S407)。
図7は、図6の状態から垂直同期信号の位相を合わせる場合の例を説明する図である。上述したように、外部装置からの水平同期信号と内部の水平同期信号との位相は合っている。一方、図7に示されるように、外部装置からの垂直同期信号5301と内部の垂直同期信号5303との位相がずれており、さらに内部の垂直同期信号5303の位相とタイムコード情報5302のサブフレーム情報との位相もずれている。以下、サブフレーム情報の位相ずれも含めた位相ずれ量が1425ラインであるものとする。また、上述したように、システムクロック周期は、短くする方向にずらされる。
本実施形態では、システムクロック制御部123は、内部の垂直同期信号の位相を、所定量ずつずらす。システムクロック制御部123は、外部装置からの垂直同期信号5301と内部の垂直同期信号5303との位相のずれ量が、所定量(250ライン)より小さくなるまで、内部の垂直同期信号の位相を、所定量ずらす制御を行う。図7に示されるように、外部装置からの垂直同期信号5301と内部の垂直同期信号5303との位相のずれ量は、1425ラインである。システムクロック制御部123は、内部の垂直同期信号の位相を所定量(250ライン)ずらす制御を5回繰り返すと、内部の垂直同期信号の位相をずらした量は、合計で1250ラインとなる。図7における内部の垂直同期信号5306は、内部の垂直同期信号5303の位相が1250ラインずらされた場合を示す。この場合、外部装置からの垂直同期信号5304と内部の垂直同期信号5306との残りの位相のずれ量は、175ラインとなっている。なお、外部装置からの垂直同期信号は変化しないため、図7の外部装置からの垂直同期信号5301と5304と5307とに変化はない。上記位相のずれ量の175ラインは、所定量(250ライン)より小さい。システムクロック制御部123は、内部の垂直同期信号5306を、残りの175ライン分ずらす制御を行う。これにより、外部装置からの垂直同期信号5307の位相と内部の垂直同期信号5309の位相と一致するため、位相合わせが完了する。
S407の処理により、内部の垂直同期信号の位相は、250ラインずらされる。このため、外部装置からの垂直同期信号と内部の垂直同期信号との位相のずれ量から、250ライン分が差し引かれる。システムクロック制御部123は、250ライン分が差し引かれた上記の位相のずれ量が正の値であるか否かを判定する(S408)。つまり、S408の判定は、位相のずれ量が「0」以下であるか否かの判定である。例えば、図7の例では、外部装置からの垂直同期信号と内部の垂直同期信号との位相のずれ量は、1425ラインであった。この場合、1425ラインから250ラインが差し引かれた値は、1175であり、正の値であるため、S412でYESと判定される。S412でYESと判定されると、フローはS403に移行する。フローがS403に移行すると、繰り返し、S407の処理が行われる。これにより、外部装置からの垂直同期信号と内部の垂直同期信号との位相のずれ量から、250ラインずつ差し引かれていく。S407の処理が5回繰り返されると、外部装置からの垂直同期信号と内部の垂直同期信号との位相合わせを行うためのずれ量は、175ラインになる。この場合、S408でYESと判定される。ずれ量が175ラインになった場合、ずれ量は、所定量(250ライン)より小さいため、S405でNOと判定される。従って、S406の処理は行われない。S407において、システムクロック制御部123は、内部の垂直同期信号を、ずれ量である175ラインずらす制御を行う。この場合、ずれ量は「0」になるため、S408でNOと判定される。
S409でNOと判定された場合、同期信号の位相は合っていないため、フローはS401に移行する。S409でYESと判定された場合、表示制御部111は、位相合わせが完了したことを示す画面を、表示部105に表示させる。図8は、位相合わせが完了したことを示す画面5401の例である。画面5401が表示部105に表示されることで、外部同期信号の位相合わせが完了したことをユーザーに通知することができる。画面5401は、記録画像サイズやフレームレート、動画像記憶部104の記録可能容量等の情報5402、および外部同期信号の位相合わせが完了したことを示す情報5403を含む。
図9において、外部装置からのタイムコード情報5503の位相と内部タイムコードの情報5506の位相とは、サブフレーム情報の2つ分ずれている。タイムコード位相制御部114は、外部装置からのタイムコードの位相と内部タイムコードの位相とを合わせる制御を行う(S411)。タイムコード位相制御部114は、外部装置から入力されたタイムコード情報に、サブフレーム情報が含まれているか否かを判定する(S412)。外部装置から入力されたタイムコード情報に、サブフレーム情報が含まれている場合は、S412でYESと判定される。この場合、タイムコード位相制御部114は、外部装置から入力されているタイムコードと内部タイムコードとの位相差を取得する(S413)。上記の場合、タイムコード位相制御部114は、サブフレーム情報の2つ分ずれていることを取得する。動画像制御部110は、S413で取得された位相差をメタデータとして、動画像データに関連付けて、動画像記憶部104に記憶する(S414)。
本実施形態では、圧縮されたビデオフレーム(動画像データ)は、タイムコード等の管理情報や音声データが、MXFというコンテナ構造で、動画像記憶部104に記憶される。このため、位相差のメタデータは、クリップの情報を1つにまとめている管理ファイルであるインデックスファイル203に記録される。これにより、クリップが再生される場合、記録時の位相差のメタデータを用いて、タイムコードの補正をかけることが可能となる。図10は、カメラAとカメラBとの各信号の関係の例を示す図である。図10において、カメラAは30Hzで動作しており、カメラBは120Hzで動作している。カメラBは120Hzで動作しているため、撮像装置100から入力される外部同期信号とタイムコードとの間に位相差はなく、位相を合わせることが可能である。しかし、カメラAは30Hzで動作しているため、外部同期信号の位相が合った場合でも、タイムコードの位相は、ずれてしまう可能性がある。図10の例では、カメラAのタイムコードの位相とカメラBのタイムコードの位相とは、サブフレーム情報の2つ分ずれている。この場合、カメラAが撮影したクリップとカメラBが撮影したクリップとがプルダウン再生されると、映像とタイムコードとの位相がずれた状態になってしまう。以下、プルダウン出力(プルダウン再生)について説明する。
図11は、プルダウン出力の処理の流れを示すフローチャートである。図11の処理が開始される際には、撮像装置100の電源は投入された状態であり、撮像装置100は起動しており、撮像装置100と外部装置から入力された外部同期信号との位相合わせは完了しているものとする。以下、タイムコードの位相差は、サブフレーム情報の2つ分であり、メタデータにフレームレートが30pであることが記録されているクリップを再生するものとして説明する。
入力制御部113は、入力部107により、記録されたクリップに対して再生開始の指示を受け付けたか否かを判定する(S601)。再生開始の要求がされていない場合、S601でNOと判定され、フローは、S601へ戻る。再生開始の指示を受け付けた場合、S601でYESと判定される。この場合、動画像制御部110は、動画像記憶部104から、再生するクリップのフレームレート情報を、クリップの情報として1つにまとめている管理ファイル(インデックスファイル203)から取得する(S602)。この際、動画像制御部110は、フレームレート情報に基づいて、再生するフレームの周波数で動作する。動画像制御部110は、動画像記憶部104から再生するクリップを読み出して、読み出されたクリップに対して伸長(デコード)を行い、表示制御部111に映像を出力する(S603)。表示制御部111は、表示部105に映像を再生表示させる。動画像制御部110は、再生するフレームのタイムコード情報を取得する(S604)。フレームに対応するメタデータは、動画像記憶部104に記憶されており、フレームのメタ情報213に記録されている。
動画像制御部110は、取得されたクリップがプルダウン出力設定になっているか否かを判定する(S605)。取得されたクリップがプルダウン出力設定になっていない場合はS605でNOと判定される。動画像制御部110は、再生するフレームレートの周期で外部出力に対して映像、音声およびタイムコードを出力する(S606)。ここで、図12(A)および(B)を参照して、プルダウン出力について説明する。30pで記録されたクリップを再生する場合、外部出力制御部124に対して出力する周波数を指定することができる。30pのクリップを120pのクリップとして外部出力制御部124に出力する場合のように、クリップの周波数と外部装置に出力する周波数とが異なるときに、プルダウン出力が設定される。
図12(A)は、30pのクリップを外部装置に対して30pのクリップで出力する場合の例を示す。図12(A)に示されるように、動画像記憶部104から読み出された映像およびタイムコードは、30Hz遅延して外部装置に出力される。図12(B)は、30pのクリップを外部装置に対して120pのクリップで出力する場合の例を示す。クリップの周波数と外部装置に出力するクリップの周波数とは異なるため、30pの映像およびタイムコードを120pに変換して外部装置に出力する必要がある。そのため、外部装置に対して同じ映像を4回、タイムコードも4回、さらにタイムコードのサブフレームを120pとして出力する必要がある。
取得されたクリップがプルダウン出力設定になっている場合は、S605でYESと判定される。この場合、動画像制御部110は、インデックスファイル203に記録されたタイムコードの位相差を動画像記憶部104から読み出す(S607)。動画像制御部110は、読み出されたタイムコードの位相差の情報を使用して、タイムコード位相制御部114にプルダウン出力するための位相調整を行わせる(S608)。動画像制御部110は、位相調整がされた映像、音声およびタイムコードを、外部出力制御部124を介して、外部装置に出力させる(S609)。S606またはS609の処理の後、システム制御部801は、再生停止指示がされたか、または読み出されたコンテンツの終端か否かを判定する(S610)。S610でNOと判定された場合、フローは、S603に移行する。S610でYESと判定された場合、図11の処理は終了する。
図13は、カメラBにおいて30pで記録されたクリップを、120pでカメラAに出力する場合の例を示す。カメラAのクリップ(コンテンツ)の周波数は120pであり、カメラBのクリップ(コンテンツ)は30pである。カメラBは、30pで記録されたクリップを120pでカメラBに出力する。図13における「カメラB位相調整前」は、プルダウン出力設定がされている場合における位相調整前の映像7306とフレーム情報7307とサブフレーム情報7308との関係を示す。図13における「カメラB位相調整後」は、位相調整後の映像7309とフレーム情報7310とサブフレーム情報7311との関係を示す。
「カメラBの位相調整前」に着目すると、カメラAのフレーム情報7302およびサブフレーム情報7303と、位相調整前のフレーム情報7307およびサブフレーム情報7308とは、サブフレーム情報が2つ分ずれている。一方、「カメラBの位相調整後」に着目すると、上記のサブフレーム情報の位相ずれが調整されている。このため、位相調整後の映像7309、フレーム情報7310およびサブフレーム情報7311は、カメラAのクリップの映像7301、フレーム情報7302およびサブフレーム情報7303と一致する。従って、位相調整後の映像7309とカメラAのクリップの映像とに、同じ時間軸上に同じタイムコードが付加される。このため、フレームレートが120pで記録されたクリップとフレームレートが30pで記録されたクリップとが、フレームレート120pでプルダウン出力された場合に、映像とタイムコードの位相関係が一致する。その結果、複数のビデオカメラで撮影した映像をタイムコードに基づいて、時間軸における映像とタイムコードの位相を保つことが可能となる。つまり、複数の映像の同期を行う際に、同期信号の位相およびタイムコードの位相を合わせることができる。
また、コンピュータ(編集装置)上で実行されるアプリケーション等により複数のビデオカメラで撮影された映像をフレーム情報単位で編集される場合がある。上記コンピュータに接続された表示装置は、タイムラインに沿って、映像およびタイムコードを並べて表示する。図14は、タイムラインに沿って並べられた映像およびタイムコードの例を示す図である。コンピュータを操作するユーザーは、表示装置(ディスプレイ等)に表示された図14の画面を視認しながら、編集作業を行う。上述したように、30pのクリップを120pとして編集する際、上記コンピュータは、位相差のメタデータを使用してタイムコードを2つ分ずらして表示装置に表示する。これにより、上記表示装置には、位相が合った状態の映像およびタイムコードが表示される。当該表示をさせる制御を、撮像装置100が、上記編集装置に対して出力してもよい。ユーザーは、タイムラインに沿って並べられた、位相が合っている映像およびタイムコードを視認しながら、編集作業を行うことができる。
<第2実施形態>
次に、第2実施形態について説明する。図15に示される第2実施形態の撮像装置800は、外部装置から入力された同期信号およびタイムコードに基づいて、タイムコードの位相ずれ量をメタデータとして記憶する。撮像装置800は、タイムコードの位相差の調整を、記憶されたメタデータを使用して行う。また、撮像装置800は、外部装置に対してプルダウン出力を行うことができ、外部装置に対して同期信号およびタイムコード情報を出力することができる。第2実施形態の撮像装置800は、第1実施形態の撮像装置100と同様、システムクロック周期を短くする方向に位相をずらすものとして説明する。図15に示される撮像装置800は、システム制御部801、タイムコード位相制御部802、外部タイムコード制御部803、外部タイムコード検出部804および外部タイムコード入出力部805が、図1に示される撮像装置100と異なる。また、図15に示される撮像装置800は、同期信号位相制御部806、外部同期信号制御部807、外部同期信号検出部808および外部同期信号入出力部809が、図1に示される撮像装置100と異なる。第2実施形態の撮像装置800の他の各部は、第1実施形態の撮像装置100と同様であるため、説明を省略する。
システム制御部801は、第1実施形態のシステム制御部101と同様、CPUやROM、RAM等を有する。タイムコード位相制御部802は、外部装置に対して出力するタイムコードの位相を調整し、調整されたタイムコードを、動画像制御部110や外部タイムコード制御部803、同期信号位相制御部806に送る。また、タイムコード位相制御部802は、タイムコード制御部115から送られてくる内部タイムコードと外部タイムコード制御部803から送られてくる外部タイムコードとの位相制御を行う。タイムコード位相制御部802は、位相制御を行う必要がある場合、同期信号位相制御部806に位相をずらす量を送る。
タイムコード位相制御部802は、外部タイムコード制御部803から外部タイムコードが送られてきた場合はタイムコード制御部115に外部タイムコードを送り、タイムコード制御部115が、撮像装置800内部のタイムコードを変更する制御を行う。また、タイムコード位相制御部802は、動画像制御部110との間でタイムコードの入出力を行う。これにより、映像にタイムコードを重畳してから圧縮(エンコード)したデータを記憶することができ、伸張(デコード)した映像からタイムコードを取得することが可能である。タイムコード位相制御部802は、位相制御したタイムコードを表示制御部111に送ることで、表示部105にタイムコードを表示することが可能である。また、タイムコード位相制御部802は、外部タイムコード制御部803に対して、位相制御したタイムコードを送ることも可能である。
外部タイムコード制御部803は、外部タイムコード検出部804から送られてくるタイムコードの周波数やサブフレーム情報の有無を検出し、検出結果をタイムコード位相制御部802に通知する。外部タイムコード制御部803は、タイムコード位相制御部802から受けたタイムコードを外部出力用のフォーマットに変換して外部タイムコード検出部804に送ることも可能である。外部タイムコード検出部804は、外部タイムコード入出力部805によりSDI端子やタイムコード端子等によりタイムコード信号が入力されたか否かをチェックする。外部タイムコード検出部804は、タイムコード信号の入力が検出された場合にタイムコード情報を抽出し、抽出したタイムコード情報を外部タイムコード検出部804に送る。また、外部タイムコード検出部804は、外部タイムコード制御部803から受けたタイムコードを、外部タイムコード入出力部805に送ることも可能である。外部タイムコード入出力部805は、外部装置に対してタイムコードを出力し、外部装置からタイムコードの入力を受け付けることができる。
同期信号位相制御部806は、外部同期信号制御部807から送られてくる外部同期信号と、システムクロック制御部123から送られてくるシステムクロックとの位相ずれ量を取得する。同期信号位相制御部806は、取得した位相ずれ量をシステムクロック制御部123に送り、撮像装置800のシステムクロックの位相をずらす要求を出す。これにより、位相のずれが調整される。また、タイムコード位相制御部802は、内部タイムコードの位相と外部タイムコードの位相とがずれている場合、タイムコードの位相ずれ量を、同期信号位相制御部806に送る。同期信号位相制御部806は、タイムコードの位相ずれ量をシステムクロック制御部123に送る。これにより、外部装置の動作周期と撮像装置800の内部の動作周期とが異なる場合であっても、システムクロック制御部123は、タイムコードのずれ量を考慮してシステムクロックの位相をずらすことができる。
同期信号位相制御部806は、表示制御部111に位相合わせが完了した通知を送ることで、表示部105は、位相合わせが完了したことを表示することが可能である。同期信号位相制御部806は、タイムコード位相制御部802から受けたタイムコードを使用して、生成した同期信号を外部同期信号制御部807に送ることも可能である。外部同期信号制御部807は、外部同期信号検出部808により検出された外部装置からの外部同期信号から水平同期信号および垂直同期信号を抽出し、同期信号位相制御部806に送る。また、外部同期信号制御部807は、同期信号位相制御部806から受けた同期信号を外部出力フォーマットに変換して外部同期信号検出部808に送る。外部同期信号検出部808は、外部同期信号入出力部809から受けた外部同期信号を検出し、外部同期信号制御部807に送る。また、外部同期信号検出部808は、外部同期信号制御部807から受けた同期信号を外部同期信号入出力部809に送る。外部同期信号入出力部809は、外部装置から入力された外部同期信号を外部同期信号検出部808に送る。また、外部同期信号入出力部809は、外部同期信号検出部808から受けた同期信号を外部装置に出力する。外部同期信号入出力部809は、出力手段に対応する。
図16のフローチャートを参照して、第2実施形態における同期信号(撮像装置800の同期信号)およびタイムコードの出力処理の流れについて説明する。上述したように、撮像装置800は、外部装置に対して、同期信号およびタイムコードを出力する。これにより、撮像装置800は、複数のビデオカメラ(外部装置)をスレーブとした場合においてマスターカメラとして機能することができる。図16のフローチャートは、撮像装置800の電源が投入された状態であり、撮像装置800が起動している状態におけるフローチャートである。
システム制御部801は、撮像装置800から外部装置に対して同期信号およびタイムコードを出力する設定になっているか否かを判定する(S901)。当該設定は、予めユーザー等により、撮像装置800に対してされていてもよい。外部装置に対して同期信号およびタイムコードを出力する設定になっていない場合、S901でNOと判定され、フローは、S901に戻る。外部装置に対して同期信号およびタイムコードを出力する設定になっている場合、S901でYESと判定される。システム制御部801は、同期信号の周波数よりタイムコードの周波数の方が大きいか否かを判定する(S902)。同期信号の周波数よりタイムコードの周波数の方が大きい場合、S902でYESと判定される。この場合、システム制御部801は、外部タイムコードにサブフレーム情報が含まれているか否かを判定する(S903)。外部タイムコードにサブフレーム情報が含まれている場合、S903でYESと判定される。この場合、同期信号位相制御部806は、タイムコードのサブフレーム情報の切り替わりのタイミングに合わせて、同期信号を外部装置に出力するように調整する(S904)。同期信号の周波数よりタイムコードの周波数の方が大きくない場合、つまり同期信号の周波数がタイムコードの周波数以下の場合、S902でNOと判定される。この場合、本実施形態によるタイムコードの位相調整は行われないため、システム制御部801は、撮像装置800の同期信号の周波数で、同期信号を出力する制御を行う(S905)。
図17は、図16のS904およびS905を説明する図である。図17の同期信号は、垂直同期信号である。図17(A)では、撮像装置800の同期信号8001とタイムコード情報8002とは、周波数が30Hzで同じである。この場合、同期信号とタイムコード情報の周波数は同じでるため、両者の位相は合っている。従って、図16のS902の判定はNOとなり、S905の処理が行われる。図17(B)では、同期信号8003の周波数は30Hzであり、タイムコード情報8004の周波数は120Hzであるため、タイムコード情報8004の周波数は、同期信号8003の周波数より大きい。従って、図16のS902の判定はYESとなり、S904の処理が行われる。従って、システムクロック制御部123は、タイムコードのサブフレーム情報の切り替わりのタイミングと同期信号の発生タイミングとを合わせる位相制御(位相調整)を行う。この位相制御が行われないと、同期信号の位相とタイムコードの位相が合わなくなる。
図17(C)では、同期信号8005の周波数は120Hzであり、タイムコード情報8006の周波数は30Hzであるため、タイムコード情報8006の周波数は、同期信号8003の周波数より小さい。この場合、図16のS902の判定はNOとなり、S905の処理が行われる。この際、同期信号の位相合わせは行われる。図17(D)では、撮像装置800の同期信号8007とタイムコード8008とは、周波数が120Hzで同じである。この場合は、同期信号とタイムコードの周波数は同じであるため、両者の位相は合っている。従って、図16のS902の判定はNOとなり、S905の処理が行われる。
以上の制御が行われることにより、同期信号の周波数とタイムコード情報の周波数とが同じ場合でも、異なる場合でも、両者の位相を一意に合わせることが可能となる。また、撮像装置800に対して、外部装置から同期信号およびタイムコード情報が入力された場合には、実施形態1と同様、タイムコード情報の位相ずれ量をメタデータとして記憶する。そして、撮像装置800は、記憶したメタデータを使用して、タイムコードの位相差の調整を行い、外部装置に対してプルダウン出力を行うことも可能である。
以上、本発明の好ましい実施の形態について説明したが、本発明は上述した各実施の形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。本発明は、上述の各実施の形態の1以上の機能を実現するプログラムを、ネットワークや記憶媒体を介してシステムや装置に供給し、そのシステム又は装置のコンピュータの1つ以上のプロセッサーがプログラムを読み出して実行する処理でも実現可能である。また、本発明は、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。