以下、本件を実施するための形態について図面を参照して説明する。
(第1実施形態)
図1は、データ保存システムSの概要を説明するための図である。
データ保存システムSは、情報処理端末100とサーバ装置200を含んでいる。情報処理端末100とサーバ装置200とは、携帯基地局BS及び通信ネットワークNWを介して接続されている。より詳しくは、情報処理端末100と携帯基地局BSとは無線(例えば電波など)により接続されている。携帯基地局BSとサーバ装置200は有線(例えば通信ケーブルなど)により接続されている。
情報処理端末100は、通信機能及び音声などを記録するアプリを有する携帯可能な端末装置である。情報処理端末100としては例えばスマートフォンやタブレット端末、携帯電話機などがある。情報処理端末100は、マイクとアプリを利用して、情報処理端末100の周囲に存在する音声を音声データとして自身(より詳しくは自身が有する揮発性の記憶部)に保存する。
図1では、音声の一例として、2人の話者の間で行われる会話を示しているが、独り言、複数人で行われる会議やミーティング等の音声などであってもよい。また、アプリが記録する対象は、音声に限定されず、例えば動物や昆虫の鳴き声であってもよいし、ゲームの効果音、電話の着信音、電車の発車音、雷鳴、雨音、物音、雑音などの音であってもよい。情報処理端末100は、自身に保存した音声データを携帯基地局BSに送信する。
サーバ装置200は、携帯基地局BSに送信された音声データを受信して自身に保存する。これにより、情報処理端末100の電源を切れば、音声データは情報処理端末100から消去されるため、音声データに機密事項が含まれていても機密事項漏洩を回避することができる。一方で、情報処理端末100がサーバ装置200に保存された音声データを取得することにより音声データを再生することができる。
次に、図2を参照して、上述した情報処理端末100のハードウェア構成について説明する。
図2は、情報処理端末100のハードウェア構成の一例である。図2に示すように、情報処理端末100は、Central Processing Unit(CPU)100A、揮発性の記憶部としてのRandom Access Memory(RAM)100B、Read Only Memory(ROM)100C、不揮発性の記憶部としてのElectrically Erasable Programmable Read Only Memory(EEPROM)100D及び通信回路100Eを含んでいる。通信回路100Eにはアンテナ100E´が接続されている。通信回路100Eに代えて通信機能を実現するCPUが利用されてもよい。また、情報処理端末100は、ディスプレイ100F、タッチパネル100G、マイク100H、カメラ100Iを含んでいる。カメラ100Iは、例えばComplementary Metal Oxide Semiconductor(CMOS)やCharge Coupled Device(CCD)を用いた撮像素子とレンズなどの光学系とを含んでいる。CPU100A、・・・、カメラ100Iは、内部バス100Jによって互いに接続されている。少なくともCPU100AとRAM100Bとが協働することによってコンピュータが実現される。
上述したRAM100Bには、ROM100Cに記憶されたプログラムがCPU100Aによって格納される。格納されたプログラムをCPU100Aが実行することにより、後述する各種の機能が実現され、また、各種の動作が実行される。尚、プログラムは後述するフローチャートに応じたものとすればよい。
次に、図3を参照して、情報処理端末100の機能について説明する。
図3は、情報処理端末100のブロック図の一例である。情報処理端末100は、図3に示すように、受付部としての第1受付部101、書込部102、揮発性の記憶部としての第1記憶部103、送信部104、決定部105、及び不揮発性の記憶部としての第2記憶部106を含んでいる。
第1受付部101は、ユーザがタッチパネル100Gを操作することにより発行された指示を受け付ける。指示には、第1の指示、第2の指示、第3の指示及び第4の指示がある。第1の指示は、録音開始ボタンが押下された場合に発行される指示である。録音開始ボタンは録音の開始を指示するボタンである。第1の指示を以下では録音開始指示と呼ぶ。第2の指示は、重要ボタンが押下された場合に発行される指示である。重要ボタンは、重要ボタン押下後以降の音声を特別に保存しておきたいとユーザが判断した場合に押下されるボタンである。第2の指示を以下では重要指示と呼ぶ。第3の指示は、解除ボタンが押下された場合に発行される指示である。解除ボタンは、音声を特別に保存しておくことから離脱する場合に押下されるボタンである。第3の指示を以下では解除指示と呼ぶ。第4の指示は、録音終了ボタンが押下された場合に発行される指示である。録音終了ボタンは録音の終了を指示するボタンである。第4の指示を以下では録音終了指示と呼ぶ。
書込部102は、第1受付部101が録音開始指示を受け付けた場合に、マイク100Hから得ている音声を保存対象の音声データとして第1記憶部103の第1の記憶領域(以下、プレ音声記憶領域と呼ぶ)に周期的に書き込む。書込部102は、第1受付部101が重要指示を受け付けた場合に、音声を保存対象の音声データとして第1記憶部103の第2の記憶領域(以下、コア音声記憶領域と呼ぶ)に周期的に書き込む。したがって、第1記憶部103のプレ音声記憶領域及びコア音声記憶領域にはそれぞれ音声データが記憶される。
また、書込部102は、第1受付部101が重要指示を受け付けた場合にはプレ音声記憶領域を開放し、第1受付部101が解除指示を受け付けた場合にはコア音声記憶領域を開放する。これにより、不要となったプレ音声記憶領域やコア音声記憶領域を無駄に確保しておく必要がなくなり、開放された記憶領域を別の用途に使用することができる。さらに、書込部102は、決定部105がコア音声記憶領域の大きさを決定した後に、送信速度(例えばアップロード速度)が書込速度以上である第1の状態から、送信速度が書込速度未満である第2の状態に移った場合、コア音声記憶領域に書き込む音声データを第2記憶部106に保存する。ここで、送信速度は送信部104が音声データをサーバ装置200に送信する速度であり、書込速度は音声データをプレ音声記憶領域に書き込む速度である。書込部102は、コア音声記憶領域の大きさを決定した後に、送信速度が書込速度未満である第1の状態から、送信速度がさらに低速になった第2の状態に移った場合、コア音声記憶領域に書き込む音声データを第2記憶部106に保存する。これにより、例えば4G(第4世代)から3G(第3世代)へと通信環境が劣化して送信速度が低下しても、コア音声記憶領域に音声データが書込不能となる前に、音声データが第2記憶部106に退避される。
送信部104は、プレ音声記憶領域及びコア音声記憶領域に書き込まれた音声データをサーバ装置200に送信する。送信部104は、保存対象がマイクから得ている音であり、その音の音量が閾値以下であるときに、音声データを送信の対象から除外する。このため、送信部104は、プレ音声記憶領域及びコア音声記憶領域に書き込まれた音声データの全てを必ずしもサーバ装置200に送信する訳ではなく、音声データの一部を送信する場合もある。これにより、サーバ装置200に送信する音声データの総容量を低減させることができる。
決定部105は、書込部102と送信部104とを監視し、書込部102が音声データを第1記憶部103に書き込む書込速度、及び、送信部104が音声データをサーバ装置200に送信する送信速度を取得する。決定部105は、取得した書込速度と送信速度に基づいて、コア音声記憶領域の大きさを決定する。尚、コア音声記憶領域の大きさを決定する詳細な説明は後述する。
次に、図4を参照して、上述したサーバ装置200のハードウェア構成について説明する。
図4は、サーバ装置200のハードウェア構成の一例である。図4に示すように、サーバ装置200は、少なくともCPU200A、RAM200B、ROM200C及びネットワークI/F(インタフェース)200Dを含んでいる。サーバ装置200は、必要に応じて、Hard Disk Drive(HDD)200E、入力I/F200F、出力I/F200G、入出力I/F200H、ドライブ装置200Iの少なくとも1つを含んでいてもよい。CPU200A、・・・、ドライブ装置200Iは、内部バス200Jによって互いに接続されている。少なくともCPU200AとRAM200Bとが協働することによってコンピュータが実現される。
入力I/F200Fには、入力装置710が接続される。入力装置710としては、例えばキーボードやマウスなどがある。
出力I/F200Gには、表示装置720が接続される。表示装置720としては、例えば液晶ディスプレイがある。
入出力I/F200Hには、半導体メモリ730が接続される。半導体メモリ730としては、例えばUniversal Serial Bus(USB)メモリやフラッシュメモリなどがある。入出力I/F200Hは、半導体メモリ730に記憶されたプログラムやデータを読み取る。
入力I/F200F及び入出力I/F200Hは、例えばUSBポートを備えている。出力I/F200Gは、例えばディスプレイポートを備えている。
ドライブ装置200Iには、可搬型記録媒体740が挿入される。可搬型記録媒体740としては、例えばCompact Disc(CD)−ROM、Digital Versatile Disc(DVD)といったリムーバブルディスクがある。ドライブ装置200Iは、可搬型記録媒体740に記録されたプログラムやデータを読み込む。
ネットワークI/F200Dは、例えばポートとPhysical Layer Chip(PHYチップ)とを備えている。サーバ装置200は、ネットワークI/F200Dを介してネットワークNWと接続される。
上述したRAM200Bには、ROM200CやHDD200Eに記憶されたプログラムがCPU200Aによって格納される。RAM200Bには、可搬型記録媒体740に記録されたプログラムがCPU200Aによって格納される。格納されたプログラムをCPU200Aが実行することにより、後述する各種の機能が実現され、また、各種の動作が実行される。尚、プログラムは後述するフローチャートに応じたものとすればよい。
次に、図5を参照して、サーバ装置200の機能について説明する。
図5は、サーバ装置200のブロック図の一例である。サーバ装置200は、図5に示すように、第2受付部201、保存部202及び第3記憶部203を含んでいる。
第2受付部201は、情報処理端末100から送信された音声データを受け付ける。第2受付部201は、受け付けた音声データを保存部202に出力する。
保存部202は、第2受付部201から出力された音声データを第3記憶部203に保存する。第3記憶部203としては例えば上述したHDD200Eなどがある。また、保存部202は、音声データに含まれる書込完了時刻に基づいて、音声データに不足があると判断した場合、音量が閾値以下の音(例えば無音データ)を有する音声データによりその不足を補完する。さらに、保存部202は、書込完了時刻に基づいて、音声データを時系列に並び替える。
次に、図6及び図7を参照して、データ保存システムSの概略的な動作について時系列に説明する。
図6は、データ保存システムSの処理の流れの一例を説明するための図である。図6では、会議の音声を保存する場合について説明している。図7(a)は、更新周期設定画面の一例である。図7(b)は、ボタン選択画面の一例である。図6に示すフェーズ1で、情報処理端末100を利用して音声を録音しようとするユーザ(例えば会議主催者や会議参加者など)は、まず、タッチパネル100Gを操作してボイスレコーダアプリを起動する(不図示)。ボイスレコーダアプリが起動すると、図7(a)に示すように、ディスプレイ100Fには更新周期設定画面が表示される。更新周期設定画面は、プレ音声記憶領域に書き込まれる音声(適宜プレ音声と呼ぶ)の更新周期mを分単位で設定するための画面である。
例えば、図7(a)に示すように、画面上で「2分」が設定されると、更新周期mを2分とする2分間分のプレ音声記憶領域が確保される(図6参照)。したがって、2分間分の音声データがプレ音声記憶領域に書き込まれると、後続の音声データはそのプレ音声記憶領域に上書きされる。尚、更新周期mに設定可能な時間は、第1記憶部103の容量により制限される。例えば、第1記憶部103の容量が小さければ、更新周期mに数十分や数百分を設定することはできない。このため、更新周期mは数分程度であることが望ましい。
ここで、図7(b)に示すように、タッチパネル100Gを介して録音開始ボタンを押下する操作がなされると、図6に示すように、m分間分(例えば2分間分)のプレ音声記憶領域(プレ音声記憶領域#1)が確保される。そして、マイク100Hを介して得られる音声の音声データはそのプレ音声記憶領域に書き込まれる。プレ音声記憶領域への書込みは、図6に示すように、重要ボタンが押下されるまで周期的に実行される。
例えば、図6において、録音開始ボタンが押下されてから重要ボタンが押下されるまで8分間分の音声データがプレ音声記憶領域に書き込まれる場合、まず、録音開始ボタン押下直後に2分間分の音声データがプレ音声記憶領域に書き込まれる。そして、2周期目の2分間分の音声データは、既に1周期目の音声データが書き込まれているプレ音声記憶領域に上書きして書き込まれる。ただし、プレ音声記憶領域に書き込まれていた最初の2分間分の音声データは、プレ音声記憶領域に書き込まれた後即時にサーバ装置200に送信されている。このため、上書きされてもサーバ装置200から取得することで、後に再現することができる。
同様に、3周期目の2分間分の音声データは、既に2周期目の音声データが書き込まれているプレ音声記憶領域に上書きして書き込まれる。4周期目の2分間分の音声データは、既に3周期目の音声データが書き込まれているプレ音声記憶領域に上書きして書き込まれる。そして、図6に示すように、重要ボタンが押下されるとフェーズ2に移行する。尚、詳細は後述するが、図6に示すように、重要ボタン押下直前のm分間分の音声データが保存対象データとしてサーバ装置200に保存される。
フェーズ2に移行すると、図6に示すように、プレ音声記憶領域への書込みが停止される。また、送信対象除外と判断された音声データを除くプレ音声記憶領域内の音声データが全て送信されると、図6に示すように、プレ音声記憶領域は開放される。一方、フェーズ2に移行すると、書込速度と送信速度に基づいて決定された大きさ分のコア音声記憶領域(図6に示すコア音声記憶領域#1)が確保される。
重要ボタン押下後から解除ボタン押下前までの音声(適宜コア音声と呼ぶ)の音声データは、コア音声記憶領域に周期的に書き込まれる。すなわち、重要ボタン押下後から解除ボタン押下前までのコア音声の音声データがコア音声記憶領域を満たすと、後続の音声データはそのコア音声記憶領域に上書きされる。フェーズ1と同様に、コア音声記憶領域に書き込まれていた音声データも、コア音声記憶領域に書き込まれた後即時にサーバ装置200に送信されている。このため、上書きされてもサーバ装置200から取得することで、後に再現することができる。そして、解除ボタンが押下されるとフェーズ3に移行する。尚、詳細は後述するが、図6に示すように、重要ボタンを押下してから解除ボタンが押下されるまでのコア音声の音声データが保存対象データとしてサーバ装置200に保存される。
フェーズ3に移行すると、コア音声記憶領域への書込みが停止される。また、送信対象除外と判断された音声データを除くコア音声記憶領域内の音声データが全て送信されると、コア音声記憶領域は開放される。一方、フェーズ3に移行すると、2分間分のプレ音声記憶領域(図6に示すプレ音声記憶領域#2)が新たに確保される。そして、マイク100Hを介して得られる音声の音声データは、以後、新たなプレ音声記憶領域に書き込まれる。新たなプレ音声記憶領域への書込みは、録音終了ボタン又は重要ボタンが押下されるまで周期的に実行される。そして、録音終了ボタンが押下されるとフェーズ4に移行する。一方、重要ボタンが押下されると、フェーズ2が繰り返され、新たなコア音声記憶領域が確保される。
フェーズ4に移行すると、新たなプレ音声記憶領域への書込みが停止され即時に開放される。そして、録音終了ボタン押下後、プレ音声記憶領域及びコア音声記憶領域内の音声データの送信の完了を待って、ボイスレコーダアプリを終了する。これにより、サーバ装置200には、コア音声の音声データとコア音声が始まる前m分間分(例えば2分間分)のプレ音声の音声データが保存される。
続いて、図8乃至図13を参照して、情報処理端末100の動作について上述したフェーズ毎に説明する。
まず、図8及び図9を参照して、情報処理端末100のフェーズ1の動作について説明する。
図8は、情報処理端末100のフェーズ1の動作の一例を示すフローチャートである。図9は、音声データが書き込まれたプレ音声記憶領域の一例である。フェーズ1では、まず、ユーザが情報処理端末100のタッチパネル100Gを操作して、ディスプレイ100Fに表示された所定のアイコンに指示(例えばタップやダブルタップなど)を与える。指示を与えると、第1受付部101がボイスレコーダアプリを起動する(ステップS101)。ボイスレコーダアプリが起動すると、上述した更新周期設定画面(図7(a)参照)がディスプレイ100Fに表示される。ユーザが更新周期設定画面を操作し、更新周期mを設定すると、第1受付部101は、設定された更新周期m分を保持する(ステップS102)。
次いで、第1受付部101は録音開始指示を受け付けるまで待機を続ける(ステップS103:NO)。第1受付部101が録音開始指示を受け付けた場合(ステップS103:YES)、書込部102はm分間分のプレ音声記憶領域を確保する(ステップS104)。より詳しくは、書込部102は、s秒毎に複数のブロックに分割されたm分間分のプレ音声記憶領域を確保する。ここでs秒は予め設定される固定値である。本実施形態では5秒として説明するが適宜変更してもよい。ブロックの数b(個)は60(秒)×m(分)/s(秒)により算出することができる。したがって、プレ音声記憶領域の大きさXは、s秒間分のブロックの大きさをa(KB:キロバイト)とした場合、a×b(KB)により算出することができる。ステップS104の処理が完了すると、書込部102は、マイク100Hから得られる音声に基づいて、プレ音声記憶領域にs秒分の音声データを書き込みつつ、決定部105が書込速度を測定する(ステップS105)。
書込速度の測定は以下のとおり行われる。まず、決定部105は、メモリアドレス「1」のプレ音声記憶領域への音声データの書込みが開始(又は完了)してから、メモリアドレス「2」のプレ音声記憶領域への音声データの書込みが開始(又は完了)するまでの書込速度c1、・・・、メモリアドレス「b−1」のプレ音声記憶領域への音声データの書込みが開始(又は完了)してから、メモリアドレス「b」のプレ音声記憶領域への音声データの書込みが開始(又は完了)するまでの書込速度cb−1を測定する。決定部105は測定した書込速度c1、・・・、書込速度cb−1の平均値を最終的な書込速度cとする。この結果、書込速度cが測定されながら、図9(a)に示すように、メモリアドレス1のプレ音声記憶領域に5秒間分の音声データが時刻及び識別情報とともに書き込まれる。ここで、時刻は書込みを開始した時刻を表しており、識別情報は音声データの種別を識別する情報である。具体的には、識別情報「0」はプレ音声であることを表し、後述する識別情報「1」はコア音声であることを表している。また、識別情報「−1」は送信対象から除外される音声データであることを表している。
プレ音声記憶領域にs秒分の音声データが書き込まれる度に、送信部104はプレ音声記憶領域に書き込まれた音声データを取得して、サーバ装置200に送信し、決定部105は送信速度を測定する(ステップS106)。尚、録音開始直後の音声データを送信する際には、送信部104は更新周期m分もサーバ装置200に送信する。
送信速度の測定は以下のとおり行われる。まず、決定部105は、メモリアドレス「1」のプレ音声記憶領域内の音声データの送信が開始(又は完了)してから、メモリアドレス「2」のプレ音声記憶領域内の音声データの送信が開始(又は完了)するまでの送信速度d1、・・・、メモリアドレス「b−1」のプレ音声記憶領域内の音声データの送信が開始(又は完了)してから、メモリアドレス「b」のプレ音声記憶領域内の音声データの送信が開始(又は完了)するまでの送信速度db−1を測定する。決定部105は測定した送信速度d1、・・・、送信速度db−1の平均値を最終的な送信速度dとする。
次いで、第1受付部101は重要指示を受け付けたか否かを判断し(ステップS107)、重要指示を受け付けていない場合(ステップS107:NO)、書込部102はm分間分の音声データがプレ音声記憶領域に書き込まれているか否かを判断する(ステップS108)。書込部102はm分間分の音声データがプレ音声記憶領域に書き込まれていないと判断した場合(ステップS108:NO)、ステップS105乃至S108の処理を繰り返す。これにより、プレ音声記憶領域にs秒分の音声データが順次書き込まれ、書込みが完了する度に音声データが順次サーバ装置200に送信される。
例えば録音開始ボタンが押下されてから10秒間分のプレ音声がプレ音声記憶領域に書き込まれる場合には、図9(b)に示すように、メモリアドレス1のプレ音声記憶領域に最初の5秒間分の音声データが書き込まれて送信される。次いで、メモリアドレス2のプレ音声記憶領域に次の5秒間分の音声データが書き込まれて送信される。例えば録音開始ボタンが押下されてから2分間分のプレ音声がプレ音声記憶領域に書き込まれる場合には、図9(c)に示すように、メモリアドレス「1」のプレ音声記憶領域に最初の5秒間分の音声データが書き込まれて送信される。以降、同様の処理が行われて、最後にメモリアドレス「b」のプレ音声記憶領域に最後の5秒間分の音声データが書き込まれて送信される。
ここで、メモリアドレス「3」のプレ音声記憶領域に書き込まれた音声データは、その音声データの元となる音の音量が閾値以下であるため、送信対象から除外される。尚、図9(a)乃至図9(c)は、いずれもs秒毎に複数のブロックに分割されたm分間分のプレ音声記憶領域を示しているが、図9(a)ではメモリアドレス「2」以降のプレ音声記憶領域が省略されている。同様に、図9(b)ではメモリアドレス「3」以降のプレ音声記憶領域が省略されている。
ステップS107の処理において、重要指示を受け付けていない場合であって、m分間分の音声データが第1記憶部103に書き込まれていると書込部102が判断した場合(ステップS108:YES)、書込部102は、プレ音声記憶領域にs秒分の音声データを上書きして書き込む(ステップS109)。これにより、例えば、図9(d)に示すように、書込開始時刻「00:02:00」の音声データはメモリアドレス「1」のプレ音声記憶領域に上書きして書き込まれる。同様に、書込開始時刻「00:02:05」の音声データの音声データはメモリアドレス「2」のプレ音声記憶領域に上書きして書き込まれる。書込部102が、プレ音声記憶領域にs秒分の音声データを上書きして書き込むと、送信部104はプレ音声記憶領域に書き込まれた音声データを取得して、サーバ装置200に送信する(ステップS110)。書込部102及び送信部104は、重要指示を受け付けるまでステップS107乃至S110の処理を繰り返す。すなわち、プレ音声記憶領域には周期的に音声データが書き込まれて送信される。
一方、ステップS107の処理において、第1受付部101が重要指示を受け付けたと判断した場合(ステップS107:YES)、送信部104は音声データの送信が継続されているか否かを判断する(ステップS111)。重要指示を受け付けたと判断した際のプレ音声記憶領域の状態は、図9(a)〜(d)のいずれでもよい。ここで、送信部104が音声データの送信が継続されていないと判断した場合(ステップS111:NO)、すなわち、送信が完了している場合、書込部102はプレ音声記憶領域を開放する(ステップS112)。ステップS112が完了すると、フェーズ1の処理が終了する。一方、送信部104が音声データの送信が継続されていると判断した場合(ステップS111:YES)、すなわち、送信が完了していない場合、書込部102はプレ音声記憶領域を開放せずに、フェーズ1の処理が終了する。フェーズ1の処理が終了すると、フェーズ2が開始される。
次に、図10及び図11を参照して、情報処理端末100のフェーズ2の動作について説明する。
図10は、情報処理端末100のフェーズ2の動作の一例を示すフローチャートである。図11は、音声データが書き込まれたコア音声記憶領域の一例である。フェーズ2では、図10に示すように、まず、書込部102がプレ音声記憶領域への書込みを停止する(ステップS201)。次いで、決定部105が上述した書込速度cと送信速度dに基づいて、コア音声記憶領域の大きさを決定する(ステップS202)。
具体的には、書込速度c≦送信速度dである場合、音声データを書き込む処理より送信する処理の方が速く進行する。このため、さほど大きなコア音声記憶領域を確保する必要がない。したがって、予め定めた最低必要個数e(例えばe=2やe=3)をブロックの数として決定する。一方、書込速度c>送信速度dである場合、音声データを書き込む処理より送信する処理の方が遅く進行する。このため、コア音声記憶領域に音声データが周期的に書き込まれることを考慮しても、ある程度大きなコア音声記憶領域を確保することが求められる。したがって、予め定めた最大確保量(例えば30分程度の音声データを確保可能な個数)eMAXに所定の係数(1−d/c)を掛け合わせた個数eをブロックの数として決定する。この場合、コア音声記憶領域の大きさYは、s秒間分のブロックの大きさをa(KB)とした場合、a×e(KB)により算出することができる。決定部105は、このようにコア音声記憶領域の大きさを決定する。
ステップS202の処理が完了すると、次いで、書込部102は決定した大きさ分のコア音声記憶領域を確保する(ステップS203)。より詳しくは、書込部102は、決定した大きさを有し、上述したs秒毎に複数のブロックに分割されたコア音声記憶領域を確保する。この結果、a×e(KB)の大きさを有するコア音声記憶領域Yが確保される。
ステップS203の処理が完了すると、書込部102は、マイク100Hから得られる音声に基づいて、コア音声記憶領域にs秒間分の音声データを書き込む(ステップS204)。この結果、図11(a)に示すように、メモリアドレス1のコア音声記憶領域に5秒間分の音声データが時刻及び識別情報とともに書き込まれる。
コア音声記憶領域にs秒分の音声データが書き込まれる度に、送信部104はコア音声記憶領域に書き込まれた音声データを取得して、サーバ装置200に送信する(ステップS205)。ここで、第1受付部101は解除指示を受け付けたか否かを判断する(ステップS206)。解除指示を受け付けていない場合(ステップS206:NO)、書込部102は、決定した大きさ分の音声データがコア音声記憶領域に書き込まれているか否かを判断する(ステップS207)。書込部102は決定した大きさ分の音声データがコア音声記憶領域に書き込まれていないと判断した場合(ステップS207:NO)、ステップS204乃至S207の処理を繰り返す。これにより、コア音声記憶領域にs秒分の音声データが順次書き込まれ、書込みが完了する度に音声データが順次サーバ装置200に送信される。
例えば重要ボタンが押下されてから10秒間分のコア音声がコア音声記憶領域に書き込まれる場合には、図11(b)に示すように、メモリアドレス1のコア音声記憶領域に最初の5秒間分の音声データが書き込まれて送信される。次いで、メモリアドレス2のコア音声記憶領域に次の5秒間分の音声データが書き込まれて送信される。
例えば重要ボタンが押下されてから25秒間分のコア音声がコア音声記憶領域に書き込まれる場合には、図11(c)に示すように、メモリアドレス「1」のコア音声記憶領域に最初の5秒間分の音声データが書き込まれて送信される。以降、同様の処理が行われ、メモリアドレス「e」のコア音声記憶領域に最後の5秒間分の音声データが書き込まれて送信される。
一方、メモリアドレス「3」のコア音声記憶領域に書き込まれた音声データは、その音声データの元となる音の音量が閾値以下であるため、送信対象から除外される。尚、図11(a)乃至図11(c)は、いずれもs秒毎に複数のブロックに分割されたe個間分のコア音声記憶領域を示しているが、図11(a)ではメモリアドレス「2」以降のコア音声記憶領域が省略されている。同様に、図11(b)ではメモリアドレス「3」以降のコア音声記憶領域が省略されている。
ステップS206の処理において、解除指示を受け付けていない場合であって、書込部102が、決定した大きさ分の音声データが第1記憶部103に書き込まれていると判断した場合(ステップS207:YES)、書込部102は、コア音声記憶領域にs秒分の音声データを上書きして書き込む(ステップS208)。これにより、例えば、図11(d)に示すように、書込開始時刻「00:03:25」の音声データはメモリアドレス「1」のコア音声記憶領域に上書きして書き込まれる。同様に、書込開始時刻「00:03:30」の音声データの音声データはメモリアドレス「2」のコア音声記憶領域に上書きして書き込まれる。
書込部102が、コア音声記憶領域にs秒分の音声データを上書きして書き込むと、送信部104はコア音声記憶領域に書き込まれた音声データを取得して、サーバ装置200に送信する(ステップS209)。書込部102及び送信部104は、解除指示を受け付けるまでステップS206乃至S209の処理を繰り返す。これにより、コア音声記憶領域には音声データが周期的に書き込まれて送信される。
一方、ステップS206の処理において、第1受付部101が解除指示を受け付けたと判断した場合(ステップS206:YES)、送信部104は音声データの送信が継続されているか否かを判断する(ステップS210)。解除指示を受け付けたと判断した際のコア音声記憶領域の状態は、図11(a)〜(d)のいずれでもよい。ここで、送信部104が音声データの送信が継続されていないと判断した場合(ステップS210:NO)、すなわち、送信が完了している場合、書込部102はコア音声記憶領域を開放する(ステップS211)。ステップS211が完了すると、フェーズ2の処理が終了する。一方、送信部104が音声データの送信が継続されていると判断した場合(ステップS210:YES)、すなわち、送信が完了していない場合、書込部102はコア音声記憶領域を開放せずに、フェーズ2の処理が終了する。フェーズ2の処理が終了すると、フェーズ3が開始される。
次に、図12を参照して、情報処理端末100のフェーズ3の動作について説明する。
図12は、情報処理端末100のフェーズ3の動作の一例を示すフローチャートである。フェーズ3では、図12に示すように、まず、書込部102がコア音声記憶領域への書込みを停止する(ステップS301)。次いで、書込部102は、m分間分のプレ音声記憶領域を新たに確保する(ステップS302)。より詳しくは、書込部102は、上述したs秒毎に複数のブロックに分割されたm分間分のプレ音声記憶領域を新たに確保する。ステップS302の処理が完了すると、書込部102は、マイク100Hから得られる音声に基づいて、新たなプレ音声記憶領域にs秒間分の音声データを書き込む(ステップS303)。新たなプレ音声記憶領域にs秒分の音声データが書き込まれる度に、送信部104は新たなプレ音声記憶領域に書き込まれた音声データを取得して、サーバ装置200に送信する(ステップS304)。
ここで、第1受付部101は録音終了指示を受け付けたか否かを判断する(ステップS305)。第1受付部101が録音終了指示を受け付けていない場合(ステップS305:NO)、書込部102はm分間分の音声データが新たなプレ音声記憶領域に書き込まれているか否かを判断する(ステップS306)。書込部102はm分間分の音声データが新たなプレ音声記憶領域に書き込まれていないと判断した場合(ステップS306:NO)、ステップS303乃至S306の処理を繰り返す。これにより、新たなプレ音声記憶領域にs秒分の音声データが順次書き込まれ、書込みが完了する度に音声データが順次サーバ装置200に送信される。
一方、第1受付部101が録音終了指示を受け付けていない場合であって、m分間分の音声データが新たなプレ音声記憶領域に書き込まれていると書込部102が判断した場合(ステップS306:YES)、書込部102は、新たなプレ音声記憶領域にs秒分の音声データを上書きして書き込む(ステップS307)。書込部102が、新たなプレ音声記憶領域にs秒分の音声データを上書きして書き込むと、送信部104は新たなプレ音声記憶領域に書き込まれた音声データを取得して、サーバ装置200に送信する(ステップS308)。書込部102及び送信部104は、録音終了指示を受け付けるまでステップS305乃至S308の処理を繰り返す。これにより、新たなプレ音声記憶領域には音声データが周期的に書き込まれて送信される。
一方、ステップS305の処理において、第1受付部101が録音終了指示を受け付けたと判断した場合(ステップS305:YES)、書込部102は新たなプレ音声記憶領域を開放する(ステップS309)。すなわち、書込部102は、送信の完了を待たずに即時に新たなプレ音声記憶領域を開放する。ステップS309の処理が完了すると、フェーズ3の処理が終了する。フェーズ3の処理が終了すると、フェーズ4が開始される。
次に、図13を参照して、情報処理端末100のフェーズ4の動作について説明する。
図13は、情報処理端末100のフェーズ4の動作の一例を示すフローチャートである。フェーズ4では、図13に示すように、まず、送信部104は音声データの送信が継続されているか否かを判断する(ステップS401)。ここで、送信部104が音声データの送信が継続されていると判断した場合(ステップS401:YES)、すなわち、送信が完了していない場合、待機を続ける。
一方、送信部104が音声データの送信が継続されていないと判断した場合(ステップS401:NO)、すなわち、送信が完了している場合、書込部102はプレ音声記憶領域を開放し(ステップS402)、コア音声記憶領域を開放する(ステップS403)。ステップS403の処理が完了すると、第1受付部101はボイスレコーダアプリを終了し(ステップS404)、フェーズ4の処理が終了する。フェーズ4の処理が終了すると、情報処理端末100の動作が終了する。
次に、図14乃至図16を参照して、サーバ装置200の動作について説明する。
図14は、サーバ装置200の動作の一例を示すフローチャートである。図15は、並び替え前の音声データの一例である。図16は、保存対象の音声データの一例である。図14に示すように、まず、第2受付部201は、情報処理端末100から送信される音声データを受け付ける(ステップS501)。第2受付部201が音声データを受け付けると、保存部202は、受信した音声データを第3記憶部203に保存する(ステップS502)。
この結果、図15に示すように、識別情報「0」が付与されたプレ音声の音声データと識別情報「1」が付与されたコア音声の音声データが第3記憶部203に順不同に保存される。このように、音声データが順不同に保存されるのは、通信環境の変化などによって必ずしも情報処理端末100から送信された順序で第2受付部201が音声データを受信しないためである。
ここで、第2受付部201は所定時間にわたって音声データを受信していないか否かを判断する(ステップS503)。第2受付部201が所定時間内に音声データを受信した場合には(ステップS503:NO)、ステップS502及びS503の処理を繰り返す。これにより、第3記憶部203には受信した音声データが保存される。
一方、第2受付部201が所定時間にわたって音声データを受信しなかった場合には(ステップS503:YES)、保存部202は、書込開始時刻が最も古いコア音声の音声データから直近m分間分のプレ音声の音声データを保持し、残りのプレ音声の音声データを消去する(ステップS504)。具体的に説明すると、更新周期mとして2分間が設定されている場合には、書込開始時刻が最も古い時刻「00:02:55」のコア音声の音声データから直近2分間分のプレ音声の音声データ、すなわち、時刻「00:00:55」から「00:02:50」までの音声データが保持される。一方で、時刻「00:00:00」から「00:00:50」までのプレ音声の音声データは消去される。このため、図15に示すように、時刻「00:00:00」や時刻「00:00:05」などのプレ音声の音声データは消去される。
保存部202は、ステップS504の処理が完了すると、次いで、書込開始時刻が最も新しいコア音声の音声データ以降のプレ音声の音声データを消去する(ステップS505)。具体的に説明すると、書込開始時刻が最も新しい時刻「00:03:30」のコア音声の音声データ以降のプレ音声の音声データ、すなわち、時刻「00:03:35」以降のプレ音声の音声データは消去される。このため、図15に示すように、時刻「00:03:35」や時刻「00:03:40」のプレ音声の音声データは消去される。
保存部202は、ステップS505の処理が完了すると、次いで、音声データを時系列に並び替え(ステップS506)、音声データに不足があるか否かを判断する(ステップS507)。既に説明したように、情報処理端末100は、音声データの一部を送信の対象から除外している。このため、音声データが不足している場合がある。保存部202は、書込開始時刻を確認し、書込開始時刻がs秒(例えば5秒)毎の間隔になっていないと判断した場合、音声データに不足があると判断する(ステップS507:YES)。例えば、書込開始時刻が「00:03:05」であるコア音声の音声データは送信対象から除外されているため(図11(c)参照)、音声データが並び替えられると、書込開始時刻が「00:03:05」であるコア音声の音声データが不足していると判断できる。
保存部202は音声データに不足があると判断すると、予め用意された無音データにより当該不足を補完する(ステップS508)。具体的には、図16に示すように、該当する不足部分に無音の音声データを挿入する。これにより、図16に示すように、時系列に並び替えられた、m分間分のプレ音声の音声データとコア音声の音声データが第3記憶部203に保存される。したがって、情報処理端末100はサーバ装置200にアクセスして、第3記憶部203から音声データを取得すれば、重要ボタンが押下されてから解除ボタンが押下される前までのコア音声と、その直近m分間分のプレ音声とを再生することができる。
以上、説明したように、第1実施形態によれば、情報処理端末100は、録音開始指示を受け付けた場合に、音声データを揮発性の第1記憶部103のプレ音声記憶領域に書込み、書き込まれた音声データをサーバ装置200に送信し、音声データをサーバ装置200に送信する送信速度を測定する。そして、情報処理端末100は、重要指示を受け付けた場合に、音声データの書込速度と送信速度に基づいて、第1記憶部103のコア音声記憶領域の大きさを決定し、決定した大きさでコア音声記憶領域を確保し、音声データをコア音声記憶領域に書き込む。最後に、情報処理端末100は、コア音声記憶領域に書き込まれた音声データをサーバ装置200に送信する。書込速度と送信速度に基づいて、コア音声記憶領域の大きさが動的に決定されるため、第1記憶部103上に確保するコア音声記憶領域の大きさを小さくすることができる。したがって、揮発性の第1記憶部103の容量が小さくても、長時間の音声データを保存することが可能となる。
また、第1実施形態では、録音開始ボタン押下後に、プレ音声記憶領域に書き込まれた音声データの送信を先に開始しておき、重要ボタン押下後に、コア音声記憶領域に書き込まれた音声データの送信を開始している。例えば、プレ音声記憶領域とコア音声記憶領域のそれぞれに書き込まれた音声データを重要ボタン押下後にまとめてサーバ装置200に送信した場合、ネットワーク使用量が増加し、全音声データの送信完了が遅れてしまうおそれがある。全音声データの送信が完了しないと、サーバ装置200側で音声データを再構築することができなくなる可能性が生じるが、第1実施形態では、このような可能性が消失する。
さらに、第1実施形態では、重要ボタン押下後に、プレ音声記憶領域とは別にコア音声記憶領域を新たに確保する。そして、確保したコア音声記憶領域に音声データを書き込むので、プレ音声記憶領域に音声データを書き込むデータサイクルを停止することができる。プレ音声記憶領域内の音声データが確定するので、例え通信品質が優れていない環境で重要ボタンが押下されても、重要ボタン押下前m分間の音声データをサーバ装置200に保存することができる。例えば、プレ音声記憶領域とコア音声記憶領域が分けられておらず、1つの記憶領域に音声データを書き込む場合、書込速度より送信速度の方が遅ければ、重要ボタン押下後に、コア音声の音声データがプレ音声の音声データを上書きしてしまうおそれが発生する。すなわち、重要ボタン押下前の音声データをサーバ装置200に保存できなくなるおそれがあるが、第1実施形態では、プレ音声記憶領域とは別にコア音声記憶領域を新たに確保されるため、このようなおそれが消失する。
(第2実施形態)
続いて、本件の第2実施形態について説明する。
上述した第1実施形態は、一例として音声データを利用した実施形態について説明したが、情報処理端末100はカメラ100Iを含んでいるため、動画データについても第1実施形態で説明した手法と同様の手法により対応することができる。この場合、第1実施形態で説明した音声を基本的に動画に変更すればよい。これにより、サーバ装置200には保存対象のデータとして動画データが保存され、情報処理端末100はサーバ装置200の第3記憶部203から動画データを取得して再生することができる。例えば、サッカーのゴールの場面や野球のホームランの場面といった、スポーツにおける重要な場面を動画データとして保存することができる。
また、第1実施形態では、音量が閾値以下である音声の音声データを送信対象から除外したが、第2実施形態では、例えば動画の明るさが閾値以下であるときに、動画データを送信の対象から除外すればよい。そして、サーバ装置200は、書込完了時刻に基づいて動画データに不足があると判断した場合、明るさが閾値以下の動画の動画データ(例えば真っ暗な動画データ)により不足を補完すればよい。
以上、本発明の好ましい実施形態について詳述したが、本発明に係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。例えば、第1実施形態と第2実施形態とを組み合わせてもよい。この場合、プレ音声記憶領域、コア音声記憶領域、プレ動画記憶領域、コア動画記憶領域の4つの記憶領域を確保し、音声データと動画データをそれぞれ対応する記憶領域に書き込むようにしてもよい。
また、例えば、上述した第1実施形態及び第2実施形態では、データ保存システムSに携帯基地局BSを利用したが、携帯基地局BSに代えてアクセスポイントを設置し、情報処理端末100とアクセスポイントが無線(例えば電波)により通信されるようにしてもよい。
さらに、上述した情報処理端末100が有する各機能をノート型のPersonal Computer(PC)に含めるとともに、当該PCにマイクやビデオカメラを接続し、マイクから得ている音声又はビデオカメラで撮影している動画を音声データ又は動画データとしてサーバ装置200に保存するようにしてもよい。
なお、以上の説明に関して更に以下の付記を開示する。
(付記1)第1の指示を受け付けた場合に、保存対象のデータを揮発性の記憶部の第1の領域に書き込み、前記第1の領域に書き込まれた前記データを、前記データを保存するサーバ装置に送信し、前記データを前記サーバ装置に送信する第1の速度を測定し、第2の指示を受け付けた場合に、前記データを前記第1の領域に書き込む第2の速度と前記第1の速度に基づいて、前記記憶部の第2の領域の大きさを決定し、決定した大きさで該第2の領域を確保し、前記データを前記第2の領域に書き込み、前記第2の領域に書き込まれた前記データを前記サーバ装置に送信する、処理をコンピュータに実行させるデータ保存プログラム。
(付記2)前記保存対象は、マイクから得ている音、及びカメラで撮影している動画の少なくとも一方である付記1に記載のデータ保存プログラム。
(付記3)前記送信する処理は、前記保存対象がマイクから得ている音であり、前記音の音量が閾値以下であるときに、前記音のデータを送信の対象から除外する付記1又は2に記載のデータ保存プログラム。
(付記4)前記送信する処理は、前記保存対象がカメラで撮影している動画であり、前記動画の明るさが閾値以下であるときに、前記動画のデータを送信の対象から除外する付記1から3のいずれか1項に記載のデータ保存プログラム。
(付記5)前記第2の指示を受け付けた場合に前記第1の領域を開放し、第3の指示を受け付けた場合に前記第2の領域を開放する、処理をさらにコンピュータに実行させる付記1から4のいずれか1項に記載のデータ保存プログラム。
(付記6)第1の指示を受け付けた場合に、保存対象のデータを揮発性の記憶部の第1の領域に書き込み、前記第1の領域に書き込まれた前記データを、前記データを保存するサーバ装置に送信し、前記データを前記サーバ装置に送信する第1の速度を測定し、第2の指示を受け付けた場合に、前記データを前記第1の領域に書き込む第2の速度と前記第1の速度に基づいて、前記記憶部の第2の領域の大きさを決定し、決定した大きさで該第2の領域を確保し、前記データを前記第2の領域に書き込み、前記第2の領域に書き込まれた前記データを前記サーバ装置に送信する、処理をコンピュータが実行するデータ保存方法。
(付記7)第1の指示と第2の指示とを受け付ける受付部と、前記受付部が前記第1の指示を受け付けた場合に、保存対象のデータを揮発性の記憶部の第1の領域に書き込み、前記受付部が前記第2の指示を受け付けた場合に、前記データを前記記憶部の第2の領域に書き込む書込部と、前記第1の領域及び前記第2の領域に書き込まれた前記データを、前記データを保存するサーバ装置に送信する送信部と、前記データを前記サーバ装置に送信する第1の速度を測定し、前記データを前記第1の領域に書き込む第2の速度と前記第1の速度に基づいて、前記第2の領域の大きさを決定する決定部と、を有し、前記書込部は、前記決定部が決定した大きさで前記第2の領域を確保する情報処理端末。
(付記8)前記保存対象は、マイクから得ている音、及びカメラで撮影している動画の少なくとも一方である付記7に記載の情報処理端末。
(付記9)前記送信部は、前記保存対象がマイクから得ている音であり、前記音の音量が閾値以下であるときに、前記音のデータを送信の対象から除外する付記7又は8に記載の情報処理端末。
(付記10)前記送信部は、前記保存対象がカメラで撮影している動画であり、前記動画の明るさが閾値以下であるときに、前記動画のデータを送信の対象から除外する付記7から9のいずれか1項に記載の情報処理端末。
(付記11)前記書込部は、前記第2の指示を受け付けた場合に前記第1の領域を開放し、第3の指示を受け付けた場合に前記第2の領域を開放する付記7から10のいずれか1項に記載の情報処理端末。
(付記12)情報処理端末と前記情報処理端末から送信される保存対象のデータを保存するサーバ装置を備えるデータ保存システムであって、前記情報処理端末が、第1の指示と第2の指示とを受け付ける受付部と、前記受付部が前記第1の指示を受け付けた場合に、前記データを揮発性の記憶部の第1の領域に書き込み、前記受付部が前記第2の指示を受け付けた場合に、前記データを前記記憶部の第2の領域に書き込む書込部と、前記第1の領域及び前記第2の領域に書き込まれた前記データを前記サーバ装置に送信する送信部と、前記データを前記サーバ装置に送信する第1の速度を測定し、前記データを前記第1の領域に書き込む第2の速度と前記第1の速度に基づいて、前記第2の領域の大きさを決定する決定部と、を有し、前記書込部は、前記決定部が決定した大きさで前記第2の領域を確保するデータ保存システム。