JP3556195B2 - ヘッダ圧縮方法及び装置並びにプログラム - Google Patents
ヘッダ圧縮方法及び装置並びにプログラム Download PDFInfo
- Publication number
- JP3556195B2 JP3556195B2 JP2001333112A JP2001333112A JP3556195B2 JP 3556195 B2 JP3556195 B2 JP 3556195B2 JP 2001333112 A JP2001333112 A JP 2001333112A JP 2001333112 A JP2001333112 A JP 2001333112A JP 3556195 B2 JP3556195 B2 JP 3556195B2
- Authority
- JP
- Japan
- Prior art keywords
- time stamp
- calculation information
- packet
- stamp calculation
- header compression
- 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
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
【発明の属する技術分野】
本発明は、ヘッダ圧縮方法及び装置並びにプログラムに関し、より特定的には、パケット単位で行われるデータ伝送において、送信側でパケットのヘッダ部を伝送データに応じて圧縮するヘッダ圧縮方法、及び当該方法を用いたヘッダ圧縮装置、並びに当該方法を実行するためのヘッダ圧縮プログラムに関する。
【0002】
【従来の技術】
現在、インターネット上でデータ伝送を行う代表的な伝送プロトコルとして、TCP(Transmission Control Protocol) /IP(Internet Protocol) やRTP(Realtime Transport Protocol) /UDP(User Datagram Protocol)/IP等がある。低〜中ビットレートの伝送路上でこれらの伝送プロトコルを利用してデータを伝送する場合、RTP、UDP又はIP等の各プロトコルで付加されるヘッダ部は、図8に示すように大きくなる。このため、ヘッダ部のサイズによる通信オーバーヘッドが問題となることがある。例えば、10バイトのデータをUDP/IPで送信する場合、ヘッダ部に28バイトを要するため、データ部を含むUDP/IPのトータルサイズは38バイトとなり、実際に送信するデータの4倍程度となる。従って、この場合には、伝送路の実効データ伝送速度が著しく低下してしまうこととなる。
【0003】
伝送ヘッダによるオーバーヘッドを低減させる手法として、IETF(Internet Engineering Task Force) で審議中の“Robust Header Compression(ROHC)”(draft−ietf−rohc−rtp−00.txt 29 June 2000) によるヘッダ圧縮方式がある。このヘッダ圧縮方式は、近年加入者が大幅に増加している携帯電話網(W−CDMA等)の携帯無線端末を対象とする図9に示すような無線通信網を想定したものであり、図9中の特に無線伝送区間部分に用いられる。
【0004】
ROHCによるヘッダ圧縮方式は、送信側(ヘッダ圧縮側)及び受信側(ヘッダ復元側)でのヘッダ圧縮/復元に用いる参照情報(例えば、タイムスタンプ算出情報)を共有化することによって、受信側でのヘッダ復元を正しく実行させる手法である。図10に示すように、送信側は、参照情報αを用いてヘッダH1を圧縮ヘッダH’1に圧縮し、受信側へ伝送する。受信側では、送信側と同一の参照情報αを用いて、圧縮ヘッダH’1をヘッダH1に復元する。
【0005】
送信側において参照情報αに基づくヘッダH1の圧縮が行われる場合、送信側から受信側へ送信される圧縮ヘッダH’1は、以下のように表される。
H’1 = H1*α …(1)
ここで、記号*は特定の演算手法を表現し、その演算手法は圧縮対象領域毎に異なる。例えば、UDPポート番号→不変、RTPシーケンス番号→通常1ずつ増加、RTPタイムスタンプ→50ずつ増加等である。参照情報αには、上記のように各領域の圧縮に必要な情報が含まれており、この参照情報αが受信側においても正しく保持されている場合には、受信側は元のヘッダH1を正しく復元することができる。
【0006】
ここで、送信側と受信側の双方において参照情報αを参照情報βへ変更させる方法を、図11及び図12を参照して説明する。
参照情報がαからβへ変更される場合、送信側は、参照情報βを用いてヘッダ圧縮を行ったパケット(H’3,H3)を、その参照情報βと共に受信側へ送信する(図11)。このとき、送信側は、受信側で正しく参照情報βの更新が行われるものとして、受信側から参照情報更新の確認パケットACKを受け取ることなく、参照情報βを用いてヘッダ圧縮を行ったパケットを順次送信する。一方、参照情報βが(伝送エラー等によって)正しく更新されなかったことにより、元のヘッダ(H3)を復元できない場合には、受信側は、送信側へNACKパケットを通知して参照情報βの再送信を要求する(図12)。
【0007】
図13に、ヘッダ部として使用される各種パケットのフォーマットを示す。
初期化パケット(図13(a))では、一連のパケット伝送の最初から最後まで変化しない情報(例えば、IPアドレスやUDPポート番号)が4バイトで送信される。このパケットに含まれる情報は、最初に送信されれば伝送中に再度送信する必要はない。
参照情報更新パケット(図13(b))では、参照情報等が3バイトで送信される。Yビット及びRTP−TSは、RTPで付加されるマーカービット及びタイムスタンプであり、Zビットを立てることによってその他の参照情報を送信することができる。Zビットが立った(「1」の)時に、参照情報更新パケットに付加される拡張部のフォーマットを図14に示す。Tビットは、シーケンスナンバー1つ当たりのタイムスタンプ増加量であるデルタタイムスタンプフィールドの有無を示す。Sビットは、IPヘッダのType Of Service フィールドの有無を示す。Lビットは、IPヘッダのTime To Liveフィールドの有無を示す。Pビットは、RTPヘッダのPayload Typeフィールドの有無を示す。Zビットをセットし、さらに必要なビット(T,S,L,P)を各々セットすることで、対応する情報(最小2バイト、最大5バイト)をヘッダに付加できる。
最小圧縮パケット(図13(c))では、シーケンスナンバーとCRCチェックサムとが1バイトで送信される。このシーケンスナンバーと参照情報更新パケットで送信される参照情報とから、圧縮前のパケットが復元される。CRCは、パケットが正しく復元されたかどうかのチェックに用いられる。
【0008】
以下、ヘッダ情報の1つであるタイムスタンプを圧縮するための具体的な参照情報の使用方法や更新方法を述べる。タイムスタンプの圧縮/復元に用いられる参照情報は、タイムスタンプ算出情報dTS(例えば、デルタタイムスタンプΔTS)であり、このタイムスタンプ算出情報dTSを送信側と受信側とで共通に所持させてタイムスタンプをそれぞれ圧縮/復元させる。
【0009】
送信側でタイムスタンプ算出情報dTSを利用して、シーケンスナンバーSNのタイムスタンプT(SN)のヘッダ圧縮を行ったとき、受信側でのタイムスタンプの復元は、次の式(2)に基づいて行われる。
T(SN)=dTS×x+T(SN−x) …(2)
ここで、SN−x(xは、正の整数)は、最近に受信したパケットのシーケンスナンバーであり、T(SN−x)は、そのタイムスタンプである。
上記式(2)のように算出することによって、圧縮されたヘッダにはタイムスタンプが不要となり、受信側でタイムスタンプ算出情報dTSを持っていれば、RTPシーケンスナンバーによってタイムスタンプを復元できる。つまり、送信側は、タイムスタンプ分だけヘッダを圧縮できることになる。
【0010】
送信側で更新されたタイムスタンプ算出情報dTSは、参照情報更新パケット(図13(b))を用いて受信側へ送信される。参照情報更新パケットのZビットを立てて、拡張部(図14)のデルタタイムスタンプフィールドに更新される情報dTSを格納することで、受信側に通知される。送信側と受信側とで共通のタイムスタンプ算出情報dTSを持っていれば、最小圧縮パケット(図13(c))によってシーケンスナンバーを送信するだけで、タイムスタンプを復元できる。
【0011】
なお、上記式(2)に基づくタイムスタンプの復元が受信側で可能なのは、送信側が受信側で保持するタイムスタンプ算出情報dTSに従ってヘッダ圧縮を実行した場合である。このため、dt(SN)=(T(SN)−T(SN−x))/xがdTSと異なる場合(タイムスタンプ算出情報を更新したような場合)には、送信側は、タイムスタンプを省略してヘッダを圧縮することができない。従って、この場合、参照情報更新パケットを用いてタイムスタンプが非圧縮のまま送信される。このとき、タイムスタンプ算出情報を送信するわけではないので、参照情報更新パケットのZビットを立てる必要はない。
【0012】
次に、従来のヘッダ圧縮方法を実行するヘッダ圧縮装置(送信側)の構成例を、図15に示す。図15のように、従来のヘッダ圧縮装置は、タイムスタンプ算出情報計算部101と、タイムスタンプ圧縮法判定部103と、タイムスタンプ算出情報管理部104と、タイムスタンプ非圧縮ヘッダ圧縮部105と、タイムスタンプ圧縮ヘッダ圧縮部106と、入力切換部108とを備える。
以下に、上記構成による従来のヘッダ圧縮装置の各構成の動作を説明する。
【0013】
タイムスタンプ算出情報計算部101は、伝送すべき圧縮前のヘッダ部のパケットを順に入力する。そして、タイムスタンプ算出情報計算部101は、タイムスタンプ算出情報として、圧縮処理対象とする現在のパケットi(iは、正の整数)のタイムスタンプと1つ前のパケット(i−1)のタイムスタンプとの差分、及びシーケンスナンバーの差分をそれぞれ計算し、シーケンスナンバー1つ当たりのタイムスタンプの増加量であるデルタタイムスタンプΔt(i)を求める。
タイムスタンプ算出情報管理部104は、タイムスタンプの圧縮に用いられる予め定められたタイムスタンプ算出情報、すなわちデルタタイムスタンプΔTSを管理する。
タイムスタンプ圧縮法判定部103は、計算されたデルタタイムスタンプΔt(i)と管理されているデルタタイムスタンプΔTSとを比較する。この比較の結果、双方のデルタタイムスタンプが同じ(Δt(i)=ΔTS)ならば、タイムスタンプ圧縮法判定部103は、タイムスタンプを圧縮すべきと判定し、パケットiがタイムスタンプ圧縮ヘッダ圧縮部106へ供給されるように、入力切換部108の切り換えを制御する。一方、双方のデルタタイムスタンプが異なる(Δt(i)≠ΔTS)ならば、タイムスタンプ圧縮法判定部103は、タイムスタンプを圧縮すべきでないと判定し、パケットiがタイムスタンプ非圧縮ヘッダ圧縮部105へ供給されるように、入力切換部108の切り換えを制御する。
【0014】
タイムスタンプ非圧縮ヘッダ圧縮部105は、タイムスタンプを圧縮せずに図13(b)に示す参照情報更新パケットのフォーマットに従って、パケットを圧縮する。
タイムスタンプ圧縮ヘッダ圧縮部106は、タイムスタンプを圧縮するパケットの圧縮を行う。つまり、図13(c)に示す最小圧縮パケットのフォーマットに従って、タイムスタンプを削除(=圧縮)してシーケンスナンバーだけのパケットにする。
入力切換部108は、タイムスタンプ圧縮法判定部103からの制御に従って、入力されるパケットiをタイムスタンプ非圧縮ヘッダ圧縮部105又はタイムスタンプ圧縮ヘッダ圧縮部106のいずれかへ出力する。
【0015】
さらに、この従来のヘッダ圧縮装置で行われるヘッダ圧縮方法の全体動作を、図16に示すフローチャートを用いて説明する。
まず、デルタタイムスタンプΔTSが登録(更新)される(ステップS161)。この値には、予め定められた値が用いられてもよいし、1番目のパケットと2番目のパケットとから計算した値が用いられてもよい。任意のパケットiが入力されると、デルタタイムスタンプΔt(i)が計算される(ステップS162)。次に、デルタタイムスタンプΔt(i)とデルタタイムスタンプΔTSとが比較される(ステップS163)。ここで、双方のデルタタイムスタンプが同じなら、タイムスタンプを省略(圧縮)した最小圧縮パケットによるヘッダ圧縮が行われる(ステップS164)。双方のデルタタイムスタンプが異なるなら、タイムスタンプを省略せずに送信できる参照情報更新パケットによるヘッダ圧縮が行われる(ステップS165)。そして、パケットを1つ処理すると新しいパケット入力を受け付け、デルタタイムスタンプの計算から繰り返し行われる(ステップS166,S167)。
【0016】
【発明が解決しようとする課題】
しかし、上述した従来のヘッダ圧縮方法では、デルタタイムスタンプが管理値から変化した場合、その度にタイムスタンプが非圧縮で送信される。このため、デルタタイムスタンプが変化した後もその変化状態が継続するような場合には、その継続中はタイムスタンプを非圧縮で送信し続けなければならず、ヘッダ圧縮の効率が悪化するという課題があった。
【0017】
この課題を、図17に示す例を用いて具体的に説明する。図17の例では、ある入力パケットヘッダのシーケンスナンバー及びタイムスタンプが、左欄に示されている。そして、その入力パケットヘッダに従来のヘッダ圧縮方法を適用させた場合の出力パケットヘッダのデルタタイムスタンプ、ヘッダフォーマット及びバイト数が、右欄に示されている。図17中のMINは、最小圧縮パケット(図13(c))を示し、REFは、参照情報更新パケット(図13(b))のZビットを立てずに拡張されないものを示す。また、デルタタイムスタンプは、予め「10」に登録されているものとしている。
【0018】
このとき、従来のヘッダ圧縮方法では、シーケンスナンバー13のパケットまでは、デルタタイムスタンプがそれぞれ「10」なので、1バイトの圧縮ヘッダであるMINによってシーケンスナンバーだけが送信される。しかし、シーケンスナンバー14から18までは、実際のデルタタイムスタンプが「10」ではない(「20」である)ので、3バイトの圧縮ヘッダであるREFによってシーケンスナンバーと共にタイムスタンプが送信される。さらに、シーケンスナンバー19以降では、デルタタイムスタンプが「10」に戻るので、また1バイトの圧縮ヘッダであるMINによってシーケンスナンバーだけが送信される。
従って、この方法では、登録されているデルタタイムスタンプと異なるデルタタイムスタンプを有するシーケンスナンバーについてのヘッダ圧縮の効率が悪化する。
【0019】
ここで、シーケンスナンバー14から18までデルタタイムスタンプ「20」が連続することが予め分かっていれば、図18に示すようなヘッダ圧縮処理が可能となる。すなわち、シーケンスナンバー14のパケットでは、3バイトのREFに加えてその拡張部(EXT)を2バイトを利用してデルタタイムスタンプ「20」を送信して、受信側のデルタタイムスタンプ自体を変更させる。その結果、シーケンスナンバー15から18までは、1バイトのMINを用いたヘッダ圧縮を行うことができる。そして、シーケンスナンバー19のパケットでは、再び5バイトのREF+EXTによって、受信側のデルタタイムスタンプを「10」に戻すことを行う。
従って、このような処理を行えば、シーケンスナンバー10から20のパケットのヘッダ送信に必要なバイト数は、上記図17の方法による21バイトに比べ、19バイトと少なくなる。しかし、この方法は、変化したデルタタイムスタンプがある程度連続しなければ、ヘッダ送信に必要となるバイト数がかえって多く必要となるため、やはりヘッダ圧縮の効率が悪化する。
【0020】
それ故に、本発明の目的は、現在のタイムスタンプ算出情報と過去のタイムスタンプ算出情報履歴との比較結果に基づいて、タイムスタンプ算出情報を動的に変更させることにより、ヘッダ圧縮の効率(データ伝送効率)を向上させたヘッダ圧縮方法及び装置並びにプログラムを提供することである。
【0021】
【課題を解決するための手段および発明の効果】
本発明は、上記課題を解決するために、以下のような特徴を備えている。
第1の発明は、同一のタイムスタンプ算出情報を用いて送信側でヘッダ圧縮を受信側でヘッダ復元を行うシステムにおいて、タイムスタンプを含むヘッダを伝送データに付加したパケットを所定のタイムスタンプ算出情報を用いて圧縮して送信するヘッダ圧縮方法であって、
圧縮対象となるパケットi(iは、正の整数)のタイムスタンプを算出するためのタイムスタンプ算出情報dt(i)を求めるステップと、
タイムスタンプ算出情報dt(i)を、すでに送信された過去のパケットのタイムスタンプ算出情報履歴として記憶するステップと、
ヘッダ圧縮に用いられるタイムスタンプ算出情報dTSを管理するステップと、
タイムスタンプ算出情報dTSとタイムスタンプ算出情報dt(i)とを比較し、双方が一致する場合に、タイムスタンプ算出情報dTSを用いてパケットiのタイムスタンプを圧縮したパケットを送信するステップと、
比較によって双方が一致しない場合に、タイムスタンプ算出情報dTSを更新せずに又はタイムスタンプ算出情報dTSをタイムスタンプ算出情報dt(i)に更新しその更新通知信号を含めてのいずれによって、タイムスタンプを圧縮しないパケットを送信するかを、タイムスタンプ算出情報履歴に基づいて判定するステップとを備える。
【0022】
第2の発明は、第1の発明に従属する発明であって、
タイムスタンプを圧縮したパケットのヘッダ部にFバイトを、タイムスタンプを圧縮しないパケットのヘッダ部にNバイトを、タイムスタンプ算出情報の更新通知信号にMバイトを、それぞれ要する場合、
判定するステップは、タイムスタンプ算出情報dt(i)と同じ情報が、タイムスタンプ算出情報履歴の中に2×(M+N−F)/(N−F)個以上連続して存在しなければ、タイムスタンプ算出情報dTSを更新せずに、タイムスタンプを圧縮しないパケットを送信し、存在すれば、タイムスタンプ算出情報dTSをタイムスタンプ算出情報dt(i)に更新し、その更新通知信号を含めたタイムスタンプを圧縮しないパケットを送信することを特徴とする。
【0023】
第3の発明は、同一のタイムスタンプ算出情報を用いて送信側でヘッダ圧縮を受信側でヘッダ復元を行うシステムにおいて、タイムスタンプを含むヘッダを伝送データに付加したパケットを所定のタイムスタンプ算出情報を用いて圧縮して送信するヘッダ圧縮方法であって、
圧縮対象となるパケットi及びパケットiに後続する所定数のパケット(i+1)〜j(jは、j>iを満たす整数)について、タイムスタンプを算出するためのタイムスタンプ算出情報dt(i)〜dt(j)をそれぞれ求めるステップと、
複数のタイムスタンプ算出情報dt(i)〜dt(j)を蓄積するステップと、
ヘッダ圧縮に用いられるタイムスタンプ算出情報dTSを管理するステップと、
タイムスタンプ算出情報dTSとタイムスタンプ算出情報dt(i)とを比較し、双方が一致する場合に、タイムスタンプ算出情報dTSを用いてパケットiのタイムスタンプを圧縮したパケットを送信するステップと、
比較によって双方が一致しない場合に、タイムスタンプ算出情報dTSを更新せずに又はタイムスタンプ算出情報dTSをタイムスタンプ算出情報dt(i)に更新しその更新通知信号を含めてのいずれによって、タイムスタンプを圧縮しないパケットを送信するかを、タイムスタンプ算出情報dt(i+1)〜dt(j)に基づいて判定するステップとを備える。
【0024】
第4の発明は、第3の発明に従属する発明であって、
タイムスタンプを圧縮したパケットのヘッダ部にFバイトを、タイムスタンプを圧縮しないパケットのヘッダ部にNバイトを、タイムスタンプ算出情報の更新通知信号にMバイトを、それぞれ要する場合、
判定するステップは、タイムスタンプ算出情報dt(i)と同じ情報が、後続するタイムスタンプ算出情報dt(i+1)から2×(M+N−F)/(N−F)個以上連続しなければ、タイムスタンプ算出情報dTSを更新せずに、タイムスタンプを圧縮しないパケットを送信し、連続すれば、タイムスタンプ算出情報dTSをタイムスタンプ算出情報dt(i)に更新し、その更新通知信号を含めたタイムスタンプを圧縮しないパケットを送信することを特徴とする。
【0025】
第5の発明は、同一のタイムスタンプ算出情報を用いて送信側でヘッダ圧縮を受信側でヘッダ復元を行うシステムにおいて、タイムスタンプを含むヘッダを伝送データに付加したビデオパケットを所定のタイムスタンプ算出情報を用いて圧縮して送信するヘッダ圧縮方法であって、
圧縮対象となるビデオパケットiのタイムスタンプを算出するためのタイムスタンプ算出情報dt(i)を求めるステップと、
ヘッダ圧縮に用いられるタイムスタンプ算出情報dTSを管理するステップと、
タイムスタンプ算出情報dTSとタイムスタンプ算出情報dt(i)とを比較し、双方が一致する場合に、タイムスタンプ算出情報dTSを用いてビデオパケットiのタイムスタンプを圧縮したビデオパケットを送信するステップと、
比較によって双方が一致しない場合に、タイムスタンプ算出情報dTSを更新せずに又はタイムスタンプ算出情報dTSをタイムスタンプ算出情報dt(i)に更新しその更新通知信号を含めてのいずれによって、タイムスタンプを圧縮しないビデオパケットを送信するかを、ビデオパケットiが1つ前のビデオパケット(i−1)と同一のピクチャを構成するものか否かに基づいて判定するステップとを備える。
【0026】
第6の発明は、第5の発明に従属する発明であって、
判定するステップは、
ピクチャを構成する最後のパケットだけにセットされるマーカービットを確認し、マーカービットが1つ前のビデオパケット(i−1)にセットされていない場合に、ビデオパケットiがビデオパケット(i−1)と同一のピクチャを構成するものと判定し、
同一のピクチャを構成しない場合は、タイムスタンプ算出情報dTSを更新せずに、タイムスタンプを圧縮しないビデオパケットを送信し、同一のピクチャを構成する場合は、タイムスタンプ算出情報dTSをタイムスタンプ算出情報dt(i)に更新し、その更新通知信号を含めたタイムスタンプを圧縮しないビデオパケットを送信することを特徴とする。
【0027】
第7の発明は、同一のタイムスタンプ算出情報を用いて送信側でヘッダ圧縮を受信側でヘッダ復元を行うシステムにおいて、タイムスタンプを含むヘッダを伝送データに付加したパケットを所定のタイムスタンプ算出情報を用いて圧縮して送信するヘッダ圧縮装置であって、
圧縮対象となるパケットiのタイムスタンプを算出するためのタイムスタンプ算出情報dt(i)を求める計算部と、
タイムスタンプ算出情報dt(i)を、すでに送信された過去のパケットのタイムスタンプ算出情報履歴として記憶する履歴記憶部と、
ヘッダ圧縮に用いられるタイムスタンプ算出情報dTSを管理する管理部と、入力されるパケットについて、タイムスタンプ算出情報dTSを用いてタイムスタンプを圧縮したパケットを送信する第1のヘッダ圧縮部と、
入力されるパケットについて、タイムスタンプを圧縮しないパケットを送信する第2のヘッダ圧縮部と、
タイムスタンプ算出情報dTSとタイムスタンプ算出情報dt(i)とを比較し、双方が一致する場合に第1のヘッダ圧縮部へパケットiを入力させ、双方が一致しない場合に第2のヘッダ圧縮部へパケットiを入力させると共に、管理部で管理されるタイムスタンプ算出情報dTSを更新させない又はタイムスタンプ算出情報dt(i)に更新させるかを、タイムスタンプ算出情報履歴に基づいて判定する圧縮法判定部と、
タイムスタンプ算出情報dTSがタイムスタンプ算出情報dt(i)に更新された場合、その更新通知信号をパケットに含めるように第2のヘッダ圧縮部を制御する更新信号制御部とを備える。
【0028】
第8の発明は、第7の発明に従属する発明であって、
タイムスタンプを圧縮したパケットのヘッダ部にFバイトを、タイムスタンプを圧縮しないパケットのヘッダ部にNバイトを、タイムスタンプ算出情報の更新通知信号にMバイトを、それぞれ要する場合、
圧縮法判定部は、タイムスタンプ算出情報dt(i)と同じ情報が、タイムスタンプ算出情報履歴の中に2×(M+N−F)/(N−F)個以上連続して存在しなければ、タイムスタンプ算出情報dTSが更新されず、存在すれば、タイムスタンプ算出情報dTSがタイムスタンプ算出情報dt(i)に更新されるように管理部を制御することを特徴とする。
【0029】
第9の発明は、同一のタイムスタンプ算出情報を用いて送信側でヘッダ圧縮を受信側でヘッダ復元を行うシステムにおいて、タイムスタンプを含むヘッダを伝送データに付加したパケットを所定のタイムスタンプ算出情報を用いて圧縮して送信するヘッダ圧縮装置であって、
圧縮対象となるパケットi及びパケットiに後続する所定数のパケット(i+1)〜jについて、タイムスタンプを算出するためのタイムスタンプ算出情報dt(i)〜dt(j)をそれぞれ求める計算部と、
複数のタイムスタンプ算出情報dt(i)〜dt(j)を蓄積する蓄積部と、ヘッダ圧縮に用いられるタイムスタンプ算出情報dTSを管理する管理部と、入力されるパケットについて、タイムスタンプ算出情報dTSを用いてタイムスタンプを圧縮したパケットを送信する第1のヘッダ圧縮部と、
入力されるパケットについて、タイムスタンプを圧縮しないパケットを送信する第2のヘッダ圧縮部と、
タイムスタンプ算出情報dTSとタイムスタンプ算出情報dt(i)とを比較し、双方が一致する場合に第1のヘッダ圧縮部へパケットiを入力させ、双方が一致しない場合に第2のヘッダ圧縮部へパケットiを入力させると共に、管理部で管理されるタイムスタンプ算出情報dTSを更新させない又はタイムスタンプ算出情報dt(i)に更新させるかを、タイムスタンプ算出情報dt(i+1)〜dt(j)に基づいて判定する圧縮法判定部と、
タイムスタンプ算出情報dTSがタイムスタンプ算出情報dt(i)に更新された場合、その更新通知信号をパケットに含めるように第2のヘッダ圧縮部を制御する更新信号制御部とを備える。
【0030】
第10の発明は、第9の発明に従属する発明であって、
タイムスタンプを圧縮したパケットのヘッダ部にFバイトを、タイムスタンプを圧縮しないパケットのヘッダ部にNバイトを、タイムスタンプ算出情報の更新通知信号にMバイトを、それぞれ要する場合、
圧縮法判定部は、タイムスタンプ算出情報dt(i)と同じ情報が、後続するタイムスタンプ算出情報dt(i+1)から2×(M+N−F)/(N−F)個以上連続しなければ、タイムスタンプ算出情報dTSが更新されず、連続すれば、タイムスタンプ算出情報dTSがタイムスタンプ算出情報dt(i)に更新されるように管理部を制御することを特徴とする。
【0031】
第11の発明は、同一のタイムスタンプ算出情報を用いて送信側でヘッダ圧縮を受信側でヘッダ復元を行うシステムにおいて、タイムスタンプを含むヘッダを伝送データに付加したビデオパケットを所定のタイムスタンプ算出情報を用いて圧縮して送信するヘッダ圧縮装置であって、
圧縮対象となるビデオパケットiのタイムスタンプを算出するためのタイムスタンプ算出情報dt(i)を求める計算部と、
ヘッダ圧縮に用いられるタイムスタンプ算出情報dTSを管理する管理部と、入力されるビデオパケットについて、タイムスタンプ算出情報dTSを用いてタイムスタンプを圧縮したビデオパケットを送信する第1のヘッダ圧縮部と、
入力されるビデオパケットについて、タイムスタンプを圧縮しないビデオパケットを送信する第2のヘッダ圧縮部と、
タイムスタンプ算出情報dTSとタイムスタンプ算出情報dt(i)とを比較し、双方が一致する場合に第1のヘッダ圧縮部へビデオパケットiを入力させ、双方が一致しない場合に第2のヘッダ圧縮部へビデオパケットiを入力させると共に、管理部で管理されるタイムスタンプ算出情報dTSを更新させない又はタイムスタンプ算出情報dt(i)に更新させるかを、ビデオパケットiが1つ前のビデオパケット(i−1)と同一のピクチャを構成するものか否かに基づいて判定する圧縮法判定部と、
タイムスタンプ算出情報dTSがタイムスタンプ算出情報dt(i)に更新された場合、その更新通知信号をビデオパケットに含めるように第2のヘッダ圧縮部を制御する更新信号制御部とを備える。
【0032】
第12の発明は、第11の発明に従属する発明であって、
圧縮法判定部は、
ピクチャを構成する最後のパケットだけにセットされるマーカービットを確認し、マーカービットが1つ前のビデオパケット(i−1)にセットされていない場合に、ビデオパケットiがビデオパケット(i−1)と同一のピクチャを構成するものと判定し、
同一のピクチャを構成しない場合は、タイムスタンプ算出情報dTSが更新されず、同一のピクチャを構成する場合は、タイムスタンプ算出情報dTSがタイムスタンプ算出情報dt(i)に更新されるように管理部を制御することを特徴とする。
【0033】
第13の発明は、タイムスタンプを含むヘッダを伝送データに付加したパケットを所定のタイムスタンプ算出情報を用いて圧縮させるヘッダ圧縮方法を、コンピュータ装置に実行させるためのプログラムであって、
圧縮対象となるパケットiのタイムスタンプを算出するためのタイムスタンプ算出情報dt(i)を求めるステップと、
タイムスタンプ算出情報dt(i)を、すでに生成された過去のパケットのタイムスタンプ算出情報履歴として記憶するステップと、
ヘッダ圧縮に用いられるタイムスタンプ算出情報dTSを管理するステップと、
タイムスタンプ算出情報dTSとタイムスタンプ算出情報dt(i)とを比較し、双方が一致する場合に、タイムスタンプ算出情報dTSを用いてパケットiのタイムスタンプを圧縮したパケットを生成するステップと、
比較によって双方が一致しない場合に、タイムスタンプ算出情報dTSを更新せずに又はタイムスタンプ算出情報dTSをタイムスタンプ算出情報dt(i)に更新しその更新通知信号を含めてのいずれによって、タイムスタンプを圧縮しないパケットを生成するかを、タイムスタンプ算出情報履歴に基づいて判定するステップとを含む。
【0034】
第14の発明は、第13の発明に従属する発明であって、
タイムスタンプを圧縮したパケットのヘッダ部にFバイトを、タイムスタンプを圧縮しないパケットのヘッダ部にNバイトを、タイムスタンプ算出情報の更新通知信号にMバイトを、それぞれ要する場合、
判定するステップは、タイムスタンプ算出情報dt(i)と同じ情報が、タイムスタンプ算出情報履歴の中に2×(M+N−F)/(N−F)個以上連続して存在しなければ、タイムスタンプ算出情報dTSを更新せずに、タイムスタンプを圧縮しないパケットを生成し、存在すれば、タイムスタンプ算出情報dTSをタイムスタンプ算出情報dt(i)に更新し、その更新通知信号を含めたタイムスタンプを圧縮しないパケットを生成することを特徴とする。
【0035】
第15の発明は、タイムスタンプを含むヘッダを伝送データに付加したパケットを所定のタイムスタンプ算出情報を用いて圧縮させるヘッダ圧縮方法を、コンピュータ装置に実行させるためのプログラムであって、
圧縮対象となるパケットi及びパケットiに後続する所定数のパケット(i+1)〜jについて、タイムスタンプを算出するためのタイムスタンプ算出情報dt(i)〜dt(j)をそれぞれ求めるステップと、
複数のタイムスタンプ算出情報dt(i)〜dt(j)を蓄積するステップと、
ヘッダ圧縮に用いられるタイムスタンプ算出情報dTSを管理するステップと、
タイムスタンプ算出情報dTSとタイムスタンプ算出情報dt(i)とを比較し、双方が一致する場合に、タイムスタンプ算出情報dTSを用いてパケットiのタイムスタンプを圧縮したパケットを生成するステップと、
比較によって双方が一致しない場合に、タイムスタンプ算出情報dTSを更新せずに又はタイムスタンプ算出情報dTSをタイムスタンプ算出情報dt(i)に更新しその更新通知信号を含めてのいずれによって、タイムスタンプを圧縮しないパケットを生成するかを、タイムスタンプ算出情報dt(i+1)〜dt(j)に基づいて判定するステップとを含む。
【0036】
第16の発明は、第15の発明に従属する発明であって、
タイムスタンプを圧縮したパケットのヘッダ部にFバイトを、タイムスタンプを圧縮しないパケットのヘッダ部にNバイトを、タイムスタンプ算出情報の更新通知信号にMバイトを、それぞれ要する場合、
判定するステップは、タイムスタンプ算出情報dt(i)と同じ情報が、後続するタイムスタンプ算出情報dt(i+1)から2×(M+N−F)/(N−F)個以上連続しなければ、タイムスタンプ算出情報dTSを更新せずに、タイムスタンプを圧縮しないパケットを生成し、連続すれば、タイムスタンプ算出情報dTSをタイムスタンプ算出情報dt(i)に更新し、その更新通知信号を含めたタイムスタンプを圧縮しないパケットを生成することを特徴とする。
【0037】
第17の発明は、タイムスタンプを含むヘッダを伝送データに付加したビデオパケットを所定のタイムスタンプ算出情報を用いて圧縮させるヘッダ圧縮方法を、コンピュータ装置に実行させるためのプログラムであって、
圧縮対象となるビデオパケットiのタイムスタンプを算出するためのタイムスタンプ算出情報dt(i)を求めるステップと、
ヘッダ圧縮に用いられるタイムスタンプ算出情報dTSを管理するステップと、
タイムスタンプ算出情報dTSとタイムスタンプ算出情報dt(i)とを比較し、双方が一致する場合に、タイムスタンプ算出情報dTSを用いてビデオパケットiのタイムスタンプを圧縮したビデオパケットを生成するステップと、
比較によって双方が一致しない場合に、タイムスタンプ算出情報dTSを更新せずに又はタイムスタンプ算出情報dTSをタイムスタンプ算出情報dt(i)に更新しその更新通知信号を含めてのいずれによって、タイムスタンプを圧縮しないビデオパケットを生成するかを、ビデオパケットiが1つ前のビデオパケット(i−1)と同一のピクチャを構成するものか否かに基づいて判定するステップとを含む。
【0038】
第18の発明は、第17の発明に従属する発明であって、
判定するステップは、
ピクチャを構成する最後のパケットだけにセットされるマーカービットを確認し、マーカービットが1つ前のビデオパケット(i−1)にセットされていない場合に、ビデオパケットiがビデオパケット(i−1)と同一のピクチャを構成するものと判定し、
同一のピクチャを構成しない場合は、タイムスタンプ算出情報dTSを更新せずに、タイムスタンプを圧縮しないビデオパケットを生成し、同一のピクチャを構成する場合は、タイムスタンプ算出情報dTSをタイムスタンプ算出情報dt(i)に更新し、その更新通知信号を含めたタイムスタンプを圧縮しないビデオパケットを生成することを特徴とする。
【0039】
上記のように、第1、第7及び第13の発明によれば、過去のパケットにおけるタイムスタンプ算出情報の履歴を記憶しておき、処理対象とするパケットのタイムスタンプ算出情報が管理されているタイムスタンプ算出情報と異なる場合、どちらの情報でヘッダ圧縮を行うかを履歴に基づいて判断する。これにより、過去の実績に応じた効率のよいヘッダ圧縮、すなわちデータ伝送を行うことが可能となる。
【0040】
上記のように、第2、第8及び第14の発明によれば、処理対象とするパケットのタイムスタンプ算出情報と同じ情報が履歴中に所定数以上連続してあるかどうかで、このタイムスタンプ算出情報の変化が一時的なものかどうかを判断する。そして、タイムスタンプ算出情報が所定数以上連続してあれば、タイムスタンプ算出情報を更新し、連続してなければ、更新しないように制御する。これにより、過去の実績に応じた効率のよいヘッダ圧縮、すなわちデータ伝送を行うことが可能となる。
【0041】
上記のように、第3、第9及び第15の発明によれば、所定数のパケットに対応する実際のタイムスタンプ算出情報をそれぞれ予め求めておき、処理対象とするパケットのタイムスタンプ算出情報が管理されているタイムスタンプ算出情報と異なる場合、どちらの情報でヘッダ圧縮を行うかを複数の実際のタイムスタンプ算出情報に基づいて判断する。これにより、データ伝送処理に時間的遅延が生じるが、実際に伝送するデータを確認して処理することができるので、伝送データに応じた効率のよいヘッダ圧縮を確実に行うことが可能となる。
【0042】
上記のように、第4、第10及び第16の発明によれば、予め求めた中に処理対象とするパケットのタイムスタンプ算出情報と同じ情報が所定数以上連続してあるかどうかで、タイムスタンプ算出情報の変化が一時的なものかどうかを判断する。そして、タイムスタンプ算出情報が所定数以上連続してあれば、タイムスタンプ算出情報を更新し、連続してなければ、更新しないように制御する。これにより、データ伝送処理に時間的遅延が生じるが、実際に伝送するデータを確認して処理することができるので、伝送データに応じた効率のよいヘッダ圧縮を確実に行うことが可能となる。
【0043】
上記のように、第5、第11及び第17の発明によれば、処理対象とするビデオパケットのタイムスタンプ算出情報が管理されているタイムスタンプ算出情報と異なる場合、どちらの情報でヘッダ圧縮を行うかを、処理対象とする現在のビデオパケットが1つ前のビデオパケットと同一のピクチャを構成するものかどうか判断する。これにより、伝送データに応じた効率のよいヘッダ圧縮を確実に行うことが可能となる。
【0044】
上記のように、第6、第12及び第18の発明によれば、処理対象とする現在のビデオパケットが1つ前のビデオパケットと同一のピクチャを構成するものかどうかをマーカービットで確認し、タイムスタンプ算出情報の変化が一時的なものかどうか判断する。そして、現在のビデオパケットが前のビデオパケットと同一のピクチャを構成するものであれば、タイムスタンプ算出情報を更新し、構成しないものであれば、更新しないように制御する。これにより、伝送データに応じた効率のよいヘッダ圧縮を確実に行うことが可能となる。
【0045】
【発明の実施の形態】
本発明が提供するヘッダ圧縮方法は、図9で示したように無線通信網等における無線通信区間のデータ伝送に適用される技術である。典型的には、ヘッダ圧縮方法を実行するヘッダ圧縮装置は、ゲートウェイサーバ内に構築される。また、このヘッダ圧縮装置は、CPU、記憶装置及び入出力装置等で構成され、予め記憶装置に格納されたヘッダ圧縮方法実行プログラムをCPUが実行することによって、ヘッダ圧縮方法が実現される。
以下、本発明の各実施形態について図面を参照しながら説明する。
【0046】
(第1の実施形態)
図1は、本発明の第1の実施形態に係るヘッダ圧縮方法を行うためのヘッダ圧縮装置の構成を示すブロック図である。図1において、第1の実施形態のヘッダ圧縮装置は、タイムスタンプ算出情報計算部11と、タイムスタンプ算出情報履歴記憶部12と、タイムスタンプ圧縮法判定部13と、タイムスタンプ算出情報管理部14と、タイムスタンプ非圧縮ヘッダ圧縮部15と、タイムスタンプ圧縮ヘッダ圧縮部16と、タイムスタンプ算出情報更新信号送信部17と、入力切換部18とを備える。
【0047】
タイムスタンプ算出情報計算部11は、伝送すべき圧縮前のヘッダ部のパケットを順に入力し、現在のパケットのタイムスタンプと1つ前のパケットのタイムスタンプとからタイムスタンプ算出情報を計算する。タイムスタンプ算出情報履歴記憶部12は、過去のパケットのタイムスタンプから計算したタイムスタンプ算出情報の履歴を記憶する。タイムスタンプ圧縮法判定部13は、タイムスタンプ算出情報計算部11で計算されたタイムスタンプ算出情報と、タイムスタンプ算出情報履歴記憶部12が記憶するタイムスタンプ算出情報の履歴と、タイムスタンプ算出情報管理部14が管理するタイムスタンプ算出情報とに基づいて、現在のパケットのタイムスタンプ圧縮方法を判定する。タイムスタンプ算出情報管理部14は、タイムスタンプの圧縮に用いられるタイムスタンプ算出情報を管理する。タイムスタンプ非圧縮ヘッダ圧縮部15は、タイムスタンプを非圧縮のままヘッダ圧縮を行う。タイムスタンプ圧縮ヘッダ圧縮部16は、タイムスタンプ算出情報に基づいてタイムスタンプを圧縮させた、ヘッダ圧縮を行う。タイムスタンプ算出情報更新信号送信部17は、タイムスタンプ算出情報管理部14が管理するタイムスタンプ算出情報が更新されたとき、その更新信号を送出する。入力切換部18は、タイムスタンプ圧縮法判定部13からの制御に従って、入力されるヘッダ部のパケットをタイムスタンプ非圧縮ヘッダ圧縮部15又はタイムスタンプ圧縮ヘッダ圧縮部16のいずれかへ出力する。
【0048】
以下に、上記構成による第1の実施形態のヘッダ圧縮装置で行われるヘッダ圧縮方法を説明する。
本実施形態で扱われる入力データは、RTP、UDP、IPによってパケット化された動画像符号化データや音声符号化データ等である。入力されたパケットのヘッダは、送信側でRTP、UDP、IPのヘッダ部が圧縮され、受信側へと伝送される。受信側では、RTP、UDP、IPのヘッダ部が復元され、元のパケットが出力される。パケットのヘッダには、タイムスタンプとシーケンスナンバーが含まれる。
【0049】
まず、タイムスタンプ算出情報計算部11は、タイムスタンプ算出情報として、処理対象とする現在のパケットi(iは、正の整数)のタイムスタンプと1つ前のパケット(i−1)のタイムスタンプとの差分、及びシーケンスナンバーの差分をそれぞれ計算し、シーケンスナンバー1つ当たりのタイムスタンプの増加量であるデルタタイムスタンプΔt(i)を求める。この求められたデルタタイムスタンプΔt(i)は、タイムスタンプ算出情報履歴記憶部12及びタイムスタンプ圧縮法判定部13に出力される。
タイムスタンプ算出情報履歴記憶部12は、過去の予め定められた数のデルタタイムスタンプの履歴を記憶する。デルタタイムスタンプ履歴の一例を、図2に示す。デルタタイムスタンプ履歴は、図2(a)のように過去のいくつかのパケット(シーケンスナンバー:SN)に対するデルタタイムスタンプを示すものであってもよいし、図2(b)のように各々のデルタタイムスタンプが過去に連続した数(最大値、最小値、平均値等)を示すものであってもよい。この記憶されたデルタタイムスタンプ履歴は、タイムスタンプ圧縮法判定部13によって適宜参照される。
【0050】
次に、タイムスタンプ圧縮法判定部13は、タイムスタンプ算出情報計算部11で求められたデルタタイムスタンプΔt(i)と、タイムスタンプ算出情報管理部14で管理されているデルタタイムスタンプΔTSとを比較する。この比較の結果、双方のデルタタイムスタンプが同じ(Δt(i)=ΔTS)場合、タイムスタンプ圧縮法判定部13は、タイムスタンプを圧縮すべきと判定し、入力されるパケットiがタイムスタンプ圧縮ヘッダ圧縮部16へ供給されるように、入力切換部18の切り換えを制御する。一方、双方のデルタタイムスタンプが異なる(Δt(i)≠ΔTS)場合、タイムスタンプ圧縮法判定部13は、タイムスタンプ算出情報履歴記憶部12に記憶されているデルタタイムスタンプ履歴を参照して、現在のデルタタイムスタンプΔTSを更新すべきか否かを判断する。このデルタタイムスタンプの更新は、パケット(i+1)以降の圧縮ヘッダ送信効率が向上するように、求められたデルタタイムスタンプΔt(i)が、デルタタイムスタンプ履歴の中に所定数x(後述する)以上連続した履歴があるかで判断される。そして、所定数x以上連続する履歴があれば、タイムスタンプ圧縮法判定部13は、デルタタイムスタンプΔTSをデルタタイムスタンプΔt(i)に更新させると共に、パケットiがタイムスタンプ非圧縮ヘッダ圧縮部15へ供給されるように、入力切換部18の切り換えを制御する。一方、所定数x以上連続する履歴がなければ、タイムスタンプ圧縮法判定部13は、デルタタイムスタンプΔTSはそのままで、パケットiがタイムスタンプ非圧縮ヘッダ圧縮部15へ供給されるように、入力切換部18の切り換えを制御する。
【0051】
ここで、タイムスタンプ圧縮法判定部13において、パケット(i+1)以降の圧縮ヘッダ送信効率が向上するか否かを判断するために、すなわち現在のデルタタイムスタンプΔTSを求められたデルタタイムスタンプΔt(i)へ更新した後にタイムスタンプ圧縮ヘッダを送信した方が効率がよいかを判断するために、図13に示したパケットフォーマットのバイト数を考える。
デルタタイムスタンプを更新するためには、デルタタイムスタンプの更新信号を送信しなければならない。この更新信号を送信するには、図14に示す拡張部のフォーマットの内、Tビット及びデルタタイムスタンプフィールド部分の2バイト(=Mバイト)が必要である。また、この拡張部は、タイムスタンプ非圧縮のヘッダ圧縮パケット(図13(b)の参照情報更新パケット)に付加されるので、さらに3バイト(=Nバイト)が必要である。従って、デルタタイムスタンプを更新するには、5バイト(=M+Nバイト)が必要となる。
【0052】
今、現在のデルタタイムスタンプΔTSと異なるデルタタイムスタンプΔt(i)が、r個連続する場合を考える。
まず、デルタタイムスタンプΔTSを更新しない場合は、r個のタイムスタンプが、Nバイトのタイムスタンプ非圧縮のヘッダ圧縮パケットによって送信される。従って、この場合、r個の連続したデルタタイムスタンプΔt(i)を送信するためには、(N×r)バイトが必要となる。なお、この場合には、r個のパケット処理が終了した後に、デルタタイムスタンプを元の値に戻す必要がないので、次に続くパケットの送信は、シーケンスナンバーだけの最小圧縮パケット(図13(c))の1バイト(=Fバイト)でよい。
一方、デルタタイムスタンプΔTSを更新する場合は、1つ目のパケットiには、デルタタイムスタンプの更新信号を含めなければならないため、上述の(M+N)バイトが必要となる。これにより、残りの(r−1)個のパケット(i+1)〜(i+r−1)は、最小圧縮パケットのFバイトでよくなる。しかし、r個のパケット処理が終了した後に、デルタタイムスタンプΔt(i)を元の値ΔTSに戻す(又は、他の値に更新する)処理を行わなければならないため、次に続くパケット(i+r)の送信には、1つ目のパケットiと同様に(M+N)バイトが必要となる。従って、この場合、r個の連続したデルタタイムスタンプΔt(i)を送信するためには、{(M+N)+F×(r−1)+(M+N−F)}バイトが必要となる。
【0053】
このことから、デルタタイムスタンプΔt(i)が連続する個数rが、下記式(3)を満足するならば、デルタタイムスタンプΔTSを更新した方が効率よくヘッダを送信できると言える。
本実施形態の場合では、F=1、M=2及びN=3なので、rが4(=所定数x)以上であればデルタタイムスタンプΔTSを更新した方が効率よくパケットを送信できる。
【0054】
よって、タイムスタンプ圧縮法判定部13は、参照するデルタタイムスタンプ履歴の中に、タイムスタンプ算出情報計算部11で求められたデルタタイムスタンプΔt(i)と同じデルタタイムスタンプがx個以上連続した履歴があるかを判定する。そして、x個以上連続した履歴があるならば、タイムスタンプ圧縮法判定部13は、タイムスタンプ算出情報管理部14へデルタタイムスタンプΔTSを更新させるように通知すると共に、タイムスタンプ非圧縮ヘッダ圧縮部15へ入力パケットiが供給されるように入力切換部18を制御する。一方、x個以上連続する履歴がなければ、タイムスタンプ圧縮法判定部13は、デルタタイムスタンプΔTSを更新させることなく、タイムスタンプ非圧縮ヘッダ圧縮部15へ入力パケットiが供給されるように入力切換部18を制御する。
【0055】
次に、タイムスタンプ算出情報管理部14は、タイムスタンプ圧縮法判定部13からデルタタイムスタンプの更新通知を受けると、現在登録しているデルタタイムスタンプΔTSを、タイムスタンプ算出情報計算部11で求められたデルタタイムスタンプΔt(i)に更新登録する。新しいデルタタイムスタンプΔt(i)の登録が完了すると、タイムスタンプ算出情報管理部14は、その旨をタイムスタンプ算出情報更新信号送信部17に通知する。
タイムスタンプ非圧縮ヘッダ圧縮部15は、タイムスタンプを圧縮せずに図13(b)に示す参照情報更新パケットのフォーマットに従って、パケットiを圧縮する。
タイムスタンプ圧縮ヘッダ圧縮部16は、タイムスタンプを圧縮するパケットiの圧縮を行う。つまり、図13(c)に示す最小圧縮パケットのフォーマットに従って、タイムスタンプを削除(=圧縮)してシーケンスナンバーだけのパケットにする。
タイムスタンプ算出情報更新信号送信部17は、デルタタイムスタンプΔTSの更新通知を受けると、この通知時点にタイムスタンプ非圧縮ヘッダ圧縮部15で処理している参照情報更新パケットにおいて、Zビットを立てて拡張部のデルタタイムスタンプフィールドを付加し、このフィールドに更新されたデルタタイムスタンプΔt(i)を格納して送信する。
【0056】
最後に、第1の実施形態のヘッダ圧縮装置で行われるヘッダ圧縮方法の処理手順を、図3に示すフローチャートを用いて説明する。
まず、デルタタイムスタンプΔTSが登録(更新)される(ステップS31)。この値には、予め定められた値が用いられてもよいし、1番目のパケットと2番目のパケットとから計算した値が用いられてもよい。任意のパケットiが入力されると、デルタタイムスタンプΔt(i)が計算される(ステップS32)。次に、このデルタタイムスタンプΔt(i)とデルタタイムスタンプΔTSとが比較される(ステップS33)。ここで、双方のデルタタイムスタンプが同じなら、タイムスタンプを省略(圧縮)した最小圧縮パケットによるヘッダ圧縮が行われる(ステップS34)。双方のデルタタイムスタンプが異なるなら、デルタタイムスタンプ履歴に、デルタタイムスタンプΔt(i)がx個以上連続して存在するか否かが判定される(ステップS35)。x個以上連続して存在するならば、デルタタイムスタンプΔTSが更新され(ステップS36)、タイムスタンプを省略せずに送信できる参照情報更新パケットによるヘッダ圧縮が行われる(ステップS37)。その際、デルタタイムスタンプ更新のため、拡張部の必要なフィールドが付加される。x個以上連続して存在しなければ、デルタタイムスタンプΔTSが更新されずに、参照情報更新パケットによるヘッダ圧縮が行われる(ステップS37)。その際、デルタタイムスタンプ更新のための拡張部は付加されない。そして、パケットを1つ処理すると新しいパケット入力を受け付け、デルタタイムスタンプの計算から繰り返し行われる(ステップS38,S39)。
【0057】
以上のように、本発明の第1の実施形態に係るヘッダ圧縮方法及び装置によれば、過去のパケットにおけるタイムスタンプ算出情報の履歴を記憶しておき、処理対象とするパケットのタイムスタンプ算出情報と同じ情報がこの履歴中に所定数以上連続してあるかどうかで、このタイムスタンプ算出情報の変化が一時的なものかどうかを判断する。そして、タイムスタンプ算出情報が所定数以上連続してあれば、タイムスタンプ算出情報を更新し、連続してなければ、更新しないように制御する。
これにより、過去の実績に応じた効率のよいヘッダ圧縮、すなわちデータ伝送を行うことが可能となる。
【0058】
(第2の実施形態)
上記第1の実施形態に係るヘッダ圧縮方法では、現時点以降に行われるデータ伝送を、過去に行われたデータ伝送の履歴から予測している。このため、予測結果に従ってタイムスタンプ算出情報を更新したとしても、実際のデータ伝送効率が悪化してしまう場合も考えられる。
そこで、第2の実施形態では、実際の伝送データを確認した上でタイムスタンプ算出情報の更新を行うことにより、確実にデータ伝送効率の向上を図るヘッダ圧縮方法を説明する。
【0059】
図4は、本発明の第2の実施形態に係るヘッダ圧縮方法を行うためのヘッダ圧縮装置の構成を示すブロック図である。図4において、第2の実施形態のヘッダ圧縮装置は、タイムスタンプ算出情報計算部11と、タイムスタンプ算出情報蓄積部22と、タイムスタンプ圧縮法判定部23と、タイムスタンプ算出情報管理部14と、タイムスタンプ非圧縮ヘッダ圧縮部15と、タイムスタンプ圧縮ヘッダ圧縮部16と、タイムスタンプ算出情報更新信号送信部17と、入力切換部18と、パケット蓄積部29とを備える。
図4に示すように、第2の実施形態のヘッダ圧縮装置は、上記第1の実施形態のヘッダ圧縮装置のタイムスタンプ算出情報履歴記憶部12及びタイムスタンプ圧縮法判定部13を、タイムスタンプ算出情報蓄積部22及びタイムスタンプ圧縮法判定部23に代え、パケット蓄積部29をさらに加えた構成である。なお、第2の実施形態のヘッダ圧縮装置におけるその他の構成は、上記第1の実施形態のヘッダ圧縮装置と同様であり、構成については同一の参照番号を付してその説明を省略する。
【0060】
パケット蓄積部29は、伝送すべき圧縮前のヘッダ部のパケットを順に入力し、ファーストインファーストアウト(FIFO)で予め決められた数のパケットを一時蓄積及び出力する。タイムスタンプ算出情報蓄積部22は、タイムスタンプ算出情報計算部11で計算されたタイムスタンプ算出情報を、パケット蓄積部29に蓄積された複数のパケットに対応する分だけ蓄積する。タイムスタンプ圧縮法判定部23は、タイムスタンプ算出情報蓄積部22に蓄積されている複数のタイムスタンプ算出情報と、タイムスタンプ算出情報管理部14が管理するタイムスタンプ算出情報とに基づいて、パケット蓄積部29に蓄積された先頭の(時間的に先行する)パケットのタイムスタンプ圧縮方法を判定する。入力切換部18は、タイムスタンプ圧縮法判定部23からの制御に従って、パケット蓄積部29に蓄積された複数のパケットをタイムスタンプ非圧縮ヘッダ圧縮部15又はタイムスタンプ圧縮ヘッダ圧縮部16のいずれかへ順次出力する。
【0061】
以下に、上記構成による第2の実施形態のヘッダ圧縮装置で行われるヘッダ圧縮方法を、第1の実施形態と異なる部分を中心に説明する。なお、説明を分かり易くするために、パケット蓄積部29に、パケットi〜j(jは、j>iを満たす整数)が蓄積されるものとする。
まず、タイムスタンプ算出情報計算部11は、タイムスタンプ算出情報として、処理対象とする現在のパケットのタイムスタンプと1つ前のパケットのタイムスタンプとの差分、及びシーケンスナンバーの差分をそれぞれ計算し、シーケンスナンバー1つ当たりのタイムスタンプの増加量であるデルタタイムスタンプを求める。ここで、タイムスタンプ算出情報計算部11は、パケット蓄積部29に蓄積された複数のパケットi〜jに対応させて、デルタタイムスタンプΔt(i)〜Δt(j)を求める。なお、デルタタイムスタンプΔt(k)(k=i〜j)は、パケット(k−1)とパケットkとのタイムスタンプ差分を意味する。この求められた複数のデルタタイムスタンプΔt(i)〜Δt(j)は、タイムスタンプ算出情報蓄積部22に出力される。
タイムスタンプ算出情報蓄積部22は、パケット蓄積部29に蓄積された複数のパケットi〜jに対応するデルタタイムスタンプΔt(i)〜Δt(j)をそれぞれ蓄積する。この蓄積されたデルタタイムスタンプΔt(i)〜Δt(j)は、タイムスタンプ圧縮法判定部23によって適宜参照される。
【0062】
次に、タイムスタンプ圧縮法判定部23は、先頭のパケットiのデルタタイムスタンプΔt(i)とタイムスタンプ算出情報管理部14で管理されているデルタタイムスタンプΔTSとを比較する。この比較の結果、双方のデルタタイムスタンプが同じ(Δt(i)=ΔTS)場合、タイムスタンプ圧縮法判定部23は、タイムスタンプを圧縮すべきと判定し、パケット蓄積部29に蓄積されているパケットiがタイムスタンプ圧縮ヘッダ圧縮部16へ供給されるように、入力切換部18の切り換えを制御する。一方、双方のデルタタイムスタンプが異なる(Δt(i)≠ΔTS)場合、タイムスタンプ圧縮法判定部23は、タイムスタンプ算出情報蓄積部22に蓄積されている後続するデルタタイムスタンプΔt(i+1)〜Δt(j)を参照して、現在のデルタタイムスタンプΔTSを更新すべきか否かを判断する。このデルタタイムスタンプの更新は、パケット(i+1)以降の圧縮ヘッダ送信効率が向上するように、異なると判断されたデルタタイムスタンプΔt(i)と同じ値が、所定数x以上連続しているかで判断される。ここで、所定数xとは、上記第1の実施形態で説明したとおりであり、x=4とした場合には、デルタタイムスタンプΔt(i+1)〜Δt(i+3)の値がデルタタイムスタンプΔt(i)と同じであるかが確認される。なお、このようにx=4とした場合、パケット蓄積部29には常に4つのパケットを蓄積するように、またタイムスタンプ算出情報蓄積部22にはその各パケットに対応する4つのデルタタイムスタンプを蓄積するようにすれば十分である。
【0063】
そして、デルタタイムスタンプΔt(i)が所定数x以上連続するのであれば、タイムスタンプ圧縮法判定部23は、現在のデルタタイムスタンプΔTSをデルタタイムスタンプΔt(i)に更新させると共に、パケット蓄積部29に蓄積されているパケットiがタイムスタンプ非圧縮ヘッダ圧縮部15へ供給されるように、入力切換部18の切り換えを制御する。一方、所定数x以上連続しなければ、タイムスタンプ圧縮法判定部23は、デルタタイムスタンプΔTSはそのままで、パケットiがタイムスタンプ非圧縮ヘッダ圧縮部15へ供給されるように、入力切換部18の切り換えを制御する。
このように、パケットiの処理が完了すると、パケット蓄積部29には、新たにパケット(j+1)が蓄積され、タイムスタンプ算出情報蓄積部22には、新たに計算されたデルタタイムスタンプΔt(j+1)が蓄積される。このとき、処理済みのデルタタイムスタンプΔt(i)を削除してもよい。
【0064】
最後に、第2の実施形態のヘッダ圧縮装置で行われるヘッダ圧縮方法の処理手順を、図5に示すフローチャートを用いて説明する。
まず、デルタタイムスタンプΔTSが登録(更新)される(ステップS51)。この値には、予め定められた値が用いられてもよいし、1番目のパケットと2番目のパケットとから計算した値が用いられてもよい。入力されるパケットは、予め決められた数だけ蓄積され、この蓄積されたパケットi〜jに対応するデルタタイムスタンプΔt(i)〜Δt(j)が複数計算される(ステップS52,S53)。次に、先頭のパケットiのデルタタイムスタンプΔt(i)とデルタタイムスタンプΔTSとが比較される(ステップS54)。ここで、双方のデルタタイムスタンプが同じなら、タイムスタンプを省略(圧縮)した最小圧縮パケットによるヘッダ圧縮が行われる(ステップS55)。双方のデルタタイムスタンプが異なるなら、デルタタイムスタンプΔt(i)の値が、連続するデルタタイムスタンプΔt(i+1)〜Δt(i+x)の値と同じかどうかが判定される(ステップS56)。同じであれば、デルタタイムスタンプΔTSが更新され(ステップS57)、タイムスタンプを省略せずに送信できる参照情報更新パケットによるヘッダ圧縮が行われる(ステップS58)。その際、デルタタイムスタンプ更新のため、拡張部の必要なフィールドが付加される。異なれば、デルタタイムスタンプΔTSが更新されずに、参照情報更新パケットによるヘッダ圧縮が行われる(ステップS58)。その際、デルタタイムスタンプ更新のための拡張部は付加されない。そして、パケットを1つ処理すると新しいパケット入力を受け付け、デルタタイムスタンプの計算から繰り返し行われる(ステップS59,S60)。
【0065】
以上のように、本発明の第2の実施形態に係るヘッダ圧縮方法及び装置によれば、所定数のパケットを予め蓄積しておいて、それに対応する実際のタイムスタンプ算出情報をそれぞれ予め求めておき、その求めた中に処理対象とするパケットのタイムスタンプ算出情報と同じ情報が所定数以上連続してあるかどうかで、タイムスタンプ算出情報の変化が一時的なものかどうかを判断する。そして、タイムスタンプ算出情報が所定数以上連続してあれば、タイムスタンプ算出情報を更新し、連続してなければ、更新しないように制御する。
これにより、データ伝送処理に時間的遅延が生じるが、実際に伝送するデータを確認して処理することができるので、伝送データに応じた効率のよいヘッダ圧縮を確実に行うことが可能となる。
【0066】
(第3の実施形態)
この第3の実施形態は、上記第1及び第2の実施形態で説明したヘッダ圧縮方法を、MPEG(Moving Picture Experts Group)方式等の1ピクチャ(フレーム)の画像データが複数のビデオパケットによってデータ伝送される場合に適応させた例であり、同一ピクチャを構成するビデオパケットのタイムスタンプが同一であることを利用したものである。ここで、2つのビデオパケットが同一ピクチャを構成するか否かは、同一ピクチャを構成する最後のパケットだけにセットされるRTPヘッダ内のマーカービットの有無によって判断される。
【0067】
図6は、本発明の第3の実施形態に係るヘッダ圧縮方法を行うためのヘッダ圧縮装置の構成を示すブロック図である。図6において、第3の実施形態のヘッダ圧縮装置は、タイムスタンプ算出情報計算部11と、同一ピクチャ判定部32と、タイムスタンプ圧縮法判定部33と、タイムスタンプ算出情報管理部14と、タイムスタンプ非圧縮ヘッダ圧縮部15と、タイムスタンプ圧縮ヘッダ圧縮部16と、タイムスタンプ算出情報更新信号送信部17と、入力切換部18とを備える。
図6に示すように、第3の実施形態のヘッダ圧縮装置は、上記第1の実施形態のヘッダ圧縮装置のタイムスタンプ算出情報履歴記憶部12及びタイムスタンプ圧縮法判定部13を、同一ピクチャ判定部32及びタイムスタンプ圧縮法判定部33に代えた構成である。なお、第3の実施形態のヘッダ圧縮装置におけるその他の構成は、上記第1の実施形態のヘッダ圧縮装置と同様であり、構成については同一の参照番号を付してその説明を省略する。
【0068】
同一ピクチャ判定部32は、伝送すべき圧縮前のヘッダ部のビデオパケットを順に入力し、処理対象とする現在のビデオパケットが1つ前のビデオパケットと同一のピクチャを構成するものか否かを判定する。タイムスタンプ圧縮法判定部33は、タイムスタンプ算出情報計算部11で計算されたタイムスタンプ算出情報と、タイムスタンプ算出情報管理部14で管理されているタイムスタンプ算出情報と、同一ピクチャ判定部32での判定結果とに基づいて、現在のビデオパケットのタイムスタンプ圧縮方法を判定する。
【0069】
以下に、上記構成による第3の実施形態のヘッダ圧縮装置で行われるヘッダ圧縮方法を、第1の実施形態と異なる部分を中心に説明する。
同一ピクチャ判定部32は、処理対象とする現在のビデオパケットiのRTPヘッダ内のマーカービットを参照し、このビデオパケットiが1つ前のビデオパケット(i−1)と同じピクチャを構成するものかどうかを判定する。この判定では、ビデオパケット(i−1)のマーカービットが立っていた場合に、ビデオパケットiはビデオパケット(i−1)と同じピクチャを構成すると判定され、それ以外の場合は、ビデオパケットiはビデオパケット(i−1)と同じピクチャを構成しないと判定される。
【0070】
タイムスタンプ圧縮法判定部33は、同一ピクチャ判定部32から判定結果に応じて出力される同一ピクチャ判定信号を参照し、タイムスタンプ算出情報計算部11で計算されたデルタタイムスタンプΔt(i)と、タイムスタンプ算出情報管理部14で管理されているデルタタイムスタンプΔTSとを比較する。この比較の結果、双方のデルタタイムスタンプが同じ(Δt(i)=ΔTS)場合、タイムスタンプ圧縮法判定部33は、タイムスタンプを圧縮すべきと判定し、ビデオパケットiがタイムスタンプ圧縮ヘッダ圧縮部16へ供給されるように、入力切換部18の切り換えを制御する。一方、双方のデルタタイムスタンプが異なる(Δt(i)≠ΔTS)場合、タイムスタンプ圧縮法判定部33は、同一ピクチャ判定信号を参照して、ビデオパケットiがビデオパケット(i−1)と同じピクチャを構成するものかどうかを判断する。同じピクチャを構成するものであれば、タイムスタンプ圧縮法判定部33は、デルタタイムスタンプΔTSをデルタタイムスタンプΔt(i)に更新させると共に、ビデオパケットiがタイムスタンプ非圧縮ヘッダ圧縮部15へ供給されるように、入力切換部18の切り換えを制御する。一方、同じピクチャを構成しないものであれば、タイムスタンプ圧縮法判定部33は、デルタタイムスタンプΔTSはそのままで、ビデオパケットiがタイムスタンプ非圧縮ヘッダ圧縮部15へ供給されるように、入力切換部18の切り換えを制御する。
【0071】
最後に、第3の実施形態のヘッダ圧縮装置で行われるヘッダ圧縮方法の処理手順を、図7に示すフローチャートを用いて説明する。
まず、デルタタイムスタンプΔTSが登録(更新)される(ステップS71)。この値には、予め定められた値が用いられてもよいし、1番目のビデオパケットと2番目のビデオパケットとから計算した値が用いられてもよい。任意のビデオパケットiが入力されると、デルタタイムスタンプΔt(i)が計算される(ステップS72)。次に、このデルタタイムスタンプΔt(i)とデルタタイムスタンプΔTSとが比較される(ステップS73)。ここで、双方のデルタタイムスタンプが同じなら、タイムスタンプを省略(圧縮)した最小圧縮パケットによるヘッダ圧縮が行われる(ステップS74)。双方のデルタタイムスタンプが異なるなら、ビデオパケットiが1つ前のビデオパケット(i−1)と同一ピクチャを構成するものかどうかが判定される(ステップS75)。構成するものならば、デルタタイムスタンプΔTSが更新され(ステップS76)、タイムスタンプを省略せずに送信できる参照情報更新パケットによるヘッダ圧縮が行われる(ステップS77)。その際、デルタタイムスタンプ更新のため、拡張部の必要なフィールドが付加される。構成しないものならば、デルタタイムスタンプΔTSが更新されずに、参照情報更新パケットによるヘッダ圧縮が行われる(ステップS77)。その際、デルタタイムスタンプ更新のための拡張部は付加されない。そして、ビデオパケットを1つ処理すると新しいビデオパケット入力を受け付け、デルタタイムスタンプの計算から繰り返し行われる(ステップS78,S79)。
【0072】
以上のように、本発明の第3の実施形態に係るヘッダ圧縮方法及び装置によれば、処理対象とする現在のビデオパケットが1つ前のパケットと同一のピクチャを構成するものかどうかで、タイムスタンプ算出情報の変化が一時的なものかどうか判断する。そして、現在のビデオパケットが前のビデオパケットと同一のピクチャを構成するものであれば、タイムスタンプ算出情報を更新し、構成しないものであれば、更新しないように制御する。
これにより、伝送データに応じた効率のよいヘッダ圧縮を確実に行うことが可能となる。
【0073】
なお、上記第1〜第3の実施形態では、タイムスタンプ算出情報(dt(i),dTS)としてシーケンスナンバー1つ当たりのタイムスタンプ増加量であるデルタタイムスタンプ(Δt(i),ΔTS)を用いたが、各パケットのタイムスタンプを算出できる情報であれば、他の情報であっても構わない。
【図面の簡単な説明】
【図1】本発明の第1の実施形態に係るヘッダ圧縮方法を行うためのヘッダ圧縮装置の構成を示すブロック図である。
【図2】デルタタイムスタンプ履歴の一例を示す図である。
【図3】本発明の第1の実施形態に係るヘッダ圧縮方法の処理手順を示すフローチャートである。
【図4】本発明の第2の実施形態に係るヘッダ圧縮方法を行うためのヘッダ圧縮装置の構成を示すブロック図である。
【図5】本発明の第2の実施形態に係るヘッダ圧縮方法の処理手順を示すフローチャートである。
【図6】本発明の第3の実施形態に係るヘッダ圧縮方法を行うためのヘッダ圧縮装置の構成を示すブロック図である。
【図7】本発明の第3の実施形態に係るヘッダ圧縮方法の処理手順を示すフローチャートである。
【図8】各プロトコルに準じたヘッダサイズを説明する図である。
【図9】従来のヘッダ圧縮方法が使用される無線通信網の構成例を示す図である。
【図10】従来のヘッダ圧縮方法による処理を説明する図である。
【図11】従来のヘッダ圧縮方法による処理(参照情報更新)を説明する図である。
【図12】従来のヘッダ圧縮方法による処理(参照情報更新失敗)を説明する図である。
【図13】圧縮ヘッダの各フォーマットを説明する図である。
【図14】圧縮ヘッダの拡張フォーマットを説明する図である。
【図15】従来のヘッダ圧縮方法を行うためのヘッダ圧縮装置の構成を示すブロック図である。
【図16】従来のヘッダ圧縮方法の処理手順を示すフローチャートである。
【図17】従来のタイムスタンプ算出情報の更新例を示す図である。
【図18】理想的なタイムスタンプ算出情報の更新例を示す図である。
【符号の説明】
11,101…タイムスタンプ算出情報計算部
12…タイムスタンプ算出情報履歴記憶部
13,23,33,103…タイムスタンプ圧縮法判定部
14,104…タイムスタンプ算出情報管理部
15,105…タイムスタンプ非圧縮ヘッダ圧縮部
16,106…タイムスタンプ圧縮ヘッダ圧縮部
17…タイムスタンプ算出情報更新信号送信部
18,108…入力切換部
22…タイムスタンプ算出情報蓄積部
29…パケット蓄積部
32…同一ピクチャ判定部
Claims (18)
- 同一のタイムスタンプ算出情報を用いて送信側でヘッダ圧縮を受信側でヘッダ復元を行うシステムにおいて、タイムスタンプを含むヘッダを伝送データに付加したパケットを所定のタイムスタンプ算出情報を用いて圧縮して送信するヘッダ圧縮方法であって、
圧縮対象となるパケットi(iは、正の整数)のタイムスタンプを算出するためのタイムスタンプ算出情報dt(i)を求めるステップと、
前記タイムスタンプ算出情報dt(i)を、すでに送信された過去のパケットのタイムスタンプ算出情報履歴として記憶するステップと、
ヘッダ圧縮に用いられるタイムスタンプ算出情報dTSを管理するステップと、
前記タイムスタンプ算出情報dTSと前記タイムスタンプ算出情報dt(i)とを比較し、双方が一致する場合に、当該タイムスタンプ算出情報dTSを用いて前記パケットiのタイムスタンプを圧縮したパケットを送信するステップと、
前記比較によって双方が一致しない場合に、前記タイムスタンプ算出情報dTSを更新せずに又は前記タイムスタンプ算出情報dTSを前記タイムスタンプ算出情報dt(i)に更新しその更新通知信号を含めてのいずれによって、タイムスタンプを圧縮しないパケットを送信するかを、前記タイムスタンプ算出情報履歴に基づいて判定するステップとを備える、ヘッダ圧縮方法。 - タイムスタンプを圧縮したパケットのヘッダ部にFバイトを、タイムスタンプを圧縮しないパケットのヘッダ部にNバイトを、タイムスタンプ算出情報の更新通知信号にMバイトを、それぞれ要する場合、
前記判定するステップは、前記タイムスタンプ算出情報dt(i)と同じ情報が、前記タイムスタンプ算出情報履歴の中に2×(M+N−F)/(N−F)個以上連続して存在しなければ、前記タイムスタンプ算出情報dTSを更新せずに、タイムスタンプを圧縮しないパケットを送信し、存在すれば、前記タイムスタンプ算出情報dTSを前記タイムスタンプ算出情報dt(i)に更新し、その更新通知信号を含めたタイムスタンプを圧縮しないパケットを送信することを特徴とする、請求項1に記載のヘッダ圧縮方法。 - 同一のタイムスタンプ算出情報を用いて送信側でヘッダ圧縮を受信側でヘッダ復元を行うシステムにおいて、タイムスタンプを含むヘッダを伝送データに付加したパケットを所定のタイムスタンプ算出情報を用いて圧縮して送信するヘッダ圧縮方法であって、
圧縮対象となるパケットi(iは、正の整数)及び当該パケットiに後続する所定数のパケット(i+1)〜j(jは、j>iを満たす整数)について、タイムスタンプを算出するためのタイムスタンプ算出情報dt(i)〜dt(j)をそれぞれ求めるステップと、
複数の前記タイムスタンプ算出情報dt(i)〜dt(j)を蓄積するステップと、
ヘッダ圧縮に用いられるタイムスタンプ算出情報dTSを管理するステップと、
前記タイムスタンプ算出情報dTSと前記タイムスタンプ算出情報dt(i)とを比較し、双方が一致する場合に、当該タイムスタンプ算出情報dTSを用いて前記パケットiのタイムスタンプを圧縮したパケットを送信するステップと、
前記比較によって双方が一致しない場合に、前記タイムスタンプ算出情報dTSを更新せずに又は前記タイムスタンプ算出情報dTSを前記タイムスタンプ算出情報dt(i)に更新しその更新通知信号を含めてのいずれによって、タイムスタンプを圧縮しないパケットを送信するかを、前記タイムスタンプ算出情報dt(i+1)〜dt(j)に基づいて判定するステップとを備える、ヘッダ圧縮方法。 - タイムスタンプを圧縮したパケットのヘッダ部にFバイトを、タイムスタンプを圧縮しないパケットのヘッダ部にNバイトを、タイムスタンプ算出情報の更新通知信号にMバイトを、それぞれ要する場合、
前記判定するステップは、前記タイムスタンプ算出情報dt(i)と同じ情報が、後続する前記タイムスタンプ算出情報dt(i+1)から2×(M+N−F)/(N−F)個以上連続しなければ、前記タイムスタンプ算出情報dTSを更新せずに、タイムスタンプを圧縮しないパケットを送信し、連続すれば、前記タイムスタンプ算出情報dTSを前記タイムスタンプ算出情報dt(i)に更新し、その更新通知信号を含めたタイムスタンプを圧縮しないパケットを送信することを特徴とする、請求項3に記載のヘッダ圧縮方法。 - 同一のタイムスタンプ算出情報を用いて送信側でヘッダ圧縮を受信側でヘッダ復元を行うシステムにおいて、タイムスタンプを含むヘッダを伝送データに付加したビデオパケットを所定のタイムスタンプ算出情報を用いて圧縮して送信するヘッダ圧縮方法であって、
圧縮対象となるビデオパケットi(iは、正の整数)のタイムスタンプを算出するためのタイムスタンプ算出情報dt(i)を求めるステップと、
ヘッダ圧縮に用いられるタイムスタンプ算出情報dTSを管理するステップと、
前記タイムスタンプ算出情報dTSと前記タイムスタンプ算出情報dt(i)とを比較し、双方が一致する場合に、当該タイムスタンプ算出情報dTSを用いて前記ビデオパケットiのタイムスタンプを圧縮したビデオパケットを送信するステップと、
前記比較によって双方が一致しない場合に、前記タイムスタンプ算出情報dTSを更新せずに又は前記タイムスタンプ算出情報dTSを前記タイムスタンプ算出情報dt(i)に更新しその更新通知信号を含めてのいずれによって、タイムスタンプを圧縮しないビデオパケットを送信するかを、前記ビデオパケットiが1つ前のビデオパケット(i−1)と同一のピクチャを構成するものか否かに基づいて判定するステップとを備える、ヘッダ圧縮方法。 - 前記判定するステップは、
ピクチャを構成する最後のパケットだけにセットされるマーカービットを確認し、当該マーカービットが1つ前のビデオパケット(i−1)にセットされていない場合に、前記ビデオパケットiがビデオパケット(i−1)と同一のピクチャを構成するものと判定し、
同一のピクチャを構成しない場合は、前記タイムスタンプ算出情報dTSを更新せずに、タイムスタンプを圧縮しないビデオパケットを送信し、同一のピクチャを構成する場合は、前記タイムスタンプ算出情報dTSを前記タイムスタンプ算出情報dt(i)に更新し、その更新通知信号を含めたタイムスタンプを圧縮しないビデオパケットを送信することを特徴とする、請求項5に記載のヘッダ圧縮方法。 - 同一のタイムスタンプ算出情報を用いて送信側でヘッダ圧縮を受信側でヘッダ復元を行うシステムにおいて、タイムスタンプを含むヘッダを伝送データに付加したパケットを所定のタイムスタンプ算出情報を用いて圧縮して送信するヘッダ圧縮装置であって、
圧縮対象となるパケットi(iは、正の整数)のタイムスタンプを算出するためのタイムスタンプ算出情報dt(i)を求める計算部と、
前記タイムスタンプ算出情報dt(i)を、すでに送信された過去のパケットのタイムスタンプ算出情報履歴として記憶する履歴記憶部と、
ヘッダ圧縮に用いられるタイムスタンプ算出情報dTSを管理する管理部と、入力されるパケットについて、前記タイムスタンプ算出情報dTSを用いてタイムスタンプを圧縮したパケットを送信する第1のヘッダ圧縮部と、
入力されるパケットについて、タイムスタンプを圧縮しないパケットを送信する第2のヘッダ圧縮部と、
前記タイムスタンプ算出情報dTSと前記タイムスタンプ算出情報dt(i)とを比較し、双方が一致する場合に前記第1のヘッダ圧縮部へ前記パケットiを入力させ、双方が一致しない場合に前記第2のヘッダ圧縮部へ前記パケットiを入力させると共に、前記管理部で管理される前記タイムスタンプ算出情報dTSを更新させない又は前記タイムスタンプ算出情報dt(i)に更新させるかを、前記タイムスタンプ算出情報履歴に基づいて判定する圧縮法判定部と、
前記タイムスタンプ算出情報dTSが前記タイムスタンプ算出情報dt(i)に更新された場合、その更新通知信号をパケットに含めるように前記第2のヘッダ圧縮部を制御する更新信号制御部とを備える、ヘッダ圧縮装置。 - タイムスタンプを圧縮したパケットのヘッダ部にFバイトを、タイムスタンプを圧縮しないパケットのヘッダ部にNバイトを、タイムスタンプ算出情報の更新通知信号にMバイトを、それぞれ要する場合、
前記圧縮法判定部は、前記タイムスタンプ算出情報dt(i)と同じ情報が、前記タイムスタンプ算出情報履歴の中に2×(M+N−F)/(N−F)個以上連続して存在しなければ、前記タイムスタンプ算出情報dTSが更新されず、存在すれば、前記タイムスタンプ算出情報dTSが前記タイムスタンプ算出情報dt(i)に更新されるように前記管理部を制御することを特徴とする、請求項7に記載のヘッダ圧縮装置。 - 同一のタイムスタンプ算出情報を用いて送信側でヘッダ圧縮を受信側でヘッダ復元を行うシステムにおいて、タイムスタンプを含むヘッダを伝送データに付加したパケットを所定のタイムスタンプ算出情報を用いて圧縮して送信するヘッダ圧縮装置であって、
圧縮対象となるパケットi(iは、正の整数)及び当該パケットiに後続する所定数のパケット(i+1)〜j(jは、j>iを満たす整数)について、タイムスタンプを算出するためのタイムスタンプ算出情報dt(i)〜dt(j)をそれぞれ求める計算部と、
複数の前記タイムスタンプ算出情報dt(i)〜dt(j)を蓄積する蓄積部と、
ヘッダ圧縮に用いられるタイムスタンプ算出情報dTSを管理する管理部と、
入力されるパケットについて、前記タイムスタンプ算出情報dTSを用いてタイムスタンプを圧縮したパケットを送信する第1のヘッダ圧縮部と、
入力されるパケットについて、タイムスタンプを圧縮しないパケットを送信する第2のヘッダ圧縮部と、
前記タイムスタンプ算出情報dTSと前記タイムスタンプ算出情報dt(i)とを比較し、双方が一致する場合に前記第1のヘッダ圧縮部へ前記パケットiを入力させ、双方が一致しない場合に前記第2のヘッダ圧縮部へ前記パケットiを入力させると共に、前記管理部で管理される前記タイムスタンプ算出情報dTSを更新させない又は前記タイムスタンプ算出情報dt(i)に更新させるかを、前記タイムスタンプ算出情報dt(i+1)〜dt(j)に基づいて判定する圧縮法判定部と、
前記タイムスタンプ算出情報dTSが前記タイムスタンプ算出情報dt(i)に更新された場合、その更新通知信号をパケットに含めるように前記第2のヘッダ圧縮部を制御する更新信号制御部とを備える、ヘッダ圧縮装置。 - タイムスタンプを圧縮したパケットのヘッダ部にFバイトを、タイムスタンプを圧縮しないパケットのヘッダ部にNバイトを、タイムスタンプ算出情報の更新通知信号にMバイトを、それぞれ要する場合、
前記圧縮法判定部は、前記タイムスタンプ算出情報dt(i)と同じ情報が、後続する前記タイムスタンプ算出情報dt(i+1)から2×(M+N−F)/(N−F)個以上連続しなければ、前記タイムスタンプ算出情報dTSが更新されず、連続すれば、前記タイムスタンプ算出情報dTSが前記タイムスタンプ算出情報dt(i)に更新されるように前記管理部を制御することを特徴とする、請求項9に記載のヘッダ圧縮装置。 - 同一のタイムスタンプ算出情報を用いて送信側でヘッダ圧縮を受信側でヘッダ復元を行うシステムにおいて、タイムスタンプを含むヘッダを伝送データに付加したビデオパケットを所定のタイムスタンプ算出情報を用いて圧縮して送信するヘッダ圧縮装置であって、
圧縮対象となるビデオパケットi(iは、正の整数)のタイムスタンプを算出するためのタイムスタンプ算出情報dt(i)を求める計算部と、
ヘッダ圧縮に用いられるタイムスタンプ算出情報dTSを管理する管理部と、
入力されるビデオパケットについて、前記タイムスタンプ算出情報dTSを用いてタイムスタンプを圧縮したビデオパケットを送信する第1のヘッダ圧縮部と、
入力されるビデオパケットについて、タイムスタンプを圧縮しないビデオパケットを送信する第2のヘッダ圧縮部と、
前記タイムスタンプ算出情報dTSと前記タイムスタンプ算出情報dt(i)とを比較し、双方が一致する場合に前記第1のヘッダ圧縮部へ前記ビデオパケットiを入力させ、双方が一致しない場合に前記第2のヘッダ圧縮部へ前記ビデオパケットiを入力させると共に、前記管理部で管理される前記タイムスタンプ算出情報dTSを更新させない又は前記タイムスタンプ算出情報dt(i)に更新させるかを、前記ビデオパケットiが1つ前のビデオパケット(i−1)と同一のピクチャを構成するものか否かに基づいて判定する圧縮法判定部と、
前記タイムスタンプ算出情報dTSが前記タイムスタンプ算出情報dt(i)に更新された場合、その更新通知信号をビデオパケットに含めるように前記第2のヘッダ圧縮部を制御する更新信号制御部とを備える、ヘッダ圧縮装置。 - 前記圧縮法判定部は、
ピクチャを構成する最後のパケットだけにセットされるマーカービットを確認し、当該マーカービットが1つ前のビデオパケット(i−1)にセットされていない場合に、前記ビデオパケットiがビデオパケット(i−1)と同一のピクチャを構成するものと判定し、
同一のピクチャを構成しない場合は、前記タイムスタンプ算出情報dTSが更新されず、同一のピクチャを構成する場合は、前記タイムスタンプ算出情報dTSが前記タイムスタンプ算出情報dt(i)に更新されるように前記管理部を制御することを特徴とする、請求項11に記載のヘッダ圧縮装置。 - タイムスタンプを含むヘッダを伝送データに付加したパケットを所定のタイムスタンプ算出情報を用いて圧縮させるヘッダ圧縮方法を、コンピュータ装置に実行させるためのプログラムであって、
圧縮対象となるパケットi(iは、正の整数)のタイムスタンプを算出するためのタイムスタンプ算出情報dt(i)を求めるステップと、
前記タイムスタンプ算出情報dt(i)を、すでに生成された過去のパケットのタイムスタンプ算出情報履歴として記憶するステップと、
ヘッダ圧縮に用いられるタイムスタンプ算出情報dTSを管理するステップと、
前記タイムスタンプ算出情報dTSと前記タイムスタンプ算出情報dt(i)とを比較し、双方が一致する場合に、当該タイムスタンプ算出情報dTSを用いて前記パケットiのタイムスタンプを圧縮したパケットを生成するステップと、
前記比較によって双方が一致しない場合に、前記タイムスタンプ算出情報dTSを更新せずに又は前記タイムスタンプ算出情報dTSを前記タイムスタンプ算出情報dt(i)に更新しその更新通知信号を含めてのいずれによって、タイムスタンプを圧縮しないパケットを生成するかを、前記タイムスタンプ算出情報履歴に基づいて判定するステップとを含む、ヘッダ圧縮プログラム。 - タイムスタンプを圧縮したパケットのヘッダ部にFバイトを、タイムスタンプを圧縮しないパケットのヘッダ部にNバイトを、タイムスタンプ算出情報の更新通知信号にMバイトを、それぞれ要する場合、
前記判定するステップは、前記タイムスタンプ算出情報dt(i)と同じ情報が、前記タイムスタンプ算出情報履歴の中に2×(M+N−F)/(N−F)個以上連続して存在しなければ、前記タイムスタンプ算出情報dTSを更新せずに、タイムスタンプを圧縮しないパケットを生成し、存在すれば、前記タイムスタンプ算出情報dTSを前記タイムスタンプ算出情報dt(i)に更新し、その更新通知信号を含めたタイムスタンプを圧縮しないパケットを生成することを特徴とする、請求項13に記載のヘッダ圧縮プログラム。 - タイムスタンプを含むヘッダを伝送データに付加したパケットを所定のタイムスタンプ算出情報を用いて圧縮させるヘッダ圧縮方法を、コンピュータ装置に実行させるためのプログラムであって、
圧縮対象となるパケットi(iは、正の整数)及び当該パケットiに後続する所定数のパケット(i+1)〜j(jは、j>iを満たす整数)について、タイムスタンプを算出するためのタイムスタンプ算出情報dt(i)〜dt(j)をそれぞれ求めるステップと、
複数の前記タイムスタンプ算出情報dt(i)〜dt(j)を蓄積するステップと、
ヘッダ圧縮に用いられるタイムスタンプ算出情報dTSを管理するステップと、
前記タイムスタンプ算出情報dTSと前記タイムスタンプ算出情報dt(i)とを比較し、双方が一致する場合に、当該タイムスタンプ算出情報dTSを用いて前記パケットiのタイムスタンプを圧縮したパケットを生成するステップと、
前記比較によって双方が一致しない場合に、前記タイムスタンプ算出情報dTSを更新せずに又は前記タイムスタンプ算出情報dTSを前記タイムスタンプ算出情報dt(i)に更新しその更新通知信号を含めてのいずれによって、タイムスタンプを圧縮しないパケットを生成するかを、前記タイムスタンプ算出情報dt(i+1)〜dt(j)に基づいて判定するステップとを含む、ヘッダ圧縮プログラム。 - タイムスタンプを圧縮したパケットのヘッダ部にFバイトを、タイムスタンプを圧縮しないパケットのヘッダ部にNバイトを、タイムスタンプ算出情報の更新通知信号にMバイトを、それぞれ要する場合、
前記判定するステップは、前記タイムスタンプ算出情報dt(i)と同じ情報が、後続する前記タイムスタンプ算出情報dt(i+1)から2×(M+N−F)/(N−F)個以上連続しなければ、前記タイムスタンプ算出情報dTSを更新せずに、タイムスタンプを圧縮しないパケットを生成し、連続すれば、前記タイムスタンプ算出情報dTSを前記タイムスタンプ算出情報dt(i)に更新し、その更新通知信号を含めたタイムスタンプを圧縮しないパケットを生成することを特徴とする、請求項15に記載のヘッダ圧縮プログラム。 - タイムスタンプを含むヘッダを伝送データに付加したビデオパケットを所定のタイムスタンプ算出情報を用いて圧縮させるヘッダ圧縮方法を、コンピュータ装置に実行させるためのプログラムであって、
圧縮対象となるビデオパケットi(iは、正の整数)のタイムスタンプを算出するためのタイムスタンプ算出情報dt(i)を求めるステップと、
ヘッダ圧縮に用いられるタイムスタンプ算出情報dTSを管理するステップと、
前記タイムスタンプ算出情報dTSと前記タイムスタンプ算出情報dt(i)とを比較し、双方が一致する場合に、当該タイムスタンプ算出情報dTSを用いて前記ビデオパケットiのタイムスタンプを圧縮したビデオパケットを生成するステップと、
前記比較によって双方が一致しない場合に、前記タイムスタンプ算出情報dTSを更新せずに又は前記タイムスタンプ算出情報dTSを前記タイムスタンプ算出情報dt(i)に更新しその更新通知信号を含めてのいずれによって、タイムスタンプを圧縮しないビデオパケットを生成するかを、前記ビデオパケットiが1つ前のビデオパケット(i−1)と同一のピクチャを構成するものか否かに基づいて判定するステップとを含む、ヘッダ圧縮プログラム。 - 前記判定するステップは、
ピクチャを構成する最後のパケットだけにセットされるマーカービットを確認し、当該マーカービットが1つ前のビデオパケット(i−1)にセットされていない場合に、前記ビデオパケットiがビデオパケット(i−1)と同一のピクチャを構成するものと判定し、
同一のピクチャを構成しない場合は、前記タイムスタンプ算出情報dTSを更新せずに、タイムスタンプを圧縮しないビデオパケットを生成し、同一のピクチャを構成する場合は、前記タイムスタンプ算出情報dTSを前記タイムスタンプ算出情報dt(i)に更新し、その更新通知信号を含めたタイムスタンプを圧縮しないビデオパケットを生成することを特徴とする、請求項17に記載のヘッダ圧縮プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001333112A JP3556195B2 (ja) | 2000-11-06 | 2001-10-30 | ヘッダ圧縮方法及び装置並びにプログラム |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000-337093 | 2000-11-06 | ||
JP2000337093 | 2000-11-06 | ||
JP2001333112A JP3556195B2 (ja) | 2000-11-06 | 2001-10-30 | ヘッダ圧縮方法及び装置並びにプログラム |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003407757A Division JP2004159353A (ja) | 2000-11-06 | 2003-12-05 | ヘッダ圧縮方法及び装置並びにプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002204260A JP2002204260A (ja) | 2002-07-19 |
JP3556195B2 true JP3556195B2 (ja) | 2004-08-18 |
Family
ID=26603414
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001333112A Expired - Fee Related JP3556195B2 (ja) | 2000-11-06 | 2001-10-30 | ヘッダ圧縮方法及び装置並びにプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3556195B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7907609B2 (en) * | 2006-01-06 | 2011-03-15 | Qualcomm, Incorporated | Method and apparatus for enhancing RoHC performance when encountering silence suppression |
JP2008079150A (ja) * | 2006-09-22 | 2008-04-03 | Canon Inc | 通信機器及びデータ転送方法 |
JP2008113157A (ja) * | 2006-10-30 | 2008-05-15 | Kyocera Corp | データ圧縮方法及びデータ送信装置 |
JP2008141254A (ja) * | 2006-11-29 | 2008-06-19 | Kyocera Corp | 通信方法及び送信装置並びに受信装置 |
US11330665B2 (en) * | 2020-01-09 | 2022-05-10 | Qualcomm Incorporated | Increasing throughput efficiency in a PDCP channel with ROHC TCP profile |
-
2001
- 2001-10-30 JP JP2001333112A patent/JP3556195B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2002204260A (ja) | 2002-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8774017B2 (en) | Data transmission method, data transmission apparatus, data reception apparatus, and packet data structure | |
JP4582565B2 (ja) | パケット通信におけるロバストヘッダ圧縮 | |
JP3751823B2 (ja) | 実時間サービスにおけるヘッダ圧縮 | |
JP3940159B2 (ja) | ヘッダ圧縮のための効率的ハンド・オフ処理手順 | |
EP1180871B1 (en) | Method and apparatus for header compression | |
KR100663586B1 (ko) | 헤더 압축에 의한 패킷 데이터의 송신 방법 및 장치 | |
US7986719B2 (en) | Packet header compression for lossy channels | |
RU2424627C2 (ru) | Динамическое надежное уплотнение заголовка | |
US6680955B1 (en) | Technique for compressing a header field in a data packet | |
KR100458878B1 (ko) | Fec 코딩 방식에 기초한 가변길이 패킷 송수신 방법 | |
JP3559271B2 (ja) | ヘッダフィールド圧縮時のコンテキスト識別子の定義方法 | |
KR100697355B1 (ko) | 확장 헤더 압축 | |
JP4936079B2 (ja) | セルラー通信ネットワークにおけるハンドオーバ中およびハンドオーバ後のヘッダ圧縮最適化方法 | |
JP4592935B2 (ja) | ヘッダ復元装置およびヘッダ復元方法 | |
JP3425140B2 (ja) | データパケット転送方法および装置 | |
JP4859323B2 (ja) | チェックサムに基づくヘッダ圧縮におけるトランスポート層チェックサムの代替 | |
EP1204258B1 (en) | Scheme, apparatus, and program for header compression | |
JP3556195B2 (ja) | ヘッダ圧縮方法及び装置並びにプログラム | |
JP2004159353A (ja) | ヘッダ圧縮方法及び装置並びにプログラム | |
JP3638939B2 (ja) | ヘッダ復元装置およびヘッダ復元方法 | |
JP3638940B2 (ja) | ヘッダ復元装置およびヘッダ復元方法 | |
GB2403877A (en) | Packet communication with header compression |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040301 |
|
A25B | Request for examination refused [due to the absence of examination request for another application deemed to be identical] |
Free format text: JAPANESE INTERMEDIATE CODE: A2522 Effective date: 20040304 |
|
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: 20040511 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040511 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 3556195 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090521 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100521 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110521 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110521 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120521 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120521 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130521 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130521 Year of fee payment: 9 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |