以下、本発明の実施例を図面を参照して説明する。
図1及び図2は、本発明を適用した電子カメラの一実施例の構成を示す斜視図である。本実施例の電子カメラにおいては、被写体を撮影する場合において、被写体に向けられる面が面X1とされ、ユーザ側に向けられる面が面X2とされている。面X1の上端部には、被写体の撮影範囲の確認に用いられるファインダ2、被写体の光画像を取り込む撮影レンズ3、及び、被写体を照明する場合に発光される発光部(フラッシュランプ)4が設けられている。
一方、面X1に対向する面X2の上端部(面X1の、ファインダ2、撮影レンズ3、発光部4が形成されている部分に対向する部分)には、上記ファインダ2、及びこの電子カメラ1に記録されている音声を出力するスピーカ5が設けられている。また、面X2に形成されているLCD6および操作キー7(メニューキー7A、実行キー7B、クリアキー7C、キャンセルキー7D、およびスクロールキー7E)は、ファインダ2、撮影レンズ3、発光部4、及びスピーカ5よりも、鉛直下側に形成されている。LCD6の表面上には、後述するペン型指示装置の接触操作により、指示された位置に対応する位置データを出力する、いわゆるタッチタブレット6A(座標取得手段)が形成されている。
このタッチタブレット6Aは、ガラス、樹脂等の透明な材料によって構成されており、ユーザは、タッチタブレット6Aの内側に形成されているLCD6に表示される画像を、タッチタブレット6Aを介して観察することができる。
操作キー7は、LCD6に記録データを再生表示する場合などに操作されるキーであり、以下に示すキーによって構成されている。すなわち、メニューキー7Aは、LCD6上にメニュー画面を表示する場合に操作されるキーである。実行キー7Bは、ユーザによって選択された記録情報を再生する場合に操作されるキーである。
クリアキー7Cは、記録した情報を削除する場合に操作されるキーである。キャンセルキー7Dは、記録情報の再生処理を中断する場合に操作されるキーである。スクロールキー7Eは、LCD6に記録情報の一覧が表示されている場合において、画面を上下方向にスクロールさせるときに操作されるキーである。
電子カメラ1の上面である面Zには、音声を集音するマイクロホン8、及び図示せぬイヤホンが接続されるイヤホンジャック9が設けられている。
左側面(面Y1)には、被写体を撮像するときに操作されるレリーズスイッチ10、電源スイッチ11、および、ACアダプタを接続するためのACアダプタジャック15が設けられている。
一方、面Y1に対向する面Y2(右側面)には、音声を録音するときに操作される録音スイッチ12と、撮影時の連写モードを切り換えるときに操作される連写モード切り換えスイッチ13が設けられている。なお、録音スイッチ12は、面Y1のレリーズスイッチ10とほぼ同じ高さに形成されており、左右どちらの手で持っても、違和感のないように構成されている。
なお、録音スイッチ12とレリーズスイッチ10の高さを、あえて異ならせることにより、一方のスイッチを押す場合に、この押圧力によるモーメントを打ち消すために反対側の側面を指で保持したとき、誤ってこの反対側の側面に設けられたスイッチが押されてしまわないようにしてもよい。
上記連写モード切り換えスイッチ13は、ユーザがレリーズスイッチ10を押して被写体を撮影するとき、被写体を1コマだけ撮影するのか、または、所定の複数コマ撮影するのかを設定する場合に用いられる。例えば、連写モード切り換えスイッチ13の指針が「S」と印刷された位置に切り換えられている(すなわち、Sモードに切り換えられている)場合において、レリーズスイッチ10が押されると、1コマだけ撮影が行われるようになされている。
また、連写モード切り換えスイッチ13の指針が「L」と印刷された位置に切り換えられている(すなわち、Lモードに切り換えられている)場合において、レリーズスイッチ10が押されると、レリーズスイッチ10の押されている期間中、1秒間に8コマの撮影が行われるようになされている(すなわち、低速連写モードになる)。
さらに、連写モード切り換えスイッチ13の指針が「H」と印刷された位置に切り換えられている(すなわち、Hモードに切り換えられている)場合において、レリーズスイッチ10が押されると、レリーズスイッチ10の押されている期間中、1秒間に30コマの撮影が行われるようになされている(すなわち、高速連写モードになる)。
次に、電子カメラ1の内部の構成について説明する。図3は、図1及び図2に示す電子カメラの内部の構成例を示す斜視図である。CCD20は、撮影レンズ3の後段(面X2側)に設けられており、撮影レンズ3を介して結像する被写体の光画像を電気信号に光電変換するようになされている。
LCD6の鉛直下側には、円柱形状の4本のバッテリ(単3型乾電池)21が縦に並べられており、このバッテリ21が発生する電力が装置の各部に供給される。また、発光部4を発光させるための電荷を蓄積しているコンデンサ22は、バッテリ21と並べて配置されている。
回路基板23には、この電子カメラ1の各部を制御する種々の制御回路が形成されている。また、回路基板23と、LCD6及びバッテリ21の間には、挿抜可能なメモリカード24(記録手段)が設けられており、この電子カメラ1に入力される各種の情報が、メモリカード24の予め設定されている領域に記録される。
なお、本実施例においては、メモリカード24は挿抜可能とされているが、回路基板23上にメモリを設け、そのメモリに各種情報を記録するようにしてもよい。また、メモリ(メモリカード24)に記録されている各種情報を、図示せぬインタフェースを介して外部のパーソナルコンピュータに出力することができるようにしてもよい。
次に、本実施例の電子カメラ1の内部の電気的構成を、図4のブロック図を参照して説明する。レンズ駆動回路30は、CPU36(図形作成手段)に制御され、撮影レンズ3を光軸方向に移動させ、オートフォーカスを実行する。複数の画素を備えているCCD20は、各画素に結像した光画像を画像信号(電気信号)に光電変換するようになされている。また、CCD駆動回路39は、ディジタルシグナルプロセッサ(以下、DSPという)33に制御され、CCD20を駆動するようになされている。
画像処理部31は、CCD20が光電変換した画像信号を所定のタイミングで相関二重サンプリングすると共に、オートゲインコントロールにより、サンプリングされた画像信号の信号値が最適となるよう制御する。アナログ/ディジタル変換回路(以下、A/D変換回路という)32は、画像処理部31でサンプリングした画像信号をディジタル化してDSP33に供給するようになされている。
DSP33は、ディジタル化された画像信号に後述する所定の処理を施し、圧縮伸長回路およびメモリコントローラ(以下、圧縮伸長回路と略記する)34に供給する。圧縮伸長回路34は、DSP33から供給された画像信号(以下、単に撮影画像データという)を圧縮し、CPU36の制御に応じて、メモリカード24の所定の領域(撮影画像記録領域)に格納するようになされている。
タイマ45は、撮影した日時(年、月、日、時間)の情報を画像データのヘッダ情報として、メモリカード24の撮影画像記録領域に記録するようになされている(すなわち、メモリカード24の撮影画像記録領域に記録される撮影画像データには、撮影日時のデータが付随している)。
マイクロホン8は、音声を入力し(音声を集音し)、対応する電気信号に変換して音声IC(Integrated Ciruit)38(再生手段)に供給する。音声IC38は、入力された音声信号をA/D変換するとともに、ADPCM(Adaptive Differential Pulse Code Modulation)による圧縮処理を施し、CPU制御バスを介してCPU36に供給する。
CPU36は、ディジタル化されて圧縮された音声データをCPU制御バスを介してメモリカード24の所定の領域(音声記録領域)に記録するようになされている。また、このとき、メモリカード24の音声記録領域には、録音日時のデータと音声の録音時間(再生時間)が音声データのヘッダ情報として記録されるようになされている。
ユーザの操作するペン型指示装置(以下、ペンという)46(位置指定手段)によってタッチタブレット6Aの所定の位置が押圧されると、CPU36は、タッチタブレット6Aの押圧された位置のX−Y座標を読み取り、その座標データ(後述する線画情報)をバッファメモリ35に格納するようになされている。また、CPU36は、バッファメモリ35に格納された線画情報を、線画情報入力日時のヘッダ情報とともに、メモリカード24の線画情報記録領域に記録するようになされている。
フレームメモリ47(出力手段)は、CPU制御バスを介して送られてきた画像データを記憶し、LCD6に表示するようになされている。但し、圧縮処理が施された撮影画像データは、一旦、圧縮伸長回路34に入力され、そこで、伸長されてからフレームメモリ47に供給されるようになされている。
更に、メモリカード24から出力された音声データは、音声IC38によりディジタル/アナログ変換(以下、D/A変換という)が施され、アナログ信号に変換された後、スピーカ5に供給され、音声として出力されるようになされている。
フラッシュランプ駆動回路41は、CPU36によって制御され、発光部4に内蔵されているフラッシュランプ42を駆動するようになされている。また、赤目軽減ランプ駆動回路43は、同様に、CPU36によって制御され、発光部4に内蔵されている赤目軽減ランプ44を駆動するようになされている。なお、この赤目軽減ランプ44は、フラッシュランプ42が点灯される直前に発光されるようになされており、これにより被写体となる人物の瞳孔が閉じられるので、撮影された画像中の人物の目が赤くなる、いわゆる赤目を軽減することができる。
検出回路40は、バッテリ21の電圧を対応するディジタル信号に変換し、CPU36に供給する。CPU36は、検出回路40から供給されるディジタル信号により、バッテリ21の残量を検知することができる。
次に、本実施例の電子カメラ1の各種動作について説明する。
まず、本装置の音声情報の入出力処理(但し、音声情報のみの入出力処理)について説明する。
電源スイッチ11が操作されることにより電子カメラ1に電源が投入された後、面Y2に設けられている録音スイッチ12が押されると、音声の録音処理(音声情報の入力処理)が開始される。音声情報はマイクロホン8を介して入力され、音声IC38によりA/D変換と圧縮処理が施された後、CPU36に供給される。
CPU36に供給された音声データは、メモリカード24に供給され、音声記録領域に記録される。このとき、メモリカード24の音声記録領域には、録音日時のデータと録音時間(再生時間)が、ヘッダ情報として記録される。このような動作が、録音スイッチ12を押圧している期間中、連続して行われる。
なお、この場合における音声は、ADPCM方式で圧縮されるようにしたが、他の圧縮方式を用いるようにしてもよい。
次に、本実施例による被写体の撮影時の動作について説明する。
第1に、面Y2に設けられている連写モード切り換えスイッチ13が、Sモード(1コマだけ撮影を行うモード)に切り換えられている場合について説明する。最初に、面Y1に設けられている電源スイッチ11をユーザが操作することにより、電子カメラ1に電源を投入する。ファインダ2で被写体を確認し、面Y1に設けられているレリーズスイッチ10を押すと、被写体の撮影処理が開始される。
ファインダ2で観察される被写体の光画像が撮影レンズ3によって集光され、複数の画素を備えるCCD20上に結像する。CCD20に結像した被写体の光画像は、各画素で画像信号に光電変換され、画像処理部31によってサンプリングされる。画像処理部31によってサンプリングされた画像信号は、A/D変換回路32に供給され、そこでディジタル化されてDSP33に出力される。
DSP33は、RGB(Red Green Blue)信号から色差信号を生成する処理を行うとともに、非線形処理であるγ処理を施す。圧縮伸長回路34は、DSP33から供給された画像データを、離散的コサイン変換、量子化及びハフマン符号化を組み合わせたJPEG(Joint Photografic Experts Group)方式に従って圧縮し、メモリカード24の撮影画像記録領域に記録させる。このとき、メモリカード24の撮影画像記録領域には、撮影日時のデータが、撮影画像データのヘッダ情報として記録される。
なお、連写モード切り換えスイッチ13がSモードに切り換えられている場合においては、1コマの撮影だけが行われ、レリーズスイッチ10が継続して押され続けても、それ以降の撮影は行われず、LCD6上に撮影された画像が表示される。
第2に、連写モード切り換えスイッチ13がLモード(1秒間に8コマの連写を行うモード)に切り換えられている場合について説明する。電源スイッチ11を操作することにより、電子カメラ1に電源を投入し、面Y1に設けられているレリーズスイッチ10を押すと、被写体の撮影処理が開始される。
ファインダ2で観察される被写体の光画像が撮影レンズ3によって集光され、複数の画素を備えるCCD20に結像する。CCD20に結像した被写体の光画像は画像信号に光電変換され、画像処理部31によって1秒間に8回の割合でサンプリングされる。また、このとき、画像処理部31は、CCD20の全画素のうち4分の1の画素をサンプリングする。
すなわち、画像処理部31は、マトリクス状に配列されているCCD20の画素を、図5に示すように、2×2画素(4つの画素)の領域に分割し、各領域の所定の位置に配置されている1画素の画像信号をサンプリングし、残りの3画素を間引く。
例えば、第1回目のサンプリング時(1コマ目)においては、各基本単位の左上の画素aがサンプリングされ、その他の画素b,c,dが間引かれる。第2回目のサンプリング時(2コマ目)においては、各基本単位の右上の画素bがサンプリングされ、その他の画素a,c,dが間引かれる。以下、第3回目、第4回目のサンプリング時においては、左下の画素c、右下の画素dが、それぞれ、サンプリングされ、その他の画素が間引かれる。つまり、各画素は4回に1回だけサンプリングされる。
画像処理部31によってサンプリングされた画像信号(CCD20の全画素中の4分の1の画素の画像信号)は、A/D変換回路32に供給され、そこでディジタル化されてDSP33に出力される。
DSP33は、ディジタル化された画像信号に対して前述した処理を施し、圧縮伸長回路34に出力する。圧縮伸長回路34は、画像信号に対してJPEG方式に基づく圧縮処理を施し、CPU制御バスを介して、メモリカード24の撮影画像記録領域に記録する。このとき、メモリカード24の撮影画像記録領域には、撮影日時のデータが、撮影画像データのヘッダ情報として記録される。
第3に、連写モード切り換えスイッチ13がHモード(1秒間に30コマの連写を行うモード)に切り換えられている場合について説明する。電源スイッチ11を操作することにより、電子カメラ1の電源をONの状態にし、面Y1に設けられているレリーズスイッチ10を押すと、被写体の撮影処理が開始される。
ファインダ2で観察される被写体の光画像が撮影レンズ3によって集光され、CCD20に結像する。複数の画素を備えるCCD20に結像した被写体の光画像は、各画素で画像信号に光電変換され、画像処理部31によって1秒間に30回の割合でサンプリングされる。また、このとき、画像処理部31は、CCD20の全画素のうち9分の1の画素をサンプリングする。
すなわち、画像処理部31は、マトリクス状に配列されているCCD20の画素を、図6に示すように、3×3画素を1つとする領域に分割し、その1つの領域から、所定の位置に配置されている1画素の画像電気信号を、1秒間に30回の割合でサンプリングし、残りの8画素を間引く。
例えば、第1回目のサンプリング時(1コマ目)においては、各領域の左上の画素aがサンプリングされ、その他の画素b乃至iが間引かれる。第2回目のサンプリング時(2コマ目)においては、画素aの右側に配置されている画素bがサンプリングされ、その他の画素a,c乃至iが間引かれる。以下、第3回目以降のサンプリング時においては、画素c、画素d・・・が、それぞれ、サンプリングされ、その他の画素が間引かれる。つまり、9コマ毎に各画素がサンプリングされる。
画像処理部31によってサンプリングされた画像信号(CCD20の全画素中の9分の1の画素の画像信号)は、A/D変換回路32に供給され、そこでディジタル化されてDSP33に出力される。
DSP33は、ディジタル化された画像信号に前述の処理を施し、圧縮伸長回路34に供給する。圧縮伸長回路34は、JPEG方式に従って画像信号に圧縮処理を施した後、タイマ45から供給される撮影日時をヘッダ情報として付加し、メモリカード24の撮影画像記録領域に記録する。
次に、タッチタブレット6Aから2次元の線画情報(ペン入力情報)を入力する場合の動作について説明する。タッチタブレット6Aがペン46のペン先で押圧されると、接触した箇所のX−Y座標がCPU36に供給される。このX−Y座標は、バッファメモリ35に格納されるとともに、フレームメモリ47の内部の上記X−Y座標の各点に対応した箇所にデータが書き込まれ、LCD6上に表示される。
上述したように、LCD6の表面上に形成されているタッチタブレット6Aは、透明部材によって構成されているので、ユーザは、LCD6上に表示される点(ペン46のペン先で押圧された位置の点)を観察することができ、あたかもLCD6上に直接ペン入力をしたかのように感じることができる。また、ペン46をタッチタブレット6A上で移動させると、LCD6上には、ペン46の移動に伴う線が描画される。さらに、ペン46をタッチタブレット6A上で断続的に移動させると、LCD6上には、ペン46の移動に伴う破線が表示される。以上のようにして、ユーザは、タッチタブレット6A(LCD6)から所望の文字、図形等の線画情報を入力することができる。
また、LCD6上に撮影画像が表示されている場合において、ペン46によって線画情報が入力されると、この線画情報が、撮影画像情報とともに、フレームメモリ47で合成され、LCD6上に表示される。
なお、ユーザは、図示せぬ色選択スイッチを操作することによって、LCD6上に表示される線画の色を、黒、白、赤、青等の色から選択することができる。
ペン46によるタッチタブレット6Aへの線画情報の入力後、操作キー7の実行キー7Bが押されると、バッファメモリ35に格納されている線画情報が、入力日時のヘッダ情報とともにCPU制御バスを介してメモリカード24に供給され、線画情報記録領域に記録される。
なお、メモリカード24に記録される線画情報は、圧縮処理の施された情報である。タッチタブレット6Aに入力された線画情報は空間周波数成分の高い情報を多く含んでいるので、撮影画像の圧縮に用いられる上記JPEG方式によって圧縮処理を行うと、圧縮効率が悪く、情報量を削減できないので、圧縮及び伸長に必要な時間が長くなってしまう。さらに、JPEG方式による圧縮は、非可逆圧縮であるので、情報量の少ない線画情報の圧縮には適していない(伸長してLCD6上に表示した場合、情報の欠落に伴うギャザ、にじみが際だってしまうため)。
そこで、本実施例においては、ファックス等において用いられるランレングス法によって、線画情報を圧縮するようにしている。ランレングス法とは、線画画面を水平方向に走査し、黒、白、赤、青等の各色の情報(点)の継続する長さ、及び無情報(ペン入力のない部分)の継続する長さを符号化することにより、線画情報を圧縮する方法である。
このランレングス法を用いることにより、線画情報を有効に圧縮することができ、また、圧縮された線画情報を伸長した場合においても、情報の欠落を抑制することが可能になる。なお、線画情報は、その情報量が比較的少ない場合には、圧縮しないようにすることもできる。
また、上述したように、LCD6上に撮影画像が表示されている場合において、ペン入力を行うと、撮影画像データとペン入力の線画情報がフレームメモリ47で合成され、撮影画像と線画の合成画像がLCD6上に表示される。その一方で、メモリカード24においては、撮影画像データは、撮影画像記録領域に記録され、線画情報は、線画情報記録領域に記録される。このように、2つの情報が、各々異なる領域に記録されるので、ユーザは、撮影画像と線画の合成画像から、いずれか一方の画像(例えば線画)を削除することができ、さらに、各々の画像情報を個別の圧縮方法で圧縮することもできる。
メモリカード24の音声記録領域、撮影画像記録領域、または線画情報記録領域にデータを記録した場合、図7に示すように、LCD6に所定の表示が行われる。図7に示す表示例においては、情報を記録した時点の年月日(記録年月日)(この場合、1996年6月30日)が画面の上端部に表示され、その記録年月日に記録された情報の記録時刻が画面の最も左側に表示されている。
記録時刻の右隣には、サムネイル(Thumb Nail)画像が表示されている。このサムネイル画像は、メモリカード24に記録された撮影画像データの各画像データのビットマップデータを間引いて(縮小して)作成されたものである。この表示のある情報は、撮影画像情報を含む情報である。つまり、「10時16分」と「10時21分」に記録(入力)された情報には、撮影画像情報が含まれており、「10時05分」、「10時28分」、「10時54分」に記録された情報には、画像情報が含まれていない。
また、メモ記号「*」は、線画情報として所定のメモが記録されていることを表している。
サムネイル画像の表示領域の右側には、音声サムネイルが表示され、録音時間に対応する長さの線分が表示される(音声情報が入力されていない場合は、表示されない)。この音声サムネイルの表示処理については後述する。
なお、この実施例において、サムネイル画像や音声サムネイルなどの表示の順序は、メモリカード24に記録されている順序(時系列順)とされている。即ち、1画面で表示することができない多数の情報が記録されている場合に、この画面の表示処理を行うと、最も古い記録情報が最初の行に表示され、以下、記録日時(撮影日時、入力日時、または録音日時)が古い順に表示されることになる。
ユーザは、図7に示すLCD6の所望の音声サムネイルを、ペン46のペン先でダブルクリックして(同一の場所を2回連続して押圧して)、再生する情報を選択指定し、実行キー(EXECキー)7Bをペン46のペン先で押圧することにより、所望の情報を再生させることができる。
例えば、図7に示す「10時05分」の右側に表示されている音声サムネイルがペン46によってダブルクリックされると、CPU36は、選択された録音日時(10時05分)に対応する音声データをメモリカード24から読み出し、音声IC38に供給する。音声IC38は、音声データ(圧縮されている音声データ)に伸長処理を施し、更にD/A変換を施してアナログ信号に変換してスピーカ5に供給する。スピーカ5は、供給されたアナログ信号を音声に変換し、出力する。なお、イヤホンジャック9に図示せぬイヤホンが接続されている場合においては、スピーカ5からは音声が再生されず、図示せぬイヤホンにより音声が再生される。なお、この音声サムネイルの再生処理についても後述する。
メモリカード24に記録した撮影画像データを再生する場合、ユーザは、所望のサムネイル画像をペン46のペン先で押圧することにより、その情報を選択し、続いて、実行キー7Bを押すことにより、選択した情報を再生させる。
CPU36は、選択された撮影日時に対応する撮影画像データをメモリカード24から読み出し、圧縮伸長回路34に供給する。圧縮伸長回路34に供給された撮影画像データ(圧縮されている撮影画像データ)はそこで伸長され、CPU36に再び出力される。CPU36は、この撮影画像データをビットマップデータとしてフレームメモリ47に一旦格納させた後、LCD6に表示させる。
Sモードで撮影された画像は、LCD6上に、静止画像として表示される。この静止画像は、CCD20の全ての画素の画像信号を再生したものであることはいうまでもない。
Lモードで撮影された画像は、LCD6上において、1秒間に8コマの割合で連続して表示される。このとき、各コマに表示される画素数は、CCD20の全画素数の4分の1である。
人間の視覚は、静止画像の解像度の劣化に対しては敏感であるため、静止画像の画素を間引くと、ユーザはこれを容易に感知してしまう。しかしながら、1秒間に8コマの画像が再生されるLモードでは、各コマの画素数はCCD20の画素数の4分の1になるが、前述のように1秒間に8コマの画像が再生されるので、単位時間当たりの情報量は、静止画像の場合に比べて2倍になる。
すなわち、Sモードで撮影された画像の1コマの画素数を1とすると、Lモードで撮影された画像の1コマの画素数は1/4となる。Sモードで撮影された画像(静止画像)がLCD6に表示された場合、1秒間に人間の目に入る情報量は1(=(画素数1)×(コマ数1))となる。一方、Lモードで撮影された画像がLCD6に表示された場合、1秒間に人間の目に入る情報量は2(=(画素数1/4)×(コマ数8))となる(すなわち、人間の目には、静止画像の2倍の情報が入る)。従って、1コマ中の画素の数を4分の1にした場合でも、再生時において、ユーザは、画質の劣化をさほど気にしない。
さらに、本実施例においては、各コマ毎に異なる画素をサンプリングし、そのサンプリングした画素をLCD6に表示するようにしているので、人間の目に残像効果が起こり、1コマ当たり4分の3画素を間引いたとしても、ユーザは、画質の劣化をさほど気にすることなく、LCD6に表示されるLモードで撮影された画像を観察することができる。
また、Hモードで撮影された画像は、LCD6上において、1秒間に30コマの割合で連続して表示される。このとき、各コマに表示される画素数は、CCD20の全画素数の9分の1であるが、Lモードの場合と同様の理由で、ユーザは、画質の劣化をさほど気にすることなくLCD6に表示されるHモードで撮影された画像を観察することができる。
本実施例においては、Lモード及びHモードで被写体を撮像する場合、画像処理部31が、再生時における画質の劣化が気にならない程度にCCD20の画素を間引くようにしているので、DSP33と圧縮伸長回路34の負荷を低減することができ、これらを、低速度、低電力で作動させることができる。また、このことにより、装置の低コスト化及び低消費電力化が可能になる。
図8は、図7に示す音声サムネイルを表示する処理の一例を説明するフローチャートである。この処理は、例えば、電子カメラ1が再生モードにされた場合に実行される。
ステップS1において、CPU36は、メモリカード24の音声記録領域から、ヘッダ情報として記録されている音声データの再生時間を読み出し、読み出された音声データの再生時間を30秒で除算し、得られた解の整数部分を変数nに代入する(n←div(音声データの再生時間,30sec))。なお、div(x,y)は、xをyで除算した結果の整数値を求める関数である。
ステップS2では、CPU36は、ステップS1において読み出された音声データの再生時間を30秒で除算した余りを変数mに代入する(m←mod(音声データの再生時間,30sec))。なお、mod(x,y)は、xをyで除算した余りを求める関数である。
次のステップS3では、CPU36は、ステップS1において求めた変数nに格納されている値に対応する本数の線分をLCD6に表示する。なお、この線分は、1本あたり30秒の音声データに対応しているので、例えば、音声データの再生時間が1分30である場合には、n=3となり、3本の線分が表示されることになる。
ステップS4では、ステップS2において求めたmの値に対応する長さの線分を表示する。即ち、変数mの値は、0≦m<30であるので、ステップS3で表示される線分の長さの、m/30に対応する長さの線分が表示されることになる。例えば、音声データの再生時間が45秒である場合は、n=1,m=15となり、ステップS3の処理において、30秒に対応する線分が1本表示され、その長さの1/2(=15/30)の長さの線分がステップS4の処理において表示されることになる。
図9は、本発明を適用した音声データの再生処理の一例を説明するフローチャートである。この処理は、図8の処理が終了した後に実行される。
この処理が実行されると、ステップS20において、CPU36は、タッチタブレット6Aが押圧されたか否かを判定する。その結果、タッチタブレット6Aが押圧された(YES)と判定した場合は、ステップS21の処理に進み、また、タッチタブレット6Aが押圧されていないと判定した場合は、ステップS20に戻り同様の処理を繰り返す。
続く、ステップS21において、CPU20は、ペン46の座標(x1,y1)を取得する。そして、ステップS22に進み、CPU20は、タッチタブレット6Aが再度押圧されたか否かを判定する。その結果、タッチタブレット6Aが押圧された(YES)と判定した場合は、ステップS23の処理に進み、また、タッチタブレット6Aが押圧されていない(NO)と判定した場合は、ステップS22に戻り同様の処理を繰り返す。
ステップS23では、CPU36は、ペン46の座標(x2,y2)を取得する。そして、ステップS24に進み、CPU36は、2つの座標(x1,y1)と(x2,y2)を始点または終点として囲まれる部分の音声サムネイルの表示色を変更する。
次のステップS25において、CPU36は、実行(EXEC)キー7Bが押圧されたか否かを判定する。その結果、実行キー7Bが押圧された(YES)と判定した場合は、ステップS26の処理に進み、また、実行キー7Bが押圧されていない(NO)と判定した場合は、ステップS25に戻り同様の処理を繰り返す。
ステップS26では、CPU36は、2つの座標(x1,y1)と(x2,y2)を始点または終点として指定される音声サムネイルの領域に対応する部分の音声データをメモリカード24から読み出し、音声IC38に供給することにより、指定された部分の音声を再生する。
いま、図10に示す表示例において、音声サムネイルの所定の位置がペン46により押圧された場合、CPU36は、ステップS20において、タッチタブレット6Aが押圧された(YES)と判定し、ステップS21に進む。ステップS21では、ペン46の座標(x1,y1)が取得される。
次に、図11の表示例に示すように、音声サムネイルの他の部分がペン46によって再度押圧された場合、CPU36は、ステップS22において、タッチタブレット6Aが再度押圧された(YES)と判定し、ステップS23の処理に進む。ステップS23では、ペン46の座標(x2,y2)が取得される。
ステップS24では、CPU36は、取得された2つの座標(x1,y1)と(x2,y2)を始点または終点として囲まれる部分の音声サムネイルの表示色を変更する。その結果、これら2つの座標を始点または終点として囲まれる部分の音声サムネイルは、図12に示すように表示色が変更されることになる(この図においては、線の太さにより表示色の相違を表している)。
以上のように音声サムネイルの所定の部分が指定された後、ペン46により実行キー7Bが押圧されると、CPU36は、ステップS25において、実行キー7Bが押圧された(YES)と判定し、ステップS26に進む。そして、CPU36は、表示色が変更されている部分に対応する部分の音声データをメモリカード24から読み出し、音声IC38に供給し、再生させる。
以上のような処理によれば、画面上に表示されている音声サムネイル上の2点をペン46により指定することにより、音声データを部分的に再生することが可能となる。
なお、以上の実施例では、最初に指定された座標(x1,y1)を始点とし、次に指定された座標(x2,y2)を終点とするようにしたが、例えば、最初に座標(x2,y2)が指定され、次に座標(x1,y1)が指定された場合には、最初に指定された座標を終点とし、次に指定された座標を始点とする処理を行うようにしてもよい。
また、以上の実施例では、1本の音声サムネイル(線分)上において、始点と終点を指定したが、異なる音声サムネイル(線分)上において、始点と終点を指定することも可能であることは言うまでもない。
更に、ペン46により音声サムネイルをダブルクリックした場合には、音声データを全て(最初から最後まで)再生するようにすることも可能である。
図13は、本発明を適用した再生処理の他の一例を説明するフローチャートである。この処理も、図9に示す処理と同様に、図8に示す処理が終了した後に実行される。
この処理が実行されると、ステップS40において、CPU36はタッチタブレット6Aがペン46により押圧されたか否かを判定する。その結果、タッチタブレット6Aが押圧された(YES)と判定した場合は、ステップS41に進み、また、タッチタブレット6Aが押圧されていない(NO)と判定した場合は、ステップS40に戻り同様の処理を繰り返す。
ステップS41では、CPU36はペン46の座標(x1,y1)を取得する。そして、ステップS42に進み、ペン46がタッチタブレット6Aから離されたか否かを判定する。その結果、ペン46がタッチタブレット6Aから離された(YES)と判定した場合は、ステップS43に進み、また、ペン46がタッチタブレット6Aから離されていない(NO)と判定した場合は、ステップS42に戻り同様の処理を繰り返す。
続くステップS43において、CPU36は、ペン46がタッチタブレット6Aから離された座標(x2,y2)を取得する。そして、ステップS44に進み、y1,y2に最も近い音声サムネイルの座標Y1,Y2をそれぞれ取得する。即ち、音声サムネイルの真上がペン46により押圧されるとは限らないので、音声サムネイルから多少離れた場所が押圧された場合においても、再生処理が可能となるように座標の変換を行う。なお、この座標変換は、現在表示されている全ての音声サムネイルのY座標を記憶しておき、ペン46により押圧されたy座標に最も近い座標値を検索することにより実行可能である。
ステップS45では、CPU36は、座標(x1,Y1)と(x2,Y2)を始点または終点として指定される部分の音声サムネイルの表示色を変更する。そして、ステップS46に進み、座標(x1,Y1)と(x2,Y2)を始点または終点として指定される音声サムネイルの領域に対応する部分の音声データをメモリカード24から読み出し、音声IC38に供給し、再生させる。
いま、図14に示す表示画面において、画面上の一点がペン46により指定された場合、ステップS40において、タッチタブレット6Aが押圧された(YES)と判定され、ステップS41に進む。ステップS41では、ペン46の座標(x1,y1)が取得され、ステップS42に進む。
図15に示すように、ペン46がドラッグされ(ペン46がタッチタブレット6Aに押圧されたままで移動され)た後、タッチタブレット6Aより離された場合、ステップS42において(YES)と判定され、ステップS43に進む。ステップS43では、ペン46がタッチタブレット6Aから離された座標(x2,y2)が取得され、ステップS44に進む。
ステップS44では、y1,y2に最も近い音声サムネイルの座標Y1,Y2がそれぞれ取得される。即ち、図15の例では、座標y1に対しては、第1番目の音声サムネイルのY座標であるY1が取得され、また、座標y2に対しては、第3番目の音声サムネイルのY座標であるY2が取得される。
ステップS45においては、2つの座標(x1,Y1)と(x2,Y2)を始点または終点として指定される部分の音声サムネイルの表示色が図16に示すように変更される(この図においては、線の太さにより表示色の相違を表している)。そして、ステップS46において、表示色が変更された領域に対応する部分の音声データがメモリカード24より読み出され、音声IC38に供給される。その結果、指定された部分の音声データが再生されることになる。
以上のような実施例によれば、タッチタブレット6A上でペン46を軽く移動させるだけで、音声データの所望の部分を再生することができる。
なお、図16に示すように、音声データを再生している際には、音声の再生が現在行われている部分を矢印(↓)等によって明示するようにしてもよい。また、以上の実施例では、音声サムネイルの表示色を変更した直後に、音声の再生処理を実行するようにしたが、前述の実施例と同様に、実行キー7Bが押圧された場合に再生処理を実行するようにしてもよい。
図17は、本発明を適用した音声サムネイルの表示処理の一例を説明するフローチャートである。この処理は、例えば、電子カメラ1が再生モードにされた場合に実行される。
この処理が実行されると、ステップS60において、CPU36は、メモリカード24から音声サムネイルとして表示しようとする音声データを読み出し、音声IC38に供給して伸長処理を施した後、1次元配列Data[i](i=1,2,・・・,N)(Nは音声データのデータ数)に格納する。そして、ステップS61に進み、Data[i]に格納されている各音声データの絶対値を求め、1次元配列Abs[i](i=1,2,・・・,N)に格納する。
続くステップS62において、CPU36は、1次元配列Level[i](i=1,2,・・・,N)に、以下の式により得られる値(1または0)を格納する。
δ{(Abs[i−n/2]+Abs[i−n/2+1]+・・・+Abs[i]+・・・+Abs[i+n/2])/n,Ref} ・・・(1)
なお、δ{x,Ref}は、xの値が基準値Refよりも大きいか、これらが等しい(x≧Ref)場合は、δ{x,Ref}=1となり、逆に、xの値が基準値Refよりも小さい(x<Ref)場合は、δ{x,Ref}=0となる関数である。また、nは、1回の処理において対象となる音声データのデータ数であり、例えば、n=10とされる。更に、Abs[x]において、x<1となる場合は、データが存在しないため(x=1,2,・・・,Nであるため)、Abs[x]=0とされるとともに、分母のnの値が1だけ減算される。このような処理により、音声データの絶対値の平均値が基準値Refを超過する部分(音声の瞬時値の平均値が基準値Refを超過する部分)に対しては、配列Levelに値1が格納される。
次のステップS63において、CPU36は、対象となる音声データの再生時間を30秒で除算した結果の整数部(=div(音声データの再生時間,30sec))を変数gに代入する。また、ステップS64では、音声データの再生時間を30秒で除算した余り(=mod(音声データの再生時間,30sec))を変数hに代入する。
ステップS65では、変数gの値に対応する本数の長方形がLCD6上に音声サムネイルとして表示され、また、ステップS66では、変数hの値に対応する長さの長方形が表示される。なお、ステップS63乃至S66の処理は、図8におけるステップS1乃至S4の処理と同様である。
ステップS67では、変数iが1に初期設定され、ステップS68に進む。ステップS68では、Level[i]に格納されている値が“1”であるか否かが判定される。その結果、Level[i]に格納されている値が“1”である(YES)と判定された場合は、ステップS69に進み、また、Level[i]に格納されている値が“1”ではない(NO)と判定された場合は、ステップS69の処理をスキップし、ステップS70に進む。
ステップS69では、音声サムネイルの変数iの値に対応する部分の表示色が変更される。即ち、前述のように、配列Levelに格納されている値が“1”である場合には、その部分の音声データの瞬時値が所定のレベル(Ref)を超過していることを示しており、音声サムネイルの表示色を変更することにより、その部分を明示する。そして、ステップS70において、変数iの値が1だけインクリメントされる。
続くステップS71では、変数iの値が音声データのデータ数Nよりも大きいか否かが判定される。その結果、変数iの値がデータ数Nよりも小さいか、または、これらが等しい(NO)と判定された場合は、ステップS68に戻り同様の処理が繰り返される。また、変数iの値がデータ数Nよりも大きい(YES)と判定された場合は処理を終了する(エンド)。
以上のような処理により表示される音声サムネイルの表示例を図18に示す。この図に示すように、所定のレベル(Ref)を超過する部分の音声データに対応する領域の音声サムネイルは、表示色が変更されている。この例では、領域a乃至領域dの4カ所の表示色が変更されており、これらの領域の音声データが、所定のレベルを超過していることが示されている。
なお、以上の実施例では、音声データの絶対値の平均値を、基準値Refと比較することにより、所定のレベルを超過した音声データを検出するようにしたが、本発明は、このような方法のみに限定されるものではないことは勿論である。例えば、音声データの2乗の平均値を基準値と比較するようにしてもよい。
また、基準値Refを適当に設定することにより、例えば、複数の発話が同時進行的になされている場合に、特定の発話(マイクロホン8に最も近い場所でなされている発話)に対応する部分のみの表示色を変更するようにすることも可能である。
図19は、図18の表示例において、音声データの再生を指定した場合に実行される処理の一例を説明するフローチャートである。この処理では、変数startとstopに格納されている値を、それぞれ始点と終点とし、対応する音声データを再生するようになされている。これら2つの値は、例えば、ペン46により音声サムネイル上の2点が指定された場合に取得される。
この処理が実行されると、ステップS90において、CPU36は、ステップS90において、変数startに格納されている値を変数iに代入する。ステップS91では、図17の処理により得られた配列Levelの第i番目の値が“1”であるか否かが判定される(即ち、Level[i]=1であるか否かが判定される)。その結果、Level[i]=1である(YES)と判定された場合は、ステップS92に進み、値iに対応する音声データをメモリカード24から読み出し、音声IC38に供給して再生させる。また、Level[i]≠1である(NO)と判定された場合は、ステップS92の処理をスキップし、ステップS93に進む。
ステップS93においては、変数iの値が1だけインクリメントされ、ステップS94に進む。ステップS94では、変数iの値がstopの値よりも大きいか否かが判定される。その結果、変数iの値がstopの値よりも大きい(YES)と判定された場合は処理を終了し、また、変数iの値がstopの値よりも小さいか、または、これらが等しい(NO)と判定された場合はステップS91に戻り、同様の処理を繰り返すことになる。
いま、図18に示す表示画面上において、音声サムネイルの最初の部分(音声データの先頭)と最後の部分(音声データの末尾)をそれぞれ、始点と終点として図19に示す処理を実行した場合、領域a乃至領域dが順に再生され、その他の部分(図18において、ハッチングが施されていない部分)は再生が実行されない。従って、不要な部分(音声のレベルが低い部分(例えば、会話が行われていない部分))の再生が省略されるので、その分だけ再生時間が短縮されることになる。
以上の実施例では、始点と終点を指定し、再生を実行するようにしたが、例えば、再生しようとする部分(領域a乃至領域d)をペン46により指定し、指定された部分の音声データのみを再生するようにしてもよい。例えば、ペン46により、領域a,dの一部が押圧された後、実行キー7Bが押圧された場合は、領域a,dに対応する部分の音声データがカードメモリ24より読み出され、再生されるようにしてもよい。
図20は、図18の表示画面において、画面の下部に表示されている「Slow」または「Fast」ボタンが押圧された場合に実行される処理の一例を説明するフローチャートである。
ステップS110において、CPU36はSlowボタンが押圧されたか否かを判定する。その結果、Slowボタンが押圧された(YES)と判定した場合は、ステップS111に進み、音声IC38に出力クロックの周期を長くするための制御信号を出力する。即ち、音声をD/A変換する周期を通常よりも長くすることにより、音声の再生スピードを遅くする。また、Slowボタンが押圧されていない(NO)と判定した場合は、ステップS111の処理をスキップし、ステップS112に進む。
ステップS112では、CPU36は、Fastボタンが押圧されたか否かを判定する。その結果、Fastボタンが押圧された(YES)と判定した場合は、ステップS113に進み、音声IC38に出力クロックの周期を短くするための制御信号を出力する。即ち、音声をD/A変換する周期を通常よりも短くすることにより、音声の再生スピードを速くする。また、Fastボタンが押圧されていない(NO)と判定した場合は、ステップS113の処理をスキップし、処理を終了する(エンド)。
このような処理によれば、音声データの再生スピードを変更することができるので、例えば、不明瞭な発話等が記録されている場合には、その部分をペン46により指定し、Slowボタンを押圧してから再生させることにより、不明瞭な部分をゆっくり再生させることができる。また、比較的時間の長い会話等が録音されている場合は、Fastボタンを押圧してから再生することにより、短時間で会話の内容を把握することが可能となる。
なお、図18の最下部に表示されている「Repeat」ボタンが押圧された場合には、直前に再生された音声データを再度再生するようにしてもよい。これにより、例えば、外国語等の発話において、特定の単語が聞き取れない場合に、その部分を繰り返し聞くことが可能となる。
また、以上の実施例では、音声IC38の出力クロックの周期を変更することにより、再生スピードを変化させるようにした。しかしながら、例えば、CPU36が所定の時間毎にソフトウエア割り込みにより1処理単位の音声データを音声IC38に供給するように構成し、このソフトウエア割り込みが生ずる時間(周期)を変更することにより音声の再生スピードを変更するようにしてもよい。
図21は、本発明を適用した他の音声サムネイルの表示の一例を示している。
この表示例では、音声データの再生時間に対応した角度を有する扇形が表示されている。即ち、最長の再生時間(例えば、3分)を360度とした場合に、表示しようとする音声データの再生時間に対応する角度を求め、求められた角度を有する扇形を音声サムネイルとして表示する。
図22は、このような表示画面において、扇形の音声サムネイル上または、その近傍の2点がペン46により押圧された場合に、それら2点を始点または終点として音声を再生する処理の一例を説明するフローチャートである。なお、この処理は、図21の画面が表示された後に実行される。
ステップS130において、CPU36は、タッチタブレット6Aが押圧されたか否かを判定する。その結果、タッチタブレット6Aが押圧された(YES)と判定した場合は、ステップS131に進み、また、押圧されていない(NO)と判定した場合はステップS130に戻り同様の処理を繰り返す。
ステップS131において、CPU36は、ペン46の座標(x1,y1)を取得する。そして、ステップS132に進み、扇形の始点P、中心点O、および、座標(x1,y1)の間の角度θ1を求める(図23参照)。
ステップS133では、CPU36は、タッチタブレット6Aが再度押圧されたか否かを判定する。その結果、タッチタブレット6Aが押圧された(YES)と判定した場合は、ステップS134に進み、また、押圧されていない(NO)と判定した場合は、ステップS133に戻り同様の処理を繰り返す。
ステップS134においては、CPU36は、ペン46の座標(x2,y2)を取得する。そして、ステップS135において、扇形の始点P、中心点O、および座標(x2,y2)の間の角度θ2を求める(図23参照)。
続くステップS136では、CPU36は、実行キー7Bが押圧されたか否かを判定する。その結果、実行キー7Bが押圧された(YES)と判定すると、ステップS137に進み、また、実行キー7Bが押圧されていない(NO)と判定すると、ステップS136に戻り同様の処理を繰り返す。
ステップS137では、CPU36は、θ1とθ2をそれぞれ始点または終点として、音声データの対応する部分をメモリカード24から読み出し、音声IC38に供給する。その結果、ペン46により指示された2点を始点または終点として、指定される部分の音声データが再生されることになる。
いま、例えば、図23に示すような扇形が表示されている場合に、ペン46により、座標(x1,y1)が押圧されたとする。すると、CPU36は、ステップS130において、タッチタブレット6Aが押圧された(YES)と判定し、ステップS131に進み、ペン46の座標(x1,y1)を取得する。そして、ステップS132では、扇形の始点P、中心点O、および座標(x1,y1)の間の角度θ1が求められる。
そして、座標(x2,y2)がペン46により指示された場合、CPU36はステップS133においてタッチタブレット6Aが押圧された(YES)と判定し、ステップS134に進む。ステップS134では、ペン46の座標(x2,y2)が求められ、更に、ステップS135において、扇形の始点P、中心点O、および座標(x2,y2)の間の角度θ2が求められる。
続いて、実行キー7Bが押圧されると、CPU36は、ステップS136において、実行キー7Bが押圧された(YES)と判定し、ステップS137に進む。ステップS137では、θ1とθ2をそれぞれ、始点または終点として指定される部分の音声データをメモリカード24から読み出し、音声IC38に供給することにより、指定された部分の音声を再生させる。
以上のような実施例によれば、例えば、図23に示すように、座標(x1,y1)と座標(x2,y2)を指定することにより、音声データを部分的に再生することが可能となる。このように、扇形の内部の座標を指定する場合は、ペン46を移動させる距離を短くすることができる。即ち、この例では、最短の場合、2つの座標を結ぶ直線の長さ(=((x2−x1)2+(y2−y1)2)1/2)だけペン46を移動させればよい。
また、扇形の外部の座標を指定するようにしてもよい。例えば、図23に示すように、座標(x3,y3)と座標(x4,y4)を指定し、これらの座標により指定される部分の音声データを再生するようにしてもよい。このように、扇形の外部の座標を指定する場合では、ペン46を移動させる距離は、扇形の内部を指示する場合に比べて長くなるものの、その分、位置を正確に指定することができる。
更に、以上の例では、音声データの再生時間に応じた角度を有する扇形を表示するようにしたが、図24に示すように、再生時間によらず一定の大きさの円を表示し、円の内部または外部に再生時間を表示するようにしてもよい。そして、再生時間が視覚的に把握しやすくなるように、例えば、円の外周部に一定の時間毎にタイムスケールを付加してもよい。この例では、15秒間隔でタイムスケールが付加されており、8つのタイムスケールが存在することから、再生時間は2:00(=2分=8×15秒)であることが理解できる。
このような音声サムネイルを用いるとともに、ペン46がドラッグされた範囲に対応する部分の音声データを再生するようにすることにより、再生処理を繰り返し行うことができる。例えば、図24に示すように、座標(x1,y1)からドラッグを開始し、2周円を描いた後、座標(x2,y2)でペン46を離した場合、同一の部分を2度繰り返して再生することができる。
また、図23と図24に示す実施例において、音声データの再生が開始された場合は、再生が現在行われている部分を、例えば、矢印等で指示するようにしてもよい。
更に、前述の実施例と同様に、音声データが所定のレベルを超過した部分の表示色を変更し、その部分を明示するようにしてもよいことは勿論である。