以下、図面を参照しながら、本発明を適用可能な実施例を説明する。
(実施形態1)
図1は、本実施形態における表示制御装置1の構成例を示す機能ブロック図である。尚、本実施形態における表示制御装置1は、複数の映像コンテンツの再生表示を切り替えることができる表示制御装置であり、例えばデジタルテレビなどである。また、本発明は、デジタルテレビ以外に、パーソナルコンピュータ、ワークステーション、ノートブックPC、パームトップPC、コンピュータを内蔵した各種家電製品、ゲーム機、携帯電話などのうち、複数の映像コンテンツの再生表示を切り替えることができる装置、もしくは、これらの組合せによっても実施可能である。
同図において、ネットワークI/F114は、表示制御装置1を電話回線や公衆ネットワーク回線のDSL(Digital Subscribe Line)やCATV(Cable Television)、光ファイバなどに接続するインターフェースである。つまり、表示制御装置1は、ネットワークI/F114を介し、IP放送を始めとする映像コンテンツを受信する。受信した映像コンテンツは、後述する映像復号化部100に送られるか、あるいは蓄積部106に蓄積される。
放送受信部116は、アンテナを介して放送波の受信を行う受信部であり、チューナ、復調などの機能を持つ。放送受信部116は、受信した放送波から取得された多重化ストリームを映像復号化部100に送る。
映像復号化部100は、ネットワークI/F114から入力された、あるいは、蓄積部106から読み出した圧縮符号化された映像コンテンツの復号化処理を行う。また、映像復号化部100は、放送受信部116で受信した放送波をReMux(ReMultiplex)処理して、蓄積部106に蓄積する。
つまり、映像復号化部100は、多重化ストリームを分離するDeMux(DeMultiplex)処理部を備える。そして、ネットワークI/F114、或いは蓄積部106からの多重化ストリームをビデオストリーム、オーディオストリームおよびその他のデータストリームに分離する。そして、分離された各ストリームを、各復号器(以降デコーダと呼ぶ)により復号する。本実施形態の映像復号化部100は、ビデオデータの各フォーマットに対応した復号化処理が行えるよう、複数のフォーマットに対応したデコーダを備える。例えば、ビデオストリームのデコーダとして、MPEG2デコーダや、AVC/H.264デコーダを備える。また、オーディオストリームのデコーダとして、LinearPCMデコーダや、ドルビーデジタル(AC−3)デコーダ、MPEG2オーディオ(AAC)デコーダを備える。ただし、これらのデコーダの種類に限られるものではない。また、少なくとも1つのフォーマットに対応したデコーダを備えていれば本発明は実施可能である。また、映像復号化部100は、DSPのようなプロセッサから構成されソフトウェア処理が行われるが、CPUによるソフトウェア処理で実施してもよい。映像復号化部100は、上記のようにして復号したビデオデータを映像合成/出力部102へ送り、表示処理を行わせる。また、映像復号化部100は、後述する復号化制御部108からの指示に基づき、復号処理を行う映像コンテンツを切り替える。即ち、映像復号化部100は、復号化制御部108による切り替えに応じて、映像を再生表示させる。また、映像復号化部100は、復号したオーディオデータを音声出力部104へ送り、音声の再生処理を行わせる。映像合成/出力部102は、映像復号化部100において復号化されたビデオデータの表示処理を行い、液晶ディスプレイやプラズマディスプレイといった表示用デバイスに出力する。
また、音声出力部104は、映像復号化部100において復号化されたオーディオデータをスピーカなどに出力する。
蓄積部106は、ハードディスクドライブなどに代表される蓄積メディアであり、ダウンロードした映像コンテンツ、及び放送受信部116で受信した映像コンテンツの蓄積や、各種制御情報の蓄積に利用する。また、図示しないが、表示制御装置1に外部インターフェイスを備え、外部接続されるハードディスク装置やメモリカードなどを蓄積部106としてもよい。
復号化制御部108は、ユーザからの視聴する映像の切り替え指示に基づき、再生表示する番組を切り替える。尚、本実施形態では、復号化制御部108によって切り替えられる番組が、関連性のある番組である場合について説明する。関連性のある番組とは、例えば、同じスポーツの試合を、それぞれ異なるカメラで撮影した番組などである。また、スポーツに限らず、同じコンサート、演劇、ライブなどでも同様である。即ち、復号化制御部108は、記憶されている複数の映像のうち、再生表示する映像を切り替える。また、復号化制御部108は、再生表示を中断した映像コンテンツの再生表示を再開する際に、後述する計時部110から取得した計時情報(再生中断時間△t)を用いて再生再開位置S’を取得し、映像復号化部100に対して復号化の指示を行う。復号化制御部108による再生の中断、再開における制御の詳細は、後述する。
再生位置管理部112は、蓄積部106に蓄積されている映像コンテンツにおける、再生時刻情報と、再生時刻情報に対応した映像データの格納位置、すなわち読み出しアドレス(格納位置情報)を管理する。即ち、再生位置管理部112は、再生画面に関するデータ(格納位置情報)と再生画面の再生時刻(再生時刻情報)とを関連付けて記憶する。
ここで、再生位置管理部112において記憶される、映像コンテンツの再生時刻情報、および再生時刻情報に対応した映像データの格納位置情報の取得と、それらを管理するための再生位置管理テーブルの作成について説明する。ここでは、映像コンテンツがMPEG2−TS(トランスポートストリーム)である場合を例に挙げて説明する。
図2は、本実施形態の表示制御装置1の各部で行う、再生位置管理テーブルの作成手順を示すフローチャートである。
尚、本実施形態の表示制御装置1は、再生位置管理テーブルの作成に係る処理を、記憶されるプログラムに基づいて行う。即ち、表示制御装置1の各制御を行うCPUが、ROM等に記憶される制御プログラムを適宜読み出し、処理を実行する。ただし、これらの処理を専用のハードウェアによって行うようにしても良い。
同図において、例えば、ネットワークI/F114で受信されたMPEG2−TSストリームが、映像復号化部100に送られる。そして、映像復号化部100は、受信した映像コンテンツを復号し、GOP(Group Of Picture)ヘッダを検出する(S200)。
さらに映像復号化部100は、GOPに含まれるIピクチャ(Intra Picture)のPTS(Presentation Time Stamp)を取得する(S202)。
次に、映像復号化部100は、検出したGOPヘッダとGOPヘッダに続くピクチャデータ(GOPデータ)の蓄積部106への記録先を確保する(S204)。つまり、本実施形態におけるGOPデータとは、あるGOPヘッダから、次に検出されるGOPヘッダまでのデータのことを示す。映像復号化部100は、確保したGOPデータの記録先となる蓄積部106内のアドレス情報(格納位置情報)を取得する。そして、S202で取得したIピクチャのPTSを再生時刻情報として、また、記録先アドレスを格納位置情報として再生位置管理部112の再生位置管理テーブルに登録する(S206)。そして、映像復号化部100は、S204で確保した、蓄積部106の記録先にGOPデータを記録する(S208)。
このようにして記録された再生位置管理テーブルの例を図3に示す。尚、本実施形態の表示制御装置1は、再生表示の切り替え対象となる複数の映像コンテンツのそれぞれについて、再生位置管理テーブルを予め作成し、保持する。
以上のようにして、本実施形態の表示制御装置1は、受信したMPEG2−TSストリームから得られた映像コンテンツを蓄積部106に記録すると共に、再生位置管理テーブルを作成する。
次に、図4、図5を用いて、本実施形態における複数の映像コンテンツの表示イメージを説明する。
図4の表示画面400は、6つの映像コンテンツの中から視聴したい映像コンテンツを切り替えて再生表示させる場合の表示例である。表示画面400において、数字1〜6が割り付けられた長方形はそれぞれ映像コンテンツのウィンドウであり、前面にある3つのウィンドウ(映像コンテンツ6、1、2)はそれぞれ再生表示中であることを示す。一方、背面にある3つのウィンドウ(映像コンテンツ5、4、3)は、それぞれ再生表示が中断されており、ブラックなどの単色画面、あるいは中断時の静止画表示を行っている状態であることを示している。すなわち、本実施形態の表示制御装置1は、映像コンテンツの同時復号化処理可能な最大数が3であるため、背面の3つのウィンドウは復号化処理を実行することができない。ただし、この例に限らず、表示制御装置1が同時に復号化可能な映像コンテンツの数が4つ以上であっても構わない。ここで、表示制御装置1は、同時に再生表示する映像の数よりも、同時に復号化可能な映像コンテンツの数が多い場合、再生表示が中断されている番組の一部の復号を継続することも可能である。例えば、表示画面400上の映像の数が6つ、同時に再生表示する映像が3つのときに、表示制御装置1が同時に復号化可能な映像コンテンツの数が4つの場合、再生表示が中断されている3つの映像のうちの1つの映像の復号を続けるようにしても良い。このように、本発明は、再生表示が中断されている映像のうち、少なくとも1つの映像に対して適用することが可能である。
ここで、ユーザが次の映像ペア(映像コンテンツ1、2、3)を視聴するために、左回りシフトを実行する操作を行うと、表示画面402に遷移する。表示画面402においては、表示画面400において再生表示されていた映像コンテンツ6の再生を中断し、背面に配置(再生表示が中断)されていた映像コンテンツ3の再生表示を再開(開始)する。従って、前面において再生、表示される映像ペアは、映像コンテンツ6、1、2から、映像コンテンツ1、2、3へと切り替わることになる。また、このとき、背面に配置されている3つのウィンドウ(映像コンテンツ6、5、4)は、それぞれ再生表示が中断される。
また、表示画面402の状態で、ユーザが次の映像ペア(映像コンテンツ2、3、4)を視聴するために、左回りシフトを実行する操作を行うと、表示画面404に遷移する。表示画面404においては、表示画面402において再生表示されていた映像コンテンツ1の再生を中断し、新たに映像コンテンツ4の再生表示を再開(開始)する。従って、前面において再生表示される映像ペアは、映像コンテンツ1、2、3から、映像コンテンツ2、3、4へと切り替わることになる。説明のため、映像コンテンツ1の再生表示が中断された時刻を再生中断時刻T、再生中断時刻Tにおける映像コンテンツ1再生表示されていた画面を再生中断位置Sとする。尚、本実施形態における再生中断位置Sは、再生中断時刻Tにおいて再生表示されていたピクチャを含むGOPの、次のGOPのデータが格納されたアドレスを示す情報である。ただし、再生中断時刻Tにおいて再生表示されていたピクチャを含むGOPのデータが格納されたアドレスを示すようにしても良い。
表示画面404の状態で、ユーザがさらに左回りシフトを実行する操作を2回連続して行うと、表示画面404の状態から図5の表示画面500のようになる。ここで、次にユーザが左回りシフトを実行すると、映像コンテンツ1の再生が再開されることになる(表示画面502)。映像コンテンツ1の再生が再開される時刻(再生再開時刻)は、表示画面402から表示画面404に遷移した時刻T(再生中断時刻)、及び再生が再開された時刻までの再生中断時間△tに基づき、時刻T+△tとなる。また、このときの映像コンテンツ1の再生再開位置をS’とする。つまり、再生再開位置S’は、再生再開時刻T+△tにおいて再生表示させるピクチャを含むGOPのデータが格納されたアドレスを示す情報である。
ここで、映像コンテンツ1が表示画面404に遷移して再生を中断した再生中断位置Sと、表示画面502に遷移して再生が再開される再生再開位置S’について、図6の再生スケジュール例を用いて説明する。尚、本実施形態において、映像コンテンツ1の再生時間は20分であると仮定する。
図6において、横軸上段は映像コンテンツ1の再生時間(0分0秒より20分0秒まで)を示し、横軸下段は時刻の進行を示す。映像コンテンツ1が再生表示中であるときは、図6の横軸上段に斜線で示される。つまり、図6は、時刻0分0秒から5分0秒の間、映像コンテンツ1が再生されている状態であることを示している。
ここで、時刻5分0秒(再生中断時刻T)において行われたユーザ操作(例えば、図4の表示画面402から404に遷移させる指示)により、映像コンテンツ1が背面に回り、再生表示が中断されると、上述したとおり、映像コンテンツ1の復号化処理が中断される。その後、例えば表示画面500から502に遷移するようにユーザ操作が行われると、映像コンテンツ1の再生表示が再開される。この例では、時刻12分0秒(再生再開時刻T+△t)に映像コンテンツ1の再生が再開される。この再生が中断されてから再開されるまでの時間は、上述のように再生中断時間△tである。従って、この例では、再生中断時間△tは、7分となる。映像コンテンツ1の再生表示の再開において、映像復号化部100は、再生中断位置Sから再生表示をさせるのではなく、再生中断時刻Tに再生中断時間△tを加算した再生再開時刻T+△tに対応する画面から再生を再開する。即ち、映像復号化部100は、再生中断位置Sにおける再生中断時刻T(5分0秒)に、再生中断時間△t(7分)を加算した、再生再開時刻T+△t(12分0秒)に対応する再生再開位置S’から再生を再開する。
以上のようにして、映像コンテンツ1の再生表示を中断している場合において、再生表示を再開する際に、切り替え前後の映像が時間的にスムーズに再生されるようにすることが可能となる。
次に、本実施形態における再生表示する映像の切り替え時の動作について、図7を用いて説明する。
図7は、映像コンテンツ1の再生表示が中断(表示画面の背面に遷移)されてから、再生表示を再開(表示画面の前面に遷移)するまでの過程における、表示制御装置1の各部の動作を示したシーケンス図である。
尚、本実施形態の表示制御装置1は、図7で説明する各処理を、記憶されるプログラムに基づいて行う。即ち、表示制御装置1の各制御を行うCPUが、ROM等に記憶される制御プログラムを適宜読み出し、処理を実行する。ただし、これらの処理を専用のハードウェアによって行うようにしても良い。また、本実施形態の表示制御装置1は、ユーザによる表示映像コンテンツの切替指示に基づいて、図4で示したような6つの映像コンテンツの再生表示を切り替えて行うものとする。また、上述したように、本実施形態の再生位置管理部112は、これら6つの映像コンテンツの各再生時刻情報と、再生時刻情報に対応する映像データの格納位置情報を、再生位置管理テーブルとして記憶している。
F701において、復号化制御部108は、ユーザから入力された表示映像コンテンツのシフト操作を検出する。F701の検出前の再生画面は、図4の表示画面402のように画面を表示しているものとする。そして、復号化制御部108は、検出したシフト操作により背面に配置されることになる映像コンテンツが映像コンテンツ1であることを特定する。
次に、F702(切替手順)において、復号化制御部108は、映像復号化部100に対し、F701で特定した映像コンテンツ1の復号化処理を中断する旨の指示を出す。また、図示しないが、復号化制御部108は、映像コンテンツ1の復号化処理の中断指示と共に、映像コンテンツ4の復号化処理の再開指示を出す。即ち、復号化制御部108は、複数の映像のうち、再生表示する映像を切り替える。
そして、復号化中断指示を受信した映像復号化部100は、映像コンテンツ1の復号化処理を中断する(F703)。そして、映像復号化部100は、映像コンテンツ1の復号化処理を中断した時刻を示す再生中断時刻Tの情報を復号化制御部108に通知する(F704)。尚、本実施形態の映像復号化部100は、復号化中断指示を受信した時点で復号化を行っていたGOPの復号化処理を完了させてから、映像コンテンツ1の復号化処理の中断、及び、その時点での再生中断時刻Tの通知を行う。本実施形態の再生位置管理部112は、再生位置管理テーブルにおいてGOPごとに再生時刻情報を記憶している。従って、このように、通知する再生中断時刻TをGOPごとに設定することによって、再生中断時刻Tに基づく再生中断位置Sの検索等を、効率良く行うことができる。ただし、復号化中断指示を受信して直ちに復号化処理の中断、及び、その時点の再生中断時刻Tの通知を行うようにしても良い。
再生中断時刻Tの通知を受信した復号化制御部108は、F705において、再生中断時刻Tの値に基づき、再生位置管理部112から再生中断位置Sを取得する。即ち、まず、復号化制御部108は、再生位置管理部112に対し、F701で特定した、再生表示が中断される映像コンテンツを特定する情報、及び、F704で通知された再生中断時刻Tを送信する。この例では、再生表示が中断される映像コンテンツが映像コンテンツ1であるという情報と、再生中断時刻Tが再生位置管理部112に対して送信される。これらの情報を受信した再生位置管理部112は、図3に示した再生位置管理テーブルより、映像コンテンツ1の再生中断時刻Tに対応する再生時刻情報を検出する。そして、再生位置管理部112は、検出した再生時刻情報に基づいて、映像コンテンツ1の再生表示を中断した時刻に対応する映像データを格納したアドレス情報を読み出し、再生中断位置Sとして復号化制御部108に返す。尚、前述のように、再生中断位置Sは、再生表示を中断した映像コンテンツにおける、中断された時刻に対応するGOPデータ(GOPヘッダから次のGOPヘッダまでの情報)を格納した蓄積部106内のアドレス情報を示している。
再生中断位置Sを取得した復号化制御部108は、F704で通知された再生中断時刻Tと、F705で取得した再生中断位置Sを保持し(F706)、さらに計時部110に対し、映像コンテンツ1の再生中断時間△tの計時を指示する(F707)。
そしてF708において、計時部110は、計時の開始指示に基づき、再生中断時間の計時を開始する。尚、本実施形態では説明を省略しているが、計時部110は、映像コンテンツ1の中断時間の他に、映像コンテンツ6、及び映像コンテンツ5の中断時間の計時を同様にして行っている。
次にユーザによる表示映像コンテンツのシフト操作が行われると、映像コンテンツ2が背面に遷移する。このとき、F701で映像コンテンツ1が背面に遷移するときの中断処理と同様の処理が行われるが、ここでは説明を省略する。
その後、図5の表示画面500の状態でユーザが表示映像コンテンツのシフト操作を行うと、復号化制御部108は、映像コンテンツ1の再生表示が再開(表示画面の前面に遷移)することを検出する(F709)。
そして、復号化制御部108は、F710(取得手順)で、計時部110に対し、映像コンテンツ1の再生中断時間△tの計時の中止指示、及び、計時情報の取得要求を行う(F710)。計時中止指示および計時情報の取得要求を受信した計時部110は、映像コンテンツ1の再生中断時間の計時を中止し、計時結果である再生中断時間△tを、復号化制御部108に対して送信する(F712)。即ち、復号化制御部108は、再生表示する映像の切り替えに応じて、再生表示が中断された映像(映像コンテンツ1)における再生表示が中断されてから再開されるまでの時間(再生中断時間△t)を取得する。
計時情報として映像コンテンツ1の再生中断時間△tを受信した復号化制御部108は、F706にて保持した再生中断位置Sおよび再生中断時間△tを用いて、再生再開位置S’の取得処理を行う(F713)。即ち、復号化制御部108は、再生位置管理部112に対し、F706で保持した再生中断位置S、及びS712で通知された再生中断時間△tを送信し、再生再開位置S’の取得要求を行う。再生再開位置の取得要求を受信した再生位置管理部112は、図3に示した再生位置管理テーブルを参照し、受信した再生中断位置Sから、再生を再開する映像コンテンツが映像コンテンツ1であることを特定する。そして、さらに映像コンテンツ1の再生中断時刻Tを割り出し、割り出した再生中断時刻Tに、再生中断時間△tを加算する。再生位置管理部112は、このようにして再生再開時刻を求め、再度再生位置管理テーブルを参照し、再生再開時刻に対応する映像データが格納されたアドレス情報を取得し、再生再開位置S’として復号化制御部108に返す。
映像コンテンツ1の再生再開位置S’を取得した復号化制御部108は、映像復号化部100に対し、再生再開位置S’を通知すると共に、映像コンテンツ1の復号化処理の再開を指示する(F714)。
F715(表示制御手順)において、復号化処理再開の指示を受信した映像復号化部100は、復号化制御部108から通知された再生再開位置S’に基づいて、蓄積部106にアクセスし、映像コンテンツ1の復号化処理を再開する。即ち、映像復号化部100は、再生表示が中断された映像(映像コンテンツ1)の再生表示を再開するときに、再生表示が中断された映像を、取得された時間(再生中断時間△t)に応じた画面(再生再開位置S’)から再生表示させる。また、映像復号化部100は、計時部110により取得された時間(再生中断時間△t)及び、再生位置管理部112に記憶されている情報(格納位置情報)に応じた画面から再生表示させている。
なお、本実施形態の復号化制御部108は、表示画面402および404に示されるように、映像コンテンツ1が背面に切り替わるタイミングと共に、映像コンテンツ4が前面に切り替わるタイミングを検出する。従って、上述した映像コンテンツ1に関する再生中断処理と並行して、映像コンテンツ4の再生再開処理が行われる。同様に、映像コンテンツ1が前面に切り替わるタイミングは、映像コンテンツ4が背面に切り替わるタイミングであるので、映像コンテンツ1に関する再生再開処理と並行して、映像コンテンツ4の再生中断処理が行われる。
以上のように、本実施形態の表示制御装置1は、映像コンテンツの再生中断時刻Tに再生中断時間△tを加算して得られる再生再開時刻に基づいて再生再開制御を行う。このようにすることにより、複数の映像を切り替えて再生表示を行う際に、切り替え前後の映像を時間的にスムーズに再生させることが可能となる。
尚、最初に映像コンテンツの再生表示が開始(例えば電源オン)されてから、最初に映像コンテンツの切り替え指示が行われた場合にも、切り替え前後の映像を時間的にスムーズに再生表示させることが可能である。即ち、映像コンテンツの再生表示の開始時に、計時部110は、再生表示が行われていない(最初に表示画面の背面に配置された)映像コンテンツにおける、再生表示されていない時間を計時する。ここで、映像コンテンツの再生表示の開始時は、本実施形態で説明した再生中断時刻T、計時部110による計時時間は、本実施形態で説明した再生中断時間△tに相当する。従って、復号化制御部108は、映像コンテンツの再生表示の開始時に再生位置管理部112に対して再生中断位置Sに対応する位置情報を取得する処理を行う。そしてさらに、当該位置情報と計時部110から通知された計時時間とを用いて、再生位置管理部112から再生再開位置S’に対応する位置情報を取得する。即ち、計時部110は、複数の映像(切り替えて再生表示可能な映像コンテンツ)のうちの最初の映像の再生表示を開始してから、最初の映像の再生表示を開始したときに表示されていなかった映像の再生表示が開始されるまでの時間を取得する。そして、復号化制御部108は、最初の映像の再生表示を開始したときに再生表示されていなかった映像を最初に再生表示するときに、計時部110によって取得された時間に応じた画面から再生表示を開始させる。例えば、最初に映像コンテンツの再生表示が開始された状態が図4の400だった場合、最初に左回りシフトして、図4の402になるまでの時間を計時する。そして、最初に左回りシフトして、映像コンテンツ3の再生表示を開始するときは、映像コンテンツ3の先頭から、図4の400の状態だった時間後の画面を表示する。
(実施形態2)
次に、本発明の第2の実施形態について、実施形態1との差違を中心に図面を参照して説明する。
実施形態1では、映像コンテンツの再生表示が中断されている(背面に配置されている)時間(再生中断時間T)を計時し、再生再開位置S’を取得する例を示した。本実施形態においては、前面に配置し再生表示されている映像コンテンツに対してユーザがトリックプレイ操作を行う場合の例を示す。ここで、トリックプレイとは、例えば早送り、巻き戻し、一時停止、スロー再生などである。
図8は、映像コンテンツ1の再生表示が中断(背面に配置)されている状況において、前面に配置し再生表示されている映像コンテンツに対してトリックプレイ操作が行われた際の表示制御装置1の各部の動作を説明するためのシーケンス図である。尚、本実施形態の表示制御装置1は、図8で説明する各処理を、記憶されるプログラムに基づいて行う。即ち、表示制御装置1の各制御を行うCPUが、ROM等に記憶される制御プログラムを適宜読み出し、処理を実行する。ただし、これらの処理を専用のハードウェアによって行うようにしても良い。また、本実施形態において、計時部110による計時の開始までの処理は、実施形態1と同様であるため、説明を省略する。即ち、図8において、復号化制御部108が計時部110に対して計時開始指示を出すステップ(F801)は、図7における計時開始指示を出すステップ(F707)に対応する処理である。
F801において、復号化制御部108は、計時部110に対し、再生表示が中断された映像コンテンツ1の計時開始指示を送信する。計時開始指示を受信した計時部110は、映像コンテンツ1の再生中断時間△tの計時を開始する(F802)。
ここで、ユーザがトリックプレイ操作を行うと、復号化制御部108がそれを検知し(F803)、映像復号化部100に対してトリックプレイの指示を行う(F804)。本実施形態では、図4の表示画面404のような状況、即ち、映像コンテンツ1の再生表示が中断している状態で、ユーザが映像コンテンツ3に対してトリックプレイ操作を行ったものとする。映像復号化部100は、トリックプレイの指示を受け、表示画面404の前面に配置されている映像ペア(映像コンテンツ2、3、4)に対してトリックプレイ処理を行う(F805)。尚、トリックプレイには、例えば早送り再生や、巻き戻し再生、一時停止などがあり、それぞれの処理を行うことにより再生速度が変化する。即ち、復号化制御部108は、F804で、再生表示されている映像(映像コンテンツ2、3、4)に対し、映像の再生速度を変化させる指示を行う。また、F805で、映像復号化部100は、復号化制御部108による指示に応じて、再生表示されている映像の再生速度を変化させる。
復号化制御部108は、F804で、映像復号化部100に対してトリックプレイの指示を出すと共に、F806で、計時部110に対してトリックプレイ情報を送信する。ここで、トリックプレイ情報とは、トリックプレイの処理を開始する旨と、トリックプレイの種類を指し、例えば早送り再生や巻き戻し再生、またその速度(例えば2倍速や8倍速など)、一時停止などが挙げられる。トリックプレイ情報を受信した計時部110は、トリックプレイ処理が実行される時間を示す、トリックプレイ時間の計時を開始する(F807)。尚、計時部110は、F802で開始した計時を引き続き継続する。尚、F804とF806の順序は、逆でも構わない。
そして、復号化制御部108は、ユーザからトリックプレイの中止操作が行われると、それを検知する(F808)。そして、復号化制御部108は、映像復号化部100に対してトリックプレイの中止指示を出し(F809)、中止指示を受信した映像復号化部100はトリックプレイ処理を中止する(F810)。また、復号化制御部108は、トリックプレイ中止の指示と共に計時部110に対してトリックプレイを中止したことを示す中止情報を送信する(F811)。計時部110は、トリックプレイ中止情報を受信すると、F812において、トリックプレイ時間の計時を中止する。尚、F809とF811の順序は、逆でも構わない。
さらに、計時部110は、F812において、F806で受信したトリックプレイ情報に基づき、トリックプレイ時間を修正した、修正トリックプレイ時間を算出する。修正トリックプレイ時間は、トリックプレイ時間において変化した再生時間から、計時されたトリックプレイ時間を差し引くことで得られる。この修正トリックプレイ時間をF802で開始した計時時間に加えることで、トリックプレイが行われた場合でも、再生再開位置S’を取得することができるようになる。
ここで、修正トリックプレイ時間の算出についていくつか具体例を挙げて説明する。例えば、計時したトリックプレイ時間が1分0秒であり、トリックプレイの種類が2倍速の早送り再生であった場合を例に挙げる。この場合、表示画面前面の再生中の映像ペア(映像コンテンツ2、3、4)は、1分0秒の間、2倍速の早送り再生を行っている。従って、計時部110は、1分0秒×2という計算式から、トリックプレイ時間において、2分0秒だけ再生時間が変化したと判断する。そして、計時部110では、トリックプレイ時間において変化した再生時間(変化時間:2分0秒)から、トリックプレイ時間(1分0秒)を差し引いた(+)1分0秒を修正トリックプレイ時間として算出する。
また、別の例として、計時したトリックプレイ時間が0分30秒であり、トリックプレイの種類が2倍速の巻き戻し再生であった場合を挙げる。この場合、表示画面前面の再生中の映像ペアは、0分30秒の間2倍速の巻き戻し再生を行っていることから、計時部110は、0分30秒×(−2)という計算式から(−1分0秒)だけ再生時間が変化したと判断する。そして、計時部110では、トリックプレイ時間において変化した再生時間(変化時間:−1分0秒)から、トリックプレイ時間(0分30秒)を差し引いた(−)1分30秒を修正トリックプレイ時間として算出する。
また、別の例として、計時したトリックプレイ時間が0分30秒であり、トリックプレイの種類が一時停止であった場合を例に挙げる。この場合、トリックプレイ時間において変化した再生時間(変化時間:0分0秒)から、トリックプレイ時間(0分30秒)を差し引いた(−)0分30秒を修正トリックプレイ時間として算出する。
そして、計時部110は、上述のとおり算出した修正トリックプレイ時間を用いて、F802で計時を開始した計時情報(再生中断時間△t)を修正する。例えば、F802で計時を開始した計時情報、即ち、映像コンテンツ1の再生表示が中断されてからトリックプレイを開始するまでの再生中断時間△tが2分0秒で、トリックプレイとして1分0秒間、2倍速の早送り再生を行った場合を例に挙げる。この場合、前述したように、修正トリックプレイ時間は、(+)1分0秒である。また、トリックプレイが1分間行われていることから、中止情報の受信(F811)時における再生中断時間△tは、3分0秒と計時される。従って、計時部110は、再生中断時間△t(3分0秒)に、修正トリックプレイ時間(+1分0秒)を加え、再生中断時間の修正値(4分0秒)を得ることができる。
また、他の例として、映像コンテンツ1の再生表示が中断されてからトリックプレイを開始するまでの再生中断時間△tが2分0秒で、トリックプレイとして30秒間、2倍速の巻き戻し再生を行った場合を例に挙げる。この場合、前述したように、修正トリックプレイ時間は、(−)1分30秒である。また、トリックプレイの中止情報の受信時における再生中断時間△tは、2分30秒と計時される。従って、計時部110は、再生中断時間△t(2分30秒)に、修正トリックプレイ時間(−1分30秒)を加え、再生中断時間の修正値(1分0秒)を得ることができる。
計時部110は、このようにして得られた再生中断時間の修正値を新たな再生中断時間△tとすると共に、映像コンテンツ1が再生表示されるようになるまで、再生中断時間△tの計時を続ける。
尚、本実施形態の計時部110は、F807において、F802で開始した計時を行いながら、トリックプレイ時間の計時を開始したが、トリックプレイ時間の計時開始と共にF802で開始した計時を中断しても良い。この場合、計時を中断したときの計時時間を記憶しておき、トリックプレイ中止情報の受信時(F811)に、記憶していた計時時間に上述した変化時間を加えることで、再生中断時間の修正値を得ることが可能である。この方法で再生中断時間の修正値を得る具体例として、上記した例を挙げて説明する。即ち、F807において、映像コンテンツ1の再生中断時間△tが2分0秒、トリックプレイとして1分0秒間、2倍速の早送り再生を行った場合の例について考える。この場合、トリックプレイ時間における変化時間は、上述の通り(+)2分0秒である。そこで計時部110は、F807で計時を中断した再生中断時間△t(2分0秒)に変化時間(2分0秒)を加え、再生中断時間の修正値(4分0秒)が得られる。
尚、トリックプレイの実行中において、ユーザから別のトリックプレイの指示が行われた場合、F808〜F812の処理後、計時部110は、別のトリックプレイ情報に基づき、新たにトリックプレイ時間の計時を開始する。
その後、ユーザによってさらに2回、左回りの表示映像コンテンツのシフト操作が行われると、図5の表示画面500に示したような状態になる。
この状態で、さらに表示映像コンテンツのシフト操作が行われたことを復号化制御部108が検知すると(F813)、計時部110に対して映像コンテンツ1の再生中断時間の計時の中止指示を出し、また計時された再生中断時間の取得要求を行う(F814)。計時中止指示と計時情報取得要求を受信した計時部110は、計時を中止し(F815)、計時情報(再生中断時間△t)を通知する(F816)。再生中断時間△tの通知を受けた復号化制御部108は、保持していた再生中断位置Sと、取得した再生中断時間△tを用いて再生位置管理部112より再生再開位置S’を取得する(F817)。さらに、復号化制御部108は、映像復号化部100に対し、再生再開位置S’を通知すると共に、復号化再開の指示を出す(F818)。
そして、復号化制御部108から復号化再開の指示を受けた映像復号化部100は、指示に含まれる再生再開位置S’の情報を用いて蓄積部106にアクセスし、映像コンテンツの復号処理を行う。即ち、本実施形態の映像復号化部100は、取得された時間(計時情報)と再生速度の変化(修正トリックプレイ時間)に応じて、再生表示が中断されている映像(映像コンテンツ1)の再生表示を再開する画面を決定している。
以上説明したように、本実施形態の表示制御装置1によれば、トリックプレイによって計時情報を修正するための値である修正トリックプレイ時間を算出し、算出された修正トリックプレイ時間に基づいて再生が再開される映像コンテンツの画面を決定する。このようにすることで、映像コンテンツの再生中断時にユーザによるトリックプレイ操作が行われた場合においても、再生表示する映像の切り替え前後で、時間的にスムーズな再生を行うことが可能となる。
尚、本実施形態では、計時情報と修正トリックプレイ時間に基づいて再生を再開する映像コンテンツの画面を決定しているが、表示画面400上のすべての映像コンテンツを復号する場合は、トリックプレイ操作に基づいてすべての映像コンテンツに対してトリックプレイ操作を行った場合と同様の処理をすることができる。即ち、例えば、表示制御装置1が図4の表示画面400のように6つの映像を表示している場合において、再生表示が中断されている映像(映像3、4、5)を含むすべての映像の復号を同時に行っているとする。ここで、再生表示されている映像(映像1、2、6)に対して早送りのトリックプレイを行った場合、再生表示が中断されている映像(映像3、4、5)に対しても、同様に早送りの処理を行うことできる。このようにすることにより、映像コンテンツの再生中断時にユーザによるトリックプレイ操作が行われた場合においても、再生表示する映像の切り替え前後で、時間的にスムーズな再生を行うことができる。
(実施形態3)
次に、本発明の第3の実施形態について、実施形態1との差違を中心に図面を参照して説明する。
上述の実施形態1、及び2では、ユーザによる表示映像コンテンツのシフト操作を検知して、映像の切り替えを行っていた。本実施形態では、切り替えタイミングが予め設定されている場合の例について説明する。
図9は、本実施形態における表示制御装置9の構成例を示す機能ブロック図である。上述の実施形態1における図1に対応する図であり、図1の表示制御装置1と同一の構成の部分には同一番号を付し、説明を省略する。尚、本実施形態における表示制御装置9は、複数の映像コンテンツの再生表示を切り替えることができる表示制御装置であり、例えばデジタルテレビなどである。また、本発明は、デジタルテレビ以外に、パーソナルコンピュータ、ワークステーション、ノートブックPC、パームトップPC、コンピュータを内蔵した各種家電製品、ゲーム機、携帯電話などのうち、複数の映像コンテンツの再生表示を切り替えることができる装置、もしくは、これらの組合せによっても実施可能である。
図9に示すように、本実施形態の表示制御装置9は、図1の表示制御装置1に更に、切り替え設定部900を備えている。
切り替え設定部900は、再生表示させる映像コンテンツの切り替えるタイミングを予め設定するものである。これにより、予め設定されたタイミングに基づいて映像コンテンツの切り替えを行うことが可能となる。尚、映像コンテンツの切り替えタイミングの設定値は、ユーザによって入力しても、映像コンテンツに格納された設定値を蓄積部106に蓄積しておき、これを切り替え設定部900が読み出して設定を行っても良い。また、切り替え設定部900に設定される映像コンテンツの切り替えタイミングは、映像コンテンツに関わらず、一定周期で切り替わるように設定しても良いし、映像コンテンツによって再生表示される時間が異なるように設定されていても良い。このように、映像コンテンツの切り替えタイミングは適宜設定可能である。
図10は、本実施形態における、表示画面の遷移を示すイメージ図である。同図において、表示画面1000、1002、1004は、実施形態1において説明した図4の表示画面400、402、404に相当するものであり、6つの映像コンテンツを切り替えながら再生表示する場合の例である。実施形態1においては、映像コンテンツの切り替えは、ユーザが表示映像コンテンツのシフト操作を行ったタイミングで行っていた。一方、本実施形態においては、図10に示すとおり、切り替え設定部900によって設定された切り替え周期Pが経過する毎に映像コンテンツが切り替わる。尚、本実施形態では、切り替え設定部900に設定される切り替え周期Pは一定値、即ち、表示される映像コンテンツの切り替えを一定周期で行うが、設定する切り替えのタイミングは一定周期でなくても良い。
次に、本実施形態における各部の動作について図11を用いて説明する。図11は、映像コンテンツ1が再生表示を中断(表示画面の背面に遷移)し、その後、再生表示を再開(再び表示画面の前面に遷移)する過程における、表示制御装置9の各部の動作を説明するためのシーケンス図である。尚、本実施形態の表示制御装置1は、図11で説明する各処理を、記憶されるプログラムに基づいて行う。即ち、表示制御装置1の各制御を行うCPUが、ROM等に記憶される制御プログラムを適宜読み出し、処理を実行する。ただし、これらの処理を専用のハードウェアによって行うようにしても良い。また、表示制御装置9は、図11に示す処理の開始前において、図10の表示画面1002に示すような状態で映像の表示を行っている。
本実施形態の切り替え設定部900は、設定された切り替え周期Pから、再生表示する各映像コンテンツの切り替え時刻を算出し、それを計時部110へ送る。そして、本実施形態の計時部110は、切り替え設定部900から各映像コンテンツの切り替え時刻を受信し、この切り替え時刻に基づいて各映像コンテンツの再生表示時間を取得し、これを保持する。尚、切り替え設定部900は、切り替え周期Pが一定でない場合も同様に、設定された切り替えのタイミングから、各映像コンテンツの切り替え時刻を算出し、計時部110へ送る。そして、計時部110は、切り替え設定部900から受信された切り替え時刻に基づいて各映像コンテンツの再生表示時間を取得し、これを保持する。即ち、本実施形態の計時部110は、映像の再生表示が中断されてから再開されるまでの時間(再生表示時間)を記憶している。
本実施形態の計時部110は、前回、表示画面が切り替わったタイミングから計時を開始しており、当該計時開始からの計時時間(計時カウント)が予め設定された再生表示時間に達したことを検知すると計時を中止する(F1101)。
そして、計時部110は、F1102において、表示時間情報を読み出す。そして、復号化制御部108に対して、切り替えタイミングであることを示す切り替えタイミング情報に読み出した表示時間情報を含めて通知する。即ち、計時部110は、F1102において、切り替えに応じて再生表示が中断された映像(映像コンテンツ1)における再生表示が中断されてから再開されるまでの時間(再生表示時間)を取得する。尚、上述のように、F1101で検知される切り替えタイミングは、映像コンテンツ1の再生表示が中断される(表示画面において前面から背面に遷移した)タイミングである。また、F1102で通知される表示時間情報は、F1101で検知された切り替えタイミングから、後述するF1112で検知される切り替えタイミングまでの時間を示している。つまり、計時部110は、F1102において、次の切り替えタイミングまでの時間を表示時間情報として復号化制御部108に通知する。F1102の通知を終えると、計時部110は次の切り替えタイミングを検出するために計時を開始する(F1106)。尚、F1102とF1106の処理の順序は逆でも構わない。
切り替えタイミング情報を受信した復号化制御部108は、受信した表示時間情報を保持する(F1103)。そして、復号化制御部108は、F1104(切替手順)において、映像復号化部100に対し、映像コンテンツ1の復号化処理を中断する旨の指示を出す。即ち、復号化制御部108は、複数の映像のうち、再生表示する映像を切り替える。
復号化中断指示を受信した映像復号化部100は、映像コンテンツ1の復号化処理の中断、及び映像コンテンツ4の復号を開始し(F1105)、再生を中断した時刻を示す再生中断時刻Tを復号化制御部108に通知する(F1107)。
再生中断時刻Tを受信した復号化制御部108は、F1108において、再生中断時刻Tを用いて、再生位置管理部112より再生中断位置Sを取得する。即ち、復号化制御部108は、再生位置管理部112に対し、再生中断時刻Tを送信する。そして、再生位置管理部112は、実施形態1と同様に、図3に例示した管理テーブルを参照し、渡された再生中断時刻Tに対応する映像データが格納された蓄積部106内のアドレス情報を再生中断位置Sとして復号化制御部108に返す。復号化制御部108は、F1102で通知された表示時間情報と、F1108で受信した再生中断位置Sを保持する(F1109)。
続いて、F1110において、復号化制御部108は、F1109で保持した再生中断位置Sおよび再生表示時間を用いて、再生位置管理部112から再生再開位置S’を取得する。即ち、復号化制御部108は、まず再生位置管理部112に対して再生中断位置S及び表示時間情報を含む再生再開位置の取得要求を送信する。そして、再開位置S’の取得要求を受信した再生位置管理部112は、図3に示す管理テーブルを参照し、再生中断位置Sから、中断した映像コンテンツを特定し、さらに再生中断時刻Tを検出し、検出された再生中断時刻Tに、受信した表示時間情報を加算する。このようにして再生再開時刻を求めた再生位置管理部112は、再度管理テーブルを参照し、再生再開時刻に対応する映像データを格納するアドレス情報を取得し、再生再開位置S’として復号化制御部108に返す。復号化制御部108は、受信した再生再開位置S’を保持する(F1111)。
一方、計時部110は、F1106で開始した計時を続けており、計時時間が予め設定された再生表示時間に達したことを検知すると計時を中止する(F1112)。そして、計時部110は、F1102と同様に、復号化制御部108に対し、切り替えタイミングであることを示す切り替えタイミング情報を表示時間情報とともに通知する(F1113)。切り替えタイミング情報の通知を終えた計時部110は、次の切り替えタイミングを検出するための計時を開始する(F1115)。ただし、F1113とF1115の順序は逆でも構わない。ここで、F1112で検知された切り替えタイミングは、映像コンテンツ1の再生表示が再開する(表示画面の背面から前面に遷移する)タイミングであるものとする。つまり、より厳密には、映像コンテンツ1が表示画面の背面において遷移する過程があり、この間に2度の切り替えタイミングが発生しているが、本実施形態では説明を省略する。
F1113の切り替えタイミング情報の通知を受信した復号化制御部108は、受信した表示時間情報を保持する(F1114)。続いて、F1111で保持した再生再開位置S’を映像復号化部100に対して通知すると共に、映像コンテンツ1の復号化再開を指示する(F1116)。また、F1116において、復号化制御部108は、映像復号化部100に対し、映像コンテンツ4の復号化の中断を指示する。復号化処理再開の指示を受信した映像復号化部100は、再生再開位置S’で示されたアドレスにアクセスし、映像コンテンツ1の復号化処理を再開する。
なお、実施形態1において述べたように、他の映像コンテンツに関して並行して行われる処理は、説明を省略した。
以上のように、本実施形態の表示制御装置9によれば、切り替え設定部900を用いて切り替えタイミングを予め設定し、映像コンテンツの再生を中断した段階で再生再開位置S’を取得する。このようにすることで、時間的にスムーズな映像の切り替え処理を、より迅速に行うことができる。また、視聴中に映像の切り替え操作を行うことなく、複数の映像コンテンツを視聴することが可能となる。
尚、上述したように、切り替え設定部900において予め設定される表示時間情報は、一定値であっても、映像ごとに異なっていても良い。また、実施形態2で説明したトリックプレイの操作による計時情報の修正と、本実施形態の内容を組み合わせることも可能である。即ち、本実施形態の図11では、F1101やF1112において、計時時間と予め設定されている表示時間情報とを比較しているが、トリックプレイを行った場合は、計時された計時時間を修正し、修正した計時時間を表示時間情報と比較すれば良い。
また、本実施形態では、F1108において、映像コンテンツ1の再生中断時刻Tを用いて再生中断位置Sを取得し、その後、F1110において再生中断位置SとF1102で通知された再生表示時間を用いて再生再開位置S’を取得している。しかし、このF1108、F1109の処理は省略することも可能である。即ち、F1107で再生中断時刻Tの通知を受けた復号化制御部108は、通知された映像コンテンツ1の再生中断時刻Tと、F1102で通知された再生表示時間を用いて、映像コンテンツ1の再生再開位置S’を取得することができる。
また、実施形態1、2、及び3では、再生表示する映像コンテンツの切り替えは、いずれも左回りにシフトされるように行われていたが、この例に限るものではない。即ち、例えば右回りにシフトさせることや、ユーザによって再生表示が中断されている映像コンテンツを選択すると、選択された映像コンテンツが、画面の中心に表示されている映像コンテンツと位置を交換するようにする場合も、本発明は実施可能である。
また、実施形態1、2、及び3では、再生表示の切り替えを行う映像コンテンツの数を6つ、同時に再生表示する映像コンテンツの数を3つとしたが、これに限らず、映像コンテンツの数は表示制御装置の復号能力等に応じて適宜設定することが可能である。
また、実施形態1、2及び3の再生位置管理テーブルは、GOPごとに再生時刻情報を記憶しているとしたが、複数のGOPごとに再生時刻情報を記憶するなど、再生時刻情報に記憶する時刻の単位は、適宜設定することが可能である。
(第4の実施形態)
本発明の目的は、次の形態によっても達成される。即ち、前述した実施形態の機能を実現するソフトウエアのプログラムコードを記録した記録媒体を、システムあるいは装置に供給する。そして、そのシステムあるいは装置のコンピュータ(またはCPUまたはMPU)が記録媒体に格納されたプログラムコードを読み出し実行する形態である。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することとなり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROM、DVDなどを用いることができる。
また、本発明は、コンピュータが読み出したプログラムコードを実行することにより、前述した実施例の機能が実現される形態には限られない。すなわち、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOperating System(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施例の機能が実現される場合も含まれる。
さらに、本発明には、以下の形態も含まれる。すなわち、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書きこまれる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される形態である。