(57)【特許請求の範囲】
【請求項１】
複数のピクチャデータから構成される動画コンテンツを再生する再生装置であって、
動画コンテンツの一覧画面を表示する表示手段と、
一覧画面に対するユーザの選択操作に従って、動画コンテンツを再生し、再生開始位置及び再生停止位置の履歴をとる再生手段と、
動画コンテンツの再生が停止した後、一覧画面を更新した上で表示手段に表示させる更新手段と、
各動画コンテンツについてのサムネール画像の上限値をNとし、一覧表示の対象となる動画コンテンツ数をMとした場合、M・N枚のサムネール画像が一覧画面に収まるかどうかを判定する判定手段とを備え、
前記更新手段による更新は、
M・N枚のサムネール画像が一覧画面に収まると判定手段が判定した場合、前記再生開始位置から再生停止位置までに存在する複数のピクチャデータのうち、所定の時間間隔置きのものを選択し、選択された複数ピクチャデータについての複数のサムネール画像を、一覧画面に配置することでなされ、
M・N枚のサムネール画像が一画面に収まらないと判定手段が判定した場合、前記更新手段は、前記選択された複数ピクチャデータについての複数サムネール画像のスライドショーを、一覧画面上で実行する
ことを特徴とする再生装置。
【請求項２】
前記更新手段により一覧画面に配置されるサムネール画像の数は、前記再生開始位置から再生停止位置までの区間の時間長と、動画コンテンツの総再生時間長との割合に応じて変化することを特徴とする請求項１記載の再生装置。
【請求項３】
複数のピクチャデータから構成される動画コンテンツを再生する再生処理を、コンピュータに行わせるプログラムであって、
動画コンテンツの一覧画面を表示する表示ステップと、
一覧画面に対するユーザの選択操作に従って、動画コンテンツを再生し、再生開始位置及び再生停止位置の履歴をとる再生ステップと、
動画コンテンツの再生が停止した後、一覧画面を更新した上で表示ステップに表示させる更新ステップと、
各動画コンテンツについてのサムネール画像の上限値をNとし、一覧表示の対象となる動画コンテンツ数をMとした場合、M・N枚のサムネール画像が一覧画面に収まるかどうかを判定する判定ステップとをコンピュータに行わせ、
前記更新ステップによる更新は、
M・N枚のサムネール画像が一覧画面に収まると判定ステップが判定した場合、前記再生開始位置から再生停止位置までに存在する複数のピクチャデータのうち、所定の時間間隔置きのものを選択し、選択された複数ピクチャデータについての複数のサムネール画像を、一覧画面に配置することでなされ、
M・N枚のサムネール画像が一画面に収まらないと判定ステップが判定した場合、前記更新ステップは、前記選択された複数ピクチャデータについての複数サムネール画像のスライドショーを、一覧画面上で実行する
ことを特徴とするプログラム。
【請求項４】
前記更新ステップにより一覧画面に配置されるサムネール画像の数は、前記再生開始位置から再生停止位置までの区間の時間長と、動画コンテンツの総再生時間長との割合に応じて変化することを特徴とする請求項３記載のプログラム。
【請求項５】
複数のピクチャデータから構成される動画コンテンツを再生する再生処理を、コンピュータに行わせる再生方法であって、
動画コンテンツの一覧画面を表示する表示ステップと、
一覧画面に対するユーザの選択操作に従って、動画コンテンツを再生し、再生開始位置及び再生停止位置の履歴をとる再生ステップと、
動画コンテンツの再生が停止した後、一覧画面を更新した上で表示ステップに表示させる更新ステップと、
各動画コンテンツについてのサムネール画像の上限値をNとし、一覧表示の対象となる動画コンテンツ数をMとした場合、M・N枚のサムネール画像が一覧画面に収まるかどうかを判定する判定ステップとを有し、
前記更新ステップによる更新は、
M・N枚のサムネール画像が一覧画面に収まると判定ステップが判定した場合、前記再生開始位置から再生停止位置までに存在する複数のピクチャデータのうち、所定の時間間隔置きのものを選択し、選択された複数ピクチャデータについての複数のサムネール画像を、一覧画面に配置することでなされ、
M・N枚のサムネール画像が一画面に収まらないと判定ステップが判定した場合、前記更新ステップは、前記選択された複数ピクチャデータについての複数サムネール画像のスライドショーを、一覧画面上で実行する
ことを特徴とする再生方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数の動画コンテンツの再生を行う再生装置に関し、特に一部再生済みコンテンツの内容を、ユーザに思い出させる場合の改良に関する。
【０００２】
【従来の技術】
DVD,HDといった記録媒体は、毎週放送される連続ドラマ等の放送コンテンツを、何週にもわたって録画するという用途に利用されることが多い。そうして録画された複数コンテンツの視聴を支援すべく、昨今市場に登場している再生装置は、コンテンツの一覧機能を充実させている。この一覧機能では、記録媒体に記録されたコンテンツの記録日時や、放送チャネル、放送タイトルを表示することにより、記録媒体に記録された記録内容の理解を助けている。また、前回の再生時に最後に表示された画像や再生停止位置を示す棒グラフを表示することにより、過去にどのような再生処理を行ったかを、ユーザに伝達することもできる。
【０００３】
尚、前回の再生時における最後の画像を表示すると共に棒グラフを表示するという先行技術は、以下の特許文献1に開示されたものがある。
【０００４】
【特許文献１】
特許第3267349号公報
【０００５】
【発明が解決しようとする課題】
ところで、連続ドラマは、各週の放送内容において、登場人物の心理がどうであったかとか、登場人物がどのような行動をとったか等に重要な意義があり、これらを覚えておかないと、ユーザはストーリに没頭することはできない。
記録媒体に記録されたコンテンツを視聴する場合も同様であり、「自分がどの週の放送分まで視聴したのか」や、「その週の放送において、登場人物の心理や行動がどうであったか」を克明に覚えておかないと、それらを思い出すまで、ユーザは、ストーリに没頭できない。
【０００６】
登場人物の心理や行動に関する記憶は、その放送を観たときのユーザの新鮮な印象や感想に基づくものであり、時間が経つにつれ衰えてゆく。時間の経過と共にそうした記憶は不鮮明になるので、ストーリに没頭するまでに、時間がかかってしまう。一覧機能にて、コンテンツの記録日時等が表示された程度では、思い出せない場合が多い。前回の再生時に最後に表示された画像や、再生停止位置を示す棒グラフが表示されたとしても同様である。
【０００７】
しかしながら、上記一覧機能だけでは、それらの記憶を想い出すことは困難なので、ストーリに没頭するには、既に視聴した部分を巻戻したり、或は早送りしたりして、それまでの視聴済み部分の内容を思い出す作業を行わねばならない。視聴したコンテンツの数が多いほど、そうした確認作業の煩わしさも増してしまい、引き続きコンテンツを視聴しようとする意欲を失ってしまう。
【０００８】
連続ドラマを一例にして説明したが、教養コンテンツやスポーツジャンルのコンテンツでも同様であり、視聴済みコンテンツのこれまでの視聴済み部分において、解説者や競技者がどのような言動をとったかを克明に覚えておかないと、ユーザはコンテンツの内容になかなか没頭することができない。記録コンテンツの数が多くなり、それが思い出せないようであれば、記録されたコンテンツの視聴しようとする意欲を失ってしまい、強いては、複数コンテンツを記録しておくことの意義さえも失ってしまう。
【０００９】
本発明の目的は、記録媒体における視聴済みコンテンツにおいて、登場人物の心理や行動がどうであったかをユーザにいち早く思い出させることができる再生装置を提供することである。
【００１０】
【課題を解決するための手段】
上記課題を解決するため、本発明にかかる再生装置は、 複数のピクチャデータから構成される動画コンテンツを再生する再生装置であって、動画コンテンツの一覧画面を表示する表示手段と、一覧画面に対するユーザの選択操作に従って、動画コンテンツを再生し、再生開始位置及び再生停止位置の履歴をとる再生手段と、動画コンテンツの再生が停止した後、一覧画面を更新した上で表示手段に表示させる更新手段と、各動画コンテンツについてのサムネール画像の上限値をNとし、一覧表示の対象となる動画コンテンツ数をMとした場合、M・N枚のサムネール画像が一覧画面に収まるかどうかを判定する判定手段とを備え、前記更新手段による更新は、M・N枚のサムネール画像が一覧画面に収まると判定手段が判定した場合、前記再生開始位置から再生停止位置までに存在する複数のピクチャデータのうち、所定の時間間隔置きのものを選択し、選択された複数ピクチャデータについての複数のサムネール画像を、一覧画面に配置することでなされ、M・N枚のサムネール画像が一画面に収まらないと判定手段が判定した場合、前記更新手段は、前記選択された複数ピクチャデータについての複数サムネール画像のスライドショーを、一覧画面上で実行することを特徴としている。
【００１１】
【発明の実施の形態】
(第１実施形態)
以降、本発明に係る再生装置の実施形態について説明する。先ず始めに、本発明に係る再生装置の実施行為のうち、使用行為についての形態を説明する。本発明に係る再生装置は、図１に示すようにテレビ１０１と、リモコン１０２と共にホームシアターシステムを形成するものであり、当該再生装置は、テレビ１０１に表示されたGUI(Graphical User Interface)と、リモコン１０２の操作とに基づきDVD１００に記録されている動画コンテンツを選択して再生するという、用途に供される。
【００１２】
DVD１００は、図示しない記録装置により複数の動画コンテンツが記録された光ディスクである。DVD１００において動画コンテンツは、その記録日時、その動画コンテンツが放送されたチャネル、その動画コンテンツのタイトルが対応づけられている。動画コンテンツは、1つ以上のVOB(Video Object)と、これらの1つ以上のVOBについての管理情報とから構成される。VOBは、ビデオストリーム及びオーディオストリームをインターリーブ多重することにより得られるプログラムストリームである。ビデオストリームは、圧縮符号化された複数ピクチャデータであり、オーディオストリームは、圧縮符号化された複数オーディオデータである。以上が動画コンテンツの構成であるが、管理情報の扱いまで言及すると説明が煩雑になるので、第１〜第５実施形態では管理情報については言及せず、VOBそのものが動画コンテンツであるものとして以下の説明を行う。
【００１３】
テレビ１０１は、DVD１００に記録されたコンテンツを選択するためのGUIや、選択されたコンテンツの再生画像を表示する。
リモコン１０２は、GUIに対する操作をユーザから受け付ける機器であり、かかる操作受け付けのため、リモコン１０２は、矢印キー、決定キーを備える。
続いて本発明に係る再生装置の実施行為のうち、生産行為についての実施形態について説明する。本発明に係る再生装置は、図２に示す内部構成に基づき生産することができる(ここでの生産は、工業的な製造行為を意味する。)。図２は、再生装置の内部構成を示す図である。図２に示すように、再生装置は、DVDドライブ１、ASP２、DSP３、MPEGデコーダ４、システムデコーダ５、オーディオデコーダ６、ビデオデコーダ７、フレームメモリ８a,b,c、順序制御部９、信号合成部１０、マイコンシステム１１、GUI作成部１２、再生制御部１３、ワークエリア１４、GUI更新部１５、サムネール作成部１６から構成される。
【００１４】
先ず始めに、本発明に係る再生装置のハードウェア構成について説明してゆく。
DVDドライブ１は、DVD１００を搭載するトレイ1a、このトレイを前後駆動するローディングモータ1b、トレイ1aに置かれたDVD１００を回転駆動するスピンドルモータ1c、光ピックアップ1d、DVD１００の半径方向に光ピックアップを駆動するトラッキングモータ1eを備える。光ピックアップ1dは、回転中のDVD１００にレーザビームを照射するレーザダイオード1f、レーザビームの反射光を受光するフォトダイオード1gを備える。
【００１５】
ASP(Analog Signal Processor)２は、マイコンシステム１１から指示されたアドレスに、光ピックアップ1dを移動させるようスピンドルモータ1c及びトラッキングモータ1eを制御する。
DSP(Degital Signal Processor)３は、DVD１００の回転速度を一定に保つよう、スピンドルモータ1cの制御を行う。また光ピックアップ1dにより読み取られたRF信号に対し、2値化、8-16復調、誤り訂正を行い、デジタル信号を得る。
【００１６】
MPEGデコーダ４は、DSP３が得たデジタル信号のうち、VOB(コンテンツ)を復号する専用回路であり、システムデコーダ５、オーディオデコーダ６、ビデオデコーダ７を備える。
システムデコーダ５は、MPEGデコーダ４の構成要素であり、VOBU（Video OBject Unit）
に対する多重分離を行う。VOBUとは、0.4〜1.0秒分のピクチャデータの集まりであるGOP（Group Of Picture）と、このGOPと同時に再生されるべき複数オーディオフレームとを含むVOBの最小復号単位である。このVOBUに対してシステムデコーダ５が多重分離を行うことにより、GOPと、複数オーディオフレームとが得られる。
【００１７】
オーディオデコーダ６は、複数オーディオフレームを復号して、オーディオ信号を得る。
ビデオデコーダ７は、GOPを構成するBidirectionally Predictive(B)ピクチャ、Predictive(P)ピクチャ、Intra(I)ピクチャに対して、VLD（Variable Length Decode)、IQ(Invert Quantization)、IDCT(Inverse Discrete Cosine Transform)、MC(Motion Compensation)といった処理を施すことにより、フレームメモリ８a,b,cにデジタル非圧縮状態のピクチャデータを得る。
【００１８】
フレームメモリ８a,b,cは、Iピクチャ、Bピクチャ、Pピクチャという3つのタイプのピクチャデータのそれぞれに割り当てられており、各フレームメモリ８a,b,cは、これら3つのタイプのピクチャデータを伸長することにより得られた非圧縮状態のピクチャデータを、別々に格納する。
順序制御部９は、フレームメモリ８a,b,cに格納された非圧縮状態のピクチャデータを、ピクチャデータに付加されたPTS(Presantation Time Stamp)に示されたタイミングで順次読み出して、ビデオ信号に変換した上で出力する。DVD１００に格納されている状態において、コンテンツを構成する複数のピクチャデータは、符号化順序と呼ばれる並びになっており、これを再生するには、これらのピクチャデータを表示順序に並べ替えねばならない。この並べ替えを行うべく、フレームメモリ８a,b,cのそれぞれに格納されたIピクチャ、Pピクチャ、Bピクチャを、PTSに示された順序で読み出すのである。
一方、順序制御部９は、ピクチャデータに付加されたPTS自身を、マイコンシステム１１に順次出力する。ここで出力されたPTSは後に説明する通り、動画コンテンツの再生履歴として利用する。
【００１９】
信号合成部１０は、デコーダ４からのピクチャデータにGUIデータを合成して、テレビ用の映像信号に変換する。GUIデータは、OSD(On Screen Display)データである。OSDデータは、Look Up Table(LUT)に示された2,4色を、背景色,文字色として使用した描画された簡易グラフィックスであり、信号合成部１０は、非圧縮状態のピクチャデータを構成する水平ラインと、このOSDデータの水平ラインとを混合することにより、ピクチャデータにOSDデータを合成する。この混合にあたって信号合成部１０は、混合率の設定次第で、ピクチャデータをGUIで覆い隠したり、ピクチャデータが透けてみえるようにすることもできる。
【００２０】
マイコンシステム１１は、CPU１１aと、CPU１１aにより実行されるべきプログラムが記録された命令ROM１１bと、プログラムの処理に利用されるRAM１１cを備え、命令ROM１１bに格納されているプログラムをCPU１１aに実行させることにより、再生装置の統合制御を行う。
以上が本発明に係る再生装置のハードウェア構成である。続いて、本発明に係る再生装置のソフトウェア構成について説明する。
【００２１】
命令ROM１１bに格納されているプログラムは、「再生制御」,「GUI作成」,「GUI更新」という機能を実現するよう、予めコーディングされている。命令ROM１１bに格納されているプログラムは、CPU１１aにより読み取られることにより、再生制御部１３、GUI作成部１２、GUI更新部１５という具体的手段として機能する。またRAM１１cは、これら具体的手段の機能時において、ワークエリア１４として機能する。以下、GUI作成部１２〜GUI更新部１５について説明する。
【００２２】
GUI作成部１２は、GUIを作成して表示すると共に、ユーザが行った操作に従い、再生装置の統合制御を行う。GUI上には、複数の表示領域が存在する。表示領域には、DVD１００に記録されたコンテンツを視覚的に表現するための「プログラムナビ」が配置される。図３は、プログラムナビの一例を示す図である。本図におけるプログラムナビ３００は、図１においてテレビ受像機１０１に表示されていたものを拡大し、詳細に示したものである。本図に示すようにプログラムナビ３００は、インデックス領域３０１と、サムネール領域３０２とからなる。プログラムナビ３００のインデックス領域３０１には、各動画コンテンツの記録日時(記録年月日と記録時刻とからなる)、動画コンテンツのチャネル、動画コンテンツのタイトルが配置される。プログラムナビ３００は、ノーマル状態、フォーカス状態、アクティブ状態という3つの状態をもつ。ノーマル状態とは、ユーザの選択対象になっていない状態である。フォーカス状態は、リモコンの矢印キーにより、再生の候補として指定された状態でる。アクティブ状態とは、再生対象として確定された状態である。GUI作成部１２は、このGUIにおいてアクティブ状態にされた動画コンテンツを再生するよう、再生制御部１３に指示する。
【００２３】
再生制御部１３は、ユーザにより再生対象として確定された動画コンテンツを再生するよう、MPEGデコーダ４、DVDドライブ１を制御する。動画コンテンツの再生は、停止キーの押下をリモコン１０２が受け付けるまで継続してなされる。この再生制御に並行して再生制御部１３は、再生開始時刻、再生停止時刻の履歴を記録する。この履歴記録処理は、動画コンテンツの再生指示後、最初に順序制御部９から出力されるPTSの値を再生開始時刻とし、動画コンテンツの停止指示後、最初に順序制御部９から出力されるPTSを再生停止時刻とした再生開始時刻−再生停止時刻の組みをワークエリア１４に書き込むことによりなされる。再生制御部１３は、同じ動画コンテンツが、再生対象として再度確定された場合、ワークエリア１４に格納された再生停止時刻の直後の時刻を、再生開始時刻としてレジューム再生を行う。
【００２４】
ワークエリア１４には、GUI作成部１２により作成されたGUIや動画コンテンツ毎の再生履歴や配列Hが格納されている。ここで動画コンテンツ毎の再生履歴は、再生開始時刻−再生停止時刻の組みのことをいう。配列Hは、この再生開始時刻と再生停止時刻との間のΔt間隔の経過時刻を格納するための配列である。図２の一例における2つの配列の要素数は互いにNになっているが、これは作図の便宜のための一例であり、配列Hの要素数は、再生の進捗に従い増減する。また図２のワークエリア１４の一例は、動画コンテンツ1〜動画コンテンツ3という3つの動画コンテンツがあり、動画コンテンツ1の再生が既に3回行われている場合を想定している。この場合、図中の枠に示すように1回目の再生開始時刻−再生停止時刻の組みと2回目の再生開始時刻−再生停止時刻の組みと3回目の再生開始時刻−再生停止時刻の組みが再生履歴としてRAM１４に格納される。動画コンテンツ1の他に、動画コンテンツ2の再生が既に1回行われているなら、1回目の再生開始時刻−再生停止時刻の組みが、動画コンテンツ1の再生履歴とは別に、このワークエリアに格納される。このワークエリアには、対応する動画コンテンツの再生が1回行われる度に、再生開始時刻−再生停止時刻の組みが1つずつ再生履歴に追加されてゆく。
【００２５】
GUI更新部１５は、再生制御部１３により動画コンテンツの再生がなされた後、GUIの内容を更新して、テレビ１０１に表示させる。このGUI更新部１５による更新とは、各動画コンテンツに対応するプログラムナビに、その動画コンテンツについてのサムネール画像を配置するというものである。このサムネール画像は、直前の再生開始時刻から再生停止時刻までの視聴済み区間に属するピクチャデータを縮小したものである。サムネール画像を作成すべきピクチャデータは、視聴済み区間から選ばれるので、このサムネール領域３０２に表示されるサムネール画像は、対応する動画コンテンツの再生がどれだけ進捗しているかによって変わる。図３において、プログラムナビ３００のサムネール領域３０２は、最大10枚のサムネールを表示できる。しかし動画コンテンツが全体の20%再生されている場合このサムネール領域３０２に配置されるサムネール画像は2枚となり、全体の50%が再生されている場合、サムネール領域３０２に表示されるサムネール画像は5枚となる。動画コンテンツが未再生であれば、サムネール領域３０２に表示されるサムネール画像は、先頭画面についてのサムネール画像1枚となる。上記の通り、再生の進捗に応じて、表示されるサムネール画像の枚数が変わるので、動画コンテンツの再生がどれだけ進捗しているかをユーザは直感で理解することができる。
【００２６】
サムネール作成部１６は、GUI更新部１５の1つの構成要素であり、再生開始時刻及び再生停止時刻の組みを参照して、視聴済み区間に属するピクチャデータを複数を選び、選んだピクチャデータのサムネール画像を作成して、このサムネール画像をサムネール領域３０２に表示する。。図２における矢印py1,2,3は、このサムネール作成部１６による処理を模式的に示す。かかるサムネール画像を作成すべくサムネール作成部１６は、視聴済み区間内のピクチャデータをDVD１００から読み出させ、MPEGデコーダ４にデコードさせる。このデコードにより非圧縮状態のピクチャデータがフレームメモリ８a,b,c内に得られれば、フレームメモリ８a,b,cからワークエリア１４にピクチャデータを読み出して(py1)、ワークエリア１４上で非圧縮ピクチャデータを順次縮小させる(py2)。こうした縮小によりサムネール画像が得られるので、これをGUIのプログラムナビ上のサムネール領域３０２に表示する(py3)。
【００２７】
サムネール画像の表示にあたって、本実施形態では、コンテンツ全体から上限数Nのピクチャデータを選ぶ際の時間間隔Δtを以下の式1から算出し、コンテンツの総再生時間に対する視聴済み区間の割合αを以下の式2から算出する。
<式1> Δt＝総再生時間/上限数N
<式2>
α＝視聴済み区間の時間長/総再生時間
※式1におけるΔtは、視聴済み区間からα・N枚のピクチャデータを選ぶ際の時間間隔に等しい。これは以下の式3から明らかである。
【００２８】
<式3>
Δt＝ 総再生時間／上限数N ＝ 総再生時間×α／α・N枚
＝ 視聴済み区間の時間長／α・N枚
以上より、視聴済み区間からα・N枚のピクチャデータを選ぶ際も、時間間隔Δtでピクチャデータを選んでゆけばよい。
【００２９】
図４（ａ）は、メインルーチンにあたるフローチャートであり、GUI作成部１２の処理内容を示す。本フローチャートにおいて、縦棒"｜"が付いたステップ（ステップＳ１、ステップＳ７など）は、その処理内容を更に詳細化したサブルーチンが存在することを示す。
ステップＳ１においてGUI作成部１２は、DVD１００に記録されている複数の動画コンテンツを視覚的に表したプログラムナビ３００を表示し、このうち最も古く記録された動画コンテンツに対応するプログラム３００を、ステップＳ２においてフォーカス状態にする。
【００３０】
次にステップＳ３〜ステップＳ４のループ処理を行う。このループ処理は、リモコン１０２における矢印キーの押下(ステップＳ３)されること、または、リモコン１０２における決定キーの押下(ステップＳ４)されること、のどちらかを待つイベント待ちループである。ここで、矢印キー押下というイベントが生じれば、ステップＳ５において押下された矢印キーで指示されるプログラムナビをフォーカス状態に設定する。つまり矢印キーには、上下という2種類があり、下キーが押下されれば現在フォーカス状態にあるプログラムナビをノーマル状態に戻した上で、そのプログラムナビの下に存在するプログラムナビをフォーカス状態に設定する。逆に上キーが押下されれば現在フォーカス状態にあるプログラムナビをノーマル状態に戻した上で、そのプログラムナビの上に存在するプログラムナビをフォーカス状態に設定する。
【００３１】
決定キー押下というイベントが生じれば、ステップＳ６においてGUI作成部１２は、フォーカス状態にあるプログラムナビをアクティブ状態に設定して、その上で当該動画コンテンツを再生対象である動画コンテンツxに確定する。こうして動画コンテンツxが確定されれば、ステップＳ７において、動画コンテンツxのy回目の再生を再生制御部１３に行わせる。この"y"というのは、動画コンテンツxの再生が何回目であるかを示す変数であり、動画コンテンツxの再生が一回行われる度にインクリメントされる。こうして動画コンテンツxのy回目の再生が行われれば、ステップＳ８においてこのy回目の再生履歴に応じたGUIの更新を、GUI更新部１５に行わせる。
【００３２】
このフロ−チャ−トのステップＳ１を詳細化するサブルーチンが、図４（ｂ）である。図４（ｂ）は、図４（ａ）のステップＳ１を詳細化するサブルーチンであり、GUI作成部１２の処理手順を示す。ステップＳ９において、GUI作成部１２はサムネールをN枚配置することができるサムネール領域を有するプログラムナビを、GUI上にM個生成し、ステップＳ１０において各動画コンテンツの記録日時、チャネル、タイトルを各プログラムナビのインデックス領域に配置する。ステップＳ１１において各プログラムナビのサムネール領域に、動画コンテンツの先頭ピクチャデータのサムネールを配置した後図４（ａ）のメインルーチンにリターンする。
【００３３】
図５は、ステップＳ７を詳細化するサブルーチンであり、再生制御部１３の処理手順を示す。ステップＳ１２において再生制御部１３は、動画コンテンツxの再生履歴がワークエリア１４に存在するか否かを判定する。
再生履歴がワークエリア１４に存在しなければ、再生制御部１３はステップＳ１３で変数yを1に初期化して、ステップＳ１４において動画コンテンツの先頭を、y回目の再生開始位置に設定する。そしてステップＳ１５において、再生制御部１３は設定された再生開始位置から、動画コンテンツを再生させる。これにより、動画コンテンツxは、先頭から再生される。
【００３４】
動画コンテンツxの履歴がワークエリア１４に存在する場合は、ステップＳ１６においてワークエリア１４内の最後の再生履歴における再生停止時刻を取得して、ステップＳ１７において取得した再生停止時刻の直後を、y回目の再生開始位置に設定してからステップＳ１５を行う。最後の再生停止時刻の直後が再生開始位置になるので、ワークエリア１４に既に再生履歴が存在する場合は、レジューム再生が行われることになる。
【００３５】
その後、ステップＳ１８において再生制御部１３は、順序制御部９からPTSが出力されるの待つ。PTSが出力されれば、ステップＳ１９において取得したPTSをy回目再生の再生開始時刻としてワークエリア１４に格納する。
以降、ステップＳ２０〜ステップＳ２１からなるイベント待ち状態となる。ここで再生制御部１３が発生を待つイベントとは、動画コンテンツxの再生が終了したかというイベントと(ステップＳ２０)、リモコン１０２に対して、停止操作がなされたかというイベント(ステップＳ２１)である。動画コンテンツxの再生が終了すれば（ステップ２０のYes）、再生制御部１３はステップＳ２３に移行する。リモコン１０２に対し停止操作がなされれば（ステップ２１のYes）、再生制御部１３はステップＳ２２でMPEGデコーダを停止した上でステップＳ２３に移行する。
【００３６】
ステップＳ２３において再生制御部１３は、順序制御部９からPTSを取得して、ステップＳ２４においてこのPTSを、y回目再生の再生停止時刻とする。ステップＳ２５において再生制御部１３は、取得した再生開始時刻と再生停止時刻との組みを、動画コンテンツxのy回目の再生履歴としてワークエリア１４に格納する。以上が再生制御部１３による動画コンテンツxの再生処理である。こうした処理を経て、図４（ａ）のメインルーチンにリターンする。
【００３７】
本フロ−チャ−トにおいて動画コンテンツを、その先頭から再生するとしたが、動画コンテンツにチャプターやマークが存在しており、これらの位置からの頭出しが可能なら、動画コンテンツの先頭の代わりに、チャプターやマークを再生開始時刻にしてもよい。また、ユーザによる時刻指定で頭出しを行うというタイムサーチが可能であれば、ユーザにより指定された指定時刻を再生開始時刻にしてもよい。
【００３８】
続いてGUI更新処理の処理手順の詳細について説明する。GUI更新処理のサブルーチンの処理手順を図６に示す。図６は、図４（ａ）ステップＳ８のGUI更新処理のサブルーチンであり、GUI更新部１５及びサムネール作成部１６の処理手順を示す。
本フローチャートにおいてGUI更新部１５は、先ずステップＳ３１において変数yをチェックすることにより、動画コンテンツxの再生が1回目であるか、2回目以上であるかを判定する。
【００３９】
もし1回目であれば、GUI更新部１５は動画コンテンツxの総再生時間を、表示可能な上限数Nで割りΔtを得る(ステップＳ３２)。そして動画コンテンツxについての配列Hを初期化し(ステップＳ３３)、配列Hのインデックスの変数kを0に初期化して(ステップＳ３４)、ステップＳ３５〜ステップＳ３８の処理に移行する。ここで、動画コンテンツxについての配列Hには、動画コンテンツxの視聴済み区間において、間隔Δt置きの経過時刻が格納される。なお、配列Hの先頭要素である配列H[0]には、再生経過時刻0秒が格納される。
【００４０】
ステップＳ３５〜ステップＳ３８は、ステップＳ３７において配列Hのk番目の配列要素(配列H[k])にΔtを加算し、この加算結果を、k+1番目の配列要素(配列H[k+1])に格納するという処理を繰り返すものである。変数kはステップＳ３８でインクリメントされる。このループ処理の終了要件は、k番目の配列要素にΔtを加算した値が、y回目の再生停止時刻を越えたとステップＳ３６で判定される（ステップＳ３６のYes）ことである。即ち、Δtを加算した後の値がy回目の再生停止時刻を越えるまで、ステップＳ３７の処理が繰り返されるのである。
【００４１】
ステップＳ３６がYesと判定されれば、ステップＳ５３において、kの値をラストナンバーに設定してステップＳ４１に移行する。
ステップＳ３１でNoと判定された場合、つまり動画コンテンツxの再生が２回目以上である場合、動画コンテンツには既に、配列Hが存在するものと考えられる。そこでステップＳ３９において、GUI更新部１５はこの配列要素のラストナンバー+1の値を、変数ksに代入する。ステップＳ４０においてこのksの値を変数kに代入した上で、ステップＳ３５〜ステップＳ３８の処理を行う。GUI更新部１５による以上の処理により、配列Hに、y回目の再生開始時刻から再生停止時刻までのΔt置きの経過時刻を追加してゆく。
【００４２】
続くステップＳ４１〜ステップＳ５１は、サムネール作成部１６によるGUIへのサムネールの配置処理である。配置処理の説明に先立って、表示領域のサムネール領域におけるサムネールのレイアウトについて説明する。サムネール領域においてサムネールは、マトリックス状に配置される。マトリックス配置において、サムネールが何列何行に配置されるかを、変数i,jを用いて、i列j行という表記で表す。図３におけるプログラムナビ内の(＊,＊)といった表記の数値は、(i,j)という表記で、サムネール領域内のサムネールの表示位置が、表現されることを示す。
【００４３】
以降、ステップＳ４１〜ステップＳ５１から構成されるサムネール配置処理について説明する。ステップＳ４１においてサムネール作成部１６は、変数yをチェックすることにより、動画コンテンツxの再生が1回目であるか、2回目以上であるかを判定する。動画コンテンツxの再生が1回目なら、ステップＳ４２においてサムネール作成部１６はiを2に設定し、j,kをそれぞれ1と設定する。
【００４４】
i,j,kをそれぞれ設定した後、サムネール作成部１６は動画コンテンツxにおいて、配列H[k]に格納されているピクチャデータを読み出し(ステップＳ４３)、読み出されたピクチャデータのサムネール画像を作成して(ステップＳ４４)、そのサムネール画像をi列j行に表示する(ステップＳ４５)。サムネールの列座標を特定する"i"は、ステップＳ４８でインクリメントされる。ステップＳ４３〜ステップＳ４６の処理は、この変数iが、サムネール領域の横幅maxを上回るまで繰り返される(ステップＳ４９)。この繰り返しによりサムネールが、サムネール領域において横方向に順次配置されてゆく。
【００４５】
変数iが横幅maxを上回れば、変数jをインクリメントした上で、変数iを1に初期化する(ステップＳ５０)。そしてステップＳ５１を経てステップＳ４３に移行する。
変数jのインクリメントにより、サムネール領域におけるサムネールの表示位置は下行左端に移る。その後、ステップＳ４３〜ステップＳ５１の処理を繰り返せば、この下行においてサムネールは、横方向に配置されてゆく。
【００４６】
ステップＳ４３〜ステップＳ５１のループ処理は、変数iが横幅maxを越え(ステップＳ４９でYes)、変数jが縦幅maxを越えるまで(ステップＳ５１でYes)、繰り返される。変数kが、配列要素の最大数maxを越えれば、変数i,jが縦横幅の最大値を越えるのを待つまでもなく、例外的に処理を終了する(ステップＳ４７でYes)。動画コンテンツ全体を再生しているのではなく、途中までしか視聴していない場合、サムネール領域にサムネールの全てを配置せずに、サムネール表示処理を終え、図４（ａ）のメインルーチンにルターンする。
【００４７】
一方動画コンテンツxの再生が2回目以上なら、i,jを、プログラムナビ内の最後のサムネールの直後を示す値に設定し、kをksに設定する。ここでksには、ステップＳ３９において、この配列要素のラストナンバー+1の値が設定されている。i,j,kをこのように設定すれば、既に存在しているサムネールの隣に、y回目の再生に対応するサムネールが配置されてゆく。
【００４８】
尚Δtは、上述したような計算により求めるものではなく、1分、2分というように予め決められた時間であってもよい。この場合、サムネール領域に表示されるサムネール画像の数は再生の進捗状況を、割合でなく、時間で示すことになる。
図７〜図９の具体例を交えて、本フローチャートの処理手順を更に詳細に説明する。動画コンテンツ1〜動画コンテンツ3という3つの動画コンテンツがDVD１００に記録されており、これらの動画コンテンツは何れも未再生であるとする。この場合、ステップＳ１により、動画コンテンツ1〜動画コンテンツ3のそれぞれに対応するプログラムナビをGUI上に表示する。このステップＳ１による処理の結果が図７の表示例である。図７は、3つの動画コンテンツ1〜動画コンテンツ3が全く未再生である場合におけるGUIのプログラムナビを示す図である。本図において動画コンテンツ1〜動画コンテンツ3のそれぞれに対応するプログラムナビが表示され、これらのプログラムナビのインデックス領域には、動画コンテンツのタイトルや記録日時、チャネルが配置される。サムネール領域には、各動画コンテンツの先頭ピクチャデータについてのサムネール画像が配置される。こうして表示されたGUIのうち、ユーザが操作を行い、動画コンテンツ1が再生対象たる動画コンテンツxに確定されたとする。動画コンテンツ1はその総再生時間が3000秒(PM8:00〜PM8:50)であり、この3000秒の再生時間のうち、先頭0秒から再生が行われ、1240秒にその再生が停止したとする。そうすると、ステップＳ８にて、動画コンテンツ1のプログラムナビに対する更新処理を行う。この更新処理は、再生開始時刻0秒〜再生停止時刻1240秒の区間から、300秒置きの4つのピクチャデータを選んで、それらのサムネール画像を動画コンテンツ1のプログラムナビのサムネール領域に配置するというものである。図８は、3つの動画コンテンツ1〜動画コンテンツ3のうち、動画コンテンツ1が先頭から1240秒の位置まで再生された場合、GUIのプログラムナビがどのように更新されるかを示す。本図の動画コンテンツ1のサムネール領域には、0秒後のピクチャデータ、300秒後のピクチャデータ、600秒後のピクチャデータ、900秒後のピクチャデータ、1200秒後のピクチャデータのサムネール画像がそれぞれ配置される。これらが配置されるため、ユーザは、かつて自分が視聴した視聴済み区間の内容を振り返ることができる。
【００４９】
この更新処理にあたって、図６のフローチャートの処理がなされる。この場合ステップＳ３２において、動画コンテンツ1の総再生時間3000秒を表示可能な上限数10で割ることにより、Δtは300秒と算出される。また動画コンテンツ1の配列H[0]は、動画コンテンツ1の開始時刻"0秒"になっている。配列H[0]が0秒と設定されたので、ステップＳ３５〜ステップＳ３８のループ処理におけるステップＳ３７の一回目の実行で、H[1]は、H1[1]=H[0]+Δt=0+300=300秒に設定される。続いてステップＳ３５〜ステップＳ３８のループ処理における2回目のステップＳ３７の実行において、配列H[2]は、H[2]=H[1]+Δt=300+300=600秒、3回目のステップＳ３７の実行において、配列H[3]は、H[3]=H[2]+Δt=600+300=900秒、4回目の実行において、配列H[4]は、H[4]=H[3]+Δt=900+300=1200秒と算出される、  5回目のループ処理の実行にて、ステップＳ３６により配列H[5]=H[4]+Δt=1200+300=1500秒と算出されれば、配列H[k]+Δtが、動画コンテンツ1のy回目の再生停止時刻1240秒を上回り、ステップＳ３６がYesになってステップＳ３５〜ステップＳ３８からなるループ処理を抜ける。
【００５０】
以上の処理により、動画コンテンツ1の配列H[0]=0,H[1]=300,H[2]=600,H[3]=900,H[4]=1200となる。図６のフロ−チャ−トでは、300秒、600秒、900秒、1200秒の再生経過時刻に存在するピクチャデータを選んで、そのピクチャデータを縮小し、プログラムナビのサムネール領域に配置してゆく。図９は、ピクチャデータの選択過程と、これらピクチャデータの縮小の過程とを模式的に示す。この処理により、0秒に存在するピクチャデータは、サムネール領域の(1,1)に配置され、300秒に存在するピクチャデータはサムネール領域の(2,1)に、600秒に存在するピクチャデータはサムネール領域の(3,1)に、900秒に存在するピクチャデータは(4,1)に、1200秒に存在するピクチャデータは、サムネール領域の(5,1)にそれぞれ配置される。これらの過程を経て、図８の表示内容が得られるのである。
【００５１】
その後、しばらくしてからユーザが動画コンテンツ1を再度再生させたとする。今度は、1240秒の直後から再生を開始し、2200秒で再生を停止したとする。こうして動画コンテンツ1の再生がなされたので、ステップＳ８においてGUIの更新を行う。この更新処理は、再生開始時刻1240秒から再生停止時刻2100秒までの区間から、300秒置きの3つのピクチャデータを選んで、それらのサムネール画像を動画コンテンツ1のプログラムナビのサムネール領域に配置するというものである。
【００５２】
図１０は、3つの動画コンテンツ1〜動画コンテンツ3のうち、動画コンテンツ1が先頭から1240秒から2200秒まで再生された場合、GUIのプログラムナビがどのように更新されるかを示す図である。本図の動画コンテンツ1のサムネール領域には、1500秒後のピクチャデータ、1800秒後のピクチャデータ、2100秒後のサムネール画像がプログラムナビのサムネール領域にそれぞれ配置される。
【００５３】
その後、しばらくしてからユーザが動画コンテンツ1、動画コンテンツ2を再度再生させたとする。今度は、2100秒の直後から再生を開始し、3000秒で再生を停止したとする。そして動画コンテンツ2の先頭0秒から1000秒までを再生させたとする。こうして動画コンテンツ1、動画コンテンツ2の再生がなされたので、ステップＳ８においてGUIの更新を行う。この更新処理により動画コンテンツ1の再生開始時刻2100秒から再生停止時刻3000秒までの区間から300秒置きの2つのピクチャデータを選ばれ、それらのサムネール画像が動画コンテンツ1のプログラムナビのサムネール領域に配置される。動画コンテンツ2の再生開始時刻0秒から再生停止時刻1000秒までの区間から、300秒置きの3つのピクチャデータを選ばれ、それらのサムネール画像が動画コンテンツ2のプログラムナビのサムネール領域に配置される。
【００５４】
図１１は、3つの動画コンテンツ1〜動画コンテンツ3のうち、動画コンテンツ1が先頭から最後まで再生され、動画コンテンツ2が先頭から1000秒まで再生された場合、GUIのプログラムナビがどのように更新されるかを示す図である。本図の動画コンテンツ1のサムネール領域には、2400秒後のピクチャデータ、2700秒後のサムネール画像がそれぞれ配置される。動画コンテンツ2のサムネール領域には、0秒後のピクチャデータ、300秒後のピクチャデータ、600秒後、900秒後のサムネール画像がそれぞれ配置される。
【００５５】
最後に、動画コンテンツ1、動画コンテンツ2のそれぞれが全て再生されたとする。この再生が終わった時点で、更新を行った際のGUIの内容を図１２に示す。図１２は、3つの動画コンテンツ1〜動画コンテンツ3のそれぞれが全て再生された場合、GUIのプログラムナビがどのように更新されるかを示す図である。図１２に示すように、動画コンテンツ1〜動画コンテンツ3のプログラムナビのサムネール領域が全て、サムネール画像で埋め尽くされる。
【００５６】
尚、図１２のように、プログラムナビのサムネール領域が全て埋め尽くされた後は、図７の状態に戻してもよい。こうすることで、ユーザはまた、新鮮な気持ちで動画コンテンツを視聴してゆくことができる。
以上のように本実施形態によれば、再生開始時刻−終了時刻の間からピクチャデータを選んでサムネール画像を作成することにより、「その週の放送において、登場人物の心理や行動がどうであったか」を容易に想い出し、ストーリに没頭することができる。
【００５７】
本実施形態は、動画コンテンツ全体からピクチャデータを選んでそのサムネール画像をGUIに表示するという技術と比較して、以下の顕著な効果を奏する。ドラマ等の動画コンテンツは、「誰が犯人であるのか」とか「恋人同士は結ばれるのかどうか」といったドラマの結末やクライマックスを予想しながら、ストーリ展開を楽しむものである。仮に視聴済み区間ではなく、動画コンテンツ全体からピクチャデータを選んでそのサムネール画像をGUIに表示したりすると、ドラマの結末やクライマックスもユーザは否応なく知ることになり、ユーザの興醒めを招く。一方、本実施形態のように再生開始時刻−再生停止時刻の間からピクチャデータを選べば、ドラマの結末やクライマックスは、GUIに表示されず、ユーザの興醒めを招くことはない。未視聴の部分の表示を避け、サムネール画像の表示対象を視聴済み区間に絞ることにより、ユーザは過去に同じ動画コンテンツを見たときの記憶を鮮明に蘇らせることができる。
【００５８】
また、再生開始時刻−再生停止時刻のサムネール画像をGUIに配置する場合と比較して、以下の効果がある。毎週放送されるドラマの先頭は、定型的なオープニングテーマやスポンサーの告知であり、これらのサムネール画像を配置しただけでは、先週の内容がどうであったかを想い出すことは容易ではない。また、再生停止時刻のサムネール画像を表示する場合も同様である。ドラマ等の視聴時において、一番もりあがっているときやおもしろい時に、再生停止を行うユーザは極希であり、大多数のユーザは、それらのシーンが過ぎて一服したときに再生を停止するものである。再生停止時刻の画像を表示しただけでは、その一服時のサムネール画像がGUIに表示されるだけで、そのようなサムネール画像により、過去の記憶を蘇らせるのは困難である。これに対し本実施形態では、再生開始時刻−再生停止時刻の間から複数のピクチャデータを選び、それらのサムネール画像をGUIに配置するので、過去にユーザが見た記憶を鮮明に蘇らせるのに役立つ。このことから、本実施形態には、再生開始時刻−再生停止時刻のサムネール画像をGUIに配置するという技術から予測できない効果をもつ。
【００５９】
尚、本実施形態には、以下の2つの応用例がある。
（第１実施形態の応用例1）
第１実施形態では、再生の進捗をサムネール画像の枚数で表現するべく1回目の再生開始時刻からy回目の再生停止時刻までのサムネール画像を1つの動画コンテンツについてのプログラムナビに配置したが、y回目の再生開始時刻からy回目の再生停止時刻までのサムネール画像で上書きしてもよい。
【００６０】
つまりGUIにおける配置済みサムネール画像(1回目の再生開始時刻からy-1回目の再生停止時刻までのサムネール画像)を一旦消去して、直前のy回目における再生開始時刻から再生停止時刻までのN枚のサムネール画像を、1つのプログラムナビに配置するのである。y回目の再生の内容を多くのサムネール画像で表現するので、ユーザはより鮮明に視聴内容を想い出すことができる。
【００６１】
再生開始時刻を0秒とし、再生停止時刻を1240秒とし、サムネール画像の最大表示枚数を10枚とした場合の一例(つまり図８の一例)で考える。この場合、1240秒という視聴済み区間を10枚のサムネール画像で表現すればよいので、Δtは、124秒(=1240秒/10)になる。124秒という時間間隔でピクチャデータを選び、サムネール画像を作成してゆくのである。図８の一例では、Δtが5分(=300秒)であり、5枚のサムネール画像で視聴済み区間が表現されたが、この応用例では、Δtが約2分(=124秒)であり、10枚のサムネール画像で視聴済み区間が表現されるので、ユーザはより鮮明に視聴済み区間の内容を想い出すことができる。
【００６２】
（第１実施形態の応用例2）
応用例2は、DVD１００が記録可能型である場合に、ワークエリア１４に存在する動画コンテンツ毎の再生履歴や配列HをDVD１００に書き込むという応用例である。こうすれば再生装置の電源が断たれたり、DVD１００が交換されたりした後も、動画コンテンツ毎の履歴や配列を利用することができる。この場合DVD１００は、ユーザによる追加書込みをサポートできるような、タイプでなければならない。
【００６３】
DVD１００が記録可能型であるため、応用例2に係る再生装置は、第１実施形態に示した内部構成に加えて、チューナ、MPEGエンコーダを有する。
チューナは、テレビの放送信号を復調して、映像信号、音声信号をMPEGエンコーダに出力する。
MPEGエンコーダは、チューナにより復調された映像信号、音声信号をエンコードしてVOBを得る。
【００６４】
本応用例に係るDVDドライブ１は、こうしてMPEGエンコーダが得たVOBをDVDに書き込む。
かかるチューナ、MPEGエンコーダにより、本応用例に係る再生装置は、放送された動画コンテンツの録画機能を有することになる。
本応用例に係る再生制御部１３は、DVD１００に記録された動画コンテンツの再生を行う。そればかりではなく、以下のような処理を行う。図４（ａ）のステップＳ７において、コンテンツxのy回目の再生がなされれば、再生制御部１３は、その直後にワークエリア１４における動画コンテンツ毎の再生履歴や配列HをDVD１００に書き込む。これにより、コンテンツの再生後にDVD１００が交換されたとしても、再生履歴や配列HはDVD１００に保存されることになる。
【００６５】
DVD１００に再生履歴や配列Hが保存されたため、第１実施形態における再生制御部１３は、ステップＳ８におけるGUIの更新に先立ち、再生履歴や配列HをDVD１００から読み出し、RAM１１cに書き込む。これにより、DVD１００に保存された再生履歴、配列Hに基づき、GUIが更新されることになる。
本応用例の再生制御部１３は、ステップＳ７の再生後だけでなく、DVD１００の交換時にもGUIの更新を行う。この更新に先立ちに、再生履歴、配列HをDVD１００からRAM１１cに読み出すので、DVD１００の交換時においても、過去に視聴した視聴済み区間の内容を想い出すことができる。
【００６６】
尚、DVD１００がマルチユーザ対応のディスクである場合、再生履歴や配列Hは、個々のユーザ毎の個人情報として記録しておくのが望ましい。こうすることにより、各ユーザは、自分がかってみた視聴済み区間の内容を鮮明に想い出すことができる。
（第２実施形態）
第１実施形態は、各動画コンテンツについての複数サムネール画像を、上限数Nだけ表示するものであった、ところが動画コンテンツの数が多くなると、1つの動画コンテンツについての表示領域が狭くなり、各動画コンテンツについてのサムネール領域に、上限数Nのサムネール画像を表示させることはできない。サムネール画像を更に縮小することも考えられるが、それでは動画コンテンツの内容が把握し辛くなってしまう。家庭用テレビの解像度を考えれば、むやみにサムネール画像を縮小すべきではない。これを避けるため第２実施形態のGUI作成部１２は、動画コンテンツ数が多くなった場合、図３のレイアウトに代えて、図１３のレイアウトで各動画コンテンツのサムネール画像を表示する。図１３は、動画コンテンツ数が多くなった場合のサムネール画像のレイアウトを示す図である。
【００６７】
図３において各動画コンテンツのプログラムナビのサムネール領域は、10枚のサムネール画像を表示させうる広いものであったが、図１３のサムネール領域は、１枚のサムネール画像しか表示しえない狭いものになっている、そのかわり本図では、9つもの動画コンテンツについてのインデックス領域及びサムネール領域が1つの画面内に収められている。
【００６８】
この9つの動画コンテンツのうち、1つ目の動画コンテンツ1の0秒から1240秒までが、図８の一例同様、再生されたとする。この場合、本図における動画コンテンツ1についてのプログラムナビのサムネール領域において、サムネール画像がスライド式に切り換ってゆく。図１４（ａ）〜図１４（ｆ）は、サムネール画像がスライド式に切り換わる様子を示す図である。動画コンテンツ1のサムネール領域には、図１４（ａ）に示すように、0秒後のサムネール画像が表示され、この動画コンテンツ1のプログラムナビには、図１４（ｂ）に示すように300秒後のサムネール画像に切り換わる。同様に図１４（ｃ）、図１４（ｄ）、図１４（ｅ）、図１４（ｆ）に示すように、600秒後、900秒後、1200秒後のサムネール画像に切り換わり、その後、0秒後のサムネール画像に戻る。つまり第２実施形態において1つの動画コンテンツについての複数サムネール画像はスライド画像を構成し、1つのプログラムナビのサムネール領域内で表示される。この動画コンテンツ1以外の動画コンテンツ2〜9が全く未再生であるなら、これらの動画コンテンツに対応するプログラムナビのサムネール領域には、先頭画像に対応するサムネール画像が表示されたままになる。
【００６９】
この第２実施形態におけるプログラムナビ更新処理は、図１５の処理手順を実行するプログラムにより実現される。図１５は、第２実施形態に係るメインルーチンの処理手順を示すフローチャートである。以降、図１５のフロ−チャ−トを参照しながら、第２実施形態に係るサムネール画像表示について説明する。
図１５は、図４（ａ）のフロ−チャ−トを改良したものである。図１５と、図４（ａ）との違いは、ステップＳ１がステップＳ６０に置き換えられ(i)、ステップＳ２とステップＳ３との間にステップＳ６１が追加され(ii)、ステップＳ３〜ステップＳ４からなるループ処理にステップＳ６２〜ステップＳ６４が追加され(iii)、ステップＳ７〜ステップＳ８の間にステップＳ６５〜ステップＳ６６が追加されている(iv)。
【００７０】
追加された改良点のうち最も重要なものは、ステップＳ６１、ステップＳ６２、ステップＳ６３の追加である。これらのステップは、変数p,kpを用いて記述されている。
変数pは、DVD１００に記録されたM個の動画コンテンツのそれぞれを示す変数である。DVD１００に記録された動画コンテンツがM個である場合、変数pは動画コンテンツ1,2,3,4・・・・Mのそれぞれを示す。
【００７１】
また変数kpは、動画コンテンツpについての配列要素を示す。変数pが動画コンテンツ1,2,3,4・・・・Mのそれぞれを示すので、変数kpには、k1,k2,k3,k4・・・・kMというM個のものがある。変数k1は、動画コンテンツ1の配列要素を特定するものであり、変数k2は、動画コンテンツ2の配列要素を、変数k3は動画コンテンツ3の配列要素を、変数k4は、動画コンテンツ4の配列要素をそれぞれ特定する。
【００７２】
これらp,Kpを用いてステップＳ６１、ステップＳ６３は以下の処理を行う。ステップＳ６１において、DVD１００に記録されたM個の動画コンテンツ1,2,3,4・・・・Mのそれぞれについて、変数k1,k2,k3,k4・・・・kMを0に初期化する。この初期化の後、ステップＳ６３〜ステップＳ６４、ステップＳ３〜ステップＳ４のループ処理を行う。このループ処理は第１実施形態同様、ユーザからの動画コンテンツxの選択待ちを行うものである。このループ処理では、変数k1,k2,k3・・・・・kMで特定されるサムネール画像を、動画コンテンツ1,2,3・・・・Mについてのプログラムナビに一斉に配置し(ステップＳ６３)、各動画コンテンツの配列要素を特定する変数k1,k2,k3・・・・・kMを一斉にインクリメントする(ステップＳ６４)。
【００７３】
ループ処理が一巡する度に、インクリメント後の変数k1,k2,k3・・・・・kMに基づき、新たなサムネール画像を動画コンテンツ1,2,3・・・・Mについてのプログラムナビに配置する(ステップＳ６３)。ループ処理が一巡する度に、全プログラムナビのサムネール画像は、一斉に新しいものに更新される。これにより本メインルーチンは、ユーザからの選択待ち状態の間、各プログラムナビについてのサムネール画像を、絶えず新しいものに更新してゆく。各プログラムナビのサムネール領域には、一枚のサムネールしか配置し得ないが、このサムネール領域の内容は、ユーザからの選択待ちの期間において、常に新しいものに更新されてゆくので、プログラムナビのサムネール領域が小さくても、ユーザは、過去にその動画コンテンツを見た時の記憶を鮮明に蘇らせることができる。
【００７４】
以降、残りの改良点について説明する。ステップＳ６０では、図３のレイアウトでプログラムナビを表示するか、図１３のレイアウトでプログラムナビを表示するかの決定を行い、決定結果を示すフラグを設定した上で、決定されたレイアウトでプログラムナビを表示する。このフラグは、「0」に設定されることにより、図３のレイアウトでプログラムナビを表示することを示し、「1」に設定されることにより図１３のレイアウトでプログラムナビを表示することを示す。そしてステップＳ２において1つの動画コンテンツをフォーカス状態にした後、その後、ステップＳ３、ステップＳ４、ステップＳ６２、ステップＳ６３、ステップＳ６４のループ処理を行う。
【００７５】
ステップＳ６２は、図４（ａ）のメインルーチンとの互換性と保つためのステップである。フラグが「0」であるなら(ステップＳ６２でNo)、ステップＳ３〜ステップＳ４のループ処理にて、ユーザからの動画コンテンツ選択操作を待ち、フラグが「1」であるなら(ステップＳ６２でYes)、ステップＳ３〜ステップＳ４、ステップＳ６３〜ステップＳ６４のループ処理にて、ユーザからの動画コンテンツ選択操作を待つ。
【００７６】
上述したようにステップＳ６３〜ステップＳ６４は、全プログラムナビのサムネール画像を新しいものに更新してゆく処理なので、フラグが「1」なら、各動画コンテンツのプログラムナビに新たなサムネール画像がかわるがわる現れる。決定キーが押下され、動画コンテンツxが特定された場合、再生制御部１３はステップＳ６、ステップＳ７で動画コンテンツxの再生を行う。そして、ステップＳ６５にて、フラグの値の判定を行う。
【００７７】
フラグが「0」であるなら、GUI更新部１５はステップＳ８においてy回目の動画コンテンツ再生の履歴に応じてGUIを更新する。フラグが「1」であるなら、GUI更新部１５はステップＳ６６で、y回目再生の履歴に応じた配列要素の追加のみを行う。ステップＳ８では、配列要素の追加を行い、追加された配列要素に応じて、プログラムナビを更新していた。これに対してステップＳ６６では、配列要素の追加のみを行い、プログラムナビの更新は行わない。図１３のレイアウト時において、サムネール画像の更新は、ステップＳ６３、ステップＳ６４で行われるので、あえてステップＳ６６で、サムネール画像を更新する必要はないというのがその理由である。
【００７８】
続いて図１６を参照しながら第２実施形態に係るステップＳ６０のGUI表示処理について説明する。図１６は、第２実施形態に係るGUI作成部１２の処理手順を示すフローチャートである。図１６のフロ−チャ−トは、図４（ｂ）のフロ−チャ−トをベースにしている。図４（ｂ）との差違点は、ステップＳ６７、ステップＳ６８が新規に追加されている点である。この差違点を中心に説明を行う。本フロ−チャ−トでは、GUI作成部１２は先ずステップＳ６７において動画コンテンツ数M×上限値Nという計算を行い、この計算結果が、サムネール画像の表示可能数を下回るなら、ステップＳ９〜ステップＳ１１の処理を行う。これは図４（ｂ）と同じであり、その後、図３のレイアウトで動画コンテンツを表示する旨を示すよう、GUI作成部１２はフラグを「0」に設定する。もし上回るなら、ステップＳ６８においてGUI作成部１２はサムネール画像を1枚だけ配置することができるサムネール領域を有するプログラムナビを、GUI上にM個生成して、フラグを1に設定する。こうしてレイアウトを決定すれば、ステップＳ１０、ステップＳ１１の処理を経て、プログラムナビを表示し、図１５のメインルーチンにリターンする。
【００７９】
図１７は、第２実施形態に係るGUI更新部１５、サムネール作成部１６の処理手順を示すフローチャートであり、ステップＳ６３のサムネール配置処理を実現する。
本フロ−チャ−トは、全ての動画コンテンツについて、ステップＳ７４〜ステップＳ７９の処理を繰り返すループ構造(ステップＳ７１、ステップＳ７２)になっている。これは、ステップＳ３〜Ｓ４、ステップＳ６２〜Ｓ６４のループ処理が一巡する度に、全てのプログラムナビを一斉に更新するためである。このループ処理(ステップＳ７１、ステップＳ７２)の処理対象たる動画コンテンツを動画コンテンツpとすると、サムネール作成部１６は動画コンテンツpについての配列Hに2以上の要素があるか否かを判定し(ステップＳ７４)、2以上の要素があった場合は（ステップ７４のYes）、変数kpが配列要素数を上回ってないことを確認してから(ステップＳ７５でNo)、サムネール作成部１６は動画コンテンツpにおいて、配列H[kp]にて特定されるピクチャデータを読み出し(ステップＳ７６)、読み出されたピクチャデータのサムネール画像を作成する(ステップＳ７７)。次に、サムネール作成部１６は、作成したサムネール画像を動画コンテンツpのサムネール領域に表示する(ステップＳ７８)。以上の処理を全ての動画コンテンツについて繰り返して、図１５のメインルーチンにリターンする。これにより、動画コンテンツpにおいて、変数kpにて特定されるピクチャデータのサムネール画像が表示されるのである。ステップＳ７９は、サムネール画像表示に先立って、動画コンテンツpについての変数kpが要素数を上回った場合(ステップＳ７５でYes)、この変数kpを初期値0に戻すものである。
配列Hの要素数が2未満であれば(ステップＳ７４でNo)、ステップＳ７５〜Ｓ７８をスキップして次のコンテンツへ処理を移す。
【００８０】
これにより各動画コンテンツについての配列要素数を限度として、サムネール画像のスライド表示は、繰り返される。
ステップＳ６６における配列要素追加処理の処理手順を図１８のフローチャートに示す。図１８は、第２実施形態に係るGUI更新部１５の処理手順を示すフローチャートである。図１８のフロ−チャ−トは、図６のフローチャートのステップＳ３１からステップＳ３８までの処理を抜き出したものである。動画コンテンツxのy回目の再生が行われれば、GUI更新部１５はこの再生開始時刻から再生停止時刻までの区間のピクチャデータを、Δt置きに選んで、配列Hに追加してゆく。
【００８１】
以降、具体例を交えて、第２実施形態の処理手順について説明する。ここでDVD１００に記録されている動画コンテンツが動画コンテンツ1,2,3・・・・9の9つであり、これら9つの動画コンテンツの配列要素がk1,k2,k3・・・k9(p=1,2,3・・・・9)で特定されているものとする。そうすると、これらk1,k2,k3・・・k9がステップＳ６１において一律に"0"に初期化される。k1,k2,k3・・・k9が0に設定されたので、動画コンテンツ1,2,3・・・,9の配列Hのうち、0番目の配列要素が特定されることになる。ステップＳ６３において、動画コンテンツ1,2,3・・・・9のプログラムナビに、動画コンテンツ1,2,3・・・・9の0番目のサムネール画像を配置する。
【００８２】
変数kpは、ステップＳ６４でインクリメントされるので、k1,k2,k3・・・k9が1になった後、ステップＳ３に移行する。k1,k2,k3・・・k9が1に設定されたので、動画コンテンツ1,2,3・・・・9の配列Hのうち、配列要素[1]が特定されることになる。ステップＳ６２において、動画コンテンツ1,2,3・・・・9のプログラムナビには、ステップＳ６３において動画コンテンツ1,2,3・・・・9の1つ目のサムネール画像がそれぞれ配置される。以降、同様の繰り返しにより、動画コンテンツ1,2,3・・・・9のプログラムナビには、2つ目,3つ目,4つ目のサムネール画像が順次配置されてゆく。
【００８３】
以上のように本実施形態によれば、各動画コンテンツについてのサムネール画像の上限値をNとし、動画コンテンツの本数をMとした場合、M・N枚のサムネール画像が一画面に収まれば、各動画コンテンツについてのサムネール画像を一画面に一覧表示する。一方、M・N枚のサムネール画像が一画面に収まらない場合、各動画コンテンツについての複数サムネール画像を、スライド式に表示する。サムネール画像の数M・Nが、多くなった場合でも、複数動画コンテンツが一覧出来るように工夫するので、記録される動画コンテンツの数が多くなっても、DVD１００の記録内容の把握が容易になる。
【００８４】
尚、第２実施形態では動画コンテンツの数が多くなった場合に、プログラムナビのレイアウトを変更したが、レイアウトは、図３のままで、複数ページにプログラムナビを配置して、これらの頁をめくる操作を受け付けることにより、頁繰り表示で全プログラムナビを表示させてもよい。また、図１３のレイアウトにおいて、複数ページにプログラムナビを配置して、これらの頁をめくる操作を受け付けることにより、頁繰り表示で全プログラムナビを表示させてもよいことはいうまでもない。
【００８５】
（第３実施形態）
第１実施形態では、サムネール画像を作成する間隔を等間隔にしていたが、第３実施形態では、サムネール画像を作成する間隔を非等間隔とする。
第１実施形態について振り返って見ると、『再生開始時刻と再生停止時刻にて特定される視聴済み区間に存在ずる動画コンテンツのピクチャデータを抽出し、これを縮小化してサムネール画像を作成し、表示する処理において、上記抽出するピクチャデータの時間間隔は均等分割となっている。』、と考えることができる。この均等分割に対し第３実施形態では、y回目の再生停止時刻に近い程、サムネール画像の数を多くし、再生開始時刻に近い程、サムネール画像の数を少なくするという傾斜配分を実現する。
【００８６】
かかる傾斜配分を実現すべく、第３実施形態では、配列H[k]のT/u・v後の経過時刻を、配列H[k+1]に格納するという処理を行う。図１９は、uが4に設定され、vが1〜4の値を取り得る際に、配列H[0],配列H[1],配列H[2],配列H[3]・・・・・・がそれぞれどのような値に設定されるかを示す図である。ここでuは、固定数であり、N=1+2+3+4・・・・・・+u、Nはサムネール画像表示における上限値を満たす。またvは1≦v≦uを満たす整数値である。
【００８７】
v=1なら、T/u・1という時間間隔で配列H[1]を設定する。v=2なら、T/u・2という時間間隔で配列H[2]、配列H[3]、v=3なら、T/u・3という時間間隔で配列H[4],配列H[5],配列H[6]、v=4なら、T/u・4という時間間隔で配列H[7],配列H[8],配列H[9],配列H[10]をそれぞれ設定してゆく。このvは、再生開始時刻に近づく程小さく、再生停止時刻に近づく程大きい。wは、uの値を上限とした可変変数である。かかる配列要素の算出を行うため、図４（ａ）のステップＳ８の処理を、図２０に示す処理手順で実現する。図２０は、第３実施形態に係るGUI更新部１５、サムネール作成部１６の処理手順を示すフローチャートであり、ステップＳ８の処理手順を実現する。このフロ−チャ−トは、GUIにて特定された動画コンテンツxの再生を終え、この再生についての履歴が得られた後に実行されるものである。
【００８８】
ステップＳ８１において、サムネール更新部１５はN=1+2+3・・・+uを満たす1以上の整数uを算出し、ステップＳ８２において1回目の再生開始時刻からy回目の再生停止時刻までの時間をTに設定する。ステップＳ８３では、T/uの値をΔtに設定し、ステップＳ８４においてサムネール作成部１６は動画コンテンツxについての配列Hを初期化する。その後、ステップＳ８５において変数kを0に初期化し、ステップＳ８６においてサムネール作成部１６は変数vを1に初期化する。そしてステップＳ８７においてΔtを、元の1/vの値に設定し、wを1に初期化してステップＳ３６〜ステップＳ３７、ステップＳ８８〜ステップＳ８９からなるループ処理を繰り返し実行する。
【００８９】
このループ処理は、配列H[k]に格納されるk番目の時刻にΔtを加算し、この計算結果を配列H[k+1]に格納するという処理を繰り返すものである。この繰り返しにあたって、変数k,wはステップＳ８８において1つずつインクリメントされる。このループ処理の終了要件は、配列H[k]＋Δtが y回目の再生停止時刻を上回ること(ステップＳ３６でYes)、変数wが変数vを上回ること(ステップＳ８９でYes)である。ここで変数vとは、Δt(=T/u)を分割した分割数であり、このvによる分割によりΔtは、T/u・vになる。つまりこのループ処理は、T/u・v置きの時間を、配列Hに格納してゆくという処理を、wがvになるまでv回繰り返すというものである。
【００９０】
v回の繰り返しを終えれば、変数vをインクリメントして、これが変数uを下回ることを確認した上で、ステップＳ８７に移行する。上述したようにステップＳ８７は、Δtを、元の1/vの値に設定するものである。この分割数たる変数vをインクリメントするということは、Δt(=T/u・v)を、より細かい値に設定することを意味する。このvをインクリメントして、Δtを細かくするという動作は、ステップＳ９１において変数vが変数uを上回ると判定されるまで続けられる。変数vが変数uを上回れば、ステップＳ４３〜ステップＳ５１の処理を行う。このステップＳ４３〜ステップＳ５１は、図６のフロ−チャ−トと同じであり、これにより配列Hの各配列要素に従って、サムネール画像が表示されてゆく。
【００９１】
以降、図２１（ａ）の具体例を交えながら、図２０のフロ−チャ−トの処理手順について更に詳細に説明する。図２１（ａ）は、T,uに具体的な値が設定された際、配列H[0],配列H[1],配列H[2],配列H[3]・・・・・・がそれぞれどのような値に設定されるかを示す図である。この具体例において、動画コンテンツxの再生において最初の再生開始時刻から最後の再生停止時刻までの時間Tが1200秒であるとする。そして、プログラムナビ1つ当たりに表示できるサムネール画像の枚数が10であるとする。この場合、ステップＳ８１では、10=1+2+3+4を満たすとしてu=4と算出される。以降、ステップＳ８６〜ステップＳ９１の処理を繰り返す。
【００９２】
v=1の場合、このvを上限とするwの値は、w=1である。従って、ループ処理は、1回繰り返され、配列H[1]が設定される。配列H[0]は0秒であり、T/u・1は300秒(=1200/4)なので、配列H[1]には、300秒(=300+0)が設定される。
v=2の場合、このvを上限とするwの値は、w=1,2である。従って、ループ処理は、2回繰り返され、配列H[2],配列H[3]がそれぞれ設定される。配列H[1]は300秒であり、T/u・2は150秒(=1200/4・2)なので、配列H[2]には、450秒(=300+150)が設定される。配列H[2]は450秒であり、T/u・2は150秒(=1200/4・2)なので、配列H[3]には、600秒(=450+150)が設定される。v=3の場合、このvを上限とするwの値は、w=1,2,3である。従って、ループ処理は、3回繰り返され、配列H[4],配列H[5],配列H[6]がそれぞれ設定される。配列H[3]は600秒であり、T/u・3は100秒(=1200/4・3)なので、配列H[4]には、700秒(=600+100)が設定される。
【００９３】
配列H[4]は700秒であり、T/u・3は100秒(=1200/4・3)なので、配列H[5]には、800秒(=700+100)が設定される。
以上同様の処理を繰り返し、全ての配列要素を設定してサムネール画像をGUI上に配置すると、GUIは図２１（ｂ）のようになる。図２１（ｂ）は、図２１（ａ）に示す具体的な値が配列H[0],配列H[1],配列H[2],配列H[3]・・・・・・に設定された場合、プログラムナビにどのようなサムネール画像が配置されるかを示す図である。
【００９４】
以上のように本実施形態によれば、動画コンテンツの視聴済み区間のうち、終端部分を多くのサムネール画像を用いて表現するので、その動画コンテンツを再生させた際のユーザの記憶をより鮮明に蘇らせることができる。
尚、本実施形態では、再生停止時刻に近い程、サムネール画像の数を多くし、再生開始時刻に近い程、サムネール画像の数を少なくするという傾斜配分を実現したが、再生開始時刻に近い程、サムネール画像の数を多くし、再生停止時刻に近い程、サムネール画像の数を少なくするという傾斜配分を実現しても良い。
【００９５】
また本実施形態において、視聴済み区間からN枚のピクチャデータを選んでプログラムナビのサムネール領域に配置したのは第１実施形態の応用例に習ったものであり、再生停止時刻に近い程、サムネール画像の数を多くし、再生開始時刻に近い程、サムネール画像の数を少なくするという傾斜配分の成果を明確にしたいという意図による。第１実施形態の応用例ではなく、第１実施形態に習って、動画コンテンツ全体に対する視聴済み区間の比率αを求め、視聴済み区間からα・N枚のピクチャデータを選んでプログラムナビのサムネール領域に配置してもよい。
【００９６】
本実施形態によるΔtの設定方法はあくまで一例に過ぎない。再生停止時刻に近い程、サムネール画像の数を多くし、再生開始時刻に近い程、サムネール画像の数を少なくするという傾斜配分を実現できるのであれば、他の方法であってよいことはいうまでもない。
例えば、サムネール画像の上限数Nに対して、N=1+2+3+4+5・・・・・uを満たすuを求めて、T・u/N〜T・4/N,T・3/N,T・2/N,T・1/Nという時間間隔置きに配列の要素を設定していってもよい。
【００９７】
配列[1]←配列[0]+T・u/Nとし、
配列[2]←配列[1]+T・(u-1)/N、配列[3]←配列[2]+T・(u-2)/N、
配列[4]←配列[3]+T・(u-3)/N、配列[5]←配列[4]+T・(u-4)/N、
というように、動画コンテンツの配列要素を設定してゆくのである。これでも、再生停止時刻に近い程、サムネール画像の数を多くし、再生開始時刻に近い程、サムネール画像の数を少なくするという傾斜配分を実現することができる。
（第４実施形態）
第１実施形態における視聴済み区間は、動画コンテンツ1つに対して1つであり、動画コンテンツの先頭から再生していることを前提とした。しかしDVD１００に記録された動画コンテンツの再生にあたっては、ユーザにとって興味があるところのみ再生し、CMやつまらないと感じた区間は早送りしてゆくという再生スタイルが多くみられる(本実施形態にいう早送りには、ジョグダイアル等で速度調整が可能な倍速再生も含まれる。)。
【００９８】
そこで第４実施形態の再生制御部１３は、動画コンテンツが再生された際の再生履歴を、異なる表記で表現する。第１実施形態における再生開始時刻は、動画コンテンツの先頭や、動画コンテンツの再生再開位置である。そして動画コンテンツの再生中に早送りが行われても、その早送りで再生された区間が再生履歴に残ることはない。これに対し第４実施形態では、動画コンテンツの再生中に通常再生から早送りへの切り換えが行われた場合、その早送りの開始位置を再生停止時刻とする。一方、早送りから通常再生への復帰が行われた場合、その通常再生への復帰時点を、再生開始時刻とする。このようにすることで、動画コンテンツのうち早送りにより再生された区間は、再生履歴に残らず、通常再生で再生された区間のみが再生履歴に残ることになる。
【００９９】
通常再生された区間のみが再生履歴で表現され、早送りされた区間はサムネール表示の指定対象外となるので、ユーザが動画コンテンツを飛び飛びに視聴していった場合でも、ユーザがどのような箇所を視聴していったかが詳しく表示される。
図２２（ａ）は、通常再生から早送りへの切り換え時点を再生停止時刻とし、早送りから通常再生への切り換え時点を再生開始時刻とした場合に、履歴がどのように表されるかを示す図である。本図では、再生開始操作ty0と、再生停止操作ty5との間に、早送り開始操作ty1−通常再生復帰操作ty2がなされ、早送り開始操作ty3−通常再生復帰操作ty4がなされているものとする。この場合、早送りが開始された位置ty1が、y回目の再生停止時刻になり、通常再生への復帰がなされた位置ty2がy+1回目の再生開始時刻になる。早送りが開始された位置ty3が、y+1回目の再生停止時刻になり、通常再生への復帰がなされた位置ty4がy+2回目の再生開始時刻になる。最後に、動画コンテンツxの再生停止操作がなされた箇所は、y+2回目の再生停止時刻になる。図２２（ｂ）は、図２２（ａ）の再生が行われた場合に、ワークエリア１４に格納される再生履歴の一例を示す図である。
【０１００】
以上の処理は、図５に示した動画コンテンツxのy回目の再生処理を、図２３のフロ−チャ−トで実行し、図６に示したGUI更新処理を図２４のフロ−チャ−トで実行することによりなされる。
本フロ−チャ−トは、図５のステップＳ１２〜ステップＳ１５の処理が終わった後に実行されるものである。本フロ−チャ−トと図５との違いは、動画コンテンツxの再生回数を、"y+r"という表記で表している点である。この変数rは、図２２（ａ）の一例における"y+1","y+2"といった再生回数の"+1","+2"の部分を表す変数である。
【０１０１】
図２３は、第４実施形態に係るマイコンシステム１１のメインルーチンの処理手順を示すフローチャートである。以降、本フロ−チャ−トを参照しながら、第４実施形態の処理手順について説明する。再生制御手段１３は、先ずステップＳ９９において変数rに0を設定し、その後、ステップＳ１８でPTSを取得して、ステップＳ１９において 取得したPTSをy+r回目の再生開始時刻としてワークエリア１４に格納する。その後、ステップＳ１００〜ステップＳ１０１、ステップＳ２０〜ステップＳ２１からなるループ処理に移行する。通常再生から早送りの切換操作がなされれば、ステップＳ１００がYesになる。ステップＳ１０２においてMPEGデコーダ４及びDVDドライブ１に早送再生を指示してから、ステップＳ１０３においてPTSを取得し、ステップＳ１０９において取得したPTSをy+r回目の再生停止時刻としてRAMに格納する。
【０１０２】
早送りから通常再生への復帰操作がなされれば、ステップＳ１０１がYesになる。ステップＳ１０５において、MPEGデコーダ４及びDVDドライブ１に通常再生を指示してから、ステップＳ１０６において変数rをインクリメントする。その後、ステップＳ１０７においてPTSを取得し、ステップＳ１０８において取得したPTSを、y+r回目の再生開始時刻として再生履歴としてRAMに格納する。
【０１０３】
動画コンテンツxの再生停止操作がなされた際、動画コンテンツxの再生が終了した際の処理は、図５と同様であり、ステップＳ２３においてPTSを取得して、ステップＳ２４において 取得したPTSを、y+r回目の再生停止時刻としてRAMに格納して、図４（ａ）のメインルーチンにリターンする。
続いて図２４のフロ−チャ−トについて説明する。図２４は、第４実施形態に係るGUI更新部１５の処理手順を示すフローチャートである。図６のステップＳ３１〜ステップＳ３４、ステップＳ３９、ステップＳ４０の処理を行ってからステップＳ１０９において変数rを0に初期化する。その後、ステップＳ３５において配列H[k]にy+r回目の再生開始時刻を設定する。以降、配列H[k]+Δtがy+r回目の再生停止時刻を上回らないことを条件にして（ステップＳ３６でNo）、配列H[k]にΔtを加えた値を配列H[k+1]に設定してゆく。配列要素を設定する度に、ステップＳ３８において変数kをインクリメントする。
【０１０４】
配列H+Δtがy+r回目の再生停止時刻を上回れば（ステップＳ３６でYes）、変数rをインクリメントした後(ステップＳ１１０)、変数rがラストナンバーでないことを確認して(ステップＳ１１１でNo)、ステップＳ３５に移行する。
以上の処理の繰り返しにより、変数rにより特定される再生開始時刻−終了時刻の全てが、処理対象になる。この処理の繰り返しが終われば、図６のステップＳ４１〜ステップＳ５１に移行する。
【０１０５】
以上のように本実施形態によれば、ユーザが早送りを駆使して、飛び飛びに動画コンテンツを視聴している場合、飛び飛びの視聴済み区間毎にサムネール画像を表示させることができる。
尚本実施形態では、通常再生から早送りに切り換わった再生位置、早送りから通常再生に復帰した再生位置をそれぞれ再生停止時刻、再生開始時刻としたが、通常再生から特殊再生に切り換わった再生位置、特殊再生から通常再生に復帰した再生位置をそれぞれ再生停止時刻、再生開始時刻としてもよい。特殊再生には、早送りの他に、巻戻し、一時停止、チャプタージャンプといったものがある。つまり通常再生から巻戻しに切り換わった再生位置、巻戻しから通常再生に復帰した再生位置をそれぞれ再生停止時刻、再生開始時刻としてもよい。この他、一時停止やチャプタージャンプ等の特殊再生がなされた位置を再生停止時刻とし、この特殊再生から通常再生に復帰した位置を再生開始時刻としもよい。
【０１０６】
（第５実施形態）
第５実施形態は、動画コンテンツのストリーミング配信システムに、本発明を用いる場合の改良に関する。第１実施形態では、再生装置はユーザによって所有されており、この再生装置は、記録媒体に記録された動画コンテンツを再生する。これに対し、ストリーミング配信システムにより配信される動画コンテンツは、ユーザが操作する機器の記録媒体に記録されることはない。
【０１０７】
第５実施形態に係るストリーミング配信システムの配信サーバの構成を、図２５に示す。図２５は、第５実施形態に係るストリーミング配信システムの構成を示す図である。本図におけるシステムは、ネットワーク２０を介して接続されたクライアント装置２１、サーバ装置２２からなる。再生装置の機能は、クライアント装置２１と、配信サーバ２２とに分散されている。
【０１０８】
クライアント装置２１は、再生装置のMPEGデコーダ４を具備した機器である。動画コンテンツ自体は、配信サーバの記録媒体に記録されているため、これの再生を行うべく、ネットワークを介して、再生要求を配信サーバ２２に送信し、配信サーバ２２から送られてくる動画コンテンツを再生する。この再生にあたって、クライアント装置２１は動画コンテンツの再生を開始した再生開始時刻と、停止した再生停止時刻とをネットワークを介して配信サーバ２２に送信する。
【０１０９】
配信サーバ２２はDVDドライブ１、マイコンシステム１１、ワークエリア１４の構成をもった、再生装置と同等の機能を持つサーバ装置である。再生装置との違いは、動画コンテンツの再生の要求が、ネットワークを介してユーザが操作するクライアント装置２１から送られてくること、動画コンテンツ再生が要求されても、自身では再生を行わず、圧縮された状態のままユーザのクライアント装置２１宛に送信することである。配信サーバ自身は再生行わないため、OSDによるGUIを、第１実施形態のようにビデオ信号に合成させることができない。そこで配信サーバは、第１実施形態のGUIと同じ内容を示すページを作成し、ユーザのクライアント装置２１に送信する。
【０１１０】
続いて配信サーバの内部構成について説明する。図２５において配信サーバ２２は、コンテンツストレ−ジ２３、データベース２４、認証部２５、ページ保持部２６、ページ作成部２７、ダウンロード部２８、ページ更新部２９を備える。
コンテンツストレ−ジ２３は、第１実施形態におけるDVD１００に相当する記録媒体であり、動画コンテンツを複数格納している。
【０１１１】
データベース２４は、個々のユーザについてのユーザ管理情報を記憶する。データベース２４は、ユーザの氏名、生年月日、電話番号、メールアドレスといったユーザの個人情報と、そのユーザについてのユーザIDと、そのユーザが視聴を要求した動画コンテンツを特定する動画コンテンツIDと、この動画コンテンツの再生開始時刻の再生停止時刻の組みとを含む。
【０１１２】
認証部２５は、ユーザ認証、動画コンテンツ認証といった2つの認証を行う。ユーザ認証とは、視聴を要求したユーザのユーザIDの送信を、要求元ユーザに求め、送信されたユーザIDをユーザ管理情報におけるユーザIDと照合する処理である。動画コンテンツ認証とは、視聴を要求したユーザに、動画コンテンツIDの送信を求め、送信された動画コンテンツIDをユーザ管理情報における動画コンテンツIDと照合する処理である。動画コンテンツ認証を行うのは、正当に代金が支払われた動画コンテンツを、ユーザが要求しているのかを確認したいという動画コンテンツ配信業者側の希望による。動画コンテンツの送信にあたっては、これら2つの認証にて、IDの正当性が判定されねばならない。
【０１１３】
ページ保持部２６は、第１実施形態の再生装置において、ワークエリア１４に対応する構成要素であり、OSDによるGUIと同じ内容を示すページデータを格納しておく。
ページ作成部２７は、第１実施形態に示した再生装置のGUI作成部１２に対応する構成要素であり、プログラムナビを必要とするかをユーザに問い合わせ、プログラムナビを必要とすれば、第１実施形態のOSDによるGUIと同じ内容のナビページをページ保持部２６に作成してユーザ宛に送信する。ユーザは、このナビページを介することにより、再生すべき動画コンテンツxを特定することができる。
【０１１４】
ダウンロード部２８は、第１実施形態に示した再生装置のGUI作成部１２に対応する構成要素であり、ナビページに対する操作により、ユーザが特定した動画コンテンツをクライアント装置２１に送信する。この送信後、再生開始時刻及び再生停止時刻がクライアント装置２１から送られるのを待ち、送られればこれをデータベース２４に格納する。
【０１１５】
ページ更新部２９は、第１実施形態に示した再生装置のGUI更新部１５、サムネール作成部１６に対応する構成要素であり、ユーザから通知された再生開始時刻−再生停止時刻間の区間から、ピクチャデータを選んで、このピクチャデータについてのサムネール画像をページ保持部２６におけるナビページに配することによりナビページを更新する。そして更新後のナビページをページ作成部２７に送信させる。
【０１１６】
図２６、図２７は、第５実施形態に係る動画コンテンツ配信システムのシーケンスチャートである。図２５に示した配信サーバ２２の構成要素のうち、コンテンツストレ−ジ２３、データベース２４と、これ以外の構成要素(認証部２５、ページ作成部２７、ダウンロード部２８、ページ更新部２９)とを別々に描いている。つまり、コンテンツストレ−ジ２３、データベース２４以外の構成要素(認証部２５、ページ作成部２７、ダウンロード部２８、ページ更新部２９)を、配信サーバ２２としてひとまとめに記述している。
【０１１７】
図２６において、矢印y1に示すようにクライアント装置２１が配信サーバをアクセスすれば、認証部２５は矢印y2に示すようにユーザIDをクライアント装置２１に問い合わせる。これに応じてユーザIDが矢印y3に示すようにクライアント装置２１から送信されれば、認証部２５は矢印y4に示すようにデータベース２４に格納されているユーザIDを読み出し、矢印y5に示すようにクライアント装置２１から受け付けたユーザIDを読み出したユーザIDと照合する。
【０１１８】
ユーザIDの一致が判定されれば認証部２５は矢印y6に示すように動画コンテンツIDをクライアント装置２１に問い合わせる。これに応じて動画コンテンツIDが矢印y7に示すようにクライアント装置２１から送信されれば、認証部２５は矢印y8に示すようにデータベース２４に格納されている動画コンテンツIDを読み出し、矢印y9に示すようにクライアント装置２１から受け付けた動画コンテンツIDを読み出した動画コンテンツIDと照合することにより、ユーザの正当性を判定する。
【０１１９】
以上の2つの認証を経て、ユーザの正当性が判定されれば、矢印y10に示すようにページ作成部２７は、ナビページの要否をクライアント装置２１に問い合わせる。矢印y11に示すようにナビページ要との回答をクライアント装置２１が行えば、矢印y12に示すようにページ作成部２７はサムネール画像が配置されたページを作成し、矢印y13に示すようにこのページをクライアント装置２１に送信する。このページにおいて、動画コンテンツxが特定されれば、その旨が矢印y14に示すように配信サーバに送信される。
【０１２０】
ダウンロード部２８は、コンテンツストレ−ジ２３に格納されている動画コンテンツxを読み出し、クライアント装置２１に送信する。この動画コンテンツxは、動画コンテンツ1/n,2/n,3/n,4/nという複数のフラグメントから構成されているものとする。これら複数のフラグメントのうち、動画コンテンツ1/nが矢印y21に示すようにダウンロード部２８からクライアント装置２１に送信される。この送信に応答して、クライアント装置２１から再生開始時刻が矢印y22に示すように通知されれば、ダウンロード部２８は、この再生開始時刻をデータベースに格納しておく。続いて配信サーバは、動画コンテンツxの2/nの部分,3/nの部分,4/nの部分を矢印y23,y24,y25,y26に示すように順次送信してゆく。このうち、5/nの部分が送信された時点で、クライアント装置２１が再生を停止したものとする。そうすると、再生停止時刻が矢印y27に示すようにクライアント装置２１から通知される。ダウンロード部２８は、この再生停止時刻を受け取って、この再生開始時刻と再生停止時刻の組みを矢印y27に示すようにデータベース２４に格納しておく。その一方、ページ更新部２９は、コンテンツストレージ２３をアクセスし(y28)、この再生開始時刻−再生停止時刻の間にあるピクチャデータを選んで(y28)、このピクチャデータについてのサムネール画像を配置するよう、ナビページを更新して、矢印y30に示すようにクライアント装置２１に送信する。これにより、ユーザは、かってどのような映像を視聴したのかを即座に想い出すことができる。
【０１２１】
以上のように本実施形態によれば、配信サーバ側で複数サムネール画像が配置されたページを作成するので、再生装置により動画コンテンツが記録されず、配信サーバ側で一律に管理されている場でも、第１実施形態同様、「自分がどの週の放送分まで視聴したのか」や、「その週の放送において、登場人物の心理や行動がどうであったか」を容易に想い出させ、ユーザをストーリに没頭させることができる。
【０１２２】
（第６実施形態）
第１実施形態〜第４実施形態では、動画コンテンツがVOBのみから構成されているものとして説明を進めたが、第６実施形態は、この管理情報を考慮して、第１実施形態〜第４実施形態に示したサムネール表示を行う場合の改良に関する。本実施形態における管理情報は、DVD-Video Recording規格に従った管理情報である。本実施形態において、複数動画コンテンツについての管理情報は、管理ファイルという1つのファイルに格納されてDVD１００に記録される。
【０１２３】
管理ファイル『VR_MANGR.IFO(Video Recording_MANEGER.IFOmation)』の内部構造について説明する。図２８は、『VR_MANGR.IFO』の内部構造を示す図である。本図に示すように、『VR_MANGR.IFO』は、『RTR_VMGIテーブル(RTR_VMGIT)』、『M_AVFIテーブル(M_AVFIT)』、『ORG_PGCIテーブル(ORG_PGCIT)』を含む。
『M_AVFI(Motion AV File Information)テーブル』は、VOBについての管理テーブルであり、破線の引き出し線h3に示すように、このM_AVFITに含まれるVOB_STIの数を示す『VOB_STI_Ns』と、M_AVFITの実効長を示す『M_AVFIT_EA(Effective Address)』と、VOBについての属性情報である『VOB STI(Stream Information)#1・・・・#K』と、『M_AVFI』とから構成される。『VOB STI』は、各VOBに含まれるピクチャデータがどのようなビデオ属性を有しているか（コーディングモード、アスペクト比、NTSC／PAL、line21情報など）、各VOBに含まれるオーディオデータがどのようなオーディオ属性を有しているか（コーディングモード、チャンネル数、周波数など）を示す。
【０１２４】
『M_AVFI(Motion_AVFile Information)』は、破線の引き出し線h4に示すように『VOBI#1・・・・#L』からなる。『VOBI(Video Object Information)』は、各VOBに固有な再生制御情報であり、破線の引き出し線h5に示すように、『M_VOB_GI(General Information)』と、そのVOBを構成する各VOBUについてのタイムマップ情報『TMAPI(Time MAP Information)』とから構成される。『M_VOB_GI』は、破線の矢印h6に示すように、VOBの種別を示す『VOB_TY』、VOBの先頭に位置するピクチャデータが記録された年月日及び時分秒を示す『VOB_REC_TM(VOB_Recording_TiMe)』と、VOB STI#1・・・・#Kのうち、このVOBに対応するものを矢印Pr1に示すように指定する『M_VOB_STIN(Stream Information Number)とを含む。
【０１２５】
続いてTMAPIについて説明する。TMAPIとは、VOBUのそれぞれのアドレスと、再生時間とを対応づけて示すテーブルである。図２９にTMAPIの構成を示す。TMAPIは、図２９の破線の矢印hy3に示すように『TMAP_GI(General Information)』と、『TM_ENT(Time ENTry)#1〜#S』と、『VOBU_ENT(VOBU_ENTry)#1〜#T』とを含む。
【０１２６】
『VOBU_ENT』は、各VOBUに対応づけられた情報であり、破線の矢印hy4に示すように、対応するVOBUにおいて先頭に位置するIピクチャのサイズ『1STREF_SZ(1st REFerence Size)』と、対応するVOBUの再生に要する0.4〜1.0秒のオーダーの再生時間を示す『VOBU_PB_TM(VOBU_PlayBack_TiMe)』と、対応するVOBUのサイズ『VOBU_SZ(VOBU_Size)』とを含む。この『VOBU_ENT』を参照することにより、可変長符号圧縮方式が採用されるため、各VOBUのサイズや再生時間がバラバラであっても、任意の再生時刻から、その再生時刻に対応するVOBU内のピクチャデータへと頭出しを行うことが可能になる。
【０１２７】
『TM_ENT』は、10秒置きのタイムエントリーの所在を示す情報であり、破線の矢印hy5に示すようにこのタイムエントリーを含むVOBUを示す『VOBU_ENTN』と、VOBU_ENTNにより示されるVOBUの先頭からタイムエントリーまでのオフセット時間を示す『TM_DIFF』と、VOB先頭からVOBU_ENTNにより示されるVOBUの先頭までのオフセットデータを示す『VOBU_ADR』とからなる。この『TM_ENT』により、10秒という大きな時間間隔でのピクチャデータの頭出しが高速に行なえる。
【０１２８】
『TMAP_GI(TimeMap General Information)』は、TMAPI全体を管理する情報であり、破線の矢印hy6に示すようにVOBに設定されたタイムエントリーの個数を示す『TM_ENT_Ns』と、TMAPIに含まれるVOBU_ENTの個数を示す『VOBU_ENT_Ns』と、VOB先頭から1つのタイムエントリーまでのオフセットを示す『TM_OFS』と、『VR_MOVIE.VRO』の先頭から、VOBの先頭までのオフセットを示す『ADR_OFS』とを含む。
【０１２９】
図３０に、TMAPIとVOBUとの関係を模式的に示す。各VOBUの再生時間と、VOBUのサイズとの対応は、VOBU_PB_TM(図中のPB_TM)と、VOBU_SZとの組みにより示されている。またTM_ENTにおけるTM_DIFFは、VOBUの再生開始から何秒後にタイムエントリーに到達するかを示している。以上の構造をもったTMAPIにより、任意のタイムコードに相当するVOBUがどれであるかを特定することができる。
【０１３０】
このTMAPIを用いることにより、サムネール作成部１６は、経過時刻の配列H[k]から、ピクチャデータを特定するという処理を行うことができる。
VOB先頭から、配列H[k]にて指定されるピクチャデータのサムネール画像を表示する場合、図３０から下記の(式４)を満たすx,y,zを求め、x,yを以下の(式５)に適用して、配列H[k]に対応するピクチャデータが属するVOBU#iのアドレスを求める。こうして求められたアドレスから、VOBU#iをDVD１００からDVDドライブ１に読み出させMPEGデコーダ４にデコードさせる。MPEGデコーダ４のデコードにおいて、このVOBU#iの再生開始時刻から時間zが経過する際に現れるピクチャデータが、配列H[k]にて現れるピクチャデータである。このピクチャデータがフレームメモリ８a,b,cに得られれば、サムネール作成部１６はこれの縮小を行い、サムネール画像を得る。そしてGUIに配置する。以上が第６実施形態に係るサムネール作成部１６の処理である。
【０１３１】
(式４)
配列H[k]＝10秒×x-TM_ENT#x+1のTM_DIFF+TM_OFS+ΣVOBU_PB_TM+z
※ΣVOBU_PB_TMは、第1番目から第y番目までのVOBU_PB_TMの総和
（式５）
VOBU#iのアドレス＝ADR_OFS+TM_ENT#x+1のVOBU_ADR+ΣVOBU_SZ
※ΣVOBU_SZは、第1番目から第y番目までのVOBU_SZの総和
続いて『VR_MANGR.IFO』のうち残りのテーブルについて、図３１を用いて説明する。図３１は、M_AVFIテーブルの内部構成を示す図であり、図２８との差違は、ORG_PGCIテーブルの内部構成が示されている点である。
【０１３２】
『ORG_PGCI(Original_Program Chain Information)テーブル』は、DVD１００に記録された複数のVOBを、一本のビデオテープの如く扱えるよう管理を行うテーブルである。具体的にいうと本テーブルは、DVD１００に記録された複数のVOBを、シリアルに並べてOriginal_Program Chainと呼ばれる再生経路に統合する。こうした統合により、ユーザは複数のVOBが記録されたDVD１００を、一本のビデオテープと同一視することができる。この統合にあたって、本実施形態では各VOBIについてのVOB_REC_TMが参酌され、VOB_REC_TMが早い順にVOBは並べられる。ここでORG_PGCIと、VOBとの関係について説明する。VOBは、『PG−CELL−VOB』といった論理的な階層関係を有しており、最上位のPG(Program)を一本に連結したものがORG_PGCIである。『PG−CELL−VOB』といった論理的な階層をもつPGが、第１実施形態〜第４実施形態にいう動画コンテンツである。
【０１３３】
『ORG_PGCIT』は、そのような『PG−CELL−VOB』といった論理的な階層関係を実現できるよう規定されている。図３１の『ORG_PGCIT』は、破線の矢印h6に示すように『ORG_PGCIテーブル』の実効長を示す『ORG_PGCI_EA(Effective Address)』と、ORG_PGCが、PGを何個連結したものであるかを示す『PG_Ns』と、CELLI(CI)についてのサーチポインタの個数を示す『CI_SRP_Ns』と、ORG_PGCに含まれる複数PGのそれぞれについての情報である『ORG_PGI#1・・・・#M』と、複数CELLIについてのサーチポインタである『ORG_CI_SRP#1・・・・#N』と、『ORG_CELLI#1・・・・#N』とからなる。
【０１３４】
『ORG_CELLI』は、タイムコードの組みにて論理的な再生区間を特定する情報であり、破線の矢印h8に示すように、M_AVFITに含まれる複数のVOBIのうち、本CELLIに対応するものを矢印gj1に示すように指定するポインタ『VOBI_SRPN』と、VOBにおいて、どこからどこまでの区間を再生区間(CELLという)として指定するかを示すタイムコードの組みである『CELL_Start_PTM』と、『CELL_End_PTM』とを含んでいる。
【０１３５】
図３２は、ORG_PGCIに含まれるCELLとVOBとの関係を示す図である。本図において各CELLがどのVOBIに対応するかは『VOBI_SRPN』に示されている。CELLに含まれるCELL_START_PTM(図中では、C_S_PTM)及びCELL_End_PTM(図中では、C_E_PTM)の組みが、TMAPIを介してVOBUの2つのアドレスに変換されることにより、VOBを構成する任意の区間がCELLとして指定される。
【０１３６】
『ORG_PGI(Original_ProGram INformation)』は、図３１の破線の矢印h7に示すように、TXTDT_MGに含まれる複数のテキストデータのうち、このPGに対応するものを指定する『IT_TXT_SRPN』と、このPGにCELLIが何個包含されるかを示す『C_Ns』とからなる。
図３３は、図３２に示したCELLがどのようにPGに分類されるかを示す図である。本図に示すように、PGIに含まれる『CNs』により、ORG_PGCIに含まれるCELL#1〜#2のうち、どこからどこまでがPG#1に含まれ、どこからどこまでがPG#2に含まれるかが明らかになっている。更にPGに含まれる『IT_TXT_SRPN』により、PGに対応するテキストデータが示される。
【０１３７】
『PG−CELL−VOB』といった論理的な階層関係が、1つの動画コンテンツに相当する。動画コンテンツがこのような階層関係をもっているのは、動画コンテンツに対する編集に想定しているためである。
動画コンテンツ1、動画コンテンツ2が、『PG−CELL−VOB』といった論理的な階層関係をもつPGであり、これら動画コンテンツのVOBが部分削除された場合、動画コンテンツ1、動画コンテンツ2の階層関係がどのように変動するかを説明する。図３４は、VOBの部分削除が行われた場合、VOBの部分区間がどのように指定されるかを想定した図である。図３４（ａ）の第４段目に示すように、VOB#1、VOB#2としてDVD１００に記録される。これらのVOBは、第３段目に示すようにセルとして管理され、それと共に、第２段目に示すようにPGとして記録される。これら2つのPGが互いに連結されて、第１段目に示すORG_PGCという単位が得られる。
【０１３８】
動画コンテンツ1,動画コンテンツ2についてのVOB、セル、PGが記録された後、VOB#1、VOB#2の途中部分pt1,pt2,pt3,pt4が図３４（ｂ）に示すように削除範囲に指定されたものとする。この範囲の削除が行われれば、1つ目のVOB#1(旧)は、図３５に示すように部分削除pt1,pt2箇所の前後においてVOB#1(新)、VOB#2(新)、VOB#3(新)という3つのVOBに分割される。2つ目のVOB#2(旧)は、VOB#4(新)、VOB#5(新)、VOB#6(新)という3つのVOBに分割される。このようにVOBの分割に伴って、セル#1(旧)もセル#1(新)、セル#2(新)、セル#3(新)という3つのセルに分割され、セル#2(旧)もセル#4(新)、セル#5(新)、セル#6(新)という3つのセルに分割されるが、これら分割後の3つのセルがPGに包含されるという包含関係を変化させない。即ち、分割前において動画コンテンツ1は、1つのセル、1つのVOBを含むPG#1として管理され、分割後において動画コンテンツ1は、3つのセル、3つのVOBを含むPG#1として管理されるのである。同じく、動画コンテンツ2も、1つのセル、1つのVOBを含むPG#2として管理され、分割後において動画コンテンツ2は、3つのセル、3つのVOBを含むPG#2として管理されるのである。
【０１３９】
部分削除の前後で、動画コンテンツの同一性を保つことができるため、動画コンテンツがPGである場合は、部分削除等の編集操作がなされた場合の管理を容易にすることができる。
このように部分削除がなされた場合、再生装置は、再生がなされた場合と同じくGUIの更新を行う・部分削除後のPGにおいて再生履歴の再生開始時刻−再生停止時刻が何処に対応するかを判定し、この再生開始時刻−再生停止時刻間の区間から、時間Δt置きのピクチャデータを選ぶ。そして選んだピクチャデータについてのサムネール画像を作成し、このPGについてのプログラムナビを配置することでGUIの更新を行う。これにより、部分削除により動画コンテンツから無くなった筈の部分についてのサムネール画像が、GUI上に誤って配置されることを防止することができる。
【０１４０】
以上のように本実施形態によれば、DVD-Video Recording規格に従って記録された動画コンテンツについて、第１実施形態〜第４実施形態の処理を行うので、DVD-Video Recording規格に従って動画コンテンツが記録されるDVD-RAM,DVD-RWにおける再生制御を好適に行うことができる。
尚、本実施形態における動画コンテンツはPGであるものとしたが、PGと同様の階層構造を有する再生単位であるなら、他の再生単位であってもよい。例えば、DVD-Video Recording規格におけるPlayListであってもよい(PlayListは、VOB−VOBI-Cellという階層関係をなす)。また、DVD-Video規格におけるVideoTitleであってもよい(VideoTitleは、VOB−Cell-PGCという階層関係をなす再生単位である。)。
【０１４１】
（第１〜第６実施形態の補足事項）
上記実施形態に基づいて説明してきたが、現状において最善の効果が期待できるシステム例として提示したに過ぎない。本発明はその要旨を逸脱しない範囲で変更実施することができる。代表的な変更実施の形態として、以下(A)(B)(C)・・・・のものがある。
【０１４２】
(A)第１実施形態〜第６実施形態においてプログラムナビのサムネール領域内のサムネール画像の選択操作を受け付け、このサムネール画像に対応する位置からの頭だしを行ってもよい。つまりプログラムナビと同様、サムネール画像自体にもノーマル状態、フォーカス状態、アクティブ状態という3つの状態をもたせ、リモコンの矢印キーに対して操作を行うことにより、表示されている何れかのサムネール画像をノーマル状態からフォーカス状態に変更させる。そして、リモコンの決定キーを押下することにより、サムネール画像をフォーカス状態からアクティブ状態に変更させて、再生制御部１３は、このサムネール画像に対応するピクチャデータから、動画コンテンツの頭出し再生を行うのである。
【０１４３】
(B)第１実施形態〜第６実施形態において再生の履歴は、再生開始時刻−再生停止時刻の組みにて表現されていたが、DVD上の論理アドレス(LSN:論理セクタ番号)やファイルにおける相対アドレスで表現されていてもよい。また、再生開始時刻−再生停止時刻をPTSで表現していたが、タイマの計時時刻で再生開始時刻−再生停止時刻を表現してもよい。更にPTS以外の、他のタイムスタンプで再生開始時刻−再生停止時刻を表現してもよい。
【０１４４】
(C)第１実施形態〜第４実施形態、第６実施形態において再生装置は、MPEGエンコーダと共に数十ギガバイトというハードディスクを内蔵し、これに多量の動画コンテンツを書き込むことができる装置、つまりホームサーバ機能を具備した再生装置であってもよい。
第１実施形態〜第４実施形態、第６実施形態における再生装置は、テレビ１０１と接続して利用されるタイプの再生装置であったが、液晶型ディスプレィと一体型となった再生装置であってもよい。また、第１実施形態に示した再生装置は、DVDドライブ１−MPEGデコーダ４を予め内蔵していたが、これらDVDドライブ１−MPEGデコーダ４を具備せず、IEEE1394コネクタを介して接続されていてもよい。更に、第１実施形態〜第４実施形態、第６実施形態の再生装置において、処理の本質的部分をなすマイコンシステム１１のみを、再生装置としてもよい。
【０１４５】
これらの再生装置は、何れも本願明細書に記載された発明であるから、これらの何れの態様であろうとも、第１実施形態〜第４実施形態に示した再生装置の内部構成を元に、再生装置を製造する行為は、本願の明細書に記載された発明の実施行為になる。第１実施形態〜第４実施形態に示した再生装置の有償・無償による譲渡(有償の場合は販売、無償の場合は贈与になる)、貸与、輸入する行為も、本発明の実施行為である。店頭展示、カタログ勧誘、パンフレット配布により、これらの譲渡や貸渡を、一般ユーザに申し出る行為も本再生装置の実施行為である。
【０１４６】
(D)図４(a),(b)、図５、図６、図１５、図１６、図１７、図１８、図２０、図２１、図２２に示したプログラムによる情報処理は、CPU、MPEGデコーダ、DVDドライブといったハードウェア資源を用いて具体的に実現されている。つまり、プログラムと、ハードウェアとが協働した具体的手段が、GUIに複数サムネール画像を配置するという使用目的に応じた情報処理を行うことにより、第１実施形態〜第５実施形態に示した再生装置は構築される。
【０１４７】
プログラムによる情報処理が、ハードウェア資源を用いて具体的に実現されていることから、図４(a),(b)〜図２２に処理手順を示したプログラムは、自然法則を利用した技術的思想の創作と捉えることができ、プログラム単体で発明として成立する。つまり図４(a),(b)〜図２２に示した処理手順は、本発明に係るプログラムの実施行為の形態を開示するものである。
【０１４８】
尚、第１実施形態〜第４実施形態は、再生装置に組み込まれた態様で、本発明に係るプログラムの実施行為についての実施形態を示したが、再生装置から分離して、第１実施形態〜第４実施形態に示したプログラム単体を実施してもよい。プログラム単体の実施行為には、これらのプログラムを生産する行為(1)や、有償・無償によりプログラムを譲渡する行為(2)、貸与する行為(3)、輸入する行為(4)、双方向の電子通信回線を介して公衆に提供する行為(5)、店頭展示、カタログ勧誘、パンフレット配布により、プログラムの譲渡や貸渡を、一般ユーザに申し出る行為(6)がある。
【０１４９】
双方向の電子通信回線を介した提供行為(5)の類型には、提供者が、プログラムをユーザに送り、ユーザに使用させる行為や(プログラムダウンロードサービス)、プログラムを提供者の手元に残したまま、そのプログラムの機能のみを電子通信回線を通じて、ユーザに提供する行為(機能提供型ASPサービス)がある。
(E)図４(a),(b)、図５、図６、図１５、図１６、図１７、図１８、図２０、図２１、図２２のフロ−チャ−トにおいて時系列に実行される各ステップの「時」の要素を、発明を特定するための必須の事項と考える。そうすると、これらのフロ−チャ−トによる処理手順は、再生方法の使用形態を開示していることがわかる。これらのフロ−チャ−トこそ、本発明に係る再生方法の使用行為についての実施形態である。各ステップの処理を、時系列に行うことで、GUIにサムネール画像を配置するという本来の目的を達成し、作用及び効果を奏するよう、これらのフロ−チャ−トの処理を行うのであれば、本発明に係る再生方法の実施行為に該当することはいうまでもない。
【０１５０】
(F)第１〜第４実施形態、第６実施形態では、動画コンテンツが記録された記録媒体をDVDとして説明を進めたが、このDVDの物理的性質は、本発明の作用・効果の発揮にさほど貢献していない。DVD同様、動画コンテンツを記録し得る容量をもった記録媒体であるなら、他の記録媒体を採用してもよい。例えば、DVD以外のCD-R,CD-RW,Blue-ray Disc等の他の光ディスクであってよいことはいうまでもない。またPD,MO等の光磁気ディスクであってもよい。更に、SDメモリカード、コンパクトフラッシュ（登録商標）カード、スマートメディア、メモリスティック、マルチメディアカード、PCM-CIAカード等の半導体メモリカードであってもよい。フレシキブルディスク、SuperDisk,Zip,Clik!等の磁気記録ディスク、ORB,Jaz,SparQ,SyJet,EZFley,マイクロドライブ等のリムーバルハードディスクドライブであってもよい。
【０１５１】
(G)第１〜第４実施形態、第６実施形態における動画コンテンツは、アナログ放送で放送されたアナログ映像信号をエンコードすることにより得られたVOBであったが、デジタル放送で放送されたトランスポートストリームから構成されるストリームデータであってもよい。
またビデオテープに記録されているアナログ／デジタルの映像信号をエンコードして動画コンテンツを得ても良い。更にビデオカメラから直接取り込んだアナログ／デジタルの映像信号をエンコードして動画コンテンツを得ても良い。他にも、予め記録媒体に記録されて配布される映画等のデジタル著作物であってもよいし、配信サーバにより配信されるデジタル著作物でもよい。
【０１５２】
また第１実施形態〜第４実施形態にいう動画コンテンツは、放送局側が定めた放送番組の単位であってもよい。
(H)第１実施形態では、Δtという時間間隔でサムネール画像化すべきピクチャデータを選んでいったが、再生開始時刻−再生停止時刻間の視聴済み区間の時間間隔がΔtを下回れば、再生開始時刻−再生停止時刻間にサムネール画像を表示すべきピクチャデータが存在しない場合もあり得る。つまり、第１実施形態の図８、図９に示したようにΔtが300秒と算出された場合、300秒未満の視聴済み区間であると、配置すべきサムネール画像が存在せず、プログラムナビを更新できないことも有り得る。こうした場合に対処するため、視聴済み区間から必ず、サムネール画像化すべきピクチャデータを選ぶようにしてもよい。例えば、再生開始時刻−再生停止時刻が特定されれば、この再生開始時刻−再生停止時刻の真ん中辺りに存在するピクチャデータについてのサムネール画像を、プログラムナビに表示するようにしてもよい。
【０１５３】
また、再生開始時刻から再生停止時刻までに存在するΔt置きのピクチャデータを選ぶものとしていたが、再生開始時刻から再生停止時刻までの間に、チャプターやマーク等の頭出し位置が存在する場合、チャプターやマークに位置するピクチャデータについてのサムネール画像を表示してもよい。
(I)第１〜第６実施形態では、VOBには、ビデオストリームとオーディオストリームとが多重されていたが、字幕文字をランレングス圧縮した副映像ストリームやその他制御情報が多重化されていてもよい。MPEGデコーダ４は、MPEG2の画像伸長/復号化方式の復号化コーディックを用いたが、MPEG2以外の画像伸長/復号化方式の復号化コーディック(例えばMPEG1,MPEG4)であってもよい。
【０１５４】
(J)第１〜第６実施形態において、見た目がより楽しくなるようにサムネール画像の配置に工夫を凝らしても良い。例えば、映画のフィルムを模した態様で複数サムネール画像を横又は縦に配置していってもよいし、コミックのコマ割りを模して配置にしてもよい。飾り枠をつけたりして、美観を喚起してもよい。
(K)第１実施形態〜第６実施形態ではサムネール画像をGUIに配置したが、複数動画コンテンツを一覧するという一覧画面の役割を果たす、単なる一覧画面でもよい。いわゆる壁紙画像として実施してもよい。第１実施形態〜第４実施形態、第５実施形態におけるプログラムナビは、再生装置が作成するGUIであったが、HTML,BML等のページ記述言語で記述されたページデータであってもよい。更に、第１実施形態〜第４実施形態、第６実施形態では、ユーザによる動画コンテンツの選択操作を、リモコンから受け付けたが、再生装置のフロントパネルから受け付けてもよい。キーボード、タッチパネル、マウスやパッド、トラックボール等の入力機器にてユーザの指定を受け付けてもよい。この場合は、クリック操作、ドラッグ操作でこれらの操作を受け付けてもよい。
【０１５５】
(L)第１実施形態では、GUIにおけるプログラムナビの大きさを、一律に固定にしていたため、図８、図１０、図１１の一例においては、プログラムナビのサムネール領域には、余白部分が生じる結果となった。この余白部分をなくすため、未再生の動画コンテンツについては、先頭画面についてのサムネール画像が配置されるだけの小さいものとし、再生済みのものは、視聴済み区間の長さに従って拡大してゆくように、各プログラムナビの大きさを変化させてもよい。
【０１５６】
図８の一例で考えると、動画コンテンツ1〜動画コンテンツ3のうち、動画コンテンツ1のみが再生済みであり、動画コンテンツ2〜動画コンテンツ3は未再生である。これら動画コンテンツ2、動画コンテンツ3は、先頭画像の1枚のサムネール画像で済むので、動画コンテンツ2、動画コンテンツ3についてのプログラムナビのサムネール領域は、1枚のサムネール画像を配し得るだけの狭いものとする。そうすると、動画コンテンツ2、動画コンテンツ3において9枚のサムネール画像を配置し得る領域が余剰になり、この余剰領域を再生済みの動画コンテンツ1に割り当てる。
【０１５７】
動画コンテンツ1のプログラムナビのサムネール領域は、本来10枚のサムネール画像を配置し得る広さをもっていたが、余剰領域を割り当てることにより、28枚(=10+9+9)のサムネール画像を配置し得る大きさまで拡大する。動画コンテンツ1についてのサムネール画像の上限値が増えたので、動画コンテンツ1の再生時間の時間長/上限値に、Δtを設定する。そうすると、Δtは107秒(=3000秒/28枚)になり、1分47秒(=107秒)間隔で、ピクチャデータを選んでサムネール画像を動画コンテンツ1のプログラムナビに配置してゆくことができる。こうすることにより、視聴済み区間の内容を、より多くのサムネール画像を用いて表現することができ、ユーザの記憶をより鮮明に想い出させることができる。
【０１５８】
またΔtを、視聴済み区間の時間長/上限値で設定する場合、図８の一例では、44秒(=1240秒/28枚)になり、44秒間隔で、ピクチャデータを選んでサムネール画像を動画コンテンツ1のプログラムナビに配置してゆく。こうすることにより、視聴済み区間の内容を、より多くのサムネール画像を用いて表現することができる。
【０１５９】
(M)動画コンテンツ1、動画コンテンツ2、動画コンテンツ3のそれぞれが再生済みである場合、視聴済み区間の比率に応じて、プログラムナビの大きさを変化させて、余白部分を無くすようにしてもよい。
動画コンテンツ1の視聴済み区間が1800秒、動画コンテンツ2の視聴済み区間が2400秒、動画コンテンツ3の視聴済み区間が600秒である場合、視聴済み区間の比率は、3:4:1になる。この比率に応じて、各プログラムナビのサムネール画像の枚数を決定してゆく。動画コンテンツ1についてのプログラムナビにおけるサムネール領域の上限数を、11枚≒11.25(=(10+10+10)×3/(3+4+1))、動画コンテンツ2についてのプログラムナビにおける上限数を、15枚≒(=(10+10+10)×4/(3+4+1))、動画コンテンツ3についてのプログラムナビにおける上限数を、3枚≒3.75(=(10+10+10)×1/(3+4+1))とする。このように上限数を設定すれば再生時間の時間長/上限値の計算でΔtを算出して、このΔtの時間間隔で、ピクチャデータを選んでサムネール画像を配置してゆく。こうすることにより、視聴済み区間の内容を、より多くのサムネール画像を用いて表現することができる。
【０１６０】
【発明の効果】
本発明に係る再生装置は、上述したように構成されているので、コンテンツを構成するピクチャデータのうち、ユーザがかって視聴した区間に属するもののサムネール画像が表示される。ユーザが何日も前に視聴したコンテンツを、後日視聴する場合、このサムネール画像を見ることにより、「自分がどの週の放送分まで視聴したのか」や、「その週の放送において、登場人物の心理や行動がどうであったか」を容易に想い出し、ストーリに没頭することができる。
【０１６３】
前記更新手段により一覧画面に配置されるサムネール画像の数は、前記再生開始位置から再生停止位置までの区間の時間長と、動画コンテンツの総再生時間長との割合に応じて変化する、ようにしてもよい。
【０１６４】
動画コンテンツが複数ある場合、その動画コンテンツに割り当てられたナビ領域の範囲に、可能な限り多くのサムネール画像を配することで、ユーザの記憶をより鮮明に蘇らせることができる。
【０１６５】
視聴済み区間の内容を複数のサムネール画像で要約して表示させながら、それらサムネール画像の枚数という付随的な情報で、コンテンツの再生がどれだけ進捗しているかを表すので、サムネール画像を観た際、ユーザは「その週の放送において、登場人物の心理や行動がどうであったか」を想い出すだけでなく、コンテンツ全体の何％の視聴が済んでいるかを、直感することができる。
【図面の簡単な説明】
【図１】  第１実施形態に係る再生装置及びDVDの外観を示す図である。
【図２】  第１実施形態に係る再生装置の内部構成を示す図である。
【図３】  プログラムナビの一例を示す図である。
【図４】（ａ）マイコンシステム１１の処理のメインルーチンにあたるフローチャートであり、GUI作成部１２の処理手順を示す図である。
（ｂ）図４（ａ）のステップＳ１を詳細化するサブルーチンであり、GUI作成部１２の処理手順を示す図である。
【図５】  ステップＳ７を詳細化するサブルーチンであり、再生制御部１３の処理手順を示すフローチャートである。
【図６】  図４（ａ）ステップＳ８のGUI更新処理のサブルーチンであり、GUI更新部１５及びサムネール作成部１６の処理手順をフローチャートである。
【図７】  3つのコンテンツ1〜コンテンツ3が全く未再生である場合におけるGUIのプログラムナビを示す図である。
【図８】  3つのコンテンツ1〜コンテンツ3のうち、コンテンツ1が先頭から1240秒の位置まで再生された場合、GUIのプログラムナビがどのように更新されるかを示す図である。
【図９】  ピクチャデータの選択過程と、これらピクチャデータの縮小の過程とを模式的に示す。
【図１０】  3つのコンテンツ1〜コンテンツ3のうち、コンテンツ1が2200秒まで再生された場合、GUIのプログラムナビがどのように更新されるかを示す図である。
【図１１】  3つのコンテンツ1〜コンテンツ3のうち、コンテンツ1が先頭から最後まで再生され、コンテンツ2が先頭から900秒まで再生された場合、GUIのプログラムナビがどのように更新されるかを示す図である。
【図１２】  3つのコンテンツ1〜コンテンツ3のそれぞれが再生済みになった場合、GUIのプログラムナビがどのように更新されるかを示す図である。
【図１３】  コンテンツ数が多くなった場合のサムネール画像のレイアウトを示す図である。
【図１４】（ａ）〜（ｆ）サムネール画像がスライド式に切り換わる様子を示す図である。
【図１５】  第２実施形態に係るメインルーチンの処理手順を示すフローチャートである。
【図１６】  第２実施形態に係るGUI作成部１２の処理手順を示すフローチャートである。
【図１７】  第２実施形態に係るサムネール作成部１６の処理手順を示すフローチャートである。
【図１８】  第２実施形態に係るGUI更新部１５の処理手順を示すフローチャートである。
【図１９】  uが4に設定され、vが1〜4の値を取り得る際に、T/u・vの時間間隔を有する配列H[0],配列H[1],配列H[2],配列H[3]・・・・・・がそれぞれどのような値に設定されるかを示す図である。
【図２０】  第３実施形態に係るGUI更新部１５及びサムネール作成部１６の処理手順を示すフローチャートである。
【図２１】（ａ）T,uに具体的な値が設定された際、配列H[0],配列H[1],配列H[2],配列H[3]・・・・・・がそれぞれどのような値に設定されるかを示す図である。
（ｂ）図２１（ａ）に示す具体的な値が配列H[0],配列H[1],配列H[2],配列H[3]・・・・・・に設定された場合、プログラムナビにどのようなサムネール画像が配置されるかを示す図である。
【図２２】（ａ）通常再生から早送りへの切り換え時点を再生停止時刻とし、早送りから通常再生への切り換え時点を再生開始時刻とした場合に、履歴がどのように表されるかを示す図である。
（ｂ）図２２（ａ）の再生が行われた場合に、ワークエリア１４に格納される再生履歴の一例を示す図である。
【図２３】  第４実施形態に係るマイコンシステム１１のメインルーチンの処理手順を示すフローチャートである。
【図２４】  第４実施形態に係るGUI更新部１５の処理手順を示すフローチャートである。
【図２５】  第５実施形態に係るストリーミング配信システムの構成を示す図である。
【図２６】  第５実施形態に係るコンテンツ配信システムのシーケンスチャートである。
【図２７】  第５実施形態に係るコンテンツ配信システムのシーケンスチャートである。
【図２８】  VR_MANGR.IFOの内部構造を示す図である。
【図２９】  TMAPIの内部構成を示す図である。
【図３０】  TMAPIとVOBUとの関係を模式的に示す図である。
【図３１】  M_AVFIテーブルの内部構成を示す図である。
【図３２】  ORG_PGCIに含まれるCELLとVOBとの関係を示す図である。
【図３３】  図３１のCELLがどのようにPGに分類されるかを示す図である。
【図３４】  VOBの部分削除が行われた場合、VOBの部分区間がどのように指定されるかを想定した図である。
【図３５】  部分削除箇所の前後において得られるVOBを示す図である。
【符号の説明】
１    ドライブ
２    ASP
３    DSP
４    MPEGデコーダ
５    システムデコーダ
６    オーディオデコーダ
７    ビデオデコーダ
８a,b,c    フレームメモリ
９    順序制御部
１０    信号合成部
１１    マイコンシステム
１２    GUI作成部
１３    再生制御部
１４    RAM
１５    GUI更新部
１６    サムネール作成部
２０    ネットワーク
２１    クライアント装置
２２    配信サーバ
２３    ストレ−ジ
２４    データベース
２５    認証部
２６    ページ保持部
２７    ページ作成部
２８    ダウンロード部
２９    ページ更新部
１０１    テレビ
１０２    リモコン
【図１】
0004105944.tif 000002
【図２】
0004105944.tif 000003
【図３】
0004105944.tif 000004
【図４】
0004105944.tif 000005
【図５】
0004105944.tif 000006
【図６】
0004105944.tif 000007
【図７】
0004105944.tif 000008
【図８】
0004105944.tif 000009
【図９】
0004105944.tif 000010
【図１０】
0004105944.tif 000011
【図１１】
0004105944.tif 000012
【図１２】
0004105944.tif 000013
【図１３】
0004105944.tif 000014
【図１４】
0004105944.tif 000015
【図１５】
0004105944.tif 000016
【図１６】
0004105944.tif 000017
【図１７】
0004105944.tif 000018
【図１８】
0004105944.tif 000019
【図１９】
0004105944.tif 000020
【図２０】
0004105944.tif 000021
【図２１】
0004105944.tif 000022
【図２２】
0004105944.tif 000023
【図２３】
0004105944.tif 000024
【図２４】
0004105944.tif 000025
【図２５】
0004105944.tif 000026
【図２６】
0004105944.tif 000027
【図２７】
0004105944.tif 000028
【図２８】
0004105944.tif 000029
【図２９】
0004105944.tif 000030
【図３０】
0004105944.tif 000031
【図３１】
0004105944.tif 000032
【図３２】
0004105944.tif 000033
【図３３】
0004105944.tif 000034
【図３４】
0004105944.tif 000035
【図３５】
0004105944.tif 000036