专利摘要:
装置および方法は、プロファイル参照を含むアプリケーションに関連し、このプロファイルは、デバイスグラフィカルユーザインタフェースオプションに対応するパラメータ情報を含む。プロファイルは、画像、ビデオまたは音声のエンコーディング/デコーディングなどのデバイスのハードウェア動作に関連してもよく、パラメータ情報は、ハードウェアデバイスの機能および仕様に対応している。少なくとも1つのプロファイル参照を含むアプリケーションを作成するための対応するシステムも記載される。
公开号:JP2011508294A
申请号:JP2010536293
申请日:2008-10-29
公开日:2011-03-10
发明作者:ジェイ.;シシンニ ロバート
申请人:エーティーアイ・テクノロジーズ・ユーエルシーAti Technologies Ulc;
IPC主号:G06F9-44
专利说明:

[0001] 本開示は、一般にソフトウェアのプログラミングに関し、より詳細には、一般に、マルチメディアソフトウェアの複雑さなど、ソフトウェアの複雑さを低減させることに関する。]
背景技術

[0002] ソフトウェアアプリケーションのプログラミングは複雑なことが多い。事態を更に複雑にしていることに、ソフトウェアアプリケーションが、多くの場合、マルチメディア動作を実行し、ハードウェアデバイスと連携する場面が増えている。ハードウェア動作としては、例えば、画像のキャプチャとデコード、ビデオのキャプチャと再生、音声のキャプチャと再生、オーバーレイと表示制御などが挙げられる。例えば、カメラまたは他のレコーダによって、画像、ビデオおよび音声等のメディアをキャプチャするのにソフトウェアが使用されるほか、画像およびビデオ等のメディアを、例えばディスプレイに表示するためにもソフトウェアが使用されうる。しかし、マルチメディアアプリケーションは、ソフトウェアとハードウェアデバイス間の連携の一例に過ぎない。ソフトウェアが、前述のマルチメディアデバイスのほか、他の非マルチメディアデバイス(例えば、モデム、GPSユニット、入力デバイス、ストレージデバイス等)などの各種ハードウェアデバイスを制御することが可能なことが多い。]
発明が解決しようとする課題

[0003] 市場に投入されるデバイスが増えるのに伴い、ソフトウェアの設計が一層複雑になっている。このことは、一部には、2台のデバイスが、同じハードウェア動作(例えば、ビデオまたは音声のキャプチャ)を実行する場合であっても、この2台のデバイスが、異なるパラメータおよび機能に基づいてその動作を実行することがあるためである。このため、例えば、あるカメラの最高品質のビデオキャプチャ機能が、別のカメラの最高品質のビデオキャプチャ機能と同品質ではないことがある。このため、ソフトウェアが連携しうるあらゆるハードウェアについて、プログラマがすべてのパラメータおよび機能を知っていなければならないため、ソフトウェアの設計が複雑となりうる。これには、何百行ものコードが費やされ、このため、各ハードウェアのすべての構成パラメータを調べるのに時間がかかってしまう。また、すべての構成パラメータをプログラムするのにも膨大な時間がかかってしまう。更に、完成されているソフトウェアアプリケーションは、非常に複雑なことが多い。]
[0004] このため、ハードウェアと連携するソフトウェアアプリケーションを、より効率的かつ簡潔に作成することが求められている。]
課題を解決するための手段

[0005] 概説すると、マルチメディアデバイスなどのデバイスは、パラメータ情報を含むプロファイルを格納しているメモリであって、前記プロファイルは、グラフィカルユーザインタフェースを介して提示されるオプションに対応するデバイスのプログラム可能なオプションに対応するメモリを有する。前記デバイスのプログラム可能なオプションには、ハードウェア設定またはソフトウェア設定など、デバイスの構成設定が含まれうる。前記メモリは、デバイス共通機能用のプロファイルの組を格納していてもよい。また、前記デバイスは、前記プロファイルを参照している記憶済みのコンピュータ可読命令を実行するときに、前記パラメータ情報を使用するように動作可能な処理回路とを有する。前記パラメータ情報は、前記デバイスのハードウェア動作に関連し、例えば、ビットレート、コーデック種別およびフレームレートを定義しうる。ほかのパラメータ情報の例としては、エンコーディングモード、フレームサイズおよびオーバーレイ位置などが挙げられるが、これらに限定されるものではない。]
[0006] 一例では、前記処理回路は、少なくとも1つのプロファイル情報に含まれるパラメータを含む合成プロファイルを作成するように動作可能であってもよい。この合成プロファイルには、ビデオハードウェアおよび音声ハードウェアなどの少なくとも2つのハードウェアデバイス用のパラメータ情報が含まれうる。]
[0007] また、ハンドへルドデバイス上のハードウェアを制御するための方法が存在し、前記方法は、パラメータ情報を含み、デバイスグラフィカルユーザインタフェースオプションに対応するプロファイルを参照している少なくとも1つのプロファイル参照を含むアプリケーションを活性化するステップを含む。この対応は、一対一の対応でない。1つのわかりやすい例では、パラメータ情報は、グラフィカルユーザインタフェースに対応しているが、(直接的なグラフィカルユーザインタフェースを持たない場合でも)特定の使用用途のための組み込みデバイスの製造業者の仕様にも対応していてもよい。また、前記方法は、前記少なくとも1つのプロファイル参照に関連する少なくとも1つのプロファイルに含まれるパラメータ情報を使用してハードウェア動作を実行するステップも含んでもよい。]
[0008] 別例では、前記方法は、プロファイルコンバイナモジュールを呼び出すステップと、デバイスグラフィカルユーザインタフェースオプションまたは設計上の判断(design decision)に対応する合成プロファイルを作成するために、複数のプロファイルに含まれるパラメータ情報を合成するステップとを含む。また、前記方法は、前記合成プロファイルに新しいプロファイル参照を割り当てるステップを含んでいてもよい。]
[0009] 別例では、前記方法は、パラメータ情報を含む前記プロファイルを参照している前記プロファイル参照に対応する前記デバイスグラフィカルユーザインタフェースオプションをユーザに提示するステップと、ユーザ入力を受け取るステップとを含む。また、前記方法は、追加のユーザ入力を受け取るステップと、少なくとも1つの追加のハードウェア動作を実行するために、前記追加のユーザ入力に基づいて、少なくとも1つの追加のプロファイル参照をエンコーダに渡すステップとを含んでいてもよい。]
[0010] また、ソフトウェア開発システムは、ディスプレイと、デバイスグラフィカルユーザインタフェースオプションに対応するパラメータ情報を含むプロファイルを識別しているプロファイル参照を含むソースコードから、アプリケーションを表すデータを生成するアプリケーションジェネレータを含むコンピュータ可読命令を実行するように動作可能な処理回路前記コンピュータ可読命令と、前記アプリケーションとを含むメモリとを備える。]
[0011] 別例では、前記アプリケーションジェネレータは、ディスプレイで視認可能であり、デバイスグラフィカルユーザインタフェースオプションに対応するパラメータ情報を含むプロファイルを識別しているプロファイル参照に対応するプロファイル参照挿入オプションを提供するように動作可能なアプリケーション生成グラフィカルユーザインタフェースを提供する。]
[0012] 他の利点のなかでも、本装置および方法により、ソフトウェア開発者が、アプリケーション、特に各種のハードウェアデバイスとインタフェースできることが望ましいアプリケーションを、より容易かつより効率的に開発できるようになる。例えば、ソフトウェア開発者は、(デバイスが同じ機能を実行する場合であっても)デバイスごとに異なりうる、パラメータの長いリストを調べる必要がなくなる。更に、たとえ、ソフトウェア開発者が、アプリケーションと連携させたいすべてのハードウェアデバイスに詳しい場合であっても、ソフトウェア開発者は何百行にものぼるコードをプログラムしなければならず、これには、かなりの時間がかかることがある。本明細書に開示の装置および方法は、異なるハードウェアの複雑な点を調べるのに長時間を費やす作業を不要にし、何百行のコードにものぼることが多いプログラムに要する時間を短縮することができる。上記以外の利点は、通常の知識を有する当業者であれば理解できるであろう。]
図面の簡単な説明

[0013] 本発明の一実施形態に係るマルチメディアデバイスの一例を示すブロック図。
本発明の一実施形態に係るディスプレイで視認可能なグラフィカルユーザインタフェースの一例を示す図。
本発明の一実施形態による、ハンドへルドデバイス上のハードウェアを制御するための方法の一例を示すフローチャート。
本発明の一実施形態による、ハンドへルドデバイス上のハードウェアを制御するための方法の一例を示すフローチャート。
本発明の一実施形態に係るソフトウェア開発システムの一例を示すブロック図。
本発明の一実施形態に係る、アプリケーションを生成するためのディスプレイで視認可能なグラフィカルユーザインタフェースの一例を示す図。]
実施例

[0014] 本発明は、添付の図面を参照しつつ以下に記載する説明を読めば、より容易に理解できるであろう。図面において、同じ参照符号は同じ要素を参照している。]
[0015] 図1は、ハンドへルドデバイス、携帯電話、ミュージックプレーヤ、カメラ、ポータブルコンピュータ、デスクトップコンピュータまたは別の類似のデバイスなどのマルチメディアデバイス100の例を示す。マルチメディアデバイス100は、パラメータ情報116,118を含むプロファイル104,106,108,110,112,114を格納しているメモリ102(すなわち、記憶媒体)を備える。図1には図示されていないが、プロファイル106,108,112,114もパラメータ情報を格納している点に留意されたい。メモリ102は、当業界において従来公知のどのような種類のメモリでもよく、これには、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、プログラマブルメモリ(PROM)、消去可能PROM(EPROM)、電気的消去可能PROM(EEPROM)、フラッシュメモリ、磁気記憶デバイス(例えば、ハードディスク、フロッピーディスク、磁気テープ)、光ディスクドライブ、あるいは現在公知であるか将来開発される他の任意の適切な不揮発性メモリがある。] 図1
[0016] また、メモリ102は、プロファイル104〜114のほかに、処理回路120が実行しうるコンピュータ可読命令も格納している。処理回路120としては、1以上の中央処理装置(CPU)、分散処理回路、特定用途向け集積回路(ASIC)、状態機械、ディスクリートロジック、あるいは、当業界で公知の他の任意の適切な処理回路などが挙げられる。マルチメディアデバイス100において、処理回路120は、なかでも、メモリに記憶されている、アプリケーション122、ミドルウェアAPI124およびミドルウェアコード126などのコンピュータ可読コードを実行する。ミドルウェアコード126には、プロファイルコンバイナモジュール128と音声/ビデオエンコードモジュール130が含まれる。また、処理回路はディスプレイ132とも動作可能に接続され、ディスプレイ132は、なかでも、グラフィカルユーザインタフェース(GUI)134を表示しうる。]
[0017] プロファイル104〜114は、パラメータ群を表すデータ群である。プロファイルは、116,118などのパラメータ情報を含む。パラメータ情報116,118は、ハードウェアデバイスの各種設定に関連しうる任意の情報からなり、これには、解像度、圧縮のオプション、表示位置、ディスプレイデバイスなどがある。ほかのパラメータ情報の例としては、エンコーディングモード、フレームサイズおよびオーバーレイ位置などが挙げられるが、これらに限定されるものではない。例えば、プロファイル104には、ビデオをキャプチャしうるハードウェアデバイスに対応するパラメータ情報116が含まれる。このため、関連するパラメータ情報には、例えば、コーデック種別、ビットレート(例えば、最大値と最小値を含む)、フレームレート、サンプルレート、チャンネル数、ストリームフォーマット、チャンネルモード、フレームフォーマット、DTXモード、先進的音響エンコーディング(「AAC」)プロファイル、AACツール、適応多重レート(「AMR」)バンドモードとその他の関連する属性、雑音抑圧情報、CDMAレート、ボイス数、ループモード、サンプル当たりのビット、音量情報(例えば、左右など)、解像度、ホワイトバランス、カメラのパラメータ、ディスプレイのパラメータまたは他の任意の適切なパラメータ情報などがある。]
[0018] 一例では、プロファイル118は、音声の再生のためのパラメータ情報118を含み、このため、なかでも、コーデック種別とビットレートに関するパラメータ情報を有しうる。更に、メモリ102は、デバイス共通機能用のプロファイルの組も格納している点にも留意されたい。例えば、プロファイル104,106,108は、ビデオのキャプチャに関連するプロファイルの組を形成している。プロファイル110,112,114は、音声のキャプチャに関連するプロファイルの組を形成している。]
[0019] 一例では、各プロファイルは、デバイスグラフィカルユーザインタフェースオプションに対応している。本明細書にわたり、例えば、各プロファイルは、グラフィカルユーザインタフェースの有り、無しのいずれの場合についても、所定の使用用途のための組み込みデバイスの製造業者の仕様に対応しうる点に留意されたい。図2に示すように、例えば、ユーザ入力を要求するGUI134が表示されうる。処理回路120は、GUI134として表示するために、GUI情報135をディスプレイ132に渡す。また、ディスプレイ132は、ユーザ入力などのGUI情報135を、処理回路120に返しうる。この例では、ユーザが、ドロップダウンボックスから、異なるグラフィカルユーザインタフェースオプションを選択するように求められている。例えば、ユーザは、ドロップダウンボックス202を使用して、ビデオ関連のデバイスグラフィカルユーザインタフェースオプションを選択しうる。この例では、ユーザは、プロファイル104に対応する「低品質」、プロファイル106に対応する「中品質」、あるいはプロファイル108に対応する「高品質」を選択しうる。ユーザは、ドロップダウンボックス204を使用して、音声関連のデバイスグラフィカルユーザインタフェースオプションを選択しうる。この例では、ユーザは、プロファイル110に対応する「低品質」、プロファイル112に対応する「中品質」、あるいはプロファイル110に対応する「高品質」を選択しうる。なお、デバイスグラフィカルユーザインタフェースオプションは、図に示すドロップダウンボックス、ラジオボタン、チェックボックス、テキスト入力、あるいは当業界で公知の他の任意の適切な方法などの、どのような適切な方法で提示されてもよい。ユーザがデバイスユーザインタフェースオプションを選択すると、ユーザはOKボタン206を押下して、この選択内容を、GUI情報135として処理回路120に返しうる。] 図2
[0020] 「低品質」などのラベルは、アプリケーション122のコードによって作成されても、プロファイルの一部としてメモリ102に記憶されてもよいことを理解すべきである。また、例えば、各プロファイルにプロファイル参照が含まれうることも理解すべきである。プロファイル参照は、例えば、プロファイルID136,138、プロファイルのラベル140〜150、または他の任意の適切なプロファイル参照などである。プロファイルID136,138は、例えば、整数などである。プロファイルのラベル140〜150は、GUI134内でユーザに提示され、プロファイルに関する何らかの情報を暗黙的に伝えるテキスト文字列などである。例えば、「ビデオ低品質プロファイル」は、このプロファイルがビデオ用のプロファイルであり、「低品質」であることを伝える。「低品質」が特定のハードウェアに相対的なものであり、例えば、特定のハードウェアの「低品質」が、別のハードウェアの「高品質」よりも高品質となることもある点を理解されたい。上で説明したように、この理由は、ハードウェアデバイスによって機能が異なるためである。]
[0021] 処理回路120は、プロファイル104〜114を参照する、記憶済みのコンピュータ可読命令を実行するときに、パラメータ情報116,118などのパラメータ情報を使用するように動作可能である。例えば、プロファイルデータ152,154が、メモリ102から処理回路120に送られる。図1の例に示すように、ミドルウェアコード126にはプロファイルコンバイナモジュール128が含まれ、プロファイルコンバイナモジュール128は、少なくとも1つのプロファイルに含まれるパラメータ情報を含む合成プロファイル156を作成するように動作可能である。しかし、好適な実施形態では、合成プロファイル156は、複数のプロファイルに含まれるパラメータ情報を含む。図1に示す特定の例では、プロファイルコンバイナモジュール128は、プロファイルデータ152とプロファイルデータ154とを受け取る。プロファイルデータ152は、ドロップダウンボックス202で行ったユーザの選択に関連し、ビデオハードウェアに関連しており、プロファイルデータ154は、ドロップダウンボックス204で行ったユーザの選択に関連し、音声ハードウェアに関連している。プロファイルコンバイナモジュール128はプロファイルデータ152とプロファイルデータ154を合成し、合成したプロファイルデータ158をメモリ102に送り、これが合成プロファイル156として記憶される。この例では、ビデオハードウェアデバイスに関連するプロファイルデータと音声ハードウェアデバイスに関連するプロファイルデータとを合成しているが、合成プロファイルが適したものであればどのようなハードウェアデバイスに関連していてもよいと考えられる。更に、合成プロファイルに、1つのハードウェアデバイスのみのパラメータ情報が含まれてもよい。例えば、図1には、コーデック種別、ビットレートおよびフレームレート(ビデオの場合)を含むプロファイルが図示されているが、あるビデオプロファイルがビデオコーデック種別用に使用され、別のプロファイルがビデオビットレート用に使用されてもよい。この2つのプロファイルが合成され、合成プロファイルとしてメモリに記憶されてもよい。また、合成プロファイルには、新しいプロファイルIDなどの新しいプロファイル参照が付与される。合成プロファイルについて、以下に詳細に説明する。] 図1
[0022] 次に、図1に示したマルチメディアデバイス100をより深く理解するために、デバイスにおいてハードウェアを制御するための方法についてここで説明する。図1およびデバイス100を参照するが、以下の方法を実装するために適切なデバイスであれば、どのようなものも使用することができることが理解されよう。] 図1
[0023] 図3に示すように、本方法はブロック300から開始する。ブロック302に示すように、本方法は、少なくとも1つのプロファイル参照(プロファイルID136または138など)を含むアプリケーション122を活性化するステップを有する。上記のように、プロファイル参照136,138は、パラメータ情報116,118を含むプロファイル(104,110など)を参照しており、デバイスグラフィカルユーザインタフェースオプション202,204に対応している。この対応は、一対一の対応でない。1つのわかりやすい例では、パラメータ情報は、グラフィカルユーザインタフェースに対応しているが、(直接的なグラフィカルユーザインタフェースを持たない場合でも)特定の使用用途のための組み込みデバイスの製造業者の仕様にも対応していてもよい。次に、ブロック304に示すように、本方法は、上記少なくとも1つのプロファイル参照(プロファイルID116,118など)に関連する少なくとも1つのプロファイルに含まれるパラメータ情報を使用して、ハードウェア動作を実行するステップも有しうる。このハードウェア動作は、ハードウェアデバイス160に関連しうる。しかし、ディスプレイ132が、このハードウェア動作が実行されるハードウェアデバイスであってもよい点に留意されたい。例えば、処理回路120は、ハードウェアデバイス160との間で、ハードウェアデバイス動作データ162を送受信しうる。ハードウェア動作の例については上で既に説明している。次に、本方法がブロック306で終了する。] 図3
[0024] しかし、この方法は、上記のステップの前、後、あるいはステップ間に、他のどのような適切なステップを有してもよい。例えば、図4に示す方法は、ブロック400から開始し、図3に関して説明したのと同じステップ302とステップ304を有する。しかし、本方法は、ブロック402,404,406に示すステップも含む。ブロック402に示すように、本方法は、デバイスグラフィカルユーザインタフェースオプション202,204をユーザに提示し、ユーザ入力を受け取るステップを有しうる。] 図3 図4
[0025] アプリケーション122は、ミドルウェアAPI(アプリケーションプログラミングインタフェース)124との間で、アプリケーションデータ164をやり取りする。ミドルウェアAPI124は、ミドルウェアコード126とアプリケーション122間のインタフェースである。ミドルウェアAPIは、アプリケーション122が、ミドルウェアコード126を利用して、プロファイル(プロファイル104〜114など)を使用できるようにする少ない数の機能をサポートしている。次に、ミドルウェアAPIデータ166が、ミドルウェアAPI124とミドルウェアコード126との間でやり取りされる。]
[0026] ミドルウェアコード126は、プロファイルコンバイナモジュール128を含み、ブロック404に示すように、本方法は、1つ以上のプロファイル(例えば、104〜114)に含まれるパラメータ情報(例えば,116,118)を合成するためにプロファイルコンバイナモジュール128を呼び出し、この合成プロファイルに新しいプロファイル参照(新しいプロファイルIDなど)を割り当てうる。合成プロファイルは、デバイスグラフィカルユーザインタフェースオプションに対応してもよいが、合成プロファイルは、設計上の判断に対応しうることが理解されよう。例えば、設計上の判断は、最初は固定であるが、パラメータがプロファイルに含まれるため、パラメータを容易に変更することができる。製造業者がデバイスのコンテキスト的な使用(contextual use)に応じて、プロファイルを選択してもよいことも理解されたい。一例では、アプリケーション122は、ミドルウェアAPI124にプロファイルID136と138を渡しうる。しかし、適したプロファイル参照であれば、どのようなものを使用してもよいことが理解されよう。次に、ミドルウェアAPI124は、プロファイルコンバイナモジュール128(ミドルウェアコード126の一部)に、プロファイルID136と138を渡す。次に、プロファイルコンバイナモジュール128は、メモリ102からパラメータ情報116と118を取得する。]
[0027] 合成プロファイル156を作成する際に、プロファイルコンバイナモジュール128は、合成するすべてのプロファイルに含まれるパラメータ情報116と118を含む新しい合成プロファイルを作成する。例えば、一部のプロファイルが矛盾するパラメータ情報を含んでいることが考えられる。例えば、第1のプロファイルがビデオエンコーディング用のビットレートを設定しており、この第1のプロファイルが、ビデオエンコーディング用に別のビットレートを設定しているパラメータ情報を有する第2のプロファイルと合成されうる。このような場合、任意の適切な競合解決方法が実装されうる。例えば、プロファイルコンバイナモジュール128は、パラメータ情報が既に設定されている場合には、別のプロファイルに含まれる矛盾するパラメータ情報を無視してもよい。あるいは、プロファイルコンバイナモジュール128は、合成プロファイル156中に存在するパラメータ情報を無効にしてもよい。]
[0028] 次に、ブロック406に示すように、本方法は、新しいプロファイル参照(新しいプロファイルID)などを別のモジュールに渡すステップを有しうる。例えば、プロファイルコンバイナモジュール128は、音声/ビデオエンコード(またはデコード)モジュール130に、合成プロファイル参照データ168を渡しうる。次に、音声/ビデオエンコードモジュール130は、ブロック304に示すように、新しいプロファイル参照を使用して合成プロファイルを使用し、合成プロファイルに含まれるパラメータ情報を使用してハードウェア動作を実行しうる。本方法がブロック408で終了する。]
[0029] 例えば、本方法は、パラメータ情報を含むプロファイルを参照しているプロファイル参照に対応するデバイスグラフィカルユーザインタフェースオプション202,204を、ユーザに提示するステップを更に有する。次に、受け取った入力を使用して、正しいハードウェア動作が実行されうる。更に、本方法は、追加のユーザ入力を受け取り、少なくとも1つの追加のハードウェア動作を実行するために、この追加のユーザ入力に基づいて、少なくとも1つの追加のプロファイル参照をエンコーダに渡すステップを更に有しうる。例えば、ユーザは、例えば、ディスプレイなどのハードウェアデバイス160に、マルチメディアコンテンツ(例えば、画像、ビデオなど)を画面の右上部分に表示させるためのパラメータ情報を含むプロファイルに対応するグラフィカルユーザインタフェースオプションを選択しうる。次に、ユーザが、おそらくマウスまたはキー入力やこれらの組合せを使用して、追加のユーザ入力を入力し、これによって、アプリケーション122が、少なくとも1つの追加のプロファイル参照をミドルウェアAPI124に渡し、ミドルウェアAPI124が、この追加のプロファイル参照をミドルウェアコード126に渡す。次に、音声/ビデオエンコードモジュール130が、ディスプレイでの画像またはビデオの配置を変更しうる。例えば、この位置がディスプレイの左下隅に変更されたり、あるいは、マルチメディアが全画面表示されうる。]
[0030] 次に図5を参照すると、ソフトウェア開発システム500が示されており、このシステムは、例えば、デスクトップコンピュータ、ノートブックコンピュータ、コンピュータシステムのネットワークまたは他の任意の適切な開発システムを備えうる。このシステムは、例えば、当業界で公知のように1つ以上のローカルシステムまたはリモートシステムに分散されうる。ソフトウェア開発システム500は、例えば、ディスプレイ132、処理回路120およびメモリ102を備えうる。] 図5
[0031] 図に示すように、メモリ102には、プロファイル104〜114などのプロファイルが格納されうるが、これは必須ではない。プロファイル104〜114は、上記のプロファイルと同様である。一例では、ハードウェアデバイス160の製造業者が、これらのプロファイルを作成しうる。ハードウェアデバイス160の製造業者は、ハードウェアデバイス160の仕様および機能を知る最善の立場にいるため、これが好ましい。しかし、経験豊富なプログラマが、製造業者がプロファイルを作成するのを支援してもよい。しかし、適格なプログラマがプロファイル104〜114を作成してもよいと理解される。更に、プロファイルがソフトウェア開発システム500で作成されうるが、他の任意の適切な環境が使用されてもよいことが理解されよう。]
[0032] メモリ102は、処理回路120によって実行可能なコンピュータ可読命令を格納しうる。処理回路120は、「アプリケーションジェネレータ502」と示されるコンピュータ可読命令を実行しうる。アプリケーションジェネレータ502は、デバイスグラフィカルユーザインタフェースオプション(202,204など)に対応するパラメータ情報(116,118など)を含むプロファイル(プロファイル104,110など)を識別するプロファイル参照(プロファイルID136または138など)を含むアプリケーション504を表すデータを生成しうる。アプリケーションジェネレータ502は、図に示すように、アプリケーションデータ506をメモリに送信し、メモリに記憶させうる。上で説明したように、メモリは分散されていても、ソフトウェア開発システム500に搭載されていてもよい。一例では、アプリケーションジェネレータ502は、ソフトウェア開発システム500にあるハードディスクドライブに、アプリケーション504を記憶しうる。別例では、アプリケーションジェネレータ502は、マルチメディアデバイス100にアプリケーション504を記憶してもよい。]
[0033] また、アプリケーションジェネレータ502は、ディスプレイ132にGUI情報135を送信することによって、ディスプレイ132で視認可能なアプリケーション生成グラフィカルユーザインタフェース(GUI)508を提供しうる。図6に更に詳細に示すように、アプリケーション生成GUI508は、デバイスグラフィカルユーザインタフェースオプションに対応するパラメータ情報を含むプロファイルを識別しているプロファイル参照に対応するプロファイル参照挿入オプション602,604を、サイドバー606内に提供しうる。また、アプリケーション生成GUI508は、プログラマが、プログラムコードを挿入して、アプリケーション504をプログラムすることができるプログラムウィンドウ608も有する。このため、操作中に、プログラマが、当業界で公知のように、プログラムウィンドウ608を使用してコードを記述することもできるが、プロファイル参照挿入オプション602,604を使用して、アプリケーション504にプロファイル参照(例えばプロファイルID136または138)を挿入することもできる。] 図6
[0034] 操作の一例では、プログラマが、ハードウェアデバイス160からビデオをキャプチャするためのアプリケーション504を開発しうる。従来技術の解決策では、プログラマは、特定のハードウェアデバイス160ごとに、異なるビデオおよび音声品質を記述するために、何百行もコーディングしなければならなかった。しかし、プログラマは、アプリケーション504にプロファイル参照を挿入することにより、本システムを使用しなければ知っていなければならないパラメータ情報を含むプロファイルに対応する必要なプロファイル参照を知っているだけでよい。プログラマは、プログラムウィンドウ608に、プロファイル参照(例えばプロファイルID、プロファイルのラベルなど)を直接タイプすることができる。]
[0035] 別法では、アプリケーション504の開発者ではない別のプログラマが、各プロファイルに対して、定数(ラベルなど)を定義する定義ファイルを設定しうる。次に、アプリケーション開発者がアプリケーション504の開発時に、プログラムウィンドウ608内でこの定数を使用して、所望のプロファイルを参照することができる。]
[0036] 更に別の例では、アプリケーションジェネレータ502が、メモリ102からプロファイルデータ510を受け取り、これを使用してプロファイル参照挿入オプション602,604を生成して、ディスプレイ132にGUI情報135として送信し、アプリケーション生成GUI508にプロファイル参照挿入オプション602,604を提供してもよい。グラフィカルユーザインタフェースオプション202,204と同様に、プロファイル参照挿入オプション602,604は適切な形式であれば、どのような形式でもよい。例えば、図に示すドロップダウンボックス、チェックボックス、ラジオボタン、または他の任意の適切な提示方式によって表示されてもよい。一例では、ユーザがプロファイル参照挿入オプション602または604を選択すると、対応するプロファイル参照がプログラムウィンドウ608に挿入される。]
[0037] 他の利点のなかでも、ソフトウェア開発者が、ハードウェアデバイスと連携するソフトウェアアプリケーションを、より迅速かつ効率的に開発できるようになる。更に、ソフトウェア開発者が、特定のハードウェアデバイスの特定の機能またはパラメータに対応するために、多量のコードをタイプするのに貴重な時間を費やす必要がなくなる。]
[0038] 上記の本発明の詳細な説明および例は、限定を目的とするものではなく、例示および説明を目的として提示したものである。このため、本発明は、上記に開示し、ここにクレームする基本的な基礎をなす原理の趣旨ならびに範囲に含まれるすべての変更、変形物または均等物をカバーすることが考察される。]
权利要求:

請求項1
デバイスであって、パラメータ情報を含むプロファイルを格納しているメモリであって、前記プロファイルは、グラフィカルユーザインタフェースを介して提示されるオプションに対応するデバイスのプログラム可能なオプションに対応するメモリと、前記プロファイルを参照している記憶済みのコンピュータ可読命令を実行するときに、前記パラメータ情報を使用するように動作可能な処理回路とを備えるデバイス。
請求項2
前記パラメータ情報は前記デバイスのハードウェア動作に関連している、請求項1に記載のデバイス。
請求項3
前記パラメータ情報はビットレート、コーデック種別およびフレームレートの少なくとも1つに関連している、請求項2に記載のデバイス。
請求項4
前記処理回路は少なくとも1つのプロファイルに含まれるパラメータ情報を含む合成プロファイルを作成するように動作可能である、請求項1に記載のデバイス。
請求項5
前記合成プロファイルは少なくともビデオハードウェアおよび音声ハードウェア用のパラメータ情報を含む、請求項4に記載のデバイス。
請求項6
前記メモリはデバイス共通機能用のプロファイルの組を格納している、請求項1に記載のデバイス。
請求項7
記憶済みのコンピュータ可読命令を実行するように動作可能な処理回路と、デバイスグラフィカルユーザインタフェースオプションに対応するパラメータ情報を含むプロファイルに対応する少なくとも1つのプロファイル参照への参照を含む、記憶済みのコンピュータ可読命令を含むメモリと、実行されると、前記処理回路に、前記少なくとも1つのプロファイル参照を使用して前記パラメータ情報を取得させ、該パラメータ情報を使用してデバイスのハードウェア動作を制御させるために、ミドルウェアとして動作可能な記憶済みのコンピュータ可読命令を含むメモリと、前記プロファイル参照によってインデックス付けされた前記パラメータ情報を格納しているメモリとを備える、ハンドヘルドデバイス。
請求項8
前記パラメータ情報はビットレート、コーデック種別およびフレームレートの少なくとも1つに関連している、請求項7に記載のハンドヘルドデバイス。
請求項9
少なくとも1つのプロファイルに含まれるパラメータ情報を含む合成プロファイルを作成するように動作可能なプロファイルコンバイナモジュールを更に備える、請求項7に記載のデバイス。
請求項10
前記合成プロファイルは少なくともビデオハードウェアおよび音声ハードウェア用のパラメータ情報を含む、請求項9に記載のハンドヘルドデバイス。
請求項11
ハンドへルドデバイス上のハードウェアを制御するための方法であって、パラメータ情報を含み、デバイスグラフィカルユーザインタフェースオプションに対応するプロファイルを参照している少なくとも1つのプロファイル参照を含むアプリケーションを活性化するステップと、前記少なくとも1つのプロファイル参照に関連する少なくとも1つのプロファイルに含まれるパラメータ情報を使用してハードウェア動作を実行するステップとを含む、方法。
請求項12
プロファイルコンバイナモジュールを呼び出すステップと、デバイスグラフィカルユーザインタフェース動作に対応する合成プロファイルを作成するために、複数のプロファイルに含まれるパラメータ情報を合成するステップとを更に含む、請求項11に記載の方法。
請求項13
前記合成プロファイルに新しいプロファイル参照を割り当てるステップを更に含む、請求項12に記載の方法。
請求項14
パラメータ情報を含む前記プロファイルを参照している前記プロファイル参照に対応する前記デバイスグラフィカルユーザインタフェースオプションをユーザに提示するステップと、ユーザ入力を受け取るステップとを更に含む、請求項11に記載の方法。
請求項15
追加のユーザ入力を受け取るステップと、少なくとも1つの追加のハードウェア動作を実行するために、前記追加のユーザ入力に基づいて、少なくとも1つの追加のプロファイル参照をエンコーダに渡すステップとを更に含む、請求項14に記載の方法。
請求項16
前記ハードウェア動作は音声コーディング、ビデオコーディングおよび画像コーディングの少なくとも1つを含む、請求項11に記載の方法。
請求項17
デバイスグラフィカルユーザインタフェースオプションに対応するパラメータ情報を含むプロファイルを識別しているプロファイル参照を含むソースコードから、アプリケーションを表すデータを生成するアプリケーションジェネレータを含むコンピュータ可読命令を実行するように動作可能な処理回路と、前記コンピュータ可読命令と、デバイスグラフィカルユーザインタフェースオプションに対応するパラメータ情報を含むプロファイルを識別しているプロファイル参照を含む前記アプリケーションとを含むメモリとを備える、ソフトウェア開発システム。
請求項18
前記アプリケーションジェネレータは、更に、前記ディスプレイで視認可能なアプリケーション生成グラフィカルユーザインタフェースを提供するように動作可能であり、デバイスグラフィカルユーザインタフェースオプションに対応するパラメータ情報を含むプロファイルを識別しているプロファイル参照に対応するプロファイル参照挿入オプションを提供するように動作可能である、請求項17に記載のソフトウェア開発システム。
請求項19
前記パラメータ情報はハードウェア動作に関連している、請求項17に記載のソフトウェア開発システム。
請求項20
前記パラメータ情報はビットレート、コーデック種別およびフレームレートの少なくとも1つに関連している、請求項19に記載のソフトウェア開発システム。
請求項21
前記パラメータ情報はビデオハードウェアおよび音声ハードウェアの少なくとも1つに関連している、請求項19に記載のソフトウェア開発システム。
請求項22
1つ以上の処理デバイスによって実行可能な、記憶済みのコンピュータ可読命令を格納している記憶媒体であって、前記コンピュータ可読命令は、前記1つ以上の処理デバイスによって実行されると、前記1つ以上の処理デバイスに、デバイスグラフィカルユーザインタフェースオプションに対応するパラメータ情報を含むプロファイルを識別しているプロファイル参照を含むソースコードからアプリケーションを表すデータを生成させる、記憶媒体。
請求項23
前記コンピュータ可読命令は、前記1つ以上の処理デバイスによって実行されると、前記1つ以上の処理デバイスに、ディスプレイで視認可能であり、デバイスグラフィカルユーザインタフェースオプションに対応するパラメータ情報を含むプロファイルを識別しているプロファイル参照に対応するプロファイル参照挿入オプションを提供するように動作可能なアプリケーション生成グラフィカルユーザインタフェースを更に提供させる、請求項22に記載の記憶媒体。
請求項24
前記パラメータ情報はハードウェア動作に関連している、請求項22に記載の記憶媒体。
請求項25
前記パラメータ情報はビデオハードウェアおよび音声ハードウェアの少なくとも1つに関連している、請求項24に記載の記憶媒体。
类似技术:
公开号 | 公开日 | 专利标题
US9703481B2|2017-07-11|Method and apparatus for controlling a display in a portable terminal
KR102004872B1|2019-07-29|전자장치, 서버 및 그 제어방법
US8745573B2|2014-06-03|Platform-independent application development framework
US8350868B2|2013-01-08|Method of compositing variable alpha fills supporting group opacity
US9612719B2|2017-04-04|Independently operated, external display apparatus and control method thereof
CN101479722B|2012-07-25|基于上下文来变换设备的操作的方法和系统
CN1786906B|2011-07-13|用于在任务栏上显示任务栏按钮的方法和系统
KR102096077B1|2020-04-01|공유된 및 개별화된 자산으로부터 스토리보드-지향형 비디오 제작
US6292187B1|2001-09-18|Method and system for modifying the visual presentation and response to user action of a broadcast application's user interface
KR101066732B1|2011-09-21|음성 문법들 내에 포함되어 있는 내용으로부터 이용 가능한음성 명령들을 포함하는 동적 도움말
CN100573503C|2009-12-23|自动生成内容的方法和系统
US20140363098A1|2014-12-11|Image correlation method and electronic device thereof
US7840661B2|2010-11-23|Creating and editing media objects using web requests
US7590943B2|2009-09-15|Systems and methods for creating and managing graphical user interface lists
US7318203B2|2008-01-08|Selecting image processing functions
JP4439462B2|2010-03-24|情報提示方法、情報提示装置及び情報提示プログラム
JP2016517641A|2016-06-16|ビデオの画像サマリー
US8001486B2|2011-08-16|Method for verification of file-based media content
CN101167122B|2012-09-12|程序窗口的显示方法
Ribeiro et al.2014|Xis-mobile: A dsl for mobile applications
US8319086B1|2012-11-27|Video editing matched to musical beats
KR20120031722A|2012-04-04|동적 응답 생성 장치 및 방법
CN103226961B|2016-09-14|一种播放方法和装置
US20050071847A1|2005-03-31|System and method for building a target operating system from a source operating system
US20100199187A1|2010-08-05|Instant data sharing system and machine readable medium thereof
同族专利:
公开号 | 公开日
US20090150817A1|2009-06-11|
CN101952819A|2011-01-19|
JP5501244B2|2014-05-21|
KR20100099720A|2010-09-13|
EP2232384A4|2012-02-15|
WO2009070866A1|2009-06-11|
EP2232384A1|2010-09-29|
KR101500636B1|2015-03-09|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题
JPH06161704A|1992-11-17|1994-06-10|Hitachi Ltd|音声インタフェース・ビルダ・システム|
US6530083B1|1998-06-19|2003-03-04|Gateway, Inc|System for personalized settings|
US20040131340A1|2003-01-02|2004-07-08|Microsoft Corporation|Smart profiles for capturing and publishing audio and video streams|
JP2004318857A|2003-04-16|2004-11-11|Samsung Electronics Co Ltd|ホームネットワークでホーム状態情報を構成し利用する方法及びシステム|
JP2006524973A|2003-04-25|2006-11-02|クゥアルコム・インコーポレイテッドQualcommIncorporated|ポータブルデバイスにおけるカメラリソースを制御するシステム|
JP2004362090A|2003-06-03|2004-12-24|Toyota Infotechnology Center Co Ltd|移動端末向けソフトウエア配信システム|WO2014076951A1|2012-11-19|2014-05-22|日本電気株式会社|プログラム設定装置、及び、プログラム設定方法|
JP2019008598A|2017-06-26|2019-01-17|株式会社三菱Ufj銀行|Application generation support system and application generation support program|FI107772B|1998-12-16|2001-09-28|Nokia Networks Oy|Menetelmä ja järjestelmä tiedonsiirron palvelunlaadun rajoittamiseksi|
US7079166B1|2000-01-07|2006-07-18|Ricoh Company, Ltd.|Graphical user interface with enhanced operations when changing display screen|
US7698389B2|2001-05-16|2010-04-13|Hewlett-Packard Development Company, L.P.|Device configuration in a distributed environment|
US20030014436A1|2001-06-27|2003-01-16|Spencer Donald J.|Closed-loop delivery to integrated download manager|
GB2380004A|2001-07-27|2003-03-26|Virtual Access Ireland Ltd|A configuration and management development system for a netwok of devices|
US7567575B2|2001-09-07|2009-07-28|At&T Corp.|Personalized multimedia services using a mobile service platform|
US6944474B2|2001-09-20|2005-09-13|Sound Id|Sound enhancement for mobile phones and other products producing personalized audio for users|
US20040218065A1|2001-09-25|2004-11-04|Schinner Charles E.|Personality modes in a handheld electronic device|
US7043696B2|2002-01-15|2006-05-09|National Instruments Corporation|Graphical program system having a single graphical user interface shared by a plurality of graphical programs|
NO318686B1|2002-09-27|2005-04-25|Gridmedia Technologies As|Multimedia-filformat|
US7263605B2|2002-12-09|2007-08-28|Intel Corporation|Decoupled hardware configuration manager that generates a user interface prior to booting using hardware configuration option data read from plurality of hardware devices|
US7882258B1|2003-02-05|2011-02-01|Silver Screen Tele-Reality, Inc.|System, method, and computer readable medium for creating a video clip|
US20040230659A1|2003-03-12|2004-11-18|Chase Michael John|Systems and methods of media messaging|
US20040243922A1|2003-05-30|2004-12-02|Peter Sirota|Method and process for scheduling and producing a network event|
US7418472B2|2003-09-30|2008-08-26|Microsoft Corporation|Systems and methods for determining remote device media capabilities|
US7669121B2|2005-01-19|2010-02-23|Microsoft Corporation|Transcode matrix|
US20060218488A1|2005-03-28|2006-09-28|Microsoft Corporation|Plug-in architecture for post-authoring activities|
JP4622671B2|2005-04-18|2011-02-02|ソニー株式会社|電子機器および方法、記録媒体、並びにプログラム|
US20070168866A1|2006-01-13|2007-07-19|Broadcom Corporation|Method and system for constructing composite video from multiple video elements|
US7712039B2|2006-03-31|2010-05-04|Microsoft Corporation|Setting control using edges of a user interface|
US20080124053A1|2006-09-01|2008-05-29|Hutten Matthijs C|Method for using a video content recording apparatus with syntax for video content recording parameters|
EP2177010B1|2006-12-13|2015-10-28|Quickplay Media Inc.|Mobile media platform|US20100262630A1|2009-04-14|2010-10-14|Microsoft Corporation|Adaptive profile for directing graphical content in a computing system|
CN106034247A|2015-03-12|2016-10-19|Tcl集团股份有限公司|一种智能电视应用的配置方法及装置|
法律状态:
2011-10-28| A621| Written request for application examination|Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20111027 |
2012-11-28| A977| Report on retrieval|Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20121128 |
2012-12-13| A131| Notification of reasons for refusal|Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121212 |
2013-03-08| A601| Written request for extension of time|Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20130307 |
2013-03-15| A602| Written permission of extension of time|Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20130314 |
2013-04-05| A601| Written request for extension of time|Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20130404 |
2013-04-12| A602| Written permission of extension of time|Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20130411 |
2013-05-03| A601| Written request for extension of time|Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20130502 |
2013-05-14| A602| Written permission of extension of time|Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20130513 |
2013-06-13| A521| Written amendment|Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130612 |
2013-09-19| A131| Notification of reasons for refusal|Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130918 |
2013-12-19| A601| Written request for extension of time|Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20131218 |
2013-12-27| A602| Written permission of extension of time|Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20131226 |
2014-01-21| A521| Written amendment|Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140120 |
2014-02-14| TRDD| Decision of grant or rejection written|
2014-02-20| A01| Written decision to grant a patent or to grant a registration (utility model)|Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20140219 |
2014-03-20| A61| First payment of annual fees (during grant procedure)|Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140311 |
2014-03-20| R150| Certificate of patent or registration of utility model|Ref document number: 5501244 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
2017-03-07| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 |
2018-03-06| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 |
2019-03-05| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 |
2020-02-28| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 |
2021-02-26| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 |
优先权:
申请号 | 申请日 | 专利标题
[返回顶部]