(57)【要約】様々な本発明の態様は、ストリーミングデータの設計モデリングおよび／または処理に関する。模範的実施例によれば、ハードウェア仕様をモデリングするシステムは、入力データストリームを受信し出力データストリームを送信するように構成されたプラットホーム（１０６）を含む。また、このシステムは、入力データストリームをソースデータレートで提供するように構成されたストリーミングアプリケーションのソース（１０２）、出力データストリームを送り先データレートで消費するように構成されたストリーミングアプリケーションの送り先（１０４）及びプラットホームとコンピュータ（１０８）とを結合するデータチャネル（１１０）を含む。コンピュータはハードウェア仕様を用いて中間データストリームを生成する。この中間データストリームが次にプラットホームに対するモデリングの合理化のために使用される。
2008522314.tif 000002
【特許請求の範囲】
【請求項１】
ハードウェア仕様をモデリングするシステムであって、
入力データストリームを受信し、出力データストリームを送信するように構成されたプラットホームと、
前記入力データストリームをソースデータレートで供給するよう構成されたストリーミングアプリケーションのソースと、
前記出力データストリームを送信先データレートで消費するように構成されたストリーミングアプリケーションの送り先と、
前記プラットホームと汎用コンピュータとを結合するデータチャネルと、
前記ハードウェア仕様の少なくとも一部に従って、前記プラットホームからデータチャネルを経て受信された第１の中間データストリームから、前記データチャネルを経てプラットホームに送信される第２の中間データストリームを生成するように構成された前記汎用コンピュータとを具え、前記第１の中間データストリームが前記入力データストリームに基づき、前記出力データストリームが前記第２の中間データストリームに基づくことを特徴とするシステム。
【請求項２】
前記プラットホームはプログラマブルロジックデバイス（ＰＬＤ）ベースであることを特徴とする請求項１に記載のシステム。
【請求項３】
前記ＰＬＤベースのプラットホームは、前記入力データストリーム、前記第１の中間のデータストリーム、前記第２の中間のデータストリーム及び前記出力データストリームの移動間隔を格納するように構成された少なくとも１つのメモリを含むことを特徴とする請求項２に記載のシステム。
【請求項４】
前記ＰＬＤベースのプラットホームは、前記ハードウェア仕様の少なくとも一部に従って、前記入力データストリームから前記第一の中間のデータストリームを生成するように構成されていることを特徴とする請求項２に記載のシステム。
【請求項５】
前記ＰＬＤベースのプラットホームは、前記ハードウェア仕様の少なくとも一部に従って、前記第２の中間のデータストリームから前記出力データストリームを生成するように構成されていることを特徴とする請求項２に記載のシステム。
【請求項６】
前記ＰＬＤベースのプラットホームは、コンフィギュラブル論理及びコンフィギュラブル経路を含むＰＬＤを含むことを特徴とする請求項２に記載のシステム。
【請求項７】
前記第１の中間のデータストリームは前記入力ストリームのコピーであり、前記出力データストリームは前記第２の中間のデータストリームのコピーであり、前記汎用コンピュータは前記ハードウェア仕様に従って前記第１の中間のデータストリームから前記第２の中間のデータストリームを生成するように構成されていることを特徴とする請求項１に記載のシステム。
【請求項８】
電子設計をモデリングする方法であって、ストリーミングアプリケーションのために、前記電子設計を流れる前記ストリーミングデータフローに基づいて、前記ストリーミングアプリケーションのための入力データストリームを受信する開始部分、中間部分及び前記ストリーミングアプリケーションのための出力データストリームを送信する終了部分に分離する手順と、前記開始部分及び前記終了部分に対するハードウェア仕様を生成する手順と、前記中間部分に対する抽象的ソフトウェアモデルを生成する手順と、前記ハードウェア仕様からプログラマブルロジックデバイス（ＰＬＤ）実現用のコンフィギュレーションデータを生成する手順とを含み、前記ＰＬＤは、前記コンフィギュレーションデータによってプログラムされるコンフィルタギュラブル論理及びコンフィギュラブル経路を含み、更に、前記抽象的ソフトウェアモデルから実行可能プログラムを生成する手順と、前記コンフィギュレーションデータを用いてＰＬＤを操作し、前記実行可能プログラムを用いて前記汎用コンピュータを操作して、電子設計をモデリングする手順とを含むことを特徴とする方法。
【請求項９】
前記操作手順に基づいて前記電子設計を検証することを更に含むことを特徴とする請求項８に記載の方法。
【請求項１０】
前記抽象的ソフトウェアモデルから導出されたハードウェア仕様を生成する手順と、
前記ハードウェア仕様及び前記導出されたハードウェア仕様からＰＬＤ実現用の他のコンフィギュレーションデータを生成する手順と、
前記他のコンフィギュレーションデータを用いて前記ＰＬＤを操作して前記電子設計を実現する手順とを更に含むことを特徴とする請求項８に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的に、ストリーミングアプリケーションのモデリングに関するものである。特に、本発明は、ストリーミングアプリケーションのリアルタイムまたは略リアルタイムモデリング方法及び装置に関するものである。
【背景技術】
【０００２】
電子産業は高性能で高機能の回路を得ようと努力し続けている。この分野における重要な成果は、ケイ素ウェハの小さな領域上に超高密度集積回を製造する技術によって実現された。このタイプの集積回路は、特定の順序で行われる一連のステップによって開発されている。このようなデバイスを設計する際の主な目的は、デバイスのための特定の設計の地理的特徴に従うデバイスを得ることにある。この目的を達成するために、設計プロセスにおけるステップが、厳格な要件を実現するように厳密に制御される。
【０００３】
多数の半導体デバイスがほとんどの現代の電子デバイスの構成のために使用されている。このような電子デバイスの能力を増大するために、もっと多数の半導体デバイスを単一のシリコンウェハ内に集積する必要がある。半導体デバイスが縮小され（すなわち、より小さく構成され）、所定の表面領域上により多くのデバイスを形成するにつれて、このようなデバイスの構造及びその製造技術はより精緻化されている。このような半導体デバイスを精緻化する能力の増大は、それぞれ固有の機能及び用途に役立つカスタマイズされたチップの急増をもたらした。更に、この能力の増大は、チップを効率的に安価に設計し満足に試験する種々の技術をもたらした。
【０００４】
多くのチップ設計に対して、カスタマイズチップは、ハードウェア記述言語（ＨＤＬ）（例えばＶｅｒｉｌｏｇまたはＶＨＤＬ）を用いてそれらの機能を記述することによって作製される。ハードウェア記述は、一組の機能マクロで設計を特徴付けるためにしばしば書き込まれる。設計は、カスタム設計基準が満たされるようにコンピュータシミュレートされる。非常に複雑なカスタムチップの設計に対して、上記のプロセスは面倒で、費用がかかる可能性がある。このようなチップの高集積構造は予想外の問題、例えば信号タイミング、雑音結合、信号レベルの問題を生じる。その結果として、このような複雑なカスタムチップの設計は、広範囲な検証を必要とする。この検証は、通常、ＶｅｒｉｌｏｇまたはＶＨＤＬシミュレータを用いて種々の段階で実行される。この段階で有効とされると、ＶｅｒｉｌｏｇまたはＶＨＤＬ  ＨＤＬコードが、例えば、「シノプシス」を用いて、プロトタイプ製造用のＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）製造工場に供給されるネットリストに統合される。次いで、ＡＳＩＣプロトタイプが、シリコンで試験される。ＶｅｒｉｌｏｇまたはＶＨＤＬシミュレータによるこのような検証の後でも、予想外の問題を一般に生じる。これらの問題を解決するためには、シミュレーション及びプロトタイプの両段階での試験及び検証とともに上記のプロセスを繰り返えす必要がする。このような繰返しは、設計時間及び費用を、その実行が今日の一刻を争う市場において許容し得ない程度にまで、大きく増大する。
【０００５】
同様の問題は、セミカスタム設計（例えばプログラマブルロジックデバイス）においても現れる。「ＰＬＤ」としても知られる、プログラマブルロジックデバイスは、特定の論理機能を実行するようにプログラムすることができる、よく知られたタイプの集積回路である。より一般的なタイプのＰＬＤの１つは、多数の種々の回路タイルを有するフィールドプログラマブルゲートアレイ（ＦＰＧＡ）であり、これらの回路タイルの各々はその機能をプログラムするために一定のフレキシビリティを有する。ほとんどのＰＬＤのプログラミングはほとんどの複雑なカスタムチップ設計より非常に急速であるにもかかわらず、このような努力は依然として大きな遅れを生じる。
【０００６】
米国特許第６，３４７，３９５号公報（２００２年２月１２日発行）、名称「高速シリコンプロトタイピング方法及び装置」に図示及び記載されているように、典型的な開発時間（初期設計から新製品まで）は、高速なシリコンプロトタイピングプロセス及び装置によって５０パーセントを超えて短縮できる。しかしながら、高速シリコンプロトタイピングによっても、新たなアルゴリズムを評価したり、検証時に発見された問題に対処するように変更された設計をコンパイルするために相当大きな遅れが必要とされる可能性がある。
【０００７】
これらのチップ開発の問題は、遅れの程度がアプリケーションごとに許容できる場合に、ストリーミングデータをリアルタイムまたは略リアルタイムで処理することを試みるときに顕著になる。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
したがって、上記の欠陥を克服する、カスタマイズチップ（セミカスタマイズチップも含む）を開発する方法が必要とされている。本発明は、本願明細書に開示される実施例ごとの設計モデリングによってこの必要性及び他の必要性に対処する。
【課題を解決するための手段】
【０００９】
本発明の様々な態様は、上述の問題を対処及び解決するようにストリーミングデータを設計モデリングおよび／または処理するものである。一つの模範的実施例によれば、ハードウェア仕様をモデリングするシステムは、入力データストリームを受信し出力データストリームを送信するように構成されるプラットホームを含む。本システムは、入力データストリームをソースデータレートで供給するように構成されるストリーミングアプリケーションのソース、出力データストリームを送信先データレートで消費するように構成されるストリーミングアプリケーションの送信先及び、プラットホームと汎用コンピュータとを結合するデータチャネルを含む。汎用コンピュータは、前記ハードウェア仕様の少なくとも一部に従って、プラットホームからデータチャネルを経て受信される第１の中間データストリームから、データチャネルを経てプラットホームに送信される第２の中間データストリームを生成するように構成され、第１の中間データストリームが入力データストリームに基づき、出力データストリームが第２の中間データストリームに基づくものとする。
【００１０】
本発明の他の実施例は、電子設計をモデリングする方法を開示する。この方法は、ストリーミングアプリケーションのための電子設計を、前記電子設計を流れる前記ストリーミングデータフローに基づいて、前記ストリーミングアプリケーションのための入力データストリームを受信する開始部分、中間部分及び前記ストリーミングアプリケーションのための出力データストリームを送信する終了部分に分離する手順を含む。この方法は、更に、前記開始部分及び前記終了部分に対するハードウェア仕様を生成する手順、中間部分に対する抽象的なソフトウェアモデルを生成する手順、前記ハードウェア仕様からプログラマブルロジックデバイス（ＰＬＤ）実現用のコンフィギュレーションデータを生成する手順を含み、ＰＬＤは、前記コンフィギュレーションデータによってプログラムされるコンフィルタギュラブル論理及びコンフィギュラブル経路を具える。この方法は、更に、抽象的なソフトウェアモデルから実行可能プログラムを生成する手順、コンフィギュレーションデータを用いてＰＬＤを操作し、実行可能プログラムを用いて汎用コンピュータを操作する手順を含み、電子設計がＰＬＤ及び汎用コンピュータの操作によってモデリングされる。
【００１１】
本発明は、添付図面と関連して以下に記載する本発明の様々な実施例の詳細な説明を考慮すると、より完全に理解することができる。
【００１２】
本発明は、様々な変更例及び代替例が可能であるが、本発明の詳細は、図面に例示され、以下に詳細に記載されている。しかしながら、本発明は記載された特定の実施例に限定されない点に留意されたい。それどころか、本発明は添付の特許請求の範囲に記載の本発明の精神と範囲に含まれる全ての変更例、等価例及び代替例をカバーするものである。
【００１３】
本発明は、回路構成データの高速コンパイルを必要とする回路を用いる、又はその力を借りる、データ処理方法及び装置に一般に適用可能である。本発明は、遅れの程度がアプリケーションごとに許容できる場合に、ストリーミングデータをリアルタイムまたは略リアルタイムで処理するのに特に有利であることを見いだした。本発明は必ずしもこのようなアプリケーションに制限されるというわけではないが、本発明の様々な態様の高評価がこのような環境の実施例の検討により得られた。
【発明を実施するための最良の形態】
【００１４】
本発明の一つの実施例によれば、ハードウェア仕様をモデリングするシステムは、入力データストリームを受信し出力データストリームを送信するように構成されるプラットホームを含む。本システムは、入力データストリームをソースデータレートで供給するように構成されるストリーミングアプリケーションのソース、出力データストリームを送信先データレートで消費するように構成されるストリーミングアプリケーションの送信先及び、プラットホームと汎用コンピュータとを結合するデータチャネルを含む。汎用コンピュータは、前記ハードウェア仕様の少なくとも一部に従って、プラットホームからデータチャネルを経て受信される第１の中間データストリームから、データチャネルを経てプラットホームに送信される第２の中間データストリームを生成するように構成され、第１の中間データストリームが入力データストリームに基づき、出力データストリームが第２の中間データストリームに基づくものとする。
【００１５】
図１につき説明すると、図１は本発明によるストリーミングアプリケーションのリアルタイム抽象的モデリングシステム１００のブロック図を示す。ストリーミングアプリケーションは、ストリーミングデータソース１０２を有する。ストリーミングデータソース１０２は、例えば、ビデオテーププレーヤ、ビデオディスクプレーヤまたは音楽オーディオプレーヤのようなストリーミングビデオまたはオーディオソースである。ストリーミングアプリケーションは、ストリーミングデータの送り先１０４を有する。送り先１０４、例えば、ビデオディスプレイデバイスまたは音声スピーカである。ソース１０２からのデータは、処理されたデータが送り先１０４へ配信される前に、ストリーミングアプリケーションのハードウェア仕様に従って、プラットホーム１０６及び汎用コンピュータ１０８の組合せによって処理される。プラットホーム１０６及びコンピュータ１０８は、チャネル１１０を介して通信する。
【００１６】
プラットホーム１０６は、ＰＬＤベースのプラットホーム、または、ストリーミングアプリケーションの一部を実行するようにプログラムされた他のデバイスとすることができる。あるいは、プラットホーム１０６は、システムオンチップ（ＳＯＣ）を含むＳＯＣベースのプラットホームであってもよい。フィリップスセミコンダクターズ社製のプラットホーム１０６の例は、ネクスペリア・アドバンスド・プロトタイピング・アーキテクチャと共に高速シリコンプロトタイピング及びネクスペリアプラットホームを含む。
【００１７】
プラットホーム１０６用のＳＯＣの例は、多種多様なビルディングブロック、例えば一つ以上のデジタル信号処理ブロックを含むことができ、これらのブロックは一般にストリーミングアプリケーションの設計に用いられる。ストリーミングアプリケーションのハードウェア仕様の所定の部分は、使用可能なビルディングブロックのサブセットのためのインスタンスを含むことができ、ハードウェア仕様の残りの部分はコンピュータ１０８によってモデリングすることができる。例えば、ストリーミングアプリケーションは、様々な標準のブロック及び革新的なカスタムブロックを含むことができる。ストリーミングアプリケーションは、システム１００によってモデリングすることができ、標準ブロックはプラットホーム１０６によってモデリングされ、カスタムブロックはコンピュータ１０８のソフトウェア処理機能部１１２によって急速にモデリングされる。カスタムブロックに対する様々な代替設計は、システム１００によってすぐに評価することができる。その理由は、ソフトウェア処理機能部１１２によってモデリングされたカスタムブロックは急速に変更及び再コンパイルすることができるためである。
【００１８】
プラットホーム１０６は、一般的にレシーバ１１４を含み、アプリケーションデータソース１０２からストリーミングデータを受信する。レシーバ１１４は、ビデオテーププレーヤ１０２からのアナログ信号をデジタルビデオストリームへ変換する変換機能ような処理機能を含むことができる。プラットホーム１０６は、一般的にトランスミッタ１１６を含み、アプリケーションデータの送り先１０４へ処理されたストリーミングデータを提供する。トランスミッタ１１６は、処理されたデジタルビデオストリームをビデオディスプレイユニット１０４のためのアナログ信号へ変換する変換機能のような処理機能を含むことができる。レシーバ１１４及びトランスミッタ１１６は、プラットホーム１０６が基づくＰＬＤまたはＳＯＣに含めてもそれから分離してもどちらでもよい点に留意されたい。
【００１９】
ハードウェア処理機能部１１８は、ストリーミングアプリケーションのための処理の一部を実行することができる。ハードウェア処理機能部１１８は、チャネル１１０へのインターフェースを実行する。チャネル１１０の例には、パラレルバス（例えばＰＣＩ  Ｘ）及び直列または並列通信リンク（例えばＰＣＩ  Ｅｘｐｒｅｓｓ）がある。一般的に、チャネル１１０は特定のストリーミングアプリケーションに従って高帯域を提供する。チャネル１１０は、コンピュータ１０８によって直接サポートされる通信プロトコルでも、コンピュータ１０８によってサポートされる通信プロトコルと他の通信プロトコル（例えば独自仕様の通信プロトコル）との間のアダプタでもよい。
【００２０】
ハードウェア処理機能部１１８は、一般的に、アプリケーションデータソース１０２から受信された部分的に処理された形のストリーミングデータをチャネル１１０を経てコンピュータ１０８へ送信する。ハードウェア処理機能部１１８は、ストリーミングデータの一部（例えばカラービデオデータの１つのカラーコンポーネントのためのデータ）のみをコンピュータ１０８に送信してもよい点に留意されたい。また、ハードウェア処理機能部１１８は、前処理せずにストリーミングデータをコンピュータ１０８に送信してもよい点に留意されたい。ハードウェア処理１１８は、コンピュータ１０８から、処理機能部１１２によって処理されたストリーミングデータもチャネル１１０を経て受信する。ハードウェア処理機能部１１８は、コンピュータ１０８から受信されるストリーミングデータに基づくアプリケーションデータの送り先１０４へストリーミングデータを送信する。ハードウェア処理部１１８は、アプリケーションデータの送り先１０４へストリーミングデータを提供する前に、ストリーミングデータの付加的処理を実行することができる。
【００２１】
ソフトウェア処理機能部１１２は、汎用コンピュータ１０８のコンパイル済みソフトウェア機能部とすることができる。機能部１１２によってプラットホーム１０６から受信されるストリーミングデータ及び機能部１１２によってプラットホーム１０６へ送信されるストリーミングデータは抽象データタイプとすることができ、例えば、ストリーミングビデオデータのピクセルの強度値をそれぞれ表す数のシーケンスとすることができる。コンピュータ１０８によって提供される利用可能な抽象データ操作機能（例えば乗算及び加算）は、抽象的に表されるストリーミングデータを抽象的に処理するのに使用できる。機能部１１２の例は、垂直および／または水平に、ビデオ画像の方向を拡大・縮小する。
【００２２】
図に記載されている要素は、本発明の理解を助けるためにのみ説明されている点に留意されたい。当該技術分野で既知のように、ハードウェアとして記載されている要素は、ソフトウェアで同等に実現できる。特定の電子回路に関しても、本発明の理解を助けるのみであり、基本的に同じ機能を実行するいかなる回路も等価回路と考えられる。
【００２３】
図２につき説明すると、図２は、本発明によるストリーミングアプリケーションのリアルタイム抽象的モデリングシステム２００の他の実施例のブロック図を示す。ソース２０２からのストリーミングアプリケーションのデータは、ＰＬＤベースのプラットホーム２０４、チャネル２０６及びコンピュータ２０８の組合せによって処理され、ストリーミングアプリケーションの処理されたデータは送り先２１０に配信される。
【００２４】
プラットホーム２０４は、アプリケーションデータソース２０２からストリーミングデータを受信し、ＦＰＧＡ２１４にストリーミングデータを提供するレシーバ２１２を含むことができる。ＦＰＧＡ２１４はメモリ２１６を含むことができ、ＦＰＧＡ２１４は、メモリ２１６とインターフェースするＤＭＡブロック２１８を実現するようにプログラムすることができる。ＤＭＡブロック２１８は、メモリ２１６に４つの独立のＤＭＡチャネルを提供することができる。第１のＤＭＡチャネルは、ソース２０２からレシーバ２１２を経てメモリ２１６に受信されるデータを書き込むのに使用できる。第２のＤＭＡチャネルは、メモリ２１６からデータを読み出し、トランスミッタ２２０を経てアプリケーションデータの送り先２１０へと配信するために使用できる。第３のＤＭＡチャネルは、配信用メモリ２１６からストリーミングデータを読み出し、チャネル２０６を経てコンピュータ２０８へと配信するために使用できる。第４のＤＭＡチャネルは、コンピュータ２０８からチャネル２０６を経て受信されるストリーミングデータをメモリ２１６に書き込むために使用できる。
【００２５】
メモリ２１６はデュアルポートメモリとすることができ、ＤＭＡブロック２１８は一つのポートに接続し、ＦＰＧＡ２１４は、他のポートに接続される処理ブロック２２２を実現するようにプログラムされる。処理ブロック２２２は、処理されたデータがコンピュータ２０８に配信される前に、ソース２０２から受信されるストリーミングデータの処理を実行することができるとともに、処理ブロック２２２は、処理されたデータが送り先２１０に配信される前に、コンピュータ２０８から受信されるストリーミングデータの処理を実行することができる。したがって、ソース２０２からのストリーミングデータは、送り先２１０への配信前に、処理ブロック２２２、コンピュータ２０８及び再び処理ブロック２２２によって、３つの順次の処理動作を受けることができる。処理ブロック２２２によるこれらの処理動作のいずれかまたは両方とも、ストリーミングアプリケーションの仕様に従って、省略してもよい点に留意されたい。一実施例では、処理ブロック２２２は、プロセッサを含んでもよい。
【００２６】
一つの実施例においては、チャネル２０６は、サーバコンピュータ２０８につながれるＰＣＩ−Ｘカードである。ＰＣＩ−Ｘカード２０６は、他のＦＰＧＡ２２４を含み、このＦＯＧＡ２２４は、ライン２２６上のＰＣＩ−ＸバスのＰＣＩ−Ｘプロトコルと、ＦＰＧＡ２１４及びＦＰＧＡ２２４によってサポートされる低差分信号に基づくライン２２８上の独自仕様の通信プロトコルとの間のアダプタ機能を実現するようにプログラムされる。ＦＰＧＡ２２４のアダプタ機能は、ＰＣＩ−Ｘコア２３０、メモリマップドＤＭＡコントローラ２３２、Ｉ／Ｏ処理用のメモリマップドブリッジ２３４、メモリトランザクション用のメモリマップドブリッジ２３６、割込みコントローラ２３８及びチャネルコントローラ２３９を含む。ＰＣＩ−Ｘコア２３０は、ＰＣＩ−Ｘバスオンライン２２６用のＰＣＩ−Ｘプロトコルを実現してもよい。メモリマップドＤＭＡコントローラ２３２は、コンピュータ２０８によって制御して、メモリ２１６からバーストデータトランスファを読み出し、ストリーミングデータをＰＣＩ−Ｘコントローラ２４２を経てコンピュータ２０８のメモリ２４０に配信することができる。コンピュータ２０８は、ＰＣＩ−Ｘコントローラ２４２によってストリーミングデータをメモリ２１６にメモリマップドブリッジ２３６を経て送信させるバーストデータトランスファを発生することもできる。
【００２７】
プラットホーム２０４からのストリーミングデータは、メモリ２４０内のバッファに格納することができる。一つの実施例においては、ストリーミングデータをデータブロックに分割し、マルチプルバッファをこれらのデータブロックのために提供し、一つのバッファがプラットホーム２０４からブロックストリーミングデータを受信している間に、他のバッファをコンピュータ２０８のプロセッサ２４６で実行される処理機能部２４４によって同時に処理するとともに、ストリーミングデータのブロックを他のもう一つのバッファからプラットホーム２０４へ同時に送信することができる。もっと多数のバッファを用いれば、様々なデータ転送及びデータ処理機能をさらに分離することができる。
【００２８】
一つの実施例においては、処理機能部２４４に対する様々な設計オプションの評価の完了時に、処理機能部２４４の抽象的実現をＦＰＧＡ２１４において実現されるハードウェア仕様に翻訳することができるため、チャネル２０６及びコンピュータ２０８はもはやストリーミングアプリケーションを実行する必要はない。
【００２９】
図３につき説明すると、図３には、ストリーミングアプリケーションのリアルタイム抽象的モデリングを行う本発明によるプロセスの一例としてフローダイヤグラムが示されている。ストリーミングアプリケーションは、ソースからの処理されたストリーミングデータを送り先へ配信する。
【００３０】
ステップ３０２で、ハードウェアプラットフォームがアプリケーションデータソース（例えばビデオおよび／またはオーディオストリームのソース）からストリーミングデータを受信する。ステップ３０４で、ハードウェアプラットフォームがデータソースからのストリーミングデータの処理を任意に実行する。ステップ３０６で、ストリーミングデータがハードウェアプラットフォームから汎用コンピュータへ転送される。ハードウェアプラットフォームがステップ３０４でストリーミングデータの処理を実行する場合には、ステップ３０６で転送されるストリーミングデータは、ステップ３０４の処理後のストリーミングデータであり、さもなければ、ステップ３０６で転送されるストリーミングデータはステップ３０２でソースから受信されたデータである。
【００３１】
ステップ３０８で、汎用コンピュータ上のソフトウェアは、ステップ３０６で転送されてきたデータストリームから、処理されたデータストリームを生成する。ステップ３０８の処理に対する様々な設計オプションは、ソフトウェアを変更し再コンパイルすることによって抽象的レベルで急速に評価することができ、評価基準に従って特定の設計オプションを選択することができる。
【００３２】
ステップ３１０で、ステップ３０８で処理されたデータストリームが汎用コンピュータからハードウェアプラットフォームへ転送される。ステップ３１２で、ステップ３０８からの処理されたデータストリームがハードウェアプラットフォームによって任意に更に処理され、その結果がハードウェアプラットフォームからアプリケーションデータの送り先へ送信される。
【００３３】
したがって、様々な実施例を図および／または考察によって、ストリーミングデータアプリケーションの抽象的モデリングを含む本発明の模範実施例として説明した。本発明は、これらの特定の実施例に制限されるとみなすべきでない。様々な変更、等価なプロセス並びに本発明を適用できる多くの構造が本発明の範囲に含まれる。このような変更は、添付の特許請求の範囲に明確に記載されている発明の一部とみなすことができる。
【図面の簡単な説明】
【００３４】
【図１】図１は、本発明による、ストリーミングアプリケーションのリアルタイム抽象的モデリングシステムの一例のブロック図である。
【図２】図２は、本発明による、ストリーミングアプリケーションのリアルタイム抽象的モデリングシステムの他の例のブロック図である。
【図３】図３は、本発明による、ストリーミングアプリケーションのリアルタイム抽象的モデリングプロセスのフローダイヤグラムである。
【図１】
2008522314.tif 000003
【図２】
2008522314.tif 000004
【図３】
2008522314.tif 000005
【国際調査報告】
2008522314.tif 000006
2008522314.tif 000007
2008522314.tif 000008