(57)【特許請求の範囲】
【請求項１】
バッテリー駆動のデバイスであって、
ディスクメモリと、
前記ディスクメモリを回転する手段と、
前記ディスクメモリとの間でデータの読み出しまたは書き込みのうち少なくとも一方をする読み出し／書き込み手段と、
前記ディスクメモリとの間で読み出しまたは書き込みされるデータを格納するバッファメモリであって、前記バッファメモリは、同時に読み出しと書き込みができる対応するストリーミングデータと関連する複数のバッファメモリを含み、少なくとも１つのバッファメモリは書き込むデータをバッファし、少なくとも１つのバッファメモリは読み出したデータをバッファし、前記複数のバッファメモリは前記対応するストリーミングデータと関連する最大ビットレートに比例して選択されるバッファメモリと、
省エネルギースケジューリング手段であって、
前記バッファメモリをモニターし、書き込み機能を行っている前記少なくとも１つのバッファメモリの各々があとどのくらいでいっぱいになるか判断し、読み出し機能を行っている前記少なくとも１つのバッファメモリの各々があとどのくらいでカラになるか判断し、
前記複数のバッファメモリの各々のモニターされたいっぱいさの度合いに応じて、予定されたディスクの回転開始時間と停止時間を調整し、前記調整は前記複数のバッファメモリの各々へのリフィリングとエンプティイングの時間ベースの並べ替えを含み、
調整したスケジュールに従って前記ディスクメモリ回転手段を制御する省エネルギースケジューリング手段とを有することを特徴とするデバイス。
【請求項２】
請求項１に記載のデバイスであって、
バッファのリフィリング／エンプティイングの順序づけをし、バッファメモリフィリングインターバル間のギャップを解消するバック・フロント・バックスケジューリングプロセスをさらに含むことを特徴とするデバイス。
【請求項３】
請求項１に記載のデバイスであって、前記バッファメモリはｎ個のデータストリームのためのｎ個のバッファに区切られていることを特徴とするデバイス。
【請求項４】
請求項３に記載のデバイスであって、前記スケジューリング手段は
ディスクメモリをスピンアップする機能と、
前記それぞれのストリームがいっぱい／カラになるまで、前記記憶手段との間で読み出し／書き込みをすることによりｎ個のデータストリームからなる一組のデータストリームＳの各ストリームをフィリング／エンプティイングする機能と、
次のスピンアップ時間ｔ０を決定する機能と、
前記記憶手段をスタンバイモードにし、前記ディスクメモリをスピンダウンする機能と、
時間ｔ０またはその直前に、前記一組のデータストリームＳの各ストリームｉに対して現在時刻ｔにおけるバッファフィリングｆｉ（ｔ）に基づき、新しいスピンアップ時間ｔｋを再決定する機能と、
新しいスピンアップ時間ｔｋがｔｋ−１に近い所定の範囲に入るか、現在時刻ｔに近い所定の範囲に入るまで、前記スピンアップ時間ｔｋを繰り返し再決定する機能と、
時間ｔｋまたはその直前まで待機する機能とを有することを特徴とするデバイス。
【請求項５】
請求項４に記載のデバイスであって、前記最も早いスピンアップ時間ｔ０は前記現在時刻ｔの近くの少なくとも
【数１】
0004406000.tif 000037
時間単位以内にあり、ｒｉｍａｘは前記ストリームｉの最大ビットレートであり、Ｍは前記ｎ個のバッファの区切られたメモリの全体量であることを特徴とするデバイス。
【請求項６】
請求項５に記載のデバイスであって、
終了時間が増加しない順に前記一組のデータストリームＳの各ストリームｉに対して、最も遅いフィリング／エンプティインターバル［ｓｉ，ｅｉ）（ｓｉはストリームｉのインターバルの開始時間であり、ｅｉは終了時間である）を調べる手段をさらに含み、該手段はｅｊ＞ｓｊのとき、先行するフィリング／エンプティインターバル［ｓｉ，ｅｉ）を前倒し時間ｅｊ−ｓｊだけ進める手段を含み、
前記デバイスは、終了時間が増加する順に、前記一組のデータストリームＳの各ストリームｉに対して最も遅いフィリング／エンプティインターバル［ｓｉ，ｅｉ）を再度調べる手段をさらに含み、該手段は、ｓｊ＋１＞ｅｊである時はいつも、存在するギャップよりもインターバルを時間的に進めることにより、連続するフィリング／エンプティインターバルの間にギャップを無くす手段を含むことを特徴とするデバイス。
【請求項７】
エネルギー効率の高いディスクスケジューリング方法であって、
ディスクメモリとの間でストリーミングデータの読み出しおよび書き込みのうち少なくとも一方を実行するステップと、
前記ディスクメモリとの間で少なくとも読み出しおよび書き込みのうち少なくとも一方をする前記データをバッファするステップであって、前記バッファは、同時に読み出しと書き込みができ対応するストリーミングデータと関連する複数のバッファメモリを含み、少なくとも１つのバッファメモリは書き込むデータをバッファし、少なくとも１つのバッファメモリは読み出したデータをバッファし、前記複数のバッファメモリは前記対応するストリーミングデータと関連する最大ビットレートに比例して選択されるステップと、
前記バッファしたデータをモニターし、書き込み機能を行っている前記少なくとも１つのバッファメモリの各々があとどのくらいでいっぱいになるか判断し、読み出し機能を行っている前記少なくとも１つのバッファメモリの各々があとどのくらいで空になるか判断するステップと、
前記複数のバッファメモリの各々のモニターしたいっぱいさの度合いに応じて、予定されたディスクの回転開始時間と停止時間を調整するステップであって、前記調整は前記複数のバッファメモリの各々へのリフィリングとエンプティイングの時間ベースの並べ替えを含むステップと、
調整されたスケジュールに従って前記ディスクメモリの回転をスケジューリングするステップとを有することを特徴とする方法。
【請求項８】
請求項７に記載の方法であって、
ｎ個のストリームよりなる一組のストリームＳに前記メモリＭを区分けして、各ストリームｉにバッファメモリの区分けされた量を与えるステップを有することを特徴とする方法。
【請求項９】
請求項８に記載の方法であって、前記スケジューリングを実行するステップは、
ディスクメモリをスピンアップするステップと、
前記一組のストリームＳの各ストリームｉを前記それぞれのストリームがいっぱいまたはカラになるまで前記記憶手段との間で読み書きすることによりフィリングまたはエンプティイングをするステップと、
最も早い次のスピンアップ時間ｔ０を決定するステップと、
前記記憶手段をスピンダウンすることにより前記記憶手段をスタンバイモードにするステップと、
時刻ｔ０またはその直前に、前記一組のストリームＳの各ストリームｉについて現在時刻ｔにおけるバッファフィリングｆｉ（ｔ）に基づき新しい最も早いスピンアップ時間ｔｋを再決定するステップと、
新しいスピンアップ時間ｔｋがｔｋ−１に近い所定の範囲に入るか、現在時刻ｔに近い所定の範囲に入るまで、前記スピンアップ時間ｔｋを繰り返し再決定するステップと、
時間ｔｋまたはその直前まで待機するステップとを有することを特徴とする方法。
【請求項１０】
請求項９に記載の方法であって、前記一組のストリームＳの各ストリームの区分けされたメモリ量は、約
【数２】
0004406000.tif 000038
であり、ｒｉｍａｘはストリームｉの最大ビットレートであることを特徴とする方法。
【請求項１１】
請求項９に記載の方法であって、前記最も早いスピンアップ時間ｔ０は前記現在時刻ｔの近くの少なくとも
【数３】
0004406000.tif 000039
時間単位以内にあり、ｒｉｍａｘは前記ストリームｉの最大ビットレートであり、Ｍは前記ｎ個のバッファの区切られたメモリの全体量であることを特徴とする方法。
【請求項１２】
請求項９に記載の方法であって、前記メモリの全量Ｍは固体メモリであることを特徴とする方法。
【請求項１３】
請求項９に記載の方法であって、
【数４】
0004406000.tif 000040
を保証するために、ストリームの受け入れを制御するステップをさらに含み、ｒｉｍａｘは前記ストリームｉの最大ビットレートであり、ｒｄｉｓｋは前記記憶手段のレートであることを特徴とする方法。
【請求項１４】
請求項９に記載の方法であって、すべての後続のストリームｊ＋１、ｊ＋２、．．．、ｎを遅らせることができるとき、２つの連続するストリームｊとｊ＋１との間で中断するステップをさらに含むことを特徴とする方法。
【請求項１５】
請求項９に記載の方法であって、
終了時間が増加しない順に前記一組のデータストリームＳの各ストリームｉに対して、最も遅いフィリング／エンプティインターバル［ｓｉ，ｅｉ）（ｓｉはストリームｉのインターバルの開始時間であり、ｅｉは終了時間である）を調べるステップをさらに含み、該ステップはｅｊ＞ｓｊのとき、先行するフィリング／エンプティインターバル［ｓｉ，ｅｉ）を前倒し時間ｅｊ−ｓｊだけ進めるステップを含み、
前記デバイスは、終了時間が増加する順に、前記一組のデータストリームＳの各ストリームｉに対して最も遅いフィリング／エンプティインターバル［ｓｉ，ｅｉ）を再度調べるステップをさらに含み、該手段は、ｓｊ＋１＞ｅｊである時はいつも、存在するギャップよりもインターバルを時間的に進めることにより、連続するフィリング／エンプティインターバルの間にギャップを無くすステップを含むことを特徴とする方法。
【請求項１６】
請求項１５に記載の方法であって、各スケジューリングサイクルにおいて、前記調べるステップと前記再度調べるステップを繰り返し適用するステップをさらに含むことを特徴とする方法。
【発明の詳細な説明】
【発明の詳細な説明】
【０００１】
本発明は、ユーザが移動中にパーソナルマルチメディアコンテントを記録再生するディスクベースの記憶装置を利用したモバイル記憶デバイスに関し、特に、エネルギー効率の高いディスクスケジューリング方法に関する。
【０００２】
モバイル記憶デバイスは、移動中にパーソナルマルチメディアコンテントに容易にアクセスを可能とするソリューションとして好ましく、コストと信頼性の観点からも短期および中期的には重要である。
【０００３】
固体メモリだけを含む携帯記憶デバイスは記憶容量の制限が厳しく、メガバイト単位のコストは比較的高い。特に、ビデオデータの格納にはディスクベースの記憶装置が重要な代替物となっている。１ギガバイト（Ｇｂｙｔｅ）のメモリがあっても、３０分の６メガビット／秒（Ｍｂｉｔ／ｓ）のビデオを格納するには十分ではない。磁気ディスクおよび光ディスクは、Ｍｂｙｔｅあたり低いコストで大きな記憶容量を提供している。
【０００４】
モバイル記憶デバイスにおいては、消費電力が低いことが最も重要である。バッテリー寿命が製品差別化の鍵の一つだからである。磁気ディスクおよび光ディスクの回転は全エネルギー使用量の大部分を占める。そのため、可能なときはいつもエネルギーを節約しながらディスクを賢く使用することが重要である。現在ＭＰ３プレーヤで多く使われている周知のストラテジは、ディスクをスタンバイモードにできるよう固体メモリに十分なデータを繰り返しバッファすることである。すなわち、このモードでは、可能な時は数分間回転を停止する。
【０００５】
モバイルアプリケーションにおいては、多数のストリームを並行して処理することは期待されていない。しかし、オーディオまたはビデオのマルチレイヤー符号化を用いるとき、単一のビデオストリームは一般に複数のサブストリーム（１つのベースレイヤーと複数のエンハンスメントレイヤー）に分けられる。これらのサブストリームは、ディスクにより一般に別々のストリームとして処理される。すなわち、別々の記憶場所に格納される。これにより、最高品質より低い品質で効率的に再生可能となり、最高のエンハンスメントレイヤーを効率的に削除可能となる。
【０００６】
ディスクがスタンバイモードにあるとき、ディスクは回転を停止し、エレクトロニクスの一部にはパワーが供給されず、エネルギーを節約する。エネルギーを節約する他の方法は、ディスクへのアクセスの順番を変更し、要求サイズを大きくし、シーク動作の実行に費やすエネルギーを減らすことである。これら２つのうちスタンバイモードの効率的使用により、エネルギー節約のためのより大きな機会がある。また、スタンバイストラテジは、ディスクを複数の可変ビットレートストリームの処理に使用する場合に適応させることができる。
【０００７】
携帯マルチメディア記憶装置のアプリケーションとトレンドについては、Ｂｏｄｌａｅｎｄｅｒ  ｅｔ  ａｌ．［２００２］、Ｊｏｎｋｅｒ  ｅｔ  ａｌ．［２００２］、Ｖａｎ  Ｈｏｕｔｅｎ［２０００］を参照のこと。携帯ハードディスクの消費電力の分析については、Ｃｕｍｐｓｏｎ［２００１］を参照のこと。携帯マルチメディア記憶装置の省エネルギーは、上記文献では今のところあまり注意をされていない研究エリアのようである。ノートブックコンピュータにおける磁気ディスクについては、適応的パワーマネージメントが広範囲に検討されている。例えば、ＤｏｕｇｌｉｓｈおよびＭａｒｓｈ［１９９３］、Ｄｏｕｇｌｉｓｈ  ｅｔ  ａｌ．［１９９４，１９９５］、Ｌｉ  ｅｔ  ａｌ．［１９９４］等を見よ。しかし、提案されたソリューションはリアルタイムマルチメディアアプリケーションにはあまり適していないように見える。
【０００８】
それゆえ、特に、モバイル記憶デバイスにおいて、エネルギー効率をよくしてディスクを使用するストラテジを改良する必要がある。
【０００９】
その改良された省エネルギーストラテジは、複数のストリームを並行して処理するアプリケーションとコンパチブルであり、そのアプリケーションに対して効果的である必要がある。
【００１０】
本発明の一態様によれば、ストリーミングデータを読み書きするバッテリーパワーのデバイスが提供される。このデバイスは、ディスクメモリ（８０）と、前記ディスクメモリを回転する手段（８２）と、前記ディスクメモリとの間でデータの読み出しまたは書き込みのうち少なくとも一方をする読み出し／書き込み手段（８４）と、前記ディスクメモリとの間で読み出しまたは書き込みされるデータを格納するバッファメモリ（８６）と、前記バッファメモリをモニターし、前記モニターされたバッファメモリに従って前記ディスクメモリ回転手段を制御する省エネルギースケジューリング手段（９６）とを有する。
【００１１】
エネルギー効率の高いディスクスケジューリング方法も提供される。この方法は、ディスクメモリとの間でストリーミングデータの読み出しおよび書き込みをするステップと、前記ディスクメモリとの間で少なくとも読み出しおよび書き込みのうち少なくとも一方をする前記データをバッファするステップを含む。また、この方法は、前記バッファしたデータをモニターするステップと、前記モニターされたバッファされたデータに従って前記ディスクメモリの回転をスケジューリングするステップとを含む。
【００１２】
本発明の有利な点の一つは、携帯デバイスのエネルギー使用量を削減し、バッテリー寿命を長くすることである。
【００１３】
本発明の他の有利な点は、携帯マルチメディア記憶デバイスに容易かつ安価に組み込むことができることである。
【００１４】
さらに別の有利な点は、以下の詳細な説明を読んで理解すれば、当業者に明らかとなるであろう。
【００１５】
本発明は様々な部分とその構成という形態を取るであろう。図面は好ましい実施形態を例示するためのものであり、本発明を限定するものではない。
【００１６】
スタンバイモードの効率的使用に関して効果的な省エネルギーストラテジを開発するため、ストリームとディスクをモデル化する方法を検討する。特に、不変ビットレートストリームと可変ビットレートストリームの両方を考える。オーディオ／ビデオストリームはデジタル圧縮形式でディスクに格納され、ビットレートは可変であることが多い。ストリームはプレイアウトレートｒｉ（ｔ）（ｔ∈［０，ｌｉ］）により特徴づけられる。ここで、ｔは時間を表し、ｌｉは対応するオーディオ／ビデオコンテントの長さを与える。以下の説明では、２つのタイプのストリームを検討する。すなわち、不変ビットレート（ＣＢＲ）ストリームと可変ビットレートストリーム（ＶＢＲ）ストリームの２つである。ＣＢＲストリームについて、すべてのｔ∈［０，ｌｉ］に対して、ｒｉ（ｔ）＝  ｒｉである。ＶＢＲストリームについては、ｒｉ（ｔ）に関する完全な知識は仮定していない。代わりに、上限ｒｉｍａｘだけが既知であると仮定する。すべてのｔ∈［０，ｌｉ］に対して、ｒｉｍａｘ≧ｒｉ（ｔ）である。
【００１７】
磁気ディスクを参照して好ましい実施形態を説明するが、当然のことながら、本発明は光ディスクその他にも適用可能である。磁気ディスクの動作についての一般的紹介については、Ｒｕｅｍｍｌｅｒ＆Ｗｉｌｋｅｓ［１９９４］を参照せよ。ディスクとの間でデータを読み書きするレートはｒｄｉｓｋで与えられる。このレートは、データが読み書きされる記憶場所にかかわらず一定であると仮定する。パワー使用に関して、磁気ディスクはいくつかのモードを有しているが、大きく分けてアクティブとインアクティブの２つの状態に分けることができる。アクティブ状態のとき、ディスクは読み出し、書き込み、シークを実行でき、回転遅延を生じることもある。インアクティブ状態のとき、ディスクはアイドルモードかスタンバイモードのいずれかである。アイドルモードのとき、ディスクは回転し、アクセス要求が来るのを待っている。エネルギー使用に関して、複数のアイドルモードが定義されることもある。これらのモードは、ディスクヘッドがロードされているかアンロードされているか否かによって異なり、またエレクトロニクスの一部がパワーを供給されているか否かによっても異なる。ここでは分析を複雑にしないように、アイドルモードは１つだけと仮定する。ディスクがスタンバイモードにいるとき、ディスクは回転していない。この分析では、ディスクをスピンダウンする時間（ｔｉｍｅ  ｆｏｒ  ｓｐｉｎｎｉｎｇ  ｄｏｗｎ）およびスピンアップする時間（ｔｉｍｅ  ｆｏｒ  ｓｐｉｎｎｉｎｇ  ｕｐ）は、ディスクがスタンバイモードにある時間の一部と考える。
【００１８】
また、以下のように分析を単純化する。ラウンドロビンディスクスケジューリングについて説明する時以外は、すべてのストリームは再生ストリームであり、シーク時間と回転遅延はゼロであると仮定する。実際、シーク時間と回転遅延には時間がかかるが、一般的には少なくとも１分はかかるスタンバイ時間と比較して、無視できるほど小さい。
【００１９】
以下の説明は、ディスクが複数のデータストリームを処理しなければならない場合に適応できる、基本的なスタンバイストラテジについての説明である。単一バッファのリフィリングは先取りされていないと仮定した。スタンバイストラテジを適用するグローバルな目的は、時間単位あたりの平均省エネルギーを最大化することである。
【００２０】
ｎ個の不変ビットレートストリーム（ｎ＝１，２，…，ｎ）があると考える。ストリームのバッファは、ラウンドロビン状に繰り返しリフィル（ｒｅｆｉｌｌ）される。すなわち、決まった順番で、例えば、最初にストリーム１、次にストリーム２、のようにリフィルされる。バッファをリフィルすると、ディスクはスタンバイモードになる。図１は、時間の関数として２つのストリーム１（１０）と２（１２）のバッファフィリングを示す。ここで、ｒ２＝２ｒ１である。ストリーム１と２の下り傾斜スタンバイ部分（１４、１６）の傾斜の大きさは、それぞれｒ１とｒ２である。バッファリフィリングレートはリフィルセクション（１８、２０）の登り傾斜に対応する。
【００２１】
ストリームｉについて、リフィリング中には、バッファフィリングはレートｒｄｉｓｋ−ｒｉで増加し、リフィリング中でなければ、レートｒｉで減少する。ストリームｉのバッファサイズをｂｉとすると、ストリームｉのバッファをリフィルするのに要する時間はｂｉ／（ｒｄｉｓｋ−ｒｉ）で与えられる。バッファをカラにするのに要する時間はｂｉ／ｒｉで与えられる。バッファに利用できるメモリを最適に使用するためには、ストリームの各ペアｉ、ｊについて
【数５】
0004406000.tif 000002
この条件が満たされない場合、一部のバッファはカラになる前にリフィルされなければならない。式１は、バッファサイズがそれぞれのビットレートに比例しないことを示していることに注意せよ。Ｋｏｒｓｔ  ｅｔ  ａｌ．［１９９８］を参照。レートｒｉ＞ｒｄｉｓｋ／２であるストリームｉについて、ｒｉが高くなると、必要なバッファサイズｂｉは減少する。図２は、ｒｉ（２６）とｂｉ（２４）の関係（２２）を示したグラフであり、変曲点（２８）がｒｉ＝ｒｄｉｓｋ／２のところにある。
【００２２】
ディスクを繰り返しスタンバイモードにすることにより、本当にエネルギーを節約することができるかどうかについて、検討する。ディスクをスタンバイモードにすると、スタンバイインターバルの開始時点でディスクをスピンダウンする余分なエネルギーがかかり、スタンバイインターバルの終了時点でディスクをスピンアップする余分なエネルギーがかかる。この余分なエネルギーが、ディスクがスタンバイモードにある時間に節約されるエネルギーにより相殺される場合に、エネルギーを節約することができる。相殺できない場合には、ディスクをアイドルモードにしておく方が好ましい。
【００２３】
ＰｉｄｌｅとＰｓｔａｎｄｂｙをアイドルモードとスタンバイモードそれぞれにおけるディスクの消費パワーとする。明らかに、Ｐｓｔａｎｄｂｙ＜Ｐｉｄｋｅである。ディスクがアイドルモードではなくスタンバイモードにある場合に、単位時間あたりで節約されるエネルギーは、ΔＰ＝Ｐｉｄｌｅ−Ｐｓｔａｎｄｂｙにより与えられる。さらにまた、Ｅを、ディスクを１回スピンダウンしてからスピンアップするのにかかる余分なエネルギーであるとし、ｐを完全なリフィル−スタンバイサイクルの期間であるとする。各サイクルで読み出されるストリームｉのデータ量はｐ＊ｒｉで与えられる。よって、１サイクルで読み出されるデータ量は、
【数６】
0004406000.tif 000003
により与えられる。このデータ量を読み出すには、時間
【数７】
0004406000.tif 000004
が必要である。よって、１サイクルごとにスタンバイのために残っている時間は
【数８】
0004406000.tif 000005
により与えられる。従って、１サイクルの間にスタンバイモードで節約されるエネルギー量は
【数９】
0004406000.tif 000006
により与えられ、この量がＥと等しい時に、ブレークイーブンポイントとなる。次の補題が成り立つ。
補題１  ｍをバッファに利用でき、ストリームにわたって最適に分割されるメモリ量とする。ディスクをスタンバイモードにすると、
【数１０】
0004406000.tif 000007
である場合に限ってエネルギーを節約することができる。
証明    メモリ量ｍはストリームにわたって最適に分割されるので、各ストリームｉに対してｐ＝ｂｉ／ｒｉ＋ｂｉ／（ｒｄｉｓｋ−ｒｉ）である。言い換えると、各ストリームｉについて、ｐ＝ｂｉ＊αｉである。ここで、αｉ＝ｒｄｉｓｋ／（ｒｉ＊ｒｄｉｓｋ−ｒｉ２）である。
【００２４】
【数１１】
0004406000.tif 000008
なので、
【数１２】
0004406000.tif 000009
となる。よって、ディスクがスタンバイモードにある時間は、以下のように書き直すことができる。
【００２５】
【数１３】
0004406000.tif 000010
この時間の間に、時間単位あたりΔＰが節約される。よって、
【数１４】
0004406000.tif 000011
である時のみエネルギーを節約することができる。
【００２６】
上の式を書き換えると式２となる。
ディスクをスピンダウンする時間、およびスピンアップする時間については何も仮定していないことに注意せよ。明らかに、ディスクは適当な時にリフィリングを開始するためにスピンアップしなければならない。ブレークイーブンポイントはスピンダウン時間およびスピンアップ時間が含まれるくらい十分大きくなければならない。
【００２７】
各ストリームｉについて上限ｒｉｍａｘだけが既知であるｎ個のＶＢＲストリームの場合を検討する。すべてのｔ∈［０，ｌｉ］に対して、ｒｉｍａｘ≧ｒｉ（ｔ）である。バッファサイズは上で説明したように選択することができる。この時、計算では一定レートｒｉではなく上限ｒｉｍａｘを用いる。
【００２８】
平均して、ストリームｉのビットレートはｒｉｍａｘよりも小さい。それゆえ、スタンバイ時間を固定することに固執するのではなく、もともと予定されていたスピンアップの前に、バッファフィリングをチェックする方が、意味がある。これらのバッファフィリングに基づき、最新のリフィルインターバルを更新する。このように、スタンバイ時間は通常延長することができる。時刻ｔにバッファフィリングを分析して、リフィリングを開始する新しい時間を以下のように決定する。時刻ｔにおけるストリームｉのバッファフィリングｆｉ（ｔ）を与えられて、時刻ｔにおけるストリームｉの最新リフィルインターバルは、次のように決定することができる。
【００２９】
【数１５】
0004406000.tif 000012
この期間の前または期間中に、ストリームｉのレートはｒｉｍａｘと等しいと仮定する。異なるストリームの最新リフィルインターバルは時間的に重なってもよく、ビットレートの可変性によりインターバル間にギャップができてもよい。オーバーラップを避けるため、またはギャップを無くすため、一部のリフィルインターバルを早くしなければならない、すなわち、時間的に早くスケジュールすることがある。リフィルインターバルを早くすることにより、読み出すべきデータは減少し、リフィルインターバルの長さは減少する。以下の補題は、リフィルインターバルの長さがどのように影響されるかを説明している。
終了時間ｅｉをδｅだけ早くすることにより、リフィルインターバル［ｓｉ，ｅｉ）を早くすると、リフィルインターバルの長さは
【数１６】
0004406000.tif 000013
だけ減少する。
【００３０】
あるいは、開始時間ｓｉをδｓだけ減らすことにより、リフィルインターバルを早くすると、リフィルインターバルの長さは
【数１７】
0004406000.tif 000014
だけ減少する。
【００３１】
証明    図３を参照して、次の結果をまず証明する。ｓｉ（３０）がδｓ時間単位（３２）だけ早められると、リフィルを開始するときに、δｓ＊ｒｉｍａｘ（３４）がバッファに残っている。その結果、リフィル時間はδｓ＊ｒｉｍａｘ／（ｒｄｉｓｋ−ｒｉｍａｘ）だけ減少する。あるいは、ｅｉがδｅ時間単位（３６）だけ早められると、リフィルインターバルの減少は簡単な幾何学的議論により証明することができる。リフィルが開始される時間ｔ（３８）はｓｉ−δｅとｓｉの間にある。より正確には、ｔは、（ｓｉ−δｅ，０）で始まる傾きｒｄｉｓｋ−ｒｉｍａｘの線が、（ｓｉ，０）で終わる傾き−ｒｉｍａｘの線と交わる点である。結果として、ｔはｓｉ−δｅ＊（ｒｄｉｓｋ−ｒｉｍａｘ）／ｒｄｉｓｋにより与えられ、リフィルインターバルの減少はδｅ＊ｒｉｍａｘ／ｒｄｉｓｋにより与えられるｔ−（ｓｉ−δｅ）として表される。
【００３２】
オーバーラップを避けるために、リフィルインターバルの終了時間を所定量だけ減少し、ギャップを無くすため、リフィルインターバルの開始時間を所定量だけ減少する。図３は、リフィルインターバルを早くした例を示している。図４の上部（４６）にストリーム１、２、３、４について最新リフィルインターバル（４８、５０、５２、５４）を示した。
【００３３】
繰り返しスタンバイ期間を設けるラウンドロビンディスクスケジューリングは携帯記憶デバイスで容易に実施することができる。図５に示したように、ラウンドロビンディスクスケジューリングに関していくつか基本的な仮定をする。第１に、ディスクはｎ個のストリームよりなる一組のストリームＳ（５６）を提供する。ストリームには番号１、２、．．．、ｎが付されている。各ストリームについて、最大ビットレートｒｉｍａｘが与えられる。時間ｔにおいて、ディスクとの間で読み書きされるデータは最大でもｒｉｍａｘである。ディスクのビットレートの保証値はｒｄｉｓｋで与えられる。明らかに、一組のストリームの供給を保証するために、
【数１８】
0004406000.tif 000015
であり、受け入れ制御によりこうなることを保証できる。説明を簡単にするために、一般性を失わずに、すべてのデータストリームはディスクから読み出されるということを仮定することができる。
【００３４】
ストリームのデータブロックがバッチで繰り返し読み出される。連続するバッチを処理する間に、ディスクをスピンダウンすることを正当化できるくらいスタンバイ時間が十分長いことを条件に、ディスクはスタンバイモードにされる。
【００３５】
ストリームのためのバッファは、それぞれの最大ビットレートに比例して選択される。Ｓは延長されないと仮定して、ストリームのデータをバッファするのに利用できるメモリ量ｍはストリームに区分けされ、ストリームｉには
【数１９】
0004406000.tif 000016
が割り当てられる。あるいは、各ストリームの期待平均ビットレートが既知の場合、さらにエネルギーを節約するため、メモリが
【数２０】
0004406000.tif 000017
によりストリームにわたって区分けされる。ここで、ｒｉａｖｇはストリームｉの期待平均ビットレートを表す。
【００３６】
バッファは、以下に示すように、決まった順序で繰り返しリフィルされる。ディスクはスピンアップし、最初にストリーム１、次にストリーム２、等を提供する。ストリームバッファｎ（５８）をリフィルした後、ディスクは潜在的にスタンバイモードにされる。ディスクをスタンバイモードにする前に、すべてのストリームのバッファがアンダーフローしないことを保証するために、ディスクをいつ再度スピンアップするかを決定する。この時間はストリームの最大ビットレートに基づく。１つのバッファをリフィルする間隔は、少なくとも
【数２１】
0004406000.tif 000018
である。最悪の場合、すべてのストリームが最大ビットレートで消費されると、正確に
【数２２】
0004406000.tif 000019
時間単位ごとに１度バッチが処理される。平均として、ストリームの最大ビットレートにより与えられるよりも低いレートでデータがバッファから消費される。ｔ０（６０）を最悪の場合に、すべてのストリームがアンダーフローしないようにストリーム１のバッファがフィリング（ｆｉｌｌｉｎｇ）されるように、ディスクがスピンアップする時間とする。
【００３７】
ｔ０またはその直前に、それぞれのバッファのデータ量を再度調べ、現在のバッファフィリング下でスタンバイ時間を延長することができるか決定する。これは以下のように実行することができる。ｆｉ（ｔ）を時刻ｔにおけるストリームｉのバッファ中のデータ量を表すとする。すると、各ストリームｉがバッファをリフィルするデッドラインは早ければｔ０＋ｆｉ（ｔ０）／ｒｉｍａｘで与えられる。最後のストリーム（５８）、すなわちストリームｎについて、デッドラインはｔ０＋ｆｎ（ｔ０）／ｒｎｍａｘである。この時間までは、ストリームｎのバッファのリフィリングを開始する必要はない。同様に、ストリームｎ−１（６４）のバッファのリフィルは、ストリームｎ（５８）に対してバッファアンダーフローを起こさないことを条件に、ｔ０＋ｆｎ−１（ｔ０）／ｒｎ−１ｍａｘまで遅らせることができる。ｓｎ−１，ｎ（６６）が、ストリームｎ−１（６４）のリフィルとストリームｎ（５８）のリフィルとの間の、スイッチングに必要な時間とすると、すなわちシーク時間と回転遅延であるとする。ストリームｎについてバッファアンダーフローを避けるため、ストリームｎのバッファのリフィルはｔ０＋ｆｎ（ｔ０）／ｒｎｍａｘに開始すべきである。その結果、ストリームｎ−１のリフィルはｔ０＋ｆｎ（ｔ０）／ｒｎｍａｘ−ｓｎ−１，ｎに完了しているべきである。リフィルの開始時点ですでに余裕のあるバッファのデータ量を読み出すと仮定すると、ストリームｎ−１へのリフィルは長くて
【数２３】
0004406000.tif 000020
時間単位だけ継続する。よって、
【数２４】
0004406000.tif 000021
がｔ０＋ｆｎ−１（ｔ０）／ｒｎ−１ｍａｘより小さいときはいつも、ストリームｎ−１のリフィルはｔ０＋ｆｎ−１（ｔ０）／ｒｎ−１ｍａｘの前に開始する。より精密にいうと、ｆｎ−１（ｔ０）−（ｔ−ｔ０）ｒｎ−１ｍａｘ＝（ｔ−ｔ’）ｒｄｉｓｋである時刻ｔに開始する必要がある。ここで、
【数２５】
0004406000.tif 000022
である。
【００３８】
図５は、ストリームｎ（５８）のバッファをリフィルする開始時間により、ストリームｎ−１（６４）のバッファをリフィルする開始時間がどのように進められるかを示している。時刻ｔ０（６０）において、連続するストリームのバッファフィリングが示されている。バッファにほとんどのデータが残っているストリームｎ（５８）、ストリームｎ−１（６４）である。ディスクをスピンアップするのに間に合う最も遅い時間を計算するため、各ストリームはそれぞれの最大ビットレートでバッファからデータを消費すると次に仮定する。
【００３９】
同様に、ディスクに対して更新されたスピンアップ時間が導かれるまでは、ストリームｎ−１等について最も早いリフィル時間が与えられると、ストリームｎ−２（６８）についてバッファリフィルを開始する最も早い時間を決定することができる。この時間をｔ１とすると、ｔ１またはその直前に、新しい更新された最も早いスピンアップ時間を、時間ｔ１におけるバッファフィリングに基づいて決定することができる。この手続きは、反復回数をｋとして、時間ｔｋが前の値ｔｋ−１に非常に近くなるまで繰り返される。そうしてようやくディスクのスピンアップが始まる。ディスクがスピンアップされる時、すべてのストリームを中断することなく順番にリフィルすることができる。あるいは、後続するすべてのストリームｉ＋１、ｉ＋２、．．．、ｎを遅延できることを条件に、２つの連続するストリームｉとｉ＋１をリフィルする間に一時休止を入れてもよい。
【００４０】
ストリームが提供される順番は、ストリームの実際のバッファフィリングに合わせルことができることも明らかである。ストリーム１が、その最大レートｒ１ｍａｘにより与えられるよりも非常に小さいレートでバッファから消費されるとき、次のバッチでバッファをリフィルする順番を変えることにより、スタンバイ期間を延長することができる。これは以下のように行うことができる。第１に、順序変更はしないと仮定して、上記の手続きに続き、時刻ｔにおいて、次の更新されたスピンアップ時間ｔｉ＋１を決定する。ｔｉとｔｉ＋１の間に、発見的な方法を用いて、時間ｔｉにおけるバッファフィリングを使用して、次のバッチでストリームの順番を変えると、ｔｉ＋１の値が大きくなるかどうかチェックする。大きくなる場合、この新しい順番を仮定して、さらに改良することを求めるプロセスを、ｔｉ＋１の現在値が得られるまで続ける。発見的方法は、次の読み出しアクセスでアクセスしなければならないディスク上のそれぞれの位置におけるシーク時間と回転遅延だけでなく、ストリームの最も早いデッドライン、すなわち、バッファがアンダーフローする最も早い時を考慮することができる。
【００４１】
リフィルインターバルを順序づけする目的は、現在のスタンバイ時間をできるだけ長く引き延ばすことである。すなわち、最初のリフィルをできるだけ遅く始められるように、リフィルを順序づけすることである。
【００４２】
レートｒｄｉｓｋで一組のストリームを有するディスクが与えられたとして、各ストリームｉについて、最大ビットレートはｒｉｍａｘで与えられ、最新のリフィルインターバルは［ｓｉ，ｅｉ）により与えられる。リフィルができるだけ遅く開始されるようにリフィルインターバルを順序付けする。
【００４３】
リフィルの順序づけはＮＰ困難であることが分かっている。すなわち、この最適化問題を解決する多項式時間アルゴリズムはありそうにない。実際には、携帯記憶デバイスにおいて、ストリームの数はきわめて少なく、その結果しらみつぶしの検索が通常は可能である。リフィルを開始しなければならない時間の合理的な下限を素早く決定するために、以下のバック・フロント・バック（ＢＦＢ）と呼ばれる発見的アルゴリズムにより、ストリームのリフィルのスケジュールを決定する。基本的な目的は、バッファのアンダーフローを避けることを保証しつつ、バッファのリフィルをできるだけ遅く開始することである。
【００４４】
ＢＦＢアルゴリズムは２つのステップで進む。第１のステップにおいて、最新のリフィルインターバルが後ろから前へ、すなわち終了時間の非増加順に調べられる。図４の例では、最初にストリーム４、次にストリーム３、等である。リフィルインターバル［ｓｉ，ｅｉ）が先行するリフィルインターバル［ｓｊ，ｅｊ）の終了よりも早く始まるとき、すなわちｅｊ＞ｓｊであるとき、この先行するリフィルインターバルは時間ｅｊ−ｓｊだけ早められる。リフィルを早く開始することにより、読み出すデータは少なくなり、上で説明したように、リフィルインターバルの長さが減少する。その結果は図４の中間部（７０）に示されている。
【００４５】
第２のステップで、残っているギャップを無くすため、結果のリフィルインターバルを前から後ろに再度調べる。これらのギャップはスタンバイ時間に対して不都合な効果を有し、削除しなければ連続したサイクルに成長することがある。そこで、ギャップの後のすべてのリフィルインターバルを時間的に前にずらし、リフィルインターバルを短くする。この第２のステップは図４の下部（７２）に示されている。
【００４６】
リフィルバッチの終わりで、すなわちディスクが再度スピンダウンされる時にギャップを無くすことにより、バッファは少なくともいっぱいになることに注意せよ。ストリームのリフィルを終了してディスクをスピンダウンする間の時間は増加せずに、場合によって減少するからである。よって、ギャップを無くすと、一般に次のスタンバイインターバルの長さが減少する。
【００４７】
ＢＦＢアルゴリズムは、単一のリフィル−スタンバイサイクルに繰り返し適用される。バッファフィリングに関する更新された情報に基づいて、期待残余スタンバイ時間がディスクをスピンアップする時間に近づくまで、スタンバイ時間を繰り返し延長することができる。
【００４８】
前の説明において、ストリームのバッファは順番にリフィルされると仮定した。また、バッファが完全に満たされるまで、１つのストリームのリフィルが継続されると仮定した。このアプローチの欠点は、スタンバイインターバルのはじめには、バッファの一部は完全には満たされていないことである。
【００４９】
プリエンプティブリフィリングを可能とした場合にどうなるかを検討する。シーク時間と回転遅延はゼロであると仮定して、ラウンドロビン状に各バッファに少量ずつ加えることにより、すべてのバッファを並行してリフィルすることもできる。便宜上、ＣＢＲストリームに焦点を絞るが、先取りはＶＢＲストリームにも適用することができる。
【００５０】
バッファはほぼ同時にいっぱいとなるように満たされると仮定する。また、バッファサイズはすべてのストリームについて、そのバッファをいっぱいにするには同じ時間がかかるように選択される。その結果、
【数２６】
0004406000.tif 000023
が選択され、ディスクがスタンバイモードになる時間は
【数２７】
0004406000.tif 000024
により与えられる。
【００５１】
スタンバイインターバルの終わりでは、すべてのバッファがカラであり、すべてのストリームのリフィルが同時に始まると仮定する。すべてのバッファを同時に満たすために、リフィル時間はすべてのストリームにたいし等しくなければならない。βｉをストリームｉに対してバッファをリフィルするために使われるディスクレートｒｄｉｓｋの割合であるとする。
【００５２】
【数２８】
0004406000.tif 000025
が成り立つ。すべてのバッファが同時にリフィルされるためには、
【数２９】
0004406000.tif 000026
従って、リフィル時間は
【数３０】
0004406000.tif 000027
により与えられる。
【００５３】
ｎ個のストリームからなる一組のストリームについて、ｆをリフィルに費やさねばならない時間の割合であるとする。すなわち、
【数３１】
0004406000.tif 000028
すると、非プリエンプティブリフィルリフィルではなく、プリエンプティブリフィルを使用することにより、スタンバイ時間は係数
【数３２】
0004406000.tif 000029
だけ増加する。
証明    非プリエンプティブリフィルのスタンバイ時間は
【数３３】
0004406000.tif 000030
により与えられる。ｍ／ｒｊをこの表式により割ると、割合は
【数３４】
0004406000.tif 000031
により与えられる。この割合はｎ個のストリームが同一である場合、すなわち各ストリームｊに対して、ｒｊ＝ｆ＊ｒｄｉｓｋ／ｎである場合、最大となる。その場合、必要な結果が得られる。
表１はｎ＝２とｎ→∞に対して最大となる増加を表している。
【００５４】
【表１】
0004406000.tif 000032
表１  非プリエンプティブリフィルでなくプリエンプティブリフィルを用いたスタンバイインターバルの最大到達増加。ｆの異なる値について、ｎ＝２とｎ→∞の場合を示した。
実際には、シーク時間と回転遅延はゼロではない。従って、リフィル時間は、スタンバイ時間の割合よりも少し大きな割合で大きくなる。これにより、プリエンプティブリフィルの有利な点は部分的に無効になる。
【００５５】
実験によれば、読み取りや書き込み時のパワー使用量はデータを読み書きする位置には依存しない。しかし、最外周ゾーンの転送レートは最内周ゾーンの転送レートより５０％から１００％大きいので、最外周にファイルを読み書きするために使用するエネルギーは、最内周ゾーンで読み書きするときよりも５０％から７０％小さい。これによりさらにエネルギーを節約できる。
【００５６】
移動中に頻繁に使用するファイルは、バッテリーの浪費を減らし、エネルギーを節約するために外側ゾーンに格納することが好ましい。あまり頻繁に使用しないファイルは、移動中は、内側ゾーンに格納する。頻繁に使用するが電源に接続されているときにのみ使用するファイルは、外側ゾーンに格納する必要はない。
【００５７】
また、移動中に記録されたファイルは、最初最外周ゾーンに格納され、エネルギーを節約する。後で電源に接続されているとき、移動中にあまり頻繁にアクセスしなければ、これらのファイルは内側ゾーンに移動することができる。
【００５８】
省エネルギーの目安を与えるため、いくつかの設定を検討し、各設定において節約できるエネルギー量を示す。
【００５９】
例えば、東芝ＭＫＩＯＯ３ＧＡＬ  １．８インチディスクドライブは、以下の特徴を有している。ディスクの最内周ゾーンの持続ディスクレートは、ｒｄｉｓｋ＝７２Ｍｂｉｔ／ｓである。最外周ゾーンの持続レートは１２０Ｍｂｉｔ／ｓである。書き込み、読み出し、アイドル、スタンバイの各モードのパワー消費は、Ｐｗｒｉｔｅ＝１．４Ｊ／ｓ、Ｐｒｅａｄ＝１．４Ｊ／ｓ、Ｐｉｄｌｅ＝０．６Ｊ／ｓ、Ｐｓｔａｎｄｂｙ＝０．２Ｊ／ｓである。スピンダウンとスピンアップのエネルギーはＥ＝３．６５Ｊにより与えられる。ディスクをスピンダウン、スピンアップするために要する時間は、それぞれ０．６ｓと２．５ｓである。よって、ΔＰ＝０．４Ｊ／ｓであり、ブレークイーブンポイントは約９ｓである。
【００６０】
最初に、６Ｍｂｉｔ／ｓの単一のＣＢＲストリームが再生されると仮定する。１つのストリームしかなければ、このストリームについてはｂｉ＝ｍである。ｍの値が異なる場合について、表２に、ディスクを繰り返しスタンバイモードにすることにより実現される省エネルギーの下限と上限を、スタンバイモードを使用しないエネルギー使用量の割合として示した。下限となるのはデータを常に最内周ゾーンから読み出した時である。上限となるのはデータを常に最外周ゾーンから読み出した時である。リフィル−スタンバイサイクルの長さは、ｍに比例して増減し、ｍ＝８Ｍｂｙｔｅの場合の１１．６ｓからｍ＝１Ｇｂｙｔｅの場合の２５分の範囲にある。
【００６１】
ｍ→∞の場合、エネルギーの削減は
【数３５】
0004406000.tif 000033
に収束する。ここで、
【数３６】
0004406000.tif 000034
である。ｒｊｍａｘ＝６Ｍｂｉｔ／ｓのＢＶＲストリームの場合、メモリサイズｍの場合のエネルギー節約量は、ＣＢＲストリームのそれと少なくとも同じ大きさである。スタンバイインターバルは一般により長いからである。実際の節約量はｒｊｍａｘと平均ビットレートの差に大きく依存する。
【００６２】
どのくらい大きなエネルギーが節約されるかを見るため、複数ストリームについて考える。ｎ個のＣＢＲストリームがあり、各々６Ｍｂｉｔ／ｓであると仮定する。ビットレートは同じと仮定したので、各ストリームのバッファはｍ／ｎにより与えられる。よって、リフィル−スタンバイサイクルの長さｐは、ｍ／（ｎ＊ｒｄｉｓｋ−ｎ＊ｒｉ）＋ｍ／（ｎ＊ｒｉ）により与えられる。結果として、メモリ量ｍを固定すると、サイクル時間ｐはｎに反比例する。表３は、異なるメモリサイズに対して、１から５までのストリームについてエネルギー削減の下限と上限を示している。
【００６３】
【表２】
0004406000.tif 000035
表２  単一の再生ストリームについて、バッファに利用できるメモリの関数としての節約できるエネルギー割合。ディスクの最内周ゾーンからの読み出しと最外周ゾーンからの読み出しの両方を示した。
東芝のディスクドライブの標準ファームウェアは、１５秒間ディスクに要求が無ければ、アイドルモードからローパワーモードにスイッチする。該ディスクでは、ローパワーモードのパワー使用量は０．４Ｊ／ｓである。繰り返しスタンバイモードになる場合と１５秒後に繰り返しローパワーアイドルモードになる場合とを比較すると、ｍ→∞の場合のエネルギー削減の下限と上限は、１から５のストリームまでそれぞれ３７．９−４２．２％、２９．４−３６．０％、２３．１−３０．９％、１８．２−２６．７％、１４．３−２３．１％である。
【００６４】
【表３】
0004406000.tif 000036
表３    １から５までのストリームについて、バッファに利用可能なメモリの関数としてエネルギー削減量の下限と上限を示した。読み出しはディスクの最内周ゾーンまたは最外周ゾーンからのみであると仮定した。
携帯ディスクベース記憶デバイスの省エネルギーについていくつかのストラテジを検討してきた。以上の実施例により節約量はかなり大きいことが分かる。節約されるエネルギーはパラメータ数に依存し、バッファに利用できるメモリ量は重要なパラメータである。携帯ディスクベース記憶デバイスの設計においては、固体メモリ量を多くすることは無駄ではない。メモリを大きくすれば、エネルギーをより節約でき、バッテリー寿命も延びるからである。
【００６５】
携帯デバイスにおいてエネルギーを節約する方法とストラテジを、例えばビデオがハードディスクドライブから再生される時に、カラにされる複数のバッファに関して説明した。再生の場合、複数のバッファはそれぞれのビットレートｒｉでカラにされ、ディスクレート（読み出し）と再生ビットレートの差、ｒｄｉｓｋ−ｒｉと等しいレートでリフィルされる。例えば、ビデオを後で再生するためにハードディスクドライブに記録する場合にも、同じ方法とストラテジを適用できることは明らかである。記録方法は基本的に再生方法と対称的である。例えば、複数のバッファはそれぞれの記録／受信ビットレートで満たされ、ディスクレート（書き込み）と記録／受信ビットレートの間の差、ｒｄｉｓｋ−ｒｉと等しいレートでカラにされる。しかし、ここでバッファアンダーフローを防止しようとするのではなく、状況は逆であり、複数のバッファのオーバーフローを保護しなければならない。さらに、複数のバッファがカラになってからスタンバイモードになり、複数のバッファがリフィルされてからではない。
【００６６】
図６は、本発明による携帯デバイスの実施例を示すブロック図である。ディスクドライブ８０は、マルチメディアコンテントの記憶媒体として備えられている。ディスクドライブ８０はディスクドライバ８２に制御されて動作し、ディスクドライバ８２は読み出し／書き込みモジュール８４と通信し、読み出し／書き込みモジュール８４は、ディスクドライバ８２に読み出し、書き込み、制御命令を与える。固体メモリ８６が備えられ、一組の複数のバッファ８８に区分けされている。固体メモリの容量は、少なくともｍバイトある。システムコントローラ９０は携帯デバイスの動作を制御する。システムコントローラ９０は、バッファ８８へのアクセス、ユーザインターフェイル９２との間の入出力動作、ファイルシステム９４を介したディスクアクセスを制御する。ユーザインターフェイス９２はマルチメディアストリームを表示したり、ユーザからの命令を受け取ったりするための、携帯デバイスに典型的な機能を有している。スケジューリングモジュール９６が備えられ、ラウンドロビンスケジューリングモジュール９８、ＢＦＢアルゴリズムモジュール１００等の、本発明の機能を組み込んでいる。この携帯デバイスを要約した形で示したが、本発明の実施形態を組み込んだデバイスのクラスを例示するものとして機能する。
【００６７】
好ましい実施形態を参照して本発明を説明した。明らかに、以上の詳細な説明を読んで理解した当業者は、修正や変更を考えることができる。添付したクレームまたはその均等物の範囲内にある修正や変更はすべて含まれるものと本発明は解釈すべきである。
【図面の簡単な説明】
【００６８】
【図１】本発明によるバッファリフィル／スタンバイインターバルを示す図である。
【図２】本発明によるディスクレートの関数としてバッファサイズを示すグラフである。
【図３】本発明によるリフィルインターバルの前進を示す図である。
【図４】本発明によるバック・フロント・バック法を示す図である。
【図５】本発明によるラウンドロビンスケジューリングを示す図である。
【図６】本発明によるモバイルデバイスを示すブロック図である。
【図１】
0004406000.tif 000041
【図２】
0004406000.tif 000042
【図３】
0004406000.tif 000043
【図４】
0004406000.tif 000044
【図５】
0004406000.tif 000045
【図６】
0004406000.tif 000046