(57)【要約】【課題】  記憶デバイスの空き領域を有効利用しつつ高ビットレートのデータの書き込みを支障なく行う。【解決手段】  少なくとも一つのアプリを実行する実行手段（６）、アプリの実行を中断して他の処理を実行するように指示することが可能な指示手段（６）、アプリの実行に伴い発生するデータの単位時間あたりのデータ量の大きさを検出する検出手段（６）、記憶デバイス（１４）の空き領域を書き込み速度に応じて複数に領域分けする領域分け手段（６）、前記データ量の大きさに対応した領域が前記複数の領域の中に存在するか否かを判定する判定手段（６）を備え、領域の存在が判定された場合に当該領域を選択する一方、領域の存在が判定されなかった場合に当該領域よりも書き込み速度が遅い領域を選択し、書き込み速度が遅い領域が選択された場合に指示手段から実行手段への指示出力を禁止し、選択された領域に前記データを書き込む。【選択図】  図１
2012015933.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも一つのアプリケーションを実行する実行手段と、
前記実行手段に対し、前記アプリケーションの実行を中断して他の処理を実行するように指示することが可能な指示手段と、
前記アプリケーションの実行に伴い発生するデータの単位時間あたりのデータ量の大きさを検出する検出手段と、
記憶デバイスの空き領域を、書き込み速度に応じて複数に領域分けする領域分け手段と、
前記検出手段によって検出された単位時間あたりのデータ量の大きさに対応した領域が、前記領域分け手段によって区分された複数の領域の中に存在するか否かを判定する判定手段と、
前記判定手段によって領域の存在が判定された場合に当該領域を選択する一方、領域の存在が判定されなかった場合に当該領域よりも書き込み速度が遅い領域を選択する選択手段と、
前記選択手段によって書き込み速度が遅い領域が選択された場合に前記指示手段から前記実行手段への指示出力を禁止する禁止手段と、
前記選択手段によって選択された領域に前記データを書き込む記憶制御手段と
を備えたことを特徴とする電子機器。
【請求項２】
前記禁止手段は、前記選択手段によって書き込み速度が遅い領域が選択された場合に前記指示手段から前記実行手段への指示出力を禁止することに加え、さらに、ユーザに対して所定の通知を行うことを特徴とする請求項１に記載の電子機器。
【請求項３】
前記禁止手段は、前記選択手段によって書き込み速度が遅い領域が選択された場合に、ユーザに対して所定の通知を行うとともに、当該ユーザの了解操作に応答して、前記指示手段から前記実行手段への指示出力を禁止することを特徴とする請求項１に記載の電子機器。
【請求項４】
前記記憶制御手段は、前記禁止手段によって前記指示手段から前記実行手段への指示出力が禁止されているときに、前記他の処理を実行するためのリソースを前記データの書き込みに利用することを特徴とする請求項１に記載の電子機器。
【請求項５】
前記リソースは、前記実行手段の処理能力またはメモリであることを特徴とする請求項４に記載の電子機器。
【請求項６】
前記アプリケーションは、被写体像を撮像する撮像手段を用いて行われる連写または動画の撮影と記録に関する処理を実行するものであることを特徴とする請求項１に記載の電子機器。
【請求項７】
前記アプリケーションは、電波によって通信を行う通信手段を用いて行われる通信に関する処理を実行するものであることを特徴とする請求項１に記載の電子機器。
【請求項８】
前記アプリケーションは、放送信号を受信する放送受信手段を用いて行われる予約録画に関する処理を実行するものであることを特徴とする請求項１に記載の電子機器。
【請求項９】
電子機器のコンピュータを、
少なくとも一つのアプリケーションを実行する実行手段、
前記実行手段に対し、前記アプリケーションの実行を中断して他の処理を実行するように指示することが可能な指示手段、
前記アプリケーションの実行に伴い発生するデータの単位時間あたりのデータ量の大きさを検出する検出手段、
記憶デバイスの空き領域を、書き込み速度に応じて複数に領域分けする領域分け手段、
前記検出手段によって検出された単位時間あたりのデータ量の大きさに対応した領域が、前記領域分け手段によって区分された複数の領域の中に存在するか否かを判定する判定手段、
前記判定手段によって領域の存在が判定された場合に当該領域を選択する一方、領域の存在が判定されなかった場合に当該領域よりも書き込み速度が遅い領域を選択する選択手段、
前記選択手段によって書き込み速度が遅い領域が選択された場合に前記指示手段から前記実行手段への指示出力を禁止する禁止手段、
前記選択手段によって選択された領域に前記データを書き込む記憶制御手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子機器およびプログラムに関し、詳細には、高画質の動画ファイルのように、高いビットレートで時系列的に生成されるデータを支障なく記録することができる電子機器およびプログラムに関する。
【背景技術】
【０００２】
近年、デジタルスチルカメラやデジタルビデオカメラ等のデジタル方式の撮像装置（以下、単に「撮像装置」という）が普及している。この種の撮像装置では、ＣＣＤなどの撮像デバイスを用いて生成した被写体の画像を静止画ファイルや動画ファイルに変換してハードディスクやフラッシュメモリなどの不揮発性の記憶デバイスに記録保存することができる。
【０００３】
ここで、“ファイル”とは、汎用オペレーティングシステム（ＯＳ）におけるデータの管理単位のことをいい、そのファイル管理の仕組みのことをＦＡＴ（ファイルアロケーションテーブル）方式という。
【０００４】
ＦＡＴ方式では、記憶デバイスの記憶領域全体を小さな区画（クラスタと呼ばれる）に細分化し、このクラスタ単位でデータを小分けにして記憶する。データが書き込まれているクラスタを「使用済みクラスタ」、データが書き込まれていないクラスタを「未使用クラスタ」という。
【０００５】
ＦＡＴ方式では、これらの「使用済みクラスタ」と「未使用クラスタ」を “ファイルアロケーションテーブル”と呼ばれるデータテーブルで管理する。ファイルを記憶する場合は、テーブルから必要な数の「未使用クラスタ」を指定してそのクラスタにファイルのデータを記憶するとともに、それらのクラスタを「使用済みクラスタ」に変更する。また、ファイルを削除する場合は、そのファイルに割り当てられていたクラスタを「未使用クラスタ」に変更する。
【０００６】
ＦＡＴ方式の欠点は、ファイルの削除と書き込みを繰り返して行くうちに、クラスタの断片化（フラグメンテーション）が進むことにある。断片化とは「未使用クラスタ」の間に「使用済みクラスタ」が入り込むことをいい、断片化の発生度合いのことを断片化率という。断片化率が高くなるとファイルの書き込みに時間が掛かるようになり、とりわけ、高画質の動画ファイルのように、高いビットレートで時系列的に生成されるデータを書き込む際に、書き込みが追いつかないという不都合を来す恐れが出てくる。
【０００７】
断片化に伴う不都合の原因は二つある。第一は、ハードディスクのように磁気ヘッドを有する記憶デバイスに特有の原因であり、一つのファイルで使用しているクラスタが不連続になるとヘッドの移動に時間が掛かることに起因する。また、第二は、フラッシュメモリのように一定の書き換え上限数が定められている記憶デバイスに特有の原因であり、各記憶セルの書き換え回数を平準化するためのデータ移動操作、つまり特定の領域に書き込みが集中しないように他の領域にデータを移動する操作が行われることに起因する。
【０００８】
ＦＡＴ方式の記憶デバイスは断片化を避けることができない。このため、記憶デバイスの書き込み／読み出し速度の一層の向上化が図られてきたところであるが、その一方で、ハイビジョン画質の動画データ生成など、生成側におけるデータの高ビットレート化も進みつつあることから、断片化に伴う不都合（書き込みが追いつかない）の回避策はいまだ完全なものに至ってはいない。
【０００９】
動画データのように時系列的に生成されるデータを取りこぼしなく記憶するために、いわゆる「バッファ」と呼ばれる緩衝メモリを記憶デバイスの前段に入れることが常套的に行われている。このバッファは、ＤＲＡＭ等の高速メモリで構成されており、ハードディスクやフラッシュメモリ等の記憶デバイスに比べて遙かに高速にデータを書き込む（一時保存する）ことができるので、データの生成速度と記憶デバイスの書き込み速度との差を埋める（バッファリングする）ことができ、とりわけ、断片化に伴う不都合を確実に回避することができる。
【００１０】
しかしながら、バッファの容量には上限があることから、データの生成時間が長くなると、いつかはバッファからデータが溢れることとなり、この場合、溢れたデータを記憶デバイスに書き込めない。バッファの容量を増やせばこの欠点を解消できるが、コストの増加を招くので好ましくない。
【００１１】
そこで、必要十分な量のバッファを備えつつも、一方で、記憶デバイスの断片化に伴う影響を抑制するための技術が模索されており、そのような技術の一例として、下記の特許文献１、２参照には、記憶デバイスの空き領域を、断片化率が低い領域と高い領域とに分け、前者をデータの高速書き込みが可能な領域（以下、高速領域という）とする一方、後者をデータの低速書き込みが可能な領域（以下、低速領域という）とし、動画データ等の高ビットレートのデータを記録する場合は「高速領域」を使用し、それ以外の低速データ（静止画データ等）を記録する場合は「低速領域」を使用するようにした技術（以下、従来技術という）が記載されている。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開２０００−２６７９０４号公報
【特許文献２】特開２００７−０４９６３９号公報
【発明の概要】
【発明が解決しようとする課題】
【００１３】
しかしながら、従来技術にあっては、記憶デバイスの空き領域を有効利用するという点では未だ不十分であり、改善の余地がある。
【００１４】
このことについて詳しく説明する。
まず、従来技術の要点は、
（１）記憶デバイスの空き領域を断片化率が低い領域（高速領域）と高い領域（低速領域）とに分け、
（２）動画データ等の高ビットレートのデータを「高速領域」に記憶し、それ以外の低速データ（静止画データ等）を「低速領域」に記憶する、というものであり、
要するに、上記（２）に示されているように、断片化率が低い「高速領域」を高ビットレートのデータの“専用記録領域”としている点に特徴がある。
【００１５】
さて、冒頭で説明したとおり、ＦＡＴ方式の欠点は、ファイルの削除と書き込みを繰り返して行くうちに、クラスタの断片化が進むことにあるので、高ビットレートのデータの専用記録領域である「高速領域」は、断片化率の高まりに伴い徐々にその領域サイズを減らしていくことになる。そして、「高速領域」の残りがなくなった時点で、それ以上、高ビットレートのデータの記憶ができなくなってしまう。
【００１６】
しかし、当該時点（高速領域の残りがなくなった時点）においても実際の空き領域はまだ「低速領域」として残っているのであるから、つまり、物理的な空き領域が十分残っているのであるから、この従来技術は、記憶デバイスの空き領域を有効利用していないということができる。
【００１７】
そこで、本発明の目的は、記憶デバイスの空き領域を有効利用しつつ、高ビットレートのデータの書き込みを支障なく行うことができる電子機器およびプログラムを提供することにある。
【課題を解決するための手段】
【００１８】
本発明の電子機器は、少なくとも一つのアプリケーションを実行する実行手段と、前記実行手段に対し、前記アプリケーションの実行を中断して他の処理を実行するように指示することが可能な指示手段と、前記アプリケーションの実行に伴い発生するデータの単位時間あたりのデータ量の大きさを検出する検出手段と、記憶デバイスの空き領域を、書き込み速度に応じて複数に領域分けする領域分け手段と、前記検出手段によって検出された単位時間あたりのデータ量の大きさに対応した領域が、前記領域分け手段によって区分された複数の領域の中に存在するか否かを判定する判定手段と、前記判定手段によって領域の存在が判定された場合に当該領域を選択する一方、領域の存在が判定されなかった場合に当該領域よりも書き込み速度が遅い領域を選択する選択手段と、前記選択手段によって書き込み速度が遅い領域が選択された場合に前記指示手段から前記実行手段への指示出力を禁止する禁止手段と、前記選択手段によって選択された領域に前記データを書き込む記憶制御手段とを備えたことを特徴とする。
【発明の効果】
【００１９】
本発明によれば、記憶デバイスの空き領域を有効利用しつつ、高ビットレートのデータの書き込みを支障なく行うことができる。
【図面の簡単な説明】
【００２０】
【図１】携帯電話機の構成図である。
【図２】メモリ１４の記憶領域区分を示す図である。
【図３】メモリ１４の既定の使い方を示す概念図である。
【図４】第１のポイントを示す概念図である。
【図５】第２のポイントを示す概念図である。
【図６】放送受信時やインターネット等からのデータダウンロード時の処理フローを示す図（１／３）である。
【図７】放送受信時やインターネット等からのデータダウンロード時の処理フローを示す図（２／３）である。
【図８】放送受信時やインターネット等からのデータダウンロード時の処理フローを示す図（３／３）である。
【図９】割り込みイベントの概念図である。
【図１０】図８のフローを一部変形した図である。
【図１１】連写や動画撮影時の処理フローを示す図（１／３）である。
【図１２】連写や動画撮影時の処理フローを示す図（２／３）である。
【図１３】連写や動画撮影時の処理フローを示す図（３／３）である。
【発明を実施するための形態】
【００２１】
本発明の実施形態を、携帯電話機を例にして、図面を参照しながら説明する。なお、この携帯電話機は、静止画や連写並びに動画を撮影可能なカメラ機能が搭載されているとともに、さらに、インターネット等のネットワーク端末としても利用できる機能を有しており、加えて、ワンセグ放送等のテレビ放送受信機能を備えている多機能型のものである。
【００２２】
図１は、携帯電話機の構成図である。携帯電話機１は、被写体像を二次元的な画像信号に変換して出力するＣＣＤやＣＭＯＳ等の撮像デバイスからなる撮像部２と、この撮像部２から出力される画像信号を信号処理する画像処理部３と、画像処理部３から出力される画像信号を一時的に保持するフレームメモリ４とを含む撮像系５を有し、この撮像系５は、中央制御部６からの制御により、撮影構図確認用のプレビュー画像を生成して中央制御部６に出力したり、または、ユーザによって指定された画質（ここでは便宜的に低画質、中画質、高画質の三種類とする）の静止画や連写画または動画のデータを生成して中央制御部６に出力したりする。なお、撮像部２は、撮影レンズやオートフォーカス機構および絞り機構などを備えるが、図面の輻輳を避けるために省略している。
【００２３】
携帯電話機１は、さらに、無線通信部７、音声処理部８、放送受信部９、操作部１０、タッチパネル１１付の表示部１２、メモリＩ／Ｆ（インターフェース）１３、メモリ１４、外部Ｉ／Ｆ１５および電源部１６を備える。
【００２４】
無線通信部７は、アンテナ７ａを介して最寄りの基地局（図示略）との間で無線によるアナログもしくはデジタルデータの送受信を行うものであり、このデータには、電話の着呼や発呼の情報および音声通話の情報が含まれるほか、インターネット上のコンテンツを利用（ダウンロード）する際などのコンテンツ情報、さらには電子メールの送受信情報などが含まれる。この無線通信部７は、以上の様々な情報の送信動作や受信動作を中央制御部６からの制御の元で行うが、通常は電話着呼の待ち受け状態にある。
【００２５】
音声処理部８は、中央制御部６からの制御により、マイク８ａからの音声信号をデジタルデータに変換して中央制御部６に出力したり、中央制御部６から出力されたデジタルの音声信号をアナログ信号に変換してスピーカ８ｂから出力したりできるものであり、これらのマイク８ａやスピーカ８ｂを電話の送受話器として使用するほか、必要に応じ、前記の撮像系５によって静止画や連写画または動画を撮影する際の音声録音にも用いられ、あるいは、撮影済みの音声付画像を再生する際の音声出力にも用いられる。
【００２６】
放送受信部９は、アンテナ９ａを介してワンセグ放送等の地上波テレビジョン信号を受信し、その受信信号を中央制御部６に出力することができるものであり、この放送受信部９は、中央制御部６からの制御により、テレビジョン放送の受信オン／オフや受信チャンネルの選択などを行うことができる。
【００２７】
操作部１０は、中央制御部６に対して所要のユーザ入力を行うための各種操作ボタン（電源スイッチやテンキーおよび機能キーなど）を備えたインターフェースであり、また、表示部１２は、好ましくは表示面にタッチパネル１１を併設した液晶ディスプレイ等の平面表示デバイスである。
【００２８】
メモリＩ／Ｆ１３は、たとえば、メモリ１４の規格（ＳＤカードやＵＳＢメモリ等）に対応した汎用インターフェースであり、中央制御部６とメモリ１４との間に位置して相互のデータのやりとりを仲介する。
【００２９】
メモリ１４は、冒頭で説明した記憶デバイス（ＦＡＴ方式で管理されるもの）に相当し、ここでは、フラッシュメモリとするが、これに限定されない。ＦＡＴ方式で管理されるものであればいかなるものであってもよい。たとえば、ハードディスクなどであってもよく、この場合、メモリ１４をハードディスクと読み替えるとともに、前記のメモリＩ／Ｆ１３をディスクＩ／Ｆと読み替えればよい。
【００３０】
外部Ｉ／Ｆ１５は、たとえば、パーソナルコンピュータ等の外部機器とのインターフェースであり、必要に応じてその外部機器と接続し、メモリ１４に記録されている画像ファイルなどを中央制御部６を経由して外部機器に出力したり、あるいは、外部機器から取り込んだ画像ファイルなどを、中央制御部６を経由してメモリ１４に保存したりするものである。
【００３１】
中央制御部６は、ＣＰＵ６ａ、ＲＯＭ６ｂおよびＲＡＭ６ｃならびに不図示の周辺回路を含むプログラム制御方式の制御要素である。この中央制御部６は、携帯電話機１の全体動作を統括制御するために、あらかじめＲＯＭ６ｂに格納されている制御プログラムをＲＡＭ６ｃにロードしてＣＰＵ６ａで実行する。
【００３２】
ＲＯＭ６ｂに格納されている制御プログラムは、汎用オペレーティングシステム（ＯＳ）と、その汎用オペレーティングシステム上で動作する各種応用プログラム（アプリケーションプログラムまたは単にアプリケーションともいう）とからなり、汎用オペレーティングシステム（ＯＳ）には、ファイルアロケーションテーブルに基づいてメモリ１４のファイル管理を行うＦＡＴ方式のファイル管理システムが含まれている。
【００３３】
また、ＣＰＵ６ａは不定期に発生する割り込みイベント（アプリケーションの実行を中断して他の処理を実行するように指示すること）を処理することができるようになっており、この割り込みイベントは、ハードウェア的なものとソフトウェア的なものの二種類ある。前者はいわゆるハードウェア割り込みと呼ばれているものであり、このハードウェア割り込みは、たとえば、ウォッチドックタイマ等のタイマ割り込みのように、あらかじめＣＰＵ６ａに用意されている専用の割り込み端子をアクティブにすることによって任意に発生する。一般的にこの種のハードウェア割り込みには高い優先度が与えられており、ＣＰＵ６ａで動作中の制御プログラム（アプリケーション）の処理を一時中断して該当する割り込み処理（他の処理）を実行し、この割り込み処理の完了後に元の処理に復帰するようになっている。
【００３４】
ソフトウェア的な割り込みイベント（ソフトウェア割り込みという）も同様であるが、優先度が低い点でハードウェア割り込みと相違する。このソフトウェア割り込みは、割り込みハンドラと呼ばれるレジスタ（ＲＡＭ６ｃの特定番地に設定されたもの）に所定値を書き込む（割り込みフラグを立てるともいう）ことによって発生する。ソフトウェア割り込みが発生した場合も、ＣＰＵ６ａで動作中の制御プログラム（アプリケーション）の処理を一時中断して該当する割り込み処理（他の処理）を実行し、この割り込み処理の完了後に元の処理に復帰する。
【００３５】
このように、本来の処理（アプリケーション）を一時中断して他の処理を行い、その後、元の処理に復帰することを総称して「割り込み」といい、その典型例は上記のハードウェア割り込みやソフトウェア割り込みであるが、同様な振る舞い（実行中のアプリケーションの一時中断と他の処理の実行およびその後の復帰）を行う処理ルーチンを、アプリケーションに組み込むことがしばしば行われる。たとえば、携帯電話機にあっては最寄りの基地局を探索するために定期的に電波を発射（定期的に電波オフモードから電波オンモードに遷移）しているが、当該携帯電話機で任意のアプリケーション（例：カメラ付の携帯電話機の場合に、そのカメラで被写体を撮影するためのアプリケーション）を実行中にこの遷移が発生したときには、一時的に本来の処理（この例では撮影処理用アプリケーション）を中断して最寄りの基地局の探索処理（他の処理に相当）を実行し、その後、元の処理（撮影処理用アプリケーション）に復帰するという具合である。このような分岐および復帰処理も上記のハードウェア割り込みやソフトウェア割り込みと同様に「本来の処理を一時中断して他の処理を行い、その後、元の処理に復帰する」ものであるから、本明細書中では「割り込みイベント」の概念に含めることにする。
【００３６】
ここで、実施形態の課題は、記憶デバイス（この実施形態ではメモリ１４）の空き領域を有効利用しつつ、高ビットレートのデータの書き込みを支障なく行うことにある。
【００３７】
ＦＡＴ方式で管理されるメモリ１４は、断片化に伴う書き込み速度の低下問題を否めないことから、バッファとして機能する所定容量の緩衝メモリ１３ａを備えることにより、ある程度の問題対策を講じているが、たとえば、長時間にわたる動画撮影を行った際に緩衝メモリ１３ａが満杯になってしまうと、それ以上、動画ファイルの保存ができなくなるという不都合がある。なお、この実施形態では緩衝メモリ１３ａをメモリＩ／Ｆ１３に実装しているが、これは一例に過ぎない。たとえば、中央制御部６に実装してもよく、あるいは中央制御部６とメモリＩ／Ｆ１３との間に実装したりしてもよい。
【００３８】
緩衝メモリ１３ａの溢れ対策としては、冒頭で説明した従来技術のように、メモリ１４の空き領域を断片化率が低い領域（高速領域）と高い領域（低速領域）とに分け、動画データ等の高ビットレートのデータを記録する場合は「高速領域」を使用し、それ以外の低速データ（静止画データ等）を記憶する場合は「低速領域」を使用することが有効であるものの、これらの対策（バッファおよび「高速領域」と「低速領域」の選択利用）だけでは、メモリ１４の空き領域を有効利用するという点で不十分である。
【００３９】
その理由は、高ビットレートのデータの専用記録領域である「高速領域」は、断片化率の高まりに伴い徐々に減っていき、そして、「高速領域」の残りがなくなった時点で、それ以上、高ビットレートのデータの記憶ができなくなってしまうが、当該時点においても実際の空き領域は「低速領域」として残っているからであり、空き領域（低速領域）を有効利用していないからである。
【００４０】
この対策として、高ビットレートのデータの書き込み先を専用領域（高速領域）から低速領域に変更することが考えられるが、この低速領域は書き込み速度が遅い領域であるから、単に書き込み先を変更しただけでは、高ビットレートのデータの書き込みが途中で失敗する恐れがある。
【００４１】
そこで、本実施形態の技術思想は、通常は高ビットレートのデータの書き込み先を専用領域（高速領域）にする一方で、高速領域を使用できない状態（高速領域が無い状態または高速領域の空きが十分でない状態）が発生した場合は、割り込みイベントを無効（禁止）にして、その割り込みイベントの処理に用いられるリソース（ＣＰＵ６ａの能力等）を高ビットレートのデータの書き込みに振り向けるようにし、これにより、高ビットレートのデータの書き込み先を専用領域（高速領域）から低速領域に変更した場合であっても、その低速領域への高ビットレートのデータの書き込みを支障無く行わせるようにし、以て、メモリ１４の空き領域（低速領域）の有効利用を図ることにある。なお、ＣＰＵ６ａの“能力”とはＣＰＵ６ａの処理能力のことである。一般的に処理能力はＣＰＵ６ａの使用率（０〜１００％）で表され、１００％に近づくほど余力が無くなる。
【００４２】
図２は、実施形態におけるメモリ１４の記憶領域区分を示す図である。この図では、三つの記憶領域（低速領域、中速領域、高速領域）に区分しているが、これは一例に過ぎない。各領域をメモリ１４の空き領域の断片化率に応じて区分すればよく、従来技術のような２区分（低速領域と高速領域）であってもよいし、または、４区分あるいはそれ以上の多区分であってもよい。
【００４３】
ここで、本実施形態における「低速領域」は断片化率が高い領域（書き込み時間が遅い領域）であり、「中速領域」は断片化率が中程度の領域（書き込み時間がやや遅い領域）であり、「高速領域」は断片化率が低い領域（書き込み時間が速い領域）である。
【００４４】
これら３区分の記憶領域（低速領域、中速領域、高速領域）は、メモリ１４に書き込むべきデータの単位時間あたりのデータ量（ビットレートまたはデータレート）に応じて選択的に使用する。既定の使い方（あらかじめ定められたデフォルトの使い方）は、低ビットレートのデータを低速領域に書き込み、中ビットレートのデータを中速領域に書き込み、高ビットレートのデータを高速領域に書き込むというものである。低／中／高のビットレート区分は、たとえば、２Ｍｂｐｓ（ビット／秒）までを低ビットレートとし、２Ｍｂｐｓより大きく且つ４Ｍｂｐｓ以下を中ビットレートとし、４Ｍｂｐｓより大きく且つ８Ｍｂｐｓ以下を高ビットレートとするが、これは一例に過ぎない。
【００４５】
上記の既定の使い方は冒頭で説明した従来技術と同じである。すなわち、高ビットレートのデータは従来技術の“高ビットレートのデータ”に対応し、そして、この高ビットレートのデータを「高速領域」に記憶する一方、高ビットレート以外のデータを他の領域（中速領域や低速領域）に記憶しているので、上記の既定の使い方と冒頭の従来技術とは原理的に変わりない。
【００４６】
本実施形態の特徴は、通常は、既定の使い方でデータの書き込みを行うが、つまり、高ビットレートのデータを「高速領域」に書き込み、中ビットレートのデータを「中速領域」に書き込み、低ビットレートのデータを「低速領域」に書き込み、という使い方をするが、既定の使い方で定められた書き込み領域がない場合は、下位の速度の書き込み領域を代替的に使用することを第１のポイントとする。ただし、この第１のポイントだけでは、緩衝バッファ１３ａの溢れ問題を解消できないため、データの書き込みが途中で失敗する恐れがある。
【００４７】
そこで、本実施形態では、この第１のポイントに加え、さらに、割り込みイベントを禁止するとともに、この割り込み処理に必要なリソース（ＣＰＵ６ａの能力等）をデータの書き込みに振り向けることを第２のポイントとする。
【００４８】
この第２のポイントを加えたことにより、たとえば、高ビットレートのデータを書き込むための既定の領域（高速領域）がない場合には、その高速領域よりも下位の速度の領域（この場合は中速領域）を代替領域に指定するとともに、同時に割り込みを禁止してその割り込み処理に必要なリソースを、高ビットレートのデータの書き込みに振り向けることができるので、たとえ、高ビットレートのデータを「中速領域」に書き込む場合であっても、緩衝メモリ１３ａの溢れ問題は生じないから、書き込みを支障なく行うことができ、メモリ１４の空き領域（この場合は中速領域）を有効利用することができるのである。
【００４９】
以下、本実施形態の第１のポイントおよび第２のポイントについて、その原理を説明する。
【００５０】
図３は、メモリ１４の既定の使い方を示す概念図である。この図に示すように、通常、高ビットレートのデータ（以下、高速データという）１７をメモリ１４に書き込む際は断片化率が低い領域（高速領域１４ａ）を使用する。また、中ビットレートのデータ（以下、中速データという）１８をメモリ１４に書き込む際は断片化率が中程度の領域（中速領域１４ｂ）を使用し、あるいは、低ビットレートのデータ（以下、低速データという）１９をメモリ１４に書き込む際は断片化率が高い領域（低速領域１４ｃ）を使用する。このような既定の使い方をすれば、たとえば、高速データ１７をメモリ１４に書き込んでいる間に緩衝バッファ１３ａが溢れることが無く、書き込み動作に支障を生じない。
【００５１】
図４は、第１のポイントを示す概念図である。この図に示すように、たとえば、高速データ１７を書き込むための既定の領域（高速領域）がメモリ１４にない場合、冒頭で説明した従来技術では、その時点でデータの書き込みをあきらめなければならなかったが、メモリ１４には他の空き領域（中速領域１４ｂや低速領域１４ｃ）が残っているのであるから、これらの空き領域を有効利用していないという欠点があった。この欠点を解消するために、たとえば、既定の領域（高速領域）の代わりに中速領域１４ｂを使用すること（第１のポイント）が考えられるが、単に高速データ１７を中速領域１４ｂに書き込むだけでは、緩衝バッファ１３ａに溢れを生じる恐れがあり、途中で書き込みが失敗してしまうという不都合がある。
【００５２】
図５は、第２のポイントを示す概念図である。この図に示すように、第２のポイントは、前記の第１のポイント（既定の使い方で定められた書き込み領域がない場合に下位の速度の書き込み領域を代替的に使用する）とともに、割り込みイベントを禁止するというものである。一般的に割り込みの要因は様々であるが、あらゆる割り込みは、その割り込みの処理実行時に相応のリソース（ハードウェア資源やソフトウェア資源）を必要とする。このリソースは典型的にはＣＰＵ６ａの能力である。
【００５３】
この第２のポイントは、要するに、前記の第１のポイントを行う際に割り込みイベントを禁止し、その割り込みの処理に必要なリソースをデータの書き込みに振り向けるというものであり、これによって、「既定の使い方で定められた書き込み領域がない場合に下位の速度の書き込み領域を代替的に使用する」（第１のポイント）際に、緩衝メモリ１３ａの溢れ問題の解消を図り、もって、代替領域への書き込みを支障なく実行して当該代替領域を有効利用しようとするものである。
【００５４】
なお、ここでは、高速データ１７の書き込みを例にしたが、これに限定されない。中速データ１８の書き込みも同様である。つまり、中速データ１８の既定の書き込み領域は「中速領域１４ｂ」であるが、メモリ１４に中速領域１４ｂがない場合には、それよりも下位の速度の「低速領域１４ｃ」を代替領域に使用する（第１のポイント）とともに、同時に割り込みイベントを禁止し、割り込み処理に必要なリソースを中速データ１８の書き込みに振り向ける（第２のポイント）ようにすればよい。同様に、緩衝メモリ１３ａの溢れ問題の解消を図り、もって、代替領域（低速領域）への書き込みを支障なく実行して当該代替領域を有効利用できる。
【００５５】
次に、前記の第１のポイントおよび第２のポイントを応用した具体例を実施形態として説明する。
＜第１の実施形態＞
図６〜図８は、放送受信時やインターネット等からのデータダウンロード時の処理フローを示す図である。この動作フローを開始すると最初に初期化処理（ステップＳ１）を実行する。この初期化処理では、まず、操作部１０の電源スイッチがオンになったか否かを判定し（ステップＳ１１）、オンであれば、次に所定の電源オン処理（一般的な初期化処理）を実行する（ステップＳ１２）。次いで、受信機能をオンにする（ステップＳ１３）。受信機能のオンとは、テレビジョン放送を受信する場合は放送受信部９を起動することをいい、あるいは、インターネット等からのデータダウンロードを行う場合は無線通信部７を起動することをいう。
【００５６】
受信機能をオンにすると、次に、記録領域管理情報（ファイルアロケーションテーブル）を読み込み（ステップＳ１４）、メモリ１４の現在の断片化状況を検出する（ステップＳ１５）とともに、その断片化状況に応じてメモリ１４の書き込み可能領域の速度判定と領域区分の処理を実行する（ステップＳ１６）。
【００５７】
ここで、ステップＳ１６における「メモリ１４の書き込み可能領域の速度判定と領域区分の処理」とは、メモリ１４の空き領域を、前出の図２に示す三つの領域（低速領域、中速領域、高速領域）に区分けすることをいい、具体的には、断片化率が高い領域を「低速領域」、断片化率が中程度の領域を「中速領域」、断片化率が低い領域を「高速領域」として区分けすることをいう。
【００５８】
上記の初期化処理（ステップＳ１）を完了すると、次に、ユーザ操作ありを判定し（ステップＳ１７）、ユーザ操作ありが判定された場合に、その操作内容が放送受信やダウンロードの開始操作であるか否かを判定する（ステップＳ１８）。そして、放送受信やダウンロードの開始操作でない場合は、そのユーザ操作が電源オフ操作であるか否かを判定し（ステップＳ１９）、電源オフ操作を判定した場合は、所定の電源オフ処理を実行（ステップＳ２０）した後、フローを終了し、一方、電源オフ操作を判定しなかった場合は、電源オフ操作以外のその他のアプリケーション操作に対応した処理を実行（ステップＳ２１）した後、再びステップＳ１７に復帰する。
【００５９】
ステップＳ１８の判定結果がＹＥＳの場合、すなわち、ステップＳ１７で検出されたユーザ操作が、放送受信やダウンロードの開始操作であると判定された場合は、次に、放送受信やダウンロードで得られたデータを緩衝メモリ１３ａに一時書き込みし（ステップＳ２２）、次いで、「既定の領域あり？または代替領域選択済み？」を判定する（ステップＳ２３）。
【００６０】
ここで、“既定の領域”とは、先に説明した図２に示されている「高速領域」、「中速領域」、「低速領域」のうち、緩衝メモリ１３ａに一時書き込みされているデータの単位時間あたりのデータ量（ビットレートまたはデータレート）に対応した領域のことをいう。つまり、高ビットレートのデータであれば「高速領域」、中ビットレートのデータであれば「中速領域」、低ビットレートのデータであれば「低速領域」のことをいう。また、“代替領域”とは、その既定の領域がない（または使用できない）場合に、代わりに用いられる領域のことをいい、たとえば、直近低速側の領域、すなわち、既定の領域が高速領域であれば中速領域、中速領域であれば低速領域のことをいう。この代替領域は、後述のステップＳ３２において選択される。なお、この実施形態では「代替領域＝直近低速側の領域」としているが、これに限定されない。既定の領域の代わりに使用可能な領域であればよく、たとえば、低速側の他の領域や高速側の領域であってもよい。
【００６１】
ステップＳ２３の判定結果がＹＥＳの場合、すなわち、既定の領域がある場合または代替領域が選択済みの場合は、次に、緩衝メモリ１３ａに一時書き込みされていたデータをその領域（既定の領域または選択済みの代替領域）に書き込み（ステップＳ２４）、放送受信終了やダウンロード終了（またはポーズ等の一時停止；以下、終了で代表）イベントありを判定する（ステップＳ２５）。
【００６２】
そして、イベントありでなければ、再びステップＳ２２に復帰する一方、イベントありが判定された場合は、まず、緩衝メモリ１３ａに、未書き込みのデータがあるか否かを判定し（ステップＳ２６）、未書き込みのデータがある場合には、その未書き込みのデータを既定の領域または選択済みの代替領域に書き込む（ステップＳ２７）という動作を、ステップＳ２６の判定結果がＮＯになるまで繰り返す。
【００６３】
ステップＳ２６の判定結果がＮＯになると、次に、割り込み禁止中であるか否かを判定する（ステップＳ２８）。なお、この“割り込み禁止”については、後で説明する。
【００６４】
割り込み禁止中の場合は、割り込み許可モードに戻し（ステップＳ２９）、ダウンロード終了処理を実行（ステップＳ３０）した後、ステップＳ１７に復帰する一方、割り込み禁止中でない場合は、そのままダウンロード終了処理を実行（ステップＳ３０）した後、ステップＳ１７に復帰する。
【００６５】
次に、ステップＳ２３の判定結果がＮＯであった場合、つまり、既定の領域が無く、且つ、代替領域も選択済みでなかった場合について説明する。先に説明したとおり、“既定の領域”とは、緩衝メモリ１３ａに一時書き込みされているデータの単位時間あたりのデータ量（ビットレートまたはデータレート）に対応した領域のことをいい、たとえば、高ビットレートのデータを例にすれば、メモリ１４の「高速領域」のことをいう。高速領域がない場合、高ビットレートのデータをメモリ１４に書き込むことができない。それよりも低速の領域（中速領域や低速領域）に高ビットレートのデータを書き込もうとすると、緩衝メモリ１３ａに溢れを生じる恐れがあり、途中で書き込みを失敗するからである。本実施形態では、この不都合を解消するために、前記の第１のポイント（直近低速側の領域を代替領域として選択する）および第２のポイント（割り込みイベントを禁止してその割り込み処理に必要なリソースをデータの書き込みに振り向ける）を採用したものである。
【００６６】
以下、これらの第１および第２のポイントを含む処理について説明する。
【００６７】
ステップＳ２３の判定結果がＮＯであった場合は、まず、代替領域ありか否かを判定する（ステップＳ３１）。すなわち、既定の領域が「高速領域」であった場合は、その直近低速側の領域である「中速領域」がメモリ１４に存在するか否か、あるいは、既定の領域が「中速領域」であった場合は、その直近低速側の領域である「低速領域」がメモリ１４に存在するか否かを判定する。
【００６８】
そして、ステップＳ３１の判定結果がＮＯの場合は、データを書き込むことができる適切な代替領域がメモリ１４にないと判断し、所要の記録エラー通知（たとえば、表示部１２に“データを書き込めません”等のメッセージを表示するなど）を行い（ステップＳ３４）、放送受信終了処理やダウンロード終了処理（ステップＳ３０）を実行した後、再びステップＳ１７に復帰する。
【００６９】
一方、ステップＳ３１の判定結果がＹＥＳの場合は、代替領域を選択し（ステップＳ３２：第１のポイント）、次に、割り込み許可モードであるか否かを判定する（ステップＳ３３）。“割り込み許可モード”とは、先に説明したハードウェア割り込みやソフトウェア割り込みなどの割り込みイベントの実行、または各種のアプリケーションに実装された同等イベントの実行を許可するモードのことをいう。割り込みを“許可”するモードになっている場合、任意の割り込みイベントが発生すると、ＣＰＵ６ａは、直ちに本来の処理を一時中断してそのイベントに対応した処理（割り込み処理）を実行し、その後、元の処理に復帰する。
【００７０】
第２のポイントは、この割り込み処理に必要なリソースを、データの書き込みに振り向けることにある。しかし、ステップＳ３３の判定結果がＮＯの場合は、割り込み許可モードになっていない（つまり、すでに割り込みを“禁止”するモードになっている）から、データの書き込みに振り向けるためのリソースがない。したがって、この場合は、たとえ代替領域を使用したとしても、緩衝メモリ１３ａに溢れを生じる恐れがあり、途中で書き込みを失敗する可能性が高いので、所要の記録エラー通知（たとえば、表示部１２に“データを書き込めません”等のメッセージを表示するなど）を行い（ステップＳ３４）、放送受信終了処理やダウンロード終了処理（ステップＳ３０）を実行した後、再びステップＳ１７に復帰する。
【００７１】
一方、ステップＳ３３の判定結果がＹＥＳの場合（割り込み許可モードになっている場合）は、次に、割り込み禁止モードへの変更通知（たとえば、表示部１２に“○○の実行を一時的に中断します”等のメッセージを表示するなど）を行い（ステップＳ３５）、割り込み禁止モードへ変更（ステップＳ３６）する。
【００７２】
そして、割り込み処理用のリソースを解放し（ステップＳ３７）、解放したリソースをデータの書き込みに利用できる状態（ステップＳ３８：第２のポイント）にした後、ステップＳ２４に進む。
【００７３】
ここで、“割り込み処理用のリソース”とは、割り込み許可モード中に何らかの割り込みイベントが発生した際に、そのイベントに応答して実行される割り込み処理用のハードウェア資源やソフトウェア資源のことをいい、“解放”とはそれらの資源を他の用途に使用できるようにすることをいう。
【００７４】
このように、この実施形態では、たとえば、高ビットレートのデータを既定の領域（高速領域）に書き込もうとしたとき、高速領域がメモリ１４になかった場合には、その高速領域の代わりに直近低速側の領域（この場合は中速領域）を代替領域として選択（第１のポイント）するとともに、割り込み禁止モードに変更して、その割り込み処理用のリソースをデータの書き込みに利用する（第２のポイント）ので、第１のポイントだけでは緩衝メモリ１３ａの溢れ問題からデータの書き込みが途中で失敗する恐れを否めないが、第２のポイントを加えたことにより、割り込み処理用のリソースをデータの書き込みに振り向けることができ、緩衝メモリ１３ａの溢れ問題を回避してデータの書き込み失敗をなくすことができる。
【００７５】
このことは、中ビットレートのデータを書き込む場合も同様である。すなわち、中ビットレートのデータを既定の領域（中速領域）に書き込もうとしたとき、その中速領域がメモリ１４になかった場合には、中速領域の代わりに直近低速側の領域（この場合は低速領域）を代替領域として選択（第１のポイント）するとともに、割り込み禁止モードに変更して、その割り込み処理用のリソースをデータの書き込みに利用する（第２のポイント）ので、第１のポイントだけでは緩衝メモリ１３ａの溢れ問題からデータの書き込みが途中で失敗する恐れを否めないが、第２のポイントを加えたことにより、割り込み処理用のリソースをデータの書き込みに振り向けることができ、緩衝メモリ１３ａの溢れ問題を回避してデータの書き込み失敗をなくすことができる。
【００７６】
したがって、既定の使い方（高速データ→高速領域、中速データ→中速領域、低速データ→低速領域）だけでなく、代替領域を用いた使い方（高速データ→中速領域、中速データ→低速領域）もできるから、メモリ１４の空き領域の有効利用を図ることができるという格別の効果を得ることができる。
【００７７】
なお、この実施形態では、ステップＳ３５で割り込み禁止モードへの変更通知を行った後、ステップＳ３６で直ちに割り込み禁止モードへ変更しているが、これに限定されない。たとえば、ステップＳ３５とステップＳ３６の間に、ユーザの応答を判定するステップ（ステップＳ３９）を入れてもよい。すなわち、ステップＳ３５で割り込み禁止モードへの変更通知を行った後、ステップＳ３９でユーザの応答を判定し、その判定結果が「変更許可指示あり」の場合にのみ、ステップＳ３６に進み、割り込み禁止モードへ変更するようにしてもよい。このようにすると、ユーザの自発的判断により、割り込みを禁止するか否かを選択できるので好ましい。
【００７８】
ここで、「割り込みイベント」についてさらに具体的に説明する。
図９は、割り込みイベントの概念図である。この図において、左側の縦長矩形は本来の処理（時間軸に沿って実行中の任意のアプリケーション）を表しており、同矩形の中央付近に描かれた太実線は、割り込みイベントの発生タイミングを示している。一般的にこのような割り込みイベントが発生すると、「本来の処理を一時中断して他の処理を行い、その後、元の処理に復帰する」という流れになる。
【００７９】
前記の第１の実施形態では、本来の処理を実行中にデータの書き込みを行う際、メモリ１４の既定の書き込み領域を使用できない場合に、割り込みイベントを無効（禁止）にし、その割り込みイベントの処理に用いられるリソースをデータの書き込みに振り向けるようにしている（第２のポイント）。そして、この第２のポイントでは、当該リソースとしてＣＰＵ６ａの能力を想定しているが、利用可能なリソースは「ＣＰＵ６ａの能力」だけに限らず、たとえば、メモリなどのリソースもデータの書き込みに利用することができる。
【００８０】
たとえば、割り込みイベントのための処理プログラム（図９におけるハッチング部分）のいくつかは、当該イベント発生時にすでにオンメモリ状態（ＲＡＭ６ｃにロードされた状態）になっているものがある。たとえば、常駐型の処理プログラム（以下、常駐プログラム）はその代表であり、常駐プログラムは本来の処理を実行中、オンメモリ状態にあっていつでも直ちに実行できるように準備されている。このような常駐プログラムは自身の処理に必要なリソースをすでに占有（確保されているともいう）しており、そのリソースにはメモリ（ＲＡＭ６ｃ）も含まれる。つまり、ワーク用のメモリ領域として所要サイズの領域をすでに占有している。
したがって、第２のポイントにおいては、データの書き込みに利用するリソースとして、このような確保済みのメモリ（割り込みイベント処理用のメモリ）を利用することができる。
【００８１】
図１０は、図８のフローを一部変形した図であり、割り込みイベント処理用のメモリを利用できるようにしたものである。この図において、図８のフローとの相違は、一点鎖線で囲んだ部分を追加した点にある。すなわち、ステップＳ３３で、割り込み許可モードでない（言い換えればすでに割り込み禁止モードである）と判定された場合には、まず、その割り込み禁止の対象となっている処理が「常駐型」のもの（前述の常駐型プログラムの説明を参照）であるか否かを判定する（ステップＳ１００）。
【００８２】
常駐型プログラムでない場合は、前記の図８のフロートと同様に、そのままステップＳ２４に進むが、先にも説明したとおり、常駐型プログラムは、「本来の処理を実行中、オンメモリ状態にあっていつでも直ちに実行できるように準備されている」ものであって、このような常駐プログラムは「自身の処理に必要なリソースを占有しており、そのリソースにはメモリ（ＲＡＭ６ｃ）も含まれる。つまり、ワーク用のメモリ領域として所要サイズの領域を占有している。」のであるから、ステップＳ１００の判定結果がＹＥＳの場合、すなわち、割り込み禁止の対象となっている処理が「常駐型」のものであると判定された場合には、次に、常駐型プログラムのリソース（ここでは占有メモリ）を解放し（ステップＳ１０１）、解放したリソースをデータの書き込みに利用できる状態（ステップＳ１０２：第２のポイント）にした後、ステップＳ２４に進む。
このようにすれば、データの書き込みに利用するリソース（割り込みイベント処理用のリソース）として、メモリを使用することができるようになる。
【００８３】
＜第２の実施形態＞
図１１〜図１３は、連写や動画撮影時の処理フローを示す図である。この動作フローを開始すると最初に初期化処理（ステップＳ２）を実行する。この初期化処理では、まず、操作部１０の電源スイッチがオンになったか否かを判定し（ステップＳ４１）、オンであれば、次に所定の電源オン処理（一般的な初期化処理）を実行する（ステップＳ４２）。次いで、記録領域管理情報（ファイルアロケーションテーブル）を読み込み（ステップＳ４３）、メモリ１４の現在の断片化状況を検出する（ステップＳ４４）とともに、その断片化状況に応じてメモリ１４の書き込み可能領域の速度判定と領域区分の処理を実行する（ステップＳ４５）。
【００８４】
ここで、ステップＳ４５における「メモリ１４の書き込み可能領域の速度判定と領域区分の処理」とは、メモリ１４の空き領域を、前出の図２に示す三つの領域（低速領域、中速領域、高速領域）に区分けすることをいい、具体的には、断片化率が高い領域を「低速領域」、断片化率が中程度の領域を「中速領域」、断片化率が低い領域を「高速領域」として区分けすることをいう。
【００８５】
上記の初期化処理（ステップＳ２）を完了すると、次に、電波オフモードであるか否かを判定する（ステップＳ４６）。電波オフモードとは、アンテナ７ａを介して最寄りの基地局（図示略）との間で無線によるデジタルデータの送受信を行う際の電波発射を伴う処理を非実行中のモードのことをいい、要するに、アンテナ７ａから電波を発射していないときの動作モードのことをいう。
【００８６】
ステップＳ４６の判定結果がＮＯの場合、すなわち、電波オフモードでないと判定された場合は、電話着信処理（ステップＳ３）を実行する。この電話着信処理（ステップＳ３）では、まず、着信（電話の呼び出し）ありを判定し（ステップＳ４７）、着信ありの場合は、オフフック操作（操作部１０のオフフックボタンの押し下げ操作）の有無を判定する（ステップＳ４８）。そして、オフフック操作を判定すると、通話終了操作（操作部１０のオンフックボタンの押し下げ操作）が行われるまで、所要の通話処理を実行して呼び出し相手との間で音声通話を行い（ステップＳ５０、ステップＳ５１）、一方、ステップＳ４８でオフフック操作を判定せず且つステップＳ４９で着信終了を判定した場合、または、ステップＳ５１で通話終了操作を判定した場合は、この電話着信処理（ステップＳ３）を終了する。
【００８７】
ステップＳ４６の判定結果がＹＥＳの場合、すなわち、電波オフモードであると判定された場合または電話着信処理（ステップＳ３）の終了後は、次に、ユーザ操作ありを判定し（ステップＳ５２）、ユーザ操作ありが判定された場合に、その操作内容が連写や動画等の撮像開始操作であるか否かを判定する（ステップＳ５３）。
【００８８】
ここで、連写撮影や動画撮影は、高いビットレートで且つ時系列的なデータ生成を伴う撮像処理であり、このような処理で得られた画像ファイル（連写の場合は数枚から数十枚のファイル、動画の場合は大容量のファイル）は、ＦＡＴ方式の記憶デバイス（実施形態ではメモリ１４）に書き込む際に、断片化に伴う不都合（書き込みが間に合わない）を生じることがある。このため、一般的にはメモリ１４の前段に高速のバッファ（実施形態では緩衝メモリ１３ａ）を入れて、その不都合回避を図っているが、緩衝メモリ１３ａの容量に上限があることから、冒頭で説明した従来技術では、このような静止画や動画のファイルを書き込む際に、断片化の少ない領域（つまり高速領域）を使用するという対策を講じている。
【００８９】
しかしながら、単に特定の領域（高速領域）を使用するだけの対策では、メモリ１４の空き領域を有効利用できないという欠点を招く。メモリ１４へのファイルの書き込みやメモリ１４からのファイルの削除を繰り返して行くにつれて、メモリ１４の断片化が進み、高速領域以外の空き領域が増えていくからであり、従来技術の対策ではこの空き領域（高速領域以外の空き領域）を全く利用できない仕組みになっているからである。実施形態のポイントは、記憶デバイスの空き領域（高速領域以外の空き領域）を有効利用しつつ、高ビットレートのデータの書き込みを支障なく行うことができることにあるが、このポイントについては後で詳しく説明する。
【００９０】
ステップＳ５３の判定結果がＮＯの場合、すなわち、ステップＳ５２で検出されたユーザ操作が、連写や動画等の撮像開始操作でないと判定された場合は、次に、そのユーザ操作が電源オフ操作であるか否かを判定する（ステップＳ５４）。そして、電源オフ操作を判定した場合は、所定の電源オフ処理を実行（ステップＳ５５）した後、フローを終了し、一方、電源オフ操作を判定しなかった場合は、電源オフ操作以外のその他のアプリケーション操作に対応した処理を実行（ステップＳ５６）した後、再びステップＳ５２に復帰する。
【００９１】
ステップＳ５３の判定結果がＹＥＳの場合、すなわち、ステップＳ５２で検出されたユーザ操作が、連写や動画等の撮像開始操作であると判定された場合は、次に、連写や動画等の撮像処理で生成されたファイルを緩衝メモリ１３ａに一時書き込みし（ステップＳ５７）、次いで、「既定の領域あり？または代替領域選択済み？」を判定する（ステップＳ５８）。
【００９２】
ここで、“既定の領域”とは、先に説明した図２に示されている「高速領域」、「中速領域」、「低速領域」のうち、緩衝メモリ１３ａに一時書き込みされているデータの単位時間あたりのデータ量（ビットレートまたはデータレート）に対応した領域のことをいう。つまり、高ビットレートのデータであれば「高速領域」、中ビットレートのデータであれば「中速領域」、低ビットレートのデータであれば「低速領域」のことをいう。また、“代替領域”とは、その既定の領域がない（または使用できない）場合に、代わりに用いられる直近低速側の領域、すなわち、既定の領域が高速領域であれば中速領域、中速領域であれば低速領域のことをいう。この代替領域は、後述のステップＳ６７において選択される。
【００９３】
ステップＳ５８の判定結果がＹＥＳの場合、すなわち、既定の領域がある場合または代替領域が選択済みの場合は、次に、緩衝メモリ１３ａに一時書き込みされていたデータをその領域（既定の領域または選択済みの代替領域）に書き込み（ステップＳ５９）、撮像終了（またはポーズ等の一時停止；以下、撮影終了で代表）イベントありを判定する（ステップＳ６０）。
【００９４】
そして、イベントありでなければ、再びステップＳ５７に復帰する一方、イベントありが判定された場合は、まず、緩衝メモリ１３ａに、未書き込みのデータがあるか否かを判定し（ステップＳ６１）、未書き込みのデータがある場合には、その未書き込みのデータを既定の領域または選択済みの代替領域に書き込む（ステップＳ６２）という動作を、ステップＳ６１の判定結果がＮＯになるまで繰り返す。
【００９５】
ステップＳ６１の判定結果がＮＯになると、次に、電波オフモードであるか否かを判定する（ステップＳ６３）。なお、この“電波オフモード”については、後で説明する。
【００９６】
電波オフモードである場合は、電波オンモードに戻し（ステップＳ６４）、撮像終了処理を実行（ステップＳ６５）した後、ステップＳ５２に復帰する一方、電波オフモードでない場合は、そのまま撮像終了処理を実行（ステップＳ６５）した後、ステップＳ５２に復帰する。
【００９７】
次に、ステップＳ５８の判定結果がＮＯであった場合、つまり、既定の領域が無く、且つ、代替領域も選択済みでなかった場合について説明する。先に説明したとおり、“既定の領域”とは、緩衝メモリ１３ａに一時書き込みされているデータの単位時間あたりのデータ量（ビットレートまたはデータレート）に対応した領域のことをいい、たとえば、高ビットレートのデータを例にすれば、メモリ１４の「高速領域」のことをいう。高速領域がない場合、高ビットレートのデータをメモリ１４に書き込むことができない。それよりも低速の領域（中速領域や低速領域）に高ビットレートのデータを書き込もうとすると、緩衝メモリ１３ａに溢れを生じる恐れがあり、途中で書き込みを失敗するからである。本実施形態では、この不都合を解消するために、前記の第１のポイント（直近低速側の領域を代替領域として選択する）および第２のポイント（電波オンモードを禁止してその電波オンモード用のリソースをデータの書き込みに振り向ける）を採用したものである。
【００９８】
以下、これらの第１および第２のポイントを含む処理について説明する。
【００９９】
ステップＳ５８の判定結果がＮＯであった場合は、まず、代替領域ありか否かを判定する（ステップＳ６６）。すなわち、既定の領域が「高速領域」であった場合は、その直近低速側の領域である「中速領域」がメモリ１４に存在するか否か、あるいは、既定の領域が「中速領域」であった場合は、その直近低速側の領域である「低速領域」がメモリ１４に存在するか否かを判定する。
【０１００】
そして、ステップＳ６６の判定結果がＮＯの場合は、データを書き込むことができる適切な代替領域がメモリ１４にないと判断し、所要の記録エラー通知（たとえば、表示部１２に“データを書き込めません”等のメッセージを表示するなど）を行い（ステップＳ６９）、撮像終了処理（ステップＳ６５）を実行した後、再びステップＳ５２に復帰する。
【０１０１】
一方、ステップＳ６６の判定結果がＹＥＳの場合は、代替領域を選択し（ステップＳ６７：第１のポイント）、次に、電波オンモードであるか否かを判定する（ステップＳ６８）。“電波オンモード”とは、最寄りの基地局を探索したりする際にアンテナ７ａからの電波発射を許容するモードのことをいい、このモードは、先に説明したハードウェア割り込みやソフトウェア割り込みなどの割り込みイベントの一種である。この電波オンモード中に基地局の探索タイミングになると、ＣＰＵ６ａは、直ちに本来の処理を一時中断してそのイベントに対応した処理（無線通信部７を動作させて最寄りの基地局を探索する処理）を実行し、その後、元の処理に復帰する。
【０１０２】
第２のポイントは、この電波オンモードの処理に必要なリソースを、データの書き込みに振り向けることにある。しかし、ステップＳ６８の判定結果がＮＯの場合は、電波オンモードになっていない（つまり、すでに電波の発射を“禁止”する電波オフモードになっている）から、データの書き込みに振り向けるためのリソースがない。したがって、この場合は、たとえ代替領域を使用したとしても、緩衝メモリ１３ａに溢れを生じる恐れがあり、途中で書き込みを失敗する可能性が高いので、所要の記録エラー通知（たとえば、表示部１２に“データを書き込めません”等のメッセージを表示するなど）を行い（ステップＳ６９）、撮像終了処理（ステップＳ６５）を実行した後、再びステップＳ５２に復帰する。
【０１０３】
一方、ステップＳ６８の判定結果がＹＥＳの場合（電波オンモードになっている場合）は、次に、電波オフモードへの変更通知（たとえば、表示部１２に“○○の実行を一時的に中断します”等のメッセージを表示するなど）を行い（ステップＳ７０）、電波オフモードへ変更（ステップＳ７１）する。
【０１０４】
そして、電波オンモード処理用のリソースを解放し（ステップＳ７２）、解放したリソースをデータの書き込みに利用できる状態（ステップＳ７３：第２のポイント）にした後、ステップＳ５９に進む。
【０１０５】
ここで、“電波オンモード用のリソース”とは、電波オンモード中に実行される基地局探索処理等に必要なハードウェア資源やソフトウェア資源のことをいい、“解放”とはそれらの資源を他の用途に使用できるようにすることをいう。
【０１０６】
このように、この実施形態では、たとえば、高ビットレートのデータを既定の領域（高速領域）に書き込もうとしたとき、高速領域がメモリ１４になかった場合には、その高速領域の代わりに直近低速側の領域（この場合は中速領域）を代替領域として選択（第１のポイント）するとともに、電波オフモードに変更して、電波オンモード用のリソースをデータの書き込みに利用する（第２のポイント）ので、第１のポイントだけでは緩衝メモリ１３ａの溢れ問題からデータの書き込みが途中で失敗する恐れを否めないが、第２のポイントを加えたことにより、電波オンモード用のリソースをデータの書き込みに振り向けることができ、緩衝メモリ１３ａの溢れ問題を回避してデータの書き込み失敗をなくすことができる。
【０１０７】
このことは、中ビットレートのデータを書き込む場合も同様である。すなわち、中ビットレートのデータを既定の領域（中速領域）に書き込もうとしたとき、その中速領域がメモリ１４になかった場合には、中速領域の代わりに直近低速側の領域（この場合は低速領域）を代替領域として選択（第１のポイント）するとともに、電波オフモードに変更して、電波オンモード用のリソースをデータの書き込みに利用する（第２のポイント）ので、第１のポイントだけでは緩衝メモリ１３ａの溢れ問題からデータの書き込みが途中で失敗する恐れを否めないが、第２のポイントを加えたことにより、電波オンモード用のリソースをデータの書き込みに振り向けることができ、緩衝メモリ１３ａの溢れ問題を回避してデータの書き込み失敗をなくすことができる。
【０１０８】
したがって、本実施形態においても、既定の使い方（高速データ→高速領域、中速データ→中速領域、低速データ→低速領域）だけでなく、代替領域を用いた使い方（高速データ→中速領域、中速データ→低速領域）もできるから、メモリ１４の空き領域の有効利用を図ることができるという格別の効果を得ることができる。
【０１０９】
なお、この実施形態では、ステップＳ７０で電波オフモードへの変更通知を行った後、ステップＳ７１で直ちに電波オフモードへ変更しているが、これに限定されない。たとえば、ステップＳ７０とステップＳ７１の間に、ユーザの応答を判定するステップ（ステップＳ７４）を入れてもよい。すなわち、ステップＳ７０で電波オフモードへの変更通知を行った後、ステップＳ７４でユーザの応答を判定し、その判定結果が「変更許可指示あり」の場合にのみ、ステップＳ７１に進み、電波オフモードへ変更するようにしてもよい。このようにすると、ユーザの自発的判断により、割り込みを禁止するか否かを選択できるので好ましい。
【０１１０】
また、以上の第１および第２の実施形態では、「放送受信時やインターネット等からのデータダウンロード」および「連写や動画撮影」を例にしたが、これに限定されない。高ビットレートや中ビットレートのデータをメモリ１４にリアルタイムに書き込むことが求められる用途であれば、いかなるものであってもよい。たとえば、テレビ放送等の予約録画機能を備えたカメラ付携帯電話機などに適用してもよい。
【０１１１】
この場合、たとえば、カメラで高画質の動画を撮影中は、その画像ファイル（つまり高ビットレートのデータ）がメモリ１４の既定の領域（この場合は高速領域）に書き込まれるが、書き込みの途中で高速領域が一杯になってしまった時点で、それ以上のデータの書き込みができなくなる。しかし、高速領域の代替領域として中速領域を選択する（前記の第１のポイント）とともに、予約録画を禁止して、その予約録画のためのリソースをデータの書き込みに振り向ける（前記の第２のポイント）ことにより、データの書き込みを支障なく継続し、且つ、メモリ１４の空き領域の有効利用を図ることができる。
【０１１２】
以下、本発明の諸態様を付記としてまとめて記載する。
【０１１３】
（付記１）
少なくとも一つのアプリケーションを実行する実行手段と、
前記実行手段に対し、前記アプリケーションの実行を中断して他の処理を実行するように指示することが可能な指示手段と、
前記アプリケーションの実行に伴い発生するデータの単位時間あたりのデータ量の大きさを検出する検出手段と、
記憶デバイスの空き領域を、書き込み速度に応じて複数に領域分けする領域分け手段と、
前記検出手段によって検出された単位時間あたりのデータ量の大きさに対応した領域が、前記領域分け手段によって区分された複数の領域の中に存在するか否かを判定する判定手段と、
前記判定手段によって領域の存在が判定された場合に当該領域を選択する一方、領域の存在が判定されなかった場合に当該領域よりも書き込み速度が遅い領域を選択する選択手段と、
前記選択手段によって書き込み速度が遅い領域が選択された場合に前記指示手段から前記実行手段への指示出力を禁止する禁止手段と、
前記選択手段によって選択された領域に前記データを書き込む記憶制御手段と
を備えたことを特徴とする電子機器。
付記１によれば、通常は、指示手段による指示、つまり、実行手段におけるアプリケーションの実行を中断して他の処理を実行することを許容するが、記憶デバイスの代替領域への書き込み動作に影響が出そうな場合には、指示手段による指示を禁止するので、実行手段の負荷を軽くして代替領域への書き込み動作への影響を回避することができる。したがって、記憶デバイスの空き領域を有効利用（代替領域の利用）しつつ、高ビットレートのデータの書き込みを支障なく行うことができる。
【０１１４】
（付記２）
前記禁止手段は、前記選択手段によって書き込み速度が遅い領域が選択された場合に前記指示手段から前記実行手段への指示出力を禁止することに加え、さらに、ユーザに対して所定の通知を行うことを特徴とする付記１に記載の電子機器。
付記２によれば、指示手段からの指示（実行手段におけるアプリケーションの実行を中断して他の処理を実行すること）が禁止される際は、その旨がユーザに通知されるので、ユーザはアプリケーションの中断または所定の処理の実行が行われないことを知ることができる。
【０１１５】
（付記３）
前記禁止手段は、前記選択手段によって書き込み速度が遅い領域が選択された場合に、ユーザに対して所定の通知を行うとともに、当該ユーザの了解操作に応答して、前記指示手段から前記実行手段への指示出力を禁止することを特徴とする付記１に記載の電子機器。
付記３によれば、ユーザの了解操作に応答して、前記指示手段から前記実行手段への指示出力を禁止するので、当該指示出力の「禁止」と「禁止しない」をユーザの所望により任意に選択することができる。
【０１１６】
（付記４）
前記記憶制御手段は、前記禁止手段によって前記指示手段から前記実行手段への指示出力が禁止されているときに、前記他の処理を実行するためのリソースを前記データの書き込みに利用することを特徴とする付記１に記載の電子機器。
付記４によれば、他のアプリケーションまたは前記所定の処理を実行するために用意されているリソースを有効に利用することができる。
【０１１７】
（付記５）
前記リソースは、前記実行手段の処理能力またはメモリであることを特徴とする付記４に記載の電子機器。
付記５によれば、実行手段の処理能力またはメモリをデータの書き込みに利用することができる。
【０１１８】
（付記６）
前記アプリケーションは、被写体像を撮像する撮像手段を用いて行われる連写または動画の撮影と記録に関する処理を実行するものであることを特徴とする付記１に記載の電子機器。
付記６によれば、たとえば、連写や動画撮影機能付きカメラや携帯電話等に好適に用いることができる。
【０１１９】
（付記７）
前記アプリケーションは、電波によって通信を行う通信手段を用いて行われる通信に関する処理を実行するものであることを特徴とする付記１に記載の電子機器。
付記７によれば、たとえば、通信手段を備える携帯電話等に好適に用いることができる。
【０１２０】
（付記８）
前記アプリケーションは、放送信号を受信する放送受信手段を用いて行われる予約録画に関する処理を実行するものであることを特徴とする付記１に記載の電子機器。
付記８によれば、たとえば、テレビジョン放送等の予約録画機能を備える携帯電話等に好適に用いることができる。
【０１２１】
（付記９）
電子機器のコンピュータを、
少なくとも一つのアプリケーションを実行する実行手段、
前記実行手段に対し、前記アプリケーションの実行を中断して他の処理を実行するように指示することが可能な指示手段、
前記アプリケーションの実行に伴い発生するデータの単位時間あたりのデータ量の大きさを検出する検出手段、
記憶デバイスの空き領域を、書き込み速度に応じて複数に領域分けする領域分け手段、
前記検出手段によって検出された単位時間あたりのデータ量の大きさに対応した領域が、前記領域分け手段によって区分された複数の領域の中に存在するか否かを判定する判定手段、
前記判定手段によって領域の存在が判定された場合に当該領域を選択する一方、領域の存在が判定されなかった場合に当該領域よりも書き込み速度が遅い領域を選択する選択手段、
前記選択手段によって書き込み速度が遅い領域が選択された場合に前記指示手段から前記実行手段への指示出力を禁止する禁止手段、
前記選択手段によって選択された領域に前記データを書き込む記憶制御手段、
として機能させるためのプログラム。
付記９によれば、付記１の機能をソフトウェア（プログラム）の形で提供することができる。
【符号の説明】
【０１２２】
１  携帯電話機（電子機器）
５  撮像系（撮像手段）
６  中央制御部（実行手段、指示手段、検出手段、領域分け手段、判定手段、選択手段、禁止手段、記憶制御手段）
６ａ  ＣＰＵ（コンピュータ）
７  無線通信部（通信手段）
９  放送受信部（放送受信手段）
１４  メモリ（記憶デバイス）
【図１】
2012015933.tif 000003
【図２】
2012015933.tif 000004
【図３】
2012015933.tif 000005
【図４】
2012015933.tif 000006
【図５】
2012015933.tif 000007
【図６】
2012015933.tif 000008
【図７】
2012015933.tif 000009
【図８】
2012015933.tif 000010
【図９】
2012015933.tif 000011
【図１０】
2012015933.tif 000012
【図１１】
2012015933.tif 000013
【図１２】
2012015933.tif 000014
【図１３】
2012015933.tif 000015