JP2006129527A - 通信端末及びプログラム - Google Patents

通信端末及びプログラム Download PDF

Info

Publication number
JP2006129527A
JP2006129527A JP2005372635A JP2005372635A JP2006129527A JP 2006129527 A JP2006129527 A JP 2006129527A JP 2005372635 A JP2005372635 A JP 2005372635A JP 2005372635 A JP2005372635 A JP 2005372635A JP 2006129527 A JP2006129527 A JP 2006129527A
Authority
JP
Japan
Prior art keywords
camera
image
image data
camera device
subject
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.)
Pending
Application number
JP2005372635A
Other languages
English (en)
Inventor
Masanari Asai
真生 浅井
Nobuyuki Watanabe
信之 渡邉
Yasunori Hatsutori
易憲 服部
Tatsuro Oi
達郎 大井
Masato Takeshita
理人 竹下
Masakazu Nishida
真和 西田
Naoki Naruse
直樹 成瀬
Yuichi Ichikawa
裕一 市川
Masayuki Tsuda
雅之 津田
Atsuki Tomioka
淳樹 富岡
Kazuhiro Yamada
和宏 山田
Masaru Kamiya
大 神谷
Satoshi Washio
諭 鷲尾
Naoki Yamane
直樹 山根
Keiichi Murakami
圭一 村上
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.)
NTT Docomo Inc
Original Assignee
NTT Docomo Inc
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 NTT Docomo Inc filed Critical NTT Docomo Inc
Priority to JP2005372635A priority Critical patent/JP2006129527A/ja
Publication of JP2006129527A publication Critical patent/JP2006129527A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Studio Devices (AREA)

Abstract

【課題】カメラデバイスの種類に関わりなく撮影ができ統一された形式で撮影された画像データを取り出すプログラムを作成することを可能とする仕組みを提供する。
【解決手段】携帯電話機10は、カメラデバイスを選択する手段と、選択されたカメラデバイスにより撮影された被写体を表す画像データを内部に保持するためのカメラデバイスに対応した属性を有するオブジェクトを生成する手段と、生成されたオブジェクトが有する属性を変更する手段と、被写体を撮影するためのプログラムを呼び出す手段と、呼び出されたプログラムを実行することによって、前記カメラデバイスにより被写体を撮影し、撮影された被写体を表す画像データをオブジェクト内に保持する手段と、保持された画像データを一定の形式で前記オブジェクトの外部に取り出す手段とを有する。
【選択図】図3

Description

この発明は、カメラを搭載した通信端末の技術に関する。
近年、撮像素子を備えたデジタルカメラを搭載した携帯電話機の開発が進んでいる。このような携帯電話機においては、CPUから撮影指令が出力されると、デジタルカメラが撮影を行う仕組みとなっている(例えば、文献1参照)。この種の携帯電話機の不揮発性メモリにデジタルカメラの制御プログラムや、撮影により得られた画像データを加工したり操作したりするためのプログラムが記憶されている。これらのプログラムの内容やデジタルカメラの種類は、携帯電話機の製造者により独自に決定される。
このため、画像の撮影を制御したり、画像データを加工するためのアプリケーションプログラムの作成方法や、ユーザが画像を撮影したり加工を行うために携帯電話機を操作する方法は、携帯電話機やカメラの種類によって異なっていた。
特開2002−218028号公報
このような事情のために、携帯電話機のユーザやアプリケーションプログラムの開発者は、カメラの種類によって異なった操作を行ったり、異なったアプリケーションプログラムを作成する必要があり、使い勝手や開発効率が悪くなっていた。
本発明は、以上説明した事情に鑑みてなされたものであり、カメラデバイスの種類に関わりなく撮影ができ統一された形式で撮影された画像データを取り出すプログラムを作成することを可能とする仕組みを提供することを目的としている。
上記課題を解決するために、この発明は、被写体を撮影するための複数のカメラデバイスと、前記カメラデバイスを制御するためのカメラデバイス制御手段を有し、前記カメラデバイス制御手段は、前記複数のカメラデバイスうちの何れかを選択する選択手段と、前記選択手段により選択されたカメラデバイスにより撮影された被写体を表す画像データを内部に保持するための、前記カメラデバイスに対応した属性を有するオブジェクトを生成するカメラオブジェクト生成手段と、前記前記カメラオブジェクト生成手段により生成されたオブジェクトが有する属性を変更する属性設定手段と、前記被写体を撮影するためのプログラムを呼び出すカメラ機能呼出手段と、前記カメラ機能呼出手段により呼び出されたプログラムを実行することによって、前記カメラデバイスにより被写体を撮影し、該撮影された被写体を表す画像データを前記カメラオブジェクト生成手段によって生成されたオブジェクト内に保持する画像保持手段と、前記画像保持手段によって保持された画像データを一定の形式で前記オブジェクトの外部に取り出す画像加工手段とを有する通信端末を提供する。
また、この発明は、コンピュータ装置を、前記複数のカメラデバイスうちの何れかを選択する選択手段と、前記選択手段により選択されたカメラデバイスにより撮影された被写体を表す画像データを内部に保持するための、前記カメラデバイスに対応した属性を有するオブジェクトを生成するカメラオブジェクト生成手段と、前記前記カメラオブジェクト生成手段により生成されたオブジェクトが有する属性を変更する属性設定手段と、前記被写体を撮影するためのプログラムを呼び出すカメラ機能呼出手段と、前記カメラ機能呼出手段により呼び出されたプログラムを実行することによって、前記カメラデバイスにより被写体を撮影し、該撮影された被写体を表す画像データを前記カメラオブジェクト生成手段によって生成されたオブジェクト内に保持する画像保持手段と、前記画像保持手段によって保持された画像データを一定の形式で前記オブジェクトの外部に取り出す画像加工手段として機能させるためのプログラムを提供する。
この発明によれば、通信端末は、選択されたカメラデバイスに対応した属性を内包したオブジェクトを生成し、入力された属性を変更した後、前記被写体を撮影するためのプログラムを呼び出す。通信端末は、呼び出されたプログラムを実行することによって、前記カメラデバイスにより被写体を撮影し、該撮影された前記被写体を表す画像データを前記オブジェクト内に保持する。通信端末は、前記オブジェクト内に保持された画像データを一定の形式で前記カメラオブジェクトの外部に取り出す。
以下、図面を参照して本発明の実施形態について説明する。なお、各図において共通する部分には、同一の符号が付されている。
[1.構成]
図1は、本実施形態に係る携帯電話機10のハードウェア構成を示すブロック図である。この図に示すように、携帯電話機10は通常のコンピュータ装置と同様の構成を備えている。また、携帯電話機10は、図示しない移動通信網の基地局との間で無線通信する無線通信部101と、ユーザに操作される複数のキーを有しキーの操作に応じた信号をCPU105に出力する操作入力部102と、移動通信網を介して通信する相手装置との間で呼の接続や切断を行う通話処理部103とを備えている。
また、図に示すように、カメラ制御部104は、被写体を撮影する一般的なカメラの機能を有している。カメラ制御部104は、2種類のカメラデバイスを有しており、1つは静止画像を撮影するカメラデバイス、他の1つは動画像を撮影するカメラデバイスである。各々のカメラデバイスは、レンズ、CCD(Charge
Coupled Device)等の撮像素子、A/D変換器、画像処理回路及びシャッタを有している。被写体の像はレンズを介して光学像に変換されて撮像素子面上に結像される。撮像素子は、光学像の光の強弱を電荷量に変換する。撮像素子から出力されるアナログビデオ信号は、A/D変換器でデジタルビデオ信号の画像データに変換され、液晶表示部106に表示される。シャッタが押下されて撮影された画像データはRAM109に一時的に記憶される。画像処理回路は、画像データをJPEG(Joint Photographic Experts Group)による圧縮伸長を行う。
記憶部107は、ROM108と、RAM109と、不揮発性メモリ110から構成されている。ROM108には、携帯電話機10用のオペレーティングシステム(以下「OS」という)やJava(登録商標)仕様に準拠したバイトコードで構成されるアプリケーションプログラム(以下、「JavaAP」という)を実行するJava実行環境を構築するためのソフトウェアや、カメラ制御部104のカメラデバイスの種類を識別するためのカメラデバイスIDデータや、各々のカメラデバイスについての、デフォルトの属性値(画像データのサイズ、画質、連写モードの有効・無効、マイク音量、フレーム画像の有・無の値)や変更が可能な属性を表すデータが記憶されている。また、RAM109は、CPU105のワークエリアとして用いられ、CPU105により実行される各種のプログラムやデータが一時的に記憶される。例えば、RAM109には、後述するカメラオブジェクト内のデータが記憶される。
不揮発性メモリ110には、携帯電話機10の製品出荷時点から携帯電話機10の機能を実現するためのネイティブアプリケーションプログラムや各種データが記憶されている。ネイティブアプリケーションプログラムには、WWW(World Wide Web)ブラウザの機能や、携帯電話機10の通話機能や、カメラ制御部104によって被写体を撮影するカメラ機能を実現するためのプログラムが含まれている。
また、不揮発性メモリ110には、JARストレージ110aとスクラッチパッド110bとネイティブ領域110cとが設けられている。
JARストレージ110aには、ダウンロードされたJAR(Java Archive)ファイルが記憶される。JARファイルは、JavaAPが内包された圧縮ファイルである。また、スクラッチパッド110bには、JARファイルと共にダウンロードされたデータや、JavaAPを実行することによって作成されたデータが記憶される。ネイティブ領域110cには、電話番号、発着信履歴を表すデータや、撮影時に液晶表示部106に被写体の画像データと合成して表示するためのフレーム画像データが一時的に記憶される。
図2は、上記構成の携帯電話機10の記憶部107に記憶されているソフトウェアによって実現されるJavaAPの実行環境を説明するための図である。
KVMは、パーソナルコンピュータ装置に比較して記憶容量や処理速度、消費電力等に制約のある小型電子機器用に設計されたJVM(Java Virtual Machine)であって、JARファイルに内包されたJavaAPのバイトコードを解釈し実行することにより、携帯電話機10にJavaAPで表されるアプリケーションを実現させる。
KVMは、JavaAPに対して、携帯電話機10のリソースにアクセスするためのAPIを提供する。提供されるAPIとしては、CLDC(Connected Limited Device Configuration)クラスライブラリを使用するためのAPIと、CLDCに準拠しないクラスライブラリを使用するためのアプリケーションAPIとがある。KVMは、アプリケーションAPIを介してリソースを使用することにより、JavaAPとネイティブアプリケーションプログラムとの動作連携、赤外線通信、HTTP(Hypertext Transfer Protocol)やHTTPS(Hypertext Transfer Protocol Security)によるネットワーク接続、ユーザインターフェースの提供、スクラッチパッド110bへのデータ保管等の処理を行うことができる。なお、KVMは他のネイティブアプリケーションプログラムと異なり、JavaAPの起動の指示がOSに入力されたときに起動される。
JAMは、携帯電話機10にJARファイル及びADF(Application Descriptor File)をダウンロードする。JARファイルは、JARストレージ110aに記憶される。ADFには、対応するJavaAPを起動するときのメインクラス名を指定したAppClassキーや、当該JavaAPに割り当てられたスクラッチパッド110bの容量を表すSpsize等の、JARファイルに関する情報が記述されており、JAMは、このADFの記述内容を参照し、当該ADFに対応するJavaAPの実行や当該ADFに対応するJavaAPの挙動を管理する。JavaAPの実行の管理の具体的な内容としては、JavaAPの起動及びJavaAPの強制終了が挙げられる。JavaAPの挙動の管理の具体的な内容としては、JavaAPとネイティブアプリケーションプログラムとの仲介、及び不揮発性メモリ110に記憶されたデータへのアクセス制限が挙げられる。
ネイティブアプリケーションプログラムとは、上述したように、携帯電話機10の製品出荷時点から記憶されているプログラムである。ネイティブアプリケーションプログラムはOSが直接制御する。ネイティブアプリケーションプログラムには、カメラ機能を有するネイティブアプリケーションプログラムが含まれている。カメラ機能とは、カメラ制御部104によって被写体を撮影する機能である。
また、アプリケーションAPIには、カメラAPIが含まれている。KVMは、JavaAPを実行する過程で、カメラAPIを介してカメラ機能を有するネイティブアプリケーションを呼び出し、カメラ制御部104によって静止画や動画を撮影する。
ここで、カメラAPIには、データを操作するためのメソッドが定義されている。以下、当該メソッドの機能を説明する。
なお、実際には、CPU105が、JAM、KVM、OSを実現するためのソフトウェアを記憶部107より読み出して実行するのであって動作主体はCPU105であるが、以下の説明では、動作主体をJAM、KVM、OSとして説明する。
(1)カメラオブジェクト生成(getCamera)メソッド
撮影用に選択されたカメラデバイスを識別するためのカメラデバイスIDをパラメータとして、カメラデバイスに対応したカメラオブジェクトを生成する機能を有する。KVMは、カメラデバイスIDに対応した属性を表すデータをROM108より読み出して、当該データを内包したカメラオブジェクトを生成する。生成されたカメラオブジェクト内には、撮影した画像データや、設定可能な属性や設定された属性を表すデータが保持される。
(2)属性設定可否判定(isAvailable)メソッド
選択されたカメラデバイスの属性(画像サイズ、画質、連写モード、マイク音量、フレーム画像)が設定可能か否かを判定する機能を有する。
(3)撮影可能静止画サイズ取得(getAvailablePictureSizes)メソッド
選択されたカメラデバイスで撮影可能な静止画の画像サイズを表すデータをカメラオブジェクトより取得する機能を有する。
(4)撮影可能動画サイズ取得(getAvailableMovieSizes)メソッド
選択されたカメラデバイスで撮影可能な動画の画像サイズを表すデータをカメラオブジェクトより取得する機能を有する。
(5)最大データサイズ取得(getMaxImageLength)メソッド
選択された動画撮影用のカメラデバイスで撮影可能な最大データサイズを表すデータを取得する機能を有する。
(6)使用可能フレームサイズ取得(getAvailableFrameSizes)メソッド
選択された静止画撮影用のカメラデバイスで使用可能なフレーム画像のサイズを表すデータをカメラオブジェクトより取得する機能を有する。
(7)属性設定(setAttribute)メソッド
選択されたカメラデバイスの属性を設定する機能を有する。選択されたカメラデバイスが静止画撮影用の場合、画質、連写モードの有効/無効、フレーム画像の有無を設定する機能を有する。選択されたカメラデバイスが動画撮影用の場合、画質、マイク音量を設定する機能を有する。
(8)画像サイズ設定(setImageSize)メソッド
選択されたカメラデバイスの属性のひとつである撮影する画像のサイズ(矩形領域の幅と高さ)を設定する機能を有する。画像サイズには、Lサイズ(288×352mm)とSサイズ(120×120mm)が存在する。
(9)フレーム設定(setFrameImage)メソッド
選択されたカメラデバイスが静止画撮影用の場合、フレーム画像として使用する画像データを指定する機能を有する。フレーム画像としては、透明色のGIF(Graphics Interchange Format)を指定する。なお、設定するフレーム画像の画像サイズは、カメラ画像サイズと等しいものに限る。このメソッドを指定した結果撮影される画像は、フレーム画像なしで撮影した画像の上に、フレーム画像を描画した画像となる。
(10)属性取得(getAttribute)メソッド
選択されたカメラデバイスに設定されている属性値を表すデータをカメラオブジェクトより取得する機能を有する。
(11)静止画カメラ機能呼出(takePicture)メソッド
カメラ機能を有するネイティブアプリケーションプログラムを静止画撮影モードで呼び出す機能を有する。このメソッドが呼び出されると、JAMは、JavaAPの実行をサスペンドしカメラ機能を有するネイティブアプリケーションプログラムを起動する。ここで、サスペンドとは、実行中のJavaAPを中止することである。JAMは、カメラ機能を有するネイティブアプリケーションプログラムの実行が終了すると、JavaAPの実行をレジュームしこのメソッドから復帰させる。ここで、レジュームとは、サスペンド中のJavaAPの実行を再開することである。ユーザが撮影操作を行った後、撮影した画像を保存する操作を行った場合は、カメラオブジェクト内に画像データが保持される。ユーザが撮影操作を行わなかったり、あるいは撮影した画像を保存する操作を行わなかった場合は、カメラオブジェクト内に画像データは保持されない。カメラオブジェクト内に保持される画像データは、連写モードを無効にして撮影した場合は直近に撮影した1画像データのみである。一方、連写モードを有効にして撮影した場合は複数の画像データが保持される。なお、このメソッドを呼び出す前に保持していた画像データは、このメソッドを呼び出した時点で全て破棄される。
(12)動画撮影(takeMovie)メソッド
カメラ機能を有するネイティブアプリケーションプログラムを動画撮影モードで呼び出す機能を有する。
(13)入力ストリーム取得(getInputStream)メソッド
カメラオブジェクト内の指定されたインデックスに保持されている画像データをJPEGファイル形式のバイトイメージデータとして読み出すための入力ストリームを取得する機能を有する。
(14)撮影画像数取得(getNumberOfImages)メソッド
カメラオブジェクト内に保持されている撮影した画像データの数を表すデータ取得する機能を有する。
(15)画像データサイズ取得(getImageLength)メソッド
カメラオブジェクト内の指定されたインデックスに対応づけられて保持されている画像データのデータサイズを取得する機能を有する。
(16)イメージオブジェクト取得(getImage)メソッド
カメラオブジェクト内の指定されたインデックスに対応した画像データを、当該画像データが内包されたイメージオブジェクトとして取得する機能を有する。
(17)画像破棄(disposeImages)メソッド
カメラオブジェクト内の全ての画像データを破棄する機能を有する。カメラオブジェクトは画像データを保持していない状態となる。
以上が、カメラAPIに用意されているメソッドである。
また、アプリケーションAPIには、イメージオブジェクト取得(getImage)メソッドにより取得したイメージオブジェクトから、撮影した画像データを取り出し、以下の加工の仲介を行うAPIが含まれている。
(1)画像データにカメラフレームなどの図形や文字を描画する
(2)画像データの切り出しを行う
(3)画像データを拡大や縮小、回転(90度、180度、270度)、反転(左右、上下)する
また、アプリケーションAPIには、入力ストリーム取得(getInputStream)メソッドにより取得したJPEGファイル形式のバイトイメージデータをスクラッチパッド110bに保存する仲介を行うAPIを有している。また、アプリケーションAPIには、入力ストリーム取得(getInputStream)メソッドにより取得したJPEGファイル形式のバイトイメージデータをHTTP(Hypertext Transfer Protocol)サーバ装置へ送信する仲介を行うAPIが含まれている。
また、アプリケーションAPIには、バイトイメージデータをイメージオブジェクトに変換する仲介を行うAPIが含まれている。
また、アプリケーションAPIには、ユーザが操作入力部102を操作して入力した内容を示すデータを実行中のJavaAPに通知したり、データを液晶表示部106に表示する仲介を行うAPIが含まれている。
また、アプリケーションAPIには、実行中のJavaAPの実行をサスペンドする仲介を行うAPIと、サスペンドしているJavaAPをレジュームする仲介を行うAPIとを含んでいる。
[2.動作]
次に、上記構成において、上記カメラAPIや上記説明したアプリケーションAPIで定義されているメソッドが記述されたプログラムをコンパイルして、実行可能なバイトコードとしたJavaAP(以下、「カメラAP」という)を、CPU105が実行した場合の動作例を、図3を参照しながら説明する。
前提として、カメラAPが内包されたJARファイルと当該ファイルに対応したADFは、サーバ装置より携帯電話機10にダウンロードされて不揮発性メモリ110に記憶されているものとする。
また、カメラ制御部104の、静止画を撮影するためのカメラデバイスには“1”のカメラデバイスIDが対応付けられ、動画を撮影するためのカメラデバイスには“2”のカメラデバイスIDが対応付けられて、ROM108に記憶されているものとする。
また、静止画を撮影するためのカメラデバイスの属性(画質、連写モード、画像サイズ、フレーム)は全て設定可能であることを示すデータがROM108に記憶されているものとする。また、静止画を撮影するためのカメラデバイスは、LサイズとSサイズとの画像サイズが設定可能であることを表すデータがROM108に記憶されているものとする。
また、撮影した画像データにフレーム画像として合成するためのSサイズとLサイズとの2種類の透過GIFが、スクラッチパッド110bに記憶されているものとする。
以下の説明では、ユーザが携帯電話機10を用いて、連写モードを有効にして標準の画質でSサイズの静止画を3枚撮影した後に、2番目に撮影した画像データをスクラッチパッド110bに保存する操作を行う動作例を説明する。
まず、ユーザは操作入力部102を操作して、カメラAPを用いて撮影を開始するための指示を行う。
これにより、JAMは、選択されたカメラAPに対応するADFを不揮発性メモリ110より読み出す。そして、JAMは、ADFのAppClassキーで示されるカメラAPのメインクラス名を指定してKVMを起動する。KVMは、AppClassキーに対応するJARファイルを読み出し、当該JARファイルに内包されるカメラAPを実行する。
まず、KVMは、どの種類のカメラデバイスを使用して撮影するのかをユーザに選択させるための画面を液晶表示部106に表示する。
ユーザは、操作入力部102を操作して、静止画を撮影するためのカメラデバイスID“1”を指定する。
これにより、KVMは、カメラオブジェクト生成(getCamera)メソッドによって、入力されたカメラデバイスID“1”に対応したデフォルトの属性を表すデータや設定可能な属性を表すデータをROM108より読み出し、当該データを内包したカメラオブジェクトを生成する(ステップS101)。
次に、ユーザは、操作入力部102を操作して、どの属性が設定可能であるかを確認するための指示を行う。
これにより、KVMは、属性設定可否判定(isAvailable)メソッドを呼び出して、カメラオブジェクトより各種属性(画質、連写モード、画像サイズ、フレーム)が設定可能か否かを表すデータを取得する。そして、KVMは、全ての属性が設定可能であることを表すデータを取得し、当該データを液晶表示部106に表示する。
ユーザは、操作入力部102を操作することによって、画質“標準”、連写モード“有効”を設定する指示を行う。
これにより、KVMは、入力された属性値をパラメータとして、属性値設定(setAttribute)メソッドを呼び出してカメラオブジェクトに属性値を設定する(ステップS102)。
次に、ユーザは、操作入力部102を操作して、設定可能な画像サイズを表示するための指示を行う。
これにより、KVMは、撮影可能画像サイズ取得(getAvailablePictureSize)メソッドを呼び出し、撮影可能な静止画の画像サイズ“Sサイズ”と“Lサイズ”を表すデータをカメラオブジェクトより取得する。そして、KVMは、当該データを液晶表示部106に表示する。
ユーザは、操作入力部102を操作して、撮影する画像を“Sサイズ”に設定するための指示を行う。
これにより、KVMは、入力された画像サイズ“Sサイズ”を表すデータをパラメータとして画像サイズ設定(setImageSize)メソッドを呼び出し、カメラオブジェクトに画像サイズ“Sサイズ”を表すデータを設定する(ステップS103)。
次に、ユーザは、操作入力部102を操作して、設定可能なフレーム画像のサイズを確認するための指示を行う。
これにより、KVMは、使用可能フレームサイズ取得 (getAvailableFrameSizes)メソッドを呼び出し、使用可能なフレーム画像のサイズ(画像サイズと同じ“Sサイズ”)を表すデータをカメラオブジェクトより取得する。そして、KVMは、当該データを液晶表示部106に表示する。
次に、ユーザは、操作入力部102を操作して、スクラッチパッド110bに記憶されているSサイズのフレーム画像を指定するための指示を行う。
これにより、KVMは、指定されたSサイズのフレーム画像を識別するためのデータをパラメータとしてフレーム設定(setFrameImage)メソッドを呼び出して、撮影時に使用するSサイズのフレーム画像を識別するためのデータをカメラオブジェクトに設定する(ステップS104)。
次に、ユーザは、操作入力部102を操作して、カメラ機能を起動するための指示を行う。
これにより、KVMは、静止画カメラ機能呼出(takePicture)メソッドを呼び出す(ステップS105)。これにより、JAMは、サスペンドの仲介を行うAPIを介して、実行中のカメラAPをサスペンドする。そして、JAMは、カメラオブジェクト内に設定された属性をパラメータとしてカメラ機能を有するネイティブアプリケーションプログラムを起動するための指示を行う。これにより、OSは、カメラ機能を有するネイティブアプリケーションプログラムを実行する。OSは、ステップS104で指定されたSサイズのフレーム画像データをスクラッチパッド110bより読み出し、ネイティブ領域110cに一時的に記憶する。そして、OSは、カメラデバイスのレンズより入力される被写体を表す画像データとネイティブ領域110cに記憶されたフレーム画像データとを合成して、液晶表示部106に表示する。
ユーザは、液晶表示部106に表示されたフレーム画像付きの被写体を参照しながら、撮影指示の操作を行う。
これにより、OSは、シャッタを切り静止画を撮影する。OSは、撮影された画像データを一時的にRAM109に記憶する。
次に、ユーザは、操作入力部102を操作することにより、撮影した画像をカメラオブジェクト内に保持する旨の指示を行う。
これにより、OSは、撮影された画像データをカメラオブジェクト内に保持する(ステップS106)。
ユーザは、上記と同様の方法で撮影指示の操作を繰り返し、全部で撮影指示の操作を3回行う。ここでは、連写モードが“有効”に設定されているために、ユーザが撮影指示の操作を行って画像データを保持する操作を行う毎に、複数の画像データが撮影順にインデックスと対応付けられてカメラオブジェクト内に保持される。
次に、ユーザは、操作入力部102を操作して、撮影終了の操作を行う。
これにより、OSは、ネイティブ領域110cに記憶したフレーム画像データを削除する。そして、OSは、カメラ機能を有するネイティブアプリケーションプログラムの実行を終了し、JAMに終了したことを通知する。
JAMは、当該通知を受け、レジュームを仲介するAPIを介して、サスペンド状態のカメラAPをレジュームさせ静止画カメラ機能呼出(takePicture)メソッドから復帰させる。
次に、ユーザは、操作入力部102を操作して、撮影した画像の枚数を確認する旨の操作を行う。
これにより、KVMは、撮影画像数取得(getNumberOfImages)メソッドを呼び出して、カメラオブジェクト内に保持されている撮影された画像データの枚数“3枚”を表す撮影画像数データを取得する(ステップS107)。
そして、KVMは、取得した撮影画像数データを液晶表示部106に表示する。
ユーザは、3枚画像が撮影されたことを確認した後に、操作入力部102を操作して、2番目に撮影した画像のサイズを確認する旨の指示を行う。
これにより、KVMは、画像データサイズ取得(getImageLength)メソッドを呼び出して、カメラオブジェクト内の2番目のインデックスと対応づけられて保持されている画像のサイズ“Sサイズ”を表す画像サイズデータを取得する。そして、KVMは、取得した画像サイズデータを液晶表示部106に表示する。
次に、ユーザは、操作入力部102を操作して、2番目に撮影した画像データを携帯電話機10のスクラッチパッド110bに保存する旨の操作を行う。
これにより、KVMは、2番目のインデックスをパラメータとした入力ストリーム取得(getInputStream)メソッドを呼び出して、カメラオブジェクト内に保持されている2番目のインデックスと対応づけらている画像データをJPEGファイル形式のバイトイメージデータとして取得する(ステップS108)。
そして、KVMは、データの保存を仲介するAPIを介して、取得したデータをスクラッチパッド110bに記憶する。
あるいは、ユーザが、操作入力部102を操作して、画像を縮小する等の加工する指示を行った場合には、KVMは、イメージオブジェクト取得(getImage)メソッドを呼び出して画像データを内包したイメージオブジェクトを取得する。そして、KVMは、画像の加工を仲介するAPIを介して、取得されたイメージオブジェクトから画像データを取り出し当該画像データを縮小加工する。
また、ユーザが、操作入力部102を操作して、画像データをサーバ装置に送信する旨の指示を行った場合には、KVMは、入力ストリーム取得(getInputStream)メソッドを呼び出して、カメラオブジェクトより画像データをJPEGファイル形式のバイトイメージデータとして取得する。そして、KVMは、当該データをサーバ装置へ送信する。
以上のように、カメラを識別するためのカメラデバイスIDを取得し、カメラデバイスIDに対応したカメラオブジェクトを生成することができるため、携帯電話機10に搭載されたカメラデバイスの種類に関わりなく、同一のカメラAPを用いて撮影を行うことができる。
また、画像データのサイズ、画質、連写モード、マイク音量、フレーム画像の有無等の属性をカメラAPから設定することができるため、カメラデバイスのデフォルトの設定を任意に変更することが可能である。
また、カメラオブジェクト内に保持された画像データの枚数及びサイズを液晶表示部106に表示することができるため、ユーザは、あと何枚撮影可能かを確認することができ、また、画像データを加工したり送信したりするときに枚数やサイズが確認できるため、利便性が向上する。
また、撮影時に、フレーム画像を被写体と合成して液晶表示部106に表示することができるため、ユーザは、フレーム枠内に表示される被写体を確認しながら撮影を行うことができる。
また、連写モードを有効にした場合にはカメラオブジェクト内に画像データを複数枚保持することができる一方、連写モードを無効にした場合にはカメラオブジェクト内に画像データを1枚のみ保持することができるようにしたため、画像データの管理をカメラオブジェクトで行うことができる。
以上のように、カメラAPIで定義されているメソッドの機能を用いることで、携帯電話機10に搭載されたカメラデバイスの種類に応じてカメラオブジェクトを生成し、任意の属性を設定してからカメラ機能を有するネイティブアプリケーションプログラムを起動して撮影を行うことができる。
また、撮影した画像データを統一されたデータ形式で取り出すことが可能なため、ユーザやJavaAPの開発者の利便性を向上させることができる。
このように、画像データや属性を内包したカメラオブジェクトを生成して、当該カメラオブジェクト内で画像データや属性を制御、管理するようにしたため、カメラデバイスの種類に関わらずカメラオブジェクト内で統一した形で画像データを管理することができる。
[3.変形例]
以上、本発明の実施形態について説明したが、本発明の一態様を例示したものに過ぎず、本発明はその主要な特徴から逸脱することなく他の様々な形態で実施することが可能である。変形例としては、例えば、以下のようなものが考えられる。
(1)カメラ機能を有するネイティブアプリケーションプログラムを起動する前は、属性の変更を行ってもよい。
具体的には、ユーザは、操作入力部102を操作することによって、現在設定されている画質の属性を確認するための指示を行う。これにより、KVMは、属性取得(getAttribute)メソッドを呼び出して、カメラオブジェクトから現在設定されている画質の属性値“標準”を取得して、液晶表示部106に表示する。
次に、ユーザは、操作入力部102を操作して、画質“高”を設定する指示を行う。これにより、KVMは、画質の属性値“高”をパラメータとして、属性設定(setAttribute)メソッドを用いて属性を設定する。
このように、属性取得(getAttribute)メソッドを呼び出すことでカメラオブジェクトから現在設定されている属性を取得し、液晶表示部106に表示することができるため、ユーザは、現在設定されている属性を確かめた上で、属性を変更することができる。
(2)オブジェクト内の画像データが不要になった場合には、画像データを破棄する処理を行ってもよい。
具体的には、ユーザは、操作入力部102を操作して、カメラオブジェクト内に保持されている画像データを破棄する旨の指示を行う。
これにより、KVMは、画像破棄(disposeImages)メソッドを用いて、カメラオブジェクトが保持している画像データを全て破棄する。
(3)上記動作例は一例であり、処理の順序や属性の設定内容は上記動作例に限定されない。また、カメラAPIに限らず、他のアプリケーションAPIで定義されているメソッドと組み合わせて、多様なJavaAPを作成することができる。
(4)上述した実施形態では、Javaプログラミング言語で作成されたJavaAPを用いた場合について説明したが、プログラミング言語はJavaに限定されるものではない。しかしながら、カメラオブジェクトを生成する必要があることから、オブジェクト指向言語がより適しており、また、オブジェクト指向言語の中でも、携帯電話機10にJava実行環境やダウンロードの仕組みが用意されているJavaプログラミング言語が適している。
(5)上記実施形態においては、カメラ機能を有するプログラムを呼び出したときには、JAMはカメラAPをサスペンドしたが、サスペンドしなくてもよい。しかしながら、サスペンドしない場合には、カメラ機能を有するネイティブアプリケーションプログラムとカメラAPとが使用するリソースが重複することによって競合が起きてしまったり、撮影中にカメラ機能を有するネイティブアプリケーションプログラムの実行を終了するためのボタンが押されたりすると不具合が生じるため、サスペンドした方が好ましい。
(6)設定・変更可能な「属性」は、上記実施形態に限定されるものではない。例えば、ズーム機能、撮影時の照明設定、画質補正(明るさ、色調補正、ホワイトバランス)、セピア撮影等の属性を設定・変更可能としてもよい。
(7)上記実施形態においては、カメラAPIの機能を有するソフトウェアを、予め携帯電話機10の記憶部107に記憶させておくようにしたが、移動通信網を介してダウンロードするようにしてもよいし、当該ソフトウェアを記録した記録媒体を携帯電話機10に装着するようにしてもよい。
以上説明したように、本発明によれば、画像データや属性を内包したカメラオブジェクトを生成して、当該カメラオブジェクト内で画像データや属性を制御、管理するようにしたため、カメラデバイスの種類に影響されずに被写体を撮影したり撮影された画像データを統一したデータ形式で取り出すことができる。
本発明の実施形態に係る携帯電話機のハードウェア構成を示すブロック図である。 同実施形態に係る携帯電話機のJava実行環境を説明するための図である。 同実施形態に係る携帯電話機において、CPUにより実行されるカメラAPの動作を説明するためのフローチャートである。
符号の説明
10……携帯電話機、101……無線通信部、101a……アンテナ、102……操作入力部、103……通話処理部、104……カメラ制御部、105……CPU、106……液晶表示部、107……記憶部、108……ROM、109……RAM、110……不揮発性メモリ、110a……JARストレージ、110b……スクラッチパッド、110c……ネイティブ領域、111……バス。

Claims (2)

  1. 被写体を撮影するための複数のカメラデバイスと、
    前記カメラデバイスを制御するためのカメラデバイス制御手段を有し、
    前記カメラデバイス制御手段は、
    前記複数のカメラデバイスのうちの何れかを選択する選択手段と、
    前記選択手段により選択されたカメラデバイスにより撮影された被写体を表す画像データを内部に保持するための、前記カメラデバイスに対応した属性を有するオブジェクトを生成するカメラオブジェクト生成手段と、
    前記カメラオブジェクト生成手段により生成されたオブジェクトが有する属性を変更する属性設定手段と、
    前記被写体を撮影するためのプログラムを呼び出すカメラ機能呼出手段と、
    前記カメラ機能呼出手段により呼び出されたプログラムを実行することによって、前記カメラデバイスにより被写体を撮影し、該撮影された被写体を表す画像データを前記カメラオブジェクト生成手段によって生成されたオブジェクト内に保持する画像保持手段と、
    前記画像保持手段によって保持された画像データを一定の形式で前記オブジェクトの外部に取り出す画像加工手段と
    を有することを特徴とする通信端末。
  2. コンピュータ装置を、
    前記複数のカメラデバイスのうちの何れかを選択する選択手段と、
    前記選択手段により選択されたカメラデバイスにより撮影された被写体を表す画像データを内部に保持するための、前記カメラデバイスに対応した属性を有するオブジェクトを生成するカメラオブジェクト生成手段と、
    前記前記カメラオブジェクト生成手段により生成されたオブジェクトが有する属性を変更する属性設定手段と、
    前記被写体を撮影するためのプログラムを呼び出すカメラ機能呼出手段と、
    前記カメラ機能呼出手段により呼び出されたプログラムを実行することによって、前記カメラデバイスにより被写体を撮影し、該撮影された被写体を表す画像データを前記カメラオブジェクト生成手段によって生成されたオブジェクト内に保持する画像保持手段と、
    前記画像保持手段によって保持された画像データを一定の形式で前記オブジェクトの外部に取り出す画像加工手段と
    して機能させるためのプログラム。
JP2005372635A 2005-12-26 2005-12-26 通信端末及びプログラム Pending JP2006129527A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005372635A JP2006129527A (ja) 2005-12-26 2005-12-26 通信端末及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005372635A JP2006129527A (ja) 2005-12-26 2005-12-26 通信端末及びプログラム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2003092290A Division JP3768968B2 (ja) 2003-03-28 2003-03-28 通信端末及びプログラム

Publications (1)

Publication Number Publication Date
JP2006129527A true JP2006129527A (ja) 2006-05-18

Family

ID=36723618

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005372635A Pending JP2006129527A (ja) 2005-12-26 2005-12-26 通信端末及びプログラム

Country Status (1)

Country Link
JP (1) JP2006129527A (ja)

Similar Documents

Publication Publication Date Title
KR100678209B1 (ko) 휴대단말기의 이미지 제어방법
WO2014042421A2 (en) Method for displaying camera preview screen in a portable terminal
JP2004194293A (ja) 携帯無線端末、撮影画像編集装置、及び、撮影画像編集方法
JP2009159630A (ja) 撮影機能付き通信端末、同端末用の制御プログラム
CN115914826A (zh) 一种图像内容的去除方法及相关装置
KR100703315B1 (ko) 휴대단말기의 블루투스 통신에서 파일전송 장치 및 방법
KR20110088914A (ko) 휴대용 단말기에서 카메라 기능을 제공하기 위한 장치 및 방법
JP2004179923A (ja) 携帯電話機及びそれに用いる連写画像の自作アニメーション設定方法
JP3768968B2 (ja) 通信端末及びプログラム
JP2002033953A (ja) デジタルカメラ、画像表示装置及び画像送受信システム
JP2005269180A (ja) 動画撮影装置、動画一覧表示方法、および、動画一覧表示プログラム
KR100678208B1 (ko) 휴대단말기의 이미지 저장 및 표시방법
JP2006129527A (ja) 通信端末及びプログラム
JP2004192138A (ja) 画像作成送信システム、画像作成送信方法および携帯情報端末
JP3988075B2 (ja) 画像送信機器
JP4515807B2 (ja) 携帯端末装置
JP4924723B2 (ja) 文書データ生成装置、及び、プログラム
KR101276875B1 (ko) 썸네일 표시가 가능한 휴대용 단말기 및 그의 썸네일 표시방법
JP5415830B2 (ja) 携帯端末、電子カメラおよび連続撮影プログラム
JP2005267184A (ja) 携帯端末、ディレクトリ管理方法およびディレクトリ管理プログラム
JP2001307108A (ja) 情報処理装置、動作認識待機状態表示方法及びプログラム格納媒体
KR100641321B1 (ko) 사진 촬영시 흔들림을 방지하는 이동통신 단말기의 카메라시스템 및 촬영 방법
CN114726997A (zh) 图像存储及读取方法、装置、电子设备及存储介质
WO2007074946A1 (ja) デジタルカメラ、携帯電話、プログラム
JP2007325240A (ja) カメラ機能付き携帯電話もしくは無線インターネット接続機能を内蔵した電子カメラによって撮影されたデジタル画像の送付方法