JP2005223433A - ストリーミングデータ送信装置およびストリーミングデータ受信装置 - Google Patents

ストリーミングデータ送信装置およびストリーミングデータ受信装置 Download PDF

Info

Publication number
JP2005223433A
JP2005223433A JP2004026975A JP2004026975A JP2005223433A JP 2005223433 A JP2005223433 A JP 2005223433A JP 2004026975 A JP2004026975 A JP 2004026975A JP 2004026975 A JP2004026975 A JP 2004026975A JP 2005223433 A JP2005223433 A JP 2005223433A
Authority
JP
Japan
Prior art keywords
data
buffering
streaming
streaming data
fec
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.)
Granted
Application number
JP2004026975A
Other languages
English (en)
Other versions
JP4321284B2 (ja
Inventor
Kazuoki Matsugaya
松ヶ谷  和沖
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.)
Denso Corp
Original Assignee
Denso Corp
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 Denso Corp filed Critical Denso Corp
Priority to JP2004026975A priority Critical patent/JP4321284B2/ja
Publication of JP2005223433A publication Critical patent/JP2005223433A/ja
Application granted granted Critical
Publication of JP4321284B2 publication Critical patent/JP4321284B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Abstract

【課題】 FEC処理が施されたデータが送信されるデータ配信システムにおいて、データ長が前もってわからないストリーミングデータを送信できるようにする。
【解決手段】 ストリーミングデータ送信装置が、ストリーミングデータを複数送信単位分だけバッファリングし、そのバッファリングデータに対してFEC処理を施し、その結果のデータを送信する。
【選択図】 図3

Description

本発明は、に関する。
従来、データ送信において、受信側の確認応答(ACK)の手順を経ずにデータ送信を実行する方式がある。IP(Inteernet Protocol)上で用いられるUDP(User Datagram Protocol)が、このような方式の典型例である。このような確認応答のないデータ送信においては、送信されるデータの欠落の有無を送信側も受信側も検出できないので、データ通信の信頼性に欠けるという問題がある。
そこで、送信するデータそのものに配信の信頼性を高めるための加工を施す方法が考えられている。例えば特許文献1では、送信するデータにFEC(Forward Error Correction)処理を施すことで送信データの冗長性を高め、受信側が一部の送信データを受信できなくとも、残りの受信データから元のデータを復元する技術が開示されている。
特開平2000―78191号公報
しかし、上記の技術では、あらかじめ決められた長さのデータをFEC処理するようになっているため、送信できるデータの長さがそのあらかじめ決められた長さを越えることができない。したがって、ストリーミングデータのような、送信するデータの長さがあらかじめわからないデータを送信することができず、上記特許文献1にもそれを解決する方法についての記載がない。
本発明は上記点に鑑み、FEC処理が施されたデータが送信されるデータ配信システムにおいて、ストリーミングデータを送信できるようにすることを目的とする。
上記のような課題を解決するための本発明の第1の特徴は、ストリーミングデータ送信装置が、ストリーミングデータを複数送信単位分バッファリングし、そのバッファリングデータに対してFEC処理を施し、その結果のFEC化データを送信することである。
このようになっているので、FEC処理が施されたデータが送信されるデータ配信システムにおいて、ストリーミングデータが複数送信単位分バッファリングされ、そのバッファリングデータ毎にFEC処理が施されるので、ストリーミングデータをFEC処理して送信できるようになる。
なお、「送信単位」とは、例えばフレーム、パケット等のデータ伝送の単位をいう。
また、「複数送信単位分バッファリングする」とは、複数単位分たまるまで記憶することをいう。
また、データの送信を無線により行うことを考慮すると、例えば最終的に受信側にデータを送出する無線基地局の通信可能範囲が離散的に配置されている場合等、受信側が連続的に送信データを受信することができない場合がある。このような場合にも、ストリーミングデータのような時系列的な連続性のあるデータをとぎれなく再生したいという要請がある。
本発明の第2の特徴は、ストリーミングデータ送信装置が、FEC化データを、このFEC化データの元となるバッファリングデータのデータレートより高い伝送容量で無線送信することであり、これによって、受信側が連続的に送信データを受信できないような環境でもストリーミングデータの途切れがない再生を行える場合がある。
なお、「FEC化データの元となるバッファリングデータ」とは、当該FEC化データがFEC処理される前のバッファリングデータをいう。
また、データレートとは、バッファリングデータの単位時間の再生のために用いるデータのビット数をいう。
また、本発明の第3の特徴は、送信手段は、それぞれ異なるバッファリングデータを元とする複数のFEC化データを同時に送信することである。ここで、「バッファリングデータを元とするFEC化データ」とは、「そのバッファリングデータを前記処理手段がFEC処理を施した結果であるFEC化データ」という意味である。
このようになっていることで、一度に1つのバッファリングデータを元とするFEC化データのみを送信するような場合に比べ、1つのバッファリングデータを元とするFEC化データを送信できる期間を長くすることができる。
また、本発明の第4の特徴は、送信手段は、ストリーミングデータ受信装置を搭載した車両の走行路に沿った複数の無線セルを構成し、この複数の無線セルから同じFEC化データを同時に送信し、車両が複数の無線セルのうち1つの無線セルを出てから隣の無線セルに入るまでの期間が、1つのバッファリングデータを元とするFEC化データを送信し続ける期間から、ストリーミングデータ受信装置が当該バッファリングデータを復元するためのFEC化データの受信にかかる期間を減算した期間より短いことである。
このようになっているので、車両が無線セルと無線セルの間を走行しているうちにバッファリングデータを復元するのに必要なFEC化データの受信機会を逃すことを防ぐことができる。なお、「車両が複数の無線セルのうち1つの無線セルを出てから隣の無線セルに入るまでの期間」については、例えば車両の特定の道路における平均速度、あるいは予想最低速度を用いて算出することができる。
また、ストリーミングデータは、動画または音楽のストリーミングデータであってもよいし、繰り返し撮影された静止画が連続するストリーミングデータであってもよい。繰り返し撮影された静止画が連続するストリーミングデータの場合、記憶媒体は、ストリーミングデータを静止画の所定枚数分バッファリングするようになっていると区切りがよい。
また、本発明の第5の特徴は、FEC化データに、バッファリングされる順に循環的にバッファリングデータに割り当てられる循環識別符号のうち、当該FEC化データの元となるバッファリングデータに割り当てられた循環識別符号が付与されて送信されることである。
このように循環識別符号を用いることで、識別符号は循環的に繰り返し用いられるので、識別符号の枯渇やの識別符号のデータ量の増大によるデータ伝送効率の低下を防ぐことができる。
また、循環識別符号は、複数回進むと元の符号に戻るような循環識別符号において、この複数回は、送信手段が同時送信するFEC化データの元となるバッファリングデータの数の2倍よりも多くてもよい。
また、バッファリングデータに循環的に割り当てられる循環識別符号の組は、当該FEC化データの元となるストリーミングデータの種類毎に異なっていてもよい。
また、本発明の第6の特徴は、ストリーミングデータ受信装置が、上記したようなストリーミングデータ送信装置から送信されたFEC化データを受信する受信手段と、この受信したFEC化データから当該FEC化データの元となるバッファリングデータを復元する復元手段と、この復元したバッファリングデータのデータレートに基づいて、当該バッファリングデータから成るストリーミングデータを再生するための処理を行う再生制御手段と、を備えることである。
このようなストリーミングデータ受信装置が、上記したようなストリーミングデータ送信装置からのFEC化データを受信、復元して再生のための処理を行うので、FEC処理が施されたデータが送信されるデータ配信システムにおいて、トリーミングデータをFEC処理して送信できるようになる。
また、復元手段は、FEC化データに付与された循環識別符号に基づいて、受信したFEC化データからFEC化データの元となるバッファリングデータを復元するようになっていてもよい。
また、復元手段は、並列的に複数の異なるバッファリングデータを復元するため、1度に1つのバッファリングデータを復元する個別復元手段を複数有し、受信したFEC化データに付与された循環識別符号に基づいて、当該FEC化データを前記個別復元手段のいずれか1つに復元させるようになっていてもよい。
また、個別復元手段は、復元したバッファリングデータを共通の記憶媒体に記憶させ、 再生制御手段は、共通の記憶媒体に記憶されたバッファリングデータに記述された時間情報に基づいて、バッファリングデータから成るストリーミングデータを再生するための処理を行うようになっていてもよい。
また、復元手段は、個別復元手段をM個有しており、前記個別復元手段のそれぞれが復元しているバッファリングデータに割り当てられた循環識別符号が、それぞれ循環識別符号Xないし循環識別符号XからM−1個先の循環識別符号であるとき、前記循環識別符号XからM個以上先であり、かつ前記循環識別符号XからM個前よりも前である識別符号が付与されたFEC化データを受信手段が受信したとき、循環識別符号Xが割り当てられたバッファリングデータの復元を行う個別復元手段の処理をキャンセルさせるようになっていてもよい。
このようにすることで、上記したように先に進んだバッファリングデータを元とするFEC化データを受信することで、現在のバッファリングデータのFEC化データを受信することができないとして、その復元をキャンセルすることで、もはや受信できなくなったFEC化データの復元を個別復元手段が続けてしまうことを防止できる。
また、1度に1つのバッファリングデータを復元するようなストリーミングデータ受信装置においては、受信手段が受信したFEC化データに付与されている循環識別符号のうち、最も先の循環識別符号が割り当てられたバッファリングデータを復元するようになっていてもよい。このようにすることで、ストリーミングデータ受信装置は、その時の最も最新の、すなわちその時以降の送信期間が最も長い可能性の高いバッファリングデータを元とするFEC化データを復元することができる。
また、復元手段は、個別復元手段のバッファリングデータの復元を開始してから規定時間経過しても当該バッファリングデータの復元を完了しないとき、当該バッファリングデータを有するストリーミングデータの復元をリセットしてもよい。この規定時間は、ストリーミングデータ送信装置において用いられる循環識別符号が一巡する時間から余裕時間を減算した時間であり、余裕時間は、ストリーミングデータ送信装置において1つのIDが用いられてから次のIDが用いられるまでの時間の平均値に、個別復号手段の数の2倍を乗算したものである。
このようにすることで、個別復元手段が、循環識別符号が一巡してしまうことで別個のバッファリングデータを元とする同じ循環符号が付与されたFEC化データを、同じバッファリングデータを元とするFEC化データであるかのように復元しようとすることを防ぐことができる。
(第1実施形態)
図1に、本発明の第1実施形態に係る情報配信システム100の構成図を示す。情報配信システム100は、ストリーミングサーバ1、符号化サーバ2、無線LANアクセスポイント4〜6、車両10に搭載されるストリーミングデータ受信装置11を有している。
ストリーミングサーバ1によって生成された音楽、画像等のストリーミングデータは、符号化サーバ2によってFEC処理を施された後、インターネット等の広域ネットワーク3を介して無線LANアクセスポイント4〜6からFEC化データとして送信される。そして、無線LANアクセスポイント4〜6の形成する円錐形の無線セル7〜9のいずれかに車両10が進入すると、ストリーミングデータ受信装置11は対応する無線LANアクセスポイントから当該FEC化データを受信し、受信したデータを元にストリーミングデータを復元し、そのストリーミングデータを再生する。
図2に、ストリーミングサーバ1、符号化サーバ2、ストリーミングデータ受信装置11等の構成図を示す。
ストリーミングサーバ1は、カメラ12、マイク13等から継続的に入力され時間的に変化する映像、音楽等の信号を受け、その信号をストリーミングデータに変換し、イーサネット(登録商標)回線51を介して符号化サーバ2に出力する。ストリーミングデータは、特に送信データのサイズが決められないまま連続的に送出されるデータをいう。ストリーミングデータは、例えばMPEG2、リアルオーディオ(登録商標)等の形式で送信されることが多い。本実施形態においては、ストリーミングサーバ1としては、イーサネット(登録商標)回線を通じてインターネットにストリーミングデータを送信する、既存のワークステーション、パーソナルコンピュータで実行されるストリーミングエンコーダを用いることができる。
符号化サーバ2は、ストリーミングサーバ1から受けたストリーミングデータを所定時間分バッファリングし、そのバッファリングしたデータ毎に順次まとめて符号化を行い、その符号化したデータをUDPパケット化し、それを無線LANアクセスポイント4〜6を介して無線セル7〜9内に送出する。
このような符号化サーバ2は、受信インターフェース(図2中では受信I/Fと記す)21、CPU22、RAM23(特許請求の範囲の記憶媒体に相当する)、ROM24および送信インターフェース(図2中では送信I/Fと記す)25を有している。
受信インターフェース21は、ストリーミングサーバ1が符号化サーバ2に対して出力したストリーミングデータを受信し、それをCPU22が認識できる形式に変換してCPU22に出力する。このような機能により、CPU22は、受信インターフェース21を介してストリーミングサーバ1からデータを受けることができる。
送信インターフェース25は、CPU22から受けたデータを、広域ネットワーク3の通信プロトコルに適合するように加工し、この加工したデータを無線LANアクセスポイント4〜6に送信する。このような機能により、CPU22は、送信インターフェース25にデータを出力することで、送信インターフェース25を介して無線LANアクセスポイント4〜6にデータを送信することができる。
CPU22は、ROM24からプログラムを読み出して実行し、そのプログラムに記述された処理内容に基づいて動作し、その動作において、RAM23およびROM24から情報を読み出し、RAM23に情報を書き込む。またCPU22は、その動作中に受信インターフェース21を介してストリーミングサーバ1からのストリーミングデータを受け、またこのストリーミングデータを処理した後のUDPパケットを送信インターフェース25を介して無線LANアクセスポイント4〜6に送信する。
無線LANアクセスポイント4〜6は、符号化サーバ2から受けたUDPパケットを無線LANの規格に従って無線送信する公知の送信装置である。アクセスポイント4〜6は、それぞれが形成する無線セル(送信可能範囲)7〜9が離散的になるよう、道路沿いに配置されている。
ストリーミングデータ受信装置11は、復号クライアント14およびプレーヤ15を有している。
復号クライアント14は、符号化サーバ2から送信されたUDPパケットを無線LANアクセスポイント4〜6を介して受信し、受信したUDPパケットから元のストリーミングデータを復元し、復元したストリーミングデータをイーサネット(登録商標)回線52を介してプレーヤ15に出力する。
このような復号クライアント14は、無線LANインターフェース(図2中では無線LANI/Fと記す)41、CPU42、RAM43、ROM44および送信インターフェース(図2中では送信I/Fと記す)45を有している。
無線LANインターフェース41は、無線LANアクセスポイント4〜6から送信されたUDPパケットを図示しないアンテナを介して受信し、それをCP42が認識できる形式に変換してCPU42に出力する。このような機能により、CPU42は、無線LANインターフェース41を介して無線LANアクセスポイント4〜6からデータを受けることができる。
送信インターフェース45は、CPU42から受けたデータを、インターネットのプロトコルに適合するように加工し、この加工したデータをプレーヤ15に送信する。このような機能により、CPU42は、送信インターフェース45にデータを出力することで、送信インターフェース45を介してプレーヤ15にデータを送信することができる。
CPU42は、ROM44からプログラムを読み出して実行し、そのプログラムに記述された処理内容に基づいて動作し、その動作において、RAM43およびROM44から情報を読み出し、RAM43に情報を書き込む。またCPU42は、その動作中に無線LANインターフェース41を介して無線LANアクセスポイント4〜6からのUDPパケットを受け、またこのUDPパケットを復元した後のストリーミングデータを送信インターフェース45を介してプレーヤ15に送信する。
プレーヤ15は、復号クライアント14の送信インターフェース45からのストリーミングデータを受け、そのストリーミングデータの再生、すなわちストリーミングデータに記述された映像や音のユーザへの表示を行う。プレーヤ15としては、インターネット回線を介して受けたストリーミングデータを再生するパーソナルコンピュータ、ワークステーションで実行されるムービープレーヤ等を用いることができる。
図3は、このような構成の情報配信システム100におけるデータの流れを示す図である。この図を用いて符号化サーバ2のCPU22の作動について説明する。
まず、ストリーミングサーバ1は、カメラ12またはマイク13から連続的に受けている映像、音楽のデータをMPEG等のフォーマットにエンコードする(ステップ110)。そしてエンコードされたデータをストリーミングデータとし(ステップ120)、符号化サーバ2に出力する。
符号化サーバ2のCPU22は、受信インターフェース21を介してストリーミングデータを受けると、RAM23にそのデータをバッファリングする。バッファリングとは、受信したストリーミングデータを、それがあるデータ量に達するまで追記的にRAM23に記憶させることをいう。ここで、あるデータ量とは、複数パケット分である。複数パケット分とは、ストリーミングデータを後にUDPデータとして送信するときに、そのUDPデータが複数となるような、ストリーミングデータの量である。
より詳細には、あるデータ量とは、ストリーミングデータの一定時間分である。一定時間分とは、ストリーミングデータが再生されるときの時間が一定となるようなデータ量をいう。従って、ストリーミングデータのビットレートが可変である場合、一定時間分のストリーミングデータのデータサイズ自体は一定でない。なお、ストリーミングデータには、ストリーミングデータのどの部分をどのタイミングで再生するかを指定するタイムスタンプ(特許請求の範囲の時間情報に相当する)が含まれており、そのタイムスタンプに基づいてストリーミングデータの時間を特定することができる。なお、本明細書では、バッファリングされたデータをバッファリングデータと記す。
CPU22は、上記した所定時間分のデータのバッファリングが完了すると、そのバッファリングデータの1まとまりに対して分割・符号化(FEC)・符号化パケット生成の処理を施す(ステップ220)。
そして、CPU22は、上記処理が施されたデータを、複数のUDPパケットにまとめ(ステップ230)、更にそのUDPパケットを送信インターフェース25を介して送信する(ステップ240)。
なお、分割・符号化(FEC)・符号化パケット生成の処理の間にも、CPU22は並行して新たに受信データのバッファリングを行うようになっており、そのバッファリングが完了すれば当該バッファリングデータについてステップ220、230、240の処理を行う。
図4に、このようなCPU22のステップ220および230の処理を説明する図を示す。図4中の各矩形310〜350は、それぞれCPU22で処理されるデータを表している。ステップ210の処理によりRAM23に記憶された所定時間分のバッファリングデータ310は、ステップ220の処理によって複数の分割データ311〜318に等分割される。1つのバッファリングデータ310を何個に分割するかは、バッファリングデータのデータサイズに関わらず、あらかじめ決められている。
そして、更にステップ220の処理により、この分割データ311〜318に対して符号化処理が施される。具体的には、分割データ311〜318のそれぞれを要素とするデータ列に対してReed−Solomon符号化行列、Tornado符号化行列、LDPC符号化行列等の公知の符号化行列を作用させる。すると、その結果として符号化パケット320〜335が生成される。このようにして生成された符号化パケット320〜335は、元となるバッファリングデータ310よりもデータ量が多くなっている。すなわち、バッファリングデータ310は符号化によって冗長化されている。このように符号化により冗長化された符号化パケット320〜335は、その全てを受信せずとも、そのパケットのうち必要な量だけ任意のパケットを受信できれば、受信した符号化パケット320〜335からそのバッファリングデータ310を復元することができる。このような復元のできる冗長化をメタパケット化ともいう。
そして、ステップ230の処理により、符号化パケット320〜335のいくつかをまとめて1つのUDPパケットとする。図4においては、例として2つのUDPパケット340、350を示すが、実際にはもっと多数のUDPパケットが生成される。生成される多数のUDPパケットは、符号化パケット320〜335のうち例えばランダムに選んだものを含むようになっていればよい。CPU22はUDPパケット340、UDPパケット350を生成する際、それぞれに、符号化パケットに加え、その先頭部分にID341、351、および通し番号342、352の情報を付加する。通し番号342、352は、元となるバッファリングデータ310が同じUDPパケット間で同じ値とならないように、当該UDPパケットの生成時に付与される番号である。ID341、342は、元となるバッファリングデータ310を識別することができる符号である。したがって、同じバッファリングデータを元とするUDPパケットは同じIDを有している。そして、UDPパケットが生成される元となるバッファリングデータが新しいものとなる度に、その生成されるUDPパケットに付与されるIDも更新される。
このIDの更新の順序の具体例を図5に示す。図5に円状に配置された丸印のそれぞれが1つのIDを表している。各IDに対応する具体的な値は、当該丸印の近傍に記載された番号である。例えば丸印61はその値が10のIDである。バッファリングデータが新しいものとなる度に、ID番号はこの図中の矢印に示されるような時計回りに更新される。すなわち、IDとして10がUDPデータに付与されている場合、次にバッファリングデータが新しくなると、当該バッファリングデータから生成されるUDPパケットにはIDとして11が付与される。このようにIDはバッファリングデータが更新されると共に10→11→12→・・・→19と更新され、19の次にはまた10にもどる。このように、付与されるIDは循環的な性質を有する循環識別符号である。
このような循環識別符号をIDに用いると
、ストリーミングデータをストリーミングサーバ1から次々に受信し、バッファリングデータが次々に更新されても、IDは循環的に繰り返し用いられるので、IDの枯渇やIDの桁数の増大によるデータ伝送効率の低下を防ぐことができる。
また、付与するIDの組は、送信するストリーミングデータの内容のカテゴリ毎に異なるようになっていてもよい。図6にIDの組と、ストリーミングデータの内容のカテゴリとの対応の一例を示す。この図によれば、時事ニュースのカテゴリに対応するストリーミングデータについては、10から19までのIDの組を用い、スポーツには20〜29のIDの組を用い、渋滞情報には30〜39のIDの組を用い、天気予報には40〜49のIDの組を用いるようになっている。このように、IDの組毎にストリーミングデータの内容のカテゴリが異なると、データの受信側は、特定のカテゴリのストリーミングデータを再生したいとき、そのカテゴリに対応したIDのUDPパケットを選択的に受信すればよいということになる。
なお、符号化サーバ2のCPUは、UDPパケットとして送信するストリーミングデータの内容がどのカテゴリのものであるかは、ストリーミングデータ内にその情報が埋め込まれており、その埋め込まれた情報を読み出すことで特定するようになっていてもよいし、ストリーミングサーバ1から別途その情報を受けるようになっていてもよい。
図7に、以上のようなCPU22の作動によりストリーミングサーバ1からストリーミングデータを受信してUDPパケットを送信する符号化サーバ2、の処理のタイミングを示す。図中、下向きが時間の向きに相当する。
この図においては、ストリーミングサーバ1が1つのストリーミングデータの一部を成す単位である、再生時間の等しいデータS〜Sを、順次連続に送信する。符号化サーバ2はそれを受信し、図3のステップ210に相当するCPU22のバッファリングにより、この2単位(例えばSとS)を一定時間分としてRAM23に記憶すると、その時点62〜64でステップ220、230に相当する符号化、UDPパケット化等の処理を開始し、その処理が終了した時点65〜67でステップ240の処理によりUDPパケットを送信し始める。
そして、次のバッファリングが終了する時点63、64、68まで、当該UDPパケットの送信を繰り返し続ける。従って、1つのバッファリングデータを元とするUDPパケットの送信期間は、範囲69に示すように、符号化、あるバッファリングデータについてのUDPパケット化が終了してから、次のバッファリングデータのバッファリングが終了するまでの期間である。
次に、ストリーミングデータ受信装置11がこの符号化サーバ2によって送信されたUDPパケットを受信して以後の作動について説明する。図3のデータの流れに示すように、復号クライアント14においては、符号化サーバ2が送信したUDPパケットが受信され(ステップ410)、受信したUDPパケットから符号化パケットが抽出され(ステップ420)、更にその符号化パケットから分割データ、バッファリングデータが復元され(ステップ430)、さらにそのバッファリングデータがストリーミングデータとしてプレーヤ15に出力される。
更にプレーヤ15では、復号クライアント14から出力されたデータの、MPEG等のデコードが行われ(ステップ510)、そのデコードの結果の動画データ、音楽データ等が再生される(ステップ520)。
以上のようなデータの流れを実現するために復号クライアント14のCPU42が実行するプログラムの構成を図8に示す。なお、以下に示すプログラム間では、RAM43やCPU42中のレジスタを介してデータの授受が行えるようになっている。
CPU42は、受信プログラム805、2つの個別復元プログラム810、820、バッファリングプログラム830、ストリーム再生プログラム840を並列的に実行する。
受信プログラム805は、符号化サーバ2から送信されたUDPパケットを受信し、受信したUDPパケットを適宜個別復元プログラム810、個別復元プログラム820に渡し、さらに個別復元プログラム810、個別復元プログラム820の作動を制御するためのプログラムである。この受信プログラム805の具体的な作動については後述する。
個別復元プログラム810は、CPU42によってそれぞれ並列的に実行されるタイマ−プログラム811、符号化パケット抽出プログラム812、復号・データ復元プログラム813を含んでいる。
タイマ−プログラム811を実行することにより、CPU42は、その実行開始からの経過時間を計測し、その計測時間が所定の満了時間(特許請求の範囲の規定時間に相当する)に達すると、タイムアウトイベント発生を示すデータを受信プログラム805に渡す。
図9に、符号化パケット抽出プログラム812および復号・データ復元プログラム813の処理を説明する図を示す。図9中の各矩形310〜350は、それぞれCPU42で処理されるデータを表しており、各矩形に割り当てられた番号は図4において同じ番号が割り振られた矩形と同じものである。ただし、受信されるUDPパケット340、350および符号化パケット320〜335の数は、図4の処理において生成された符号化パケットよりも少なくてよい。
符号化パケット抽出プログラム812を実行することにより、CPU42は、受信プログラム805から渡されたUDPパケット(図9のUDPパケット340、350に相当する)からID、通し番号等を除去し、符号化パケット(図9の符号化パケット320〜335に相当する)を抽出し、その抽出した符号化パケットを符号化パケット抽出プログラム812に渡す。
復号・データ復元プログラム813を実行することにより、CPU42は、符号化パケット抽出プログラム812から符号化パケットを受け、受けた符号化パケットがあらかじめ定められた必要な量に達すると、それらの符号化パケットを復号する。復号は、具体的には、必要量の符号化パケットのそれぞれを要素とするデータ列に、そのデータ列に対応した逆符号化行列を作用させる。すると、その結果として復号データ(図9の分割データ311〜318に相当する)が生成される。そして、この復号データを結合してバッファリングデータ(図9のバッファリングデータ310に相当する)を生成する。さらに、生成したバッファリングデータをバッファリングプログラム830に渡し、復号完了イベント発生を示すデータを受信プログラム805に渡し、個別復元プログラム810の実行を終了する。
なお、CPU42は、受信プログラム805の実行において、特定のIDを有するUDPパケットの復号予約の処理を行うことに基づいて、個別復元プログラム810の実行を開始し、それと同時にタイマ−プログラム811、符号化パケット抽出プログラム812、復号・データ復元プログラム813の実行を開始する。そして、受信プログラム805が予約キャンセルの旨のデータを個別復元プログラム810に渡すと、CPU42は、個別復元プログラム810がこのデータを受けたことに基づいて、タイマ−プログラム811、符号化パケット抽出プログラム812および復号・データ復元プログラム813の実行を、個別復元プログラム810と共に終了する。
個別復元プログラム820、タイマ−プログラム821、符号化パケット抽出プログラム822、復号・データ復元プログラム823の処理の内容は、それぞれ個別復元プログラム810、タイマ−プログラム811、タイマ−プログラム821および符号化パケット抽出プログラム822と同等である。ただし、個別復元プログラム810、個別復元プログラム820は、それぞれ異なるIDを有するUDPパケットの復元を行うようになっている。
なお、図2においては、個別復元プログラムは2つ示されているが、2つ以上の個別復元プログラムがそれぞれ異なるIDのUDPパケットを復号するようになっていてもよい。なお、同時に実行する個別復元プログラムの数は予め決まっている。
バッファリングプログラム830を実行することで、CPU42は、個別復元プログラム810、個別復元プログラム820等の、複数の個別復元プログラムから渡された複数のバッファリングデータを、RAM43の共通の領域、すなわちバッファに保存する。
ストリーム再生プログラム840を実行することで、CPU42は、上記したバッファに保存された複数のバッファリングデータを読み出し、このバッファリングデータに記述された再生のためのタイムスタンプに基づいたタイミングで、当該バッファリングデータを送信インターフェース45を介してプレーヤ15に出力する。
ここで、個別復元プログラム810、個別復元プログラム820を制御する受信プログラム805の処理について具体的に説明する。図10に、受信プログラム805のフローチャートを示す。なお、CPU42は、復号クライアント14の起動後すぐにこの受信プログラム805を実行する。
CPU42は受信プログラム805の実行を開始すると、まずステップ910で変数Frの値を“false”に設定する。この変数Frは、上述した個別復元プログラムが1つも実行されていない場合は“false”に、1つでも実行されている場合は“true”になるように設けられた変数である。
次にステップ915で、無線LANインターフェース41を介してUDPパケットを1つ受信する。なお、図10においてステップ910以外の処理はループ状になっているが、このループの繰り返しによって、順次UDPパケットを受信することができる。
次にステップ920で、変数Frが“true”であるか否か、すなわち個別復元プログラムが少なくとも1つ実行されているか否かを判定する。
Frが“false”の場合、続いてステップ925の処理を実行し、予め定められた数だけ個別復元プログラムの予約の処理を行う。この際、予め定められた数をM個とすると、用いるIDの組のうち、受信したパケットのIDから順にM個のIDを、予約するM個の個別復元プログラムのそれぞれに割り当てる。これによって、M個の個別復元プログラムの実行が始まる。
ステップ925に続いてはステップ930で、変数Frの値を“true”に設定する。
ステップ920の判定でFrが“true”の場合、続いてステップ935で、受信したUDPパケットのIDを読み出し、このIDが新規に受信すべきIDであるか否かを判定する。受信したUDPパケットのIDが新規に受信すべきIDであるか否かについては、各個別復元プログラムが復元しているバッファリングデータに割り当てられたIDが、それぞれXないしXからM−1個先のIDであるとすると、受信したUDPパケットのIDが、XからM個以上先であり、かつXからM個前よりも前のIDである場合、新規に受信すべきIDであると判定し、それ以外の場合には新規に受信すべきIDでないと判定する。
図11に、この新規に受信すべきIDであるか否かの判定について説明する図を示す。この図11において円状に配置された丸印は、図5に記載した丸印と同様の、循環識別符号としてのIDを示しており、そのIDの更新順は、図11の実線矢印の示す通り時計回りである。
図11においては、M、すなわち、個別復元プログラムの数は2である。この図は、ステップ935の時点で個別復元プログラムがM=2個実行されており、それぞれに図11中の2重丸印71、72で示されるID(値12および値13)が割り当てられている場合を示している。この時点で、既にIDが10、11のバッファリングデータの復元は終了しているものとする。
この時点で、符号化サーバ2からIDが12または13のUDPパケットを受信している限りは、そのまま当該UDPパケットを該当するIDが割り当てられた個別復元プログラムに復元させるようにすればよい。しかし、図11中の点線矢印73で示す範囲の14〜19のID、すなわち12(Xに相当する)のIDからM=2個先のID以上先であり、かつ12のIDからM+1=3個前のID以前であるという条件を満たすIDが届いた場合、現在復元しているバッファリングデータの復元を中止して、それよりも先のバッファリングデータを復元することができる。
なお、同時送信数がMの場合においては、XのIDから上記したような新規に受信すべきIDのUDPパケットが送信された場合には、既にXおよびXのM−1個先のIDのUDPパケットの送信は既に終了していると考えられる。したがって、このような場合に上記の通りXのIDのUDPパケットの復元を中止して新たなIDのUDPパケットを復元すれば、もはや送信されないUDPパケットを待ち続けて事実上個別復元プログラムの処理がハングアップしてしまうことを防げる。
ステップ935で新規に受信すべきIDであると判定した場合、続いてステップ940で、現在復号している個別復元プログラムの1つ、より具体的には、当該個別復元プログラムのうち、最も古いIDのバッファリングデータを復元しているプログラムにもとづく復元処理を中止させる。具体的には、その1つの個別復元プログラムに、予約キャンセルの旨のデータを渡す。これにより、当該データを受けた個別復元プログラムの実行が終了する。
ステップ935で新規に受信すべきIDでないと判定した場合、およびステップ930、940に続いては、ステップ945で、イベント発生のデータを個別復元プログラムから渡されているかを確認する。具体的には、前回のループにおけるステップ945の処理の後に個別復元プログラムから受けたタイムアウトイベント、復号完了イベントの有無を確認する。
復号完了イベントを受けている場合は、続いてステップ950で、次の予約を行う。具体的には、復号完了イベントを渡した個別復元プログラム、および現在実行している個別復元プログラムに割り当てられているIDのうち、最も新しいIDの次のIDのUDPパケットの復号予約の処理を行う。
タイムアウトイベントを受けている場合は、続いてステップ955で、現在実行している全ての個別復元プログラムの実行をリセット(中断)させる。具体的には、予約キャンセルの旨のデータを現在実行している個別復元プログラム全てに渡す。すなわち、当該タイムアウトイベントを渡した個別復元プログラムに割り当てられたIDのバッファリングデータを有するストリーミングデータ全体の復元をリセットする。そして更にステップ960で、変数Frの値を“false”にセットする。
また、復号完了イベントもタイムアウトイベントも受けていない場合、およびステップ950、960に続いては、ループの最初であるステップ915の処理を実行する。
なお、複数のタイムアウトイベント、復号完了イベントを一度に受けている場合は、それぞれについて、対応するステップ950、955、960の処理を並列的に行ってもよい。
なお、受信プログラム805の処理として、CPU42は、この図10のフローチャートに記載された処理と並行して、符号化サーバ2から受信したUDPパケットのIDを特定し、そのIDに割り当てられた個別復元プログラムにそのUDPパケットを渡すようになっている。このようになっていることで、個別復元プログラムは、自己に割り当てられたIDのUDPパケットを受けて復元処理に用いることができる。
ここで、個別復元プログラムのタイマープログラムにおける所定の満了時間について説明する。所定の満了時間は、符号化サーバ2において用いられる識別符号が一巡する時間から余裕時間を引いた時間である。
IDが一巡する時間とは、符号化サーバ2において、あるバッファリングデータにXのIDが割り当てられてそのIDを有するUDPパケットが送信され始めた時点から、そのバッファリングデータを元とするUDPパケットの送信が終了し、次以降のバッファリングデータに割り当てられるIDが更新されていき、当該XのIDが再度バッファリングデータに割り当てられ、そのIDを有するUDPパケットが送信され始める時までの時間をいう。
また、余裕時間とは、符号化サーバ2において1つのIDが用いられてから次のIDが用いられるまでの時間の平均値に、予め定められた個別復元プログラムの同時実行数の2倍を乗算した時間である。1つのIDが用いられてから次のIDが用いられるまでの時間とは、あるバッファリングデータにXのIDが割り当てられてそのIDを有するUDPパケットが送信され始めた時点から、次のバッファリングデータにXの次のIDが割り当てられ、そのIDを有するUDPパケットが送信され始めた時点までの時間をいう。
このようになっていることで、ストリーミングデータ受信装置11の搭載車両が無線セル7〜9の範囲を大きく外れる等、復号クライアント14が何らかの原因で符号化サーバ2からのUDPパケットを一切受信できなくなった場合においても、上記した満了時間の経過後に、個別復元プログラムの実行をリセットできる。そして、上記したようにIDが一巡する前に満了時間に到達するので、受信が再度可能となった場合に、同一のIDで異なるバッファリングデータを元とするUDPパケットを受信する恐れがなくなる。
以上のような受信プログラム805の処理により、CPU42は、順次受信したUDPパケットを適宜個別復元プログラム810、個別復元プログラム820に渡すことで同時に複数のバッファリングデータの復元を行わせる(ステップ925)。そして、そのUDPパケットが新規に受信すべきIDを有している場合(ステップ935)、最も古い復号処理を中止し、当該UDPパケットによる復号を開始する(ステップ940)。
そして、タイムアウトイベントが発生すると、当該ストリーミングデータの復元をリセットし(ステップ955)、復号完了イベントが発生すると、次のIDのバッファリングデータの復号を予約を行う(ステップ950)。
また、タイムアウトイベントが発生するまで、受信したUDPパケットを、そのUDPパケットのIDが割り当てられた個別復元プログラムに渡して復号させ続ける。
上記のようなデータ配信システムの作動により、符号化サーバ2が、ストリーミングデータを複数パケット分バッファリングし、そのバッファリングデータに対して符号化を施し、その結果のUDPパケットを送信することである。このようになっているので、符号化処理が施されたデータが送信されるデータ配信システムにおいて、ストリーミングデータが複数パケット分バッファリングされ、そのバッファリングデータ毎に符号化処理が施されるので、ストリーミングデータを符号化処理して送信できるようになる。
なお、符号化サーバ2におけるUDPパケットの送信容量(単位時間あたりの送信データ量)および無線LANアクセスポイント4〜6におけるUDPパケットの送信容量を、このUDPパケットの元となるバッファリングデータのデータレートより高い値となっていてもよい。これによって、ストリーミングデータ受信装置11では、バッファリングデータ自体の再生にかかる時間よりも短い時間で、当該バッファリングデータのUDPパケットを受信することが可能になる。したがって、例えば無線セル7〜9が離散的に廃されている場合等、受信側が連続的に送信データを受信できないような環境でもストリーミングデータの途切れがない再生を行える場合がある。
(第2施形態)
次に、本発明の第2実施形態について説明する。本発明が第1実施形態と異なるのは、符号化サーバ2が複数存在することである。
2つの符号化サーバは、それぞれ同じストリーミングサーバ1から同じストリーミングデータを受信し、受信したデータに対して第1実施形態と同等の処理を行う。ただし、各々の符号化サーバ2は、同じストリーミングデータの異なる部分について、バッファリング、符号化、UDPパケット化、送信等を行う。具体的には、同じストリーミングデータの、そのデータサイズで等分した各部分に対して、それぞれの符号化サーバ2が順番にバッファリング、符号化、UDPパケット化、送信等の処理を行う。
例えば、符号化サーバ2が2つある場合、1つのストリーミングデータを、そのデータサイズで等分し、その等分した各部を交互に処理する。具体的には、このストリーミングデータの各部を時間順にS、S、S、S、S、S・・・とすると、第1の符号化サーバ2はS、S、Sに対して処理を行い、第2の符号化サーバ2はS、S、Sに対して処理を行う。このようなストリーミングデータの割り振りは予め定められており、各符号化サーバ2はその定めに従って、どの部分を処理するかを判断し、ストリーミングデータの不要な部分は受信しない、または受信しても捨てるようになっている。なお、ストリーミングデータの部分の分割は、上記したようにデータサイズで等分されていてもよいし、ストリーミングデータに記録された再生時間のタイムスタンプに基づいて再生時間で等分されてもよい。
図12に、本実施形態において、ストリーミングサーバ1からストリーミングデータを受信してUDPパケットを送信する2つの符号化サーバ2、の処理のタイミングを示すタイミングチャートである。表示の形式は図7と同僚である。以下、第1の符号化サーバ2を符号化サーバ#1、第2の符号化サーバ2を符号化サーバ#2と記す。
図12においては、ストリーミングサーバ1から、1つのストリーミングデータの等サイズの単位部分であるデータS、S、S、S、S、S、S・・・がこの順に送信されている。符号化サーバ#1および符号化サーバ#2は、このストリーミングデータの2単位部分毎に交互に処理するようにあらかじめ定められている。具体的には、符号化サーバ#1はSおよびSのデータを受信し、これらをまとめてバッファリングして図3のステップ210〜240に示した通りの符号化、UDPパケット化、送信等の処理を行い、次にSおよびSに対して同じ符号化、UDPパケット化、送信等の処理を行う。また、符号化サーバ#2は、SおよびSのデータを受信し、これらをまとめてバッファリングして図3のステップ210〜240に示した通りの符号化、UDPパケット化、送信等の処理を行う。
なお、第1実施形態において図7を用いて説明した通り、符号化サーバ2は、バッファリングデータの符号化、UDPパケット化が終了してから、次のバッファリングデータのバッファリングが完了するまで、そのUDPパケットを何度も送信し続ける。本実施形態においては、符号化サーバ#1と符号化サーバ#2とで交互に処理を行うので、1つのバッファリングデータについてのUDPパケットの送信時間が2倍となる。具体的には、符号化サーバ#1においては、タイミング75からタイミング76までの間、SおよびSのバッファリングデータについてのUDPパケットを送信することになる。また、符号化サーバ#2においては、タイミング77からタイミング78までの間、SおよびSのバッファリングデータについてのUDPパケットを送信することになる。
仮に1つの符号化サーバ#1でストリーミングデータの全てを処理したなら、符号化サーバ#1においてS3およびS4から成るバッファリングデータのバッファリング、符号化、送信処理も行わなければいけなくなり、1つのバッファリングデータについてのUDPパケットの送信時間は半分となってしまう。
このように、複数の符号化サーバが順番に異なるバッファリングデータを送信するようになっているので、1つの符号化サーバにおいては、1つのバッファリングデータについてのUDPパケットを送信し始めてから次のバッファリングデータのバッファリングが完了するまでの時間が延びることになる。
一方、このように複数の符号化サーバの送信データを全て同じ通信路の無線LANアクセスポイント4〜6に送信すると、その無線LANアクセスポイント4〜6における伝送効率が低下する。しかし、使用する通信路の容量が、ストリーミングデータのデータレート(すなわち単位時間のストリーミングデータの再生のために用いるデータのビット数)に比べて充分大きい場合、この低下はあまり問題とならない。
以下に、簡単な試算により、この効果を説明する。なお、以下の試算では、簡単のために、符号化処理に伴ってバッファリングデータより符号化データの量が増大するという冗長性については考慮しないものとする。
例えば、ストリーミングデータのデータレートが160kbit/s、バッファリングデータのデータ容量が100kbyteの場合、ひとつのバッファリングデータには、5秒分のデータが保持される。これを、伝送路の容量が8Mbit/sの通信路で送信する場合、符号化サーバを単独で用いた場合、ひとつのバッファリングデータを受信するために0.1秒かかるが、符号化サーバを2台並列で動作させた本実施形態の場合、0.2秒の時間に伸びる。一方、各々のバッファのデータが送信され続ける時間は、前者の場合Tm=5秒であるのに対し、後者の場合はTm’=10秒間となる。
以上の試算をまとめると、符号化サーバを単独で用いる場合、受信者は5秒の間に0.1秒間UDPパケットの受信を行う必要があり、本実施形態では、10秒の間に0.2秒間のUDPパケットの受信を行えばよい。
このように、1つのバッファリングデータについてのUDPパケットの送信時間が延びると、無線LANアクセスポイント6〜8間を走行する車両10のストリーミングデータ受信装置11において、ストリーミングデータの再生の欠落の可能性が低減される。図13および図14に、UDPパケットの送信時間が延びることがストリーミングデータの再生の途絶の可能性に与える影響を説明する図を示す。
図13は、符号化サーバが単独で処理を行う場合における、車両10の走行とUDPパケットの送信時間との関係を示す図である。また図14は、本実施形態のように符号化サーバが複数ある場合の車両10の走行とUDPパケットの送信時間との関係を示す図である。
無線LANアクセスポイント4と無線LANアクセスポイント5とを連続的に通過する、ストリーミングデータ受信装置11を搭載した車両10は、無線セル7、無線セル8に入っている間に、必要な数のUDPパケットを受信する必要がある。一方、1つのバッファリングデータについてのUDPパケットが送信されるのは、図13の場合においてはTm秒であり、図14の場合においてはTm秒より長いTm’秒である。
例えば、図13のように、車両10が無線セル7を出たときにあるバッファリングデータのUDPパケットの送信が始まり、Tm秒内に車両10は次の無線セル8に入れない場合、ストリーミングデータ受信装置11は当該バッファリングデータを受信することができず、ストリーミングデータのその部分の再生が欠落してしまう。しかし、そのバッファリングデータの送信時間が図14のTm’のように長い場合、その間に車両10が無線セル7または無線セル8に入っている可能性は高くなり、もし無線セル7を出てから無線セル8に入るまでの時間よりTm’が長い場合、車両10はこのT‘mの時間内に少なくとも1度は無線セルの中に入る。そして、その無線セルの中にいる間、車両10が必要なUDPパケットを受信するのに必要な時間200以上当該バッファリングデータのUDPパケットが送信され続ければ、当該バッファリングデータの復元および再生が可能となり、ストリーミングデータの連続受信が可能となる。
このように、符号化サーバを増やして同時に異なるバッファリングデータを送信させるようにすれば、無線セルが離散的な配置になっていても、車両が複数の無線セルのうち1つの無線セルを出てから隣の無線セルに入るまでの期間、すなわち無線セル間の時間が、1つのバッファリングデータを元とするUDPパケットを送信し続ける期間から、復号クライアント14が当該バッファリングデータを復元するためのUDPパケットの受信にかかる期間を減算した期間より短いようになっていれば、車両10が無線セルと無線セルの間を走行しているうちにバッファリングデータを復元するのに必要なUDPパケットの受信機会を逃すことを防ぐことができる。
なお、このように、ストリーミングデータの再生の欠落の可能性を離散的な無線セルの間隔を調整することによって低減する事も可能である。すなわち、1つの無線セルから次の無線セルに入るまでの時間内にあるバッファリングデータについてのUDPパケットの送信開始、送信終了が送信が終わってしまわないような距離に、無線LANアクセスポイントを配置すればよい。
なお、上記した無線セル間の時間を特定するには、無線セル間の受信不能な領域の距離、および車両の走行速度を特定する必要があるが、一般的な走行車両について再生の欠落を防ぐようにするなら、上記車両の走行速度としては、その道路における車両の平均速度を用いればよいし、また、信頼性を上げ、大半の車両に欠落のない再生を保証するのであれば、その道路において想定される最低の走行速度を用いればよい。
なお、本実施形態の効果が発揮されるためには、上記したように符号化サーバ2が複数存在する必要は必ずしも無く、例えば1つの符号化サーバ2のCPU42において、図3のステップ210〜240の処理を複数分並列的に行うことで、本実施形態と同等の効果が発揮される。すなわち、それぞれ異なるバッファリングデータを元とするUDPパケットを同時に送信するようになっていればよい。
また、本実施形態においては、UDPパケットに付与するIDの組としては、少なくとも、符号化サーバ#1、#2が同時送信するバッファリングデータの数の2倍よりも多い回数進むと元に戻るような循環識別符号を用いる。
(第3実施形態)
次に、本発明の第3実施形態について説明する。本実施形態が第2実施形態と異なるのは、符号化サーバ2から送信されるストリーミングデータが動画像や音楽ではなく、連続制止画像であることである。ここで、連続静止画像とは、1つのバッファリングデータには1つまたは複数の静止画像のデータが含まれるようになっているストリーミングデータをいう。本実施形態においては、1つのバッファリングデータには1つの静止画像のデータが含まれている。
また、本実施形態においては、符号化サーバは2つではなく3つあり、それぞれが順番にバッファリングデータとしての1つの静止画像に対してバッファリング、符号化、UDPパケット化、送信等の処理を行う。
図15に、このような3つの符号化サーバのUDPパケットの送信タイミングを示す。図中下向きが時間の流れの向きであり、各実線81、82、83が、それぞれ第1、第2、第3の符号化サーバのUDPパケットの送信タイミングを示している。また、各実線上の黒丸が、1つのバッファリングデータについてのUDPパケットの送信開始および送信終了のタイミングを示している。
例えば黒丸84のタイミングでは、第1の符号化サーバが1のIDのバッファリングデータを元とするUDPパケットの繰り返し送信を開始し、黒丸85のタイミングでは、当該UDPパケットの送信を終了する。また、黒丸86のタイミングでは、第2の符号化サーバが5のIDのバッファリングデータを元とするUDPパケットの繰り返し送信を開始し、黒丸87のタイミングでは、当該UDPパケットの送信を終了する。また、黒丸88のタイミングでは、第3の符号化サーバが3のIDのバッファリングデータを元とするUDPパケットの繰り返し送信を開始し、黒丸89のタイミングでは、当該UDPパケットの送信を終了する。なお、本実施形態では、IDの組として、1、2、・・・、9が循環的に用いられる。
ここで、1つのバッファリングデータについてのUDPパケットの送信が開始されてから、同じ符号化サーバにおいて別のバッファリングデータについてのUDPパケットの送信が開始されるまでの時間Tlは、データの受信、復号、再生等の処理が低速なストリーミングデータ受信装置11が当該バッファリングデータの受信・復号にかかる最長時間となるように、符号化サーバの処理速度、送信タイミング等を設定する。なお、この最長時間とは、ストリーミングデータ受信装置11が故障している場合等における受信・復号にかかる時間を含めた中での最長時間をいうのではなく、ストリーミングデータ受信装置11の正常動作において受信・復号にかかる時間のゆれ幅の中の最長時間をいう。
このようにすることで、低速なストリーミングデータ受信装置11でも、少なくとも3枚に1枚の静止画像を再生することができる。なお、低速なクライアントの作動については後述する。
また、1つのバッファリングデータについてのUDPパケットの送信が開始されてから、次のIDのバッファリングデータについてのUDPパケットが他の符号化サーバから送信が開始されるまでの時間Thは、データの受信、復号、再生等の処理が高速なストリーミングデータ受信装置11が当該バッファリングデータの受信・復号にかかる最長時間となるように、符号化サーバの処理速度、送信タイミング等を設定する。このようにすることで、高速なストリーミングデータ受信装置11は、全ての静止画像を再生することができる。なお、高速なストリーミングデータ受信装置11としては、第1実施形態に示したような、複数の個別復元プログラムを並列で実行する復号クライアント14を有するストリーミングデータ受信装置11が考えられる。
ただし、このUDPパケットの送信路である無線LANアクセスポイント4〜6は、これら同時期に送信されているUDPパケットを、時分割による細かい送信タイミングの割り振りで無線セル7〜9に送出する。図16に、時分割による実際の無線LANアクセスポイント4〜6におけるUDPパケットの送出タイミングを示す。
図16においては、図中下向きが時間の向きを示している。中央の縦に繋がった矩形91〜102のぞれぞれは、図15におけるThの期間を示している。そして、それぞれの矩形91〜102に対応づけられた番号付き矩形は、その期間における時分割の時間スロットであり、その矩形に付された番号は、その時間スロットにおいて送信されるUDPパケットに含まれるIDの値である。
例えば、矩形91の期間は、図15において第1の符号化サーバからIDが1のUDPパケットのみが送信される期間に対応しているので、無線LANアクセスポイント4〜6において全ての時間スロットでIDが1のUDPパケットが送出される。
また、矩形92の期間は、図15において第1の符号化サーバからIDが1のUDPパケットが送信され、第2の符号化サーバからIDが2のUDPパケットが送信される期間に対応しているので、時間スロットの半分でIDが1のUDPパケットが送出され、残りの半分でIDが2のUDPパケットが送出される。
また、矩形93の期間は、図15において第1の符号化サーバからIDが1のUDPパケットが送信され、第2の符号化サーバからIDが2のUDPパケットが送信され、第3の符号化サーバからIDが3のUDPパケットが送信される期間に対応しているので、時間スロットの1/3でIDが1のUDPパケットが送出され、同じく1/3でIDが2のUDPパケットが送出され、また同じく1/3でIDが3のUDPパケットが送出される。また、送出順は図16のようにIDの順になっていてもよい。
このように、同時期に複数のIDについてのUDPパケットが無線LANアクセスポイント4〜6送出される場合、それぞれを同じ頻度で時分割送出する。
次に、上記した低速なストリーミングデータ受信装置11の例として、復号クライアント14においてCPU42が実行する個別復元プログラムの同時実行数が1であるような復号クライアント14の作動について説明する。この低速の復号クライアント14が第1実施形態の復号クライアント14と異なるのは、上記した通り、CPU42が実行する個別復元プログラムの同時実行数が1であること、そして受信プログラム805が図15のフローチャートに示すようなものであることである。以下、図15のフローチャートを実行するCPU42の作動について説明する。
なお、図15と図10において同一の符号が付されたステップは、図10の場合には複数の個別復元プログラムに対する処理であり、図15においては1つの個別復元プログラムに対する処理であることを除き、互いに同一の処理を行うものであり、ここではその詳細についての説明は省略する。
ステップ920Frが“false”であると判定した場合、すなわち個別復元プログラムの復号の処理が行われていない場合、続いてステップ525の処理を実行する。ステップ525では、UDPパケットを無線LANインターフェース41を介してm個受信する。ここでm個とは、最新のUDPパケットがどのIDのパケットであるかを調べるために受信するサンプル数であり、複数のIDのUDPパケットの同時送信数(本実施形態では3)以上の値である。
次にステップ530で、受信したUDPパケットの中で最も新しいIDを有するものについて、復号予約の処理を行う。これにより、当該IDが割り当てられた個別復元プログラムの実行が開始され、その実行により、受信プログラム805から渡された当該IDを有するUDPパケットが必要量に達したときに、復号、復元等の処理を行う。
次にステップ535で、変数Frを“true”に設定する。
ステップ920で変数Frが“true”の場合、およびステップ535の次に、ステップ545では、イベント発生のデータを個別復元プログラムから渡されているかを確認する。具体的には、前回のステップ920〜960のループにおけるステップ545の処理の後に個別復元プログラムから受けたタイムアウトイベント、復号完了イベントの有無を確認する。
復号完了イベントを受けている場合は、続いてステップ960で、変数Frの値を“false”とする。
タイムアウトイベントを受けている場合は、図10の場合と同様、復号処理をリセットし、変数Frを“false”にセットする。
また、復号完了イベントもタイムアウトイベントも受けていない場合、およびステップ960に続いては、ループの最初であるステップ910の処理を実行する。
このような本実施形態の受信プログラム805の処理を実行することで、CPU42は、復号が完了した場合、および復号がタイムアウトとなった場合、ステップ960でFrを“false”とすることで、再度ステップ525〜535で、現在受信できるものから最も新しいUDPパケットについて復号、復元の処理を行うことができる。
なお、受信プログラム805の処理として、CPU42は、この図15のフローチャートに記載された処理と並行して、符号化サーバ2からUDPパケットを受信し、その受信したUDPパケットのIDを特定し、そのIDが現在個別復元プログラムに割り当てられたものなら、個別復元プログラムにそのUDPパケットを渡すようになっている。このようになっていることで、個別復元プログラムは、自己に割り当てられたIDのUDPパケットを受けて復元処理に用いることができる。
図16に、このような、復号が完了またはタイムアウトした場合に次の最も新しいUDPパケットの復号を始める低速なストリーミングデータ受信装置11が、図15、図16に示すような送信を行う符号化サーバからの復元するUDPパケットの順番の一例を示す。図16中の各丸印が1つのIDに対応する。この図の例においては、低速なストリーミングデータ受信装置11は、1、4、7と、2つ飛ばしでバッファリングデータを受信して復号、復元することになる。従って、再生される静止画像は、2画像飛ばしとなる。
なお、上記した各実施形態において、符号化サーバ2(第2実施形態においては符号化サーバ#1および#2)、無線LANアクセスポイント4〜6がストリーミングデータ送信装置を構成する。しかし、無線LANアクセスポイント4〜6は必ずしもストリーミングデータ送信装置の構成要素となる必要はなく、符号化サーバ2のみがストリーミングデータ送信装置を構成しているような実施形態があってもよい。
また、符号化サーバ2のCPU22が、図2のステップ220、230の処理を実行することで、処理手段として機能する。
また、UDPパケットが、FEC化データに相当する。ただし、FEC化データとしては、UDPパケットである必要はなく。FEC処理が実行された後のデータであればどのようなものでもよい。
また、符号化サーバ2(第2実施形態においては符号化サーバ#1および#2)の送信インターフェース25および無線LANアクセスポイント4〜6が送信手段に相当する。
また、復号クライアント14の無線LANインターフェース41が受信手段に相当する。
また、復号クライアント14のCPU42が、受信プログラム805、個別復元プログラム810、820、およびバッファリングプログラム830を実行することで、復元手段として機能する。
また、復号クライアント14のCPU42が、ストリーム再生プログラム840を実行することで、再生制御手段として機能する。
また、復号クライアント14のCPU42が、個別復元プログラム810、820のそれぞれを実行することで、それぞれの個別復元手段として機能する。
また、上記した実施形態においては、復号クライアント14とプレーヤ15とが別体となっているが、復号クライアント14とプレーヤ15とが一体となっており、復号クライアント14およびプレーヤ15の処理が同一のCPUにおいて実現されるようになっていてもよい。
また、復号クライアント14のRAM43が、特許請求の範囲の「共通の記憶媒体」に相当する。
本発明の第1実施形態に係る情報配信システムの構成図である。 ストリーミングサーバ1、符号化サーバ2、ストリーミングデータ受信装置11等の構成図である。 このような情報配信システム100におけるデータの流れを示す図である。 CPU22のステップ220および230の処理を説明する図である。 UDPパケットに付与されるIDの更新順の一例を示す図である。 IDの組と、ストリーミングデータの内容のカテゴリとの対応を示す図表である。 ストリーミングサーバ1からストリーミングデータを受信してUDPパケットを送信する符号化サーバ2の処理のタイミングを示すタイミングチャートである。 復号クライアント14のCPU42が実行するプログラムの構成を示す図である。 符号化パケット抽出プログラム812、復号・データ復元プログラム813の処理を説明する図である。 受信プログラム805の処理を示すフローチャートである。 受信したUDPパケットのIDが新規に受信すべきIDであるか否かの判定について説明する図である。 ストリーミングサーバ1からストリーミングデータを受信してUDPパケットを送信する2つの符号化サーバ#1、符号化サーバ#2の処理のタイミングを示すタイミングチャートである。 符号化サーバが単独で処理を行う場合における、車両10の走行とUDPパケットの送信時間との関係を示す図である。 符号化サーバが複数ある場合の車両10の走行とUDPパケットの送信時間との関係を示す図である。 第3実施形態における3つの符号化サーバのUDPパケットの送信タイミングを示す図である。 時分割による実際の無線LANアクセスポイント4〜6におけるUDPパケットの送出タイミングを示す図である。 低速なストリーミングデータ受信装置11の受信プログラム805の処理を示すフローチャートである。 低速なストリーミングデータ受信装置11において受信、復号、復元するバッファリングデータのIDの順番の一例を示す図である。
符号の説明
1…ストリーミングサーバ、2…符号化サーバ、3…広域ネットワーク、
4〜6…無線LANアクセスポイント、7〜9…無線セル、10…車両、
11…ストリーミングデータ受信装置、12…カメラ、13…マイク、
14…復号クライアント、15…プレーヤ、21…受信インターフェース、
22…CPU、23…RAM、24…ROM、25…送信インターフェース、
41…無線LANインターフェース、42…CPU、43…RAM、44…ROM、
45…送信インターフェース、51…イーサネット(登録商標)回線、52…イーサネット(登録商標)回線、
100…情報配信システム、310…バッファリングデータ、
311〜318…分割データ、320〜335…符号化パケット、
340、350…UDPパケット、341、351…ID、
342、352…通し番号、805…受信プログラム、810…個別復元プログラム、
811…タイマ−プログラム、812…符号化パケット抽出プログラム、
813…復号・データ復元プログラム、820…個別復元プログラム、
821…タイマ−プログラム。

Claims (16)

  1. ストリーミングデータを複数送信単位分バッファリングする記憶媒体と、
    前記記憶媒体が前記バッファリングした複数送信単位分のバッファリングデータに対してFEC(Forward Error Correction)処理を施す処理手段と、
    前記処理手段が前記FEC処理を施した結果のFEC化データを、受信したFEC化データからバッファリングデータを復元するストリーミングデータ受信装置が受信できるよう、送信する送信手段と、を備えたストリーミングデータ送信装置。
  2. 前記送信手段は、無線によって前記FEC化データを送信し、その送信の伝送容量は、当該FEC化データの元となるストリーミングデータのデータレートより大きいことを特徴とする請求項1に記載のストリーミングデータ送信装置。
  3. 前記送信手段は、それぞれ異なるバッファリングデータを元とする複数のFEC化データを同時に送信することを特徴とする請求項1または2に記載のストリーミングデータ送信装置。
  4. 前記送信手段は、前記ストリーミングデータ受信装置を搭載した車両の走行路に沿った複数の無線セルを構成し、この複数の無線セルから同じFEC化データを同時に送信し、
    車両が前記複数の無線セルのうち1つの無線セルを出てから隣の無線セルに入るまでの期間が、1つのバッファリングデータを元とするFEC化データを送信し続ける期間から、前記ストリーミングデータ受信装置が前記バッファリングデータを復元するための前記FEC化データの受信にかかる期間を減算した期間より短いことを特徴とする請求項1ないし3のいずれか1つに記載のストリーミングデータ送信装置。
  5. 前記ストリーミングデータは、動画または音楽のストリーミングデータであることを特徴とする請求項1ないし4のいずれか1つに記載のストリーミングデータ送信装置。
  6. 前記ストリーミングデータは、繰り返し撮影された静止画が連続するストリーミングデータであり、
    前記記憶媒体は、前記ストリーミングデータを前記静止画の所定枚数分バッファリングすることを特徴とする請求項1ないし5のいずれか1つに記載のストリーミングデータ送信装置。
  7. 前記処理手段は、前記FEC化データに、バッファリングされる順に循環的にバッファリングデータに割り当てられる循環識別符号のうち、当該FEC化データの元となるバッファリングデータに割り当てられた循環識別符号を付与し、
    前記送信手段は、前記循環識別符号が付与されたFEC化データを送信することを特徴とする請求項1ないし6のいずれか1つに記載のストリーミングデータ送信装置。
  8. 前記循環識別符号は、複数回進むと元の符号に戻るような循環識別符号であり、この複数回は、前記送信手段が同時送信するFEC化データの元となるバッファリングデータの数の2倍よりも多い回数であることを特徴とする請求項7に記載のストリーミングデータ送信装置。
  9. 前記バッファリングデータに循環的に割り当てられる循環識別符号の組は、当該FEC化データの元となるストリーミングデータの種類毎に異なることを特徴とする請求項7または8に記載のストリーミングデータ送信装置。
  10. 請求項1ないし9のいずれか1つに記載のストリーミングデータ送信装置から送信されたFEC化データを受信する受信手段と、
    前記受信手段が受信したFEC化データから前記FEC化データの元となるバッファリングデータを復元する復元手段と、
    前記復元手段が復元したバッファリングデータのデータレートに基づいて、前記バッファリングデータから成るストリーミングデータを再生するための処理を行う再生制御手段と、を備えたストリーミングデータ受信装置。
  11. 前記受信手段は請求項7ないし9のいずれか1つの記載のストリーミングデータ送信装置から送信されたFEC化データを受信し、
    前記復元手段は、前記FEC化データに付与された循環識別符号に基づいて、前記受信したFEC化データから前記FEC化データの元となるバッファリングデータを復元することを特徴とする請求項10に記載のストリーミングデータ受信装置。
  12. 前記復元手段は、並列的に複数の異なるバッファリングデータを復元するため、1度に1つのバッファリングデータを復元する個別復元手段を複数有し、
    前記受信した前記FEC化データに付与された循環識別符号に基づいて、当該FEC化データを前記個別復元手段のいずれか1つに復元させることを特徴とする請求項11に記載のストリーミングデータ受信装置。
  13. 前記個別復元手段は、復元したバッファリングデータを共通の記憶媒体に記憶させ、
    前記再生制御手段は、前記共通の記憶媒体に記憶されたバッファリングデータに記述された時間情報に基づいて、前記バッファリングデータから成るストリーミングデータを再生するための処理を行うことを特徴とする請求項12に記載のストリーミングデータ受信装置。
  14. 前記復元手段は、前記個別復元手段をM個有しており、前記個別復元手段のそれぞれが復元しているバッファリングデータに割り当てられた循環識別符号が、それぞれ循環識別符号Xないし循環識別符号XからM−1個先の循環識別符号であるとき、前記循環識別符号XからM個以上先であり、かつ前記循環識別符号XからM個前よりも前である識別符号が付与されたFEC化データを前記受信手段が受信したとき、前記循環識別符号Xが割り当てられたバッファリングデータの復元を行う個別復元手段の処理をキャンセルさせることを特徴とする請求項12または13に記載のストリーミングデータ受信装置。
  15. 前記復元手段は、1度に1つのバッファリングデータを復元し、前記受信手段が受信したFEC化データに付与されている循環識別符号のうち、最も先の循環識別符号が割り当てられたバッファリングデータを復元することを特徴とする請求項10に記載のストリーミングデータ受信装置。
  16. 前記復元手段は、前記個別復元手段のバッファリングデータの復元を開始してから規定時間経過しても当該バッファリングデータの復元を完了しないとき、当該バッファリングデータを有するストリーミングデータの復元をリセットし、
    前記規定時間は、前記ストリーミングデータ送信装置において用いられる循環識別符号が一巡する時間から余裕時間を減算した時間であり、
    前記余裕時間は、前記ストリーミングデータ送信装置において1つのIDが用いられてから次のIDが用いられるまでの時間の平均値に、前記個別復号手段の数の2倍を乗算したものであることを特徴とする請求項12ないし14のいずれか1つに記載のストリーミングデータ受信装置。
JP2004026975A 2004-02-03 2004-02-03 ストリーミングデータ送信装置、および情報配信システム Expired - Fee Related JP4321284B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004026975A JP4321284B2 (ja) 2004-02-03 2004-02-03 ストリーミングデータ送信装置、および情報配信システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004026975A JP4321284B2 (ja) 2004-02-03 2004-02-03 ストリーミングデータ送信装置、および情報配信システム

Publications (2)

Publication Number Publication Date
JP2005223433A true JP2005223433A (ja) 2005-08-18
JP4321284B2 JP4321284B2 (ja) 2009-08-26

Family

ID=34998760

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004026975A Expired - Fee Related JP4321284B2 (ja) 2004-02-03 2004-02-03 ストリーミングデータ送信装置、および情報配信システム

Country Status (1)

Country Link
JP (1) JP4321284B2 (ja)

Cited By (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009060513A (ja) * 2007-09-03 2009-03-19 Toshiba Corp Fec送信処理装置、ならびにfec送信処理のための方法およびプログラム
JP2009527151A (ja) * 2006-02-13 2009-07-23 デジタル ファウンテン, インコーポレイテッド 可変fecオーバヘッド及び保護期間を利用したストリーミング及びバッファリング
JP2010200252A (ja) * 2009-02-27 2010-09-09 Toshiba Corp データを送信する装置、方法およびプログラム
WO2011039874A1 (ja) * 2009-09-30 2011-04-07 富士通株式会社 データ送信装置、データ生成プログラムおよびデータ送受信方法
USRE43741E1 (en) 2002-10-05 2012-10-16 Qualcomm Incorporated Systematic encoding and decoding of chain reaction codes
JP2013042487A (ja) * 2007-04-16 2013-02-28 Digital Fountain Inc 動的ストリームインターリービングおよびサブストリームベースの配信
US8806050B2 (en) 2010-08-10 2014-08-12 Qualcomm Incorporated Manifest file updates for network streaming of coded multimedia data
US8887020B2 (en) 2003-10-06 2014-11-11 Digital Fountain, Inc. Error-correcting multi-stage code generator and decoder for communication systems having single transmitters or multiple transmitters
US8958375B2 (en) 2011-02-11 2015-02-17 Qualcomm Incorporated Framing for an improved radio link protocol including FEC
US9136878B2 (en) 2004-05-07 2015-09-15 Digital Fountain, Inc. File download and streaming system
US9191151B2 (en) 2006-06-09 2015-11-17 Qualcomm Incorporated Enhanced block-request streaming using cooperative parallel HTTP and forward error correction
US9236976B2 (en) 2001-12-21 2016-01-12 Digital Fountain, Inc. Multi stage code generator and decoder for communication systems
US9237101B2 (en) 2007-09-12 2016-01-12 Digital Fountain, Inc. Generating and communicating source identification information to enable reliable communications
US9240810B2 (en) 2002-06-11 2016-01-19 Digital Fountain, Inc. Systems and processes for decoding chain reaction codes through inactivation
US9246633B2 (en) 1998-09-23 2016-01-26 Digital Fountain, Inc. Information additive code generator and decoder for communication systems
US9253233B2 (en) 2011-08-31 2016-02-02 Qualcomm Incorporated Switch signaling methods providing improved switching between representations for adaptive HTTP streaming
US9264069B2 (en) 2006-05-10 2016-02-16 Digital Fountain, Inc. Code generator and decoder for communications systems operating using hybrid codes to allow for multiple efficient uses of the communications systems
US9270414B2 (en) 2006-02-21 2016-02-23 Digital Fountain, Inc. Multiple-field based code generator and decoder for communications systems
US9270299B2 (en) 2011-02-11 2016-02-23 Qualcomm Incorporated Encoding and decoding using elastic codes with flexible source block mapping
US9281847B2 (en) 2009-02-27 2016-03-08 Qualcomm Incorporated Mobile reception of digital video broadcasting—terrestrial services
US9288010B2 (en) 2009-08-19 2016-03-15 Qualcomm Incorporated Universal file delivery methods for providing unequal error protection and bundled file delivery services
US9294226B2 (en) 2012-03-26 2016-03-22 Qualcomm Incorporated Universal object delivery and template-based file delivery
US9380096B2 (en) 2006-06-09 2016-06-28 Qualcomm Incorporated Enhanced block-request streaming system for handling low-latency streaming
US9386064B2 (en) 2006-06-09 2016-07-05 Qualcomm Incorporated Enhanced block-request streaming using URL templates and construction rules
US9419749B2 (en) 2009-08-19 2016-08-16 Qualcomm Incorporated Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes
US9432433B2 (en) 2006-06-09 2016-08-30 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
US9602802B2 (en) 2010-07-21 2017-03-21 Qualcomm Incorporated Providing frame packing type information for video coding
US9843844B2 (en) 2011-10-05 2017-12-12 Qualcomm Incorporated Network streaming of media data
US9917874B2 (en) 2009-09-22 2018-03-13 Qualcomm Incorporated Enhanced block-request streaming using block partitioning or request controls for improved client-side handling

Cited By (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9246633B2 (en) 1998-09-23 2016-01-26 Digital Fountain, Inc. Information additive code generator and decoder for communication systems
US9236976B2 (en) 2001-12-21 2016-01-12 Digital Fountain, Inc. Multi stage code generator and decoder for communication systems
US9240810B2 (en) 2002-06-11 2016-01-19 Digital Fountain, Inc. Systems and processes for decoding chain reaction codes through inactivation
US9236885B2 (en) 2002-10-05 2016-01-12 Digital Fountain, Inc. Systematic encoding and decoding of chain reaction codes
USRE43741E1 (en) 2002-10-05 2012-10-16 Qualcomm Incorporated Systematic encoding and decoding of chain reaction codes
US8887020B2 (en) 2003-10-06 2014-11-11 Digital Fountain, Inc. Error-correcting multi-stage code generator and decoder for communication systems having single transmitters or multiple transmitters
US9236887B2 (en) 2004-05-07 2016-01-12 Digital Fountain, Inc. File download and streaming system
US9136878B2 (en) 2004-05-07 2015-09-15 Digital Fountain, Inc. File download and streaming system
JP2009527151A (ja) * 2006-02-13 2009-07-23 デジタル ファウンテン, インコーポレイテッド 可変fecオーバヘッド及び保護期間を利用したストリーミング及びバッファリング
US9136983B2 (en) 2006-02-13 2015-09-15 Digital Fountain, Inc. Streaming and buffering using variable FEC overhead and protection periods
US9270414B2 (en) 2006-02-21 2016-02-23 Digital Fountain, Inc. Multiple-field based code generator and decoder for communications systems
US9264069B2 (en) 2006-05-10 2016-02-16 Digital Fountain, Inc. Code generator and decoder for communications systems operating using hybrid codes to allow for multiple efficient uses of the communications systems
US9191151B2 (en) 2006-06-09 2015-11-17 Qualcomm Incorporated Enhanced block-request streaming using cooperative parallel HTTP and forward error correction
US9380096B2 (en) 2006-06-09 2016-06-28 Qualcomm Incorporated Enhanced block-request streaming system for handling low-latency streaming
US9178535B2 (en) 2006-06-09 2015-11-03 Digital Fountain, Inc. Dynamic stream interleaving and sub-stream based delivery
US9209934B2 (en) 2006-06-09 2015-12-08 Qualcomm Incorporated Enhanced block-request streaming using cooperative parallel HTTP and forward error correction
US9386064B2 (en) 2006-06-09 2016-07-05 Qualcomm Incorporated Enhanced block-request streaming using URL templates and construction rules
US11477253B2 (en) 2006-06-09 2022-10-18 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
US9432433B2 (en) 2006-06-09 2016-08-30 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
JP2013042487A (ja) * 2007-04-16 2013-02-28 Digital Fountain Inc 動的ストリームインターリービングおよびサブストリームベースの配信
US8266492B2 (en) 2007-09-03 2012-09-11 Kabushiki Kaisha Toshiba FEC transmission processing apparatus and method and program recording medium
JP2009060513A (ja) * 2007-09-03 2009-03-19 Toshiba Corp Fec送信処理装置、ならびにfec送信処理のための方法およびプログラム
US9237101B2 (en) 2007-09-12 2016-01-12 Digital Fountain, Inc. Generating and communicating source identification information to enable reliable communications
JP2010200252A (ja) * 2009-02-27 2010-09-09 Toshiba Corp データを送信する装置、方法およびプログラム
US9281847B2 (en) 2009-02-27 2016-03-08 Qualcomm Incorporated Mobile reception of digital video broadcasting—terrestrial services
US9419749B2 (en) 2009-08-19 2016-08-16 Qualcomm Incorporated Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes
US9660763B2 (en) 2009-08-19 2017-05-23 Qualcomm Incorporated Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes
US9288010B2 (en) 2009-08-19 2016-03-15 Qualcomm Incorporated Universal file delivery methods for providing unequal error protection and bundled file delivery services
US9876607B2 (en) 2009-08-19 2018-01-23 Qualcomm Incorporated Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes
US11770432B2 (en) 2009-09-22 2023-09-26 Qualcomm Incorporated Enhanced block-request streaming system for handling low-latency streaming
US11743317B2 (en) 2009-09-22 2023-08-29 Qualcomm Incorporated Enhanced block-request streaming using block partitioning or request controls for improved client-side handling
US10855736B2 (en) 2009-09-22 2020-12-01 Qualcomm Incorporated Enhanced block-request streaming using block partitioning or request controls for improved client-side handling
US9917874B2 (en) 2009-09-22 2018-03-13 Qualcomm Incorporated Enhanced block-request streaming using block partitioning or request controls for improved client-side handling
WO2011039874A1 (ja) * 2009-09-30 2011-04-07 富士通株式会社 データ送信装置、データ生成プログラムおよびデータ送受信方法
US8938019B2 (en) 2009-09-30 2015-01-20 Fujitsu Limited Data transmitting device and data transmitting/receiving method
JPWO2011039874A1 (ja) * 2009-09-30 2013-02-21 富士通株式会社 データ送信装置、データ生成プログラムおよびデータ送受信方法
US9602802B2 (en) 2010-07-21 2017-03-21 Qualcomm Incorporated Providing frame packing type information for video coding
US9319448B2 (en) 2010-08-10 2016-04-19 Qualcomm Incorporated Trick modes for network streaming of coded multimedia data
US9456015B2 (en) 2010-08-10 2016-09-27 Qualcomm Incorporated Representation groups for network streaming of coded multimedia data
US8806050B2 (en) 2010-08-10 2014-08-12 Qualcomm Incorporated Manifest file updates for network streaming of coded multimedia data
US8958375B2 (en) 2011-02-11 2015-02-17 Qualcomm Incorporated Framing for an improved radio link protocol including FEC
US9270299B2 (en) 2011-02-11 2016-02-23 Qualcomm Incorporated Encoding and decoding using elastic codes with flexible source block mapping
US9253233B2 (en) 2011-08-31 2016-02-02 Qualcomm Incorporated Switch signaling methods providing improved switching between representations for adaptive HTTP streaming
US9843844B2 (en) 2011-10-05 2017-12-12 Qualcomm Incorporated Network streaming of media data
US9294226B2 (en) 2012-03-26 2016-03-22 Qualcomm Incorporated Universal object delivery and template-based file delivery

Also Published As

Publication number Publication date
JP4321284B2 (ja) 2009-08-26

Similar Documents

Publication Publication Date Title
JP4321284B2 (ja) ストリーミングデータ送信装置、および情報配信システム
JP6523249B2 (ja) パケットヘッダを圧縮する方法及び装置
JP5141197B2 (ja) 符号化装置
JP5847577B2 (ja) より低いレベルのパケット構造から導かれる記号識別子を用いた放送チャネル上の高品質ストリーム保護
US9246630B2 (en) Method, device, and system for forward error correction
JP5442816B2 (ja) 可変fecオーバヘッド及び保護期間を利用したストリーミング及びバッファリング
EP2437421B1 (en) Method, device and communication system for retransmitting based on forward error correction
US20060291468A1 (en) Selective re-transmission of lost multi-media data packets
JPH11225161A (ja) データ処理方法およびデータ処理装置
WO2007040291A1 (en) System and method for controlling transmission of moving image data over network
JP4041137B2 (ja) 映像符号化・送信装置,映像符号化・送信方法,映像符号化・送信プログラムおよびその記録媒体
JP6535718B2 (ja) ストリーミングサービスを提供する方法及び装置
US8484540B2 (en) Data transmitting device, control method therefor, and program
JP2004282538A (ja) 送受信システム、送信装置および方法、受信装置および方法、記録媒体、並びにプログラム
CN109862400B (zh) 一种流媒体传输方法、装置及其系统
JP3927443B2 (ja) 動画像送受信システムおよび動画像送受信方法
JP5376855B2 (ja) データ送信装置及びデータ送信方法
Nazir et al. Unequal error protection for data partitioned H. 264/AVC video broadcasting
JP2007324876A (ja) データ送信装置、データ受信装置、データ送信方法、データ受信方法、及びプログラム
JP6511470B2 (ja) 通信システムにおけるパケット送受信方法及び装置
CN116320439A (zh) 基于rs编码的云游戏视频流弱网传输优化方法和系统
JP3722753B2 (ja) 無線パケット送受信装置及びその方法
CN114500672A (zh) 数据传输方法及系统
JP2010119009A (ja) コンテンツ配信システム、受信装置及び再生プログラム
JP3730977B2 (ja) データ伝送方法およびデータ処理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060316

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080509

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080520

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080714

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081111

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081223

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: 20090512

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090525

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: 20120612

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120612

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130612

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20140612

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees