(57)【要約】  ２つ以上の割り込み３０６、３０８をそれらの間にプログラム可能な遅延３０４を与えて発生させるための、オーディオビデオ（ＡＶ）再生チェーン及びレンダリング周辺装置３００に関する。プログラム可能な遅延は、２つのプロセッサ３１０、３１４が、それぞれの割り込みサービスルーチンにおいて、同じシステムリソースに競合してアクセスすることを妨げるように構成される。
2009521055.tif 000002
【特許請求の範囲】
【請求項１】
オーディオビデオ（ＡＶ）再生チェーンに用いるレンダリング周辺装置であって、
入力データストリームを処理するためのＡＶレンダラを具え、該ＡＶレンダラは、ＡＶレンダラ内で発生する所定のイベントにより生成される第１の割り込みサービス要求出力を第１のプロセッサに供給して、ＡＶレンダラに第１のタスクを与える第１の割り込みサービスルーチンを開始させ、第２の割り込みサービス要求出力を第２のプロセッサに供給し、ＡＶレンダラに第２のタスクを与える第２の割り込みサービスルーチンを開始させるように構成され、
更に、前記第１の割り込みサービス要求出力によってトリガされ、プログラムされたレジスタ値により決まる遅延後に前記第２の割り込みサービス要求を生成するように接続されたプログラム可能な遅延タイマを具える、
ことを特徴とするレンダリング周辺装置。
【請求項２】
前記プログラム可能な遅延タイマは、前記プログラムされたレジスタ値を使用して、周辺装置のクロックをカウントダウンする、
ことを特徴とする請求項１に記載のレンダリング周辺装置。
【請求項３】
前記プログラム可能な遅延タイマは、前記プログラムされたレジスタ値を使用して、ＡＶデータバッファのバイトをカウントダウンする、
ことを特徴とする請求項１に記載のレンダリング周辺装置。
【請求項４】
少なくとも２つのプロセッサコアを有するシステムオンチップ（ＳｏＣ）におけるのＡＶレンダリングの方法であって、
第１の割り込みサービス要求をＡＶレンダラ内で発生する所定のイベントにより生成させ、第１プロセッサに供給して、ＡＶレンダラに第１のタスクを与える第１割り込みサービスルーチンを開始させ、
第２の割り込みサービスルーチンを開始させ、ＡＶレンダラに第２のタスクを与える第２の割り込みサービス要求を第２のプロセッサに供給するタイミングをプログラムされたレジスタ値により決まる遅延後に制御し、競合状態が抑制及び制限されることを特徴とする方法。
【請求項５】
請求項４に記載の方法であって、
チューニング、復号化、後処理、及びレンダリングの各タスクを、前記第１及び第２のプロセッサの間で分割することを特徴とする方法。
【請求項６】
請求項４に記載の方法であって、
前記第１及び第２のプロセッサからメモリへのアクセスが、ＭＭＩＯレジスタ構造を介して、交互交代となるようにタイミング制御されることを特徴とする方法。
【請求項７】
システムオンチップ（ＳｏＣ）であって、
第１割り込みサービスルーチンの実行のための第１コアプロセッサと、
第２の割り込み処理ルーチンの実行のための第２コアプロセッサと、
第１の割り込みサービス要求をＡＶレンダラ内で発生する所定のイベントにより生成し、第１のプロセッサに供給し、前記ＡＶレンダラに第１のタスクを与える前記第１の割り込みサービスルーチンの実行を開始させ、第２の割り込みサービス要求を第２プロセッサに供給し、前記ＡＶレンダラに第２のタスクを与える前記第２の割り込みサービスルーチンの実行を、レジスタ値より決まる遅延の後に開始するように、前記第１及び第２コアプロセッサを管理するＡＶレンダリング周辺装置と、
を具えることを特徴とするシステムオンチップ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オーディオビデオ（ＡＶ）再生チェーン及びレンダリング周辺装置に関連し、更に具体的には、２つ以上の割り込みをそれらの間にプログラム可能な遅延を与えて発生させて、２つのプロセッサがそれぞれの割り込みサービスルーチンにおいて同じリソースに競合してアクセスするのを防止する方法及び回路に関連する。
【背景技術】
【０００２】
サーノフ社（プリンストン、NJ）のＤＶＤオーディオビデオデコーダは、非スクランブルのＤＶＤストリーム、ＭＰＥＧ−１システムストリーム、又はＭＰＥＧ−２プログラムストリームに対応し、オーディオ及びビデオペイロードを復号化し、復号化されたオーディオ及びビデオ出力を、ホストソフトウェアの介入を必要とすることなく、自動同期させる。また、オーディオ及びビデオＰＥＳパケットのシーケンスにも対応しており、外部ディジタル放送システム（ＤＢＳ）のトランスポートストリームデマルチプレクサと共に用いられる。システムプロセッサは、最低４メガバイトの外部ＳＤＲＡＭで作動するように設計されている。このプロセッサは、６４MBits/secの入力データレート及び１５MBits/secのビデオビットレートをサポートする。ホストは、デコーダをリセットし所望のオーディオ及びビデオのオプションを設定することによって、デコーダを初期化する。動作中に、デコーダは割り込みを発生して、ビデオユーザデータ、オーディオ補助データ若しくはシステムレベルのＰＳＩデータがＳＤＲＡＭからの検索に利用できること、特定のデータバッファが空又はフルであること、又は、ビットストリームエラーが検出されたことをホストに通知する。ホストは割り込みステータス・レジスタを読み込み、各割り込みの性質を決定する。
【０００３】
オーディオビデオ（ＡＶ）再生チェーンは、しばしば分割され、複数のプロセッサによって処理される。従って、周辺装置が周期的な割り込みを発生して、全てのプロセッサが周辺装置にアクセス可能にすることが重要である。レンダラ周辺装置へのこのようなアクセスが、共通のメモリマップド入出力（ＭＭＩＯ）レジスタを介する場合、レンダラ周辺装置を直接制御するプロセッサへのレンダラ周辺装置のアクセスは、他のプロセッサと交互又は交代にして競合状態や機能停止を避けるべきである。
【０００４】
従来の回路及び方法は、ＡＶレンダラ周辺機器から、１つのハードワイヤード（固定シーケンスの）割り込み出力を発生するだけである。それぞれの割り込みサービスルーチン（ＩＳＲ）ソフトウェアによって割り込みを処理する各プロセッサは、単独の割り込みに対して互いに競合することがあった。ハードワイヤード割り込みによってＡＶレンダリング周辺機器の要求処理がトリガされないプロセッサでさえ、競合状態や、機能停止の原因となるコリジョン状態になることがある。
【発明の開示】
【０００５】
これまでに必要とされ、また、達成されていなかったものは、多数の割り込みラインを発生して１つ以上の独立したプロセッサを非同時的に活用することができるＡＶレンダリング周辺装置である。
【０００６】
本発明は、多数の割り込み出力を有するオーディオビデオレンダラ周辺装置のための回路を提供する。
【０００７】
簡潔には、本発明の回路実施例は、２つのプロセッサ割り込み出力を有するオーディオビデオレンダラ周辺装置を備える。ハートビート割り込み出力が第１の割り込み出力であり、第２の割り込み出力は可変の時間遅延で第１のハートビート割り込みに続くようにプログラムすることができる。
【０００８】
本発明の利点は、多数のプロセッサが、オーディオビデオレンダラ周辺装置に対するそれぞれの処理デッドラインを満足するようにする回路及び方法が提供されることにある。
【０００９】
本発明の他の利点は、オーディオビデオレンダラ周辺装置への直接アクセスを持たないプロセッサによって、バーチャルレンダラをソフトウェアで実現できる回路及び方法が提供されることにある。
【００１０】
本発明の更に他の利点は、レンダラクロックがレジスタを介してアクセス可能であるとき、タイムスタンプ変換スキームを用いてプレゼンテーションタイムスタンプをソースクロックドメインからレンダラクロックドメインに変換することができることにある。
【００１１】
本発明のこれら及び他の目的及び利点は、以下に続く、様々な図面に示された、好ましい実施例の詳細な説明を読むことによって、当業者に明らかになることは確実である。
【発明を実施するための最良の形態】
【００１２】
図１は、本発明のオーディオビデオ（ＡＶ）再生チェーンの実施例のデータフローを示し、ここでは、全体が符号１００で参照される。ＡＶ再生チェーン１００は、チューナ１０４によって選択されるＡＶソース１０２を具える。チューナ１０４はデータストリームをメモリ１０６に記憶する。ストリームデコーダ１０８は、元のデータを復号し、復号したデータをメモリ１０６に記憶する。ＡＶポストプロセッサ１１０は、復号データを処理して、その出力をメモリ１０６に記憶する。ＡＶレンダラ１１２は、ユーザにＡＶプレゼンテーション１１４を出力する。
【００１３】
フィリップスのトライメディア・ストリーミング・ソフトウェア・アーキテクチャ（ＴＳＳＡ）は、図１に類似した実施の一例である。テレビ受信機用のオーディオシステムは、ＴＳＳＡ内に構築されており、ストリーミングマルチメディアデータに最適化されている。ソフトウェアモジュールは、チューナ１０４、ストリームデコーダ１０８、ＡＶポストプロセッサ１１０及びＡＶレンダラ１１２に代表される。インタフェースが構成要素の間で明確に定義されているので、これらのソフトウェアモジュールは独立して開発することができる。プログラマは、さまざまなモジュールを共通の方法で接続して統合することができる。多くのＴＳＳＡのコンポネントは市販されており、完全なＡＴＳＣ（Advanced Television System Committee）受信機を構築することができる。ＴＳＳＡは、データ駆動設計を使用している。リアルタイムオペレーティングシステム（ＲＴＯＳ）は、システムを、割り込みによって渡されるキュー、ポインタ及びセマフォを用いて通信する独立したタスクに分割することを可能にする基盤を提供する。所与のタスクは、データが利用可能となるまでスリープし、データを処理し、送信し、再びスリープする。タスク間の接続は、オペレーティングシステムのキュー構造を用いて実施される。それぞれの接続は一対のキューにより構成され、一方のキューはデータがフルのパケットを有しており、他方はデータが空のパケットを有する。空のパケットは、関連するデータメモリが再使用可能であることを送信機に通知する。この一対のキューにおいて循環するパケットの数が、２つのタスク間のバッファリングの量を決定する。データはタスク間でパケット単位で渡され、パケットはアーキテクチャで定義された標準構造を使用している。パケットは参照渡しされ、従って、データは不必要にコピーされない。パケットは、また、同期を促進するために、タイムスタンプすることもできる。これらのデータパケットは、オーディオ、ビデオ及び他のデータを渡すことができる。
【００１４】
プロセッサ及びＡＶレンダラ周辺機器間のインタラクションの大部分は、レンダラのハートビート割り込み処理ルーチン（ＩＳＲ）に関係して発生する。ハートビートの周期的割り込みは、通常、ＡＶデータバッファのレンダリングの完了を知らせる。この割り込みは、ＡＶレンダラへの次のデータ転送及び次のデータ処理アップストリームをトリガする。２台又はそれ以上のプロセッサが同じＡＶレンダラ割込ラインに接続されている場合、競合及び一時的な実行ロックが発生し得る。
【００１５】
本発明の実施例は、ＡＶレンダラ周辺機器から少なくとも１つの第２の割込ラインを提供するものである。一例では、第２の割り込み出力は、第１のハートビート割り込みに対して所定のプログラム可能な時間間隔だけスキューさせる。
【００１６】
図２は、本発明のシステムオンチップ（ＳｏＣ）実施例を示し、ここでは全体が符号２００で参照される。ＳｏＣ２００は、少なくとも２台のコアプロセッサ（プロセッサ１）２０２及び（プロセッサ２）２０４を使用し、オーディオビデオ（ＡＶ）再生チェーンを実行する。プロセッサ１（２０２）は、チューナ２０６、ストリームデコーダ２０８及びバーチャルＡＶレンダラ２１０を含む。プロセッサ２（２０４）は、ＡＶポストプロセッサ２１２及びＡＶレンダラ２１４を有する。
【００１７】
ＡＶ再生システムにおいて、レンダリングハートビートと等しい一定間隔で、共有メモリを介してプロセッサ間でデータを転送することは一般的である。同時に、データ転送自体は、ソフトウェアによるさらなる処理がレンダリングよりも前に完了できるように、レンダラの割り込みに関して交互又は交代にしなければならない。レンダラクロックドメインがデコーダクロックドメインとは別の場合、ストリームデコーダからのプレゼンテーションタイムスタンプ（ＰＴＳ）の値をレンダラに対応するＰＴＳ値に変換しなければならない。ＰＴＳ変換処理は、典型的には、レンダラクロックへのアクセスを必要とする。
【００１８】
例えば、ＳｏＣ２００は、フィリップス社（アムステルダム、オランダ）のＮｅｘｐｅｒｉａ（登録商標）ＰＮＸ８５５０家庭用娯楽機器エンジンのようなシステムオンチップの一部でも良い。こような、高集積ＳｏＣは、制御処理装置、２台のプログラマブルメディアプロセッサ、高解像度ビデオデコーダ、スケーラ、レンダラ及び他の多数のオンチップ機能を組み込んでいる。ＳｏＣはアナログ及びディジタルＴＶ放送の標準、デインターレース及び他の画像改善機能、及び、マルチフォーマット・オーディオ/ビデオ復号化及びレンダリングならびにその他の先進的な特性をサポートする。フィリップスＳｏＣに基づくＴＶは、ディジタル写真、ＭＰＥＧ−４及びＤＶビデオクリップをフラッシュメモリ・カード又はメモリースティックから直接復号化して、表示することができる。例えば、専用のＭＰＥＧ−２デコーダは、同時に２つまでの高解像度プログラムストリームを処理して、スクリーン上に、例えば、ピクチャ・イン・ピクチャ又はサイド・バイ・サイドで表示することができる。又は、それらは、高解像度ビデオプログラムを標準画質レコーダにおける録画のための変換に用いることもできる。
【００１９】
プロセッサ及びＡＶレンダラ周辺機器間のインタラクションの大部分は一般にレンダラハートビートＩＳＲ（割り込みサービスルーチン）と称される信号と関連して発生する。ハートビートの周期的な割り込みは、ＡＶデータバッファのレンダリングの終了を知らせ、これによりＡＶレンダラへの更なるデータ転送、従って更なるデータ処理アップストリームをトリガする。しかし、２台以上のプロセッサがＡＶレンダラ割込ラインに接続している場合、既に言及した問題が生ずる。
【００２０】
図３は、本発明のＡＶレンダリングシステムの実施例を表し、ここでは、全体が符号３００で参照される。システム３００は、プログラム可能な割り込み遅延タイマ３０４を有するＡＶレンダラ周辺機器３０２を備えている。プログラム可能な割り込み遅延タイマ３０４の内部のレジスタは、例えば、クロックチック又はＡＶデータバッファに残存するデータバイトをカウントするために用いることができる。
【００２１】
第１の割り込み要求（ＩＲＱ−１）３０６がプログラム可能な割り込み遅延タイマ３０４をトリガして第２の割り込み要求（ＩＲＱ−２）３０８を発生させる。これにより、第１のコアプロセッサ３１０が第１の割り込みサービスルーチン（ＩＳＲ−１）のアクセス３１２を実行することができる。一定の時間後に、第２のコアプロセッサ３１４がＩＲＱ−２（３０８）によりトリガされて第２の割り込みサービスルーチン（ＩＳＲ−２）のアクセス３１６を発生する。これらのアクセスの全て及びＡＶデータ周辺装置の直接アクセス３１８は、メモリマップド入出力（ＭＭＩＯ）レジスタ３２０を通らなくてはならない。外部メモリ３２２（例えばＳＤＲＡＭ）は、ビデオプログラム及びオーディオプログラムの外部記憶装置である。
【００２２】
図４は、ＡＶレンダリングシステム３００の特別な構造が、いかにして競合や機能停止の回避に役立つかを示す。ストリーム復号化がＩＳＲ−１アクセス３１２においてプロセッサ１（３１０）で行われるように割り当てられ、後処理及びレンダリングがＩＳＲ−２アクセス３１６においてプロセッサ２（３１４）で行われるように割り当てられている場合、図４はこれらのアクセスがＭＭＩＯレジスタ３２０を介してどのようにインターリーブされるかを示す。第１のＩＳＲ−１（４０１）がＩＲＱ−１によってトリガされる。ＩＳＲ−１（４０１）の実行に十分な時間を経た後に、プログラム可能な遅延タイマ３０４がＩＲＱ−２を出す。このとき、ＩＳＲ−２が４０２、４０４を開始する。すると、ＡＶレンダラ周辺機器が次のＩＲＱ−１を出し、インタレースされたＩＳＲアクセス（４０３、４０５）が続く。
【００２３】
ＩＲＱ−１（３０６）は、プロセッサ１（３１０）に、ＡＶデータバッファの一部分が現在レンダリングされていて使用中であることを知らせるために用いることができる。ＩＲＱ−２は、プロセッサ２（３１４）に、ＡＶデータバッファが完全に空なったことを知らせるために用いることができる。これは、ＩＲＱ−１の割り込みが、適切な間隔でＩＲＱ−２を導くことを意味する。このような間隔は、クロックチック又はバッファ内の空バイトに関して、例えば、ＡＶレンダラ周辺装置のレジスタ設定によってプログラム可能である。
【００２４】
本発明の実施例は、異なるプロセッサで実行されるソフトウェアモジュールを有する、埋め込み型オーディオビデオ再生チェーンのＳｏＣ実施を単純化する。例えば、オーディオ／ビデオストリームの復号化処理及びエフェクト処理は、２台のコアプロセッサの間で分割することができる。本発明は、オーディオレンダリングハードウェア及びビデオレンダリングハードウェアの両方に有益である。
【００２５】
本発明の好ましい実施形態について記載してきたが、本開示が本発明を制限するものとして解釈されるべきではないことは理解されたい。さまざまな変更及び修正が、上記の開示を読んだ当業者によって可能である事は明らかである。従って、添付の特許請求の範囲は、本発明の真の精神及び範囲内におけるあらゆる変形及び修正を包含するものとして解釈されたい。
【図面の簡単な説明】
【００２６】
【図１】本発明による、オーディオビデオ再生チェーンの実施形態の機能的ブロック図を示す。
【図２】ＡＶ復号化及びレンダリングのために二分された２台のコアプロセッサを有するシステムオンチップ実現例の機能的ブロック図を示す。
【図３】本発明のＡＶレンダリングシステムの実施形態の機能的ブロック図を示す。
【図４】ＩＳＲ−１、ＩＳＲ−２、ＩＲＱ−１及びＩＲＱ−２間の相対的なタイミングを示す図であり、ＭＭＩＯにおけるコリジョンによる競合及び機能停止がメモリアクセスをインタレースさせることによってどのように回避されるかを示している。
【図１】
2009521055.tif 000003
【図２】
2009521055.tif 000004
【図３】
2009521055.tif 000005
【図４】
2009521055.tif 000006
【国際調査報告】
2009521055.tif 000007
2009521055.tif 000008