(57)【特許請求の範囲】
【請求項１】
タスクシナリオ情報に基づいてタスクを実行する画像処理装置であって、
処理対象となるコンテンツを示すコンテンツ識別子と、前記コンテンツに対するタスクを示すタスク識別子とを入力するタスク入力手段と、
タスクに用いる処理部品と前記処理部品間の結合情報とが記述されたタスクシナリオ情報と、前記処理部品の情報が記述されたコンポーネント情報と、前記処理部品の実体が格納されたコンポーネントライブラリとを管理するタスク格納手段と、
前記タスク入力手段に入力された前記タスク識別子に対応する前記タスクシナリオ情報を解析し、前記タスクに用いる処理部品と前記処理部品間を結合するソフトバスとを決定し、前記コンテンツ識別子で指定されたコンテンツに対する前記タスクの実行を管理するタスク解析管理手段と、
前記タスク解析管理手段が決定した前記処理部品を前記コンポーネントライブラリより読み出し、前記処理部品の動作を制御するコンポーネント管理手段と、
前記タスク解析管理手段が決定した前記ソフトバスを生成または削除し、前記処理部品と前記ソフトバスとのデータの受け渡しを制御するソフトバス管理手段と
を備え、
前記前記タスク解析管理手段は、前記タスク入力手段に新規タスクを示す新たなタスク識別子が入力されたときに、動作中のタスクの情報を参照し、前記新たなタスク識別子に対応するタスクシナリオ情報に記述された複数の処理部品のうち、前記動作中のタスクとの共有化が可能な処理部品を判定するタスク共有化判定手段と、新たに生成が必要な処理部品及びソフトバスを決定するタスク生成部品決定手段とを備え、
前記タスク共有化判定手段は、前記新規タスクと同一のコンテンツを処理の対象としている動作中の既存タスクを見つけ、前記新規タスク及び既存タスクを構成する複数の処理部品を上流側から順に、同一であるか否かを比較し、同一でない処理部品が現れるまでの同一である前記処理部品を共有化が可能な処理部品として判定し、
前記タスク生成部品決定手段は、共有化が不可能な処理部品に関してのみ、処理部品の生成と各処理部品とソフトバスとの結合を決定することを特徴とする
画像処理装置。
【請求項２】
前記コンポーネントライブラリは、動的にリンクして呼び出すことが可能であり、前記コンポーネント情報には、前記ライブラリにリンクするための必要な情報が記述されている請求項１に記載の画像処理装置。
【請求項３】
前記タスクシナリオ情報に、前記処理部品の繋がりを表すパスの複数を統合するタスクを記述できる請求項１に記載の画像処理装置。
【請求項４】
前記タスクシナリオ情報に、前記処理部品の繋がりを表すパスを複数のパスに分割するタスクを記述できる請求項１に記載の画像処理装置。
【請求項５】
前記コンポーネント管理手段により生成された前記処理部品が、入力したデータに、前記処理部品で処理した結果を付加して出力する請求項１に記載の画像処理装置。
【請求項６】
前記タスク格納手段が、前記タスクシナリオ情報を定期的に読み出し、前記タスクに用いた前記処理部品の間の繋がりが正しいか否かをチェックする請求項１に記載の画像処理装置。
【請求項７】
タスクシナリオ情報に基づいて画像処理を実行する画像処理方法であって、
処理対象となるコンテンツを示すコンテンツ識別子と、前記コンテンツに対するタスクを示すタスク識別子とが入力されると、前記タスク識別子に対応する新規タスクに用いる処理部品と処理部品間の結合情報とが記述されたタスクシナリオ情報を格納手段から読み出すタスクシナリオ情報読み出しステップと、
前記コンテンツ識別子に対応するコンテンツと同一のコンテンツを処理の対象としている動作中の既存タスクを見つけ、前記新規タスク及び既存タスクの各タスクシナリオ情報に記述された複数の処理部品を上流側から順に、同一であるか否かを比較し、同一でない処理部品が現れるまでの同一である前記処理部品を共有化が可能な処理部品として判定するタスク共有化判定ステップと、
前記新規タスクのタスクシナリオ情報に記述された処理部品の中で、共有化が不可能な処理部品に関してのみ、処理部品の生成と前記処理部品に結合するソフトバスとを決定するタスク生成部品決定ステップと、
前記新規タスクのタスクシナリオ情報に記述された結合情報に基づいて、前記タスク生成部品決定ステップで決定されたソフトバスを生成するソフトバス生成ステップと、
前記新規タスクのタスクシナリオ情報に記述された処理部品の情報に基づいて、コンポーネントライブラリに格納されている処理部品の中から前記タスク生成部品決定ステップで決定された処理部品を読み出すコンポーネント読み出しステップと、
前記コンポーネント読み出しステップで読み出された処理部品を、前記新規タスクのタスクシナリオ情報に記載された順番に起動させるコンポーネント起動ステップと、
前記タスク共有化判定ステップで共有化が可能とされた最下流側の処理部品により前記コンテンツの処理が行われたときの出力データを、前記コンポーネント読み出しステップで読み出された最上流側の処理部品の入力データとなるように、前記ソフトバス内において、データの受け渡しを制御し、且つ、前記コンポーネント起動ステップで起動された処理部品の１つが、前記コンテンツを処理することにより生成された出力データを、次の処理部品の入力データとなるように、前記ソフトバス内において、データの受け渡しを制御するソフトバスデータ制御ステップと、
から成る画像処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、映像の画像処理を行なう画像処理装置及び画像処理方法に関し、特に、ユーザのニーズや用途に応じた画像処理機能を簡単に実現できるようにしたものである。
【０００２】
【従来の技術】
近年、デジタル技術の発展やネットワークインフラの充実と共に、携帯端末やパソコン等の様々なブラウザ上で、映像コンテンツをオンデマンドまたはリアルタイムに閲覧する映像配信システムが普及しつつある。これらのシステムでは、サーバが同時に複数の映像を供給し、また、ネットワークの状況または端末の仕様に応じて、映像コンテンツの解像度やビットレート等を変更し、途切れのないスムーズな映像を提供するように構成されている。
【０００３】
しかし、映像配信システムと言っても、ユーザの要望によっては、「映像の単なる配信だけのもの」から、「映像中継ノードを介して他ネットワークに配信するために、ビットレート調整やフォーマット変換等を行なうもの」、また、「映像監視用途での画像認識装置と連携する高度なもの」までレンジが広い。このため、様々なニーズに対し、短期間のシステム開発で迅速に応えていくために、機能面での拡張性やカスタマイズが容易なシステムを構築していくことが望まれつつある。
【０００４】
この対策として、フォーマット変換、解像度変換、画像認識等の処理部品をそれぞれ独立したオブジェクトとして扱い、全オブジェクト共通の入出力インターフェースと状態遷移とを定義し、管理することで、オブジェクトの再利用性を高めようという分散オブジェクト技術がある。この技術の一例として、ＯＭＧ団体（Object Management Group）が考案したＣＯＲＢＡ（Common Object Request Broker Architecture）やＭｉｃｒｏｓｏｆｔ社が開発したＣＯＭ（Component Object Model）が挙げられる。
【０００５】
ＣＯＲＢＡは、分散環境におけるオブジェクト間のやり取りを実現するためのメカニズムで、ＣＯＲＢＡ規約の上で作成したオブジェクトは、ネットワークを介したリモート環境下でも、お互いに協調して一つの機能を実現することができる。また、ＣＯＭに関してもＣＯＲＢＡと同程度の機能を実現しており、さらに、選択したオブジェクトに結合可能なオブジェクトを自動抽出し、オブジェクト間を次々と連結することで、一つの機能ソフトウェアを自動生成し、開発効率の向上を図っている。例えば、圧縮映像をファイルから読み出すオブジェクトを選択すると、その圧縮映像を復号するオブジェクト、それをモニタに表示するオブジェクトを自動抽出し、映像再生機能を持つソフトウェアを自動生成することが可能である。
【０００６】
この映像処理機能を持つソフトウェアを自動生成する方法は、特開２０００−５６９５８号公報にも開示されている。このソフトウェアの自動生成方法を実施する装置は、図２７に示すように、画像データに対して処理を行なう入出力の各引数を持つ複数のソフトウェア部品を格納する格納装置93と、処理手順が記述されている概略手順に従って格納装置93からソフトウェア部品を抽出し、画像処理ソフトウェアを自動生成する自動生成装置90とから成り、自動生成装置90は、先に実行されるソフトウェア部品の引数とこのソフトウェア部品に続いて実行されるソフトウェア部品の引数との入出力関係を判断し、先に実行されるソフトウェア部品の引数が出力で、このソフトウェア部品に続いて実行されるソフトウェア部品の引数が入力であれば、これらの各ソフトウェア部品同士を結合候補とする結合候補判定部91と、結合候補判定部91により結合候補とされた各ソフトウェア部品の各引数について、処理する画像データの種類が一致するか否かを判断し、一致すれば各ソフトウェア部品の各引数を結合する結合部92とを備えている。
【０００７】
図２８は、この方法で自動生成した、半導体の欠陥を検査する画像処理ソフトウェアでのソフトウェア部品の結合関係を示しており、位置合わせ、２値化、マスク処理、膨張収縮の各画像処理ソフトウェア部品と、特徴量抽出のソフトウェア部品と、判定のソフトウェア部品とが自動結合されている。
こうした画像処理ソフトウェアの自動生成機能を映像配信システムの画像処理装置に設け、実現したい機能を概略手順に記述して、映像フォーマット変換、解像度変換、画像認識などのソフトウェア部品を任意に組み合わせわることにより、ユーザのニーズや用途に応じた機能の生成が可能になる。
【０００８】
【発明が解決しようとする課題】
しかし、従来の画像処理ソフトウェアの自動生成方法を適用して配信映像等の画像処理を行なう画像処理装置を構成する場合には、次のような問題がある。
（課題１）
同一の部品であっても、実現しようとする画像処理装置の機能によって、各部品の振舞いが異なる。例えば、映像の解像度を変更する部品を用いて、図２３（ａ）に示すように、ライブ映像を中継する映像中継ノード上でリアルタイムに解像度を変更する場合は、リアルタイム性を重視して、ベストエフォート的にフレームを間引いて解像度を変更することが望まれる。一方、図２３（ｂ）のように、カメラ映像等をファイルに蓄積し、縦横比や解像度を変換して、オンデマンドにより映像を提供するような場合には、コンテンツの品質維持を重視して、フレームを間引かずに解像度を変更することが望まれる。
【０００９】
また、映像配信システムの画像処理装置では、実現する機能毎に、各部品毎の処理の遅延や揺らぎを考慮した詳細な設計が必要になる。例えば、図２３（ａ）を例に用いると、ネットワークの帯域の揺らぎを吸収できるように映像受信部品と解像度変更部品との間にどの程度バッファを配置するか考慮する必要がある。このバッファ量は、ネットワーク環境にも左右される。
これらの問題は、各部品固有のものではなく、画像処理装置が実現しようとする機能に依存するものであり、各部品間のバッファ量、フレームを間引く／間引かない等のデータ受け渡し方法を別途定義し、それに応じて制御できる機構を画像処理装置の中に設ける必要がある。
【００１０】
（課題２）
また、複数の映像コンテンツを複数のユーザに解像度やフォーマットを変更して提供する場合を考えると、従来技術では、図２４に示すように、画像処理装置の中で、ユーザ端末１向けに、カメラの映像入力の解像度変換やフォーマット変換の処理を行った後、ユーザ端末１に映像を提供し、また、ユーザ端末２向けに、カメラの映像入力の解像度変換やフォーマット変換の処理を行った後、ユーザ端末２に映像を提供することになる。しかし、当然の事ながら、解像度変換やフォーマット変換の画像処理は演算量が高いため、図２４のＸ（映像入力処理）、Ｙ（解像度変換処理）、Ｚ（フォーマット変換処理）部分のように同じ処理については共有化して処理の最適化を図る必要がある。
【００１１】
（課題３）
また、映像処理の機能としては、画面合成や映像／音声の多重化等の統合処理、逆多重化等の分離処理、処理部品のパラメータ変更などがあり、画像処理装置は、こうした処理についても、最適化を図るための制御／管理機構を備える必要がある。
【００１２】
（課題４）
また、映像の再生処理の機能では、同一の部品群から機能を構成していても、時間軸に沿って順次映像をベストエフォート的にフレームを間引きながら再生するレート再生モードと、一コマずつフレームを間引かずに再生するコマ送り再生モードとが存在し、これらはユーザによって選択される。そのため、画像処理装置は、ユーザの要求に応じて再生モードの切り替えが可能な機構を備える必要がある。
【００１３】
（課題５）
さらに、再生処理の機能では、機能を構成する部品点数が多いときに再生モードの切り替えが行われると、モード切り替えに時間が掛かったり、ユーザから見た再生フレームの順序が入れ替わったりすると言う問題がある。
図２５は、この模様を具体例で示している。図２５（ａ）は、ディスクからバッファに順方向にフレームが読み込まれ、コマ送り再生が行われている状態を示している。ディスクから読み込まれたフレーム１、２は既にバッファから出力され、バッファ内にはフレーム３、４、‥、８が溜まっている。図２５（ｂ）に示すように、ユーザが３フレーム目で逆コマ送りの再生を要求したとする。この要求に基づいて、ディスクからフレーム８の次にフレーム７が読み出される。しかし、フレーム７がバッファから出力されるのは、フレーム４、‥、８の後であるため、バッファに溜まった分だけ逆コマ送りへの切り替えが遅くなる。
このとき、図２５（ｃ）に示すように、コマンド切り替え時にバッファをクリアする仕組みを取り入れたとしても、ユーザは、フレーム１→２→３までのコマ送りの後、フレーム３→２→１を期待しているのに、フレーム７→６→５の順で逆コマ送りになるため、不審に感じることになる。
【００１４】
（課題６）
また、従来の画像処理ソフトウェアの自動生成方法では、入出力の各引数を持つソフトウェア部品（処理に必要なものを入力し、処理結果を出力するソフトウェア部品）を組み合わせているため、例えば、「画像認識」処理を行なう「非圧縮画像入力→認識結果出力」というソフトウェア部品は、図２６（ａ）に示す機能には使用できる（「画像認識」のソフトウェア部品から出力されるデータの種類が「認識結果記録」のソフトウェア部品の入力データの種類と一致するため）が、図２６（ｂ）に示す機能には使用できなくなる（「画像認識」のソフトウェア部品から出力されるデータの種類が「画像圧縮」のソフトウェア部品の入力データの種類と一致しないため）。そのため、ソフトウェア部品を広く活用できる組み合わせ方式が望まれる。
【００１５】
本発明は、こうした課題を解決するものであり、ユーザのニーズや用途に応じた画像処理機能を簡単に実現することができる画像処理装置及び画像処理方法を提供することを目的としている。
【００１６】
【課題を解決するための手段】
本発明の画像処理装置は、タスクシナリオ情報に基づいてタスクを実行する画像処理装置であって、処理対象となるコンテンツを示すコンテンツ識別子と、前記コンテンツに対するタスクを示すタスク識別子とを入力するタスク入力手段と、タスクに用いる処理部品と処理部品間の結合情報とが記述されたタスクシナリオ情報と、処理部品の情報が記述されたコンポーネント情報と、処理部品の実体が格納されたコンポーネントライブラリとを管理するタスク格納手段と、前記タスク入力手段に入力された前記タスク識別子に対応する前記タスクシナリオ情報を解析し、前記タスクに用いる処理部品と前記処理部品間を結合するソフトバスとを決定し、前記コンテンツ識別子で指定されたコンテンツに対する前記タスクの実行を管理するタスク解析管理手段と、タスク解析管理手段が決定した処理部品を前記コンポーネントライブラリより読み出し、処理部品の動作を制御するコンポーネント管理手段と、タスク解析管理手段が決定したソフトバスを生成または削除し、前記処理部品とソフトバスとのデータの受け渡しを制御するソフトバス管理手段とを備え、前記前記タスク解析管理手段は、前記タスク入力手段に新規タスクを示す新たなタスク識別子が入力されたときに、動作中のタスクの情報を参照し、前記新たなタスク識別子に対応するタスクシナリオ情報に記述された複数の処理部品のうち、前記動作中のタスクとの共有化が可能な処理部品を判定するタスク共有化判定手段と、新たに生成が必要な処理部品及びソフトバスを決定するタスク生成部品決定手段とを備え、前記タスク共有化判定手段は、前記新規タスクと同一のコンテンツを処理の対象としている動作中の既存タスクを見つけ、前記新規タスク及び既存タスクを構成する複数の処理部品を上流側から順に、同一であるか否かを比較し、同一でない処理部品が現れるまでの同一である前記処理部品を共有化が可能な処理部品として判定し、前記タスク生成部品決定手段は、共有化が不可能な処理部品に関してのみ、処理部品の生成と各処理部品とソフトバスとの結合を決定することを特徴としている。
【００１７】
この装置では、ソフトバス管理手段を設けて各処理部品間でのデータの受け渡し（ フレームを間引く／ 間引かないなど） を制御する構成を採っているため、このデータ受け渡し方法などを定義するタスクシナリオを書き換えるだけで、ユーザのニーズや用途に応じた機能を持つ画像処理装置を実現することができ、また、タスク間で処理部品を共有しているため、全体の処理演算量を削減することができる。
また、本発明の画像処理方法は、タスクシナリオ情報に基づいて画像処理を実行する画像処理方法であって、処理対象となるコンテンツを示すコンテンツ識別子と、前記コンテンツに対するタスクを示すタスク識別子とが入力されると、前記タスク識別子に対応する新規タスクに用いる処理部品と処理部品間の結合情報とが記述されたタスクシナリオ情報を格納手段から読み出すタスクシナリオ情報読み出しステップと、前記コンテンツ識別子に対応するコンテンツと同一のコンテンツを処理の対象としている動作中の既存タスクを見つけ、前記新規タスク及び既存タスクの各タスクシナリオ情報に記述された複数の処理部品を上流側から順に、同一であるか否かを比較し、同一でない処理部品が現れるまでの同一である前記処理部品を共有化が可能な処理部品として判定するタスク共有化判定ステップと、前記新規タスクのタスクシナリオ情報に記述された処理部品の中で、共有化が不可能な処理部品に関してのみ、処理部品の生成と前記処理部品に結合するソフトバスとを決定するタスク生成部品決定ステップと、前記新規タスクのタスクシナリオ情報に記述された結合情報に基づいて、前記タスク生成部品決定ステップで決定されたソフトバスを生成するソフトバス生成ステップと、前記新規タスクのタスクシナリオ情報に記述された処理部品の情報に基づいて、コンポーネントライブラリに格納されている処理部品の中から前記タスク生成部品決定ステップで決定された処理部品を読み出すコンポーネント読み出しステップと、前記コンポーネント読み出しステップで読み出された処理部品を、前記新規タスクのタスクシナリオ情報に記載された順番に起動させるコンポーネント起動ステップと、前記タスク共有化判定ステップで共有化が可能とされた最下流側の処理部品により前記コンテンツの処理が行われたときの出力データを、前記コンポーネント読み出しステップで読み出された最上流側の処理部品の入力データとなるように、前記ソフトバス内において、データの受け渡しを制御し、且つ、前記コンポーネント起動ステップで起動された処理部品の１つが、前記コンテンツを処理することにより生成された出力データを、次の処理部品の入力データとなるように、前記ソフトバス内において、データの受け渡しを制御するソフトバスデータ制御ステップとから成る。
この画像処理方法では、ユーザのニーズや用途に応じた画像処理を実行する際の全体の処理演算量を削減することができる。
【００１８】
【発明の実施の形態】
（第１の実施形態）
第１の実施形態では、本発明の画像処理装置の基本構成とその動作について説明し、また、処理の共有化について説明する。
この画像処理装置で扱うコンテンツには、そのコンテンツを識別するためのコンテンツ識別子が設定され、また、このコンテンツに対して行われる画像処理（タスク）には、タスクを識別するためのタスク識別子が設定される。
【００１９】
この画像処理装置は、図１に示すように、タスク格納手段14を備えており、ここでは、タスク識別子毎にタスクを構成する映像系の処理部品（ソフトウェア部品＝コンポーネント）と処理部品間の結合情報とを記述したタスクシナリオ情報15と、映像系の処理部品情報を記述したコンポーネント情報16と、映像系の処理部品の実体が格納されたコンポーネントライブラリ17とが管理されている。
【００２０】
タスクシナリオ情報15には、コンポーネントを繋いで実現する機能や、コンポーネントを繋ぐ順序、コンポーネント間を繋ぐバッファ（ソフトバス）とのデータの受け渡し方法（フレームを間引くか間引かないか等）などが記述される。図８（ａ）にタスクシナリオ情報の一例を示している。
また、コンポーネント情報16には、コンポーネントの機能や、コンポーネントの実体が格納されたコンポーネントライブラリ17の名前、コンポーネントの入力データ、出力データ、コンポーネントのパラメータ情報などが記述される。図８（ｂ）にコンポーネント情報の一例を示している。
【００２１】
画像処理装置10は、また、画像処理するコンテンツのコンテンツ識別子とコンテンツに対するタスクのタスク識別子とを入力するタスク入力手段18と、入力されたタスク識別子のタスクシナリオ情報15を解析し、指定されたタスクを実行する上で必要なコンポーネント及びソフトバスを決定して、タスクを管理するタスク解析管理手段11と、タスク解析管理手段11が決定したコンポーネントを生成または削除し、コンポーネントへの制御を行なうコンポーネント管理手段12と、タスク解析管理手段11が決定したソフトバスを生成または削除し、ソフトバスを用いたデータの受け渡しを制御する映像ソフトバス管理手段13とを備えている。
【００２２】
図２は、このタスク解析管理手段11、コンポーネント管理手段12及び映像ソフトバス管理手段13の役割を模式的に示している。タスク解析管理手段11は、タスク（図２（ａ））のタスクシナリオ情報15を解析し、コンポーネント（図２（ｂ））とソフトバス（図２（ｃ））とソフトバスを介したデータの受け渡し方法とを決定する。コンポーネント管理手段12は、コンポーネント情報16を参照し、タスク解析管理手段11が決定したコンポーネントのコンポーネントライブラリ17上の格納位置を確認し、該当するコンポーネント▲１▼▲２▼▲３▼を生成して、その状態を制御する。映像ソフトバス管理手段13は、タスク解析管理手段11が決定したソフトバス１、２を生成し、コンポーネント▲１▼▲２▼▲３▼とのデータの受け渡し方法を制御する。
【００２３】
タスク解析管理手段11は、コンテンツ識別子で指定されたコンテンツに対してこのタスクでの画像処理を実行し、タスクが終了すると、コンポーネント▲１▼▲２▼▲３▼及びソフトバス１、２の削除を指示する。これを受けて、コンポーネント管理手段12はコンポーネント▲１▼▲２▼▲３▼を削除し、映像ソフトバス管理手段13はソフトバス１、２を削除する。
【００２４】
コンポーネントに対しては、図３に示すように、データ入力Ｉ／Ｆ（入力バスとのデータ受け渡し方法）と、データ出力Ｉ／Ｆ（出力バスとのデータ受け渡し方法）と、そのコンポーネントに対する制御手続きとが規定される。コンポーネントの制御手続きは、例えば図４に示すように、“ＢＩＮＤ（ソフトバスへのアクセス開始）”“ＵＮＢＩＮＤ（ソフトバスへのアクセス停止）”“ＰＡＲＡＭＥＴＥＲ  ＣＨＡＮＧＥ（コンポーネントのパラメータ変更）”“ＣＴＲＬ（制御コマンド：例えば再正系のPlay、Stop、Pauseコマンド）”で規定され、コンポーネントは“ＢＩＮＤ”を指定することによりＩＤＬＥ状態からＡｃｔｉｖｅ状態に状態遷移（処理開始）し、“ＵＮＢＩＮＤ”を指定することによりＡｃｔｉｖｅ状態からＩＤＬＥ状態に状態遷移する。また、“ＣＴＲＬ”や“ＰＡＲＡＭＥＴＥＲ  ＣＨＡＮＧＥ”の指定でＡｃｔｉｖｅ状態での処理を行なう。  このように、画像処理装置で扱う映像フォーマット変換、解像度変換、画像認識などのコンポーネントに対し、その構成、制御手続きとそれに伴う状態遷移を共通に定義することにより、ユーザのニーズ／用途に応じて、任意のコンポーネントを自由に組み合わせることが可能となる。
【００２５】
また、図５は、映像ソフトバス管理手段13の内部構成を示している。映像ソフトバス管理手段13は、１つのソフトバスとして、データ格納領域21を有する共有メモリ22を複数個循環構造として備えており、また、共有メモリ22への書き込み／読み出し位置や排他制御等を管理するアクセス管理部23を備えている。
図６は、共有メモリ22に記述されるデータのデータ構造フォーマット例を示している。ここには、メディア形式（映像／音声の別）、符号化方式、メディアの重要度、メディアのタイムコード、メディア識別子、格納最大サイズ、実際のデータ格納サイズ、実データポインタ等、映像系コンポーネントが画像処理を行なうために必要な全情報が記述される。
また、アクセス管理部23は、ソフトバスの生成／終了、各コンポーネントの書き込み／読み出し位置の管理、各コンポーネントのソフトバスへのデータ受け渡し方法の管理等の制御管理を行なう。
【００２６】
図７は、アクセス管理部23で実現すべき制御機構の仕様を示している。
本仕様では、各ソフトバスに対して、書き込むコンポーネントは１つ、読み出すコンポーネントは複数可能とし、同一共有メモリデータ構造に対しては、同時に書き込み／読み出しを許可しない制御を行う。
また、コンポーネントのデータ受け渡し制御として、ａ．ＦＩＦＯ／ＬＩＯの読み出し、ｂ．非同期／同期型書き込み、ｃ．非同期／同期型ＡＣＫ、のモードが設定可能である
ａのＦＩＦＯ／ＬＩＯの読み出しは、ソフトバス内にある複数のデータ構造をどのように読み出すかを規定したもので、「ＦＩＦＯ読み出し＝古いデータ構造から順に渡す」、「ＬＩＯ読み出し＝常に最新のデータ構造を渡す」となる。
ｂの非同期／同期型書き込みは、共有メモリデータ構造へ再書き込みする場合の条件を規定したもので、「非同期書き込み＝共有メモリデータ構造の読み出しがなくても再書込み可能」「同期書き込み＝共有メモリデータ構造の読み出しがあるまで再書込み禁止」となる。
ｃの非同期／同期型ＡＣＫは、ソフトバスへの読み出し／書き込みができない場合の応答方法を規定したもので、「非同期ＡＣＫ＝読み出し／書き込みができない場合、その旨をコンポーネントに即伝える」「同期ＡＣＫ＝読み出し／書き込みができない場合、処理ができるようになるまで応答を返さない」となる。
以上のように、コンポーネント毎の詳細なデータ受け渡し方法を設定でき、また、このデータ受け渡し方法はアクセス管理部23で制御するため、各コンポーネントはデータ受け渡し方法の違いを意識する必要はない。
また、タスク解析管理手段11の制御コマンドとして、バスリセット（各コンポーネントのアクセス位置を初期化し、指定パラメータ（ＦＩＦＯ／ＬＩＯの読み出し、非同期／同期型書き込み、非同期／同期型ＡＣＫ）で再設定する）、最新読み出し位置取得（読み出しが行われた最新の共有メモリ構造体の蓄積位置情報を取得する）を要求する。
これにより、タスク解析管理手段11から、各コンポーネントのデータ受け渡し方法の制御が可能となる。
このように、コンポーネント毎の詳細なデータ受け渡し方法が設定される。
【００２７】
ソフトバスにデータを書き込むコンポーネントは、アクセス管理部23に対して書き込み要求を出し、アクセス管理部23から書き込み位置のポインタの通知を受けて書き込みを開始する。また、ソフトバスからデータを読み出すコンポーネントは、アクセス管理部23に対して読み出し要求を出し、アクセス管理部23から読み出し位置のポインタの通知を受けて読み出しを開始する。
こうした動作を行なう映像ソフトバス管理手段13が存在するため、各コンポーネントは、それぞれのコンポーネントで処理した結果をデータの入力に付加してデータの出力とすることが可能となり、様々なニーズに応える機能を実現することができる。
【００２８】
なお、図８（ａ）のタスクシナリオ情報では、コンポーネント１について入力バスとのデータ受け渡しモードを規定し、また、コンポーネント２について出力バスのバッファ数及びデータ受け渡しモードを規定しているが、もし、コンポーネントがコンポーネント１と２の二つしか無い場合、あるいは、コンポーネント１、２がタスクの両端のコンポーネントの場合には、これらの規定は不要である。
【００２９】
次に、タスク間でコンポーネントの共有化を行なう方法について説明する。
図９は、動作中のタスク１に続いて、同じカメラの映像を画像処理するタスク２を新たに開始する場合に（図９（ａ））、共通に利用できるコンポーネント“映像入力”及び“フォーマット変換”をタスク間で共有化する例を示している。図９（ｂ）は、このときの画像処理装置の内部状態を表している。タスク１及びタスク２で“映像入力”及び“フォーマット変換”のコンポーネントが共有されており、フォーマット変換コンポーネントの処理結果を出力するソフトバス２に対して、タスク１の解像度変換コンポーネント及びタスク２の端末出力コンポーネントが入力を行なう構成になっている。
【００３０】
図１０は、こうしたコンポーネントの共有化を自動的に行なうタスク解析管理手段11の構成を示している。このタスク解析管理手段11は、動作中のタスク情報32を参照し、新たに開始するタスクでの共有化が可能なコンポーネントを判定するタスク共有化判定手段31と、共有化が可能なコンポーネントを除いて、生成が必要なコンポーネント及び映像ソフトバスを決定するタスク生成部品決定手段30とを備えている。
【００３１】
タスク共有化判定手段31は、タスク入力手段18からコンテンツ識別子及びタスク識別子が入力すると、動作中タスク情報32を参照し、入力されたコンテンツ識別子のコンテンツを処理しているタスクを動作中のタスクの中から見つけ、そのタスクを構成する上流側のコンポーネントから順に、コンポーネントとパラメータとが同一であるか判定し、同一であると判定したコンポーネントまでをタスク間で処理の共有化が可能なコンポーネントと判定する。また、タスク生成部品決定手段30は、処理の共有化が不可能なコンポーネントに関してのみ、必要なコンポーネントと映像ソフトバスとの生成を決定する。
【００３２】
図１１は、タスク解析管理手段11の内部データ管理構造を表している。タスク解析管理手段11は、「タスク管理」、「コンポーネント管理」及び「ソフトバス管理」のデータ管理を行っている。
「タスク管理」では、画像処理装置内で動作中の各タスクの情報（入力／入出力／出力コンポーネント（ＣＭＰ）へのパス）を管理する。入力／出力ＣＭＰは必ず一つ必要であるが、入出力ＣＭＰは複数個（０〜Ｎ）存在しても良い。
「コンポーネント管理」では、タスクを構成する入力／入出力／出力コンポーネントの情報（コンポーネント識別番号、パラメータ、ソフトバス情報、参照カウンタ）を管理する。ソフトバス情報は、ソフトバスへアクセスするための情報であり、参照カウンタは、コンポーネントを使用しているタスクの個数を表す。「ソフトバス管理」では、コンポーネント間で使用するソフトバス情報（参照カウンタ、各コンポーネントのデータ受け渡し方法、バッファ量）を管理する。参照カウンタは、ソフトバスへアクセスしているコンポーネントの個数を表す。
図１１では、タスク１とタスク２とがコンポーネント入力ＣＭＰ１を共有する場合を示している。このとき、「タスク管理」のタスク１の入力ＣＭＰとタスク２の入力ＣＭＰには、共にコンポーネント入力ＣＭＰ１の「ＣＭＰ ＩＤ」が記入される。
【００３３】
この共有化により、コンポーネント入力ＣＭＰ１のソフトバス情報（ＯＵＴ）と、タスク１で使用するコンポーネント入出力ＣＭＰ１のソフトバス情報（ＩＮ）と、タスク２で使用するコンポーネント入出力ＣＭＰ２のソフトバス情報（ＩＮ）とが同じになり、共にソフトバス１の情報が記入される。
このようにコンポーネントを共有化することにより、画像処理装置全体の演算量を減らすことができる。
【００３４】
次に、この画像処理装置におけるタスク生成時の処理フローを説明する。
１．分岐位置の判定
新たに生成するタスク（新規タスク）の入力コンポーネントが、「コンポーネント管理」に既に存在する場合には、同一の入力コンポーネントを持つタスク（動作中タスク）を「タスク管理」から抽出する。
次に、新規タスクと抽出した動作中タスクとの間で、入力コンポーネントから順に、同一の入出力コンポーネントが連続する数（Ｎ：整数）を算出する。これを動作中タスクの個数分判定を行ない、Ｎが最大となる箇所を新規タスクが動作中タスクから分かれる分岐点と判定する。
【００３５】
なお、同一かどうかの判定は、タスクのコンテンツ識別番号が同じで、各コンポーネントとパラメータとが同じであるときに同一とする。また、タスクによっては同一コンポーネントでも、コンポーネントの出力するソフトバス情報（バッファ数、データ受け渡しモード）が異なる場合がある。従って、コンポーネントの出力するソフトバス情報の全情報或いは一部の情報を同一かどうかの判定に追加することも可能である。
２．分岐点までのコンポーネントの参照カウンタを更新
分岐点までのコンポーネントを「コンポーネント管理」から抽出し、各コンポーネントの参照カウンタをインクリメントする。
３．分岐後のコンポーネント及びソフトバスの生成
分岐後のコンポーネントを「コンポーネント管理」へ追加すると共に、コンポーネント間を繋ぐソフトバスを「ソフトバス管理」へ追加する。次に、追加したコンポーネント及びソフトバスを生成し、追加コンポーネントのソフトバスへの接続を開始する。なお、分岐後のコンポーネントの参照カウンタは１となる。
【００３６】
次に、タスク終了時の処理フローを説明する。
１．コンポーネントの削除が可能であるかの判定
終了するタスクの入力／入出力／出力コンポーネントに対して、「コンポーネント管理」の参照カウンタをデクリメントし、参照カウンタが０となったコンポーネントを削除可能なコンポーネントと判定する。
２．ソフトバスへの接続終了及びソフトバスの削除
削除可能なコンポーネントに対して、ソフトバスの接続を終了する。この後、「ソフトバス管理」の参照カウンタをデクリメントし、参照カウンタが０となったソフトバスを削除する。
３．コンポーネントの終了
「コンポーネント管理」の参照カウンタが０となったコンポーネントを終了する。
【００３７】
このように、この画像処理装置では、各コンポーネント間のバッファ量、フレームを間引く／間引かないなどのデータ受け渡し方法をタスクシナリオ情報で定義し、また、映像ソフトバス管理手段で各コンポーネント間のバスを制御する機構を設けているため、タスクシナリオ情報の書き換えだけで、映像フォーマット変換、解像度変換、画像認識等のコンポーネントを任意に組み合わせて、所望の機能を、再コンパイル等を必要とせずに、動的に実現することができる。
【００３８】
また、複数のタスクで解像度変換やフォーマット変換等の演算量が高いコンポーネントを使う場合に、タスク間で処理の共通化が可能なコンポーネントを自動的に共有化し、処理の最適化を図ることができ、それにより全体の処理演算量を削減することができる。
【００３９】
また、映像ソフトバス管理手段がソフトバスでのデータの受け渡しを管理することにより、コンポーネントから出力されたデータの一部を選択して下流のコンポーネントに渡すようなことが可能になる。そのため、各コンポーネントは、入力したデータに、コンポーネントで処理した結果を付加して出力することが可能になる。例えば図２６（ｂ）のタスクにおいて、画像認識を行なうコンポーネントは、非圧縮伸長された画像データを入力し、その画像認識処理を行ない、（非圧縮伸長画像データ＋画像認識結果）をソフトバスに出力する。映像ソフトバス管理手段は、この出力の内、非圧縮伸長画像データを次の画像圧縮のコンポーネントに出力し、画像認識結果をその次の映像記録のコンポーネントに出力する。画像圧縮のコンポーネントは、非圧縮伸長画像データを圧縮して映像記録のコンポーネントに渡し、映像記録のコンポーネントは、圧縮した画像データと画像認識結果とをディスクに蓄積する。
【００４０】
このように、映像ソフトバス管理手段を設けたことにより、あたかも製造ラインのように、データの必要な部分だけをピックアップし、上流の工程結果に今回の結果を付加する仕組みが構築できる。
【００４１】
また、この画像処理装置では、使用コンポーネントが、どのコンポーネントライブラリ17のどのオブジェクト関数かをコンポーネント情報16に記述できるようにしているため、例えば、ＵＮＩＸ（登録商標）／Ｌｉｎｕｘ系のロードライブラリやWindows（登録商標）系のダイナミックロードライブラリ（ＤＬＬ）を用いて、新規にコンポーネントライブラリを作成し、コンポーネント情報を追加するだけで、画像処理装置の再コンパイルは不必要のまま新規コンポーネントの登録ができる。
【００４２】
また、タスク格納手段14が、タスクシナリオ情報15を定期的に読み出し、タスクを構成するコンポーネント間の繋がりが正しいか否かをチェックするようにすれば、人手で記述されたタスクシナリオ情報の誤りを検出することができる。
【００４３】
（第２の実施形態）
第２の実施形態では、画面合成や映像／音声の多重化等に伴うパスの統合処理、逆多重化等に伴うパスの分離処理、部品のパラメータ変更処理等について説明する。
【００４４】
まず、パスの統合処理について説明する。パスの統合処理は、図１２に示すように、複数のカメラから入力した異なる映像を合成して一つの端末に出力したり、カメラとマイクとから入力した映像と音声とを多重化して一つの端末に出力したりするような場合に可能となる。
【００４５】
また、図１３は、パスの統合処理を含めたコンポーネントの共有化の例を示している。ここでは、カメラ41の映像とカメラ42の映像とを合成して端末44に出力し（タスク１）、カメラ42の映像を単独で端末45に出力し（タスク２）、カメラ42の映像とマイク43の音声とを多重化して端末46に出力する（タスク３）場合を示しており、カメラ42に対する映像入力コンポーネントをタスク２及びタスク３で共有し、また、カメラ42の映像信号の解像度変換コンポーネントをタスク１及びタスク２で共有している。
【００４６】
タスクシナリオ情報及びタスク解析管理手段11の管理では、図１４（ａ）に示すように、パスを統合処理した全体のタスクを親タスクとして扱う。親タスクは、統合前の複数の子タスクと統合後の子タスクとから構成される。
【００４７】
図１４（ｂ）は、タスク解析管理手段11がコンポーネントを共有化しながらパスの統合処理を行なう場合の処理フローを示している。なお、この処理フローの中で「動作中タスク」とは、統合前後の子タスク、パスの統合を行なわない通常のタスクのことを示しており、親タスクは含まない。
ステップ１：全ての結合前タスクに対して動作中タスクと共有可能かをチェックする。
ステップ２：共有可能な結合前タスクが最低１つあるときは、
ステップ３：全ての結合前タスクの全コンポーネントが共有可能かを判別し、ＹＥＳのときは、
ステップ４：更なる共有の可能性を求めて、動作中タスク内の統合後タスクと統合後タスクとが共有可能かをチェックする。
【００４８】
ステップ５：共有可能であるときは、
ステップ６：結合後タスクの非共有コンポーネントを生成する。
また、ステップ３において、ＮＯのときは、
ステップ８：全ての結合前タスクの非共有コンポーネントを生成し、
ステップ９：結合後タスクの全コンポーネントを生成する。
また、ステップ５において、共有可能でないときも、結合後タスクの全コンポーネントを生成する（ステップ９）。
【００４９】
また、ステップ２において、共有可能な結合前タスクが無いときは、
ステップ７：親タスク内の全コンポーネントを生成する。
ステップ10：最後に、映像ソフトバスの生成と結合とを行なう。
なお、パス統合を行ったタスクの終了処理は、第１の実施形態で説明した終了処理方法と同様に行なう。
【００５０】
次に、パスの分離処理について説明する。パスの分離分割は、図１５に示すように、多重化されている映像と音声とを分離して、映像機器と音声機器とに出力するような場合に行われる。
【００５１】
図１６は、パスの分離・分割処理におけるコンポーネントの共有化を示している。ここでは、多重化されて入力する映像／音声信号から、映像と音声とを分離してユーザ２の映像機器と音声機器とに出力し（タスク１）、入力信号から映像信号のみを分離してユーザ１の映像機器に出力し（タスク２）、また、入力信号から音声信号のみを分離してユーザ３の音声機器に出力する（タスク３）場合を示しており、多重化した信号を入力する映像／音声入力コンポーネント、及び、多重化した映像信号と音声信号とを分離する非多重化のコンポーネントをタスク１、タスク２及びタスク３で共有し、また、カメラ42の映像信号の解像度変換コンポーネントをタスク１及びタスク２で共有している。
また、タスクシナリオ情報及びタスク解析管理手段11の管理では、図１７（ａ）に示すように、パスを分割処理した全体のタスクを親タスクとして扱う。親タスクは、分割前の複数の子タスクと分割後の子タスクとから構成される。
【００５２】
なお、図１７（ａ）のように、分割前の子タスク１と分割後の子タスク２とから構成するタスク（例えば、映像／音声を逆多重化して、映像のみ解像度変更して端末へ送信するタスク）に対しては、本画像処理装置では、通常のタスクとしてではなく、パスの分割処理を行なうタスクとして扱う。
【００５３】
図１７（ｂ）は、タスク解析管理手段11がパスの分割処理を行なう場合の処理フローを示している。なお、この処理フローの中で「動作中タスク」とは、統合前後あるいは分割前後の子タスク、パスの統合を行なわない通常のタスクのことを示しており、親タスクは含まない。
ステップ20：分割前タスクが動作中タスクと共有可能かをチェックする。
ステップ21：分割前タスクが共有可能であるときは、
ステップ22：分割前タスクの全コンポーネントが共有可能かを判別し、ＹＥＳのときは、
ステップ23：各分割後タスクに対して動作中タスクとの共有可能性をチェックし、
ステップ24：各分割後タスクの非共有コンポーネントを生成する。
【００５４】
ステップ25：全ての分割後タスクをチェックするまで、ステップ23〜ステップ24の処理を繰り返す。
ステップ22においてＮＯのときは、
ステップ26：分割前タスクの非共有コンポーネントを生成し、
ステップ27：全分割後タスクの全コンポーネントを生成する。
また、ステップ21において、分割前タスクが共有可能でないときは、
ステップ28：親タスク内の全コンポーネントを生成する。
ステップ29：最後に、映像ソフトバスの生成と結合とを行なう。
なお、パス分割を行ったタスクの終了処理は、第１の実施形態で説明した終了処理方法と同様に行なう。
【００５５】
次に、共有化しているコンポーネントのパラメータの変更処理について説明する。
パラメータには、解像度変換における画質精度を高めるときのように、他のタスクに影響を与えても良いパラメータもあれば、解像度変換における縦横比のように、他のタスクに影響を与えずに、タスク単位で変更すべきパラメータも存在する。
タスク間で共有しているコンポーネントのパラメータを変更する場合、「他のタスクに影響を与えても良いパラメータ」であれば、コンポーネントの共有化を維持したままコンポーネントのパラメータを変更する。また、「タスク単位で変更すべき固有のパラメータ」の場合は、コンポーネントを新設しタスクを再生成する必要がある。
【００５６】
図１８は、このパラメータの変更処理を模式的に示している。図１８（ａ）は、異なる端末に同じ映像信号を出力するタスク１、タスク２、タスク３の処理において、映像入力及び解像度変換を共通のコンポーネントで行っている状態を示している。この解像度変換では、縦横比のパラメータが１／２、画質精度のパラメータが中に設定されている。なお、ここでは、「他のタスクに影響を与えても良いパラメータ」が画質精度のパラメータであり、「タスク単位で変更すべき固有のパラメータ」が縦横比のパラメータであるとする。
【００５７】
タスク１の解像度変換における縦横比のパラメータを１／４に変更する場合は、図１８（ｂ）に示すように、タスク１の解像度変換を行なうコンポーネントを新たに生成し、そのパラメータを縦横比１／４、画質精度中に設定する。タスク２及びタスク３の解像度変換は、共有化したコンポーネントをそのまま使用して行なう。
【００５８】
一方、タスク１の解像度変換における画質精度のパラメータを中から上に高める場合は、図１８（ｃ）に示すように、共有化したコンポーネントの画質精度のパラメータを中から上に変更する。その結果、タスク１、タスク２、タスク３の全ての画像処理における画質が向上する。
【００５９】
図１９は、このパラメータ変更処理を行なうタスク解析管理手段11の構成を示している。このタスク解析管理手段11は、動作中のタスク情報32を参照してパラメータを変更するコンポーネントがタスク間で共有されているか否かを判定する処理部品共有化判定手段50と、パラメータの変更処理を行なうパラメータ変更手段51とを備えている。
【００６０】
この処理部品共有化判定手段50は、タスク入力手段18からタスク番号及びコンポーネントのパラメータが入力すると、動作中のタスク情報32を参照して、パラメータを変更するコンポーネントがタスク間で共有されているか否かを判定する。パラメータ変更手段51は、パラメータを変更するコンポーネントが処理部品共有化判定手段50によりタスク間で共有されていると判定された場合、そのパラメータの種類に応じて、共有されているコンポーネントのパラメータ値を変更し、または、タスクを再生成して、新たなコンポーネントに入力されたパラメータ値を設定する。パラメータ変更手段51によって変更されたパラメータは、コンポーネント管理手段12や映像ソフトバス管理手段13に伝えられる。
【００６１】
このように、この画像処理装置では、画面合成や映像／音声の多重化等の統合処理、映像と音声とを分離する分割処理、及び、コンポーネントのパラメータ変更処理に対しても、タスク間の処理の共通化を加味した制御が可能である。
【００６２】
（第３の実施形態）
第３の実施形態では、ユーザの要求に応じて再生モードを切り替え、スムーズな映像の再生を行なう処理について説明する。
【００６３】
図２０は、この再生処理を行なうタスク解析管理手段11の構成を示している。このタスク解析管理手段11は、タスクを構成する全コンポーネントを一旦アイドル状態にしたり、全コンポーネントの動作を再開したりするコンポーネント停止再開手段60と、コンポーネント間を結合する映像ソフトバスのバッファ量や、データ受け渡し方法の変更を行なう映像ソフトバスモード変更手段61とを備えている。  いま、図２１で、コマ送り再生中であるとする。コンポーネント▲１▼は、ディスクから読み出したデータを処理してソフトバス１に書き込み、コンポーネント▲２▼は、ソフトバス１から読み込んだデータを処理してソフトバス２に書き込み、コンポーネント▲３▼は、ソフトバス２から読み込んだデータを処理して端末に出力している。端末には、フレーム５が届き、ソフトバス２にはフレーム６及びフレーム７が、また、ソフトバス１にはフレーム８及びフレーム９が書き込まれているとする。
ユーザが再生方法を変更すると、タスク入力手段18から動作中のタスク番号と、ソフトバスのバッファ量やデータ受け渡し方法を変更（「フレームを間引かない」→「フレームを間引く」等）するバス変更情報とが入力する。
【００６４】
このときの処理手順を図２２に示している。タスク解析管理手段11は、動作中タスク情報32を参照し、指定されたタスクのコンポーネントの動作を停止するようにコンポーネント管理手段12に要求し、コンポーネント▲１▼▲２▼▲３▼の動作が停止する（▲１▼）。映像ソフトバスモード変更手段61は、映像ソフトバス管理手段13のソフトバス２にフレーム６が書き込まれていることを検出して、現再生フレームがフレーム５であることを認識し（▲２▼）、次いで、ソフトバス１、２のバスリセットを映像ソフトバス管理手段13に指示する（▲３▼）。
バスリセットにより、ソフトバス１、２に対するアクセスが全て解除され、ソフトバス１、２のデータの受け渡し方法がタスク入力手段18から入力された方法に変更され、ソフトバス１、２のデータがクリアされる。
【００６５】
次に、コンポーネント停止再開手段60は、コンポーネント管理手段12にコンポーネントの動作の開始を要求する（▲４▼）。コンポーネント▲１▼▲２▼▲３▼の動作が開始されると、映像ソフトバスモード変更手段61は、コンポーネント▲１▼に現再生フレーム（フレーム５）を通知する（▲５▼）。
コンポーネント▲１▼が、現再生フレーム（フレーム５）の次から、指定された動作を開始することにより、図２１に示すように、ユーザの指示が逆コマ送りへの切り替えであった場合には、フレーム４、フレーム３、‥の順で端末にデータが送られ、また、ユーザの指示が２倍速再生への切り替えであった場合には、フレーム７、フレーム９、‥の順で端末にデータが送られる。
【００６６】
このように、この画像処理装置では、ユーザの再生モードの切り替え要求に応じて、映像ソフトバス内の映像情報を全てクリアし、タスクの中で最下流にあるコンポーネントが処理を施した最新のフレームの識別子を取得して、最上流のコンポーネントに通知することにより、ユーザの要求通りの再生を実施することができる。
【００６７】
なお、本発明の画像処理装置は、インターネットやイントラネット等のＩＰネットワークを介して、携帯端末やパソコン等の複数のブラウザへ様々な映像コンテンツを配信する映像配信システムを始めとし、放送システム、監視システムなど、各種のシステムでの利用が可能である。
【００６８】
【発明の効果】
以上の説明から明らかなように、本発明の画像処理装置は、タスクを構成するコンポーネントやソフトバスでのデータ受け渡し方法などを定義するタスクシナリオを書き換えるだけで、ユーザのニーズや用途に応じた機能を持たせることができる。また、本発明の画像処理方法は、ユーザのニーズや用途に応じた画像処理を実行することができる。
【００６９】
また、タスクファイルの書き換えだけで、映像フォーマット変換、解像度変換、画像認識等の処理部品を任意に組み合わせた機能を再コンパイル等の必要なしに動的に実現することができる。
また、複数の機能で解像度変換やフォーマット変換等の演算量が高い部品を使う場合に、機能間で処理の共通化ができる部品を自動的に最適化することで、全体の処理演算量を削減することができる。
【００７０】
また、画面合成や映像／音声の多重化等の統合処理、逆多重化等の処理の分離処理、処理部品のパラメータ変更の機能に対しても、機能間で処理の共通化を加味した制御が可能である。
また、コンポーネント管理手段で各コンポーネントの状態をアイドル状態にし、続いて、映像ソフトバス管理手段でコンポーネント間のバスのモードを変更することで、ユーザの要求に応じて、レート再生モードやコマ送り再生モード等の再生モードを切替えることができる。
【００７１】
さらに、ユーザが再生しているフレームの識別子を一番上流にある部品に通知することで、再生モードの切り替えに掛かる時間を短縮し、且つ、スムーズな映像を再生することができる。
【００７２】
また、製造ラインのように必要な部分だけをピックアップし、上流の工程結果に今回の結果を付加する仕組みを構築することで、様々なニーズに応えた機能を実現することができる。
【図面の簡単な説明】
【図１】本発明の第１の実施形態における画像処理装置の構成を示すブロック図
【図２】第１の実施形態における画像処理の各手段の役割を示す図
【図３】第１の実施形態におけるコンポーネントの構成を示す図
【図４】第１の実施形態におけるコンポーネントの制御手続きと状態遷移を示す図
【図５】第１の実施形態における映像ソフトバス管理手段の構成を示す図
【図６】第１の実施形態における共有メモリのデータ構造を示す図
【図７】第１の実施形態における共有メモリのアクセス管理の仕様を示す図
【図８】第１の実施形態におけるタスクシナリオとコンポーネント情報のフォーマットを示す図
【図９】第１の実施形態におけるコンポーネントの共有を説明する図
【図１０】第１の実施形態におけるタスク解析管理手段の構成を示す図
【図１１】第１の実施形態におけるタスク解析管理手段の管理テーブルを示す図
【図１２】本発明の第２の実施形態における画像処理装置のパスの統合処理を示す図
【図１３】第２の実施形態におけるパスの統合処理を含むコンポーネントの共有化を示す図
【図１４】第２の実施形態におけるパスの統合処理手順を示す図
【図１５】第２の実施形態におけるパスの分割処理を示す図
【図１６】第２の実施形態におけるパスの分割処理を含むコンポーネントの共有化を示す図
【図１７】第２の実施形態におけるパスの分割処理手順を示す図
【図１８】第２の実施形態におけるパラメータの変更処理を示す図
【図１９】第２の実施形態におけるパラメータの変更処理を行なうタスク解析管理手段の構成を示す図
【図２０】本発明の第３の実施形態におけるタスク解析管理手段の構成を示す図
【図２１】第３の実施形態における画像処理装置の再生処理を説明する図
【図２２】第３の実施形態における画像処理装置の再生処理手順を示す図
【図２３】従来の画像処理装置の画像配信における課題を説明する図
【図２４】従来の画像処理装置の処理効率化に関する課題を説明する図
【図２５】従来の画像処理装置の再正系での課題を説明する図
【図２６】従来の画像処理装置のソフトウェア部品組み合わせ時の課題を説明する図
【図２７】従来の画像処理ソフトウェア自動生成装置の構成を示すブロック図
【図２８】従来の画像処理ソフトウェア自動生成装置で生成したソフトウェアを示す図
【符号の説明】
10  画像処理装置
11  タスク解析管理手段
12  コンポーネント管理手段
13  映像ソフトバス管理手段
14  タスク格納手段
15  タスクシナリオ情報
16  コンポーネント情報
17  コンポーネントライブラリ
18  タスク入力手段
21  データ格納領域
22  共有メモリ
23  アクセス管理部
30  タスク生成部品決定手段
31  タスク共有化判定手段
32  動作中タスク情報
41  カメラ
42  カメラ
43  マイク
44  端末
45  端末
46  端末
50  処理部品共有化判定手段
51  パラメータ変更手段
60  コンポーネント停止再開手段
61  映像ソフトバスモード変更手段
90  自動生成装置
91  結合候補判定部
92  結合部
93  格納装置
【図１】
0004086529.tif 000002
【図２】
0004086529.tif 000003
【図３】
0004086529.tif 000004
【図４】
0004086529.tif 000005
【図５】
0004086529.tif 000006
【図６】
0004086529.tif 000007
【図７】
0004086529.tif 000008
【図８】
0004086529.tif 000009
【図９】
0004086529.tif 000010
【図１０】
0004086529.tif 000011
【図１１】
0004086529.tif 000012
【図１２】
0004086529.tif 000013
【図１３】
0004086529.tif 000014
【図１４】
0004086529.tif 000015
【図１５】
0004086529.tif 000016
【図１６】
0004086529.tif 000017
【図１７】
0004086529.tif 000018
【図１８】
0004086529.tif 000019
【図１９】
0004086529.tif 000020
【図２０】
0004086529.tif 000021
【図２１】
0004086529.tif 000022
【図２２】
0004086529.tif 000023
【図２３】
0004086529.tif 000024
【図２４】
0004086529.tif 000025
【図２５】
0004086529.tif 000026
【図２６】
0004086529.tif 000027
【図２７】
0004086529.tif 000028
【図２８】
0004086529.tif 000029