JP2011508294A - ソフトウェアの複雑さを低減するためにプロファイルを使用する装置および方法 - Google Patents

ソフトウェアの複雑さを低減するためにプロファイルを使用する装置および方法 Download PDF

Info

Publication number
JP2011508294A
JP2011508294A JP2010536293A JP2010536293A JP2011508294A JP 2011508294 A JP2011508294 A JP 2011508294A JP 2010536293 A JP2010536293 A JP 2010536293A JP 2010536293 A JP2010536293 A JP 2010536293A JP 2011508294 A JP2011508294 A JP 2011508294A
Authority
JP
Japan
Prior art keywords
profile
parameter information
hardware
user interface
graphical user
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2010536293A
Other languages
English (en)
Other versions
JP5501244B2 (ja
Inventor
ジェイ. シシンニ ロバート
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ATI Technologies ULC
Original Assignee
ATI Technologies ULC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ATI Technologies ULC filed Critical ATI Technologies ULC
Publication of JP2011508294A publication Critical patent/JP2011508294A/ja
Application granted granted Critical
Publication of JP5501244B2 publication Critical patent/JP5501244B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/485End-user interface for client configuration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB

Abstract

装置および方法は、プロファイル参照を含むアプリケーションに関連し、このプロファイルは、デバイスグラフィカルユーザインタフェースオプションに対応するパラメータ情報を含む。プロファイルは、画像、ビデオまたは音声のエンコーディング/デコーディングなどのデバイスのハードウェア動作に関連してもよく、パラメータ情報は、ハードウェアデバイスの機能および仕様に対応している。少なくとも1つのプロファイル参照を含むアプリケーションを作成するための対応するシステムも記載される。

Description

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

Claims (25)

  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に記載の記憶媒体。
JP2010536293A 2007-12-06 2008-10-29 ソフトウェアの複雑さを低減するためにプロファイルを使用する装置および方法 Active JP5501244B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/951,602 2007-12-06
US11/951,602 US20090150817A1 (en) 2007-12-06 2007-12-06 Method and Apparatus Utilizing Profiles to Reduce Software Complexity
PCT/CA2008/001902 WO2009070866A1 (en) 2007-12-06 2008-10-29 Method and apparatus utilizing profiles to reduce software complexity

Publications (2)

Publication Number Publication Date
JP2011508294A true JP2011508294A (ja) 2011-03-10
JP5501244B2 JP5501244B2 (ja) 2014-05-21

Family

ID=40717217

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010536293A Active JP5501244B2 (ja) 2007-12-06 2008-10-29 ソフトウェアの複雑さを低減するためにプロファイルを使用する装置および方法

Country Status (6)

Country Link
US (1) US20090150817A1 (ja)
EP (1) EP2232384A4 (ja)
JP (1) JP5501244B2 (ja)
KR (1) KR101500636B1 (ja)
CN (1) CN101952819A (ja)
WO (1) WO2009070866A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014076951A1 (ja) * 2012-11-19 2014-05-22 日本電気株式会社 プログラム設定装置、及び、プログラム設定方法
JP2019008598A (ja) * 2017-06-26 2019-01-17 株式会社三菱Ufj銀行 アプリケーション生成支援システムおよびアプリケーション生成支援プログラム

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100262630A1 (en) * 2009-04-14 2010-10-14 Microsoft Corporation Adaptive profile for directing graphical content in a computing system
CN106034247A (zh) * 2015-03-12 2016-10-19 Tcl集团股份有限公司 一种智能电视应用的配置方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06161704A (ja) * 1992-11-17 1994-06-10 Hitachi Ltd 音声インタフェース・ビルダ・システム
US6530083B1 (en) * 1998-06-19 2003-03-04 Gateway, Inc System for personalized settings
US20040131340A1 (en) * 2003-01-02 2004-07-08 Microsoft Corporation Smart profiles for capturing and publishing audio and video streams
JP2004318857A (ja) * 2003-04-16 2004-11-11 Samsung Electronics Co Ltd ホームネットワークでホーム状態情報を構成し利用する方法及びシステム
JP2004362090A (ja) * 2003-06-03 2004-12-24 Toyota Motor Corp 移動端末向けソフトウエア配信システム
JP2006524973A (ja) * 2003-04-25 2006-11-02 クゥアルコム・インコーポレイテッド ポータブルデバイスにおけるカメラリソースを制御するシステム

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI107772B (fi) * 1998-12-16 2001-09-28 Nokia Networks Oy Menetelmä ja järjestelmä tiedonsiirron palvelunlaadun rajoittamiseksi
US7079166B1 (en) * 2000-01-07 2006-07-18 Ricoh Company, Ltd. Graphical user interface with enhanced operations when changing display screen
US7698389B2 (en) * 2001-05-16 2010-04-13 Hewlett-Packard Development Company, L.P. Device configuration in a distributed environment
US20030014436A1 (en) * 2001-06-27 2003-01-16 Spencer Donald J. Closed-loop delivery to integrated download manager
GB2380004A (en) * 2001-07-27 2003-03-26 Virtual Access Ireland Ltd A configuration and management development system for a netwok of devices
US7567575B2 (en) * 2001-09-07 2009-07-28 At&T Corp. Personalized multimedia services using a mobile service platform
US6944474B2 (en) * 2001-09-20 2005-09-13 Sound Id Sound enhancement for mobile phones and other products producing personalized audio for users
US20040218065A1 (en) * 2001-09-25 2004-11-04 Schinner Charles E. Personality modes in a handheld electronic device
US7043696B2 (en) * 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 (no) * 2002-09-27 2005-04-25 Gridmedia Technologies As Multimedia-filformat
US7263605B2 (en) * 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 (en) * 2003-02-05 2011-02-01 Silver Screen Tele-Reality, Inc. System, method, and computer readable medium for creating a video clip
US20040230659A1 (en) * 2003-03-12 2004-11-18 Chase Michael John Systems and methods of media messaging
US20040243922A1 (en) * 2003-05-30 2004-12-02 Peter Sirota Method and process for scheduling and producing a network event
US7418472B2 (en) * 2003-09-30 2008-08-26 Microsoft Corporation Systems and methods for determining remote device media capabilities
US7669121B2 (en) * 2005-01-19 2010-02-23 Microsoft Corporation Transcode matrix
US20060218488A1 (en) * 2005-03-28 2006-09-28 Microsoft Corporation Plug-in architecture for post-authoring activities
JP4622671B2 (ja) * 2005-04-18 2011-02-02 ソニー株式会社 電子機器および方法、記録媒体、並びにプログラム
US20070168866A1 (en) * 2006-01-13 2007-07-19 Broadcom Corporation Method and system for constructing composite video from multiple video elements
US7712039B2 (en) * 2006-03-31 2010-05-04 Microsoft Corporation Setting control using edges of a user interface
US20080124053A1 (en) * 2006-09-01 2008-05-29 Hutten Matthijs C Method for using a video content recording apparatus with syntax for video content recording parameters
WO2008072093A2 (en) * 2006-12-13 2008-06-19 Quickplay Media Inc. Mobile media platform

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06161704A (ja) * 1992-11-17 1994-06-10 Hitachi Ltd 音声インタフェース・ビルダ・システム
US6530083B1 (en) * 1998-06-19 2003-03-04 Gateway, Inc System for personalized settings
US20040131340A1 (en) * 2003-01-02 2004-07-08 Microsoft Corporation Smart profiles for capturing and publishing audio and video streams
JP2004318857A (ja) * 2003-04-16 2004-11-11 Samsung Electronics Co Ltd ホームネットワークでホーム状態情報を構成し利用する方法及びシステム
JP2006524973A (ja) * 2003-04-25 2006-11-02 クゥアルコム・インコーポレイテッド ポータブルデバイスにおけるカメラリソースを制御するシステム
JP2004362090A (ja) * 2003-06-03 2004-12-24 Toyota Motor Corp 移動端末向けソフトウエア配信システム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014076951A1 (ja) * 2012-11-19 2014-05-22 日本電気株式会社 プログラム設定装置、及び、プログラム設定方法
JPWO2014076951A1 (ja) * 2012-11-19 2017-01-05 日本電気株式会社 プログラム設定装置、及び、プログラム設定方法
JP2019008598A (ja) * 2017-06-26 2019-01-17 株式会社三菱Ufj銀行 アプリケーション生成支援システムおよびアプリケーション生成支援プログラム

Also Published As

Publication number Publication date
WO2009070866A1 (en) 2009-06-11
US20090150817A1 (en) 2009-06-11
EP2232384A4 (en) 2012-02-15
KR101500636B1 (ko) 2015-03-09
JP5501244B2 (ja) 2014-05-21
EP2232384A1 (en) 2010-09-29
CN101952819A (zh) 2011-01-19
KR20100099720A (ko) 2010-09-13

Similar Documents

Publication Publication Date Title
US10319409B2 (en) System and method for generating videos
WO2019086037A1 (zh) 视频素材的处理方法、视频合成方法、终端设备及存储介质
CN113891113B (zh) 视频剪辑合成方法及电子设备
CN101896940B (zh) 用于硬件资源的动态配置的框架
JP5501244B2 (ja) ソフトウェアの複雑さを低減するためにプロファイルを使用する装置および方法
CN101251800B (zh) 图形用户界面生成方法及装置
US10191712B2 (en) Display apparatus and recording medium
WO2017050004A1 (zh) 动画管理方法及其系统
KR101720635B1 (ko) 웹 기반의 3d 영상 컨텐츠 제작 방법 및 이를 운영하는 서버
KR20090110123A (ko) 크로마키를 이용한 영상제작 장치 및 그 방법
CN114927110B (zh) 一种背光控制方法、显示设备、芯片系统及介质
KR100798556B1 (ko) 액티브 디스플레이 링크 기능을 포함하는 디지털 단말기
JP5400170B2 (ja) 異なる宛先のプラットフォームのためのメディアのポータビリティ及び互換性
CN103116632B (zh) 一种主题包的生成方法、装置和设备
CN113038137B (zh) 视频数据的输出方法、系统、装置及计算机可读存储介质
CN112911381A (zh) 一种显示设备、模式调整方法、设备及介质
CN113542706B (zh) 跑步机的投屏方法、装置、设备及存储介质
CN115842944A (zh) 用于处理输入音频的方法、电子设备和存储介质
WO2015074059A1 (en) Configurable media processing with meta effects
CN111045631A (zh) 双屏异显异音实现方法、装置及存储介质
KR100573435B1 (ko) 셋톱장치의 사용자 인터페이스 처리를 위한 서버기반사용자 인터페이스 관리시스템
JP7310706B2 (ja) エージェント制御装置、エージェント制御方法、及びエージェント制御プログラム
US9876593B1 (en) System and method for transmitting data to a device based on an entry of a rundown for a news program
CN116546163A (zh) 基于云服务平台的视频控制方法、装置、系统和存储介质
KR20240016525A (ko) 사용자 맞춤형 영상 제작 서비스 제공 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111027

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121212

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130307

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130314

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130404

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130411

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130502

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130513

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130612

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130918

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20131218

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20131226

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140120

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140219

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140311

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250