(57)【要約】【課題】機能変更や機能拡張が容易で、接続手順も共通化・簡素化できるデータ変換器モジュールを提供する。  【解決手段】入力データを受信し，出力データを送信するトランスレートデータインタフェース４，プロパティ制御のために文字列パラメータからなるパラメータデータＰＤを送受信するプロパティインタフェース８，環境と状態を初期化するオープン/クローズインタフェース７を有するデータ変換器３と、オープン/クローズインタフェース７，トランスレートデータインタフェース４及びプロパティインタフェース８の内部インタフェースエントリ取得用のクエリインタフェース１０と、クエリインタフェースによってオープン，クローズ，プロパティ，トランスレートデータの４種類のインタフェースを動的に取得するためのＡＰＩインタフェース１５と、プロパティインタフェース８で指定できるコールバックインタフェース９とを備えるデータ変換器モジュール。【選択図】図１
2006309338.tif 000002
【特許請求の範囲】
【請求項１】
入力データを受信し，出力データを送信するトランスレートデータインタフェース，プロパティ制御のために文字列パラメータからなるパラメータデータを送受信するプロパティインタフェース，環境と状態を初期化するオープン/クローズインタフェースを有するデータ変換器と、
前記オープン/クローズインタフェース，前記トランスレートデータインタフェース及び前記プロパティインタフェースの内部インタフェースエントリ取得用のクエリインタフェースと、
前記クエリインタフェースによってオープン，クローズ，プロパティ，トランスレートデータの４種類のインタフェースを動的に取得するためのＡＰＩインタフェースと、
前記プロパティインタフェースで指定できるコールバックインタフェース
とを備えることを特徴とするデータ変換器モジュール。
【請求項２】
前記データ変換器はオーディオデコーダであり、前記パラメータデータは、前記オーディオデコーダを制御するオーディオパラメータのサンプリング周波数，チャネル数，使用フレームサイズを備えることを特徴とする請求項１記載のデータ変換器モジュール。
【請求項３】
前記データ変換器は、１つの入力データから複数の出力データ、或いは複数の入力データから１つの出力データを得るデータ変換、または複数の入力から複数の出力得るデータ変換を可能にすることを特徴とする請求項１記載のデータ変換器モジュール。
【請求項４】
前記データ変換器はＡＡＣデコーダであり、前記プロパティインタフェースは、前記ＡＡＣデコーダを制御するコマンドによって、デコードに必要なサンプリング周波数，チャンネル数，サンプルフレーム数及びデコードするＡＡＣモードを設定することを特徴とする請求項１記載のデータ変換器モジュール。
【請求項５】
プロパティ制御のために文字列パラメータからなるパラメータデータを送受信するプロパティインタフェース，環境と状態を初期化するオープン/クローズインタフェースを有し、データ変換を伴わない制御だけを行うヌルデータ変換用の制御モジュールと、
前記オープン/クローズインタフェース及び前記プロパティインタフェースの内部インタフェースエントリ取得用のクエリインタフェースと、
前記クエリインタフェースによってオープン，クローズ，プロパティ，トランスレートデータの４種類のインタフェースを動的に取得するためのＡＰＩインタフェースと、
前記プロパティインタフェースで指定できるコールバックインタフェース
とを備えることを特徴とするデータ変換器モジュール。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ変換器モジュールに関し、特に、コーデックなど多種多様なモジュールを、単に入力があり出力があるデータ変換器としてモジュール化するデータ変換器モジュールに関する。
【背景技術】
【０００２】
従来は、多くの種類のモジュールを作成すると、それぞれにパラメータや動作が異なるため、インタフェースをそれぞれのモジュール専用に作り込まなければならない。またモジュールの種類によってはパラメータの数等が違うため、インタフェースが多くなりすぎる可能性がある。モジュールの種類が少ないうちはまだ対応がとれるが、モジュールの種類が数十種となると、各モジュールのインタフェースが複雑に絡み合い実装が困難となる。各パラメータを、テーブルで情報を渡すにしてもテーブル構造が変わる度にそれぞれのテーブル構造に関係するモジュールを全てリコンパイルしなければならなくなる。また、モジュール間の組み替えを行いたい場合、インタフェースが多岐に渡るため容易にできない。そのため、結局は上位アプリケーション及びモジュールの作り直しをしなければならない。以上の問題点は、さまざまな種類のモジュールのインタフェースを共通化し、１つに統一しない限りつきまとう問題である。
【０００３】
広い範囲の種々の画像化装置の製造又は実施のための柔軟性を提供し、開発の時間やコストを充分にカットするための画像化装置及び複数の画像処理ユニットのためのソフトウェア制御を提供する方法については、既に開示されている（例えば、特許文献１参照。）。
【０００４】
或いは又、制御ソフトウェアモジュールの再利用性を高めるための分散制御システム及び分散制御システム用ソフトウェア設計支援システムについても、既に開示されている（例えば、特許文献２参照。）。
【特許文献１】特開平０７−２００７９８号公報
【特許文献２】特開２００５−３８２５１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明は、コーデックなど多種多様なモジュールを、単に入出力があるデータ変換器としてモジュール化し、機能変更や機能拡張を周囲の環境への影響を極力抑えながら容易に行うことができ、又コードレベルでの接続や組み替えが容易に可能であり、かつ接続手順も共通化でき、簡素化できるデータ変換器モジュールを提供する。
【課題を解決するための手段】
【０００６】
本発明の第１の特徴は、（イ）入力データを受信し，出力データを送信するトランスレートデータインタフェース，プロパティ制御のために文字列パラメータからなるパラメータデータを送受信するプロパティインタフェース，環境と状態を初期化するオープン/クローズインタフェースを有するデータ変換器と、（ロ）オープン/クローズインタフェース，トランスレートデータインタフェース及びプロパティインタフェースの内部インタフェースエントリ取得用のクエリインタフェースと、（ハ）クエリインタフェースによってオープン，クローズ，プロパティ，トランスレートデータの４種類のインタフェースを動的に取得するためのＡＰＩインタフェースと、（ニ）プロパティインタフェースで指定できるコールバックインタフェースとを備えるデータ変換器モジュールであることを要旨とする。
【０００７】
本発明の第２の特徴は、（イ）プロパティ制御のために文字列パラメータからなるパラメータデータを送受信するプロパティインタフェース，環境と状態を初期化するオープン/クローズインタフェースを有し、データ変換を伴わない制御だけを行うヌルデータ変換用の制御モジュールと、（ロ）オープン/クローズインタフェース及びプロパティインタフェースの内部インタフェースエントリ取得用のクエリインタフェースと、（ハ）プロパティインタフェースで指定できるコールバックインタフェースとを備えるデータ変換器モジュールであることを要旨とする。
【発明の効果】
【０００８】
本発明のデータ変換器モジュールによれば、コーデックなど多種多様なモジュールを、単に入出力があるデータ変換器としてモジュール化し、機能変更や機能拡張を周囲の環境への影響を極力抑えながら容易に行うことができ、又コードレベルでの接続や組み替えが容易に可能であり、かつ接続手順も共通化でき、簡素化できる。
【発明を実施するための最良の形態】
【０００９】
次に、図面を参照して、本発明の実施の形態を説明する。以下の図面の記載において、同一又は類似の部分には同一又は類似の符号を付している。ただし、図面は模式的なものであり、各ブロックの平面寸法等は現実のものとは異なることに留意すべきである。又、図面相互間においても互いの寸法の関係や比率が異なる部分が含まれていることはもちろんである。
【００１０】
また、以下に示す実施の形態は、この発明の技術的思想を具体化するための装置や方法を例示するものであって、この発明の技術的思想は、各ブロックの構成部品の配置等を下記のものに特定するものでない。この発明の技術的思想は、特許請求の範囲において、種々の変更を加えることができる。
【００１１】
本発明の実施の形態に係るデータ変換器モジュールは、コーデック等のデータの変換を行うデータ変換器の機能を、ソフトウェアで実現するものである。データ変換器を１つのモジュールとして捉え、入力データ機能と出力データ機能と、それらを制御する制御パラメータを有する。この制御パラメータは文字列で表現されるため、追加及び削除を簡単に行うことができ、データの入出力を行うソフトウェアライブラリに適用することができる。
【００１２】
本発明の実施の形態に係るデータ変換器モジュールは、データの入出力を伴うライブラリ全てに対応可能である。又、パラメータは任意で決めて良いため、拡張が容易である。
【００１３】
又、本発明の実施の形態に係るデータ変換器モジュールは、コマンドをテキスト文字列で扱うため、機能変更や機能拡張を周囲の環境への影響を極力抑えながらアプリケーション・プログラミング・インタフェース（ＡＰＩ）に影響を与えることなく行うことができる。
【００１４】
又、インタフェースが決まっているため、コードレベルでの接続や組み替えが容易で理解しやすい。更に、全てインタフェースが同じ仕組みのため、決まった手続きを書いておくことができるので接続手順も共通化でき、簡素化できる。更に又、データ変換モジュールのみならず、制御系のみを持つモジュールでも適用が可能である。
【００１５】
[第１の実施の形態]
本発明の第１の実施の形態に係るデータ変換器モジュール２０は、図１に示すように、入力データＩＤを受信し，出力データＯＤを送信するトランスレートデータ（TranslateData）インタフェース４，プロパティ（Property）制御のために文字列パラメータからなるパラメータデータＰＤを送受信するプロパティインタフェース８，環境と状態を初期化するオープン/クローズインタフェースを有するブラックボッックス化したデータ変換器３と、オープン/クローズインタフェース７，トランスレートデータインタフェース４及びプロパティインタフェース８の内部インタフェースエントリ取得用のクエリインタフェース１０と、クエリインタフェース１０によってオープン，クローズ，プロパティ，トランスレートデータの４種類のインタフェースを動的に取得するためのＡＰＩインタフェース１５と、プロパティインタフェース８で指定できるコールバック(割り込み)インタフェース９とを備える。
【００１６】
ここで、データ変換器３は、入出力インタフェース兼用のトランスレートデータインタフェース４，プロパティ制御のために文字列パラメータからなるパラメータデータＰＤを受信するプロパティインタフェース８，オープン/クローズを初期化するオープン/クローズインタフェース７を有する。
【００１７】
トランスレートデータインタフェース４は、入力と出力のインタフェースを併せ持つインタフェースである。このトランスレートデータインタフェース４によって、実際のデータ変換を行う。
【００１８】
オープン/クローズインタフェース７は、環境と状態を初期化し、動作環境設定を行う。
【００１９】
クエリインタフェース１０は、一番最初に外部とのやりとりを行う静的な外部インタフェースであって、静的外部インタフェースとしては、１つデータ変換器モジュール２０につき１つ存在する。このクエリインタフェース１０を介して、データ変換器３内部のオープン/クローズインタフェース７，トランスレートデータインタフェース４及びプロパティインタフェース８の内部インタフェースエントリを取得し、４つのインタフェースのアクセスを可能にする。
【００２０】
図１において、入力データＩＤ受信し，出力データＯＤを送信する入出力インタフェース兼用のトランスレートデータインタフェース４及びパラメータデータＰＤを送受信するプロパティインタフェース８は、データ変換器モジュール２０から見て、受け身の制御を行い，指令された通りに実行する受動的アクションを行う。
【００２１】
一方、コールバック(割り込み)インタフェース９は、データ変換器モジュール２０から見て、要求的制御を行い，上位に指令を要求する能動的アクションを行う。
【００２２】
又、ＡＰＩインタフェース１５は、クエリインタフェース１０によってオープン，クローズ，プロパティ，トランスレートデータの４種類インタフェースを動的に取得するためのインタフェースを構成する。
【００２３】
本発明の第１の実施の形態に係るデータ変換器モジュール２０は、データ変換器３の組み込み例に対応している。ここで、データ変換器３とデータ変換器３に関連する全てのデータ変換器モジュール２０をＩＰモジュールと呼ぶ。
【００２４】
クエリインタフェース１０において、オープン，クローズ，プロパティ，トランスレートデータの４種類からなるＡＰＩインタフェース１５を動的に取得する。
【００２５】
全てのアクセスは、クエリインタフェース１０で取得したＡＰＩインタフェース１５を介してデータ変換器３とデータ変換器３に関連するＩＰモジュールのアクセスを行う。
【００２６】
ＡＰＩインタフェース１５は全てのＩＰモジュールで共通であり、個数も決まっていて、引数も共通で定義されているものである。
【００２７】
本発明の第１の実施の形態として、データ変換器３に適用するデータ変換器モジュール２０では、ＡＰＩインタフェース１５は、オープン，クローズ，プロパティ，トランスレートデータの４種類のインタフェースを全てのＩＰモジュールで共通化している。
【００２８】
本発明の第１の実施の形態に係るデータ変換器モジュールは、１つのインタフェース取得関数と、データ変換器の中に複数のインタフェースを持つ構成を備え、組み込み機器への静的なソフトウェアライブラリモジュールへの適用を容易にしている。
【００２９】
又、１つのデータ変換器モジュールに対しては、外部インタフェースは１つのみであり、実際に使用するインタフェースは動的に複数取得するプラグイン構造を備える。
【００３０】
又、データの入力があり、データの出力がある各種のマルチメディアコーデックミドルウェアなど全てのデータ変換を成すモジュールに適用可能である。
【００３１】
又、ソフトウェアライブラリモジュールには、入力データがあり、出力データがあるモジュールに適用可能である。
【００３２】
又、全てのインタフェースの数と使用方法を統一することで、モジュールの独立性や部品化を容易にすることもできる。各モジュールは全てのインタフェースが統一されているため、ブロックを組み立てるイメージで容易に構成することができる。
【００３３】
又、各モジュールのコマンドのやりとりは、全てテキスト文字列ベースのコマンドで行うことができる。コマンドの定義を任意に行うことができるため、機能拡張などを外部インタフェースを修正することなく、機能追加を行うことができる。更に又、コマンドは文字列であるために、複数のコマンドを同時に指定することもできる。
【００３４】
本発明の第１の実施の形態に係るデータ変換器モジュール２０においては、コーデックなどのデータ入出力を伴うデータ変換器３を、１つのモジュールとして捉え、ブラックボックスとして扱う。
【００３５】
図１において、一般的なデータの流れを追って説明する。何らかの入力データＩＤがあり、何らかの出力データＯＤがあるデータ変換器３で、データ変換器３をコントロールするパラメータデータＰＤがあるものとして考える。
【００３６】
データ変換器３をコントロールするパラメータデータＰＤはテキストの文字列で表され、このテキストの文字列によりデータ変換器３のモジュールとしての動作を決定したり、制御したりする。
【００３７】
データ変換器３をコントロールするパラメータデータＰＤが文字列であることから、追加削除がデータ構造にとらわれず容易に行え、モジュールの独立性も上がる。
【００３８】
インタフェースとしては、データ入出力の口のトランスレートデータインタフェース４と、パラメータの入出力の口のプロパティインタフェース８があるにすぎないため、インタフェース的には至って単純なモジュールである。
【００３９】
これらのトランスレートデータインタフェース４とプロパティインタフェース８からなるインタフェースで、各種のいろいろなデータの制御をプロパティインタフェース８で文字列のコマンドとして制御する。
【００４０】
オープン/クローズインタフェース７、トランスレートデータインタフェース４及びプロパティインタフェース８は、全てクエリインタフェース１０より内部インタフェースエントリを取得し、制御を行う構造である。
【００４１】
各データ変換器モジュール２０の持つインタフェースは、クエリインタフェース１０がただ１つであり、このクエリインタフェース１０をベースに必要なトランスレートデータインタフェース４やプロパティインタフェース８、オープン/クローズインタフェース７等のインタフェ―ス群を取得する手法を用いる。
【００４２】
これにより、１つのデータ変換器モジュール２０に対して１つの外部インタフェース（クエリインタフェース１０）を定義すれば済み、組み込みが容易になる。１つのデータ変換器モジュール２０の取得するインタフェース群も決まっており、１つの手続きで使用可能となる。ドライバ等のモジュールでは能動的に制御を上位に渡さないと成立しないものもあるので、プロパティインタフェース８でコールバックインタフェース９を指定できる仕組を用意してある。
【００４３】
本発明の第１の実施の形態に係るデータ変換器モジュールは、コーデック等のデータの変換を行うデータ変換器の機能を、ソフトウェアで実現するものである。データ変換器を１つのモジュールとして捉え、入力データ機能と出力データ機能と、それらを制御する制御パラメータを有する。この制御パラメータは文字列で表現されるため、追加及び削除を簡単に行うことができる。
【００４４】
本発明の実施の形態に係るデータ変換器モジュールは、データの入出力を伴うライブラリ全てに対応可能である。又、パラメータは任意で決めて良いため、拡張が容易である。又、本発明の第１の実施の形態に係るデータ変換器モジュールは、コマンドをテキスト文字列で扱うため、周囲の環境への影響を極力抑えながらアプリケーション・プログラミング・インタフェース（ＡＰＩ）に影響を与えることなく、機能変更や機能拡張が容易に可能である。又、インタフェースが決まっているため、コードレベルでの接続や組み替えが容易に可能であり、かつ理解しやすい。更に、全てインタフェースが同じ仕組みのため、決まった手続きを書いておくことができ、接続手順も共通化可能であり、簡素化できる。
【００４５】
[第２の実施の形態]
本発明の第２の実施の形態として、オーディオデコーダ１１に適用するデータ変換器モジュール２０は、図２に示すように、入力される符号化圧縮ストリーミングデータＳＤの入力データを受信し，リニアＰＣＭデータＤＤとその出力データサイズＤＳの出力データを送信するトランスレートデータインタフェース４，プロパティ制御のために文字列パラメータからなるパラメータデータＰＤを送受信するプロパティインタフェース８，環境と状態を初期化するオープン/クローズインタフェース７を有するブラックボッックス化したオーディオデコーダ１１と、オープン/クローズインタフェース７，トランスレートデータインタフェース４及びプロパティインタフェース８の内部インタフェースエントリ取得用のクエリインタフェース１０と、クエリインタフェース１０によってオープン，クローズ，プロパティ，トランスレートデータの４種類のインタフェースを動的に取得するためのＡＰＩインタフェース１５と、プロパティインタフェース８で指定できるコールバックインタフェース９とを備える。
【００４６】
トランスレートデータインタフェース４は、入力と出力のインタフェースを併せ持つインタフェースである。このトランスレートデータインタフェース４によって、実際のデータ変換を行う。
【００４７】
オープン/クローズインタフェース７は、環境と状態を初期化し、動作環境設定を行う。
【００４８】
クエリインタフェース１０は、一番最初に外部とのやりとりを行う静的な外部インタフェースであって、静的外部インタフェースとしては、１つデータ変換器モジュール２０につき１つ存在する。このクエリインタフェース１０を介して、オーディオデコーダ１１内部のオープン/クローズインタフェース７，トランスレートデータインタフェース４及びプロパティインタフェース８の内部インタフェースエントリを取得し、４つのインタフェースのアクセスを可能にする。
【００４９】
図１において、入力データＩＤ受信し，出力データＯＤを送信する入出力インタフェース兼用のトランスレートデータインタフェース及びパラメータデータＰＤを送受信するプロパティインタフェース８は、データ変換器モジュール２０から見て、受け身の制御を行い，指令された通りに実行する受動的アクションを行う。
【００５０】
一方、コールバック(割り込み)インタフェース９は、データ変換器モジュール２０から見て、要求的制御を行い，上位に指令を要求する能動的アクションを行う。
【００５１】
又、ＡＰＩインタフェース１５は、クエリインタフェース１０によってオープン，クローズ，プロパティ，トランスレートデータの４種類インタフェースを動的に取得するためのインタフェースを構成する。
【００５２】
本発明の第２の実施の形態に係るデータ変換器モジュール２０は、オーディオデコーダ１１の組み込み例に対応している。ここで、オーディオデコーダ１１とオーディオデコーダ１１に関連する全てのデータ変換器モジュール２０をＩＰモジュールと呼ぶ。
【００５３】
クエリインタフェース１０において、オープン，クローズ，プロパティ，トランスレートデータの４種類からなるＡＰＩインタフェース１５を動的に取得する。
【００５４】
全てのアクセスは、クエリインタフェース１０で取得したＡＰＩインタフェース１５を介してオーディオデコーダ１１とオーディオデコーダ１１に関連するＩＰモジュールのアクセスを行う。
【００５５】
ＡＰＩインタフェース１５は全てのＩＰモジュールで共通であり、個数も決まっていて、引数も共通で定義されているものである。
【００５６】
本発明の第２の実施の形態として、オーディオデコーダ１１に適用するデータ変換器モジュール２０では、ＡＰＩインタフェース１５は、オープン，クローズ，プロパティ，トランスレートデータの４種類のインタフェースを全てのＩＰモジュールで共通化している。
【００５７】
本発明の第２の実施の形態として、オーディオデコーダ１１に適用するデータ変換器モジュール２０を使用した場合、入力としては圧縮されたストリーミングデータＳＤ、出力としては圧縮を解かれたデータ(デコードされたリニアＰＣＭデータ)ＤＤとその出力データサイズＤＳ、パラメータデータＰＤとしては、サンプリング周波数Ｆｓ、チャンネル数ＮＣＨ、デコードで使用した使用フレームサイズＦＬ等を有する。
【００５８】
トランスレートデータインタフェース４でデータの変換を一度に引き受ける。
【００５９】
パラメータデータＰＤはテキストのコマンド形式で表されており、任意に配置して送り出したり読み出したりすることができる。
【００６０】
又、本発明の第２の実施の形態として、オーディオデコーダ１１に適用するデータ変換器モジュール２０においては、モジュール単位で必要なパラメータを共通コマンドとして取り決めておけば、共通コマンド情報が必要なモジュールのみ、共通コマンド情報を受け取り、動作を決定することも可能である。定義されていないパラメータは無視すればよい。
【００６１】
本発明の第２の実施の形態として、オーディオデコーダ１１に適用するデータ変換器モジュール２０においては、インタフェースとしては、このトランスレートデータインタフェース４とプロパティインタフェース８の２つを有するのみで、全ての制御を行っている。
【００６２】
本発明の第２の実施の形態に係るデータ変換器モジュールは、オーディオデコーダ１１のデータの変換機能を、ソフトウェアで実現するものである。オーディオデコーダ１１を１つのモジュールとして捉え、入力データ機能と出力データ機能と、それらを制御する制御パラメータを有する。この制御パラメータは文字列で表現されるため、追加及び削除を簡単に行うことができる。
【００６３】
本発明の第２の実施の形態に係るデータ変換器モジュール２０は、データの入出力を伴うライブラリ全てに対応可能である。又、パラメータは任意で決めて良いため、拡張が容易である。
【００６４】
又、本発明の第２の実施の形態に係るデータ変換器モジュール２０は、オーディオデコーダ１１を制御するオーディオパラメータのサンプリング周波数Ｆｓ，チャンネル数ＮＣＨ，使用フレームサイズＦＬからなるパラメータデータＰＤのコマンドをテキスト文字列で扱うため、機能変更や機能拡張が周囲の環境への影響を極力抑えながらアプリケーション・プログラミング・インタフェース（ＡＰＩ）に影響を与えることなく行うことができる。又、インタフェースが決まっているため、コードレベルでの接続や組み替えが容易に可能である。又、インタフェースが決まっているため、コードレベルでの接続や組み替えが容易に可能であり、かつ理解しやすい。更に、全てインタフェースが同じ仕組みのため、決まった手続きを書いておくことができ、接続手順も共通化可能であり、簡素化できる。
【００６５】
[第３の実施の形態]
本発明の第３の実施の形態として、デマルチプレクサ１２に適用するデータ変換器モジュール２０は、図３に示すように、入力データＩＤを受信し，分離した出力データＯＤＡ，ＯＤＢを送信するトランスレートデータインタフェース４，プロパティ制御のために情報ＩＦＡ〜ＩＦＤからなるパラメータデータＰＤを送受信するプロパティインタフェース８，環境と状態を初期化するオープン/クローズインタフェース７を有するブラックボッックス化したデマルチプレクサ１２と、オープン/クローズインタフェース７，トランスレートデータインタフェース４及びプロパティインタフェースの内部インタフェースエントリ取得用のクエリインタフェースと、クエリインタフェース１０によってオープン，クローズ，プロパティ，トランスレートデータの４種類のインタフェースを動的に取得するためのＡＰＩインタフェース１５と、プロパティインタフェース８で指定できるコールバックインタフェース９とを備える。
【００６６】
トランスレートデータインタフェース４は、入力と出力のインタフェースを併せ持つインタフェースである。このトランスレートデータインタフェース４によって、実際のデータ変換を行う。
【００６７】
オープン/クローズインタフェース７は、環境と状態を初期化し、動作環境設定を行う。
【００６８】
クエリインタフェース１０は、一番最初に外部とのやりとりを行う静的な外部インタフェースであって、静的外部インタフェースとしては、１つデータ変換器モジュール２０につき１つ存在する。このクエリインタフェース１０を介して、デマルチプレクサ１２内部のオープン/クローズインタフェース７，トランスレートデータインタフェース４及びプロパティインタフェース８の内部インタフェースエントリを取得し、４つのインタフェースのアクセスを可能にする。
【００６９】
図１において、入力データＩＤ受信し，分離された出力データＯＤＡ，ＯＤＢを送信する入出力インタフェース兼用のトランスレートデータインタフェース４及び情報ＩＦＡ〜ＩＦＤからなるパラメータデータＰＤを送受信するプロパティインタフェース８は、データ変換器モジュール２０から見て、受け身の制御を行い，指令された通りに実行する受動的アクションを行う。
【００７０】
一方、コールバック(割り込み)インタフェース９は、データ変換器モジュール２０から見て、要求的制御を行い，上位に指令を要求する能動的アクションを行う。
【００７１】
又、ＡＰＩインタフェース１５は、クエリインタフェース１０によってオープン，クローズ，プロパティ，トランスレートデータの４種類インタフェースを動的に取得するためのインタフェースを構成する。
【００７２】
本発明の第３の実施の形態に係るデータ変換器モジュール２０は、デマルチプレクサ１２の組み込み例に対応している。ここで、デマルチプレクサ１２とデマルチプレクサ１２に関連する全てのデータ変換器モジュール２０をＩＰモジュールと呼ぶ。
【００７３】
クエリインタフェース１０において、オープン，クローズ，プロパティ，トランスレートデータの４種類からなるＡＰＩインタフェース１５を動的に取得する。
【００７４】
全てのアクセスは、クエリインタフェース１０で取得したＡＰＩインタフェース１５を介してデマルチプレクサ１２とデマルチプレクサ１２に関連するＩＰモジュールのアクセスを行う。
【００７５】
ＡＰＩインタフェース１５は全てのＩＰモジュールで共通であり、個数も決まっていて、引数も共通で定義されているものである。
【００７６】
本発明の第３の実施の形態として、デマルチプレクサ１２に適用するデータ変換器モジュール２０では、ＡＰＩインタフェース１５は、オープン，クローズ，プロパティ，トランスレートデータの４種類のインタフェースを全てのＩＰモジュールで共通化している。
【００７７】
又、本発明の第３の実施の形態として、デマルチプレクサ１２に適用するデータ変換器モジュール２０は、１つの入力から複数の出力、或いは複数の入力から１つの出力、または複数の入力から複数の出力を得るなどのデータ変換も可能にする。
【００７８】
本発明の第３の実施の形態として、デマルチプレクサ１２に適用するデータ変換器モジュール２０は、図３に示すように、デマルチプレクサ１２の１入力に対して複数出力を有する例を示している。
【００７９】
本発明の第３の実施の形態として、デマルチプレクサ１２に適用するデータ変換器モジュール２０において、分離した複数の出力データインタフェース２１，２２を有する構成は、トランスレートデータインタフェース４の出力の口の配列を定義できる形式にしておいて、任意にデータ列を指定可能にすることで対応している。
【００８０】
本発明の第３の実施の形態の変形例として、マルチプレクサ等に適用するデータ変換器モジュールのように、複数入力に対して１出力を有するデータ変換器モジュールの構成も第３の実施の形態と同様に構成することができる。
【００８１】
トランスレートデータインタフェース４を介して入力データＩＤから複数の出力データＯＤＡ，ＯＤＢを出力する。
【００８２】
デマルチプレクサ１２で取得できた情報は、いつでもプロパティインタフェース８で取得可能である。
【００８３】
本発明の第３の実施の形態に係るデータ変換器モジュールは、デマルチプレクサのデータの変換機能を、ソフトウェアで実現するものである。デマルチプレクサを１つのモジュールとして捉え、入力データ機能と出力データ機能と、それらを制御する制御パラメータを有する。この制御パラメータは文字列で表現されるため、追加及び削除を簡単に行うことができる。
【００８４】
本発明の第３の実施の形態に係るデータ変換器モジュールは、データの入出力を伴うライブラリ全てに対応可能である。又、パラメータは任意で決めて良いため、拡張が容易である。
【００８５】
又、本発明の第３の実施の形態に係るデータ変換器モジュールは、デマルチプレクサ１２を制御する情報ＩＦＡ〜ＩＦＤからなるパラメータデータＰＤのコマンドをテキスト文字列で扱うため、機能変更や機能拡張が周囲の環境への影響を極力抑えながらアプリケーション・プログラミング・インタフェース（ＡＰＩ）に影響を与えることなく行うことができる。又、インタフェースが決まっているため、コードレベルでの接続や組み替えが容易に可能であり、かつ理解しやすい。更に、全てインタフェースが同じ仕組みのため、決まった手続きを書いておくことができ、接続手順も共通化可能であり、簡素化できる。
【００８６】
[第４の実施の形態]
本発明の第４の実施の形態として、制御モジュール１３に適用するデータ変換器モジュール２０は、図４に示すように、プロパティ制御のために文字列パラメータからなるパラメータデータＰＤを送受信するプロパティインタフェース８，環境と状態を初期化するオープン/クローズインタフェース７を有し、データ変換を伴わない制御だけを行うヌルデータ変換用の制御モジュール１３と、オープン/クローズインタフェース７及びプロパティインタフェース８の内部インタフェースエントリ取得用のクエリインタフェース１０と、クエリインタフェース１０によってオープン，クローズ，プロパティ，トランスレートデータの４種類のインタフェースを動的に取得するためのＡＰＩインタフェース１５と、プロパティインタフェース８で指定できるコールバック(割り込み)インタフェース９とを備える。
【００８７】
制御モジュール１３は、データ変換を行わないヌルデータ変換モジュールとして制御系だけを備える。
【００８８】
プロパティインタフェース８においては、各種のいろいろなデータの制御を文字列のコマンドとして制御する。
【００８９】
データ変換の入出力を全く伴わない制御モジュール１３に対しても本発明の第１乃至第３の実施の形態に係るデータ変換器モジュール２０と同様のモジュール化が可能である。トランスレートデータインタフェース４は存在しても、全く意味が無く、機能しないインタフェースとなる。
【００９０】
コールバック(割り込み)インタフェース９は、データ変換器モジュール２０から見て、要求的制御を行い，上位に指令を要求する能動的アクションを行う。
【００９１】
又、ＡＰＩインタフェース１５は、クエリインタフェース１０によってオープン，クローズ，プロパティ，トランスレートデータの４種類インタフェースを動的に取得するためのインタフェースを構成する。
【００９２】
本発明の第４の実施の形態に係るデータ変換器モジュール２０は、制御モジュール１３の組み込み例に対応している。ここで、制御モジュール１３と制御モジュール１３に関連する全てのデータ変換器モジュール２０をＩＰモジュールと呼ぶ。
【００９３】
クエリインタフェース１０において、オープン，クローズ，プロパティ，トランスレートデータの４種類からなるＡＰＩインタフェース１５を動的に取得する。
【００９４】
全てのアクセスは、クエリインタフェース１０で取得したＡＰＩインタフェース１５を介して制御モジュール１３と制御モジュール１３に関連するＩＰモジュールのアクセスを行う。
【００９５】
ＡＰＩインタフェース１５は全てのＩＰモジュールで共通であり、個数も決まっていて、引数も共通で定義されているものである。
【００９６】
本発明の第４の実施の形態として、制御モジュール１３に適用するデータ変換器モジュール２０では、ＡＰＩインタフェース１５は、オープン，クローズ，プロパティ，トランスレートデータの４種類のインタフェースを全てのＩＰモジュールで共通化している。
【００９７】
本発明の第４の実施の形態に係るデータ変換器モジュール２０は、制御モジュール１３を制御するパラメータデータＰＤと、制御モジュール１３のプロパティ制御のためのプロパティインタフェース８のみで制御を行う。このデータ変換器モジュール２０はデータ変換を伴わない制御モジュールとして制御系だけを備え、データ入出力が存在しないヌルモジュールとして定義される。
【００９８】
本発明の第４の実施の形態の変形例として、マルチタスクモニタやタイマドライバ等からなる，制御系のみを持つ制御モジュール１３も同様に構成することができる。
【００９９】
本発明の第４の実施の形態に係るデータ変換器モジュールは、データ変換の入出力を全く伴わない制御モジュール１３の制御機能を、ソフトウェアで実現するものである。データ変換の入出力を全く伴わない制御モジュール１３を１つのモジュールとして捉え、制御モジュール１３を制御する制御パラメータを有する。この制御パラメータは文字列で表現されるため、追加及び削除を簡単に行うことができる。
【０１００】
本発明の第４の実施の形態に係るデータ変換器モジュールは、データの入出力を伴わないライブラリ全てに対応可能である。又、パラメータは任意で決めて良いため、拡張が容易である。
【０１０１】
又、本発明の第４の実施の形態に係るデータ変換器モジュールは、制御モジュール１３を制御するパラメータデータＰＤのコマンドをテキスト文字列で扱うため、機能変更や機能拡張が周囲の環境への影響を極力抑えながらアプリケーション・プログラミング・インタフェース（ＡＰＩ）に影響を与えることなく行うことができる。又、インタフェースが決まっているため、コードレベルでの接続や組み替えが容易で理解しやすい。更に、全てインタフェースが同じ仕組みのため、決まった手続きを書いておくことができるので、接続手順も共通化でき、簡素化できる。
【０１０２】
[第５の実施の形態]
（全体構成）
本発明の第５の実施の形態として、ＡＡＣ（Advanced Audio Coding）デコーダ１４に適用するデータ変換器モジュール２０は、図５に示すように、入力トランスレートデータＴＩＤを受信し，出力トランスレートデータＴＯＤを送信するトランスレートデータインタフェース４，プロパティ制御のために文字列パラメータからなるパラメータデータＰＤを送受信するプロパティインタフェース８，環境と状態を初期化するオープン/クローズインタフェースを有するブラックボッックス化したデータ変換器３と、オープン/クローズインタフェース７，トランスレートデータインタフェース４及びプロパティインタフェース８の内部インタフェースエントリ取得用のクエリインタフェース１０と、クエリインタフェース１０によってオープン，クローズ，プロパティ，トランスレートデータの４種類のインタフェースを動的に取得するためのＡＰＩインタフェース１５と、プロパティインタフェース８で指定できるコールバック(割り込み)インタフェース９とを備える。プロパティインタフェース８は、ＡＡＣデコーダ１４を制御するコマンドによって、デコードに必要なサンプリング周波数，チャンネル数，サンプルフレーム数及びデコードするＡＡＣモードを設定する。
【０１０３】
ここで、ＡＡＣデコーダ１４は、入出力インタフェース兼用のトランスレートデータインタフェース４，プロパティ制御のために文字列パラメータからなるパラメータデータＰＤを受信するプロパティインタフェース８，オープン/クローズを初期化するオープン/クローズインタフェース７を有する。
【０１０４】
トランスレートデータインタフェース４は、入力と出力のインタフェースを併せ持つインタフェースである。このトランスレートデータインタフェース４によって、実際のデータ変換を行う。
【０１０５】
オープン/クローズインタフェース７は、環境と状態を初期化し、動作環境設定を行う。
【０１０６】
クエリインタフェース１０は、一番最初に外部とのやりとりを行う静的な外部インタフェースであって、静的外部インタフェースとしては、１つデータ変換器モジュール２０につき１つ存在する。このクエリインタフェース１０を介して、ＡＡＣデコーダ１４内部のオープン/クローズインタフェース７，トランスレートデータインタフェース４及びプロパティインタフェース８の内部インタフェースエントリを取得し、４つのインタフェースのアクセスを可能にする。
【０１０７】
図５において、入力トランスレートデータＴＩＤ受信し，出力トランスレートデータＴＯＤを送信する入出力インタフェース兼用のトランスレートデータインタフェース４及びパラメータデータＰＤを送受信するプロパティインタフェース８は、データ変換器モジュール２０から見て、受け身の制御を行い，指令された通りに実行する受動的アクションを行う。
【０１０８】
一方、コールバック(割り込み)インタフェース９は、データ変換器モジュール２０から見て、要求的制御を行い，上位に指令を要求する能動的アクションを行う。
【０１０９】
又、ＡＰＩインタフェース１５は、クエリインタフェース１０によってオープン，クローズ，プロパティ，トランスレートデータの４種類インタフェースを動的に取得するためのインタフェースを構成する。
【０１１０】
本発明の第５の実施の形態に係るデータ変換器モジュール２０は、ＡＡＣデコーダ１４の組み込み例に対応している。以下は、ＡＡＣデコーダ１４を実装した場合の具体的な例を説明する。
【０１１１】
ここで、ＡＡＣデコーダ１４とＡＡＣデコーダ１４に関連する全てのデータ変換器モジュール２０をＩＰモジュールと呼ぶ。
【０１１２】
クエリインタフェース１０において、オープン，クローズ，プロパティ，トランスレートデータの４種類からなるＡＰＩインタフェース１５を動的に取得する。
【０１１３】
今後全てのアクセスは、クエリインタフェース１０で取得したＡＰＩインタフェース１５を介してＡＡＣデコーダ１４とＡＡＣデコーダ１４に関連するＩＰモジュールのアクセスを行う。
【０１１４】
ＡＰＩインタフェース１５は全てのＩＰモジュールで共通であり、個数も決まっていて、引数も共通で定義されているものである。
【０１１５】
本発明の第５の実施の形態として、ＡＡＣデコーダ１４に適用するデータ変換器モジュール２０では、ＡＰＩインタフェース１５は、オープン，クローズ，プロパティ，トランスレートデータの４種類のインタフェースを全てのＩＰモジュールで共通化している。
【０１１６】
（動作方法）
本発明の第５の実施の形態として、ＡＡＣデコーダ１４に適用するデータ変換器モジュール２０において、プロパティで使用するコマンド一覧の例は、図６に示す通りである。
【０１１７】
又、本発明の第５の実施の形態として、ＡＡＣデコーダ１４に適用するデータ変換器モジュール２０において、動作プログラムの例は、図７に示す通りである。
【０１１８】
更に又、図７に対応した主要部における動作フローチャートの例は、図８に示す通りである。
【０１１９】
以下、本発明の第５の実施の形態に係るＡＡＣデコーダ１４に適用するデータ変換器モジュール２０の動作方法を説明する。
【０１２０】
（ａ）まず、ステップＳ０において、スタートする。
【０１２１】
（ｂ）次に、ステップＳ１において、クエリインタフェース１０によってオープン，クローズ，プロパティ，トランスレートデータの４種類を動的に取得するためのＡＰＩインタフェース１５に対する問い合わせを行う。
【０１２２】
（ｃ）次に、ステップＳ２において、プロパティインタフェース８のコマンド“Ｃ３”により、ＡＡＣデコーダ１４のＩＰモジュールで使用する環境サイズを取得する。
【０１２３】
（ｄ）次に、ステップＳ３において、モジュールオブジェクトを生成し、ＡＰＩインタフェース１５のオープン（Open）でその環境をＡＡＣデコーダ１４に渡す。環境領域は、上位のアプリケーションで確保したメモリ領域を使用し、ＡＡＣデコーダ１４のＩＰモジュール自体は全てこの渡された環境を作業領域として使用する。環境領域を独立にオープン（Open）にできるため、複数の同一機能のオブジェクトを生成でき、スレッドセーフ構造を構成できる。以後、ＡＡＣデコーダ１４のＩＰモジュールは、この領域を作業領域として全てこの中で作業を行う。
【０１２４】
（ｅ）次に、ステップＳ４において、ＡＡＣデコーダ１４の初期値設定を行う。例えば、プロパティインタフェース８のコマンド“Ｃ１００”によってデコードに必要なサンプリング周波数Ｆｓを設定し、コマンド“Ｃ１０１”によってチャンネル数ＮＣＨを設定し、コマンド“Ｃ１０２”によってサンプルフレーム数を設定し、コマンド“Ｃ４０３”によってデコードするＡＡＣモードを設定する。
【０１２５】
（ｆ）次に、ステップＳ５において、ＡＡＣデコーダ１４が入力トランスレートデータＴＩＤを読み込む。
【０１２６】
（ｇ）次に、ステップＳ６において、ＡＡＣデコーダ１４が入力トランスレートデータＴＩＤの読み込みを終了したか否かを判断する。
【０１２７】
（ｈ）次に、ステップＳ６において、ＮＯであるならば、ステップＳ７に移行し、トランスレートデータインタフェース４で実際のデータ変換を行う。具体的には、入力したＡＡＣデコーダ１４のＲＡＷデータである入力トランスレートデータＴＩＤをトランスレートデータインタフェース４に渡し、データ変換後の出力トランスレートデータＴＯＤとしてＰＣＭデータを出力する。入力で使用したフレームサイズＦＬは、トランスレートデータインタフェース４の入力サイズとなる。また後で直前のデータ変換で使用したフレームサイズＦＬを取得可能なように、プロパティインタフェース８のコマンド“Ｃ３００”による取得の方法も用意されている。
【０１２８】
（ｉ）次に、ステップＳ８において、データ変換後の出力トランスレートデータＴＯＤを書き出し、ステップＳ５に戻る。このループ処理において、入力で使用したデータフレームサイズ分をシフトして、再度トランスレートデータインタフェース４に渡し、データ変換を継続させる。
【０１２９】
（ｊ）ステップＳ６において、ＹＥＳであるならば、ステップＳ９に移行し、クローズ（Close）処理、環境開放等の処理を実行する。
【０１３０】
（ｋ）次に、ステップＳ１０において、ＡＡＣデコーダ１４のＩＰモジュールを終了させる。
【０１３１】
本発明の第５の実施の形態に係るデータ変換器モジュール２０は、ＡＡＣデコーダ１４のデータ変換機能を、ソフトウェアで実現するものである。ＡＡＣデコーダ１４を１つのモジュルとして捉え、入力データ機能と出力データ機能と、それらを制御する制御パラメータを有する。この制御パラメータは文字列で表現されるため、追加及び削除を簡単に行うことができる。
【０１３２】
本発明の第５の実施の形態に係るデータ変換器モジュール２０は、データの入出力を伴うライブラリ全てに対応可能である。又、パラメータは任意で決めて良いため、拡張が容易である。又、本発明の第５の実施の形態に係るデータ変換器モジュール２０は、コマンドをテキスト文字列で扱うため、機能変更や機能拡張が周囲の環境への影響を極力抑えながらアプリケーション・プログラミング・インタフェース（ＡＰＩ）に影響を与えることなく行うことができる。又、インタフェースが決まっているため、コードレベルでの接続や組み替えが容易に可能であり、かつ理解しやすい。更に、全てインタフェースが同じ仕組みのため、決まった手続きを書いておくことができ、接続手順も共通化可能であり、簡素化できる。
【０１３３】
[その他の実施の形態]
上記のように、本発明は第１乃至第５の実施の形態によって記載したが、この開示の一部をなす論述および図面はこの発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施の形態、実施例および運用技術が明らかとなろう。
【０１３４】
このように、本発明はここでは記載していない様々な実施の形態等を含むことは勿論である。したがって、本発明の技術的範囲は上記の説明から妥当な特許請求の範囲に係る発明特定事項によってのみ定められるものである。
【図面の簡単な説明】
【０１３５】
【図１】本発明の第１の実施の形態に係るデータ変換器モジュールの模式的ブロック構成図。
【図２】本発明の第２の実施の形態として、オーディオデコーダに適用するデータ変換器モジュールの模式的ブロック構成図。
【図３】本発明の第３の実施の形態として、デマルチプレクサに適用するデータ変換器モジュールの模式的ブロック構成図。
【図４】本発明の第４の実施の形態として、制御モジュールに適用するデータ変換器モジュールの模式的ブロック構成図。
【図５】本発明の第５の実施の形態として、ＡＡＣデコーダに適用するデータ変換器モジュールの模式的ブロック構成図。
【図６】本発明の第５の実施の形態として、ＡＡＣデコーダに適用するデータ変換器モジュールにおいて、プロパティで使用するコマンド一覧の例。
【図７】本発明の第５の実施の形態として、ＡＡＣデコーダに適用するデータ変換器モジュールにおいて、動作プログラムの例。
【図８】本発明の第５の実施の形態として、ＡＡＣデコーダに適用するデータ変換器モジュールにおいて、主要部における動作フローチャートの例。
【符号の説明】
【０１３６】
３…データ変換器
４…トランスレートデータインタフェース
７…オープン／クローズインタフェース
８…プロパティインタフェース
９…コールバックインタフェース
１０…クエリインタフェース
１１…オーディオデコーダ
１２…デマルチプレクサ
１３…制御モジュール
１４…ＡＡＣデコーダ
１５…ＡＰＩインタフェース
２０…データ変換器モジュール
Ｓ１〜Ｓ１０…ステップ
【図１】
2006309338.tif 000003
【図２】
2006309338.tif 000004
【図３】
2006309338.tif 000005
【図４】
2006309338.tif 000006
【図５】
2006309338.tif 000007
【図６】
2006309338.tif 000008
【図７】
2006309338.tif 000009
【図８】
2006309338.tif 000010