適応トランスポートプロトコル復号器において、第1のトランスポートプロトコルを有し、それぞれがペイロードを含むパケットのストリームの第1のソースと、第2のトランスポートプロトコルを有し、それぞれがペイロードを含むパケットのストリームの第2のソースと、前記第1および第2のソースのそれぞれに結合された入力端子と、選択信号に応答して、前記第1および第2のソースのうち選択された1つのパケットのストリームを出力する出力端子とを有するセレクタと、前記セレクタの出力端子に結合され、前記第1および第2のソースのうち選択された1つの前記パケットからそれぞれの前記ペイロードを抽出するためのプロトコル復号器であって、プロセッサと、第1、第2および第3の制御プログラムを格納するためのメモリを含み、前記第1の制御プログラムに応答して、前記第1のソースからの前記パケットを処理して前記それぞれのペイロードを抽出し、前記第2の制御プログラムに応答して、前記第2のソースからの前記パケットを処理して前記それぞれのペイロードを抽出し、前記第3の制御プログラムに応答して、前記第1の制御プログラムと前記第2の制御プログラムとの間を切り替え、前記第1および第2の制御プログラムの双方は、前記メモリ内の位置に格納された割込みハンドラであり、受信された各パケットに応答して実行されるパケットハンドラと、前記メモリ内のそれぞれの位置に格納され、ソフトウェア割込みによって呼び出される複数の割込みドライバと、前記メモリ内の固定の所定位置に格納され、前記パケットハンドラの位置を指示するポインタを含む第1のエントリと、前記割込みドライバの位置を指示するポインタを含む複数のエントリとを含む割込みベクトルとを含み、前記第1および第2のソースは、パケットが使用可能であるときに割込み要求信号を生成し、前記割込みベクトルの第1のエントリは、前記選択された1つのソースからの前記割込み信号に応答する、プロトコル復号器とを備えたことを特徴とする適応トランスポートプロトコル復号器。前記第3の制御プログラムは、前記第1および第2の制御プログラムの一方の前記割込みベクトルを、前記メモリ内の前記固定の所定位置へ移動させ、および同時に前記第1および第2の制御プログラムの他方の前記割込みベクトルを、前記メモリ内の別の位置へ移動させることによって、前記第1および第2の制御プログラムの間で切り替えることを特徴とする請求項1に記載の適応トランスポートプロトコル復号器。前記第1および第2の制御プログラムの双方が、前記メモリ内の位置に前記それぞれの抽出されたペイロードを格納するためのバッファをさらに含むことを特徴とする請求項1に記載の適応トランスポートプロトコル復号器。前記第3の制御プログラムは、前記第1および第2の制御プログラムの一方の前記割込みベクトルを、前記メモリ内の前記固定の所定位置へ移動させ、および同時に前記第1および第2の制御プログラムの他方の前記割込みベクトルを、前記メモリ内の別の位置へ移動させること、および前記メモリ内の位置に前記バッファを再配置することによって、前記第1および第2の制御プログラムの間で切り替えることを特徴とする請求項3に記載の適応トランスポートプロトコル復号器。前記第3の制御プログラムが前記選択信号に応答して、前記第1のパケットストリームソースが前記プロトコル復号器に結合されているときに前記第1の制御プログラムに切り替え、前記第2のパケットストリームソースが前記プロトコル復号器に結合されているときに前記第2の制御プログラムに切り替えることを特徴とする請求項1に記載の適応トランスポートプロトコル復号器。前記プロトコル復号器に結合され、前記受信したパケットから抽出された前記それぞれのペイロードを処理するためのペイロードプロセッサをさらに備えたことを特徴とする請求項1に記載の適応トランスポートプロトコル復号器。前記第1および第2のパケットストリーム内の各パケットは、前記ペイロードに関係する情報を含むヘッダをさらに備え、前記プロトコル復号器は、受信したパケットのヘッダからの情報を格納するためのレジスタを備え、および前記プロトコル復号器は、前記レジスタにアクセスして前記情報を得ることを特徴とする請求項1に記載の適応トランスポートプロトコル復号器。消費者は、これらのプロトコルおよびプログラミングを搬送するデジタル信号が搬送される他のいずれかのプロトコルでデジタル信号を受信することを望んでいる。現在、これには別々の復号器が必要であり、それぞれが所望の各プロトコルに合わせて、セットトップボックスなど別々のエンクロージャで組立てられている。これは消費者にとって高価であり、様々なセットトップボックスのために大量のスペースが必要であり、使用することに不都合がある。たとえば、各セットトップボックスは、それ自体のリモート制御を有することがあり、そのリモート制御が他のセットトップボックスのリモート制御と互換性がないことがある。したがって、異なるプロトコルを復号することができるトランスポートプロトコル復号器が望ましい。本発明者は、上述のようなプロトコルが、それぞれ異なるフォーマット、たとえば異なるサイズ、異なるフレーミング、異なるビット配列などの、トランスポートパケットのストリームを指定することを示した。さらに、各トランスポートパケットは、符号化されたビデオまたはオーディオまたはデータなどの、異なるタイプの信号を表すデジタルデータを含むペイロードを搬送する。しかし、発明者は、各信号タイプのそれぞれのペイロードのデータによって表された信号は、これらのプロトコルのすべてについて同じであることを示した。すなわち、DSSおよびATSCプロトコルでは共に、符号化されたビデオおよびオーディオ信号がMPEG符号化信号である。したがって、ペイロードが、受信されたトランスポートパケットから抽出された後、そのような信号の信号処理の残りは、受信したパケットのプロトコルに関わらず同じものである。本発明の原理によれば、適応トランスポートプロトコル復号器は、パケットのストリームのソースを含み、それぞれはペイロードを含み、第1のトランスポートプロトコルを有し、およびパケットのストリームのソースを含み、それぞれはペイロードを含み、第2のトランスポートプロトコルを有する。プロトコル復号器は、第1および第2のパケットストリームソースに結合され、第1および第2のパケットストリームソースのうち選択された1つのパケットからそれぞれのペイロードを抽出する。図1は、本発明にかかる適応トランスポート復号器を含むシステムのブロック図である。図1では、複数のパケットのストリームのソース10のそれぞれの出力端子が、セレクタ20の対応する入力端子に結合される。セレクタ20の出力端子が、適応トランスポートプロトコル復号器30の入力端子に結合される。適応トランスポートプロトコル復号器30の出力端子が、ペイロードプロセッサ40の入力端子に結合される。ペイロードプロセッサ40の出力端子が、ユーザインタフェース50の入力端子に結合される。動作する際には、パケットソース12がパケットのストリームを生成し、それぞれがペイロード以下でより詳細に説明するを含み、第1のトランスポートプロトコルを有し、さらにパケットソース14がパケットを生成し、それぞれがペイロードを含み、第2のトランスポートプロトコルを有する。複数のパケットストリームソース10は、たとえばパケットストリームソース1Nなど、追加のパケットストリームソースを含むことができ、それぞれのパケットのストリームを生成し、それぞれがペイロードを含み、それぞれに異なるトランスポートプロトコルを有する。たとえば、パケットソース12をDSS衛星信号受信器のフロントエンドにすることができ、これは受信アンテナ、RFおよびIF受信回路、チューナ、順方向誤り訂正FEC回路、パケット誤り検出および/または訂正回路ビタビまたはリード-ソロモン復号など、暗号解読部などを含み、そのいずれも本発明とは密接な関係がなく、したがっていずれも図示せず、詳細に説明もしない。パケットストリームソース12からの出力は、DSS信号を表すパケットのストリームであり、それぞれがDSSトランスポートパケットプロトコルフォーマットを有する。同様に、パケットソース14を地上波HDTV信号受信器のフロントエンドにすることができ、これはアンテナまたはケーブル接続、RFおよびIF受信回路、誤り検出および/または訂正回路など図示せずを含む。パケットストリームソース14からの出力は、HDTV信号を表すパケットのストリームであり、それぞれがATSCトランスポートパケットプロトコルを有する。セレクタ20が、既知の方法で、複数のパケットストリームソース10の1つを、コントローラ図示せずからの制御信号に応答して選択し、選択されたパケットストリームソースからパケットストリームを適応トランスポートプロトコル復号器30へ供給する。適応トランスポートプロトコル復号器30は、各パケットを受信したときに解析し、そのパケットの適切な処理を、そのパケットのトランスポートプロトコルに応じて実行して、以下でより詳細に説明する方法で、そのパケットからペイロードデータを抽出する。抽出されたペイロードデータは、ペイロードプロセッサ40へ供給される。ペイロードプロセッサ40は、ペイロードデータを処理して、そのデータに対応する信号を生成し、その信号をユーザインタフェース50へ供給する。たとえば、適応トランスポートプロトコルアダプタ30から抽出されたペイロードデータがMPEG2で符号化されたデジタルビデオデータである場合、ペイロードプロセッサ40は、既知のMPEG復号器を含み、これがMPEG規格に従ってMPEG2ビデオデータを復号して、標準ビデオ信号たとえば米国ではNTSCビデオ信号を生成する。次いで、ビデオ信号がユーザインタフェース50へ供給され、この場合はこれがビデオモニタであり、ビデオ信号によって表された画像を表示する。図2は、異なるプロトコルを有する2つのパケットのフォーマットを示す図である。図2に示すパケットは例示的なものにすぎず、いかなる既知のプロトコルのパケットを表すものでもない。図2では、第1のプロトコルを有するパケットを、符号Aを付した長方形として示し、第2のプロトコルを有するパケットを、符号Bを付した長方形として示す。長方形の長さは、パケットの相対的サイズビット数を示すものであり、同様に、パケット内のサブセクションの長さは、そのサブセクションの相対的サイズビット数を示すものである。図2に示すように、各パケットAおよびBは、固定の所定数のビットを含み、パケットAのビット数はパケットBのビット数とは異なるたとえば、それよりも少ない。パケットAおよびBは共に、制御情報以下でより詳細に説明するを含むヘッダ、およびパケットによって搬送されたデータを含むペイロードからなる。また図2に示すように、パケットAおよびBのペイロードは、固定の所定数のビットを含み、パケットAのペイロードのビット数は、パケットBのペイロードのビット数とは異なるたとえば、それよりも少ない。ヘッダ内の制御情報を他のものの間で使用して、パケットペイロードに含まれたデータの内容を識別し、これを経路指定する。図2では、ヘッダ情報のフォーマットを、パケットAおよびBについて拡張形式で表示する。たとえば、各ペイロードは、たとえばビデオ、オーディオ、データなど特定タイプの信号を表すデータを搬送し、このデータを他のタイプとは異なるように処理しなければならない。パケットペイロード内のデータのタイプを示す制御情報TYPEが、パケットAおよびBのパケットヘッダに含まれる。また、パケットストリームには、単一の信号を表すデータを搬送するデータストリームもあり、そのデータストリームを搬送するこれらのパケットのペイロードを連結することによって形成される。たとえば、テレビ番組を搬送するDSSチャネルには、異なる言語を表すいくつかのオーディオ信号、または異なる言語によるクローズドキャプションclosedcaptioningを表すいくつかのデータチャネル、または異なるカメラ角度またはペアレンタルアプローバルレベルparentalapprovallevelからの画像を表すいくつかのビデオチャネルがある可能性がある。このような各データストリームは、一意のパケット識別子PIDによって識別され、これはパケットAおよびBのパケットヘッダに含まれている。さらに、ペイパービューチャネルを容易にするために、パケット内のペイロードデータを暗号化してもよく、また暗号化しなくてもよい。パケットAおよびBの各ヘッダは、制御情報Eを含み、そのパケット内のペイロードデータを解読する必要があるかどうかを示す。図3は、図1に示すシステムに使用することができる適応トランスポートプロトコル復号器30の、より詳細なブロック図である。図3の適応トランスポートプロトコル復号器30は、セレクタ20図1の出力端子に結合された入力端子を含む。適応トランスポートプロトコル復号器30の入力端子は、サービス検出部31、暗号解読部33、トランスポート復号部35、バッファメモリ37およびアプリケーション制御回路39の直列接続に結合される。コントローラ32は、マイクロプロセッサ図示せずを含むことができ、サービス検出部31、暗号解読部33、トランスポート復号部35、バッファメモリ37およびアプリケーション制御回路39のそれぞれの制御入力端子に結合された制御信号出力端子を有する。メモリバスは、コントローラ32および内部メモリ34読取り/書込みメモリRAMおよび読取り専用メモリROMを共に含むことができるおよび外部メモリ34′の間に結合されている。サービス検出部31、暗号解読部33、トランスポート復号部35、バッファメモリ37、アプリケーション制御回路39、コントローラ32および内部メモリ34は、集積回路ICチップ内に組立てることができ、外部メモリ34′は、ICチップの外部に存在する。動作する際には、サービス検出部31が、セレクタ20から選択したパケットストリームを受信する上述のように。サービス検出部31は、各パケットの開始および終了を、既知の方法で検出する。たとえば、ATSCで符号化されたMPEG2パケットストリームでは、パケットが、たとえば47Hなどの所定の値を有する同期バイトによって、パケットストリーム内の所定の位置で区切られる。図2を参照して、このような同期バイトSBをパケットA内に破線で示す。これは、同期バイトSBがパケット自体の一部ではないからである。サービス検出部31は、同期バイトを使用してパケットの開始と終了を検出することができる。しかし、DSSパケットストリームには、同期バイトが存在しない。DSSパケットストリームでは、パケットの開始および終了が、選択されたパケットストリームソース10内の同期検出手段によって検出され、選択されたパケットストリームソース10は、すべて既知の方法で各パケットの開始を示す信号を生成する。このようなパケットストリームでは、サービス検出部31がこの信号を使用して、パケットの開始および終了を検出することができる。図示の実施形態では、同期バイト47Hがサービス検出部31によってDSSパケットの間に挿入される。すべてのパケットが同期バイトによって分離されるので、ダウンストリーム処理が、異なるプロトコルについてより均一となる。各パケットが分離されたとき、次いでサービス検出部31は、受信されたパケットが現在受信中のデータストリームに属するかどうかを判定する。たとえば、いくつかのオーディオデータストリームが選択パケットストリーム内にある可能性があるが、通常はただ1つまたは2つのみが受信され、さらに処理される。具体的には、図示の実施形態では、最大8データストリームを受信することができる。しかし、当業者には、同時に受信することができるデータストリーム数に固有の制限がないことが理解されよう。上述のように、各パケットのヘッダ内のPIDが、そのパケットが属するデータストリームを識別する。受信システムは1組のレジスタを維持し、これらが現在受信および処理中のデータストリームのPIDを含む。各受信パケットについて、サービス検出部3はPIDを抽出する。上述のように、PIDは異なる場所に配置することができ、異なる長さを有し、異なる方法で異なるプロトコルにより符号化することができる。以下でより詳細に説明する方法で、サービス検出部31は、コントローラ32からの制御信号に応答して、パケットのプロトコルに適切なヘッダ位置からPIDを抽出する。抽出されたPIDは、適応トランスポートプロトコル復号器30内のレジスタに格納される。これを、図2において、パケットAおよびBのPIDの位置からPIDレジスタへの曲線で示す。このパケットによって搬送されたデータストリームをさらに処理するかどうかを判定するための残りの処理は、PIDレジスタ内のデータ上で動作する。たとえば、PIDレジスタ内のPIDを、受信システムの1組のレジスタ内のPIDと比較することができる。一致する場合、このパケットはさらに処理されるものであり、次いで暗号解読部33によって処理される。そうでない場合、このパケットは無視され、次に受信したパケットが上述のように処理される。暗号解読部33は、このパケットのペイロードが暗号化されているかどうかを示すヘッダ情報を抽出する。上述のように、暗号化情報Eは異なる場所に配置することができ、異なる長さを有し、異なる方法で異なるプロトコルにより符号化することができる。以下でより詳細に説明する方法で、暗号解読部33は、コントローラ32からの制御信号に応答して、パケットのプロトコルに適切なヘッダ位置から暗号化情報Eを抽出する。サービス検出部31に類似の方法で、抽出された暗号化情報Eは、適応トランスポートプロトコル復号器30内のレジスタに格納される。これを、パケットAおよびBの暗号化情報Eの位置からEレジスタへの曲線で示す。このパケットを解読する必要があるかどうかを判定するための残りの処理は、Eレジスタ内のデータ上で実行される。暗号化情報Eが、このパケットは暗号解読する必要があることを示す場合、暗号解読部33は、このパケットを暗号解読して、さらに処理することができるプレーンテキストのパケットを生成する。そうでない場合、暗号解読部33は、このパケットを変更せずにトランスポート復号部35へ渡す。トランスポート復号部35は、受信されたパケットからのペイロードを、受信されたパケット内のその位置から抽出する。上述のように、ペイロードは異なる場所に配置することができ、異なるプロトコルで異なる長さを有することができる。トランスポート復号部35は、抽出したペイロードをバッファメモリ37に配置する。次いで、アプリケーション制御回路39が、バッファされたペイロードをバッファメモリから検索し、これらを適切なペイロード処理回路へ経路指定する。以下でより詳細に説明する方法で、アプリケーション制御回路39は、コントローラ32からの制御信号に応答して、パケットのプロトコルに適切なヘッダ位置からデータストリームタイプ情報TYPEを抽出する。抽出されたデータストリームタイプ情報TYPEは、適応トランスポートプロトコル復号器30内のレジスタに格納される。これを、パケットAおよびBのデータストリームタイプ情報TYPEの位置からTYPEレジスタへの曲線で示す。このパケットのペイロードを経路指定すべき場所を決定するための残りの処理は、TYPEレジスタ内のデータ上で実行される。具体的には、TYPEレジスタ内のデータが読み込まれ、評価され、アプリケーション制御回路39がペイロードを、ペイロードプロセッサ40図3の適切なプロセッサへ経路指定する。たとえば、ペイロードが、MPEGで符号化されたビデオデータを搬送する場合、このペイロードがMPEG復号器へ供給される。ペイロードがクローズドキャプション情報を搬送する場合、このペイロードがオンスクリーン表示生成器などへ供給される。図3は、例示的なものにすぎず、受信したトランスポートパケットを処理するための最小セットの回路である。しかし、当業者には、他の処理がトランスポートパケットを正確に復号するために要求されることが理解されよう。たとえば、パケットストリームは、補助データを搬送するトランスポートパケットを含むことができる。補助データは、データストリームのペイロードデータ部分ではないが、その代わりに、受信システム自体が使用するための状態および制御情報を搬送する。加えて、いくつかのプロトコルは、ペイロードおよび補助データの組合せを単一のトランスポートパケット内に許容することができる。さらに、異なるプロトコルが、ヘッダ内に他の情報を含め、データをそれぞれ異なる方法で搬送し、対応する異なる処理を必要とすることがある。これらのプロトコルでトランスポートパケットを復号する分野の当業者には、これらのプロトコルでは他に何の処理が必要であるか、何の処理要素がその処理を提供するために必要であるか、およびこれらの処理要素を設計し、実施する方法が理解されよう。図4は、図3に示す適応トランスポートプロトコル復号器30のメモリ34/34′のレイアウト図であり、様々なソフトウェア構成要素格納およびコードを示す。図4の構成は、概略的なものにすぎず、図示の構成要素の相対的または絶対的な位置またはサイズを示すものではなく、メモリ34または34′のいずれかにおけるそれらの配置を示すものでもない。図4では、適応トランスポートプロトコルアダプタ30の動作が、パケットが使用可能なときに、選択されたパケットストリームソース10によって生成された、外部のハードウェア生成の割込み要求INTREQ信号によって呼び出される。割込み要求信号INTREQは、適応トランスポートプロトコル復号器30へ、セレクタ20を介して供給される。この割込み要求信号INTREQは、コントローラ32に組込まれたマイクロプロセッサ図示せずの割込み機構によって処理される。割込み要求INTREQ信号は、マイクロプロセッサにその処理を中断させて、即時にパケットハンドラ104の処理を開始させる。これは、メモリ内の所定の固定位置に格納された割込みベクトル102の外部ハードウェア割込み要求信号INTREQに関連付けられた割込みポインタPNTR0によって指示された記憶場所で、すべて既知の方法で行われる。割込みポインタPNTR0は、パケット割込みハンドラ104の記憶場所を含み、これがこの割込みを処理するために指定される。割込みハンドラ104は、使用可能パケットがさらに処理されるか否かを判定し、必要であればパケットを解読し、ペイロードを抽出し、抽出したペイロードをさらにそれが処理されるまでバッファに格納するために必要な処理および他の任意の必要な処理を、上述のように実行する。新規に使用可能なパケットの処理を、マイクロプロセッサによる状態ポーリングによって、または他の任意の既知の方法によって、開始させることも可能である。マイクロプロセッサ図示せずがこの方法で割り込まれたとき、マイクロプロセッサプログラム実行の現行状態プログラムカウンタ、レジスタ、フラグなどがスタック110上へ押し出され、割込みベクトル102内の割込みポインタPNTR0によって指示された割込みルーチン104が、ポインタPNTR0内のアドレスで開始して実行される。これはプログラム環境を切り替える迅速な方法なので、上述の割込みプロセスは、時間にクリティカルなアプリケーションでは、ソフトウェア割込みというソフトウェア命令を介して呼び出すこともできる。たとえば、ルーチンDVR1は、割込みポインタPNTR1によって指示されたルーチンを呼び出すソフトウェア割込みによって呼び出すことができ、ルーチンDVR2は、割込みポインタPNTR2によって指示されたルーチンを呼び出すソフトウェア割込みによって呼び出すことができ、以下同様である。図4では、割込みハンドラ104は、様々なドライバルーチン106を、割込みベクトル102内の適切な割込みポインタPNTRxを対象としたソフトウェア割込みを介して呼び出す。これを、図4で、割込みハンドラ104から割込みベクトル102への太線の矢印によって示す。さらに図を簡素化するために図4には図示しないが、ドライバルーチンDVRxが他のドライバルーチンDVRxを、所望のドライバルーチンDVRxの割込みベクトル102内の割込みポインタPNTRxを指定するソフトウェア割込みを通じて、呼び出すことが可能である。図4では、バッファメモリ37が、抽出された4つのペイロードに十分なメモリBUFFER1からBUFFER4を含む。ペイロードがパケットから抽出されたとき、これは次に使用可能なバッファ内に格納され、このペイロードに適切なペイロードプロセッサ40は、バッファメモリ37内のこのペイロードの位置を通知される。これに応答して、ペイロードプロセッサ40は、そのバッファからペイロードを検索し、適切な方法で処理する。図示の実施形態では、適応トランスポートプロトコル復号器30およびそのメモリ34/34′を、DSSトランスポートプロトコルパケットまたはATSCトランスポートプロトコルパケットのいずれかを処理するように構成することができる。DSSプロトコルパケットを処理するために必要な割込みハンドラ104およびドライバルーチン106の設計および実装、割込みハンドラ104およびドライバルーチン106を構成する命令、および、割込みベクトル102に対する割込みハンドラ104およびドライバルーチン106のアドレスは、すべて既知であり、詳細には説明しない。加えて、バッファメモリ37内のバッファのサイズも既知であり、DSSトランスポートパケットのペイロードは127バイトの長さである。同様に、ATSCプロトコルパケットを処理するために必要な特定のルーチン、割込みハンドラ104およびドライバルーチン106を構成する命令、割込みベクトル102に対する割込みハンドラ104およびドライバルーチン106のアドレスは、すべて既知であり、詳細には説明しない。また、バッファメモリ37内のサイズも既知であり、すなわちATSCトランスポートパケットのペイロードは184バイトの長さである。図5は、DSSトランスポートプロトコルパケットを処理するために構成された、図4に示す様々なソフトウェア構成要素を示すメモリレイアウト図である。図5では、図4に示したものと同じ要素を同じ参照番号で示し、詳細には説明しない。図4のように、図5の構成は概略的なものにすぎず、図示の構成要素の相対的または絶対的な位置またはサイズを示すものではない。適応トランスポートプロトコル復号器30ICチップの内部のメモリ34の量には制限がある。したがって、ソフトウェア構成要素のいくつかの部分が外部メモリ34′内に位置しなければならない。図5では、DSSドライバルーチンDVR1からDVRNが、内部メモリ34の制御読取り専用メモリROM342内に位置する。DSSベクトルテーブル102、スタック110およびペイロードバッファ37は、完全に内部メモリ34の内部RAM344内に位置する。しかし、メモリサイズの制約のため、DSS割込みハンドラ1041の一部のみが内部RAM344内に位置する。DSS割込みハンドラ1042の残りは、外部ダイナミックRAMDRAM34′内に位置する。上述のように、DSSプロトコルトランスポートパケットを復号するためのDSSソフトウェア構成要素の設計、実装および動作は既知であり、本明細書では説明しない。図5では、復号ATSCトランスポートパケットが外部DRAM34′に格納されているときに、適応トランスポートプロトコル復号器30の動作を制御するための、ATSC割込みベクトル102′、ソフトウェア割込みドライバ106′および割込みハンドラ104′も見ることができるが、これらは利用しない。動作する際には、DSS割込みハンドラ104が外部割込み信号図示せずによって呼び出されたとき、DSS割込みハンドラ104は、適切なDSSドライバルーチン106を呼び出して、受信したトランスポートパケットを処理し、ヘッダからデータを抽出し、必要ならばペイロードを暗号解読し、ペイロードをバッファ37の1つに格納し、コントローラ32の制御下にある適切なペイロードプロセッサ40に通知する。これは上述のように、すべて既知の方法で行われる。図6は、ATSCトランスポートプロトコルパケットを処理するために構成された、図4に示す様々なソフトウェア構成要素を示すメモリレイアウト図である。図6では、図4および図5に示したものと同じ要素を同じ参照番号で示し、詳細には説明しない。図4および図5のように、図6の構成は概略的なものにすぎず、図示の構成要素の相対的または絶対的な位置またはサイズを示すものではない。図5のように、ソフトウェア構成要素のいくつかの部分が外部メモリ34′内に位置しなければならない。図6では、割込みベクトル102′およびペイロードバッファ37が、完全に内部メモリ34の内部RAM344内に位置する。しかし、メモリサイズの制約のため、スタック1101の一部のみが内部RAM344内に位置する。スタック1102の残りは、外部DRAM34′内に位置する。ATSC割込みハンドラ104′およびATSCドライバルーチン106′は、完全に外部DRAM34′内に位置する。上述のように、ATSCプロトコルトランスポートパケットを復号するためのATSCソフトウェア構成要素の設計、実装および動作は既知であり、本明細書では説明しない。図6では、DSS割込みドライバ106が、依然として内部メモリ34の制御ROM342内に位置することも見ることができる。DSS割込みベクトル102および割込みハンドラ104は、外部DRAM34′に格納される。これらのいずれも利用しない。動作する際には、ATSC割込みハンドラ104が外部割込み信号図示せずによって呼び出されたとき、ATSC割込みハンドラ104が適切な割込みドライバを呼び出して、受信したトランスポートパケットを処理し、データをヘッダから抽出し、必要ならばペイロードを暗号解読し、ペイロードをバッファ37の1つに格納し、コントローラ32の制御下にある適切なペイロードプロセッサ40を通知する。これは上述のように、すべて既知の方法で行われる。また、内部メモリ34の制御ROM342のDSS割込みドライバ106の割込みドライバが、ATSCトランスポートパケットを復号するときに必要となる機能を実行することもできる。図6では、ATSC割込みポインタPNTR2は、DSS割込みドライバセット106の割込みドライバDVR2を指示する。したがって、このドライバの機能を、ATSC割込みドライバセット106′で再生成する必要はない。たとえば、上述のように、情報がパケットのヘッダから抽出され、さらに処理するためにレジスタに入れられる。割込みドライバDVRnは、情報がヘッダ内のどこから出たかに関わらず、このレジスタにアクセスすることによってペイロードタイプを処理することができる。次いで、このような割込みドライバDVRnを、適応トランスポートプロトコル復号器30が処理するように設計されているすべてのプロトコルの間で、共有することができる。具体的には、上述のように、PIDがパケットのヘッダから抽出され、PIDレジスタに入れられる。次いでこのレジスタの内容が、現在受信中のデータストリームを識別するPIDのテーブルと比較される。PIDがパケットのヘッダから抽出され、レジスタに入れられた後、レジスタ内のPIDをPIDのテーブルと比較する割込みドライバを、すべてのトランスポートパケットプロトコル制御プログラムの間で共有することができる。図7は、DSSトランスポートパケットの復号化とATSCトランスポートパケットの復号化の間でモードを切り替えるプロセスを示すフローチャートである。DSSトランスポートパケットおよびATSCトランスポートパケットの復号化の切替えは、様々な既知の方法のいずれによっても開始することができる。たとえば、図1を参照すると、ユーザの制御下において、ユーザが、そのプログラミングを見ることが所望されるパケットストリームを選択する。パケットストリームソース12がDSSプロトコルでパケットを生成した場合、パケットストリームソース12がセレクタ20によって適応トランスポートプロトコル復号器30へ結合されるとき、適応トランスポートパケット復号器は、同時にDSSトランスポートパケットを復号するように構成される。パケットストリームソース14がATSCプロトコルでパケットを生成した場合、パケットストリームソース14がセレクタ20によって適応トランスポートプロトコル復号器30へ結合されるとき、適応トランスポートプロトコル復号器30は、同時にATSCトランスポートパケットを復号するように構成される。代わりに、いくつかのオンラインプログラムディレクトリが存在し、これらが、リストされたプログラムのプロトコルを搬送することができる。プログラムが選択されたとき、ディレクトリが調べられ、適応トランスポートプロトコル復号器30がそれに従って構成される。適応トランスポートプロトコル復号器30を構成するための他の方法も使用可能である。図7では、プロトコルの切替えがステップ202で開始される。ステップ204で、メモリがペイロードバッファ37に再配置される。たとえば、DSSペイロードバッファは127バイトを含み、ATSCペイロードバッファは184バイトを含む。ステップ206で、ソフトウェアS/Wポインタが調節される。図示の実施形態では、適応トランスポートプロトコル復号器30がDSSパケットを復号するように構成されるとき、DSS割込みベクトル102これらは外部DRAM34′に格納されており、適応トランスポートプロトコル復号器30は、ATSCトランスポートパケットを処理するように構成されるが内部メモリ34の内部RAM344へ移動され、ATSC割込みベクトル102′は、同時に内部メモリ34の内部RAM344から外部DRAM34′へ移動される。次いで、メモリは、スタック110に割り振られる。最後に、DSS割込みハンドラ1041の一部で、内部メモリ34の内部RAM344内に位置することになる部分が、その配置された位置へ移動される。逆に、適応トランスポートプロトコル復号器30がATSCパケットを復号するように構成されるとき、ATSC割込みベクトル102′これらは外部DRAM34′に格納されており、適応トランスポートプロトコル復号器30は、DSSトランスポートパケットを処理するように構成されるが内部メモリ34の内部RAM344へ移動され、DSS割込みベクトル102は、同時に内部メモリ34の内部RAM344から外部DRAM34′へ移動される。次いで、メモリは、スタックの一部1101に割り振られ、この部分が内部メモリ34の内部RAM344に位置することになる。ステップ208で、受信パケットのヘッダから抽出された様々な情報を保持するレジスタ図1がクリアされる。ステップ210で、切替えプロセスが完了し、適応トランスポートプロトコル復号器30は、新たに選択したプロトコルでパケットを復号する準備ができる。適応トランスポートプロトコル復号器30を、DSSおよびATSCの2つのトランスポートプロトコルに関して説明した。当業者には、追加のプロトコルが、割込みハンドラ104および割込みドライバ106の適切な設計およびコーディングによって実装されて、ヘッダを処理してこれらのプロトコルのパケットからペイロードを抽出し、次いで適応トランスポートプロトコル復号器30を再構成して、そのプロトコル用の割込みベクトル102のコーディングを介して適切な割込みハンドラ104および割込みドライバ106を使用することができることが理解されよう。ソフトウェア割込みを、必要とされる処理を実行するために使用することによって、高速な文脈切替え、および高速で容易な適応トランスポートプロトコルアダプタ30の再構成を提供することができる。