(57)【要約】【課題】ＶＯＤシステムにおいて、特殊再生に用いるキーフレームが不等間隔でキーフレームのデータ量が不均一であっても、ビデオコンテンツを支障なく配信すること。【解決手段】ビデオ配信装置２の特殊再生制御処理部１６は、キーフレーム管理テーブル１５を参照して送信すべきキーフレームを順次選択する。そして、送信すべき各キーフレームの送信開始時刻と送信完了時刻を計算し、先行するキーフレームの送信完了時刻と後続するキーフレームの送信開始時刻とが重複するかどうかを判定する。重複する場合には後続するキーフレームの送信を中止し、重複しない場合には後続するキーフレームをメディア蓄積部１２から読み出し、上記送信開始時刻にストリーム送信処理部１７から送信する。【選択図】図１
2008113301.tif 000002
【特許請求の範囲】
【請求項１】
蓄積されたビデオコンテンツをビデオ受信機からの要求に応じて送信するビデオ送信装置において、
上記ビデオ受信機から上記ビデオコンテンツの特殊再生の要求を受信する再生制御コマンド受信部と、
上記ビデオコンテンツを蓄積するメディア蓄積部と、
該メディア蓄積部の蓄積するビデオコンテンツの中の特殊再生に用いるキーフレームの情報を格納するキーフレーム管理テーブルと、
上記メディア蓄積部からビデオコンテンツを読み出して上記ビデオ受信機へ送信するストリーム送信処理部と、
上記再生制御コマンド受信部が受信した特殊再生の要求に応じて、上記キーフレーム管理テーブルを参照して送信すべきキーフレームを順次選択し、上記ストリーム送信処理部に対して選択したキーフレームを読み出して送信させるよう制御する特殊再生制御処理部とを備え、
該特殊再生制御処理部は、送信すべき各キーフレームの送信開始時刻と送信完了時刻を計算し、先行するキーフレームの送信完了時刻と後続するキーフレームの送信開始時刻とが重複するかどうかを判定し、
重複する場合には後続するキーフレームの送信を中止し、重複しない場合には後続するキーフレームを上記送信開始時刻に送信するよう制御することを特徴とするビデオ送信装置。
【請求項２】
請求項１記載のビデオ送信装置において、
前記キーフレーム管理テーブルは、各キーフレームについての先頭パケット番号、後尾パケット番号及びタイムスタンプの情報を有し、
前記特殊再生制御処理部は、前記各キーフレームの送信開始時刻については各キーフレームの上記先頭パケット番号を参照し、要求された特殊再生の速度に応じて送信開始時刻の間隔を伸縮して設定し、
前記各キーフレームの送信完了時刻については各キーフレームの上記先頭パケット番号と後尾パケット番号を参照し、該キーフレームを所定のビットレートにて送信するのに要する時間を上記送信開始時刻に加算して設定することを特徴とするビデオ送信装置。
【請求項３】
請求項２記載のビデオ送信装置において、
前記特殊再生制御処理部は、前記各キーフレームの送信開始時刻を、さらに、先行して送信したキーフレームの送信時間に対する当該キーフレームの送信時間の増分だけ早めて設定することを特徴とするビデオ送信装置。
【請求項４】
蓄積されたビデオコンテンツをユーザからの要求に応じて送信するビデオ送信方法において、
ユーザからビデオコンテンツの特殊再生の要求を受けた場合、蓄積されたビデオコンテンツから特殊再生に用いるキーフレームを順次検索し、
要求された特殊再生の条件に応じて各キーフレームの送信開始時刻と送信完了時刻を計算し、
先行するキーフレームの送信完了時刻と後続するキーフレームの送信開始時刻とが重複するかどうかを判定し、
重複する場合には後続するキーフレームの送信を中止し、
重複しない場合には後続するキーフレームを上記送信開始時刻に送信することを特徴とするビデオ送信方法。
【請求項５】
請求項４記載のビデオ送信方法において、
前記各キーフレームの送信開始時刻は、要求された特殊再生の速度に応じて送信開始時刻の間隔を伸縮して設定し、
前記各キーフレームの送信完了時刻は、該キーフレームを所定のビットレートにて送信するのに要する時間を上記送信開始時刻に加算して設定することを特徴とするビデオ送信方法。
【請求項６】
請求項５記載のビデオ送信方法において、
前記各キーフレームの送信開始時刻を、さらに、先行して送信したキーフレームの送信時間に対する当該キーフレームの送信時間の増分だけ早めて設定することを特徴とするビデオ送信方法。
【請求項７】
ユーザからビデオコンテンツの特殊再生の要求を受けた場合、蓄積されたビデオコンテンツから要求された特殊再生に用いるキーフレームを順次選択して送信するビデオ送信方法であって、
選択したキーフレームの送信時間が先行するキーフレームの送信時間と重複する場合には、選択したキーフレームの送信を中止することにより、
各キーフレームを所定のビットレートを超えずに送信することを特徴とするビデオ送信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介してビデオ受信機へビデオコンテンツを送信するビデオ・オン・デマンドシステムにおいて、早送り再生などの特殊再生を好適に実現するビデオ送信装置及びビデオ送信方法に関する。
【背景技術】
【０００２】
近年、ビデオ・オン・デマンド（以下、ＶＯＤ）の急速な需要に伴い、各種のＶＯＤサービスが登場している。従来から存在する、インターネットに接続されたＰＣでＶＯＤを視聴する形態の他に、ＴＶにセット・トップ・ボックス（ＳＴＢ）を取り付けることで、宅内で簡単にＶＯＤサービスを受けられるような形態も出現している。このように、ＶＯＤのサービスを電話やインターネットの通信サービスと一体化して提供することで、より使い勝手の良いＶＯＤシステムの実現が図られている。
【０００３】
このようなＶＯＤシステムにおいて、ビデオ視聴者は、通常再生（標準速度再生）モードだけでなく、従来のビデオ機器（ＶＨＳ再生機器、ＤＶＤ再生機器、ＨＤＤレコーダなど）の標準機能である早送り再生や巻き戻し再生などの特殊再生モードで視聴したいという要求がある。これに対応するためには、ビデオ配信装置は、視聴者からの要求に応じた特殊再生用のビデオストリームを作成して配信する必要がある。
【０００４】
ＶＯＤシステムにおいて特殊再生を実現するためには、一般に、圧縮符号化した映像構成フレームのうち、フレーム内符号化をしているフレーム（以下、キーフレームと呼ぶ）が用いられる。特許文献１に記載の技術では、正確な任意倍速での高速再生を実現するために、端末装置が指定する再生速度を満足するキーフレーム読み出し間隔及びキーフレーム再生間隔を定めるストリーム制御手段を設けている。このストリーム制御手段は、ビットストリームのキーフレーム間隔を整数倍した値の中で、キーフレームのデータの送信が可能な最小キーフレーム再生間隔より大きく且つ最小の値をキーフレーム再生間隔として定め、キーフレーム再生間隔と端末装置が指定する再生速度との乗算値をキーフレーム読み出し間隔として定めるものである。
【０００５】
【特許文献１】特開平１０−３２８０９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
特許文献１に記載の技術は、ビデオコンテンツ（ビットストリーム）から読み出すキーフレームの時間間隔が一定であるという仮定の下で、倍速再生を行うためのキーフレーム読み出し（送信）間隔及びキーフレームの再生間隔を一意に均一な間隔で算出している。しかしながら、圧縮符号化されたビデオコンテンツでは、キーフレームが等間隔に現れない場合がある。このようなコンテンツを配信する場合、特許文献１に記載の技術を適用すると時間変動により見苦しい再生映像になる。
【０００７】
また、最小キーフレーム再生間隔を求める際に、ビデオストリームに含まれる全てのキーフレームのデータ長（ビット数）の平均値を用いているが、キーフレームはそれぞれデータ長が異なる。よって、最小キーフレーム再生間隔より大きい値にキーフレーム再生間隔を定めたとしても、許容される所定の送信ビットレートを瞬時的に越える場合が生じる。その場合、端末装置が備えるバッファがオーバーフローして、再生映像が中断、欠落することになる。
【０００８】
逆に、送信ビットレートでは余裕がありながら、再生間隔が一致しないためにキーフレームを送信しない場合もあり得る。その場合には、再生映像を構成するキーフレームが減少し、本来の映像品質で再生できないことになる。さらに特許文献１の技術では、整数の倍速値と非整数の倍速値とで、適用するアルゴリズムが異なり、処理が複雑となる。
【０００９】
本発明の目的は、キーフレームの間隔が不等間隔でキーフレームのデータ量が不均一であっても、許容される送信ビットレートを越えることなく、キーフレームを最大限利用して特殊再生を行うためのビデオ送信装置及びビデオ送信方法を提供することである。
【課題を解決するための手段】
【００１０】
本発明のビデオ送信装置は、ビデオ受信機からビデオコンテンツの特殊再生の要求を受信する再生制御コマンド受信部と、ビデオコンテンツを蓄積するメディア蓄積部と、メディア蓄積部の蓄積するビデオコンテンツの中の特殊再生に用いるキーフレームの情報を格納するキーフレーム管理テーブルと、メディア蓄積部からビデオコンテンツを読み出してビデオ受信機へ送信するストリーム送信処理部と、再生制御コマンド受信部が受信した特殊再生の要求に応じて、キーフレーム管理テーブルを参照して送信すべきキーフレームを順次選択し、ストリーム送信処理部に対して選択したキーフレームを読み出して送信させるよう制御する特殊再生制御処理部とを備える。該特殊再生制御処理部は、送信すべき各キーフレームの送信開始時刻と送信完了時刻を計算し、先行するキーフレームの送信完了時刻と後続するキーフレームの送信開始時刻とが重複するかどうかを判定し、重複する場合には後続するキーフレームの送信を中止し、重複しない場合には後続するキーフレームを上記送信開始時刻に送信するよう制御する。
【００１１】
ここに前記キーフレーム管理テーブルは、各キーフレームについての先頭パケット番号、後尾パケット番号及びタイムスタンプの情報を有する。前記特殊再生制御処理部は、各キーフレームの送信開始時刻については各キーフレームの先頭パケット番号を参照し、要求された特殊再生の速度に応じて送信開始時刻の間隔を伸縮して設定し、各キーフレームの送信完了時刻については各キーフレームの先頭パケット番号と後尾パケット番号を参照し、該キーフレームを所定のビットレートにて送信するのに要する時間を上記送信開始時刻に加算して設定する。
【００１２】
また本発明のビデオ送信方法は、ユーザからビデオコンテンツの特殊再生の要求を受けた場合、蓄積されたビデオコンテンツから特殊再生に用いるキーフレームを順次検索し、要求された特殊再生の条件に応じて各キーフレームの送信開始時刻と送信完了時刻を計算し、先行するキーフレームの送信完了時刻と後続するキーフレームの送信開始時刻とが重複するかどうかを判定し、重複する場合には後続するキーフレームの送信を中止し、重複しない場合には後続するキーフレームを上記送信開始時刻に送信する。
【発明の効果】
【００１３】
本発明によれば、特殊再生に用いるキーフレームが不等間隔でキーフレームのデータ量が不均一であっても、ビデオコンテンツを支障なく送信し、ユーザは良好な品質で特殊再生モードの視聴を行うことができる。
【発明を実施するための最良の形態】
【００１４】
以下、図面を参照しながら、本発明に係る実施の形態について説明する。
【実施例１】
【００１５】
図１は、本発明のビデオ配信装置を含むビデオ配信システム（ＶＯＤシステム）の一実施例を示す構成図である。本実施例では、ビデオ配信装置１は通信媒体３を介してＡＶコンテンツを配信し、ユーザは、ビデオ受信機２（ＴＶ、ＳＴＢ、ＰＣ、ＤＶＲなど）で受信し視聴するものである。ビデオ受信機２を複数台接続することで、複数のユーザに対してそれぞれ要求されたＡＶコンテンツを配信することができる。
【００１６】
ビデオ受信機２は、ユーザが視聴したいビデオ番組（ＡＶコンテンツ）と、再生制御条件（通常再生、早送り再生、巻き戻し再生、一時停止等）の指示をビデオ配信装置１に送る。ビデオ配信装置１は、ビデオ受信機２から配信指示を受け、指定されたビデオ番組のデータを配信する。特殊再生（早送りや巻き戻し）の指示を受けた場合には、再生条件に基づきビデオ番組データを再編成して配信する。ビデオ受信機から再生終了の指示を受けると、または所定のデータを全て配信完了すると、ビデオ番組の配信を終了する。通信媒体３は、光回線、ＣＡＴＶ、電話回線等で構成された有線媒体または無線媒体で、公衆通信ネットワークまたは専用通信ネットワークが相当する。そして、通信媒体３に接続された各装置は、所定の通信プロトコルに従ってＡＶコンテンツデータや制御コマンドの送受信を行う。
【００１７】
次に、ビデオ配信装置１及びビデオ受信機２の内部構成を、機能的な面から説明する。
【００１８】
ビデオ配信装置１には、再生制御コマンド受信部１１、メディア蓄積部１２、データベース１４、特殊再生制御処理部１６、ストリーム送信処理部１７を備える。
【００１９】
再生制御コマンド受信部１１は、通信媒体３に接続されているビデオ受信機２との通信を行う機能を持ち、ビデオ受信機２から送信される再生制御コマンドを受信する。受信した再生制御コマンドが通常再生や一時停止等の場合には、ストリーム送信処理部１７にコマンドを伝達する。受信した再生制御コマンドが特殊再生（早送り再生や巻き戻し再生）の場合には、特殊再生制御処理部１６にコマンドを伝達する。ここで再生制御コマンドの通信には、例えばＲＴＳＰ（Ｒｅａｌ  Ｔｉｍｅ  Ｓｔｒｅａｍｉｎｇ  Ｐｒｏｔｏｃｏｌ）の規格を用いる。
【００２０】
メディア蓄積部１２は、ビデオ受信機２へ配信するＡＶコンテンツ１３を蓄積している。ＡＶコンテンツ１３は例えばビデオ番組であり、映像、音声、字幕、文字スーパーなどの情報が多重化され、所定の方式で圧縮符号化処理されファイル形式で保存されている。そしてコンテンツ１３は、ストリーム送信処理部１７により再生に必要なフレームが読み出され、ストリームデータとしてビデオ受信機２へ配信される。データベース１４は、特殊再生を行う際に必要となるキーフレーム管理テーブル１５を保持している。キーフレーム管理テーブル１５では、メディア蓄積部１２の保持するコンテンツ１３について、特殊再生に用いるキーフレームの情報を格納している。
【００２１】
特殊再生制御処理部１６は、再生制御コマンド受信部１１から伝達された特殊再生コマンドに従って、配信するビデオ番組の送信すべきキーフレームを選択しその送信開始時刻を算出する。その際、データベース１４のキーフレーム管理テーブル１５を参照して、送信フレームの選択と送信開始時刻の算出を行う。ストリーム送信処理部１７は、再生制御コマンド受信部１１若しくは特殊再生制御処理部１６から伝達された再生制御情報に従い、コンテンツ１３から所定のビデオ番組データを読み出し、ストリームデータとして通信媒体３を介してビデオ受信機２への配信を行う。
【００２２】
ビデオ受信機２には、再生制御コマンド送信部２１、ユーザＩ／Ｆ処理部２２、デコード処理部２３、再生処理部２５、ストリーム受信部２４を備える。
【００２３】
再生制御コマンド送信部２１は、ユーザＩ／Ｆ処理部２２からビデオ番組再生に関する指示を受けると、ビデオ配信装置１に対し、再生開始要求等の再生制御コマンドを送信する。ユーザＩ／Ｆ処理部２２は、ユーザに対し、視聴する番組の選択画面や視聴中の再生操作画面を提供する。ユーザから番組選択や再生操作の指示入力を受けると、再生指示情報として再生制御コマンド送信部２１に伝達する。
【００２４】
ストリーム受信部２４は、ビデオ配信装置１から通信媒体３を介して配信されるストリームデータを受信する。その際、受信したストリームデータをバッファメモリに一時蓄積する。蓄積されたストリームデータは、デコード処理部２３によって順次取り出される。
【００２５】
デコード処理部２３は、受信したストリームデータをデコード処理し、映像情報や音声情報に変換して再生処理部２５に送る。その時、再生制御コマンド送信部２１から再生制御情報を取得し、当該ストリームを通常再生モードでデコード処理すべきか、若しくは特殊再生（早送り再生、巻き戻し再生）モードでデコード処理すべきかを判断する。通常再生の場合は、ストリームに含まれるタイムスタンプ情報を使用し、同期を取りながらデコード処理を行う。一方、特殊再生の場合は、タイムスタンプ情報を無視し、ストリーム受信部２４で受信する毎に順次デコード処理する。また、特殊再生の場合は、キーフレームのデータ以外の画像情報や音声情報が含まれていても、デコード処理せず破棄する。再生処理部２５は、デコード処理部２３でデコードされた映像情報や音声情報を、モニタやスピーカにて表示再生する。
【００２６】
上記したビデオ配信装置１とビデオ受信機２の機能は、次のようなハードウェア構成で実現可能である。
【００２７】
図２は、図１のビデオ配信装置１のハードウェア構成の一例を示す図である、ビデオ配信装置１は、ＣＰＵ（演算処理装置）１０１、主記憶装置１０２、通信制御装置１０３、外部記憶装置１０５を備え、これらはバス１０７を介して相互に接続する。
【００２８】
ＣＰＵ１０１は、主記憶装置１０２や外部記憶装置１０５に予め格納されているプログラムによって所定の動作を行う。主記憶装置１０２は、ワークエリアとして機能させたり必要なプログラムを格納するもので、ＲＡＭやＲＯＭなどによって実現する。通信制御装置１０３は、通信媒体３に接続される他の装置と情報（データ）を送受信するもので、モデム、ネットワークアダプタ、無線送受信装置などによって実現する。外部記憶装置１０５は、ビデオ配信装置１の制御プログラムや動作情報を保存するもので、半導体ディスク、ハードディスク（ＨＤＤ）、光ディスク等によって実現する。
【００２９】
図１の各機能ブロックとの対応は次の通りである。再生制御コマンド受信部１１、特殊再生制御処理部１６、ストリーム送信処理部１７の各プログラムは、主記憶装置１０２若しくは外部記憶装置１０５に格納され、ＣＰＵ１０１によって実行される。ビデオ受信機２へのストリーム配信とコマンド送受信は、通信制御装置１０３を用いて行う。メディア蓄積部１２は、外部記憶装置１０５によって実現され、データベース１４とキーフレーム管理テーブル１５は、外部記憶装置１０５に保持される。
【００３０】
図３は、図１のビデオ受信機２のハードウェア構成の一例を示す図である。ビデオ受信機２は、ＣＰＵ（演算処理装置）２０１、主記憶装置２０２、通信制御装置２０３、外部記憶装置２０５、入力装置２０６、出力装置２０７を備え、これらはバス２０８を介して相互に接続する。
【００３１】
ＣＰＵ２０１は、主記憶装置２０２や外部記憶装置２０５に予め格納されているプログラムによって所定の動作を行う。主記憶装置２０２は、ワークエリアとして機能させたり必要なプログラムを格納するもので、ＲＡＭやＲＯＭなどによって実現する。通信制御装置２０３は、通信媒体３に接続される装置と情報（データ）を送受信するもので、モデム、ネットワークアダプタ、無線送受信装置などによって実現する。外部記憶装置２０５は、ビデオ受信機２の制御プログラムや動作情報を保存するもので、半導体ディスク、ハードディスク（ＨＤＤ）、光ディスク等によって実現する。
【００３２】
入力装置２０６は、ビデオ受信機２に対してユーザの命令や操作を入力するもので、例えばＴＶ受信機で使用されるリモートコントローラや、ＰＣで使用されるキーボード、マウス等によって実現する。出力装置２０７は、ユーザの操作に応答するための情報を出力表示するもので、各種の映像出力装置（ブラウン管、ＣＲＴ、液晶ディスプレイ、ＰＤＰ、有機ＥＬ、プロジェクタ）や音声出力装置（スピーカ、ヘッドフォン）によって実現する。
【００３３】
図１の機能ブロックとの対応は次の通りである。再生制御コマンド送信部２１、ユーザＩ／Ｆ処理部２２、デコード処理部２３、ストリーム受信部２４の各プログラムは、主記憶装置２０２若しくは外部記憶装置２０５に格納され、ＣＰＵ２０１によって実行される。ビデオ配信装置１に対する再生制御コマンドの送信と、ビデオ配信装置１から配信されるストリームの受信は、通信制御装置２０３が行う。受信したストリームのデータを蓄積するバッファメモリは、主記憶装置２０２若しくは外部記憶装置２０５に格納されている。入力装置２０６は、ユーザから番組選択や再生操作の指示入力を受け付ける。出力装置２０７は、ユーザに対しビデオ番組選択画面や視聴中の再生操作画面を表示する。また配信されたコンテンツを視聴する再生処理部２５は、出力装置２０７によって実現される。なお、デコード処理部２３は、ソフトウェアの代わりに専用のハードウェアにより実現することもできる。その場合には、デコード処理の高速化を図ることができる。
【００３４】
なお、図２、図３に示したハードウェア構成は一例であり、これに限定されない。例えば、出力装置２０７は、テレビジョン等の外部装置で実現してもよい。この場合、ビデオ受信機２本体には別途Ｄ／Ａコンバータ等のテレビジョン信号生成装置を設け、ＡＶケーブルや同軸ケーブルで外部装置を接続すればよい。
【００３５】
次に、本実施例のビデオ配信システムにおいて、ビデオ配信装置１が特殊再生を行うためのコンテンツをどのように生成して配信するかについて説明する。特殊再生の場合は、コンテンツを構成するフレームのうち、フレーム内符号化を行っているキーフレームを使用する。
【００３６】
図４は、ビデオ配信装置１がデータベース１４の中に保持するキーフレーム管理テーブル１５の構成例を示す図である。
【００３７】
キーフレーム管理テーブル１５は、メディア蓄積部１２で保持する各コンテンツ１３について、これに含まれるキーフレームの位置情報等を記述したものである。記述内容としては、項目１５１はキーフレーム先頭パケット番号、項目１５２はキーフレーム後尾パケット番号、及び項目１５３はタイムスタンプを示す。なお、項目１５４は説明のためのもので、各キーフレームのデータサイズをパケット数で示した。各フレームのデータは所定バイト数のパケットの列として構成されている。キーフレーム先頭パケット番号１５１は、当該キーフレームの先頭パケットの番号でありコンテンツの先頭データからパケットを単位でカウントした番号を表す。キーフレーム後尾パケット番号１５２は、当該キーフレームの後尾パケットの番号を表す。先頭パケット番号１５１と後尾パケット番号１５２を管理することで、パケット列の中で当該キーフレームの位置を特定し検索することができる。タイムスタンプ１５３は、各キーフレームが通常再生時に再生すべき時刻情報を表すものであり、時刻情報によりキーフレームを検索する場合などに利用する。ここではタイムスタンプ１５３の単位をミリ秒としたが、ビデオ配信装置１の動作仕様に応じて、適宜単位を変更してもよい。各キーフレームのデータサイズ１５４は、先頭パケット番号１５１から後尾パケット番号１５２までに含まれるパケット数である。この例のように、本実施例で対象とする各キーフレームの間隔は不等間隔で、かつ各キーフレームのデータサイズは不均一のものとする。
【００３８】
ここで１パケットのデータサイズは、コンテンツの多重化方式により異なる。ＭＰＥＧ２システムのＴＳ（Ｔｒａｎｓｐｏｒｔ  Ｓｔｒｅａｍ）方式の場合には、ＴＳパケットの単位は１８８バイトである。ＭＰＥＧ２システムのＴＴＳ（Ｔｉｍｅ  ｓｔａｍｐ  Ｔｒａｎｓｐｏｒｔ  Ｓｔｒｅａｍ）方式の場合には、ＴＴＳパケットの単位は１９２バイトである。
【００３９】
また、タイムスタンプ情報は、ＴＳ方式の場合、ＰＣＲ（Ｐｒｏｇｒａｍ  Ｃｌｏｃｋ  Ｒｅｆｅｒｅｎｃｅ）、ＰＴＳ（Ｐｒｅｓｅｎｔａｔｉｏｎ  Ｔｉｍｅ  Ｓｔａｍｐ）、ＤＴＳ（Ｄｅｃｏｄｉｎｇ  Ｔｉｍｅ  Ｓｔａｍｐ）などを含む。
【００４０】
ビデオ配信装置１の特殊再生制御処理部１６は、図４のキーフレーム管理テーブル１５を参照し、送信すべきキーフレームの位置情報（先頭パケット番号１５１と後尾パケット番号１５２）及び送信開始時刻の情報をストリーム処理送信部１７に指示する。ストリーム処理送信部１７は、指定された位置情報の区間（先頭パケット番号から後尾パケット番号まで）に該当するパケットを、メディア蓄積部１２から読み出し、指定された送信開始時刻に送信する。なお、ストリームを送信するビットレートは、コンテンツごとに常に一定のレートとする。従って、あるコンテンツを早送り等の特殊再生モードで送信する場合と通常再生モードで送信する場合とは、同一のビットレートで送信することになる。
【００４１】
蓄積しているコンテンツは多重化処理されているため、送信するパケット列には、キーフレームの情報以外の音声情報や字幕情報などが含まれる場合がある。これに関して、ビデオ受信機２のデコード処理部２３は、特殊再生のデコード処理の場合、キーフレーム以外の情報は破棄するので、送信ストリームにキーフレーム情報以外の情報が含まれていても再生処理に支障はない。従って、以後の説明では、キーフレーム先頭パケット番号１５１からキーフレーム後尾パケット番号１５２までに位置するパケットは、全てキーフレームを構成するパケットと見なして扱う。
【００４２】
特殊再生の場合、各キーフレームを指定された送信時刻に送信する訳であるが、フレーム間の送信間隔が大きいと送信データが中断する時間が生じる。このような場合、ビデオ受信機２の仕様によってはビデオ配信にエラー発生ありとみなし、受信再生処理を中断してしまう恐れがある。その対策として、キーフレーム送信の合間にＮＵＬＬパケットを挿入して送信すれば、ビデオ受信機２の仕様に係わらず安定して受信再生することができる。
【００４３】
本実施例の特殊再生制御処理部１６は、指定されたコンテンツの特殊再生の対象になる各キーフレームについて、再生される順序に従い送信可能か否かを判定する。判定基準は、コンテンツごとに定められている所定の送信ビットレートを越えない条件とする。具体的には、先行するキーフレームの送信完了時刻と、後続するキーフレームの送信開始時刻とが重複するかどうかを判定する。なお、各キーフレームの予定される送信開始時刻及び送信完了時刻については、後述する計算により求める。
【００４４】
そして、後続するキーフレームの送信開始時刻が、先行するキーフレームの送信完了時刻よりも後に位置する場合（すなわち重複しない場合）には、後続するキーフレームを算出した時刻に送信する。もしも、後続するキーフレームの送信開始時刻が、先行するキーフレームの送信完了時刻よりも前に位置する場合（すなわち重複する場合）には、後続するキーフレームを送信せずに、さらに次のキーフレームについて送信可否を判定する。
【００４５】
図５は、上記したキーフレームの送信可否の判定を説明する図である。図５（ａ）は、通常再生におけるストリーム構成を示し、送信するストリームはキーフレーム（＃１、＃２、＃３）とそれに挟まれたそれ以外のフレーム（フレーム間圧縮したもの）の列からなる。横軸は時間軸を示し、キーフレームは、＃１、＃２、＃３の順に再生される。図５（ｂ）は、早送り再生時に送信するキーフレームの位置を示す。この例では、キーフレームを＃１、＃２、＃３の順に送信すべきものとする。各キーフレームの送信すべき時刻を計算し、キーフレーム＃１の送信開始時刻をｓ１、送信完了時刻をｅ１とする。同様にキーフレーム＃２，＃３の送信開始時刻をｓ２，ｓ３、送信完了時刻をｅ２，ｅ３とする。この例では、キーフレーム＃２とキーフレーム＃３の送信時間の一部が重複している。すなわち、後続するキーフレーム＃３の送信開始時刻ｓ３は、先行するキーフレーム＃２の送信完了時刻ｅ２よりも前に位置する。言い換えれば、キーフレーム＃３の先頭部データとキーフレーム＃２の後尾部データとが時間的に重なっており、所定の送信ビットレートでは送信できないことになる。このような場合には、図５（ｃ）のように、後続するキーフレーム＃３の送信を中止して、そのフレームを間引いて送信するようにする。
【００４６】
図６は、本実施例のビデオ配信装置１における配信処理の流れを、キーフレームの送信時刻の計算と送信可否判定を含めて説明するフローチャートである。
【００４７】
ステップＳ６０１で、ビデオ配信装置１の再生制御コマンド受信部１１は、ビデオ受信機２の再生制御コマンド送信部２１から、コンテンツ１３に係る倍速値Ｔの早送り再生の要求を受信したとする。再生制御コマンド受信部１１は、再生制御コマンドが早送り再生の要求である場合は、特殊再生制御処理部１６に受信した再生制御コマンドの情報を伝達する。
【００４８】
ステップＳ６０２では、特殊再生制御処理部１６は再生制御コマンド（Ｔ倍速早送り再生の要求）を受信すると、図４のキーフレーム管理テーブル１５を参照して送信する最初のキーフレーム（＃１）を検索する。また、キーフレーム（＃１）の位置情報である先頭パケット番号１５１と後尾パケット番号１５２を取得する。ここでは、先頭パケット番号をＡとする。そして取得した位置情報と送信開始時刻をストリーム送信処理部１７へ伝達する。送信開始時刻は要求されたコンテンツの送信開始時刻であり、ここでは便宜上、時刻＝０で開始するものとする。ストリーム送信処理部１７は、メディア蓄積部１２から指示された位置情報に対応するキーフレーム（＃１）のデータを読み出し、ストリームデータとして送信する。
【００４９】
ビデオ受信機２では、上記キーフレーム（＃１）をストリーム受信部２４によって受信し、デコード処理部２３及び再生処理部２５によって再生処理を行う。その際デコード処理部２３は、再生制御コマンド送信部２１から早送り再生を実行する旨の制御情報を受ける。以後の処理においては、タイムスタンプ情報を無視し、キーフレームのみをデコード処理することにより、早送り再生の特殊再生映像を再生することができる。
【００５０】
ステップＳ６０３では、上記キーフレーム（＃１）の送信完了時刻Ｙを計算する。キーフレームのデータ量は、先頭パケット番号と後尾パケット番号との差からそのパケット数を求める。また、１パケットの容量（パケットサイズ）は固定値であるので（ＴＳパケットは１８８バイト、ＴＴＳパケットは１９２バイト）、これを掛けてキーフレームのデータ量（ビット数）を求める。送信開始時刻を０とし、キーフレーム（＃１）を一定のビットレートで送信する場合、送信完了時刻Ｙは、
Ｙ＝（キーフレームのビット数）／（送信ビットレート）      （１）
によって計算する。ここに送信ビットレートは、コンテンツ１３に応じて一定値とする。
【００５１】
ステップＳ６０４では、キーフレーム管理テーブル１５を参照して、次に送信すべきキーフレーム（＃２）を検索する。また、次のキーフレーム（＃２）の先頭パケット番号を参照し、前に送信したキーフレーム（＃１）の先頭パケット番号Ａからの間隔をパケット数として求める。これにパケットサイズを掛ければ、パケット番号Ａからの間隔をビット数Ｘで算出できる。
【００５２】
ステップＳ６０５では、キーフレーム（＃２）の送信開始時刻τを計算する。送信開始時刻τは、前の送信キーフレーム（＃１）の送信開始時刻（ここでは時刻＝０）に対し、キーフレーム（＃２）までの間隔（すなわちビット数Ｘを送信するのに要する時間）だけ遅らせる。ただし、特殊再生の条件に応じてその間隔を伸縮する。この場合は、Ｔ倍速の早送り再生を実現するため通常再生に比べ送信間隔を１／Ｔに縮小する。よって、
送信開始時刻τ＝｛Ｘ／Ｔ／（送信ビットレート）｝      （２）
によって計算する。
【００５３】
ステップＳ６０６では、式（１）で求めた値Ｙと式（２）で求めた値τとを比較する。比較の結果、τ≧Ｙであれば、キーフレーム（＃２）の送信開始時刻τが、キーフレーム（＃１）の送信完了時刻Ｙよりも後に位置する（すなわち時間的に重複しない）ことになる。この場合にはステップＳ６０７へ進み、キーフレーム（＃２）を送信する。
【００５４】
ステップＳ６０７では、キーフレーム（＃２）の送信完了時刻を計算して送信完了時刻Ｙを更新する。送信完了時刻Ｙは、キーフレーム（＃２）について上記（１）式を用いて計算した値（送信時間）を、上記（２）式で求めた送信開始時刻τに加算して、
Ｙ＝τ＋（キーフレームのビット数）／（送信ビットレート）      （３）
として求める。
【００５５】
ステップＳ６０８では、キーフレーム（＃２）の先頭パケット番号、後尾パケット番号、送信開始時刻τをストリーム送信処理部１７に伝達する。ストリーム送信処理部１７は、指示された位置情報に従いキーフレーム（＃２）のデータをメディア蓄積部１２から読み出し、指定された送信開始時刻τにストリームデータとして送信する。送信後、ステップＳ６０９へ進む。
【００５６】
上記ステップＳ６０６で比較の結果、τ＜Ｙの場合には、キーフレーム（＃２）の送信開始時刻τが、キーフレーム（＃１）の送信完了時刻Ｙよりも前に位置する（すなわち時間的に重複する）ことになる。この場合にはキーフレーム（＃２）を送信せずに、ステップＳ６０９へ進む。
【００５７】
ステップＳ６０９では、特殊再生終了要求の有無を判定する。特殊再生終了要求は、再生制御コマンド受信部１１がビデオ受信機２から受信する、現在送信中であるコンテンツの特殊再生を終了するコマンドである。終了要求がない場合には、上記ステップＳ６０４の処理に戻る。そして、次のキーフレーム（＃３）について送信の可否を判定し、可であればキーフレーム（＃３）送信する。以後、特殊再生終了の要求を受けるまで繰り返し行う。
【００５８】
ステップＳ６０９で特殊再生終了の要求を受けた場合には、ステップＳ６１０で特殊再生に係る処理を終了する。再生制御コマンド受信部１１は、特殊再生制御処理部１６にその旨を指示し、特殊再生制御処理部１６は、現在の特殊再生処理を終了する。そして再生制御コマンド受信部１１は、ビデオ受信機２の再生制御コマンド送信部２１に対し、当該特殊再生処理の終了が正常に終わったことを示す制御情報を送信する。この制御情報を受信した再生制御コマンド送信部２１は、デコード処理部２３に対し特殊再生に係るデコード処理の終了を指示し、通常再生に係るデコード処理に切り替える。
【００５９】
上記説明では、特殊再生として早送り再生の場合の処理について述べたが、巻き戻し再生の場合においても同様の手順で処理が可能である。巻き戻し再生の場合には、ステップＳ６０２及びステップＳ６０４におけるキーフレームの検索を時間軸で逆方向（例えばキーフレーム＃３→＃２→＃１の順）に行うとともに、各キーフレームの先頭パケットと後尾パケットの位置情報を入れ替えて、早送り再生の場合と逆方向に設定する。この変更により、上記フローチャートに従い巻き戻し再生が実現できる。
【００６０】
以上のように本実施例では、特殊再生で用いるキーフレームについて、各キーフレームごとに送信する開始時刻と完了時刻を計算する。そして、連続するキーフレームを送信してもフレームが時間的に重複することがないかどうかを判定し、重複する場合には後続のキーフレームの送信を中止するようにした。これにより、各キーフレームの送信間隔が不等間隔であっても送信時刻を正しく対応させることができ、かつ任意の倍速値に対する特殊再生が容易に実現できる。また、各キーフレームのデータサイズが不均一であっても、所定の送信ビットレートを越えることなく送信することができる。さらに、送信するキーフレームをフレーム毎に送信可否を判定するので、コンテンツを構成するキーフレームを最大限利用して送信し、送信可能なフレームを間引くことがないので、フレームレートが高く良質な再生映像を実現することができる。
【実施例２】
【００６１】
前記実施例１でのキーフレームの送信開始時刻及び送信完了時刻の算出にあたっては、ビデオ受信機２のストリーム受信部２４がキーフレームの先頭パケットを受信し、デコード処理部２３が受信したキーフレームのストリームを直ちにデコード処理するものと仮定した。この場合には、各フレームのデコード処理のタイミングは送信のタイミングと一致しているので問題ない。受信後、一定時間後にデコード処理を開始する場合でも、各フレームの処理時刻が一様にシフトするだけでありフレーム間のタイミングがずれることはない。
【００６２】
これに対し本実施例２では、ビデオ受信機２が受信したデータを一旦バッファメモリに蓄積し、１キーフレーム分のデータが蓄積された時点でデコード処理を開始する場合を想定する。この場合には、デコード処理のタイミングは必ずしも送信タイミングに一致しない。デコード処理を正しいタイミングで行わせるためには、キーフレームのデータ量に応じて、送信開始時刻を調整する必要がある。
【００６３】
図７は、ビデオ受信機２のストリーム受信部２４が備えるバッファの占有量の時間変化を示す図である。図７において、所定のビットレートで送信されるストリームデータは、バッファに順次蓄積される。１キーフレーム分のデータが蓄積された時点で（すなわち後尾パケットを受信した時点で）、デコード処理部２３はバッファから上記データを取り出し、デコード処理を開始する。引き続き、再生処理部２５は描画処理を実行する。この処理方法の場合には、各キーフレームのデータ量が不均一であるとそれぞれの蓄積時間が不均一になり、各キーフレームのデコード処理（描画処理）の開始タイミングがずれることになる。本実施例２では、このようなデコード処理のタイミングずれを解消するものである。
【００６４】
実施例１においては、キーフレームの先頭パケットを送信時刻決定の基準としていたが、本実施例２においては、キーフレームの後尾パケットを送信時刻決定の基準にする。すなわち、キーフレームの後尾パケットの送信時刻が正しくなるように先頭パケットの送信時刻をシフトさせて送信する。シフト量は、先行するキーフレームの送信時間と後続するキーフレームの送信時間の差分とすることで、各キーフレームの蓄積時間にばらつきがあっても、正しいタイミングでデコード処理（描画処理）することができる。キーフレームの後尾パケットを受信して一定時間遅延させてデコード処理する場合でも同様である。また、デコード処理部２３がストリーム受信部２４から順次画像データを取り出してデコード処理し、１キーフレーム分のデコード処理が終了したら再生処理部２５に描画処理の指示をするという構成であっても、本実施例２が同様に適用できる。
【００６５】
図８は、本実施例における配信処理の流れを、キーフレームの送信時刻の計算と送信可否判定を含めて説明するフローチャートである。
【００６６】
ステップＳ８０１で、ビデオ配信装置１の再生制御コマンド受信部１１は、ビデオ受信機２からコンテンツ１３に係る倍速値Ｔの早送り再生の要求を受信したとする。
【００６７】
ステップＳ８０２では、特殊再生制御処理部１６は上記再生要求を受信すると、図４のキーフレーム管理テーブル１５を参照して送信する最初のキーフレーム（＃１）を検索する。また、キーフレーム（＃１）の位置情報である先頭パケット番号１５１と後尾パケット番号１５２を取得する。ここでは、先頭パケット番号をＡとする。そして取得した位置情報と送信開始時刻をストリーム送信処理部１７へ伝達する。送信開始時刻は、ここでは時刻＝０で開始するものとする。ストリーム送信処理部１７は、メディア蓄積部１２から指示された位置情報に対応するキーフレーム（＃１）のデータを読み出し、ストリームデータとして送信する。
【００６８】
ステップＳ８０３では、送信する最初のキーフレーム（＃１）のデータサイズ（ビット数）Ｚを求める。この値は、先頭パケット番号１５１から後尾パケット番号１５２までのパケット数と１パケットの容量（パケットサイズ）から算出する。
【００６９】
ステップＳ８０４では、上記キーフレーム（＃１）の送信完了時刻Ｙを計算する。ここでは送信開始時刻を０としたので、送信完了時刻Ｙの値は、
Ｙ＝（キーフレームのビット数Ｚ）／（送信ビットレート）      （４）
によって計算する。この場合も送信ビットレートは一定とする。
【００７０】
ステップＳ８０５では、キーフレーム管理テーブル１５を参照して、次に送信すべきキーフレーム（＃２）を検索する。また、次のキーフレーム（＃２）の先頭パケット番号を取得し、先に送信したキーフレーム（＃１）の先頭パケット番号Ａからの間隔をパケット数として求める。さらにパケットサイズを掛けて、パケット番号Ａからの間隔をビット数Ｘで算出する。
【００７１】
ステップＳ８０６では、キーフレーム（＃２）のデータサイズ（ビット数）Ｖを求める。
【００７２】
ステップＳ８０７で、キーフレーム（＃２）の送信開始時刻τを求める。ここでは、後尾パケットが正しいタイミングで送信されるように送信開始時刻を調整するもので、送信開始時刻τ’は、
τ’＝（Ｘ／Ｔ−Ｖ＋Ｚ）／（送信ビットレート）      （５）
によって計算する。（５）式は、前記実施例１の送信開始時刻τを求める（２）式において、送信するビット数を（Ｖ−Ｚ）だけ減じている。つまり、キーフレーム＃１と＃２の間ではビット数がＺからＶに変化している。その結果、後尾パケットの送信時刻は本来の位置よりも（Ｖ−Ｚ）相当分だけずれてしまうので、その差分だけ先頭パケットの送信開始時刻を調整したものである。言い換えれば、先行するキーフレーム＃１の送信時間に対する当該キーフレーム＃２の送信時間の増分だけ当該キーフレーム＃２の送信開始時刻早めるように調整する。
【００７３】
ステップＳ８０８では、（４）式で求めた値Ｙと（５）式で求めた値τ’とを比較する。比較の結果、τ’≧Ｙであれば、キーフレーム（＃２）の送信開始時刻τ’が、キーフレーム（＃１）の送信完了時刻Ｙよりも後に位置する（すなわち時間的に重複しない）ことになる。この場合にはステップＳ８０９へ進み、キーフレーム（＃２）を送信する。
【００７４】
ステップＳ８０９では、キーフレーム（＃２）の送信完了時刻を計算して送信完了時刻Ｙを更新する。送信完了時刻Ｙは、キーフレーム（＃２）について上記（４）式を用いて計算した値（送信時間）を、上記（５）式で求めた送信開始時刻τ’に加算して、
Ｙ＝τ’＋Ｖ／（送信ビットレート）      （６）
として求める。
【００７５】
ステップＳ８１０では、キーフレーム（＃２）の先頭パケット番号、後尾パケット番号、送信開始時刻τ’をストリーム送信処理部１７に伝達する。ストリーム送信処理部１７は、指示された位置情報に対応するキーフレーム（＃２）のデータをメディア蓄積部１２から読み出し、指定された送信開始時刻τ’にストリームデータとして送信する。送信後、ステップＳ８１１へ進む。
【００７６】
上記ステップＳ８０８で比較の結果、τ’＜Ｙの場合には、キーフレーム（＃２）の送信開始時刻τ’が、キーフレーム（＃１）の送信完了時刻Ｙよりも前に位置する（すなわち時間的に重複する）ことになる。この場合にはキーフレーム（＃２）を送信せずに、ステップＳ８１１へ進む。
【００７７】
ステップＳ８１１では、特殊再生終了要求の有無を判定する。終了要求がない場合には、上記ステップＳ８０５の処理に戻る。そして、次のキーフレーム（＃３）について送信の可否を判定し、可であればキーフレーム（＃３）送信する。以後、特殊再生終了の要求を受けるまで繰り返し行う。ステップＳ８１１で特殊再生終了の要求を受けた場合には、ステップＳ８１２で特殊再生に係る処理を終了する。
【００７８】
上記説明では、特殊再生として早送り再生の場合の処理について述べたが、巻き戻し再生の場合においても同様の手順で処理が可能である。巻き戻し再生の場合には、キーフレームの検索を時間軸で逆方向に行うとともに、各キーフレームの先頭パケットと後尾パケットの位置情報を入れ替えて、早送り再生の場合と逆方向に設定する。この変更により、上記フローチャートに従い巻き戻し再生が実現できる。
【００７９】
本実施例２では、ビデオ受信機２が受信したデータを一旦バッファに蓄積し、１キーフレーム分のデータが蓄積された時点でデコード処理を開始する場合を説明した。この場合においては、デコード処理のタイミングが本来のタイミングで行えるようキーフレームの送信時刻を調整して送信するので、デコード処理に何ら支障は生じない。
【００８０】
また、実施例１と同様に、送信する各キーフレームが時間的に重複することがないかどうかを判定し、重複する場合には後続のキーフレームの送信を中止するようにした。これにより、所定の送信ビットレートを越えることなく送信することができる。また、コンテンツを構成するキーフレームを最大限利用して送信するので、フレームレートが高く良質な再生映像を実現することができる。
【００８１】
上記した実施例１および実施例２では、ビデオオンデマンド（ＶＯＤ）を例とするビデオ配信システムを説明したが、本発明はこれに限らず、家庭内のホームサーバーを用いたビデオ送信システムにおいても同様に適用できることは言うまでもない。
【図面の簡単な説明】
【００８２】
【図１】本発明のビデオ配信装置を含むビデオ配信システムの一実施例を示す構成図。
【図２】ビデオ配信装置のハードウェア構成の一例を示す図。
【図３】ビデオ受信機のハードウェア構成の一例を示す図。
【図４】ビデオ配信装置が保持するキーフレーム管理テーブルの構成例を示す図。
【図５】キーフレームの送信可否の判定を説明する図。
【図６】実施例１における配信処理の流れを説明するフローチャート。
【図７】ビデオ受信機が備えるバッファの占有量の時間変化を示す図。
【図８】実施例２における配信処理の流れを説明するフローチャート。
【符号の説明】
【００８３】
１…ビデオ配信装置、２…ビデオ受信機、３…通信媒体、１１…再生制御コマンド受信部、２１…再生制御コマンド送信部、１２…メディア蓄積部、１３…コンテンツ、１４…データベース、１５…キーフレーム管理テーブル、１６…特殊再生制御処理部、１７…ストリーム送信処理部、２２…ユーザＩ／Ｆ処理部、２３…デコード処理部、２４…ストリーム受信部、２５…再生処理部、１５１…キーフレーム先頭パケット番号、１５２…キーフレーム後尾パケット番号、１５３…タイムスタンプ。
【図１】
2008113301.tif 000003
【図２】
2008113301.tif 000004
【図３】
2008113301.tif 000005
【図４】
2008113301.tif 000006
【図５】
2008113301.tif 000007
【図６】
2008113301.tif 000008
【図７】
2008113301.tif 000009
【図８】
2008113301.tif 000010