(57)【要約】本発明は、複数のデコーダの中の特定のデコーダ間で切り換えるための装置および方法であって、固有のフォーマットを有するビットストリームを各デコーダがデコードするようになっている装置および方法を提供する。前記装置は、ビットストリームからの情報に基づいてフォーマットインジケータを出力するフォーマット検出器を備えている。フォーマット検出器の出力に応答するロジックは、複数のデコーダの中から特定のデコーダを決定することができる。ロジックによって決定された特定のデコーダは、フォーマット済みビットストリームをデコードする。ロジックの決定に応答する少なくとも１つのスイッチは、フォーマット済みビットストリームを特定のデコーダに接続する。フォーマット検出器は、ビットストリームのコード化された内容の一部において、フレーム情報、スタートコード、パケットヘッダ情報、コードワード値のうちの少なくとも１つを検出する。コードワード値、その派生物、または、コードワード値のパターンは、ビットストリームフォーマットに固有のものである。
2006509406.tif 000002
【特許請求の範囲】
【請求項１】
複数のビットストリームデコーダ間を切り換えるための装置にして、固有のフォーマットを有するフォーマット済みビットストリームを各デコーダがデコードするようになっている装置であって、
前記複数のデコーダのうちの特定のデコーダの出力表示を生成するためにロジックにより使用される情報を前記ビットストリームから集める少なくとも１つのフォーマット検出器と、
前記少なくとも１つのフォーマット検出器の出力に応答して前記特定のデコーダを決定するロジックと、
を備えている、装置。
【請求項２】
少なくとも１つのスイッチを更に備え、前記少なくとも１つのスイッチは、前記ロジックの決定に応答して、前記フォーマット済みビットストリームを前記特定のデコーダの入力に接続する、請求項１に記載の装置。
【請求項３】
前記特定のデコーダは、前記フォーマット済みビットストリームに応答してこのフォーマット済みビットストリームをデコードするデコーダを備えている、請求項１に記載の装置。
【請求項４】
前記少なくとも１つのフォーマット検出器は、前記フォーマット済みビットストリームのフレーム同期情報および前記フォーマット済みビットストリームのフレーム構造情報のうちの少なくとも一方を検出するように構成されたデバイスを備えている、請求項１に記載の装置。
【請求項５】
前記少なくとも１つのフォーマット検出器は、前記ビットストリームのヘッダ情報を検出するように構成されたデバイスを備えている、請求項１に記載の装置。
【請求項６】
前記少なくとも１つのフォーマット検出器は、前記ビットストリームのコード化された内容の一部において、コードワード値、コードワード値の派生物、コードワード値のパターンのうちの少なくとも１つを検出するように構成されたデバイスを備えている、請求項１に記載の装置。
【請求項７】
前記少なくとも１つのフォーマット検出器は、
前記ビットストリームのフレーム同期情報および前記ビットストリームのフレーム構造情報を検出するように構成されたフォーマット検出器、
前記ビットストリーム内のヘッダ情報を検出するように構成されたフォーマット検出器、
前記ビットストリームのコード化された内容の一部において、コードワード、コードワードの派生物、コードワードのパターン、コードワード値、コードワード値の派生物、コードワード値のパターンのうちの少なくとも１つを検出するように構成されたフォーマット検出器、
のうちの少なくとも２つを備えている、請求項１に記載の装置。
【請求項８】
前記少なくとも２つのフォーマット検出器が段階的なシーケンスで動作する、請求項７に記載の装置。
【請求項９】
前記少なくとも２つのフォーマット検出器のうちの先の段階のフォーマット検出器が曖昧な結果を戻す場合にのみ動作するように構成された、前記少なくとも２つのフォーマット検出器のうちの後の段階のフォーマット検出器を備えている、請求項８に記載の装置。
【請求項１０】
前記後の段階のフォーマット検出器は、前記先の段階のフォーマット検出器からの結果の想定される曖昧性を解決するように構成されたフォーマット検出器を備えている、請求項９に記載の装置。
【請求項１１】
少なくとも３つの固有のフォーマット検出器と解決ロジックとを更に備え、前記解決ロジックは、第１の段階のフォーマット検出器の結果の特定の曖昧性に応答することにより、前記特定の曖昧性を最も良く解決できるフォーマット検出器を第２の段階のフォーマット検出器として選択する、請求項１０に記載の装置。
【請求項１２】
前記少なくとも１つのフォーマット検出器が複数の固有のフォーマット検出器を並列に備え、前記ロジックが関連ロジックを備え、前記関連ロジックは、前記複数のフォーマット検出器から出力を受けかつ少なくとも１つのフォーマット検出器出力に基づいて１つのデコーダを選択するように動作する、請求項７に記載の装置。
【請求項１３】
前記関連ロジックは、複数のフォーマット検出器からの出力に基づいて１つのデコーダを選択し、前記出力が曖昧性記述子を含んでいる、請求項１２に記載の装置。
【請求項１４】
前記ロジックは、テーブル構文解析を行なうことなく、デコーダの決定を行なうために検出結果によって検索可能な少なくとも１つのルックアップテーブルを使用する、請求項１に記載の装置。
【請求項１５】
前記ロジックは、フレーム情報、ヘッダ情報、コンテンツコードワード情報のうちの少なくとも１つから特定のデコーダを決定するように構成されているロジックを備えている、請求項１に記載の装置。
【請求項１６】
前記ロジックは、ハードウェア、ソフトウェア、ファームウェアのうちの少なくとも１つを備えている、請求項１５に記載の装置。
【請求項１７】
前記フォーマット検出器は、外部トリガに応答してフォーマット検出を開始するロジックを備えている、請求項１に記載の装置。
【請求項１８】
前記フォーマット検出器は、前記ビットストリームフォーマットを定期的に検出する、請求項１に記載の装置。
【請求項１９】
前記フォーマット検出器は、前記ビットストリームフォーマットを連続的に検出する、請求項１に記載の装置。
【請求項２０】
関連ロジックを更に備え、前記少なくとも２つのフォーマット検出器が同時に動作し、前記関連ロジックは、ファースト・イン・タイムの明白なフォーマット検出を受ける動作および前記少なくとも２つのフォーマット検出器の出力からビットストリームフォーマットを明白に決定する動作の少なくとも一方を行なう、請求項７に記載の装置。
【請求項２１】
少なくとも１つの前記フォーマット検出器と前記ロジックとが一体化されている、請求項１に記載の装置。
【請求項２２】
複数のビットストリームデコーダの中の特定のデコーダ間で切り換えるための装置であって、対応する固有のフォーマットを有するフォーマット済みビットストリームを各デコーダが独自にデコードするようになっている装置において、前記複数のデコーダのうちの特定の１つのデコーダの出力表示を生成するために使用されるビットストリーム情報を前記ビットストリームから集める少なくとも１つのフォーマット検出器を備えている、装置。
【請求項２３】
ロジックを更に備え、このロジックは、前記少なくとも１つのフォーマット検出器によって集められたビットストリーム情報に応答することにより、前記複数のデコーダの中から特定の１つのデコーダを決定し、前記特定のデコーダは、前記フォーマット済みビットストリームに応答してこのフォーマット済みビットストリームをデコードする、請求項２２に記載の装置。
【請求項２４】
前記ロジックは、フレーム情報、ヘッダ情報、コンテンツコードワード情報、これらの派生物のうちの少なくとも１つから特定のデコーダを決定するように構成されている、請求項２３に記載の装置。
【請求項２５】
少なくとも１つのスイッチを更に備え、前記少なくとも１つのスイッチは、前記ロジックによる特定のデコーダの決定に応答して、前記フォーマット済みビットストリームを前記特定のデコーダの入力に接続する、請求項２３に記載の装置。
【請求項２６】
前記フォーマット検出器は、前記フォーマット済みビットストリームのフレーム同期情報およびフレーム構造情報のうちの少なくとも一方を検出するように構成されたデバイスを備えている、請求項２２に記載の装置。
【請求項２７】
前記フォーマット検出器は、前記フォーマット済みビットストリームのパケットヘッダ情報を検出するように構成されたデバイスを備えている、請求項２２に記載の装置。
【請求項２８】
前記フォーマット検出器は、コードワード、コードワード値、前記ビットストリームのコード化された内容の一部のコードワードのパターン、前記ビットストリームのコード化された内容の一部のコードワード値のパターン、その派生物のうちの少なくとも１つを検出するように構成されたデバイスを備え、コードワード、コードワード値、前記ビットストリームのコード化された内容の一部のコードワードのパターン、前記ビットストリームのコード化された内容の一部のコードワード値のパターン、その派生物のうちの少なくとも１つは、前記ビットストリームフォーマットのインジケータを含んでいる、請求項２２に記載の装置。
【請求項２９】
フォーマット済みビットストリームのための複数のデコーダ間で選択するための方法であって、フォーマット済みビットストリームから読み取られた情報の中で少なくとも１つのビットストリームフォーマットインジケータを検出することから成るステップを含んでいる、方法。
【請求項３０】
前記少なくとも１つのビットストリームフォーマットインジケータから、検出されたビットストリームフォーマットをデコードするための正しいデコーダを決定するステップを更に含んでいる、請求項２９に記載の方法。
【請求項３１】
正しいデコーダを決定するステップは、検出されたフォーマットインジケータをテーブル内で検索するステップを含み、前記テーブルは、検出されたフォーマットインジケータとデコーダとを関連付ける、請求項３０に記載の方法。
【請求項３２】
正しいデコーダを決定するステップは、
複数の前記フォーマット済みビットストリームのうちの１つのフォーマット済みビットストリームから読み取られた情報から、フォーマットインジケータを得るステップと、
検出されたフォーマットインジケータをテーブル内で検索するステップであって、前記テーブルがデコーダと前記検出されたフォーマットインジケータとを関連付けるステップと、
を含んでいる、請求項３０に記載の方法。
【請求項３３】
前記フォーマット済みビットストリームを前記正しいデコーダの入力に切り換えるステップを更に含んでいる、請求項３０に記載の方法。
【請求項３４】
前記フォーマット済みビットストリームから読み取られた情報の中で少なくとも１つのビットストリームフォーマットインジケータを検出する前記ステップは、フレーム同期情報およびフレーム構造情報のうちの少なくとも一方を検出することを含んでいる、請求項２９に記載の方法。
【請求項３５】
前記フォーマット済みビットストリームから読み取られた情報の中で少なくとも１つのビットストリームフォーマットインジケータを検出する前記ステップは、前記フォーマット済みビットストリーム内のパケットヘッダ情報をデコードすることを含む、請求項２９に記載の方法。
【請求項３６】
フォーマット済みビットストリームから読み取られた情報の中で少なくとも１つのビットストリームフォーマットインジケータを検出する前記ステップは、前記フォーマット済みビットストリームのコード化された内容の一部において、コードワード、コードワードの派生物、コードワードのパターン、コードワード値、コードワード値の派生物、コードワード値のパターンのうちの少なくとも１つを検出することを含む、請求項２９に記載の方法。
【請求項３７】
フォーマット済みビットストリームから読み取られた情報の中で少なくとも１つのビットストリームフォーマットインジケータを検出する前記ステップは、フレーム情報、パケットヘッダ情報、コードワードのうちの少なくとも１つを検出することを含んでいる、請求項２９に記載の方法。
【請求項３８】
少なくとも１つのビットストリームフォーマットインジケータを検出することから成る前記ステップは、フレーム情報、ヘッダ情報、コードワードのうちの少なくとも２つを順々に検出する複数のサブステップを含んでいる、請求項２９に記載の方法。
【請求項３９】
１つのシーケンスにおいて後に起きるフォーマットインジケータ検出ステップは、前記シーケンス内で先に起きるフォーマットインジケータ検出ステップからの曖昧な結果に応答するステップを含む、請求項３８に記載の方法。
【請求項４０】
後のフォーマットインジケータ検出ステップは、先のフォーマットインジケータ検出ステップの結果における特定の曖昧性に応答して選択されたステップを含む、請求項３９に記載の方法。
【請求項４１】
少なくとも１つのビットストリームフォーマットインジケータを検出することから成る前記ステップは、複数のフォーマットインジケータを同時に検出することを含み、また、所定の基準に基づいて１つのフォーマット検出器出力を選択する操作および複数のフォーマット検出器からの出力を組み合わせる操作の少なくとも一方を更に行なう、請求項２９に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、一般に、プレセンテーションアーチファクトを生成することなくフォーマットが変化するオーディオおよび／またはビデオビットストリームをデコードするための装置に関する。この発明は、特に、プレセンテーションアーチファクトが生成され得る前にデコーダを切り換えることができるように十分速くフォーマット変化を検出することに関する。
【背景技術】
【０００２】
デジタル音声・画像データは、インターネットを含む通信ラインにわたって、様々なデータ圧縮フォーマット（以下、「フォーマット」という）を成すビットストリームの状態で送られる。固有のフォーマットはそれぞれ、ビットストリームコンテンツ情報をその提供（プレセンテーション）形式すなわち音声または画像に変換するために、対応する固有のデコーダを必要とする場合がある。そのようなフォーマットの例は、４つのＭＰＥＧフォーマットＩＳＯ／ＩＥＣ１３８１８−３、ＩＳＯ／ＩＥＣ１１１７２−３、ＩＳＯ／ＩＥＣ１３８１８−７、ＩＳＯ／ＩＥＣ１４４９６−３およびＡＣ−３フォーマットである。本来フォーマットタイプを識別するようになっているストリーム識別子（ＩＤ）がフォーマット済みデータストリーム中で与えられる。基準が進歩するにつれて、ストリームＩＤが信頼できなくなる。これは、これらのストリームＩＤがフォーマット済みビットストリームのフォーマットを独自に特定しないからである。例えば、ストリームＩＤ０ＸＣ０は、４つの全てのＭＰＥＧフォーマットにおいて使用され、そのうちの２つＩＳＯ／ＩＥＣ１３８１８−７およびＩＳＯ／ＩＥＣ１１１７２−３が異なるデコーダを必要とする。画像データおよび音声データの両方は、従来、フレーム内に配置されている。フォーマット検出に対する対処法は、ビットストリームの独自の先験的な情報をフォーマットガイドとして使用することであった。情報は構文解析して使用されなければならない。最近のデータ転送速度では、そのような遅い方法は、データの提供時に、ギャップすなわちプレゼンテーションアーチファクトを残す。利用可能な最良のツールを用いた場合であっても、フォーマット変更が実際に行なわれる正確な点を確実かつ正確に表示することはできない。したがって、独自の先験的な情報を構文解析してコンテンツデコーダを切り換える現在の方法は、通常、厄介なプレゼンテーションアーチファクトを生じさせる。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
したがって、プレセンテーションアーチファクトの生成を避けることができるように十分速くコンテンツデコーダを選択するための装置および方法が必要である。
【課題を解決するための手段】
【０００４】
本発明は、複数のビットストリームデコーダ間を切り換えるための装置であって、固有のフォーマットを有するビットストリームを各デコーダがデコードするようになっている装置を提供する。装置は、ビットストリームからのみの情報を集める１または複数のフォーマット検出器を備えている。フォーマット検出器の出力はロジックを与える。このロジックは、検出器の出力に応答して、複数のデコーダの中から特に適切なデコーダを決定する。ロジックによって決定された特定のデコーダは、フォーマット済みビットストリームに応答することにより、このフォーマット済みビットストリームをデコードしても良い。ロジックの決定に応答する少なくとも１つのスイッチは、フォーマット済みビットストリームを特定のデコーダの入力に接続する。フォーマット検出器は、ビットストリームのコード化された内容の一部において、フレーム情報、パケットヘッダ情報、コードワード値のうちの少なくとも１つを検出する。コードワード値、その派生物、または、コードワード値のパターンは、ビットストリームフォーマットに固有のものである。フォーマット済みビットストリームのためのデコーダ間で切り換えるためのフォーマットを検出する方法が開示されている。この方法は、連続的に、並列に、あるいは、これらの組み合わせで配置された複数のフォーマット検出器を使用しても良い。連続的に配置されたフォーマット検出器においては、先の段階が曖昧な結果を戻す時にだけ後の段階が使用されても良い。方法は、ビットストリームからのみビットストリームフォーマットを検出することを含んでいる。方法は、検出されたビットストリームフォーマットをデコードするための正しいデコーダを決定するとともに、フォーマット済みビットストリームを正しいデコーダに切り換えることを更に含んでいる。
【０００５】
本発明は、テーブル構文解析および他の以前の方法よりも高速であるという利点を有している。僅かな量のデータを処理するだけで、フォーマットを決定して正しいデコーダを選択することができる。
【０００６】
本発明は、基準が数多く生まれ、様々な基準間の混乱が増大するにもかかわらず、適合性があるという利点を有している。これは、提供された方法のうちの少なくとも１つによって、任意の正に固有の新たな基準を検出できなければならないからである。
【０００７】
シームレスで迅速なデコーダの前述した利点および他の利点は、添付図面に示されたシームレスで迅速なデコーダの以下の特定の実施形態の特定の説明から明らかである。
【発明を実施するための最良の形態】
【０００８】
ここで図面を参照すると、図１は、ビットストリームのフォーマットを検出する典型的な方法１００を示している。開始１０１においては、フォーマットされたデータストリームからのデータセグメントが解析のために読み取られても良い。データセグメントは、従来、潜在的に固有のスタートコード、パケットヘッダ、潜在的に固有のコードワードを含むコンテンツ等の、フレーム構造情報およびフレーム同期を含んでいる。第１のステップ１０２は、フレーム同期およびフレーム構造情報を反映する「フレーム情報」とも呼ばれる特定のスタートコードＭのためのデータセグメントを検索する。スタートコードは、フレームの開始点を示しており、直接に読み取られても良い。幾つかのフォーマットは固有のスタートコードを使用する。特定のスタートコードＭを取得する際、ステップ１０３は、検出されたデータストリームのために使用される特定のデコーダＮをスタートコードＭが独自に表示しているかどうかを決定する。幾つかの実施形態においては、他のフレーム情報が使用されても良い。例えば、スタートコード同士の間のビット数であるフレームサイズが幾つかのフォーマットに固有のものであっても良い。スタートコードはフォーマットインジケータの一例である。フォーマットインジケータはビットストリームから読み取られても良い特徴であり、このフォーマットインジケータからビットストリームのフォーマットに関する情報が集められても良い。「スタートコード」は、ここでは、フレーム情報に基づいてフォーマットインジケータを表わすために使用される。フォーマットとデコーダとの間の関係は厳格に１対１ではない。デコーダＮは、複数の想定されるスタートコードのうちの特定の１つのスタートコードに基づいて選択されても良い複数のデコーダのうちの特定の１つを表わしても良い。スタートコードＭは、全ての想定されるスタートコードのうちの特定の１つを表わしている。デコーダＮであっても良い複数のデコーダから成る組は、デコーダＹおよびデコーダＱであっても良い複数のデコーダから成る組と部分的に重なり合っても良い。すなわち、個々のデコーダは、１つのスタートコード、パケットヘッダ、または、同じデコーダを使用しても良い僅かに異なるフォーマットにおける異なる時間でのコードワード検出、に基づいて選択されても良い。
【０００９】
決定は、例えば、決定を行なうロジック３６０（図３）内に含まれるまたはロジック３６０に利用可能なスタートコードテーブルでスタートコードを調べることにより行なわれても良い。例えば、スタートコードＭは、スタートコードテーブルにおいてデコーダＮに関連付けられても良く、そのため、テーブルで検索を行なうことで、デコーダＮの決定を戻しても良い。逆の例においては、スタートコードＭがそれに関連付けられたデコーダをスタートコードテーブル内に有していない場合、検索操作はデコーダの決定を戻さない。テーブル検索は、テーブルの構文解析を必要としない。例えば、テーブルはハッシュテーブルであっても良い。スタートコードＭが独自にデコーダＮに関連付けられる場合、適切なデコーダＮが決定されてステップ１１０で選択されても良い。デコーダＮが選択されると、デコーダはフォーマットされたビットストリームをデコードし始める。スタートコードＭが独自にデコーダＮを特定しない場合には、曖昧性が存在する。すなわち、どのデコーダを使用するべきかが分からない。
【００１０】
ステップ１０４においては、フォーマットを独自に検出する第２の手法を使用することにより曖昧性が回避される。すなわち、パケットヘッダＸが読み取られてパケットヘッダテーブルのエントリと比較されても良い。パケットヘッダＸは、テーブル検索においてパケットヘッダＸに関連付けられたデコーダＹを見つけることにより表わされるように、使用されるデコーダＹを独自に決定しても良い。デコーダＹが独自に決定される場合には、ステップ１１１でデコーダＹが選択されても良い。デコーダＹが独自に決定されない場合には、依然として曖昧性が存在する。
【００１１】
ステップ１０６においては、フォーマットを独自に検出する第３の手法を使用することにより曖昧性が再び回避される。すなわち、コードワードＰが読み取られステップ１０７でテーブルのエントリと比較され、それにより、デコーダＱが独自に決定されるか否かが決定されても良い。コードワードＰが独自に特定のデコーダＱを特定しない場合には、依然として曖昧性が解決されない。その場合には、ステップ１０８が次のデータセグメントを読み取り、処理が再び１０１から始まる。コードワードＰが独自にデコーダＱを決定する場合には、ステップ１１２においてデコーダＱが選択される。他の実施形態においては、データセグメント内で複数のコードワードを見つけかつそのようなコードワードのパターンをテーブルエントリに一致させてデコーダを独自に決定するようにステップ１０７が変更されても良い。
【００１２】
コードワードは様々な方法で取得されても良い。異なるコーディング基準のために異なるコードブックが使用され、また、異なるコーディング基準は異なるデコーダを必要とする。コードブックは、データパケットのコンテンツ部分のデータをエンコードするために使用されるコードワードを含んでいる。幾つかのコードは、それらの対応するフォーマットに固有のコードワードを含んでいる。例えば、ハフマンオーディオコーディング基準は固有のコードワードを含んでいても良い。固有のコードワードは、フォーマットまたはコーディングを決定し、したがって、適切なデコーダを決定する。場合によっては、固有のコードワードを有さない１つのコードから固有の署名を得ることができる。例えば、固有のコードワードが無いハフマンコードがデコードされることにより、実際のオーディオサンプル値を抽出しても良く、また、そのサンプル値は各フォーマットに固有の復元方程式に適用されることができる。前記サンプル値が特定のフォーマットに適さない場合には、復元方程式からはみ出す結果となる。はみ出さないものを見つけるために、全てのフォーマットのための復元方程式が検査されても良い。復元方程式は、フォーマットを決定し、したがって、使用される正しいデコーダを決定する。最も可能性が高いフォーマットが最初に検査される。また、実際のオーディオサンプル値等のコードワード派生物は、ここでは、「コードワード値」とも称される。ビデオコーディングは、サブバンドコーディング、動き補償コーディング、ベクトル量子化を含む様々なコーディング方法を使用する。各方法は、別個のコードブックを有するとともに、固有のコードワードを有していても良い。前述した手法に類似する手法によって各コーディング方法毎に誘導方法が考案されても良い。また、コードワードのパターンも固有であっても良い。例えば、幾つかのコードがコードワードＡ，Ｂを有していても良いが、１つのコードだけがＡ，Ｂ，Ｃを有していても良い。この場合、Ｃは単独で固有ではない。コードワードの取得は、ある場合にはゆっくりとしたプロセスであっても良く、そのため、通常、前記取得は、与えられた検出方法の中で最後の選択となる。
【００１３】
任意のデコーダ選択１１１−１１２後、ステップ１１３は、確認を繰り返すことが望ましいかどうかを決定する。望ましい場合には、ステップ１０８において次のデータセグメントが読み取られ、プロセスがステップ１０２で再び開始される。確認を繰り返すことが望ましくない場合には、外部トリガがステップ１０１で再びプロセス１００を開始するまで、ステップ１１４においてプロセスが中断する。幾つかの実施形態においては、定期的なフォーマット決定１００が望ましい場合がある。他の実施形態においては、連続的なフォーマット決定が望ましい場合がある。例えば、誰かが頻繁なフォーマット変更を含めることによってデータを保護しようとした場合には、連続的なフォーマット検出が必要である。そのような実施形態において、ステップ１１３は、全てのデータセグメントであっても良い所定の間隔でフォーマット検出を繰り返す。フォーマット検出器が呼び出される順序は、最も速く始まり（スタートコード検出器１０２−１０３）、最も遅く終了する（コードワード検出器１０６−１０７）。例えば固有のスタートコードを有さないことが分かっているデータストリームを正常に検出する実施形態においては、他の順序付けも考えられる。また、例えば固有のデコーダを最初に決定する可能性が最も高いフォーマット検出器と固有の決定を最後に行なう可能性が最も低いフォーマット検出器とを設けるなど、ステップを順序付けるための他の基準が使用されても良い。
【００１４】
後述するプロセスのようなプロセス１００は、ハードウェア、ソフトウェア、ファームフェア、または、これらの組み合わせにおいて実施されても良い。現在定められていない今後のフォーマットに対する適合性が重要であるため、幾つかの用途においては、ソフトウェアで実施することが好ましい場合がある。他の用途の場合には、その速度においてハードウェアで実施することが好ましい場合がある。実施形態１００は、示された最も速い典型的な実施形態であっても良い。特定の用途においては他の実施形態が魅力的となるかもしれない。例えば、決定の精度が重大であるリアルタイムコンピュータ用途においては、図２に示される実施形態が有益かもしれない。
【００１５】
図２は、シームレスで迅速なデコーダプロセスの典型的な他の実施形態２００を示している。このプロセスは、データセグメントを読み取ることによりステップ２０１から始まる。ステップ２０２においては、スタートコードＭのためにデータセグメントが検索されても良い。スタートコードＭが独自にデコーダＮを決定する場合には、ステップ２１０においてデコーダＮが選択される。スタートコードＭが独自にデコーダＮを決定しない場合には、見出された特定の曖昧性に基づいて、ステップ２０４により次の検出器が選択されても良い。例えば、スタードコードＭは、３つのデコーダに選択を狭めても良い。これらの３つの可能性の間で選択を行なう場合、残りの検出器のうちの１つが他よりも良好であるかもしれない。選択を制限する際、ステップ２０３は曖昧性記述子をステップ２０４に送る。この曖昧性記述子は、残りの可能性のリストと同じくらい簡単であっても良い。一実施形態においては、曖昧性記述子が２進数であっても良い。この場合、それぞれの数字がデコーダを表わし、対応するデコーダがステップ２０３において除去された場合には各数字が０であっても良く、また、対応するデコーダが可能性（起こり得るもの）である場合には各数字が１であっても良い。ステップ２０３が選択を制限することができない場合には、デフォルト記述子がステップ２０４に送られることができる。したがって、２進数の０がデフォルト記述子であっても良い。この場合、プロセス２００は、あたかも実施形態１００であるかのように進行する。
【００１６】
ステップ２０４において、解決ロジックは、曖昧性記述子に基づいて、どのステップが次のステップであっても良いかを決定する。パケットヘッダ検出器２１１−２１２によって曖昧性を最も良く（最も迅速に、あるいは、最も確実に）解決できる場合には、パケットヘッダが検出されても良い。ステップ２１１において、検索されるべき特定のパケットヘッダＸは、曖昧性記述子に基づいてテーブル検索により見つけられても良い。この場合、曖昧性を解決するパケットヘッダＸは、曖昧性記述子とテーブルで関連付けられても良い。ステップ２１１においてパケットヘッダＸが独自にデコーダＹを特定する場合、スタートコード検出器の結果が与えられると、ステップ２１６においてデコーダＹが選択される。パケットヘッダＸが独自にデコーダYを特定しない場合には、プロセスがステップ２０５に進む。他の実施形態において、ステップ２１２は、曖昧性記述子をステップ２０５に送る前に、曖昧性記述子を変更しても良い。スタートコードの曖昧性をコードワード検出器２０５−２０６によって最も良く（特定の用途に適するように、最も迅速に、最も確実に、最も可能に等）解決できる場合には、プロセスはステップ２０４から直接にステップ２０５へ移行する。
【００１７】
ステップ２０５は、ステップ２０４またはステップ２１２から送られた曖昧性記述子に基づいて、データセグメントの内容からコードワードを検索する。ステップ２０６においてコードワードＰが独自にデコーダＱを特定する場合、曖昧性記述子が与えられると、ステップ２１３においてデコーダＱが選択される。コードワードＰが独自にデコーダＱを特定しない場合、ステップ２０７において、プロセスは次のデータセグメントを取得する。なお、ステップ２０５がステップ２０４に続く場合、パケットヘッダ検出器２１１−２１２は決してアクセスされない。他の実施形態において、全ての検出器２０２−２０３，２１１−２１２，２０５−２０６はステップ２０７の前にアクセスされる。
【００１８】
実施形態１００と同様に、検出器選択２１３，２１５または２１６の後に、ステップ２１４において繰り返しの問い合わせが成される。繰り返しが望ましくない場合、プロセスはステップ２１５で終了する。繰り返しが望ましい場合には、ステップ２０７が次のデータセグメントを取得し、プロセスが再びステップ２０２から始まる。当業者であれば分かるように、フォーマット検出器２０２−２０３，２１１−２１２，２０５−２０６は、順序に関しては置き換え可能であっても良い。本発明では、そのような実施形態２００の変形例も考えられる。同様に、当業者であれば分かるように、更なるフォーマット検出が実施形態２００に加えられても良い。幾つかの他の実施形態は、全ての想定されるフォーマットのうちの限られた一部だけを受けるシステム用に設計されても良く、また、フォーマット検出の順序がそれらのシステムに適合されても良い。
【００１９】
図２Ａは、フォーマット検出のための並列方法の典型的な実施形態６００を示している。３つの検出方法６０２−６０３，６１１−６１２，６２１−６２２のそれぞれが同時に実行される。並列検出方法６０２−６０３，６１１−６１２，６２１−６２２によって成された決定は、ステップ６０７で蓄積されて記憶されても良い。複数のフォーマット検出６０２−６０３，６１１−６１２，６２１−６２２がそれぞれ固有のデコーダを見つける場合には、ステップ６０７において、ファースト・イン・タイム基準等の所定の基準にしたがってデコーダ選択６０４，６１３または６２３が記憶されても良い。固有のデコーダのファースト・イン・タイム検出により、ステップ６０７で選択された適切なデコーダの選択６０４，６１３または６２３がそれぞれ成される。ファースト・イン・タイム検出選択６０４，６１３または６２３によりステップ６０５が開始される。このステップ６０５は、確認が繰り返されるべきかどうかを決定する。確認が繰り返されるべき場合には、ステップ６１５が次のデータセグメントを取得し、他の２つの検出方法による任意の処理手続きが中断される。繰り返しが望ましくない場合には、プロセス６００がステップ６０６で終了し、さらに、他の２つの検出方法が中断される。いずれにしても、ファースト・イン・タイムによる明白な決定はデコーダ選択を制御する。幾つかの実施形態においては、ステップ６０６においてファースト・イン・タイムアルゴリズムが異なる選択基準に取って代えられても良い。例えば、ステップ６０６において、全ての成功した検出結果が取得されて可能性基準または重み付けられた可能性基準に晒されても良い。幾つかの実施形態においては、ファースト・イン・タイムデコーダ選択アルゴリズムが制御できるようにステップ６０６が省かれても良い。検出方法６０２−６０３，６１１−６１２，６２１−６２２のいずれも明白なデコーダ決定を行なわない場合には、更なるステップ６１４，６２４が実施されても良い。各検出方法が機能しなくなると、ステップ６１４において、試みによって集められた任意の情報が使用されることにより、デフォルト（規定）の曖昧性記述子が更新される。例えば、曖昧性記述子が２進数であっても良い。この場合、各数字またはビットが特定のデコーダに対応する。各ビットにおいてデフォルト値は０である。これは、検出器が見つからなかったことを示している。３つの可能なデコーダが存在することを第１の検出方法が決定するが、３つのデコーダのうちのどれが正しいかを第１の検出方法が決定できない場合には、可能なデコーダに対応する曖昧性記述子の各ビットが１に変更される。また、終了するための次の検出方法も、最初の曖昧性記述子を用いてビットワイズ論理ＡＮＤ化される曖昧性記述子を生成する。したがって、可能であると分かる或いは最初の２つの方法の両方によって除去することができないこれらのデコーダはそれぞれ、可能なデコーダに対応するビットに１を有している。結果を生成するための第３の方法からの情報も同様に組み込まれる。その後、ステップ６２４は、固有のデコーダ「Ａ」が見つけられたかどうか、すなわち、曖昧性記述子の中に１の値を持つビットが１つだけ存在しているか？否かを尋ねる。存在している場合には、ステップ６２５においてデコーダ「Ａ」が選択される。一実施形態において、ステップ６２５は、２つの最も速い方法の個々の曖昧な出力に基づいて、ファースト・イン・タイムデコーダ決定を行なっても良い。したがって、最も遅い方法が固有のデコーダ決定に達することになっていた場合であっても、２つの最も速い検出出力の合計がそれを最初に見つけても良い。実施形態６００の利点は、フォーマット検出によって集められた情報の全てを使用できるという点である。繰り返しが望ましい場合には、プロセスがステップ６０１に戻る。
【００２０】
図３は、シームレスで迅速なデコーダ装置の典型的な実施形態３００のブロック図を示している。フォーマットされたデータストリーム３１０は、フォーマット検出器３２０およびスイッチ３３０に接続するために分けられても良い。フォーマット検出器３２０は、ステップ１０２，１０４，１０６，２０２，２１１および／または２０５またはその変形例等のプロセスステップ（図１−２参照）を具体化するためのハードウェアおよび／またはソフトウェアを有している。検出されたスタートコード、パケットヘッダ、または、コードワードは、パス３２４によってロジック３６０へと送られる。ロジック３６０は、どのデコーダ３４０，３４２，３４４が検出されたフォーマットに適することができるかを独自に決定しても良い。幾つかの実施形態においては、フォーマット検出器３２０とロジック３６０とが一体化される。ロジック３６０が適切なデコーダを決定すると、スイッチ３３０は、ライン３０３上のフォーマットされたデータストリームを、選択されたデコーダ３４０，３４２または３４４へと方向付ける。フォーマット検出器およびロジックの処理時間を補償するために、ライン３０３が遅延またはバッファを含んでいても良い。選択されたデコーダ３４０，３４２、または３４４は、デコードされたデータ３５０，３５２または３５４をそれぞれ生成する。幾つかの実施形態では、スイッチ３３０がロジック３６０およびフォーマット検出器３２０と一体である。
【００２１】
図４は、シームレスで迅速なデコーダの典型的な他の実施形態４００を示している。この場合、３つの全てのフォーマット検出器４２０，４２２，４２４はそれぞれ、フォーマットされたデータストリーム４１０からデータセグメントのコピーを受ける。幾つかの実施形態において、データセグメントは、全てのフォーマット検出器において同じデータセグメントである。他の実施形態において、データセグメントが、連続的なデータセグメントであっても良い。この場合、最も遅いフォーマット検出器が最初のデータセグメントを取得し、最も速いフォーマット検出器が連続的なデータセグメントのうちの最後のデータセグメントを取得する。全ての検出器４２０，４２２，４２４が同時に動作しても良い。
【００２２】
フォーマット検出器４２０，４２２，４２４の出力は関連ロジック４６０に送られる。関連ロジックは２つの選択方法を具体化しても良い。第１の方法は、ファースト・イン・タイムの明白なデコーダ決定を選択するとともに、スイッチ４３０を作動させてそのデコーダ決定を実行することである。全ての出力が曖昧である場合に使用される第２の方法は、ファースト・イン・タイム曖昧性記述子を取得するとともに、その曖昧性記述子を、他のフォーマット検出器からの次の曖昧性記述子を用いて改良することにより、全ての改良後に１つのデコーダが残っているかどうかを決定することである。１つのデコーダが最後の曖昧性記述子によって表示される場合には、そのデコーダが選択される。１つのデコーダが最後の曖昧性記述子によって表示されない場合には、次のデータセグメントが取得され、プロセスが再開される。実施形態４００で具体化されたプロセスがうまくいくと、フォーマットされたストリームデータ４１０は、ライン４２６に沿ってスイッチ４３０に接続され、このスイッチにおいて、適切なデコーダ４４０、４４２または４４４につなげられる。デコーダ４２０，４２２，４２４および関連ロジック４６０の処理時間を補償するために、ライン４２６が遅延またはバッファを有していても良い。幾つかの実施形態においては、フォーマット検出器と関連ロジックとスイッチとが一体であっても良い。また、多くの実施形態においては、デコーダ４４０，４４２，４４４もデコーダ４２０，４２２，４２４および関連ロジック４６０と一体化される。
【００２３】
図５は、１つのフォーマット検出器５２０を有する特定の他の実施形態５００のブロック図を示している。この実施形態は、１つのフォーマット検出器５２０を用いた場合であっても、検出されたコードワード、パケットヘッダ、スタートコードから適切なデコーダを決定するために依然としてロジック５６０が必要とされることを示している。ロジック５６０は、検出されたコードワード、パケットヘッダ、スタートコードからデコーダ５４０，５４４または５４８を決定するためのルックアップテーブルを含んでいる。
【００２４】
スイッチ５３０は、ロジック５６０に不可欠な超小型電子回路であってもよい。
【００２５】
フォーマットが発展するにつれて、１つのフォーマット検出器５２０で十分足りるようにすることができる。また、おそらく、コードワード、スタートコード、パケットヘッダのパターンとして、他の検出可能なフォーマット特徴が発見されることも考えられ、あるいは、新たな検出可能なフォーマット特徴が将来において加えられることも考えられる。ここで与えられた検出方法は、新たな付加的な検出可能フォーマット特徴へと広げることができる。
【００２６】
以上の説明では、シームレスで迅速なデコーディングのための方法および装置の選択された実施形態について述べてきた。
【００２７】
本発明を特にその選択された実施形態に関して図示して説明してきたが、当業者であれば分かるように、添付の請求の範囲によってのみ制限するべく、本発明の思想および範囲から逸脱することなく形式および詳細に様々な変更を加えることができる。例えば、シームレスで迅速なデコーダは、異なるフレーム同期およびフレーム構造特徴のための複数のフォーマット検出器を備えていても良い。
【図面の簡単な説明】
【００２８】
【図１】本発明の方法の典型的な実施形態のステップのフローチャートを示している。
【図２】本発明の方法の第２の典型的な実施形態のステップのフローチャートを示している。
【図２Ａ】本発明の方法の第３の典型的な実施形態のステップのフローチャートを示している。
【図３】本発明の装置の典型的な実施形態のブロック図を示している。
【図４】本発明の装置の第２の典型的な実施形態のブロック図を示している。
【図５】本発明の装置の第３の典型的な実施形態のブロック図を示している。
【図１】
2006509406.tif 000003
【図２】
2006509406.tif 000004
【図２Ａ】
2006509406.tif 000005
【図３】
2006509406.tif 000006
【図４】
2006509406.tif 000007
【図５】
2006509406.tif 000008
【国際調査報告】
2006509406.tif 000009
2006509406.tif 000010
2006509406.tif 000011