(57)【要約】【課題】  回路規模や消費電力を抑えながら、画素数やフレームレートが大きな動画像を記録することが可能になる。【解決手段】  処理回路１００は、撮像部４００からフレームを取得し、取得したフレームを符号化し、得られた符号化データを記録媒体２１２における、通信部１０７を介して受信した記録位置に記録し、その際のデータ量を処理回路２００に通信部１０７を介して送信する。処理回路２００は、撮像手段で撮像して得られたフレームを符号化し、得られた符号化データを従前の記録処理で決定した記録媒体２１２の記録位置に記録すると共に、処理回路１００による記録位置を決定し、決定した記録位置を通信部２０７を介しての処理回路１００に送信する。また、処理回路２００は、通信部２０７を介してデータ量を示す情報を受信した場合には、受信したデータ量に基づき記録位置を更新する。【選択図】  図１
2014127774.tif 000002
【特許請求の範囲】
【請求項１】
撮像手段と、
第１の通信部を有し、当該第１の通信部を介して受信した指示情報に従い、前記撮像手段からフレームを取得し、取得した前記フレームを符号化して符号化データを生成し、当該符号化データを記録媒体に記録する第１の処理回路と、
前記第１の通信部と通信するための第２の通信部を有し、前記撮像手段からフレームを取得し、取得した前記フレームを符号化して符号化データを生成し、当該符号化データを前記記録媒体に記録する第２の処理回路とを備え、
前記第１の処理回路は、
前記撮像手段で撮像して得られたフレームが当該第１の処理回路による処理対象のフレームである場合、前記第１の通信部を介して前記第２の処理回路より受信した前記記録媒体の記録位置に、符号化して得られた符号化データを記録すると共に、前記処理対象のフレームの符号化データのデータ量を表わす情報を前記第２の処理回路に前記第１の通信部を介して送信し、
前記第２の処理回路は、
前記撮像手段で撮像して得られたフレームが当該第２の処理回路による処理対象のフレームである場合、符号化して得られた符号化データを、従前の記録処理で決定した前記記録媒体の記録位置に記録すると共に、前記第１の処理回路による記録位置を決定し、決定した記録位置を前記第２の通信部を介して前記第１の処理回路に送信し、
前記第２の通信部を介して前記第１の処理回路よりデータ量を示す情報を受信した場合には、受信したデータ量に基づき前記記録位置を更新する
ことを特徴とする撮像装置。
【請求項２】
前記第２の処理回路は、
当該第２の処理回路によって前記記録媒体にフレームの符号化データを記録するたび、並びに、前記第１の処理回路から前記第２の通信部を介して受信したデータ量を示す情報を受信するたびに、各フレームの符号化データの前記記録媒体への記録開始位置からのオフセットアドレスを記憶する記憶手段と、
記録終了指示があった場合、記録媒体の最後の記録位置に後続して、前記記憶手段に記録された各フレームに対するオフセットアドレスを示す情報を記録するオフセット情報記録手段と
を有することを特徴とする請求項１に記載の撮像装置。
【請求項３】
前記第２の処理回路は、
前記記録終了指示があった場合、前記第２の通信部を介して前記第１の処理回路に記録終了指示情報を送信し、
当該記録終了指示があったときに未記録の符号化データがあった場合、当該符号化処理と前記記録媒体へ記録が完了してから記録処理を終了し、
前記第１の処理回路は、
前記第１の通信部を介して前記第１の処理回路から前記記録終了指示情報を受信した場合であって、未記録のデータがあった場合、当該符号化処理と前記記録媒体へ記録が完了してから記録処理を終了する
ことを特徴とする請求項１又は２に記載の撮像装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は動画像を撮像する撮像装置に関するものである。
【背景技術】
【０００２】
従来、動画を撮影してメモリカードなどの記録媒体に記録するデジタルカメラなどの撮像装置が知られている（例えば特許文献１）。民生用のデジタルカメラにおいても、近年では、画素数の大きな動画を撮影することができるものも登場している。また撮影される動画のフレームレート（単位時間あたりのフレーム数）も高くなっている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開2005-101835号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
撮影する動画の画素数やフレームレートが大きくなった場合、単位時間当たりに処理すべきデータ量が増加するため、今までよりも高速に動画データを処理する必要がある。
【０００５】
動画データの処理能力を上げるためには、記憶容量が大きく高速にアクセスが可能なメモリや、より高速に動画データを処理可能なマイクロコンピュータなどの処理回路が必要になる。
【０００６】
しかしながら、この様な高性能なメモリやマイコンを使うことは、回路規模の大型化や消費電力の増加につながる。とくに、民生用のデジタルカメラにおいては、サイズやコスト面での制約や、或いは、消費電力を極力抑えることが望まれており、高性能なメモリやマイコンを使うことができない場合がある。そのため、画素数やフレームレートが大きな動画を撮影することができないという問題があった。
【課題を解決するための手段】
【０００７】
本明細書における撮像装置は以下の構成を有する。すなわち、
撮像手段と、
第１の通信部を有し、当該第１の通信部を介して受信した指示情報に従い、前記撮像手段からフレームを取得し、取得した前記フレームを符号化して符号化データを生成し、当該符号化データを記録媒体に記録する第１の処理回路と、
前記第１の通信部と通信するための第２の通信部を有し、前記撮像手段からフレームを取得し、取得した前記フレームを符号化して符号化データを生成し、当該符号化データを前記記録媒体に記録する第２の処理回路とを備え、
前記第１の処理回路は、
前記撮像手段で撮像して得られたフレームが当該第１の処理回路による処理対象のフレームである場合、前記第１の通信部を介して前記第２の処理回路より受信した前記記録媒体の記録位置に、符号化して得られた符号化データを記録すると共に、前記処理対象のフレームの符号化データのデータ量を表わす情報を前記第２の処理回路に前記第１の通信部を介して送信し、
前記第２の処理回路は、
前記撮像手段で撮像して得られたフレームが当該第２の処理回路による処理対象のフレームである場合、符号化して得られた符号化データを、従前の記録処理で決定した前記記録媒体の記録位置に記録すると共に、前記第１の処理回路による記録位置を決定し、決定した記録位置を前記第２の通信部を介して前記第１の処理回路に送信し、
前記第２の通信部を介して前記第１の処理回路よりデータ量を示す情報を受信した場合には、受信したデータ量に基づき前記記録位置を更新することを特徴とする。
【発明の効果】
【０００８】
明細書によれば、回路規模や消費電力を抑えながら、画素数やフレームレートが大きな動画像を記録することが可能になる。
【図面の簡単な説明】
【０００９】
【図１】実施形態における撮像装置の構成を示すブロック図である。
【図２】記録される動画ファイルの構成を示す図である。
【図３】処理回路２００による記録時の処理を示すフローチャートである。
【図４】処理回路１００による記録時の処理を示すフローチャートである。
【図５】処理回路２００による符号化処理を示すフローチャートである。
【図６】処理回路１００による符号化処理を示すフローチャートである。
【図７】記録媒体における空き領域のリストを示す図である。
【図８】処理回路２００による記録停止時の処理を示すフローチャートである。
【図９】処理回路１００による記録停止時の処理を示すフローチャートである。
【図１０】記録媒体に記録されたデータと管理情報を示す図である。
【図１１】処理回路１００と処理回路２００による動画データの記録時における処理タイミングを示す図である。
【図１２】符号化される動画データの符号化方式を示す図である。
【図１３】処理回路２００による再生時の処理を示すフローチャートである。
【図１４】処理回路２００による動画データの復号処理を示すフローチャートである。
【図１５】処理回路１００による動画データの復号処理を示すフローチャートである。
【図１６】処理回路２００による表示処理を示すフローチャートである。
【図１７】処理回路１００と２００による動画データの再生時における処理タイミングを示す図である。
【図１８】記録媒体に記録されたデータと管理情報を示す図である。
【発明を実施するための形態】
【００１０】
以下、添付図面に従って本発明に係る実施形態を詳細に説明する。図１は、本実施形態にかかわる撮像装置５００の構成の一例を示すブロック図である。
【００１１】
撮像装置５００は、二つの処理回路１００（第１の処理回路）と処理回路２００（第２の処理回路）を備えている。本実施形態では、これら二つの処理回路１００、２００はそれぞれが一つの集積回路（ＩＣ）として構成される。
【００１２】
また、二つの処理回路１００と処理回路２００の間で通信を行うための専用バス３００が設けられている。処理回路１００、２００はそれぞれ独立に撮像部４００から動画データを取得することが可能である。処理回路１００、２００はそれぞれ、撮像部４００から取得した動画データを処理することが可能である。
【００１３】
次に、処理回路１００と処理回路２００の構成について説明する。処理回路１００は、画像処理部１０１、第１のＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０２、メモリ１０３、記録再生部１０４、コーデック部１０５、クロック制御部１０６、通信部１０７、バス１０８を有する。本実施形態では、メモリ１０３としてＳＤＲＡＭを使用する。また、メモリ１０３は処理回路１００に内蔵されているものとしているが、処理回路１００の外部にあっても良い。
【００１４】
ＣＰＵ１０２は、メモリ１０３に格納されているコンピュータプログラム（ソフトウエア）に従って、カメラ５００全体の動作を制御する。また、メモリ１０３は、ＣＰＵ１０２のワークエリアとしても機能する。なお、ＣＰＵ１０２のワークエリアは、メモリ１０３に限られるものではなく、ハードディスクドライブ等の外部記録装置等であってもよい。画像処理部１０１は、撮像部４００から取得した動画データに対して画素補間処理や色変換処理等の画像処理を行う。画像処理部１０１は、撮像部４００から取得したＲＧＢ色空間の動画データをＹＵＶ色空間のデータフォーマットに変換する。また、画像処理部１０１は、撮像部４００が取得した動画や、再生された動画の画素数（画面サイズ）を縮小、或いは拡大（リサイズ）する。
【００１５】
撮像部４００及び画像処理部１０１は、ＣＰＵ１０２によって、オートフォーカス（ＡＦ）処理及び自動露出制御（ＡＥ）処理を行うように制御される。ＣＰＵ１０２からＡＦ処理及びＡＥ処理を開始するように指示された場合、画像処理部１０１は、撮像部４００から取得した動画データを用いて演算処理を行う。撮像部４００及び画像処理部１０１は、この演算結果に基づいて、ＴＴＬ（スルー・ザ・レンズ）方式のＡＦ処理及びＡＥ処理を行う。
【００１６】
不図示の操作部から、ユーザによる動画撮影＆記録が指示を検出すると、ＣＰＵ１０２は、撮像部４００及び画像処理部１０１に対して露光処理や現像処理等の処理を含む撮影処理を実行させる。撮像部４００は、ＣＣＤやＣＭＯＳ等の撮像素子やＡＤ変換器等を備える。撮像部４００は、撮像素子により得られたアナログ信号をデジタルデータに変換して出力する。撮像部４００から取得された動画データは、ＹＵＶ形式の映像データとしてメモリ１０２に記憶される。メモリ１０３に記憶された動画データに対して、コーデック部１０５（第１の符号化部、第１の復号部）により符号化処理が行われ、動画データのデータ量が圧縮される。
【００１７】
記録再生部１０４は、記録時においては、符号化された動画データを記録媒体２１２に書き込む。また、再生時においては、記録媒体２１２から動画データを読み出す。コーデック部１０５は、撮影時においては、撮像部４００より取得した動画データをＨ．２６４（ＭＰＥＧ４  ＡＶＣ）等の公知の符号化方式により符号化する。また、コーデック部１０５は、再生時においては、後述の様に、記録媒体２１２から読み出された動画データを復号する。クロック制御部１０６は処理回路１００における処理タイミングを制御するための各種の動作クロックを生成する。クロック制御部１０６からのタイミング信号により、動画撮影の際に撮像部４００から動画データを取得するタイミングなどが制御される。
【００１８】
通信部１０７（第１の通信部）は、処理回路２００との間で動画データやその他必要なコマンド（指示情報）を送受信する。通信部１０７は、動画データを受信するためのデータ受信部１０７ａ、動画データを送信するためのデータ送信部１０７ｂ、制御コマンドなどのメッセージを送るためのメッセージ通信部１０７ｃを有する。通信部１０７での通信は専用のバス３００を介して行われる。それぞれの通信は独立して行うことが可能である。
【００１９】
本実施形態においては、後述の様に、再生時において処理回路１００により処理された動画データが通信部１０７により処理回路２００に送信される。
【００２０】
処理回路２００は、画像処理部２０１、第２のＣＰＵ２０２、メモリ２０３、クロック制御部２０４、コーデック部２０５、ファイル管理部２０６、通信部２０７、表示部２０８、音声制御部２０９、記録部再生部２１０、操作部２１１、バス２１３を有する。本実施形態では、メモリ２０３としてＳＤＲＡＭを使用する。また、メモリ２０３は処理回路１００に内蔵されているが、処理回路２００の外部にメモリ２０３を設けることも可能である。画像処理部２０１、第２のＣＰＵ２０２、メモリ２０３、クロック制御部２０４、コーデック部２０５、通信部２０７（第２の通信部）の各ブロックは処理回路１００における各ブロックと同様の機能を持つ。
【００２１】
処理回路２００は、撮影時には、撮像部４００から動画データを取得して、コーデック部２０５（第２の符号化部、第２の復号部）により符号化処理を行う。記録再生部２１０は、記録時においては、コーデック部２０５により符号化された動画データと、処理回路１００から送信された動画データ、及び、音声処理部２０９で生成された音声データを記録媒体２１２に記録する。記録媒体２１２は、メモリカードなどのランダムアクセス媒体である。また、本実施形態では、不図示の装着、排出機構により、容易に装着、排出が可能となっている。また、記録媒体２１２を撮像装置５００に内蔵する構成としてもよい。
【００２２】
ＣＰＵ２０２は、操作部２１１により指定された動画のフレームレートや音声有無のユーザの設定に従って動画データや音声データの記録を制御する。
【００２３】
また、記録再生部２１０は、再生時においては、後述の様にユーザによって選択されたシーンの動画データと音声データを記録媒体２１２から読み出す。コーデック部２０５は、再生時においては、記録媒体２１２から読み出された動画データと音声データを復号する。
【００２４】
画像処理部２０１（第２のリサイズ部）は、撮影時においては、撮像部４００から取得した動画データの画像サイズを表示部２０８のサイズに合わせて変更してメモリ２０３に記憶する。そして、リサイズされたデータが表示部２０８に供給されて表示される。また、再生時においては、リサイズ部２０６は、再生された動画データのサイズを表示部２０８のサイズに合わせて変更してメモリ２０３に記憶する。そして、リサイズされたデータが表示部２０８に供給されて表示される。
【００２５】
また、再生された音声データは、音声制御部２０９に供給されて出力される。表示部２０８は、液晶ディスプレイなどの表示器により構成される。表示部２０８は、撮影された動画や再生された動画の他、各種の必要な情報を表示する。ＣＰＵ２０２は、表示部２０８に表示する情報を生成して表示部２０８に送る。
【００２６】
ファイル制御部２０６は、所定のファイルシステムに従い、記録媒体２１２に記録された動画や音声をファイルとして管理する。本実施形態では、ＦＡＴファイルシステムに従い、記録媒体２１２に記録された動画ファイルを管理する。なお、本実施形態では、ファイル制御部２０６は処理回路２００に設けている。ファイル制御部２０６は、電源投入時、或いは、記録媒体が装着された場合に、記録媒体２１２からファイルシステムに係る管理情報（ＦＡＴやディレクトリエントリなど）を読み出し、メモリ２０３に記憶する。そして、記録媒体２１２に対する記録処理に伴い、メモリ２０３に記憶された管理情報を変更（更新）する。そして、動画の記録停止などの所定のタイミングで、メモリ２０３より管理情報を読み出し、記録再生部２１０により記録媒体２１２に記録することにより、記録媒体２１２の管理情報を更新する。
【００２７】
操作部２１１は、撮像装置５００を操作するためのユーザインターフェースとして機能する。操作部２１１は、撮像装置５００を操作するための電源ボタン、モード変更ボタン、シャッターボタン、十字ボタン、メニューボタン等を有し、各ボタンはスイッチ、タッチパネル等により構成される。ＣＰＵ２０２は、操作部２１１を介して入力されたユーザの指示に従って撮像装置５００を制御する。ユーザによって操作部２１１のボタンが操作された場合、操作部２１１から各ボタンに応じた操作信号がＣＰＵ２０２に入力される。ＣＰＵ２０２は操作部２１１から入力された操作信号を解析し、解析結果に応じて操作信号に対応した処理を判定する。ＣＰＵ２０２は、操作部２１１から入力された操作信号に対応した処理を実行するように撮像装置５００の各部を制御する。
【００２８】
次に、撮像装置５００において記録する動画データの形式について説明する。本実施形態では、撮影した動画、音声データを動画ファイルとして記録媒体２１２に記録する。本実施形態では、汎用のファイル形式であるＭＯＶ形式に従い動画ファイルを記録する。
【００２９】
ＭＯＶファイルは、幾つものアトム（もしくはボックス）と呼ばれるデータブロックで構成される。図２にＭＯＶファイルのファイルフォーマットを示す。図２の２２０に示すように、符号化された動画データと音声データからなるストリームデータを格納されるｍｄａｔアトム２２２と、ストリームデータに関連する管理情報が格納されるｍｏｏｖアトム２２１とから構成されている。ｍｄａｔアトム２２２は更に、符号２２５に示すように複数のチャンク（ｃｈｕｎｋ  ｃＮ）で構成される。各チャンクは符号２２６に示すように複数のサンプル（ｓａｍｐｌｅ  ｓＮ）から構成される。各サンプルは例えば、それぞれが符号化された動画データの各フレームに対応する。
【００３０】
ｍｏｏｖアトム２２１は、作成日時等が記録されるヘッダ情報であるｍｖｈｄアトム２２３と、管理情報が格納されるｔｒａｋアトム２２４を有する。ｔｒａｋアトム２２４には、各サンプルのサイズの情報を格納するｓｔｓｚアトム２２８が格納される。また、ｔｒａｋアトム２２４には、各チャンク内のサンプル数の情報を格納するｓｔｓｃアトム２２９が格納される。また、ｔｒａｋアトム２２４には、ｍｄａｔアトム２２２の各チャンクへのファイル先頭からのオフセット値（バイト数）の情報を格納するｓｔｃｏアトム２３０が格納される。
【００３１】
ｓｔｓｚアトム２２８、ｓｔｓｃアトム２２９、ｓｔｃｏアトム２３０に格納されるデータのデータ量は、記録された動画、音声データの量、すなわち記録時間と伴に増大していく。例えば１秒間３０フレームの画像を１５フレーム毎１チャンクに格納した場合、２時間で１メガバイトほどのデータとなる。また、ｍｏｏｖアトム２２１に格納される管理情報の内容は記録が終了するまでは確定されない。また、ｍｏｏｖアトム２２１のサイズは記録時間に応じて増加するため、記録が終了するまではｍｏｏｖアトム２２１のサイズが確定されない。そのため、ｍｄａｔアトム２２２をファイル先頭に配置し、記録終了時にｍｏｏｖアトム２２１をｍｄａｔアトム２２２の後続する位置に配置する。
【００３２】
なお、ＭＯＶ形式の動画ファイルを再生する場合には、先にｍｏｏｖアトム２２１を読み出し、ｍｏｏｖアトム２２１に格納された管理情報より各チャンクへのアクセスが可能となる。そのため、ｍｏｏｖアトム２２１をｍｄａｔアトム２２２の後ろに配置するよりも、ファイルの先頭にｍｏｏｖアトム２２１を配置することで、ｍｏｏｖアトム２２１へのアクセスが容易になるような構造で記録することが望ましい。
【００３３】
次に、撮像装置５００における記録時の処理について説明する。
【００３４】
まず、各処理回路１００、２００が処理するフレームについて説明する。前述の様に、本実施形態では、動画データをＨ．２６４方式に従い符号化する。Ｈ．２６４では、フレーム内予測符号化、前方予測フレーム間予測符号化、及び、双方向予測フレーム間予測符号化の三つの符号化方式を用いる。また、Ｈ．２６４では、これらの符号化方式をスライスという単位で選択することができるが、本実施形態では、１フレームを一つのスライスとし、フレーム毎に符号化方式を選択する構成とした。フレーム内予測符号化により符号化するフレームをＩフレーム、前方予測フレーム間予測符号化により符号化するフレームをＰフレーム、双方向予測フレーム間予測符号化により符号化するフレームをＢフレームと呼ぶ。
【００３５】
本実施形態においては、処理回路１００、２００がそれぞれ符号化した二系統の動画データは、一系統の動画データとして記録媒体２１２記録される。そこで、本実施形態では、各処理回路１００、２００は、動画データの各フレームをフレーム内予測符号化により符号化する。これにより、符号化の際に、参照フレームの情報を処理回路１００と２００の間で送受信しなくて済む。ただし、フレーム内予測だけでなく、フレーム間予測符号化を用いることも可能である。その場合、フレーム間予測のための参照フレームの情報を、処理回路１００と２００の間で送受信することが必要となる。
【００３６】
図１２の符号１２０１は処理回路２００が生成する動画データ、１２０２は処理回路１００が生成する動画データ、１２０３は記録媒体２１２に記録される動画データを表している。この様に、処理回路１００、２００は、撮像部４００により生成される動画データを１フレームおきに交互に取得して符号化処理を行う。即ち、処理回路２００は、処理回路１００が処理するフレームとは異なるフレームの動画データを処理する。
【００３７】
そのため、各処理回路１００、２００それぞれに係る負荷は、符号化すべきフレームレートの符号化処理の負荷の約半分になる。これを別な表現で言えば、本実施形態によれば、処理回路１００、２００に係る負荷の２倍の負荷に相当するフレームレートもしくは解像度の動画像を記録することができることを意味する。
【００３８】
また、処理回路２００では、動画データの各フレームをＩＤＲ（Ｉｎｓｔａｎｔａｎｅｏｕｓ  Ｄｅｃｏｄｉｎｇ  Ｒｅｆｒｅｓｈ）−Ｉフレームとして符号化する。Ｈ．２６４符号化では、Ｉフレームを飛び越してフレーム間予測符号化を行うことが可能である。一方、ＩＤＲ−Ｉのフレームを飛び越したフレーム間予測は禁止される。一方、処理回路１００では、記録開始の指示の後の先頭フレームをＩＤＲ−Ｉフレームとして符号化し、２フレーム目以降のフレームは通常のＩフレームとして符号化する。ＩＤＲ−Ｉフレームには、それぞれ、idr_pic_idと呼ばれるＩＤを付加する必要がある。また、Ｈ．２６４では、隣接するＩＤＲ−Ｉフレームのidr_pic_idに同じ値を付加することができない。例えば、処理回路１００及び２００が、先頭から全てＩＤＲ−Ｉフレームとして符号化を行い、また、idr_pic_idとして同じ値を付加した場合には、これらを一つにまとめると、隣接するＩＤＲ−Ｉフレームのidr_pic_idの値が同じになる場合がある。
【００３９】
また、idr_pic_idのデータはゴロム符号化されており、更に、不定長の長さで記述されている。そのため、処理回路１００と２００により生成された動画データを結合した後で、idr_pic_idの値を変更することは困難である。そこで、本形態では、処理回路１００により生成される動画データについては、２フレーム以降をＩフレームとして符号化し、後述の様に、先頭のＩＤＲ−Ｉフレームを記録しないようにして、idr_pic_idを変更しなくても済むようにしている。
【００４０】
次に、処理回路２００による動画データの記録開始時の処理について図３のフローチャートを用いて説明する。図３の処理は処理回路２００のＣＰＵ２０２が各部を制御することにより実行される。
【００４１】
操作部２１１により電源が投入されると、ＣＰＵ２０２は撮像装置５００を撮影モードに設定する。そして、ＣＰＵ２０２は、クロック制御部２０４によるタイミング信号の生成を開始し、このタイミング信号に従って撮像部４００を制御して、撮像部４００による動画の撮影動作を開始する。なお、本実施形態では、撮像部４００は１フレームが水平３８４０画素×垂直２１６０画素で、フレームレートが３０フレーム毎秒（ｆｐｓ）の動画データを出力する。ＣＰＵ２０２は、クロック制御部２０４からのタイミング信号に従って撮像部４００から動画データを取得して、メモリ２０３に記憶する。そして、画像処理部２０１によりメモリ２０３に記憶された動画データのサイズを変更して再度メモリ２０３に記憶する。表示部２０８は、メモリ２０３より動画データの各フレームを読み出して表示する。
【００４２】
この様な撮影待機状態において、操作部２１１から記録開始の指示があると、ＣＰＵ２０２は、通信部２０７のメッセージ通信部２０７ｃを介して記録準備処理のコマンドを処理回路１００に通知する（Ｓ３０１）。処理回路１００の処理は図４のフローチャートを用いて後述する。次に、ＣＰＵ２０２は、処理回路２００における記録準備処理を行う（Ｓ３０２）。具体的には、ＣＰＵ２０２は、符号化処理する動画のフレームレート、符号化後の目標データレート、符号化形態（処理回路２００では全てＩＤＲ−Ｉフレームとして符号化する）などを設定する。また、ＣＰＵ２０２は、記録準備処理のコマンドと共に、符号化処理する動画のフレームレート、符号化後の目標データレートなどの情報もメッセージ通信部２０７ｃにより処理回路１００に通知する。
【００４３】
次に、処理回路１００から、動画記録開始の準備が完了した旨の通知をメッセージ通信部２０７ｃにより受信したら（Ｓ３０３）、ＣＰＵ２０２は、処理回路１００とのフレーム読み出しの同期処理を行う（Ｓ３０４）。具体的には、ＣＰＵ２０２は、メッセージ通信部２０７ｃより、処理回路１００による動画データの処理タイミングを示す制御コマンドを処理回路１００に送信する。これにより、処理回路１００と処理回路２００とが、撮像部４００により得られる動画データを１フレームおきに交互に処理するように制御される。次に、ＣＰＵ２０２は、クロック制御部２０４のタイミング信号に応じて、撮像部４００から動画データを取得し、動画データの符号化処理を開始する（Ｓ３０５）。
【００４４】
次に、処理回路１００による動画データの記録開始時の処理について、図４のフローチャートを用いて説明する。図４の処理は処理回路１００のＣＰＵ１０２が各部を制御することにより実行される。
【００４５】
上記の様に、メッセージ通信部１０７ｃにより、処理回路２００から記録開始を通知するコマンドが受信されると（Ｓ４０１）、ＣＰＵ１０２は、処理回路１００の記録準備処理を行う（Ｓ４０２）。具体的には、ＣＰＵ１０２は、符号化処理する動画のフレームレート、符号化後の目標データレート、符号化形態（処理回路１００では、１フレーム目はダミーのＩＤＲ−Ｉフレーム、２フレーム目以降が全てＩフレームとして符号化される）などを設定する。
【００４６】
次に、コーデック部１０５を用いてダミーデータの符号化処理が実行される（Ｓ４０３）。ＣＰＵ１０２は、撮像部４００より１フレームの動画データを取得し、ＩＤＲ−Ｉフレームとして符号化する。ここで符号化されるフレームは、図１２の１２０２における先頭のフレームである。ここで符号化されたフレームはダミーデータであり、実際には記録されないため、処理回路２００には送信されず、破棄される。このように先頭フレームを記録せずに破棄することで、記録される動画へのタイムラグが発生してしまう事を回避することが可能である。
【００４７】
次に、ＣＰＵ１０２は、メッセージ通信部１０７ｃより、記録準備が完了した旨のコマンドを処理回路２００に送信する（Ｓ４０４）。その後、メッセージ通信部１０７ｃにより同期処理のタイミングを示すコマンドが受信されると、ＣＰＵ１０２は、処理回路２００とは異なるフレームを処理するように、クロック制御部１０６による動画データの処理タイミングを変更する（Ｓ４０５）。次に、ＣＰＵ１０２は、クロック制御部１０４からのタイミング信号に従って撮像部４００より動画データを取得して符号化処理を開始する（Ｓ４０６）。
【００４８】
この様に、処理回路１００と２００は、撮像部４００により得られる動画データを１フレームおきに交互に取得して符号化処理を行う。
【００４９】
次に、各処理回路における記録処理について説明する。図５は処理回路２００における符号化処理を示すフローチャートである。図５の処理はＣＰＵ２０２が各部を制御することにより実行される。まず、記録に先立ち、ファイル制御部２０６は、記録媒体２１２から読み出した管理情報（ＦＡＴ）に基づいて、記録媒体２１２における空き領域を判別する。図７（ａ）は、記録開始時における空き領域の例を示す図である。クラスタのバイトサイズが「0x1000」で、連続する未使用クラスタが「0x1〜0x10」「0x18〜0x20」「0x50〜0x80」であった場合、図７（ａ）に示すような開始アドレスと終了アドレスからなる未使用アドレスリストが生成される。ファイル制御部２０６は、図７に示すリストを作成してメモリ２０３に記憶し、この空き領域のテーブルに基づいて、記録媒体２１２に対してデータを書き込むための書き込みアドレスを決める。
【００５０】
ＣＰＵ２０２は、ファイル制御部２０６に対し、新たに動画ファイルを作成するように指示する（Ｓ５０１）。ファイル制御部２０６は、記録媒体２１２上に新たなファイルを、書込み用としてオープンする。次に、ＣＰＵ２０２は、タイミング制御部２０４からのタイミング信号に基づき、撮像部４００から動画データを取得するタイミングであるか否か、換言すれば、撮像部４００からの画像データが処理回路２００の処理対象か否かを判別する（Ｓ５０２）。処理タイミングでない場合はステップＳ５０７に進む。
【００５１】
動画データの処理タイミングであった場合、ＣＰＵ２０２は、撮像部４００から１フレームの動画データを取得し、画像処理部２０１にてＹＵＶ色空間データに変換した後、メモリ２０３に記憶する（Ｓ５０３）。次に、ＣＰＵ２０２は、コーデック部２０５により、メモリ２０３に記憶された動画データを符号化し、メモリ２０３に記憶する（Ｓ５０４）。１フレームの符号化処理が完了した場合、制御部２０２は、ファイル制御部２０６に対し、この１フレームの符号化データの書き込みを指示する。ファイル制御部２０６は、記録媒体２１２の空き領域から書き込みアドレス（記録位置）を決定し、記録再生部２１０に対しデータの書き込みを指示する。
【００５２】
なお、このとき、後述のＳ５０７において、処理回路１００より、直前のフレームのデータ量の情報が送信されておらず、記録媒体２１２における書き込みアドレスが決定できないことがある。その場合、ＣＰＵ２０２は、書き込みアドレスが決まるまで、符号化されたデータをメモリ２０３に保持しておく。そして、書き込みアドレスが決まると、記録再生部２０９はメモリ２０３より符号化データを読み出し、記録媒体２１２の指定されたアドレスに書き込む（Ｓ５０５）。データの書き込みが完了した場合、ファイル制御部２０６は、メモリ２０３に記憶された管理情報の内容を更新すると共に、空き領域のリストも更新する（Ｓ５０６）。図７（ｂ）は、１フレーム目のデータの書き込み後の空き領域のリストを示している。
【００５３】
また、ＣＰＵ２０２は、コーデック部２０５からのデータサイズの情報に基づいて、各フレームのファイル先頭、すなわち、記録開始位置からの相対位置（オフセットアドレス）を算出し、メモリ２０３に記憶する。この処理は、後述するｍｏｏｖアトムを作成するためである。
【００５４】
図１０（ａ）〜図１０（ｃ）は、動画記録中における記録媒体２１２の記録状態１００２、１００４、１００６、及び、ＦＡＴ１００１、１００３、１００５の内容を示している。図１０では、記録媒体２１２の先頭アドレス（０ｘ００００）から６クラスタ分の記録領域を示している。記録媒体２１２の空き領域が図７（ａ）に示す状態である場合、先頭アドレスから１フレーム分の動画データ（符号化データ）が書き込まれる。その結果、１フレーム目の動画データが領域１００７に書き込まれている。領域１００７は１クラスタ目と２クラスタ目に渡っているので、ファイル制御部１０６は、ＦＡＴの内容を、状態１００１に示すように更新する。
【００５５】
次に、ＣＰＵ２０２は、処理回路１００から、符号化されたデータのデータ量の情報が受信されたか否かを判別する（Ｓ５０７）。ここで、処理回路１００より符号化データのデータ量の情報が通知されたとする。この場合、ＣＰＵ２０２は、記録再生部２１０により記録媒体２１２に直前に書き込まれた動画データの終端の書き込みアドレスに基づき、処理回路１００のための符号化データの書き込みアドレスを決定する。そして、決定した書き込みアドレスをデータ送信部２０７ａより処理回路１００に送信する（Ｓ５０８）。このとき、その書込みアドレスを、後述するｍｏｏｖアトムの作成に備え、メモリ２０３にも記憶しておく。
【００５６】
上記のように、ＣＰＵ２０２は、直前に書き込まれた動画データの最終書き込みアドレスに連続して処理回路１００が符号化データを書き込むように、書き込みアドレスを決定する。例えば、図１０（ａ）の状態で処理回路１００より符号化データのデータ量の情報を受信した場合、領域１００７の最終アドレスの次のアドレスから、処理回路１００からのデータ量を加えたアドレスまでを書き込みアドレスとして決定する。
【００５７】
また、ＣＰＵ２０２は、処理回路１００より送信されたデータサイズの情報に基づいて、このフレームのファイル先頭からの位置（オフセット）を算出し、メモリ２０３に記憶する。
【００５８】
このように書き込みアドレスの情報を送信した後、ＣＰＵ２０２は、処理回路１００から符号化データの書き込み完了の通知が送信されたか否かを判別する（Ｓ５０９）。書き込み完了の通知がデータ受信部２０７ｂにより受信された場合、ＣＰＵ２０２は、ファイル制御部２０６に対し、ＦＡＴを更新するように指示する。ファイル制御部２０６は、処理回路１００による書き込みに応じて、メモリ２０３に記憶されたＦＡＴの内容を更新する（Ｓ５１０）。例えば、処理回路１００から書込み完了の通知を受けたとする。この場合、処理回路１００に設定した書込みアドレス（処理回路２００が従前に記憶した際の最後の書込みアドレス＋１と等価）に、処理回路１００から通知されたデータ量を加算した値を、処理回路２００における次の書込みアドレスとして決定（更新）する。更に、ファイル制御部２０６は、メモリ２０３に記憶された空き領域のリストも更新する。図７（ｃ）は、２フレーム目のデータの書き込み後の空き領域のリストを示している。
【００５９】
例えば、図１０（ｂ）において、処理回路１００はＣＰＵ２０２により指定された書き込みアドレスに従い、領域１００８に１フレームの動画データを書き込む。そして、ファイル制御部２０６は、この領域１００８へのデータの書き込みに従い、状態１００３に示すようにＦＡＴの内容を更新する。
【００６０】
次に、ＣＰＵ２０２は、操作部２１１より記録停止の指示が出力されたか否かを判別する（Ｓ５１１）。記録停止の指示が無い場合、ＣＰＵ２０２は、Ｓ５０２に戻って処理を続ける。また、記録停止の指示が出力された場合、ＣＰＵ２０２は、記録停止処理を実行する（Ｓ５１２）。
【００６１】
このように、処理回路２００では、処理回路１００による符号化データ書き込みの完了を待たずに、次フレームの処理タイミングとなった場合にはその処理を実行可能としている。これにより、処理回路２００における処理負担を軽減することを実現している。
【００６２】
図６は処理回路１００における符号化処理を示すフローチャートである。図６の処理はＣＰＵ１０２が各部を制御することにより実行される。ＣＰＵ１０２は、クロック制御部１０６からのタイミング信号に基づき、撮像部４００から動画データを取得するタイミングであるか否か判別する（Ｓ６０１）。処理タイミングでない場合はステップＳ６０５に進む。
【００６３】
動画データの処理タイミングであった場合、ＣＰＵ１０２は、撮像部４００から１フレームの動画データを取得し、画像処理部１０１にてＹＵＶ色空間データに変換した後メモリ１０３に記憶する（Ｓ６０２）。次に、ＣＰＵ１０２は、コーデック部１０５により、メモリ１０３に記憶された動画データを符号化し、メモリ１０３に記憶する（Ｓ６０３）。１フレームの符号化処理が完了した場合、その１フレームの動画データのサイズの情報をメッセージ通信部１０７ｃにより処理回路２００に送信する。なお、処理回路２００に対する符号化データのデータ量の情報の送信は、ＣＰＵ１０２の制御により不定期に実行される。
【００６４】
次に、ＣＰＵ１０２は、処理回路２００から、記録媒体２１２における書き込みアドレスの情報が受信されたか否かを判別する（Ｓ６０５）。書き込みアドレスの情報が受信されていた場合、ＣＰＵ１０２は、記録媒体２１２における、指定された書き込みアドレスから、メモリ１０３に記憶された１フレームの符号化データを書き込むように記録再生部１０４に指示する。記録再生部１０４は、メモリ１０３より１フレームの符号化された動画データを読み出し、記録媒体２１２の指定された書き込みアドレスに書き込む（Ｓ６０６）。
【００６５】
符号化データの書き込みが完了すると、ＣＰＵ１０２は、メッセージ通銀部１０７ｃにより、書き込み完了の通知を処理回路２００に送信する（Ｓ６０７）。そして、ＣＰＵ１０２は、処理回路２００より記録停止の通知を受信したか否かを判別する（Ｓ６０８）。記録停止の通知が無い場合、ＣＰＵ１０２は、Ｓ６０１に戻って処理を続ける。また、記録停止の通知があった場合、ＣＰＵ１０２は、記録停止処理を実行する（Ｓ６０９）。
【００６６】
次に、記録停止時の処理について説明する。図８は、記録停止時における処理回路２００の処理を示すフローチャートである。図８の処理はＣＰＵ２０２が各部を制御することにより実現される。
【００６７】
操作部材２１１より記録停止の指示（もしくは記録終了指示）があった場合、ＣＰＵ２０２は、メッセージ通信２０７ｃにより、処理回路１００に対して記録停止（記録終了指示情報）を通知する（Ｓ８０１）。次に、ＣＰＵ２０２は、コーデック部２０５の符号化処理を停止し（Ｓ８０２）、未記録のデータがメモリ２０３に記憶されているかどうかを判別する（Ｓ８０３）。ここで、ＣＰＵ２０２は、フレームのタイミングに同期して操作部２１１からの記録停止の指示を検出する。そのため、ＣＰＵ２０２は、記録停止の指示を検出した時点でコーデック部２０５がフレームの符号化中であった場合は、符号化中のフレームの符号化が完了したことに応じてコーデック部２０５による符号化処理を停止させる。この場合、符号化された動画データは未記録のデータとしてメモリ２０３に記憶される。
【００６８】
未記録のデータがメモリ２０３に記憶されていた場合、ＣＰＵ２０２は、この符号化データを記録するようにファイル制御部２０６に指示する。ファイル制御部２０６は、前記のように記録媒体２１２の書き込みアドレスを指定し、符号化データを記録するように記録再生部２０９に指示する。記録再生部２０９はメモリ２０３より符号化データを読み出して記録媒体２１２に記録する（Ｓ８０４）。
【００６９】
また、Ｓ８０３において、未記録のデータがメモリ２０３に記憶されていない場合、ＣＰＵ２０２は、処理回路１００より、未記録データありの通知を受けたか否かを判別する（Ｓ８０５）。処理回路１００より未記録データありの通知を受けた場合、ＣＰＵ２０２は、処理回路１００からデータ量の情報を受信しているか否かを判別する（Ｓ８０６）。処理回路１００より符号化データのデータ量の情報が通知された場合、ＣＰＵ２０２は、前記のように、記録再生部２１０により記録媒体２１２に直前に書き込まれた動画データの終端の書き込みアドレスに基づいて、処理回路１００による符号化データの書き込みアドレスを決定する。そして、決定した書き込みアドレスをデータ送信部２０７ａより処理回路１００に送信する（Ｓ８０７）。次に、ＣＰＵ２０２は、処理回路１００より記録完了の通知を受けたか否かを判別する（Ｓ８０８）。
【００７０】
処理回路１００より記録完了の通知を受けた場合、ＣＰＵ２０２は、メモリ２０３に記憶されたオフセットのデータに基づいて、記録媒体２１２に記録されたＭＯＶファイルのｍｏｏｖデータを生成する。そして、ＣＰＵ２０２は、ファイル制御部２０６に対し、このｍｏｏｖデータを記録するように指示する。ファイル制御部２０６は、記録媒体２１２における空き領域を検出し、ｍｏｏｖデータの書き込みアドレスを決定する。そして、この書き込みアドレスにｍｏｏｖデータを記録するように、記録再生部２０９に指示する。記録再生部２０９は、Ｓ８０９にて、メモリ２０３よりｍｏｏｖのデータを読み出して、記録媒体２１２に記録する（オフセット情報記録処理）。
【００７１】
図１０（ｄ）〜（ｆ）は、記録停止処理における記録媒体２１２の記録状態１０１２、１０１４、１０１６、及び、ＦＡＴ１０１１、１０１３、１０１５の内容を示している。図１０（ｄ）は、動画データの記録が完了した状態を示している。図１０（ｅ）は、ｍｏｏｖデータが書き込まれた状態を示している。
【００７２】
ｍｏｏｖデータの書き込みが完了すると、ＣＰＵ２０２は、記録中のファイルをクローズするようにファイル制御部２０６に指示する（Ｓ８１０）。このとき、ＣＰＵ２０２は、一つのＭＯＶファイル内で、ｍｏｏｖアトムの後にｍｄａｔアトムが配置されるように、ファイル制御部２０６に指示する。ファイル制御部２０６は、記録が完了したＭＯＶファイルの記録アドレスに従ってメモリ２０３に記憶された管理情報を更新した後、この管理情報を記録媒体２１２の所定のアドレスに書き込むように記録再生部２０９に指示する。記録再生部２０９は、メモリ２０３より管理情報を読み出し、記録媒体２１２に記録することにより、記録媒体２１２の管理情報を更新する（Ｓ８１１）。また、ファイル制御部２０６は、メモリ２０３に記憶された、空き領域のリストを更新する。図１０（ｆ）は、ファイルクローズ処理が完了した時点でのＭＯＶファイルとＦＡＴの状態を示している。１０１５に示すように、ｍｏｏｖが記録されている６クラスタの次に、ｍｄａｔの先頭である１クラスタが連続するように、ＦＡＴが更新されている。
【００７３】
図９は、記録停止時における処理回路１００の処理を示すフローチャートである。図９の処理はＣＰＵ１０２が各部を制御することにより実現される。
【００７４】
メッセージ通信部１０７ｃにより処理回路２００から記録停止のコマンドを受信するとフローが開始され、ＣＰＵ１０２は、コーデック部１０５の符号化処理を停止する（Ｓ９０１）。次に、ＣＰＵ１０２は、未送信の符号化データがメモリ１０３に記憶されているか否かを判別し（Ｓ９０２）、未転送データがある場合はデータ送信部１０７ｂにより処理回路２００に未記録データありの通知を送信する（Ｓ９０３）。そして、ＣＰＵ１０２は、前述のように、処理回路２００に対して符号化された動画データのデータ量の情報を送信し（Ｓ９０４）、処理回路２００から書き込みアドレスの通知があったか否かを判別する（Ｓ９０５）。
【００７５】
書き込みアドレスを受信した場合、ＣＰＵ１０２は、符号化データを記録するように、記録再生部１０４に指示する。記録再生部１０４は、メモリ１０３から符号化データを読み出し、記録媒体２１２に記録する（Ｓ９０６）。記録媒体２１２への符号化データの記録が終了した場合、ＣＰＵ１０２は、メッセージ通信部１０７ｃにより、全ての符号化データの記録が完了した旨を処理回路２００に通知する（Ｓ９０７）。また、Ｓ９０２で、未記録データがメモリ１０３に記憶されていない場合は、ＣＰＵ１０２は、未記録データ無しの通知を処理回路２００に通知する。
【００７６】
次に、図１１を用いて各処理回路１００、２００による動画データの符号化処理のタイミングについて説明する。
【００７７】
図１１において、符号１１０１は記録される動画データのフレームレートに対応したフレームの周期である。本実施形態では、撮像部４００により生成される動画データのフレームレートと記録される動画のフレームレートが共に３０ｆｐｓなので、フレーム間隔１１０１は１／３０秒である。１１０２は処理回路２００による動画データの各フレームを処理するフレーム間隔である。１１０３は処理回路１００による動画データの各フレームを処理するフレーム間隔である。処理回路１００と２００は、撮像部４００から出力される動画データを１フレームおきに交互に処理するため、フレーム間隔１１０２、１１０３はそれぞれ、記録される動画のフレーム間隔の２倍の間隔である。
【００７８】
符号１１０４は処理回路２００が撮像部４００から１フレーム分の動画データを取得する期間、１１０５は処理回路２００が１フレームの動画データを符号化処理する期間である。１１０６は処理回路１００が撮像部４００から１フレーム分の動画データを取得する期間、１１０７は処理回路１００が１フレームの動画データを符号化処理する期間である。１１０８は処理回路１００から処理回路２００に符号化データを送信する期間である。
【００７９】
また、１１０９は処理回路１００から処理回路２００に対して符号化データのデータ量の情報を送信する処理を示している。１１１０は処理回路２００から処理回路１００に対する書き込みアドレスを通知する処理を示している。１１１１は、処理回路１００による符号化データの書き込みの完了通知を示している。
【００８０】
図１１に示すように、フレーム間隔１１０１に対応したフレームレートの動画データを処理回路１００と２００の何れか一方で処理する場合、フレーム間隔１１０１の期間内に１フレームの動画データの取得及び符号化処理を完了しなくてはならない。
【００８１】
一方、本実施形態では、二つの処理回路１００と２００が並列に動画データを符号化処理するため、各処理回路は、フレーム間隔１１０１の期間内に１フレームの動画データの取得及び符号化処理を完了しなくてもよい。
【００８２】
そして、本実施形態では、処理回路１００により１フレームの動画の符号化処理が完了した場合に、符号化データのデータ量の情報を処理回路２００に送信する。そのため、処理回路２００では、処理回路１００から符号化データのデータ量を受信する前に次のフレームの符号化処理を開始することが可能となる。
【００８３】
また、処理回路２００により、処理回路１００による符号化データの書き込みアドレスを決定し、処理回路１００に送信することにより、記録媒体２１２に対し、動画データが撮影された順に記録される。
【００８４】
次に、再生処理について説明する。ここでは、再生表示する対象は本装置が有する表示部２０８とする。実施形態における撮像部４００は、水平３８４０画素×垂直２１６０画素の高い解像度を有するが、表示部２０８はそこまでの解像度は持たない。そこで、復号して得られたフレーム画像を縮小して表示することになる。
【００８５】
図１３は、再生時における処理回路２００の処理を示すフローチャートである。図１３の処理は、ＣＰＵ２０２が各部を制御することにより実現される。操作部２１１より再生モードへの切り替え指示があった場合、ＣＰＵ２０２は、記録再生部２１０に対し、記録媒体２１２に記録された各動画ファイルを管理する管理ファイルを読み出すように指示する。そして、ＣＰＵ２０２は、読み出された管理ファイルに基づき、記録媒体２１２に記録された各動画ファイルのインデックス画面を表示部２０８に表示する。ユーザが操作部２１１を操作して、表示部２０８に表示された動画ファイルの一つを選択して再生開始を指示すると、図１３の処理が開始される。
【００８６】
ＣＰＵ２０２は、ユーザにより選択された動画ファイルのファイル名等の識別情報をメッセージ通信部２０７ｃにより処理回路１００に通知する（Ｓ１３０１）。次に、ＣＰＵ２０２は、記録再生部２１０を制御して、選択された動画ファイルのｍｏｏｖアトムのデータを読み出し、メモリ２０３に記憶する（Ｓ１３０２）。また、処理回路１００のＣＰＵ１０２は、Ｓ１３０１にて処理回路２００から通知された動画ファイルの情報に基づき、記録再生部１０４に対し、記録媒体２１２から選択された動画ファイルのｍｏｏｖアトムの読み出しを指示する。記録再生部１０４は、記録媒体２１２から選択された動画ファイルのｍｏｏｖアトムを読み出し、メモリ１０３に記憶する。ＣＰＵ１０２は、ｍｏｏｖアトムのデータをメモリ１０３に記憶すると、再生準備完了を示す情報をメッセージ通信部１０７ｃにより処理回路２００に送信する。これにより、動画データの再生処理のために必要な情報を、処理回路１００と２００の間で共有することになる。
【００８７】
ＣＰＵ２０２は、このように処理回路１００から再生準備完了の通知を待つ（Ｓ１３０３）。再生準備完了の通知を受けた場合、ＣＰＵ２０２は、クロック制御部２０４を制御して、動画データの復号タイミングを示すデコードクロックと表示部２０８の表示タイミングを示す表示クロックの出力を開始する（Ｓ１３０４）。デコードクロックは、ｍｏｏｖアトムの情報に基づき決定される。また、ＣＰＵ１０２は、クロック制御部１０４を制御して、デコードクロックの出力を開始する。また、表示クロックは、表示部２０８の能力により決定され。
【００８８】
次に、ＣＰＵ２０２は、復号された動画データを用いて表示用画面を生成する処理を実行し（Ｓ１３０５）、生成された表示用画面を表示部２０８に表示する（Ｓ１３０６）。そして、ＣＰＵ２０２は、操作部２１１より再生停止の指示があったか否かを判別し、再生停止の指示があるまで処理を継続する。
【００８９】
各処理回路１００、２００は、それぞれデコードクロックに応じたタイミングで動画データの復号処理を実行する。また、後述の様に、処理回路２００では、表示クロックに応じたタイミングで再生画像の縮小処理を実行して表示画面を生成する。一方、処理回路１００では、表示タイミングとは独立したタイミングで再生画像の縮小処理を実行して表示画面を生成する。
【００９０】
また、後述の様に、本実施形態では、処理回路１００と２００は１フレームおきに交互に再生された動画データの復号処理を行う。そのため、動画データにおいて、処理回路１００が処理すべきフレームの番号は、Ｓ１３０１において、処理回路２００から処理回路１００にメッセージ通信部２０７ｃを介して通知される。
【００９１】
また、Ｓ１３０６の表示処理においては、表示クロックに対応したタイミングで、生成された表示画面を表示部２０８に表示する。このとき表示するフレームは、処理回路１００側で生成したものと、処理回路２００側で生成したものがある。どちらの処理回路で生成したフレームを使うかを判定する処理は後述する。
【００９２】
次に、処理回路２００による表示画面の生成処理（Ｓ１３０５）について説明する。図１４は処理回路２００による表示画面の生成処理を示すフローチャートである。図１４の処理はＣＰＵ２０２が各部を制御することにより実行される。
【００９３】
処理回路２００は、デコードクロックに応じたタイミングで１フレームの動画データを復号し、また、表示クロックに応じたタイミングで復号された動画データのサイズを、表示部２０８の解像度に合わせるべく縮小し、表示画面を生成する。
【００９４】
まず、ＣＰＵ２０２は、デコードクロックによるデコードタイミングであるか否かを判別する（Ｓ１４０１）。デコードタイミングであった場合、ＣＰＵ２０２は、記録再生部２１０に対し、１フレームの動画データの読み出しを要求する。そして、ＣＰＵ２０２は、コーデック部２０５により、読み出された１フレームの動画データを復号し（Ｓ１４０２）、復号された動画データをメモリ２０３に記憶する（Ｓ１４０３）。
【００９５】
次に、ＣＰＵ２０２は、表示クロックによるデコードタイミングであるか否かを判別する（Ｓ１４０４）。表示タイミングであった場合、ＣＰＵ２０２は、画像処理部２０１を制御して、メモリ２０３に記憶された復号済みの１フレームの動画データのサイズを縮小し、メモリ２０３の表示用画面の記憶領域に記憶する（Ｓ１４０６）。ＣＰＵ２０２は、図１４の処理を繰り返すことで、再生停止の指示があるまでの間、表示用画面を生成する。
【００９６】
次に、処理回路１００による表示画面の生成処理について説明する。図１５は処理回路１００による表示画面の生成処理を示すフローチャートである。図１５の処理はＣＰＵ１０２が各部を制御することにより実行されるものである。
【００９７】
処理回路１００は、デコードクロックに応じたタイミングで１フレームの動画データを復号し、引き続き復号された動画データの画面サイズの縮小処理を実行する。
【００９８】
まず、ＣＰＵ１０２は、デコードクロックによるデコードタイミングであるか否かを判別する（Ｓ１５０１）。デコードタイミングであった場合、ＣＰＵ１０２は、記録再生部１０４に対し、１フレームの動画データの読み出しを要求する。記録再生部１０４は、記録媒体２１２より指定された動画データを読み出して、メモリ１０３に記憶する。コーデック部２０５は、メモリ１０３に記憶された１フレームの動画データを復号し（Ｓ１５０２）、復号された動画データをメモリ１０３に記憶する（Ｓ１５０３）。
【００９９】
１フレームの動画データの復号処理が完了すると、ＣＰＵ１０２は、画像処理部１０１を制御して、メモリ１０３に記憶された復号済みの１フレームの動画データのサイズを表示画面２０８の解像度に合わせて縮小する。そして、ＣＰＵ１０２は、縮小した動画データをデータ送信部１０７ｂにより処理回路２００に送信する。データ受信部２０７ｂは、受信した動画データをメモリ２０３の表示用画面の記憶領域に記憶する（Ｓ１５０５）。ＣＰＵ１０２は、図１５の処理を繰り返すことで、再生停止の指示があるまでの間、表示用画面を生成する。
【０１００】
このように、処理回路１００と処理回路２００では、リサイズ処理の手順を異ならせることにより、メモリの効率的な利用と再生速度の維持を両立させる。つまり、処理回路２００では、表示部２０８の表示タイミングにあわせてリサイズ処理を行う。これにより、リサイズ済のフレームを保存しておくためのメモリ２０３の記憶領域を最小限にとどめ、メモリ２０３を効率的に利用することができる。また、データバス３００を通して動画データを転送する処理回路１００では、デコード処理、リサイズ処理、転送処理を連続して行うことで、データバス３００の通信のためのオーバーヘッド分を補い、処理回路２００に早く復号済みの動画データを送信する。なお、本実施形態では、メモリ２０３の表示用画面の記憶領域として、３フレーム分の記憶領域を用意している。そして、新たに１フレームのリサイズ処理が完了すると、一番古いフレームのデータを消去して新たなフレームのデータを記憶する。
【０１０１】
次に、処理回路２００における、復号された動画データの表示処理について説明する。図１６は、処理回路２００による表示処理を説明するためのフローチャートである。図１６の処理はＣＰＵ２０２が各部を制御することにより実行される。また、図１６の処理は、表示クロックに応じて実行される。
【０１０２】
まず、ＣＰＵ２０２は、表示するフレームのフレーム番号を更新する（Ｓ１６０１）。フレーム番号とは、ここでは、動画の先頭から数えて何枚目のフレームかを示す番号である。先頭を１とし、次が２、さらにその次が３といったように、１ずつ増えるものとする。本実施形態では、デコードクロックを用いて表示フレーム番号を更新する。即ち、最後に表示フレーム番号を更新してから、ステップＳ１６０１までの間にデコードクロックが発生していれば表示フレーム番号を１増やし、そうでなければ表示フレーム番号は変更しない。
【０１０３】
次に、ＣＰＵ２０２は、表示フレーム番号と、処理回路２００によりリサイズされてメモリ２０３に記憶されたフレームのフレーム番号を比較する（Ｓ１６０２）。これらのフレーム番号が一致している場合（Ｓ１６０３）、ＣＰＵ２０２は、処理回路２００によりリサイズ処理されたフレームの動画データをメモリ２０３より読み出し、表示部２０８に供給して表示する（Ｓ１６０４）。
【０１０４】
一方、表示フレーム番号と、処理回路２００によりリサイズ処理されたフレーム番号が一致しない場合（Ｓ１６０３）、ＣＰＵ２０２は、処理回路２００によりリサイズされてメモリ２０３に記憶されたフレームのフレーム番号を比較する（Ｓ１６０５）。これらのフレーム番号が一致しているか否かを判定する（Ｓ１６０６）。一致している場合、ＣＰＵ２０２は、処理回路１００によりリサイズ処理されてメモリ２０３に記憶されたフレームの動画データをメモリ２０３より読み出し、表示部２０８に供給して表示する（Ｓ１６０７）。
【０１０５】
また、表示フレーム番号と、処理回路１００によりリサイズ処理されたフレーム番号が一致しない場合、ＣＰＵ２０２は、メモリ２０３に記憶されたリサイズ済みのフレームのうち、表示フレーム番号に最も近いフレームを選択する。そして、ＣＰＵ２０２は、選択したフレームの動画データをメモリ２０３より読み出し、表示部２０８に送って表示する（Ｓ１６０８）。
【０１０６】
図１７は、再生時における処理回路１００と２００による動画データの復号、表示処理を示すタイミングチャートである。図１７に示す様に、各処理回路１００、２００はそれぞれ、デコードクロックに対応したタイミングで１フレームの動画データを復号する。また、処理回路１００では、動画データの復号処理に引き続いてリサイズ処理を実行し、リサイズ処理に引き続いて、リサイズされたフレームのデータを処理回路２００に送信する。
【０１０７】
一方、処理回路２００では、動画データの復号処理が完了した後、すぐにリサイズ処理を行うのではなく、次の表示クロックに対応したタイミングでリサイズ処理を実行する。
【０１０８】
この様に、本実施形態では、二つの処理回路を使って、画素数とフレームレートが大きい動画データを再生することができる。さらに、二つの処理回路を使って動画データを再生する際、メモリを効率的に利用し、処理回路の間でのデータ転送のためのオーバーヘッドを補うことが可能となる。
【０１０９】
以上実施形態における符号化と復号に係る処理を説明した。なお、本実施形態では、図５の処理において、１フレームの動画データの符号化が完了したことに応じて、処理回路２００による書き込みアドレスを決定し、記録媒体２１２に符号化データを書き込む構成だが、これ以外の構成でもよい。即ち、１フレームの動画データの符号化が完了した時点で、ＣＰＵ２０２によりこの１フレームの符号化データの書き込みアドレスを決定しておき、記録媒体２１２への書き込みを行わないようにする。そして、メモリ２０３に記憶された符号化データのデータ量が、書き込み開始のための閾値に達したことに応じて、記録再生部２０９により予め決定された各フレームの書き込みアドレスに符号化データを書き込むようにする。
【０１１０】
また、図６の処理においても同様に、処理回路２００から書き込みアドレスを受信した時点では、この書き込みアドレスの情報を記憶しておき、符号化データの記録は行わない構成としてもよい。そして、メモリ１０３に記憶された符号化データが書き込みのための閾値に達したことに応じて、記録再生部１０４により、予め決定された各フレームの書き込みアドレスに符号化データを書き込むようにする。
【０１１１】
そして、ファイル制御部２０６は、記録再生部２０９、及び、記録再生部１０４によるデータの書き込みが完了したことに応じて、メモリ２０３に記憶された管理情報を更新する。
【０１１２】
このように構成することで、処理回路１００から、１フレームの符号化データの書き込みが完了する毎に書き込み完了の通知を処理回路２００に通知する必要がなくなる。
【０１１３】
また、各処理回路においては、メモリ１０３、或いはメモリ２０３に記憶された未記録データのデータ量がそれぞれ閾値に達した時点で記録媒体２１２への書き込み非同期に行われるので、書き込みタイミングが重複する可能性がある。
【０１１４】
この場合は、記録再生部２０９よりＣＰＵ２０２に記録タイミングが重複している旨を知らせ、ＣＰＵ２０２は、各処理回路から１フレーム分の符号化データを交互に書き込むように、処理回路１００のＣＰＵ１０２に対し、書き込みタイミング指示する。
【０１１５】
また、本実施形態では、書き込みアドレスを決める場合に、処理回路１００と処理回路２００により記録されるデータの記憶領域（論理アドレス）が記録媒体２１２上で連続するように、書き込みアドレスが決定される。
【０１１６】
これ以外にも、例えば、記録媒体２１２におけるデータの書き込み単位に基づいて書き込みアドレスを決めるようにしてもよい。
【０１１７】
すなわち、記録媒体２１２は、図１８に示すように、クラスタ単位でデータの書き込みが行われる。そのため、図１８（ａ）に示すように、１フレーム目の符号化データが、２クラスタの途中まで書き込まれた場合、２クラスタにおける残りの領域には無効データ（パディングデータ）を書き込む。そして、２フレーム目の書き込みアドレスを、３クラスタの先頭アドレスに設定する。そのため、２フレーム目のデータは、図１８（ｂ）に示すように、３クラスタの先頭アドレスから書き込まれる。また、２フレーム目のデータが４クラスタの途中まで書き込まれた場合、４クラスタにおける残りの領域には無効データを書き込み、３フレーム目の書き込みアドレスを、５クラスタの先頭アドレスに設定する。
【０１１８】
このように書き込みアドレスを、記録媒体２１２の書き込み単位に基づいて決めることで、例えば、この書き込み単位で書き込んだ場合に書き込み速度が保証されるメモリカードを用いた場合に、高速に動画データを書き込むことが可能となる。そのため、符号化された動画データのデータレートが高くなった場合でも、確実に記録することが可能となる。
【０１１９】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2014127774.tif 000003
【図２】
2014127774.tif 000004
【図３】
2014127774.tif 000005
【図４】
2014127774.tif 000006
【図５】
2014127774.tif 000007
【図６】
2014127774.tif 000008
【図７】
2014127774.tif 000009
【図８】
2014127774.tif 000010
【図９】
2014127774.tif 000011
【図１０】
2014127774.tif 000012
【図１１】
2014127774.tif 000013
【図１２】
2014127774.tif 000014
【図１３】
2014127774.tif 000015
【図１４】
2014127774.tif 000016
【図１５】
2014127774.tif 000017
【図１６】
2014127774.tif 000018
【図１７】
2014127774.tif 000019
【図１８】
2014127774.tif 000020