JP3946465B2 - Ipネットワークでのmpegフロー識別 - Google Patents
Ipネットワークでのmpegフロー識別 Download PDFInfo
- Publication number
- JP3946465B2 JP3946465B2 JP2001197616A JP2001197616A JP3946465B2 JP 3946465 B2 JP3946465 B2 JP 3946465B2 JP 2001197616 A JP2001197616 A JP 2001197616A JP 2001197616 A JP2001197616 A JP 2001197616A JP 3946465 B2 JP3946465 B2 JP 3946465B2
- Authority
- JP
- Japan
- Prior art keywords
- mpeg
- packet
- byte
- data payload
- length
- 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
- 238000000034 method Methods 0.000 claims description 31
- 230000008569 process Effects 0.000 claims description 22
- 238000012545 processing Methods 0.000 claims description 11
- 238000012360 testing method Methods 0.000 description 25
- 230000006870 function Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 1
- 238000013019 agitation Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012913 prioritisation Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2441—Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/611—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/65—Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/70—Media network packetisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/168—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP] specially adapted for link layer protocols, e.g. asynchronous transfer mode [ATM], synchronous optical network [SONET] or point-to-point protocol [PPP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/238—Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
- H04N21/2381—Adapting the multiplex stream to a specific network, e.g. an Internet Protocol [IP] network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/438—Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
- H04N21/4381—Recovering the multiplex stream from a specific network, e.g. recovering MPEG packets from ATM cells
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/61—Network physical structure; Signal processing
- H04N21/6106—Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
- H04N21/6125—Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via Internet
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/643—Communication protocols
- H04N21/64322—IP
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/643—Communication protocols
- H04N21/6437—Real-time Transport Protocol [RTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1101—Session protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Description
【発明の属する技術分野】
本発明は、インターネットプロトコル(IP)ネットワークを介してリアルタイム制約付き情報を伝送する分野に関し、特に、MPEG(Motion Picture Expert Group)−2符号化を用いて符号化されたビデオなどのリアルタイム制約付き情報の特定のストリームを識別し、それを適切な処理処置に与えられるようにすることに関する。
【0002】
【従来の技術】
インターネットプロトコル(IP)ネットワークを介してリアルタイム制約付き情報を含むパケットを伝送する分野における問題は、各タイプの情報に適切な処理を与える必要があることである。これを行うために、ネットワークを通過する際に、パケットを処理する各ポイントにおいて、各パケットが含む情報のタイプを知る必要がある。特に、MPEG(Motion Picture Expert Group)−2符号化等を用いたビデオは、パケットドロップに対する耐性がない。したがって、MPEG−2ビデオを含むパケットストリームの処理に当たり、パケットドロップに対する敏感性が低い、または耐性のある他のストリームよりも、あらゆるMPEG−2ビデオストリームを優先する必要がある。
【0003】
従来技術では、たとえばパケットの内容を調べることにより、パケットが実際にMPEG−2ビデオを含むか否かを実際に確かめることなく、予め定義された基準に基づいてパケットを優先させる。たとえば、パケットフローを定義し、そのフロー内のすべてのパケットがMPEG−2パケットであるものと仮定し、そのフローからのパケットを、それぞれの実際の内容に関係なく、あたかもMPEG−2パケットを含むかのように処理する。フローは、その発信IPアドレスおよび宛先IPアドレスを特定するか、またはその発信/宛先ポートアドレスを特定することで、定義されることが多い。
【0004】
パケットを優先させるために用いられる別の従来技術は、IPパケットヘッダの一部である、いわゆる「サービスタイプ(TOS:Type - of - Service)に基づく。TOSを用いて粗い優先化(coarse prioritization)を示すことができ、それによりたとえば、TOSバイトが予め定義された値を有するか、あるいはTOSバイトの値が少なくとも予め定義された値であるあらゆるパケットがMPEG−2ビデオを含み、それに従って処理されると仮定する。
【0005】
こういった従来技術は、本当にパケットがMPEG−2ビデオを含んでいるか否かについて、パケットの内容を実際に調べないため、MPEG−2ビデオを含まないパケットを、あたかもMPEG−2ビデオを含むかのように処理することが起こりうる。処理システムに十分な帯域幅がある場合には、こういった非MPEG−2パケットすなわちこういった偽のMPEG−2パケットを本当に実際のMPEG−2パケットであるかのように処理しても問題にはならない。しかし、帯域幅が限られている場合には(帯域幅の制限がないシステムとは、一体全体どんなシステムなのか)、こういった偽のMPEG−2パケットをドロップすることのできない実際のMPEG−2パケットとして処理すると、不必要にシステムの資源を消費することになる。さらに、こういった従来技術による優先化構成は、実際にはMPEG−2ビデオではないのに、MPEG−2ビデオ送信中と示すようフローまたはTOSバイトを設定する不謹慎なユーザにより悪用される可能性がある。
【0006】
加えて、IPネットワークでのフローセットアップ(フローは固定ポートを特定する静的構成である)では、フローを変更する必要がある、すなわち、a)ポイントツーポイント接続がポートの1つを変更するとき、b)新しい接続を行ったとき、またはc)それと同様のことが発生したときに、その都度、管理および/または再構成する必要がある。フローを変更する必要があるときはその都度、MPEG−2ビデオストリームが流れる際に通る各交換機または処理ユニットを新しいフロー識別情報で更新しなければならないことに留意する。したがって、結果生じるフロー撹拌により、常に管理負担が存在する。
【0007】
TOSバイトを用いてフローがMPEG−2ビデオを含むと定義する従来技術の構成において生じる別の問題は、フローが通過するすべての交換機または処理ユニットが、MPEG−2ビデオを示す共通のTOSバイト値、または該値のセットに同意する必要があることである。そうしないと、交換機または処理ユニットによっては、MPEG−2パケットを適宜処理しない、例えばMPEG−2パケットをドロップするものがでてくる可能性がある。特に、フローが複数のネットワークを移行する場合、このような同意を調停することは実際には困難である。
【0008】
【課題を解決するための手段】
従来技術に伴う問題を、従来技術で行われていたように、MPEG−2ビデオを含むか否かについての情報を含むと仮定される予め定義されたストリームまたは優先レベルを用いるのではなく、実際にパケットがMPEG−2ビデオを含むか否かを決定することで、本発明の原理に従って克服できることが認められている。より具体的に、本発明の一態様によれば、MPEG−2の「同期」バイトがIPパケットペイロード内で検索され、同期バイトを示すパターンが見つかった場合には同期バイトを識別し、そのパケットがMPEG−2ビデオを含むと決定する。同期バイトは、テレビ受像器がMPEG−2トランスポートストリームパケットを同期できるようにするために、地上無線放送(over-the-air broadcasting)の場合にMPEG−2において定義されたものである。MPEG−2ビデオ、たとえばMPEG−2トランスポートストリームパケットは、IPパケットに組み込まれる前に、リアルタイムプロトコル(RTP)パケット内に組み込まれても、または組み込まれなくてもよいことに留意する。
【0009】
【発明の実施の形態】
以下は、本発明の原理を単に説明するものである。したがって、当業者は、本明細書に明示的に記載または図示されていなくとも、本発明の原理を具現するとともに本発明の精神および範囲内に包含される各種構成を考案しうることが分かろう。さらに、本明細書に記載のすべての例および条件語は根本的に、読み手による本発明の原理および本発明者が捧げる概念の理解を助けて当分野を発展させる教示目的のみを意図するとともに、このように具体的に記載する例および条件に制限されないものと考慮される。さらに、本発明の原理、態様、および実施形態を本明細書において記述するすべての文、ならびにその特定例は、構造的同等物および機能的同等物の双方を包含するものと意図される。加えて、このような同等物には、現在知られている同等物、ならびに将来開発される同等物の双方、すなわち、開発される、構造に関係なく同一機能を実施するあらゆる要素が含まれるものと意図される。
【0010】
したがって、たとえば、当業者は、本明細書におけるブロック図は、本発明の原理を具現する例示的な回路の概念図を表すことが分かろう。同様に、あらゆるフローチャート、流れ図、状態遷移図、擬似コードなどは、コンピュータまたはプロセッサが明示的に図示されているか否かに関わらず、実質的にコンピュータ読み取り可能媒体において表現し、かつコンピュータまたはプロセッサにより実行可能な各種プロセスを表すことも分かろう。
【0011】
「プロセッサ」とラベル付けられた機能ブロックを含め、図示する各種要素の機能は、専用ハードウェアならびに適切なソフトウェアに関連するソフトウェアを実行可能なハードウェアの使用を通して提供することができる。プロセッサによって提供される場合、単一の専用プロセッサにより、単一の共有プロセッサにより、またはいくつかが共有される場合もある複数の個々のプロセッサにより、機能を提供しうる。さらに、「プロセッサ」または「コントローラ」という語の明示的な使用は、ソフトウェアを実行可能なハードウェアを排他的に指すものと解釈すべきではなく、制限なしでデジタル信号プロセッサ(DSP)ハードウェア、ソフトウェアを格納するための読み取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、および不揮発性記憶装置を暗黙的に含みうる。従来のハードウェアおよび/またはカスタムハードウェアの他のハードウェアもまた含まれうる。同様に、図に示すあらゆる交換機は、概念のみのものである。それら交換機の機能は、プログラム論理の動作、専用論理、プログラム制御と専用論理の相互作用を通して、さらには手動で実行可能であり、文脈からより具体的に理解するにつれ、実施者が特定の技術を選択可能である。
【0012】
本発明の特許請求の範囲において、特定の機能を実行する手段として表現される任意の要素は、その機能を実行する任意の方法を包含するものと意図され、たとえば、a)その機能を実行する回路素子の組み合わせ、またはb)任意の形態のソフトウェア(よって、ファームウェア、マイクロコードなどを含む)とそのソフトウェアを実行して該機能を行う適切な回路との組み合わせ、が含まれる。このような特許請求の範囲によって定義される本発明は、実際、記載される各種手段によって提供される機能性を組み合わせ、特許請求の範囲が要求する様式で寄せ集めることに存在する。したがって、出願人は、これらの機能性を提供可能なあらゆる手段を本明細書に示すものの同等物と見なす。
【0013】
本明細において別記しない限り、図面は一定の比率で描画されたものではない。
【0014】
図1は、本発明の原理に従い、パケットのIPデータペイロードのみに基づいて、MPEG−2ビデオを含むか否かについての決定を行うことができる、一般的なタイプのインターネットプロトコル(IP)パケット101である。より具体的に、本発明の一態様によれば、パケット101のIPパケットデータペイロード内のMPEG−2ストリームの「同期」バイトを検索する。同期バイトを示すパターンが見つかると、そのパケットがMPEG−2ビデオを含むものと決定する。見つからない場合には、そのパケットがMPEG−2ビデオではない情報を含むものと決定する。
【0015】
パケット101は、IPデータペイロード111に先行する一連のヘッダを有する。特に、パケット101は、20バイト長のIPヘッダ105と、8バイト長の、信頼性のないデータグラムプロトコル/伝送制御プロトコル(UDP/TCP)ヘッダ107と、を含む。従来のIPヘッダ105およびUDP/TCPヘッダ107は、従来通り共にグループ化され、IPパケットのヘッダと呼ばれることに留意する。説明を明確にする目的および教示目的のためにのみ、これらを図1において別個に示している。
【0016】
IPパケット101は、図示のように、UDPパケットであることに留意する。これは、現時点で、TCPがエンドツーエンド通信を必要とすることから、UDPが通常リアルタイムストリーミングに用いられるためである。したがって、本発明について、本明細書ではIPにおけるUDPパケットに関して説明する。しかし、当業者は、本発明の原理をTCPパケットに適用する方法を容易に認識しよう。
【0017】
UDP/TCPヘッダ107の後には、IPデータペイロード111が続く。IPデータペイロード111内に含まれるバイト数は0以上の範囲と柔軟性があるが、イーサネットなど特定の伝送構成では他の制限が課される場合がある。オプションのリアルタイムプロトコル(RTP)ヘッダ109は、存在する場合、12バイト長であり、IPデータペイロード111内にある。
【0018】
図2は、IPデータペイロード111を拡張したものを示し、これは、パケット101がUDPパケットであるように、UDPデータペイロードである。図2は、UDPデータペイロード111がMPEG−2ビデオを搬送する一例を示している。上述したように、RTPヘッダ109はUDPデータペイロード111内のMPEG−2ビデオに先行しうる。
【0019】
課される任意のサイズ制限に準拠して、UDPデータペイロード111は、あらゆる任意の数のMPEG−2トランスポートストリームパケット201を搬送することができる。MPEG−2トランスポートストリームパケット201はそれぞれ、188バイト長である。MPEG−2トランスポートレイヤの定義により、各MPEG−2トランスポートストリームパケット201の最初のバイトは常にいわゆる「同期」バイト203であり、これは0×47の値を有する。
【0020】
本発明の原理によれば、同期バイトの間隔は規則的であるため、MPEG−2ビデオの予期されるパターン、すなわちUDPデータペイロード111の(任意のオプションとしてのRTPヘッダの後の)、最初のバイトが同期バイトであり、その後に188の倍数であるUDPデータペイロード111における各バイト位置に同期バイトがあるパターンの存在について、UDPデータペイロード111を検索することが可能である。同期バイトをUDPデータペイロード111の(任意のオプションのRTPヘッダの後の)最初のバイトとして見つけることは、そのIPパケットがMPEG−2ビデオを含むことを強く示唆するとともに、最初のバイトがMPEG−2ビデオを含むパケットである同期バイト値を有する、長さ188のUDPデータペイロードの場合、好ましくは潜在的な各同期バイト位置をチェックすべきであるものと仮定される。これは、MPEG−2ビデオが実際に発見される信頼度が、各位置が実際に同期バイト値を含む場合にかなり高くなるからである。
【0021】
予期される位置の殆どが同期バイトを含むが、1つまたは複数の位置が同期バイトを含まない場合、そのパケットをMPEG−2ビデオを含むものとして宣言するか否かは、システムの設計時または構成時に実施者により決定される。たとえば、同期バイトであると予期される位置のうちのたった1つが同期バイトではなく、かつIPパケットが伝送エラーを有すると示されている場合、実施者は、システムに依然としてそのパケットをMPEG−2ビデオを含むものとして処理させるよう決定することができる。
【0022】
図3は、本発明の原理に従い、IPパケットを処理してMPEG−2ビデオを含むか否かを決定する例示的なプロセスをフローチャートの形態で示す。本プロセスは、IPパケットを受信したときに、ステップ301において開始される。次に、ステップ303において、パケットを処理し、パケット内のUDPデータペイロードをポイントするポインタ、すなわちパケット内をポイントするポインタがUDPデータペイロードをポイントするよう増分する。その後、条件分岐点305でテストを行い、UDPデータペイロードの長さが188の倍数であるか否かを決定する。ステップ305におけるテスト結果が「イエス」である場合、これはRTPヘッダがなく、かつUDPデータペイロードの長さがMPEG−2トランスポートストリームパケットの長さの倍数に対応することを示し、制御が条件分岐点307に渡り、ここでテストを行い、ポインタがポイントするUDPデータペイロードのバイトが同期バイトの値、たとえば0×47であるか否かを決定する。
【0023】
ステップ307におけるテスト結果がイエスである場合、制御はステップ309に渡り、ここでポインタを188バイト、すなわちMPEG−2トランスポートストリームパケットの長さだけ増分する。この結果、ポインタがa)UDPデータペイロードが実際にMPEG−2ビデオを含んでいる場合には、次のMPEG−2トランスポートストリームパケットの冒頭、またはパケットの末端でもあるUDPデータペイロードの末端を、あるいはb)UDPデータペイロードが実際にはMPEG−2ビデオを含んでいない場合には、単なる無作為のバイトをポイントする。その後、制御は条件分岐点311に渡り、ここでテストを行い、IPパケットの末端に達したか否かを決定する。ステップ311におけるテスト結果がノーである場合、これは処理するUDPデータペイロードのさらなる部分がまだ残っていることを示し、制御がステップ307に戻り、パケットの残りを上述したように処理する。ステップ311におけるテスト結果がイエスである場合、制御はステップ313に渡り、本発明の一態様に従って、そのIPパケットがMPEG−2ビデオを含むと宣言する。次に、該IPパケットをそれに応じてさらに処理しうる。本プロセスは、ステップ315において終了する。
【0024】
ステップ307におけるテスト結果がノーである場合、これは188の倍数位置の最初のバイトまたは別のバイトが同期バイトの値ではないことを示し、制御はステップ315に渡り、本プロセスが終了する。
【0025】
ステップ305におけるテスト結果がノーである場合、制御は条件分岐点317に渡り、ここでテストを行い、UDPデータペイロードの長さが188にRTPヘッダの長さを足したものの倍数に等しいか否かを決定する。ステップ317におけるテスト結果がイエスである場合、これはUDPデータペイロードがRTPヘッダを含み、したがってMPEG−2トランスポートストリームパケットでありうることを示し、制御がステップ条件分岐点319に渡ってテストを行い、長さがRTPヘッダに対応するUDPデータペイロードの最初のバイトがRTPヘッダの特徴を有しているか否か、たとえば、ペイロードタイプフィールドがあると予期される場所にビデオインジケータがあるか否かを決定する。より具体的に、ペイロードタイプフィールドは7ビットであり、MPEG−2トランスポートストリームデータについての定義は0×21である。
【0026】
ステップ319におけるテスト結果がノーである場合、これはRTPヘッダがない、またはヘッダがビデオを示すものではないことを示し、制御はステップ315に渡り、IPパケットをMPEG−2ビデオを含むものであると宣言せずに、本プロセスが終了する。ステップ319におけるテスト結果がイエスである場合、これはビデオ用のRTPヘッダが見つかったことを示し、制御がステップ321に渡り、ここでポインタをRTPヘッダの後の最初のバイトをポイントするよう増分する。次に、制御は条件分岐点307に渡り、本プロセスが上述したように継続する。
【0027】
ステップ317におけるテスト結果がノーである場合、これはIPパケットが整数のMPEG−2ビデオトランスポートストリームパケットを含まないことを示し、制御がステップ323に渡り、ここでUDPデータペイロードへのオフセットとして用いるカウンタ変数COUNTを0に設定する。次に、条件分岐点325において、COUNTが188とRTPヘッダの長さの和に等しいか否かを決定する。ステップ325におけるテスト結果がイエスである場合、これはUDPデータペイロードにおいて最初のMPEG−2ビデオトランスポートストリームパケットの同期バイトを潜在的に含みうるすべての位置をテストし、かつ同期バイトが見つからなかったことを示し、本プロセスはステップ315において終了する。すなわち、パケットはMPEG−2ビデオを含んでいると宣言されない。ステップ325におけるテスト結果がノーである場合、これはUDPデータペイロードにおいて最初のMPEG−2ビデオトランスポートストリームパケットの同期バイトを潜在的に含みうる位置をすべてはテストしていないことを示し、制御が条件分岐点327に渡り、ここで別のポインタPACKTPTをCOUNTの値に設定する。
【0028】
その後、ステップ329において、UDPデータペイロード内の、PACKTPTがポイントするバイトをテストして、該バイトが同期バイトの値を有するか否かを決定する。ステップ329におけるテスト結果がノーである場合、これはPACKTPTが現在ポイントしているバイトが同期バイトではないことを示し、制御がステップ331に渡り、ここでCOUNTがUDPデータペイロードにおける次のバイトをポイントするようにCOUNTを増分する。次に、制御はステップ325に戻り、本プロセスが上述したように継続する。
【0029】
ステップ329におけるテスト結果がイエスである場合、これはPACKTPTが現在ポイントしているバイトが本当に同期バイトの値を有することを示し、制御が条件分岐点333に渡ってテストを行い、COUNTがポイントしている場所からパケットにおける残りの数のバイトが188未満であるか否かを決定する。ステップ333におけるテスト結果がイエスである場合、これはMPEG−2ビデオトランスポートストリームパケット全体をUDPデータペイロード内に含むことは不可能なことを示し、制御がステップ315に渡り、本プロセスが終了する。すなわち、パケットは、MPEG−2ビデオを含むと宣言されない。ステップ333におけるテスト結果がノーである場合、これはMPEG−2ビデオトランスポートストリームパケット全体をUDPデータペイロード内に含むことが可能なことを示し、制御はステップ335に渡り、ここでPACKTPTを188だけ増分する。
【0030】
この時点で、UDPデータペイロードが実際にMPEG−2ビデオを含み、かつCOUNTが現在ポイントしているバイトが同期バイトである場合、PACKTPTがポイントしているバイトも同期バイトの値を有するか、またはパケットの末端または末端を越えた場所にあるはずである。このために、条件分岐点337において、テストを行い、パケットの末端に達しているか、または末端を越えているか否かを決定する。ステップ337におけるテスト結果がノーである場合、これはPACKTPTがUDPデータペイロード内のバイトをポイントしていることを示し、制御がステップ329に戻り、本プロセスが上述したように継続する。ステップ337におけるテスト結果がイエスである場合、これはPACKTPTがパケットの末端または末端を越えた場所をポイントしていることを示し、制御がステップ313に渡り、本プロセスが上述したように継続する。
【0031】
IPに関する明細書の説明は、本出願を作成する時点において本質的に広く使用されているIPバージョン4を指すことに留意する。当業者は、本発明の原理を後に開発されたIPバーション、たとえば、実施されるはずの提案されているバージョン6などに容易に適用できよう。
【図面の簡単な説明】
【図1】本発明の原理に従い、パケットのIPデータペイロードのみに基づいてMPEG−2を含むか否かについて決定を行うことができる、一般的なタイプのインターネットプロトコル(IP)パケットを示す。
【図2】図1に示すパケットの一部を拡大したものを示す。
【図3】本発明の原理に従い、IPパケットを処理してMPEG−2ビデオを含むか否かを決定する例示的なプロセスをフローチャートの形態で示す。
Claims (9)
- インターネットプロトコル(IP)パケット(101、111)を処理する方法であって、前記パケットがMPEG(Motion Picture Expert Group)―2ビデオを含むことを、IPデータペイロード内のリアルタイムプロトコル(RTP)ヘッダ情報を除く前記IPパケットの前記IPデータペイロード(111)の内容のみに基づいて識別するステップを含み、
前記識別ステップは、前記IPデータペイロード内に、MPEG−2ビデオの存在を示すMPEG−2同期バイトの少なくとも1つの予期されるパターンがあるか否かを決定することで該識別を行っている方法。 - 前記識別ステップにおいて、前記パケットがMPEG−2ビデオを含むと識別された場合、該MPEG−2ビデオを含むパケットに割り当てられた優先度を用いて、前記IPパケットを処理するステップをさらに含む、請求項1記載の方法。
- 前記決定は、
前記IPデータペイロードの、リアルタイムプロトコル(RTP)ヘッダ後の最初のバイトをMPEG−2同期バイトの値と比較するステップと、
該比較ステップの結果が、前記IPデータペイロードの前記最初のバイトがMPEG−2同期バイトと同じ値であるという場合、前記IPパケットをMPEG−2パケットであるとするステップと、
からなるものである請求項1記載の方法。 - 前記決定は、
前記IPデータペイロードの、RTPヘッダ後の最初のバイトをMPEG−2同期バイトの値と比較するステップと、
該比較ステップの結果が、前記IPデータペイロードの前記最初のバイトがMPEG−2同期バイトであり、かつRTPヘッダ後の前記IPデータペイロードの長さがMPEG−2トランスポートストリームパケットの長さと同じである場合、前記IPパケットをMPEG−2パケットであるとするステップとからなるものである請求項1記載の方法。 - 前記決定は、
前記IPデータペイロードの長さまたは前記IPデータペイロードからRTPヘッダの長さを引いたものが、MPEG−2トランスポートストリームパケットの長さの整数倍ではない場合に、前記方法を終了し、前記予期されるパターンが前記パケットに存在しないことを示し、
ポインタを前記IPデータペイロード内のあるバイトにポイントさせるステップであって、前記IPデータペイロードの前記長さがMPEG−2トランスポートストリームパケットの長さの整数倍である場合、前記バイトは前記IPデータペイロードにおける最初のバイトであり、そして前記IPデータペイロードからRTPヘッダの長さを引いたものがMPEG−2トランスポートストリームパケットの長さの整数倍である場合、前記バイトは前記IPデータペイロードにおける、リアルタイムプロトコル(RTP)ヘッダの長さの後の最初のバイトである、ポイントさせるステップと、
ポイントされている前記バイトと、MPEG−2同期バイトの値との比較を実行し、最新の比較結果において、前記IPデータペイロードの前記ポイントされたバイトがMPEG−2同期バイトと同じ値であるという場合、前記IPパケットをMPEG−2パケットの候補であると宣言する比較実行ステップと、
MPEG−2トランスポートストリームパケットの長さだけ前記IPパケットの末端に向けてオフセットした、前記IPデータペイロード内のバイトをポイントするよう前記ポインタを調整するステップと、
最新の前記比較実行が前記IPパケットをMPEG−2パケットの候補であると宣言し、かつ前記調整ステップで前記IPデータペイロードの末端にまだ達していない間は、前記比較実行ステップおよび前記調整ステップを繰り返すステップと、
前記調整ステップの実行を試みる間に前記IPデータペイロードの末端に達し、かつ前記最新の比較の実行ステップが前記IPパケットをMPEG−2パケットの候補であると宣言した場合、前記パケットをMPEG−2パケットであるとするステップと、
をさらに含む、請求項1記載の方法。 - 前記決定は、リアルタイムプロトコルヘッダの長さおよび1つのMPEG−2トランスポートストリームパケットの長さに渡る検索により、同期バイトがあるところから1つのMPEG−2トランスポートストリームの長さだけオフセットしたところに別の同期バイトがある場合に、前記IPパケットをMPEG−2パケットであるとする、請求項1記載の方法。
- 前記決定は、リアルタイムプロトコルヘッダの長さおよび1つのMPEG−2トランスポートストリームパケットの長さに渡る検索により、前記IPパケットの末端に達するか、または末端を越えるまで、同期バイトの値があるところから1つのMPEG−2トランスポートストリームパケットの長さのそれぞれ整数倍だけオフセットしたところに同期バイトの値が見つかる場合、前記IPパケットをMPEG−2パケットであるとする、請求項1記載の方法。
- 前記決定ステップは、リアルタイムプロトコルヘッダの長さおよび1つのMPEG−2トランスポートストリームパケットの長さに渡る検索により、パケットの末端があるところから1つのMPEG−2トランスポートストリームパケットの長さだけオフセットしたところに同期バイトの値が見つかる場合、前記IPパケットをMPEG−2パケットであるとする、請求項1記載の方法。
- 前記少なくとも1つの予期されるパターンは、a)前記IPデータペイロードのリアルタイムプロトコル(RTP)ヘッダ(109)の長さ後の最初のバイトがMPEG−2同期バイトの値であり、かつ前記RTPヘッダの長さ後の前記IPデータペイロードが188バイトの長さを有するパターン、b)前記IPペイロードのリアルタイムプロトコル(RTP)ヘッダの長さ後の最初のバイト、およびその後前記IPデータペイロードの末端まで188バイト毎に、MPEG−2同期バイトの値があるパターン、c)前記IPデータペイロードの最初のバイト、およびその後前記IPデータペイロードの末端まで188バイト毎にMPEG−2同期バイトの値があるパターン、d)前記IPデータペイロードの最初のバイトがMPEG−2同期バイトの値であり、かつ前記IPデータペイロードが188バイトの長さを有するパターン、からなるパターンセットのうちの少なくとも1つである請求項1記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/608473 | 2000-06-30 | ||
US09/608,473 US7200670B1 (en) | 2000-06-30 | 2000-06-30 | MPEG flow identification for IP networks |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002084323A JP2002084323A (ja) | 2002-03-22 |
JP3946465B2 true JP3946465B2 (ja) | 2007-07-18 |
Family
ID=24436644
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001197616A Expired - Fee Related JP3946465B2 (ja) | 2000-06-30 | 2001-06-29 | Ipネットワークでのmpegフロー識別 |
Country Status (6)
Country | Link |
---|---|
US (1) | US7200670B1 (ja) |
EP (1) | EP1175098B1 (ja) |
JP (1) | JP3946465B2 (ja) |
AU (1) | AU5411501A (ja) |
CA (1) | CA2345314C (ja) |
DE (1) | DE60100204T2 (ja) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7912220B2 (en) * | 2001-02-05 | 2011-03-22 | Broadcom Corporation | Packetization of non-MPEG stream data in systems using advanced multi-stream POD interface |
US7899924B2 (en) * | 2002-04-19 | 2011-03-01 | Oesterreicher Richard T | Flexible streaming hardware |
KR100442473B1 (ko) * | 2002-05-30 | 2004-07-30 | 주식회사 클릭티브이 | 네트워크를 통한 디지털 동영상제어장치 |
JP3821086B2 (ja) * | 2002-11-01 | 2006-09-13 | ソニー株式会社 | ストリーミングシステム及びストリーミング方法、クライアント端末及びデータ復号方法、並びにプログラム |
KR100546398B1 (ko) * | 2003-11-25 | 2006-01-26 | 삼성전자주식회사 | 압축된 오디오 비트스트림에서 싱크 워드를 찾는 방법 및상기 방법을 기록한 기록 매체 |
WO2006012496A2 (en) * | 2004-07-23 | 2006-02-02 | Beach Unlimited Llc | Trickmodes and speed transitions |
US7860087B2 (en) * | 2004-08-05 | 2010-12-28 | Lg Electronics Inc. | Distinguishing between protocol packets in a wireless communication system |
KR100918800B1 (ko) * | 2004-08-05 | 2009-09-25 | 엘지전자 주식회사 | 주파수 계층 수렴 방식의 사용을 일시 중단시키는 방법 |
EP1776780B1 (en) * | 2004-08-12 | 2015-10-21 | LG Electronics Inc. | Reception in dedicated service of wireless communication system |
JP2007027898A (ja) * | 2005-07-12 | 2007-02-01 | Matsushita Electric Ind Co Ltd | 映像ストリーム受信装置及びその方法 |
JP2007027812A (ja) * | 2005-07-12 | 2007-02-01 | Matsushita Electric Ind Co Ltd | 映像ストリーム処理装置、集積回路装置、及び方法 |
CN102405626B (zh) | 2009-06-12 | 2015-08-05 | Wi-Lan研究所公司 | 在通信网络中智能丢弃的系统和方法 |
US8627396B2 (en) | 2009-06-12 | 2014-01-07 | Cygnus Broadband, Inc. | Systems and methods for prioritization of data for intelligent discard in a communication network |
US8531961B2 (en) | 2009-06-12 | 2013-09-10 | Cygnus Broadband, Inc. | Systems and methods for prioritization of data for intelligent discard in a communication network |
EP2309668A1 (en) | 2009-10-09 | 2011-04-13 | Thomson Licensing | A digital receiver and corresponding digital transmission system server |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6298387B1 (en) | 1996-07-12 | 2001-10-02 | Philips Electronics North America Corp | System for detecting a data packet in a bitstream by storing data from the bitstream in a buffer and comparing data at different locations in the buffer to predetermined data |
US6154468A (en) | 1996-10-24 | 2000-11-28 | Philips Electronics North America Corporation | Fast sync-byte search scheme for packet framing |
EP0901261B1 (en) * | 1997-09-05 | 2013-01-09 | Hitachi, Ltd. | Transport protocol conversion method and protocol conversion equipment |
JPH11136225A (ja) | 1997-10-30 | 1999-05-21 | Matsushita Electric Ind Co Ltd | ビットストリームにおけるスタートコードを検出する方法および装置 |
US6400720B1 (en) * | 1999-06-21 | 2002-06-04 | General Instrument Corporation | Method for transporting variable length and fixed length packets in a standard digital transmission frame |
-
2000
- 2000-06-30 US US09/608,473 patent/US7200670B1/en not_active Expired - Lifetime
-
2001
- 2001-01-15 DE DE60100204T patent/DE60100204T2/de not_active Expired - Lifetime
- 2001-01-15 EP EP01300299A patent/EP1175098B1/en not_active Expired - Lifetime
- 2001-04-26 CA CA002345314A patent/CA2345314C/en not_active Expired - Fee Related
- 2001-06-28 AU AU54115/01A patent/AU5411501A/en not_active Abandoned
- 2001-06-29 JP JP2001197616A patent/JP3946465B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
EP1175098B1 (en) | 2003-04-23 |
DE60100204T2 (de) | 2004-02-05 |
CA2345314A1 (en) | 2001-12-30 |
JP2002084323A (ja) | 2002-03-22 |
EP1175098A1 (en) | 2002-01-23 |
US7200670B1 (en) | 2007-04-03 |
CA2345314C (en) | 2009-11-03 |
AU5411501A (en) | 2002-01-03 |
DE60100204D1 (de) | 2003-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3946465B2 (ja) | Ipネットワークでのmpegフロー識別 | |
CN113411313B (zh) | 数据传输方法、装置和系统 | |
US8619768B2 (en) | Method for dynamic sensor network processing | |
KR101434418B1 (ko) | 데이터 레코드를 업데이트하는 방법 및 이 방법을 수행하는디바이스 | |
US9781474B2 (en) | Content playback information estimation apparatus and method and program | |
CN101518020A (zh) | 自动分组标记 | |
CN109672929B (zh) | 一种视频业务报文的检测方法和设备 | |
KR101438005B1 (ko) | 서버와 클라이언트 단말 간에 데이터를 패킷 단위로 실시간 송/수신하기 위한 방법, 이에 상응하는 서버 및 단말 | |
CN110830460B (zh) | 一种连接建立方法、装置、电子设备及存储介质 | |
US8862768B2 (en) | Method and system for packetizing data for servicing traffic end-to-end | |
US11165845B2 (en) | Method and apparatus for efficiently prioritizing elements in a video stream for low-bandwidth transmission | |
US20070237180A1 (en) | Method and apparatus for generating transport frame, and method and apparatus for processing transport frame | |
US7804773B2 (en) | System and method of managing data flow in a network | |
US9807204B2 (en) | Optimized message processing | |
US8054748B2 (en) | Home-network and method for allocating channel thereof | |
CN109905729A (zh) | 使用跨层优化发送多媒体数据封包的方法和装置 | |
JP4986265B2 (ja) | 通信装置、その動作方法、及び動作プログラム | |
KR20160123562A (ko) | 데이터 패킷 처리를 위한 수신기 장치 및 수신기 장치에서의 데이터 패킷 처리 방법 | |
CN116980657B (zh) | 一种视频数据传输处理方法、装置及设备 | |
US10772010B2 (en) | Transmission apparatus, method for controlling transmission, and recording medium | |
US20230155946A1 (en) | Mesh network system and communication method of the same having data flow transmission sorting mechanism | |
WO2021031190A1 (zh) | 一种路由器及其数据包的评估方法 | |
Sun et al. | A kernel-level RTP for efficient support of multimedia service on embedded systems | |
CN117176670A (zh) | 报文的调度方法和装置、存储介质及电子装置 | |
CN113038289A (zh) | 发送和接收视频数据方法、终端设备和服务器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050705 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050711 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20051011 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20051014 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060111 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060329 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060602 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060705 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060823 |
|
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: 20070319 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070411 |
|
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: 20110420 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110420 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120420 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120420 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130420 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130420 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140420 Year of fee payment: 7 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
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 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |