(57)【要約】      （修正有）【課題】受信したデータパケットをバッファの記憶空間へ記憶する場合に、オーバーフロー状態を管理する改良された方法を提供する。【解決手段】最新のデータパケットのデータブロックを受信する段階と、受信した最新のデータパケットのデータブロックをバッファの自由記憶空間に書き込む段階とから成り、バッファ内に、最新のデータパケットの受信したデータブロックを書き込むのに十分な自由記憶空間が無い場合、最新のデータパケットの受信したデータブロックの書き込みを停止する段階と、最新のデータパケットの少なくとも１つの書き込み済みのデータブロックを自由記憶空間として定義する段階とに続き、次のデータパケットの受信したデータブロックを、最新のデータパケットの書き込み済みのデータブロックに重ねて書き込む。【選択図】図４
2007124639.tif 000002
【特許請求の範囲】
【請求項１】
各データパケット（ＤＰ）が少なくとも２つのデータブロック（ｄｂ１、ｄｂ２、ｄｂ３、ｄｂ４）で構成されているデータパケットの、バッファ（１２）の記憶空間への記憶を管理する方法において、
最新のデータパケットの前記データブロックを受信する段階（４０）と、
受信した前記最新のデータパケットの前記データブロックを、前記バッファ（１２）の自由記憶空間に書き込む段階（４２）と、から成り、
前記最新のデータパケットの受信したデータブロックを書き込むための十分な自由記憶空間が、前記バッファ（１２）内に無い場合は、
前記最新のデータパケットの受信したデータブロックを書き込むのを停止する段階（４８）と、
前記最新のデータパケットの少なくとも１つの書き込み済みデータブロックを、前記自由記憶空間の一部と定義し、次のデータパケットの受信したデータブロックを、前記最新のデータパケットの書き込み済みデータブロックに重ねて書き込むことができるようにする段階（４８）と、を含んでいることを特徴とする方法。
【請求項２】
前記定義する段階（４８）では、前記最新のデータパケットの全ての書き込み済みのデータブロックが前記自由記憶空間の一部と定義されることを特徴とする、請求項１に記載の方法。
【請求項３】
前記バッファ（１２）は先入れ先出しバッファであることを特徴とする、請求項１又は２に記載の方法。
【請求項４】
書き込みポインタ（Ｗ）は、データブロックを書き込もうとする前記バッファ記憶空間（１２）内の位置を示し、読み取りポインタ（Ｐ）は、受信された書き込み済みデータブロックを読み取ろうとする前記バッファ記憶空間（１２）内の位置を示し、両方のポインタは、前記バッファ記憶空間を、同じ進行ループ経路に沿って進み、更に、
前記最新のデータパケットの前記第１の書き込み済みのデータブロックの位置を保存する段階（４３）を備えており、また、
自由記憶空間（１２）が残っているか否かを判定する前記段階（４４）は、前記ループ経路において前記書き込みポインタ（Ｗ）から前記読み取りポインタ（Ｐ）までの前記記憶空間（１２）を判定する段階を含んでおり、
前記最新のデータパケットの前記少なくとも１つの書き込み済みデータブロックを、前記自由記憶空間の一部と定義する前記段階（４８）は、前記書き込みポインタ（Ｗ）を、前記最新のデータパケットの前記第１の書き込み済みデータブロックの前記保存位置にシフトする段階を含んでいることを特徴とする、請求項３に記載の方法。
【請求項５】
前記最新のデータパケットは、ＭＰＥＧ−２トランスポートストリームパケットであることを特徴とする、請求項１から４の何れかに記載の方法。
【請求項６】
各データパケット（ＤＰ）が少なくとも２つのデータブロック（ｄｂ１、ｄｂ２、ｄｂ３、ｄｂ４）で構成されているデータパケットを記憶するためのシステムであって、記憶空間を有するバッファを備えているシステムにおいて、
データパケットの、前記バッファ（１２）の前記記憶空間への記憶を管理するための手段（１４）を備えており、前記管理手段（１４）は、請求項１又は２に記載の方法を実行するように配置されていることを特徴とするシステム。
【請求項７】
前記バッファは先入れ先出しバッファであり、前記管理手段（１４）は、請求項３又は４に記載の方法を実行するように配置されていることを特徴とする、請求項６に記載のシステム。
【請求項８】
ＭＰＥＧ−２トランスポートストリームデータパケットを記憶するために、請求項６又は７に記載のシステムを備えていることを特徴とするＭＰＥＧ−２受信器。
【請求項９】
デジタルコンピューターの内部メモリに直接ロードできるコンピュータープログラム製品において、前記製品がコンピューターで実行されるとき、請求項１から５の何れによる段階でも実行するためのソフトウェアコード部分を備えている、コンピュータープログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データパケットの、バッファの記憶空間への記憶を管理する方法に関する。
【背景技術】
【０００２】
フルモーションデジタルテレビには、大量の記憶装置及びデータ伝送帯域幅が必要である。従って、デジタルテレビシステムは、必要な記憶装置の量とデータ伝送帯域幅を少なくするためビデオ圧縮アルゴリズムを使用している。最新のデジタルテレビシステムは、ＭＰＥＧ又はＭＰＥＧ−２エンコーディングを使用して、必要なデータ伝送帯域幅を減らしている。ＭＰＥＧ−２は、ＩＴＵ−Ｔ  Ｈ．２２２．０（ＩＳＯ／ＩＥＣ  １３８１８−１）「動画と付帯する音声情報とのジェネリックコーディング」に定義されている。従って、映画又は他のコンテンツの様な視聴覚シーケンスは、媒体サーバーにＭＰＥＧ−２圧縮フォーマットで記憶され、視聴覚シーケンスは、デコードされ、ユーザーに表示及び／又は配信するために、通常はアナログフォーマットに変換される。
【０００３】
ＭＰＥＧ−２によるトランスポートストリーム（ＴＳ）は、圧縮されたデジタルビデオや圧縮されたデジタル音声などを備えているストリームであることは、周知である。ＴＳは、デジタル放送に用いられ、多重化された複数のプログラムが含まれている。
【０００４】
２種類のＭＰＥＧ−２受信器が使用されている。第一に、セットトップボックスでは、着信ＭＰＥＧ−２ＴＳパケットは、専用のハードウェア機能、即ち、着信ビットストリームを取り扱えるＭＰＥＧ−２  ＴＳデマルチプレクサによって処理される。この場合、データがオーバーフローすることは無い。更に、信号の一時的な損失の様な例外が起こった場合、ＭＰＥＧ−２ＴＳリーダーは、専用のハードウェア機能を使用して、容易に再同期化させることができる。
【０００５】
２番目の種類のＭＰＥＧ−２受信器は、ＰＣＩ又はＵＳＢインターフェースを使用するＰＣを使用するものである。通常、ＰＣＩ  ＭＰＥＧ２−ＴＳ受信器は、ＰＣＩマスターであり、ＭＰＥＧ２−ＴＳパケットは専用のハードウェアによってＰＣシステムメモリに書き込まれるので、ＦＩＦＯオーバーフローは起こらない。更に、ＵＳＢＭＰＥＧ２−ＴＳ受信器は、普通は、等時性のＵＳＢエンドポイントを使用してＭＰＥＧ２−ＴＳパケットを伝送し、これは、データ読み取りビットレートを保証するが、この型式の伝送の主な欠点は、実際のビットレートがどうであれ、ＵＳＢ帯域幅を予約することである。
【０００６】
従って、これら全てのＭＰＥＧ−２受信器は、高い複雑性と引き替えに、オーバーフローが起こらないようにしている。
【０００７】
一方で、ＵＳＢ等時性エンドポイントを使用しない、もっと簡単なＵＳＢＭＰＥＧ−２ＴＳ受信器がある。
【０００８】
しかしながら、送信モード、衛星、ケーブル又は地上通信の如何に関わらず、これらの受信器では、データのオーバーフローとオーバーフロー管理の問題が起こり得る。従来は、オーバーフローの管理は、受信データビットレートを上回るデータ読み取りビットレートを保証する（例えば、一時的に過剰に負荷を掛けることのできるＰＣ）ことはできず、ＭＰＥＧ−２ＴＳパケットに必要な同期化を維持できていない。具体的には、ＭＰＥＧ−２ＴＳ読み取り器が完全なＭＰＥＧ−２ＴＳパケットを受信することができ、そのデータの読み取りビットレートが受信ビットレートより一時的に下がっても、同期化された状態に留まる、ということを保証するのが重要である。
【０００９】
従って、簡単且つ経済的な方法で、データパケットを記憶し、オーバーフロー状態を管理するための改良された方法及びシステムが必要とされている。
【発明の開示】
【課題を解決するための手段】
【００１０】
従って、本発明は、請求項１によるデータパケットを記憶する改良された方法を提供する。本方法の他の特徴については、従属請求項２−５に記載している。
【００１１】
本発明は、更に、請求項６又は７によるデータパケットを記憶するためのシステムを提供している。
【００１２】
本発明は、更に、請求項８によるＭＰＥＧ−２ＴＳ受信器と、請求項９によるコンピュータープログラム製品を提供している。
【発明を実施するための最良の形態】
【００１３】
図１は、データブロックｄｂ１、ｄｂ２、ｄｂ３、ｄｂ４から成るデータパケットＤＰを示している。説明している実施形態では、データパケットＤＰは、ＭＰＥＧ−２トランスポートストリームパケットである。各データパケットｄｂ１、ｄｂ２、ｄｂ３、ｄｂ４には、それぞれデータＡ、Ｂ、Ｃ、Ｄが入っている。
【００１４】
図２は、図１のデータパケットＤＰの様なデータパケットを記憶するためのシステム１０を示している。システム１０は、記憶空間を有する先入れ先出しバッファ１２と、データパケットの、バッファ１２の記憶空間への記憶を管理するための手段１４と、を備えている。以下の説明では、バッファとその記憶空間の両方を、参照番号１２で示している。
【００１５】
バッファ１２は、データを記憶するためのｄｃ１からｄｃ８まで８つのデータセルを備えている。それぞれには、固有のアドレスが割り付けられている。バッファ１２は、コンピューターのランダムアクセスメモリ（ＲＡＭ）に実装される。
【００１６】
この説明では、データセルとデータブロックは、同じサイズ、例えば１バイトを有している。勿論、サイズは異なっていてもよい。
【００１７】
管理手段１４は、読み取りポインタ管理ユニット１６と、書き込みポインタ管理ユニット１８を備えている。
【００１８】
読み取りポインタ管理ユニットは、データを読み取ろうとしているデータセルのバッファ記憶空間１２内の位置を示す読み取りポインタＲを管理する。図２では、読み取りポインタＲには、データセルｄｃ４のアドレスが入っている。
【００１９】
書き込みポインタ管理ユニット１８は、データを書き込もうとしているデータセルのバッファ記憶空間１２内の位置を示す書き込みポインタＷを管理する。図２では、書き込みポインタＷには、データセルｄｃ６のアドレスが入っている。
【００２０】
両ポインタＲとＷは、バッファ記憶空間を、データセルｄｃ１からデータセルｄｃ８へ至る同じ進行ループ経路に沿って進み、その後、データセルｄｃ１へ戻る。
【００２１】
管理手段１４は、更に、データパケットの第１データブロックを書き込むデータセルのアドレスを記憶することができる。これについて、以下に説明する。
【００２２】
読み取り／書き込みポインタは、ポインタレジスター（図示せず）に記憶されるのが望ましい。
【００２３】
図３は、オーバーフロー状態、つまり、受信したデータブロックを書き込むための十分な自由記憶空間が無い状態を示している。自由記憶空間は、データの入っていないデータセル、又は既に読み取られたデータの入っているデータセルの何れかである。従って、バッファ１２の自由記憶空間は、進行経路における書き込みポインタＷから読み取りポインタＲまでの「距離」、即ち、書き込みポインタＷと読み取りポインタＲの間のデータセルによって構成されている。
【００２４】
図３のオーバーフロー状態では、進行経路において、書き込みポインタＷが、読み取りポインタＲに追いついている。従って、バッファの全記憶空間は、まだ読み取られていないデータで一杯になっている。
【００２５】
図示の例では、最初の３つのブロックｄｂ１、ｄｂ２、ｄｂ３が受信済みであり、対応するデータＡ、Ｂ、Ｃが書き込まれている。しかしながら、受信済みデータブロックｄｂ４のデータＤを書き込むことはできない。
【００２６】
図４Ａと図４Ｂは、データパケットの、バッファ１２の記憶空間への記憶を管理する方法のブロック図であり、管理手段１４によって実現される。
【００２７】
データパケットの記憶を管理することは、図４Ａに示すデータパケット読み取り方法と、図４Ｂに示すデータパケット書き込み方法を備えている。これらの２つの方法は、同時に平行して実施される。
【００２８】
図４Ａでは、読み取り方法は、読み取りポインタＲによって示されているデータセルに書き込まれているデータを読み取るという第１ステップ３０を含んでいる。
【００２９】
本方法は、読み取り可能なデータが次のデータセルに書き込まれているか否かを試験するステップ３２に続いている。該当しない場合、即ち、書き込みポインタがこの次のデータセルを示している場合、新しいデータの書き込みは待機され、これは、試験ステップ３２に戻る矢印３４によって示されている。
【００３０】
読み取り可能なデータが在る場合、即ち、書き込みポインタが次のデータセルを示していない場合、本方法は、読み取りポインタＲが次のデータセルを示すように、読み取りポインタＲを逐増するステップ３６に続き、そして読み取りステップ３０に戻る。
【００３１】
次に、図４Ｂでは、書き込み方法は、受信されている最新のデータパケットのデータブロックを受信するという第１段階４０を備えている。
【００３２】
本方法は、続いて受信される新しいデータブロックを書き込むための自由記憶空間が十分にあるか否かを試験するステップ４２を含んでいる。これは、進行ループ経路において書き込みポインタから読み取りポインタまでの記憶空間を求めることによって行われる。
【００３３】
十分な自由記憶空間がある場合、即ち、書き込みポインタＷが読み取りポインタＲと等しくない場合、本方法は、受信したデータブロックを、書き込みポインタＷによって示されたデータセルに書き込み、書き込みポインタＷが進行ループ経路の次のデータセルを示するように書き込みポインタＷを逐増させるステップ４４に続く。
【００３４】
書き込まれたデータブロックがデータパケットの第１ブロックである場合、例えば、図１のデータパケットＤＰのデータブロックｄｂ１の場合、その位置のアドレスが管理手段１４によって保存される。これは、図４Ｂのブロック４６で示されている。本方法は、最新のデータパケットの後に受信されるデータブロックの記憶を管理するために、受信ステップ４０に戻る。
【００３５】
十分な自由記憶空間が無い場合、即ち、書き込みポインタＷが読み取りポインタＲに等しい場合、本方法は、最新のデータパケットの受信済みのデータブロックを書き込むことを停止し、書き込みポインタＷを、現在受信されているデータパケットの最初に書き込まれたデータブロックの位置アドレスにシフトするステップ４８に進むが、この位置アドレスはステップ４６で既に保存されている。
【００３６】
待機ステップ５０では、最新のデータパケットの新たに受信したデータブロックは廃棄され、即ち、バッファ１２には書き込まれない。新しいデータパケットの第１ブロックを受信すると、本方法は、受信ステップ４０へ戻る。
【００３７】
書き込みポインタＷがシフトされるので、次のデータパケットの受信したデータブロックは、前のデータパケットの既に書き込まれているデータブロックに重ねて、好都合に書き込むことができる。
【００３８】
実際に、ＭＰＥＧ−２データ受信の様な多くのアプリケーションでは、不完全なデータパケットは使用できず、バッファ１２を使うアプリケーションによって廃棄される。
【００３９】
このデータパケットの重ね書きは、次のデータパケットに、より多くの自由な記憶空間を提供し、従って、オーバーフローの再発する機会が減少する。
【図面の簡単な説明】
【００４０】
【図１】データパケットを示している。
【図２】図１のデータパケットの様なデータパケットを記憶するためのシステムを示している。
【図３】オーバーフロー状態にある図２のシステムを示している。
【図４】図４Ａと４Ｂは、データパケットの記憶を管理する方法のブロック図である。
【図１】
2007124639.tif 000003
【図２】
2007124639.tif 000004
【図３】
2007124639.tif 000005
【図４】
2007124639.tif 000006
【外国語明細書】
2007124639000001.pdf