(57)【要約】【課題】バッファのアンダーフローやオーバーフローの発生を回避し、ビデオやオーディオなどのストリームデータの品質を劣化させることなく再生できるストリームデータ受信再生装置を提供する。【解決手段】本発明に拠るストリームデータ受信再生装置は、受信したストリームデータに含まれる符号化データの各々を順次蓄積するバッファと、前記バッファに蓄積されている符号化データを読み出し間隔をもって順次読み出してこれらを映像音声データに復号する復号部と、前記映像音声データを再生出力する再生出力部とに加えて、所定周期毎に当該周期内における映像音声データの時系列的変化量を算出して当該時系列的変化量と所定の閾値とを比較するデータ変化検出部と、時系列的変化量が前記所定の閾値を下回った場合にバッファ内のデータ残量に基づいて読出間隔を変更するデータ読出し速度制御部とを含む。【選択図】図１
2008211331.tif 000002
【特許請求の範囲】
【請求項１】
通信ネットワークからストリームデータを受信するデータ受信部と、
前記データ受信部が受信したストリームデータに含まれる符号化データの各々を順次蓄積するバッファと、
前記バッファに蓄積されている符号化データの各々を読出間隔をもって順次読み出してこれらを映像音声データに復号する復号部と、
前記映像音声データを再生出力する再生出力部と、を含むストリームデータ受信再生装置であって、
所定周期毎に当該周期内における前記映像音声データの時系列的変化量を算出して当該時系列的変化量と所定の閾値とを比較するデータ変化検出部と、
前記時系列的変化量が前記所定の閾値を下回った場合に前記バッファ内のデータ残量に基づいて前記読出間隔を変更するデータ読出し速度制御部と、を含むことを特徴とするストリームデータ受信再生装置。
【請求項２】
前記データ変化検出部は前記時系列的変化量を前記周期内に含まれる複数の映像音声データの内の少なくとも２つの差分に基づいて算出することを特徴とする請求項１に記載のストリームデータ受信再生装置。
【請求項３】
通信ネットワークからストリームデータを受信するデータ受信部と、
前記データ受信部が受信したストリームデータに含まれる符号化データの各々を順次蓄積するバッファと、
前記バッファに蓄積されている符号化データの各々を読出間隔をもって順次読み出してこれらを映像音声データに復号する復号部と、
前記映像音声データを再生出力する再生出力部と、を含むストリームデータ受信再生装置であって、
前記符号化データの各々に含まれる属性データを順次取り出す属性データ取出し部と、
前記属性データ取出し部によって順次取り出された時系列的に連続若しくは近接する属性データ間の差異を検出する属性データ変化検出部と、
前記属性データの差異が検出された場合に前記バッファ内のデータ残量に基づいて前記読出間隔を変更するデータ読出し速度制御部と、を含むことを特徴とするストリームデータ受信再生装置。
【請求項４】
前記属性データは前記ストリームデータに含まれる少なくとも１つの符号化パラメータからなることを特徴とする請求項３に記載のストリームデータ受信再生装置。
【請求項５】
前記データ読出し速度制御部は、所定周期毎に当該周期内における前記バッファ内のデータ残量の最小値を検出して当該最小値が予め定められた所定値よりも大きい場合に前記復号部の読出間隔をその現在値よりも短縮することを特徴とする請求項1または３に記載のストリームデータ受信再生装置。
【請求項６】
前記データ読出し速度制御部は、所定周期毎に当該周期内における前記バッファ内のデータ残量の最大値を検出して当該最大値が予め定められた所定値よりも小さい場合に前記復号部の読出間隔をその現在値よりも伸長することを特徴とする請求項1または３に記載のストリームデータ受信再生装置。
【請求項７】
前記ストリームデータは互いに差分の少ない一連の符号化データ及び／若しくは少なくとも２つの属性データを含むことを特徴とする請求項1または３に記載のストリームデータ受信再生装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は通信ネットワークを介してビデオやオーディオなどのストリームデータを受信し、これをストリーミング再生するストリームデータ受信再生装置に関する。
【背景技術】
【０００２】
通信ネットワークを介してビデオやオーディオなどのストリームデータを受信して再生する装置は通常、受信したストリームデータを一時的にバッファに蓄積する。このとき、バッファのオーバーフローやアンダーフローが生じる場合がある。例えば通信ネットワークにおけるストリームデータの伝送時間の揺らぎ（ジッタ）などに起因して、受信再生装置におけるストリームデータの受信タイミングが変動した場合などにバッファのオーバーフローやアンダーフローが生じる。これらが生じた場合、ストリームデータの再生遅延が増加するなどして、再生されるビデオやオーディオの品質が劣化するという問題点がある。
【０００３】
特許文献１に開示されるストリーミング再生方法は、通信ネットワークから受信したストリームデータをバッファに蓄積するが、ストリームデータの再生を開始するのに最低限必要なストリームデータの蓄積量を再生開始条件の値として定めておき、蓄積量が再生開始条件の値以上になった場合にストリーミングデータの再生を開始する。更に当該ストリーミング再生方法はストリームデータの再生中にバッファのアンダーフローが発生した場合に再生開始条件の値を増加させる一方、再生中に受信バッファのオーバーフローが発生した場合に当該再生開始条件の値を減少させる。すなわち、当該ストリーミング再生方法はバッファのアンダーフローやオーバーフローが発生する度に再生開始条件を変更することを特徴としている。
【特許文献１】特開２００２−３３０１３６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に開示されるストリーミング再生方法は、バッファのアンダーフローやオーバーフローの発生を検出した後に再生開始条件を更新するので、当該アンダーフローやオーバーフローの発生を検出した時点において、ビデオやオーディオなどのストリームデータの再生品質が一時的に劣化するという問題点があった。
【０００５】
本発明は、上記した如き問題点に鑑みてなされたものであって、バッファのアンダーフローやオーバーフローの発生を回避し、ビデオやオーディオなどのストリームデータの品質を劣化させることなく再生できるストリームデータ受信再生装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明によるストリームデータ受信再生装置は、通信ネットワークからストリームデータを受信するデータ受信部と、前記データ受信部が受信したストリームデータに含まれる符号化データの各々を順次蓄積するバッファと、前記バッファに蓄積されている符号化データの各々を読出間隔をもって順次読み出してこれらを映像音声データに復号する復号部と、前記映像音声データを再生出力する再生出力部と、を含むストリームデータ受信再生装置であって、所定周期毎に当該周期内における前記映像音声データの時系列的変化量を算出して当該時系列的変化量と所定の閾値とを比較するデータ変化検出部と、前記時系列的変化量が前記所定の閾値を下回った場合に前記バッファ内のデータ残量に基づいて前記読出間隔を変更するデータ読出し速度制御部と、を含むことを特徴とする。
【０００７】
また、本発明によるストリームデータ受信再生装置は、通信ネットワークからストリームデータを受信するデータ受信部と、前記データ受信部が受信したストリームデータに含まれる符号化データの各々を順次蓄積するバッファと、前記バッファに蓄積されている符号化データの各々を読出間隔をもって順次読み出してこれらを映像音声データに復号する復号部と、前記映像音声データを再生出力する再生出力部と、を含むストリームデータ受信再生装置であって、前記符号化データの各々に含まれる属性データを順次取り出す属性データ取出し部と、前記属性データ取出し部によって順次取り出された時系列的に連続若しくは近接する属性データ間の差異を検出する属性データ変化検出部と、前記属性データの差異が検出された場合に前記バッファ内のデータ残量に基づいて前記読出間隔を変更するデータ読出し速度制御部と、を含むことを特徴とする。
【発明を実施するための最良の形態】
【０００８】
以下、本発明に係る実施例について添付の図面を参照しつつ詳細に説明する。
【実施例１】
【０００９】
図１は本発明によるストリームデータ受信再生装置３をデータ送信装置１、通信ネットワーク２及び表示部１０と共に表すブロック図である。
【００１０】
データ送信装置１は通信ネットワーク２へストリームデータを送信する。ここでのストリームデータは例えばビデオやオーディオなどである。通信ネットワーク２は例えばインターネットなどである。また、通信ネットワーク２の通信状況や通信環境によってはストリームデータの伝送時間に揺らぎが生じる場合がある。
【００１１】
ストリームデータ受信再生装置３は、データ受信部４と、バッファ５と、復号部６と、データ変化検出部７と、データ読出し速度制御部８と、再生出力部９とを含む。
【００１２】
データ受信部４はデータ送信装置１が送信したストリームデータを通信ネットワーク２から受信する。
【００１３】
バッファ５はデータ受信部４が受信したストリームデータに含まれる符号化データの各々を順次、蓄積する。通信ネットワーク２においてストリームデータの伝送時間に揺らぎが生じた場合、蓄積する符号化データの量が一時的に変動し過大あるいは過小になる場合がある。
【００１４】
復号部６はバッファ５に蓄積されている符号化データの各々を読出間隔をもって順次、読み出して、これを映像音声データに復号する。平常時の読出間隔は通常、復号部６に予め設定されている。
【００１５】
データ変化検出部７は所定周期Δｓ毎に当該周期内における映像音声データの時系列的変化量を算出する。データ変化検出部７は例えば時系列的変化量を所定周期Δｓ内に含まれる複数の映像音声データの内の少なくとも２つの差分に基づいて算出する。ここでの差分とは例えば、所定周期Δｓ内に含まれる時系列的に最初の映像音声データと最後の映像音声データとの差分などである。差分を取る対象はこれら最初及び最後以外の映像音声データでも良く、時系列的に連続している映像音声データ間の差分でも良い。また、複数の映像音声データの差分を平均化するなどして時系列的変化量を算出しても良い。通常、時系列的変化量が小さければ、再生出力されるビデオやオーディオの時系列的変化量が小さい。これとは反対に通常、時系列的変化量が大きければ、再生出力されるビデオやオーディオの時系列的変化量が大きい。
【００１６】
また、データ変化検出部７は算出した時系列的変化量と所定の閾値ＶＡとを比較する。閾値ＶＡは通常、映像音声データの復号速度が変化しても再生出力される映像や音声の品質が劣化したと視聴者に認知されない程度の時系列的変化量を目安としてデータ変化検出部７に予め設定される。データ変化検出部７は算出した時系列的変化量が閾値ＶＡを下回った場合に制御タイミング信号を送信するなどしてデータ読出し速度制御部８にその旨通知する。
【００１７】
データ読出し速度制御部８は時系列的変化量が所定の閾値ＶＡを下回った場合にバッファ５内のデータ残量に基づいて復号部６の読出間隔を変更する。ここでのデータ残量とは、バッファ５に蓄積されたデータ量から復号部６によってバッファ５から読み出されたデータ量を差し引いた量である。通常、時系列的変化量が閾値ＶＡを下回るのは、再生出力される映像や音声の時系列的変化が小さいときである。
【００１８】
データ読出し速度制御部８は時系列的変化量が閾値ＶＡを下回り、かつ、所定周期Δｔ毎に当該所定周期Δｔ内におけるバッファ５内のデータ残量の最小値ｍ１を検出して当該最小値ｍ１が予め定められた所定値ＶＢよりも大きい場合に復号部６の読出間隔をその現在値よりも短縮する。すなわち、現状に比較して短期間に多くの符号化データが読み出される。これにより、通信ネットワーク２におけるストリームデータの伝送時間揺らぎなどに起因してバッファ５内のデータ残量が過大になった場合に、バッファ５内のデータ残量を減少させることができる。
【００１９】
また、データ読出し速度制御部８は時系列的変化量が所定の閾値ＶＡを下回り、かつ、所定周期Δｔ毎に当該所定周期Δｔ内におけるバッファ５内のデータ残量の最大値ｍ２を検出して当該最大値ｍ２が予め定められた所定値ＶＤよりも小さい場合に復号部６の読出間隔をその現在値よりも伸長する。すなわち、現状に比較して短期間に読み出される符号化データの量が減少する。これにより、通信ネットワーク２におけるストリームの伝送時間揺らぎなどに起因してバッファ５内のデータ残量が過小になった場合に、バッファ５内のデータ残量を増加させることができる。
【００２０】
再生出力部９は復号部６による復号によって得られた映像音声データを所定の再生タイミングで再生出力する。ここでの再生タイミングとは例えばビデオであれば３３ｍ秒周期などである。表示部１０は再生出力部９によって再生出力された映像音声データを表示する。
【００２１】
図２はデータ読出し速度制御部８が所定周期Δｔ毎に行う、バッファ５内のデータ残量を減少させる場合の処理ルーチンの一例を表すフローチャートである。以下に図２を参照しつつ、データ読出し速度制御部８の処理を説明する。なお、データ読出し速度制御部８が処理を行うのと併行して、データ変化検出部７は所定周期Δｓ毎に当該所定周期Δｓ内における映像音声データの時系列的変化量を算出して当該時系列的変化量と閾値ＶＡとを比較している。
【００２２】
現在、データ受信部４がストリームデータを受信しており、バッファ５はデータ受信部４が受信したストリームデータに含まれる符号化データの各々を順次、蓄積しているものとする。また、復号部６はバッファ５に蓄積されている符号化データを読出間隔をもって順次、読み出して、これらを映像音声データに復号しているものとする。すなわち、バッファ５に符号化データが順次、蓄積されるのに併行して、これら蓄積された符号化データがバッファ５から復号部６によって順次、読み出されている。バッファ５に蓄積された符号化データの量よりも読み出された符号化データの量が少ない場合、バッファ５には符号化データが残存している。
【００２３】
データ読出し速度制御部８は所定周期Δｔ毎に以下の処理を行う。データ読出し速度制御部８は所定周期Δｔ内におけるバッファ５内のデータ残量の最小値ｍ１を検出する。データ読出し速度制御部８は最小値ｍ１が予め定められた所定値ＶＢよりも大きく、かつ、データ変化検出部７によって検出された映像音声データの時系列的変化量３１〜３６の各々が閾値ＶＡを下回った場合に（Ｓ２１）、復号部６の読出間隔を現在値よりも短縮する（Ｓ２２）。これによりバッファ５から短期間に多くの符号化データが読み出され、バッファ５内のデータ残量は現状に比較して短時間で減少する。バッファ５内のデータ残量が予め定められた所定値ＶＣよりも小さくなった場合（Ｓ２３）、データ読出し速度制御部８は、復号部６の読出間隔を平常時の間隔に戻す（Ｓ２４）。
【００２４】
図３は上記処理によるバッファ５内のデータ残量の減少変化の一例を表すタイムチャート図である。同図中に示される３つのタイムチャートを上から順に説明する。
【００２５】
上段のタイムチャートはデータ変化検出部７によって算出された映像音声データの時系列的変化量の推移を表す。横軸ｘは時間経過を、縦軸ｙは映像音声データの時系列的変化量をそれぞれ表す。データ変化検出部７は所定周期Δｓ毎に映像音声データの時系列的変化量３１〜３６の各々を算出して、当該算出した時系列的変化量３１〜３６の各々と所定の閾値ＶＡとを比較する。同図中においては時刻ｔ１〜ｔ３、ｔ３〜ｔ４、ｔ４〜ｔ６、ｔ６〜ｔ７及びｔ７〜ｔ８の各々が所定周期Δｓに相当する。なお、データ変化検出部７は時刻ｔ１以前にも所定周期Δｓ毎に映像音声データの時系列的変化量を算出している。同図中においては時系列的変化量３１、３２、３５及び３６が閾値ＶＡを上回っており、時系列的変化量３３及び３４が閾値ＶＡを下回っている。
【００２６】
中段のタイムチャートは、データ変化検出部７が時系列的変化量が閾値ＶＡを下回っていると判断した時点から時系列的変化量が閾値ＶＡを上回っていると判断した時点までの期間をＯＮ、データ変化検出部７が時系列的変化量が閾値ＶＡを上回っていると判断した時点から時系列的変化量が閾値ＶＡを下回っていると判断した時点までの期間をＯＦＦとして表したタイムチャートである。横軸ｘは時間経過を表す。同図中の記号３７がＯＮ／ＯＦＦを縦軸ｙ方向に高低で表す。データ変化検出部７はＯＮ期間中に制御タイミング信号を送信するなどしてデータ読出し速度制御部８に時系列的変化量が閾値ＶＡを下回っている旨を通知する。期間ＯＮ中（同図中における時刻ｔ４〜ｔ７）であればデータ読出し速度制御部８は復号部６の読出間隔を変更できる。期間ＯＦＦ中（同図中における時刻ｔ４以前及び時刻ｔ７以降）であればデータ読出し速度制御部８は復号部６の読出間隔を変更しない。
【００２７】
下段のタイムチャートはバッファ５内におけるデータ残量３８の推移を表す。横軸ｘは時間経過を、縦軸ｙはバッファ５内におけるデータ残量をそれぞれ表す。所定周期Δｔはデータ読出し速度制御部８がバッファ５内のデータ残量の最小値を検出する周期であり、同図中においては時刻ｔ２〜ｔ４の期間がそれに相当する。なお、データ読出し速度制御部８は時刻ｔ２以前及び時刻ｔ４以降にも所定周期Δｔ毎にバッファ５内のデータ残量の最小値を検出している。データ残量ｍ１は所定周期Δｔ内におけるバッファ５内のデータ残量の最小値である。
【００２８】
時刻ｔ４以前（中段のタイムチャートにおいてはＯＦＦ期間）において所定周期Δｔ内におけるバッファ５内のデータ残量の最小値ｍ１が予め定められた所定値ＶＢよりも大きかったとしても（すなわち、データ残量が大きい値の範囲を推移していたとしても）、時刻ｔ１及び３における時系列的変化量３１及び３２が所定の閾値ＶＡを上回っているため、データ読出し速度制御部８は復号部６の読出間隔を変更しない。
【００２９】
データ読出し速度制御部８は時刻ｔ４において、所定周期Δｔ内におけるバッファ５内のデータ残量の最小値がｍ１であることを検出する。データ残量の最小値ｍ１が所定値ＶＢよりも大きく（すなわち、データ残量が大きい値の範囲を推移しており）、かつ、時刻ｔ４において時系列的変化量３３が所定の閾値ＶＡを下回っているため、データ読出し速度制御部８は復号部６の読出間隔を現在値よりも短縮する。例えば読出間隔の現在値が３０ｍ秒である場合に１５ｍ秒に短縮する。これによりバッファ５から短期間に多くの符号化データが読み出され、バッファ５内のデータ残量は時刻ｔ４〜ｔ５の短期間で適正量に減少する。バッファ５内のデータ残量が予め定められた所定値ＶＣよりも小さくなった時刻ｔ５において、データ読出し速度制御部８は、復号部６の読出間隔を平常時の間隔に戻す。これらの処理がなされるのは、中段のタイムチャートにおいてはＯＮ期間中、すなわち、映像音声データの時系列的変化量が小さい期間中である。
【００３０】
通常、再生出力されずにバッファ５内のデータ残量が過大である程、ストリームデータの再生遅延が増大する。上記した処理により時刻ｔ４〜ｔ５の短期間でバッファ５内のデータ残量を適正量まで減らすことによって再生遅延を解消できる。また、映像音声データの時系列的変化量が小さい期間すなわち、再生出力される映像や音声の時系列的変化が小さい期間中にバッファ５内のデータ残量を減少させるため、データ残量の減少に伴いデータ復号速度に変化が生じたとしても映像や音声の再生品質を保つことができる。したがって、リアルタイム性が重視される用途、例えば、ビデオやオーディオなどのストリームデータのストリーミング再生において、再生遅延が解消され、サービス品質を向上させることができる。
【００３１】
図４はデータ読出し速度制御部８が所定周期Δｔ毎に行う、バッファ５内のデータ残量を増加させる場合の処理ルーチンの一例を表すフローチャートである。以下に図４を参照しつつ、データ読出し速度制御部８の処理を説明する。なお、データ読出し速度制御部８が処理を行うのと併行して、データ変化検出部７は所定周期Δｓ毎に当該所定周期Δｓ内における映像音声データの時系列的変化量を算出して当該時系列的変化量と閾値ＶＡとを比較している。
【００３２】
現在、データ受信部４がストリームデータを受信しており、バッファ５はデータ受信部４が受信したストリームデータに含まれる符号化データを順次蓄積しているものとする。また、復号部６はバッファ５に蓄積されている符号化データを読出間隔をもって順次、読み出して、これらを映像音声データに復号しているものとする。すなわち、バッファ５に符号化データが順次、蓄積されるのに併行して、これら蓄積された符号化データがバッファ５から復号部６によって順次、読み出されている。バッファ５に蓄積された符号化データの量よりも読み出された符号化データの量が少ない場合、バッファ５にはデータが残存している。
【００３３】
データ読出し速度制御部８は所定周期Δｔ毎に以下の処理を行う。データ読出し速度制御部８は所定周期Δｔ内におけるバッファ５内のデータ残量の最大値ｍ２を検出する。データ読出し速度制御部８は最大値ｍ２が予め定められた所定値ＶＤよりも小さく、かつ、データ変化検出部７によって検出された映像音声データの時系列的変化量３１〜３６の各々が閾値ＶＡを下回った場合に（Ｓ４１）、復号部６の読出間隔を現在値よりも伸長する（Ｓ４２）。これによりバッファ５から読み出される符号化データの量が短期間の内に減少し、バッファ５内のデータ残量は現状に比較して短時間で増加する。バッファ５内のデータ残量が予め定められた所定値ＶＥよりも大きくなった場合（Ｓ４３）、データ読出し速度制御部８は、復号部６の読出間隔を平常時の間隔に戻す（Ｓ４４）。
【００３４】
図５は上記処理によるバッファ５内のデータ残量の増加変化の一例を表すタイムチャート図である。同図中に示される３つのタイムチャートの内、上段及び中段のタイムチャートは図３と同様であるため説明を省略する。
【００３５】
下段のタイムチャートはバッファ５内におけるデータ残量３９の推移を表す。横軸ｘは時間経過を、縦軸ｙはバッファ５内におけるデータ残量をそれぞれ表す。所定周期Δｔはデータ読出し速度制御部８がバッファ５内のデータ残量を検出する周期であり、同図中においては時刻ｔ２〜ｔ４の期間がそれに相当する。なお、データ読出し速度制御部８は時刻ｔ２以前及び時刻ｔ４以降にも所定周期Δｔ毎にバッファ５内のデータ残量を検出している。データ残量ｍ２は所定周期Δｔ内におけるバッファ５内のデータ残量の最大値である。
【００３６】
時刻ｔ４以前（中段のタイムチャートにおいてはＯＦＦ期間）において所定周期Δｔ内におけるバッファ５内のデータ残量の最大値ｍ２が予め定められた所定値ＶＤよりも小さかったとしても（すなわち、データ残量が小さい値の範囲を推移していたとしても）、時刻ｔ１及び３における時系列的変化量３１及び３２が所定の閾値ＶＡを上回っているため、データ読出し速度制御部８は復号部６の読出間隔を変更しない。
【００３７】
データ読出し速度制御部８は時刻ｔ４において、所定周期Δｔ内におけるバッファ５内のデータ残量の最大値がｍ２であることを検出する。データ残量の最大値がｍ２が所定値ＶＤよりも小さく（すなわち、データ残量が小さい値の範囲を推移しており）、かつ、時刻ｔ４において時系列的変化量３３が所定の閾値ＶＡを下回っているため、データ読出し速度制御部８は復号部６の読出間隔を現在値よりも伸長する。例えば読出間隔の現在値が３０ｍ秒である場合に５０ｍ秒に伸長する。これによりバッファ５から読み出される符号化データの量が短期間の内に減少し、バッファ５内のデータ残量は時刻ｔ４〜ｔ５の短期間で適正量に増加する。バッファ５内のデータ残量が所定値ＶＥよりも大きくなった時刻ｔ５において、データ読出し速度制御部８は、復号部６の読出間隔を平常時の間隔に戻す。これらの処理がなされるのは、中段のタイムチャートにおいてはＯＮ期間中、すなわち、映像音声データの時系列的変化量が小さい期間中である。
【００３８】
通常、バッファ５内のデータ残量が過小である場合、例えばビデオやオーディオの再生間隔が間延びするなどの再生品質の劣化が生じやすい。上記した処理により時刻ｔ４〜ｔ５の短期間でバッファ５内のデータ残量を適正量まで増やすことによって再生品質の劣化が生じやすい状態から生じ難い状態に移行できる。また、映像音声データの時系列的変化量が小さい期間すなわち、再生出力される映像や音声の時間的変化が小さい期間中にバッファ５内のデータ残量を増加させるため、データ残量の増加に伴いデータ復号速度に変化が生じたとしても映像や音声の再生品質を保つことができる。したがって、リアルタイム性が重視される用途、例えば、ビデオやオーディオなどのストリームデータのストリーミング再生において、再生遅延を必要最小限としつつ、サービス品質を向上させることができる。
【００３９】
上述した実施例はバッファ５内のデータ残量が過大である場合に、復号部６が短期間で読み出した符号化データを全て復号する場合の例であるが、復号部６はこれら短期間で読み出した符号化データを復号せずに破棄しても良い。この場合には復号部６はデータ読出し速度制御部８より平常間隔で符号化データを読み出すよう指示された時点において符号化データの復号処理を再開すれば上述の実施例と同様の効果が得られる。また、上述した実施例はバッファ５内のデータ残量が過小である場合に、復号部６がバッファ５内に残存する符号化データの読出し間隔を伸長する場合の例であるが、復号部６は符号化データの読み出しを一時的に停止しても良い。この場合には復号部６はデータ読出し速度制御部８より平常間隔で符号化データを読み出すよう指示された時点において読み出し及び復号処理を再開すれば上述の実施例と同様の効果が得られる。
【００４０】
再生出力部９は平常間隔で符号化データが読み出されているときには、所定の表示タイミングで映像音声データを再生出力する。所定の表示タイミングよりも早く映像音声データが得られた場合は、再生出力部９は所定の表示タイミングが到来してから当該映像音声データを再生出力する。短縮された読出間隔で符号化データが読み出されているときには、再生出力部９は所定の表示タイミングが到来した時点において得られた最新の映像音声データを再生出力する。伸長された読出間隔で符号化データが読み出されているときには、再生出力部９は所定の表示タイミングよりも長い表示タイミングにて映像音声データを再生出力する。
【００４１】
上記した如く本実施例に拠れば、通信ネットワーク２におけるストリームデータの伝送時間揺らぎなどに起因してバッファ５内のデータ残量が過大となった場合には、バッファ５からデータの各々を順次読み出す読出間隔を短くする。これにより、短期間でバッファ５内のデータ残量を適正量まで減少させてバッファのオーバーフローの発生を回避し、ストリームデータの再生遅延を抑制できる。また、バッファ５内のデータ残量が過小となった場合には、バッファ５からデータの各々を順次読み出す読出間隔を長くする。これにより、短期間でバッファ５内のデータ残量を適正量まで増加させて、バッファのアンダーフローの発生を回避し、ストリームデータの再生遅延を最小限としつつ、再生品質を向上させることができる。
【００４２】
また、映像音声データの時系列的変化量が小さい期間すなわち、再生出力される映像や音声の時系列的変化が小さい期間中にバッファ５内のデータ残量を増加若しくは減少させることによって、データ残量の増加及び減少に伴うデータの復号、再生速度に変化が生じたとしても映像や音声の再生品質を保つことができる。このように本実施例に拠るストリームデータ受信再生装置は、バッファのアンダーフローやオーバーフローの発生を回避し、ビデオやオーディオなどのストリームデータの品質を劣化させることなく再生できる。
【実施例２】
【００４３】
図６は属性データ取出し部１１及び属性変化検出部１２を含むストリームデータ受信再生装置３をデータ送信装置１、通信ネットワーク２及び表示部１０と共に表すブロック図である。データ読出し速度制御部８、属性データ取出し部１１及び属性変化検出部１２以外のブロックについては図１と同様である。
【００４４】
属性データ取出し部１１は符号化データの各々に含まれる属性データを順次取り出す。ここでの属性データとはストリームデータに含まれる少なくとも１つの符号化パラメータからなる。ビデオ関連の符号化パラメータとしては、画像サイズ、フレームレート、ビットレート、符号化方式などが挙げられる。オーディオ関連の符号化パラメータとしては、サンプリング周波数、チャンネル数、符号化方式などが挙げられる。属性データはこれら符号化パラメータの内の１つ若しくはこれらの組み合わせからなる。通常、データ送信装置１がストリームデータを生成する際に属性データをこれに含める。
【００４５】
属性変化検出部１２は属性データ取出し部１１によって順次取り出された時系列的に連続若しくは近接する属性データ間の差異を検出する。ストリームデータがビデオやオーディオなどの複数のコンテンツを含む場合、コンテンツの各々は他と異なる独自の属性データを有する。そのため、複数のコンテンツを連結したストリームデータにおいては、コンテンツの結合部分の各々において属性データが切り替わることになる。属性データの差異が検出されるタイミングは、コンテンツが切り替わるタイミング、すなわち、再生出力される映像や音声の内容が切り替わるタイミングである。
【００４６】
データ読出し速度制御部８は属性データの差異が検出された場合にバッファ５内のデータ残量に基づいて復号部６の読出間隔を変更する。実施例１と同様にデータ読出し速度制御部８は、所定周期Δｔ毎に当該所定周期Δｔ内におけるバッファ５内のデータ残量の最小値ｍ１を検出して当該最小値ｍ１が予め定められた所定値ＶＢよりも大きい場合に復号部６の読出間隔をその現在値よりも短縮するものとする。また、データ読出し速度制御部８は、所定周期Δｔ毎に当該所定周期Δｔ内におけるバッファ５内のデータ残量の最大値ｍ２を検出して当該最大値ｍ２が予め定められた所定値ＶＤよりも小さい場合に復号部６の読出間隔をその現在値よりも伸長するものとする。
【００４７】
図７は上記処理によるバッファ５内のデータ残量の減少変化の一例を表すタイムチャート図である。同図中に示される３つのタイムチャートを上から順に説明する。
【００４８】
上段のタイムチャートは属性データ取出し部１１によって取り出された属性データ７０−１〜３８の推移を表す。横軸ｘは時間経過を表す。属性データ取出し部１１はバッファ５から読み出した符号化データの各々に含まれる属性データ７０−１〜３８を順次取り出す。属性データ７０−１〜１４は切り替え前の、属性データ７０−１５〜３８は切り替え後のコンテンツを構成する符号化データに含まれていた属性データである。属性データ７０−１〜１４の各々は互いに差異がない。同様に属性データ７０−１５〜３８の各々は互いに差異がない。また、属性データ７０−１〜１４の各々と属性データ７０−１５〜３８の各々とは差異があるものとする。なお、属性データ７０−１〜３８はコンテンツを構成する複数の符号化データの内の一部から取り出されたものの一例であり、通常、コンテンツはより多くの符号化データからなる。
【００４９】
中段のタイムチャートは、属性変化検出部１２によって属性データ間の差異が検出された時点からの所定期間ΔｕをＯＮ、属性データ間の差異が検出される以前の期間及び差異が検出された時点からの所定期間Δｕ経過以降をＯＦＦとして表したタイムチャートである。横軸ｘは時間経過を表す。同図中の記号８１がＯＮ／ＯＦＦを縦軸ｙ方向に高低で表す。属性変化検出部１２はＯＮ期間中に制御タイミング信号を送るなどしてデータ読出し速度制御部８に属性データ間の差異を検出した旨を通知する。所定期間Δｕ（ＯＮ期間）は、例えば１秒間など任意に設定できる。期間ＯＮ中（同図中における時刻ｔ１２〜ｔ１４）であればデータ読出し速度制御部８は復号部６の読出間隔を変更できる。期間ＯＦＦ中（同図中における時刻ｔ１２以前及び時刻ｔ１４以降）であればデータ読出し速度制御部８は復号部６の読出間隔を変更しない。
【００５０】
下段のタイムチャートはバッファ５内におけるデータ残量８２の推移を表す。横軸ｘは時間経過を、縦軸ｙはバッファ５内におけるデータ残量をそれぞれ表す。所定周期Δｔはデータ読出し速度制御部８がバッファ５内のデータ残量を検出する周期であり、同図中においては時刻ｔ１１〜ｔ１２の期間がそれに相当する。なお、データ読出し速度制御部８は時刻ｔ１１以前及び時刻ｔ１２以降にも所定周期Δｔ毎にバッファ５内のデータ残量を検出している。データ残量ｍ１は所定周期Δｔ内におけるバッファ５内のデータ残量の最小値である。
【００５１】
時刻ｔ１２以前（中段のタイムチャートにおいてはＯＦＦ期間）において所定周期Δｔ内におけるバッファ５内のデータ残量の最小値ｍ１が予め定められた所定値ＶＢよりも大きかったとしても（すなわち、データ残量が大きい値の範囲を推移していたとしても）、属性データ７０−１〜１４の各々の比較においては差異が検出されないため、データ読出し速度制御部８は復号部６の読出間隔を変更しない。
【００５２】
データ読出し速度制御部８は時刻ｔ１２において、所定周期Δｔ内におけるバッファ５内のデータ残量の最小値がｍ１であることを検出する。データ残量の最小値ｍ１が予め定められた所定値ＶＢよりも大きく（すなわち、データ残量が大きい値の範囲を推移しており）、かつ、時刻ｔ１２において属性データ７０−１４と７０−１５との間に差異が検出されるため、データ読出し速度制御部８は復号部６の読出間隔を現在値よりも短縮する。これによりバッファ５から短期間に多くの符号化データが読み出され、バッファ５内のデータ残量は時刻ｔ１２〜ｔ１３の短期間で適正量に減少する。バッファ５内のデータ残量が予め定められた所定値ＶＣよりも小さくなった時刻ｔ１３において、データ読出し速度制御部８は、復号部６の読出間隔を平常時の間隔に戻す。これらの処理がなされるのは、中段のタイムチャートにおいてはＯＮ期間中、すなわち、コンテンツの切り替わり時点からの所定期間Δｕ中（例えば１秒間など）である。所定期間Δｕ内においては通常、再生出力される映像や音声の時間的変化はほとんどない。
【００５３】
通常、再生出力されずにバッファ５内のデータ残量が過大である程、ストリームデータの再生遅延が増大する。上記した処理により時刻ｔ１２〜ｔ１３の短期間でバッファ５内のデータ残量を適正量まで減らすことによって再生遅延を解消できる。また、コンテンツの切り替わり時点から所定期間Δｕ内すなわち、再生出力される映像や音声の時間的変化がほとんどない期間中にバッファ５内のデータ残量を減少させるため、データ残量の減少に伴いデータの復号、再生速度に変化が生じたとしても映像や音声の再生品質を保つことができる。したがって、リアルタイム性が重視される用途、例えば、ビデオやオーディオなどのストリームデータのストリーミング再生において、再生遅延が解消され、サービス品質を向上させることができる。
【００５４】
図８は上記処理によるバッファ５内のデータ残量の減少変化の一例を表すタイムチャート図である。同図中に示される３つのタイムチャートの内、上段及び中段のタイムチャートは図６と同様であるため説明を省略する。
【００５５】
下段のタイムチャートはバッファ５内におけるデータ残量８３の推移を表す。横軸ｘは時間経過を、縦軸ｙはバッファ５内におけるデータ残量をそれぞれ表す。所定周期Δｔはデータ読出し速度制御部８がバッファ５内のデータ残量を検出する周期であり、同図中においては時刻ｔ１１〜ｔ１２の期間がそれに相当する。なお、データ読出し速度制御部８は時刻ｔ１１以前及び時刻ｔ１２以降にも所定周期Δｔ毎にバッファ５内のデータ残量を検出している。データ残量ｍ２は所定周期Δｔ内におけるバッファ５内のデータ残量の最大値である。
【００５６】
時刻ｔ１２以前（中段のタイムチャートにおいてはＯＦＦ期間）において所定周期Δｔ内におけるバッファ５内のデータ残量の最大値ｍ２が予め定められた所定値ＶＤよりも小さかったとしても（すなわち、データ残量が小さい値の範囲を推移していたとしても）、属性データ７０−１〜１４の各々の比較においては差異が検出されないため、データ読出し速度制御部８は復号部６の読出間隔を変更しない。
【００５７】
データ読出し速度制御部８は時刻ｔ１２において、所定周期Δｔ内におけるバッファ５内のデータ残量の最大値がｍ２であることを検出する。データ残量の最大値ｍ２が予め定められた所定値ＶＤよりも大きく（すなわち、データ残量が小さい値の範囲を推移しており）、かつ、時刻ｔ１２において属性データ７０−１４と７０−１５との間に差異が検出されるため、データ読出し速度制御部８は復号部６の読出間隔を現在値よりも伸長する。これによりバッファ５から読み出される符号化データの量が短期間の内に減少し、バッファ５内のデータ残量は時刻ｔ１２〜ｔ１３の短期間で適正量に増加する。バッファ５内のデータ残量が予め定められた所定値ＶＥよりも大きくなった時刻ｔ１３において、データ読出し速度制御部８は、復号部６の読出間隔を平常時の間隔に戻す。これらの処理がなされるのは、中段のタイムチャートにおいてはＯＮ期間中、すなわち、コンテンツの切り替わり時点からの所定期間Δｕ中（例えば１秒間など）である。コンテンツの切り替わり時点から所定期間Δｕ内においては通常、再生出力される映像や音声の時間的変化はほとんどない。
【００５８】
通常、バッファ５内のデータ残量が過小である場合、例えばビデオやオーディオの再生間隔が間延びするなどの再生品質の劣化が生じやすい。上記した処理により時刻ｔ１２〜ｔ１３の短期間でバッファ５内のデータ残量を適正量まで増やすことによって再生品質の劣化が生じやすい状態から生じ難い状態に移行できる。また、映像音声データの時系列的変化量が小さい期間すなわち、再生出力される映像や音声の時系列的変化が小さい期間中にバッファ５内のデータ残量を増加させるため、データ残量の増加に伴いデータ復号速度に変化が生じたとしても映像や音声の再生品質を保つことができる。したがって、リアルタイム性が重視される用途、例えば、ビデオやオーディオなどのストリームデータのストリーミング再生において、再生遅延を必要最小限としつつ、サービス品質を向上させることができる。
【００５９】
上記した如く本実施例に拠れば、通信ネットワーク２におけるストリームデータの伝送時間揺らぎなどに起因してバッファ５内のデータ残量が過大となった場合には、バッファ５からデータの各々を順次読み出す読出間隔を短くする。これにより、短期間でバッファ５内のデータ残量を適正量まで減少させてバッファのオーバーフローの発生を回避し、ストリームデータの再生遅延を抑制できる。また、バッファ５内のデータ残量が過小となった場合には、バッファ５からデータの各々を順次読み出す読出間隔を長くする。これにより、短期間でバッファ５内のデータ残量を適正量まで増加させて、バッファのアンダーフローの発生を回避し、ストリームデータの再生遅延を最小限としつつ、再生品質を向上させることができる。
【００６０】
また、ストリームデータ内のコンテンツ切り替わり時点から所定期間Δｕ内、すなわち、再生出力される映像や音声の内容が切り替わる期間中にバッファ５内のデータ残量を増加若しくは減少させることによって、データ残量の増加及び減少に伴いデータ復号速度に変化が生じたとしても映像や音声の再生品質を保つことができる。このように本実施例に拠るストリームデータ受信再生装置は、バッファのアンダーフローやオーバーフローの発生を回避し、ビデオやオーディオなどのストリームデータの品質を劣化させることなく再生できる。
【００６１】
図１中には属性データ取出し部１１及び属性変化検出部１２が、図２中にはデータ変化検出部７が、それぞれ図示されていないが、ストリームデータ受信再生装置３はこれら全てを同時に含んでいても良い。
【００６２】
ストリームデータに互いに差分の少ない一連の符号化データ及び／若しくは少なくとも２つの属性データを意図的に含めておき、上記した２実施例に示されるのと同様の処理をなすことにより、所望のタイミングにてバッファ５内のデータ残量を増減させることもできる。
【図面の簡単な説明】
【００６３】
【図１】ストリームデータ受信再生装置をデータ送信装置、通信ネットワーク及び表示部と共に表すブロック図である。
【図２】データ読出し速度制御部が所定周期毎に行う、バッファ内のデータ残量を減少させる場合の処理ルーチンの一例を表すフローチャートである。
【図３】バッファ内のデータ残量の減少変化の一例を表すタイムチャート図である。
【図４】データ読出し速度制御部が所定周期毎に行う、バッファ内のデータ残量を増加させる場合の処理ルーチンの一例を表すフローチャートである。
【図５】バッファ内のデータ残量の増加変化の一例を表すタイムチャート図である。
【図６】属性データ取出し部及び属性変化検出部を含むストリームデータ受信再生装置をデータ送信装置、通信ネットワーク及び表示部と共に表すブロック図である。
【図７】バッファ内のデータ残量の減少変化の一例を表すタイムチャート図である。
【図８】バッファ内のデータ残量の増加変化の一例を表すタイムチャート図である。
【符号の説明】
【００６４】
１  データ送信装置
２  通信ネットワーク
３  ストリームデータ受信再生装置
４  データ受信部
５  バッファ
６  復号部
７  データ変化検出部
８  データ読出し速度制御部
９  再生出力部
１０  表示部
１１  属性データ取出し部
１２  属性変化検出部
【図１】
2008211331.tif 000003
【図２】
2008211331.tif 000004
【図３】
2008211331.tif 000005
【図４】
2008211331.tif 000006
【図５】
2008211331.tif 000007
【図６】
2008211331.tif 000008
【図７】
2008211331.tif 000009
【図８】
2008211331.tif 000010