JP2008283715A - 非同期ネットワークを介するストリームの送信 - Google Patents
非同期ネットワークを介するストリームの送信 Download PDFInfo
- Publication number
- JP2008283715A JP2008283715A JP2008196494A JP2008196494A JP2008283715A JP 2008283715 A JP2008283715 A JP 2008283715A JP 2008196494 A JP2008196494 A JP 2008196494A JP 2008196494 A JP2008196494 A JP 2008196494A JP 2008283715 A JP2008283715 A JP 2008283715A
- Authority
- JP
- Japan
- Prior art keywords
- packet
- packets
- transport
- stream
- network
- 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.)
- Withdrawn
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/2801—Broadband local area networks
-
- 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
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
-
- 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/10—Architectures or entities
- H04L65/102—Gateways
- H04L65/1023—Media gateways
- H04L65/1026—Media gateways at the edge
-
- 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/10—Architectures or entities
- H04L65/102—Gateways
- H04L65/1033—Signalling gateways
- H04L65/1036—Signalling gateways at the edge
-
- 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
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/762—Media network packet handling at the source
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/64—Hybrid switching systems
- H04L12/6418—Hybrid transport
- H04L2012/6483—Video, 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)
Abstract
【課題】トランスポートストリームの送信のための装置および方法を提供すること。
【解決手段】非同期ネットワークストリーム送信機(115)が、コンテンツパケットおよびノイズ除去されるパケットを有するトランスポートストリーム(126)を受け取り、選択的にコンテンツパケットをネットワークフレームにカプセル化するように適応される。トランスポートパケットのストリーム中で運ばれる選択されたコンテンツの送信方法は、トランスポートパケットの同期ストリームを受け取るステップと、トランスポートパケットのストリームの受け取られるトランスポートパケットセットのためのストリーム情報を決定するステップと、トランスポートパケットセットのコンテンツパケットをネットワークフレームの中にカプセル化するステップと、ネットワークフレーム及びストリーム情報を送信するステップとを含む。
【選択図】図1
Description
本発明は、一般に、広帯域通信システムにおけるトランシーバに関し、特に、非同期ネットワークを介するトランスポート(輸送)ストリームの送信のための装置および方法に関する。
(関連する出願の相互参照)
本出願は、2002年1月4日に出願された「A DEVICE FOR TRANSCEIVING MPEG−2 TRANSPORT STREAMS OVER IP
NETWORKS」という名称の、同時係属中の、米国仮出願第60/345,388号に基づきその優先権を主張するものであり、その全体を本明細書において参照のため援用する。
本出願は、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などのデジタルフォーマットでのプログラムを提供する。従来の加入者電話システムに採用される配信メカニズムは、衛星、地上、およびケーブル通信ネットワークを含む。デジタルプログラム製品の配信に比較的新しく参入したのは広帯域パケット交換ネットワークである。
従来の加入者テレビシステムは、音声(audio)およびビデオ情報の圧縮のための確立された規格であるMPEG−2などのデジタルフォーマットでのプログラムを提供する。従来の加入者電話システムに採用される配信メカニズムは、衛星、地上、およびケーブル通信ネットワークを含む。デジタルプログラム製品の配信に比較的新しく参入したのは広帯域パケット交換ネットワークである。
広帯域パケット交換ネットワーク界とテレビネットワーク界とは、従来から技術的に大きな隔たりがあることによって、区別され、分離されてきた。テレビのコンテンツの配信および放送は、従来からサービスにおいて高い信頼性を有する1方向技術であった。対照的に、パケット交換ネットワークは、完全に双方向通信が可能であり、元々高い信頼性またはQoS(Quality of Service)を提供するように設計されなかった。
パケット交換ネットワークの例は、IP(Internet Protocol)ネットワークであり、それは、「コネクションレス(connectionless 接続のない)」ネットワークである。コネクションレスネットワークでは、発信元が目的地と通信可能であることに先立ち何の接続もパスも確立されない。その代わり、パケット交換時、またはルータがパケットを受け取ったときに動的に決定されるパスまたはルートに基づき、パケット交換機またはルータが各パケットを転送する。その結果、パケット交換ネットワークでは、発信元から目的地に送信される各パケットは、ネットワークを介して異なるパスに従い得る。異なるパスに従うことからくる異なる遅れのため、パケット交換ネットワークにおけるパケットは、発信元によって送信されたパケットとは完全に異なる順序で目的地に到達し得る。
テレビ配信技術とパケット交換ネットワーク技術との間のギャップを埋めることへの要求がある。デジタルプログラムストリームは、通常DVB/ASI(Digital V
ideo Broadcast/Asynchronous Serial Interface)として公知である業界標準フォーマットのデジタルエンコーダまたはマルチプレキサから送り出される同期ストリームである。したがって、求められるのは、パケット交換ネットワークを介してトランスポートストリームを運びかつトランスポートストリームを再送信するための装置および方法である。求められるのはまた、パケット交換ネットワークを介して送信される、可変的に遅延するネットワークフレームのストリームを受け取りかつトランスポートパケットの同期ストリームを送り出すための装置および方法であり、トランスポートパケットがネットワークフレームストリームの中で運ばれる。さらに、求められるのは、トランスポートストリームを受け取りかつパケット交換ネットワークを介する送信のためにトランスポートストリームのコンテンツをネットワークフレームの中に選択的に含むための装置および方法である。
ideo Broadcast/Asynchronous Serial Interface)として公知である業界標準フォーマットのデジタルエンコーダまたはマルチプレキサから送り出される同期ストリームである。したがって、求められるのは、パケット交換ネットワークを介してトランスポートストリームを運びかつトランスポートストリームを再送信するための装置および方法である。求められるのはまた、パケット交換ネットワークを介して送信される、可変的に遅延するネットワークフレームのストリームを受け取りかつトランスポートパケットの同期ストリームを送り出すための装置および方法であり、トランスポートパケットがネットワークフレームストリームの中で運ばれる。さらに、求められるのは、トランスポートストリームを受け取りかつパケット交換ネットワークを介する送信のためにトランスポートストリームのコンテンツをネットワークフレームの中に選択的に含むための装置および方法である。
本発明の多くの局面は、以下の図面を参照することでより良く理解され得る。図面のコンポーネントは必ずしも一定の縮尺ではなく、むしろ本発明の原理を明確に示すことに重点が置かれる。さらに、図面では、このいくつかの図面全体を通して、同様の番号は対応する部分を示す。
(好ましい実施形態の詳細な説明)
概して、本発明の好ましい実施形態は、ノイズ除去(filtering out)によるコンテンツのカプセル化および空(ヌル)パケットの置き換えを含み、いくつかの実施形態では、ノイズ除去された数多くのパケットの表示を有する破棄プログラム(dropped program)パケットを含む。したがって、新しい送信機、受信機、およびシステムならびに関連する方法が本発明の範囲内に含まれる。
概して、本発明の好ましい実施形態は、ノイズ除去(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−transm
itter)115、マルチレプキサ118、および制御システム124を使用して、プログラムをSTS100に提供する。マルチプレキサ118は、複数のトランスポート132を複数のエンコーダ120から受け取り、トランスポートストリーム132を組み合わせて多重化されたトランスポートストリーム126とする。エンコーダ120のそれぞれは、カメラ122またはその他の発信元(図示せず)から信号を受け取り、その信号をMPEGフォーマットなどのデジタルフォーマットにコンバートする。
itter)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では破棄プログラムのコンテンツパケットが置き換えトランスポートパケットに置き換えられる点が異なる。
リームは、ネットワークフレームによって運ばれるコンテンツパケットを含む。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は、スタッフィングパケットのために確保される。
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または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.がメッセージを構成メッセージとして固有に識別する。
・メッセージID:8ビットのメッセージI.D.がメッセージを構成メッセージとして固有に識別する。
・FECイネーブル:フォワードエラーコレクションがイネーブルかどうかを示し、イネーブルの場合はブロック内のパケット数を示す8ビットのフィールド。
・FECリペア:ブロック内のリペアパケットの数を示す8ビットのフィールド。
・FECエポック:異なるブロックのパケットのインターリーブを示す8ビットのフィールド
・ビット/秒:トランスポートストリームのビットレートを示す32ビットのフィールド。
・ビット/秒:トランスポートストリームのビットレートを示す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に設定される。
ングパケットの数があり(その後ろに)すぐそのコンテンツパケットが続く。例えば、最初のコンテンツパケット(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つとその他のネットワーク要素とを組み合わせることを含む。
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を実行する。種々のモジュールのプロセスが、一般に、並行してまたは所定の順序で実行される。
、およびインターリーバモジュール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つの実施形態では、本発明によって、可変の数のトランスポートパケットがカプセル化されることが可能となり、この可変の数は、入ってくるトランスポートストリームの中のスタッフィングパケットの密度に依存する。しかし、トランスポートパケットの数の可変性は、それらが予測不可能で変則的であるので、ネットワークフレームの流れにおいて問題となり得る。この問題に対抗するため、別の実施形態では、トランスポートパケットは、所定の時間遅延(TB)を超えないように、トランスポートパケットバッファ718でバッファされる。トランスポートストリーム126におけるスタッフィングパケットの密度が低い場合、一般に、現在のファーストインパケットがTBより長くバッファされているよりも前に、トランスポートパケットバッファ718でバッファされるN個のコンテンツパケットがある。その場合、アナライザモジュール702は、パケットセットを前述のように抽出する。しかし、スタッフィング密度およびトランスポートストリーム126が高いとき、現在のファーストインパケットの到着とN個目のコンテンツパケットとの間にTBより長い時間が流れ得る。その場合、現在のファーストインパケットのバッファからTB時間の後で、アナライザモジュール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からネットワークフレームNBのブロックを取り、これらのネットワークフレームを復号化してNB+Rのネットワークフレームからなる復号化ブロックにする。ここで、Rは調整可能なパラメータである。ネットワークフレーム202のヘッダ304は、復号化されない。本来のブロックサイズであるNBは、構成メッセージ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がNBのネットワークフレームで構成されるネットワークフレームのブロックをネットワークフレームバッファ720から抽出する。ステップ804では、FECエンコーダモジュール708がネットワークフレームのどれが(どれどれが)最大のサイズであるかを決定し、かつステップ806では、FECエンコーダモジュール708が、次に、より小さいネットワークフレームに付け足しをしてすべてのネットワークフレームを同じサイズにする。
次に、ステップ808では、FECエンコーダモジュール708が今や等しいサイズで
あるネットワークフレームを処理し、そこから「R]のリペアフレームを生成する。R−リペアネットワークフレームは、等しいサイズである入力ネットワークフレームと同サイズである。
あるネットワークフレームを処理し、そこから「R]のリペアフレームを生成する。R−リペアネットワークフレームは、等しいサイズである入力ネットワークフレームと同サイズである。
ステップ810では、FECエンコーダ708がより小さい入力ネットワークフレームから付け足したものを除去し、本来のブロックのネットワークフレームのそれぞれのサイズが元のサイズに戻るようにする。
FECエンコーダ708がNBのオリジナルフレームをステップ808で処理するとき、FECエンコーダ708がFECヘッダをネットワークフレーム202に含める。FECヘッダは、1からNB+Rの間(1とNB+Rを含む)で、NB+Rのフレーム内でのそのフレームの位置を表すインデックス番号を含む。
FECデコーダがFECの符号化されたブロックのNB+Rのフレームの中から少なくともNBのフレームを受け取る限り、FECデコーダはオリジナルのNBフレームを生成し得る。FECデコーダは、それが受け取る数(NB−D)と同数のオリジナルのNBフレームを使用する。ここでDは最初のNBフレームの中で破棄されるフレームの数であり、デコーダは、破棄されたオリジナルフレームを生成するためにDのリペアフレームを使用する。
FECエンコーダ708は、符号化されたブロック(NB+R)のネットワークフレームをインターリーバモジュール706に渡し、それは次にブロックのネットワークフレームをインターリーババッファ722のその他の符号化されたブロックとインターリーブする。図9は、インターリーバモジュール706およびディインターリーバモジュール708がそれぞれのバッファ722および726でどのように機能するかを示す。まず、発明者らは、インターリーブされるべきブロックの数をエポックとして規定し、それはeに等しい、オペレータが調整可能なパラメータである。このエポックは構成メッセージ310のASR/AST600Aに提供される。
インターリーバモジュール706はそのバッファ722を1度に1列埋めてネットワークフレームを行で抽出する。ネットワークフレームの1番目のブロックは、1番目の列に挿入され、2番目のブロックは2番目の列に挿入され等々、e番目のブロックがe番目の列に挿入されるまで続けられ、列(またはブロック)内で、ネットワークフレームは1からNB+Rまでシーケンシャルに配置される。1番目のネットワークブロックの2番目のネットワークフレームが抽出される前に、符号化されたブロックのそれぞれの1番目のネットワークフレームが抽出されかつ出力バッファ724に提供される。つまり、11−e1によって表されるネットワークフレームが最初に抽出され、ついで12−e2によって表されるネットワークフレームが抽出され・・等々の抽出が行われる。FECの符号化されたブロックをインターリーブすることの利点は、FECデコーダモジュール716が破棄されるネットワークフレームのバーストによって生じる損傷を修復し得る可能性を高めることである。今、発明者らがインターリーブを何ら有さない、すなわち、e=1であり、発明者らはxのネットワークフレームを破棄すると仮定する。xが、符号化されたFECブロックの中のリペアフレームの数であるRより大きいと、その場合、デコーダは破棄されるネットワークフレームを再作成し得ない。しかし、発明者らがインターリーブを有しており、かつエポックが「e」に等しくかつ破棄されるネットワークフレームの数であるxが「e」と等しいと、その場合、発明者らはバーストドロップの際に1ブロックあたり1ネットワークフレームを失うのみである。例えば、発明者らは11からe1で表されるネットワークフレームを失い得、それらが点線ボックス902に示される。したがって、この例では、リペアフレームの数(R)がゼロより大きい限り、発明者らが「e」のネットワークフレームを失うとしても発明者らはすべての破棄されるパケットの修正が可能
である。
である。
もう一度図7を参照すると、出力バッファ724においてバッファされるネットワークパケットは、ファーストイン−ファーストアウトベースでNIC606Bに渡される。NIC606Bは、非同期ストリームであるネットワークフレーム128のストリームをASR/AST600Aに送信する。受け取られたネットワークフレームはディインターリーババッファ726においてNIC606Aによってバッファされる。初期化の間、構成710は、構成メッセージ310を受け取るまでインターリーババッファ726からパケットを取り出す。構成710はトランスポートストリームI/Oデバイス608Aの出力ビットレートを、構成メッセージの中に含まれるビットレートに設定し、ディインターリーバモジュール712にエポックのサイズを教え、かつFECデコーダモジュール716にブロック中のネットワークフレームの数(NB)およびリペアフレームの数(R)を教える。ディインターリーバモジュール712はネットワークフレームのインターリーバを解除し、FECバッファ728においてインターリーバが解除されたフレームをバッファする。ディインターリーバモジュール712は受け取られたネットワークフレームをシーケンシャルな順序に配置する。インターリーバモジュール706によってネットワークフレームをインターリーブするための修正に加え、ディインターリーバモジュール712は送信遅延を修正する。この送信遅延はネットワークフレームが正しくない順序で受け取られることを生じさせ、これはパケット交換ネットワークに共通する問題である。
FECデコーダは図10に示すステップを実行する。ステップ1002では、FECデコーダ716がFECバッファ728から同じブロックシーケンス番号を有するすべてのネットワークフレームを抽出する。ステップ1004において、次に、FECデコーダモジュール716が、符号化されたFECブロックの最初のNBフレームをすべて受け取ったかどうかを決定し、受け取っている場合、ステップ1014に進む。NBフレームのいくつかが失われている場合、FECデコーダモジュール716は、最初に、リペアフレームのサイズである受け取ったフレームの最大のサイズを決定する。ステップ1008では、FECデコーダ716がパッディング(padding)を最大のサイズより小さいサイズのフレームに追加する。次にステップ1010では、FECデコーダ716が、NBフレームの合計が入力として使用されるように、破棄されなかった1番目のNBフレームのすべてと、必要とされるだけの多数のリペア/置き換えフレームとを入力として使用して、破棄されるフレームを生成する。ステップ1012では、FECデコーダモジュール716が1番目のNBフレームからパッディングを取り除く。FECデコーダモジュール716は、リペア/置き換えフレームのコンテンツをそれらのサイズに対して検討し、そこからすべてのパッディングを取り除く。次に、ステップ1014では、FECデコーダモジュール716は、フレームの復号化ブロックの再作成されたネットワークフレーム含む1番目のNBネットワークフレームをネットワークフレームバッファ730においてバッファする。
再度図7を参照すると、ディエンカプシュレータ(de−encapsulator カプセル化を解除する)モジュール714が、ファーストイン、ファーストアウトベースで、ネットワークフレームバッファ730からネットワークフレームを抽出する。ディエンカプシュレータモジュール714は、ネットワークフレーム202からカプセル化されたパケットメッセージ302のカプセル化を解除する。前述のように、パケットメッセージ302はメタデータ306およびペイロード308の両方を含む。このペイロード308は、コンテンツパケットおよびストリーム情報の両方を含み得るか、あるいはストリーム情報のみまたはコンテンツパケットのみを含み得る。いずれの場合も、ディエンカプシュレータ714は、トランスポートパケットセットを生成するようにメタデータ306およびペイロード302を処理する。このセットは、パケットメッセージ302の中にカプセル化されなかったスタッフィングパケットを含み得る。そのセットのトランスポートパ
ケットは、ASR/AST600Bによって受け取られた順序に対応するようにシーケンシャルに配置される。もちろん、SAR/AST600Bがプログラムを破棄した場合には、そのプログラムを運んでいた任意のコンテンツパケットはスタッフィングパケットとして刻印され、したがってディエンカプシュレータがそれらの破棄されたコンテンツパケットに対しスタッフィングパケットを生成する。トランスポートパケットセットは次にシーケンシャルに出力バッファ732の中に格納される。
ケットは、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バッファされるデバイスであり、ここで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の中に置かれる。
ファ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のローカルクロックの周波数をそれぞれfr(t)およびft(t)と表す。
すべてのtに対し、fr(t)=ft(t)である場合、つまり、ASR/AST600AおよびASR/AST600Bのローカルクロックがロックされている場合は、プッシュレートおよびプルレートが同期化されているので、ML(t)は時間に対し一定である。しかし、クロックが同期化されない場合は、ML(t)は時間に対して変化する。
発明者らは、閾値をNtと規定し、(例えば、仮に)ABS(ML(t2)−ML(t1))≧Ntであり、ここでASB(x)が絶対値xをとる場合、発明者らはASR/AST600Aのローカルクロックを調整する。この閾値はNtのトランスポートパケットによってネットワークフレームバッファ730のレベルが上下することを表す。レベルの差が検出される時間の期間は
ΔT=t2−t1
として与えられる。
ΔT=t2−t1
として与えられる。
時間の差から、ASR/AST600Aのローカルクロックの標準相対周波数は、
Δf(t2)=(tp/ΔT)*sign(ML(t2)−ML(t1)) 式(1)
として予測され、ここでTpは特定のビットレートを有するトランスポートストリームのNtのトランスポートパケットの送信に要した時間の量である。したがって、tpは既知の定数であり、sign()は、因数がプラスであるかマイナスであるかに応じてそれぞれ、+1または−1のいずれかを返す。したがって、例えば、ネットワークフレームバッファ730の平均バッファレベルがNtのパケットによって低下する場合、Δfはマイナスである。
Δf(t2)=(tp/ΔT)*sign(ML(t2)−ML(t1)) 式(1)
として予測され、ここでTpは特定のビットレートを有するトランスポートストリームのNtのトランスポートパケットの送信に要した時間の量である。したがって、tpは既知の定数であり、sign()は、因数がプラスであるかマイナスであるかに応じてそれぞれ、+1または−1のいずれかを返す。したがって、例えば、ネットワークフレームバッファ730の平均バッファレベルがNtのパケットによって低下する場合、Δfはマイナスである。
式(1)に従って、ASR/AST600Aの標準相対周波数が予測された後、ASR/AST600Aのローカルクロックが以下のように更新される。
Fr(t)=Fr(t)+Δf(t2)X Fref+BIAS X [ML(t2)−ML(0)] 式(2)
ここでBIASは、例えば5Hzの調整可能な一定周波数と等しく、Frefは周期におけるローカルクロックの1秒当たりの基準周波数と等しい。例えば、MPEG−2によって特定される基準周波数は27MHz±810Hzである。
ここでBIASは、例えば5Hzの調整可能な一定周波数と等しく、Frefは周期におけるローカルクロックの1秒当たりの基準周波数と等しい。例えば、MPEG−2によって特定される基準周波数は27MHz±810Hzである。
なお、式(2)の中の項[ML(t2)−ML(0)]は、最初の平均が出されてから蓄積されたネットワークフレームバッファ730の、平均レベルにおけるトランスポートパケットの増加/減少の合計を表す。式(2)の項Δf(t2)X FrefはASR/AST600のクロックの相対ドリフトをゼロにする働きをし、一方、項BIAS X [ML(t2)−ML(0)]は時間t2までの時間の期間にわたってドリフトした後、ネットワークフレームバッファ730をその本来の平均レベルに修復する働きをする。例えば、Δf(t2)がゼロの場合、ASR/ASTs600のクロックの相対周波数は等しいことを示すが、[ML(t2)−ML(0)]が−10に等しい場合は、ASR/AST600Aのローカルクロックの周波数は、−10X BIASによって調整され、そのことが、ASR/AST600Aにより遅いストリームを送り出させ、ネットワークフレームの蓄積された−10のドリフトが0に移動することを可能とする。
式(2)をASR/AST600Aのローカルクロックへの適用は、0.075Hz/秒のクロックドリフトにおけるMPEG−2のスペックを確認するステップにおいて達成される。式(2)の調整が達成されるまで、周波数は、各秒ごとに0.075Hz上下させて調整される。
あるいは、トランスポートストリームI/Oデバイス608が微細な変化をその内部クロックに提供しないが、その出力ビットレートに微細な変化を提供する場合、同じ目的を達成するために、内部クロックを調整するかわりに出力ビットレートが調整され得る。
上述の本発明の実施形態は、特に任意の「好ましい」実施形態は、単に実行が可能な例であり、単に本発明の原理の明確な理解のために説明されることが強調される。上述の本発明の実施形態に対し、本発明の意図および原則から実質的に逸脱することなく、多くの変更および改変がなされ得る。そのような改変および変更はすべて、本明細書において本開示および本発明の範囲内に含まれ、添付の請求項によって保護されることが意図される。
本発明を以上のように説明してきたが、少なくとも添付する請求項が請求される。
Claims (1)
- トランスポートパケットのストリームの中で運ばれる選択されたコンテンツを送信する方法であって、本願明細書に記載された方法。
Applications Claiming Priority (2)
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 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003559091A Division JP4216195B2 (ja) | 2002-01-04 | 2003-01-06 | 非同期ネットワークを介するストリームの送信 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008283715A true JP2008283715A (ja) | 2008-11-20 |
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 Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003559091A Expired - Fee Related JP4216195B2 (ja) | 2002-01-04 | 2003-01-06 | 非同期ネットワークを介するストリームの送信 |
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)
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 전송을 위한 널 패킷 필터링 장치 |
MXPA05009100A (es) * | 2003-02-28 | 2006-05-19 | Thomson Licensing | Metodo para un canal descendente exclusivo de la red de area local inalambrica. |
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 |
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 |
US7743183B2 (en) * | 2005-05-23 | 2010-06-22 | Microsoft Corporation | Flow control for media streaming |
US8804751B1 (en) | 2005-10-04 | 2014-08-12 | Force10 Networks, Inc. | FIFO buffer with multiple stream packet segmentation |
EP1979829B2 (en) * | 2006-01-11 | 2022-07-27 | Fisher-Rosemount Systems, Inc. | Control system with predictive field device response time over a wireless network |
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 |
EP2510663A4 (en) * | 2009-12-07 | 2015-02-25 | Ericsson Telefon Ab L M | METHOD AND ARRANGEMENT FOR MEDIA PLAYING |
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 |
CN103650432A (zh) * | 2011-07-08 | 2014-03-19 | 三星电子株式会社 | 用于在多媒体系统中生成前向纠错包的方法和用于发送和接收前向纠错包的方法及装置 |
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 | 华为技术有限公司 | 透传业务频率的方法和设备 |
EP3685055A4 (en) * | 2017-09-22 | 2021-11-10 | Partworks, LLC | RIVETLESS FASTENING TOOL AND INSTALLATION TOOL |
Family Cites Families (31)
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 |
EP0966823B1 (en) * | 1997-10-17 | 2006-03-29 | Koninklijke Philips Electronics N.V. | Method of encapsulation of data into transport packets of constant size |
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 |
US6490705B1 (en) * | 1998-10-22 | 2002-12-03 | Lucent Technologies Inc. | Method and apparatus for receiving MPEG video over the internet |
US6317462B1 (en) * | 1998-10-22 | 2001-11-13 | Lucent Technologies Inc. | Method and apparatus for transmitting 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 |
DE60032458T2 (de) * | 2000-04-14 | 2007-04-12 | Alcatel | Selbstanpassender Zitterspufferspeicher |
WO2001080491A2 (en) | 2000-04-18 | 2001-10-25 | 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 |
-
2003
- 2003-01-03 US US10/336,821 patent/US7155532B2/en not_active Expired - Fee Related
- 2003-01-06 AU AU2003202218A patent/AU2003202218A1/en not_active Abandoned
- 2003-01-06 CA CA2477389A patent/CA2477389C/en not_active Expired - Fee Related
- 2003-01-06 JP JP2003559091A patent/JP4216195B2/ja not_active Expired - Fee Related
- 2003-01-06 WO PCT/US2003/000305 patent/WO2003058897A1/en active Application Filing
- 2003-01-06 EP EP03701230A patent/EP1470673B1/en not_active Expired - Lifetime
-
2006
- 2006-12-12 US US11/609,522 patent/US7516234B2/en not_active Expired - Fee Related
-
2008
- 2008-07-30 JP JP2008196494A patent/JP2008283715A/ja not_active Withdrawn
-
2009
- 2009-04-06 US US12/419,120 patent/US7774489B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CA2477389C (en) | 2011-06-21 |
US7516234B2 (en) | 2009-04-07 |
WO2003058897A1 (en) | 2003-07-17 |
US7155532B2 (en) | 2006-12-26 |
EP1470673A4 (en) | 2007-08-15 |
US20070091917A1 (en) | 2007-04-26 |
JP2006507697A (ja) | 2006-03-02 |
EP1470673A1 (en) | 2004-10-27 |
US20030133446A1 (en) | 2003-07-17 |
US20090193318A1 (en) | 2009-07-30 |
US7774489B2 (en) | 2010-08-10 |
JP4216195B2 (ja) | 2009-01-28 |
CA2477389A1 (en) | 2003-07-17 |
EP1470673B1 (en) | 2012-12-19 |
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 | |
EP1623303B1 (en) | Information frame modifier | |
KR101340762B1 (ko) | 지상파 디지털 멀티미디어 방송 서비스의 인터넷 프로토콜패킷 재전송 방법 | |
AU2005259240B2 (en) | Method for transmitting packets in a transmission system | |
EP3643032B1 (en) | Apparatuses and methods for live uplink adaptive streaming | |
KR20060068181A (ko) | Tc 계층에서의 다중화를 이용한 통신 및 방송 데이터송/수신 장치 | |
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) | 放送再送信装置、放送再送信方法およびモニタ方法 | |
JP2019091987A (ja) | 放送再送信装置および放送再送信方法 | |
MXPA06010293A (en) | Transport stream dejitterer |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20100129 |