JP4216195B2 - 非同期ネットワークを介するストリームの送信 - Google Patents

非同期ネットワークを介するストリームの送信 Download PDF

Info

Publication number
JP4216195B2
JP4216195B2 JP2003559091A JP2003559091A JP4216195B2 JP 4216195 B2 JP4216195 B2 JP 4216195B2 JP 2003559091 A JP2003559091 A JP 2003559091A JP 2003559091 A JP2003559091 A JP 2003559091A JP 4216195 B2 JP4216195 B2 JP 4216195B2
Authority
JP
Japan
Prior art keywords
packets
packet
network
transport
stream
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2003559091A
Other languages
English (en)
Other versions
JP2006507697A (ja
Inventor
ジョエル ショーエンブラム,
Original Assignee
サイエンティフィック−アトランタ, インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by サイエンティフィック−アトランタ, インコーポレイテッド filed Critical サイエンティフィック−アトランタ, インコーポレイテッド
Publication of JP2006507697A publication Critical patent/JP2006507697A/ja
Application granted granted Critical
Publication of JP4216195B2 publication Critical patent/JP4216195B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2801Broadband local area networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/10Architectures or entities
    • H04L65/102Gateways
    • H04L65/1023Media gateways
    • H04L65/1026Media gateways at the edge
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/10Architectures or entities
    • H04L65/102Gateways
    • H04L65/1033Signalling gateways
    • H04L65/1036Signalling gateways at the edge
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/762Media network packet handling at the source 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport
    • H04L2012/6483Video, e.g. MPEG

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Microcomputers (AREA)

Description

本発明は、一般に、広帯域通信システムにおけるトランシーバに関し、特に、非同期ネットワークを介するトランスポート(輸送)ストリームの送信のための装置および方法に関する。
(関連する出願の相互参照)
本出願は、2002年1月4日に出願された「A DEVICE FOR TRANSCEIVING MPEG−2 TRANSPORT STREAMS OVER IP NETWORKS」という名称の、同時係属中の、米国仮出願第60/345,388号に基づきその優先権を主張するものであり、その全体を本明細書において参照のため援用する。
本願は、「RECEIVING STREAMS OVER ASYNCHRONOUS NETWORKS」という名称で、本願と同日に同一人の発明者を有して出願されている同時係属中の米国特許出願に関連し、その全体を本明細書において参照のため援用する。
(本発明の背景)
従来の加入者テレビシステムは、音声(audio)およびビデオ情報の圧縮のための確立された規格であるMPEG−2などのデジタルフォーマットでのプログラムを提供する。従来の加入者電話システムに採用される配信メカニズムは、衛星、地上、およびケーブル通信ネットワークを含む。デジタルプログラム製品の配信に比較的新しく参入したのは広帯域パケット交換ネットワークである。
広帯域パケット交換ネットワーク界とテレビネットワーク界とは、従来から技術的に大きな隔たりがあることによって、区別され、分離されてきた。テレビのコンテンツの配信および放送は、従来からサービスにおいて高い信頼性を有する1方向技術であった。対照的に、パケット交換ネットワークは、完全に双方向通信が可能であり、元々高い信頼性またはQoS(Quality of Service)を提供するように設計されなかった。
パケット交換ネットワークの例は、IP(Internet Protocol)ネットワークであり、それは、「コネクションレス(connectionless 接続のない)」ネットワークである。コネクションレスネットワークでは、発信元が目的地と通信可能であることに先立ち何の接続もパスも確立されない。その代わり、パケット交換時、またはルータがパケットを受け取ったときに動的に決定されるパスまたはルートに基づき、パケット交換機またはルータが各パケットを転送する。その結果、パケット交換ネットワークでは、発信元から目的地に送信される各パケットは、ネットワークを介して異なるパスに従い得る。異なるパスに従うことからくる異なる遅れのため、パケット交換ネットワークにおけるパケットは、発信元によって送信されたパケットとは完全に異なる順序で目的地に到達し得る。
テレビ配信技術とパケット交換ネットワーク技術との間のギャップを埋めることへの要求がある。デジタルプログラムストリームは、通常DVB/ASI(Digital Video Broadcast/Asynchronous Serial Interface)として公知である業界標準フォーマットのデジタルエンコーダまたはマルチプレキサから送り出される同期ストリームである。したがって、求められるのは、パケット交換ネットワークを介してトランスポートストリームを運びかつトランスポートストリームを再送信するための装置および方法である。求められるのはまた、パケット交換ネットワークを介して送信される、可変的に遅延するネットワークフレームのストリームを受け取りかつトランスポートパケットの同期ストリームを送り出すための装置および方法であり、トランスポートパケットがネットワークフレームストリームの中で運ばれる。さらに、求められるのは、トランスポートストリームを受け取りかつパケット交換ネットワークを介する送信のためにトランスポートストリームのコンテンツをネットワークフレームの中に選択的に含むための装置および方法である。
本発明の多くの局面は、以下の図面を参照することでより良く理解され得る。図面のコンポーネントは必ずしも一定の縮尺ではなく、むしろ本発明の原理を明確に示すことに重点が置かれる。さらに、図面では、このいくつかの図面全体を通して、同様の番号は対応する部分を示す。
(好ましい実施形態の詳細な説明)
概して、本発明の好ましい実施形態は、ノイズ除去(filtering out)によるコンテンツのカプセル化および空(ヌル)パケットの置き換えを含み、いくつかの実施形態では、ノイズ除去された数多くのパケットの表示を有する破棄プログラム(dropped program)パケットを含む。したがって、新しい送信機、受信機、およびシステムならびに関連する方法が本発明の範囲内に含まれる。
図1を参照すると、加入者テレビシステム100が、ヘッドエンド102、配信ネットワーク106、および遠隔の加入者場所108に位置する複数のデジタル加入者通信端末(DSCT)110を含む。DSCT110は、加入者にヘッドエンド102と通信を行うための双方向インターフェースを提供する。典型的に、DSCTは、ヘッドエンド102から送信されるプログラムおよびサービスを表示するためのテレビ112などの表示デバイスに接続される。当業者は、別の実施形態では、復号化およびさらなる信号処理のための機器は、DSCT、コンピュータ、TV、モニタ、または、中でもとりわけ、MPEGデコーダを含むがこれらに限定されない、種々の機器に含まれることを理解する。
ヘッドエンド102は、デジタルネットワーク制御システム(図示せず)などの周知の要素、およびVOD(video−on−demand)サーバ(図示せず)などの周知のサーバばかりでなく、非同期ストリームレシーバ(ASR)114およびモジュレータ116を含む。ASR114は、Ethernet(登録商標)フレームなどのネットワークフレームで運ばれる、MPEGトランスポートストリームなどの、だがこれらに限定されないトランスポートストリームを受け取り、かつ少なくとも間接的にトランスポートストリーム136をモジュレータ106に送信するために、適応される。モジュレータ116は、当業者に周知の、QAM(Quadrature amplitude modulation)などの、だがこれらに限定されない技術を用いてトランスポートストリーム136の周波数を変調し、変調されたトランスポートストリームをネットワーク106を介して加入者の家屋108へ送信する。
ヘッドエンド102は、コンテンツプロバイダ104などの発信元から、当業者には通常IPネットワークとして公知であるBDN(broadband distribution network)130を介して、コンテンツを受け取る。コンテンツプロバイダ104は、とりわけ、AST(asychronous−stream−transmitter)115、マルチレプキサ118、および制御システム124を使用して、プログラムをSTS100に提供する。マルチプレキサ118は、複数のトランスポート132を複数のエンコーダ120から受け取り、トランスポートストリーム132を組み合わせて多重化されたトランスポートストリーム126とする。エンコーダ120のそれぞれは、カメラ122またはその他の発信元(図示せず)から信号を受け取り、その信号をMPEGフォーマットなどのデジタルフォーマットにコンバートする。
制御システム124は、通信リンク134を介してマルチプレキサ118およびAST115と通信状態にある。とりわけ、制御システム124は、オペレータインターフェースをAST115に提供し、「プログラムを破棄せよ」などのコマンドを発行する。シームレスなプログラム破棄の詳細が、以下に提供される。
AST115は同期トランスポートストリーム126を受け取り、ネットワークフレームの非同期ストリーム128を送信する。AST115は、トランスポートストリーム126の受け取り、トランスポートパケットをネットワークフレームに選択的にカプセル化し、ネットワークフレームをBDN130を介してASR114に送信するように適応される。このASR114はネットワークフレームのカプセル化を解除し、同期トランスポートストリームを送信する。1つの実施形態では、AST115は、Drop Programメッセージをシステムコントローラ124から受け取り、それに応じて、ネットワークストリーム128から特定のプログラムをシームレスに破棄する。別の実施形態では、ASR114およびAST115は、両方とも、(1)ネットワークフレームの非同期ストリームを受け取りトランスポートパケットの同期ストリームを送信し、かつ(2)トランスポートパケットの同期ストリームを受け取りネットワークフレームの非同期ストリームを送信することが可能であるように、対称的に構成される。
この開示の目的のために、発明者らは、AST115によって受け取られたトランスポートストリームは、コンテンツパケットと呼ばれるヌルパケットおよび非ヌルパケットから構成されると考える。典型的に、コンテンツパケットは、プログラミングの部分、システム情報、またはその他の情報を運ぶパケットを含む。ヌルパケットは、一般に、例えばMPEGトランスポートストリームである内容の詰まったパケットを伴う意味のないパケット、つまり、トランスポートストリームのフィラー(つなぎ)として使用されるものであると考えられる。本発明の1つの好ましい実施形態では、ヌルパケットはノイズ除去され、ノイズ除去されたヌルパケットの数を示すストリーム情報に置き換えられる。ヌルパケットに加え、選択的にノイズ除去され得るその他のパケットは、BDN130を介して選択的に送信されない任意のパケットを含み、それらの任意のパケットの例は、破棄されるプログラムを運ぶパケットを含む。
ASR114によって送信されるトランスポートストリームは、BDN130を介して受け取られる置き換えトランスポートパケットおよびコンテンツパケットを含む。置き換えトランスポートパケットはASR114によって生成されかつASR114からトランスポートストリームで送信されるパケットである。ヌルパケットと同様に、置き換えトランスポートパケットはその内容が無視され得、結果として生じるトランスポートストリームにおいてフィラーとして使用される。ASR114によって送信されるトランスポートストリームがMPEGストリームであるとき、置き換えトランスポートパケットは、中身を有する(staffing スタッフィング)パケットである。
1つの好ましい実施形態では、AST115は、コンテンツパケットを選択的にネットワークフレームにカプセル化し、ストリーム情報と共にネットワークフレームをASR114に送信し、ASR114は、ストリーム情報と、その他の情報と、ネットワークフレームとを使用して同期トランスポートストリームを送信し、その同期トランスポートストリームは、ネットワークフレームによって運ばれるコンテンツパケットを含む。AST115が破棄プログラムを有さない限り、トランスポートストリーム136のトランスポートパケットのシーケンスは、好ましくは、基本的にトランスポートストリーム126のトランスポートパケットのシーケンスと同一である。しかし、AST115が破棄プログラムを有する場合、ストリーム136のトランスポートパケットのシーケンスは、ストリーム126のトランスポートパケットのシーケンスと同様であるが、ストリーム136では破棄プログラムのコンテンツパケットが置き換えトランスポートパケットに置き換えられる点が異なる。
1つの好ましい実施形態では、ASR114およびAST115はまた、ネットワークフレームストリームの送信エラーを修正するように適応される。1つの実施形態では、ネットワークフレームが、当業者には周知であるUDP(User Datagram Packets)である。UDPパケットはコネクションレスプロトコルを用いてBDN130を介して送信され、TCP/IPなどのその他のプロトコルとは異なり、UDPは、どのようなARQ(automatic repeat requuest)メカニズムも提供しない。従来のネットワークでは、一旦UDPパケットがネットワークによって破棄されると、破棄されたパケットを受け取るためのメカニズムは何もなかった。しかし、本発明のこの実施形態では、破棄されたパケットを回復するために、パケットレベルのFEC(forward/error/correction フォワードエラーコレクション)がASR114ならびにAST115および114によって実行される。
図2を参照すると、好ましい実施形態では、AST115は、トランスポートパケット204のストリーム126を受け取り、ネットワークフレーム202のストリーム128を送信し、またその逆も行うように適応される。この目的を明確にするために、トランスポートパケット204のストリーム126はMPEGストリームに関して説明されるが、これは例示の目的のためのみであり、本発明を制限するものとして解釈されるべきではない。同様に、ネットワークフレーム202は、IPまたはEthernet(登録商標)などのネットワークプロトコルを使用してさらにカプセル化され得るUDPパケットとして説明されるが、この説明もまた例示の目的のためのみであり、本発明を限定するものとして解釈されるべきではない。
MPEGパケットの簡単な説明が以下に提供されるが、さらなる詳細は、MPEG−1規格(ISO/IEC 11172)において提供され、MPEG−2規格(ISO/IEC 13818)およびMPEG−4規格(ISO/IEC 14496)はInternational Organization for Standardizationの文書ISO/IEC JTC1/SC29/WG11N(MPEG−1に対して1996年6月、MPEG−2に対して1996年7月、MPEG−4に対して1998年10月)に詳細が記載されており、それらは本明細書によって参照のために援用される。
簡単に言えば、MPEGトランスポートパケット204は、188バイトの、サイズが固定されたものであり、それは4バイトサイズのヘッダ206を含み、とりわけ、MPEGトランスポートパケット204はPID(packet identifier パケット識別子)フィールドを含む。PIDフィールドはパケットのストリームの識別に使用される13ビットのフィールドである。PID値は0から8,191まで(0および8,191を含む)変動する。STS100では、いくつかのPID値は、とりわけシステム専用の情報テーブルのために確保される。例えばPID「0」はPAT(program association tables)のために、PID値1はCAT(Conditional Access Tables)のために確保される。同様にPID値8,191は、スタッフィングパケットのために確保される。
MPEGパケット204はまた、適応フィールド208およびペイロード210を含む。適応フィールド208およびペイロード210は、それぞれに長さにおいて可変であるが、長さの総計は184バイトである。ヘッダ206はまた、適応フィールド208のサイズを示す適応サイズフィールドを含む。ほとんどのMPEGパケット204において、適応フィールド208のサイズはゼロバイトである。しかし、適応フィールド208がサイズにおいてゼロバイトではない場合、それは、とりわけ、スタッフィング214を運ぶために使用され、ペイロード210のサイズが184バイトより小さい場合、タイミング情報であるPCR(program clock reference)212を運ぶために使用される。
典型的に、ペイロード210は、デジタルサービスの一部分、またはテーブル、またはテーブルの一部分、またはその他のシステム情報である。ペイロード210がデジタルサービスの一部分を運ぶ場合、そのデジタルサービスの一部分は暗号化される。必要な資格およびペイロード210を解読するキーを有するSTS100の正規の加入者のみがサービスにアクセスし得る。視聴料金不要のテレビ番組またはその他の番組などの選択されるサービスは暗号化されずに運ばれ得る。
テーブルおよびメッセージなどの、だがこれらに限定されないシステム情報はまた、MPEGパケット204のペイロード210で運ばれ、かつ通常は暗号なしで運ばれる。とりわけ、システム情報は、PAT、PMT(Program Map Table)、およびECM(Entitlement Control Message)を含む。PATはトランスポートストリーム126によって運ばれるデジタルサービスをPMTと関連づける。例えば、あるデジタルサービスのプログラム1はPID153を有するPMTと関連づけられ、異なるサービスのプログラム20はPID296を有するPMTと関連づけられる。
PMTは、所与のサービスの基本ストリームをそれらのそれぞれのPID値に関連づける。例えば、所与のサービスは、PATにおいてプログラム1と識別され、そのプログラムに対するPMTはPID153を有する。この例では、この所与のサービスは、ビデオ、音声1、音声2などの種々の基本ストリームから成る映画、テレビプログラム、またはビデオサービスであり、ここで、異なる音声ストリームは異なる言語で行われるそのサービスの音声区域を運ぶ。したがって、PID167を有するMPEGパケット204は所与のサービスのためのビデオストリームを運び、PID169を有するMPEG204は、所与のサービスのための音声区域1を運ぶ。なお、PID値は、異なるサービスまたは同一のサービスにおけるいかなる2つの基本ストリームも同一のPID値を有さないように割り当てられることに留意すべきである。PID153によって表されるPMTはまた、ECM(entitlement control messages)をPID154を有するパケットに関連づけ、プログラムのPCRをPID167を有するパケットに関連づける。
加入者がプログラムをリクエストするとき、DSCT110がトランスポートストリームからPAT(PID=0)を抽出し、そのプログラムのためのPMTを決定する。DSCTは次にそのプログラムのためのPMTを用いてPCRのPIDストリームおよびECMのPIDストリームを含むプログラムのPIDストリームを決定する。DSCT110は、プログラムが解読され得かつ加入者に表示され得るように適切な資格が与えられたかどうかを決定する。資格が与えられた場合、DSCT110は、プログラムの解読にECMを使用する。
PCR212は、エンコーダの現地時間の時刻印を有するフィールドであり、その時刻印はフィールドが刻印されたときのものである。MPEG規格は、プログラムを受け取るDSCT110またはMPEGデコーダがその内部時計(図示せず)をMPEGエンコーダ120の内部時計と合わせ得るように、エンコーダがPIDストリームに、100ミリ秒ごとまたはそれより短いミリ秒ごとに、PCRを挿入することを要求する。PCR無しでは、DSCT110の内部時計はドリフトし、したがってDSCT110は表示のためのプログラムの種々のPIDストリームを同期化し得ない。したがって、DSCT110がジッタのないトランスポートストリームを受け取ることが重要である。つまり、連続するPCR間の時間差が、いくらかの動作許容範囲内でDSCT110に到達する時間差に対応する。
最後に、スタッフィングパケットは、トランスポートストリームの空間フィラーである。DSCT110がスタッフィングパケットを受け取る場合、DSCT110はそれらを無視するが、それはスタッフィングパケットのペイロード210は、通常、すべて1または0から成り、DSCT110にとって意味を持たないからである。
図3Aから3Cを参照すると、ネットワークフレーム202が、フレームヘッダ304およびネットワークフレームペイロード305を含み、このネットワークフレームペイロード305はネットワークフレーム202がカプセル化するコンテンツである。フレームヘッダ304は、送信者と、受信者情報と、当業者には公知のその他ネットウォーキング情報とを含む。さらに、送信者および受信者のアドレスに加え、フレームヘッダ304は、フレームシーケンス情報およびインターリーブ情報を含む。フレームシーケンス情報は新しいネットワークフレーム202が作成されるごとに、インクリメントされるフィールドである。UDPパケットに対して、フレームシーケンス情報の値はゼロから65,535まで巡回する。インターリーブ情報はエポック(epoch)およびインターリーブシーケンス番号の両方を含み、このことが以下に詳細に説明される。
可能なネットワークフレームペイロード305は図3Aおよび図3Bに示されるパケットメッセージ302と図3Cに示される構成メッセージ310とを含む。図3Aでは、ネットワークフレームペイロード305はパケットメッセージ302である。しかし、構成メッセージ310が送信されるとき、パケットメッセージ302のかわりに構成メッセージ310がネットワークフレームペイロード305で運ばれる。
図3Bおよび3Cはパケットメッセージ302および構成310のフォーマットをそれぞれ示す。パケットメッセージ302は選択されるトランスポートパケット204を含み、構成メッセージ310は、初期化および動作の情報を含む。構成メッセージ310が先ず説明され、次にパケットメッセージ302が説明される。
図3Cを参照すると、構成メッセージ310が以下のメタデータを含む。
・シーケンス番号:1のカウントによってインクリメントする、各構成メッセージを有する16ビットのシーケンス番号
・メッセージID:8ビットのメッセージI.D.がメッセージを構成メッセージとして固有に識別する。
・FECイネーブル:フォワードエラーコレクションがイネーブルかどうかを示し、イネーブルの場合はブロック内のパケット数を示す8ビットのフィールド。
・FECリペア:ブロック内のリペアパケットの数を示す8ビットのフィールド。
・FECエポック:異なるブロックのパケットのインターリーブを示す8ビットのフィールド
・ビット/秒:トランスポートストリームのビットレートを示す32ビットのフィールド。
図3Bを参照すると、パケット302がメタデータ306およびメッセージペイロード308を含む。メッセージペイロード308は、スタッフィングカウントフィールド312およびコンテンツパケットフィールド314を含み、かつブラケット319によって封入されるスタッフィングカウントフィールド312およびコンテンツパケットフィールド314の数に応じてサイズが可変である。メタデータ306は、以下のフィールドを含む。
・シーケンス番号:1のカウントによってインクリメントする、各パケットメッセージを有する16ビットのシーケンス番号。
・メッセージI.D.:メッセージがパケットメッセージであると固有に識別する、8ビットのメッセージI.D.
・パケットカウント:パケットメッセージ内のトランスポートパケットの数。
・スタッフィング有効カウント:パケットメッセージの中の有効なスタッフィングカウントの数。
メッセージペイロード308はスタッフィングパケットおよびコンテンツパケットに対するストリーム情報を含む。1つの好ましい実施形態では、メッセージペイロード308の交互のスタッフィング情報およびコンテンツパケットがストリーム情報を運ぶ。具体的には、メッセージペイロード308は、16ビットのスタッフィングカウントフィールド312と188バイトのサイズのコンテンツパケットフィールド314との間で交互になる、一続きの交互のフィールドを含む。スタッフィングカウントフィールド312は、連続するコンテンツパケットの間に置かれるスタフィングパケットの数を示す。コンテンツパケットフィールド314はコンテンツパケットを運ぶ。交互のスタッフィングカウントフィールド312およびコンテンツパケットフィールド314はトランスポートパケットセットを複製するためのシーケンス情報を生じる。メタデータ306のパケットカウントおよびスタッフィング有効カウントフィールドはペイロード308の長さを決定する。
好ましい実施形態では、MTU(maximum transferable unit)がペイロード308の長さを決定し、一例として、Ethernet(登録商標)を介するUDPパケットの長さは1.5キロバイトである。したがって、パケットメッセージ302は、パケットメッセージがEthernet(登録商標)を介して運ばれるUDPパケットの中にカプセル化される場合、MTUを超えることなく最大7つのコンテンツパケットを含み得る。しかし、このサイズの制限はネットワークの制限であり、本発明の制限ではないことは明らかであるべきである。
18個のトランスポートパケット204の例示的セット400が図4に示され、図5Aおよび図5BはUDPパケット内のセット400の情報を運ぶための、パケットメッセージ302Aおよび302Bそれぞれの2つの非制限例を示す。図4では、スタッフィングパケットは「S」で表され、コンテンツパケットは「C]で表される。まず、いかにしてセット400がパケットメッセージ302Aで運ばれるかが図5Aを参照して提供され、ついでいかにしてセット400がパケットメッセージ302Bで運ばれるかが図5Bを参照にして提供される。
パケットメッセージ302Aでは、ペイロード308がストリーム情報およびコンテンツの両方を含む。具体的には、コンテンツパケットに先立ってセット400のスタッフィングパケットの数があり(その後ろに)すぐそのコンテンツパケットが続く。例えば、最初のコンテンツパケット(C5)に先立ち4つのスタッフィングパケットがあり、2番目のコンテンツパケット(C6)に先立ちゼロのスタッフィングパケットがある。したがって、ペイロード308は最初の4つのスタッフィングパケットを表すスタッフィングカウント=4、コンテンツパケット(C5)、セット400の5番目と6番目の間に置かれるスタッフィングパケットがないことを表すスタッフィングカウント=0、およびコンテンツパケット(C6)等々、7番目のコンテンツパケット(C18)がペイロードに含まれるまで(のもの)を含む。ペイロード308に含まれる7つのコンテンツパケットがあるので、メタデータ306のパケットカウントフィールドは7つに設定される。同様に、各コンテンツパケットに先立ってスタッフィングパケットカウントがあるので、メタデータ306のスタッフィング有効フィールドは7に設定される。
図5Bを参照すると、例示的パケットメッセージ302Bでは、シーケンス情報502はペイロード308のコンテンツパケットと混合されない。その代わり、ペイロード308においてシーケンス情報がコンテンツパケットの先に来る。ここでシーケンス情報502はセット400のスタッフィングパケットおよびコンテンツパケットの交互のブロックを表す。例えば、スタッフィングパケットの第1のブロックは4つのパケットから成り、コンテンツパケットの第1のブロックは2つのパケットから成り、スタッフィングパケットの第2のブロックは4つのパケットから成る、などである。メタデータヘッダ306は、パケットブロックカウントフィールドおよびスタッフィングブロックカウントフィールドを含み、それらのフィールドには、コンテンツブロックの総計およびスタッフィングブロックの総計がそれぞれ入力される。したがって、セット400に対し、パケットブロックカウントフィールドは5に設定され、スタッフィングブロックカウントフィールドもまた同様に設定される。
パケットメッセージ302Aおよび302Bは例示的であり、実施形態を制限するものではないことが強調される。当業者は、別々のメッセージの中でストリーム情報およびコンテンツパケットを提供するなどの、その他のしかしそれらに限定されない、ストリーム情報およびコンテンツパケットを提供する別の方法があり、それらの方法およびメッセージはすべて本発明の範囲の中にあると意図されることを理解する。さらに、パケットメッセージ302Aおよび302Bが、ゼロから、通常MTUのサイズに依存する最大の番号の範囲で変化し得る数のコンテンツパケットを運ぶために使用され得ることが強調されるべきであり、かつパケットメッセージ302が可変の数のスタッフィングパケットに対するストリーム情報を運び得ることが強調されるべきである。
さらに、パケットメッセージ302Aおよび302Bが、パケットメッセージに含まれる最後のコンテンツパケットに続くスタッフィングパケットを運び得ることに留意すべきである。例えば、発明者らがパケットメッセージ302Aのセット400の最初の10個のスタッフィングパケットを送りたいと仮定すると、その場合、メタデータ306において、パケットカウントは2に設定され、スタッフィング有効カウントは3に設定され、ペイロード308が、スタッフィングカウント=4、コンテンツパケット(C5)、スタッフィングカウント=ゼロ、コンテンツ(C6)、およびスタッフィングカウント=4から構成される。同様に、パケットメッセージ302Bに対して、メタデータ306において、パケットブロックカウントフィールドは1に設定され、スタッフィングブロックカウントフィールドは2に設定され、シーケンス情報502は、スタッフィングカウント=4、コンテンツカウント=2、スタッフィングカウント=4である。ペイロードはしたがってコンテンツパケット(C5)および(C6)を含む。
図6を参照すると、ASR114およびAST115が対称的に構成される実施形態を示し、以後これらは「ASR/AST」と呼ばれる。ASR/AST600はプロセッサ602、メモリ604、NIC(network interface card)606、およびトランスポートストリームI/O(入力/出力)デバイス608を含む。好ましい実施形態では、プロセッサ602、メモリ604、およびNIC606はパソコンで使用されるPentium(登録商標)ベースのマザーボードの標準コンポーネントであり、トランスポートストリームI/Oデバイス608は、Optibase of Mountain View、CAのMedia Pump533などの、しかしこれらに限定されない標準PCI DVB/ASIアドインカードであるかまたはその他の当業者に公知のアドインカードである。他の実施形態は、送信機または受信機のいずれかとして専用に実行することを含み、また別の実施形態は、それらの機能のうちの1つとその他のネットワーク要素とを組み合わせることを含む。
示されるように、メモリ604は、バッファ610、送信ロジック612、受信ロジック614およびFECロジック616を含む。バッファ610は、プロセッサ602による処理の間、トランスポートパケット204およびネットワークフレーム202がバッファされる動作バッファである。プロセッサ602は、ASR/AST600が送信モードであるとき、送信ロジック612を実行し、ASR/AST600が受信モードであるとき、受信ロジック614を実行する。送信ロジック612は、トランスポートパケット204のセットをパケットメッセージ302の中に選択的にカプセル化するため、およびパケットメッセージ302および構成メッセージ310をネットワークフレームの中にカプセル化するためのロジックを含む。さらに、送信ロジック612は、受信されるトランスポートストリームのビットレートを計算するためのロジックとネットワークフレーム204をインターリーブするためのロジックとを含み、そのことを以下で説明する。
受信ロジック614は、構成メッセージ310に従ってASR/AST600を構成するためのロジックを含む。例えば、構成メッセージ310に応えて、プロセッサ602は、トランスポートストリームI/Oデバイス608の送信ビットレートを構成メッセージ310のビットレートに設定する。受信ロジック614はまた、ネットワークフレーム202のインターリーブを解除(de−interleaving)し、かつネットワークフレーム202のパケットメッセージ302から、カプセル化されたトランスポートパケット204のセットのカプセル化を解除する(de−encapsulating)ためのロジックを含む。
プロセッサ602は、破棄されたネットワークフレームに対してフォワード/エラー/コレクトを行うためにFECロジック616を実行する。送信モードでは、FECロジック616がプロセッサ602によって実行され、受信ASR/AST600がそのエラーを修正するのに使用するエラー修正情報を作成する。受信モードでは、FECロジック616がプロセッサ602によって実行され、破棄されたネットワークフレーム202に対し修正を行うために、エラー修正情報を使用する。
1つの好ましい実施形態では、ASR/AST600は、基本的に同時トランシーバゲートウェイとして働きながら、送信または受信ゲートウェイとして働くか、あるいは完全に両方の機能を果たす態様(full duplex)で機能するように働くかのいずれかで働くように構成される。ASR/AST600Aの機能は、以下に、別々の受信ゲートウェイASR/AST600Aおよび送信ゲートウェイASR/AST600Bとしてそれぞれ説明されるが、そうする理由は、ASR/AST600が送信および受信のいずれのモードにおいても機能し得ることを明確にするためである。
図7では、ASR/AST600Bが送信モードにおいて示されかつASR/AST600Aが受信モードにおいて示される。送信モードでは、プロセッサ602Bが、アナライザモジュール702、カプセル化モジュール(エンカプシュレータモジュール)704、およびインターリーバモジュール706を含む送信ロジック612を実行し、かつプロセッサはFECエンコーダモジュール708を含むFECロジック616を実行する。受信モードでは、プロセッサ602Aが構成モジュール710、ディインターリーバモジュール712、およびディエンカプシュレータモジュール714を含む受信ロジック614を受け取り、かつプロセッサはFECデコーダモジュール716を含むFECロジック616を実行する。種々のモジュールのプロセスが、一般に、並行してまたは所定の順序で実行される。
メモリ604Bのバッファ610Bは、トランスポートパケットバッファ718、ネットワークフレームバッファ720、インターリーババッファ722、および出力バッファ724を含む。メモリ604Aのバッファ610Aは、ディインターリーババッファ726、FECデコーダバッファ728、ネットワークフレームバッファ730、および出力バッファ732を含む。
トランスポートストリームI/Oデバイス608Bは、トランスポートストリーム126を受け取り、ストリームのトランスポートパケット204をトランスポートパケットバッファ718に送る。アナライザモジュール702はトランスポートパケットバッファ718をモニターし、かつ、特に、ネットワークフレーム202の中にカプセル化される構成メッセージ310を生成し、かつ、ネットワークインターフェースカード606BによるASR/AST602Aへの送信のために、構成メッセージを出力バッファ724に提供する。
アナライザモジュール702は、ストリームのPCR情報からトランスポートストリーム136のビットレートを決定し、構成メッセージ306におけるこの情報を、BDN130を介しネットワークフレーム202を介して一定の間隔で、ASR/AST600Aに提供する。構成メッセージを送信する目的はASR/AST600Aの初期化のためである。以下に説明するように、受信ASR/AST600Aは構成メッセ−ジを聞くことによって初期化されトランスポートストリームI/Oデバイス608Aの出力ビットレートを構成メッセージ306に含まれるビットレートに設定する。アナライザ702は、同一のプログラムの連続するPCR間のビット数を単に数え、次にそれらのPCRの時間差によって割ることによってビットレートを決定する。
さらに、アナライザ702は、ストリームのどのトランスポートパケットが送られるべき所望のプログラムなのか、どのパケットがスタッフィングパケットなのか、およびどのパケットがトランスポートストリーム126からシームレスにノイズ除去されるべきプログラムに所属しているかを決定する。アナライザ702は制御システム124からのドロッププログラムメッセージに応えてプログラムをシームレスにフィルタリングする。フィルタリングされるべきプログラムがトランスポートストリーム126に所在するところでは、アナライザ702は制御システム124からの情報を用いてそれらのプログラムのPIDストリームを決定するか、あるいは、アナライザ702は、トランスポートストリーム126に含まれるそれらのプログラムのためのPATおよびPMTを、それらのプログラムのPIDストリームを決定するために使用し得る。アナライザは破棄される予定のPIDストリームのPIDを8,191の値のPIDに再刻印する。したがって、それ以降、再刻印されたパケットはスタッフィングパケットとして扱われる。別の実施形態では、破棄されるべきPIDストリームのPIDを再刻印する代わりに、アナライザ720は、破棄されるストリームのPIDを追跡し、それらをスタッフィングパケットであるかのように処理する。したがって、それらの実施形態に対し、図3Aから図5Bにおける「スタッフィング」という表示は、中身の詰まった(stuffing)、フィルタリングされたコンテンツパケットを含む。
アナライザ702はトランスポートパケットバッファ718からトランスポートパケット204のセット400を、ファーストイン−ファーストアウトのベースで抽出し、抽出されたパケットセットをエンカプシュレータ(encapsulator)704に提供する。1つの好ましい実施形態では、アナライザモジュール702はトランスポートパケットバッファ718に所定の数(N)のコンテンツパケットがあるかどうかを決定し、それがある場合には、アナライザモジュールは現在のファーストインのパケットとN個目のコンテンツパケット(最初とN個目を含む)間のすべてのインターリーブパケットを抽出する。所定の数は、典型的に、MTUを超えるネットワークフレームを持たないネットワークフレームによって運ばれ得るコンテンツパケットの数である。アナライザ702は、そのパケットセットのためにストリーム情報を決定し、そのパケットセットのコンテンツパケットおよびストリーム情報をエンカプシュレータ704に提供する。
1つの実施形態では、本発明によって、可変の数のトランスポートパケットがカプセル化されることが可能となり、この可変の数は、入ってくるトランスポートストリームの中のスタッフィングパケットの密度に依存する。しかし、トランスポートパケットの数の可変性は、それらが予測不可能で変則的であるので、ネットワークフレームの流れにおいて問題となり得る。この問題に対抗するため、別の実施形態では、トランスポートパケットは、所定の時間遅延(T)を超えないように、トランスポートパケットバッファ718でバッファされる。トランスポートストリーム126におけるスタッフィングパケットの密度が低い場合、一般に、現在のファーストインパケットがTより長くバッファされているよりも前に、トランスポートパケットバッファ718でバッファされるN個のコンテンツパケットがある。その場合、アナライザモジュール702は、パケットセットを前述のように抽出する。しかし、スタッフィング密度およびトランスポートストリーム126が高いとき、現在のファーストインパケットの到着とN個目のコンテンツパケットとの間にTより長い時間が流れ得る。その場合、現在のファーストインパケットのバッファからT時間の後で、アナライザモジュール702がトランスポートパケットバッファ718からすべてのパケットを抽出し、かつ抽出されたパケットセットのためのストリーム情報を決定する。ストリーム情報および抽出されたコンテンツパケットは、つぎに、エンカプシュレータモジュール704に提供される。
さらに別の実施形態では、カプセル化されるパケットに対するタイムウィンドウを規定する代わりに、アナライザモジュール702がトランスポートパケットバッファ718のパケットレベルに基き、かつトランスポートパケットバッファ718のコンテンツパケットの数に基きトランスポートパケットバッファ718からパケットセットを抽出する。つまり、トランスポートパケットバッファ718のパケットレベルが所定の閾値より低くかつコンテンツパケットの数がNより少ない限り、アナライザモジュール702はトランスポートパケットバッファ718からパケットセットを抽出しない。しかし、一旦(a)コンテンツパケットの数がNと等しいか、または(b)パケットレベルが所定の閾値を超えるかのいずれかになると、そのときは、(a)の場合には、ファーストインコンテンツとN個目のコンテンツとの間(最初とNを含む)にわたるパケットセットが抽出され、または(b)の場合には、ファーストインとトランスポートパケットバッファ718の閾値にあるパケットとの間にわたるパケットセットが抽出される。
エンカプシュレータモジュール704は、アナライザモジュール702からのストリーム情報およびコンテンツパケットをパケットメッセージ302のペイロード308の中にカプセル化しメタデータ306のフィールドを埋める。エンカプシュレータモジュール704はフレームストリーム情報をフレームヘッダ304に刻印する。次に、エンカプシュレータモジュール704はパケットメッセージをネットワークフレーム202の中にカプセル化し、それは次にネットワークフレームバッファ720においてバッファされる。
FECエンコーダモジュール708は、ネットワークフレームバッファ720から複数のネットワークフレーム202を除去し、基本的には1度にすべてのフレームを処理する。FECエンコーダモジュール708が複数のフレームを処理した後、FECエンコーダモジュール708は複数のフレームおよび処理の出力をインターリーバモジュール706に渡す。
インターリーバモジュール706は、ネットワークフレームがシーケンシャルな順序で送信されないように、インターリーババッファ722の受け取られたネットワークフレームをバッファし、インターリーブバッファ722からネットワークフレームを抽出する。抽出されたネットワークフレームは次に出力バッファ724においてバッファされる。インターリーバモジュール706およびFECエンコーダ708の完全な説明が以下に提供される。
ネットワークインターフェースカード(NIC)606Bは出力バッファ724からネットワークフレームを受け取りかつネットワークフレームストリーム128をASR/AST600Aに送信する。ASR/AST600Aを説明する前に、FECエンコーダモジュール708およびインターリーバモジュール706の、より完全な説明が提供される。
図8を参照すると、FECエンコーダモジュール708がネットワークフレームバッファ720からネットワークフレームNのブロックを取り、これらのネットワークフレームを復号化してN+Rのネットワークフレームからなる復号化ブロックにする。ここで、Rは調整可能なパラメータである。ネットワークフレーム202のヘッダ304は、復号化されない。本来のブロックサイズであるNは、構成メッセージ310のメタデータ306のFECイネーブルフィールドに含まれ、かつ調整可能なパラメータRは構成メッセージ310のメタデータ306のFECリペア(Repair)フィールドに含まれる。リペアサイズをR=0に設定することがフォワードエラーコレクションをオフにする。Rフレームは、「リペア」フレームと呼ばれるが、その理由は、それらのフレームが、送信中に破棄されるリペア/置き換えフレームを生成するためにFECデコーダによって使用されるからである。
本発明のいくつかの実施形態は、破棄されるネットワークパケットに対するリペア/置き換えフレームを生成するが、別の実施形態では、FECデコーダはまたビットレベルのFECを行い得る。パケットレベルのFECの符号化/復号化を行う従来のシステムでは、FECエンコーダへの入力は、ブロックの各セグメントが同じサイズのデータのブロックであった。しかし、1つの好ましい実施形態で既に述べたように、エンカプシュレータモジュール704はゼロから所定の最大数の範囲で可変の数のコンテンツパケットをカプセル化する。したがって、ネットワークフレームバッファ720でバッファされるネットワークフレーム202は、同じサイズでなくてもよい。したがって、1つの好ましい実施形態では、FECエンコーダモジュール708が、可変なサイズのネットワークフレームに対しFECを実行するために、図8に示されるステップを実行する。
まず、ステップ802において、FECエンコーダモジュール708がNのネットワークフレームで構成されるネットワークフレームのブロックをネットワークフレームバッファ720から抽出する。ステップ804では、FECエンコーダモジュール708がネットワークフレームのどれが(どれどれが)最大のサイズであるかを決定し、かつステップ806では、FECエンコーダモジュール708が、次に、より小さいネットワークフレームに付け足しをしてすべてのネットワークフレームを同じサイズにする。
次に、ステップ808では、FECエンコーダモジュール708が今や等しいサイズであるネットワークフレームを処理し、そこから「R]のリペアフレームを生成する。R−リペアネットワークフレームは、等しいサイズである入力ネットワークフレームと同サイズである。
ステップ810では、FECエンコーダ708がより小さい入力ネットワークフレームから付け足したものを除去し、本来のブロックのネットワークフレームのそれぞれのサイズが元のサイズに戻るようにする。
FECエンコーダ708がNのオリジナルフレームをステップ808で処理するとき、FECエンコーダ708がFECヘッダをネットワークフレーム202に含める。FECヘッダは、1からN+Rの間(1とN+Rを含む)で、N+Rのフレーム内でのそのフレームの位置を表すインデックス番号を含む。
FECデコーダがFECの符号化されたブロックのN+Rのフレームの中から少なくともNのフレームを受け取る限り、FECデコーダはオリジナルのNフレームを生成し得る。FECデコーダは、それが受け取る数(N−D)と同数のオリジナルのNフレームを使用する。ここでDは最初のNフレームの中で破棄されるフレームの数であり、デコーダは、破棄されたオリジナルフレームを生成するためにDのリペアフレームを使用する。
FECエンコーダ708は、符号化されたブロック(N+R)のネットワークフレームをインターリーバモジュール706に渡し、それは次にブロックのネットワークフレームをインターリーババッファ722のその他の符号化されたブロックとインターリーブする。図9は、インターリーバモジュール706およびディインターリーバモジュール708がそれぞれのバッファ722および726でどのように機能するかを示す。まず、発明者らは、インターリーブされるべきブロックの数をエポックとして規定し、それはeに等しい、オペレータが調整可能なパラメータである。このエポックは構成メッセージ310のASR/AST600Aに提供される。
インターリーバモジュール706はそのバッファ722を1度に1列埋めてネットワークフレームを行で抽出する。ネットワークフレームの1番目のブロックは、1番目の列に挿入され、2番目のブロックは2番目の列に挿入され等々、e番目のブロックがe番目の列に挿入されるまで続けられ、列(またはブロック)内で、ネットワークフレームは1からN+Rまでシーケンシャルに配置される。1番目のネットワークブロックの2番目のネットワークフレームが抽出される前に、符号化されたブロックのそれぞれの1番目のネットワークフレームが抽出されかつ出力バッファ724に提供される。つまり、1−eによって表されるネットワークフレームが最初に抽出され、ついで1−eによって表されるネットワークフレームが抽出され・・等々の抽出が行われる。FECの符号化されたブロックをインターリーブすることの利点は、FECデコーダモジュール716が破棄されるネットワークフレームのバーストによって生じる損傷を修復し得る可能性を高めることである。今、発明者らがインターリーブを何ら有さない、すなわち、e=1であり、発明者らはxのネットワークフレームを破棄すると仮定する。xが、符号化されたFECブロックの中のリペアフレームの数であるRより大きいと、その場合、デコーダは破棄されるネットワークフレームを再作成し得ない。しかし、発明者らがインターリーブを有しており、かつエポックが「e」に等しくかつ破棄されるネットワークフレームの数であるxが「e」と等しいと、その場合、発明者らはバーストドロップの際に1ブロックあたり1ネットワークフレームを失うのみである。例えば、発明者らは1からeで表されるネットワークフレームを失い得、それらが点線ボックス902に示される。したがって、この例では、リペアフレームの数(R)がゼロより大きい限り、発明者らが「e」のネットワークフレームを失うとしても発明者らはすべての破棄されるパケットの修正が可能である。
もう一度図7を参照すると、出力バッファ724においてバッファされるネットワークパケットは、ファーストイン−ファーストアウトベースでNIC606Bに渡される。NIC606Bは、非同期ストリームであるネットワークフレーム128のストリームをASR/AST600Aに送信する。受け取られたネットワークフレームはディインターリーババッファ726においてNIC606Aによってバッファされる。初期化の間、構成710は、構成メッセージ310を受け取るまでインターリーババッファ726からパケットを取り出す。構成710はトランスポートストリームI/Oデバイス608Aの出力ビットレートを、構成メッセージの中に含まれるビットレートに設定し、ディインターリーバモジュール712にエポックのサイズを教え、かつFECデコーダモジュール716にブロック中のネットワークフレームの数(N)およびリペアフレームの数(R)を教える。ディインターリーバモジュール712はネットワークフレームのインターリーバを解除し、FECバッファ728においてインターリーバが解除されたフレームをバッファする。ディインターリーバモジュール712は受け取られたネットワークフレームをシーケンシャルな順序に配置する。インターリーバモジュール706によってネットワークフレームをインターリーブするための修正に加え、ディインターリーバモジュール712は送信遅延を修正する。この送信遅延はネットワークフレームが正しくない順序で受け取られることを生じさせ、これはパケット交換ネットワークに共通する問題である。
FECデコーダは図10に示すステップを実行する。ステップ1002では、FECデコーダ716がFECバッファ728から同じブロックシーケンス番号を有するすべてのネットワークフレームを抽出する。ステップ1004において、次に、FECデコーダモジュール716が、符号化されたFECブロックの最初のNフレームをすべて受け取ったかどうかを決定し、受け取っている場合、ステップ1014に進む。Nフレームのいくつかが失われている場合、FECデコーダモジュール716は、最初に、リペアフレームのサイズである受け取ったフレームの最大のサイズを決定する。ステップ1008では、FECデコーダ716がパッディング(padding)を最大のサイズより小さいサイズのフレームに追加する。次にステップ1010では、FECデコーダ716が、Nフレームの合計が入力として使用されるように、破棄されなかった1番目のNフレームのすべてと、必要とされるだけの多数のリペア/置き換えフレームとを入力として使用して、破棄されるフレームを生成する。ステップ1012では、FECデコーダモジュール716が1番目のNBフレームからパッディングを取り除く。FECデコーダモジュール716は、リペア/置き換えフレームのコンテンツをそれらのサイズに対して検討し、そこからすべてのパッディングを取り除く。次に、ステップ1014では、FECデコーダモジュール716は、フレームの復号化ブロックの再作成されたネットワークフレーム含む1番目のNネットワークフレームをネットワークフレームバッファ730においてバッファする。
再度図7を参照すると、ディエンカプシュレータ(de−encapsulator カプセル化を解除する)モジュール714が、ファーストイン、ファーストアウトベースで、ネットワークフレームバッファ730からネットワークフレームを抽出する。ディエンカプシュレータモジュール714は、ネットワークフレーム202からカプセル化されたパケットメッセージ302のカプセル化を解除する。前述のように、パケットメッセージ302はメタデータ306およびペイロード308の両方を含む。このペイロード308は、コンテンツパケットおよびストリーム情報の両方を含み得るか、あるいはストリーム情報のみまたはコンテンツパケットのみを含み得る。いずれの場合も、ディエンカプシュレータ714は、トランスポートパケットセットを生成するようにメタデータ306およびペイロード302を処理する。このセットは、パケットメッセージ302の中にカプセル化されなかったスタッフィングパケットを含み得る。そのセットのトランスポートパケットは、ASR/AST600Bによって受け取られた順序に対応するようにシーケンシャルに配置される。もちろん、SAR/AST600Bがプログラムを破棄した場合には、そのプログラムを運んでいた任意のコンテンツパケットはスタッフィングパケットとして刻印され、したがってディエンカプシュレータがそれらの破棄されたコンテンツパケットに対しスタッフィングパケットを生成する。トランスポートパケットセットは次にシーケンシャルに出力バッファ732の中に格納される。
トランスポートストリームI/Oデバイス608Aはトランスポートパケットを出力バッファ732からファーストイン、ファーストアウトのベースで受け取り、トランスポートパケットを同期トランスポートストリーム136として送信する。好ましい実施形態では、トランスポートパケット136は、基本的にトランスポートパケットストリーム126と同一であるが、破棄されたプログラムに対応するストリームが異なる。さらに、好ましい実施形態では、2つのストリームの送信速度は、トランスポートパケットストリーム136の2つの連続するPCRを有するトランスポートパケット間の到着時間の差が基本的にトランスポートパケットストリーム126の同じ2つのトランスポートパケットの送信時間の差と同一であるように、基本的に整合される。しかし、別の実施形態では、STS100のオペレータは、ディジッタリング(de−jittering)デバイス(図示せず)がトランスポートストリーム136を受け取りジッタの修正を行い得るので、トランスポートパケットストリーム136の中のジッタと関連し得ない。例示的ディジッタリングデバイスは米国特許第5,640,388号において説明され、この米国特許第5,640,388号は本明細書においてその全体を参照のため援用する。オペレータがジッタと関連しないとき、パケットメッセージ302はストリーム情報を全く有さないコンテンツパケットのみを含み得る。この実施形態では、ASR/AST600Aは、出力バッファ732がアンダーフローしないようにスタッフィングパケットを出力バッファ732の中に挿入するように適応され得る。さらに別の実施形態では、ストリーム情報が、パケットメッセージ302によって運ばれるトランスポートパケットセットのスタッフィングパケットの数である、スタッフィング密度情報を含む。したがって、例えば、コンテンツパケットC5、C6、C11、C13、C15およびC18をカプセル化しかつスタッフィング密度を11とすることによって、パケットメッセージ302が図4に示すパケットセット400を運び得る。この実施形態では、ディカプシュレータモジュール714がスタッフィング密度の情報を読みかつ11のスタフィングパケットを生成する。11のスタッフィングパケットは次に受け取られたコンテンツパケットと共に送信される。したがって、トランスポートストリーム136の中のスタッフィングパケットの密度は破棄されたプログラミングを除きトランスポートストリーム126の中のスタッフィングパケットと同じである。ここでもまた、その後ディジッタリングデバイスのダウンストリームが、適切な順序に配置されるコンテンツパケットおよびスタッフィングパケットを有さないことによってもたらされるジッタを修正する。
しかし、1つの好ましい実施形態では、トランスポートパケットストリーム136がASR/AST600BおよびASR/AST600Aの間の送信によってジッタされない。このことを達成するために、図示されないASR/AST600Aのクロックが、ネットワークフレームバッファ730がオーバーフローしない、またはアンダーフローしないように同期化される。基本的に、ネットワークフレームバッファ730がオーバーフローし始めるとき、ASR/AST600Aからのトランスポートパケットの送信速度を速くするようにASR/SAST600Aのクロックスピードが加速される。一方、ネットワークフレームバッファ730がアンダーフローし始めるとき、ASR/AST600Aのクロックスピードは減速され、ASR/AST600Aからのトランスポートパケットの送信速度が減速される。
1つの好ましい実施形態では、トランスポートストリームI/Oデバイス608はJ−Iバッファされるデバイスであり、ここでJはバッファの数であり、Iは1バッファ当たりのトランスポートパケットの数である。J−Iバッファ出力デバイスに対し、トランスポートストリームI/Oデヴァイス608が、構成メッセージ310を用いて構成710が初期化する初期化ビットレートでトランスポートパケットの出力を開始するようにトリガされる前に、JのバッファがI個のトランスポートパケット204で満たされる。例えば、トランスポートストリームI/Oデバイス608が1バッファ当たり1Kのトランスポートパケットを有するダブルバッファデバイス(double−buffered device)(2−1Kデバイス)である場合には、デバイスが出力するようトリガされる前に、出力が、2X1K=2048のトランスポートパケットで満たされる。
トランスポートストリームI/Oデバイス608がトランスポートパケット204を出力するようにトリガされる前に、ネットワークフレームバッファ730は、特定のレベルに(なるように前もって)準備される。JXI+LのトランスポートパケットがJ−I出力デバイスに転送される前に、ネットワークフレームバッファ730がこれらのパケットで満たされる。このことは、トランスポートストリームI/Oデバイス608が出力をトリガされるとき、ネットワークフレームバッファ730がLのトランスポートパケットを含む結果となる。
ASR/AST600Aは単にトランスポートストリーム136を送り出すだけなので、ただクロックの同期化の結果だけが、ネットワークフレームバッファ730がオーバーフローしないまたはアンダーフローしないことを保証する。この場合に限り、ASR/AST600AはMPEG−2のトランスポートストリームを送り出す機能を実行し得る。トランスポートストリーム136のビットレートの正確さはASR/ASTの600Aローカルクロックの正確さのスペックによって左右される。例えば、MPEG−2は0.075Hz/秒のドリフト速度を有する27MHz±810Hz(30ppm)のローカルクロックを特定する。ASR/ASTの600AローカルクロックはASR/AST600Bのローカルクロックともエンコーダ120のローカルクロックとも同期化されず、自由継続操作のままにおかれる場合、ネットワークフレームバッファ730は、最終的にオーバーフローまたはアンダーフローする。ネットワークフレームバッファ730のオーバーフローおよび/またはアンダーフローを回避するために以下のアプローチが取られる。(1)ネットワークフレームバッファ730の平均バッファレベルを計算する、(2)ネットワークフレームバッファ730のレベルの平均が変化するとき(増加または減少のいずれか)をMのトランスポートパケットによって検出する、(c)ネットワークフレームバッファ730のバッファレベルを回復するためにASR/AST600Aのローカルクロックを調整する。
既に説明したように、ネットワークフレームバッファ730の充填およびトランスポートストリームI/Oデバイス608の最初の出力の後、ネットワークフレームバッファ730は初期レベルのLトランスポートパケットを含む。ASR/AST600AのローカルクロックがASR/AST600Bのクロックより速く進む場合は、ネットワークフレームバッファ730の平均バッファレベルは時間と一緒に低下する。
ネットワークフレームバッファ730の瞬時バッファレベルは、いくらかはBDNを介して受け取られるネットワークフレームの到着時間におけるジッタのために、いくらかはバッファされるトランスポートストリームI/Oデバイス608の出力のために、かなりの分散を有する。1つの実施形態では、トランスポートストリームI/Oデバイス608が出力バッファ732から複数のトランスポートパケットを1度に受け取りかつバッファし、そのことが以下に説明するように、鋸歯パターンに従ったネットワークフレームバッファ730のバッファレベルを生じることとなる。一旦、出力バッファ732が埋められると、プロセッサ602は、トランスポートストリームI/Oデバイス608が出力バッファ732の内容を受けつけ得るまで、つまり、ソフトウェアタスクの「ブロック」まで処理を停止する。この間、ディインターリーババッファ726はネットワークフレーム128のストリームからのネットワークフレーム202で満たされ続ける
トランスポートストリームI/Oデバイス608が出力バッファ732の内容を受けつけると、プロセッサ602は、ディインターリーババッファ726の中のインターリーバが解除された(ディインターリーブされた)ネットワークフレームをそっくりFECバッファ728に空ける。FECバッファ728の中のネットワークフレーム204のすべてがFECデコードされ、ネットワークフレームバッファ730の中に置かれる。
ネットワークフレームバッファ730は、ネットワークフレーム202がASR/AST600Bによって「プッシュ」されかつASR/AST600AのトランスポートストリームI/Oデバイス608によって「プル」される、中間のバッファを表す。ASR/AST600AのクロックとASR/AST600Bのクロックとの間の関連するドリフトは経時的にネットワークフレームバッファ730の平均レベルにおける差を検出することによって予測される。ネットワークフレームバッファ730のバッファレベルは鋸歯状パターンに従うので、平均バッファレベルの決定に及ぼす鋸歯状パターンの影響を除去するように、バッファの瞬時レベルは鋸歯状パターンの同じポイントで計測される必要がある。出力バッファ732の内容がトランスポートストリームI/Oデバイス608によって受け付けられかつFECバッファ728がネットワークフレームバッファ730に空けられた後、ネットワークフレームバッファ730のレベルが直接サンプリングされる場合、これは、鋸歯状パターン曲線の既知のポイントを表す。数秒の期間のネットワークフレームバッファ730のバッファレベルの変動する平均は、ほんのいくつかのトランスポートパケットの変動を有する平均を生じる。
明確さのために、発明者らはネットワークフレームバッファ730の平均バッファレベルをML(t)としてあらわし、かつ発明者らはASR/AST600AおよびASR/AST600Bのローカルクロックの周波数をそれぞれf(t)およびf(t)と表す。
すべてのtに対し、f(t)=f(t)である場合、つまり、ASR/AST600AおよびASR/AST600Bのローカルクロックがロックされている場合は、プッシュレートおよびプルレートが同期化されているので、ML(t)は時間に対し一定である。しかし、クロックが同期化されない場合は、ML(t)は時間に対して変化する。
発明者らは、閾値をNと規定し、(例えば、仮に)ABS(ML(t)−ML(t))≧Nであり、ここでASB(x)が絶対値xをとる場合、発明者らはASR/AST600Aのローカルクロックを調整する。この閾値はNのトランスポートパケットによってネットワークフレームバッファ730のレベルが上下することを表す。レベルの差が検出される時間の期間は
ΔT=t−t
として与えられる。
時間の差から、ASR/AST600Aのローカルクロックの標準相対周波数は、
Δf(t)=(t/ΔT)sign(ML(t)−ML(t)) 式(1)
として予測され、ここでTは特定のビットレートを有するトランスポートストリームのNのトランスポートパケットの送信に要した時間の量である。したがって、tは既知の定数であり、sign()は、因数がプラスであるかマイナスであるかに応じてそれぞれ、+1または−1のいずれかを返す。したがって、例えば、ネットワークフレームバッファ730の平均バッファレベルがNのパケットによって低下する場合、Δfはマイナスである。
式(1)に従って、ASR/AST600Aの標準相対周波数が予測された後、ASR/AST600Aのローカルクロックが以下のように更新される。
Fr(t)=Fr(t)+Δf(t)X Fref+BIAS X [ML(t)−ML(0)] 式(2)
ここでBIASは、例えば5Hzの調整可能な一定周波数と等しく、Frefは周期におけるローカルクロックの1秒当たりの基準周波数と等しい。例えば、MPEG−2によって特定される基準周波数は27MHz±810Hzである。
なお、式(2)の中の項[ML(t2)−ML(0)]は、最初の平均が出されてから蓄積されたネットワークフレームバッファ730の、平均レベルにおけるトランスポートパケットの増加/減少の合計を表す。式(2)の項Δf(t)X FrefはASR/AST600のクロックの相対ドリフトをゼロにする働きをし、一方、項BIAS X [ML(t)−ML(0)]は時間t2までの時間の期間にわたってドリフトした後、ネットワークフレームバッファ730をその本来の平均レベルに修復する働きをする。例えば、Δf(t)がゼロの場合、ASR/ASTs600のクロックの相対周波数は等しいことを示すが、[ML(t)−ML(0)]が−10に等しい場合は、ASR/AST600Aのローカルクロックの周波数は、−10X BIASによって調整され、そのことが、ASR/AST600Aにより遅いストリームを送り出させ、ネットワークフレームの蓄積された−10のドリフトが0に移動することを可能とする。
式(2)をASR/AST600Aのローカルクロックへの適用は、0.075Hz/秒のクロックドリフトにおけるMPEG−2のスペックを確認するステップにおいて達成される。式(2)の調整が達成されるまで、周波数は、各秒ごとに0.075Hz上下させて調整される。
あるいは、トランスポートストリームI/Oデバイス608が微細な変化をその内部クロックに提供しないが、その出力ビットレートに微細な変化を提供する場合、同じ目的を達成するために、内部クロックを調整するかわりに出力ビットレートが調整され得る。
上述の本発明の実施形態は、特に任意の「好ましい」実施形態は、単に実行が可能な例であり、単に本発明の原理の明確な理解のために説明されることが強調される。上述の本発明の実施形態に対し、本発明の意図および原則から実質的に逸脱することなく、多くの変更および改変がなされ得る。そのような改変および変更はすべて、本明細書において本開示および本発明の範囲内に含まれ、添付の請求項によって保護されることが意図される。
本発明を以上のように説明してきたが、少なくとも添付する請求項が請求される。
図1は、本発明の好ましい実施形態が採用され得る加入者テレビシステムなどの広帯域通信システムのブロック図である。 図2は、MPEGトランスポートストリームのブロック図である。 図3Aは、ASTによって生成されるメッセージのブロック図である。 図3Bは、ASTによって生成されるメッセージのブロック図である。 図3Cは、ASTによって生成されるメッセージのブロック図である。 図4は、トランスポートストリームのトランスポートパケットセットのブロック図である。 図5Aは、図4のトランスポートパケットセットの一部分を運ぶメッセージのブロック図である。 図5Bは、図4のトランスポートパケットセットの一部分を運ぶメッセージのブロック図である。 図6は、ASTのコンポーネントのブロック図である。 図7は、ASRおよびASTのコンポーネントのブロック図である。 図8は、フォワードエラーコレクタモジュールによって実行されるロジックのためのフローチャートである。 図9は、インタリーババッファにおけるネットワークフレームのバッファを表すブロック図である。 図10は、フォワードエラーコレクタモジュールによって実行されるロジックのためのフローチャートである。

Claims (17)

  1. トランスポートパケットのストリームの中で運ばれる選択されたコンテンツを送信する方法であって、該方法は、
    トランスポートパケットの同期ストリームを受け取るステップであって、該ストリームは、コンテンツパケットおよびヌルパケットを含む、ステップと、
    該トランスポートパケットのストリームに含まれる非選択のコンテンツを有するトランスポートパケットがヌルパケットを示すように該非選択のコンテンツを有するトランスポートパケットのパケット識別子を変更することによって、制御システムからのメッセージに基づいて、該受け取られたトランスポートパケットの同期ストリームをフィルタリングするステップと、
    該トランスポートパケットの該フィルタリングされたストリームのうちの受け取られた1組のトランスポートパケットのためのストリーム情報を決定するステップと、
    該1組のトランスポートパケットのコンテンツパケットをネットワークフレームにカプセル化するステップと、
    該ネットワークフレームおよび該ストリーム情報を送信するステップであって、該ネットワークフレームは、パケット交換ネットワークを介して送信される、ステップと
    を含む、方法。
  2. 前記ストリーム情報は、前記ネットワークフレームに含まれている、請求項1に記載の方法。
  3. 前記ストリーム情報は、前記1組のパケットに含まれるヌルパケットの数を示す、請求項1に記載の方法。
  4. 前記ストリーム情報は、前記1組のパケットのためのシーケンス情報を含む、請求項1に記載の方法。
  5. 前記1組のトランスポートパケットは、所定の数のコンテンツパケットを含む、請求項1に記載の方法。
  6. 前記1組のトランスポートパケットは、可変の数のヌルパケットを含む、請求項5に記載の方法。
  7. 受け取られたコンテンツパケットをバッファにバッファするステップと、
    該バッファにおけるコンテンツパケットの数が所定の数であるKを超えているかまたは等しいかを決定するステップと、
    該バッファにおけるコンテンツパケットの数が該所定の数であるKと等しいまたはKより大きいことに応答して、前記1組のトランスポートパケットをK個のファーストインのバッファされたトランスポートパケットとして規定するステップと、
    該1組のトランスポートパケットを該バッファから抽出するステップであって、該1組のトランスポートパケットは、ファーストインファーストアウトのベースで抽出される、ステップと
    をさらに含む、請求項1に記載の方法。
  8. 前記抽出するステップに先立ち、
    前記ファーストインのトランスポートパケットのバッファ時間(T)を測定するステップと、
    該ファーストインのトランスポートパケットの該バッファ時間(T)が所定の時間であるTより大きいまたはTと等しいことに応答して、前記バッファされたファーストインのトランスポートパケットを含むように前記1組のトランスポートパケットを規定するステップと
    をさらに含む、請求項7に記載の方法。
  9. 前記抽出するステップに先立ち、
    前記バッファのバッファレベルを測定するステップと、
    該バッファレベルが所定の閾値を超えたことに応答して、前記バッファされたファーストインのトランスポートパケットを含むように前記1組のトランスポートパケットを規定するステップと
    をさらに含む、請求項7に記載の方法。
  10. 前記ネットワークフレームをバッファにバッファするステップであって、該バッファには、複数のネットワークフレームが格納されている、ステップと、
    該バッファから第1の組のネットワークフレームを抽出するステップであって、該ネットワークフレームは、ファーストインファーストアウトのベースで抽出される、ステップと、
    該第1の組のネットワークフレームをフォワードエラーエンコーダに提供することにより、置き換えネットワークフレームを生成するステップと
    ネットワークフレームの第1の群を、該第1の組のネットワークフレームおよび該置き換えネットワークフレームとして規定するステップと、
    該ネットワークフレームの第1の群を送信機から送信するために該ネットワークフレームの第1の群を送信機に提供するステップと
    をさらに含む、請求項1に記載の方法。
  11. 前記ネットワークフレームの第1の群を前記送信機に提供するステップに先立ち、
    該ネットワークフレームの第1の群を第2のバッファにバッファするステップであって、該第2のバッファには、ネットワークフレームの第2の群を含むネットワークフレームの複数の群が格納されている、ステップと、
    該ネットワークフレームの第1の群と該ネットワークフレームの第2の群とをインターリーブするステップであって、該ネットワークフレームの第1の群および該ネットワークフレームの第2の群は、インターリーブされた順序で前記送信機に提供される、ステップと
    をさらに含む、請求項10に記載の方法。
  12. 前記ネットワークフレームの第1の群は、ネットワークフレームの複数の群とインターリーブされ、該ネットワークフレームのインターリーブされた群は、インターリーブされた順序で送信機に提供される、請求項11に記載の方法。
  13. 前記第1の組のネットワークフレームを前記フォワードエラーエンコーダに提供するステップに先立ち、
    該第1の組のネットワークフレームに対する最大のネットワークフレームのサイズを決定するステップと、
    該第1の組のネットワークフレームのうちの所与のネットワークフレームが該最大のネットワークフレームのサイズよりも小さいことに応答して、特定の量のパッドを該所与のネットワークフレームに加えることにより、該パッドを加えた該所与のネットワークフレームのサイズが該最大のネットワークフレームサイズと等しくなるようにするステップと
    をさらに含む、請求項10に記載の方法。
  14. 前記ネットワークフレームの第1の群を規定するステップに先立ち、
    前記第1の組のネットワークフレームのうちの各所与のネットワークフレームから前記パッドを取り除くステップをさらに含む、請求項13に記載の方法。
  15. 前記トランスポートパケットのストリームは、複数の基本的ストリームおよびヌルパケットのストリームを含み、該複数の基本的ストリームおよび該ヌルパケットのストリームのそれぞれは、それらに関連する固有のパケット識別子を有し、
    前記方法は、
    該複数の基本的ストリームのうちの特定の基本的ストリームを識別するステップと、
    該特定の基本的ストリームのパケットをヌルパケットとして処理するステップと
    をさらに含む、請求項1に記載の方法。
  16. 前記ストリーム情報を決定するステップは、
    連続的に受け取られる一対のコンテンツパケットの間に置かれるヌルパケットの数をカウントするステップと、
    該ヌルパケットカウントを該連続的に受け取られる一対のコンテンツパケットのうちの1つのコンテンツパケットに関連づけるステップと、
    該ヌルパケットカウントを該ストリーム情報の中に含めるステップと
    をさらに含む、請求項1に記載の方法。
  17. 1組のトランスポートパケットのためのストリーム情報と該1組のトランスポートパケットのコンテンツパケットとをインターリーブするステップとをさらに含む、請求項16に記載の方法。
JP2003559091A 2002-01-04 2003-01-06 非同期ネットワークを介するストリームの送信 Expired - Fee Related JP4216195B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US34538802P 2002-01-04 2002-01-04
US10/336,821 US7155532B2 (en) 2002-01-04 2003-01-03 Transmitting streams over asynchronous networks
PCT/US2003/000305 WO2003058897A1 (en) 2002-01-04 2003-01-06 Transmitting streams over asynchronous networks

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2008196494A Division JP2008283715A (ja) 2002-01-04 2008-07-30 非同期ネットワークを介するストリームの送信

Publications (2)

Publication Number Publication Date
JP2006507697A JP2006507697A (ja) 2006-03-02
JP4216195B2 true JP4216195B2 (ja) 2009-01-28

Family

ID=26990388

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2003559091A Expired - Fee Related JP4216195B2 (ja) 2002-01-04 2003-01-06 非同期ネットワークを介するストリームの送信
JP2008196494A Withdrawn JP2008283715A (ja) 2002-01-04 2008-07-30 非同期ネットワークを介するストリームの送信

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2008196494A Withdrawn JP2008283715A (ja) 2002-01-04 2008-07-30 非同期ネットワークを介するストリームの送信

Country Status (6)

Country Link
US (3) US7155532B2 (ja)
EP (1) EP1470673B1 (ja)
JP (2) JP4216195B2 (ja)
AU (1) AU2003202218A1 (ja)
CA (1) CA2477389C (ja)
WO (1) WO2003058897A1 (ja)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7155532B2 (en) 2002-01-04 2006-12-26 Scientific-Atlanta, Inc. Transmitting streams over asynchronous networks
US7236480B2 (en) * 2002-06-07 2007-06-26 Sandbridge Technologies, Inc. Method of first interleaving of a two interleaver transmitter
KR100547889B1 (ko) * 2003-08-25 2006-01-31 삼성전자주식회사 Mpeg-2 전송을 위한 널 패킷 필터링 장치
BRPI0407861A (pt) * 2003-02-28 2006-03-01 Thomson Licensing processo para canal de ligação inferior exclusivo wlan
KR101090440B1 (ko) * 2003-12-08 2011-12-06 삼성전자주식회사 데이터 통신 시스템의 수신기에서 버퍼 데이터량 조정장치및 방법, 적응적 클럭 동기부를 갖는 실시간 데이터재생장치 및 방법
JP2005204001A (ja) * 2004-01-15 2005-07-28 Hitachi Ltd データ配信サーバ、ソフトウェア、及びシステム
US7650285B2 (en) * 2004-06-25 2010-01-19 Numerex Corporation Method and system for adjusting digital audio playback sampling rate
US7571246B2 (en) * 2004-07-29 2009-08-04 Microsoft Corporation Media transrating over a bandwidth-limited network
US20060184697A1 (en) * 2005-02-11 2006-08-17 Microsoft Corporation Detecting clock drift in networked devices through monitoring client buffer fullness
US7743183B2 (en) 2005-05-23 2010-06-22 Microsoft Corporation Flow control for media streaming
US7920602B2 (en) * 2005-05-23 2011-04-05 Samsung Electronics Co., Ltd. Method for formatting digital broadcast transport stream packet for improved receiving performance, digital broadcast transmitter, and signal processing method thereof
US8804751B1 (en) * 2005-10-04 2014-08-12 Force10 Networks, Inc. FIFO buffer with multiple stream packet segmentation
WO2007082016A2 (en) * 2006-01-11 2007-07-19 Fisher-Rosemount Systems, Inc. Control system with wireless address domain to field device address domain translation
US7516387B2 (en) * 2006-02-17 2009-04-07 Harris Corporation System and method for transmitting FEC packets
US20070280293A1 (en) * 2006-06-06 2007-12-06 Broadcom Corporation System and method for implementing video streaming over IP networks
IL176288A0 (en) * 2006-06-13 2007-07-04 Imagine Comm Ltd Synchronous transmission over packet based network
WO2008097027A1 (en) * 2007-02-07 2008-08-14 Lg Electronics Inc. Digital broadcasting system and method of processing data
KR100787314B1 (ko) * 2007-02-22 2007-12-21 광주과학기술원 미디어내 동기화를 위한 적응형 미디어 재생 방법 및 장치
JP5031503B2 (ja) * 2007-09-29 2012-09-19 Kddi株式会社 放送パケットを再送信する再送信装置、設備システム、プログラム及び方法
US8854964B2 (en) * 2007-12-14 2014-10-07 General Instrument Corporation Method and apparatus for determining a transport bit rate for a Multiprogram transport stream
JP5380862B2 (ja) * 2008-03-05 2014-01-08 日本電気株式会社 Ipストリーム送受信システム、ipストリーム受信装置及びそれらに用いる受信処理タイミング同期化方法
FR2940729A1 (fr) * 2008-12-29 2010-07-02 Thomson Licensing Procede de generation de fichiers multimedia destines a etre transmis par paquets dans un reseau pair-a-pair
US20100316068A1 (en) * 2009-06-12 2010-12-16 Matthew Ornes Transport Over an Asynchronous XAUI-like Interface
US8738910B2 (en) * 2009-12-07 2014-05-27 Telefonaktiebolaget L M Ericsson (Publ) Method and arrangement for enabling play-out of media
KR101662843B1 (ko) * 2010-03-05 2016-10-14 삼성전자주식회사 데이터 통신 망에서의 스트리밍 서비스 장치 및 방법
EP2448259B1 (en) 2010-11-01 2014-01-08 Nagravision S.A. A method for creating an enhanced data stream
JP2014521245A (ja) 2011-07-08 2014-08-25 サムスン エレクトロニクス カンパニー リミテッド マルチメディアシステムにおける前方誤り訂正パケットの生成方法とその誤り訂正パケットを送受信する方法及び装置
IL217307A (en) * 2012-01-01 2015-09-24 Video Flow Ltd Continuous error correction (fec) system and method
KR101961736B1 (ko) * 2012-04-23 2019-03-25 삼성전자 주식회사 통신 시스템에서 패킷 송수신 장치 및 방법
KR20130126876A (ko) 2012-04-30 2013-11-21 삼성전자주식회사 통신 시스템에서 패킷 송수신 방법 및 장치
US20150030088A1 (en) * 2013-07-26 2015-01-29 Vixs Systems Inc. Clock recovery for media stream in bursty network channel
KR102208814B1 (ko) * 2014-03-28 2021-01-28 삼성전자주식회사 통신 시스템에서 패킷 송수신 방법 및 장치
US10727977B2 (en) 2016-12-30 2020-07-28 Hughes Network Systems, Llc System and method for improving forward error correction efficiency
CN109391461B (zh) * 2017-08-11 2021-08-13 华为技术有限公司 透传业务频率的方法和设备
AU2018335409A1 (en) * 2017-09-22 2020-04-02 Partworks, LLC Rivetless fastener and installation tool

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4870641A (en) * 1988-03-30 1989-09-26 Bell Communications Research, Inc. Multichannel bandwidth allocation
US5115427A (en) * 1990-03-30 1992-05-19 At&T Bell Laboratories Arrangements for switching multiple packet types combined in a single packet stream
US5509010A (en) * 1993-06-25 1996-04-16 At&T Corp. Communications signaling protocols
US5742599A (en) 1996-02-26 1998-04-21 Apple Computer, Inc. Method and system for supporting constant bit rate encoded MPEG-2 transport over local ATM networks
US6233256B1 (en) 1996-03-13 2001-05-15 Sarnoff Corporation Method and apparatus for analyzing and monitoring packet streams
US5742604A (en) 1996-03-28 1998-04-21 Cisco Systems, Inc. Interswitch link mechanism for connecting high-performance network switches
KR0175570B1 (ko) 1996-10-16 1999-04-01 양승택 Atm망의 정합을 위한 mpeg-2 ts 다중화장치
US6016307A (en) * 1996-10-31 2000-01-18 Connect One, Inc. Multi-protocol telecommunications routing optimization
US6473404B1 (en) * 1998-11-24 2002-10-29 Connect One, Inc. Multi-protocol telecommunications routing optimization
GB2326054B (en) * 1997-06-04 2002-08-07 Roke Manor Research Broadband telecommunications switch
EP0901261B1 (en) 1997-09-05 2013-01-09 Hitachi, Ltd. Transport protocol conversion method and protocol conversion equipment
CN1146205C (zh) 1997-10-17 2004-04-14 皇家菲利浦电子有限公司 在恒定大小的传送分组中封装数据的方法
US6246701B1 (en) * 1998-01-14 2001-06-12 Skystream Corporation Reference time clock locking in a remultiplexer for video program bearing transport streams
US6233326B1 (en) * 1998-08-03 2001-05-15 Lucent Technologies Inc. Method and apparatus for identifying a line blockage
US6317462B1 (en) * 1998-10-22 2001-11-13 Lucent Technologies Inc. Method and apparatus for transmitting MPEG video over the internet
US6490705B1 (en) 1998-10-22 2002-12-03 Lucent Technologies Inc. Method and apparatus for receiving MPEG video over the internet
US6233226B1 (en) 1998-12-14 2001-05-15 Verizon Laboratories Inc. System and method for analyzing and transmitting video over a switched network
US6993021B1 (en) * 1999-03-08 2006-01-31 Lucent Technologies Inc. Lightweight internet protocol encapsulation (LIPE) scheme for multimedia traffic transport
US6639896B1 (en) * 1999-04-01 2003-10-28 Diva Systems Corporation Asynchronous serial interface (ASI) ring network for digital information distribution
US6785261B1 (en) * 1999-05-28 2004-08-31 3Com Corporation Method and system for forward error correction with different frame sizes
US6804776B1 (en) * 1999-09-21 2004-10-12 Cisco Technology, Inc. Method for universal transport encapsulation for Internet Protocol network communications
GB2356323A (en) * 1999-11-15 2001-05-16 Tandberg Television Asa Statistical multiplexing
US6687251B1 (en) * 1999-12-08 2004-02-03 Nortel Networks Limited Method and apparatus for distributed MTP Level 2 architecture
US6771657B1 (en) * 1999-12-09 2004-08-03 General Instrument Corporation Non real-time delivery of MPEG-2 programs via an MPEG-2 transport stream
US6826195B1 (en) * 1999-12-28 2004-11-30 Bigband Networks Bas, Inc. System and process for high-availability, direct, flexible and scalable switching of data packets in broadband networks
US7159233B2 (en) * 2000-01-28 2007-01-02 Sedna Patent Services, Llc Method and apparatus for preprocessing and postprocessing content in an interactive information distribution system
US7159235B2 (en) * 2000-01-28 2007-01-02 Sedna Patent Services, Llc Method and apparatus for content distribution via non-homogeneous access networks
EP1146678B1 (en) * 2000-04-14 2006-12-20 Alcatel An auto-adaptive jitter buffer
AU2001255444A1 (en) * 2000-04-18 2001-10-30 B2C2, Inc. Assembling transport packets into ip packets using a clock signal from the transport stream
US7039048B1 (en) * 2000-09-22 2006-05-02 Terayon Communication Systems, Inc. Headend cherrypicker multiplexer with switched front end
US7155532B2 (en) 2002-01-04 2006-12-26 Scientific-Atlanta, Inc. Transmitting streams over asynchronous networks

Also Published As

Publication number Publication date
EP1470673A1 (en) 2004-10-27
US7155532B2 (en) 2006-12-26
JP2006507697A (ja) 2006-03-02
CA2477389A1 (en) 2003-07-17
EP1470673B1 (en) 2012-12-19
US20070091917A1 (en) 2007-04-26
US7774489B2 (en) 2010-08-10
WO2003058897A1 (en) 2003-07-17
US20090193318A1 (en) 2009-07-30
US20030133446A1 (en) 2003-07-17
JP2008283715A (ja) 2008-11-20
CA2477389C (en) 2011-06-21
EP1470673A4 (en) 2007-08-15
US7516234B2 (en) 2009-04-07
AU2003202218A1 (en) 2003-07-24

Similar Documents

Publication Publication Date Title
JP4216195B2 (ja) 非同期ネットワークを介するストリームの送信
JP2009010966A (ja) 非同期ネットワークを介するストリームの受信
CA2554712C (en) System and method of supporting transport and playback of signals
EP1553774B1 (en) Content receiving apparatus and content transmitting apparatus
US7609727B2 (en) Apparatus for transmitting/receiving communication and broadcasting data using multiplexing at transmission convergence layer
EP1623303B1 (en) Information frame modifier
KR101340762B1 (ko) 지상파 디지털 멀티미디어 방송 서비스의 인터넷 프로토콜패킷 재전송 방법
US9641588B2 (en) Packets recovery system and method
WO2013098810A1 (en) Adaptive forward error correction (fec) system and method
GB2447746A (en) Multiplexing RTP packets carrying MPEG TS into a jumbo frame for IP network broadcasting
JP2003249922A (ja) データ受信装置、および受信データ処理方法、並びにコンピュータ・プログラム
EP2165498A2 (en) System and method for transport of a constant bit rate stream
US20090007201A1 (en) Jitter Introduction In A Data Transmission System
JP2019087958A (ja) 放送再送信装置、放送再送信方法およびモニタ方法
US9172914B1 (en) Using EQAM video de-jitter memory for processing M-CMTS DEPI PSP priority queues
MXPA06010293A (en) Transport stream dejitterer

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070906

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070910

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20071207

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20071214

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080310

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080331

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080730

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20080807

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20081105

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20121114

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20121114

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20131114

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees