以下、本発明の好適な実施の形態について、添付の図面を参照しつつ、詳細に説明する。
<1. 実施の形態>
図1は、本発明に係るデジタルスチルカメラ2を含む情報処理システム1を示す図である。情報処理システム1は、デジタルスチルカメラ2と、端末装置3と、例えばコンテンツプロバイダ等に設置されるサーバ装置5とを備えている。本実施の形態における情報処理システム1では、端末装置3とサーバ装置5とが互いにネットワーク8を介して接続される構成となっている。
なお、ネットワーク8としては、インターネットや公衆網等が該当する。また、サーバ装置5の台数は1台に限定されるものではなく、例えば複数のサーバ装置5がネットワーク8に接続されていてもよい。
サーバ装置5は、データベース50を備えた一般的なコンピュータとして構成されており、先述のようにネットワーク8に接続されている。サーバ装置5のデータベース50には、シナリオ元データ52、GUIデータ53および素材データ54(以下、これらを「コンテンツデータ51」と総称する場合がある。)が予め保存されている。なお、コンテンツデータ51は、シナリオ元データ52、GUIデータ53および素材データ54のうちの全てを含んでいる必要はなく、それらのうちのいずれかであってもよい。
コンテンツデータ51は、画像処理に関する専門知識を有するオペレータ(イラストレータやカメラマン、プログラマ等)によって予め作成されたデータである。したがって、コンテンツデータ51は、一般ユーザによって作成されるデータに比べて品質の高いデータとして提供される。コンテンツデータ51のうちのシナリオ元データ52およびGUIデータ53は、デジタルスチルカメラ2において実行されるデータであって、例えば、スクリプト言語等で記述されるテキストデータである。
シナリオ元データ52は、結婚式やゴルフコンペ、運動会、卒業式といった様々なテーマごとにそれぞれ制作されており、対応するテーマと関連づけられて保存されている。したがって、ユーザは具体的なテーマを選択するだけで、個々のシナリオ元データ52の内容を詳細に理解していなくても、所望の編集データを作成するためのシナリオ元データ52をコンテンツプロバイダが提供する複数のシナリオ元データ52の中から容易に指定することが可能である。
なお、シナリオ元データ52と関連づけられるテーマは、上記に挙げたものに限定されるものではないが、ユーザが状況に応じて容易に思いつき、かつ、内容を容易に想像できるものがテーマとして好ましい。また、編集データとは、本実施の形態では画像(静止画像または動画像)や音声を表現した未圧縮のストリーム情報である。
また、各テーマには対応するGUIデータ53も関連づけられている。すなわち、テーマを介して、シナリオ元データ52とGUIデータ53とが互いに関連づけられている。GUIデータ53は、各シナリオ元データ52にとって専用のGUIデータ53であってもよいし、複数のテーマ(シナリオ元データ52)において共通に使用される汎用のGUIデータ53であってもよい。このようにシナリオ元データ52にGUIデータ53が関連づけられていることにより、ユーザはテーマを選択するだけで、シナリオ元データ52を指定できるとともに、当該シナリオ元データ52に必要なGUIデータ53も特定できる。
シナリオ元データ52には、目的の編集データに必要な編集前データ(画像データや音声データ、フォントデータ等)の識別子が記述されるとともに、各編集前データに対して実行すべき装飾(データ処理)が各編集前データごとに記述される。すなわち、シナリオ元データ52には、編集前データの識別子とデータ処理とが互いに関連づけられて記述されている。
シナリオ元データ52に記述されるデータ処理として、例えば、画像を表現した編集前データについて、どのような画像効果(Effect)を施すか、どのような画像合成(Synthesis)を行うか、あるいはどのように画像移行(Transition)させるか等が想定され、対応する編集前データに応じて画像処理の専門家であるオペレータによって選択され記述される。また、音声を表現した編集前データについても、再生のタイミングや音量等に関する設定情報(データ処理の種別を示す情報)が記述される。
なお、シナリオ元データ52に識別子が記述される編集前データのうち、オペレータが制作したデータ(サーバ装置5に存在する素材データ54)については、当該シナリオ元データ52において当該素材データ54との関連づけが既にされている。したがって、シナリオ元データ52が特定されると、特定されたシナリオ元データ52において使用される素材データ54も編集前データとして特定される。
このように、コンテンツプロバイダは、ユーザがテーマを選択するだけで、サーバ装置5上の必要なシナリオ元データ52、GUIデータ53および素材データ54が容易に特定されるように、それぞれの関連づけを行って提供する。
GUIデータ53は、対応するシナリオ元データ52に応じて、適切なGUIをデジタルスチルカメラ2のユーザに提供するものである。すなわち、GUIデータ53を実行することにより、デジタルスチルカメラ2は、シナリオ元データ52において要求される編集前データを素材データ90(図2)の中から特定するための特定情報を入力するようにユーザに対して要求し、デジタルスチルカメラ2におけるユーザ操作を支援する。
例えば、対応するシナリオ元データ52で要求されている編集前データのうち、ユーザが指定(選択)しなければならないデータについては、その入力を促したり、当該編集前データとして適切な素材データ90をユーザが容易に指定できるように、当該編集前データに関する情報を表示したりする。
素材データ54は、デジタルスチルカメラ2において加工される素材となるデータであって、画像データや音声データ、フォントデータ等である。素材データ54に含まれる画像データとしては、例えば、アニメキャラクタや映画の名場面、名所を撮影した風景画像、イラスト画像等であり、静止画像に限らず動画像であってもよい。また、音声データとしては、例えば、声優や俳優の声、BGM、動物の鳴き声、楽器の音、効果音等であり、現実に録音されたデータであってもよいし、機械的に合成された音を出力するためのデータであってもよい。素材データ54は、各シナリオ元データ52に最適なデータとして、専門家のオペレータによって制作され収集されたデータである。
詳細は図示しないが、端末装置3は、一般的なコンピュータとしての構成および機能を備えた装置であって、ネットワーク8に接続されている。すなわち、情報処理システム1では、端末装置3とサーバ装置5との間でネットワーク8を介したデータ通信が可能とされている。したがって、ユーザは、端末装置3を操作することによって、サーバ装置5からコンテンツデータ51を端末装置3にダウンロードすることができる。
また、端末装置3はケーブル4を介してデジタルスチルカメラ2と着脱自在に接続することも可能とされている。すなわち、ユーザは、デジタルスチルカメラ2と端末装置3とをケーブル4で接続しておき、サーバ装置5から端末装置3にダウンロードしたコンテンツデータ51をデジタルスチルカメラ2に転送しておくことにより、デジタルスチルカメラ2にコンテンツデータ51を記憶させることが可能である。
デジタルスチルカメラ2は、図1に示すように可搬性の記録メディア9を着脱することができるように設計されており、当該記録メディア9に記憶されているデータを読み出して利用したり、デジタルスチルカメラ2において生成したデータ(あるいは端末装置3から転送されたデータ)を当該記録メディア9に記憶させたりすることが可能である。本実施の形態では記録メディア9としてSDカードを採用するが、記録メディア9はこれに限定されるものではなく、例えばPCカードやメモリスティック等であってもよい。
図2は、デジタルスチルカメラ2の構成を示すブロック図である。図2では、デジタルスチルカメラ2の記録メディア9には、サーバ装置5からダウンロードされたシナリオ元データ52、GUIデータ53および素材データ54が既に格納されている状態を示している。
なお、撮像データ91および録音データ92は、デジタルスチルカメラ2においてユーザにより撮像または録音され生成されるユーザ由来(サーバ装置5から提供されるデータではないという意味)のデータである。したがって、記録メディア9に記憶される素材データ90は、図2に示すように、オペレータによって制作される素材データ54の他に、撮像データ91および録音データ92を含んでいる。
先述のように、素材データ54はテーマが選択されることによって特定されダウンロードされたデータであるから、当該テーマに関連づけられたシナリオ元データ52において要求されている編集前データである。しかし、素材データ90に含まれる撮像データ91および録音データ92は、編集データを作成する以外の目的でユーザが収集したデータを含んでおり、必ずしも編集前データとは限らない。すなわち、本実施の形態においては、素材データ90は編集前データ以外のデータを含んでいる。
デジタルスチルカメラ2は、各種データに関する演算処理を行うCPU20と、各種データを必要に応じて適宜記憶する記憶部21とを備えており、一般的なコンピュータとしても構成されている。
CPU20は、記憶部21のRAMを一時的なワーキングエリアとして使用しつつ、記憶部21のROMに格納されているプログラム210に従って動作することにより、デジタルスチルカメラ2の各構成を制御する。なお、CPU20は、サーバ装置5からダウンロードされて記録メディア9に格納されているシナリオ元データ52、GUIデータ53あるいは記録ファイル94等を実行する機能も有しているが詳細は後述する。
また、デジタルスチルカメラ2は、各種データを取り込むための構成として、ユーザによって操作される操作部22と、周囲の音声を電気信号に変換することにより録音を行うマイク23と、入射する光を電気信号に変換することにより撮像を行う撮像部24とを備えている。
操作部22は、ユーザがデジタルスチルカメラ2に対して指示を入力するために使用される。操作部22は、例えば、デジタルスチルカメラ2(撮像部24)に撮像を行わせるための指示を入力するシャッターボタン、デジタルスチルカメラ2の動作に必要な設定データ等を入力するためのボタン類、あるいは文字データを入力するためのキー等で構成されている。特に、本実施の形態では、操作部22は、ユーザが、所望のテーマ(シナリオ元データ52)を選択するときや、記録メディア9に記憶されている素材データ90から編集前データを特定するための特定情報を入力するとき等に操作される。
マイク23は、先述のように、音声を電気信号に変換する機能を備えており、マイク23によって取得された電気信号はA/D変換された後、音声データとして、後述するデータ変換部27に伝達される。
撮像部24は、レンズ等の光学系と、光学系によって導かれた光を受光して電気信号に変換する複数の光電変換素子(例えばCCD素子)とを備えている。複数の光電変換素子は、アレイ状に配列されており、それぞれが撮像時に受光した光の光量に応じた電気信号を出力する。
撮像部24は、ユーザが操作部22(シャッターボタン)を操作することにより撮像を行う。そして、1度の撮像によって複数の光電変換素子から得られたそれぞれの出力信号はA/D変換や色補正等がされた後、1枚の静止画像を表現したデジタルデータとして、後述するデータ変換部27に伝達される。
デジタルスチルカメラ2は、各種データを出力するための構成として、音声データに基づいて生成される電気信号により音声を再生するスピーカ25と、画像データに基づいて画像を表示する液晶パネル26とを備える。
スピーカ25は、録音データ92、編集データに含まれる音声ストリーム情報、あるいは再生データ(後述)を構成する音声データ等に基づいて音声を再生するための装置である。
液晶パネル26は、CPU20からの制御によって必要なデータを画像として表示する表示装置として構成されている。例えば、液晶パネル26は記録メディア9内に記憶されている素材データ90(画像を表現したデータ)や、作成された編集データのうちの映像に関するデータを再生表示するだけでなく、CPU20からの指示に従って所定のメッセージ(文字)等を表示する機能も有している。
特に、本実施の形態における液晶パネル26は、CPU20がGUIデータ53を実行することにより提供されるGUI画面や編集データに含まれる画像ストリーム情報、あるいは再生データを構成する画像データ等を表示する機能を有している。
さらに、デジタルスチルカメラ2は、データ変換部27、カードスロット28および通信部29を備えている。
データ変換部27は、論理回路(ハードウェア)から主に構成され、伝達されるデータのデータ形式を符号化(エンコード)することにより圧縮変換する機能と、符号化されたデータを復号化(デコード)することにより伸長変換する機能とを有している。
本実施の形態におけるデータ変換部27は、CPU20からの制御に従って、未圧縮の画像データをJPEG形式に符号化することにより圧縮し、1枚の静止画像を表現した静止画像データを生成する。なお、データ変換部27によって生成されるJPEG形式の静止画像データは、素材データ90(撮像データ91)または記録ファイル94となるが、詳細は後述する。
また、データ変換部27は、CPU20からの制御に従って、未圧縮の音声データをMP3形式に符号化することにより圧縮し、圧縮された音声データを生成する。なお、データ変換部27によって生成されるMP3形式の音声データは、素材データ90(録音データ92)または記録ファイル94となるが、詳細は後述する。
一般に撮像により得られる画像データや録音により得られる音声データは未圧縮のデータであり、データサイズが大きなデータとなる。したがって、これを圧縮せずにそのままの状態で保存(記憶)すると記録媒体(記録メディア9)のデータ容量(記憶可能なデータ量)が不足するおそれがある。
したがって、撮像機能や録音機能を有する装置において、撮像や録音により得られたデータを保存用に高速に圧縮するデータ変換部27のような専用のハードウェアを設けることは、一般的なアーキテクチャとして広く採用されている。なお、画像データや音声データを圧縮変換する際の符号化形式はJPEG形式やMP3形式に限定されるものではない。
さらに、データ変換部27は、JPEG形式の画像データをデコードする機能と、MP3形式の音声データをデコードする機能とを有している。
データ変換部27がJPEG形式の画像データをデコードする場合とは、主に、素材データ90に関連づけられているデータ処理を実施する際にCPU20が当該素材データ90のデコードをデータ変換部27に依頼する場合と、液晶パネル26に画像を表示させる際にCPU20が記録メディア9に記憶されているデータのデコードをデータ変換部27に依頼する場合とがある。
また、データ変換部27がMP3形式の音声データをデコードする場合とは、主に、素材データ90に関連づけられているデータ処理を実施する際にCPU20が当該素材データ90のデコードをデータ変換部27に依頼する場合と、スピーカ25に音声を再生させ際にCPU20が記録メディア9に記憶されているデータのデコードをデータ変換部27に依頼する場合とがある。
カードスロット28は、デジタルスチルカメラ2に記録メディア9を装着する機能を提供するハードウェアインタフェースである。カードスロット28に記録メディア9が装着されることにより、デジタルスチルカメラ2は記録メディア9を記憶装置として使用することが可能となる。
通信部29は、デジタルスチルカメラ2を端末装置3にケーブル4を介して着脱自在に接続する機能を有している。これにより、デジタルスチルカメラ2は、端末装置3からコンテンツデータ51を取得することが可能である。本実施の形態における情報処理システム1では、ケーブル4と通信部29として、USBケーブルとUSB端子とを採用する。
なお、デジタルスチルカメラ2が端末装置3からコンテンツデータ51を取得するための構成は、ケーブル4を介したデータ通信に限定されるものではない。例えば、記録メディア9を端末装置3に装着し、端末装置3において記録メディア9にコンテンツデータ51を記憶させてから、当該記録メディア9をデジタルスチルカメラ2に装着するように構成してもよい。このように構成した場合、デジタルスチルカメラ2において通信部29は不要となる。
以上、ここまでに説明したように、本実施の形態におけるデジタルスチルカメラ2の各ハードウェアは、本発明に特化した専用のハードウェアである必要がなく、広く一般的に流通している撮像装置と同様のハードウェアを採用することができる。したがって、本発明を実現するハードウェアとしては、市販の撮像装置を採用可能であり、画像処理装置のコストを抑制することができる。
図3は、デジタルスチルカメラ2の機能ブロックをデータの流れとともに示す図である。図3に示す要求部100、シナリオ解析部101、画像生成部102、音声生成部103およびデータ処理部104は、主にCPU20が記憶部21に記憶されているプログラム210に従って動作することにより実現される機能ブロックである。
なお、以下の説明では、ユーザによって「テーマ」が既に選択されており、当該選択されたテーマに応じて特定された1つのシナリオ元データ52がデジタルスチルカメラ2において取得されているものとする。すなわち、図3は、ユーザが操作部22を操作することにより、既にシナリオ元データ52の特定は完了し、特定されたシナリオ元データ52に関連づけられているGUIデータ53および素材データ54も既に記録メディア9に記憶されている状態を示している。
要求部100は、GUIデータ53を参照しつつ、そこに記述されている内容に従って、デジタルスチルカメラ2のユーザに対して必要な情報を入力するように促すGUIを提供する。すなわち、要求部100は、液晶パネル26にメニュー画面や入力画面等を表示させることにより、シナリオ元データ52において要求される編集前データを特定するための特定情報を入力するようにユーザに対して要求する機能を有している。
シナリオ元データ52に記述されている編集前データの識別子とは、いわば編集データにおける役名である。そして、各役名にどの俳優(素材データ90)を具体的に割り当てるかは、ユーザが特定情報を入力することにより決定される。ユーザがGUIデータ53によって提供されるGUIに従って入力することにより、編集前データの識別子(役名)と素材データ90の識別子(俳優名)とが関連づけられる。
言い換えれば、ユーザは、液晶パネル26に表示されるGUI画面によって要求される情報を、当該GUI画面に従って操作部22を操作して入力するだけで、専門的な知識を有していなくても、編集データを作成するために必要な指示をデジタルスチルカメラ2に与えることが可能である。
また、本実施の形態における要求部100は、すでに記録メディア9に記憶されている素材データ90から編集前データとなるデータを選択するように要求するだけではなく、素材収集指示情報をGUI画面として液晶パネル26に表示させることにより、ユーザに対して、編集前データとなる新たな素材データ90を取得するように要求する機能も有している。例えば、既に撮像され撮り溜めされた過去の撮像データ91を編集前データとして選択させるだけでなく、新たに撮像を行って編集前データとなりうる撮像データ91を取得するよう要求する。
すなわち、要求部100は、例えば、撮像指示情報を液晶パネル26に表示させることにより撮像部24よる撮像をユーザに対して要求するとともに、その要求に応じて行われる撮像により生成される撮像データ91を、シナリオ元データ52において要求される編集前データとして特定するための特定情報を生成する。撮像指示情報は、新たな撮像を行うように指示するメッセージだけでなく、どのような場面や被写体を撮像すればよいか等を指示するメッセージ等を含めることも可能である。
なお、要求部100は、GUI画面に従って、ユーザが撮像(あるいは録音)を行って新たに取得したデータをデータ変換部27を介して記録メディア9に記憶させる機能も有している。すなわち、マイク23および撮像部24から要求部100に入力される新たなデータ(音声データおよび画像データ)は、データ変換部27において圧縮処理された後、記録メディア9に転送され素材データ90として記憶される。
ユーザからの指示に従って選択あるいは新たに取得された各素材データ90は、シナリオ元データ52において宣言されている各編集前データとしてユーザに指定されたものとみなされ、互いに関連づけが行われて、その情報が要求部100からシナリオ解析部101に伝達される。すなわち、全ての編集前データに関するユーザの指定が完了した段階で、要求部100は、シナリオ元データ52で要求される編集前データの識別子と、記録メディア9に記憶されている各素材データ90の記録メディア9上の識別子(例えば記録メディア9における各素材データ90のファイル名)とを関連づけた情報(以下、「素材指定情報」と称する)をシナリオ解析部101に伝達する。先に示した例えで言えば、素材指定情報とは、役名と俳優名とを関連づけたリスト情報となる。
シナリオ解析部101は、要求部100から伝達される素材指定情報とシナリオ元データ52とに基づいて、記録メディア9に記憶された素材データ90の中から当該シナリオ元データ52において要求される編集前データを特定する。
また、シナリオ解析部101は、編集前データとして特定された素材データ90の識別子と、編集前データに対して実行すべきデータ処理を示す識別子とを、それぞれに関連づけられている編集前データの識別子を仲立ちにして、互いに関連づけ、シナリオデータ93を作成し、記録メディア9に記憶させる。すなわち、シナリオデータ93とは、シナリオ元データ52と、素材指定情報とに基づいてシナリオ解析部101によって作成されるデータであって、要求する素材データ90と当該素材データに対して施すデータ処理との対応関係を示すデータである。
このようなシナリオデータ93が作成されることによって、編集データを作成するために要求される全ての素材データ90を特定することができ、かつ、各素材データ90に対するデータ処理を特定することもできる。すなわち、本実施の形態におけるシナリオデータ93は編集データを作成するための作成シナリオを記述したデータと言える。
なお、デジタルスチルカメラ2では、様々な場面においてシナリオデータ93が作成される。すなわち、記録メディア9に記憶されているシナリオデータ93は一つとは限らず、複数のシナリオデータ93が存在している場合がある。以下の説明では、複数のシナリオデータ93のうち、作成しようとする編集データに対応したシナリオデータ93を特に「対象シナリオデータ93」と称する。
画像生成部102は、対象シナリオデータ93(より詳しくは映像に係る対象シナリオデータ93)を参照しつつ、そこに記述されている素材データ90の識別子に基づいて記録メディア9から該当する素材データ90を読み出すようにデータ変換部27を制御する。そして、当該対象シナリオデータ93において当該素材データ90に関連づけられているデータ処理の識別子に応じて、データ変換部27により読み出され復号化された当該素材データ90にデータ処理を施して編集データ(編集データのうちの一連の動画像に係るデータ)を生成する。
なお、画像生成部102は、素材データ90にデータ処理を施すに際して、素材データ90における画像を解析して被写体の動きや形状あるいは性質等を判定したり、画像の合成や補間、変換等の様々な加工を行う機能も有している。例えば、人物が撮影されている素材データ90に対して、人物の顔にズームインするデータ処理が関連づけられている場合、画像生成部102は、当該素材データ90に顔認識処理を行って、どの領域にズームインするか(拡大表示させるか)を決定する。また、素材データ90が音声データである場合には、音声を画像に反映させるデータ処理(音声認識を実行し、文字画像に変換して合成する処理等)を行う機能も有している。
画像生成部102は、生成した映像に係る編集データを液晶パネル26あるいはデータ変換部27に伝達する。
本実施の形態における画像生成部102は、ユーザによって記録ファイル94の作成が指示された場合にのみ、生成した編集データをデータ変換部27に伝達する。他方、リアルタイムに演算しつつ編集データを作成して再生するようにユーザにより指示がされた場合、画像生成部102は生成した編集データをデータ変換部27に伝達せずに、液晶パネル26にのみ伝達する。
音声生成部103は、対象シナリオデータ93(より詳しくは音声に係る対象シナリオデータ93)を参照しつつ、そこに記述されている素材データ90の識別子に基づいて記録メディア9から該当する素材データ90を読み出すようにデータ変換部27を制御する。そして、当該対象シナリオデータ93において当該素材データ90に関連づけられているデータ処理の識別子に応じて、データ変換部27によって復号化された素材データ90にデータ処理を施して編集データ(より詳しくは編集データのうちの音声に係るデータ)を生成する。
音声生成部103は、生成した音声に係る編集データをスピーカ25あるいはデータ変換部27に伝達する。
本実施の形態における音声生成部103は、ユーザによって記録ファイル94の作成が指示された場合にのみ、生成した編集データをデータ変換部27に伝達する。他方、リアルタイムに演算しつつ編集データを作成して再生するようにユーザにより指示がされた場合、音声生成部103は生成した編集データをデータ変換部27に伝達せずに、スピーカ25にのみ伝達する。
データ処理部104は、データ変換部27から伝達されるJPEG形式の静止画像データおよびMP3形式の音声データとに基づいて記録ファイル94を生成する機能を有する。また、データ処理部104は、記録ファイル94に基づいて液晶パネル26に一連の動画像を表示させるとともに、スピーカ25に音声を再生させる機能を有する。
図4は、データ処理部104を構成する機能ブロックを示すブロック図である。図4に示す抽出部105、静止画像ファイル作成部106、動画像ファイル作成部107、データ作成部108、ファイル合成部109および再生部110がデータ処理部104の有する機能ブロックである。
抽出部105は、データ変換部27から順次伝達される静止画像データ(それぞれがフレームデータを構成する)を記憶部21に静止画像データ211として記憶させる。すなわち、データ変換部27からデータ処理部104にフレームデータとしての静止画像データが伝達されるたびに、静止画像データ211は伝達された新しい静止画像データによって上書きされ更新される。また、抽出部105は、次の静止画像データが伝達されるまでの所定のタイミング(後述)で、静止画像データ211を新たな静止画像データ212として複写することにより静止画像データ212を更新する。
これにより、抽出部105が静止画像データ211を更新してから、静止画像データ212を更新するまでの間、静止画像データ211と静止画像データ212とは連続して伝達された静止画像データとなる。なお、静止画像データ212が先のフレームデータに相当し、静止画像データ211が後のフレームデータに相当する。
また、抽出部105は、記憶部21に記憶されている静止画像データ211と静止画像データ212とを比較して、これらが同一の静止画像データであるか否かを判定することにより、連続する同一の静止画像データを抽出する。抽出部105は、前記の判定結果を示す判定信号を静止画像ファイル作成部106または動画像ファイル作成部107に伝達する。なお、判定信号を伝達するタイミングについては後述する。
また、抽出部105は、連続する同一の静止画像データを抽出する際に、抽出された静止画像データの数(同一の静止画像データが連続する数)をカウントしてデータ作成部108に伝達する。なお、以下の説明では、ここに言うカウンタを「連続カウンタ」と称する。連続カウンタの値は、一連の動画像の中で画像に変化のない間のフレーム数に相当する。また、同一の静止画像データが連続していると判定された場合、少なくとも同一の静止画像データの数は2つであるから、連続カウンタの初期値は「1」である。
さらに、抽出部105は、連続する静止画像データのうちで前の静止画像データと同一でなく、かつ、後ろの静止画像データとも同一でない静止画像データが連続する数をカウントしてデータ作成部108に伝達する。なお、以下の説明では、ここに言うカウンタを「非同一カウンタ」と称する。非同一カウンタの値は、一連の動画像の中で画像が変化し続けている間のフレーム数に相当する。また、前の静止画像データと同一でないだけでなく、後ろの静止画像データとも同一でない場合(すなわち、2回以上連続して同一でないと判定された場合)にのみ連続して同一でない静止画像データが存在したと判定する必要があるので、非同一カウンタの初期値は「−1」である。
静止画像ファイル作成部106は、抽出部105から判定信号が通知された際に、記憶部21に記憶されている静止画像データ212を読み出して、当該静止画像データ212で構成される静止画像ファイル213を作成する。先述のように、データ変換部27から伝達され記憶部21に記憶される静止画像データ211,212はともにJPEG形式のデータである。したがって、本実施の形態における静止画像ファイル213は1の静止画像を表現したJPEG形式のデータとなる。
また、静止画像ファイル作成部106は、静止画像ファイル213を作成するごとに、作成した静止画像ファイル213の識別子(ファイル名)をデータ作成部108に伝達する。
動画像ファイル作成部107は、JPEG形式の静止画像データに基づいてMotionJPEG形式の動画像ファイル214を作成する機能を有している。動画像ファイル作成部107は、抽出部105から判定信号が伝達されたときに、記憶部21に記憶されている静止画像データ212を1つのファイルに追加することにより、動画像ファイル214を作成する。
また、動画像ファイル作成部107は、新たな動画像ファイル214を作成するごとに、新たに作成した動画像ファイル214の識別子(ファイル名)をデータ作成部108に伝達する。さらに、1つの静止画像データ212を動画像ファイル214に格納するたびに、静止画像データ212のファイル(ここでは動画像ファイル214)への格納が完了した旨を示す格納完了通知を抽出部105に伝達する。
ここで、抽出部105、静止画像ファイル作成部106および動画像ファイル作成部107によって、記録ファイル94のデータ量が抑制される原理について説明する。
図5は、抽出部105によって記憶部21に記憶される静止画像データ211を時間に沿って表した概念図である。なお、例えば、図5に示す静止画像211aと静止画像211bとは、一連の動画像を表現したフレームデータのうちの連続する静止画像データである。
デジタルスチルカメラ2のように、静止画像を撮像することを目的に構成されている装置は、静止画像を符号化して圧縮処理するためのハードウェア(デジタルスチルカメラ2におけるデータ変換部27)を備えている。したがって、デジタルスチルカメラ2においても、一連の動画像を表現した画像ストリーム情報について、これをハードウェアによって符号化して、それぞれがフレームデータを構成する複数の静止画像データ211(211aないし211n)を作成することが可能である。
しかしながら、動画像を扱うことを目的にしていない装置は、フレーム間のデータの差分に応じて、さらに圧縮処理するためのハードウェア(例えばMPEG形式の画像データを作成するハードウェア)を備えていない場合が多い。もちろん、このような場合であっても、ソフトウェアによる圧縮処理を行うことは可能であるが、その場合は、演算装置の負荷が増大し、他の処理に影響を及ぼす結果となる。
したがって、従来より、フレーム間のデータの差分に応じたデータ圧縮を行う専用のハードウェアを搭載していない装置では、作成された複数の静止画像データを順次格納した1つのファイルを作成し、一連の動画像を表示させるときには、当該ファイルに格納されている複数の静止画像データを、順次、所定の時間間隔(フレームレート)で表示させることによって、一連の動画像を表示する技術が実施されている。このような技術において作成されるファイルとして、例えば、MotionJPEG形式の動画像ファイルがある。
しかしながら、このような形式の動画像ファイルでは、まったく変化のない画像を一定時間表示させる場合にも、当該時間に応じたフレーム数の静止画像データを格納しておかなければならず、データ量が多くなる。図5に示すような例では、静止画像データ211aないし静止画像データ211nによって表現される一連の動画像の内容にかかわらず、全ての静止画像データ211を1つのMotionJPEG形式のファイルに格納しておかなければならない。
一方、一連の動画像では、通常、あるシーンの前後に、前後のシーンから当該シーンへと移行するための、何らかの画像移行(トランジション)が実行される画像構成となっている(ただし、トランジションが実行されずに、いきなりシーンが切り替わる場合も存在する)。図5は、シーンAの前後にトランジションP,Qが実行される例を示しており、一般に、一連の動画像はこのような画像構成の繰り返しとなっている。
何らかのトランジションが実行されている間は、その性質上、画像が次々と変化するので、トランジションが実行される間のフレームデータは個々に異なる静止画像を表現したデータとなるのが普通である。しかし、トランジションが実行される時間は比較的短く、各シーンを構成するフレーム数に比べてトランジションが実行される間のフレーム数は少ない。
また、各シーンにおいては、トランジションに比べて画像の変化は少なく、動き(画像の変化)のない画像から構成される時間も存在する。さらに、各シーンの時間はトランジションが実行される時間に比べて長く、フレーム数も多い。
MotionJPEG形式のファイルを再生した場合に、動きのない画像が表示される時間とは、同一のフレームデータ(静止画像データ)が順次連続して表示される時間であり、当該静止画像データの数(その間のフレームデータの数)とフレームレートとの積で求まる時間である。以下では、この時間を「静止時間」と称する。
静止時間の間は、フレームデータは同一であるから、これらをフレームレートに従って順次表示させる必要はない。静止時間を予め求めることができれば、当該静止時間が経過する間、1つのフレームデータを表示したままにしておけばよい。
先述のように、本実施の形態におけるデジタルスチルカメラ2では、抽出部105によって、データ変換部27によって作成され伝達された複数の静止画像データ(静止画像データ211)から、連続する同一の静止画像データが抽出され、そのうちの1の静止画像データに基づいて静止画像ファイル213が作成される。また、連続カウンタの値として、連続する同一のフレームデータの数がデータ作成部108に伝達される。フレームレートは予め定められている値であるから、連続カウンタの値を用いれば静止時間を求めることが可能となる。
したがって、当該静止画像ファイル213と連続カウンタの値とを関連づけて記憶しておけば、連続カウンタの値から求めた静止時間の間、当該静止画像ファイル213によって表現される静止画像を表示すれば、複数のフレームデータを記憶しておく必要がなく、データ量が抑制される。
本実施の形態における映像に係る編集データのように、静止画像を表現したデータ(撮像データ91)に基づいて作成される動画像を表現したデータでは、各シーンにおける画像に変化のない時間が一般の動画像よりも多くなり、特に、本発明によるデータ量の抑制効果が高い。
また、同一の静止画像データが連続していない間は、動画像ファイル作成部107によつて、MotionJEPG形式の動画像ファイル214が作成される。したがって、この間のデータ量は抑制されない。
すなわち、データ変換部27から伝達された静止画像データから1つのMotionJPEG形式の動画像ファイルを作成するのではなく、JPEG形式の静止画像ファイル213とMotionJPEG形式の動画像ファイル214とを作成することにより、デジタルスチルカメラ2は、記録ファイル94のデータ量を抑制することができる。
図4に戻って、データ作成部108は、静止画像ファイル作成部106から伝達される静止画像ファイル213の識別子に連続カウンタの値を関連づけるとともに、動画像ファイル作成部107から伝達される動画像ファイル214の識別子に非同一カウンタの値を関連づける。また、データ作成部108がこれらの識別子を取得した順序に従って、これらの識別子とカウンタの値とを記述することにより表示指示データを作成し、当該表示指示データに基づいて表示指示ファイル215を作成する。
なお、本実施の形態におけるデジタルスチルカメラ2では、データ変換部27からデータ処理部104に伝達されたMP3形式の音声データについては、そのまま音声ファイル216として記憶部21に記憶させる。
ファイル合成部109は、記憶部21に記憶されている複数の静止画像ファイル213、複数の動画像ファイル214、表示指示ファイル215および音声ファイル216を連結して1つのファイルに合成することにより、1つの記録ファイル94を作成する。このようなファイルを合成する手法としては従来から様々な手法が提案されており、これらを適用することが可能であるため、詳細な説明は省略する。
再生部110は、例えばユーザによって記録ファイル94の実行が指示された場合に、記録ファイル94に含まれる音声ファイル216に係るデータ(MP3形式のデータ)をデータ変換部27に復号化させつつ、スピーカ25に転送することにより、スピーカ25に音声を再生させる。
また、記録ファイル94に含まれる表示指示ファイル215に係るデータに示される表示パターンに従って、静止画像ファイル213あるいは動画像ファイル214に係るデータ(JPEG形式のデータ)をデータ変換部27に復号化させつつ、液晶パネル26に転送する。これにより、再生部110は、液晶パネル26に一連の動画像を表示させる。
以上が、本実施の形態におけるデジタルスチルカメラ2の構成および機能の説明である。次に、本発明に係る画像処理方法について説明する。
図6は、デジタルスチルカメラ2の主な動作を示す流れ図である。デジタルスチルカメラ2は、ユーザが操作部22を操作することにより、電源が投入されると、所定の初期設定を行った後、監視状態に遷移する。
監視状態において、デジタルスチルカメラ2のCPU20は、シナリオ作成指示がされたか(ステップS1)、記録ファイル94を新たに作成する指示がされたか(ステップS3)、既に作成されている記録ファイル94を再生する指示がされたか(ステップS5)およびデジタルスチルカメラ2における処理を終了する指示がされたか(ステップS7)を監視している。
シナリオ作成指示とは、デジタルスチルカメラ2に新たなシナリオデータ93を作成させるための指示であって、ユーザが操作部22を操作することにより入力され、CPU20によって検出される。
なお、監視状態において、CPU20によって実行される処理は、これらの監視処理に限定されるものではなく、適宜、例えば通常の撮像処理等の他の処理(タスク)が実行される。また、図6には示していないが、既に作成されているシナリオデータ93に基づいてリアルタイムに演算して編集データを作成しつつ液晶パネル26に動画像を表示させる(スピーカ25に音声を再生させる)処理等も実行することができる。
監視状態において、ユーザが操作部22を操作してシナリオ作成指示がされると、CPU20はステップS1においてYesと判定し、シナリオデータ作成処理を実行する(ステップS2)。
図7は、シナリオデータ作成処理を示す流れ図である。なお、シナリオデータ作成処理が開始されるまでに、サーバ装置5には、オペレータによって作成されたコンテンツデータ51が記憶されているものとする。すなわち、画像処理の専門家であるオペレータがシナリオ元データ52を予め作成する工程は、図5に示す各工程の前に既に完了しているものとする。
まず、ユーザはデジタルスチルカメラ2と端末装置3とをケーブル4によって接続する。次に、端末装置3の操作部を操作して、所望する状況に応じてテーマを入力する。例えば、結婚式を撮像した素材データ90を編集して編集データを作成しようとする場合、ユーザはテーマとして「結婚式」を入力する。より詳細には、ユーザはサーバ装置5のネットワーク8におけるアドレスや、ダウンロードするコンテンツデータ51の保存場所としてデジタルスチルカメラ2の記録メディア9を指定する情報等も入力する。
これに応じて端末装置3がネットワーク8を介してサーバ装置5にアクセスし、入力されたテーマ「結婚式」をサーバ装置5に伝達する。サーバ装置5は端末装置3から伝達されたテーマ「結婚式」をキーワードとしてデータベース50を検索し、当該テーマに関連づけられているシナリオ元データ52を、GUIデータ53および素材データ54とともに端末装置3に送信する。これによって、コンテンツデータ51(シナリオ元データ52、GUIデータ53および素材データ54)が端末装置3にダウンロードされるとともに(ステップS11)、デジタルスチルカメラ2に装着されている記録メディア9に記憶される。
ダウンロードが完了すると、ユーザはデジタルスチルカメラ2からケーブル4を抜き、デジタルスチルカメラ2と端末装置3との接続状態を解除する。これによって、デジタルスチルカメラ2は再び携帯可能な状態となり、ユーザはデジタルスチルカメラ2を任意の場所(撮像場所)に持参することが可能となる。
なお、ステップS11のダウンロードのみを複数のテーマについて繰り返しておくことも可能である。
次に、ユーザは操作部22を操作して指定作業の開始を指示する(ステップS12)。この指示に応じて、デジタルスチルカメラ2の要求部100が記録メディア9に格納されたGUIデータ53を参照し、ユーザに必要な入力を促すGUI画面を液晶パネル26に表示させる(ステップS13)。
このとき、要求部100は、要求される編集前データに関するデータを表示するとともに、当該編集前データとして、既に記録メディア9に記憶されている素材データ90から選択するか否かを選択するようにユーザに対して要求するメッセージを表示する(ステップS14)。
ユーザは、既に記録メディア9に記憶されている素材データ90を指定する場合は、ステップS14において「選択する」旨を入力する。これにより要求部100はステップS14においてYesと判定し、その時点で記録メディア9に記憶されている素材データ90を一覧表示した選択画面をGUI画面として液晶パネル26に表示する(ステップS15)。選択画面が表示されると、ユーザは、一覧表示された素材データ90から適当なデータを特定するための特定情報を入力することにより、編集前データとしての素材データ90を選択する(ステップS16)。
これにより、素材データ90の中からシナリオ元データ52において要求される編集前データが1つ特定され、素材指定情報の1レコードが作成される。なお、ステップS16が実行される場合とは、要求される編集前データのうちの1つが既に記録メディア9に素材データ90として記憶されていたことを示す。
一方、ユーザが新たに素材データ90を取得しようと所望する場合は、ステップS14において「選択しない」旨を入力する。これにより要求部100はステップS14においてNoと判定し、GUI画面として取得画面を液晶パネル26に表示させる(ステップS17)。取得画面が表示されると、ユーザは取得画面に表示される撮像指示情報(または録音指示情報)に従って、撮像(または録音)を行うように操作部22を操作し、これにより撮像(または録音)が行われる(ステップS18)。
ステップS18が実行されることにより取得された画像データまたは音声データはデータ変換部27によって所定のデータ圧縮が施された後、素材データ90(撮像データ91または録音データ92)として記録メディア9に記憶される。さらに、要求部100は、ステップS18において作成された素材データ90を、シナリオ元データ52において要求されている編集前データの1つとして特定し、素材指定情報の1レコードを作成する。
すなわち、ステップS18が実行されることにより、1つの編集データを作成するために要求される素材データ90のうち、未だ記録メディア9に記憶されていなかった(作成されていなかった)素材データ90が新たに1つ作成され記憶されたことになる。なお、ステップS18は撮像と録音のいずれか一方のみが行われる処理に限定されるものではなく、撮像と録音とが同時に行われてもよい。すなわち、撮像データ91と録音データ92とが1回の指定によって作成されてもよい。
ステップS16またはステップS18が実行されるたびに、要求部100は、GUIデータ53を参照することにより、全ての編集前データが特定されたか否かを判定する(ステップS19)。要求部100は、参照したGUIデータ53において要求されている編集前データ(すなわちシナリオ元データ52において要求されている編集前データ)のうち、未だ特定されていない編集前データが存在する場合はステップS19においてNoと判定し、ステップS13からの処理を繰り返す。
一方、全ての編集前データが特定されていれば、要求部100はステップS19においてYesと判定する。これにより、1つの編集データにおいて要求される全ての素材データ90が記録メディア9に記憶され、特定されたことになる。
全ての編集前データが特定されると(ステップS19においてYes)、シナリオ解析部101が、要求部100から伝達される素材指定情報と、記録メディア9に記憶されているシナリオ元データ52とを参照する。そして、編集前データとして特定された各素材データ90と、各素材データ90に対して実行すべきデータ処理との関連づけを行い、シナリオデータ93を生成し記録メディア9に記憶させる(ステップS20)。
以上のように、デジタルスチルカメラ2は、編集データを作成するためのシナリオデータ93と、当該シナリオデータ93において要求される素材データ90のうちコンテンツデータ51に含まれない素材データ90とを作成して記憶(あるいは既に記憶されている素材データ90から特定)しておくことが可能である。また、素材データ54についてはダウンロードにより予め記憶しておくことが可能である。
なお、シナリオデータ作成処理を複数回繰り返すことによって、複数のシナリオデータ93と、それぞれのシナリオデータ93において要求される素材データ90とを記憶しておくことも可能である。
ステップS20の処理が終了すると、デジタルスチルカメラ2は、図7に示すシナリオ作成処理を終了して図6の処理に戻り、再び監視状態となる。
監視状態において、ユーザが操作部22を操作して記録ファイル作成指示がされると、CPU20はステップS3においてYesと判定し、記録ファイル作成処理を実行する(ステップS4)。
図8は、記録ファイル作成処理を示す流れ図である。なお、記録ファイル作成処理は、作成しようとする記録ファイル94の作成シナリオであるシナリオデータ93が作成されていなければ開始できない。したがって、図8に示す記録データ生成処理が開始されるまでに、デジタルスチルカメラ2において図7に示したシナリオデータ作成処理が少なくとも1回以上実行され、デジタルスチルカメラ2に装着されている記録メディア9には、少なくとも1つのシナリオデータ93と、当該少なくとも1つのシナリオデータ93において要求される全ての素材データ90が既に記憶されているものとする。
図8において図示を省略しているが、記録ファイル作成処理が開始されると、CPU20は、連続カウンタの値を「1」にリセットするとともに、非同一カウンタの値を「−1」にリセットする。
次に、画像生成部102および音声生成部103が、操作部22から伝達されたシナリオデータ93の識別子に基づいて、記録メディア9に記憶されている複数のシナリオデータ93から、対象シナリオデータ93を特定する(ステップS21)。なお、対象シナリオデータ93とは、先述のように編集データを作成する対象(ここでは記録ファイル94を作成する対象でもある)となるシナリオデータ93である。
対象シナリオデータ93を特定すると、画像生成部102および音声生成部103は、特定した対象シナリオデータ93を参照しつつ、当該対象シナリオデータ93に記述される素材データ90を1つずつ特定する(ステップS22)。さらに、特定した素材データ90に対して、当該対象シナリオデータ93において当該素材データ90に関連づけられているデータ処理を施して編集データを生成しつつ(ステップS23)、生成した編集データをデータ変換部27に伝達する。
そして、データ変換部27は、画像生成部102から伝達される編集データをフレームデータごとにJPEG形式に符号化しつつ、データ処理部104に伝達する。また、データ変換部27は、音声生成部103から伝達される編集データをMP3形式に符号化しつつ、データ処理部104に伝達する。データ処理部104は、データ変換部27から伝達されるこれらのデータに基づいてファイル作成処理を実行する(ステップS24)。
なお、デジタルスチルカメラ2において、ステップS22ないしステップS24は同時並行的に進行する処理である。
CPU20は、記録ファイル94に含まれる全てのファイルの作成を終了したか否かを判定し(ステップS25)、終了していない場合はステップS22に戻って処理を繰り返す。なお、既に全ての素材データ90について特定が終了している場合は、ステップS22をスキップする。また、既に全ての編集データの作成を終了している場合には、ステップS23もスキップする。最終的に、データ処理部104による全てのファイルの作成が終了するまでステップS24の処理が繰り返される。
図9ないし図11は、ファイル作成処理を示す流れ図である。なお、ファイル作成処理とは、本実施の形態では、静止画像ファイル213、動画像ファイル214、表示指示ファイル215および音声ファイル216を作成する処理である。
ファイル作成処理が開始されると、抽出部105は、データ変換部27から静止画像データを取得したか(ステップS31)、または、データ変換部27から音声データを取得したか(図10:ステップS43)を判定し、いずれも取得していない場合には、ファイル作成処理を終了し、図8に示す処理に戻る。
データ変換部27から静止画像データを取得した場合は、抽出部105はステップS31においてYesと判定し、取得した静止画像データを記憶部21に静止画像データ211として記憶させる(ステップS32)。
次に、抽出部105は、静止画像データ211と静止画像データ212とが同一であるか否かを判定する(ステップS33)。まずは、最初の静止画像データを取得したときについて、ステップS33以下の処理を説明する。
最初の静止画像データを取得したときには、静止画像データ212は未だ記憶されていないため、最初の静止画像データを取得したときに実行されるステップS33では、必ずNoと判定される。
静止画像データ211と静止画像データ212とが同一でない場合(ステップS33においてNo)とは、今回データ変換部27から取得した静止画像データが、前回データ変換部27から取得した静止画像データと異なっていることを意味し、一連の動画像において連続する静止画像データが異なっていることを意味する。
ステップS33においてNoと判定した場合、抽出部105は、連続カウンタの値が「1」より大きいか否かを判定する(図11:ステップS51)。連続カウンタの値は初期値が「1」であるため、連続カウンタの値が「1」より大きいか否かとは、連続カウンタの値がインクリメントされた状態か否かを判定することを意味する。
しかし、最初の静止画像データを取得したときには、連続カウンタがインクリメントされていることはなく、最初の静止画像データを取得したときに実行されるステップS51では、必ずNoと判定される。したがって、ステップS52,S53の処理はスキップされる。
ステップS51においてNoと判定すると、抽出部105は、非同一カウンタの値が「−1」より大きいか否かを判定する(ステップS54)。非同一カウンタの値は初期値が「−1」であるため、非同一カウンタの値が「−1」より大きいか否かとは、非同一カウンタの値がインクリメントされた状態か否かを判定することを意味する。
しかし、最初の静止画像データを取得したときには、非同一カウンタがインクリメントされていることはなく、最初の静止画像データを取得したときに実行されるステップS54では、必ずNoと判定される。したがって、ステップS55ないしS57の処理はスキップされる。
ステップS54においてNoと判定すると、抽出部105は、静止画像データ211を新たな静止画像データ212として複写する(ステップS58)ことにより静止画像データ212を更新し、非同一カウンタの値をインクリメントする(図10:ステップS41)。すなわち、ステップS33において、静止画像データ211と静止画像データ212とが同一ではないと判定されることによって、静止画像データ212が静止画像データ211によって上書きされ、非同一カウンタの値が「1」だけ増加する。
ステップS41を実行した後、データ処理部104は、データ変換部27から音声データを取得しているか否かを判定し(ステップS43)、音声データを取得している場合は音声ファイルを作成する(ステップS44)。一方、音声データを取得していない場合はファイル作成処理を終了して図8に示す処理に戻る。
次に、データ処理部104がデータ変換部27から2回目の静止画像データを取得した場合におけるファイル作成処理のステップS33以降の処理について説明する。既に説明したように、最初(1回目)の静止画像データを取得したことによって、必ずステップS58が実行されているので、最初(前回)に取得した静止画像データは静止画像データ212として記憶されており、2回目(今回)に取得した静止画像データはステップS32によって静止画像データ211として記憶されている。
ステップS33において抽出部105は、静止画像データ211と静止画像データ212とを比較し、これらが同一でない場合は、1回目と同様にステップS51を実行する。
2回目の静止画像データを取得したときに、静止画像データ211と静止画像データ212とが同一でない場合とは、これまで同一の静止画像データが取得されたことがないことを意味する。したがって、2回目の静止画像データを取得したときに実行されるステップS51においても必ずNoと判定され、ステップS52,S53の処理はスキップされる。
次に、ステップS54が実行されることにより、抽出部105によって、非同一カウンタの値が「−1」より大きいか否かが判定される。既に説明したように、最初の静止画像データを取得したときには、必ず、ステップS41が実行され、非同一カウンタの値が初期値からインクリメントされる。したがって、2回目の静止画像データを取得したときであって、かつ、ステップS54が実行されるときには、非同一カウンタの値は「0」の状態になっており、ステップS54において必ずYesと判定される。
ステップS54においてYesと判定すると、抽出部105は、さらに非同一カウンタの値が「0」であるか否かを判定する(ステップS55)。ここでは、非同一カウンタの値は必ず「0」であるので、ステップS55において、必ずYesと判定される。
ステップS55においてYesと判定すると、抽出部105は、その判定結果を動画像ファイル作成部107に伝達する。これに応じて、動画像ファイル作成部107が新たなMotionJPEG形式の動画像ファイル214を作成する(ステップS56)。
ステップS56を実行した際には、動画像ファイル作成部107は、新たに作成した動画像ファイル214の識別子(ファイル名)をデータ作成部108に伝達する。これにより、データ作成部108は、当該識別子を表示指示データとして表示指示ファイル215の最後尾に書き込む。
ステップS56を実行すると、動画像ファイル作成部107は、静止画像データ212(ここでは最初の静止画像データ)を当該動画像ファイル214に追加する(ステップS57)。
すなわち、2回目に取得された静止画像データである静止画像データ211と、最初に取得された静止画像データである静止画像データ212とが同一でない場合、最初に取得された静止画像データは連続する同一の静止画像データではないので、間引くことができず、ステップS57によって動画像ファイル214に格納される。
また、静止画像データ212の格納を完了した動画像ファイル作成部107は、その旨(格納完了通知)を抽出部105に伝達する。
格納完了通知を受け取ると、抽出部105は、ステップS58を実行して、静止画像データ211を新たな静止画像データ212として複写する。また、ステップS41を実行することにより、非同一カウンタの値をインクリメントして、その値を「1」に更新する。以後、ステップS57が連続して実行されるごとに、ステップS41が実行されるので、非同一カウンタの値は、現在作成中の動画像ファイル214に格納されている静止画像データ(フレームデータ)の数を表す値となる。
一方、2回目に取得した静止画像データが最初に取得した静止画像データと同一であった場合(ステップS33においてYes)、抽出部105は、非同一カウンタの値が「0」より大きいか否かを判定する(ステップS34)。既に述べたように、2回目の静止画像データを取得したときには、非同一カウンタの値は「0」なので、抽出部105は、ステップS34において必ずNoと判定し、ステップS35の処理をスキップして、非同一カウンタの値を「−1」にリセットする(ステップS36)。
次に、抽出部105は、連続カウンタの値が「1」か否かを判定する(ステップS37)。
2回目の静止画像データを取得した場合に、ステップS37が実行されるときにおいては、連続カウンタの値は未だインクリメントされておらず、初期値の「1」の状態であるから、ステップS37において必ずYesと判定される。
ステップS37においてYesと判定すると、抽出部105は、この判定結果を静止画像ファイル作成部106に伝達する。これにより、静止画像ファイル作成部106が、静止画像データ212に基づいて、当該静止画像データ212で構成される新たな静止画像ファイル213を作成する(ステップS38)。
ステップS38を実行した際には、静止画像ファイル作成部106は、作成した静止画像ファイル213の識別子(ファイル名)をデータ作成部108に伝達する。これにより、データ作成部108は、当該識別子を表示指示データとして表示指示ファイル215の最後尾に書き込む。
先述のように、ステップS56が実行されるときには、表示指示ファイル215の最後尾に動画像ファイル214の識別子が記載され、ステップS38が実行されるときには、表示指示ファイル215の最後尾に静止画像ファイル213の識別子が記載される。したがって、表示指示ファイル215に記載されたこれら識別子の記述順序は、これらの識別子によって示されるファイルの作成順(すなわち、表示順)を示す。
次に、抽出部105は、連続カウンタの値をインクリメントし(ステップS42)、連続カウンタの値を「2」とする。以後、連続して同一と判定されるごとに、ステップS42が実行されるので、連続カウンタの値は、連続する同一の静止画像データ(フレームデータ)の数を表す値となる。
なお、静止画像ファイル213への静止画像データ212の格納を完了したとき、抽出部105は、静止画像データ211を静止画像データ212に複写する処理を行わない。これは、静止画像データ212を静止画像ファイル213に格納する場合とは、静止画像データ211と静止画像データ212とが同一であり、複写する必要がないからである。ただし、複写するように構成してもよい。
次に、m回目以降の静止画像データを取得した場合について説明する(mは3以上の整数)。この場合には、m回目に取得した静止画像データがステップS32によって静止画像データ211として記憶されており、(m−1)回目に取得した静止画像データ(またはこれと同一と判定された静止画像データ)が静止画像データ212として記憶されている。
静止画像データ211と静止画像データ212とが同一である場合、抽出部105は、ステップS33においてYesと判定し、さらに、非同一カウンタの値が「0」より大きいか否かを判定する(ステップS34)。
m回目の静止画像データを取得したときに、非同一カウンタの値が「0」より大きい状態(ステップS34においてYesと判定される状態)とは、連続する静止画像データが同一でないと連続して判定されている状態を示しており、(m−1)回目の静止画像データを取得したときは、動画像ファイル214に(m−2)回目に取得した静止画像データが格納されたことを意味する。
このような状況で、ステップS33においてYesと判定され、ステップS34が実行される状態とは、しばらくの間、画像に変化が続いていたが、今回取得したm回目の静止画像データが(m−1)回目の静止画像データと同一となり、画像の変化が停止したことを意味する。
したがって、このような場合には、抽出部105は、画像の変化が続いたフレーム数(非同一カウンタの値)をデータ作成部108に伝達する。これにより、データ作成部108は表示指示ファイル215の最後尾に記載されている識別子に関連づけて、伝達された値を表示指示データとして記述し、記憶させる(ステップS35)。
一方、m回目の静止画像データを取得したときに、非同一カウンタの値が「0」以下の状態(ステップS34においてNoと判定される状態)とは、連続する静止画像データにおいて同一でない静止画像データが連続していない状態を示している。
したがって、このような場合には、抽出部105は、例え、非同一カウンタの値が初期値でなかったとしても、静止画像から静止画像に切り替わったものと判定し、ステップS35をスキップする。
ステップS35が実行されるか否かにかかわらず、ステップS33においてYesと判定された場合には、画像の変化の連続が終了したので、抽出部105は、非同一カウンタの値を「−1」にリセットする(ステップS36)。
次に、抽出部105は、連続カウンタの値が「1」か否かを判定する(ステップS37)。
静止画像データ211と静止画像データ212とが同一(ステップS33においてYes)であり、かつ、連続カウンタの値が未だ初期値の「1」にリセットされた状態である場合とは、m回目に取得した静止画像データによって、同一の静止画像データの連続状態が開始されたことを意味する。
したがって、ステップS37においてYesと判定した場合、抽出部105は、既に説明したようにステップS38を実行する。
一方、ステップS37においてNoと判定される場合とは、連続カウンタの値が既に2以上になっており、同一の静止画像データが連続的に取得されている状態を示す。
したがって、ステップS37においてYesと判定した場合、抽出部105は、ステップS38をスキップすることにより、取得した静止画像データをどのファイルにも格納しない。これにより、データ変換部27から伝達される静止画像データを間引くことができるため、データ量を抑制できる。
ステップS37が実行されるか否かにかかわらず、ステップS33においてYesと判定された場合には、画像の変化がなくなった(静止画像となった)ので、抽出部105は、ステップS42を実行して、連続カウンタの値をインクリメントして、フレーム数をカウントする。
一方、m回目の静止画像データを取得したときに、静止画像データ211と静止画像データ212とが同一でない場合、抽出部105は、ステップS33においてNoと判定し、さらに、連続カウンタの値が「1」より大きいか否かを判定する(ステップS51)。
ステップS33においてNoと判定され、かつ、連続カウンタの値が初期値の「1」にリセットされていない状態(ステップS51においてYesと判定される状態)とは、同一の静止画像データが連続する状態が(m−1)回目の静止画像データまでは継続していたが、m回目の静止画像データによってこの状態が終了したことを意味する。
したがって、この場合には、抽出部105は、連続カウンタの値をデータ作成部108に伝達する。これにより、データ作成部108は、表示指示ファイル215の最後尾の識別子(静止画像ファイル213の識別子となる)に、伝達された値を関連づけて表示指示データとして記述し、記憶させる(ステップS52)。そして、連続する静止画像データが同一ではなくなったので、ステップS53を実行して、連続カウンタの値を「1」にリセットする。
ステップS33においてNoと判定され、かつ、連続カウンタの値が初期値の「1」にリセットされている状態(ステップS51においてNoと判定される状態)とは、(m−1)回目の静止画像データと(m−2)回目の静止画像データとが既に異なる静止画像データであったことを意味している。
したがって、この場合には、抽出部105は、ステップS52,S53を実行する必要はないので、これらの処理をスキップする。
次に、抽出部105は、非同一カウンタの値が「−1」より大きいか否かを判定する(ステップS54)。
ステップS33においてNoと判定され、かつ、非同一カウンタの値が初期値の「−1」にリセットされている状態(ステップS54においてNoと判定される状態)とは、(m−1)回目の静止画像データと(m−2)回目の静止画像データとが同一の静止画像データであったことを意味している。
したがって、(m−1)回目の静止画像データについては、(m−2)回目の静止画像データと同一であり、間引くことが可能であるから、ファイルへの格納を行う必要がない。したがって、抽出部105は、ステップS55ないしS57の処理をスキップする。
ステップS33においてNoと判定され、かつ、非同一カウンタの値が初期値の「−1」より大きい状態(ステップS54においてYesと判定される状態)とは、(m−1)回目の静止画像データと(m−2)回目の静止画像データとが既に同一の静止画像データではなかったことを意味している。すなわち、連続する静止画像データが2回以上連続して「異なる」と判定されたことを示している。
したがって、この場合には、(m−1)回目の静止画像データ(静止画像データ212)を動画像ファイル214として格納する必要があるため、抽出部105は、さらに、非同一カウンタの値が「0」か否かを判定する(ステップS55)。
非同一カウンタの値が「0」の場合とは、連続する静止画像データにおいて1回だけ異なる静止画像データとなったことを示しており、(m−2)回目の静止画像データと(m−3)回目の静止画像データは同一であったことを示している。したがって、ステップS55においてYesと判定される状態とは、(m−2)回目の静止画像データ(若しくはそれと同一の静止画像データ)は静止画像ファイル213として格納されており、(m−1)回目の静止画像データが1つの動画像ファイル214における先頭のフレームデータとして格納されるべきであると判定できる。
そこで、抽出部105は、ステップS55においてYesと判定した場合、その判定結果を動画像ファイル作成部107に伝達する。これにより、動画像ファイル作成部107が新たな動画像ファイル214を作成する(ステップS56)。また、このとき作成された動画像ファイル214の識別子がデータ作成部108に伝達され、表示指示ファイル215に記述される。
そして、静止画像データ212が動画像ファイル214に追加される(ステップS57)。なお、ステップS55においてNoと判定された場合にも、静止画像データ212の格納は行う必要があるので、ステップS57が実行される。
さらに、ステップS33においてNoと判定された場合には、m回目の静止画像データと(m−1)回目の静止画像データが異なっているので、m回目の静止画像データを残しておく必要がある。したがって、既に説明したように、抽出部105は、ステップS58を実行し、さらに、ステップS41を実行する。
このようにして、静止画像ファイル213、動画像ファイル214、表示指示ファイル215および音声ファイル216が、データ変換部27から伝達されるデータに従って作成され、データ変換部27から伝達される全てのデータについてファイル作成処理が終了すると、CPU20は、図8に示すステップS25においてYesと判定する。
全てのファイルの作成が終了し、CPU20が、ステップS25においてYesと判定すると、CPU20はファイルを作成する際に用いられた素材データ90のうち、所定の素材データ90を削除する(ステップS26)。
ステップS26において削除される素材データ90とは、例えば、コンテンツデータ51に含まれる素材データ54の一部が考えられる。素材データ54は、コンテンツプロバイダによって提供されるデータであって、著作権が存在する場合が考えられる。したがって、記録ファイル94の作成(本来の目的)を達成した後には、これらのデータが不正に複製等されないように記録メディア9から削除することが好ましい。なお、ステップS26において削除すべき素材データ90には、削除されるべきことを示す識別子が予め付加されているものとする。
次に、ファイル合成部109がファイル作成処理において作成された複数のファイル(静止画像ファイル213、動画像ファイル214、表示指示ファイル215および音声ファイル216)を1つの記録ファイル94に合成し(ステップS27)、記録ファイル94を作成する。そして、データ処理部104(ファイル合成部109)は、作成した記録ファイル94を記録メディア9に記憶させる(ステップS28)。
なお、詳細は省略したが、本実施の形態に示すファイル作成処理を実行すると、1つの静止画像データに基づいて、動画像ファイル214が作成される場合がある。そこで、デジタルスチルカメラ2のCPU20は、ステップS27を実行する前に、表示指示ファイル215を解析することにより、フレーム数が「1」の動画像ファイル214が存在するか否かを検出し、存在していた場合、当該動画像ファイル214を静止画像ファイル213に書き換える処理を行う。
ただし、このような動画像ファイル214が作成されないように、例えば、3つの連続する静止画像データを記憶部21に記憶させて比較するように構成してもよい。あるいは、非同一カウンタの値による制御を変更し、一旦、静止画像ファイル213として作成したものを、3回以上異なると判定された場合に、動画像ファイル214に書き換えることによっても実現できる。
ステップS28が実行されると、CPU20は記録ファイル作成処理を終了して、図6に示す処理に戻って、監視状態となる。
監視状態において、ユーザが操作部22を操作して、記録ファイル再生指示がされると、CPU20は図6に示すステップS5においてYesと判定し、記録ファイル再生処理を実行する(ステップS6)。
記録ファイル再生処理では、再生部110が、ユーザによって指定された記録ファイル94を解析し、記録ファイル94として合成された表示指示ファイル215を解析する。先述のように、表示指示ファイル215には、映像に係る画像データの表示パターンと、音声に係る音声データの再生パターンとが記述されている。
再生部110は、表示指示ファイル215に記述されている表示パターンに従って、最初に液晶パネル26に表示させる静止画像ファイル213(または動画像ファイル214)を特定する。本実施の形態では表示指示ファイル215に識別子が記述されている順に表示するので、表示指示ファイル215の先頭に記載されている識別子によって最初に表示させる静止画像ファイル213(または動画像ファイル214)を特定する。
特定された静止画像ファイル213(または動画像ファイル214)は、データ変換部27に伝達され、復号化されてから液晶パネル26に伝達され、表示される。
以後、再生部110は特定された静止画像ファイル213(または動画像ファイル214)の表示が終了するたびに、表示指示ファイル215を参照して、次に識別子が記述されている静止画像ファイル213(または動画像ファイル214)を、次に表示させるべき静止画像ファイル213(または動画像ファイル214)として特定し、液晶パネル26に表示させる。
再生部110は、静止画像ファイル213を表示させるときには、表示指示ファイル215において、当該静止画像ファイル213の識別子に関連づけられているフレーム数(連続カウンタの値)を同時に取得し、当該フレーム数とフレームレートとの積を求めることにより、静止時間を求める。そして、当該静止画像ファイル213に係る静止画像データを、求めた静止時間の間だけ表示すると、当該静止画像ファイル213の表示を終了する。すなわち、1の静止画像ファイル213の表示を終了するタイミングを表示指示ファイル215に記述されているデータに基づいて決定する。
再生部110は、動画像ファイル214を表示させるときは、表示指示ファイル215において、当該動画像ファイル214の識別子に関連づけられているフレーム数(非同一カウンタの値)を取得するのではなく、当該動画像ファイル214に格納されているフレームデータ(静止画像データ)をフレームレートに示される時間間隔で順次液晶パネル26に表示させる。全てのフレームデータを表示させるとと、当該動画像ファイル214の表示を終了する。
なお、音声ファイル216は、静止画像ファイル213または動画像ファイル214の表示に並行して、データ変換部27によって復号化され、スピーカ25によって再生される。
このようにして、表示指示ファイル215に記述されている全ての静止画像ファイル213および動画像ファイル214についての表示を終了するとともに、音声ファイル216の再生を終了すると、記録ファイル94の再生が終了したとしてステップS6の処理を終了して監視状態に戻る。
監視状態において、ユーザが操作部22を操作して、デジタルスチルカメラ2の電源をOFF状態にすると、CPU20は図6に示すステップS7においてYesと判定し、処理を終了する。
以上のように、本実施の形態におけるデジタルスチルカメラ2は、静止画像を表現した画像データを符号化して圧縮するデータ変換部27しか備えない構成でありなが、連続する同一のフレームデータを抽出して間引くことにより、従来のMotionJPEG形式よりも、さらに、圧縮率を向上させた記録ファイル94を作成することができる。これにより、記録ファイル94のデータ量を、データを劣化させることなく削減できる。
なお、本実施の形態におけるデジタルスチルカメラ2は、記録ファイル94を作成しつつ、静止画像に係るフレームデータを間引く処理を実行するように構成したが、例えば、MotionJPEG形式の動画像ファイルを一旦記録メディア9上に作成した後に、静止画像を表現している期間(フレーム数)をカウントして、フレームデータを間引くように構成してもよい。この場合、一旦、記録メディア9のデータ容量を消費するものの、最終的には、同程度の圧縮率の記録ファイル94を作成でき、しかも容易な制御で実現できる。
また、本実施の形態におけるデジタルスチルカメラ2は、1つの記録ファイル94として一連の動画像を表示させるための画像ファイルを作成したが、静止画像ファイル213や動画像ファイル214をまとめる手法はフォルダであってもよい。すなわち、1つのフォルダを記録メディア9上に設け、当該フォルダ内に必要な画像ファイルを格納するように構成してもよい。
この場合は、静止画像ファイル213や動画像ファイル214が独立したファイルとして存在するので、例えば、JPEG形式の静止画像データである静止画像ファイル213の汎用性が向上する。例えば、ファイル名をシーン名とすれば、結婚式の指輪の交換シーンの画像データが必要な場合には、「指輪の交換」というファイル名の静止画像ファイル213を指定すればよいことが容易にユーザにも理解できる。
<2. 変形例>
以上、本発明の実施の形態について説明してきたが、本発明は上記実施の形態に限定されるものではなく様々な変形が可能である。
例えば、上記実施の形態では画像処理システムとしてデジタルスチルカメラ2を例に説明したが、本発明に係る画像処理システムは携帯電話であってもよい。
また、ケーブル4と通信部29とは端末装置3からコンテンツデータ51を取得する機能を実現できるものであればUSBケーブルとUSB端子とに限定されるものではない。例えば、デジタルスチルカメラ2専用のクレードルと、当該クレードルが接続されるフレキシブル端子とによって構成されてもよい。
また、デジタルスチルカメラ2においてコンテンツデータ51を取得するための構成は端末装置3を介した構成に限定されるものではない。例えば、デジタルスチルカメラ2に無線通信機能を備えた通信部29を採用し、必要に応じてネットワーク8に接続することによって、サーバ装置5から直接コンテンツデータ51をダウンロードする構成としてもよい。このような無線通信機能を実現する通信部29の構成としては、WiFi(Wireless Fidelity)や赤外線通信といった通信規格を採用することが可能である。なお、画像処理システムとして、上記のように携帯電話が採用された場合には、当該携帯電話の通信機能によって、サーバ装置5からコンテンツデータ51をダウンロードしてもよい。
また、上記実施の形態における機能ブロックはプログラム210(ソフトウェア)によって実現される例で説明したが、これらの機能ブロックによって実現される機能の一部または全部を専用の論理回路(ハードウェア)として実現してもよい。一方、上記実施の形態において論理回路により構成されると説明した構成(例えばデータ変換部27)の一部または全部をソフトウェアによって実現するように構成してもよい。
また、表示指示データは独立したファイル(表示指示ファイル215)として作成される必要はない。例えば、取得した順序と、各カウンタの値とを数字で表現し、各静止画像ファイル213および各動画像ファイル214のファイル名に付加してもよい。この場合でも、ファイル名によって表示順と表示時間とを容易に求めることができる。あるいは、このような数字データを各ファイルのヘッダに付加してもよい。
また、上記に示した処理の内容(図4ないし図6)はあくまでも例示であって、同様の効果が得られるならば、各工程の内容および順序等が適宜変更されてもよい。
また、デジタルスチルカメラ2で使用されるコンテンツデータ51はサーバ装置5によってネットワーク8を介して提供されると説明したが、例えば、記録メディア9によって提供されてもよい。すなわち、コンテンツデータ51を記憶した記録メディア9が店頭等において配布され、これをデジタルスチルカメラ2に装着して利用するように構成してもよい。