(57)【要約】【課題】コストの低減及び更なる低消費電力化が可能な動画像再生装置等を提供する。【解決手段】携帯電話装置１は、メインシステム２と、サブシステム３とを有する。サブシステム３は、記録カード７に記録されている動画像ファイル内のインデックス情報を読み出してメインシステム２に転送する。メインシステム２は、転送されたインデックス情報に基づいて、動画像ファイル内の複数のフレームデータをそれぞれ復号するために用いる複数の情報であるデコードフレームアレイを生成する。メインシステム２は、デコードフレームアレイを複数の群に分けて群単位でサブシステム３に転送し、複数の群の内の１つを送信した後から複数の群の内の次の１つを送信するまでの間、低消費電力モードに移行する。サブシステム３は、メインシステム３から転送されたデコードフレームを用いて、動画像ファイル内のフレームデータを復号する。【選択図】図１
2007306443.tif 000002
【特許請求の範囲】
【請求項１】
動画像ファイルに基づく動画像を再生するための装置であって、
第１及び第２の処理部を具備し、
前記動画像ファイルが、当該動画像ファイル内の複数の符号化されたフレームデータのインデックス情報を含む第１の形式のファイルである場合に、
前記第１の処理部が、前記インデックス情報に基づいて、前記動画像ファイル内の複数の符号化されたフレームデータをそれぞれ復号するために用いられる複数の情報を生成して前記第２の処理部に送信し、
前記第２の処理部が、前記複数の情報を用いて、前記動画像ファイル内の複数の符号化されたフレームデータをそれぞれ復号し、復号したフレームデータに基づいて動画像を再生すること
を特徴とする、動画像再生装置。
【請求項２】
前記第１の処理部が、前記複数の情報を複数の群に分けて群単位で前記第２の処理部に送信し、前記複数の群の内の１つを送信した後から前記複数の群の内の次の１つを送信するまでの間、低消費電力モードに移行する、請求項１記載の動画像再生装置。
【請求項３】
ユーザから早送り指示入力又は巻き戻し指示入力があった場合に、
前記第１の処理部が、前記複数の情報の中から早送り再生開始フレーム又は巻き戻し再生開始フレーム以降のフレームに該当する情報を前記第２の処理部に送信し、
前記第２の処理部が、前記第１の処理部から送信された前記早送り再生開始フレーム又は巻き戻し再生開始フレーム以降のフレームに該当する情報に基づいて、前記早送り再生開始フレーム又は前記巻き戻し再生開始フレームから再生を行う、請求項１又は２記載の動画像再生装置。
【請求項４】
動画像ファイルに基づく動画像を再生するための装置であって、
第１及び第２の処理部を具備し、
前記動画像ファイルが、当該動画像ファイル内の複数の符号化されたフレームデータのインデックス情報を含まない第２の形式のファイルである場合に、
前記第２の処理部が、前記動画像ファイルを分析することにより前記複数の情報を生成し、前記複数の情報を用いて、前記動画像ファイル内の複数の符号化されたフレームデータをそれぞれ復号し、復号したフレームデータに基づいて動画像を再生すること
を特徴とする、動画像再生装置。
【請求項５】
前記第２の処理部が、前記複数の情報を前記第１の処理部に送信し、
ユーザから巻き戻し指示入力があった場合に、
前記第１の処理部が、前記複数の情報の中から巻き戻し再生開始フレーム以降のフレームに該当する情報を前記第２の処理部に送信し、
前記第２の処理部が、前記第１の処理部から送信された前記巻き戻し再生開始フレーム以降のフレームに該当する該当する情報に基づいて、前記前記巻き戻し再生開始フレームから再生を行う、請求項４記載の動画像再生装置。
【請求項６】
前記情報が、当該情報を用いて復号されるフレームデータの符号化方式に関する情報、当該情報を用いて復号される符号化されたフレームデータのデータ長に関する情報、当該情報を用いて復号される符号化されたフレームデータの復号を開始する時刻に関する情報、当該情報を用いて復号されたフレームデータを表示する時刻に関する情報、及び／又は、当該情報が前記第１の処理部から前記第２の処理部に送信されたか否かを表す情報を含む、請求項１〜５のいずれか１項に記載の動画像再生装置。
【請求項７】
前記情報が、前記第２の処理部が当該情報を用いて符号化されたフレームデータの復号を行うときの前記第２の処理部の動作クロック周波数を決定する情報を更に含み、
前記第１又は第２の処理部が、前記第２の処理部が前記情報を用いて符号化されたフレームデータを復号するときに、当該情報内の前記動作クロック周波数を決定する情報に基づいて、前記第２の処理部の動作クロック周波数を調整する、請求項６記載の動画像再生装置。
【請求項８】
前記第１の処理部が、前記動画像ファイルに基づく動画像を再生するために前記第２の処理部内のＣＰＵが実行するためのプログラムを前記第２の処理部内の記憶手段に送信し、
前記第２の処理部内の前記ＣＰＵが、前記第２の処理部内の前記記憶手段に記憶された前記プログラムを実行することにより、前記動画像ファイルに基づく動画像を再生する、請求項１〜７のいずれか１項に記載の動画像再生装置。
【請求項９】
形式の異なる複数の前記動画像ファイルに基づく複数の動画像を再生する場合に、
前記第１の処理部が、１つの形式の前記動画像ファイルに基づく動画像を再生するために前記第２の処理部内の前記ＣＰＵが実行するための第１のプログラムを前記第２の処理部に送信し、
前記第２の処理部内の前記ＣＰＵが、前記第１のプログラムを実行することにより、前記１つの形式の動画像ファイルに基づく動画像を再生し、
前記第１の処理部が、他の形式の前記動画像ファイルに基づく動画像を再生するために前記第２の処理部内の前記ＣＰＵが実行するための第２のプログラムを前記第２の処理部に送信し、
前記第２の処理部内の前記ＣＰＵが、前記第２のプログラムを実行することにより、前記他の形式の動画像ファイルに基づく動画像を再生する、請求項８記載の動画像再生装置。
【請求項１０】
第１及び第２の処理部を具備する装置において動画像ファイルに基づく動画像を再生するための方法であって、
前記動画像ファイルが、当該動画像ファイル内の複数の符号化されたフレームデータのインデックス情報を含む第１の形式のファイルである場合に、
前記第１の処理部において、前記インデックス情報に基づいて、前記動画像ファイル内の複数の符号化されたフレームデータをそれぞれ復号するために用いられる複数の情報を生成して前記第２の処理部に送信するステップと、
前記第２の処理部において、前記複数の情報を用いて、前記動画像ファイル内の複数の符号化されたフレームデータをそれぞれ復号し、復号したフレームデータに基づいて動画像を再生するステップと、
を具備する、動画像再生方法。
【請求項１１】
第１及び第２の処理部を具備する装置において動画像ファイルに基づく動画像を再生するための方法であって、
前記動画像ファイルが、当該動画像ファイル内の複数の符号化されたフレームデータのインデックス情報を含まない第２の形式のファイルである場合に、
前記第２の処理部において、前記動画像ファイルを分析することにより前記複数の情報を生成するステップと、
前記第２の処理部において、前記複数の情報を用いて、前記動画像ファイル内の複数の符号化されたフレームデータをそれぞれ復号し、復号したフレームデータに基づいて動画像を再生するステップと、
を具備する、動画像再生方法。
【請求項１２】
第１及び第２の処理部を具備する装置に動画像ファイルに基づく動画像を再生させるためのプログラムであって、
前記動画像ファイルが、当該動画像ファイル内の複数の符号化されたフレームデータのインデックス情報を含む第１の形式のファイルである場合に、
前記第１の処理部において、前記インデックス情報に基づいて、前記動画像ファイル内の複数の符号化されたフレームデータをそれぞれ復号するために用いられる複数の情報を生成して前記第２の処理部に送信する手順と、
前記第２の処理部において、前記複数の情報を用いて、前記動画像ファイル内の複数の符号化されたフレームデータをそれぞれ復号し、復号したフレームデータに基づいて動画像を再生する手順と、
を実行させるための動画像再生プログラム。
【請求項１３】
第１及び第２の処理部を具備する装置に動画像ファイルに基づく動画像を再生させるためのプログラムであって、
前記動画像ファイルが、当該動画像ファイル内の複数の符号化されたフレームデータのインデックス情報を含まない第２の形式のファイルである場合に、
前記第２の処理部において、前記動画像ファイルを分析することにより前記複数の情報を生成する手順と、
前記第２の処理部において、前記複数の情報を用いて、前記動画像ファイル内の複数の符号化されたフレームデータをそれぞれ復号し、復号したフレームデータに基づいて動画像を再生する手順と、
を実行させるための動画像再生プログラム。
【請求項１４】
前記第２の処理部のデバイスドライバであることを特徴とする、請求項１２又は１３記載の動画像再生プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像ファイルに基づく動画像を再生するための動画像再生装置及び方法及びプログラムに関する。
【背景技術】
【０００２】
近年、動画像を再生するための携帯メディアプレーヤと呼ばれる装置が製造、販売、使用されている。また、携帯電話装置、ＰＤＡ（携帯情報端末）等においても、動画像を再生する機能を有する製品が使用されている。これらの装置においては、低消費電力化の要請が強い。
【０００３】
このような事情に鑑み、本出願人は、データ長に基づいて演算器のクロック周波数を決定することが可能な省電力デコーダを提案した（例えば、下記の特許文献１参照）。この省電力デコーダによれば、データ長に基づいて演算器のクロック周波数を調整することができ、消費電力を低減することができる。
【０００４】
また、上記のような携帯メディアプレーヤ等の装置において、２つの処理部を具備することも行われるようになってきている。
このような事情に鑑み、本出願人は、動画像データを記憶する入力バッファおよび出力バッファを備え、フレームを単位として符号化された動画像を再生する動画像再生装置であって、処理予定のフレームのデータ量と、出力バッファにおいて残されている記憶可能なデータ量である残存データ量とに基づいて、動画像データの再生処理速度を調整する再生速度調整部を含むことを特徴とする動画像再生装置を提案した（例えば、下記の特許文献２参照）。特許文献２掲載の動画像再生装置によれば、再生処理速度を調整すること等により、消費電力の低減を図ることができる。
【０００５】
しかしながら、２つの処理部を具備する動画像再生装置において、コストの低減及び更なる低消費電力化が求められている。
【０００６】
【特許文献１】特許第３６３３５７２号公報
【特許文献２】特開２００３−２７４４０２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
そこで、上記の点に鑑み、本発明は、２つの処理部を具備する動画像再生装置であって、コストの低減及び低消費電力化を実現することができる動画像再生装置を提供することを第１の目的とする。また、本発明は、そのような動画像再生方法を提供することを第２の目的とする。また、本発明は、そのような動画像再生プログラムを提供することを第３の目的とする。
【課題を解決するための手段】
【０００８】
上記の課題を解決するため、本発明の第１の観点に係る動画像再生装置は、動画像ファイルに基づく動画像を再生するための装置であって、第１及び第２の処理部を具備し、動画像ファイルが、当該動画像ファイル内の複数の符号化されたフレームデータのインデックス情報を含む第１の形式のファイルである場合に、第１の処理部が、インデックス情報に基づいて、動画像ファイル内の複数の符号化されたフレームデータをそれぞれ復号するために用いられる複数の情報を生成して第２の処理部に送信し、第２の処理部が、複数の情報を用いて、動画像ファイル内の複数の符号化されたフレームデータをそれぞれ復号し、復号したフレームデータに基づいて動画像を再生することを特徴とする。これにより、第２の処理部の処理負荷及びワークエリアを低減することができ、装置全体としてのコストを低減することができる。
【０００９】
この動画像処理装置において、第１の処理部が、複数の情報を複数の群に分けて群単位で第２の処理部に送信し、複数の群の内の１つを送信した後から複数の群の内の次の１つを送信するまでの間、低消費電力モードに移行するようにしても良い。これにより、第１の処理部の消費電力を低減することができる。
【００１０】
また、ユーザから早送り指示入力又は巻き戻し指示入力があった場合に、第１の処理部が、複数の情報の中から早送り再生開始フレーム又は巻き戻し再生開始フレームに該当する情報を第２の処理部に送信し、第２の処理部が、第１の処理部から送信された早送り再生開始フレーム又は巻き戻し再生開始フレームに該当する情報に基づいて、早送り再生開始フレーム又は巻き戻し再生開始フレームから再生を行うようにしても良い。
【００１１】
また、上記の課題を解決するため、本発明の第２の観点に係る動画像再生装置は、動画像ファイルに基づく動画像を再生するための装置であって、第１及び第２の処理部を具備し、動画像ファイルが、当該動画像ファイル内の複数の符号化されたフレームデータのインデックス情報を含まない第２の形式のファイルである場合に、第２の処理部が、動画像ファイルを分析することにより複数の情報を生成し、複数の情報を用いて、動画像ファイル内の複数の符号化されたフレームデータをそれぞれ復号し、復号したフレームデータに基づいて動画像を再生することを特徴とする。
【００１２】
この動画像再生装置において、第２の処理部が、複数の情報を第１の処理部に送信し、ユーザから巻き戻し指示入力があった場合に、第１の処理部が、複数の情報の中から巻き戻し再生開始フレームに該当する情報を第２の処理部に送信し、第２の処理部が、第１の処理部から送信された巻き戻し再生開始フレームに該当する情報に基づいて、巻き戻し再生開始フレームから再生を行うようにしても良い。
【００１３】
本発明の第１及び第２の観点に係る動画像再生装置において、情報が、当該情報を用いて復号されるフレームデータの符号化方式に関する情報、当該情報を用いて復号される符号化されたフレームデータのデータ長に関する情報、当該情報を用いて復号される符号化されたフレームデータの復号を開始する時刻に関する情報、当該情報を用いて復号されたフレームデータを表示する時刻に関する情報、及び／又は、当該情報が第１の処理部から第２の処理部に送信されたか否かを表す情報を含むようにしても良い。
【００１４】
さらに、情報が、第２の処理部が当該情報を用いて符号化されたフレームデータの復号を行うときの第２の処理部の動作クロック周波数を決定する情報を更に含み、第１又は第２の処理部が、第２の処理部が情報を用いて符号化されたフレームデータを復号するときに、当該情報内の動作クロック周波数を決定する情報に基づいて、第２の処理部の動作クロック周波数を調整するようにしても良い。
【００１５】
また、第１の処理部が、動画像ファイルに基づく動画像を再生するために第２の処理部内のＣＰＵが実行するためのプログラムを第２の処理部内の記憶手段に送信し、第２の処理部内のＣＰＵが、第２の処理部内の記憶手段に記憶されたプログラムを実行することにより、動画像ファイルに基づく動画像を再生するようにしても良い。これにより、第２の処理部においてプログラムを格納しておく必要をなくすことができ、第２の処理部のコストを低減することができる。
【００１６】
また、形式の異なる複数の動画像ファイルに基づく複数の動画像を再生する場合に、第１の処理部が、１つの形式の動画像ファイルに基づく動画像を再生するために第２の処理部内のＣＰＵが実行するための第１のプログラムを第２の処理部に送信し、第２の処理部内のＣＰＵが、第１のプログラムを実行することにより、１つの形式の動画像ファイルに基づく動画像を再生し、第１の処理部が、他の形式の動画像ファイルに基づく動画像を再生するために第２の処理部内のＣＰＵが実行するための第２のプログラムを第２の処理部に送信し、第２の処理部内のＣＰＵが、第２のプログラムを実行することにより、他の形式の動画像ファイルに基づく動画像を再生するようにしても良い。これにより、形式の異なる複数の動画像ファイルに基づく複数の動画像を再生する場合であっても、第２の処理部においてプログラムを格納しておく必要をなくすことができ、第２の処理部のコストを低減することができる。
【００１７】
また、上記の課題を解決するため、本発明の第１の観点に係る動画像再生方法は、第１及び第２の処理部を具備する装置において動画像ファイルに基づく動画像を再生するための方法であって、動画像ファイルが、当該動画像ファイル内の複数の符号化されたフレームデータのインデックス情報を含む第１の形式のファイルである場合に、第１の処理部において、インデックス情報に基づいて、動画像ファイル内の複数の符号化されたフレームデータをそれぞれ復号するために用いられる複数の情報を生成して第２の処理部に送信するステップと、第２の処理部において、複数の情報を用いて、動画像ファイル内の複数の符号化されたフレームデータをそれぞれ復号し、復号したフレームデータに基づいて動画像を再生するステップとを具備する。
【００１８】
また、上記の課題を解決するため、本発明の第２の観点に係る動画像再生方法は、第１及び第２の処理部を具備する装置において動画像ファイルに基づく動画像を再生するための方法であって、動画像ファイルが、当該動画像ファイル内の複数の符号化されたフレームデータのインデックス情報を含まない第２の形式のファイルである場合に、第２の処理部において、動画像ファイルを分析することにより複数の情報を生成するステップと、第２の処理部において、複数の情報を用いて、動画像ファイル内の複数の符号化されたフレームデータをそれぞれ復号し、復号したフレームデータに基づいて動画像を再生するステップとを具備する。
【００１９】
また、上記の課題を解決するため、本発明の第１の観点に係る動画像再生プログラムは、第１及び第２の処理部を具備する装置に動画像ファイルに基づく動画像を再生させるためのプログラムであって、動画像ファイルが、当該動画像ファイル内の複数の符号化されたフレームデータのインデックス情報を含む第１の形式のファイルである場合に、第１の処理部において、インデックス情報に基づいて、動画像ファイル内の複数の符号化されたフレームデータをそれぞれ復号するために用いられる複数の情報を生成して第２の処理部に送信する手順と、第２の処理部において、複数の情報を用いて、動画像ファイル内の複数の符号化されたフレームデータをそれぞれ復号し、復号したフレームデータに基づいて動画像を再生する手順とを実行させる。
【００２０】
また、上記の課題を解決するため、本発明の第２の観点に係る動画像再生プログラムは、第１及び第２の処理部を具備する装置に動画像ファイルに基づく動画像を再生させるためのプログラムであって、動画像ファイルが、当該動画像ファイル内の複数の符号化されたフレームデータのインデックス情報を含まない第２の形式のファイルである場合に、第２の処理部において、動画像ファイルを分析することにより複数の情報を生成する手順と、第２の処理部において、複数の情報を用いて、動画像ファイル内の複数の符号化されたフレームデータをそれぞれ復号し、復号したフレームデータに基づいて動画像を再生する手順とを実行させる。
【００２１】
本発明の第１及び第２の観点に係る動画像再生プログラムが、第２の処理部のデバイスドライバであることとしても良い。
【発明を実施するための最良の形態】
【００２２】
以下、図面を参照しながら、本発明の実施の形態について説明する。なお、同一の構成要素については、同一の参照番号で示している。
【００２３】
図１は、本発明の一実施形態に係る携帯電話装置の概要を示す図である。本実施形態は、本発明を携帯電話装置に適用したものである。図１に示すように、この携帯電話装置１は、メインシステム２と、サブシステム３とを有している。
【００２４】
メインシステム２は、携帯電話装置１全体の制御を行うためのシステムであり、メインＣＰＵ２１、メインメモリ２２、及び、ＲＯＭ２３を有している。メインＣＰＵ２１、メインメモリ２２、及び、ＲＯＭ２３は、バスＢ１を介して相互に接続されている。バスＢ１には、更に、通信部４及び入力部５も接続されている。通信部４は、アンテナ６を介して携帯電話基地局と通信を行う。入力部５は、ユーザが種々の入力を行うためのキー、ボタン、スイッチ、マイクロフォン等である。
【００２５】
メインメモリ２２としては、例えば、ＳＤＲＡＭ（Synchronous Dynamic Random Access Memory）をはじめとするＤＲＡＭやＳＲＡＭ（Static Random Access Memory）等を利用することができる。一般に、メインメモリには大きな容量が必要とされる。そのため、メインＣＰＵ２１に対して外付けとなるので実装面積は大きいが、１ビット当たりのコストが低いＤＲＡＭを利用することが好適であると考えられる。また、ＲＯＭ２３としては、例えば、マスクＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ等を利用することができる。ＲＯＭ２３には、後に説明する種々のプログラムやデータが格納されている。
【００２６】
サブシステム３は、画像の表示、音声の出力等を行うためのシステムであり、サブＣＰＵ３１、サブメモリ３２、ホストインタフェース３３、カードインタフェース３４、音声出力制御回路３５、及び、表示制御回路３６を有している。サブＣＰＵ３１、サブメモリ３２、ホストインタフェース３３、カードインタフェース３４、音声出力制御回路３５、及び、表示制御回路３６は、バスＢ２を介して相互に接続されている。
【００２７】
サブメモリ３２としては、例えば、ＤＲＡＭやＳＲＡＭ等を利用することができる。一般に、画像の表示処理には高速性が必要とされること、実装面積の制約等から、１ビット当たりのコストは高いがＳＲＡＭを利用することが好適であると考えられる。このサブメモリ３２の容量をできるだけ小さくすることで、サブシステム３のコストを低減することができる。なお、サブシステム３を、１つのチップ上に集積した半導体集積回路とすることもできる。この場合、サブメモリ３２の実装面積の制約は、より強くなる。
【００２８】
ホストインタフェース３３は、バスＢ１とバスＢ２との間のデータや制御信号の送受信を行うための回路である。
カードインタフェース３４は、記録媒体としての記録カード７に接続されており、サブＣＰＵ３１の制御下で、記録カード７に記録されている動画像ファイルを読み込むための回路である。なお、記録カード７としては、例えば、不揮発性メモリを用いた記録媒体（例えば、ｍｉｎｉＳＤカード（登録商標）等）、磁気記録媒体（例えば、マイクロドライブ（登録商標）等）のほか、光学的記録媒体等の種々の記録媒体を利用することができる。
【００２９】
なお、画像の表示、音声の出力等を行わないときには、サブシステム３が低消費電力モードに移行し、画像の表示、音声の出力等を行うときに、サブシステム３が通常動作モードに復帰するようにすることで、消費電力を低減することができる。一般に、低消費電力モードは、サブシステム３の一部又は全部の動作を停止したり、サブシステム３の一部又は全部への電力供給を停止したり、サブシステム３の一部又は全部に供給される電圧を低くしたり、サブシステム３の一部又は全部の動作クロック周波数を低下させること等により実現される。
【００３０】
図２は、記録カード７に記録される動画像ファイルのファイルフォーマットの一例を示す図である。動画像ファイルは、一般に、ヘッダとデコードデータパケットとを有する。ヘッダは、ファイル全体に関わる情報、例えば、コンテンツ名、デコードフレーム位置、デコードフレーム入力時間、デコードフレーム出力時間、圧縮方式（符号化方式）、フレームレート等を含んでいる。デコードデータパケットは、圧縮（符号化）された複数のフレームデータ及び音声データを含んでいる。図２に示すファイルフォーマットにおいては、各フレームデータのインデックス情報（アドレス情報）が、ヘッダに含まれている。なお、図２に示すファイルフォーマットを用いて、種々の圧縮（符号化）方式に基づいて圧縮（符号化）された動画像データを格納することが可能である。
【００３１】
再び図１を参照すると、音声出力制御回路３５は、スピーカ８に接続されており、サブＣＰＵ３１の制御下で、ディジタル音声データをＤ／Ａ変換及び増幅し、スピーカ８に音声の出力を行わせる。
表示制御回路３６は、表示パネル９（例えば、ＬＣＤ（Liquid Crystal Display）等）に接続されたＬＣＤドライバ等であり、サブＣＰＵ３１の制御下で、表示パネル９に画像の表示を行わせる。なお、表示パネル９として、ＬＣＤのほか、有機ＥＬ（Electro Luminescense）パネル等を利用することができる。
【００３２】
次に、記録カード７に記録されている動画像ファイルに基づいて動画像を表示するためのメインシステム２及びサブシステム３の処理について説明する。
【００３３】
図３〜図５は、図２に示すファイルフォーマットの動画像ファイルに基づいて動画像を表示する場合におけるメインシステム２及びサブシステム３の処理を示すフローチャートである。以下、図３〜図５を参照しながら、メインシステム２及びサブシステム３の処理について説明する。
【００３４】
まず、メインシステム２（より詳細には、メインＣＰＵ２１）が、ＲＯＭ２３に格納されているメインシステム２を初期化するためのプログラム（初期化プログラム）を実行することにより、メインシステム２の初期化を行う（ステップＳ１０１）。
【００３５】
具体的には、メインＣＰＵ２１は、メインシステム２及びサブシステム３を制御するためにメインＣＰＵ２１が実行するためのメイン制御プログラムをＲＯＭ２３からメインメモリ２２の領域２２ａに、動画像ファイル（図２参照）内の複数のフレームの再生（復号及び表示）にそれぞれ用いられる複数の情報（以下、「デコードフレームアレイ」という。デコードフレームアレイについては、後に詳細に説明する。）を生成するためにメインＣＰＵ２１が実行するためのプログラム（以下、「ＤＥＭＵＸ  Ｂ  プログラム」という。）をＲＯＭ２３からメインメモリ２２の領域２２ｂに、それぞれロードする。
【００３６】
また、メインＣＰＵ２１は、ＤＥＭＵＸ  Ｂ  プログラムのワークエリア及びバッファ（以下、「ＤＥＭＵＸ  Ｂ  バッファ」という。）をメインメモリ２２の領域２２ｃに、ＤＥＭＵＸ  Ｂ  プログラムの実行結果として得られるデコードフレームアレイを格納するためのバッファ（以下、「デコードフレームアレイバッファ」という。）をメインメモリ２２の領域２２ｄに、それぞれ確保する。
【００３７】
更に、メインＣＰＵ２１は、サブシステム３を制御するためにサブＣＰＵ３１が実行するためのサブ制御プログラムをＲＯＭ２３からメインメモリ２２の領域２２ｅに、デコードフレームアレイを生成するために用いられる情報（以下、「デコードフレームアレイ生成情報」という。デコードフレームアレイ生成情報については、後に詳細に説明する。）を生成するためにサブＣＰＵ３１が実行するためのプログラム（以下、「ＤＥＭＵＸ  Ａ  プログラム」という。）をＲＯＭ２３からメインメモリ２２の領域２２ｆに、圧縮（符号化）されたフレームデータ及び音声データの復号を行うためにサブＣＰＵ３１が実行するためのデコードプログラムをＲＯＭ２３からメインメモリ２２の領域２２ｇに、それぞれロードする。
【００３８】
図６（ａ）は、このときのメインメモリ２２のメモリマップの例を示す図である。サブ制御プログラム、ＤＥＭＵＸ  Ａ  プログラム、及び、デコードプログラムは、サブＣＰＵ３１にとってはプログラムであるが、メインＣＰＵ２１にとっては単なるバイナリデータである。
【００３９】
サブ制御プログラムは、記録カード７からのデータの読み出し及び記録カード７へのデータの書き込みのためのプログラムを含んでいても良い。また、デコードプログラムは、複数の圧縮（符号化）方式にそれぞれ対応する複数のコーデック（ＣＯＤＥＣ）を含んでいても良い。なお、本実施形態においては、デコードプログラムを実行するサブＣＰＵ３１が圧縮（符号化）されたフレームデータ及び音声データの復号を行うこととしているが、サブＣＰＵ３１がコーデックを実行することで圧縮（符号化）されたフレームデータ及び音声データの復号を行うことに代えて、圧縮（符号化）されたフレームデータ及び音声データの復号を行うデコーダ回路（ハードウェア）をアクセラレータとしてサブシステム３内に具備することとしても良い。
【００４０】
再び図３を参照すると、メインＣＰＵ２１は、次に、メインメモリ２２の領域２２ａに格納されているメイン制御プログラムを実行することにより、サブシステム３をオンするとともに、ホストインタフェース３３を介してサブシステム３の初期化を行う（ステップＳ１０２）。なお、このとき、メインＣＰＵ２１は、サブシステム３へのリセット信号を活性化する。従って、サブＣＰＵ３１は、この時点では、未だ動作を開始しない。
【００４１】
次に、メインＣＰＵ２１は、メインメモリ２２の領域２２ｅ〜２２ｇに格納されているサブ制御プログラム、ＤＥＭＵＸ  Ａ  プログラム、及び、デコードプログラムを、サブメモリ３２の領域３２ａ〜領域３２ｃにそれぞれ転送する（ステップＳ１０３）。
【００４２】
図６（ｂ）は、このときのサブメモリ３２のメモリマップの例を示す図である。なお、領域３２ｄ（デコードフレームアレイバッファ）、領域３２ｅ（ＤＥＭＵＸ  Ａ  バッファ）、領域３２ｆ（デコード入力バッファ）、及び、領域３２ｇ（デコード出力バッファ）は、ステップＳ１０２（サブシステム３の初期化）において、ホストインタフェース３３を介してメインＣＰＵ２１により確保されるようにしても良いし、後に説明するように、サブシステム３へのリセット信号が非活性化された後に、サブＣＰＵ３１がサブ制御プログラムを実行することにより確保されるようにしても良い。
【００４３】
次に、メインＣＰＵ２１は、サブシステム３へのリセット信号を非活性化し、サブシステム３のリセットを解除する（ステップＳ１０４）。これにより、サブＣＰＵ３１は、サブメモリ３２の領域３２ａ内に転送されているサブ制御プログラムの実行を開始する。先に説明したように、このとき、サブＣＰＵ３１が、サブ制御プログラムを実行することにより、領域３２ｄ（デコードフレームアレイバッファ）、領域３２ｅ（ＤＥＭＵＸ  Ａ  バッファ）、領域３２ｆ（デコード入力バッファ）、及び、領域３２ｇ（デコード出力バッファ）を確保するようにしても良い。
【００４４】
次に、メインＣＰＵ２１は、記録カード７に記録されている動画像ファイルのリストを要求する（ステップＳ１０５）。サブＣＰＵ３１は、カードインタフェース３４を介して記録カード７から動画像ファイルのリストを取得し、メインシステム３に転送する（ステップＳ２０１）。
【００４５】
なお、このとき、サブＣＰＵ３１は、取得した動画像ファイルのリストの表示パネル９への表示を表示制御回路３６に行わせる。これにより、記録カード７に記録されている動画像ファイルのリストが、表示パネル９に表示される。携帯電話装置１のユーザは、入力部５を操作することにより、表示パネル９に表示された動画像ファイルのリストの中から所望の動画像ファイルを選択可能である。
【００４６】
次に、メインＣＰＵ２１は、ユーザによって選択された動画像ファイル（ここでは、「ファイルａ」とする。）の再生を、サブＣＰＵ３１に要求する（ステップＳ１０６）。
【００４７】
サブＣＰＵ３１は、ファイルａの再生の要求をメインＣＰＵ２１から受けると、領域３２ｅ（ＤＥＭＵＸ  Ａ  バッファ）をワークエリアとして利用しながら、領域３２ｂ内のＤＥＭＵＸ  Ａ  プログラムを実行することにより、ファイルａのデコードフレームアレイ生成情報を生成する（ステップＳ２０２）。
【００４８】
図７（ａ）は、デコードフレームアレイ生成情報の一例を示す図である。図７（ａ）に示すように、デコードフレームアレイ生成情報は、記録カード７におけるヘッダの先頭位置（アドレス情報）であるヘッダポインタと、記録カード７におけるデコードデータパケットの先頭位置（アドレス情報）であるデコードデータパケットポインタとを含む。
【００４９】
次に、サブＣＰＵ３１は、デコードフレームアレイ生成情報内のヘッダポインタを用いて、ファイルａのヘッダ（図２参照）を記録カード７から領域３２ｅ（ＤＥＭＵＸ  Ａ  バッファ）に読み込み、更に、メインシステム２に転送する（ステップＳ２０３）。
【００５０】
メインＣＰＵ２１は、ファイルａのヘッダをサブＣＰＵ３１から受け取ると、領域２２ｃ（ＤＥＭＵＸ  Ｂ  バッファ）をワークエリアとして利用しながら、領域２２ｂ内のＤＥＭＵＸ  Ｂ  プログラムを実行することにより、ファイルａのヘッダを解析してファイルａのデコードフレームアレイを領域２２ｄ（デコードフレームアレイバッファ）内に生成する（ステップＳ１０７）。
【００５１】
図７（ｂ）は、デコードフレームアレイの一例を示す図である。デコードフレームアレイは、ファイルａ内のフレームの数と同数のデコードフレームを含む配列である。各デコードフレームは、デコーダ番号、パケットレングス、パケットタイムＩ、パケットタイムＯ、及び、転送済みフラグを含んでいる。デコーダ番号は、デコーダ（本実施形態においては、領域３２ｃ内に格納されているデコードプログラム内のコーデック）を選択するためのセレクタである。パケットレングスは、各フレームデータの長さを表す情報であり、これに基づいて各フレームデータの先頭位置のアドレス情報を得ることができる。パケットタイムＩは、圧縮（符号化）された各フレームデータをデコーダ（本実施形態においては、コーデックを実行するサブＣＰＵ３１）に入力する時刻である。パケットタイムＯは、復号された各フレームデータをデコーダ（本実施形態においては、コーデックを実行するサブＣＰＵ３１）から表示制御回路３６に出力する時刻である。転送済みフラグは、そのデコードフレームがメインシステム２からサブシステム３に転送済みか否かを表すフラグである。
【００５２】
デコードフレームアレイは、行単位（デコードフレーム単位）で幾つかのデコードフレーム群に分けられ、デコードフレーム群単位でメインシステム２からサブシステム３に転送される。ファイルａ内のフレームの数がｎであり、デコードフレームアレイがｍ個のデコードフレーム群に分けられるものとすると、１≦ｍ≦ｎとなる。デコードフレームアレイが幾つのデコードフレーム群に分けられるか（１つのデコードフレーム群が幾つのデコードフレームを含むか）は、サブＣＰＵ３１の処理能力、サブメモリ３２の容量（特に、領域３２ｃ（デコードフレームアレイバッファ）の容量）、バスＢ１〜ホストインタフェース３３〜バスＢ２のデータ転送レート等の種々の要素のバランスを考慮して定めるようにしても良い。後に説明するように、メインＣＰＵ２１は、１つのデコードフレーム群のメインシステム２からサブシステム３への転送が終了した後から次のデコードフレーム群のメインシステム２からサブシステム３への転送が開始する迄の間、低消費電力モードに移行する。そのため、１つのデコードフレーム群のサイズを大きくすることで、１つのデコードフレーム群の転送が終了した後からメインシステム２からサブシステム３への次のデコードフレーム群の転送が開始する迄の時間を長くすることができ、デコードフレーム群メインＣＰＵ２１が低消費電力モードとなる時間を長くすることができる。そこで、一つの考え方として、デコードフレーム群のサイズを領域３２ｃ（デコードフレームアレイバッファ）の容量以下で最大限のサイズにすることが考えられる。しかし、デコードフレーム群のサイズがバスＢ１〜ホストインタフェース３３〜バスＢ２のデータ転送レートに対して大き過ぎると、バスＢ２がデコードフレーム群の転送に占有され、サブＣＰＵ３１の処理が滞ることにもなりかねない。従って、上記した各要素のバランスを考慮することが望ましい。
【００５３】
再び図４を参照すると、メインＣＰＵ２１は、メインメモリ２２の領域２２ｄ（デコードフレームアレイバッファ）内の第１のデコードフレーム群をサブメモリ３２の領域３２ｄ（デコードフレームアレイバッファ）に転送する（ステップＳ１０８）。その後、メインＣＰＵ２１は、低消費電力モード（「スタンバイモード」、「サスペンドモード」等と呼ばれることもある。）に移行する。なお、低消費電力モードは、メインＣＰＵ２１の一部又は全部の動作を停止したり、メインＣＰＵ２１の一部又は全部への電力供給を停止したり、メインＣＰＵ２１の一部又は全部に供給される電圧を低くしたり、メインＣＰＵ２１の動作クロック周波数を低下させること等により実現される。
【００５４】
サブＣＰＵ３１は、サブメモリ３２の領域３２ｄ（デコードフレームアレイバッファ）内に転送された第１のデコードフレーム群に基づいて、第１のデコードフレーム群に対応する第１の圧縮（符号化）されたフレームデータ群及び音声データ群を復号し、復号したフレームデータに基づく画像の表示を表示制御回路３６に行わせ、復号した音声データに基づく音声の出力を音声出力制御回路３５に行わせる（ステップＳ２０４）。より詳細には、サブＣＰＵ３１は、第１のデコードフレーム群の中のデコードフレームを１つずつ読み出し、当該デコードフレームのパケットレングスを用いて圧縮（符号化）されたフレームデータ及び音声データを記録カード７から読み出してデコード入力バッファ３２ｆに格納する。さらに、サブＣＰＵ３１は、当該デコードフレームのパケットタイムＩで表される時刻に、デコードプログラム（サブメモリ３２の領域３２ｃ参照）の中の複数のコーデックの内のデコードフレームのデコーダ番号により選択されるコーデックを実行することにより圧縮（符号化）されたフレームデータ及び音声データを復号してデコード出力バッファ３２ｇに格納する。そして、サブＣＰＵ３１は、当該デコードフレームのパケットタイムＯで表される時刻に、復号したフレームデータを表示制御回路３６に出力するとともに、復号した音声データを音声出力制御回路３５に出力する。表示制御回路３６は、復号されたフレームデータに基づく画像を表示パネル９に表示させる。音声出力制御回路３５は、復号された音声データをＤ／Ａ変換及び増幅し、スピーカ８に音声を出力させる。
【００５５】
サブＣＰＵ３１は、第１のデコードフレーム群に基づくフレームデータ及び音声データの出力が終了すると、第２のデコードフレーム群の転送をメインＣＰＵ２１に要求する（ステップＳ２０５）。
【００５６】
メインＣＰＵ２１は、第２のデコードフレーム群の転送要求を受けると、低消費電力モードから通常動作モードに復帰し、メインメモリ２２の領域２２ｄ（デコードフレームアレイバッファ）内の第２のデコードフレーム群をサブメモリ３２の領域３２ｄ（デコードフレームアレイバッファ）に転送する（ステップＳ１０９）。その後、メインＣＰＵ２１は、再び低消費電力モードに移行する。
【００５７】
サブＣＰＵ３１は、サブメモリ３２の領域３２ｄ（デコードフレームアレイバッファ）内に転送された第２のデコードフレーム群に基づいて、第２のデコードフレーム群に対応する第２の圧縮（符号化）されたフレームデータ群及び音声データ群を順次復号し、復号したフレームデータに基づく画像の表示を表示制御回路３６に行わせ、復号した音声データに基づく音声の出力を音声出力制御回路３５に行わせる（ステップＳ２０６）。
【００５８】
サブＣＰＵ３１は、第２のデコードフレーム群に基づくフレームデータ及び音声データの出力が終了すると、第３のデコードフレーム群の転送をメインＣＰＵ２１に要求する（ステップＳ２０７）。
【００５９】
メインＣＰＵ２１は、第３のデコードフレーム群の転送要求を受けると、低消費電力モードから通常動作モードに復帰し、メインメモリ２２の領域２２ｄ（デコードフレームアレイバッファ）内の第３のデコードフレーム群をサブメモリ３２の領域３２ｄ（デコードフレームアレイバッファ）に転送する（ステップＳ１１０）。その後、メインＣＰＵ２１は、再び低消費電力モードに移行する。
【００６０】
メインＣＰＵ２１及びサブＣＰＵ３１は、上記ステップＳ２０６，Ｓ２０７，及び，Ｓ１１０と同様の処理を繰り返すことにより、第３〜第（ｍ−１）のデコードフレーム群に基づくフレームデータ及び音声データの復号及び出力を行う。
【００６１】
サブＣＰＵ３１は、第（ｍ−１）のデコードフレーム群に基づく復号、画像の表示、及び、音声の出力が終了すると（ステップＳ２０８）、第ｍのデコードフレーム群の転送をメインＣＰＵ２１に要求する（ステップＳ２０９）。
【００６２】
メインＣＰＵ２１は、第ｍのデコードフレーム群の転送要求を受けると、低消費電力モードから通常動作モードに復帰し、メインメモリ２２の領域２２ｄ（デコードフレームアレイバッファ）内の第ｍのデコードフレーム群をサブメモリ３２の領域３２ｄ（デコードフレームアレイバッファ）に転送する（ステップＳ１１１）。その後、メインＣＰＵ２１は、再び低消費電力モードに移行する。
【００６３】
サブＣＰＵ３１は、サブメモリ３２の領域３２ｄ（デコードフレームアレイバッファ）内に転送された第ｍのデコードフレーム群に基づいて、第ｍのデコードフレーム群に対応する第ｍの圧縮（符号化）されたフレームデータ群及び音声データ群を復号し、復号したフレームデータに基づく画像の表示を表示制御回路３６に行わせ、復号した音声データに基づく音声の出力を音声出力制御回路３５に行わせる（ステップＳ２１０）。以上により、ファイルａに基づく動画像の再生が終了する。
【００６４】
なお、ファイルａの再生中にユーザから早送り指示入力や巻き戻し指示入力があった場合には、メインＣＰＵ２１は、メインメモリ２２の領域２２ｄ（デコードフレームアレイバッファ）に格納されているデコードフレームアレイの中から早送り再生開始フレームや巻き戻し再生開始フレームに該当するデコードフレームを先頭とするデコードフレーム群をサブメモリ３２の領域３２ｄ（デコードフレームアレイバッファ）に転送し、サブＣＰＵ３１が、サブメモリ３２の領域３２ｄ（デコードフレームアレイバッファ）に転送されたデコードフレーム群に基づいて、早送り再生開始フレームや巻き戻し再生開始フレームから再生を行うことができる。
【００６５】
デコードフレームアレイ生成情報の生成のためのプログラム（ＤＥＭＵＸ  Ａ  プログラム（図６（ｂ）の領域３２ｂ参照）は、プログラムサイズが小さく、必要なワークエリア（ＤＥＭＵＸ  Ａ  バッファ（図６（ｂ）の領域３２ｅ参照）も少ない。そのため、デコードフレームアレイ生成情報の生成をサブシステム３において行うこととしても、不都合はない。
【００６６】
一方、デコードフレームアレイの生成のためのプログラム（ＤＥＭＵＸ  Ｂ  プログラム（図６（ａ）の領域２２ｂ参照）は、プログラムサイズが大きく、必要なワークエリア（ＤＥＭＵＸ  Ｂ  バッファ（図６（ａ）の領域２２ｃ参照）も多い。そのため、デコードフレームアレイの生成をサブシステム３において行うこととすると、サブメモリ３２の容量を大きくする必要がある。先に説明したように、サブメモリ３２としては、高速性が必要とされること等から、ＳＲＡＭを利用することが好適である。しかし、ＳＲＡＭの１ビット当たりのコストは高いため、サブメモリ３２の容量を大きくすると、コストの上昇を招いてしまう。そこで、デコードフレームアレイの生成を大容量のメインメモリ２２を有するメインシステム２において行うことで、コストを低減することが可能である。
【００６７】
また、メインＣＰＵ２１は、メインメモリ２２の領域２２ｄ（デコードフレームアレイバッファ）内に生成したデコードフレームアレイを複数のデコードフレーム群に分け、群単位でサブシステム３に転送する。そして、メインＣＰＵ２１は、１つのデコードフレーム群の転送の後から次のデコードフレーム群の転送までの間、低消費電力モードに移行することができる。そのため、メインＣＰＵ２１の消費電力を低減することが可能である。
【００６８】
なお、メイン制御プログラム（図６（ａ）の領域２２ａ参照）、ＤＥＭＵＸ  Ｂ  プログラム（図６（ａ）の領域２２ｂ参照）、サブ制御プログラム（図６（ａ）の領域２２ｅ及び図６（ｂ）の領域３２ａ参照）、ＤＥＭＵＸ  Ａ  プログラム（図６（ａ）の領域２２ｆ及び図６（ｂ）の領域３２ｂ参照）、及び、デコードプログラム（図６（ａ）の領域２２ｇ及び図６（ｂ）の領域３２ｃ参照）を、サブシステム３のデバイスドライバ（ソフトウェア）とすることができる。これにより、メインシステム２の他のソフトウェア（ＯＳや通話用ソフトウェア）に修正を加えることなく、サブシステム３のデバイスドライバ（ソフトウェア）を追加するだけで、動画像再生機能を携帯電話装置１に付加することが可能である。さらに、サブシステム３を１つのチップ上に集積した半導体集積回路とすることもできる。これにより、携帯電話装置メーカは、サブシステム３を集積した半導体集積回路とサブシステム３のデバイスドライバを購入し、メインシステム２に追加することで、動画像再生機能を携帯電話装置１に容易に付加することが可能である。
【００６９】
また、上記においては、図２に示すファイルフォーマットの動画像ファイルを再生する場合について説明したが、図８に示すファイルフォーマットの動画像ファイルも上記と同様に再生することができる。図８に示すファイルフォーマットにおいては、各フレームデータのインデックス情報が、ヘッダ内ではなく、デコードデータパケットの後ろ（ファイルの末尾）に格納されている。このようなファイルフォーマットの例としては、ＡＶＩ（Audio Video Interleave）がある。この場合、サブＣＰＵ３１が、ステップＳ２０２において、図８（ａ）に示すようにインデックス情報ポインタを更に含むデコードフレームアレイ生成情報を生成するようにし、ステップＳ２０３において、ヘッダとともにインデックス情報を記録カード７から読み出してメインシステム２に転送するようにすれば良い。
【００７０】
また、メインＣＰＵ２１が、ステップＳ１０７において、図７（ｂ）に示すデコードフレームアレイに代えて、図９に示すようにサブＣＰＵ３１の動作クロック設定情報を含むデコードフレームアレイを生成するようにしても良い。動作クロック設定情報は、圧縮（符号化）方式や各フレームデータのサイズに基づいて算出するようにすれば良い。そして、サブＣＰＵ３１が、動作クロック設定情報に基づいて動作クロックを設定すれば良い。これにより、サブＣＰＵ３１の動作クロック周波数を圧縮（符号化）方式や各フレームデータのサイズに応じて好適な周波数とすることができるので、サブＣＰＵ３１の消費電力を低減することが可能である。なお、メインＣＰＵ２１がサブＣＰＵ３１の動作クロックをリモート設定することが可能な場合には、図９に示すデコードフレームアレイの中の動作クロック設定情報を除いた部分（図７（ｂ）と同等）だけをサブシステム３１に転送すれば良い。そして、メインＣＰＵ２１が、メインメモリ２２の領域２２ｄ内のデコードフレームアレイの動作クロック設定情報に基づいて、サブＣＰＵ３１の動作クロックをリモート設定すれば良い。このようにすれば、サブメモリ３２の記憶領域を節約することができる。
【００７１】
次に、記録カード７に記録されている２つの異なるファイルフォーマットの２つの動画像ファイルに基づいて２つの動画像を連続して表示するためのメインシステム２及びサブシステム３の処理について説明する。ここでは、図２に示すファイルフォーマットの動画像ファイル及び図１０に示すファイルフォーマットの動画像ファイルに基づいて動画像を連続して表示する場合について説明する。
【００７２】
図１０は、動画像ファイルのファイルフォーマットの他の例を示す図である。図１０に示すファイルフォーマットにおいては、各フレームのインデックス情報や各フレームの処理時刻情報がファイル内にまとまって存在せず、フレームデータとともに分散して存在している。従って、ヘッダのサイズが、図２及び図８（ａ）に示すヘッダのサイズより小さい。このようなファイルフォーマットの例としては、ＭＰＥＧ−２  ＰＳやＡＳＦ（Advanced Systems Format）がある。
【００７３】
図１１〜図１４は、図２に示すファイルフォーマットの動画像ファイル及び図１０に示すファイルフォーマットの動画像ファイルに基づいて動画像を連続して表示する場合におけるメインシステム２及びサブシステム３の処理を示すフローチャートである。以下、図１１〜図１４を参照しながら、メインシステム２及びサブシステム３の処理について説明する。
【００７４】
まず、メインシステム２（より詳細には、メインＣＰＵ２１）が、ＲＯＭ２３に格納されているメインシステム２を初期化するためのプログラム（初期化プログラム）を実行することにより、メインシステム２の初期化を行う（ステップＳ３０１）。
【００７５】
具体的には、メインＣＰＵ２１は、メインシステム２及びサブシステム３を制御するためにメインＣＰＵ２１が実行するためのメイン制御プログラムをＲＯＭ２３からメインメモリ２２の領域２２ａにロードする。
また、メインＣＰＵ２１は、サブシステム３を制御するためにサブＣＰＵ３１が実行するためのサブ制御プログラムをＲＯＭ２３からメインメモリ２２の領域２２ｅにロードする。
【００７６】
図１５（ａ）は、このときのメインメモリ２２のメモリマップの例を示す図である。サブ制御プログラムは、記録カード７からのデータの読み出し及び記録カード７へのデータの書き込みのためのプログラムを含んでいても良い。
【００７７】
再び図１１を参照すると、メインＣＰＵ２１は、次に、メインメモリ２２の領域２２ａに格納されているメイン制御プログラムを実行することにより、サブシステム３をオンするとともに、ホストインタフェース３３を介してサブシステム３の初期化を行う（ステップＳ３０２）。なお、このとき、メインＣＰＵ２１は、サブシステム３へのリセット信号を活性化する。従って、サブＣＰＵ３１は、この時点では、未だ動作を開始しない。
【００７８】
次に、メインＣＰＵ２１は、メインメモリ２２の領域２２ｅに格納されているサブ制御プログラムを、サブメモリ３２の領域３２ａに転送する（ステップＳ３０３）。
【００７９】
図１５（ｂ）は、このときのサブメモリ３２のメモリマップの例を示す図である。
【００８０】
次に、メインＣＰＵ２１は、サブシステム３へのリセット信号を非活性化し、サブシステム３のリセットを解除する（ステップＳ３０４）。これにより、サブＣＰＵ３１は、サブメモリ３２の領域３２ａ内に転送されているサブ制御プログラムの実行を開始する。
【００８１】
次に、メインＣＰＵ２１は、記録カード７に記録されている動画像ファイルのリストを要求する（ステップＳ３０５）。サブＣＰＵ３１は、カードインタフェース３４を介して記録カード７から動画像ファイルのリストを取得し、メインシステム３に転送する（ステップＳ４０１）。
【００８２】
なお、このとき、サブＣＰＵ３１は、取得した動画像ファイルのリストの表示パネル９への表示を表示制御回路３６に行わせる。これにより、記録カード７に記録されている動画像ファイルのリストが、表示パネル９に表示される。携帯電話装置１のユーザは、入力部５を操作することにより、表示パネル９に表示された動画像ファイルのリストの中から所望の動画像ファイルを選択可能である。
【００８３】
次に、メインＣＰＵ２１は、ユーザによって選択された動画像ファイル（ここではファイルａとし、ファイルａのファイルフォーマットは図２に示すフォーマットであるものとする。）のファイル拡張子に基づいて、ファイルａを再生するためにメインＣＰＵ２１及びサブＣＰＵ３１が実行するためのプログラムをＲＯＭ２３に格納されているプログラムの中から選択し、選択したプログラムをメインメモリ２２にロードし、更に、メインメモリ２２にロードしたプログラムの内のサブＣＰＵ３１が実行するためのプログラムをサブメモリ３２に転送する（ステップＳ３０６）。
【００８４】
具体的には、メインＣＰＵ２１は、ファイルａのデコードフレームアレイを生成するためにメインＣＰＵ２１が実行するためのＤＥＭＵＸ  Ｂ  プログラムをＲＯＭ２３からメインメモリ２２の領域２２ｂにロードする。
【００８５】
また、メインＣＰＵ２１は、ＤＥＭＵＸ  Ｂ  バッファをメインメモリ２２の領域２２ｃに、デコードフレームアレイバッファをメインメモリ２２の領域２２ｄに、それぞれ確保する。
【００８６】
更に、メインＣＰＵ２１は、ＤＥＭＵＸ  Ａ  プログラムをＲＯＭ２３からメインメモリ２２の領域２２ｆに、圧縮（符号化）されたフレームデータ及び音声データの復号を行うためにサブＣＰＵ３１が実行するためのデコードプログラムをＲＯＭ２３からメインメモリ２２の領域２２ｇに、それぞれロードする。
【００８７】
そして、メインＣＰＵ２１は、メインメモリ２２の領域２２ｆ及び２２ｇに格納されているＤＥＭＵＸ  Ａ  プログラム及びデコードプログラムを、サブメモリ３２の領域３２ｂ及び領域３２ｃにそれぞれ転送する。
【００８８】
このとき、メインメモリ２２及びサブメモリ３２のメモリマップは、先に説明した図６と同様になる。なお、サブメモリ３２の領域３２ｄ（デコードフレームアレイバッファ）、領域３２ｅ（ＤＥＭＵＸ  Ａ  バッファ）、領域３２ｆ（デコード入力バッファ）、及び、領域３２ｇ（デコード出力バッファ）は、ホストインタフェース３３を介してメインＣＰＵ２１により確保されるようにしても良いし、サブＣＰＵ３１がサブ制御プログラムを実行することにより確保されるようにしても良い。
【００８９】
次に、メインＣＰＵ２１は、ファイルａの再生をサブＣＰＵ３１に要求する（ステップＳ３０７）。
【００９０】
サブＣＰＵ３１は、ファイルａの再生の要求をメインＣＰＵ２１から受けると、領域３２ｅ（ＤＥＭＵＸ  Ａ  バッファ）をワークエリアとして利用しながら、領域３２ｂ内のＤＥＭＵＸ  Ａ  プログラムを実行することにより、ファイルａのデコードフレームアレイ生成情報（図７（ａ）参照）を生成する（ステップＳ４０２）。
【００９１】
次に、サブＣＰＵ３１は、デコードフレームアレイ生成情報内のヘッダポインタを用いて、ファイルａのヘッダ（図２参照）を記録カード７から領域３２ｅ（ＤＥＭＵＸ  Ａ  バッファ）に読み込み、更に、メインシステム２に転送する（ステップＳ４０３）。
【００９２】
メインＣＰＵ２１は、ファイルａのヘッダをサブＣＰＵ３１から受け取ると、領域２２ｃ（ＤＥＭＵＸ  Ｂ  バッファ）をワークエリアとして利用しながら、領域２２ｂ内のＤＥＭＵＸ  Ｂ  プログラムを実行することにより、ファイルａのヘッダを解析してファイルａのデコードフレームアレイ（図７（ｂ）参照）を領域２２ｄ（デコードフレームアレイバッファ）内に生成する（ステップＳ３０８）。
【００９３】
次に、メインＣＰＵ２１は、メインメモリ２２の領域２２ｄ（デコードフレームアレイバッファ）内の第１のデコードフレーム群をサブメモリ３２の領域３２ｄ（デコードフレームアレイバッファ）に転送する（ステップＳ３０９）。その後、メインＣＰＵ２１は、低消費電力モードに移行する。
【００９４】
サブＣＰＵ３１は、サブメモリ３２の領域３２ｄ（デコードフレームアレイバッファ）内に転送された第１のデコードフレーム群に基づいて、第１のデコードフレーム群に対応する第１の圧縮（符号化）されたフレームデータ群及び音声データ群を復号し、復号したフレームデータに基づく画像の表示を表示制御回路３６に行わせ、復号した音声データに基づく音声の出力を音声出力制御回路３５に行わせる（ステップＳ４０４）。
【００９５】
サブＣＰＵ３１は、第１のデコードフレーム群に基づくフレームデータ及び音声データの出力が終了すると、第２のデコードフレーム群の転送をメインＣＰＵ２１に要求する（ステップＳ４０５）。
【００９６】
メインＣＰＵ２１は、第２のデコードフレーム群の転送要求を受けると、低消費電力モードから通常動作モードに復帰し、メインメモリ２２の領域２２ｄ（デコードフレームアレイバッファ）内の第２のデコードフレーム群をサブメモリ３２の領域３２ｄ（デコードフレームアレイバッファ）に転送する（ステップＳ３１０）。その後、メインＣＰＵ２１は、再び低消費電力モードに移行する。
【００９７】
メインＣＰＵ２１及びサブＣＰＵ３１は、上記ステップＳ４０４，Ｓ４０５，及び，Ｓ３１０と同様の処理を繰り返すことにより、第２〜第（ｍ−１）のデコードフレーム群に基づくフレームデータ及び音声データの復号及び出力を行う。
【００９８】
サブＣＰＵ３１は、第（ｍ−１）のデコードフレーム群に基づく復号、画像の表示、及び、音声の出力が終了すると（ステップＳ４０８）、第ｍのデコードフレーム群の転送をメインＣＰＵ２１に要求する（ステップＳ４０９）。
【００９９】
メインＣＰＵ２１は、第ｍのデコードフレーム群の転送要求を受けると、低消費電力モードから通常動作モードに復帰し、メインメモリ２２の領域２２ｄ（デコードフレームアレイバッファ）内の第ｍのデコードフレーム群をサブメモリ３２の領域３２ｄ（デコードフレームアレイバッファ）に転送する（ステップＳ３１１）。その後、メインＣＰＵ２１は、再び低消費電力モードに移行する。
【０１００】
サブＣＰＵ３１は、サブメモリ３２の領域３２ｄ（デコードフレームアレイバッファ）内に転送された第ｍのデコードフレーム群に基づいて、第ｍのデコードフレーム群に対応する第ｍの圧縮（符号化）されたフレームデータ群及び音声データ群を復号し、復号したフレームデータに基づく画像の表示を表示制御回路３６に行わせ、復号した音声データに基づく音声の出力を音声出力制御回路３５に行わせる（ステップＳ４１０）。以上により、ファイルａに基づく動画像の再生が終了すると、サブＣＰＵ３１は、メインＣＰＵ２１にファイルａに基づく動画像の再生が終了したことを通知する。
【０１０１】
次に、携帯電話装置１のユーザは、入力部５を操作することにより、次に再生する動画像ファイル（ここではファイルｂとし、ファイルｂのファイルフォーマットは、図１０に示すフォーマットであるものとする。）を選択する。
【０１０２】
図１０に示すファイルフォーマットにおいては、各フレームのインデックス情報や各フレームの処理時刻情報がファイル内に存在しない。従って、デコードフレームアレイを作成するためには、ファイルｂをパーシング（parsing）する必要がある。そのため、ファイルａを再生する場合と異なり、デコードフレームアレイの生成はサブＣＰＵ３１が行うことが好適である。
【０１０３】
再び図１３を参照すると、メインＣＰＵ２１は、ユーザによって選択されたファイルｂのファイル拡張子に基づいて、ファイルｂのデコードフレームアレイを生成するためにサブＣＰＵ３１が実行するためのプログラム（以下、「ＤＥＭＵＸ  プログラム」という。）をＲＯＭ２３に格納されているプログラムの中から選択し、選択したＤＥＭＵＸ  プログラムをメインメモリ２２の領域２２ｆにロードし、更に、ＤＥＭＵＸ  プログラムをサブメモリ３２の領域３２ｂに転送する（ステップＳ３１２）。メインＣＰＵ２１は、その後、低消費電力モードに移行する。
【０１０４】
図１６（ａ）及び（ｂ）は、このときのメインメモリ２２及びサブメモリ３２のメモリマップの例を示す図である。なお、ファイルａの再生時にはＤＥＭＵＸ  Ｂ  プログラムが格納されていたメインメモリ２２の領域２２ｂ、ＤＥＭＵＸ  Ｂ  バッファとして利用されていた領域２２ｃ、及び、デコードフレームアレイバッファとして利用されていた領域２２ｄは、これ以降、デコードフレームアレイバッファ２２ｈとして利用される。また、ファイルａの再生時にはＤＥＭＵＸ  Ａ  バッファであったサブメモリ３２の領域３２ｆは、ＤＥＭＵＸ  バッファとして利用される。
【０１０５】
なお、サブＣＰＵ３１は、ファイルｂ（図１０参照）内の複数の圧縮（符号化）されたフレームデータを幾つかの群として扱う。ファイルｂ内のフレームデータの数がｋであり、ファイルｂ内のフレームデータがｊ個のフレームデータ群に分けられるものとすると、１≦ｊ≦ｋとなる。フレームデータが幾つのフレームデータ群に分けられるか（１つのフレームデータ群が幾つのフレームデータを含むか）は、サブＣＰＵ３１の処理能力、サブメモリ３２の容量（特に、領域３２ｃ（デコードフレームアレイバッファ）の容量）、バスＢ２〜ホストインタフェース３３〜バスＢ１のデータ転送レート等の種々の要素のバランスを考慮して定めるようにしても良い。
【０１０６】
再び図１３を参照すると、サブＣＰＵ３１は、サブメモリ３２の領域３２ｂに格納されているＤＥＭＵＸ  プログラムを実行することにより、第１のフレームデータ群をパーシングして、第１のフレームデータ群を再生するために必要な情報である第１のデコードフレーム群を領域３２ｄ（デコードフレームアレイバッファ）内に生成する（ステップＳ４１１）。ここで生成されるデコードフレーム群の内容は、先に説明した図７（ｂ）又は図９と同様である。
【０１０７】
次に、サブＣＰＵ３１は、サブメモリ３２の領域３２ｄ（デコードフレームアレイバッファ）内に生成された第１のデコードフレーム群をメインメモリ２２の領域２２ｈ（デコードフレームアレイバッファ）に転送する（ステップＳ４１２）。メインメモリ２２の領域２２ｈ（デコードフレームアレイバッファ）に転送された第１のデコードフレーム群は、ファイルｂの再生中にユーザから巻き戻し指示入力があった場合に利用可能である。すなわち、ユーザから巻き戻し指示入力があった場合、メインＣＰＵ３１は、メインメモリ２２の領域２２ｈ（デコードフレームアレイバッファ）に格納されているデコードフレーム群の中から巻き戻し再生開始フレームに該当するデコードフレームを先頭とするデコードフレーム群をサブメモリ３２の領域３２ｄ（デコードフレームアレイバッファ）に転送し、サブＣＰＵ３１が、サブメモリ３２の領域３２ｄ（デコードフレームアレイバッファ）に転送されたデコードフレーム群に基づいて、巻き戻し再生開始フレームから再生を行うことができる。
【０１０８】
そして、サブＣＰＵ３１は、サブメモリ３２の領域３２ｄ（デコードフレームアレイバッファ）内に生成された第１のデコードフレーム群に基づいて、第１のデコードフレーム群に対応する第１の圧縮（符号化）されたフレームデータ群及び音声データ群を復号し、復号したフレームデータに基づく画像の表示を表示制御回路３６に行わせ、復号した音声データに基づく音声の出力を音声出力制御回路３５に行わせる（ステップＳ４１３）。より詳細には、サブＣＰＵ３１は、第１のデコードフレーム群の中のデコードフレームを１つずつ読み出し、当該デコードフレームのパケットレングスを用いて圧縮（符号化）されたフレームデータ及び音声データを記録カード７から読み出してデコード入力バッファ３２ｆに格納する。さらに、サブＣＰＵ３１は、当該デコードフレームのパケットタイムＩで表される時刻に、デコードプログラム（サブメモリ３２の領域３２ｃ参照）の中の複数のコーデックの内のデコードフレームのデコーダ番号により選択されるコーデックを実行することにより圧縮（符号化）されたフレームデータ及び音声データを復号してデコード出力バッファ３２ｇに格納する。そして、サブＣＰＵ３１は、当該デコードフレームのパケットタイムＯで表される時刻に、復号したフレームデータを表示制御回路３６に出力するとともに、復号した音声データを音声出力制御回路３５に出力する。表示制御回路３６は、復号されたフレームデータに基づく画像を表示パネル９に表示させる。音声出力制御回路３５は、復号された音声データをＤ／Ａ変換及び増幅し、スピーカ８に音声を出力させる。
【０１０９】
サブＣＰＵ３１は、第１のデコードフレーム群に基づくフレームデータ群及び音声データ群の復号及び出力が終了すると、サブメモリ３２の領域３２ｂに格納されているＤＥＭＵＸ  プログラムを実行することにより、第２のフレームデータ群をパーシングして、第２のフレームデータ群を再生するために必要な情報である第２のデコードフレーム群を領域３２ｄ（デコードフレームアレイバッファ）内に生成する（ステップＳ４１４）。
【０１１０】
次に、サブＣＰＵ３１は、サブメモリ３２の領域３２ｄ（デコードフレームアレイバッファ）内に生成された第２のデコードフレーム群をメインメモリ２２の領域２２ｈ（デコードフレームアレイバッファ）に転送する（ステップＳ４１５）。
【０１１１】
そして、サブＣＰＵ３１は、サブメモリ３２の領域３２ｄ（デコードフレームアレイバッファ）内に生成された第２のデコードフレーム群に基づいて、第２のデコードフレーム群に対応する第２の圧縮（符号化）されたフレームデータ群及び音声データ群を復号し、復号したフレームデータに基づく画像の表示を表示制御回路３６に行わせ、復号した音声データに基づく音声の出力を音声出力制御回路３５に行わせる（ステップＳ４１６）。
【０１１２】
サブＣＰＵ３１は、上記ステップＳ４１４〜Ｓ４１６と同様の処理を繰り返すことにより、第３〜第（ｊ−１）のフレームデータ群の復号及び出力を行う。
【０１１３】
その後、サブＣＰＵ３１は、サブメモリ３２の領域３２ｂに格納されているＤＥＭＵＸ  プログラムを実行することにより、第ｊのフレームデータ群をパーシングして、第ｊのフレームデータ群を再生するために必要な情報である第ｊのデコードフレーム群を領域３２ｄ（デコードフレームアレイバッファ）内に生成する（ステップＳ４１７）。
【０１１４】
次に、サブＣＰＵ３１は、サブメモリ３２の領域３２ｄ（デコードフレームアレイバッファ）内に生成された第ｊのデコードフレーム群をメインメモリ２２の領域２２ｈ（デコードフレームアレイバッファ）に転送する（ステップＳ４１８）。
【０１１５】
そして、サブＣＰＵ３１は、サブメモリ３２の領域３２ｄ（デコードフレームアレイバッファ）内に生成された第ｊのデコードフレーム群に基づいて、第ｊのデコードフレーム群に対応する第ｊの圧縮（符号化）されたフレームデータ群及び音声データ群を復号し、復号したフレームデータに基づく画像の表示を表示制御回路３６に行わせ、復号した音声データに基づく音声の出力を音声出力制御回路３５に行わせる（ステップＳ４１９）。以上により、ファイルｂに基づく動画像の再生が終了する。
【０１１６】
ここでは、ファイルａ（図２参照）を再生した後にファイルｂ（図１０参照）を再生する場合について説明したが、ファイルｂを単独で再生することもでき、ファイルｂを再生した後にファイルａを再生することもできる。
【０１１７】
なお、先に説明したように、ファイルｂの再生中にユーザから巻き戻し指示入力があった場合には、メインＣＰＵ２１は、メインメモリ２２の領域２２ｄ（デコードフレームアレイバッファ）に格納されているデコードフレームアレイの中から巻き戻し再生開始フレームに該当するデコードフレームを先頭とするデコードフレーム群をサブメモリ３２の領域３２ｄ（デコードフレームアレイバッファ）に転送し、サブＣＰＵ３１が、サブメモリ３２の領域３２ｄ（デコードフレームアレイバッファ）に転送されたデコードフレーム群に基づいて、巻き戻し再生開始フレームから再生を行うことができる。また、ファイルｂの再生中にユーザから早送り指示入力があった場合には、メインＣＰＵ２１が、早送り再生開始フレームをサブＣＰＵ３１に通知する。そして、サブＣＰＵ３１が、サブメモリ３２の領域３２ｂに格納されているＤＥＭＵＸ  プログラムを実行することにより、早送り再生開始フレームを先頭とするフレームデータ群をパーシングし、当該フレームデータ群を再生するために必要なデコードフレーム群をサブメモリ３２の領域３２ｄ（デコードフレームアレイバッファ）内に生成し、早送り再生開始フレームから再生を行う。
【０１１８】
また、ファイルｂの再生（図１３のステップＳ４１１以降）において、サブＣＰＵ３１が、動作クロック設定情報を含むデコードフレーム群（図９参照）を生成することとすれば、サブＣＰＵ３１の動作クロック周波数を圧縮（符号化）方式や各フレームデータのサイズに応じて好適な周波数とすることができるので、サブＣＰＵ３１の消費電力を低減することが可能である。
【産業上の利用可能性】
【０１１９】
本発明は、動画像ファイルに基づく動画像を再生するための動画像再生装置及び方法及びプログラムに利用可能である。また、本発明は、携帯メディアプレーヤ、携帯電話装置等の動画像を表示するための装置に利用可能である。
【図面の簡単な説明】
【０１２０】
【図１】本発明の一実施形態に係る携帯電話装置の概要を示す図。
【図２】図１の記録カード７内の動画像ファイルのフォーマットの例を示す図。
【図３】図１の携帯電話装置１の処理を示すフローチャート。
【図４】図１の携帯電話装置１の処理を示すフローチャート。
【図５】図１の携帯電話装置１の処理を示すフローチャート。
【図６】図１のメインメモリ２２及びサブメモリ３２のメモリマップの例を示す図。
【図７】デコードフレームアレイ生成情報及びデコードフレームアレイを示す図。
【図８】動画像ファイル及びデコードフレームアレイ生成情報の例を示す図。
【図９】デコードフレームアレイの他の例を示す図。
【図１０】図１の記録カード７内の動画像ファイルのフォーマットの例を示す図。
【図１１】図１の携帯電話装置１の処理を示すフローチャート。
【図１２】図１の携帯電話装置１の処理を示すフローチャート。
【図１３】図１の携帯電話装置１の処理を示すフローチャート。
【図１４】図１の携帯電話装置１の処理を示すフローチャート。
【図１５】図１のメインメモリ２２及びサブメモリ３２のメモリマップを示す図。
【図１６】図１のメインメモリ２２及びサブメモリ３２のメモリマップを示す図。
【符号の説明】
【０１２１】
１  携帯電話装置、  ２  メインシステム、  ３  サブシステム、  ４  通信部、  ５  入力部、  ６  アンテナ、  ７  記録カード、  ８  スピーカ、  ９  表示パネル、  ２１  メインＣＰＵ、  ２２  メインメモリ、  ２３  ＲＯＭ、  ３１  サブＣＰＵ、  ３２  サブメモリ、  ３３  ホストインタフェース、  ３４  カードインタフェース、  ３５  音声出力制御回路、  ３６  表示制御回路
【図１】
2007306443.tif 000003
【図２】
2007306443.tif 000004
【図３】
2007306443.tif 000005
【図４】
2007306443.tif 000006
【図５】
2007306443.tif 000007
【図６】
2007306443.tif 000008
【図７】
2007306443.tif 000009
【図８】
2007306443.tif 000010
【図９】
2007306443.tif 000011
【図１０】
2007306443.tif 000012
【図１１】
2007306443.tif 000013
【図１２】
2007306443.tif 000014
【図１３】
2007306443.tif 000015
【図１４】
2007306443.tif 000016
【図１５】
2007306443.tif 000017
【図１６】
2007306443.tif 000018