(58)【調査した分野】(Int.Cl.,DB名)
前記第1の圧縮データパケットはロバストヘッダ圧縮(ROHC)パケットであり、前記初期化パケットはイニシャライゼーションアンドリフレッシュ(IR)パケットである、請求項1記載の方法。
前記第1の圧縮データパケットはリアルタイムトランスポートプロトコル(RTP)パケットであり、前記再形成されたコンテキスト情報は、タイムスタンプ、タイムスタンプストライド及びシーケンス番号の少なくとも1つを含む、請求項1記載の方法。
前記コンテキスト情報を再形成するステップは、前記初期化パケットに含まれているコンテキスト情報を再利用すること、およびコンテキスト情報を前記初期化パケットに含まれている前記コンテキスト情報から導出すること、の少なくとも一方を含む、請求項1記載の方法。
前記第1の圧縮データパケットの前に、それ以前の初期化パケットを受信するステップを含み、当該それ以前の初期化パケットはコンテキスト情報を含み、前記第1の圧縮データパケットを復元するための前記コンテキスト情報は、前記初期化パケットに含まれている前記コンテキスト情報と前記それ以前の初期化パケットに含まれている前記コンテキスト情報とから再形成される、請求項1記載の方法。
コンピュータプログラムを記憶したコンピュータ読取可能媒体であって、前記コンピュータプログラムは、コンピュータに、請求項1ないし8記載の方法のうちの1つを実行することによりデータパケットを復元させる、前記コンピュータ読取可能媒体。
前記第1の圧縮データパケットはロバストヘッダ圧縮(ROHC)パケットであり、前記初期化パケットはイニシャライゼーションアンドリフレッシュ(IR)パケットである、請求項10記載の装置。
前記第1の圧縮データパケットはリアルタイムトランスポートプロトコル(RTP)パケットであり、前記再形成されたコンテキスト情報は、タイムスタンプ、タイムスタンプストライド及びシーケンス番号の少なくとも1つを含む、請求項10記載の装置。
前記コンテキスト情報を再形成することは、前記初期化パケットに含まれているコンテキスト情報を再利用すること、および前記初期化パケットに含まれている前記コンテキスト情報からコンテキスト情報を導出すること、の少なくとも一方を含む、請求項10記載の装置。
前記受信する手段は、前記第1の圧縮データパケットの前に、それ以前の初期化パケットを受信し、当該それ以前の初期化パケットはコンテキスト情報を含み、前記第1の圧縮データパケットを復元するための前記コンテキスト情報は、前記初期化パケットに含まれている前記コンテキスト情報と前記それ以前の初期化パケットに含まれている前記コンテキスト情報とから再形成される、請求項10記載の装置。
【発明を実施するための形態】
【0013】
本発明の技術思想を除き、図面に示された要素は周知であり、詳細には説明しない。例えば、本発明の技術的思想を除き、パケットデータ通信(例えば、IP(インターネットプロトコル)、UDP(User Datagram Protocol)、RTP(Real−Time Transport Protocol)及びROHC(Robust Header Compression))並びに、例えば、ATSC−M/HもしくはDVB−H等の通信システムについては良く知られていると仮定し、これらを本明細書において説明することはしない。尚、本発明概念の態様は従来のプログラミング技術を用いて実装することができ、当該プログラミング技術そのものを本明細書において説明することはしない。また、異なる図面における同様の参照番号は同様の要素を示している。
【0014】
本発明の発明者は、バーストモードが通信における特有の課題を与えることを見出した。特に、本発明者はROHCを例えばRTPの基本プロトコルとともに使用すると、特定の現象が得られることを見出した。知られているように、ROHCは所与の(基本の)プロトコルに対しては拡張ヘッダを使用するし、基本プロトコル(例えば、RTP)に基づいてフォーマット化されたデータも含む。上記したように、ROHCはIRパケットを使用して、所定の制御情報を送信する。バーストモードにおいて、本発明者は、もしIRパケットが消失したり、エラーを含んでいたり、あるいはレシーバ側で利用不能であるならば、レシーバは通常、当該消失IRパケットに依存するデータパケットを捨ててしまうことに気付いた。
【0015】
例示的な実施形態において、後に受信されるIRパケットを使用して、消失したIRパケットの中の色々な情報片についての値を決定または推定することができる。例示的な実施形態において、データパケットを復号化するのに使用される情報だけが、決定または推定される。他の実施形態においては、IRパケット全体が決定または推定される。
【0016】
図1はROHCを採用する典型的なシステムの概略図である。RFC3095はROHCを記述すると共に種々の基本プロトコル(RTPその他を含む)への適用を記述する。
図1に示されているように、典型的なROHC方式は、ROHC適応のコンプレッサもしくはトランスミッタ110とROHC適応のデコンプレッサもしくはレシーバ120とを介して、クライアント102に接続されたデータパケットのソース101を含む。ソース101及びコンプレッサ110は通常、同じ位置に配置され、クライアント102及びデコンプレッサ120も同じ位置に配置されるが、そのような配置は必須ではない。コンプレッサ110及びデコンプレッサ120は任意の適切な有線リンク(単数または複数)もしくは無線リンク(単数または複数)によって繋がれる。
【0017】
送信されているデータに応じて、ROHCは3つのうちの1つのモードで動作することができる。すなわち、Uモード(Unidirectional Mode:ユニディレクショナルモード)、Oモード(Optimistic mode:オプティミスティックモード)またはRモード(Reliable Mode:リライアブルモード)である。Uモードの場合、フィードバックチャネルは無いと考える。Oモード及びRモードはフィードバックメカニズムを有し、よって、コンプレッサ110はデコンプレッサ120からのフィードバックに基づいて使用される圧縮レベルを変えることができる。
【0018】
ROHC動作は通常、IR(Initialization and Refresh)パケットの送信で開始する。IRパケットは圧縮されていないパケットであり、送信されるデータのプロファイルに関する完全なコンテキスト情報を含んでいる。Uモードの場合、パケットはコンプレッサ110からデコンプレッサ120へフィードバック無しで送信される。コンプレッサ110は、デコンプレッサ120がどの情報を受信しなかったのかを示すフィードバックを受け取らないので、ROHCのUモードはタイムアウトメカニズム(所定時間が経過すると圧縮モードを切り替えるメカニズム)を有し、コンプレッサ110が異なる(複数の)圧縮モードの間で切り替えられるようになっている。
【0019】
Uモード動作の場合(これは例えばATSC−M/H送信において使用することができるものである)、完全なコンテキストを含むIRパケットを周期的に送信することができる。このような動作が
図2に示されている。IRパケットはコンテキスト情報のスタティック部分及びダイナミック部分を非圧縮形式で含むか、またはスタティック部分のみを含む。関連するパケットタイプ(IR−DYNパケット)は、コンテキスト情報のダイナミック部分のみを含む。コンプレッサ110はこれら2つのタイプのIRパケットを一定間隔で交互に送信することができる。これは、Uモードにはフィードバックが無いので、特に有効である。IRパケット及びIR−DYNパケットのフォーマットは下記において詳述する。
【0020】
図2に示されているように、IRパケットIR1はパケットA、B及びCを復元するためのコンテキスト情報を含み、IRパケットIR2はパケットP、Q及びRを復元するためのコンテキスト情報を含む。
図2に示されている例示的な状況において、パケットIR1、A、B及びCは1つのタイムスライスとして一緒に送信され、パケットIR2、P、Q及びRは後のタイムスライスとして一緒に送信される。タイムスライス化処理は送信方法の1つであり、各送信が所定時間の間、データのバーストとして伝送されるものであり、ATSC−M/HまたはDVB−H等の一方向放送システムに広く採用されている。例示的な実施形態において、各タイムスライスは、1つのIRパケットと、当該IRパケットに含まれているコンテキスト情報が関連している複数のパケットとを含む。各タイムスライスはIRパケットでスタートする。タイムスライスは、本実施形態で説明されたパケット及びIRパケットとは異なる数のパケット及びIRパケットを有することもできる。
【0021】
デコンプレッサ120がタイムスライスのデータの送信の間にONになると、デコンプレッサ120は当該タイムスライスの幾つかのパケットを受信するが、当該パケットより前のIRパケットは受信しない。よって、デコンプレッサ120はそれらのパケットを復元するのに必要な関連IRパケット無しで当該パケットを受信することになる。そのような場面が
図3に示されている。
図3において、パケットA、B及びCは受信されるが、IRパケットIR1は受信されない。パケットA、B及びCに関連するIRパケットがデコンプレッサ120によって受信されなかったので、IRパケットに含まれているパケットA、B及びC復元用コンテキスト情報をデコンプレッサ120が使用することはできない。しかしながら、1つもしくは複数の後続のIRパケットを後続のスライスにおいて、後に受信することは出来る。
図3に示された状況では、パケットP、Q及びRの前のIRパケットIR2がデコンプレッサ120によって受信される。しかし上述したように、IRパケットは当該IRパケットの後に続くパケットのためのコンテキスト情報を含む。
【0022】
本発明の例示的な実施形態によれば、ROHCデコンプレッサはIRパケットに含まれているコンテキスト情報を使用して、当該IRパケットの前のパケットを復元する。
図3に示された場面では、デコンプレッサ120はIRパケットIR2に含まれているコンテキスト情報を使用してパケットA、B及びCを復元する(こうする以外に、これらパケットについてはコンテキスト情報が無い)。これは、連続するIRパケット(例えば、IR2及びIR1)が共通の情報を含むので、可能となる。さらに、前の消失IRパケットの情報の一部もしくは全部は、後続のIRパケットから再形成することができる。例えば、IRパケットIR2の中のRTPタイムスタンプ(TS:Timestamp)、タイムスタンプストライド(TS_Stirde)及びRTPシーケンスナンバ(SN:Sequence Number)を用いて、IRパケットIR1の中の対応する情報を再構成することができる。
【0023】
図4AはRTPのIRパケットのフォーマットを示し、
図4BはRTPのIR−DYNパケットのフォーマットを示している(
図4A及び
図4BはRFC3095から導出したものである)。IRパケットタイプはコンテキストのスタティック部分(つまり、一定SN関数の値)を送信する。また、必要であれば、コンテキストのダイナミック部分(つまり、一定でないSN関数のパラメータ)を送信することも可能である。さらに、必要であれば、元のパケットのペイロード(もし存在するならば)を送信することも可能である。IR−DYNパケットタイプはコンテキストのダイナミック部分(つまり、一定でないSN関数のパラメータ)を送信する。パケットの各フィールドには、各フィールドのオクテット数が括弧書きで示されている。
【0024】
図4A及び
図4Bに示されているように、各IRパケット及びIR−DYNパケットはコンテキスト識別子情報(Add−CID、CID)を含み、この情報により、異なるコンテキストを有する複数のパケットストリームが1つのチャネルを共有することができる。各パケットの第2のオクテットはパケットタイプ(IRまたはIR−DYN)を特定し、IRパケットの場合、bit Dであり、これはダイナミックチェーンフィールドが存在するかどうかを表す。
【0025】
図4A及び
図4Bに示されているように、各IRパケット及びIR−DYNパケットはヘッダ圧縮プロファイルオクテットを含む。このオクテットは、ある種類のパケットストリームのヘッダをある種類のリンクを介してどのように圧縮するのかを示す。圧縮プロファイルはROHCヘッダ圧縮フレームワークの詳細を示す。
【0026】
図4A及び
図4Bに示されているように、各IRパケットヘッダ及びIR−DYNパケットヘッダは、ヘッダの完全性をチェックするためのCRC(Cyclic Redundancy Check:巡回冗長検査)オクテットを含んでいる。
【0027】
例示的な実施形態において、
図4A及び
図4BのIRヘッダ情報はAdd−CID、パケットヘッダ、プロファイル及びCRCのフィールドを含んでいるが、消失したIRパケットのために再形成されることはない。なぜならこれらはデータパケットを復号化する際に使用されないからである。
【0028】
IRパケットヘッダにおいては、CRCオクテットの後にスタティックチェーンフィールドが存在しており、その後にダイナミックチェーンフィールドが存在することもある。IR−DYNパケットヘッダにおいては、CRCオクテットの後にダイナミックチェーンフィールドが存在する。IRパケットもしくはIR−DYNパケットのヘッダの後には、対応する元のパケットのペイロードが位置する(もし当該ペイロードがあれば)。
【0029】
スタティックチェーンフィールドはスタティックサブヘッダ情報のチェーン(一連のスタティックサブヘッダ情報)を含み、ダイナミックチェーンフィールドはダイナミックサブヘッダ情報のチェーン(一連のダイナミックサブヘッダ情報)を含む。どのようなダイナミック情報が存在するかは、スタティックチェーンフィールドから推測する。圧縮可能なサブヘッダはスタティック部分とダイナミック部分に分けられる。
【0030】
図5A〜
図5Cはインターネットプロトコルバージョン4(IPv4)、UDP(User Datagram Protocol)及びRTP(Real−time Transport Protocol)サブヘッダ用のROHCのIRパケットヘッダのスタティック部分とダイナミック部分をそれぞれ示している。(
図5A〜
図5CはRFC3095から導取したものである。)しかし後述するように、UDPヘッダ及びIPヘッダの内容は通常、RTPヘッダのコンテンツよりも頻繁に変化しない。
【0031】
図3に示されているようにパケットIR1が消失した場合、パケットA、B及びCに関連するスタティック情報及びダイナミック情報は消失する。しかしながら、後続のIRパケットIR2は受信され、当該パケットIR2は通常、消失したパケットIR1に含まれていたのと同じスタティック情報を含むと共に消失したパケットIR1に含まれていたダイナミック情報に幾らかの変更がなされたものを含む。よって、パケットIR2に含まれているスタティック情報及びダイナミック情報を再利用することにより、消失したパケットIR1に含まれていたスタティック情報及びダイナミック情報を再形成することができる。例示的な実施形態において、パケットIR2のスタティック情報はパケットIR1のスタティック情報として再利用され、パケットIR2のダイナミック情報及び/もしくはスタティック情報はパケットIR1のダイナミック情報を導出するために使用される。
【0032】
IPパケットヘッダ及びUDPパケットヘッダについては、再利用することができるスタティック情報は、ソースアドレス、ソースポート、行先アドレス及び行先ポートを含む。放送に適用した場合(これは例示的な実施形態に包含される)、ソースネットワークアドレス、ソースネットワークポート、行先ネットワークアドレス及び行先ネットワークポートは通常、頻繁に変わらない。
【0033】
同じことがIPv4ヘッダ(
図5A)のダイナミック部分についても言える。IPv4ヘッダは幾つかのネットワークパラメータ、例えば、有効期間(Time to Live(TTL))及びサービスのタイプ(Type of Service(TOS))等を含む。この情報は頻繁に変わらず、対応するIRパケットがないパケットに対して再利用することができる。
【0034】
例えば、
図5Cに示したようなIRパケットのRTPヘッダの場合、再形成されるべき別の情報がある。
図5Cに示されているように、RTPヘッダのスタティック部分はストリームのSSRC(Synchronization source identifier:同期ソース識別子)を含む。SSRCはストリームを識別し、1つのIRパケットと次のIRパケットとの間で変わらないと考えられる。よって、次に受信されるIRパケットからのSSRCは、消失したIRパケットからのSSRCと同じであると考えられる。このような情報は時間経過と共に大きく変わらないので、再利用することができる。
【0035】
RTPヘッダ(
図5C)のダイナミック部分においては、最初の2バイト(バージョン数V、RX、CC、M及びペイロードタイプPTを含む)は通常、1つのIRパケットと次のIRパケットとの間で変わらないと考えられる。よって、例示的な実施形態にあっては、前記次に受信されたIRパケットからのこれら2つのバイトは、消失したIRパケットからの対応する2つのバイトと同じであると考えられ、再利用することができる。
【0036】
IRパケットIR2のシーケンス番号(SN)を使用して、前のパケットのシーケンス番号を導出することができる。RTPの一部として、シーケンス番号は1つのパケットから次のパケットへ増加する(パケット毎に増加する)。消失したIRパケットのシーケンス番号は受信したIRパケットのシーケンス番号から判断することができる。例えば、「x」個のRTPデータパケットが消失したIRパケットと受信したIRパケットとの間にある場合、消失したIRパケットのシーケンス番号は受信したIRパケットのシーケンス番号から「x」+1を引くことによって得られる。従って、一例として、もし
図3に示されているパケットIR2が4というシーケンス番号を有しているなら、前のパケットA、B及びCのシーケンス番号はそれぞれ1、2及び3であるという演算をすることができる。
【0037】
図5Cに示されているように、RTPヘッダのダイナミック部分はタイムスタンプ(TS:Timestamp)フィールド、TS_Strideフィールド及びTime_Strideフィールドも含む。TS_Stride及びTime_Strideは、連続するRTPタイムスタンプと連続する絶対タイムスタンプ(ウォールクロック)との間の変化を提供する。より詳しくは、TS_Strideはレシーバに、前のIRパケットからみた場合のRTPタイムスタンプの予想変化を提示する。従って、消失IRパケットのRTPタイムスタンプは、受信したIRパケットのTS_Stride及びRTPタイムスタンプから決定することができる。さらに、TS_Stride及びTime_Strideは通常、1つのIRパケットと次のIRパケットとの間で変わっていないと考えられる。例えば、「x」個のデータRTPパケットが消失IRパケットと受信IRパケットの間にある場合、当該消失IRパケットのTimestampは受信IRパケットのRTPのTimestampから(x+1)×TS_Strideを引くことによって得られる。よって、一例として、もしIRパケットIR2のTimestamp値が100でありTS_Stride値が10の場合、前のパケットA、B及びCのTimestamp値はそれぞれ70、80及び90であると推論される。
【0038】
図5Cに示されているように、RTPヘッダのダイナミック部分はCRLリストフィールドも含んでいる。CRLリストは通常、1つのIRパケットと次のIRパケットの間で変わらないと考えられる。従って、消失IRパケットからのCRLリストは、次に受信したIRパケットからのCRLと同じであると考えられる。
【0039】
よって、後のIRパケットを使用することにより、必要な情報のほとんど(例えば、RTPパケットのペイロードタイプ(PT)、RTPバージョン(V)及びTimestamp(TS))を再形成することができ、それをコンテキスト情報を持っていないパケットに利用することができる。これにより、よりロバスト性の高いサービスを提供することができる。また、これにより、レシーバにとってはチューニングをより速く行うことができるようになる。なぜなら、パケットに関連するIRパケットの受信ができなくても、当該パケットからの情報を復号化することができるからである。
【0040】
例示的な実施形態においては、ROHCヘッダの特定のフィールドに関する信号送信要件があるために、リバースシーケンスでパケットA、B及びCを再構築する必要があり得る。例えば、RTPの場合、パケットCがまず再構築され、その後パケットB、そしてパケットAが再構築される。このようにするのは、SN(Sequence Number:シーケンス番号)情報及びTS(Timestamp:タイムスタンプ)情報をROHCヘッダで信号送信する方法に合わせるためである。増加するデータしか利用できないので、パケットはIRから逆方向(バックワード)に処理を行うことによって再構築される。
【0041】
例示的な実施形態では、ROHCパケットヘッダのCRC情報は、上述したように再形成されたヘッダ情報の妥当性をチェックするために使用することができる。UモードROHCの場合、例えば、各パケットのROHCヘッダはCRCを含む。別のIRパケット(例えばパケットIR2)に含まれている情報から再形成された情報を使って復元されたパケットA、B及びCのようなパケットについては、デコンプレッサは、パケットを復元して、復元パケットを受信されたパケットヘッダに含まれているCRCと比較した後、各パケットについてCRCを計算することによって前記再形成された情報の妥当性をテストすることができる。一致すれば、前記再形成されたデータが有効と判断され、当該パケットをクライアントに転送することができる。一致しなければ、そのパケットは廃棄される。
【0042】
RTP/UDP/IPパケットがROHCを用いて圧縮されている場合、レシーバはRTP/UDP/IPヘッダを復元し、CRCを適用して当該得られたヘッダを確認することができる。しかし、もしパケットが消失しているなら、再構成されたパケットに不確定な部分が含まれていることもある。従って、パケット消失の無い通常動作においては、パケットP0、P1、P2、P3、…がコンプレッサ110によってそれぞれROHCパケットR(P0)、R(P1)、R(P2)、R(P3)、…に圧縮され、デコンプレッサ120に送信され、デコンプレッサ120によって当該パケットがパケットP0、P1、P2、P3、…に復元される。しかし、例えば、R(P2)が消失している場合、P2を再構成することができず、R(P2)が異なる情報を含んでいたので、P3を不正確に再構成する可能性がある。
【0043】
簡単な構成の実施形態においてレシーバは、次のIRパケットが受信されるまで、単にパケットR(P3)、R(P4)、…を無視する。より複雑な実施形態においてレシーバはP3を再構成して、そのCRCを行う。もしCRCをパスすれば、レシーバは後続のパケットP4、P5、…を復号化し続け、そうでなければ、復号化を停止して次のIRパケットを待つ。さらに別の実施形態においてレシーバは、もしCRCをパスできなければ、パケットP3のコンテンツは変更され(例えば、消失パケットに基づいて推定される量だけSN及びTSを増加することによって)、CRCは変更されたコンテンツに基づいて再計算され、CRCが再び試みられる。パケットコンテンツを変更してCRCを再度行うという上記処理は、CRCをパスするまで繰り返されるか、または何らかの事象が起きるまで(例えば、所定時間が経過するまで)繰り返される。
【0044】
上記したようにパケットが逆の順序で再構築される場合、たとえ消失パケットがなくても、当該パケットが曖昧部分無しに生成できるかは保証されない。従って、好ましくは、CRCによるチェックを実施する。さらに、上述のパケットコンテンツの変更及びCRCの再チェックという処理を繰り返して行う場合もある。
【0045】
図6は上記した記載に基づく方法の例示的な実施形態のフローチャートを示している。
図6に示されているように、ステップ202において複数のパケットを含む1つのタイムスライス(例えば
図2及び
図3に示されているようなもの)がデコンプレッサによって受信される。デコンプレッサはタイムスライスを検査して、もしステップ204において当該タイムスライスにIRパケットが無いことが判明したならば(
図3の場合)、動作はステップ206へ進む。ステップ206において、現在のタイムスライスで受信されている圧縮パケットが、後に実行される復元のために保存される。この保存は、後続のタイムスライスが、パケットを復元するために使用できるコンテキスト情報を含むIRパケットと共に受信されているという予想のもとに行われる。その後、ステップ202に戻り、別のタイムスライスの受信を待つ。
【0046】
ステップ204において現在のタイムスライスがIRパケットと共に受信されたと判断されると(
図2に示された場合のように)、動作はステップ207へ進み、デコンプレッサは、復元を待っているステップ206で保存された以前のタイムスライスからの圧縮パケットがないかをチェックする。もしなければ、動作はステップ212に進み、現在のタイムスライスにおいて受信されたパケットヘッダが、現在のタイムスライスにおいて受信されたIRパケットに存在するコンテキスト情報に基づいて復元される。
【0047】
ステップ207において、復元を待っている古いタイムスライスからの圧縮パケットが保存されていると判断されたならば、動作はステップ208へ進み、現在のIRパケットの情報が抽出される。抽出された情報はステップ210において、関連IRパケットを持っていない保存パケットのためのスタティック情報及びダイナミック情報を再形成するために使用される。上記したように、コンテキスト情報を再形成するステップは、抽出したスタティック情報及び/もしくはダイナミック情報の一部もしくは全てを再利用し、且つ/または抽出したスタティック情報及び/もしくはダイナミック情報の一部もしくは全てからコンテキスト情報を導出することを含む場合がある。その後、動作はステップ212に進み、記憶されたパケットは上記した再形成されたコンテキスト情報に基づいて復元される。さらに、現在のタイムスライスにおいて受信されたパケットも、上記抽出された情報に基づいて復元される。その後、動作はステップ202に戻り、別のタイムスライスの受信を待つ。
【0048】
上記において、パケットがバースト形式またはタイムスライス形式で送信されるバーストモードの動作の例示的実施形態を説明してきたが、本発明の原理はパケットが連続するストリームで送信されるストリーミングモードの動作にも適用可能である。
【0049】
他の例示的な実施形態において、ROHCデコンプレッサは前に受信したコンテキストリッチなパケットを使用して、後に受信するパケット(このパケットについては、コンテキスト情報が受信されない)を復元する。例示的なROHCデコンプレッサは、コンテキスト情報を欠いているパケットを捨てる代わりに、前に受信したコンテキストリッチなパケット(例えばIRパケット)を使用して、後に受信したパケットに関するコンテキスト情報を再形成する。このように再形成されたコンテキスト情報は、受信したパケットを復元するために使用される。例示的な実施形態において、データパケットを復号化する際に使用される情報だけが、決定されまたは推定される。他の実施形態においては、IRパケット全体が決定されまたは推定される。
【0050】
さらに別の例示的な実施形態においては、ROHCデコンプレッサは前に受信したコンテキストリッチなパケットと後に受信したコンテキストリッチなパケットとを使用して、コンテキスト情報を受信していないパケットを復元する。例示的なROHCデコンプレッサは、コンテキスト情報を欠いているパケットを捨てる代わりに、IRパケット等のコンテキストリッチな複数のパケット(コンテキスト情報を受信していないパケットの前のパケットと後のパケット)の組み合わせを使用して、当該パケットに関連するコンテキスト情報を再形成する。例えば、RTPを適用している場合、消失IRパケットのSN及びTS等の情報は、前に受信したIRパケット(正しく受信されたIRパケット)及び後に受信したIRパケット(正しく受信されたIRパケット)の対応する値を補間することにより決定することができる。このように再形成されたコンテキスト情報が当該パケットを復元するために使用される。例示的な実施形態において、データパケットを復号化する際に使用される情報だけが決定されまたは推定される。別の実施形態においては、IRパケット全体が決定されまたは推定される。
【0051】
直近のIRパケット(例えば消失IRパケットのすぐ前のIRパケットまたはすぐ後のIRパケット)が当該消失IRパケットのコンテンツを再形成するための最も正確な情報を含んでいる可能性が最も高いと思われるが、離れたIRパケットからの情報を使用してもよい場合もある(特に、近くのIRパケットの情報の妥当性に疑問がある場合)。
【0052】
本発明に基づく種々の例示的な実施形態が可能である。例えば、例示的な実施形態において、ROHCシステム内において消失IRパケットの全てもしくは一部を、異なるIRパケットを使用して再形成する方法が提供される。他の例示的な実施形態において、消失IRパケットに基づくデータを処理する(例えば復号化する)方法が提供される。この処理は、再形成されたIRパケットを使用して行われる。他の例示的な実施形態においては、前記再形成を実行する処理装置及び/もしくは前記処理方法を実行する処理装置が提供される。他の例示的な実施形態においては、プリプロセッサ、エンコーダ、トランスミッタ、レシーバ、デコーダ、ポストプロセッサ、セットトップボックス、携帯電話、ラップトップコンピュータその他のパーソナルコンピュータ、PDAその他の家庭用(個人用)通信機器(上記した処理装置を含む)等の装置やデバイスが提供される。
【0053】
本発明による実施形態は色々な用途に適用できる。例えば、実施形態は、ビデオデータの符号化及び/もしくは他のタイプのデータの符号化に利用することができる。さらに、実施形態は規格として利用できるし、または、規格に用いられるものとして利用できる。そのような規格の1つはATSC−M/H規格であるが、他の規格(既存の規格または将来作られる規格)にも適用できる。もちろん、実施形態は規格に利用される必要はない。
【0054】
本明細書に記載された実施形態は例えば、方法、プロセス、装置、ソフトウエアプログラム、データストリームまたは信号において実装することができる。たとえ1つの実施形態でのみ説明されたとしても(例えば方法として説明されたとしても)、上記した特徴の実施は他の形態(例えば装置またはプログラム)においても実施することができる。装置は、適切なハードウエア、ソフトウエア及びファームウエアにおいて実施することができる。方法は例えば装置(例えば、コンピュータ、マイクロコンピュータ、集積回路またはプログラム可能論理デバイスを含めて一般的に処理装置と称されるプロセッサ)において実施することができる。プロセッサは、通信装置(例えば、コンピュータ、携帯電話、携帯用情報端末(portable digital assistant)/個人用情報端末(personal digital assistant)(PDA)及びエンドユーザ間の情報通信のための他の装置)を含む。
【0055】
本明細書に記載された種々のプロセス及び特徴は種々の異なる機器またはアプリケーション(たとえばデータ符号化及びデータ復号化に関連づけられた機器またはアプリケーション)において具体的に実施することができる。そのような機器の例は、エンコーダ、デコーダ、デコーダからの出力を処理するポストプロセッサ、エンコーダへの入力を提供するプリプロセッサ、ビデオコーダ、ビデオデコーダ、ビデオコーデック、ウエブサーバ、セットトップボックス、ラップトップコンピュータ、パーソナルコンピュータ、携帯電話、PDA及びその他の通信装置である。明確にする必要があるならば、上記機器は移動できるものでもよく、さらに移動車両に設けられるものでもよい。
【0056】
さらに、本発明の方法はコンピュータによって実行される命令として実装されてもよく、そのような命令(及び/または実行によって生成されるデータ値)は、例えば、集積回路、ソフトウエアキャリア、または、ハードディスク、コンパクトディスク、ランダムアクセスメモリ(RAM)もしくはリードオンリーメモリ(ROM)といった他の記憶装置等の、コンピュータ読取可能媒体に記憶されることもある。前記命令はコンピュータ読取可能媒体に実装されたアプリケーションプログラムとして実装されてもよい。命令は例えば、ハードウエア、ファームウエア、ソフトウエア、もしくはこれらの組み合わせにおいて実装される。命令は例えば、オペレーティングシステム、別個のアプリケーションもしくはこれらの組み合わせの中に見つけられるものであってもよい。従って、プロセッサは、例えば、方法を実施する装置と、方法を実施するための命令を保持するコンピュータ読取可能媒体(例えば記憶装置)を含む装置として特徴付けられる。さらに、コンピュータ読取可能媒体は命令に加えまたは命令の代わりに、実行によって生成されたデータ値を記憶することもできる。
【0057】
上記において複数の実施形態が説明された。しかしながら、種々の変形が可能である。例えば、異なる実施形態の要素を組み合わせたり、追加したり、変形したり、除去したりすることによって、別の実施形態を作ることもできる。また、当業者であれば、異なる構造及び異なる手順を上記した内容の代わりに採用できることが理解できるであろうし、その結果として得られる実施形態が少なくとも上記実施形態と実質上同じ機能(単数または複数)を実質上同じ方法(単数または複数)で発揮して実質上同じ結果(単数または複数)を得ることができることも理解できるであろう。よって、上記した実施形態及び上記されなかった実施形態は本開示に包含され、本開示の範囲に含まれる。
【0058】
上記の記載に鑑みれば、これまでの説明は単に本発明の原理を例示したにすぎず、当業者であれば多くの代替実施形態を考えることができるであろう。そのような代替実施形態は本明細書に明記されていないが、本発明の原理を具現化するものであって、本発明の範囲内のものである。例えば、別個の機能的要素として説明されていないが、当該機能的要素は1つもしくは複数の集積回路(IC)に実装することができる。同様に、別個の要素として図示されているが、当該要素の幾つかもしくは全ては、記憶されたプログラムにより制御されるプロセッサ(例えばデジタル信号プロセッサまたは汎用プロセッサ)に実装されてもよい。当該プロセッサは例えば1つもしくは複数のステップに対応する関連ソフトウエアを実行するプロセッサであり、当該ソフトウエアは種々の適切な記憶媒体のいずれかに実装されたものでよい。さらに、本発明の原理は種々のタイプのワイヤレス通信システム、例えば、地上放送、衛星放送、Wi−Fi通信、携帯通信その他に適用することができる。つまり、本発明の技術思想は固定式のトランスミッタ及びレシーバ、または移動式のトランスミッタ及びレシーバにも適用可能である。従って、多くの変形を上記実施形態になすことができ、その他の構成も本発明の精神及び範囲から離れることなく実施することができる。
本発明は以下の態様を含む。
(付記1)
レシーバにおいてデータパケットを復元する方法であって、
第1の圧縮データパケットを受信するステップ(202)と、
前記第1の圧縮データパケットの後に、コンテキスト情報を含む初期化パケットを受信するステップ(204)と、
前記初期化パケットに含まれている前記コンテキスト情報から前記第1の圧縮データパケットを復元するためのコンテキスト情報を再形成するステップ(210)と、
前記再形成されたコンテキスト情報を使用して前記第1の圧縮データパケットを復元するステップ(212)と、
を含む、前記方法。
(付記2)
前記初期化パケットの後に、第2の圧縮データパケットを受信するステップ(202)と、
前記初期化パケットに含まれている前記コンテキスト情報を使用して、前記第2の圧縮データパケットを復元するステップ(212)と、
をさらに含む、付記1記載の方法。
(付記3)
前記第1の圧縮データパケットはロバストヘッダ圧縮(ROHC)パケットである、付記1記載の方法。
(付記4)
前記初期化パケットはイニシャライゼーションアンドリフレッシュ(IR)パケットである、付記3記載の方法。
(付記5)
前記第1の圧縮データパケットはリアルタイムトランスポートプロトコル(RTP)パケットである、付記1記載の方法。
(付記6)
前記再形成されたコンテキスト情報は、タイムスタンプ、タイムスタンプストライド及びシーケンス番号の少なくとも1つを含む、付記5記載の方法。
(付記7)
前記第1の圧縮データパケットは第1のデータバーストで受信され、前記初期化パケットは第2のデータバーストで受信される、付記1記載の方法。
(付記8)
前記コンテキスト情報を再形成するステップは、前記初期化パケットに含まれているコンテキスト情報を再利用すること、および前記初期化パケットに含まれている前記コンテキスト情報からコンテキスト情報を導出すること、の少なくとも一方を含む、付記1記載の方法。
(付記9)
前記復元された第1の圧縮データパケットのための巡回冗長コード(CRC)を決定するステップと、
前記決定された巡回冗長コードを、前記第1の圧縮データパケットに含まれている巡回冗長コードと比較するステップと、
を含む、付記1記載の方法。
(付記10)
前記第1の圧縮データパケットの前に、それ以前の初期化パケットを受信するステップを含み、当該それ以前の初期化パケットはコンテキスト情報を含み、前記第1の圧縮データパケットを復元するための前記コンテキスト情報は、前記初期化パケットに含まれているコンテキスト情報と前記それ以前の初期化パケットに含まれているコンテキスト情報とから再形成される、付記1記載の方法。
(付記11)
コンピュータプログラムを記憶したコンピュータ読取可能媒体であって、前記コンピュータプログラムは、コンピュータに、
第1の圧縮データパケットを受信するステップ(202)と、
前記第1の圧縮データパケットの後に、コンテキスト情報を含む初期化パケットを受信するステップ(204)と、
前記初期化パケットに含まれている前記コンテキスト情報から前記第1の圧縮データパケットを復元するためのコンテキスト情報を再形成するステップ(210)と、
前記再形成されたコンテキスト情報を使用して前記第1の圧縮データパケットを復元するステップ(212)と、
を実行することによりデータパケットを復元させる、前記コンピュータ読取可能媒体。
(付記12)
前記コンピュータが、
前記初期化パケットの後に、第2の圧縮データパケットを受信するステップ(202)と、
前記初期化パケットに含まれている前記コンテキスト情報を使用して、前記第2の圧縮データパケットを復元するステップ(212)と、
を実行する、付記11記載のコンピュータ読取可能媒体。
(付記13)
前記第1の圧縮データパケットはロバストヘッダ圧縮(ROHC)パケットである、付記11記載のコンピュータ読取可能媒体。
(付記14)
前記初期化パケットはイニシャライゼーションアンドリフレッシュ(IR)パケットである、付記13記載のコンピュータ読取可能媒体。
(付記15)
前記第1の圧縮データパケットはリアルタイムトランスポートプロトコル(RTP)パケットである、付記11記載のコンピュータ読取可能媒体。
(付記16)
前記再形成されたコンテキスト情報は、タイムスタンプ、タイムスタンプストライド及びシーケンス番号の少なくとも1つを含む、付記15記載のコンピュータ読取可能媒体。
(付記17)
前記第1の圧縮データパケットは第1のデータバーストで受信され、前記初期化パケットは第2のデータバーストで受信される、付記11記載のコンピュータ読取可能媒体。
(付記18)
前記コンテキスト情報を再形成するステップは、前記初期化パケットに含まれているコンテキスト情報を再利用すること、および前記初期化パケットに含まれている前記コンテキスト情報からコンテキスト情報を導出すること、の少なくとも一方を含む、付記11記載のコンピュータ読取可能媒体。
(付記19)
前記コンピュータが、
前記復元された第1の圧縮データパケットのための巡回冗長コード(CRC)を決定するステップと、
前記決定された巡回冗長コードを、前記第1の圧縮データパケットに含まれている巡回冗長コードと比較するステップと、
を実行する、付記11記載のコンピュータ読取可能媒体。
(付記20)
前記コンピュータは前記第1の圧縮データパケットの前に、それ以前の初期化パケットを受信するステップを実行し、当該それ以前の初期化パケットはコンテキスト情報を含み、前記第1の圧縮データパケットを復元するための前記コンテキスト情報は、前記初期化パケットに含まれているコンテキスト情報と前記それ以前の初期化パケットに含まれているコンテキスト情報とから再形成される、付記11記載のコンピュータ読取可能媒体。
(付記21)
圧縮データパケットを復元する装置であって、
第1の圧縮データパケット(A、B、C)を受信し、当該第1の圧縮データパケットの後に、コンテキスト情報を含む初期化パケット(IR2)を受信する手段(120)と、
前記初期化パケットに含まれている前記コンテキスト情報から前記第1の圧縮データパケットを復元するためのコンテキスト情報を再形成する手段と、
前記再形成されたコンテキスト情報を使用して前記第1の圧縮データパケットを復元する手段と、
を含む、前記装置。
(付記22)
前記受信する手段(120)は、前記初期化パケット(IR2)の後に、第2の圧縮データパケット(P、Q、R)を受信し、
前記復元する手段は、前記初期化パケットに含まれている前記コンテキスト情報を使用して、前記第2の圧縮データパケットを復元する、付記21記載の装置。
(付記23)
前記第1の圧縮データパケットはロバストヘッダ圧縮(ROHC)パケットである、付記21記載の装置。
(付記24)
前記初期化パケットはイニシャライゼーションアンドリフレッシュ(IR)パケットである、付記23記載の装置。
(付記25)
前記第1の圧縮データパケットはリアルタイムトランスポートプロトコル(RTP)パケットである、付記21記載の装置。
(付記26)
前記再形成されたコンテキスト情報は、タイムスタンプ、タイムスタンプストライド及びシーケンス番号の少なくとも1つを含む、付記25記載の装置。
(付記27)
前記第1の圧縮データパケットは第1のデータバーストで受信され、前記初期化パケットは第2のデータバーストで受信される、付記21記載の装置。
(付記28)
前記コンテキスト情報を再形成することは、前記初期化パケットに含まれているコンテキスト情報を再利用すること、および前記初期化パケットに含まれている前記コンテキスト情報からコンテキスト情報を導出すること、の少なくとも一方を含む、付記21記載の装置。
(付記29)
前記復元された第1の圧縮データパケットのための巡回冗長コード(CRC)を決定する手段と、
前記決定された巡回冗長コードを、前記第1の圧縮データパケットに含まれている巡回冗長コードと比較する手段と、
を含む、付記21記載の装置。
(付記30)
前記受信する手段は、前記第1の圧縮データパケットの前に、それ以前の初期化パケットを受信し、当該それ以前の初期化パケットはコンテキスト情報を含み、前記第1の圧縮データパケットを復元するための前記コンテキスト情報は、前記初期化パケットに含まれているコンテキスト情報と前記それ以前の初期化パケットに含まれているコンテキスト情報とから再形成される、付記21記載の装置。