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