JP4008734B2 - Data reproducing apparatus and mobile phone - Google Patents

Data reproducing apparatus and mobile phone Download PDF

Info

Publication number
JP4008734B2
JP4008734B2 JP2002092538A JP2002092538A JP4008734B2 JP 4008734 B2 JP4008734 B2 JP 4008734B2 JP 2002092538 A JP2002092538 A JP 2002092538A JP 2002092538 A JP2002092538 A JP 2002092538A JP 4008734 B2 JP4008734 B2 JP 4008734B2
Authority
JP
Japan
Prior art keywords
data
video stream
unit
video
frame
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2002092538A
Other languages
Japanese (ja)
Other versions
JP2003032690A (en
Inventor
義徳 松井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2002092538A priority Critical patent/JP4008734B2/en
Publication of JP2003032690A publication Critical patent/JP2003032690A/en
Application granted granted Critical
Publication of JP4008734B2 publication Critical patent/JP4008734B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Mobile Radio Communication Systems (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、データ再生装置及びデータ再生方法に関し、特に、画像データの受信側にて、ユーザの好みや伝送エラーの発生状況に応じて、受信側で取得する画像データの伝送エラー耐性及び映像品質を切替え可能とするデータ再生処理に関するものである。
【0002】
【従来の技術】
近年、映像音声データの圧縮符号化方式に関する国際標準規格MPEG-4(Moving Picture Experts Group,Phase4,IS0/IEC14496)の制定に伴い、狭帯域における映像音声データの配信が可能になった。例えば、64kbit/sの帯域幅を有する伝送路では、1画面の横方向の画素数が176個,縦方向の画素数が144個であり、かつフレームレートが5〜6フレーム/秒である映像データと、電話品質なみの音声データとを同時に伝送可能である。
【0003】
上記MPEG−4ビデオ規格により規定されているシンプルプロファイルでは、1シーンを構成する個々の物体の画像であるVOP(video object plane)として、それぞれ符号化タイプが異なる、I−VOP及びP−VOPが使用される。ここで、I−VOPは、その画像データの圧縮処理あるいは伸張処理に際して他のVOPの画像データを参照しないものである。したがって、I−VOPに対する符号化処理あるいは復号化処理は、他のVOPの画像データとは関係なく、単独で行うことが可能である。一方、P−VOPは、処理対象となるP−VOPの画像データの圧縮処理あるいは伸張処理を行う際、対象P−VOPの直前に位置するI−VOPあるいはP−VOPの画像データに基づいて予測して得られる予測データと、対象P−VOPの画像データとの差分成分を求め、該差分成分を符号化あるいは復号化するものである。
【0004】
I−VOPの繰り返し周期は、広帯域を使用するデジタル衛星放送では、I−VOPが約0.5秒に1回現れる周期とすることが一般的である。つまり、日本のテレビ放送では1秒間のフレーム数は約30であるから、15フレーム毎にI−VOPが出現することになる。一方、狭帯域では、符号化された画像データ(符号化データ)の符号量の多いI−VOPの繰返し周期を長くし、符号化データの符号量の少ないP−VOPやB−VOP(つまりその符号化あるいは復号化の際に他のVOPの画像データを参照するもの)の出現頻度をできるだけ高くするほうが、I−VOPの出現頻度を高くするより、映像品質の改善効果が大きい。しかし、I−VOPの繰返し周期を長くする、つまりI−VOPの出現頻度を低くすることは、エラー耐性の面からは好ましいものではなく、パケットロスの発生時には画像の乱れが長期間続くことになる。なお、上述したMPEG−4におけるVOPは、MPEG−1,2におけるフレームに相当するものである。
【0005】
また、無線網における受信端末の規格を定める国際標準化団体3GPP(Third Generation Partnership Project、http://www.3gpp.org)は、サーバと受信端末の間でビデオデータを伝送するためのプロトコルとしてはRTP/UDP/IP(real time transport protocol/user datagram protocol/internet protocol)を使用し、また受信端末からサーバにデータを要求するためのプロトコルとしては、RTSP/TCP/IP(real time streaming protocol/transmission control protocol/ internet protocol)を使用することを規定している。さらに、3GPPの規格では、シーン記述言語として、SMIL(Synchronization Multimedia Markup Language, http://www.w3.org)が使用可能となっている。
【0006】
図18は、インターネットを利用して画像データを配信するための従来のデータ伝送システムを示している。
このデータ伝送システム20は、上記符号化データであるビデオストリームをパケット化してパケットデータを送信するサーバ20aと、上記ビデオストリームを受信して、画像データを再生する受信端末20bと、上記パケットデータを上記サーバ20aから受信端末20bへ伝送するためのインターネットなどのネットワーク11とを有している。
【0007】
この通信システム20では、まず、受信端末20bとサーバ20aとの間で、サーバ20aに対するデータ要求を行うためのメッセージMesの通信がRTSP/TCP/IPにより行われ、これにより、受信端末20bからデータ要求信号Dauがサーバ20aへ送信される。すると、サーバ20aからは、ビデオストリームDstrが、データ伝送プロトコルであるRTP/UDP/IPにより受信端末20bに伝送される。受信端末20bでは、受信したビデオストリームDstrの復号化処理が行われ、画像データが再生される。
【0008】
図19は、MPEG規格に対応した符号化処理を行う従来の画像符号化装置を説明するための図であり、図19(a)はその構成を示すブロック図である。
この画像符号化装置100は、図18に示すサーバ20aを構成するものであり、I−VOPの符号化時には原画像データDvをそのまま圧縮符号化し、P−VOPの符号化時には原画像データDvとその予測データDpとの差分データDvdを圧縮符号化し、符号化データDeを出力する符号化器102と、該符号化器102にて原画像データDv及び差分データDvdの圧縮により得られた圧縮データDc及び圧縮差分データDcdを伸張して、I−VOPに対応する局所復号化データDd及びP−VOPに対応する局所復号化差分データDddを出力する復号化器103と、上記原画像データDvとその予測データDpとの減算処理により上記差分データDvdを作成する減算器101とを有している。
【0009】
上記画像符号化装置100は、上記局所復号化差分データDddに予測データDpを加算してP−VOPに対応する局所復号化データDdpを作成する加算器104と、上記I−VOPに対応する局所復号化データDd及び上記P−VOPに対応する局所復号化データDdpを参照データとして記録するフレームメモリ105とを備え、該フレームメモリ105から読み出された画像データが、予測データDpとして上記減算器101及び加算器104に供給されるものである。
【0010】
次に上記従来の画像符号化装置100の動作について簡単に説明する。
画像符号化装置100では、図19(b)に示すように、外部から入力された原画像データDvがVOP毎に符号化される。
例えば、最初のVOPデータV(1)はI−VOPとして符号化され、第2番目から第5番目のVOPデータV(2)〜V(5)がP−VOPとして符号化され、第6番目のVOPデータV(6)はI−VOPとして、第7番目から第10番目のVOPデータV(7)〜V(10)は、P−VOPとして符号化される。
【0011】
符号化処理が開始されると、まず、最初のVOPデータV(1)は、I−VOPとして符号化される。つまり、I−VOPに対応する原画像データDvは符号化器102にて圧縮符号化され、符号化データDeとして出力される。このとき、上記符号化器102からは、原画像データDvの圧縮により得られた圧縮データDcが復号化器103に出力される。すると、復号化器103では、圧縮データDcに対する伸張処理が行われてI−VOPの局所復号化データDdが生成される。そして、該復号化器103から出力された局所復号化データDdは、参照データとしてフレームメモリ105に格納される。
【0012】
次に、第2番目のVOPデータV(2)はP−VOPとして符号化される。つまり、P−VOPに対応する原画像データDvは上記符号化器102前段の減算器101に入力され、該減算器101では、上記フレームメモリ105から予測データDpとして読み出された画像データと、上記P−VOPに対応する原画像データDvとの差分データDvdが生成される。そして、差分データDvdは符号化器102にて圧縮符号化され、符号化データDeとして出力される。
【0013】
また、このとき、上記符号化器102からは、差分データDvdの圧縮により得られた圧縮差分データDcdが復号化器103に出力される。すると、復号化器103では、圧縮差分データDcdに対する伸張処理が行われて局所復号化差分データDddが生成される。加算器104では、上記復号化器103から出力された局所復号化差分データDddと、上記フレームメモリ105から読み出された画像データである予測データDpとの加算処理により、P−VOPに対応する局所復号化データDdpが生成される。そして、加算器104から出力された局所復号化データDdpは参照データとしてフレームメモリ105に格納される。
【0014】
その後、上記第3番目〜第5番目のVOPデータV(3)〜V(5)は、上記第2番目のVOPデータと同様、P−VOPとして符号化される。さらに、上記第6番目のVOPデータV(6)は第1番目のVOPデータV(1)と同様、I−VOPとして符号化され、これに続く第7番目〜第10番目のVOPデータV(7)〜V(10)は、上記第2番目のVOPデータV(2)と同様、P−VOPとして符号化される。
このように上記画像符号化装置100では、原画像データDvに対する符号化処理がI−VOPの周期を5VOPとして行われる。
【0015】
図20は、従来の画像復号化装置を説明するためのブロック図である。
この画像復号化装置200は、図19(a)に示す画像符号化装置100から出力された符号化データDeを復号化するものであり、上記データ伝送システム20における受信端末20bのデコード部を構成するものである。
つまり、この画像復号化装置200は、上記画像符号化装置100からの符号化データDeに対する伸張復号処理をVOP単位で行い、I−VOPの復号化時には原画像データDvに相当する復号化データDdを出力し、P−VOPの復号化時には、原画像データDvとその予測データDpとの差分データDvdに相当する復号化差分データDddを出力する復号化器201と、上記復号化差分データDddに予測データDpを加算してP−VOPに対応する復号化データDdecpを生成する加算器202と、上記I−VOPに対応する復号化データDd及び上記P−VOPに対応する復号化データDdecpを参照データとして記録するフレームメモリ203とを備え、該フレームメモリ203から上記予測データDpとして読み出された画像データが、上記加算器202に供給されるものである。
【0016】
次に、従来の画像復号化装置200の動作について簡単に説明する。
復号化処理が開始されると、この画像復号化装置200では、上記画像符号化装置100からの符号化データDeがVOP毎に復号化される。
【0017】
つまり、I−VOPに対応する符号化データDeが復号化器201に入力されると、該復号化器201では、該符号化データDeに対する伸張復号化が行われて、原画像データDvに相当する復号化データDdが生成される。そして、該復号化データDdは、上記画像復号化装置200から出力されるとともに、参照データとしてフレームメモリ203に格納される。
【0018】
また、P−VOPに対応する符号化データDeが復号化器201に入力されると、該復号化器201では、該符号化データDeに対する伸張復号化が行われて、原画像データDvとその予測データDpとの差分データDvdに相当する復号化差分データDddが生成される。該復号化差分データDddが加算器202に入力されると、該加算器202では、該復号化差分データDddと、上記フレームメモリ203から予測データDpとして読み出された画像データとを加算する加算処理が行われて、P−VOPに対応する復号化データDdecpが生成される。そして、該復号化データDdecpは、上記画像復号化装置200から出力されるとともに、参照データとしてフレームメモリ203に格納される。
【0019】
【発明が解決しようとする課題】
ところが、図18に示すような従来のデータ伝送システム20では、以下のような問題があった。
つまり、RTP/UDP/IPを用いたデータの伝送では、プロトコルの特性によって、配信サーバから送出されたデータが受信端末に到着しないことがある。その要因の1つには、受信したパケット中にビット誤りが発生すると、UDPにおける誤り検出機構により、着信したパケットが破棄されることがあげられる。特に、サーバから受信端末までの伝送経路に無線伝送路が含まれる伝送システムでは、受信端末での電波強度が弱い場合、受信した伝送データを正しく復調できず、このような場合に、上記受信データのビット誤りが発生することとなる。
【0020】
また、受信端末では、1フレーム(VOP)分のデータ(ビデオストリーム)がそろわないと、その映像フレームに対する復号化処理を行うことができない。このため、伝送誤りが発生した場合の対応方法として、例えば、伝送誤りが発生したときには、正常にデータが受信されなかったフレーム(VOP)のデータを破棄し、その後Iフレーム(I−VOP)のデータが正常に受信されるまで、既にデータが正常に受信された映像フレームを表示し、そしてIフレームのデータが正常に受信されたとき、このIフレームから復号処理を再開するという方法が用いられる。この対応方法では、映像の乱れはないが、Iフレームを受信するまで表示画像の動きが止まることとなる。
【0021】
さらに、伝送誤りが発生した場合のその他の方法として、正常にデータが受信されなかったフレーム(VOP)のデータを、直前の正しく受信され復号化されたフレーム(VOP)のデータで代用し、このフレームのデータを、以降のフレームの復号化に使用するという方法がある。この方法では、データが正常に受信されなかったフレーム以外のフレームでは、表示画像の動きが止まることがないため、スムーズな表示が行われる。しかしながら、復号化の対象となる対象フレームのデータは、符号化処理の際に参照したフレームとは異なるフレームを参照して復号化されるため、表示内容が大きく乱れる可能性がある。視聴者の嗜好にもよるが、一般的には、伝送誤りが発生したときには、対象フレームに対する、破棄された参照フレームのデータを、参照フレーム以外の他のフレームのデータに置き換える方法を用いるより、伝送誤りの発生後にIフレームのデータが正常に受信されるまで、伝送誤りの発生直前のフレームを表示する方法を用いる方が、再生画像としては違和感は少ないものが得られる。
【0022】
ところが、従来の受信端末は、伝送誤りが発生した場合の対応方法として、上記いずれかの方法を実行するように予め設定されており、このため、伝送誤りが発生した場合に表示される画像に対して、視聴者が大きな違和感を抱くことがあるという問題があった。
さらに、データ圧縮に伴う映像品質の劣化を抑えるには、Iフレーム(I−VOP)の出現頻度をできる限り少なくするべきであるが、一方で、伝送エラーの発生により異常な状態となった復号化処理を、素早く正常な復号化処理に復帰させるという観点からすると、Iフレーム(I−VOP)の出現頻度をあまり少なくすることはできないという問題もあった。
【0023】
本発明は、上記のような課題を解決するためになされたもので、伝送誤りが発生した場合に表示される画像を、視聴者にとって違和感のほとんどないものとすることができるデータ再生装置,データ再生方法、及び該データ再生方法をソフトウエアにより行うためのプログラムを格納したデータ記録媒体を得ることを目的とする。
【0024】
【課題を解決するための手段】
本発明に係るデータ再生装置は、画面内符号化された画像フレームを含むビデオストリームを、符号化された1枚の画像フレームについて1以上のパケットで受信する画像データ受信部と、画像データ受信部において受信されたビデオストリームを復号化して、画像フレームを出力する復号化部と、上記復号化部から出力された画像フレームを表示する表示部と、上記ビデオストリーム中の上記画面内符号化された画像フレームの出現間隔を取得し、上記出現間隔に応じてパケットの欠落による伝送エラー時の上記復号化部の動作モードを切り替える制御部と、を備え、上記制御部は、上記ビデオストリームに含まれる上記画面内符号化された画像フレームの出現間隔と予め設定された所定値とを比較し、上記復号化部を、(1)上記出現間隔が上記所定値以上の場合には、上記欠落したパケットにより構成される画像フレームのみ復号処理をスキップして、上記スキップされた画像フレーム以外の画像フレームを復号処理し、(2)上記出現間隔が上記所定値より小さい場合には、上記ビデオストリームの復号処理を画面内符号化された画像フレームを構成するパケットが受信されるまで一旦停止する、動作モードに設定することを特徴とするものである。
【0025】
本発明は、上記データ再生装置が携帯電話機であることを特徴とするものである。
【0051】
【発明の実施の形態】
以下、本発明の実施の形態について説明する。
(実施の形態1)
図1は、本発明の実施の形態1によるデータ伝送システムを説明するための図であり、図1(a)は該システムの構成を、図1(b)は、該システムでのデータ伝送処理を示している。
この実施の形態1のデータ伝送システム10aは、所定のビデオストリーム(画像符号化データ)を送出するサーバ100aと、該サーバ100aから送出されたビデオストリームを受信して映像データを再生する受信端末(クライアント端末)200aと、該ビデオストリームをサーバ100aから受信端末200aへ伝送するためのネットワーク11とを有している。
【0052】
ここで、上記サーバ100aは、同一の画像系列のデジタル映像信号を、異なる符号化条件でもって符号化して得られる複数のビデオストリームを格納するとともに、上記各ビデオストリームの属性が記述されたSMILデータを格納したデータ格納部120と、該データ格納部120に格納されているデータを、ネットワーク11上に送出するデータ送信部110aとから構成されている。また、上記データ格納部120にはハードディクスなどの大容量記憶装置が用いられている。
【0053】
また、この実施の形態1では、上記複数のビデオストリームは、上記同一の画像系列に対応するエラー耐性の異なる複数の画像データである。具体的には、複数のビデオストリームはそれぞれ、デジタル映像信号を画面内画素値相関を用いて符号化してなる符号量の大きい画面内符号化データと、デジタル映像信号を画面間画素値相関を用いて符号化してなる符号量の少ない画面間符号化データとを含み、上記各画像データにおける画面内符号化データの出現間隔、言い換えるとIフレーム(I−VOP)の周期が異なるものである。
そして、上記ハードディスクなどのデータ格納部120には、Iフレームの周期が異なる、つまりIフレームの周期が10秒,5秒,2秒,1秒であるビデオストリームがビデオファイルDv1〜Dv4として格納され、上記SMILデータDaとしてSMILファイルFSD1が格納されている。
【0054】
図2(a)は、このSMILファイルFSD1の記述内容を示している。
SMILファイルFSD1の各行の先頭に記述される<smil>、</smil>、<body>、</body>、<switch>、</switch>、<video>等の文字列は、要素(エレメント)と呼ばれ、その要素に続く、記述の内容を宣言するものである。
例えば、smil要素710a及び/smil要素710bは、smil要素を含む行と/smil要素を含む行との間に位置する行が、SMIL規格に従って記述されたものであることを宣言するものである。
body要素720a及び/body要素720bは、body 要素を含む行と/body要素を含む行との間に位置する行では、再生されるビデオデータの属性,例えば所在場所を示す情報(URL),符号化パラメータ(Iフレームの周期)に関する情報などが記述されていることを宣言するものである。
【0055】
switch要素730a及び/ switch 要素730bは、switch 要素を含む行と/switch要素を含む行との間に位置する複数のvideo要素はそのうちの1つが選択されるべきものであることを宣言するものである。video要素は、このvideo要素を含む行701〜704の記述により、動画像データが指定されることを宣言するものである。
例えば、SMILファイルFSD1における各video要素の項目には、Iフレームの出現間隔(Iフレームの周期)が、i-frame-interval属性として記載されており、この属性に基づいて、ユーザ設定の内容に最も適合するvideo要素が選択される。i-frame-interval属性の具体値としては“1s”,“2s”,“5s”,“10s”があり、ビデオデータファイルは、具体的なi-frame-interval属性値が小さいものほど、エラー耐性強度の高いものとなっている。なお、ここではIフレームの出現間隔が異なるビデオデータファイルを4つ示しているが、これは、2つでも3つでも、あるいは5つ以上でもあってもよいことは言うまでもない。
【0056】
また、各video要素の項目に含まれる属性値は、i-frame-interval属性に限らず、エラー耐性強度を直接示すsystem-error-resilient-level属性であってもよい。
例えば、図5(a)は、SMILファイルの他の例として、エラー耐性強度が異なる4つのビデオデータファイルを示すSMILファイルFSD2を示している。
【0057】
このSMILファイルFSD2は、switch 要素731aを含む行と/switch要素731bを含む行との間に記述された、エラー耐性強度が異なる4つのvideo要素711〜714に関する項目を含んでいる。また、各video要素の項目には、エラー耐性強度が、system-error-resilient-level属性として記載されており、この属性に基づいて、ユーザ設定の内容に最も適合するvideo要素が選択される。
【0058】
ここでは、上記各video要素711,712,713,714におけるsystem-error-resilient-level属性の具体値はそれぞれ、“1”,“2”,“3”,“4”である。
【0059】
図3は上記システムを構成するサーバ100a及びクライアント端末200aの詳細な構成を示す図である。
上記サーバ100aを構成するデータ送信部110aは、クライアント端末200aからHTTPにより送信されたSMILデータの要求メッセージMdrを受け、該要求に従ってデータ格納部120からSMILファイルDaを読み出し、読み出したSMILファイルDaをHTTPによりSMILデータDsmとして送信するHTTP送受信部101と、クライアント端末200aからRTSPにより送信されたデータ要求メッセージMrtspを受け、要求されたビデオファイル名を示すデータ指定信号Scを出力するRTSPメッセージ送受信部102と、該データ指定信号Scを受け、該データ指定信号Scが示すビデオデータファイル名に相当するビデオストリームDeをデータ格納部120から読み出し、読み出したビデオストリームをRTPによりRTPデータDrtpとして伝送するRTPデータ送信部103とを有している。
【0060】
また、上記クライアント端末200aは、ユーザの操作により種々のユーザ操作信号Sop1,Sop2,Serrを出力するユーザ操作部213と、該ユーザ操作信号Sop1に基づいて上記SMILデータの要求メッセージMdrをHTTPにより送信するとともに、上記サーバ100aからHTTPにより送信されたSMILデータDsmを受信するHTTP送受信部211と、該SMILデータDsmを解析するとともに、その解析結果、及び上記ユーザ操作により設定されたエラー耐性強度の具体的なレベル(数値)を示すレベル信号Serrに基づいて、所定のデータを指定するデータ指定信号Scを出力するSMILデータ解析部212とを有している。
【0061】
ここで、SMILデータ解析部212は、上記レベル信号Serrに基づいて、サーバ側に用意されている、Iフレームの周期が異なる複数のビデオデータのうちの所要のものを決定し、該決定されたビデオデータを指定する指定信号Scを出力するものである。
【0062】
上記クライアント端末200aは、上記データ指定信号ScをRTSPメッセージ信号Mrtspとして送信するとともに、該信号Mrtspの応答信号Sackを受信するRTSPメッセージ送受信部214と、上記サーバ100aから送信されたRTPデータDrtpを受信してビデオストリームDeを出力するRTPデータ受信部216と、該ビデオストリームDeを復号化して画像データDdecを出力するデコード部210と、該画像データDdecに基づいて画像表示を行うとともに、上記ユーザ操作信号Sop2に応じた表示を行う表示部218とを有している。
【0063】
以下、上記ユーザ操作部213における、上記エラー耐性の設定を行うための構成について具体的に説明する。
図4(a)は、受信端末200aにおける、取得すべき画像データのエラー耐性強度を設定するための画面(エラー耐性設定画面)を示している。なお、ここでは、上記受信端末200aは、携帯電話などの携帯端末201aとする。
例えば、携帯端末201aのボタン操作部21の操作により、端末の初期メニューにおける複数の項目のうちの、各種の初期設定を行うための項目〔設定〕を選択し、さらに、より具体的な項目〔ストリーミング受信設定〕,項目〔エラー耐性強度設定〕の選択を順次行うと、図4(a)に示すエラー耐性設定画面22bが、携帯電話の表示パネル22の中央に表示される。
【0064】
なお、図4(a)中、22aは、電波強度を示す画面、22cは、操作の案内をする画面であり、画面22cには、ボタン操作部21の上下カーソルキー21a,21cの操作により、エラー耐性設定画面22bに示されたエラー耐性強度のレベルを選択し、かつ、確定ボタン21eの操作により、選択されたレベルを確定すべきことが示されている。
このエラー耐性設定画面22bは、取得すべき画像データのエラー耐性強度のレベルとして、予め設定されたエラー耐性強度〔高レベル〕、あるいは予め設定されたエラー耐性強度〔低レベル〕のいずれかを設定する画面である。また、携帯端末201aでは、エラー耐性強度〔高レベル〕,〔低レベル〕にはそれぞれ、エラー耐性強度値として、0〜100の整数値のうちの80,20が対応付けられている。そして、ユーザ操作、つまりボタン操作部21の上下カーソルキー21a,21cの操作により、エラー耐性強度〔高レベル〕及びエラー耐性強度〔低レベル〕のいずれかが選択され、確定ボタン21eの操作により、選択されたレベルが確定されると、確定されたレベルに対応するエラー耐性強度値が、端末のエラー耐性強度値として保持される。
【0065】
次に動作について説明する。
このデータ伝送システム10aでは、図1(b)に示すように、受信端末200aからサーバ100aへ、SMILデータを要求するSMIL要求信号Sd1(図3に示すSMIL要求メッセージMrd)がHTTPにより送信され、その応答として、サーバ100aからSMILデータDsmがHTTP信号Dsdにより受信端末200aに送信される。
その後、受信端末200aでは、SMILデータDsmの解析結果及びユーザ設定の内容に基づいて、必要とするビデオストリームを指定するメッセージMrtspをRTSP信号Sd2としてサーバ100aへ送信する処理が行われる。そして、その応答信号Sackがサーバ100aからRTSPにより受信端末200aに送信された後、サーバ100aから、所定のビデオストリームDstrがRTPデータDrtpとして受信端末200aに送信される。
【0066】
以下、上記サーバ100aと受信端末200aとの間でのデータ伝送処理について詳述する。
まず、受信端末(クライアント端末)200aでは、所望の画像データに対応するSMILデータの要求を行う前に、ユーザ操作部213に対するユーザの操作により種々の設定が行われる。
例えば、上記受信端末200aが図4(a)に示す携帯端末201aである場合、ユーザは、携帯端末201aのボタン操作部21の操作により、端末の初期メニューにおける複数の項目のうちの、各種の初期設定を行うための項目〔設定〕を選択し、さらに、より具体的な項目〔ストリーミング受信設定〕,項目〔エラー耐性強度設定〕の選択を順次行う。すると、操作信号Sop2に応じて、表示部218,つまり携帯端末の表示パネル22には、図4(a)に示すエラー耐性設定画面22bが表示される。
【0067】
このエラー耐性設定画面22bには、取得すべき画像データのエラー耐性強度のレベル選択の候補として、エラー耐性強度〔高レベル〕及びエラー耐性強度〔低レベル〕が表示されている。
例えば、ユーザによる、ボタン操作部21の上下カーソルキー21a,21cの操作により、エラー耐性強度〔低レベル〕が選択され、確定ボタン21eの操作により、選択されたエラー耐性強度〔低レベル〕が確定されると、該エラー耐性強度〔低レベル〕に対応する整数値“20”が、携帯端末のエラー耐性強度値として保持される。
【0068】
そして、ユーザが、受信端末200aの表示部218に画像データ選択画面(図示せず)を表示させ、この画像データ選択画面にて、取得したい画像データを指定する操作を行うと、この操作に応じた操作信号Sop1がHTTP送受信部211に入力され、HTTP送受信部211からは、指定した画像データに関連するSMILデータを要求する信号Sd1(図3に示すSMIL要求メッセージMdr)(図1(b)参照)がサーバ100aに送信される。すると、サーバ100aでは、そのHTTP送受信部101により、クライアント端末200aからのSMILデータの要求信号Sd1が受信され、該HTTP送受信部101では、上記SMILデータ要求信号Sd1に応じて、データ格納部120からSMILファイルDaを読出し、これをSMILデータDsmとしてHTTPにより送信する処理が行われる。このSMILデータDsmはネットワーク11を介して受信端末(クライアント端末)200aへ伝送され、そのHTTP送受信部211にて受信される。
【0069】
すると、受信端末200aでは、上記受信されたSMILデータDsmはSMILデータ解析部212にて解析され、4つのビデオデータファイルのうち、ユーザ設定の内容に最も適合するものが選択され、選択されたビデオデータファイルを示す指定信号ScがRTSPメッセージ送受信部214に出力される。該RTSPメッセージ送受信部214では、指定信号ScをRTSPによりRTSPメッセージ信号Mrtspとしてサーバ100aへ送信する処理が行われる。
【0070】
以下、上記SMILデータ解析部212にて、SMILファイルに記述されている4つのビデオデータファイルから、ユーザにより設定されたエラー耐性レベルに対応するビデオデータファイルを選択する処理について、具体的に説明する。
まず、SMILデータ解析部212では、SMILファイルにおける各video要素701〜704を数値化する処理が行われる。
具体的には、N(N:自然数)個のvideo要素がSMILファイルに記述されている場合、各video要素に対して、以下の計算式(1)に基づいて、数値化レベルY(Y:0以上の整数)を付与する。
Y=100・(n−1)/(N−1) ・・・(1)
ここで、数値化レベルYは、N個のvideo要素のうちで、対応するビデオデータファイルのエラー耐性強度が低い方から第n番目であるvideo要素に付与される値である。
なお、上記計算式(1)により算出された計算値が、整数値でない場合には、数値化レベルYは、該計算値以上で、これに最も近い整数値とされる。
ここでは、N=4であるので、4つのvideo要素701〜704には、対応するエラー耐性強度の高い方から順に、整数値“100”,“67”,“33”,“0”が付与される、つまり、video要素704には整数値Yv4(=100)が、video要素703には整数値Yv3(=67)が、video要素702には整数値Yv2(=33)が、video要素701には整数値Yv1(=0)が付与される。
【0071】
なお、N=2である場合は、対応するエラー耐性強度の高い方のvideo要素には整数値“100”が、対応するエラー耐性強度の低い方のvideo要素には整数値“0”が付与される。N=3である場合は、3つのvideo要素には、対応するエラー耐性強度の高い方から順に、整数値“100”,“50”,“0”が付与され、N=5である場合は、5つのvideo要素には、対応するエラー耐性強度の高い方から順に、整数値“100”,“75”,“50”,“25”,“0”が付与される。
【0072】
そして、携帯端末にてユーザにより設定されている、取得すべき画像データのエラー耐性強度の値(ユーザ設定値)Xus1(=20)と、上記各video要素701〜704に対して付与された整数値とを比較する処理が行われ、エラー耐性強度のユーザ設定値Xus1(=20)に最も近い整数値Yv2(=33)が付与されているvideo要素702が、選択される(図2(b)参照)。
【0073】
上記のようにして、受信端末200aにて、SMILファイルに示されているエラー耐性の異なるビデオデータファイルから、受信端末でのユーザ設定に応じたものが指定され、指定されたビデオデータファイルを示す指定信号ScがRTSPメッセージ信号Mrtspとしてサーバ100aへ送信されると、サーバ100aでは、受信端末200aからのRTSPメッセージ信号MrtspはRTSPメッセージ送受信部102にて受信され、上記指定信号ScがRTPデータ送信部103に出力される。すると、該送信部103では、データ格納部120に格納されている複数のビデオファイルの中から、該指定信号Scに基づいて所定のビデオファイルを選択してRTPデータDrtpとして送信する処理が行われる。
【0074】
そして、上記RTPデータDrtpがネットワーク11を介して受信端末200aに伝送されると、該受信端末200aでは、RTPデータDrtpがRTPデータ受信部216にて受信され、ビデオストリームDeがデコード部210に出力される。デコード部210ではビデオストリームDeの復号化処理により画像データDdecが生成されて表示部218に出力される。表示部218では、画像データDdecに基づいて画像表示が行われる。
【0075】
このように本実施の形態1のデータ伝送システム10aでは、サーバ100aを、同一の画像系列に対応する画像データの符号化データとして、Iフレームの周期が異なる複数のビデオストリームを格納したデータ格納部120と、受信端末からの指定信号Scに応じて、該複数のビデオストリームのうちの所定のビデオストリームを送信するデータ送信部110とを有するものとし、受信端末200aを、ユーザの設定内容に基づいて、サーバ100a側に用意されている複数のビデオストリームのうちの、所要のエラー耐性を有するものを指定する指定信号Scをサーバ100aへ送信するものとしたので、ユーザの好みに応じて、送信側から提供されるビデオストリームを、伝送エラーに対する耐性の高いものとするか、あるいは映像品質のよいものとするかを選択することができる。
【0076】
なお、上記実施の形態1では、SMILデータにおける各ビデオファイルに関する記述を示す記述要素として<video>を用いているが、これは<ref>であってもよい。
また、上記実施の形態1では、データ要求を行うプロトコルとしてRTSPを用い、ビデオデータを伝送するプロトコルとしてRTPを用いているが、これらは他のプロトコルであってもよい。
また、上記実施の形態1では、サーバに用意されている符号化条件の異なる複数のビデオストリームに関する情報をSMILデータに含めて伝送する場合を示したが、上記複数のビデオストリームに関する情報は、SDP(session description protocol)データやMPEG−4Systemデータ(MPEG−4におけるシーン記述データ)などに含めて伝送するようにしてもよい。
【0077】
さらに、上記実施の形態1では、ビデオストリームのエラー耐性強度をIフレーム周期により示す場合について説明したが、ビデオストリームのエラー耐性強度は、Iフレーム周期以外の、MPEG-4映像符号化規格で規定されるさまざまなエラー耐性モードを記述するための情報により示すようにしてもよい。
例えば、ビデオストリームのエラー耐性モードを記述するための情報は、ビデオストリームにおけるビデオパケットのサイズを表す情報、あるいはHEC(Head Extension Code)の使用有無(つまりVOPヘッダ情報がビデオパケットのヘッダに含まれているか否か)を示す情報であってもよく、さらに、データパーティショニング(つまり重要な情報をパケットの先頭に配置すること)の使用の有無やRVLC(Reversible Variable Length Code)、つまりパケットの先頭だけでなく後端からも可変長符号の解読が可能なデータ構造の使用の有無を示す情報であってもよい。
【0078】
また、上記実施の形態1では、各video要素の項目に含まれる属性として、i-frame-interval属性や、エラー耐性強度を直接示すsystem-error-resilient-level(error-protection-1eve1ともいう。)属性を示したが、これらの属性値は、予め、エラー耐性強度のレベルに比例した0〜100の整数値に変換したものであってもよく、この場合は、上記実施の形態1のように、受信端末にて、エラー耐性強度に関する属性値を、0〜100の整数値に対応付ける数値化を行う必要はない。
【0079】
また、上記実施の形態1では、受信すべき画像データのエラー耐性強度のレベルを設定する方法として、エラー耐性強度〔高レベル〕及びエラー耐性強度〔低レベル〕のいずれかを選択する方法(図4(a))について示したが、受信端末における、受信すべき画像データのエラー耐性強度のレベルを設定する方法は、一定範囲内のエラー耐性強度のレベルをスライドバーなどを用いて指定する方法であってもよい。
【0080】
図4(b)は、スライドバーを用いてエラー耐性強度のレベルを設定する携帯端末201bを説明するための図であり、該携帯端末201bにおけるエラー耐性設定画面22dを示している。なお、図4(b)中、図4(a)と同一符号は、実施の形態1の携帯端末201aにおけるものと同一のものを示している。
例えば、携帯端末201bのボタン操作部21の操作により、上記実施の形態1における携帯端末201aでの操作と同様に、端末の初期メニューにおける複数の項目のうちの、各種の初期設定を行うための項目〔設定〕を選択し、さらに、より具体的な項目〔ストリーミング受信設定〕,項目〔エラー耐性強度設定〕の選択を順次行うと、図4(b)に示すエラー耐性設定画面22dが、携帯端末の表示パネル22の中央に表示され、エラー耐性設定画面22dの下側には、操作の案内をする画面22eが表示される。
【0081】
ここで、上記エラー耐性設定画面22dは、取得すべき画像データのエラー耐性強度のレベルを、スライドバー22d1により設定する画面である。また、このエラー耐性設定画面22dでは、上記スライドバー22d1を左右方向に移動可能な範囲が示されており、この移動範囲22d2における左端位置Lp,右端位置Rpがそれぞれ、エラー耐性強度〔最低レベル〕を指定する位置,エラー耐性強度〔最高レベル〕を指定する位置であり、上記左端位置Lp及び右端位置Rpの中間点Mpは、エラー耐性強度〔中レベル〕を指定する位置である。
【0082】
そして、この携帯端末201bのユーザ操作部213では、スライドバーの位置に応じて、エラー耐性強度レベルとして、0〜100の整数値が、下記の計算式(2)に基づいて、算出される。
X=Ls・(1/Rs)・100 ・・・(2)
ここで、Xはエラー耐性強度レベル、Rsは上記スライド範囲22d2における左端位置Lp及び右端位置Rpの間の距離(スライド長)、Lsは上記スライドバー22d1の、上記左端位置Lpからの距離(スライド距離)である。
例えば、上記スライド長Rsが50mm、スライドバー22d1のスライド距離Lsが15mmである場合、上記計算式(2)より、上記エラー耐性強度レベルXは、Xus1(=(15/50)・100=30)となる。なお、計算式(2)より算出されたエラー耐性強度レベルの計算値が、整数値でない場合には、エラー耐性強度レベルは、該計算値以上でこれに最も近い整数値とされる。
【0083】
また、上記画面22eには、ボタン操作部21の左右カーソルキー21b,21dの操作により、エラー耐性設定画面22eに示されたスライドバー22d1を移動させてエラー耐性強度のレベルを指定し、かつ、ボタン操作部21の確定ボタン21eの操作により、指定されたエラー耐性強度のレベルを確定すべきことが示されている。
そして、ユーザ操作、つまりボタン操作部21の左,右カーソルキー21b,21dにより、スライドバー22d1のスライド距離Lsが指定され、確定ボタン21eの操作により、指定されたスライド距離が確定されると、上記計算式(2)に基づいてエラー耐性強度が計算され、その計算値が、携帯端末のエラー耐性強度値として保持される。
【0084】
また、この場合も、携帯端末にてユーザにより設定されている、取得すべき画像データのエラー耐性強度の値(ユーザ設定値)Xus1(=30)に基づいて、上記各video要素711〜714のうちの1つを決定する処理では、上記実施の形態1で示したように、エラー耐性強度のユーザ設定値Xus1に最も近い整数値Yv2(=33)が付与されているvideo要素712が選択される(図2(b)参照)。
【0085】
なお、ユーザ設定値に基づいて、上記各video要素711〜714のうちの1つを決定する処理は、上記実施の形態1のように、ユーザ設定値Xus1に最も近い整数値が付与されているvideo要素が選択される処理に限らず、図5(b)に示すように、例えば、ユーザ設定値Xus2(=40)以上で、かつ該設定値に最も近い整数値Yv3(=67)が付与されているvideo要素713を選択するようにしてもよい。
【0086】
また、上記実施の形態1では、ユーザが、受信端末にて、受信すべき画像データに対するエラー耐性強度を設定する場合について説明したが、受信端末は、受信すべき画像データに対するエラー耐性強度を、受信電波の状態に応じて自動的に設定するものであってもよい。
【0087】
さらに、上記実施の形態1では、同一の画像系列に対応するエラー耐性の異なる複数の画像データとして、Iフレームに対応する符号化データの出現間隔の異なるものを示したが、これらのエラー耐性の異なる複数の画像データは、それぞれフレームレートが異なるもの、該各画像データに対する伝送プロトコルが異なるもの、あるいは、パケット化する際のデータ単位の大きさの異なるものであってもよい。
【0088】
例えば、フレームレートが高い画像データは、フレームレートが低い画像データに比べてエラー耐性強度が高いものであり、再送や重複伝送を含む伝送プロトコルにより伝送される画像データは、再送や重複伝送を含まない伝送プロトコルにより伝送される画像データに比べて、エラー耐性強度が高いものである。また、パケット化の際のデータ単位が小さい画像データは、パケット化の際のデータ単位が大きい画像データに比べて、エラー耐性強度が高いものである。
【0089】
以下、パケット化する際のデータ単位の大きさの異なる複数の画像データについて具体的に説明する。
図6は、同一の画像系列に対応するエラー耐性の異なる2つの画像データとして、デジタル映像信号Sdvを符号化してなる、パケット化する際のデータ単位の大きさの異なる第1及び第2の画像符号化データを示している。
【0090】
すなわち、図6(a)に示す第1の画像符号化データD1は、各フレームF1〜F3に対応するデジタル映像信号を、符号化器Encにて、1フレームの符号化データが1つのビデオパケットVPa1に格納されるよう符号化して得られた、エラー耐性強度の低いものである。このようなエラー耐性の低い第1の画像符号化データD1では、フレームF2に対応する符号化データの伝送中にて伝送エラーが発生した場合、エラー部Perrを含むパケットVPa1の符号化データ、つまりフレームF2の符号化データがすべて復号化できなくなる。
【0091】
また、図6(b)に示す第2の画像符号化データD2は、各フレームF1〜F3に対応するデジタル映像信号を、符号化器Encにて、1フレームに対応する符号化データが、3つのビデオパケットVPb1〜VPb3に分散して格納されるよう符号化して得られた、エラー耐性強度の高いものである。このようなエラー耐性の高い第2の画像符号化データD2では、フレームF2に対応する符号化データの伝送中に伝送エラーが発生しても、エラー部Perrが含まれるパケットVPb3に対応する符号化データの復号化ができなくなるだけで、他のパケットVPb1及びVPb2に対応する符号化データの復号化は可能である。
なお、画像符号化データは、上記のように、フレーム毎に、あるいはフレームより小さいデータ単位毎にパケットされているものに限らず、フレームより大きいデータ単位毎にパケット化されているものであってもよい。
【0092】
(実施の形態2)
図7は本発明の実施の形態2によるデータ伝送システムを説明するための図であり、該システムのサーバ及びクライアント端末の構成を示している。
この実施の形態2のデータ伝送システム10bは、実施の形態1のシステム10aにおけるクライアント端末200aに代えて、ユーザにより設定された、受信すべき画像データのエラー耐性強度と、サーバ100aからのRTPデータDrtpの伝送エラーの発生率とに基づいて、最適なエラー耐性強度を有するビデオストリームを決定し、決定したビデオストリームを指定する指定信号Scをサーバ100aに送信するクライアント端末200bを備えたものである。
【0093】
つまり、この実施の形態2の受信端末200bは、最初に受信する画像データを、ユーザにより設定されたエラー耐性強度に基づいて、SMILファイルに示される複数のビデオデータファイルから選択したものとし、受信開始後は、受信される画像データのエラー発生率に応じて、受信中の所定のエラー耐性強度を有する画像データを、SMILファイルに示される複数のビデオデータファイルから選択したものに切替えるものである。
【0094】
以下、この実施の形態2のクライアント端末200bについて詳述する。
このクライアント端末200bは、クライアント端末200aにおけるRTPデータ受信部216,及びSMILデータ解析部212とは、それぞれ異なった動作を行うRTPデータ受信部216b,及びSMILデータ解析部212bを有している。なお、このクライアント端末200bにおけるHTTP送受信部211,RTSPメッセージ送受信部214,デコード部210,ユーザ操作部213,及び表示部218は、実施の形態1のクライアント端末200aにおけるものと同一のものである。
【0095】
上記RTPデータ受信部216bは、RTPデータDrtpを受信するとともに、RTPデータDrtpにおけるRTPパケットのタイムスタンプ情報Itsを出力し、さらに該RTPデータの伝送エラーの発生率を検出して、このエラー発生率を示すエラー信号Rerrを出力するものである。また、上記SMILデータ解析部212bは、エラー信号Rerrが示すエラー発生率と、一定の閾値との比較結果に応じて、RTPデータとしてサーバから供給されるビデオストリームを、符号化条件(つまりエラー耐性強度)が異なる他のビデオストリームに切り換えるための指定信号ScをRTSPメッセージ送受信部214に出力するものである。なお、上記一定の閾値は、この受信端末200bに対して予め設定されている端末固有の基準値である。
【0096】
ここで、上記RTPデータ受信部216bでは、RTPパケット(RTPデータ)のヘッダ部に含まれるシーケンス番号情報に基づいて上記パケットロス率がエラー発生率として計算される。また、SMILデータ解析部212bでは、パケットロス率が大きくなってきた時、Iフレーム周期の短いビデオストリームを選択し、一方、パケットロス率が低い時は、Iフレーム周期の長いビットストリームを選択するための指定信号Scが出力される。
【0097】
以下、上記エラー発生率の計算を具体的に説明する。
上記RTPパケットには、そのヘッダ部に含まれるシーケンス番号情報が示す、パケット伝送順の連続したシーケンス番号が付与されている。RTP受信部216bは、一定の単位時間毎に受信すべきRTPパケットの総数Naを、その単位時間の最初に受信したRTPパケットのシーケンス番号と、該単位時間の最後に受信したRTPパケットのシーケンス番号から算出するとともに、実際にこの単位時間内に受信されたRTPパケットの総数Nrをカウントし、その時点でのエラー発生率Erateを、下記の計算式(3)により求める。
Erate = Nr/Na ・・・(3)
次に動作について説明する。
この実施の形態2のデータ伝送システム10bの動作は、受信端末200bのSMILデータ解析部212b及びRTPデータ受信部216bの動作のみ、実施の形態1のデータ伝送システム10aの動作と異なっている。
つまり、受信端末200bでは、実施の形態1の受信端末200aと同様、所望の画像データに対応するSMILデータの要求を行う前に、ユーザ操作部213に対するユーザの操作により種々の設定が行われる。
つまり、ユーザは、図4(a)に示すエラー耐性設定画面22bにて、受信すべき画像データのエラー耐性強度のレベルを設定する。そして、ユーザが、画像データ選択画面(図示せず)にて、取得したい画像データを指定する操作を行うと、この操作に応じた操作信号Sop1がHTTP送受信部211に入力され、HTTP送受信部211からは、指定した画像データに関連するSMILデータを要求する信号Sd1(SMIL要求メッセージMdr)(図1(b)参照)がサーバ100aに送信される。
【0098】
すると、サーバ100aでは、そのHTTP送受信部101により、受信端末200bからのSMILデータの要求信号Sd1が受信され、該HTTP送受信部101では、上記SMILデータ要求信号Sd1に応じたSMILファイルDaを、データ格納部120から読出し、これをSMILデータDsmとしてHTTPにより送信する処理が行われる。このSMILデータDsmはネットワーク11を介して受信端末200bへ伝送され、そのHTTP送受信部211にて受信される。
【0099】
受信端末200bでは、上記受信されたSMILデータDsmはSMILデータ解析部212bにて解析され、4つのビデオデータファイルのうち、ユーザ設定の内容に最も適合するものが選択され、選択されたビデオデータファイルを示す指定信号ScがRTSPメッセージ送受信部214に出力される。該RTSPメッセージ送受信部214では、指定信号ScがRTSPによりRTSPメッセージ信号Mrtspとしてサーバ100aへ送信する処理が行われる。
【0100】
すると、サーバ100aでは、受信端末200bからのRTSPメッセージ信号MrtspはRTSPメッセージ送受信部102にて受信され、上記指定信号ScがRTPデータ送信部103に出力される。すると、該送信部103では、データ格納部120に格納されている複数のビデオファイルの中から、該指定信号Scに基づいて所定のビデオファイルを選択してRTPデータDrtpとして送信する処理が行われる。
【0101】
そして、上記RTPデータDrtpがネットワーク11を介して受信端末200bに伝送されると、該受信端末200bでは、RTPデータDrtpがRTPデータ受信部216bにて受信され、ビデオストリームDeがデコード部210に出力される。デコード部210ではビデオストリームDeの復号化処理により画像データDdecが生成されて表示部218に出力される。表示部218では、画像データDdecに基づいて画像表示が行われる。
【0102】
このようにサーバ100aから受信端末200bへRTPデータDrtpが伝送されている状態で、上記RTPデータ受信部216bにて、RTPデータDrtpの伝送エラーの発生率が検出され、このエラー発生率を示すエラー信号Rerrが上記SMILデータ解析部212bに出力される。
【0103】
すると、SMILデータ解析部212bでは、エラー信号Rerrが示すエラー発生率と、この受信端末200b固有の基準値である一定の閾値との比較結果に基づいて、RTPデータとしてサーバ100aから供給されるビデオストリームを、符号化条件(つまりエラー耐性強度)が異なる他のビデオデータに切り換えるための指定信号ScがRTSPメッセージ送受信部214に出力される。すると、RTSPメッセージ送受信部214では、該指定信号ScをRTSPによりRTSPメッセージ信号Mrtspとしてサーバ100aへ送信する処理が行われる。
【0104】
サーバ100aでは、受信端末200bからのRTSPメッセージ信号MrtspがRTSPメッセージ送受信部102にて受信され、上記指定信号ScがRTPデータ送信部103に出力される。すると、該送信部103では、データ格納部120に格納されている複数のビデオファイルの中から、該指定信号Scにより示されるビデオファイルを選択してRTPデータDrtpとして送信する処理が行われる。
【0105】
以下、上記画像データの伝送中における、エラー発生率を計算する処理、並びに、算出されたエラー発生率に応じて、ストリームを切替える処理について、具体的に説明する。
上記SMILデータ解析部212bは、SMILファイルに記述されている各video要素に関する情報、及び該各video要素に対応する画像データ(ビデオストリーム)の受信状態を示す情報を記録するワークメモリ(図示せず)を有している。
【0106】
図8(a)は、このワークメモリに記録されている情報を示している。
ここで、上記ワークメモリには、図5(a)に示すSMILファイルFSD2における、video要素711〜714に関する情報が記録されており、このメモリに記録されている項目の数(エントリ数)は、SMILファイルFSD2における、<switch>要素731a及び</switch>要素731bの間に記述されたエレメント数(つまりvideo要素の数)に一致している。
【0107】
各項目(エントリ)には、図8(a)に示すように、対応するビデオストリームのネットワーク上での所在場所を示すURL(サーバアドレス)と、対応するビデオストリームが有するエラー耐性強度と、対応するビデオストリームが、受信されて再生されている受信(再生)状態であるか、受信も再生もされていない非受信(非再生)状態であるかを示す実行フラグと、対応するビデオストリームに関する、最新のタイムスタンプとが含まれている。
エントリ番号〔2〕の項目E2では、実行フラグの値が“1”となっており、これは、この項目E2に対応するビデオストリームが、現在、受信(再生)が行われていることを示している。また、エントリ番号〔1〕,〔3〕,〔4〕の項目E1,E3,E4では、実行フラグの値が“0”となっており、これは、これらの項目E1,E3,E4に対応するビデオストリームが、現在、受信(再生)が行われていないことを示している。
【0108】
また、各項目E1〜E4におけるエラー耐性強度の値は、“0”,“33”,“67”,“100”となっており、これらの値は、実施の形態1で説明したように、計算式(1)を用いて、SMILファイルFSD2における、system-error-resilient-level属性の値に基づいて算出されたものである。
【0109】
また、各項目E1〜E4における最新タイムスタンプは、受信した最新のRTPパケットのヘッダに付与されているタイムスタンプにより随時更新されるものであり、特定の項目に対応するビデオストリームを、他の項目に対応するビデオストリームに切り替える際、データ要求タイミングの決定に用いるものである。
図8(a)では、項目E1,E3,E4における最新タイムスタンプの値は“0”であり、この値“0”は、これらの項目に対応するビデオストリームはまだ受信されていないことを示している。また、項目E2における最新タイムスタンプの値は“3060000”である。MPEG-4では、タイムスタンプは90kHzのクロックを用いて設定されているため、この値“3060000”は、34秒に相当する。
【0110】
また、図8(b)は、受信端末200bにおけるエラー発生率とエラー耐性強度との関連付けを示している。
この関連付けに関する情報は、SMILデータ解析部212bの情報記憶部(図示せず)に、受信端末固有のテーブル情報Rteとして記録されているものである。ここでは、エラー発生率(閾値)Eth(Eth=0)パーセント,Eth(0<Eth≦3)パーセント,Eth(3<Eth≦6)パーセント,Eth(6<Eth)パーセントはそれぞれ、エラー耐性強度が最低レベルであるビデオストリーム、エラー耐性強度の数値化レベルが“30”であるビデオストリーム、エラー耐性強度の数値化レベルが“60”であるビデオストリーム、エラー耐性強度が最高のビデオストリームに対応している。つまり、このテーブル情報では、エラー発生率0パーセント,3パーセント,6パーセントが、エラー発生率に応じてビデオストリームを切替える際の閾値となっている。
【0111】
次に、エラー発生率の変動に応じてビデオストリームの切替えを行う際のSMILデータ解析部212bの動作について説明する。
なお、受信端末におけるエラー耐性強度の設定値Xus2は、図5(b)に示すように“40”であり、また、SMILファイルFSD2に示されている各video要素に対応するビデオストリームのうちで、そのエラー耐性強度の数値化レベルがエラー耐性強度の設定値Xus2に最も近いものを、受信すべきビデオストリームとして選択するものとする。また、SMILファイルFSD2に示されている各video要素に付与されているエラー耐性強度の数値化レベルYは、上記計算式(1)により算出されたものである。つまり、video要素714には整数値Ys4(=100)が、video要素713には整数値Ys3(=67)が、video要素712には整数値Ys2(=33)が、video要素711には整数値Ys1(=0)が付与されている。従って、受信端末200bは、最初に受信するビデオストリームとして、video要素712に対応する、エラー耐性強度の数値化レベルYがYs2(=33)であるビデオストリームを要求して、受信することとなる。
【0112】
まず、受信端末200bのSMILデータ解析部212bでは、ワークメモリに、エントリ〔2〕に対応する実行フラグの値“1”が書き込まれる。
そして、 受信端末200bのRTSPメッセージ送受信部214では、エントリ〔2〕に対応するビデオストリーム、つまりvideo要素712に示されるビデオストリームを要求するデータ要求メッセージを、RTSPにより送信する処理が行われる。
【0113】
その後、受信端末200bに、video要素712に対応するビデオストリームが入力されると、RTPデータ受信部216bでは、video要素712に対応するビデオストリームが受信され、該ビデオストリームに対応する最初に受信したRTPパケットのタイムスタンプ情報Itsが、SMILデータ解析部212bに出力される。
すると、SMILデータ解析部212bでは、ワークメモリに記録されている、エントリ〔2〕に対応するタイムスタンプの値が、順次最新の値に更新される。
【0114】
そして、RTPデータ受信部216bにて、一定時間(例えば10秒間)、受信状況を観測した結果、エラー発生率がゼロである場合、SMILデータ解析部212bでは、図8(b)に示すテーブル情報Rteに基づいて、SMILファイルに示されているビデオストリームのうちの、エラー耐性強度が最低のビデオストリームが選択され、このビデオストリームを、受信すべき画像データとして指定する指定信号が、RTSPメッセージ送受信部214に出力される。
【0115】
このとき、SMILデータ解析部212bでは、エントリ〔2〕に対応する実行フラグの値を“0”に、エントリ〔1〕に対応する実行フラグの値を“1”にする変更する処理が行われる。
その後、RTSPメッセージ送受信部214では、エントリ〔1〕に対応するURL(サーバアドレス)に対して、RTSPにより、データ要求が行われ、その際、エントリ〔2〕に対応する最新タイムスタンプに基づいて、要求するデータ(ビデオストリーム)の先頭位置が指定される。
【0116】
図9は、RTSPによるシーケンス、つまりメッセージ交換の例を示す図である。
ビデオストリームの切替えを行う場合、まず、受信端末200bのRTSPメッセージ送受信部214から、エントリ〔1〕に対応するURL(サーバアドレス)に対して、RTSPにより、video要素711が示すビデオストリームに対するDESCRIBE要求メッセージ(DESCRIBE rtsp://s.com/s1.mp4 RTSP/1.0)Sm1が送信される。すると、上記URLに対応するサーバ100aのRTSPメッセージ送受信部102からは、上記DESCRIBE要求メッセージSm1に対する応答メッセージ(RTSP/1.0 200 OK)Rm1が受信端末200bに対して送信される。この応答メッセージRm1には、video要素711が示すビデオストリームに対するSDPデータDsdが含まれている。
【0117】
続いて、受信端末200bのRTSPメッセージ送受信部214から、エントリ〔1〕に対応するURL(サーバアドレス)に対して、RTSPにより、video要素711が示すビデオストリームに対する第1のSETUP要求メッセージ(SETUP rtsp://s.com/s1.mp4/trackID=1 RTSP/1.0)Sm2及び第2のSETUP要求メッセージ(SETUP rtsp://s.com/s1.mp4/trackID=2 RTSP/1.0)Sm3が送信される。すると、上記URLに対応するサーバ100aのRTSPメッセージ送受信部102からは、上記第1,第2のSETUP要求メッセージSm2,Sm3に対する応答メッセージ(RTSP/1.0 200 OK)Rm2,Rm3が受信端末200bに対して送信される。
【0118】
その後、受信端末200bのRTSPメッセージ送受信部214から、エントリ〔1〕に対応するURL(サーバアドレス)に対して、RTSPにより、video要素711が示すビデオストリームに対するPLAY要求メッセージ(PLAY rtsp://s.com/s1.mp4 RTSP/1.0)Sm4が送信される。PLAY要求の際には、要求データの先頭位置を情報(Range:npt=37-)により指定する。現在受信中のビデオストリームに対する最新の受信RTPパケットのタイムスタンプ値は、ビデオストリームに対する表示時刻が34秒であることを示しているため、要求データの先頭位置は、34秒以降とする。ここでは、ビデオストリームの切替えに対する処理遅延時間を3秒程度と想定して、要求データの先頭位置を、表示時刻が37秒である位置としている。
【0119】
上記PLAY要求メッセージSm4に対しては、上記URLに対応するサーバ100aのRTSPメッセージ送受信部102から、応答メッセージ(RTSP/1.0 200 OK)Rm4が受信端末200bに対して送信される。このとき、同時に、上記サーバ100aのRTP送信部103では、ビデオストリーム(video要素711)のRTPパケットをRTPにより受信端末に送信する処理が開始され(時刻Ts2)、受信端末200aのRTPデータ受信部216bでは、該RTPパケットを受信する処理が開始される(時刻Tr2)。
【0120】
また、RTSPメッセージ送受信部214では、RTPデータ受信部216bにて受信された、エントリ〔1〕に対するRTPパケットのタイムスタンプが、エントリ〔2〕に対するRTPパケットのタイムスタンプの値以下であるか否かの判定が行われ、エントリ〔1〕に対するRTPパケットのタイムスタンプが、エントリ〔2〕に対するRTPパケットのタイムスタンプの値以下であれば、エントリ〔2〕に対するサーバに対して、TEARDOWN要求メッセージSm5を発行する処理が行われる。同時に、エントリ〔2〕に対するRTPパケットを受信する処理が停止される(時刻Tr3)。
【0121】
言いかえると、ビデオストリーム(s1.mp4)に対応する、最初に受信したRTPパケットのタイムスタンプ値から計算される表示時刻(T1)が、ビデオストリーム(s2.mp4)に対応する、既に受信している最新のRTPパケットのタイムスタンプ値から計算される表示時刻(T2)よりも小さい場合のみ、RTPデータ受信部216bは、ビデオストリーム(s1.mp4)に対応するRTPパケットの受信を停止する。これにより、ビデオストリームの切替えの際に、切替え後のビデオストリームの再生が、切替えの前のビデオストリームの再生に続けて途切れなく行われることとなる。
【0122】
一方、エントリ〔2〕に対するサーバ100aでは、RTPデータ送信部103は上記TEARDOWN要求メッセージ(TEARDOWN rtsp://s.com/s2.mp4 RTSP/1.0)Sm5の受信により、エントリ〔2〕に対するRTPパケットの送信を停止し(時刻Ts3)、TEARDOWN要求メッセージSm5に対する応答メッセージRm5を受信端末200bに送信する処理が行われる。
【0123】
受信端末200bのRTPデータ受信部216bは、エントリ〔1〕に対するRTPパケットのタイムスタンプと重なるタイムスタンプを持つ、エントリ〔2〕に対するRTPパケットを破棄する。
一方、受信状況の観測結果、エラー発生率が5パーセントとなった場合は、図8(b)に示すテーブル情報Rteに基づいて、エラー耐性強度の数値化レベルが“60”に近いものが選択され、受信中のビデオストリームを、エントリ〔3〕に対応するビデオストリームに切り替える処理が行われる。
なお、図9中、時刻Ts1は、ビデオストリーム(s2.mp4)の送信開始時刻、時刻Ts4は、ビデオストリーム(s1.mp4)の送信停止時刻、時刻Tr1は、ビデオストリーム(s2.mp4)の受信開始時刻、時刻Tr4は、ビデオストリーム(s1.mp4)の受信停止時刻である。
【0124】
図10は、上記受信端末でのビデオストリームの切替処理を、具体的なRTPパケットを例に挙げて説明するための図である。
図10(a)は、ビデオストリーム(s2.mp4)に対応する受信バッファに格納されている、最後に受信した数個のRTPパケットP2(k-s)〜P2(k+3)を示しており、図10(b)は、ビデオストリーム(s1.mp4)に対応する受信バッファに格納されている、最初に受信した数個のRTPパケットP1(j)〜P1(j+m)を示している。なお、ここで、RTPパケットP2(k),P2(k+1),P2(k+2),P2(k+3)のタイムスタンプの値から計算される表示時刻T2(k),T2(k+1),T2(k+2),T2(k+3)は、それぞれ、36.00(秒),36.50(秒),37.00(秒),37.50(秒)であり、RTPパケットP1(j),P1(j+1),P1(j+2),P1(j+3) ,P1(j+4)のタイムスタンプの値から計算される表示時刻T1(j),T1(j+1),T1(j+2),T1(j+3) ,T1(j+4)は、それぞれ、37.00(秒),37.25(秒),37.50(秒),37.75(秒),38.00(秒)である。
【0125】
具体的には、RTPデータ受信部216bは、ビデオストリーム(s1.mp4)の受信をRTPパケットP1(j)から開始し、ビデオストリーム(s2.mp4)の受信を、RTPパケットP2(k+3)を受信した時点で終了する。そして、タイムスタンプ値(表示時刻)がビデオストリーム(s1.mp4)のものと重なる、ビデオストリーム(s2.mp4)に対応するRTPパケットP2(k+2),P2(k+3)は破棄する。
【0126】
図11は、上記受信端末でのビデオストリームの切替処理のフローを示す図である。
SMILデータ解析部212bが、エラー発生率に基づいて、受信すべきビデオストリームをビデオストリーム(s2.mp4)からビデオストリーム(s1.mp4)に切り替えることを決定すると、図11に示すビデオストリームの切替処理が開始される。
【0127】
まず、RTPデータ受信部216bでは、切替後のビデオストリーム(s1.mp4)に対応する、RTPパケットPs1を受信する処理が行われるとともに、SMILデータ解析部212bでは、変数Taに、最初に受信したRTPパケットPs1のタイムスタンプ値Ts1から算出される表示時刻(切替後データの表示時刻)が設定される(ステップS1)。
【0128】
次に、SMILデータ解析部212bでは、変数Tbに、切替前のビデオストリーム(s2.mp4)に対応する、最後に受信したRTPパケットPs2のタイムスタンプ値Ts2から算出される表示時刻(切替前データの表示時刻の最大値)が設定される(ステップS2)。
次に、SMILデータ解析部212bでは、上記変数Ta、つまり上記表示時刻(切替後データの表示時刻)が、上記変数Tb、つまり上記表示時刻(切替前データの表示時刻の最大値)以下であるか否かの判定が行われる(ステップS3)。
【0129】
上記ステップS3での判定の結果、上記変数Taが上記変数Tb以下でないとき、さらに、切替前のビデオストリームに対応するRTPパケットを受信したか否かの判定が行われる(ステップS4)。
上記ステップS4での判定の結果、切替前のビデオストリームに対応するRTPパケットを受信していないときは、再度ステップS4での判定が行われる。
一方、上記ステップS4での判定の結果、切替前のビデオストリームに対応するRTPパケットを受信したときは、ステップS2にて、上記変数Tbに、最後に受信したRTPパケットPs2のタイムスタンプ値Ts2から得られる表示時刻を設定する処理が行われる。
【0130】
また、上記ステップ3での判定の結果、上記変数Taが上記変数Tb以下であるときは、RTPデータ受信部216bでは、切替前のビデオストリーム(s2.mp4)に対応する、RTPパケットPs2を受信する処理が停止され、かつ、切替前のビデオストリーム(s2.mp4)に対応する、タイムスタンプ値がビデオストリーム(s1.mp4)のものと重なるRTPパケットPs2を破棄する処理が行われ、さらにRTSPメッセージ送受信部214では、切替前のビデオストリーム(s2.mp4)に対応する、RTPパケットPs2の送信を停止する要求メッセージの発行が行われる(ステップS5)。
【0131】
図12は、上記ビデオストリームの切替時の、受信端末のRTSPメッセージ送受信部214及びRTPデータ受信部216bでの処理を、表示時刻に従って具体的に説明する模式図である。
RTPデータ受信部216bのエラー発生率計算部216b1では、RTPパケットの受信中、例えば、5秒に1回の間隔で、エラー発生率を計算する処理P1が行われる。
そして、例えば、エラー発生率の変動により、現在受信中のビデオストリーム(例えばs2.mp4)の他のビデオストリーム(例えばs1.mp4)への切替を決定する処理P2が行われると(時刻Tp2)、RTSPメッセージ送受信部214では、ビデオストリーム(s1.mp4)に対するDESCRIBE要求メッセージ、SETUP要求メッセージ,PLAY要求メッセージを発行する処理P3が行われる。
【0132】
その後、RTPデータ受信部216bでは、ビデオストリーム(s1.mp4)に対するRTPパケットP1(j)を受信すると、この最初に受信したRTPパケットP1(j)のタイムスタンプ値に相当する表示時刻(37.00秒)を、切替え前のビデオストリーム(s2.mp4)に対する、この時点で受信している最新のRTPパケットP2(k+2)のタイムスタンプ値に相当する表示時刻(37.00秒)と比較する処理P4が、図11に示す処理フローに従って行われる(時刻Tp4)。
【0133】
この比較処理P4の結果、ビデオストリーム(s1.mp4)に対応する、最初に受信したRTPパケットP1(j)のタイムスタンプ値と重なるタイムスタンプ値が付与されている、ビデオストリーム(s2.mp4)に対応するRTPパケットが受信されている場合、ビデオストリーム(s2.mp4)に対応するRTPパケットの受信を停止する処理P5が行われる(時刻Tp5)。このため、受信停止処理P5の後に送信されてくるRTPパケットP2(k+4)〜P2(k+n)は、この受信端末では、受信されない。また、切替え前のビデオストリーム(s2.mp4)に対応する、受信されたRTPパケットP2(k+2)及びP2(k+3)のタイムスタンプ値に相当する表示時刻は、切替え後のビデオストリーム(s1.mp4)に対応する、最初に受信したRTPパケットP1(j)のタイムスタンプ値に相当する表示時刻より大きいので、これらのRTPパケットP2(k+2)及びP2(k+3)は、RTPデータ受信部216bにて破棄される。
さらに、上記RTPデータ受信部216bでの受信停止処理P5と並行して、RTSPメッセージ送受信部214では、ビデオストリーム(s2.mp4)に対するTEARDOWN要求メッセージを発行する処理P6が行われる。
【0134】
なお、図12中、P2(k-r)は、ビデオストリーム(s2.mp4)に対応する先頭のRTPパケットであり、P2(k-7)〜P2(k+3)は、受信停止処理P5の開始の数秒前から受信停止処理P5の開始直前までの間に受信したビデオストリーム(s2.mp4)に対応するRTPパケットであり、これらのRTPパケットP2(k-7),P2(k-6),P2(k-5),P2(k-4),P2(k-3),P2(k-2),P2(k-1),P2(k),P2(k+1)にはそれぞれ、表示時刻32.50(秒),33.00(秒),33.50(秒),34.00(秒),34.50(秒),35.00(秒),35.50(秒),36.00(秒),36.50(秒)に相当するタイムスタンプ値が付与されている。
【0135】
また、P1(j+1)〜P1(j+3)は、ビデオストリーム(s1.mp4)に対応する、最初に受信したRTPパケットP1(j)に続くRTPパケットであり、これらのRTPパケットP1(j+1)〜P1(j+3)には、表示時刻37.25(秒),37.50(秒),37.75(秒)に相当するタイムスタンプ値が付与されている。また、P1(j+m)は、ビデオストリーム(s1.mp4)に対応する、最後に受信したRTPパケットである。
【0136】
なお、RTPパケットのヘッダに書かれたタイムスタンプ値は、RTSPによる送信メッセージにおけるRTP-Infoフィールドに記述されているtimestampにより、その初期値が与えられるものであるため、上記比較処理では、異なるビデオストリームに対応するRTPパケットの間で、単純にタイムスタンプ値同士が比較されるのではなく、タイムスタンプ値に相当する表示時刻同士が比較される。
【0137】
また、上記表示時刻Tdは、下記の計算式(4)により算出される。
Td=Th+(Pts−Ptsi)/Sts ・・・(4)
ここで、Thは、PLAY応答メッセージにおけるRangeフィールドに指定されている再生データの先頭位置を示す時刻であり、Ptsは、各パケットに付与されているタイムスタンプ(パケットタイムスタンプ)の値であり、Ptsiは、上記タイムスタンプの初期値であり、Stsはタイムスケールであり、該タイムスケールは、DESCRIBE要求の応答としてサーバから返されるSDP情報中にて指定されている。
【0138】
このように本実施の形態2のデータ伝送システム10bでは、実施の形態1の受信端末200aのRTPデータ受信部216に代えて、サーバ100aからのRTPデータDrtpを受信するとともに、受信したRTPパケットの解析により、受信端末におけるRTPパケットのロス率(伝送エラー率)を示すエラー信号RerrをSMILデータ解析部212bに出力するRTPデータ受信部216bを備え、データ解析手段212bでは、該パケットのロス率の変動に応じて、サーバ100aから提供されるビデオストリームを、伝送エラー耐性の高いものあるいは映像品質の高いものに切り換えることをサーバに指令する信号(データ指定信号)Scを発生するので、受信端末200bでは、伝送エラーの発生率が高いときには、サーバ側に用意されているビデオストリームのうちで、Iフレーム周期の短いエラー耐性の高いものを受信することができ、伝送エラーの発生率が低いときには、サーバ側に用意されているビデオストリームのうちで、Iフレーム周期の長い映像品質の高いものを受信することができる。
【0139】
なお、上記実施の形態2では、SMILファイルが、図5(a)に示す、エラー耐性強度が異なる4つのビデオデータファイルを示すもの(SMILファイルFSD2)である場合について説明したが、SMILファイルは、図13(a)に示すように、エラー耐性強度が異なる3つのvideo要素を示し、各video要素には、エラー耐性強度が、system-protocol属性として記載されているもの(SMILファイルFSD3)であってもよい。
【0140】
すなわち、図13(a)に示すSMILファイルFSD3は、switch 要素732aを含む行と/switch要素732bを含む行との間に記述された、エラー耐性強度が異なる3つのvideo要素721〜723に関する項目を含んでいる。また、各video要素の項目には、エラー耐性強度が、system-protocol属性として記載されており、この属性に基づいて、ユーザ設定の内容に最も適合するvideo要素が選択される。
【0141】
ここでは、上記各video要素721,722,723におけるsystem-protocol属性の具体値はそれぞれ、“nop”,“ret”,“fec+ret”である。該属性値“nop"は、video要素721に対応するビデオストリーム(s1.mp4)は、通常のデータ伝送プロトコルであるRTPにより伝送されるものであることを示している。また、上記属性値“ret"は、video要素722に対応するビデオストリーム(s2.mp4)は、通常のデータ伝送プロトコルであるRTPに対してエラー耐性を持たせた再送(ret:retransmission)を行う方法により伝送されるものであることを示している。さらに、上記属性値“fec+ret" は、video要素723に対応するビデオストリーム(s3.mp4)は、上記エラー耐性を持たせた、再送(ret:retransmission)を行う伝送方法よりさらに高いエラー耐性を持たせた、再送、及び重複伝送(fec = forward error correction)を行う方法により伝送されるものであることを示している。
【0142】
つまり、system-protocol属性値“nop”が付与されているvideo要素721に対応するビデオストリーム(s1.mp4)は、再送も重複伝送も行われないものであるため、エラー耐性が上記3つのvideo要素に対応するビデオストリームのうちで最も弱いものである。
従って、受信端末にてエラー耐性強度が〔弱レベル〕に設定されている場合、受信すべきビデオストリームとして、上記video要素721に対応するものが選択される。また、受信端末におけるエラー耐性強度の設定がない場合には、最初に受信するビデオストリームとしては、該video要素721に対応するもの(s1.mp4)が選択され、該ビデオストリーム(s1.mp4)の受信後に、伝送エラーの発生率が増大した場合、受信中のビデオストリームが、system-protocol属性値“ret”あるいは“ret + fec”が付与されているvideo要素722,723に対応するビデオストリーム(s2.mp4)あるいは(s3.mp4)に切替えられる。
なお、上記video要素722に対応する、再送を行う伝送方法により伝送されるビデオストリーム(s2.mp4)は、重複伝送を行う伝送方法により伝送されるもの、つまりそのvideo要素のsystem-protocol属性値が“fec”であるものとしてもよい。
【0143】
また、SMILデータ解析部212bでは、上記図13(a)に示すSMILファイルFSD3が入力された場合、該SMILファイルに基づいて、SMILファイルの記載情報を、図13(b)に示すように、ワークメモリ(図示せず)に記憶する処理が行われる。
すなわち、上記ワークメモリには、図13(a)に示すSMILファイルFSD3における、video要素721〜723に関する情報が記録される。ここで、該ワークメモリに記録される項目の数(エントリ数)は、SMILファイルFSD3における、<switch>要素732a及び</switch>要素732bの間に記述されたエレメント数(つまりvideo要素の数)に一致している。
【0144】
各項目(エントリ)には、図13(b)に示すように、対応するビデオストリームのネットワーク上での所在場所を示すURL(サーバアドレス)と、対応するビデオストリームの伝送プロトコルと、対応するビデオストリームが、受信されて再生されている受信(再生)状態であるか、受信も再生もされていない非受信(非再生)状態であるかを示す実行フラグと、対応するビデオストリームに関する、最新のタイムスタンプとが含まれている。
【0145】
エントリ〔1〕の項目E1では、実行フラグの値が“1”となっており、これは、この項目E1に対応するビデオストリームが、現在、受信(再生)が行われていることを示している。また、エントリ〔2〕,〔3〕の項目E2,E3では、実行フラグの値が“0”となっており、これは、これらの項目E2,E3に対応するビデオストリームが、現在、受信(再生)が行われていないことを示している。
【0146】
また、各項目E1〜E3におけるプロトコル種別を示す具体的な値は、“nop”,“ret”,“fec + ret”となっており、これらの値は、上記SMILファイルFSD3における、system-protocol属性の値と一致している。
また、各項目E1〜E3における最新タイムスタンプは、受信した最新のRTPパケットのヘッダに付与されているタイムスタンプにより随時更新されるものであり、特定項目に対応するビデオストリームを、他の項目に対応するビデオストリームに切り替える際、データ要求タイミングの決定に用いるものである。
【0147】
図13(b)では、項目E2,E3における最新タイムスタンプの値は“0”であり、この値“0”は、これらの項目に対応するビデオストリームはまだ受信されていないことを示している。また、項目E1における最新タイムスタンプの値は“3060000”である。MPEG-4では、タイムスタンプは90kHzのクロックを用いて設定されているため、この値“3060000”は、34秒に相当する。
また、図13(c)は、エラー発生率とプロトコルとの関連付けを示している。
【0148】
この関連付けに関する情報は、SMILデータ解析部212bの情報記憶部(図示せず)に、受信端末固有のテーブル情報Rtpとして記録されているものである。ここでは、エラー発生率Eth(Eth=0)パーセント,Eth(0<Eth≦3)パーセント,Eth(3<Eth)パーセントはそれぞれ、nopプロトコルにより伝送されるビデオストリーム、retプロトコルにより伝送されるビデオストリーム、fec + retプロトコルにより伝送されるビデオストリームに対応している。つまり、このテーブル情報では、エラー発生率0パーセント,3パーセントが、エラー発生率に応じてビデオストリームを切替える際の閾値となっている。
【0149】
そして、SMILデータ解析部212bでは、エラー発生率の変動に応じたビデオストリームの切替えが、図13(c)に示すエラー発生率とプロトコルとの関連付けに基づいて行われる。また、シームレスな再生を行うためのビデオストリームの切替えは、上記実施の形態2と同様、図9〜図12により説明した処理と同様に行われる。
【0150】
また、上記実施の形態2では、受信端末として、同一の画像系列に対応するエラー耐性の異なる複数の画像データのうちの、最初に受信すべき画像データのエラー耐性強度をユーザが設定するものを示したが、最初に受信すべき画像データのエラー耐性強度は、受信端末固有のデフォルト値としてもよい。
【0151】
この場合、受信端末は、例えば、SMILファイルFSD2により示された複数のvideo要素711〜714のうちの、エラー耐性強度のデフォルト値に適したvideo要素のビデオストリームを要求し、該ビデオストリームを受信することとなり、その後は、該受信端末では、ビデオストリームの受信中におけるエラー発生率に応じて、受信中のビデオストリームが適切なエラー耐性強度を有するビデオストリームに切替えられることとなる。
また、上記実施の形態2では、ビデオストリームの切替えを、受信中のビデオストリームに対するエラー発生率に応じて行うものを示したが、ビデオストリームの切替えを、受信中の電波強度に応じて行うようにしてもよい。
【0152】
(実施の形態3)
図14は本発明の実施の形態3によるデータ伝送システムを説明するための図であり、該システムのサーバ及びクライアント端末の構成を示している。
なお、図14中、図3と同一符号は実施の形態1のデータ伝送システム10aにおけるものと同一のものを示している。
【0153】
この実施の形態3のデータ伝送システム10cは、上記実施の形態1のシステム10aにおけるクライアント端末200aに代えて、サーバからのRTPデータ(RTPパケット)の伝送エラーの発生率やパケット到着時刻などの送信状況に関する情報Drrをサーバ100cに伝送するクライアント端末200cを備え、さらに実施の形態1のシステム10aにおけるサーバ100aに代えて、クライアント端末200cからの送信状況に関する情報Drrに基づいて、RTPデータとしてサーバから供給されるビデオストリームを、符号化条件が異なる他のビデオストリームに切り換えるサーバ100cを備えたものである。
【0154】
上記クライアント端末200cは、クライアント端末200aにおけるRTPデータ受信部216aに代えて、RTPデータDrtpを受信するとともに、該RTPデータの伝送エラーの発生率及びRTPパケットの到着時刻などの送信状況を検出するRTPデータ受信部216cを備えるとともに、この送信状況を示す情報Drrをレシーバレポートとしてサーバ100cに送信するRTCPレポート送受信部219を備えたものである。
【0155】
また、上記サーバ100cは、サーバから送信したRTPパケットの個数やシーケンス番号に関する情報Dsrをセンダーレポートとして受信端末200cのRTCPレポート送受信部219へ送信するとともに、送受信部219からのレシーバレポートを受信するRTCPレポート送受信部104を備えるとともに、実施の形態1のサーバにおけるRTPデータ送信部103に代えて、レシーバレポートとしての情報Drrを受け、伝送エラーの発生頻度及びRTPパケットの到着時刻などの送信状況に基づいて、RTPデータとして送信されるビデオストリームを、符号化条件が異なる他のビデオストリームに切り換えるRTPデータ送信部103cを備えたものである。
【0156】
なお、上記RTCPレポート送受信部104及び219は、上記センダーレポート及びレシーバレポートをRTCP(real time control protocol)により送受信するものである。また、レシーバレポートは、配信サーバに例えば5秒毎など一定周期で通知される。また、サーバにてビデオストリームを切り換えるタイミングは、一般的にはIフレームが出現するタイミングで行うことが好ましい。
【0157】
次に動作について説明する。
この実施の形態3のデータ伝送システム10cの動作は、受信端末200cかからのレシーバレポートに基づいて、サーバ100cにて、RTPデータとして受信端末へ伝送されるビデオストリームを、符号化条件の異なるものに切り換える点のみ、実施の形態1のデータ送信システム10aの動作と異なっている。
【0158】
つまり、受信端末200cのRTPデータ受信部216cでは、受信されたRTPデータDrtpの伝送エラーの発生率が検出され、このエラー発生率を示すエラー信号Rerrが上記RTCPレポート送受信部219に出力される。
上記RTCPレポート送受信部219からは、レシーバレポートDrrとして、伝送エラーの発生頻度及びRTPパケットの到着時刻などに関する情報がサーバ100cに送信される。
【0159】
すると、サーバ100cのRTCPレポート送受信部104では、レシーバレポートDrrとして受信した情報に基づいて、RTPデータDrtpの伝送エラーの発生率及びパケットの到着遅延時間が検出され、このエラー発生率及び到着遅延時間を示す情報Drrが、RTPデータ送信部103cに出力される。
【0160】
該RTPデータ送信部103cでは、エラー発生率及びパケット到着遅延時間の増減に応じて、データ格納部120に格納されている複数のビデオファイルの中から、所定のエラー耐性を有するビデオファイルが選択され、RTPデータDrtpとして受信端末200cに送信される。
【0161】
このように本実施の形態3のデータ伝送システム10cでは、実施の形態1のシステム10aにおけるクライアント端末200aに代えて、サーバからのRTPデータ(RTPパケット)の伝送エラーの発生率やパケット到着時刻などの送信状況に関する情報Drrをサーバ100cに伝送するクライアント端末200cを備え、さらに実施の形態1のシステム10aにおけるサーバ100aに代えて、クライアント端末200cからの送信状況に関する情報Drrに基づいて、RTPデータとしてサーバから供給されるビデオストリームを、符号化条件が異なる他のビデオストリームに切り換えるサーバ100cを備えたので、サーバ100cでは、受信端末200cからのレシーバレポートに基づいて、伝送エラーの発生率が高いときには、複数のビデオストリームのうちで、Iフレーム周期の短いエラー耐性の高いものを送信することができ、伝送エラーの発生率が低いときには、複数のビデオストリームのうちで、Iフレーム周期の長い映像品質の高いものを送信することができる。
【0162】
(実施の形態4)
図15は本実施の形態4のデータ伝送システムを説明するための図であり、該システムのサーバ及びクライアント端末の構成を示している。
なお、図15中、図3と同一符号は実施の形態1のデータ伝送システム10aにおけるものと同一のものを示している。
この実施の形態4のデータ伝送システム10dは、実施の形態1のシステム10aにおけるクライアント端末200aに代えて、ユーザが設定した動作内容に応じて、復号処理及び表示処理を変更するクライアント端末200dを備えたものである。
【0163】
つまり、このクライアント端末200dは、実施の形態1のクライアント端末200aのデコード部210及び表示部218に代えて、制御信号C1に基づいて、ビデオストリームの復号処理を行う動作モードを変更するデコード部210d、及び制御信号C2に基づいて画像データDdecの表示処理を行う動作モードを変更する表示部218dを備え、ユーザの設定内容を示す設定信号Serrに基づいてデコーダ部210d及び表示部218dの動作モードを上記制御信号C1及びC2により制御する制御部220を備えたものである。
【0164】
次に動作について説明する。
この実施の形態4のデータ伝送システム10dの動作は、受信端末200dにてユーザの設定内容に応じて、ビデオストリームの復号化処理モード及び画像データの表示処理モードが変更される点のみ、実施の形態1のシステム10aの動作と異なっている。
【0165】
つまり、ユーザのユーザ操作部213に対する操作により、受信端末200dで再生されるべきビデオストリームとして、Iフレーム周期が受信端末固有の一定の基準周期より小さいものが設定されている場合には、デコード部210dは、制御部220からの制御信号C1により、その動作モードが、伝送エラーの発生時にはIフレームのビデオストリームが正常に受信されるまで復号処理を一旦停止する第1の復号動作モードに設定される。また、この場合、表示部218dは、制御部220からの制御信号C2により、その動作モードが、伝送エラーの発生時には次のIフレームのビデオストリームが正常に受信されるまで、伝送エラーの発生の直前に復号化された画像データを表示する第1の表示動作モードに設定される。
【0166】
一方、ユーザのユーザ操作部213に対する操作により、受信端末200dで再生されるべきビデオストリームとして、Iフレーム周期が受信端末固有の一定の基準周期以上のものが設定されている場合には、デコード部210dは、制御部220からの制御信号C1により、その動作モードが、伝送エラーの発生時には、伝送エラーによりデータが欠落したフレームの復号化処理のみスキップして、伝送エラーの発生後には正常にデータが受信されたフレームから復号化処理を行う第2の復号動作モードに設定される。この第2の復号動作モードでは、伝送エラーの発生後には正常にデータが受信されたフレームがPフレームであるとき、伝送エラーの発生直前に復号化されたフレームを参照して復号化処理が行われる。また、この場合、表示部218dは、制御部220からの制御信号C2により、その動作モードが、伝送エラーの発生にかかわらずデータの復号化処理が行われたフレームをすべて表示する第2の表示動作モードに設定される。
【0167】
このように本実施の形態4のデータ伝送システム10dでは、ユーザが受信端末にて設定した、受信端末で要求されるビデオストリームのエラー耐性に関する条件に応じて、受信端末におけるデコード部210d及び表示部218dの動作モードを変更するようにした、つまり、受信端末で受信すべきビデオストリームを、Iフレームの周期が一定の基準値より短いビデオストリームとするという条件が設定されている場合には、伝送エラーの発生時にはIフレームのビデオストリームが正常に受信されるまで、復号処理を一旦停止するとともに、伝送エラーの発生の直前に復号化された画像データを表示し、受信端末で受信すべきビデオストリームをIフレームの周期が一定の基準値以上のビデオストリームとするという条件が設定されている場合には、伝送エラーによりデータが欠落したフレーム以外のフレームに対する復号化処理のみを行うとともに、データの復号化処理が行われたフレームをすべて表示するので、ユーザが設定した、受信すべきビデオストリームのエラー耐性(つまりIフレームの間隔)に応じて、デコード部及び表示部の動作モードを、エラー発生時の表示画像の違和感が小さい動作モードとすることができる。
【0168】
なお、上記実施の形態4では、データ送信システムとして、受信端末側にてユーザが設定したビデオストリームに関する条件に応じて、受信端末における復号化処理モード及び表示処理モードを変更するものを示したが、データ送信システムは、サーバから通知される、サーバから送信されるビデオストリームに関するIフレームの出現間隔(Iフレームの周期)に基づいて、受信端末にてデコード部210d及び表示部218dの動作モードを変更するものであってもよい。この場合、Iフレームの出現間隔を示す情報は、SMIL,SDP,RTSPなどを使用してサーバから受信端末に送信することができる。
【0169】
また、上記実施の形態4では、デコード部210dの第2の復号動作モードとして、伝送エラーの発生時には、伝送エラーによりデータが欠落したフレームの復号化処理のみスキップして、伝送エラーの発生後には正常にデータが受信されたフレームから復号化処理を行う動作モードを示したが、上記第2の復号動作モードはこれに限るものではない。
【0170】
例えば、図6(b)に示すように、1フレームのビデオストリームが、複数のビデオパケットに分散して格納されている場合は、上記第2の復号動作モード、つまりIフレーム周期が受信端末固有の一定の基準周期以上のものが設定されているときの復号動作モードは、伝送エラーによりデータが欠落したビデオパケット以外のパケットのデータに対する復号化処理のみを行うモードとしてもよい。
また、この場合、画像データの表示モードは、上記実施の形態4の第2の表示動作モードと同様、少なくともその一部のデータに対する復号化処理が行われたフレームはすべて表示するモードとしてもよい。
【0171】
さらに、上記実施の形態4では、制御部が、デコード部の動作モードを、受信端末でのユーザ設定に応じて、上記第1の復号動作モードから第2の復号動作モードに切替えるものを示したが、制御部によるデコード部の動作の制御は、これに限るものではなく、例えば、受信端末でのユーザ設定以外の条件に応じて行われるものであってもよい。
【0172】
例えば、伝送エラーが発生した時点では、次にIフレームのビデオストリームが復号されるまでの時間は、Iフレームの周期が既知であることから算出可能である。このため、上記制御部は、伝送エラーが発生したとき、デコード部の復号動作を、伝送エラーの発生したフレームの復号時から、その後に復号化されるIフレームの復号時までの時間差に応じて、例えば、伝送エラーの発生したフレームの復号時から、その後のIフレームの復号時までの間は、復号処理を停止する復号動作と、伝送エラーの発生したフレームの復号時から、その後のIフレームの復号時までの間は、画面間符号化データを、その伝送エラーの発生により復号不可能な部分を除いて復号化する復号動作のいずれとするかの判定を行い、デコード部を、伝送エラー発生後の復号動作が、この判定により決定された復号動作となるよう制御するものであってもよい。
【0173】
具体的には、上記制御部は、伝送エラーが発生した時、上記伝送エラーの発生したフレームの復号時から、その後のIフレームの復号時までの時間差が、上記端末固有の既定値より小さいとき、デコード部の復号動作が、上記伝送エラーの発生したフレームの復号時からその後にIフレームが復号されるまでの間は、画像データに対する復号処理を停止する動作となり、一方、上記伝送エラーの発生したフレームの復号時から、その後のIフレームの復号時までの時間差が、上記端末固有の既定値以上であるとき、デコード部の復号動作が、上記伝送エラーの発生したフレームの復号時からその後にIフレームが復号されるまでの間は、上記伝送エラーの発生したフレーム以外のフレームに対応する画像データのみを復号化する動作となるよう、デコード部を制御する。
【0174】
ここで、上記各フレームの画像データが、図6(b)に示すように、フレームより小さいデータ単位毎にパケット化されている場合は、上述した伝送エラーの発生したフレーム以外のフレームに対する復号処理のみを行う復号動作は、受信した画像データにおける、伝送エラーの発生したパケット以外のパケットに対する復号処理のみを行うものとしてもよい。
【0175】
また、上記各実施の形態では、RTSPを使ってサーバに視聴者の表示画像に関する嗜好(Iフレームの周期の短いものがよいかIフレームの周期の長いものがよいかなど)を通知してもよい。また、視聴者の嗜好を通知するためのプロトコルは、他の伝送プロトコルであるCC/PP(composite capability/preference profiles)を使ってもよい。このとき、サーバでは、SMILを使ってビデオストリームの侯補を受信端末へ通知するようにしてもよい。
【0176】
さらに、上記各実施の形態では、サーバから受信端末に伝送されるデータが映像データである場合について説明したが、上記伝送データは、音声データやテキストデータであってもよく、つまり、音声データやテキストデータをRTP/UDP/IPで伝送する場合にも、上記各実施の形態と同様の効果が得られる。
【0177】
例えば、同一のコンテンツに対応する、エラー耐性の異なる複数の音声データ、あるいは複数のテキストデータから、受信端末にてユーザにより設定された、あるいは受信端末のデフォルト値として設定された、受信すべきデータに対するエラー耐性強度に適したものが選択され、選択された音声データ,あるいはテキストデータが受信端末にて再生されることとなる。ここで、複数の音声データ(テキストデータ)が異なるエラー耐性を有する場合の一例としては、複数の音声データ(テキストデータ)の一つが、以前に復号処理が施された音声フレーム(テキストフレーム)のデータを参照して復号するフレームを利用し、他の1つがこのようなフレームを利用しない場合が挙げられる。
【0178】
また、上記同一のコンテンツに対応する、エラー耐性強度の異なる複数の音声データ、あるいは複数のテキストデータは、データ伝送プロトコルが異なるものであってもよい。そして、音声データあるいはテキストデータに関する伝送プロトコルの異なる一例としては、IETF(Internet Engineering Task Force)で定められているFEC(Forward Error Correction、RFC 2733)の冗長度が異なるものが挙げられる。
【0179】
(実施の形態5)
図21は、本発明の実施の形態5によるデータ伝送システムを説明するための図であり、図21(a)は該システムの構成を、図21(b)は、該システムでのデータ伝送処理を示している。
この実施の形態5のデータ伝送システム10eは、所定のビデオストリーム(画像符号化データ)を送出するサーバ100eと、該サーバ100eから送出されたビデオストリームを受信して映像データを再生する受信端末(クライアント端末)200eと、該ビデオストリームをサーバ100eから受信端末200eへ伝送するためのネットワーク11とを有している。
【0180】
ここで、上記サーバ100eは、複数の画像系列のデジタル映像信号を、決められた符号化条件でもって符号化して得られる複数のビデオストリームを格納するとともに、対応するビデオストリームの属性が記述されたSMILデータを格納したデータ格納部120eと、該データ格納部120eに格納されているデータを、ネットワーク11上に送出するデータ送信部110eとから構成されている。また、上記データ格納部120eにはハードディクスなどの大容量記憶装置が用いられている。
【0181】
また、この実施の形態5では、上記複数のビデオストリームは、異なる画像系列に対応する、それぞれ決められたエラー耐性を有する画像データである。具体的には、複数のビデオストリームはそれぞれ、デジタル映像信号を画面内画素値相関を用いて符号化してなる符号量の大きい画面内符号化データと、デジタル映像信号を画面間画素値相関を用いて符号化してなる符号量の少ない画面間符号化データとを含み、それぞれ決められた画面内符号化データの出現間隔、言い換えるとIフレーム(I−VOP)の周期を有するものである。
【0182】
そして、上記ハードディスクなどのデータ格納部120eには、例えば、Iフレームの周期が5秒,2秒であるビデオストリームがビデオファイルDva,Dvbとして格納され、上記SMILデータDaa,Dabとして、対応するビデオファイルDva,Dvbの属性などを記述したSMILファイルが格納されている。ここで、各ビデオストリーム(ビデオファイル)Dva,Dvbの属性であるIフレーム(I−VOP)の出現間隔は、それぞれ、5秒,2秒となっている。
【0183】
図22は上記システムを構成するサーバ100e及びクライアント端末200eの詳細な構成を示す図である。
上記サーバ100eを構成するデータ送信部110eは、クライアント端末200eからHTTPにより送信されたSMILデータの要求メッセージMdrを受け、該要求に従ってデータ格納部120eからSMILファイルDaを読み出し、読み出したSMILファイルDaをHTTPによりSMILデータDsmとして送信するHTTP送受信部101と、クライアント端末200eからRTSPにより送信されたデータ要求メッセージMrtspを受け、その応答信号Sackを出力するとともに、要求されたビデオファイル名を示すデータ指定信号Scを出力するRTSPメッセージ送受信部102と、該データ指定信号Scを受け、該データ指定信号Scが示すビデオデータファイル名に相当するビデオストリームDeをデータ格納部120eから読み出し、読み出したビデオストリームをRTPによりRTPデータDrtpとして伝送するRTPデータ送信部103とを有している。なお、この実施の形態5のデータ送信部110eにおけるHTTP送受信部101,RTSPメッセージ送受信部102,及びRTPデータ送信部103は、実施の形態1のデータ送信部110aにおけるものと同一のものである。
【0184】
また、上記クライアント端末200eは、ユーザの操作により種々のユーザ操作信号Sop1,Sop2,Sop3を出力するユーザ操作部213と、該ユーザ操作信号Sop1に基づいて、ユーザ指定のビデオデータに対応するSMILデータの要求メッセージMdrをHTTPにより送信するとともに、上記サーバ100eからHTTPにより送信されたSMILデータDsmを受信するHTTP送受信部211と、該SMILデータDsmを解析するとともに、その解析結果に基づいて、ユーザ指定のビデオデータを指定するデータ指定信号Scを出力するSMILデータ解析部212eとを有している。
【0185】
上記クライアント端末200eは、上記データ指定信号ScをRTSPメッセージ信号Mrtspとして送信するとともに、該信号Mrtspの応答信号Sackを受信するRTSPメッセージ送受信部214と、上記サーバ100eから送信されたRTPデータDrtpを受信してビデオストリームDeを出力するRTPデータ受信部216とを有している。
【0186】
さらに上記クライアント端末200eは、該ビデオストリームDeを復号化して画像データDdecを出力するとともに、制御信号C1に基づいて、ビデオストリームの復号処理を行う動作モードを変更するデコード部210eと、該画像データDdecに基づいて画像表示を行うとともに、制御信号C2に基づいて画像データDdecの表示処理を行う動作モードを変更する表示部218eと、デコーダ部210e及び表示部218eの動作モードを上記制御信号C1及びC2により制御する制御部220eとを有している。なお、該表示部218eは、上記ユーザ操作信号Sop2に応じた表示も行うものである。
【0187】
また、このクライアント端末200eでは、受信中の画像データにおける画面内符号化データの出現間隔と比較される既定値がデフォルト値として設定されており、エラー発生時には、受信中の画像データにおける画面内符号化データの出現間隔と上記既定値との比較結果に応じて、上記復号化部の動作モードが切替えられる。具体的には、上記画面内符号化データの出現間隔が、上記既定値より短い画像データを受信する場合、上記復号化部の動作モードは、伝送エラーの発生時に、その後画面内符号化データが正常に受信されるまで、復号処理を一旦停止する第1の復号モードとされ、上記画面内符号化データの出現間隔が、上記設定条件が示す既定値以上の画像データを受信する場合、上記復号化部の動作モードは、伝送エラーの発生時に、伝送エラーにより復号不可能となった部分を除いて復号化する第2の復号モードとされる。
【0188】
なお、受信端末は、上記受信中の画像データにおける画面内符号化データの出現間隔と比較される既定値をデフォルト値として有するものに限らず、上記受信端末は、該既定値を、ユーザ操作により設定可能なものであってもよい。
【0189】
次に動作について説明する。
このデータ伝送システム10eでは、ユーザがユーザ操作部213eにて、所定のビデオファイルを要求する操作を行うと、この操作信号Sop1に基づいて、図21(b)に示すように、受信端末200eのHTTP送受信部211からサーバ100eへ、ユーザ指定のビデオファイルに対応するSMILデータを要求するSMIL要求信号Sd1(図22に示すSMIL要求メッセージMrd)がHTTPにより送信され、その応答として、サーバ100eのHTTP送受信部101からSMILデータDsmがHTTP信号Dsdにより受信端末200eに送信される。なお、ユーザがユーザ操作部213eにて、所要の画像系列のビデオファイルを指定する操作は、図4(a)に示す携帯端末を用いて説明した操作と同様に行われる。
【0190】
その後、受信端末200eでは、RTSPメッセージ送受信部214が、SMILデータDsmの解析結果に対応するデータ指定信号Scに基づいて、ユーザの必要とするビデオストリームを指定するメッセージMrtspをRTSP信号Sd2としてサーバ100eへ送信する処理を行う。そして、その応答信号Sackがサーバ100eのRTSPメッセージ送受信部102からRTSPにより受信端末200eに送信された後、サーバ100eからは、RTPデータ送信部103により、所定のビデオストリームDstrがRTPデータDrtpとして受信端末200eに送信される。
【0191】
このようにして、上記RTPデータDrtpがネットワーク11を介して受信端末200aに伝送されると、該受信端末200aでは、RTPデータDrtpがRTPデータ受信部216にて受信され、ビデオストリームDeがデコード部210eに出力される。デコード部210eではビデオストリームDeの復号化処理により画像データDdecが生成されて表示部218eに出力される。表示部218eでは、画像データDdecに基づいて画像表示が行われる。
【0192】
そして、この実施の形態4のデータ伝送システム10eでは、上記ビデオストリームの伝送中にエラーが発生した場合は、受信端末200eにて、デフォルト値として設定されている画面内符号化データの出現間隔(つまりIフレームの周期)と、受信しているビデオストリームの属性値であるIフレームの周期との比較結果に応じて、復号化部210eの動作モード及び表示部218eの動作モードが制御部220eからの制御信号C1,C2に基づいて変更される。
【0193】
つまり、受信端末200eにて、Iフレーム周期(I−VOPの周期)が受信端末での既定値(一定の基準周期)より短いビデオストリームを受信している場合には、デコード部210eは、制御部220eからの制御信号C1により、その動作モードが、伝送エラーの発生時にはIフレームのビデオストリームが正常に受信されるまで復号処理を一旦停止する第1の復号動作モードに設定される。また、この場合、表示部218eは、制御部220eからの制御信号C2により、その動作モードが、伝送エラーの発生時には次のIフレームのビデオストリームが正常に受信されるまで、伝送エラーの発生の直前に復号化された画像データを表示する第1の表示動作モードに設定される。
【0194】
一方、受信端末200eにて、Iフレーム周期が受信端末での既定値(一定の基準周期)以上のビデオストリームを受信している場合には、デコード部210eは、制御部220eからの制御信号C1により、その動作モードが、伝送エラーの発生時には、伝送エラーによりデータが欠落したフレームの復号化処理のみスキップして、伝送エラーの発生後には正常にデータが受信されたフレームから復号化処理を行う第2の復号動作モードに設定される。この第2の復号動作モードでは、伝送エラーの発生後には正常にデータが受信されたフレームがPフレームであるとき、伝送エラーの発生直前に復号化されたフレームを参照して復号化処理が行われる。また、この場合、表示部218eは、制御部220eからの制御信号C2により、その動作モードが、伝送エラーの発生にかかわらずデータの復号化処理が行われたフレームをすべて表示する第2の表示動作モードに設定される。
【0195】
このように本実施の形態5のデータ伝送システム10eでは、受信端末にデフォルト値として設定されているIフレーム周期の既定値と、受信しているビデオストリームのIフレーム周期の値とに応じて、受信端末におけるデコード部210e及び表示部218eの動作モードを変更するようにした、つまり、受信端末で受信するビデオストリームのIフレーム周期の値が、受信端末にデフォルト値として設定されている既定値より短い場合には、伝送エラーの発生時にはIフレームのビデオストリームが正常に受信されるまで、復号処理を一旦停止するとともに、伝送エラーの発生の直前に復号化された画像データを表示し、受信端末で受信するビデオストリームのIフレーム周期の値が、受信端末にデフォルト値として設定されている既定値以上の場合には、伝送エラーによりデータが欠落したフレーム以外のフレームに対する復号化処理のみを行うとともに、データの復号化処理が行われたフレームをすべて表示するので、受信するビデオストリームのエラー耐性(つまりIフレームの間隔)に応じて、デコード部及び表示部の動作モードを、エラー発生時の表示画像の違和感が小さいものとすることができる。
【0196】
なお、上記実施の形態5では、受信するビデオストリームの属性値であるIフレームの出現間隔(Iフレームの周期)は、サーバ100eから、SMILファイルとして受信端末へ供給される場合について示したが、受信するビデオストリームのIフレームの出現間隔(Iフレームの周期)は、SDPやRTSPなどを使用してサーバから受信端末に送信するようにしてもよい。
【0197】
また、受信するビデオストリームのIフレームの出現間隔(Iフレームの周期)は、サーバから端末へ送信する場合に限らず、例えば、受信端末200eのRTPデータ受信部216にて、受信したビデオストリームに含まれる情報から算出するようにしてもよい。
【0198】
また、上記実施の形態5では、デコード部210eの第2の復号動作モードとして、伝送エラーの発生時には、伝送エラーによりデータが欠落したフレームの復号化処理のみスキップして、伝送エラーの発生後には正常にデータが受信されたフレームから復号化処理を行う動作モードを示したが、上記第2の復号動作モードはこれに限るものではない。
【0199】
例えば、図6(b)に示すように、1フレームのビデオストリームが、複数のビデオパケットに分散して格納されている場合は、上記第2の復号動作モードは、伝送エラーによりデータが欠落したビデオパケット以外のパケットのデータに対する復号化処理のみを行うモードとしてもよい。
また、この場合、画像データの表示モードは、上記実施の形態5の第2の表示動作モードと同様、少なくともその一部のデータに対する復号化処理が行われたフレームはすべて表示するモードとしてもよい。
【0200】
さらに、上記実施の形態5では、受信中のビデオストリームのIフレームの出現間隔と、受信端末でのデフォルト値(既定値)との大小関係に応じて、エラー発生時におけるデコード部の動作モードを切替えるものを示したが、デコード部の動作モードの切替えは、これに限るものではない。
例えば、伝送エラーが発生した時点では、次にIフレームのビデオストリームが復号されるまでの時間は、Iフレームの周期が既知であることから算出可能である。このため、上記制御部は、伝送エラーが発生したとき、デコード部の復号動作を、伝送エラーの発生したフレームの復号時から、その後に復号されるIフレームの復号時までの時間差に応じて、例えば、伝送エラーの発生したフレームの復号時から、その後のIフレームの復号時までの間は、復号処理を停止する復号動作と、伝送エラーの発生したフレームの復号時から、その後のIフレームの復号時までの間は、画面間符号化データを、その伝送エラーの発生により復号不可能な部分を除いて復号化する復号動作のいずれとするかの判定を行い、デコード部を、伝送エラー発生後の復号動作が、この判定により決定された復号動作となるよう制御するものであってもよい。
【0201】
具体的には、上記制御部は、伝送エラーが発生したとき、上記伝送エラーの発生したフレームの復号時から、その後のIフレームの復号時までの時間差が、上記受信端末でのデフォルト値(既定値)より小さい場合、上記復号化部の復号動作が、上記伝送エラーの発生したフレームの復号時からその後にIフレームが復号されるまでの間は、画像データに対する復号処理を停止する動作となり、上記伝送エラーの発生したフレームの復号時から、その後のIフレームの復号時までの時間差が、上記受信端末でのデフォルト値(既定値)以上である場合、上記復号化部の復号動作が、上記伝送エラーの発生したフレームの復号時からその後にIフレームが復号されるまでの間は、画面間符号化データをその伝送エラーの発生により復号不可能となった部分を除いて復号化する動作となるよう、デコード部を制御する。
【0202】
ここで、画面間符号化データをその伝送エラーの発生により復号不可能となった部分を除いて復号化する復号動作は、伝送エラーの発生したフレーム以外のフレームに対する復号処理のみを行う復号動作である。
なお、上記各フレームの画像データが、図6(b)に示すように、フレームより小さいデータ単位毎にパケット化されている場合は、伝送エラーが発生したフレーム以外のフレームを復号化する復号動作は、受信した画像データにおける、伝送エラーの発生したパケット以外のパケットを復号化するものとしてもよい。
【0203】
さらに、上記実施の形態5では、サーバから受信端末に伝送されるデータが映像データである場合について説明したが、上記伝送データは、音声データやテキストデータであってもよく、つまり、音声データやテキストデータをRTP/UDP/IPで伝送する場合にも、上記実施の形態5と同様の効果が得られる。
【0204】
また、上記実施の形態2ないし4では、サーバに対して、端末でのユーザ設定に基づいて画像データを要求し、該要求に応じて送信された画像データを再生するデータ再生装置として、インターネットなどのネットワークを介してサーバに接続可能な受信端末を示し、実施の形態5では、受信された画像データのIフレーム周期の値と、受信端末で設定されている既定値との大小関係に応じて、エラー発生時の復号動作を切替える受信端末を示したが、上記実施の形態2〜5の受信端末の具体的なものとしては、PC(パーソナルコンピュータ)や、上記実施の形態1で受信端末の具体例として示した携帯電話などが挙げられる。
【0205】
(実施の形態6)
以下、本発明の実施の形態6として、上記実施の形態2のデータ再生装置と同様に、サーバに対して、ユーザ設定により指定したエラー耐性強度を有する画像データを要求する携帯電話について説明する。
図16は、この実施の形態6の携帯電話を説明するための図である。
この実施の形態5の携帯電話300は、種々の信号処理を行う信号処理部302と、アンテナ301で受信された無線信号Nを受信信号として信号処理部302に出力するとともに、信号処理部302にて生成された送信信号を無線信号Nとしてアンテナ301から送信する無線通信部303とを有している。
【0206】
また、上記携帯電話300は、画像表示を行う液晶パネル(LCD)306と、音声の入力を行うためのマイク308と、音声信号を再生するスピーカ307と、上記信号処理部302にて処理された画像信号を受け、上記液晶表示部(LCD)306を、画像信号に基づいて画像表示が行われるよう制御する表示制御部304と、マイク308からの入力音声信号を信号処理部302に出力するとともに、信号処理部302にて処理された音声信号をスピーカ307に出力する音声入出力部305とを有している。なお、ここでは説明の簡略化のため、携帯電話のボタン操作部は図示していない。
【0207】
ここで、上記信号処理部302は、上記実施の形態2のデータ再生装置200bと同一のデータ再生処理を行うものである。つまり、上記信号処理部302は、実施の形態2の受信端末側における、HTTP送受信部211,RTSPメッセージ送受信部214、SMILデータ解析部212b、RTPデータ受信部216b、デコード部210,及びユーザ操作部213に相当する部分を有している。また、この実施の形態6の携帯電話300における表示制御部304及び液晶パネル(LCD)306は、上記実施の形態2の表示部218に相当するものである。
【0208】
このような構成を有する携帯電話300では、ユーザにより、受信すべき画像データに対するエラー耐性強度が設定され、特定のコンテンツに対応する画像データの再生を行うための操作が行われると、サーバからは、エラー耐性強度のユーザ設定値に適したビデオストリームがRTPパケットにより順次送信され、携帯電話では、サーバからのビデオストリームの再生が行われるとともに、該ビデオストリームの受信中における伝送エラー発生率に応じて、ビデオストリームを切替える処理が行われる。
【0209】
なお、上記実施の形態6では、携帯電話として、上記実施の形態2のデータ再生装置と同一のデータ再生処理を行うものを示したが、この携帯電話は、上記実施の形態3ないし5のデータ伝送システムにおけるデータ再生装置(受信端末)200c,200d,200eと同一のデータ再生処理を行うものであってもよい。
【0210】
さらに、上記各実施の形態では、データ再生装置(受信端末)あるいはデータ送信装置(サーバ)をハードウエアにより実現したものを示したが、これらの装置はソフトウエアにより実現してもよい。この場合、上記各実施の形態で示したデータ再生処理あるいはデータ送信処理を行うためのプログラムをフレキシブルディスク等のデータ記憶媒体に記録しておくことにより、上記データ再生装置(受信端末)及びデータ送信装置(サーバ)を、独立したコンピュータシステムにおいて構築することが可能となる。
【0211】
図17は、上記各実施の形態のデータ再生処理あるいはデータ送信処理をソフトウエアにより行うためのプログラムを格納した記録媒体、及び該記録媒体を含むコンピュータシステムを説明するための図である。
図17(a)は、フレキシブルディスクの正面からみた外観、断面構造、及びフレキシブルディスク本体を示し、図17(b)は、該フレキシブルディスク本体の物理フォーマットの例を示している。
【0212】
上記フレキシブルディスクFDは、上記フレキシブルディスク本体DをフレキシブルディスクケースFC内に収容した構造となっており、該フレキシブルディスク本体Dの表面には、同心円状に外周から内周に向かって複数のトラックTrが形成され、各トラックTrは円周方向に16のセクタSeに分割されている。従って、上記プログラムを格納したフレキシブルディスクFDは、上記フレキシブルディスク本体Dの上に割り当てられた領域(セクタ)Seに、上記プログラムとしてのデータが記録されたものとなっている。
また、図17(c)は、フレキシブルディスクFDに上記プログラムを記録するための構成、及びフレキシブルディスクFDに格納したプログラムを用いてソフトウエアによるデータ再生処理あるいはデータ送信処理を行うための構成を示している。
【0213】
上記プログラムをフレキシブルディスクFDに記録する場合は、コンピュータシステムCsから上記プログラムとしてのデータを、フレキシブルディスクドライブFDDを介してフレキシブルディスクFDに書き込む。また、フレキシブルディスクFDに記録されたプログラムにより、上記データ再生装置あるいはデータ送信装置をコンピュータシステムCs中に構築する場合は、フレキシブルディスクドライブFDDによりプログラムをフレキシブルディスクFDから読み出し、コンピュータシステムCsにロードする。
【0214】
なお、上記説明では、データ記録媒体としてフレキシブルディスクを示したが、データ記録媒体として光ディスクを用いてもよく、この場合も上記フレキシブルディスクの場合と同様にソフトウェアによるデータ再生処理あるいはデータ送信処理を行うことができる。さらに、上記データ記録媒体は上記光ディスクやフレキシブルディスクに限るものではなく、ICカード、ROMカセット等、プログラムを記録できるものであればどのようなものでもよく、これらのデータ記録媒体を用いる場合でも、上記フレキシブルディスク等を用いる場合と同様にソフトウェアによるデータ再生処理あるいはデータ送信処理を実施することができる。
【0215】
【発明の効果】
以上のように、本発明に係るデータ再生装置によれば、画面内符号化された画像フレームを含むビデオストリームを、符号化された1枚の画像フレームについて1以上のパケットで受信する画像データ受信部と、画像データ受信部において受信されたビデオストリームを復号化して、画像フレームを出力する復号化部と、上記復号化部から出力された画像フレームを表示する表示部と、上記ビデオストリーム中の上記画面内符号化された画像フレームの出現間隔を取得し、上記出現間隔に応じてパケットの欠落による伝送エラー時の上記復号化部の動作モードを切り替える制御部と、を備え、上記制御部は、上記ビデオストリームに含まれる上記画面内符号化された画像フレームの出現間隔と予め設定された所定値とを比較し、上記復号化部を、(1)上記出現間隔が上記所定値以上の場合には、上記欠落したパケットにより構成される画像フレームのみ復号処理をスキップして、上記スキップされた画像フレーム以外の画像フレームを復号処理し、(2)上記出現間隔が上記所定値より小さい場合には、上記ビデオストリームの復号処理を画面内符号化された画像フレームを構成するパケットが受信されるまで一旦停止する、動作モードに設定することを特徴とするので、エラー発生時の復号動作を、動作条件の設定に応じた、表示画像の違和感の小さいものとできる。
【図面の簡単な説明】
【図1】本発明の実施の形態1によるデータ伝送システムを説明するための図であり、該システムの構成(図(a))、及び該システムにおけるデータ送信処理(図(b))を示している。
【図2】上記実施の形態1のデータ伝送システムにて用いられるSMILファイルFSD1の記述内容の一例を示す図である。
【図3】上記実施の形態1のデータ伝送システムを構成するサーバ100a及びクライアント端末200aの詳細な構成を示す図である。
【図4】上記実施の形態1の受信端末200aにおける具体的なエラー耐性強度の設定方法を説明する図であり、2つのエラー耐性強度の一方を選択する方法(図(a))と、スライドバーによりエラー耐性強度を指定する方法(図(b))を示している。
【図5】上記実施の形態1のデータ伝送システムにて用いられる、図2に示すSMILファイルとは異なるSMILファイルFSD2の記述内容(図(a))、及びユーザ設定値Xus2に基づいたvideo要素の具体的な選択の方法(図(b))を示す図である。
【図6】上記実施の形態1におけるエラー耐性の異なる複数の画像データの他の例として、1フレームを1ビデオパケットとするビデオストリーム(図(a))と、1フレームを3ビデオパケットとするビデオストリーム(図(b))とを示す図である。
【図7】本発明の実施の形態2によるデータ伝送システムを説明するための図であり、上記システムを構成するサーバ及びクライアント端末の詳細な構成を示している。
【図8】上記実施の形態2で用いるSMILファイルFSD2の記述情報に対応する、ワークメモリにおける記憶内容(図(a))、及びエラー発生率とエラー耐性強度とを関連付けるテーブル(図(b))を示す図である。
【図9】上記実施の形態2にてビデオストリームの切替えを行う際の、RTSPメッセージの交換の例を示す図である。
【図10】上記実施の形態2にてビデオストリームの切替えを行う際、切替え前、及び切替え後のビデオストリームに対応する受信バッファに格納されるRTPパケット(図(a),(b))を示す図である。
【図11】上記実施の形態2における受信端末でのビデオストリームの切替処理のフローを示す図である。
【図12】上記実施の形態2における、上記ビデオストリームの切替時に受信端末のRTSPメッセージ送受信部214及びパケットRTPデータ受信部216bにて行われる処理を、表示時刻に従って具体的に示す模式図である。
【図13】上記実施の形態2で用いられる、伝送プロトコルが異なるビデオストリームに関する情報を示すSMILファイルの記述(図(a))、該記述に対応する、ワークメモリにおける記憶内容(図(b))、及びエラー発生率とプロトコルとを関連付けるテーブル(図(c))を示す図である。
【図14】本発明の実施の形態3によるデータ伝送システムを説明するための図であり、上記システムを構成するサーバ及びクライアント端末の詳細な構成を示している。
【図15】本発明の実施の形態4によるデータ伝送システムを説明するための図であり、上記システムを構成するサーバ及びクライアント端末の詳細な構成を示している。
【図16】本発明の実施の形態6によるデータ再生装置としての携帯電話を説明するための図である。
【図17】上記各実施の形態のデータ再生処理及びデータ送信処理をコンピュータシステムにより行うためのプログラムを格納したデータ記憶媒体(図(a),(b))、及び上記コンピュータシステム(図(c))を説明するための図である。
【図18】インターネットを利用して画像データを配信するための通信システムを説明するための図である。
【図19】従来の画像符号化装置を説明するための図であり、該画像符号化装置の構成(図(a))、及び該画像符号化装置におけるVOP単位の符号化処理(図(b))を示している。
【図20】従来の画像復号化装置を説明するためのブロック図である。
【図21】本発明の実施の形態5によるデータ伝送システムを説明するための図であり、図21(a)は該システムの構成を、図21(b)は、該システムでのデータ伝送処理を示している。
【図22】上記実施の形態5のシステムを構成するサーバ100e及びクライアント端末200eの詳細な構成を示す図である。
【符号の説明】
10a,10b,10c,10d,10e ネットワークシステム
11 ネットワーク
21 ボタン操作部
21a〜21d カーソルキー
21e 確定ボタン
22a 電波強度表示画面
22b,22d エラー耐性設定画面
22c,22e 操作案内画面 100a,100c サーバ
101 HTTP送信手段
102 RTSPメッセージ受信手段
103 RTPデータ送信手段
104,219 RTCPレポート送受信手段
110a,110c,100e 送信装置
120 データ格納部
200a,200b,200c,200d,200e 受信端末
201a,201b 携帯端末
211 HTTP受信手段
212,212b,212e SMILデータ解析手段
213 ユーザ操作部
214 RTSPメッセージ受信手段
216,216b,216c RTPデータ受信手段
210,210d,210e デコード部
218,218d,218e 表示部
220,220e 制御部
300 携帯電話
301 アンテナ
302 信号処理部
303 無線通信部
304 表示制御部
305 音声入力出力部
306 液晶パネル(LCD)
307 スピーカ
308 マイク
Cs コンピュータ・システム
FD フレキシブルディスク
FDD フレキシブルディスクドライブ
FSD1〜FSD3 SMILファイル
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a data reproducing apparatus and a data reproducing method, and in particular, transmission error tolerance and video quality of image data acquired on the receiving side according to user preference and transmission error occurrence state on the receiving side of image data. Is related to data reproduction processing that enables switching between the two.
[0002]
[Prior art]
In recent years, with the establishment of the international standard MPEG-4 (Moving Picture Experts Group, Phase4, IS0 / IEC14496) relating to the compression and encoding method of video and audio data, it has become possible to distribute video and audio data in a narrow band. For example, in a transmission line having a bandwidth of 64 kbit / s, an image having one screen with 176 horizontal pixels, 144 vertical pixels, and a frame rate of 5 to 6 frames / second. Data and voice data as good as telephone quality can be transmitted simultaneously.
[0003]
In the simple profile defined by the MPEG-4 video standard, I-VOP and P-VOP, which have different encoding types, are used as VOP (video object plane) which is an image of each object constituting one scene. used. Here, the I-VOP does not refer to the image data of another VOP when the image data is compressed or expanded. Therefore, the encoding process or decoding process for the I-VOP can be performed independently regardless of the image data of other VOPs. On the other hand, the P-VOP is predicted based on the image data of the I-VOP or P-VOP located immediately before the target P-VOP when the compression process or the expansion process of the image data of the P-VOP to be processed is performed. The difference component between the prediction data obtained in this way and the image data of the target P-VOP is obtained, and the difference component is encoded or decoded.
[0004]
The repetition period of I-VOP is generally set to a period in which I-VOP appears once in about 0.5 seconds in digital satellite broadcasting using a wide band. That is, in Japanese television broadcasting, the number of frames per second is about 30, so an I-VOP appears every 15 frames. On the other hand, in the narrow band, the I-VOP repetition cycle with a large code amount of the encoded image data (encoded data) is lengthened, and the P-VOP or B-VOP with a small code amount of the encoded data (that is, its) Increasing the appearance frequency of those that refer to image data of other VOPs at the time of encoding or decoding has a greater effect of improving video quality than increasing the appearance frequency of I-VOPs. However, lengthening the I-VOP repetition period, that is, lowering the frequency of occurrence of I-VOP is not preferable from the viewpoint of error resistance, and image disturbance continues for a long time when packet loss occurs. Become. Note that the VOP in MPEG-4 described above corresponds to a frame in MPEG-1,2.
[0005]
In addition, the international standardization organization 3GPP (Third Generation Partnership Project, http://www.3gpp.org), which establishes standards for receiving terminals in wireless networks, is a protocol for transmitting video data between servers and receiving terminals. RTP / UDP / IP (real time transport protocol / user datagram protocol / internet protocol) is used, and RTSP / TCP / IP (real time streaming protocol / transmission) is a protocol for requesting data from the receiving terminal to the server. Control protocol / internet protocol) is specified. Further, in the 3GPP standard, SMIL (Synchronization Multimedia Markup Language, http://www.w3.org) can be used as a scene description language.
[0006]
FIG. 18 shows a conventional data transmission system for distributing image data using the Internet.
The data transmission system 20 includes a server 20a that packetizes a video stream that is the encoded data and transmits packet data, a receiving terminal 20b that receives the video stream and reproduces image data, and the packet data. And a network 11 such as the Internet for transmission from the server 20a to the receiving terminal 20b.
[0007]
In the communication system 20, first, communication of a message Mes for making a data request to the server 20a is performed between the receiving terminal 20b and the server 20a by RTSP / TCP / IP. Request signal Dau is transmitted to server 20a. Then, the video stream Dstr is transmitted from the server 20a to the receiving terminal 20b by RTP / UDP / IP which is a data transmission protocol. In the receiving terminal 20b, the received video stream Dstr is decoded, and the image data is reproduced.
[0008]
FIG. 19 is a diagram for explaining a conventional image encoding apparatus that performs an encoding process corresponding to the MPEG standard, and FIG. 19A is a block diagram showing the configuration thereof.
The image encoding apparatus 100 constitutes the server 20a shown in FIG. 18, and compresses and encodes the original image data Dv as it is when encoding I-VOP, and the original image data Dv when encoding P-VOP. The encoder 102 that compresses and encodes the difference data Dvd from the prediction data Dp and outputs the encoded data De, and the compressed data obtained by compressing the original image data Dv and the difference data Dvd by the encoder 102 A decoder 103 that decompresses Dc and compressed differential data Dcd and outputs local decoded data Dd corresponding to I-VOP and local decoded differential data Ddd corresponding to P-VOP; and the original image data Dv A subtractor 101 that creates the difference data Dvd by a subtraction process with the prediction data Dp.
[0009]
The image encoding apparatus 100 includes an adder 104 that adds the prediction data Dp to the local decoded differential data Ddd to generate local decoded data Ddp corresponding to P-VOP, and a local corresponding to the I-VOP. A frame memory 105 that records the decoded data Dd and the local decoded data Ddp corresponding to the P-VOP as reference data, and the image data read from the frame memory 105 is used as the prediction data Dp. 101 and the adder 104 are supplied.
[0010]
Next, the operation of the conventional image encoding apparatus 100 will be briefly described.
In the image encoding device 100, as shown in FIG. 19B, the original image data Dv input from the outside is encoded for each VOP.
For example, the first VOP data V (1) is encoded as I-VOP, the second to fifth VOP data V (2) to V (5) are encoded as P-VOP, and the sixth The VOP data V (6) is encoded as I-VOP, and the seventh to tenth VOP data V (7) to V (10) are encoded as P-VOP.
[0011]
When the encoding process is started, first, the first VOP data V (1) is encoded as I-VOP. That is, the original image data Dv corresponding to the I-VOP is compression-encoded by the encoder 102 and output as encoded data De. At this time, the encoder 102 outputs the compressed data Dc obtained by compressing the original image data Dv to the decoder 103. Then, the decoder 103 performs decompression processing on the compressed data Dc to generate I-VOP local decoded data Dd. The local decoded data Dd output from the decoder 103 is stored in the frame memory 105 as reference data.
[0012]
Next, the second VOP data V (2) is encoded as P-VOP. That is, the original image data Dv corresponding to the P-VOP is input to the subtracter 101 in the preceding stage of the encoder 102, and the subtractor 101 reads the image data read out as the predicted data Dp from the frame memory 105, and Difference data Dvd from the original image data Dv corresponding to the P-VOP is generated. Then, the difference data Dvd is compression-encoded by the encoder 102 and output as encoded data De.
[0013]
At this time, the encoder 102 outputs the compressed differential data Dcd obtained by compressing the differential data Dvd to the decoder 103. Then, the decoder 103 performs decompression processing on the compressed differential data Dcd to generate local decoded differential data Ddd. The adder 104 corresponds to P-VOP by adding the locally decoded differential data Ddd output from the decoder 103 and the prediction data Dp that is image data read from the frame memory 105. Local decoded data Ddp is generated. The locally decoded data Ddp output from the adder 104 is stored in the frame memory 105 as reference data.
[0014]
Thereafter, the third to fifth VOP data V (3) to V (5) are encoded as P-VOP, similar to the second VOP data. Further, the sixth VOP data V (6) is encoded as I-VOP, similar to the first VOP data V (1), and the seventh to tenth VOP data V ( Similarly to the second VOP data V (2), 7) to V (10) are encoded as P-VOP.
As described above, in the image encoding apparatus 100, the encoding process for the original image data Dv is performed with the I-VOP cycle being 5 VOPs.
[0015]
FIG. 20 is a block diagram for explaining a conventional image decoding apparatus.
The image decoding apparatus 200 decodes the encoded data De output from the image encoding apparatus 100 shown in FIG. 19A, and constitutes a decoding unit of the receiving terminal 20b in the data transmission system 20. To do.
That is, the image decoding apparatus 200 performs decompression decoding processing on the encoded data De from the image encoding apparatus 100 in units of VOPs, and decodes the decoded data Dd corresponding to the original image data Dv when decoding the I-VOP. When decoding the P-VOP, the decoder 201 that outputs the decoded difference data Ddd corresponding to the difference data Dvd between the original image data Dv and the prediction data Dp, and the decoded difference data Ddd Refer to the adder 202 that adds the prediction data Dp to generate the decoded data Ddecp corresponding to the P-VOP, the decoded data Dd corresponding to the I-VOP, and the decoded data Ddecp corresponding to the P-VOP. A frame memory 203 for recording as data, and image data read out from the frame memory 203 as the prediction data Dp is It is intended to be supplied to the adder 202.
[0016]
Next, the operation of the conventional image decoding apparatus 200 will be briefly described.
When the decoding process is started, the image decoding apparatus 200 decodes the encoded data De from the image encoding apparatus 100 for each VOP.
[0017]
That is, when encoded data De corresponding to I-VOP is input to the decoder 201, the decoder 201 performs decompression decoding on the encoded data De and corresponds to the original image data Dv. The decrypted data Dd to be generated is generated. The decoded data Dd is output from the image decoding apparatus 200 and stored in the frame memory 203 as reference data.
[0018]
Also, when the encoded data De corresponding to the P-VOP is input to the decoder 201, the decoder 201 performs decompression decoding on the encoded data De to obtain the original image data Dv and its image data Dv. Decoded differential data Ddd corresponding to differential data Dvd with the prediction data Dp is generated. When the decoded differential data Ddd is input to the adder 202, the adder 202 adds the decoded differential data Ddd and the image data read out as the predicted data Dp from the frame memory 203. Processing is performed to generate decoded data Ddecp corresponding to the P-VOP. The decoded data Ddecp is output from the image decoding apparatus 200 and stored in the frame memory 203 as reference data.
[0019]
[Problems to be solved by the invention]
However, the conventional data transmission system 20 as shown in FIG. 18 has the following problems.
In other words, in data transmission using RTP / UDP / IP, data sent from the distribution server may not arrive at the receiving terminal due to protocol characteristics. One of the factors is that when a bit error occurs in the received packet, the incoming packet is discarded by the error detection mechanism in UDP. In particular, in a transmission system in which a wireless transmission path is included in the transmission path from the server to the receiving terminal, the received transmission data cannot be correctly demodulated when the radio field intensity at the receiving terminal is weak. Bit errors will occur.
[0020]
In addition, the receiving terminal cannot perform the decoding process on the video frame unless the data (video stream) for one frame (VOP) is prepared. For this reason, as a countermeasure method when a transmission error occurs, for example, when a transmission error occurs, the data of the frame (VOP) in which data was not normally received is discarded, and then the I frame (I-VOP) A method is used in which a video frame in which data has been normally received is displayed until the data is normally received, and when the data in the I frame is normally received, the decoding process is resumed from this I frame. . With this handling method, there is no video disturbance, but the movement of the display image stops until an I frame is received.
[0021]
Furthermore, as another method when a transmission error occurs, the data of the frame (VOP) in which the data was not normally received is replaced with the data of the frame (VOP) that has been correctly received and decoded immediately before. There is a method of using frame data for decoding of subsequent frames. In this method, the display image does not stop moving in a frame other than the frame in which data is not normally received, so that smooth display is performed. However, since the data of the target frame to be decoded is decoded with reference to a frame different from the frame referred to in the encoding process, there is a possibility that the display content is greatly disturbed. Although depending on the viewer's preference, in general, when a transmission error occurs, rather than using a method of replacing the discarded reference frame data for the target frame with data of a frame other than the reference frame, By using the method of displaying the frame immediately before the occurrence of the transmission error until the I frame data is normally received after the occurrence of the transmission error, a reproduced image with less sense of incongruity can be obtained.
[0022]
However, the conventional receiving terminal is set in advance to execute any one of the above methods as a response method when a transmission error occurs. For this reason, an image displayed when a transmission error occurs is displayed. On the other hand, there was a problem that viewers sometimes felt a great sense of incongruity.
Furthermore, in order to suppress the degradation of video quality due to data compression, the appearance frequency of I frames (I-VOP) should be reduced as much as possible, but on the other hand, decoding that has become abnormal due to the occurrence of a transmission error From the standpoint of quickly returning the normalization process to the normal decoding process, there is also a problem that the frequency of appearance of the I frame (I-VOP) cannot be reduced very much.
[0023]
The present invention has been made in order to solve the above-described problems, and is a data reproducing apparatus and data that can make an image displayed when a transmission error occurs almost completely uncomfortable for a viewer. It is an object to obtain a data recording medium storing a reproduction method and a program for performing the data reproduction method by software.
[0024]
[Means for Solving the Problems]
The data reproducing apparatus according to the present invention is An image data receiving unit that receives a video stream including an intra-coded image frame in one or more packets for one coded image frame, and a video stream received by the image data receiving unit A decoding unit that outputs an image frame, a display unit that displays the image frame output from the decoding unit, and an appearance interval of the intra-frame encoded image frame in the video stream, A control unit that switches an operation mode of the decoding unit at the time of a transmission error due to a packet loss according to the appearance interval, and the control unit includes the intra-frame-encoded image frame included in the video stream. Is compared with a predetermined value set in advance, and the decoding unit determines that (1) when the appearance interval is equal to or greater than the predetermined value, Only the image frame constituted by the missing packet is skipped and the image frame other than the skipped image frame is decoded. (2) When the appearance interval is smaller than the predetermined value, The video stream decoding process is temporarily stopped until a packet constituting an intra-frame encoded image frame is received, and an operation mode is set. It is characterized by this.
[0025]
The present invention That the data reproducing device is a mobile phone It is a feature.
[0051]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of the present invention will be described below.
(Embodiment 1)
FIG. 1 is a diagram for explaining a data transmission system according to Embodiment 1 of the present invention. FIG. 1 (a) shows the configuration of the system, and FIG. 1 (b) shows data transmission processing in the system. Is shown.
The data transmission system 10a according to the first embodiment includes a server 100a that transmits a predetermined video stream (encoded image data), and a receiving terminal that receives the video stream transmitted from the server 100a and reproduces video data. Client terminal) 200a and a network 11 for transmitting the video stream from the server 100a to the receiving terminal 200a.
[0052]
Here, the server 100a stores a plurality of video streams obtained by encoding digital video signals of the same image sequence under different encoding conditions, and SMIL data in which attributes of the video streams are described. The data storage unit 120 stores the data stored in the data storage unit 120 and the data transmission unit 110 a that transmits the data stored in the data storage unit 120 to the network 11. The data storage unit 120 uses a mass storage device such as a hard disk.
[0053]
In the first embodiment, the plurality of video streams are a plurality of image data having different error tolerances corresponding to the same image series. Specifically, each of the plurality of video streams uses a large amount of intra-screen encoded data obtained by encoding a digital video signal using intra-screen pixel value correlation and a digital video signal using inter-screen pixel value correlation. The inter-frame encoded data with a small code amount is encoded, and the appearance interval of the intra-frame encoded data in each image data, in other words, the cycle of the I frame (I-VOP) is different.
The data storage unit 120 such as the hard disk stores video streams having different I frame periods, that is, I frame periods of 10 seconds, 5 seconds, 2 seconds, and 1 second, as video files Dv1 to Dv4. The SMIL file FSD1 is stored as the SMIL data Da.
[0054]
FIG. 2A shows the description content of the SMIL file FSD1.
Described at the beginning of each line of the SMIL file FSD1 <smil>, </ smil>, <body>, </ body>, <switch>, </ switch>, A character string such as <video> is called an element, and declares the content of the description that follows the element.
For example, the smil element 710a and the / smil element 710b declare that the line located between the line including the smil element and the line including the / smil element is described according to the SMIL standard.
The body element 720a and the / body element 720b are an attribute of video data to be played back, for example, information (URL) indicating a location, code, and the like in a line located between the line including the body element and the line including the / body element. It declares that information related to the initialization parameter (I frame period) is described.
[0055]
The switch element 730a and the / switch element 730b declare that one of a plurality of video elements positioned between the line including the switch element and the line including the / switch element is to be selected. is there. The video element declares that moving image data is designated by the description of lines 701 to 704 including the video element.
For example, in the item of each video element in the SMIL file FSD1, the appearance interval of the I frame (I frame period) is described as an i-frame-interval attribute. The best matching video element is selected. Specific values of the i-frame-interval attribute include “1s”, “2s”, “5s”, “10s”, and the smaller the specific i-frame-interval attribute value is, the more error the video data file has. It has high resistance strength. Here, four video data files having different I-frame appearance intervals are shown, but it goes without saying that it may be two, three, or five or more.
[0056]
In addition, the attribute value included in each video element item is not limited to the i-frame-interval attribute, and may be a system-error-resilient-level attribute that directly indicates error resilience strength.
For example, FIG. 5 (a) shows a SMIL file FSD2 indicating four video data files having different error resilience strengths as another example of the SMIL file.
[0057]
The SMIL file FSD2 includes items related to four video elements 711 to 714 having different error resilience strength described between a line including the switch element 731a and a line including the / switch element 731b. In addition, in each video element item, error resilience strength is described as a system-error-resilient-level attribute. Based on this attribute, the video element that best matches the content of the user setting is selected.
[0058]
Here, the specific values of the system-error-resilient-level attribute in each of the video elements 711, 712, 713, 714 are “1”, “2”, “3”, and “4”, respectively.
[0059]
FIG. 3 is a diagram showing a detailed configuration of the server 100a and the client terminal 200a constituting the system.
The data transmission unit 110a constituting the server 100a receives the SMIL data request message Mdr transmitted from the client terminal 200a by HTTP, reads the SMIL file Da from the data storage unit 120 according to the request, and reads the read SMIL file Da. An HTTP transmission / reception unit 101 that transmits HTTP as SMIL data Dsm, and an RTSP message transmission / reception unit 102 that receives a data request message Mrtsp transmitted from the client terminal 200a by RTSP and outputs a data designation signal Sc indicating the requested video file name. The data designation signal Sc is received, the video stream De corresponding to the video data file name indicated by the data designation signal Sc is read from the data storage unit 120, and the read video stream is And a RTP data transmission unit 103 for transmitting the RTP data Drtp by TP.
[0060]
In addition, the client terminal 200a transmits a user operation unit 213 that outputs various user operation signals Sop1, Sop2, and Serr according to a user operation, and transmits a request message Mdr of the SMIL data based on the user operation signal Sop1 by HTTP. In addition, the HTTP transmission / reception unit 211 that receives the SMIL data Dsm transmitted from the server 100a by HTTP, and the SMIL data Dsm are analyzed, and the analysis result and the error tolerance strength set by the user operation are specified. And a SMIL data analysis unit 212 for outputting a data designation signal Sc for designating predetermined data based on a level signal Serr indicating a typical level (numerical value).
[0061]
Here, based on the level signal Serr, the SMIL data analysis unit 212 determines necessary data out of a plurality of video data prepared on the server side and having different I-frame periods. A designation signal Sc for designating video data is output.
[0062]
The client terminal 200a transmits the data designation signal Sc as an RTSP message signal Mrtsp, receives an RTSP message transmission / reception unit 214 that receives a response signal Sack of the signal Mrtsp, and RTP data Drtp transmitted from the server 100a. The RTP data receiving unit 216 that outputs the video stream De, the decoding unit 210 that decodes the video stream De and outputs the image data Ddec, displays an image based on the image data Ddec, and performs the above user operation And a display unit 218 that performs display in accordance with the signal Sop2.
[0063]
Hereinafter, the configuration for setting the error tolerance in the user operation unit 213 will be specifically described.
FIG. 4A shows a screen (error tolerance setting screen) for setting the error tolerance strength of image data to be acquired in the receiving terminal 200a. Here, the receiving terminal 200a is assumed to be a mobile terminal 201a such as a mobile phone.
For example, by operating the button operation unit 21 of the mobile terminal 201a, an item [setting] for performing various initial settings is selected from among a plurality of items in the initial menu of the terminal, and more specific items [ When the streaming reception setting] and the item [error tolerance strength setting] are sequentially selected, an error tolerance setting screen 22b shown in FIG. 4A is displayed at the center of the display panel 22 of the mobile phone.
[0064]
In FIG. 4A, 22a is a screen showing the radio wave intensity, 22c is a screen for guiding the operation, and the screen 22c is operated by operating the up and down cursor keys 21a and 21c of the button operation unit 21. It is shown that the level of error resilience shown on the error resilience setting screen 22b is selected and the selected level should be confirmed by operating the confirm button 21e.
The error tolerance setting screen 22b sets either a preset error tolerance strength [high level] or a preset error tolerance strength [low level] as the error tolerance strength level of the image data to be acquired. It is a screen to do. Further, in the mobile terminal 201a, error tolerance strength [high level] and [low level] are associated with 80 and 20 out of integer values from 0 to 100 as error tolerance strength values, respectively. Then, either the error tolerance strength [high level] or the error tolerance strength [low level] is selected by the user operation, that is, the up / down cursor keys 21a, 21c of the button operation unit 21, and the confirmation button 21e is operated, When the selected level is confirmed, the error tolerance strength value corresponding to the established level is held as the error tolerance strength value of the terminal.
[0065]
Next, the operation will be described.
In this data transmission system 10a, as shown in FIG. 1B, a SMIL request signal Sd1 (SMIL request message Mrd shown in FIG. 3) for requesting SMIL data is transmitted from the receiving terminal 200a to the server 100a by HTTP. As a response, the SMIL data Dsm is transmitted from the server 100a to the receiving terminal 200a by the HTTP signal Dsd.
Thereafter, the receiving terminal 200a performs processing for transmitting a message Mrtsp specifying a required video stream to the server 100a as the RTSP signal Sd2 based on the analysis result of the SMIL data Dsm and the contents of the user setting. Then, after the response signal Sack is transmitted from the server 100a to the receiving terminal 200a by RTSP, a predetermined video stream Dstr is transmitted from the server 100a to the receiving terminal 200a as RTP data Drtp.
[0066]
Hereinafter, the data transmission process between the server 100a and the receiving terminal 200a will be described in detail.
First, in the receiving terminal (client terminal) 200a, various settings are performed by a user operation on the user operation unit 213 before requesting SMIL data corresponding to desired image data.
For example, when the receiving terminal 200a is the portable terminal 201a shown in FIG. 4 (a), the user operates various types of items in the initial menu of the terminal by operating the button operation unit 21 of the portable terminal 201a. An item [setting] for performing the initial setting is selected, and further more specific items [streaming reception setting] and item [error tolerance strength setting] are sequentially selected. Then, according to the operation signal Sop2, an error tolerance setting screen 22b shown in FIG. 4A is displayed on the display unit 218, that is, the display panel 22 of the portable terminal.
[0067]
On this error tolerance setting screen 22b, error tolerance strength [high level] and error tolerance strength [low level] are displayed as candidates for level selection of error tolerance strength of image data to be acquired.
For example, the error tolerance strength [low level] is selected by the user operating the up / down cursor keys 21a and 21c of the button operation unit 21, and the selected error tolerance strength [low level] is confirmed by operating the confirm button 21e. Then, an integer value “20” corresponding to the error tolerance strength [low level] is held as the error tolerance strength value of the mobile terminal.
[0068]
Then, when the user displays an image data selection screen (not shown) on the display unit 218 of the receiving terminal 200a and performs an operation of specifying the image data to be acquired on the image data selection screen, The operation signal Sop1 is input to the HTTP transmission / reception unit 211, and the HTTP transmission / reception unit 211 requests a signal Sd1 (SMIL request message Mdr shown in FIG. 3) for requesting SMIL data related to the designated image data (FIG. 1B). Is transmitted to the server 100a. Then, in the server 100a, the HTTP transmission / reception unit 101 receives the SMIL data request signal Sd1 from the client terminal 200a, and the HTTP transmission / reception unit 101 receives the SMIL data request signal Sd1 from the data storage unit 120. A process of reading the SMIL file Da and transmitting it as SMIL data Dsm by HTTP is performed. The SMIL data Dsm is transmitted to the receiving terminal (client terminal) 200a via the network 11, and is received by the HTTP transmitting / receiving unit 211.
[0069]
Then, in the receiving terminal 200a, the received SMIL data Dsm is analyzed by the SMIL data analysis unit 212, and one of the four video data files that best matches the contents set by the user is selected, and the selected video is selected. A designation signal Sc indicating a data file is output to the RTSP message transmission / reception unit 214. In the RTSP message transmission / reception unit 214, processing for transmitting the designation signal Sc to the server 100a as RTSP message signal Mrtsp by RTSP is performed.
[0070]
Hereinafter, the process of selecting the video data file corresponding to the error resilience level set by the user from the four video data files described in the SMIL file by the SMIL data analysis unit 212 will be specifically described. .
First, the SMIL data analysis unit 212 performs a process of digitizing each video element 701 to 704 in the SMIL file.
Specifically, when N (N: natural number) video elements are described in the SMIL file, the numerical value level Y (Y: Y: Y) is calculated for each video element based on the following calculation formula (1). An integer of 0 or more).
Y = 100 · (n−1) / (N−1) (1)
Here, the digitization level Y is a value given to the nth video element from the one with the lower error resistance strength of the corresponding video data file among the N video elements.
When the calculated value calculated by the above formula (1) is not an integer value, the numerical value level Y is set to an integer value that is equal to or larger than the calculated value and closest to the calculated value.
Here, since N = 4, the integer values “100”, “67”, “33”, and “0” are assigned to the four video elements 701 to 704 in order from the one with the highest error resistance strength. That is, the video element 704 has an integer value Yv4 (= 100), the video element 703 has an integer value Yv3 (= 67), the video element 702 has an integer value Yv2 (= 33), and the video element 701 Is assigned an integer value Yv1 (= 0).
[0071]
When N = 2, an integer value “100” is assigned to the corresponding video element with higher error tolerance strength, and an integer value “0” is assigned to the corresponding video element with lower error tolerance strength. Is done. When N = 3, the integer values “100”, “50”, and “0” are assigned to the three video elements in order from the higher error tolerance strength, and when N = 5, Integer values “100”, “75”, “50”, “25”, and “0” are assigned to the five video elements in order from the corresponding higher error tolerance strength.
[0072]
Then, the error tolerance strength value (user setting value) Xus1 (= 20) of the image data to be acquired, which is set by the user on the mobile terminal, and the adjustments given to each of the video elements 701 to 704 described above. The video element 702 to which the integer value Yv2 (= 33) closest to the user set value Xus1 (= 20) of the error resilience strength is assigned is selected (FIG. 2B). )reference).
[0073]
As described above, the receiving terminal 200a designates a video data file with different error tolerance indicated in the SMIL file according to the user setting at the receiving terminal, and indicates the designated video data file. When the designation signal Sc is transmitted to the server 100a as the RTSP message signal Mrtsp, in the server 100a, the RTSP message signal Mrtsp from the receiving terminal 200a is received by the RTSP message transmission / reception unit 102, and the designation signal Sc is received by the RTP data transmission unit. 103. Then, the transmission unit 103 performs a process of selecting a predetermined video file from a plurality of video files stored in the data storage unit 120 based on the designation signal Sc and transmitting it as RTP data Drtp. .
[0074]
When the RTP data Drtp is transmitted to the receiving terminal 200a via the network 11, the RTP data Drtp is received by the RTP data receiving unit 216, and the video stream De is output to the decoding unit 210. Is done. The decoding unit 210 generates image data Ddec by decoding the video stream De, and outputs it to the display unit 218. The display unit 218 performs image display based on the image data Ddec.
[0075]
As described above, in the data transmission system 10a according to the first embodiment, the server 100a stores a plurality of video streams having different I-frame periods as encoded data of image data corresponding to the same image series. 120 and a data transmission unit 110 that transmits a predetermined video stream of the plurality of video streams in response to a designation signal Sc from the reception terminal, and the reception terminal 200a is set based on the setting contents of the user. Thus, the designation signal Sc for designating one having a required error tolerance among the plurality of video streams prepared on the server 100a side is transmitted to the server 100a. Make the video stream provided by the site more resistant to transmission errors or video It is possible to choose a good quality.
[0076]
In the first embodiment, the description element indicating the description of each video file in the SMIL data is used. <video> is used, but this It may be <ref>.
In the first embodiment, RTSP is used as a protocol for requesting data, and RTP is used as a protocol for transmitting video data. However, other protocols may be used.
Further, in the first embodiment, the case has been described in which information relating to a plurality of video streams with different encoding conditions prepared in the server is included in SMIL data, but the information relating to the plurality of video streams is SDP. (Session description protocol) data, MPEG-4 System data (MPEG-4 scene description data), etc. may be transmitted.
[0077]
Further, in the first embodiment, the case where the error resilience strength of the video stream is indicated by the I frame period has been described. However, the error resilience strength of the video stream is defined by the MPEG-4 video coding standard other than the I frame period. It may be indicated by information for describing various error resilience modes.
For example, the information for describing the error resilience mode of the video stream includes information indicating the size of the video packet in the video stream, or whether or not HEC (Head Extension Code) is used (that is, VOP header information is included in the video packet header). Information, and whether or not data partitioning (that is, placing important information at the beginning of the packet) or RVLC (Reversible Variable Length Code), that is, the beginning of the packet. It may be information indicating whether or not a data structure capable of decoding a variable-length code is used not only from the rear end.
[0078]
In the first embodiment, as an attribute included in each video element item, an i-frame-interval attribute or a system-error-resilient-level (error-protection-1eve1) that directly indicates error resilience strength. ) Attributes are shown, but these attribute values may be converted in advance to integer values of 0 to 100 proportional to the level of error resilience strength. In this case, as in Embodiment 1 above In addition, it is not necessary to digitize the attribute value related to the error resilience strength with an integer value of 0 to 100 at the receiving terminal.
[0079]
Further, in the first embodiment, as a method for setting the level of error tolerance strength of image data to be received, a method of selecting either error tolerance strength [high level] or error tolerance strength [low level] (FIG. 4 (a)), the method of setting the error tolerance level of image data to be received at the receiving terminal is to specify the error tolerance strength level within a certain range using a slide bar or the like. It may be.
[0080]
FIG. 4B is a diagram for explaining the portable terminal 201b that sets the level of error resilience strength using a slide bar, and shows an error tolerance setting screen 22d in the portable terminal 201b. In FIG. 4B, the same reference numerals as those in FIG. 4A indicate the same reference numerals as those in the portable terminal 201a of the first embodiment.
For example, by operating the button operation unit 21 of the mobile terminal 201b, as with the operation on the mobile terminal 201a in the first embodiment, various initial settings among a plurality of items in the initial menu of the terminal are performed. When the item [setting] is selected, and further more specific items [streaming reception setting] and item [error resistance strength setting] are sequentially selected, an error tolerance setting screen 22d shown in FIG. Displayed in the center of the display panel 22 of the terminal, a screen 22e for guiding operation is displayed below the error tolerance setting screen 22d.
[0081]
Here, the error tolerance setting screen 22d is a screen for setting the level of error tolerance strength of the image data to be acquired by the slide bar 22d1. The error tolerance setting screen 22d shows a range in which the slide bar 22d1 can be moved in the left-right direction, and the left end position Lp and the right end position Rp in the movement range 22d2 are error tolerance strengths [minimum level]. , A position for designating error tolerance strength [highest level], and an intermediate point Mp between the left end position Lp and the right end position Rp is a position for designating error tolerance strength [medium level].
[0082]
And in the user operation part 213 of this portable terminal 201b, the integer value of 0-100 is calculated as an error tolerance strength level based on the following formula (2) according to the position of a slide bar.
X = Ls · (1 / Rs) · 100 (2)
Here, X is an error resistance strength level, Rs is a distance (slide length) between the left end position Lp and the right end position Rp in the slide range 22d2, and Ls is a distance (slide) of the slide bar 22d1 from the left end position Lp. Distance).
For example, when the slide length Rs is 50 mm and the slide distance Ls of the slide bar 22d1 is 15 mm, the error tolerance strength level X is Xus1 (= (15/50) · 100 = 30 from the calculation formula (2). ) If the calculated value of the error resilience level calculated from the calculation formula (2) is not an integer value, the error resilience strength level is set to an integer value that is equal to or greater than the calculated value.
[0083]
Further, on the screen 22e, by operating the left and right cursor keys 21b and 21d of the button operation unit 21, the slide bar 22d1 shown on the error resistance setting screen 22e is moved to specify the level of error resistance strength, and It is indicated that the level of the specified error resilience strength should be confirmed by operating the confirm button 21e of the button operation unit 21.
When the slide distance Ls of the slide bar 22d1 is designated by the user operation, that is, the left and right cursor keys 21b and 21d of the button operation unit 21, and the designated slide distance is confirmed by the operation of the confirm button 21e, The error tolerance strength is calculated based on the above formula (2), and the calculated value is held as the error tolerance strength value of the mobile terminal.
[0084]
Also in this case, the video elements 711 to 714 are based on the error tolerance strength value (user setting value) Xus1 (= 30) of the image data to be acquired, which is set by the user on the mobile terminal. In the process of determining one of them, as shown in the first embodiment, the video element 712 to which the integer value Yv2 (= 33) closest to the user setting value Xus1 of the error tolerance strength is assigned is selected. (See FIG. 2 (b)).
[0085]
Note that the process of determining one of the video elements 711 to 714 based on the user setting value is given an integer value closest to the user setting value Xus1 as in the first embodiment. Not only the process in which the video element is selected, but as shown in FIG. 5B, for example, an integer value Yv3 (= 67) that is equal to or larger than the user setting value Xus2 (= 40) and is set is added. The selected video element 713 may be selected.
[0086]
In the first embodiment, the case where the user sets the error tolerance strength for the image data to be received at the receiving terminal has been described. However, the receiving terminal sets the error tolerance strength for the image data to be received, It may be automatically set according to the state of the received radio wave.
[0087]
Further, in the first embodiment, the plurality of pieces of image data having different error tolerance corresponding to the same image series are shown having different appearance intervals of the encoded data corresponding to the I frame. The plurality of different image data may have different frame rates, may have different transmission protocols for the image data, or may have different data unit sizes when packetized.
[0088]
For example, image data with a high frame rate has higher error tolerance strength than image data with a low frame rate, and image data transmitted by a transmission protocol including retransmission and duplicate transmission includes retransmission and duplicate transmission. Compared to image data transmitted with no transmission protocol, the error tolerance strength is high. Also, image data with a small data unit at the time of packetization has higher error resistance strength than image data with a large data unit at the time of packetization.
[0089]
Hereinafter, a plurality of image data having different data unit sizes when packetized will be described in detail.
FIG. 6 shows first and second images having different data unit sizes when packetized, which is obtained by encoding a digital video signal Sdv as two image data having different error tolerance corresponding to the same image series. Encoded data is shown.
[0090]
That is, the first image encoded data D1 shown in FIG. 6A is a digital video signal corresponding to each of the frames F1 to F3. The encoder Enc converts one frame of encoded data into one video packet. The error tolerance strength obtained by encoding to be stored in VPa1 is low. In the first encoded image data D1 having low error tolerance, when a transmission error occurs during transmission of encoded data corresponding to the frame F2, encoded data of the packet VPa1 including the error part Perr, that is, All the encoded data of the frame F2 cannot be decoded.
[0091]
Also, the second image encoded data D2 shown in FIG. 6B is a digital video signal corresponding to each of the frames F1 to F3, and the encoded data corresponding to one frame is 3 by the encoder Enc. It is one with high error tolerance obtained by encoding so as to be distributed and stored in one video packet VPb1 to VPb3. In such second encoded image data D2 having high error tolerance, even if a transmission error occurs during transmission of encoded data corresponding to the frame F2, the encoding corresponding to the packet VPb3 including the error part Perr is performed. The encoded data corresponding to the other packets VPb1 and VPb2 can be decoded only by being unable to decode the data.
Note that the encoded image data is not limited to data that is packeted for each frame or data unit that is smaller than the frame as described above, but is data that is packetized for each data unit that is larger than the frame. Also good.
[0092]
(Embodiment 2)
FIG. 7 is a diagram for explaining a data transmission system according to the second embodiment of the present invention, and shows a configuration of a server and a client terminal of the system.
The data transmission system 10b according to the second embodiment replaces the client terminal 200a in the system 10a according to the first embodiment with the error tolerance strength of image data to be received and the RTP data from the server 100a set by the user. A client terminal 200b that determines a video stream having an optimal error resilience strength based on the rate of occurrence of a transmission error of Drtp and transmits a designation signal Sc that designates the determined video stream to the server 100a is provided. .
[0093]
That is, the receiving terminal 200b according to the second embodiment assumes that the image data received first is selected from a plurality of video data files indicated in the SMIL file based on the error tolerance strength set by the user. After the start, according to the error occurrence rate of the received image data, the image data having a predetermined error resilience strength being received is switched to one selected from a plurality of video data files indicated in the SMIL file. .
[0094]
Hereinafter, the client terminal 200b of the second embodiment will be described in detail.
The client terminal 200b includes an RTP data receiving unit 216b and an SMIL data analyzing unit 212b that perform different operations from the RTP data receiving unit 216 and the SMIL data analyzing unit 212 in the client terminal 200a. The HTTP transmission / reception unit 211, the RTSP message transmission / reception unit 214, the decoding unit 210, the user operation unit 213, and the display unit 218 in the client terminal 200b are the same as those in the client terminal 200a of the first embodiment.
[0095]
The RTP data receiving unit 216b receives the RTP data Drtp, outputs the time stamp information Its of the RTP packet in the RTP data Drtp, further detects the rate of occurrence of transmission errors of the RTP data, and this error rate Is output. Also, the SMIL data analysis unit 212b converts the video stream supplied from the server as RTP data according to the comparison result between the error occurrence rate indicated by the error signal Rerr and a certain threshold value, in accordance with the encoding condition (that is, error tolerance). A designation signal Sc for switching to another video stream having a different intensity is output to the RTSP message transmission / reception unit 214. The certain threshold is a terminal-specific reference value set in advance for the receiving terminal 200b.
[0096]
Here, the RTP data receiving unit 216b calculates the packet loss rate as an error occurrence rate based on the sequence number information included in the header portion of the RTP packet (RTP data). Also, the SMIL data analysis unit 212b selects a video stream with a short I frame period when the packet loss rate increases, and selects a bit stream with a long I frame period when the packet loss rate is low. A designation signal Sc for output is output.
[0097]
Hereinafter, the calculation of the error occurrence rate will be specifically described.
The RTP packets are given consecutive sequence numbers in the packet transmission order indicated by the sequence number information included in the header portion. The RTP receiving unit 216b displays the total number Na of RTP packets to be received every certain unit time, the sequence number of the RTP packet received at the beginning of the unit time, and the sequence number of the RTP packet received at the end of the unit time. And the total number Nr of RTP packets actually received within this unit time is counted, and the error occurrence rate Erate at that time is obtained by the following calculation formula (3).
Erate = Nr / Na (3)
Next, the operation will be described.
The operation of the data transmission system 10b of the second embodiment is different from the operation of the data transmission system 10a of the first embodiment only in the operations of the SMIL data analysis unit 212b and the RTP data reception unit 216b of the receiving terminal 200b.
That is, in the receiving terminal 200b, as in the receiving terminal 200a of the first embodiment, various settings are performed by a user operation on the user operation unit 213 before requesting SMIL data corresponding to desired image data.
That is, the user sets the level of the error tolerance strength of the image data to be received on the error tolerance setting screen 22b shown in FIG. When the user performs an operation of designating image data to be acquired on an image data selection screen (not shown), an operation signal Sop1 corresponding to this operation is input to the HTTP transmission / reception unit 211, and the HTTP transmission / reception unit 211 From the above, a signal Sd1 (SMIL request message Mdr) (see FIG. 1B) for requesting SMIL data related to the designated image data is transmitted to the server 100a.
[0098]
Then, in the server 100a, the HTTP transmission / reception unit 101 receives the SMIL data request signal Sd1 from the receiving terminal 200b, and the HTTP transmission / reception unit 101 stores the SMIL file Da corresponding to the SMIL data request signal Sd1 in the data A process of reading from the storage unit 120 and transmitting it as SMIL data Dsm by HTTP is performed. The SMIL data Dsm is transmitted to the receiving terminal 200b via the network 11, and is received by the HTTP transmitting / receiving unit 211.
[0099]
In the receiving terminal 200b, the received SMIL data Dsm is analyzed by the SMIL data analyzing unit 212b, and the best video data file selected from the four video data files is selected, and the selected video data file is selected. Is output to the RTSP message transmission / reception unit 214. The RTSP message transmission / reception unit 214 performs processing for transmitting the designation signal Sc to the server 100a as the RTSP message signal Mrtsp by RTSP.
[0100]
Then, in the server 100a, the RTSP message signal Mrtsp from the receiving terminal 200b is received by the RTSP message transmission / reception unit 102, and the designation signal Sc is output to the RTP data transmission unit 103. Then, the transmission unit 103 performs a process of selecting a predetermined video file from a plurality of video files stored in the data storage unit 120 based on the designation signal Sc and transmitting it as RTP data Drtp. .
[0101]
When the RTP data Drtp is transmitted to the receiving terminal 200b via the network 11, the RTP data Drtp is received by the RTP data receiving unit 216b and the video stream De is output to the decoding unit 210. Is done. The decoding unit 210 generates image data Ddec by decoding the video stream De, and outputs it to the display unit 218. The display unit 218 performs image display based on the image data Ddec.
[0102]
As described above, in the state where the RTP data Drtp is transmitted from the server 100a to the receiving terminal 200b, the RTP data receiving unit 216b detects the occurrence rate of the transmission error of the RTP data Drtp, and an error indicating the error occurrence rate The signal Rerr is output to the SMIL data analysis unit 212b.
[0103]
Then, in the SMIL data analysis unit 212b, the video supplied from the server 100a as RTP data based on the comparison result between the error occurrence rate indicated by the error signal Rerr and a certain threshold value that is a reference value unique to the receiving terminal 200b. A designation signal Sc for switching the stream to other video data having different encoding conditions (that is, error resilience strength) is output to the RTSP message transmission / reception unit 214. Then, the RTSP message transmission / reception unit 214 performs processing for transmitting the designation signal Sc to the server 100a as the RTSP message signal Mrtsp by RTSP.
[0104]
In the server 100 a, the RTSP message signal Mrtsp from the receiving terminal 200 b is received by the RTSP message transmitting / receiving unit 102, and the designation signal Sc is output to the RTP data transmitting unit 103. Then, the transmission unit 103 performs processing for selecting a video file indicated by the designation signal Sc from a plurality of video files stored in the data storage unit 120 and transmitting it as RTP data Drtp.
[0105]
Hereinafter, a process for calculating the error occurrence rate during the transmission of the image data and a process for switching the stream in accordance with the calculated error occurrence rate will be described in detail.
The SMIL data analysis unit 212b is a work memory (not shown) that records information about each video element described in the SMIL file and information indicating the reception state of image data (video stream) corresponding to each video element. )have.
[0106]
FIG. 8A shows information recorded in the work memory.
Here, in the work memory, information regarding the video elements 711 to 714 in the SMIL file FSD2 shown in FIG. 5A is recorded, and the number of items (number of entries) recorded in the memory is as follows. In SMIL file FSD2, <switch> element 731a and </ switch> matches the number of elements described between the elements 731b (that is, the number of video elements).
[0107]
As shown in FIG. 8A, each item (entry) has a URL (server address) indicating the location of the corresponding video stream on the network, an error resilience strength of the corresponding video stream, An execution flag indicating whether the video stream to be received is in a reception (playback) state that is received and played back, or a non-reception (non-playback) state in which neither reception nor playback is performed, and a corresponding video stream, Includes the latest timestamp.
In the item E2 of the entry number [2], the value of the execution flag is “1”, which indicates that the video stream corresponding to the item E2 is currently being received (reproduced). ing. Further, in the items E1, E3, E4 of the entry numbers [1], [3], [4], the value of the execution flag is “0”, which corresponds to these items E1, E3, E4. This indicates that the video stream to be received (reproduced) is not currently being performed.
[0108]
In addition, the error tolerance strength values in the items E1 to E4 are “0”, “33”, “67”, and “100”, and these values are as described in the first embodiment. This is calculated based on the value of the system-error-resilient-level attribute in the SMIL file FSD2 using the calculation formula (1).
[0109]
In addition, the latest time stamp in each item E1 to E4 is updated as needed by the time stamp given to the header of the latest received RTP packet, and the video stream corresponding to the specific item is changed to the other item. When switching to a video stream corresponding to, the data request timing is used.
In FIG. 8A, the latest time stamp value in the items E1, E3, and E4 is “0”, and this value “0” indicates that the video stream corresponding to these items has not been received yet. ing. The value of the latest time stamp in item E2 is “3060000”. In MPEG-4, since the time stamp is set using a clock of 90 kHz, this value “3060000” corresponds to 34 seconds.
[0110]
FIG. 8B shows the association between the error occurrence rate and the error tolerance strength in the receiving terminal 200b.
Information relating to this association is recorded as table information Rte unique to the receiving terminal in the information storage unit (not shown) of the SMIL data analysis unit 212b. Here, the error occurrence rate (threshold) Eth (Eth = 0) percent, Eth (0 <Eth ≦ 3) percent, Eth (3 <Eth ≦ 6) percent, and Eth (6 <Eth) percent are the error tolerance strengths, respectively. The video stream with the lowest error tolerance, the video stream with the error tolerance quantification level “30”, the video stream with the error tolerance quantification level “60”, and the video stream with the highest error tolerance strength is doing. That is, in this table information, the error occurrence rates of 0%, 3%, and 6% are threshold values for switching video streams according to the error occurrence rate.
[0111]
Next, the operation of the SMIL data analysis unit 212b when switching video streams according to fluctuations in the error rate will be described.
The setting value Xus2 of the error resilience strength at the receiving terminal is “40” as shown in FIG. 5B, and among the video streams corresponding to each video element shown in the SMIL file FSD2. Suppose that the error resilience strength digitization level closest to the error resilience strength setting value Xus2 is selected as the video stream to be received. The numerical level Y of error resilience strength given to each video element shown in the SMIL file FSD2 is calculated by the above formula (1). That is, the video element 714 has an integer value Ys4 (= 100), the video element 713 has an integer value Ys3 (= 67), the video element 712 has an integer value Ys2 (= 33), and the video element 711 has an integer value. Numerical value Ys1 (= 0) is given. Accordingly, the receiving terminal 200b requests and receives a video stream corresponding to the video element 712 and having a numerical value level Y of error resilience Ys2 (= 33) as the first received video stream. .
[0112]
First, the SMIL data analysis unit 212b of the receiving terminal 200b writes the execution flag value “1” corresponding to the entry [2] into the work memory.
Then, the RTSP message transmission / reception unit 214 of the receiving terminal 200b performs processing for transmitting the data request message for requesting the video stream corresponding to the entry [2], that is, the video stream indicated by the video element 712, by RTSP.
[0113]
Thereafter, when a video stream corresponding to the video element 712 is input to the receiving terminal 200b, the RTP data receiving unit 216b receives the video stream corresponding to the video element 712, and first receives the video stream corresponding to the video stream. The time stamp information Its of the RTP packet is output to the SMIL data analysis unit 212b.
Then, in the SMIL data analysis unit 212b, the time stamp value corresponding to the entry [2] recorded in the work memory is sequentially updated to the latest value.
[0114]
If the error occurrence rate is zero as a result of observing the reception status at the RTP data receiving unit 216b for a certain time (for example, 10 seconds), the SMIL data analyzing unit 212b displays the table information shown in FIG. Based on Rte, a video stream having the lowest error resilience strength is selected from the video streams indicated in the SMIL file, and a designation signal designating this video stream as image data to be received is transmitted and received by the RTSP message. Is output to the unit 214.
[0115]
At this time, the SMIL data analysis unit 212b performs a process of changing the value of the execution flag corresponding to the entry [2] to “0” and the value of the execution flag corresponding to the entry [1] to “1”. .
Thereafter, the RTSP message transmission / reception unit 214 makes a data request to the URL (server address) corresponding to the entry [1] by RTSP, and at this time, based on the latest time stamp corresponding to the entry [2]. The head position of the requested data (video stream) is designated.
[0116]
FIG. 9 is a diagram showing an example of a sequence by RTSP, that is, message exchange.
When switching video streams, first, the RTSP message transmission / reception unit 214 of the receiving terminal 200b receives a DESCRIBE request for the video stream indicated by the video element 711 by RTSP for the URL (server address) corresponding to the entry [1]. A message (DESCRIBE rtsp: //s.com/s1.mp4 RTSP / 1.0) Sm1 is transmitted. Then, a response message (RTSP / 1.0 200 OK) Rm1 to the DESCRIBE request message Sm1 is transmitted from the RTSP message transmitting / receiving unit 102 of the server 100a corresponding to the URL to the receiving terminal 200b. This response message Rm1 includes SDP data Dsd for the video stream indicated by the video element 711.
[0117]
Subsequently, from the RTSP message transmission / reception unit 214 of the receiving terminal 200b, the first SETUP request message (SETUP rtsp) for the video stream indicated by the video element 711 is received by RTSP for the URL (server address) corresponding to the entry [1]. : //s.com/s1.mp4/trackID=1 RTSP / 1.0) Sm2 and second SETUP request message (SETUP rtsp: //s.com/s1.mp4/trackID=2 RTSP / 1.0) Sm3 sent Is done. Then, the RTSP message transmitting / receiving unit 102 of the server 100a corresponding to the URL sends response messages (RTSP / 1.0 200 OK) Rm2, Rm3 to the first and second SETUP request messages Sm2, Sm3 to the receiving terminal 200b. Sent.
[0118]
Thereafter, from the RTSP message transmission / reception unit 214 of the receiving terminal 200b, a PLAY request message (PLAY rtsp: // s) for the video stream indicated by the video element 711 is received by RTSP for the URL (server address) corresponding to the entry [1]. .com / s1.mp4 RTSP / 1.0) Sm4 is transmitted. In the case of a PLAY request, the head position of the request data is designated by information (Range: npt = 37-). Since the time stamp value of the latest received RTP packet for the currently received video stream indicates that the display time for the video stream is 34 seconds, the start position of the request data is 34 seconds or later. Here, assuming that the processing delay time for switching the video stream is about 3 seconds, the head position of the request data is the position where the display time is 37 seconds.
[0119]
In response to the PLAY request message Sm4, a response message (RTSP / 1.0 200 OK) Rm4 is transmitted from the RTSP message transmitting / receiving unit 102 of the server 100a corresponding to the URL to the receiving terminal 200b. At the same time, the RTP transmitting unit 103 of the server 100a starts processing to transmit the RTP packet of the video stream (video element 711) to the receiving terminal by RTP (time Ts2), and the RTP data receiving unit of the receiving terminal 200a In 216b, processing for receiving the RTP packet is started (time Tr2).
[0120]
Also, in the RTSP message transmission / reception unit 214, whether or not the time stamp of the RTP packet for the entry [1] received by the RTP data reception unit 216b is equal to or smaller than the time stamp value of the RTP packet for the entry [2]. If the time stamp of the RTP packet for entry [1] is less than or equal to the time stamp value of the RTP packet for entry [2], a TEARDOWN request message Sm5 is sent to the server for entry [2]. Processing to issue is performed. At the same time, the process of receiving the RTP packet for entry [2] is stopped (time Tr3).
[0121]
In other words, the display time (T1) calculated from the time stamp value of the first received RTP packet corresponding to the video stream (s1.mp4) is already received corresponding to the video stream (s2.mp4). The RTP data receiving unit 216b stops receiving the RTP packet corresponding to the video stream (s1.mp4) only when it is smaller than the display time (T2) calculated from the time stamp value of the latest RTP packet. As a result, when the video stream is switched, the video stream after the switching is played back without interruption following the playback of the video stream before the switching.
[0122]
On the other hand, in the server 100a for the entry [2], the RTP data transmission unit 103 receives the TEARDOWN request message (TEARDOWN rtsp: //s.com/s2.mp4 RTSP / 1.0) Sm5 and receives the RTP packet for the entry [2]. Is stopped (time Ts3), and a response message Rm5 to the TEARDOWN request message Sm5 is transmitted to the receiving terminal 200b.
[0123]
The RTP data receiving unit 216b of the receiving terminal 200b discards the RTP packet for the entry [2] having a time stamp that overlaps the time stamp of the RTP packet for the entry [1].
On the other hand, when the error occurrence rate is 5% as a result of the observation of the reception status, the error tolerance strength quantification level close to “60” is selected based on the table information Rte shown in FIG. Then, the process of switching the video stream being received to the video stream corresponding to entry [3] is performed.
In FIG. 9, the time Ts1 is the transmission start time of the video stream (s2.mp4), the time Ts4 is the transmission stop time of the video stream (s1.mp4), and the time Tr1 is the video stream (s2.mp4). The reception start time, time Tr4, is the reception stop time of the video stream (s1.mp4).
[0124]
FIG. 10 is a diagram for explaining video stream switching processing at the receiving terminal, taking a specific RTP packet as an example.
FIG. 10 (a) shows the last received several RTP packets P2 (ks) to P2 (k + 3) stored in the reception buffer corresponding to the video stream (s2.mp4). FIG. 10B shows several RTP packets P1 (j) to P1 (j + m) received first, which are stored in the reception buffer corresponding to the video stream (s1.mp4). Here, the display times T2 (k), T2 () calculated from the time stamp values of the RTP packets P2 (k), P2 (k + 1), P2 (k + 2), P2 (k + 3). k + 1), T2 (k + 2), and T2 (k + 3) are 36.00 (seconds), 36.50 (seconds), 37.00 (seconds), and 37.50 (seconds), respectively, and the RTP packet P1 (j) , P1 (j + 1), P1 (j + 2), P1 (j + 3), and display time T1 (j), T1 (j + 1) calculated from the time stamp values of P1 (j + 4) , T1 (j + 2), T1 (j + 3), and T1 (j + 4) are 37.00 (seconds), 37.25 (seconds), 37.50 (seconds), 37.75 (seconds), and 38.00 (seconds), respectively. is there.
[0125]
Specifically, the RTP data receiving unit 216b starts receiving the video stream (s1.mp4) from the RTP packet P1 (j) and receives the video stream (s2.mp4) from the RTP packet P2 (k + 3 ) Ends when it is received. Then, RTP packets P2 (k + 2) and P2 (k + 3) corresponding to the video stream (s2.mp4) whose time stamp value (display time) overlaps that of the video stream (s1.mp4) are discarded. .
[0126]
FIG. 11 is a diagram showing a flow of video stream switching processing at the receiving terminal.
When the SMIL data analysis unit 212b determines to switch the video stream to be received from the video stream (s2.mp4) to the video stream (s1.mp4) based on the error occurrence rate, the video stream switching illustrated in FIG. Processing begins.
[0127]
First, the RTP data receiving unit 216b performs processing for receiving the RTP packet Ps1 corresponding to the switched video stream (s1.mp4), and the SMIL data analyzing unit 212b first receives the variable Ta. The display time calculated from the time stamp value Ts1 of the RTP packet Ps1 (the display time of the data after switching) is set (step S1).
[0128]
Next, in the SMIL data analysis unit 212b, the display time (data before switching) calculated from the time stamp value Ts2 of the last received RTP packet Ps2 corresponding to the video stream (s2.mp4) before switching is set as the variable Tb. Is set) (step S2).
Next, in the SMIL data analysis unit 212b, the variable Ta, that is, the display time (display time of data after switching) is equal to or less than the variable Tb, that is, the display time (maximum value of display time of data before switching). Whether or not is determined (step S3).
[0129]
If the result of determination in step S3 is that the variable Ta is not less than or equal to the variable Tb, it is further determined whether or not an RTP packet corresponding to the video stream before switching has been received (step S4).
As a result of the determination in step S4, when the RTP packet corresponding to the video stream before switching is not received, the determination in step S4 is performed again.
On the other hand, as a result of the determination in step S4, when an RTP packet corresponding to the video stream before switching is received, in step S2, the variable Tb is set to the time stamp value Ts2 of the last received RTP packet Ps2. Processing for setting the obtained display time is performed.
[0130]
If the variable Ta is equal to or smaller than the variable Tb as a result of the determination in step 3, the RTP data receiving unit 216b receives the RTP packet Ps2 corresponding to the video stream (s2.mp4) before switching. And the processing for discarding the RTP packet Ps2 corresponding to the video stream (s2.mp4) before switching and whose time stamp value overlaps that of the video stream (s1.mp4) is performed, and RTSP In the message transmission / reception unit 214, a request message for stopping transmission of the RTP packet Ps2 corresponding to the video stream (s2.mp4) before switching is issued (step S5).
[0131]
FIG. 12 is a schematic diagram specifically explaining the processing in the RTSP message transmission / reception unit 214 and the RTP data reception unit 216b of the receiving terminal when the video stream is switched according to the display time.
The error occurrence rate calculation unit 216b1 of the RTP data reception unit 216b performs processing P1 of calculating the error occurrence rate at intervals of, for example, once every 5 seconds during reception of the RTP packet.
Then, for example, when a process P2 for determining switching to the other video stream (for example, s1.mp4) of the currently received video stream (for example, s1.mp4) is performed due to a change in the error occurrence rate (time Tp2) The RTSP message transmission / reception unit 214 performs processing P3 for issuing a DESCRIBE request message, a SETUP request message, and a PLAY request message for the video stream (s1.mp4).
[0132]
Thereafter, when the RTP data receiving unit 216b receives the RTP packet P1 (j) for the video stream (s1.mp4), the display time (37.00 seconds) corresponding to the time stamp value of the RTP packet P1 (j) received first. ) Is compared with the display time (37.00 seconds) corresponding to the time stamp value of the latest RTP packet P2 (k + 2) received at this time for the video stream (s2.mp4) before switching. Is performed according to the processing flow shown in FIG. 11 (time Tp4).
[0133]
As a result of the comparison process P4, a video stream (s2.mp4) that has a time stamp value corresponding to the video stream (s1.mp4) and that overlaps with the time stamp value of the RTP packet P1 (j) received first. When the RTP packet corresponding to is received, the process P5 for stopping the reception of the RTP packet corresponding to the video stream (s2.mp4) is performed (time Tp5). For this reason, RTP packets P2 (k + 4) to P2 (k + n) transmitted after the reception stop process P5 are not received by this receiving terminal. The display time corresponding to the time stamp value of the received RTP packets P2 (k + 2) and P2 (k + 3) corresponding to the video stream before switching (s2.mp4) is the video stream after switching. Since it is larger than the display time corresponding to the time stamp value of the first received RTP packet P1 (j) corresponding to (s1.mp4), these RTP packets P2 (k + 2) and P2 (k + 3) The RTP data receiving unit 216b discards the data.
Further, in parallel with the reception stop process P5 in the RTP data reception unit 216b, the RTSP message transmission / reception unit 214 performs a process P6 for issuing a TEARDOWN request message for the video stream (s2.mp4).
[0134]
In FIG. 12, P2 (kr) is the head RTP packet corresponding to the video stream (s2.mp4), and P2 (k-7) to P2 (k + 3) are the start of the reception stop process P5. Are RTP packets corresponding to the video stream (s2.mp4) received between a few seconds before and immediately before the start of the reception stop process P5. These RTP packets P2 (k-7), P2 (k-6), P2 (k-5), P2 (k-4), P2 (k-3), P2 (k-2), P2 (k-1), P2 (k), P2 (k + 1) Time corresponding to display time 32.50 (seconds), 33.00 (seconds), 33.50 (seconds), 34.00 (seconds), 34.50 (seconds), 35.00 (seconds), 35.50 (seconds), 36.00 (seconds), 36.50 (seconds) A stamp value is assigned.
[0135]
P1 (j + 1) to P1 (j + 3) are RTP packets corresponding to the video stream (s1.mp4) following the first received RTP packet P1 (j), and these RTP packets P1 Time stamp values corresponding to display times 37.25 (seconds), 37.50 (seconds), and 37.75 (seconds) are assigned to (j + 1) to P1 (j + 3). P1 (j + m) is the last received RTP packet corresponding to the video stream (s1.mp4).
[0136]
Note that the timestamp value written in the header of the RTP packet is given its initial value by the timestamp described in the RTP-Info field in the RTSP transmission message. Time stamp values are not simply compared between RTP packets corresponding to streams, but display times corresponding to time stamp values are compared.
[0137]
The display time Td is calculated by the following calculation formula (4).
Td = Th + (Pts−Ptsi) / Sts (4)
Here, Th is a time indicating the start position of the reproduction data specified in the Range field in the PLAY response message, Pts is a value of a time stamp (packet time stamp) given to each packet, Ptsi is an initial value of the time stamp, Sts is a time scale, and the time scale is specified in the SDP information returned from the server as a response to the DESCRIBE request.
[0138]
As described above, in the data transmission system 10b according to the second embodiment, the RTP data Drtp from the server 100a is received instead of the RTP data receiving unit 216 of the receiving terminal 200a according to the first embodiment, and the received RTP packet An RTP data receiving unit 216b that outputs an error signal Rerr indicating the loss rate (transmission error rate) of the RTP packet at the receiving terminal to the SMIL data analyzing unit 212b by analysis is provided. The data analyzing unit 212b determines the loss rate of the packet. A signal (data designation signal) Sc for instructing the server to switch the video stream provided from the server 100a to one with high transmission error tolerance or video quality is generated in accordance with the change, so that the receiving terminal 200b Then, when the transmission error rate is high, use it on the server side. Can be received with a high error tolerance with a short I-frame period, and when the rate of occurrence of transmission errors is low, the I-frame among the video streams prepared on the server side A video with a long period and high image quality can be received.
[0139]
In the second embodiment, the case where the SMIL file is the one (SMIL file FSD2) shown in FIG. 5A that shows four video data files with different error tolerance strengths. As shown in FIG. 13 (a), three video elements having different error resilience strengths are shown, and each video element has an error resilience strength described as a system-protocol attribute (SMIL file FSD3). There may be.
[0140]
That is, the SMIL file FSD3 shown in FIG. 13A is an item related to three video elements 721 to 723 having different error resilience strengths described between a line including the switch element 732a and a line including the / switch element 732b. Is included. In addition, in each video element item, error resilience strength is described as a system-protocol attribute. Based on this attribute, the video element that best matches the contents of the user setting is selected.
[0141]
Here, the specific values of the system-protocol attribute in each of the video elements 721, 722, and 723 are “nop”, “ret”, and “fec + ret”, respectively. The attribute value “nop” indicates that the video stream (s1.mp4) corresponding to the video element 721 is transmitted by RTP which is a normal data transmission protocol. In addition, the attribute value “ret” causes the video stream (s2.mp4) corresponding to the video element 722 to be retransmitted (ret: retransmission) with error tolerance for RTP, which is a normal data transmission protocol. It is shown that it is transmitted by the method. Further, the attribute value “fec + ret” indicates that the video stream (s3.mp4) corresponding to the video element 723 has higher error resistance than the transmission method for performing retransmission (ret: retransmission) with the above error resistance. This indicates that the transmission is performed by a method of performing retransmission and duplicate transmission (fec = forward error correction).
[0142]
That is, since the video stream (s1.mp4) corresponding to the video element 721 to which the system-protocol attribute value “nop” is assigned is neither retransmitted nor duplicated, the error tolerance is the above three video. It is the weakest video stream corresponding to the element.
Accordingly, when the error tolerance strength is set to [weak level] at the receiving terminal, a video stream corresponding to the video element 721 is selected as a video stream to be received. If there is no setting of error resilience strength at the receiving terminal, the video stream (s1.mp4) corresponding to the video element 721 is selected as the first received video stream, and the video stream (s1.mp4) When the transmission error rate increases after reception of the video stream, the video stream being received corresponds to the video elements 722 and 723 to which the system-protocol attribute value “ret” or “ret + fec” is assigned. It is switched to (s2.mp4) or (s3.mp4).
Note that the video stream (s2.mp4) transmitted by the transmission method that performs retransmission corresponding to the video element 722 is transmitted by the transmission method that performs duplicate transmission, that is, the system-protocol attribute value of the video element May be “fec”.
[0143]
When the SMIL data analysis unit 212b receives the SMIL file FSD3 shown in FIG. 13 (a), the SMIL file description information is based on the SMIL file as shown in FIG. 13 (b). A process of storing in a work memory (not shown) is performed.
That is, information on the video elements 721 to 723 in the SMIL file FSD3 shown in FIG. Here, the number of items (number of entries) recorded in the work memory is the SMIL file FSD3. <switch> element 732a and </ switch> corresponds to the number of elements described in the element 732b (that is, the number of video elements).
[0144]
In each item (entry), as shown in FIG. 13B, the URL (server address) indicating the location of the corresponding video stream on the network, the transmission protocol of the corresponding video stream, and the corresponding video An execution flag indicating whether the stream is in a received (playback) state that has been received and played back, or a non-receive (non-playback) state that has not been received or played back, and the latest Includes a time stamp.
[0145]
In the item E1 of the entry [1], the value of the execution flag is “1”, which indicates that the video stream corresponding to the item E1 is currently being received (reproduced). Yes. In addition, in the items E2 and E3 of the entries [2] and [3], the value of the execution flag is “0”. This is because the video streams corresponding to these items E2 and E3 are currently received ( Replay) is not performed.
[0146]
Further, specific values indicating the protocol types in the items E1 to E3 are “nop”, “ret”, “fec + ret”, and these values are the system-protocol in the SMIL file FSD3. It matches the attribute value.
In addition, the latest time stamp in each item E1 to E3 is updated at any time by the time stamp given to the header of the latest received RTP packet, and the video stream corresponding to the specific item is changed to another item. When switching to the corresponding video stream, it is used to determine the data request timing.
[0147]
In FIG. 13B, the latest time stamp value in the items E2 and E3 is “0”, and this value “0” indicates that the video stream corresponding to these items has not been received yet. . Further, the value of the latest time stamp in the item E1 is “3060000”. In MPEG-4, since the time stamp is set using a clock of 90 kHz, this value “3060000” corresponds to 34 seconds.
FIG. 13C shows the association between the error occurrence rate and the protocol.
[0148]
Information relating to this association is recorded as table information Rtp specific to the receiving terminal in the information storage unit (not shown) of the SMIL data analysis unit 212b. Here, the error occurrence rates Eth (Eth = 0) percent, Eth (0 <Eth ≦ 3) percent, and Eth (3 <Eth) percent are the video stream transmitted by the nop protocol and the video transmitted by the ret protocol, respectively. Supports stream, video stream transmitted by fec + ret protocol. That is, in this table information, the error occurrence rates of 0% and 3% are threshold values for switching the video stream according to the error occurrence rate.
[0149]
Then, the SMIL data analysis unit 212b performs switching of the video stream according to the fluctuation of the error occurrence rate based on the association between the error occurrence rate and the protocol shown in FIG. Also, switching of video streams for seamless playback is performed in the same manner as the processing described with reference to FIGS.
[0150]
In the second embodiment, as the receiving terminal, the user sets the error tolerance strength of the image data to be received first among a plurality of pieces of image data having different error tolerance corresponding to the same image series. Although shown, the error tolerance strength of the image data to be received first may be a default value unique to the receiving terminal.
[0151]
In this case, for example, the receiving terminal requests the video stream of the video element suitable for the default value of the error resilience strength among the plurality of video elements 711 to 714 indicated by the SMIL file FSD2, and receives the video stream. Thereafter, in the receiving terminal, the video stream being received is switched to a video stream having an appropriate error resilience strength according to the error occurrence rate during the reception of the video stream.
In the second embodiment, the video stream is switched according to the error occurrence rate with respect to the video stream being received. However, the video stream is switched according to the radio wave intensity being received. It may be.
[0152]
(Embodiment 3)
FIG. 14 is a diagram for explaining the data transmission system according to the third embodiment of the present invention, and shows the configuration of the server and client terminal of the system.
In FIG. 14, the same reference numerals as those in FIG. 3 denote the same components as those in the data transmission system 10a of the first embodiment.
[0153]
In the data transmission system 10c of the third embodiment, instead of the client terminal 200a in the system 10a of the first embodiment, a transmission error rate of RTP data (RTP packet) from the server, packet arrival time, and the like are transmitted. A client terminal 200c that transmits information Drr relating to the situation to the server 100c is provided. Further, instead of the server 100a in the system 10a of the first embodiment, RTP data is sent from the server as RTP data based on the information Drr relating to the transmission situation from the client terminal 200c. The server 100c is provided that switches the supplied video stream to another video stream with different encoding conditions.
[0154]
The client terminal 200c receives RTP data Drtp instead of the RTP data receiving unit 216a in the client terminal 200a, and detects an RTP data transmission error occurrence rate, an RTP packet arrival time, and other transmission status A data receiving unit 216c is provided, and an RTCP report transmission / reception unit 219 that transmits information Drr indicating the transmission status to the server 100c as a receiver report is provided.
[0155]
The server 100c transmits information Dsr related to the number and sequence number of RTP packets transmitted from the server as a sender report to the RTCP report transmission / reception unit 219 of the reception terminal 200c and receives a receiver report from the transmission / reception unit 219. In addition to the report transmission / reception unit 104, it receives information Drr as a receiver report instead of the RTP data transmission unit 103 in the server of the first embodiment, and is based on the transmission status such as the frequency of occurrence of transmission errors and the arrival time of RTP packets. Thus, an RTP data transmission unit 103c that switches a video stream transmitted as RTP data to another video stream with different encoding conditions is provided.
[0156]
The RTCP report transmission / reception units 104 and 219 transmit / receive the sender report and the receiver report by RTCP (real time control protocol). In addition, the receiver report is notified to the distribution server at a constant cycle such as every 5 seconds. Moreover, it is preferable that the timing for switching the video stream at the server is generally the timing at which the I frame appears.
[0157]
Next, the operation will be described.
The operation of the data transmission system 10c according to the third embodiment is based on the receiver report from the receiving terminal 200c, and the video stream transmitted to the receiving terminal as RTP data in the server 100c has different encoding conditions. Only the operation is different from the operation of the data transmission system 10a of the first embodiment.
[0158]
That is, the RTP data receiving unit 216c of the receiving terminal 200c detects the transmission error occurrence rate of the received RTP data Drtp, and outputs an error signal Rerr indicating the error occurrence rate to the RTCP report transmission / reception unit 219.
From the RTCP report transmission / reception unit 219, information on the frequency of occurrence of transmission errors and the arrival time of the RTP packet is transmitted to the server 100c as a receiver report Drr.
[0159]
Then, the RTCP report transmission / reception unit 104 of the server 100c detects the transmission error occurrence rate and the packet arrival delay time of the RTP data Drtp based on the information received as the receiver report Drr. The error occurrence rate and the arrival delay time are detected. Is output to the RTP data transmitter 103c.
[0160]
In the RTP data transmission unit 103c, a video file having a predetermined error resistance is selected from a plurality of video files stored in the data storage unit 120 in accordance with the increase / decrease in the error occurrence rate and the packet arrival delay time. , RTP data Drtp is transmitted to the receiving terminal 200c.
[0161]
As described above, in the data transmission system 10c according to the third embodiment, instead of the client terminal 200a in the system 10a according to the first embodiment, the rate of occurrence of RTP data (RTP packet) transmission errors from the server, packet arrival time, etc. The client terminal 200c for transmitting information Drr relating to the transmission status of the client to the server 100c, and, instead of the server 100a in the system 10a of the first embodiment, based on the information Drr relating to the transmission status from the client terminal 200c, RTP data Since the server 100c is provided that switches the video stream supplied from the server to another video stream with different encoding conditions, the server 100c has a high transmission error rate based on the receiver report from the receiving terminal 200c. , Double Among a plurality of video streams, one with a high error tolerance with a short I frame period can be transmitted, and when the transmission error occurrence rate is low, a video quality with a long I frame period is selected from among a plurality of video streams. You can send something expensive.
[0162]
(Embodiment 4)
FIG. 15 is a diagram for explaining the data transmission system of the fourth embodiment, and shows the configuration of the server and client terminal of the system.
In FIG. 15, the same reference numerals as those in FIG. 3 denote the same components as those in the data transmission system 10a of the first embodiment.
The data transmission system 10d of the fourth embodiment includes a client terminal 200d that changes the decoding process and the display process according to the operation content set by the user, instead of the client terminal 200a in the system 10a of the first embodiment. It is a thing.
[0163]
That is, the client terminal 200d is a decoding unit 210d that changes an operation mode for performing a video stream decoding process based on the control signal C1, instead of the decoding unit 210 and the display unit 218 of the client terminal 200a of the first embodiment. And a display unit 218d for changing the operation mode for performing the display process of the image data Ddec based on the control signal C2, and the operation modes of the decoder unit 210d and the display unit 218d based on the setting signal Serr indicating the setting contents of the user. The controller 220 is controlled by the control signals C1 and C2.
[0164]
Next, the operation will be described.
The operation of the data transmission system 10d according to the fourth embodiment is performed only in that the decoding process mode of the video stream and the display process mode of the image data are changed according to the setting contents of the user at the receiving terminal 200d. This is different from the operation of the system 10a of the first embodiment.
[0165]
That is, when a video stream to be played back by the receiving terminal 200d is set by a user operation on the user operation unit 213, a decoding unit is set when the I frame cycle is smaller than a certain reference cycle specific to the receiving terminal. 210d is set by the control signal C1 from the control unit 220 to the first decoding operation mode in which the operation mode is temporarily stopped until the I-frame video stream is normally received when a transmission error occurs. The Further, in this case, the display unit 218d causes the transmission signal to be generated until the video stream of the next I frame is normally received by the control signal C2 from the control unit 220 when the operation mode is a transmission error. The first display operation mode for displaying the image data decoded immediately before is set.
[0166]
On the other hand, when a video stream to be played back by the receiving terminal 200d is set by a user operation on the user operation unit 213, a decoding unit is set when the I frame cycle is greater than or equal to a certain reference cycle unique to the receiving terminal. 210d is controlled by the control signal C1 from the control unit 220. When a transmission error occurs, 210d skips only the decoding process of the frame in which data is lost due to the transmission error, and after the transmission error occurs, the data is normally transmitted. Is set to the second decoding operation mode in which the decoding process is performed from the received frame. In the second decoding operation mode, when a frame in which data is normally received after the occurrence of a transmission error is a P frame, the decoding process is performed with reference to the frame decoded immediately before the occurrence of the transmission error. Is called. Further, in this case, the display unit 218d displays, based on the control signal C2 from the control unit 220, a second display in which all the frames in which the operation mode is subjected to the data decoding process regardless of the occurrence of the transmission error are displayed. The operation mode is set.
[0167]
As described above, in the data transmission system 10d according to the fourth embodiment, the decoding unit 210d and the display unit in the receiving terminal are set according to the conditions regarding the error resistance of the video stream requested by the receiving terminal set by the user at the receiving terminal. If the condition that the operation mode of 218d is changed, that is, the video stream to be received by the receiving terminal is set to a video stream whose I-frame period is shorter than a certain reference value is set, transmission is performed. When an error occurs, the decoding process is temporarily stopped until the I-frame video stream is normally received, the decoded image data is displayed immediately before the occurrence of the transmission error, and the video stream to be received by the receiving terminal Is set to be a video stream whose I frame period is equal to or greater than a certain reference value. In this case, only the decoding process for frames other than the frame in which data is lost due to a transmission error is performed, and all the frames subjected to the data decoding process are displayed. Depending on the error tolerance of the stream (that is, the interval between I frames), the operation mode of the decoding unit and the display unit can be set to an operation mode in which a sense of discomfort of the display image when an error occurs is small.
[0168]
In the fourth embodiment, the data transmission system has been described in which the decoding processing mode and the display processing mode in the receiving terminal are changed according to the conditions regarding the video stream set by the user on the receiving terminal side. The data transmission system determines the operation mode of the decoding unit 210d and the display unit 218d at the receiving terminal based on the appearance interval (I frame period) of the I frame related to the video stream transmitted from the server notified from the server. It may be changed. In this case, information indicating the appearance interval of the I frame can be transmitted from the server to the receiving terminal using SMIL, SDP, RTSP, or the like.
[0169]
In the fourth embodiment, as the second decoding operation mode of the decoding unit 210d, when a transmission error occurs, only the decoding process of the frame in which data is lost due to the transmission error is skipped, and after the transmission error occurs, Although an operation mode in which a decoding process is performed from a frame in which data is normally received is shown, the second decoding operation mode is not limited to this.
[0170]
For example, as shown in FIG. 6 (b), when a video stream of one frame is distributed and stored in a plurality of video packets, the second decoding operation mode, that is, the I frame period is unique to the receiving terminal. The decoding operation mode when a signal having a certain reference period or more is set may be a mode in which only decoding processing is performed on data of packets other than video packets in which data is lost due to a transmission error.
In this case, the display mode of the image data may be a mode in which all frames for which at least a part of the decoding process has been performed are displayed, as in the second display operation mode of the fourth embodiment. .
[0171]
Furthermore, in the fourth embodiment, the control unit switches the operation mode of the decoding unit from the first decoding operation mode to the second decoding operation mode according to the user setting at the receiving terminal. However, the control of the operation of the decoding unit by the control unit is not limited to this, and may be performed according to conditions other than user settings at the receiving terminal, for example.
[0172]
For example, when a transmission error occurs, the time until the next I-frame video stream is decoded can be calculated because the period of the I-frame is known. Therefore, when a transmission error occurs, the control unit performs the decoding operation of the decoding unit according to the time difference from the time of decoding of the frame in which the transmission error has occurred to the time of decoding of the I frame to be decoded thereafter. For example, between the time of decoding a frame in which a transmission error has occurred and the time of decoding of a subsequent I frame, a decoding operation for stopping the decoding process and a subsequent I frame from the time of decoding of a frame in which a transmission error has occurred Until the time of decoding, it is determined whether to decode the inter-screen encoded data by excluding the part that cannot be decoded due to the occurrence of the transmission error. Control may be performed so that the decoding operation after generation is the decoding operation determined by this determination.
[0173]
Specifically, when the transmission error occurs, the time difference between the decoding of the frame in which the transmission error has occurred and the subsequent decoding of the I frame is smaller than a predetermined value unique to the terminal. The decoding operation of the decoding unit stops the decoding process on the image data until the I frame is decoded after the frame in which the transmission error has occurred, while the transmission error has occurred. When the time difference between the decoded frame and the subsequent I frame is equal to or greater than the predetermined value specific to the terminal, the decoding operation of the decoding unit is performed after the decoding of the frame in which the transmission error has occurred. Until the I frame is decoded, only the image data corresponding to the frame other than the frame in which the transmission error has occurred is decoded. , Controls the decode unit.
[0174]
Here, when the image data of each frame is packetized for each data unit smaller than the frame, as shown in FIG. 6B, the decoding process for the frame other than the frame in which the transmission error has occurred. The decoding operation that performs only the decoding may be performed only on the received image data for packets other than the packet in which the transmission error has occurred.
[0175]
Further, in each of the above embodiments, the RTSP is used to notify the server of the viewer's preference regarding the display image (whether a shorter I-frame cycle is better or a longer I-frame cycle is better). Good. Further, CC / PP (composite capability / preference profiles), which is another transmission protocol, may be used as a protocol for notifying the viewer's preference. At this time, the server may notify the receiving terminal of the compensation of the video stream using SMIL.
[0176]
Further, in each of the embodiments described above, the case where the data transmitted from the server to the receiving terminal is video data has been described. However, the transmission data may be audio data or text data. Even when text data is transmitted by RTP / UDP / IP, the same effects as those of the above embodiments can be obtained.
[0177]
For example, data to be received corresponding to the same content, set by the user at the receiving terminal or set as the default value of the receiving terminal from a plurality of audio data with different error tolerances or a plurality of text data Is selected according to the error resistance strength against the selected data, and the selected voice data or text data is reproduced at the receiving terminal. Here, as an example in the case where a plurality of audio data (text data) has different error tolerances, one of the plurality of audio data (text data) is an audio frame (text frame) that has been previously decoded. There is a case where a frame that is decoded with reference to data is used and the other one does not use such a frame.
[0178]
Further, the plurality of audio data or the plurality of text data corresponding to the same content and having different error resistance strengths may have different data transmission protocols. As an example of different transmission protocols relating to voice data or text data, there are those in which the redundancy of FEC (Forward Error Correction, RFC 2733) defined by IETF (Internet Engineering Task Force) is different.
[0179]
(Embodiment 5)
FIG. 21 is a diagram for explaining a data transmission system according to the fifth embodiment of the present invention. FIG. 21 (a) shows the configuration of the system, and FIG. 21 (b) shows data transmission processing in the system. Is shown.
The data transmission system 10e according to the fifth embodiment includes a server 100e that transmits a predetermined video stream (image encoded data), and a receiving terminal that receives the video stream transmitted from the server 100e and reproduces video data ( Client terminal) 200e and a network 11 for transmitting the video stream from the server 100e to the receiving terminal 200e.
[0180]
Here, the server 100e stores a plurality of video streams obtained by encoding digital video signals of a plurality of image sequences under a predetermined encoding condition, and describes attributes of corresponding video streams. The data storage unit 120e stores SMIL data, and the data transmission unit 110e transmits the data stored in the data storage unit 120e to the network 11. The data storage unit 120e uses a mass storage device such as a hard disk.
[0181]
In the fifth embodiment, the plurality of video streams are image data corresponding to different image sequences and having determined error tolerances. Specifically, each of the plurality of video streams uses a large amount of intra-screen encoded data obtained by encoding a digital video signal using intra-screen pixel value correlation and a digital video signal using inter-screen pixel value correlation. And the inter-coded data with a small code amount, which is encoded, and has a predetermined appearance interval of the intra-coded data, in other words, a cycle of I frame (I-VOP).
[0182]
In the data storage unit 120e such as the hard disk, for example, a video stream having an I frame period of 5 seconds and 2 seconds is stored as video files Dva and Dvb, and the corresponding video is stored as the SMIL data Daa and Dab. SMIL files describing the attributes of the files Dva and Dvb are stored. Here, the appearance intervals of I frames (I-VOPs), which are the attributes of the video streams (video files) Dva and Dvb, are 5 seconds and 2 seconds, respectively.
[0183]
FIG. 22 is a diagram showing a detailed configuration of the server 100e and the client terminal 200e constituting the system.
The data transmission unit 110e constituting the server 100e receives the SMIL data request message Mdr transmitted from the client terminal 200e by HTTP, reads the SMIL file Da from the data storage unit 120e according to the request, and reads the read SMIL file Da. An HTTP transmission / reception unit 101 that transmits as SMIL data Dsm by HTTP, a data request message Mrtsp transmitted by RTSP from the client terminal 200e, receives a response signal Sack, and a data designation signal indicating the requested video file name The RTSP message transmission / reception unit 102 that outputs Sc and the data designation signal Sc, and the video stream De corresponding to the video data file name indicated by the data designation signal Sc Read, and a RTP data transmission unit 103 for transmitting the RTP data Drtp by the read video stream RTP. The HTTP transmission / reception unit 101, the RTSP message transmission / reception unit 102, and the RTP data transmission unit 103 in the data transmission unit 110e of the fifth embodiment are the same as those in the data transmission unit 110a of the first embodiment.
[0184]
In addition, the client terminal 200e includes a user operation unit 213 that outputs various user operation signals Sop1, Sop2, and Sop3 according to user operations, and SMIL data corresponding to user-specified video data based on the user operation signal Sop1. The HTTP request message Mdr is transmitted by HTTP, the SMIL data Dsm transmitted from the server 100e by HTTP is received, and the SMIL data Dsm is analyzed, and the user designation is made based on the analysis result. A SMIL data analysis unit 212e for outputting a data designation signal Sc for designating the video data.
[0185]
The client terminal 200e transmits the data designation signal Sc as an RTSP message signal Mrtsp, receives the RTSP message transmission / reception unit 214 that receives the response signal Sack of the signal Mrtsp, and the RTP data Drtp transmitted from the server 100e. And an RTP data receiving unit 216 that outputs the video stream De.
[0186]
Further, the client terminal 200e decodes the video stream De and outputs image data Ddec, and also, based on the control signal C1, a decoding unit 210e that changes an operation mode for performing decoding processing of the video stream, and the image data The display unit 218e that performs image display based on Ddec and changes the operation mode for performing display processing of the image data Ddec based on the control signal C2, and the operation modes of the decoder unit 210e and the display unit 218e are set to the control signal C1 and And a control unit 220e controlled by C2. The display unit 218e also performs display according to the user operation signal Sop2.
[0187]
Further, in this client terminal 200e, a default value to be compared with the appearance interval of the encoded image data in the received image data is set as a default value. When an error occurs, the in-screen code in the received image data is set. The operation mode of the decoding unit is switched in accordance with the comparison result between the appearance interval of the encoded data and the predetermined value. Specifically, when receiving image data in which the appearance interval of the intra-picture encoded data is shorter than the predetermined value, the operation mode of the decoding unit is such that when the transmission error occurs, the intra-picture encoded data is thereafter When the first decoding mode in which the decoding process is temporarily stopped until normal reception is received and image data in which the appearance interval of the in-screen encoded data is greater than or equal to a predetermined value indicated by the setting condition is received, the decoding is performed. The operation mode of the conversion unit is a second decoding mode in which, when a transmission error occurs, the decoding is performed except for the part that cannot be decoded due to the transmission error.
[0188]
Note that the receiving terminal is not limited to having a default value that is compared with the appearance interval of the intra-frame encoded data in the image data being received as a default value. It may be settable.
[0189]
Next, the operation will be described.
In this data transmission system 10e, when the user performs an operation for requesting a predetermined video file at the user operation unit 213e, based on the operation signal Sop1, as shown in FIG. A SMIL request signal Sd1 (SMIL request message Mrd shown in FIG. 22) for requesting SMIL data corresponding to a user-specified video file is transmitted from the HTTP transmission / reception unit 211 to the server 100e by HTTP, and as a response, the HTTP of the server 100e The SMIL data Dsm is transmitted from the transmitting / receiving unit 101 to the receiving terminal 200e by the HTTP signal Dsd. Note that the user's operation of designating a video file of a required image sequence on the user operation unit 213e is performed in the same manner as the operation described using the mobile terminal shown in FIG.
[0190]
Thereafter, in the receiving terminal 200e, the RTSP message transmission / reception unit 214 uses the server 100e as the RTSP signal Sd2 with the message Mrtsp specifying the video stream required by the user based on the data specifying signal Sc corresponding to the analysis result of the SMIL data Dsm. Process to send to. Then, after the response signal Sack is transmitted from the RTSP message transmitting / receiving unit 102 of the server 100e to the receiving terminal 200e by RTSP, the RTP data transmitting unit 103 receives a predetermined video stream Dstr as RTP data Drtp from the server 100e. It is transmitted to the terminal 200e.
[0191]
In this way, when the RTP data Drtp is transmitted to the receiving terminal 200a via the network 11, the RTP data Drtp is received by the RTP data receiving unit 216, and the video stream De is decoded by the decoding unit 200a. It is output to 210e. In the decoding unit 210e, image data Ddec is generated by decoding the video stream De and is output to the display unit 218e. The display unit 218e performs image display based on the image data Ddec.
[0192]
In the data transmission system 10e according to the fourth embodiment, when an error occurs during the transmission of the video stream, the reception terminal 200e has an appearance interval of intra-coded data set as a default value ( That is, the operation mode of the decoding unit 210e and the operation mode of the display unit 218e are changed from the control unit 220e according to the comparison result between the period of the I frame and the period of the I frame that is the attribute value of the received video stream. Is changed based on the control signals C1 and C2.
[0193]
That is, when the receiving terminal 200e receives a video stream having an I frame period (I-VOP period) shorter than a predetermined value (a constant reference period) at the receiving terminal, the decoding unit 210e performs control. The control signal C1 from the unit 220e sets the operation mode to a first decoding operation mode in which the decoding process is temporarily stopped until a video stream of I frame is normally received when a transmission error occurs. Also, in this case, the display unit 218e causes the transmission error to occur until the video stream of the next I frame is normally received by the control signal C2 from the control unit 220e. The first display operation mode for displaying the image data decoded immediately before is set.
[0194]
On the other hand, when the receiving terminal 200e receives a video stream whose I frame period is equal to or greater than a predetermined value (a constant reference period) at the receiving terminal, the decoding unit 210e receives the control signal C1 from the control unit 220e. Therefore, when a transmission error occurs, the operation mode skips only the decoding process of the frame in which data is lost due to the transmission error, and performs the decoding process from the frame in which the data is normally received after the transmission error occurs. The second decoding operation mode is set. In the second decoding operation mode, when a frame in which data is normally received after the occurrence of a transmission error is a P frame, the decoding process is performed with reference to the frame decoded immediately before the occurrence of the transmission error. Is called. Further, in this case, the display unit 218e is a second display that displays all the frames in which the operation mode is the data decoding process regardless of the occurrence of the transmission error by the control signal C2 from the control unit 220e. The operation mode is set.
[0195]
As described above, in the data transmission system 10e according to the fifth embodiment, according to the default value of the I frame period set as the default value in the receiving terminal and the value of the I frame period of the received video stream, The operation mode of the decoding unit 210e and the display unit 218e in the receiving terminal is changed, that is, the value of the I frame period of the video stream received by the receiving terminal is greater than the default value set as the default value in the receiving terminal. In a short case, when a transmission error occurs, the decoding process is temporarily stopped until the I-frame video stream is normally received, and the decoded image data is displayed immediately before the transmission error occurs. The I-frame period value of the video stream received at the default is set as the default value at the receiving terminal. If the value is greater than or equal to the value, only the decoding process is performed for frames other than the frame in which data is lost due to a transmission error, and all the frames that have been subjected to the data decoding process are displayed. In accordance with (that is, the interval of the I frame), the operation mode of the decoding unit and the display unit can be reduced in discomfort in the display image when an error occurs.
[0196]
In the fifth embodiment, the I frame appearance interval (I frame period), which is the attribute value of the received video stream, is shown as being supplied from the server 100e to the receiving terminal as a SMIL file. The I frame appearance interval (I frame period) of the received video stream may be transmitted from the server to the receiving terminal using SDP, RTSP, or the like.
[0197]
In addition, the I-frame appearance interval (I-frame period) of the received video stream is not limited to the case where the I-frame is transmitted from the server to the terminal. For example, the RTP data receiving unit 216 of the receiving terminal 200e You may make it calculate from the information contained.
[0198]
In the fifth embodiment, as the second decoding operation mode of the decoding unit 210e, when a transmission error occurs, only the decoding process of the frame in which data is lost due to the transmission error is skipped, and after the transmission error occurs, Although an operation mode in which a decoding process is performed from a frame in which data is normally received is shown, the second decoding operation mode is not limited to this.
[0199]
For example, as shown in FIG. 6B, when one frame of video stream is distributed and stored in a plurality of video packets, the second decoding operation mode has lost data due to a transmission error. A mode may be used in which only decoding processing is performed on data of packets other than video packets.
Further, in this case, the display mode of the image data may be a mode in which all the frames that have been subjected to the decoding process on at least a part of the data are displayed, as in the second display operation mode of the fifth embodiment. .
[0200]
Further, in the fifth embodiment, the operation mode of the decoding unit at the time of error occurrence is changed according to the magnitude relationship between the I-frame appearance interval of the video stream being received and the default value (default value) at the receiving terminal. Although what is switched is shown, the switching of the operation mode of the decoding unit is not limited to this.
For example, when a transmission error occurs, the time until the next I-frame video stream is decoded can be calculated because the period of the I-frame is known. For this reason, when a transmission error occurs, the control unit performs the decoding operation of the decoding unit according to the time difference from the time of decoding of the frame in which the transmission error has occurred to the time of decoding of the I frame to be decoded thereafter. For example, between the time of decoding a frame in which a transmission error has occurred and the time of decoding of the subsequent I frame, the decoding operation for stopping the decoding process and the time of decoding of the subsequent I frame from the time of decoding of the frame in which a transmission error has occurred Until the time of decoding, it is determined whether to decode the inter-frame encoded data except for the part that cannot be decoded due to the transmission error. The subsequent decoding operation may be controlled to be the decoding operation determined by this determination.
[0201]
Specifically, when a transmission error occurs, the control unit determines whether the time difference between the decoding of the frame in which the transmission error has occurred and the subsequent decoding of the I frame is a default value (default) at the receiving terminal. If the value is smaller than (value), the decoding operation of the decoding unit is an operation of stopping the decoding process on the image data from the time of decoding the frame in which the transmission error has occurred until the I frame is decoded thereafter, When the time difference from the time of decoding of the frame in which the transmission error has occurred to the time of decoding of the subsequent I frame is equal to or greater than the default value (default value) at the receiving terminal, the decoding operation of the decoding unit The inter-frame encoded data cannot be decoded due to the occurrence of the transmission error from the time of decoding of the frame in which the transmission error has occurred until the I frame is subsequently decoded. Operation and so as to decrypt except Tsu portion, controls the decode unit.
[0202]
Here, the decoding operation that decodes the inter-screen encoded data except for the portion that cannot be decoded due to the occurrence of the transmission error is a decoding operation that performs only the decoding processing for the frames other than the frame in which the transmission error has occurred. is there.
When the image data of each frame is packetized for each data unit smaller than the frame as shown in FIG. 6B, a decoding operation for decoding a frame other than the frame in which the transmission error has occurred. In the received image data, packets other than the packet in which the transmission error has occurred may be decoded.
[0203]
Furthermore, although the case where the data transmitted from the server to the receiving terminal is video data has been described in the fifth embodiment, the transmission data may be audio data or text data. Even when text data is transmitted by RTP / UDP / IP, the same effect as in the fifth embodiment can be obtained.
[0204]
In the second to fourth embodiments, as a data reproducing apparatus that requests image data from a server based on user settings at a terminal and reproduces image data transmitted in response to the request, the Internet or the like is used. In the fifth embodiment, in accordance with the magnitude relationship between the value of the I frame period of the received image data and the default value set in the receiving terminal, FIG. The receiving terminal that switches the decoding operation when an error occurs is shown. Specific examples of the receiving terminal according to the second to fifth embodiments include a PC (personal computer) and the receiving terminal according to the first embodiment. Specific examples include a cellular phone.
[0205]
(Embodiment 6)
Hereinafter, as a sixth embodiment of the present invention, a mobile phone that requests image data having error tolerance strength specified by a user setting from a server will be described as in the data reproduction device of the second embodiment.
FIG. 16 is a diagram for explaining the mobile phone according to the sixth embodiment.
The cellular phone 300 according to the fifth embodiment outputs a signal processing unit 302 that performs various signal processing and a radio signal N received by the antenna 301 to the signal processing unit 302 as a received signal, and And a wireless communication unit 303 that transmits the transmission signal generated in this way from the antenna 301 as a wireless signal N.
[0206]
The mobile phone 300 is processed by a liquid crystal panel (LCD) 306 for displaying an image, a microphone 308 for inputting audio, a speaker 307 for reproducing an audio signal, and the signal processing unit 302. Upon receiving the image signal, the liquid crystal display unit (LCD) 306 controls the display control unit 304 to perform image display based on the image signal, and outputs the input audio signal from the microphone 308 to the signal processing unit 302. And an audio input / output unit 305 that outputs the audio signal processed by the signal processing unit 302 to the speaker 307. Here, for simplicity of explanation, the button operation unit of the mobile phone is not shown.
[0207]
Here, the signal processing unit 302 performs the same data reproduction processing as that of the data reproduction device 200b of the second embodiment. That is, the signal processing unit 302 includes an HTTP transmission / reception unit 211, an RTSP message transmission / reception unit 214, an SMIL data analysis unit 212b, an RTP data reception unit 216b, a decoding unit 210, and a user operation unit on the receiving terminal side of the second embodiment. A portion corresponding to 213 is included. The display control unit 304 and the liquid crystal panel (LCD) 306 in the mobile phone 300 of the sixth embodiment correspond to the display unit 218 of the second embodiment.
[0208]
In the mobile phone 300 having such a configuration, when an error tolerance strength for image data to be received is set by the user and an operation for reproducing image data corresponding to specific content is performed, the server The video stream suitable for the user set value of the error resilience strength is sequentially transmitted by the RTP packet, and the cellular phone reproduces the video stream from the server and responds to the transmission error occurrence rate during reception of the video stream. Thus, processing for switching the video stream is performed.
[0209]
In the sixth embodiment, a mobile phone that performs the same data reproduction processing as that of the data reproduction device of the second embodiment has been described. However, this mobile phone uses the data of the third to fifth embodiments described above. The same data reproduction processing as the data reproduction devices (reception terminals) 200c, 200d, and 200e in the transmission system may be performed.
[0210]
Further, in each of the above embodiments, the data reproducing device (receiving terminal) or the data transmitting device (server) is realized by hardware. However, these devices may be realized by software. In this case, the data reproduction apparatus (reception terminal) and the data transmission are recorded by recording a program for performing the data reproduction process or the data transmission process described in the above embodiments in a data storage medium such as a flexible disk. A device (server) can be constructed in an independent computer system.
[0211]
FIG. 17 is a diagram for explaining a recording medium storing a program for performing data reproduction processing or data transmission processing according to the above-described embodiments by software, and a computer system including the recording medium.
FIG. 17A shows an external appearance, a cross-sectional structure, and a flexible disk main body of the flexible disk, and FIG. 17B shows an example of a physical format of the flexible disk main body.
[0212]
The flexible disk FD has a structure in which the flexible disk body D is accommodated in a flexible disk case FC, and a plurality of tracks Tr are concentrically formed on the surface of the flexible disk body D from the outer periphery toward the inner periphery. Each track Tr is divided into 16 sectors Se in the circumferential direction. Therefore, the flexible disk FD storing the program has data as the program recorded in an area (sector) Se allocated on the flexible disk main body D.
FIG. 17C shows a configuration for recording the program on the flexible disk FD and a configuration for performing data reproduction processing or data transmission processing by software using the program stored on the flexible disk FD. ing.
[0213]
When recording the program on the flexible disk FD, data as the program is written from the computer system Cs to the flexible disk FD via the flexible disk drive FDD. Further, when the data reproducing device or the data transmitting device is constructed in the computer system Cs by the program recorded on the flexible disk FD, the program is read from the flexible disk FD by the flexible disk drive FDD and loaded into the computer system Cs. .
[0214]
In the above description, a flexible disk is shown as the data recording medium. However, an optical disk may be used as the data recording medium, and in this case as well, data reproduction processing or data transmission processing by software is performed as in the case of the flexible disk. be able to. Furthermore, the data recording medium is not limited to the optical disk and the flexible disk, and any card can be used as long as it can record a program, such as an IC card or a ROM cassette. Even when these data recording media are used, Data reproduction processing or data transmission processing by software can be performed as in the case of using the flexible disk or the like.
[0215]
【The invention's effect】
As described above, according to the data reproducing apparatus of the present invention, An image data receiving unit that receives a video stream including an intra-coded image frame in one or more packets for one coded image frame, and a video stream received by the image data receiving unit A decoding unit that outputs an image frame, a display unit that displays the image frame output from the decoding unit, and an appearance interval of the intra-frame encoded image frame in the video stream, A control unit that switches an operation mode of the decoding unit at the time of a transmission error due to a packet loss according to the appearance interval, and the control unit includes the intra-frame-encoded image frame included in the video stream. Is compared with a predetermined value set in advance, and the decoding unit determines that (1) when the appearance interval is equal to or greater than the predetermined value, Only the image frame constituted by the missing packet is skipped and the image frame other than the skipped image frame is decoded. (2) When the appearance interval is smaller than the predetermined value, The video stream decoding process is temporarily stopped until a packet constituting an intra-frame encoded image frame is received, and an operation mode is set. Because it is characterized by The decoding operation when an error occurs is based on the setting of the operating conditions and the display image is less uncomfortable. it can.
[Brief description of the drawings]
FIG. 1 is a diagram for explaining a data transmission system according to a first embodiment of the present invention, showing a configuration of the system (FIG. (A)) and data transmission processing (FIG. (B)) in the system; ing.
FIG. 2 is a diagram showing an example of description contents of a SMIL file FSD1 used in the data transmission system of the first embodiment.
FIG. 3 is a diagram showing a detailed configuration of a server 100a and a client terminal 200a constituting the data transmission system of the first embodiment.
FIG. 4 is a diagram for explaining a specific method for setting error resilience strength in receiving terminal 200a according to the first embodiment, a method for selecting one of two error resilience strengths (FIG. (A)), and a slide; The method of specifying the error resilience strength by the bar (FIG. (B)) is shown.
5 is a video element based on the description content (FIG. (A)) of the SMIL file FSD2 different from the SMIL file shown in FIG. 2 and the user setting value Xus2 used in the data transmission system of the first embodiment. It is a figure which shows the specific selection method (FIG. (B)).
6 shows another example of a plurality of image data having different error tolerances in the first embodiment, a video stream (FIG. (A)) in which one frame is one video packet, and three video packets in one frame. FIG. It is a figure which shows a video stream (FIG. (B)).
FIG. 7 is a diagram for explaining a data transmission system according to a second embodiment of the present invention, and shows a detailed configuration of a server and a client terminal constituting the system.
FIG. 8 is a table (FIG. 8 (b)) that correlates the storage contents (FIG. (A)) in the work memory corresponding to the description information of the SMIL file FSD2 used in the second embodiment, and the error occurrence rate and the error tolerance strength. ).
FIG. 9 is a diagram illustrating an example of RTSP message exchange when switching video streams in the second embodiment.
FIG. 10 shows RTP packets (FIGS. (A) and (b)) stored in a reception buffer corresponding to a video stream before and after switching when switching video streams in the second embodiment. FIG.
FIG. 11 is a diagram showing a flow of video stream switching processing at the receiving terminal in the second embodiment.
FIG. 12 is a schematic diagram specifically showing processing performed by the RTSP message transmission / reception unit 214 and the packet RTP data reception unit 216b of the receiving terminal when the video stream is switched in the second embodiment. .
FIG. 13 is a description of a SMIL file (FIG. (A)) indicating information relating to a video stream having a different transmission protocol used in the second embodiment, and the contents stored in the work memory (FIG. (B)) corresponding to the description. ) And a table (FIG. (C)) associating the error occurrence rate with the protocol.
FIG. 14 is a diagram for explaining a data transmission system according to a third embodiment of the present invention, and shows a detailed configuration of a server and a client terminal constituting the system.
FIG. 15 is a diagram for explaining a data transmission system according to a fourth embodiment of the present invention, and shows a detailed configuration of a server and a client terminal constituting the system.
FIG. 16 is a diagram for explaining a mobile phone as a data reproducing apparatus according to a sixth embodiment of the present invention.
FIG. 17 shows a data storage medium (FIGS. (A) and (b)) storing a program for performing data reproduction processing and data transmission processing of each of the above embodiments by a computer system, and the computer system (FIG. (C )) Is a diagram for explaining.
FIG. 18 is a diagram for explaining a communication system for distributing image data using the Internet.
FIG. 19 is a diagram for explaining a conventional image encoding device, a configuration of the image encoding device (FIG. (A)), and encoding processing in units of VOPs in the image encoding device (FIG. (B); )).
FIG. 20 is a block diagram for explaining a conventional image decoding apparatus.
FIG. 21 is a diagram for explaining a data transmission system according to a fifth embodiment of the present invention, in which FIG. 21 (a) shows the configuration of the system, and FIG. 21 (b) shows data transmission processing in the system; Is shown.
FIG. 22 is a diagram showing a detailed configuration of a server 100e and a client terminal 200e constituting the system of the fifth embodiment.
[Explanation of symbols]
10a, 10b, 10c, 10d, 10e network system
11 Network
21 Button operation section
21a-21d cursor keys
21e Confirm button
22a Signal strength display screen
22b, 22d Error tolerance setting screen
22c, 22e Operation guidance screen 100a, 100c Server
101 HTTP transmission means
102 RTSP message receiving means
103 RTP data transmission means
104,219 RTCP report transmission / reception means
110a, 110c, 100e Transmitter
120 Data storage
200a, 200b, 200c, 200d, 200e Receiving terminal
201a, 201b portable terminal
211 HTTP receiving means
212, 212b, 212e SMIL data analysis means
213 User operation unit
214 RTSP message receiving means
216, 216b, 216c RTP data receiving means
210, 210d, 210e Decoding unit
218, 218d, 218e display unit
220, 220e control unit
300 mobile phone
301 Antenna
302 Signal processor
303 wireless communication unit
304 Display control unit
305 Audio input / output unit
306 Liquid crystal panel (LCD)
307 Speaker
308 Microphone
Cs computer system
FD flexible disk
FDD flexible disk drive
FSD1-FSD3 SMIL file

Claims (2)

画面内符号化された画像フレームを含むビデオストリームを、符号化された1枚の画像フレームについて1以上のパケットで受信する画像データ受信部と、
画像データ受信部において受信されたビデオストリームを復号化して、画像フレームを出力する復号化部と、
上記復号化部から出力された画像フレームを表示する表示部と、
上記ビデオストリーム中の上記画面内符号化された画像フレームの出現間隔を取得し、上記出現間隔に応じてパケットの欠落による伝送エラー時の上記復号化部の動作モードを切り替える制御部と、を備え、
上記制御部は、上記ビデオストリームに含まれる上記画面内符号化された画像フレームの出現間隔と予め設定された所定値とを比較し、
上記復号化部を、
(1)上記出現間隔が上記所定値以上の場合には、上記欠落したパケットにより構成される画像フレームのみ復号処理をスキップして、上記スキップされた画像フレーム以外の画像フレームを復号処理し、
(2)上記出現間隔が上記所定値より小さい場合には、上記ビデオストリームの復号処理を画面内符号化された画像フレームを構成するパケットが受信されるまで一旦停止する、
動作モードに設定する、
ことを特徴とするデータ再生装置。
An image data receiving unit that receives a video stream including an image frame encoded in a screen in one or more packets for one encoded image frame ;
A decoding unit that decodes the video stream received by the image data receiving unit and outputs an image frame ;
A display unit for displaying an image frame output from the decoding unit;
A controller that obtains an appearance interval of the intra-frame-encoded image frame in the video stream, and switches an operation mode of the decoding unit when a transmission error occurs due to a packet loss according to the appearance interval. ,
The control unit compares the appearance interval of the intra-coded image frame included in the video stream with a predetermined value set in advance,
The decryption unit is
(1) When the appearance interval is equal to or greater than the predetermined value, only the image frame constituted by the missing packet is skipped, and the image frames other than the skipped image frame are decoded.
(2) When the appearance interval is smaller than the predetermined value, the video stream decoding process is temporarily stopped until a packet constituting an intra-frame encoded image frame is received.
Set to operation mode,
A data reproducing apparatus characterized by that.
請求項1に記載のデータ再生装置において、
上記データ再生装置は携帯電話機である、
ことを特徴とするデータ再生装置。
The data reproducing apparatus according to claim 1, wherein
The data reproducing device is a mobile phone.
A data reproducing apparatus characterized by that.
JP2002092538A 2001-03-29 2002-03-28 Data reproducing apparatus and mobile phone Expired - Fee Related JP4008734B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002092538A JP4008734B2 (en) 2001-03-29 2002-03-28 Data reproducing apparatus and mobile phone

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2001097023 2001-03-29
JP2001-97023 2001-03-29
JP2002092538A JP4008734B2 (en) 2001-03-29 2002-03-28 Data reproducing apparatus and mobile phone

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2007119408A Division JP4544640B2 (en) 2001-03-29 2007-04-27 Data reproducing apparatus and data reproducing method

Publications (2)

Publication Number Publication Date
JP2003032690A JP2003032690A (en) 2003-01-31
JP4008734B2 true JP4008734B2 (en) 2007-11-14

Family

ID=26612610

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002092538A Expired - Fee Related JP4008734B2 (en) 2001-03-29 2002-03-28 Data reproducing apparatus and mobile phone

Country Status (1)

Country Link
JP (1) JP4008734B2 (en)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4116470B2 (en) * 2002-03-06 2008-07-09 ヒューレット・パッカード・カンパニー Media streaming distribution system
US8711923B2 (en) * 2002-12-10 2014-04-29 Ol2, Inc. System and method for selecting a video encoding format based on feedback data
JP4497944B2 (en) * 2003-02-05 2010-07-07 キヤノン株式会社 Receiving apparatus and control method of receiving apparatus
JP4308555B2 (en) 2003-03-10 2009-08-05 パナソニック株式会社 Receiving device and information browsing method
WO2005050992A1 (en) * 2003-11-19 2005-06-02 Miwagi Inc. Intelligent broadcasting system for providing broadcasting services with multi-level quality
CN100562106C (en) * 2004-01-23 2009-11-18 日本电气株式会社 Moving picture communication device, motion picture communication system and moving picture communication method
US8731069B2 (en) 2005-08-25 2014-05-20 Canon Kabushiki Kaisha Remote display system and method
JP4794640B2 (en) * 2009-02-09 2011-10-19 パナソニック株式会社 Transmitting apparatus and media data transmitting method
KR102111572B1 (en) * 2015-02-13 2020-05-15 에스케이텔레콤 주식회사 Computer readable recording medium recorded program and apparatus for providing low delay real-time content

Also Published As

Publication number Publication date
JP2003032690A (en) 2003-01-31

Similar Documents

Publication Publication Date Title
KR100832189B1 (en) Data playback device and data playback method
US9426335B2 (en) Preserving synchronized playout of auxiliary audio transmission
US10938872B2 (en) Processing interactivity events for streaming media data
US8300667B2 (en) Buffer expansion and contraction over successive intervals for network devices
JP6105741B2 (en) Streaming with video orientation adjustment (CVO)
TWI358234B (en) Data transmission system, receiving apparatus, and
JP3925218B2 (en) Streaming system and streaming method, streaming server and data distribution method, client terminal and data decoding method, program and recording medium
CN101715046B (en) Electronic apparatus, content reproduction method
JP5524193B2 (en) Media stream processing
KR20020045571A (en) Data reproduction method, data receiving terminal and data receiving method
JP4008734B2 (en) Data reproducing apparatus and mobile phone
JP4544640B2 (en) Data reproducing apparatus and data reproducing method
US11184665B2 (en) Initialization set for network streaming of media data
JP2007028241A (en) Video image coding/transmitting device, video image coding/transmitting method, video image coding/transmitting program, and its record medium
US20060161676A1 (en) Apparatus for IP streaming capable of smoothing multimedia stream
KR101992533B1 (en) Channel switching system in real-time IPTV broadcasting
US11943501B2 (en) Dynamic resolution change hints for adaptive streaming
US20240098307A1 (en) Automatic generation of video content in response to network interruption
CN100518304C (en) Decoding method related to audio information packet loss
JP2007067826A (en) Audio and animation communication system and data communication terminal
JP2007081623A (en) Voice moving image communication system and data communication terminal

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050121

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070227

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070427

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070612

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070717

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070807

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070830

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100907

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110907

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120907

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees