(57)【特許請求の範囲】
【請求項１】
複数のタイムスロットからなる処理の単位である１周期を有するメディア処理を行うメディア処理ブロックと、
前記メディア処理ブロックの制御を行うマイコンブロックとを備え、
前記メディア処理ブロックは、物理プロセッサを備え、
前記物理プロセッサは、複数の仮想プロセッサを備え、
前記マイコンブロックはＣＰＵを備え、
前記複数の仮想プロセッサのそれぞれを前記複数のタイムスロットのそれぞれに割り当て、割り当てる性能をクロックサイクル数として定義し、ハードウェア制御により定義されたクロックサイクル数を実行した前記複数のタイムスロットを切り替えることにより、前記複数の仮想プロセッサにメディア処理ブロックの処理能力を分割し、
前記ＣＰＵは、リアルタイム性を保証する必要がない非リアルタイム処理を行い、
前記複数の仮想プロセッサのうち少なくとも１つを非リアルタイム処理に割り当てることで、前記マイコンブロックの処理能力以上の処理能力を、非リアルタイム処理に割り当てる
ことを特徴とするメディア処理装置。
【請求項２】
前記マイコンブロックは、マルチプロセッサに対応したＯＳを搭載し、システム全体の制御を行い、
前記メディア処理は、複数の処理を含み、
前記各仮想プロセッサは、割り当てられた前記各処理を行い、
前記各仮想プロセッサには、前記割り当てられた各処理に必要な処理能力に応じてタイムスロットが割り当てられる
ことを特徴とする請求項１記載のメディア処理装置。
【請求項３】
前記マイコンブロックは、複数のＣＰＵを備え、
前記各ＣＰＵは、非リアルタイム処理を行う
ことを特徴とする請求項１又は２記載のメディア処理装置。
【請求項４】
前記複数の仮想プロセッサのうち非リアルタイム処理に割り当てられた仮想プロセッサ以外の仮想プロセッサは、リアルタイム性を保証する必要がある処理を行う
ことを特徴とする請求項１〜３記載のうちいずれか一つのメディア処理装置。
【請求項５】
前記メディア処理ブロックは、複数の物理プロセッサを備え、
各物理プロセッサは、ハードウェア制御により時分割で性能分割された複数の仮想プロセッサを備える
ことを特徴とする請求項１〜４記載のうちいずれか一つのメディア処理装置。
【請求項６】
前記各物理プロセッサは、同一の機能記述、同一のネットリストおよび同一形状のレイアウトマスクのうち少なくとも一つを用い形成される
ことを特徴とする請求項５記載のメディア処理装置。
【請求項７】
前記メディア処理は、映像ストリームまたは音声ストリームの圧縮または伸張のうち少なくとも一つを含む
ことを特徴とする請求項１〜６記載のうちいずれか一つのメディア処理装置。
【請求項８】
前記メディア処理装置は、一つの半導体基板上に形成される
ことを特徴とする請求項１〜７記載のうちいずれか一つのメディア処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メディア処理装置に関し、特に複数のプロセッサによりメディア処理を行うメディア処理装置に関する。
【背景技術】
【０００２】
従来、映像および音声信号等のメディア信号の処理をおこなうメディア処理装置として、複数のＣＰＵに各タスクを割り当て、メディア処理を行う方法が知られている。図７は、従来のメディア処理装置の構成を示すブロック図である。従来のメディア処理装置は、マイコンブロック１０１とデータ入出力部１０２とを備える。マイコンブロック１０１は、複数のＣＰＵ１０３ａ、１０３ｂおよび１０３ｃを備える。各ＣＰＵ１０３（ＣＰＵ１０３ａ、１０３ｂおよび１０３ｃを特に区別しない場合にはＣＰＵ１０３と表す。）は、割り当てられたタスクを処理する。データ入出力部１０２は、外部とのメディア信号の受け渡しを行う。また、マイコンブロック１０１と、データ入出力部１０２とはバスライン１０４を介し、信号の受け渡しを行う。
【０００３】
従来のメディア処理装置では、各ＣＰＵ１０３の処理能力は固定であるため、各ＣＰＵ１０３は割り当てられたタスクに対し余分な処理能力を有することになる。また、各ＣＰＵ１０３の個数は、ハードウェアにより決定されるので、タスクを割り当てるＣＰＵ１０３の個数も固定である。例えば、マイコンブロック１０１が３個のＣＰＵ１０３ａ、１０３ｂおよび１０３ｃを備える場合、当然ながら、複数のタスクを３個以内のＣＰＵに割り当てなくてはならない。これにより、従来のメディア処理装置は、各ＣＰＵ１０３の処理能力に対し、最適なタスクを割り当てることが困難である。また、ソフトウェアによる各ＣＰＵ１０３に対するタスクの割り当ても複雑な制御が必要となる。
【０００４】
これらにより、従来のメディア処理装置は、要求される時間内に、メディア処理を行わなければならない場合、要求された時間内にメディア処理が終了しないことがある。すなわち、従来のメディア処理装置は、ＡＶ機器における映像ストリームまたは音声ストリームの圧縮または伸張等のリアルタイム性が要求される処理において、性能保証が困難となる。
【０００５】
これらに対し、複数の仮想的なプロセッサにタスクを割り当てる方法が知られている（例えば、特許文献１参照。）。
【０００６】
特許文献１記載のメディア処理装置は、複数のタスクを複数の仮想プロセッサに割り当て、メディア処理を行う。これにより、特許文献１記載のメディア処理装置は、各タスクに対し、最適な処理能力を持つ仮想プロセッサを割り当て、処理を行うことができる。
【０００７】
また、特許文献１記載のメディア処理装置の各仮想プロセッサによるメディア処理は、１周期を複数のタイムスロットに分割し、各タイムスロットを各仮想プロセッサに割り当てることで行われる。特許文献１記載のメディア処理装置は、このタイムスロットを管理することで、各仮想プロセッサが実行する処理の負荷バランスを保つことができる。すなわち、各仮想プロセッサに割り当てられたタスクに要する処理時間に応じたタイムスロットを、各仮想プロセッサに割り当てることで、容易にタスクの割り当てを制御することができる。これにより、リアルタイム性が要求される処理において、容易に性能保証を行うことができる。
【特許文献１】特開２００３−２７１３９９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
一般のメディア処理において、リアルタイム性が要求される処理と、リアルタイム性が要求されない処理とが混在する。例えば、ユーザによる画面操作等の不定期に発生する単発の処理では、リアルタイム性は要求されない。このように一般のメディア処理においては、リアルタイム性が要求される処理に加え、リアルタイム性が要求されない単発の処理が発生するので、プロセッサの処理能力が十分に高くなければなない。すなわち、従来のメディア処理装置では、プロセッサの処理能力を十分に高くしておかなければ、リアルタイム性が要求される処理の性能保証をすることが困難である。プロセッサの処理能力を十分に高くしておくには、コストがかかるという問題がある。よって、従来のメディア処理装置は、リアルタイム性が要求される処理と、リアルタイム性が要求されない処理とが混在する処理に対し、コストをかけずに最適な処理を行うことができない。すなわち、従来のメディア処理装置は、処理の性質の異なる処理に対し、コストをかけずに性能保証をするという最適な処理を行うことが困難であるという問題がある。
【０００９】
そこで、本発明は、処理の性質の異なる処理に対し、コストをかけずに性能保証をするという最適な処理を行うメディア処理装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するために、本発明に係るメディア処理装置は、メディア処理を行うメディア処理手段と、前記メディア処理手段の制御を行う制御手段とを備え、前記メディア処理手段は、物理プロセッサをハードウェア制御により時分割で性能分割された複数の仮想プロセッサを備え、前記制御手段は、複数のＣＰＵを備える。
【００１１】
これにより、本発明におけるメディア処理装置は、メディア処理手段で、複数の仮想プロセッサを用いメディア処理を行う。また、複数の仮想プロセッサは、メディア処理に必要な処理能力に応じ、ハードウェア制御により時分割で性能分割されている。また、制御手段は複数のＣＰＵを有する。これにより、リアルタイム性が要求されない単発の処理をＣＰＵが行うことで、メディア処理手段は、リアルタイム性が要求されない単発の処理を行う必要がない。よって、メディア処理手段は、メディア処理に必要な処理能力以上の高い処理能力を有さなくともよい。すなわち、メディア処理装置のコストを削減することができる。よって、本発明におけるメディア処理装置は、処理の性質の異なる処理に対し、コストをかけずに性能保証するという最適な処理を行うことができる。
【００１２】
また、前記制御手段は、マルチプロセッサに対応したＯＳを搭載し、システム全体の制御を行い、前記メディア処理は、複数の処理を含み、前記各仮想プロセッサは、割り当てられた前記各処理を行い、前記各仮想プロセッサには、前記割り当てられた各処理に必要な処理能力に応じてタイムスロットが割り当てられてもよい。
【００１３】
これにより、本発明におけるメディア処理装置は、制御手段がシステム全体の制御を行うので、メディア処理装置の制御を容易に行うことができる。また、各仮想プロセッサには、メディア処理に含まれる複数の処理が割り当てられ、各仮想プロセッサは、割り当てられた処理を行う。また、各仮想プロセッサによるメディア処理は、１周期を複数のタイムスロットに分割し、各タイムスロットを各仮想プロセッサに割り当てることで行われる。メディア処理装置は、このタイムスロットを管理することで、仮想的な各プロセッサが実行する処理の負荷バランスを保つことができる。すなわち、リアルタイム性が要求される処理において、容易に性能保証を行うことができる。
【００１４】
また、前記各ＣＰＵは、リアルタイム性を保証する必要がない処理を行ってもよい。
これにより、本発明におけるメディア処理装置は、制御手段が有する複数のＣＰＵが、割り当てられたリアルタイム性を保証する必要がない処理を行う。これにより、メディア処理手段は、リアルタイム性が要求されない単発の処理を行う必要がない。よって、メディア処理手段は、メディア処理に必要な処理能力以上の高い処理能力を有さなくともよい。すなわち、メディア処理装置のコストを削減することができる。
【００１５】
また、前記各仮想プロセッサは、リアルタイム性を保証する必要がある前記各処理を行ってもよい。
【００１６】
これにより、本発明におけるメディア処理装置は、複数の仮想プロセッサが、割り当てられたリアルタイム性を保証する必要がある処理を行う。これにより、リアルタイム性を保証する必要がある処理に対し、容易に性能保証することができる。よって、本発明におけるメディア処理装置は、リアルタイムの処理が要求される処理と、リアルタイムの処理が要求されない処理とが混在する処理に対し、コストをかけずに性能保証するという最適な処理を行うことができる。
【００１７】
また、前記各ＣＰＵが行う前記各処理は、前記ＯＳによって管理されてもよい。
これにより、本発明におけるメディア処理装置は、複数のＣＰＵが行う処理を、容易に制御することができる。
【００１８】
また、前記メディア処理手段は、複数の物理プロセッサを備え、各物理プロセッサは、ハードウェア制御により時分割で性能分割された複数の仮想プロセッサを備えてもよい。
【００１９】
これにより、本発明におけるメディア処理装置の設計段階において、メディア処理手段の物理プロセッサの個数を変更することで、容易にメディア処理手段の処理能力を変更することができる。
【００２０】
また、前記各仮想プロセッサは、任意の物理プロセッサに対応してもよい。
これにより、本発明におけるメディア処理装置は、メディア処理手段の物理プロセッサの個数を変更しても、容易に割り当て制御を行うことができる。また、メディア処理において、メディア処理手段の複数の物理プロセッサの処理能力を有効に使用することができる。
【００２１】
また、前記各物理プロセッサは、同一の機能記述、同一のネットリストおよび同一形状のレイアウトマスクのうち少なくとも一つを用い形成されてもよい。
【００２２】
これにより、メディア処理手段の有する物理プロセッサをＩＰコアとして設計に用いることができる。これにより、設計段階において、容易にメディア処理手段の有する物理プロセッサの個数を変更することができる。よって、設計段階において、メディア処理手段の処理能力を要求に応じスケーラブルに変更することができる。
【００２３】
また、前記各ＣＰＵは、同一の機能記述、同一のネットリストおよび同一形状のレイアウトマスクのうち少なくとも一つを用い形成されてもよい。
【００２４】
これにより、制御手段の有するＣＰＵをＩＰコアとして設計に用いることができる。これにより、設計段階において、容易に制御手段の有するＣＰＵの個数を変更することができる。よって、設計段階において、制御手段の処理能力を要求に応じスケーラブルに変更することができる。
【００２５】
また、前記メディア処理は、映像ストリームまたは音声ストリームの圧縮または伸張のうち少なくとも一つを含んでもよい。
【００２６】
これにより、本発明におけるメディア処理装置は、映像ストリームまたは音声ストリームの圧縮または伸張のうち少なくとも一つを含む処理を、メディア処理手段では、複数の仮想プロセッサを用い処理を行う。また、制御手段は複数のＣＰＵを有する。これにより、リアルタイム性が要求されない単発の処理をＣＰＵが行うことで、メディア処理手段は、リアルタイム性が要求されない単発の処理を行う必要がない。よって、メディア処理手段は、メディア処理に必要な処理能力以上の高い処理能力を有さなくともよい。すなわち、メディア処理装置のコストを削減することができる。よって、映像ストリームまたは音声ストリームの圧縮または伸張のうち少なくとも一つを含む処理を、メディア処理手段の処理能力に対し、コストをかけずに性能保証するという最適な処理を行うことができる。よって、本発明におけるメディア処理装置は、映像ストリームまたは音声ストリームの圧縮または伸張のうち少なくとも一つを含み、処理の性質の異なる処理を含む処理を最適に処理することができる。
【００２７】
また、前記メディア処理装置は、一つの半導体基板上に形成されてもよい。
これにより、本発明におけるメディア処理装置は、システムＬＳＩとして形成することができる。
【発明の効果】
【００２８】
本発明は、処理の性質の異なる処理に対し、コストをかけずに性能保証するという最適な処理を行うメディア処理装置を提供することができる。
【発明を実施するための最良の形態】
【００２９】
以下、本発明に係るメディア処理装置の実施の形態について、図面を参照しながら詳細に説明する。
【００３０】
（実施の形態１）
本実施の形態におけるメディア処理装置は、リアルタイム性の要求される処理（以下、「リアルタイム処理」と呼ぶ。）を、メディア処理ブロックが有するプロセッサをハードウェア制御により時分割で性能分割された複数の仮想プロセッサが処理する。また、リアルタイム性の要求されない処理（以下、「非リアルタイム処理」と呼ぶ。）を、マイコンブロックが有する複数のＣＰＵが処理する。これにより、本実施の形態におけるメディア処理装置は、リアルタイム処理および非リアルタイム処理を、コストをかけずに性能保証するという最適な処理を行うことができる。
【００３１】
図１は、本実施の形態におけるメディア処理装置の構成を示すブロック図である。
図１に示すメディア処理装置は、映像信号または音声信号等のメディア信号のメディア処理を行う半導体基板上に形成された１チップのシステムＬＳＩであり、マイコンブロック１と、メディア処理ブロック２と、ストリームＩ／Ｏブロック３と、ＡＶＩ／Ｏ（Ａｕｄｉｏ  Ｖｉｓｕａｌ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ）ブロック４と、メモリ制御ブロック５とを備える。
【００３２】
マイコンブロック１は、複数のＣＰＵ６ａ、６ｂおよび６ｃを備える（複数のＣＰＵ６ａ、６ｂおよび６ｃを特に区別しない場合は、ＣＰＵ６と表す。）。マイコンブロック１は、マルチプロセッサに対応したＯＳを搭載し、メディア処理装置全体の制御を行う。すなわち、マイコンブロック１は、制御バス９ａを介し、メディア処理ブロック２におけるメディア処理の始動および停止を制御する。また、マイコンブロック１は、ストリームＩ／Ｏブロック３、ＡＶＩ／Ｏブロック４およびメモリ制御ブロック５の信号の入出力の制御を行う。
【００３３】
各ＣＰＵ６は、割り当てられた処理を行う。また、各ＣＰＵ６の処理は、マルチプロセッサに対応したＯＳにより管理される。例えば、本メディア処理装置がＤＶＤレコーダ等のＡＶ機器に実装される場合、各ＣＰＵに割り当てられる処理は、ユーザによる操作等に基づくメニュー表示や、録画や再生に関するユーザ操作（開始、終了、一時停止、早送り再生および逆戻し再生等）に基づく、メディア処理ブロック２へのリアルタイムタスクの起動処理、終了処理、一時停止処理等の非リアルタイム処理である。
【００３４】
メディア処理ブロック２は、プロセッサブロック７を備え、マイコンブロック１の制御の下で、圧縮画像音声ストリーム等の画像音声データの圧縮または伸張等のリアルタイム処理を行う。リアルタイム処理は、例えば音声の圧縮処理、音声の伸張処理、動画像の圧縮処理、動画像の伸張処理、テレビ電話処理等である。
【００３５】
プロセッサブロック７は、複数の仮想プロセッサ８ａおよび８ｂを備える（複数の仮想プロセッサ８ａおよび８ｂを特に区別しない場合は、仮想プロセッサ８と表す。）。
【００３６】
仮想プロセッサ８は、プロセッサブロック７の有する物理プロセッサを、ハードウェア制御により時分割で性能分割された仮想的なプロセッサである。仮想プロセッサ８は、割り当てられたメディア処理を行う。なお、各仮想プロセッサ８に割り当てられるメディア処理は、リアルタイム処理である。
【００３７】
ストリームＩ／Ｏブロック３は、外部より入力されたストリーム信号を、データバス９ｂを介し、メモリ制御ブロック５に送る。ここで、ストリーム信号は、例えば、圧縮画像音声ストリーム等である。ストリームＩ／Ｏブロック３には、蓄積メディアまたはネットワーク等の周辺デバイスが接続される。また、ストリームＩ／Ｏブロック３は、データバス９ｂを介し、メモリ制御ブロック５からストリーム信号を受け取り、外部に出力する。
【００３８】
ＡＶＩ／Ｏブロック４は、外部より入力された画像信号または音声信号等のメディア信号の処理を行う。ＡＶＩ／Ｏブロック４は、処理したメディア信号を、データバス９ｃを介し、メモリ制御ブロック５に送る。また、ＡＶＩ／Ｏブロック４は、データバス９ｃを介し、メモリ制御ブロック５からメディア信号を受け取り、処理を行う。ＡＶＩ／Ｏブロック４は、処理した信号を外部に出力する。なお、ＡＶＩ／Ｏブロック４で行われる処理は、Ａ／Ｄ変換、Ｄ／Ａ変換またはデータのフォーマット変換等のメディア信号の処理である。また、ＡＶＩ／Ｏブロック４には、表示装置またはスピーカ等が接続される。
【００３９】
メモリ制御ブロック５は、メディア処理装置と、メディア処理装置の外部に接続された外部メモリとの、データの受け渡しを行う。メモリ制御ブロック５は、ストリームＩ／Ｏブロック３またはＡＶＩ／Ｏブロック４を介し外部より入力されたストリーム信号またはメディア信号を外部メモリに格納する。また、メモリ制御ブロック５は、メディア処理ブロック２によりメディア処理された信号を外部メモリに格納する。すなわち、メモリ制御ブロック５は、メディア処理ブロック２によりメディア処理された信号を、データバス９ｅを介して、受け取り外部メモリに格納する。ストリームＩ／Ｏブロック３に入力された信号を、データバス９ｂを介して、受け取り外部メモリに格納する。ＡＶＩ／Ｏブロック４に入力された信号を、データバス９ｃを介して、受け取り外部メモリに格納する。また、メモリ制御ブロック５は、外部メモリが格納している信号を読み出し、マイコンブロック１、メディア処理ブロック２、ストリームＩ／Ｏブロック３およびＡＶＩ／Ｏブロック４に出力する。
【００４０】
図２は、メディア処理装置に接続される外部メモリに格納されているタスクの構成を模式的に示す図である。
【００４１】
図２に示す外部メモリ２１は、リアルタイム性が要求されるタスクであるリアルタイムタスク群２２と、リアルタイム性が要求されないタスクである非リアルタイムタスク群２３とを格納する。リアルタイムタスク群２２の各リアルタイムタスクは、メディア処理ブロック２における任意の仮想プロセッサ８に割り当てられる。非リアルタイムタスク群２３の各非リアルタイムタスクは、マイコンブロック１の任意のＣＰＵ６に割り当てられる。外部メモリ２１は、例えば、ＳＤＲＡＭである。
【００４２】
例えば、図２に示すようにリアルタイムタスク群２２において、各リアルタイムタスクは、処理内容(プログラムモジュール)２４とサイクル数２５とを有する。サイクル数２５は、各リアルタイムタスクの性能を保証するために周期毎に必要なクロックサイクルの数である。リアルタイムタスクに対し、プロセッサブロック７では、サイクル数２５の値に対応した処理能力を有する仮想プロセッサ８が形成される。例えば、図２では、タスク２６は、処理内容２４が画像伸張であり、サイクル数が５００である。この場合、周期毎に５００サイクルに相当する処理能力を有する仮想プロセッサ８が形成され、タスク２６が割り当てられる。
【００４３】
図３は、本実施の形態におけるメディア処理装置のタスクの割り当てを示す図である。図２に示すタスク２６、２７および２８を処理する場合、図３に示すように、プロセッサブロック７は、３つの仮想プロセッサ８ａ、８ｂおよび８ｃを形成する。ここで、１周期（タスク２６、２７および２８の処理に用いる時間単位）は、１０００サイクルとする。また、プロセッサブロック７の処理能力を１００％と表す。この場合、タスク２６のサイクル数２５は５００サイクルなので、タスク２６が割り当てられる仮想プロセッサ８ａの処理能力は５０％に設定される。また、タスク２７のサイクル数２５は２００サイクルなので、タスク２７が割り当てられる仮想プロセッサ８ｂの処理能力は２０％に設定される。タスク２８のサイクル数２５は３００サイクルなので、タスク２８が割り当てられる仮想プロセッサ８ｃの処理能力は３０％である。このように、メディア処理ブロック２は、各タスクに対し、必要な処理能力を持つ仮想プロセッサ８を形成し、処理を行う。よって、本実施の形態におけるメディア処理装置は、メディア処理ブロック２の処理能力に余力を残す必要がなく、処理能力のほぼ全てをリアルタイム処理に割り当てることができる。すなわち、メディア処理ブロック２は、各タスクに必要な処理能力に対し、最適な仮想プロセッサで処理を行うことができる。
【００４４】
図４は、本実施の形態における複数の仮想プロセッサ８ａ、８ｂおよび８ｃの処理のタイミングを示す図である。図４に示すように、各仮想プロセッサ８ａ、８ｂおよび８ｃによるメディア処理は、１周期を複数のタイムスロットに分割し、各タイムスロットを各仮想プロセッサ８に割り当てることで行われる。すなわち、各仮想プロセッサ８ａ、８ｂおよび８ｃには、割り当てられたタスクに必要な処理能力に応じてタイムスロットが割り当てられる。各タイムスロットは、複数のクロックサイクルから形成される。例えば、図４に示すように、仮想プロセッサ８ａには、１周期の５０％に相当する５００サイクルのタイムスロットが割り当てられる。仮想プロセッサ８ｂには、１周期の２０％に相当する２００サイクルのタイムスロットが割り当てられる。仮想プロセッサ８ｃには、１周期の３０％に相当する３００サイクルのタイムスロットが割り当てられる。本実施の形態におけるメディア処理装置は、このタイムスロットを管理することで、各仮想プロセッサ８ａ、８ｂおよび８ｃが実行する処理の負荷バランスを保つことができる。すなわち、各仮想プロセッサ８に割り当てられたタスクに要する処理時間に応じたタイムスロットを、各仮想プロセッサ８に割り当てることで、容易に処理の割り当てを制御することができる。これにより、リアルタイム性が要求される処理において、容易に性能保証を行うことができる。
【００４５】
また、図２に示す外部メモリ２１に格納されている非リアルタイムタスク群２３が有する複数の非リアルタイムタスクは、マイコンブロック１の複数のＣＰＵ６に割り当てられ、処理が行われる。例えば、非リアルタイムタスク群２３の各非リアルタイムタスクの処理内容（プログラムモジュール）２９は、タスク３０では、録画開始処理であり、タスク３１ではメニュー画面表示であり、タスク３２では、録画終了処理である。これらの不定期に発生する非リアルタイムタスクの処理をメディア処理ブロック２で行うと、メディア処理ブロック２に余分な負荷がかかり、リアルタイム処理の性能保証をするために、十分に高い処理能力が必要となる。本実施の形態におけるメディア処理装置では、非リアルタイムタスク群２３の各非リアルタイムタスクを、マイコンブロック１の各ＣＰＵ６に割り当て、処理を行うので、メディア処理ブロック２には余分な負荷がかからない。よって、メディア処理ブロック２の処理能力を必要最小限に抑えることができるの、コストを削減することができる。
【００４６】
以上のように、本実施の形態におけるメディア処理装置は、メディア処理ブロック２のプロセッサブロック７が有する複数の仮想プロセッサ８が、割り当てられたリアルタイム処理を行う。これにより、メディア処理ブロック２の処理能力および処理するタスクの要する処理量に対し最適の処理を行うことができる。よって、本実施の形態におけるメディア処理装置は、リアルタイム処理に対し、容易に性能保証することができる。また、本実施の形態におけるメディア処理装置は、マイコンブロック１が有する複数のＣＰＵ６が、割り当てられた非リアルタイム処理を行う。これにより、メディア処理ブロック２は、非リアルタイム処理を行う必要がない。よって、メディア処理ブロック２は、メディア処理に必要な処理能力以上の高い処理能力を有さなくともよい。すなわち、メディア処理装置のコストを削減することができる。よって、本実施の形態におけるメディア処理装置は、リアルタイム処理と、非リアルタイム処理とが混在する処理に対し、コストをかけずに性能保証するという最適な処理を行うことができる。すなわち、本実施の形態におけるメディア処理装置は、処理の性質の異なる処理に対し、コストをかけずに性能保証するという最適な処理を行うことができる。
【００４７】
以上、本発明の実施の形態に係るメディア処理装置について説明したが、本発明は、この実施の形態に限定されるものではない。
【００４８】
例えば、上記説明では、リアルタイム性が要求されない処理をマイコンブロック１のＣＰＵ６に割り当て処理を行うとしているが、リアルタイム性が要求されない処理の全てをＣＰＵ６に割り当てる必要はない。例えば、リアルタイム性が要求されない処理の一部または全部を固定された処理性能を有する１つまたは複数の仮想プロセッサ８に割り当て、処理を行ってもよい。
【００４９】
また、上記説明では、メディア処理装置はメモリ制御ブロック５を備え、外部メモリ２１が接続されているが、メモリを内蔵してもよい。
【００５０】
また、上記説明では、メディア処理装置は１チップのＬＳＩであるとしたが、複数のチップから形成されてもよい。
【００５１】
また、上記説明では、リアルタイムタスク群２２の各リアルタイムタスクは、サイクル数２５を含んでいるが、各リアルタイムタスクの処理量が判定できる情報であれば、これに限らない。例えば、処理量の情報として格納してもよいし、プロセッサブロック７の処理能力に対する割合として格納してもよい。
【００５２】
（実施の形態２）
実施の形態１におけるメディア処理装置は、メディア処理ブロックに１個のプロセッサブロック７を備えていたが、実施の形態２では、メディア処理ブロックに複数のプロセッサブロック７を備えたメディア処理装置について説明する。
【００５３】
図５は、実施の形態２におけるメディア処理装置の構成を示すブロック図である。なお、図１に示す実施の形態１におけるメディア処理装置の構成と同様の要素には同一の符号が付しており、それらに関する詳細な説明は省略する。
【００５４】
図５に示すように、実施の形態２におけるメディア処理装置は、メディア処理ブロック２に複数のプロセッサブロック７ａ、７ｂおよび７ｃを備える（プロセッサブロック７ａ、７ｂおよび７ｃを特に区別しない場合には、プロセッサブロック７と表す。）。実施の形態２におけるメディア処理ブロック２は、複数のプロセッサブロック７を備えるが、各仮想プロセッサ８は、任意のプロセッサブロック７に対応する。
【００５５】
図６は、複数のプロセッサブロック７に対する、仮想ブロック８への処理の割り当てを示した図である。図６に示すように、メディア処理ブロック２が２個のプロセッサブロック７ａおよび７ｂを備える場合について説明する。また、プロセッサブロック７ａおよび７ｂの処理能力をそれぞれ１００％として表す。プロセッサブロック７ａおよび７ｂに複数の仮想プロセッサ８ａ、８ｂ、８ｃおよび８ｄを形成する場合、各仮想プロセッサ８ａ、８ｂ、８ｃおよび８ｄには、プロセッサブロック７ａおよび７ｂの処理能力の合計である２００％を、処理するタスク１０ａ、１０ｂ、１０ｃおよび１０ｄに必要な処理能力に応じて割り当てることができる。すなわち、任意のプロセッサブロック７ａおよび７ｂに、タスク１０ａ、１０ｂ、１０ｃおよび１０ｄに必要な処理能力に応じた各仮想プロセッサ８の形成することができる。これにより、プロセッサブロック７が複数になった場合でも、各仮想プロセッサ７への割り当て制御は複雑化することがなく、仮想プロセッサ７が１個の場合と同様に容易に割り当て制御を行うことができる。
【００５６】
以上により、メディア処理ブロック２のプロセッサブロック７の個数を変更しても、容易に割り当て制御を行うことができる。また、メディア処理において、メディア処理ブロック２の複数のプロセッサブロック７の処理能力を有効に使用することができる。また、設計段階において、プロセッサブロック７をＩＰコアとして用いることができる。すなわち、プロセッサブロック７は、同一の機能記述、同一のネットリストおよび同一形状のレイアウトマスクのうち少なくとも一つを用い形成される。同一の機能記述を用いることで、論理レベルの設計において、容易にプロセッサブロック７の個数を変更することができる。同一のネットリストを用いることで、回路レベルの設計において、容易にプロセッサブロック７の個数を変更することができる。また、同一のレイアウトマスクを用いることで、レイアウト設計において、容易にプロセッサブロック７の個数を変更することができる。プロセッサブロック７の個数を変更することで、メディア処理ブロック２の処理能力をスケーラブルに変更することができる。よって、実施の形態２におけるメディア処理装置を含むＬＳＩの回路設計およびレイアウト設計を容易に行うことができる。
【００５７】
また、プロセッサブロック７と同様に、マイコンブロック１のＣＰＵ６をＩＰコアとして用いることができる。すなわち、ＣＰＵ６は、同一の機能記述、同一のネットリストおよび同一形状のレイアウトマスクのうち少なくとも一つを用い形成される。同一の機能記述を用いることで、論理レベルの設計において、容易にＣＰＵ６の個数を変更することができる。同一のネットリストを用いることで、回路レベルの設計において、容易にＣＰＵ６の個数を変更することができる。また、同一のレイアウトマスクを用いることで、レイアウト設計において、容易にＣＰＵ６の個数を変更することができる。設計段階において、ＣＰＵ６の個数を変更することでマイコンブロック１の処理能力をスケーラブルに変更することができる。すなわち、本発明におけるメディア処理装置を含むＬＳＩの回路設計およびレイアウト設計を容易に行うことができる。
【産業上の利用可能性】
【００５８】
本発明は、メディア処理装置に適用でき、特にＡＶ機器、音声通信機器および映像通信機器等の映像音声機器に用いるメディア処理装置に適用できる。
【図面の簡単な説明】
【００５９】
【図１】実施の形態１におけるメディア処理装置のブロック図である。
【図２】外部メモリに格納されているタスクの構成を模式的に示す図である。
【図３】実施の形態１における仮想プロセッサへのタスクの割り当てを示す図である。
【図４】仮想プロセッサへのタイムスロットの割り当てを示す図である。
【図５】実施の形態２におけるメディア処理装置のブロック図である。
【図６】実施の形態２における仮想プロセッサへのタスクの割り当てを示す図である。
【図７】従来のメディア処理装置のブロック図である。
【符号の説明】
【００６０】
１，１０１    マイコンブロック
２    メディア処理ブロック
３    ストリームＩ／Ｏブロック
４    ＡＶＩ／Ｏブロック
５    メモリ制御ブロック
６、６ａ、６ｂ、６ｃ、１０３、１０３ａ、１０３ｂ、１０３ｃ    ＣＰＵ
７、７ａ、７ｂ、７ｃ    プロセッサブロック
８、８ａ、８ｂ、８ｃ、８ｄ    仮想プロセッサ
９ａ    制御バス
９ｂ、９ｃ、９ｄ、１０４    データバス
１０ａ、１０ｂ、１０ｃ、１０ｄ、２６、２７、２８、３０、３１、３２    タスク
２１    外部メモリ
２２    リアルタイムタスク群
２３    非リアルタイムタスク群
２４、２９    処理内容
２５    サイクル数
１０２    データ入出力部
【図１】
0004728083.tif 000002
【図２】
0004728083.tif 000003
【図３】
0004728083.tif 000004
【図４】
0004728083.tif 000005
【図５】
0004728083.tif 000006
【図６】
0004728083.tif 000007
【図７】
0004728083.tif 000008