(57)【要約】【課題】  受信データの揺らぎを吸収して、低遅延で出力する。【解決手段】  この発明に係るデータ受信装置は、外部からメディア符号化データを受信する受信手段と、受信手段が受信したメディア符号化データをメディアデータに復号する復号手段と、復号手段が復号したメディアデータを一時的に蓄積する蓄積手段と、表示用クロックに同期して、蓄積手段からメディアデータをフレーム単位に読み出して外部に出力するとともに、外部に出力したメディアデータを蓄積手段から読み出した時点で、蓄積手段に１フレーム以上のメディアデータが残る継続期間を計測し、計測した継続期間が所定の長さに達すると、蓄積手段に残った１フレーム分のメディアデータを読み出し、廃棄する出力手段とを備えた。【選択図】          図１
2014007703.tif 000002
【特許請求の範囲】
【請求項１】
外部からメディア符号化データを受信する受信手段と、
前記受信手段が受信したメディア符号化データをメディアデータに復号する復号手段と、
前記復号手段が復号したメディアデータを一時的に蓄積する蓄積手段と、
表示用クロックに同期して、前記蓄積手段からメディアデータをフレーム単位に読み出して外部に出力するとともに、外部に出力したメディアデータを前記蓄積手段から読み出した時点で、前記蓄積手段に１フレーム以上のメディアデータが残る継続期間を計測し、計測した継続期間が所定の長さに達すると、前記蓄積手段に残った１フレーム分のメディアデータを読み出し、廃棄する出力手段と
を備えるデータ受信装置。
【請求項２】
外部からメディア符号化データを受信する受信手段と、
前記受信手段が受信したメディア符号化データをメディアデータに復号する復号手段と、
前記復号手段が復号したメディアデータを一時的に蓄積する蓄積手段と、
表示用クロックに同期して、前記蓄積手段からメディアデータをフレーム単位に読み出して外部に出力するとともに、外部に出力したメディアデータを前記蓄積手段から読み出した時点で、前記蓄積手段に１フレーム以上のメディアデータが残る継続期間とこの継続期間中に前記蓄積手段に残ったメディアデータのフレーム数の最小値とを計測し、計測した継続期間が所定の長さに達すると、前記蓄積手段に残った前記最小値分のフレームのメディアデータを読み出し、廃棄する出力手段と
を備えるデータ受信装置。
【請求項３】
外部からメディア符号化データを受信する受信手段と、
前記受信手段が受信したメディア符号化データを一時的に蓄積する蓄積手段と、
復号用クロックに同期して、前記蓄積手段から１フレーム分のメディア符号化データを読み出してメディアデータに復号するとともに、復号した符号化メディアデータを前記蓄積手段から読み出した時点で、前記蓄積手段に１フレーム以上のメディア符号化データが残った継続期間を計測し、計測した継続期間が所定の長さに達すると、前記蓄積手段に残った１フレーム分のメディア符号化データを読み出し、廃棄する復号手段と、
表示用クロックに同期して、前記復号手段が復号したメディアデータをフレーム単位に外部に出力する出力手段と
を備えるデータ受信装置。
【請求項４】
前記復号手段は、前記継続期間が前記所定の長さに達すると、前記蓄積手段に残った１フレーム分のメディア符号化データを読み出し、復号後に廃棄する
ことを特徴とする請求項３記載のデータ受信装置。
【請求項５】
前記所定の長さは、揺らぎの変動周期または分布に応じて設定することを特徴とする請求項１ないし請求項４のいずれか１項記載のデータ受信装置。
【請求項６】
前記継続期間は、前記出力手段の表示フレーム数または前記復号手段の復号フレーム数で換算して計測することを特徴とする請求項１ないし請求項４のいずれか１項記載のデータ受信装置。
【請求項７】
外部からメディア符号化データを受信する受信ステップと、
受信されたメディア符号化データをメディアデータに復号する復号ステップと、
復号されたメディアデータを一時的に蓄積手段に蓄積する蓄積ステップと、
表示用クロックに同期して、前記蓄積手段からメディアデータをフレーム単位に読み出して外部に出力するとともに、外部に出力したメディアデータを前記蓄積手段から読み出した時点で、前記蓄積手段に１フレーム以上のメディアデータが残る継続期間を計測し、計測した継続期間が所定の長さに達すると、前記蓄積手段に残った１フレーム分のメディアデータを読み出し、廃棄する出力ステップと
を有するデータ受信再生方法。
【請求項８】
外部からメディア符号化データを受信する受信ステップと、
受信されたメディア符号化データをメディアデータに復号する復号ステップと、
復号されたメディアデータを一時的に蓄積手段に蓄積する蓄積ステップと、
表示用クロックに同期して、前記蓄積手段からメディアデータをフレーム単位に読み出して外部に出力するとともに、外部に出力したメディアデータを前記蓄積手段から読み出した時点で、前記蓄積手段に１フレーム以上のメディアデータが残る継続期間とこの継続期間中に前記蓄積手段に残ったメディアデータのフレーム数の最小値とを計測し、計測した継続期間が所定の長さに達すると、前記蓄積手段に残った前記最小値分のフレームのメディアデータを読み出し、廃棄する出力ステップと
を有するデータ受信再生方法。
【請求項９】
外部からメディア符号化データを受信する受信ステップと、
受信されたメディア符号化データを一時的に蓄積手段に蓄積する蓄積ステップと、
復号用クロックに同期して、前記蓄積手段から１フレーム分のメディア符号化データを読み出してメディアデータに復号するとともに、復号した符号化メディアデータを前記蓄積手段から読み出した時点で、前記蓄積手段に１フレーム以上のメディア符号化データが残った継続期間を計測し、計測した継続期間が所定の長さに達すると、前記蓄積手段に残った１フレーム分のメディア符号化データを読み出し、廃棄する復号ステップと、
表示用クロックに同期して、復号されたメディアデータをフレーム単位に外部に出力する出力ステップと
を有するデータ受信再生方法。
【請求項１０】
前記復号ステップでは、前記継続期間が前記所定の長さに達すると、前記蓄積手段に残った１フレーム分のメディア符号化データを読み出し、復号後に廃棄する
ことを特徴とする請求項９記載のデータ受信再生方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、データ受信装置およびデータ受信再生方法に関する。
【背景技術】
【０００２】
通常、ビデオ符号化は可変長符号化を行っており、そのため各ピクチャのビデオ符号化データ量は一定長でない。このようなビデオ符号化データを固定レートで伝送すると、ビデオ符号化データの到着タイミングは一定とならない。その後ビデオ符号化データの復号を行い、表示用クロックに同期してビデオデータを表示する際に、前記到着タイミングの揺らぎや復号時間の揺らぎにより、表示すべきビデオデータが不足する場合が発生し、ビデオデータを連続的に出力できないことがある。そこで一般的な受信装置は、復号後のビデオデータをある程度バッファに蓄積した後に、表示用クロックに同期して出力することで、ビデオデータを連続的に表示することが可能となる。
【０００３】
ただし、一時的にバッファに蓄積することで、表示までの遅延は増大してしまう。また、バッファに蓄積するデータ量を少なくすることで遅延は小さくできるが、復号完了タイミングの揺らぎをカバーできない場合には、バッファアンダーフローが発生し、ビデオ表示を連続的に行えなくなる。そのため、復号完了タイミングの揺らぎに対応できる最小のビデオデータ量をバッファに蓄積することが望ましい。
【０００４】
そこで、バッファ内のデータ量を適切に保つ方法として、所定時間毎にバッファ残量の最大値と最小値を求め、予め設定した最大値と最小値の２つの基準値と比較し、ともに基準値を超えた場合はバッファから１単位分のデータを削除し、ともに基準値を下回った場合は１単位分のダミーデータを挿入することで、バッファ残量を常に２つの基準値の間に保つ方法がある（例えば、特許文献１）。この２つの基準値を用いる方法では、バッファ残量を適切に保つことで、受信揺らぎに対応しながら、出力までの遅延を抑えていた。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００４−８８３９０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従来のバッファ残量の管理方法は、受信揺らぎの大きさに合わせて２つの基準値を設ける必要があり、設定した基準値が適切でない場合にはバッファのアンダーフローが発生したり、必要以上に出力遅延が増大する可能性があった。
【０００７】
すなわち、従来のバッファ残量の管理方法では、最大値や最小値のような、一時的な値でバッファ制御を行っているため、想定以上に揺らぎが大きい場合には、バッファアンダーフローが発生しそうな状況でもバッファ残量の最大値が基準値（最大値）を超えたり、逆にバッファにたくさんデータが溜まっている状況でもバッファ残量の最小値が基準値（最小値）を下回ることがあり、正常なバッファ制御を行えないという問題点があった。
【０００８】
また、従来のバッファ残量の管理方法では、想定以上に揺らぎが小さい場合には、バッファ残量の最大値が基準値を超えるときには、バッファ残量の最小値も最大値付近となるため、バッファ内は常時多いバッファ残量となり、出力時の遅延が定常的に大きくなってしまうという問題点もあった。
【０００９】
この発明は、上記のような問題を解決するためになされたもので、メディア符号化データの受信揺らぎや復号揺らぎに影響されず低遅延でメディアデータを出力できるようにすることを目的とする。
【課題を解決するための手段】
【００１０】
この発明に係るデータ受信装置は、外部からメディア符号化データを受信する受信手段と、前記受信手段が受信したメディア符号化データをメディアデータに復号する復号手段と、前記復号手段が復号したメディアデータを一時的に蓄積する蓄積手段と、表示用クロックに同期して、前記蓄積手段からメディアデータをフレーム単位に読み出して外部に出力するとともに、外部に出力したメディアデータを前記蓄積手段から読み出した時点で、前記蓄積手段に１フレーム以上のメディアデータが残る継続期間を計測し、計測した継続期間が所定の長さに達すると、前記蓄積手段に残った１フレーム分のメディアデータを読み出し、廃棄する出力手段とを備える。
【発明の効果】
【００１１】
この発明に係るデータ受信装置によれば、蓄積手段にメディアデータが溜まった状態が所定の時間以上継続した場合に、蓄積手段のメディアデータをフレーム単位で廃棄するようにしたので、メディア符号化データの受信揺らぎや復号揺らぎに影響されず低遅延でメディアデータを出力することができる。
【図面の簡単な説明】
【００１２】
【図１】この発明の実施の形態１に係るデータ受信装置の一例を示す構成図である。
【図２】この発明の実施の形態１に係るデータ受信装置に一時蓄積したメディアデータ数の時間的変化の一例を示す図である。
【図３】この発明の実施の形態１に係るデータ受信装置の出力処理の一例を示すフローチャートである。
【図４】この発明の実施の形態１に係るデータ受信装置の表示フレーム周期が早い場合に一時蓄積したメディアデータ数の時間的変化の一例を示す図である。
【図５】この発明の実施の形態２に係るデータ受信装置の一例を示す構成図である。
【図６】この発明の実施の形態２に係るデータ受信装置の受信処理の一例を示すフローチャートである。
【図７】この発明の実施の形態２に係るデータ受信装置の復号処理の一例を示すフローチャートである。
【図８】この発明の実施の形態２に係るデータ受信装置の復号処理の一例を示すフローチャートの部分変形例である。
【図９】この発明の実施の形態２に係るデータ受信装置の出力処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１３】
この発明は、データ受信装置およびデータ受信再生方法に関するものである。以下に、この発明に係るデータ受信装置とそのデータ受信再生方法の一例について説明する。
【００１４】
実施の形態１．
図１は、この発明の実施の形態１に係るデータ受信装置の一例を示す構成図である。
【００１５】
図において、受信部１０は、外部、例えばネットワークなどの伝送路からメディア符号化データを受信する。復号部１１ａは、受信部１０が受信したメディア符号化データをメディアデータに復号する。蓄積部１２は、復号部１１ａが復号したメディアデータを一時的に蓄積するバッファである。出力部１３は、表示用クロックに同期して、蓄積部１２からメディアデータをフレーム単位に読み出して外部に出力（再生）するとともに、外部に出力したメディアデータを蓄積部１２から読み出した時点で、蓄積部１２に１フレーム以上のメディアデータが残る継続期間を計測し、計測した継続期間が所定の長さに達すると、蓄積部１２に残った１フレーム分のメディアデータを読み出し、廃棄する。クロック１４ａは、メディアデータを表示（再生）するための表示用クロック信号を供給する発信器である。ここで、受信部１０、復号部１１ａ、蓄積部１２、出力部１３、クロック１４ａは、受信手段、復号手段、蓄積手段、出力手段、クロック発信手段に該当する。
【００１６】
次に動作について説明する。
【００１７】
データ送信装置（図示せず）がメディア符号化データをネットワークに送信すると、そのデータはネットワークを伝送され、伝送遅延を伴ってデータ受信装置に到着する。ここでメディアとは、ビデオやオーディオなどの連続的に再生可能なものを示す。
【００１８】
データ受信装置１の受信部１０は、伝送遅延を伴ったメディア符号化データをネットワークから受信する。復号部１１ａは、受信されたメディア符号化データを復号し、メディアデータをフレーム単位に生成する。ここでフレーム単位とは、ある時刻に表示されるメディアデータの最小単位を表し、ビデオデータであれば一つの画像（静止画）となる。蓄積部１２は、復号されたメディアデータを一時的に蓄積し、蓄積部１２内でメディアデータをフレーム単位に管理する。
【００１９】
出力部１３は、蓄積部１２内の１フレーム分のメディアデータを読み出し、クロック１４ａから指示される表示タイミングでメディアデータを出力する。例えば、ビデオデータの場合であれば、クロック１４ａは出力部１３に対して２９．９７Ｈｚや３０Ｈｚなどの周期のクロック信号でタイミングを通知する。このタイミングが、メディアデータのフレーム周期となる。
【００２０】
伝送遅延や復号遅延などの影響によって、蓄積部１２にメディアデータが蓄積されるタイミングに揺らぎが発生する。出力部１３が蓄積部１２からメディアデータを読み出して出力する際に、蓄積部１２に読み出すデータがない場合は、出力部１３は前回出力したメディアデータを繰り返し出力する。蓄積部１２から１フレーム分のメディアデータを読み出した後にも、蓄積部１２にメディアデータが存在する場合には、蓄積部１２に余剰のメディアデータが存在していることで、出力遅延の増大につながるため、余剰のメディアデータを廃棄する必要がある。しかしながら、蓄積タイミングが揺らいで一時的に蓄積されたメディアデータが増えた場合に、この余剰分とされたメディアデータを廃棄すると、蓄積タイミングの揺らぎのために逆に一時的に蓄積されたメディアデータが少なくなってしまい、蓄積部１２から読み出すメディアデータがなくなってしまうことがある。そのため、蓄積タイミングの揺らぎを考慮しながら、蓄積部１２内の余剰なメディアデータの廃棄を行う必要がある。
【００２１】
図２は、この発明の実施の形態１に係るデータ受信装置に一時蓄積したメディアデータ数の時間的変化の一例を示す図である。
【００２２】
図において、グラフの横軸は時刻、縦軸は蓄積部１２内のメディアデータのフレーム数で、出力部１３で周期的にメディアデータを読み出した後の数値を示したものである。すなわち、各時刻に蓄積部１２内に蓄積されているメディアデータのフレーム数を点で示している。図中、下向き矢印で、メディアデータのフレームの廃棄タイミングを示す。点と点を結ぶ直線は、時間的に変化するフレーム数の前後関係を見易くするものであって、経過の値を示すものではなく、揺らぎによって線形に推移するとは限らない。グラフのプロット時点では、蓄積部１２内に１フレームに満たないメディアデータ分を含んだ蓄積過程の状態にあることもあるが、廃棄判定ではフレーム数単位（整数）で把握できていればよい。
【００２３】
ここで、出力部１３は、蓄積部１２から１フレーム分のメディアデータを読み出した後、蓄積部１２に残ったメディアデータのフレーム数を確認する。蓄積部１２にメディアデータが残っていない状態（フレーム数＝０）が確認されたとき、タイマ起動中であればタイマを停止し、タイマをリセットする。一方、蓄積部１２にメディアデータが残った状態（フレーム数≧１）が確認されたとき、タイマが起動していなければ、所定の継続期間ΔＴ秒を計測するタイマを起動する。すでにタイマが起動中であって、さらに蓄積部１２にメディアデータが残っている状態がΔＴ秒続いてタイマがタイムアウトしていれば、出力部１３は蓄積部１２内の１フレーム分のメディアデータを読み出し、廃棄して、タイマをリセットする。以後、蓄積部１２から１フレーム分のメディアデータを読み出す度に、蓄積部１２に残ったメディアデータのフレーム数を確認して、継続してメディアデータが残った期間をタイマ計測して、タイムアウトすれば１フレーム分のメディアデータを廃棄する処理を繰り返す。
【００２４】
このように、タイマを起動してΔＴ時間の間、継続的に蓄積部１２にメディアデータが残った状態になったときにメディアデータの廃棄を行うため、復号タイミングの揺らぎに影響されずに、正確に余剰分だけメディアデータを廃棄することができるようになる。なお、廃棄する１フレーム分のメディアデータは、蓄積部１２から読み出し可能な状態のメディアデータであれば、例えば表示すべき時間が早いメディアデータとしても、遅いメディアデータとしても構わない。３フレーム以上のメディアデータがある場合には、中間のメディアデータのいずれかとしてもよい。
【００２５】
図３は、この発明の実施の形態１に係るデータ受信装置の出力処理の一例を示すフローチャートである。
【００２６】
出力処理に関して、クロック１４ａから出力タイミングを指示するクロック信号を受けると、出力部１３は、蓄積部１２から１フレーム分のメディアデータを読み出し、外部出力する（ステップＳＴ１１）。さらに、出力部１３は、蓄積部１２内に残っているメディアデータのフレーム数を算出する（ステップＳＴ１２）。次に、算出したフレーム数が１以上であるか確認する（ステップＳＴ１３）。算出したフレーム数が１以上でない場合には（ステップＳＴ１３：Ｎｏ）、タイマ起動中であれば停止して、タイマをリセットし、出力処理は完了する（ステップＳＴ１４）。一方、算出したフレーム数が１以上である場合には（ステップＳＴ１３：Ｙｅｓ）、タイマ起動中か否かを確認する（ステップＳＴ１５）。タイマ起動中でなければ（ステップＳＴ１５：Ｎｏ）、タイマを起動して出力処理を完了する(ステップＳＴ１６)。一方、タイマ起動中であれば（ステップＳＴ１５：Ｙｅｓ）、タイムアウトしたかを確認する（ステップＳＴ１７）。タイムアウトしていなければ（ステップＳＴ１７：Ｎｏ）、出力処理を完了する。一方、タイムアウトしていれば（ステップＳＴ１７：Ｙｅｓ）、蓄積部１２より１フレーム分のメディアデータを読み出し、廃棄し(ステップＳＴ１８)、さらにタイマをリセットして（ステップＳＴ１９）、出力処理を完了する。
【００２７】
以後、出力タイミングを指示するクロック信号を受ける度に、同様の処理を行うことで、蓄積部１２に残るメディアデータ量を適切に保つことができる。
【００２８】
なお、他の部分の動作については、受信部１０が受信データを受信し、復号部１１ａが受信データを復号し、蓄積部１２が復号されたメディアデータを蓄積する。
【００２９】
データ送信装置のメディアデータのフレーム周期とデータ受信装置のメディアデータの表示用フレーム周期が完全に一致していない場合、データ受信装置で表示するメディアデータが徐々に増えたり、もしくは徐々に減ったりする。データ受信装置の表示用フレーム周期が遅い場合、蓄積部１２にメディアデータが徐々に溜まっていく。メディアデータが溜まっていく状況では、図２に示したように、ΔＴ時間の間メディアデータが溜まった状態のときに余剰分のメディアデータを削除することで適切なデータ量を保つことができる。
【００３０】
一方、データ受信装置の表示用フレーム周期が早い場合には、蓄積部１２のメディアデータは徐々に減っていくため、出力タイミングで表示すべきメディアデータがなくなる。この場合、出力部１３は、１フレーム分出力をスキップするか、前回出力したメディアデータを再度出力する。このような操作によって、蓄積部１２のメディアデータは１フレーム分追加されたことになる。
【００３１】
図４は、この発明の実施の形態１に係るデータ受信装置の表示フレーム周期が早い場合に一時蓄積したメディアデータ数の時間的変化の一例を示す図である。
【００３２】
図において、グラフの縦軸、横軸は図２と同様であり、データ受信装置の表示フレーム周期が送信側のフレーム周期より早い場合の蓄積部１２内のメディアデータのフレーム数を示したものである。ここで、一時蓄積したメディアデータ数がマイナスの値をとっている状態は、出力するメディアデータがないときを示している。このとき、出力部１３の操作により、論理的に１フレームのメディアデータが蓄積部１２に追加されたことになる。図中、上向き矢印で、メディアデータのフレームの追加タイミングを示す。蓄積部１２内のフレーム数が１以上となっても、ΔＴ時間その状態が続くことがないため、蓄積部１２から余剰のメディアデータを廃棄することはない。もし、一時的な余剰メディアデータを廃棄してしまうと、その直後にメディアデータが足りなくなることが発生してしまう。
【００３３】
このように、蓄積部１２にメディアデータが溜まった状態が所定の時間以上継続した場合に、蓄積部１２のメディアデータをフレーム単位で廃棄するようにすることで、メディア符号化データの受信揺らぎや復号揺らぎに影響されず低遅延でメディアデータを出力することができるようになる。
【００３４】
ここで、復号部１１ａから蓄積部１２へメディアデータを渡すタイミングが大きく揺らがない場合は、１フレームのメディアデータの削除で対応できるが、大きく揺らぐ場合はさらに多くのメディアデータを削除できるようにした変形例も考えられる。
【００３５】
この変形例では、受信部１０、復号部１１ａ、蓄積部１２、クロック１４ａは変更せず、出力部１３のみ変更して構成したデータ受信装置について示す。すなわち、変形例における出力部１３は、表示用クロックに同期して、蓄積部１２からメディアデータをフレーム単位に読み出して外部に出力するとともに、外部に出力したメディアデータを蓄積部１２から読み出した時点で、蓄積部１２に１フレーム以上のメディアデータが残る継続期間とこの継続期間中に蓄積部１２に残ったメディアデータのフレーム数の最小値とを計測し、計測した継続期間が所定の長さに達すると、蓄積部１２に残った最小値分のフレームのメディアデータを読み出し、廃棄する。
【００３６】
この変形例の出力部１３は、蓄積部１２から１フレーム分のメディアデータを読み出した後、蓄積部１２に残ったメディアデータのフレーム数を確認する。蓄積部１２にメディアデータが残っていない状態（フレーム数＝０）が確認されたとき、タイマ起動中であればタイマを停止し、タイマをリセットする。一方、蓄積部１２にメディアデータが残った状態（フレーム数≧１）が確認されたとき、タイマが起動していなければ、ΔＴ秒を計測するタイマを起動する。すでにタイマ起動中であって、タイムアウトしていなければ、確認した蓄積部１２に残ったメディアデータのフレーム数の最小値をタイマ起動時から算出しておく。また、すでにタイマ起動中であって、さらに蓄積部１２にメディアデータが残っている状態がΔＴ秒続いてタイマがタイムアウトしていれば、出力部１３はタイマ起動中のΔＴ秒間に算出された蓄積部１２に残ったメディアデータのフレーム数（以下、残存フレーム数という）の最小値で示されるフレーム数分のメディアデータを蓄積部１２内から読み出し、廃棄して、タイマをリセットする。以後、蓄積部１２から１フレーム分のメディアデータを読み出す度に、蓄積部１２に残ったメディアデータのフレーム数を確認して、継続してメディアデータが残った状態をタイマ計測して、タイムアウトすればタイマ起動中のΔＴ秒間に算出された残存フレーム数の最小値で示されるフレーム数分のメディアデータを廃棄する処理を繰り返す。
【００３７】
なお、タイマ起動中のΔＴ秒間に算出された蓄積部１２内の残存フレーム数の最小値は、ある時点の廃棄で、すべての残存フレームが解消しないまま、その後、タイマを再起動する場合もあるため、タイマ起動時の残存フレーム数になるとは限らず、タイマ起動時の残存フレーム数より少なくなることもありうる。また、残存フレーム数のうち、廃棄するメディアデータのフレーム数は、算出した最小値以下のフレーム数分であれば、その最小値で示されるフレーム数分としなくてもよい。
【００３８】
このように、蓄積部１２に所定の時間（ΔＴ）以上継続して溜まったメディアデータのフレーム数の最小値を算出し、算出した最小値分のメディアデータを一度に廃棄することで、受信揺らぎや復号揺らぎなどの大きさの変動に対応しながら低遅延でメディアデータの出力が行えるようになる。
【００３９】
蓄積部１２内に残っているメディアデータのフレーム数の増減には、メディアデータが蓄積部１２へ渡されるタイミングの揺らぎが影響している。その主要因は、例えば伝送揺らぎであり、この伝送揺らぎの大きさがフレーム数の増減の大きさと関連する。伝送揺らぎ等の影響により増減するフレーム数の最小値が０となるようにすることで、バッファアンダーフローを発生させず、かつ余剰にフレームを貯めない低遅延の再生が可能となる。
【００４０】
このように、この発明では、蓄積部１２内に残っているメディアデータのフレームの残存有無またはフレーム数の最小値のみ監視すればメディアデータの低遅延再生を行うことができるため、残存フレーム数の最大値−最小値により表わせる伝送揺らぎの大きさや残存フレーム数の最大値自体は、この発明における低遅延再生に必ずしも必要な情報ではない。
【００４１】
よって、フレーム数が最小値となる発生頻度を考慮して、ΔＴ時間を設定することで、揺らぎの大きさ分のフレーム数を蓄積部１２に正確に残すことができる。蓄積部１２内のフレーム数の最小値の発生頻度の高低は、例えば、△Ｔ時間内にフレーム数が最小値となった発生頻度を共通または高低別に用意した所定の閾値と比較して決めればよい。最小値の発生頻度が高ければ、ΔＴ時間を小さくすることで、溜まったフレームをすぐに削除でき、低遅延の出力が可能となる。一方、最小値の発生頻度が低い場合に、ΔＴ時間を小さくしてしまうと、揺らぎに正確に対応できず、バッファアンダーフローを頻発し、正常なメディアデータの出力の妨げとなる。そのため、ΔＴを大きくする必要がある。このように、ΔＴ時間は揺らぎの大きさではなく、変動周期や分布に応じて設定することが必要である。
【００４２】
なお、発生頻度の監視は、例えば図３のステップＳ１２で、出力部１３が蓄積部１２内に残っているメディアデータのフレーム数を算出する際に行えばよい。また、ΔＴ時間の再設定は、例えば同図のステップＳ１８で、蓄積部１２より１フレーム分のメディアデータを読み出し、廃棄する際に行えばよい。
【００４３】
このように、蓄積部１２に溜まったメディアデータの廃棄を判断する所定の時間（ΔＴ）の長さを揺らぎの変動周期もしくは分布に基づいて設定することで、揺らぎに対応しながら低遅延でメディアデータの出力が行えるようになる。
【００４４】
また、蓄積部１２にメディア符号化データが溜まった時間を計測する時刻計測手段（タイマ）を設けない場合には、クロック１４ａから通知されるタイミングを用いて出力フレーム数もしくは復号フレーム数を計数することで、計数値が所定値に達した時点で、時刻計測手段により計測していたΔＴ時間の経過とみなして代用してもよい。
【００４５】
このように、蓄積部１２にメディア符号化データが溜まった時間を時刻計測手段で計測しない場合には、出力フレーム数もしくは復号フレーム数を計数して、蓄積部１２に継続して溜まっている時間を計測することで、時刻計測手段を持たない装置でも揺らぎに対応しながら低遅延でメディアデータの出力が行えるようになる。
【００４６】
また、復号部１１ａから蓄積部１２へメディアデータを渡すタイミングの揺らぎを状況判断することで、メディアデータの残存フレーム数の廃棄フレーム数を適応的に切り替えるようにしてもよい。例えば、タイマ起動時の残存フレーム数が増える傾向がみられるときには、フレームをまとめて廃棄できるようにしてもよい。また、例えば、タイマ起動時の残存フレーム数が所定の閾値を超えない場合は１フレームずつ廃棄し、所定の閾値を超える場合はフレームをまとめて廃棄するようにしてもよい。
【００４７】
以上のように、この発明の実施の形態１に係るデータ受信装置によれば、蓄積部１２にメディアデータが溜まった状態が所定の時間（ΔＴ）以上継続した場合に、蓄積部１２のメディアデータをフレーム単位で廃棄するようにしたので、メディア符号化データの受信揺らぎや復号揺らぎに影響されず、正確に余剰分だけメディアデータを廃棄し、低遅延でメディアデータを出力することができる。
【００４８】
また、この発明の実施の形態１に係るデータ受信装置によれば、蓄積部１２にメディアデータが溜まった状態が所定の時間（ΔＴ）以上継続した場合に、継続して溜まっていたメディアデータのフレーム数の最小値を算出しておき、算出した最小値分のメディアデータを一度に廃棄するようにしたので、受信揺らぎや復号揺らぎなどの大きさの変動に迅速に対応しながら低遅延でメディアデータの出力が行うことができる。
【００４９】
また、この発明の実施の形態１に係るデータ受信装置によれば、蓄積部１２に溜まったメディアデータの廃棄を判断する所定の時間（ΔＴ）の長さを揺らぎの変動周期もしくは分布に基づいて設定するようにしたので、揺らぎに対応しながら低遅延でメディアデータの出力が行うことができる。
【００５０】
また、この発明の実施の形態１に係るデータ受信装置によれば、蓄積部１２にメディアデータが溜まった時間を時刻計測手段（タイマ）で計測しない場合には、出力フレーム数もしくは復号フレーム数を計数して、蓄積部１２に継続して溜まっている時間を計測するようにしたので、時刻計測手段を持たない装置でも揺らぎに対応しながら低遅延でメディアデータの出力が行うことができる。
【００５１】
実施の形態２．
図５は、この発明の実施の形態２に係るデータ受信装置の一例を示す構成図である。
【００５２】
図において、受信部１０は、外部、例えばネットワークなどの伝送路からメディア符号化データを受信する。蓄積部１２は、受信部１０が受信したメディア符号化データを一時的に蓄積するバッファである。復号部１１ｂは、復号用クロックに同期して、蓄積部１２から１フレーム分のメディア符号化データを読み出してメディアデータに復号するとともに、復号した符号化メディアデータを蓄積部１２から読み出した時点で、蓄積部１２に１フレーム以上のメディア符号化データが残った継続期間を計測し、計測した継続期間が所定の長さに達すると、蓄積部１２に残った１フレーム分のメディア符号化データを読み出し、廃棄する。出力部１３は、表示用クロックに同期して、復号部１１ｂが復号したメディアデータをフレーム単位に外部に出力（再生）する。クロック１４ｂは、メディア符号化データを復号するための復号用クロック信号とメディアデータを表示（再生）するための表示用クロック信号とを供給する発信器である。ここで、受信部１０、蓄積部１２、復号部１１ｂ、出力部１３、クロック１４ｂは、受信手段、蓄積手段、復号手段、出力手段、クロック発信手段に該当する。この発明の実施の形態２に係るデータ受信装置の復号部１１ｂ、蓄積部１２は、図１に示したこの発明の実施の形態１に係るデータ受信装置に対して、復号部１１ａ、蓄積部１２の配置順序が異なっており、クロック１４ｂはクロック１４ａに対してさらに復号部１１ｂへメディア符号化データを復号するための復号用クロック信号を供給する構成となっている。
【００５３】
この発明の実施の形態１に係るデータ受信装置と同様に、データ送信装置（図示せず）がメディア符号化データをネットワークに送信すると、そのデータはネットワークを伝送され、伝送遅延を伴ってデータ受信装置に到着する。ここでメディアとは、ビデオやオーディオなどの連続的に再生可能なものを示す。
【００５４】
データ受信装置１の受信部１０は、伝送遅延を伴ったメディア符号化データをネットワークから受信する。蓄積部１２は、受信されたメディア符号化データを一時的に蓄積し、蓄積部１２内でメディア符号化データはフレーム単位に管理される。一般に、符号化データであっても、復号後のフレーム単位を認識することが可能である。復号１１ｂは、クロック１４ｂから復号タイミングを指示するクロック信号を受けることで、蓄積部１２から１フレーム分のメディア符号化データを読み出し、復号する。出力部１３は、クロック１４ｂから表示タイミングを指示するクロック信号を受けることで、復号１１ｂが復号したメディアデータを出力する。なお、クロック１４ｂから復号部１１ｂおよび出力部１３へのタイミングを指示するクロック信号の周期は、メディアデータのフレーム周期と同じであるが、復号部１１ｂへのクロック信号の方が少なくとも復号時間分だけ出力部１３へのクロック信号より早いタイミングで指示される。
【００５５】
伝送遅延などの影響によって、蓄積部１２にメディア符号化データが蓄積されるタイミングに揺らぎが発生する。クロック１４ｂから復号タイミングを指示するクロック信号を受けることで、復号部１１ｂは蓄積部１２からメディア符号化データを読み出して復号するが、このとき蓄積部１２から読み出せるメディア符号化データが１フレーム分に満たない場合は、復号部１１ｂは読み出しを行わない。そのため、後続の出力部１３では、復号部１１ｂからメディアデータを渡されないため、前回出力したメディアデータを繰り返し出力する。蓄積部１２から１フレーム分のメディア符号化データを読み出した後にも、蓄積部１２にメディア符号化データが存在する場合には、蓄積部１２に余剰のメディア符号化データが存在していることになり、出力遅延の増大につながるため、余剰のメディア符号化データを廃棄する必要がある。しかしながら、受信タイミングが揺らいで一時的に蓄積されたメディア符号化データが増えた場合に、この余剰分とされたメディア符号化データを廃棄すると、受信タイミングの揺らぎのために逆に一時的に蓄積されたメディア符号化データが少なくなってしまい、蓄積部１２から読み出すメディア符号化データがなくなってしまうことがある。そのため、受信タイミングの揺らぎを考慮しながら、蓄積部１２内の余剰なメディア符号化データの廃棄を行う必要がある。
【００５６】
図６は、この発明の実施の形態２に係るデータ受信装置の受信処理の一例を示すフローチャートである。
【００５７】
受信処理に関して、受信部１０でメディア符号化データを受信すると（ステップＳＴ２１）、そのメディア符号化データを蓄積部１２に蓄積する（ステップＳＴ２２）。以後、データを受信する度に、この動作を繰り返す。
【００５８】
図７は、この発明の実施の形態２に係るデータ受信装置の復号処理の一例を示すフローチャートである。
【００５９】
復号処理に関して、クロック１４ｂから復号タイミングを指示するクロック信号を受けると、復号部１１ｂは、蓄積部１２から１フレーム分のメディア符号化データを読み出し、復号後、出力部へ渡す（ステップＳＴ３１）。さらに、復号部１１ｂは、蓄積部１２内に残っているメディア符号化データのフレーム数を算出する（ステップＳＴ３２）。次に、算出したフレーム数が１以上であるか確認する（ステップＳＴ３３）。算出したフレーム数が１以上でない場合には（ステップＳＴ３３：Ｎｏ）、タイマ起動中であれば停止して、タイマをリセットし、出力処理は完了する（ステップＳＴ３４）。一方、算出したフレーム数が１以上である場合には（ステップＳＴ３３：Ｙｅｓ）、タイマ起動中か否かを確認する（ステップＳＴ３５）。タイマ起動中でなければ（ステップＳＴ３５：Ｎｏ）、タイマを起動して復号処理を完了する(ステップＳＴ３６)。一方、タイマ起動中であれば（ステップＳＴ３５：Ｙｅｓ）、タイムアウトしたかを確認する（ステップＳＴ３７）。タイムアウトしていなければ（ステップＳＴ３７：Ｎｏ）、復号処理を完了する。一方、タイムアウトしていれば（ステップＳＴ３７：Ｙｅｓ）、蓄積部１２より１フレーム分のメディア符号化データを読み出し、廃棄し(ステップＳＴ３８)、さらにタイマをリセットして（ステップＳＴ３９）、復号処理を完了する。
【００６０】
以後、復号タイミングを指示するクロック信号を受ける度に、同様の処理を行うことで、蓄積部１２に残るメディア符号化データ量を適切に保つことができる。
【００６１】
ここで、ステップＳＴ３８において、蓄積部１２より読み出した１フレーム分のメディア符号化データを、そのまま廃棄できる場合について示したが、復号してから廃棄しなくてはならない場合を次に示す。
【００６２】
図８は、この発明の実施の形態２に係るデータ受信装置の復号処理の一例を示すフローチャートの部分変形例（差分）である。図７のフローチャートのステップＳＴ３８をこのステップＳＴ３８’に置き換え、蓄積部１２より１フレーム分のメディア符号化データを読み出し、復号後に廃棄する。このステップＳＴ３８’のように廃棄する前にメディア符号化データを復号する理由は、符号化方式に予測符号化を使用している場合、復号せずに廃棄すると以降のフレームで正常に復号できないことがあるためである。例えば、メディア符号化データの復号過程において、フレームを跨いで復号パラメータを適応的に学習して継承する場合には、復号せず廃棄してしまうことで復号パラメータが継承できなくなって後続フレームの正常な復号ができなくなる。一方、このような適応的な学習を伴わない固定の復号パラメータで復号する予測符号化、また適応的な学習を行ってもフレームを跨いで学習結果を継承しない予測符号化であれば、ステップＳＴ３８のようにメディア符号化データを復号せずに廃棄できる。また、予測符号化以外で、学習等の影響を受けない符号化方式で符号化されたメディア符号化データの場合でも、そのメディア符号化データを復号せずに廃棄することができる。
【００６３】
図９は、この発明の実施の形態２に係るデータ受信装置の出力処理の一例を示すフローチャートである。
【００６４】
出力処理に関して、クロック１４ｂから表示タイミングを指示するクロック信号を受けると、出力部１３は、すでに復号部１１ｂから渡されているメディアデータを外部出力する（ステップＳＴ４１）。以後、表示タイミングを指示するクロック信号を受ける度に、この動作を繰り返す。
【００６５】
ここで、フレーム数が最小値となる発生頻度を考慮して、ΔＴ時間を設定することで、この発明の実施の形態１に係るデータ受信装置と同様に、揺らぎの大きさ分のフレーム数を蓄積部１２に正確に残すことができる。蓄積部１２に溜まったメディア符号化データの廃棄を判断する所定の時間（ΔＴ）の長さは、揺らぎの変動周期もしくは分布に基づいて設定してもよい。
【００６６】
なお、発生頻度の監視は、例えば図７のステップＳ３２で、復号部１１ｂが蓄積部１２内に残っているメディア符号化データのフレーム数を算出する際に行えばよい。また、ΔＴ時間の再設定は、例えば同図のステップＳ３８で、蓄積部１２より１フレーム分のメディア符号化データを読み出し、廃棄する際に行えばよい。
【００６７】
このように、蓄積部１２に溜まったメディアデータの廃棄を判断する所定の時間（ΔＴ）の長さを揺らぎの変動周期もしくは分布に基づいて設定することで、揺らぎに対応しながら低遅延でメディアデータの出力が行えるようになる。
【００６８】
また、蓄積部１２にメディア符号化データが溜まった時間を計測する時刻計測手段（タイマ）を設けない場合には、クロック１４ｂから通知されるタイミングを用いて復号フレーム数もしくは出力フレーム数を計数することで、計数値が所定値に達した時点で、時刻計測手段により計測していたΔＴ時間の経過とみなして代用してもよい。
【００６９】
このように、蓄積部１２にメディア符号化データが溜まった時間を時刻計測手段で計測しない場合には、復号フレーム数もしくは出力フレーム数を計数して、蓄積部１２に継続して溜まっている時間を計測することで、時刻計測手段を持たない装置でも揺らぎに対応しながら低遅延でメディアデータの出力が行えるようになる。
【００７０】
以上のように、この発明の実施の形態２に係るデータ受信装置によれば、蓄積部１２にメディア符号化データが溜まった状態が所定の時間（ΔＴ）以上継続した場合に、蓄積部１２のメディア符号化データをフレーム単位で廃棄するようにしたので、メディア符号化データの受信揺らぎや復号揺らぎに影響されず、正確に余剰分だけメディア符号化データを廃棄し、低遅延でメディアデータを出力することができる。
【００７１】
また、この発明の実施の形態２に係るデータ受信装置によれば、蓄積部１２に溜まったメディア符号化データの廃棄を判断する所定の時間（ΔＴ）の長さを揺らぎの変動周期もしくは分布に基づいて設定するようにしたので、揺らぎに対応しながら低遅延でメディアデータの出力が行うことができる。
【００７２】
また、この発明の実施の形態２に係るデータ受信装置によれば、蓄積部１２にメディア符号化データが溜まった時間を時刻計測手段（タイマ）で計測しない場合には、復号フレーム数もしくは出力フレーム数を計数して、蓄積部１２に継続して溜まっている時間を計測するようにしたので、時刻計測手段を持たない装置でも揺らぎに対応しながら低遅延でメディアデータの出力が行うことができる。
【符号の説明】
【００７３】
１  データ受信装置、１０  受信部、１１ａ、１１ｂ  復号部、１２  蓄積部、１３  出力部、１４ａ、１４ｂ  クロック。
【図１】
2014007703.tif 000003
【図２】
2014007703.tif 000004
【図３】
2014007703.tif 000005
【図４】
2014007703.tif 000006
【図５】
2014007703.tif 000007
【図６】
2014007703.tif 000008
【図７】
2014007703.tif 000009
【図８】
2014007703.tif 000010
【図９】
2014007703.tif 000011