以下、図面を参照して本発明の実施の形態について説明する。
図1は、本発明の一実施形態にかかる画像処理装置を採用した携帯型HDDビデオ再生装置の外観を示す斜視図、図2は同じくこの携帯型HDDビデオ再生装置100を正面から示した平面図、図3は同じくその断面図、図4は同じくこの携帯型HDDビデオ再生装置を上から見た平面図である。
この携帯型HDDビデオ再生装置100は、片手で持てる程度のサイズの筐体1を有する。筐体1の正面側には、LCDの画面部2と、キー操作部3と、操作ボタン4と、各種状態を表示するためのLED(Light Emitting Diode)表示部5とが設けられている。
キー操作部3は、図2に示すように、互いに同芯で配置され、各々個別に操作可能な3つのキー31,32,33で構成されている。中心にあるキーは選択/実行を指定するためのENTERキー31である。このENTERキー31の外側のキーはメニュー選択時において使用されるメニュー選択関連キー32である。さらにその外側のキーは再生時に使用される再生関連キー33である。
メニュー選択関連キー32および再生関連キー33はそれぞれ、ENTERキー31を中心とする上下左右の各々の位置が押下されることによって、対応するキーコマンドが発生するようになっている。メニュー選択関連キー32が発生するキーコマンドは、後述する各種メニュー画面の中での項目を選択するためのフォーカスの位置の上下左右へのシフトなどである。再生関連キー33が発生するキーコマンドは、再生の早送り、巻き戻し、オーディオボリュームの増減などである。
操作ボタン4には、各種設定用の画面を呼び出すためのSETUPボタン41、ビデオストリームの再生経過(残り)時間などを表示するためのDISPLAYボタン42、再生開始と一時停止を指示するための再生ボタン43、再生停止を指示するための停止ボタン44などがある。
LED表示部5には、パワーオン状態を表示するパワーオン表示部51、バッテリ充電中を表示する充電表示部52、ストリーム転送中などのビジィ状態を表示するビジィ表示部53などがある。
筐体1の一方の側面部には、上から順にDC電源接続のためのDCINジャック6、USB(Universal Serial Bus)接続のためのUSBコネクタ7、AV出力用のAVOUTジャック8が設けられている。また、ストラップ取り付け部9も設けられている。筐体1の他方の側面部には主電源のON/OFF操作のためのPWRキー(図示省略)が設けられている。筐体1の上面部には、図4に示すように、ヘッドフォン端子10と、スリット状の多数の排気穴11が並べて設けられている。筐体1の下部には、スリット状の多数の吸気穴12が並べて設けられている。
図5は、図3の断面図における筐体1のみを示した図である。同図に示すように、筐体1は正面側の筐体部品1A,中間の筐体部品1B,背面側の筐体部品1Cで構成されている。正面側の筐体部品1Aと背面側の筐体部品1Cはそれぞれ携帯型HDDビデオ再生装置100の外形の主に正面と背面を形成する筐体部品である。中間の筐体部品1Bは携帯型HDDビデオ再生装置100の外形の上部側面と左右側面となる部分を有しており、この筐体1の上部側面となる部分には、図4に示したように上記の排気穴11が設けられている。正面側の筐体部品1Aと背面側の筐体部品1Cは中間の筐体部品1Bを挟んで互いに接合されている。筐体1の下部には半円断面形状部15が形成されており、この半円断面形状部15では正面側の筐体部品1Aと背面側の筐体部品1Cは互いに直接突合せで接合されている。また、この半円断面形状部15の正面側の筐体部品1Aの側に上記の吸気穴12が設けられている。中間の筐体部品1Bの下部は筐体1の下部の半円断面形状部15に倣って断面U字状に曲折されている。この部分を中間の筐体部品1Bの曲折部14と呼ぶ。
また、筐体1の正面側には、LCDの画面部2および操作ボタン4を覆うことのできる透明なアクリルカバー35の着脱が可能となっており、このアクリルカバー35によってLCDの画面部2の傷や埃の付着などからの保護を図っている。このアクリルカバー35には、キー操作部3の部分を露出する開口36が設けられており、アクリルカバー35を装着した状態でのキー操作部3の操作が可能となっている。
次に、この携帯型HDDビデオ再生装置100の内部の構造について説明する。
図3に示すように、筐体1内の部品は、携帯型HDDビデオ再生装置100の高さ方向において上寄りの位置に収容された部品群と下寄りの位置に収容された部品群とに配置上分けられている。上寄りの位置に収容された部品群としてはバックライト付のLCD21、メイン基板22、HDD基板23、HDD24、冷却ファン25などがあり、下寄りの位置に収容された部品群としては複合インバータ基板26、バッテリパック27などがある。上寄りの位置に収容された、LCD21、メイン基板22、HDD24は、携帯型HDDビデオ再生装置100内の主な発熱源であり、その発熱量を比較すると、LCD21>メイン基板22>HDD24の順となることが一般である。
この携帯型HDDビデオ再生装置100では、これら主な発熱源である部品を、正面側から背面側に向けて、発熱量の高いものから順に配置している。このような配置の選定によって、背面側の筐体部品1Cの加熱を他の並び順に比べて最も低く抑えることができる。この携帯型HDDビデオ再生装置100はユーザが手に持ってビデオ鑑賞を楽しめるように設計されたものであり、鑑賞時にはユーザの手が背面側の筐体部品1Cに最も広い面で接触することとなるので、背面側の筐体部品1Cの温度上昇を最小限に抑えられることで、熱による不快感をユーザに与える度合を軽減できる。
また、筐体1内の熱は、筐体1内の最上部に配置された冷却ファン25がうみだす、筐体1の下部に設けられた吸気穴12から、図4に示す筐体1の上部の排気穴11を通じての気流によって外部に放出されるようになっている。これにより、筐体1内の発熱源は効率的に空冷されるので、ユーザへの熱問題はより一層軽減されることになる。
中間の筐体部品1BのU字状の曲折部14の内側には、これに包囲されるようにして電源用のバッテリパック27が配置されている。また、この曲折部14の先端側にある平坦な面の正面側(画面側)には複合インバータ基板26が支持されている。すなわち、バッテリパック27と複合インバータ基板26とは中間の筐体部品1Bの曲折部14によって隔てられている。ここで、複合インバータ基板26とは、操作ボタン4やキー操作部3の動作に関連する部品や、LCD21のバックライトを駆動するためのインバータなどが実装された基板である。このように、バッテリパック27と複合インバータ基板26とが中間の筐体部品1Bの曲折部14によって隔てられていることで、バッテリパック27からの液漏れによる複合インバータ基板26への影響を回避できるとともに、キー操作部3が操作された際の圧力がバッテリパック27に直接加わることを回避してバッテリパック27の保護を図ることができる。
なお、バッテリパック27は大きな熱源とはならないので、ユーザの手が最も密に触れる機会の多い下部背面寄りに配置しても問題ない。また、バッテリパック27は筐体1内の部品の中で最も比重が高く重量が大きいので、筐体1の最下部に配置することによって、鑑賞中にユーザが携帯型HDDビデオ再生装置100を手で保持しているときの安定感が良好になる。
なお、この実施形態の携帯型HDDビデオ再生装置100では、図3に示したように、筐体1の下部に吸気穴12を設けたが、図35に示すように、筐体1の背面側のバッテリパック27のすぐ上の位置に吸気穴12を設けてもよい。
図34は、この携帯型HDDビデオ再生装置100の内部構造を層ごとに示した平面図である。LCD21のバックライトは接続配線131を通じて複合インバータ基板26の画面側面に固定されたコネクタ132と接続され、この接続配線131を通じて複合インバータ基板26からLCD21のバックライトにその点灯と制御に必要な信号が供給される。また、LCD21は接続配線133を通じてメイン基板22の画面逆側面に固定されたコネクタ134と接続され、この接続配線133を通じてメイン基板22からLCD21に必要な信号が供給される。メイン基板22と複合インバータ基板26とは各々の画面側面に固定されたコネクタ135,136とコネクタ135,136間に接続された接続配線137を通じて電気的に接続され、相互に必要な信号の通信を行う。さらに、メイン基板22の画面側面には2つの冷却ファン25,25に駆動信号を供給するための接続配線138,139の一端がそれぞれ接続された2つのコネクタ140,141が設けられている。メイン基板22とHDD基板23とは、メイン基板22の画面逆側面に設けられたコネクタ142とHDD基板23の画面側面に設けられたコネクタ143との間を接続する接続配線144によって相互に通信が行えるようになっている。メイン基板22には、DC(直流)INジャック6、USBコネクタ7、AV出力用のAVOUTジャック8、ヘッドフォン用端子10が設けられている。HDD基板23にはシステムをリセットするためのスイッチ145が設けられている。バッテリパック27から引き出された接続配線146はメイン基板22の画面側面に設けられたコネクタ147に接続されている。HDD24はHDD基板23の画面逆側面に設けられたコネクタ148を通じてHDD基板23と電気的に接続されている。
次に、この携帯型HDDビデオ再生装置100の電気的な構成について図6を用いて説明する。同図は主にメイン基板22に実装された回路の構成を示すものである。
同図において、システムコントローラ61には、操作用の各種キー3,4の操作、PWRキー62の操作、AC(交流)電源の接続(AC検出)63、リセットIC64の出力、バッテリ65の電圧、温度センサー66などの監視を行い、監視結果に応じた処理を実行する。リセットIC64はリセットSW67が操作されたときにリセット操作信号を発生するICである。
システムコントローラ61はPWRキー62が押されたことを検知すると、システムの起動処理を行い、各デバイスを動作可能な状態に初期設定する。また、パワーオン表示部51を点灯するように制御を行う。システム稼動中にPWRキー62が押されたことを検知した場合にはシステムの終了処理を行う。
システムコントローラ61はリセットIC64よりリセット操作信号を受信すると、システムをリセット処理すなわち終了処理に続いて起動処理を行う。
システムコントローラ61はAC電源の接続(AC検出)63を検知すると電源回路68の制御を行い、バッテリ65の充電制御を行う。電源回路68はその近傍に配置された温度センサー69の出力に基づき、たとえば設定温度以上の高温が検出された場合に自動的にオフするようになっている。
システムコントローラ61はバッテリ電圧の監視結果に基づいてバッテリ65の残量を計算して画面上のバッテリ残量表示を制御する。
システムコントローラ61は温度センサー66の出力に基づいて冷却ファン25の回転数を制御する。すなわち、温度に対して比例的に冷却能力を高めるように制御する。
また、システムコントローラ61は、キー操作部3および操作ボタン4のキー操作を監視して、操作されたキーの種類に応じたイベント処理を行う。
システムコントローラ61は、CPU(Central Processing Unit)71、RAM(Random Access Memory )72、ROM(Read Only Memory)73、A/D変換回路74、シリアルPWM(Pulse Width Modulation )制御回路75などで構成され、これらはバス76を通じて接続されている。CPU71はROM73に記憶されているファームウェアによりRAM72を作業領域に用いて各種の演算処理と制御を実行する。A/D変換回路74は、上記した操作用の各種キー3,4の操作、PWRキー62の操作、AC電源の接続(AC検出)63、リセットIC64の出力、バッテリ65の電圧、温度センサー66などの監視結果であるアナログ値をデジタル値に変換する部分である。シリアルPWM制御回路75はヘッドフォン81のミュート制御、LCD21のバックライト82の輝度を制御するPWM信号をインバータ83に供給する。
USB端子85が接続されたUSBブリッジ86、HDD24、DMA(Direct Memory Access)転送回路87はIDE(Integrated Drive Electronics)バス88を通じて相互に接続されており、USB端子85に接続されたPCから転送されたビデオストリームなどのデータはUSBブリッジ86からIDEバス88を通じてHDD24に記録されるようになっている。
DMA転送回路87は、HDD24から読み出されたデータをMPEG2デコーダ89に転送する回路である。DMA転送回路87は4つのセレクタ90,91,92,93とDMAコントローラ94とを有している。第1のセレクタ90は、IDEバス88のデータを選択するためのセレクタであり、システムコントローラ61がHDD24をアクセスするためのATA(AT Attachment)コマンドに基づいてDMA転送回路87をIDEバ
ス88と接続状態にする。第1のセレクタ90は、バッファメモリ95に接続された第2のセレクタ91と第1のDMA伝送路96で接続されている。したがって、第1のセレクタ90によりIDEバス88から抽出されたデータは第1のDMA伝送路96、第2のセレクタ91を通じてバッファメモリ95に転送される。
このHDD24からバッファメモリ95へのデータ転送において、システムコントローラ61は第1のセレクタ90に出力するATAコマンドの発行タイミングを制御して、HDD24からのデータの読み出しが間欠的に行われるようにしている。具体的には、たとえば所定の再生時間分のビデオストリームの単位でHDD24からデータを読み出してバッファメモリ95に転送し、バッファメモリ95のデータが空になったところで、HDD24から次の再生時間分のビデオストリームを読み出すように、システムコントローラ61から第1のセレクタ90に対してATAコマンドが発行される。これにより、HDD24に対するアクセスは間欠的に行われることになり、HDD24の発熱量の低減および消費電力の低減を図ることができる。
バッファメモリ95に蓄積されたビデオなどのデータは、バッファメモリ95に所定の再生時間分のビデオストリームが蓄積されたところで第2のセレクタ91によって読み出され、第2のセレクタ91とMPEG2デコーダ89とを接続する第2のDMA伝送路97を通じてMPEG2デコーダ89に転送される。MPEG2デコーダ89は、MPEG2で符号化されたビデオストリームをハードウェアで復号する回路である。SDRAM98はこのMPEG2デコーダ89の作業領域として用いられるランダムアクセス可能なメモリである。
MPEG2デコーダ89の出力のうちビデオデータはLCDコントローラ99に送られ、このLCDコントローラ99によってLCD21の駆動が制御されることによってビデオの再生が行われる。一方、MPEG2デコーダ89より出力されたオーディオデータはD/Aコンバータ101によってアナログ信号に変換された後、ヘッドフォン端子10に接続されたヘッドフォンに送られる。また、AVOUT端子102には外部のテレビジョンなどが接続できるようになっており、AVOUT端子102に外部のテレビジョンが接続されているときには、D/Aコンバータ101のアナログ信号はリニアアンプ103にて必要なレベルに増幅されるようになっている。
DMA転送回路87の第3のセレクタ92は、システムコントローラ61およびフラッシュROM104が接続されているバス105との間で通信を行うものである。第3のセレクタ92はシステムコントローラ61から発生したATAコマンドをバス105から抽出して制御線106を通じて第1のセレクタ90に通知する。
HDD24には、読み出し専用のデータとして、タイトルリスト、アクションメニュー、設定画面などの表示要素における静的な要素であるビットマップデータや、時計表示などに用いられる数字の文字コードなどのデータが格納されている。システムコントローラ61は、このビットマップおよび数字の文字コードをHDD24から読み出す場合には、第3のセレクタ92を通じてDMAコントローラ94にその旨を通知する。DMAコントローラ94は、この通知を受けると、第3のセレクタ92と第2のセレクタ91とのDMA伝送路96を有効にするとともに、第4のセレクタ93を制御して、第2のセレクタ91とMPEG2デコーダ89とを接続する第3のDMA伝送路107を有効にする。
HDD24から読み出されてバッファメモリ95にビットマップデータとともに保持された数字の文字コードは、第2のセレクタ91、第3のセレクタ92、バス105を通じてシステムコントローラ61に送られる。システムコントローラ61は、この数字の文字コードに対応するビットマップデータをフラッシュROM104から読み出して第3のセレクタ92に返す。フラッシュROM104には、ビットマップデータのほか、カラーパレットのデータが記憶されている。DMAコントローラ94はシステムコントローラ61より応答された数字の文字コードに対応するビットマップデータを第3のセレクタ92から第4のセレクタ93に送り、バッファメモリ95から第2のセレクタ91を通じて読み出されたビットマップデータと合成してMPEG2デコーダ89に接続されたSDRAM98に転送するように制御を行う。MPEG2デコーダ89は、SDRAM98に保持されたビットマップデータを構成する個々のピクセル・データを、自身に登録されたカラーパレットを用いて表示用の色データに変換し、この色データをLCDコントローラ99に供給する。
なお、第3のDMA伝送路107はビットマップ伝送用に第2のDMA伝送路97よりも広いバス幅を有している。たとえば、第2のDMA伝送路97は8本のデータ線と4本の制御線とで構成されるのに対し、第3のDMA伝送路107は16本のデータ線、24本のアドレス線、3本の制御線で構成されている。これにより、ビデオストリームの再生時とビットマップデータの再生時との間でユーザの体感速度に大きな差が生じないようにしている。
次に、この携帯型HDDビデオ再生装置100を利用するためにPC(Personal Computer)に適用される転送アプリケーションについて説明する。
図7は、一般的なPCのハードウェアの構成を示す図である。同図に示すように、PC120は、CPU121、ROM122、RAM123、デバイス接続用のインターフェース124,125,126,127、ストレージ装置128、通信装置129、入力装置150,表示装置151、システムバス152などを備えて構成される。
CPU121は、ROM122やRAM123に格納されたプログラムやデータなどを用いて各種の演算処理を実行する。ROM122は、PC120を機能させるための基本的なプログラムやパラメータなどが記憶された読み取り専用メモリである。RAM123は、CPU121が実行するプログラムやプログラムの実行に必要なデータを記憶する、高速な読み出しと書き込みが可能なメモリである。システムバス152は、CPU121、ROM122、RAM123、各種のデバイスとのインターフェース124,125,126,127などで共有される情報伝達路である。
インターフェース124,125,126,127にはそれぞれ、マウス、キーボードなどの入力装置150と、たとえばCRT(Cathode Ray Tube)、LCD(Liquid Crystal Display)、PDP(Plasma Display Panel)などの表示装置151と、HDD、FDD(Floppy (登録商標)Disk Drive)、ODD(Optical Disc Drive)、半導体不揮発性メモリなどのストレージ装置128と、USB、IEEE1396、モデム、NIC(Network Interface Card)などの通信装置129が接続されている。
ストレージ装置128には、OS(Operating System)の他、このOSの管理下で、テレビ放送やウェブ上のコンテンツを録画し、この録画コンテンツに関するデータをPC120とUSBで接続された携帯型HDDビデオ再生装置100へ転送する処理手順であるアプリケーション・プログラム(録画・転送アプリケーション)などが格納されている。PC120のユーザは、たとえば、入力装置150を使って当該録画・転送アプリケーションの起動を指示する命令を入力すると、OSがこの命令を解釈し、ストレージ装置128から録画・転送アプリケーションをRAM123にロードし、起動処理を実行する。
録画・転送アプリケーションは、ストレージ装置128に録画コンテンツのデータベース155を構築する。データベース155には、録画したMPEG2ストリームなどのコンテンツの実体、タイトルを含むコンテンツ名(ビデオカプセル名)の文字コード、作成日時、録画時間などの情報が関連付けて蓄積され、管理されるようになっている。
図8はこの録画・転送アプリケーションによってPC120の表示装置151に表示される録画コンテンツの表示ウィンドウ201を示している。この録画コンテンツの表示ウィンドウ201には、データベース155に蓄積されたまたは録画予約された各コンテンツのタイトル名、作成日時、録画済みかどうかの状態、ストリームのサイズなどの一覧が、録画順/録画予約順にたとえば上から下に表示されている。
携帯型HDDビデオ再生装置100に所望のコンテンツを転送したい場合には、転送用のウィンドウ202を呼び出し、録画コンテンツの表示ウィンドウ201の中の所望のコンテンツをマウスのドラッグアンドドロップなどの操作によって、転送用のウィンドウ202内の転送コンテンツの一覧表示ボックス203に落し込む。これにより、転送コンテンツの一覧表示ボックス203にコンテンツに関する情報が表示される。この後、転送用のウィンドウ202内の転送ボタン204をマウスでクリックすることによって、PC120に携帯型HDDビデオ再生装置100が接続されていればPC120から携帯型HDDビデオ再生装置100へのコンテンツの転送が直ちに開始される。転送ボタン204をマウスでクリックした時点でPC120に携帯型HDDビデオ再生装置100が接続されていない場合は、携帯型HDDビデオ再生装置100が接続されると直ちにコンテンツの転送が開始されるようになっている。
ここで、PC120に蓄積されるビデオストリームにはAVI(Audio Video Interleaved)、WMV(Windows (登録商標)Media Video)など、様々なフォーマットが知られている。携帯型HDDビデオ再生装置100はMPEG2フォーマットのビデオストリームをデコードして再生する仕様となっているので、録画・転送アプリケーションは、PC120から携帯型HDDビデオ再生装置100へのビデオストリームの転送前に、ビデオストリームのフォーマットをMPEG2に自動変換し、MPEG2に変換されたビデオストリームをPC120から携帯型HDDビデオ再生装置100に自動転送する。
以上は、ユーザが手動で所望のビデオストリームを転送する場合の動作であるが、このビデオコンテンツは容量が数G(ギガ)のものもあり、データ転送にはかなりの時間が見込まれる。そこで、この録画・転送アプリケーションには転送予約機能が設けられている。この転送予約機能を用いる場合には、転送用のウィンドウ202内の自動転送ボタン205をマウスでクリックする。すると、自動転送を開始する時刻を指定するためのウィンドウが表示されるので、ここにユーザが希望する転送開始時刻を入力して決定すればよい。録画・転送アプリケーションは、ユーザにより指定された転送開始時刻を記憶し、時計の時刻と比較して、指定された時刻になったなら、転送用のウィンドウ202の転送コンテンツの一覧表示ボックス203に表示されているコンテンツを一つずつPC120から携帯型HDDビデオ再生装置100へフォーマット変換を通じて転送する。
なお、転送用のウィンドウ202の転送コンテンツの一覧表示ボックス203に表示されているコンテンツは上から順に転送されるようになっている。このコンテンツの表示順位は順位変更ボタン206、207をマウスでクリックすることによって自在に変更することができる。すなわち、順位を変更したいコンテンツをマウスで選択後、順位変更ボタン206を一回クリックすることで、選択コンテンツの順位が一つ上に移動し、逆に順位変更ボタン207を一回クリックすることで、選択コンテンツの順位が一つ下に移動するようになっている。さらに、削除したい選択コンテンツをマウスで選択後、削除ボタン208をクリックすることで、転送コンテンツの一覧表示ボックス203から選択コンテンツが削除されて転送対象から外すことも可能である。
また、PC120から携帯型HDDビデオ再生装置100へのビデオストリームの転送に伴って、録画・転送アプリケーションは、タイトルリストやアクションメニューに使用される個々のタイトルに関するビットマップデータ(以下、これらを「タイトルビットマップ」と称す。)や、トリックプレイ再生に用いられるIピクチャ情報ファイルなどを生成し、これらのデータを携帯型HDDビデオ再生装置100へ転送する。
タイトルリストとは、たとえば図18に示すように、携帯型HDDビデオ再生装置100にて表示されるタイトル選択用の画面である。上記のタイトルリスト用のタイトルビットマップとは、タイトルリスト401における個々のタイトル項目402〜408の画像データに相当するものである。また、アクションメニューとは、たとえば図17に示すように、選択されたコンテンツに対する次のアクションをユーザに選択させるための画面であり、上記のアクションメニュー用のタイトルビットマップとは、アクションメニュー301の中のタイトルウィンドウ302の画像データである。
図9は、タイトルビットマップの生成手順を示す図である。
まず、背景画像のビットマップデータ154を用意する。この背景画像のビットマップデータ154は、タイトルリスト用とアクションメニュー用としてそれぞれ解像度などが異なるものが用意されている。なお、図9に示されるものは、タイトルリスト用の背景画像のビットマップデータ154である。続いて、この背景画像のビットマップデータ154の所定の位置に飾り画像のビットマップデータ155を配置して合成する。この飾り画像のビットマップデータ155は複数用意されており、たとえば、ビデオストリームの形式(MPEG1ストリーム/MPEG2ストリーム)など、コンテンツの属性に応じて使用される種類が録画・転送アプリケーションによって選択される。次に、転送コンテンツのタイトル文字列のビットマップデータ156を生成し、これを背景画像と飾り画像との合成画像の上に貼り付ける。なお、アクションメニューの場合は、タイトルの文字列の他に、作成日時および録画時間の数字の文字列を含むビットマップデータ156を生成して、背景画像と飾り画像との合成画像の上に貼り付ける。このようにして作成されたタイトルビットマップ157が携帯型HDDビデオ再生装置100のHDD24に転送される。
図10は、タイトル文字列のビットマップデータ156の生成手順を示すフローチャートである。
PC120のCPU121は、録画・転送アプリケーションに従って、まず、ビットマップ生成用のフォントデータのセットをRAM123に読み込む(ステップS1001)。次に、データベース155から、転送コンテンツに関連するタイトル情報を読み込む(ステップS1002)。このとき、タイトルリスト用のタイトルビットマップの生成時はタイトルの文字コードのみが読み込まれ、アクションメニュー用のタイトルビットマップの生成時はタイトルの文字コードの他、作成日時、録画時間などの数値データが読み込まれる。
読み込まれた文字コードは、たとえばシフトJISなどのウェブ上で利用されているコード体系から、所定のコード体系(たとえばユニコードなど)に変換され(ステップS1003,S1005)、変換された文字コードから、これに対応するフォントデータ(ビットマップデータ)のアドレスを計算する(ステップS1006)。また、作成日時、録画時間などの数値データについては、これを所定のコード体系における数字の文字コードに変換してから(ステップS1004)、同様にフォントデータのアドレスを計算する(ステップS1006)。
続いて、求められたアドレスのフォントデータがRAM123に実際に存在するかどうかを確認し(ステップS1007)、実際に存在するなら、そのフォントデータを取得し(ステップS1009)、存在しない場合には、フォントデータの取得エラーの発生を回避するために、既に求められているアドレスを、たとえばスペース、下線、その他のマークなどの特定のフォントデータのアドレスに置き換える(ステップS1008)。この後、取得したフォントデータがRAM123内のビットマップ展開領域に展開される(ステップS1010)。
続いて、RAM123に展開されたフォントデータを、携帯型HDDビデオ再生装置100にて扱うことの可能なデータ形式、たとえばYUV形式に変換し(ステップS1011)、YUV形式に変換したビットマップデータをRAM123に設けられた出力用メモリに格納する(ステップS1012)。出力用メモリは、タイトルリスト用のタイトルビットマップ、アクションメニュー用のタイトルビットマップに応じて決められた領域サイズを有するメモリ空間である。
以上のステップS1003からステップS1012までの処理は、データベース155にて一つのコンテンツに対応して蓄積されている文字列、すなわちタイトルリスト用のタイトルビットマップの生成時はタイトルを構成するすべての文字について繰り返され、アクションメニュー用のタイトルビットマップの生成時はタイトルを構成するすべての文字の他、作成日時、録画時間などを表現するすべての数字の文字について繰り返され、その都度、YUV形式に変換された一つの文字のビットマップデータが、出力用メモリに追加されて行く。
すべての文字のビットマップデータが出力用メモリに格納されたところで(ステップS1013のYES)、出力用メモリに空きがあるかどうかを調べ(ステップS1015)、空きがあるならば、その空きの領域を空白のビットマップデータで埋めて、タイトルリスト用のタイトルビットマップ、アクションメニュー用のタイトルビットマップを完成させる(ステップS1016)。この後、完成した各タイトルビットマップを携帯型HDDビデオ再生装置100に転送する(ステップS1017)。
次に、早送り再生、巻き戻し再生などのトリックプレイ再生に用いられるIピクチャ情報ファイルを生成する処理について説明する。
図11は、このIピクチャ情報ファイル111の構成を示す図である。このIピクチャ情報ファイル111は、たとえば、すべてのIピクチャ、あるいはトリックプレイ再生における15倍速および60倍速による早送り再生や巻き戻し再生で必要な周期のIピクチャに対してそれぞれ作成される。
Iピクチャ情報ファイル111は、IピクチャのHDD24上の実アドレスを示す情報112、タイムスタンプ113、およびオーディオの出力モード情報114を含んでいる。IピクチャのHDD24上の実アドレスを示す情報112は、Iピクチャの先頭の実アドレスを示す、セクタIDおよびそのセクタ先頭からのオフセットと、Iピクチャの終了の実アドレスを示す、セクタIDおよびそのセクタ先頭からのオフセットからなる。タイムスタンプ113はビデオ上の時刻データである。オーディオの出力モード情報114とはオーディオをステレオで出力するかモノラルで出力するかを定義する情報である。
次に、このIピクチャ情報ファイル111の作成方法を説明する。
図12はIピクチャ情報ファイル111の作成手順を示すフローチャート、図13はMPEG2システムストリーム220の構成図、図14はMPEG2ビデオストリーム230の構成図、図15はMPEG2オーディオストリーム240の構成図である。以下、これのストリーム220,230,240を「MPEG2ストリーム」と総称する。 これらの図に示すように、MPEG2ストリーム220,230,240は複数のパック221で構成されている。最初のパック221はパック・ヘッダ223、システム・ヘッダ224、その後に続くパケット225群で構成されている。以降のパック221は、パック・ヘッダ223とその後に続くパケット225群で構成されている。最後のパックの最終部には終了コード226が挿入されている。
パック・ヘッダ223は、図13に示すように、パック開始コード、"01"、SCR、多重化レート、スタッフィング・バイトを含む。システム・ヘッダ224は、システム・ヘッダ開始コード、ヘッダ長、ビット・レート、オーディオ・チャンネル数、4フラグ、ビデオ・チャンネル数、予約バイト、N−ループ個別ストリーム情報を含む。4フラグは、固定フラグ、CPSフラグ、オーディオ・ロック・フラグ、ビデオ・ロック・フラグ、"1"マーカー・ビットを含む。N−ループ個別ストリーム情報は、ストリームID、"11"、バッファ領域スケール、バッファ領域サイズなどを含んでいる。
MPEG2ファイルのHDD24への転送が終了した後、PC120は、録画・転送アプリケーションにより、HDD24からMPEG2ファイルを読み込み、図13ないし図15に示すMPEG2ストリーム220,230,240のパック・ヘッダ223およびシステム・ヘッダ224を解析して(ステップ1201)、この解析結果に基づいてMPEG2ストリーム220,230,240からパケット225を取得する(ステップ1202)。
続いて、PC120は、取得したパケット225を解析して、このパケット225がビデオパケット、オーディオパケット、あるいはファイルエンドのいずれであるかを判定する(ステップ1203)。
図14に示すように、ビデオのパケット225は、SH(Sequence Header)227と、その後に配置されたGOP(Group Of Pictures)228とで構成されている。GOP228はI(Intra),P(Predictive),B(Bidirectional)の3種類の複数のピクチャで構成され、GOP228の先頭にはIピクチャが配置されている。一方、図15に示すように、オーディオのパケット225は、ヘッダ241、エラーチェック242、オーディオデータ244で構成されている。ヘッダ241には、オーディオデータ224の出力モード(ステレオ/モノラル)を示すビット243が含まれている。
取得したパケット225がビデオパケットである場合、PC120は、その取得パケットからSH227の抽出を試み(ステップ1204)、SH227を抽出できなかった場合は、ステップ1202に戻って次のパケット225の取得を行う。SH227を抽出できた場合には、このSH227に続くGOP228の先頭に位置するIピクチャの先頭のHDD24上の実アドレス(セクタIDおよびこのセクタ先頭からのオフセット)をPC120のRAM123に記録する(ステップ1205)。また、このとき、パケット225のペイロードに含まれるPTS(Presentation Time Stamp)から、MPEG2ストリームの再生時刻を示すタイムスタンプを生成してPC120のRAM123に記録する。この後、ビデオパケット225の取得を繰り返し(ステップ1206、ステップ1207のNO)、Iピクチャの終了位置を含むビデオパケットを取得したところで(ステップ1207のYES)、このIピクチャの終了位置のHDD24上の実アドレス(セクタIDおよびこのセクタ先頭からのオフセット)をPC120のRAM123に記録する(ステップ1208)。
また、取得したパケットがステップ1203での判定でオーディオのパケット225であることが分かった場合には、このオーディオのパケット225のヘッダ241を読み込み(ステップ1209)、このヘッダ241の中の、オーディオの出力モード(ステレオ/モノラル)を示すビット243の値からオーディオの出力モードを取得する(ステップ1210)。
以上により、所定の再生時間単位の、IピクチャのHDD24上の実アドレス情報、タイムスタンプ、オーディオの出力モードが得られ、これらの情報は一つの構造体にまとめられてIピクチャ情報ファイル111として生成される。このようにしてPC120上で作成された複数のIピクチャ情報ファイル111は、携帯型HDDビデオ再生装置100に転送され、バッファメモリ95内の、システムコントローラ61により参照可能なリザーブ領域に格納される。
以下に、携帯型HDDビデオ再生装置100の動作を説明する。
まず、この携帯型HDDビデオ再生装置100の操作について説明する。図16はパワーオンからビデオ再生が開始までの処理手順である。
この携帯型HDDビデオ再生装置100のPWRキーがユーザによって押されると、このことがシステムコントローラ61によって検出され、システムコントローラ61はROM73に格納されたファームウェアに従って各デバイスの初期化を行う(ステップ1601)。この後、内蔵タイマーが起動される(ステップ1602)。続いて、USBで接続されているPC120から携帯型HDDビデオ再生装置100にビデオストリーム、タイトルリスト用ウィンドウおよびアクションメニュー用ウィンドウのビットマップデータ、そしてIピクチャ情報ファイルの転送が開始される。転送が完了すると、携帯型HDDビデオ再生装置100はPC120から転送完了通知を外部割り込みとして受ける(ステップ1603)。携帯型HDDビデオ再生装置100は、外部割り込みを受けると、画面に表示するメニューを作成して表示するメニュー処理を開始する(ステップ1604)。
最初に、図17に示したアクションメニュー301が作成されて表示される。このアクションメニュー301には、最後に再生されたビデオストリームのタイトル名、作成日時、録画時間などのコンテンツに関する情報を表示するタイトルウィンドウ302と、選択可能なアクションの種類を示す項目303〜307が表示されている。アクションの種類には「タイトルリスト表示に戻る」「続きから再生」「最初から再生」「削除」「ツメを折る」などがある。これらのアクション項目303〜307のうちの一つにフォーカス308が位置しており、ユーザはキー操作部3のメニュー選択関連キー32を操作することによって自在にフォーカス308の位置を上下にシフトさせることができる。フォーカス308が当てられた項目(図17のウィンドウ304)は、文字と背景のそれぞれの色が非フォーカス状態から変化することによって、ユーザはフォーカス状態にある項目を一目で認識できるようになっている。フォーカス308の初期位置は「続きから再生」の項目304にあり、前回再生を中断した時刻からのビデオストリームの鑑賞をフォーカス308のシフト操作無しで即座に開始できるようにしている。すなわち、ユーザはシステムの起動直後にアクションメニュー301が表示された後、そのままキー操作部3のENTERキー31を押すことによって前回再生を中断した時刻からのビデオストリームを鑑賞することができる。
「タイトルリスト表示に戻る」の項目303にフォーカスをシフトさせてキー操作部3のENTERキー31が押された場合には、図18に示すようなタイトルリスト401がアクションメニュー301に代わって表示される。このタイトルリスト401には携帯型HDDビデオ再生装置100のHDD24に記録されているすべてのビデオストリームのタイトル項目402〜408が表示される。これらのタイトル項目402〜408のうちの一つにフォーカス409が位置しており、ユーザはキー操作部3のメニュー選択関連キー32を操作することによって自在にフォーカス409の位置を上下にシフトさせることができる。フォーカス409の初期位置は常に最後に再生したタイトルの項目にあり、最後に鑑賞したタイトルをユーザが認識できるようにしている。このタイトルリスト401の中からユーザは鑑賞したいタイトルの項目にメニュー選択関連キー32の操作によってフォーカスを移動させ、ENTERキー31を押すことによって別のタイトルを鑑賞することができる。
さて、図16のフローチャートに戻り、上記のようにして鑑賞したいタイトルがユーザによって選択されると(ステップ1605)、そのタイトルに対応するビデオストリームのHDD24からの読み込みが開始される(ステップ1606)。そしてHDD24から読み込まれたビデオストリームの再生処理が行われる(ステップ1607)。すなわち、HDD24から読み出されたビデオストリームはバッファメモリ95にDMA転送されてバッファリングされた後、MPEG2デコーダ89にDMA転送されて復号される。LCDコントローラ99はMPEG2デコーダ89から出力されたビデオデータに基づきLCD21を駆動し、これによってビデオがLCD21の画面に表示される。一方、MPEG2デコーダ89によって復号されたオーディオデータはD/Aコンバータ101によってアナログ信号に変換された後、ヘッドフォン端子10に接続されたヘッドフォンに送られる(ステップ1607)。
アクションメニュー301で「最初から再生」のウィンドウ305がユーザにより選択された場合には、最後に再生したタイトルのビデオストリームが最初から再生される。
アクションメニュー301で「削除」のウィンドウ306がユーザにより選択された場合には、最後に再生したタイトルのビデオストリームがHDD24が削除される。すなわち、鑑賞し終わったタイトルのビデオストリームなどを、少ない操作でHDD24から削除することができる。
アクションメニュー301で「ツメを折る」のウィンドウ307がユーザにより選択された場合には、HDD24に記録されている該当するビデオストリームに対して削除禁止の保護がかけられることになる。
次に、タイトルリスト401における各タイトル項目の配置方法について説明する。
この携帯型HDDビデオ再生装置100では、タイトルリスト401において各タイトル項目402〜408が上から下に並べて配置されるようになっており、その具体的な並び方を、たとえば、PC120からの転送(登録)順、コンテンツの録画時刻順、タイトルの名前順、およびこれらの昇順と降順の中から、ユーザが自由に選択できるようになっている。
ここで、このようなタイトル項目の並び替えを、携帯型HDDビデオ再生装置100の側の演算負荷を負うことなく実現する仕組みについて説明する。図36は、この仕組みを示す図である。ここで、タイトルリスト用の個々のタイトルビットマップ551a,551b,551c,551dにはメタデータ541を構成する要素となるインデックス#1,#2,#3,#4が与えられている。より具体的には、個々のインデックス#1,#2,#3,#4には、タイトルリスト用のタイトルビットマップ551a,551b,551c,551dの他、アクションメニュー用のタイトルビットマップ552a,552b,552c,552d、ビデオストリーム553a,553b,553c,553d、およびIピクチャ情報ファイル554a,554b,554c,554dが各々関連付けられている。
PC120は、このような複数のインデックス#1,#2,#3,#4を定義し、図37に示すように、これらのインデックス#1,#2,#3,#4を転送(登録)順に並べたメタデータ541a、録画時刻順に並べたメタデータ541b、タイトル名順に並べたメタデータ541c、さらに、上記各メタデータ541a,541b,541cにおいてインデックス#1,#2,#3,#4の並びを昇順から降順に変更した各メタデータ541d,541e,541fなどを作成して、携帯型HDDビデオ再生装置100に転送し、たとえばバッファメモリ95あるいはHDD24に格納する。
携帯型HDDビデオ再生装置100では、バッファメモリ95あるいはHDD24に記憶された複数のメタデータ541a−541fの中から、初期設定されたメタデータやユーザにより選択された並び方に対応するメタデータを読み込む。続いて、このメタデータ541を構成するインデックス#1,#2,#3,#4を先頭のものから順番に読み込み、それぞれのインデックス#1,#2,#3,#4に関連付けられている各タイトルビットマップ551a,551b,551c,551dをHDD24から順番に読み出してタイトルリスト401の上から下に向かって順に配置して行く。
したがって、オープンするメタデータ541を変更するだけで、タイトルリスト401における各タイトル項目の並び方を変更することができ、携帯型HDDビデオ再生装置100の側に大きな演算負荷がかかることがない。
次に、環境設定用の画面について説明する。図19はこの環境設定用の画面501を示している。この環境設定用の画面501は、たとえばSETUPボタン41を押すことによって呼び出すことができる。環境設定用の画面501には、表示に関する各種の設定、オーディオに関する各種の設定、その他を行うことができる。この環境設定用の画面501には、表示設定用のアイコン502、オーディオ設定用のアンコン503、その他のアイコン504などが表示されており、各アイコン502〜504のうちの一つをメニュー選択関連キー32の操作によるフォーカスの移動とENTERキー31によって指定することができるようになっている。表示の設定に関しては、バックライトの輝度調整505、色合い506、色の濃さ507、ピクチャ508、コントラスト509、アラーム510などがある。各々の設定項目の選択も、メニュー選択関連キー32の操作によるフォーカスの移動とENTERキー31によって行うことが可能である。
ここで、アラーム510とは、ユーザによって任意の設定された残り時間をタイマーにセットし、図20に示すように、ビデオストリームの再生中などに、残り時間511を常に画面の一部に表示し、残り時間がゼロになったところで、たとえばアラームオーディオなどをビデオ再生時のオーディオに合成して出力する機能である。テレビ放送などには放送中の時刻の文字が挿入されている場合があるので、携帯型HDDビデオ再生装置100での鑑賞時にユーザが現在時刻を間違え、電車などでの乗り過ごしが起き易くなることが考えられる。上記のアラーム機能を利用することによって、ユーザはビデオコンテンツの鑑賞に没頭する中で、設定時間の経過をアラームで知ることとなり、電車などでの乗り過ごしの防止を図れる。
図20は、ビデオストリームの再生経過(残り)時間601を表示する画面602の例を示している。このビデオストリームの再生経過(残り)時間601は、たとえばDISPLAYボタン42を押すことによって、再生中のビデオストリームの上に、数値602とイメージ603とで表示されるようになっている。
また、ビデオストリームの再生中は、再生関連キー33の操作によって再生の早送り、巻き戻し、オーディオボリュームの増減などを行うことができる。再生関連キー33は、図2に示したように、右側の位置を押すことによって早送り再生が実行され、左側の位置を押すことによって巻き戻し再生が行われる。再生関連キー33の向かって右側の位置を一度押した場合には、決められた一定時間分(たとえば15秒)の早送り再生が実行され、一定時間以上押し続けることによって、押されている間の連続早送り再生が実行されるようになっている。さらに、連続早送り再生が開始されてからさらに一定時間続けて押された場合には、早送り速度がアップするようになっている。具体的には、最初の連続早送り再生の速度は15倍速とされ、次に60倍速への切り替えが行われるようになっている。
また、再生関連キー33の向かって左側の位置を一度押した場合には、決められた一定時間分(たとえば15秒)の巻き戻し再生が実行され、一定時間以上押し続けることによって、押されている間の連続巻き戻し再生が実行されるようになっている。さらに、連続巻き戻し再生が開始されてからさらに一定時間続けて押された場合には、巻き戻し速度がアップするようになっている。具体的には、最初の連続巻き戻し再生の速度は15倍速とされ、次に60倍速への切り替えが行われる。
次に、MPEG2ストリームの再生動作を説明する。
図21は、MPEG2ストリームの再生処理の手順を示すフローチャートである。
まず、システムコントローラ61は、RAM72から、ユーザにより指定された再生すべきMPEGファイルの情報を読み込む(ステップ2101)。この携帯型HDDビデオ再生装置100では、HDD24のファイルシステムとしてFAT(File Allocation Table)を採用している。FATでは、HDD24に記録されているファイルとそのファイルの先頭が書き込まれている実アドレス(クラスタID)とがディレクトリエントリにて管理されており、システムコントローラ61は、このディレクトリエントリから、指定ファイルの記録されている最初のクラスタ番号を取り出す。続いて、システムコントローラ61は、このクラスタ番号を基に、FATテーブルから、該当するMPEGファイルが書き込まれているクラスタ番号を、読み出す順番に登録した再生テーブルを作成する(ステップ2102)。
続いてシステムコントローラ61は、RAM72から、ユーザにより指定されるトリックプレイの再生情報を読み込む(ステップ2103)。トリックプレイの再生が指定されているならば(ステップ2104のYES)、トリックプレイ再生の処理が開始される。トリックプレイ再生が指定されていない場合には、システムコントローラ61は、バッファメモリ95に保持されているIピクチャ情報ファイル111の内容に基づき、オーディオの出力モードを切り替える時点の再生テーブルIDを算出する(ステップ2105)。ここで、再生テーブルIDとは、再生テーブルの個々のエントリに付けられたIDである。
次に、システムコントローラ61は、MPEG2ストリームを再生するために必要なハードウェアなどの各種設定を行う(ステップ2106)。この後、再生テーブルの先頭からクラスタ番号を読み出し、HDD24の該当するクラスタからデータを読み出してバッファメモリ95に転送する(ステップ2107)。そして、再生テーブルの読み出し完了位置を示す情報(再生テーブルID)の更新を行う(ステップ2108)。
ここで、再生テーブルの読み出し完了位置を示す再生テーブルIDが、Iピクチャ情報ファイル111を基に算出された、オーディオの出力モードを切り替える時点の再生テーブルIDと一致するか否かを判定し(ステップ2109)、一致する場合、システムコントローラ61は、携帯型HDDビデオ再生装置100のオーディオ出力モードの設定の切り替えを行う(ステップ2110)。すなわち、システムコントローラ61は、D/Aコンバータ101の出力モードをステレオとモノラルとの間で切り替えるように制御を行う。D/Aコンバータ101はモノラル出力モードの設定時にRチャンネルの出力のみが有効となり、ステレオ出力モードの設定時にはRチャンネルとLチャンネルの各出力を有効となるように設計された回路である。また、両再生テーブルIDが不一致の場合には、携帯型HDDビデオ再生装置100のオーディオ出力モードの設定の切り替えはスキップされる。
この後、システムコントローラ61は、バッファメモリ95に保持しておいたMPEG2ストリームをMPEG2デコーダ89に転送する(ステップ2111)。MPEG2デコーダ89の出力のうちビデオデータはLCDコントローラ99に送られ、このLCDコントローラ99によってLCD21の駆動が制御されることによってビデオの再生が行われる。一方、MPEG2デコーダ89より出力されたオーディオデータはD/Aコンバータ101によってアナログ信号に変換される。このとき、オーディオ出力モードとしてモノラルが設定されていたならD/Aコンバータ101からRチャンネルのオーディオ信号が出力され、ステレオが設定されていたならD/Aコンバータ101からRチャンネルとLチャンネルの各オーディオ信号が出力される。D/Aコンバータ101から出力されたオーディオ信号はヘッドフォン端子10に接続されたヘッドフォンに送られる。
続いて、ステップ2107に戻って、再生テーブルから次のクラスタ番号を読み出し、以降、再生テーブルのすべてのエントリの読み込みが完了するまで(ステップ2112)、上記の動作を繰り返す。
次に、トリックプレイ再生の処理について説明する。
図22は、このトリックプレイ再生の処理の流れを示すフローチャートである。
まず、システムコントローラ61は、MPEG2デコーダ89をトリックプレイモードに設定する(ステップ2201)。これによりMPEG2デコーダ89は、図14に示したMPEG2ビデオストリーム230のGOP228においてIピクチャだけを処理対象とすることが設定される。
続いて、システムコントローラ61は、RAM72から、ユーザにより指定されたトリックプレイ再生情報を取得する(ステップ2702)。たとえば、15倍速、60倍速による早送り再生、巻き戻し再生といったトリックプレイ再生情報が取得される。このトリックプレイ再生情報は、ユーザによる再生関連キー33の操作とその操作時間に応じて随時RAM72に設定される。すなわち、再生関連キー33の向かって右側の位置を一度押した場合には、15倍速のトリックプレイ再生情報がRAM72に設定され、連続早送り再生が開始されてからさらに一定時間(たとえば3秒間)続けて押された場合には、60倍速のトリックプレイ再生情報がRAM72に設定されるようになっている。
この後、システムコントローラ61は、取得したトリックプレイ再生情報とIピクチャ情報ファイル111の内容に基づいて、再生テーブルの参照位置をトリックプレイ再生位置まで進める(ステップ2703)。そしてシステムコントローラ61は、Iピクチャ情報ファイル111から、トリックプレイ再生位置以降のトリックプレイ再生に必要なIピクチャが記録されているHDD24上の実アドレスを読み込み、HDD24上の該当する場所のデータを読み込む(ステップ2704)。
たとえば、1秒間のビデオが30フレームで構成されている場合、15倍速の早送り再生または巻き戻し再生を行うとき、30フレーム中の2フレームだけを再生すればよい。仮に、Iピクチャ情報ファイル111が0.5秒単位に生成されたものであるなら、システムコントローラ61は、すべてのIピクチャ情報ファイル111からIピクチャの実アドレスを取得してHDD24からデータを読み出す。60倍速の早送りまたは巻き戻し再生を行うときは、連続する4つのIピクチャ情報ファイル111のうちの1つからIピクチャの実アドレスを取得し、HDD24からデータを読み出せはよい。
このようにしてHDD24から読み出されたIピクチャデータはMPEG2デコーダ89に転送され(ステップ2705)、ここでデコードされて、LCDコントローラ99に出力される。
また、システムコントローラ61は、1つのIピクチャデータのHDD24からMPEG2デコーダ89への転送が完了するたびに、RAM72に設定されたトリックプレイ再生情報を読み込み、このトリックプレイ再生情報とIピクチャ情報ファイル111の内容に基づいて、再生テーブルの参照位置を次のトリックプレイ再生位置まで進める(ステップ2703)。仮にこのとき、RAM72に設定されたトリックプレイ再生情報に変更がある場合には(たとえば、15倍速と60倍速との切り替え、早送り再生と巻き戻し再生との切り替えなど)、その変更に再生テーブルの参照位置を合せる。
再生テーブルの最後までトリックプレイ再生が完了するまで以上の処理が繰り返され、再生テーブルの最後までトリックプレイ再生が完了したなら(ステップ2706のYES)、トリックプレイ再生が終了となる。
次に、上記のタイトルリスト401、アクションメニュー301の作成処理について説明する。
この携帯型HDDビデオ再生装置100では、タイトルリスト401、アクションメニュー301を構成する表示要素を静的な要素と動的な要素とに分けて扱っている。動的な要素とは、たとえば、図18に示したタイトルリスト401の中のタイトル項目402〜408や、図17に示したアクションメニュー301におけるタイトルウィンドウ302の画像データであり、これらはPC120より転送されたビットマップデータである。静的な要素とは、図18に示したタイトルリスト401およびアクションメニュー301において変化することのない画像データであり、これらはフラッシュROM104などに予め格納されたビットマップデータである。具体的には、図18に示したタイトルリスト401においてタイトル項目402〜408以外の要素(たとえば要素410,411,412,413,414)と、図17に示したアクションメニュー301においてタイトルウィンドウ302以外の要素(たとえば要素310,311,312,313)が、静的な要素である。
携帯型HDDビデオ再生装置100では、フラッシュROM104に格納された静的な要素であるビットマップデータと、HDD24に格納された動的な要素であるタイトルリスト用ウィンドウまたはアクションメニュー用ウィンドウのビットマップデータとを、それぞれの要素に対して予め決められた位置に貼り付けて、一つの画面データたとえばタイトルリスト401、アクションメニュー301の画面データを構成する。
次に、この画面データの作成と表示に関する処理の詳細を説明する。
図23は、1つのウィンドウを表示させるために必要なデータの構成を示す図である。 同図に示すように、1つのウィンドウを表示させるために必要なデータには、ウィンドウ・ヘッダ350、カラーパレット351、およびピクセル・データ352がある。ウィンドウ・ヘッダ350は、たとえばウィンドウのサイズ、位置などのパラメータと、使用するカラーパレット351およびピクセル・データ352を指定する情報とを含んでいる。このウィンドウ・ヘッダ350は偶数と奇数のライン別に用意される。カラーパレット351は、個々の色の情報にユニークなパレット番号が割り当てられたテーブルである。カラーパレット351には、たとえば8bitで256色を表現したもの、4bitで16色を表現したものなどが用意されている。ピクセル・データ352は、パレット番号を用いてピクセル単位のデータが表現された画像データである。このピクセル・データ352は偶数と奇数のライン別に用意される。
図24は、4bit(16色)のカラーパレット351とピクセル・データ352の詳細を示す図である。カラーパレット351のパレット番号353に割り当てられている色の情報354は、YUVデータ355,356,357とLBF358(透明度:25%,50%,75%,100%)とで構成されている。YUVは、たとえば、6bitの輝度信号(Y)、4bitの輝度信号と赤色成分の差(U)、4bitの輝度信号と青色成分の差(V)の3つの情報で色を表現する形式である。ピクセル・データ352は、カラーパレット351のパレット番号のかたまりで構成されている。
カラーパレット351においては、互いにバイナリ値が反転関係にある各々のパレット番号に対応する色どうしの関係が、フォーカス時のウィンドウと非フォーカス時のウィンドウとの関係として最適となるように、より具体的には、一つのウィンドウにおける文字と背景との色の明暗の関係が、フォーカス時と非フォーカス時とで反転するように、各々の色に対するパレット番号の割り当てが決められている。
図25は、4bit(16色)カラーパレットの使用時の、非フォーカス時およびフォーカス時のウィンドウ304a,304bの各表示の例と、非フォーカス時のピクセル・データ352aのバイナリ値を反転させた結果352bの各例を示す図である。また、この例では、非フォーカス状態からフォーカス状態に変化したウィンドウ304において、文字は黒から白に、背景は黒から白に変化したように図で示されるが、これらの色の関係は16色の中から任意の組み合わせを選択することが可能であり、必ずしも白と黒との組み合わせに限定されない。
図25に示すように、非フォーカス時のピクセル・データ352aの背景色にあたる4bitのバイナリ値"0010b(0002h)"は反転により"1101b(0013h)"に、文字の色にあたる4bitのバイナリ値"0001(0001h)"は反転により"1110b(0014h)"にそれぞれ変換される。図26は、このバイナリ値反転による変換を4bit(16色)カラーパレット351A上で表現した図である。
次に、上記の仕組みを使って、ウィンドウを表示要素とする画面を表示する場合の動作を説明する。
図27は、MPEG2デコーダ89の初期化から画面の表示までの流れを示すフローチャートである。
まず、MPEG2デコーダ89においてカラーパレット351の初期化処理が行われ(ステップ2701)、続いて、画面を構成する複数のウィンドウのピクセル・データ352をMPEG2デコーダ89へ転送する処理(ステップ2702)、ウィンドウ・ヘッダ350をMPEG2デコーダ89へ登録する処理が順に行われる(ステップ2703)。以上がMPEG2デコーダ89の初期化処理が完了し、この後、システムコントローラ61からDMA転送回路87を通じてMPEG2デコーダ89に画面表示のコマンドが与えられる(ステップ2704)。MPEG2デコーダ89は、画面表示のコマンドを受けると、転送されてきたウィンドウのピクセル・データ352を、自身に登録されたカラーパレット351を用いて色データに変換し、この色データをLCDコントローラ99に供給する。これにより、画面の表示が実行される。次の画面を表示する場合には、ステップ2702に戻って、次の画面のデータをMPEG2デコーダ89へ転送する処理より以降の処理が繰り返される。
次に、上記のステップ2701のカラーパレット351の初期化処理、ステップ2702の画面データの転送処理、ステップ2703のウィンドウ・ヘッダ350の登録処理のそれぞれの詳細を説明する。
図28は、カラーパレット351の初期化処理のフローチャートである。システムコントローラ61は、フラッシュROM104に記憶されているカラーパレット351のデータを、DMA転送回路87を介してバッファメモリ95に読み出す(ステップ2801)。続いて、システムコントローラ61は、バッファメモリ95に保持されたカラーパレット351をDMA転送回路87を通じて、MPEG2デコーダ89に接続されたSDRAM98に転送する(ステップ2802)。そしてシステムコントローラ61は、DMA転送回路87を通じてMPEG2デコーダ89に対してカラーパレット351の登録指示を行うことで、MPEG2デコーダ89にてカラーパレット351の登録が行われる(ステップ2803)。なお、カラーパレット351は4bit(16色)カラーパレットや8bit(256色)カラーパレットなど複数登録することが可能であり、ウィンドウを表示する際には、ウィンドウ・ヘッダ350に記述されたカラーパレット351の指定情報により使用するカラーパレット351の指定が行われるようになっている。
図29は、画面データの転送処理のフローチャートである。システムコントローラ61は、一つの画面を構成する複数のウィンドウのピクセル・データ352を、ウィンドウ間で決められている順番で、HDD24若しくはフラッシュROM104から一つずつ読み出し、MPEG2デコーダ89へ転送する(ステップ2901)。そしてこのデータ転送を画面を構成する複数のウィンドウのピクセル・データ352の転送がすべて完了するまで繰り返す。
図30は、図29のステップ2901のウィンドウデータ転送の処理手順を示すフローチャートである。システムコントローラ61は、個々のウィンドウについて、ピクセル・データ352のバイナリ値を反転して転送するか、反転させずにそのまま転送するかを決定する(ステップ3001)。たとえば、ユーザによってフォーカスが当てられている(選択されている)ウィンドウは、そのウィンドウのピクセル・データ352のバイナリ値を反転して転送すべきウィンドウとして判定され、その他、非フォーカス状態にあるウィンドウのピクセル・データ352は、バイナリ値を反転させることなくそのまま転送すべきウィンドウとして判定される。そして、システムコントローラ61は、この判定結果に基づき、ピクセル・データ352のバイナリ値を反転して転送する処理(ステップ3002)、または反転させずに転送する処理を行う(ステップ3003)。
図31は、図30のステップ3002のウィンドウの個々のピクセル・データ352のバイナリ値を反転して転送する処理の手順を示すフローチャートである。この場合、システムコントローラ61は、まず、HDD24またはフラッシュROM104から表示対象のウィンドウのピクセル・データ352をRAM72 に読み込み(ステップ3101)、このRAM72 に読み込んだウィンドウのピクセル・データ352のバイナリ値を反転し(ステップ3002)、この反転させたバイナリ値で構成されるウィンドウのピクセル・データ352を、DMA転送回路87を通じてバッファメモリ95に転送する(ステップ3003)。バッファメモリ95にすべてのウィンドウのピクセル・データ352が保持されたところで、システムコントローラ61は、バッファメモリ95に保持されているウィンドウのピクセル・データ352をDMA転送回路87を通じて、MPEG2デコーダ89に接続されたSDRAM98に転送する(ステップ3004)。
図32は、図30のステップ3003のウィンドウのピクセル・データ352をそのまま転送する処理の手順を示すフローチャートである。この場合、システムコントローラ61は、まず、HDD24またはフラッシュROM104から表示対象のウィンドウのピクセル・データ352をRAM72に読み込み(ステップ3201)、このRAM72に読み込んだウィンドウのピクセル・データ352を、DMA転送回路87を通じてバッファメモリ95に転送する(ステップ3202)。バッファメモリ95にすべてのウィンドウのピクセル・データ352が保持されたところで、システムコントローラ61は、バッファメモリ95に保持されているウィンドウのピクセル・データ352をDMA転送回路87を通じて、MPEG2デコーダ89に接続されたSDRAM98に転送する(ステップ3203)。
図33は、図27のステップ2703のウィンドウ・ヘッダ350をMPEG2デコーダ89へ登録する処理の手順を示すフローチャートである。システムコントローラ61は、ウィンドウ・ヘッダ生成用のプログラムに従って、転送したウィンドウのピクセル・データ352に対応するウィンドウ・ヘッダ350を生成する。このウィンドウ・ヘッダ350は、個々のウィンドウのサイズ、レイアウトなどの情報とともに、ウィンドウの表示に使用するカラーパレット351を指定する情報、表示対象のウィンドウのピクセル・データ352を指定する情報が含まれている(ステップ3301)。続いて、システムコントローラ61は、生成したウィンドウ・ヘッダ350をDMA転送回路87を通じてMPEG2デコーダ89に接続されたSDRAM98に転送する(ステップ3302)。MPEG2デコーダ89は、ウィンドウ・ヘッダ350が転送されてきたことを知ると、SDRAM98に書き込まれたウィンドウ・ヘッダ350の内容を自身の設定部に登録する(ステップ3303)。
このようにしてMPEG2デコーダ89にウィンドウ・ヘッダ350の内容が登録された後、図27のステップ2704で示したように、システムコントローラ61からDMA転送回路87を通じてMPEG2デコーダ89に画面表示のコマンドが与えられると、MPEG2デコーダ89は、ウィンドウ・ヘッダ350によって指定されたウィンドウのピクセル・データ352をSDRAM98から読み込み、このウィンドウのピクセル単位のデータであるパレット番号に対して、ウィンドウ・ヘッダ350により指定されたカラーパレット351から表示用の色データが読み込まれる。
このように、ウィンドウのピクセル単位のデータであるパレット番号をそのまま利用するか、パレット番号のバイナリ値を反転して利用するかによって、文字と背景との色の組み合わせが異なる2種類のウィンドウを表示させることができる。すなわち、一つのウィンドウのデータで文字と背景との色の組み合わせが異なる2種類のウィンドウを選択的に切り替えて表示させることができる。これにより、一つのウィンドウに対して文字と背景との色の組み合わせが異なる2つのデータを用意する必要がなくなり、ウィンドウのデータによる記憶容量の消費量を低減することができる。
以上、本発明を携帯型HDDビデオ再生装置100に適用する場合について説明したが、メニューなどの画像を表示する機能をもつ装置であれば、様々な種類の機器にも適用できる。たとえば、PDA(Personal Digital Assistant)、携帯電話、デジタルカメラ、ビデオカメラレコーダ、テレビジョンセット、カーナビゲーションシステム、コンピュータなどへの適用が考えられる。また、携帯型HDDビデオ再生装置100へのビットマップデータおよびメタデータの転送元は、コンピュータに限らず、ビットマップデータおよびメタデータを蓄積可能な各種の電子機器であってもかまわない。
本発明は、上述の実施形態にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。