一組の代替ビデオストリームを含むメディアの適応型ビットレートストリーミングを行うように構成された再生デバイスであって、該再生デバイスは、クライアントアプリケーションおよびバッファを含むメモリと、プロセッサとを備え、該クライアントアプリケーションは、第1のビデオストリームを一組の代替ビデオストリームから選択することであって、少なくとも複数の該代替ビデオストリームは、より高い最大ビットレートでエンコードされる該一組の代替ビデオストリーム中のストリームの上限シーク遅延以下である上限シーク遅延を有するようにエンコードされる、ことと、ネットワーク接続を介して該第1のビデオストリームのチャンクを要求し、該要求されたチャンクを該バッファ中に記憶することと、該第1のビデオストリームの該バッファリングされたチャンクを再生することと、該ネットワーク接続のチャネルデータレートを測定することと、第2のビデオストリームを該一組の代替ストリームから選択することであって、該第2のビデオストリームは、該測定されたチャネルデータレート未満である最大ビットレートを有する、こととを行うように該プロセッサを構成する、再生デバイス。前記クライアントアプリケーションは、所定の時間間隔の間にダウンロードされたデータの量を計算することと、該所定の時間間隔の間に現在のデータがダウンロードされる任意のギャップを観察することと、任意のギャップの持続時間を該所定の時間間隔から減算することによって、有効時間間隔を計算することと、該ダウンロードされたデータの量を該有効時間間隔で除算して、データレート測定値を取得することとを実行するように前記プロセッサを構成することによって、前記ネットワーク接続のチャネルデータレートを測定するように該プロセッサを構成する、請求項1に記載の再生デバイス。前記クライアントアプリケーションは、所定の安全マージンを前記データレート測定値から減算することによって、測定されたチャネルデータレートを取得するように前記プロセッサをさらに構成する、請求項2に記載の再生デバイス。前記クライアントアプリケーションは、前記バッファが、前記第1のビデオストリームの前記上限シーク遅延以上の再生持続時間を有する該第1のビデオストリームからのチャンクを含有するとき、前記測定されたチャネルデータレート未満の最高の最大ビットレートを有する第2のビデオストリームを選択するように前記プロセッサを構成する、請求項1に記載の再生デバイス。前記クライアントアプリケーションは、前記バッファが、第2のビデオストリームの上限シーク遅延以上の再生持続時間を有する前記第1のビデオストリームからのチャンクを含有するとき、前記測定されたチャネルデータレート未満の最高の最大ビットレートを有する該第2のビデオストリームを選択するように前記プロセッサを構成する、請求項1に記載の再生デバイス。前記代替ビデオストリームの各々は、最大バッファサイズ制約条件および最大ビットレートを前提としてエンコードされ、前記クライアントアプリケーションは、該ビデオストリームのエンコーディングにおいて使用される該最大バッファサイズ制約条件および最大ビットレートに基づいて、ビデオストリームの前記上限シーク遅延を決定するように前記プロセッサを構成する、請求項5に記載の再生デバイス。前記クライアントアプリケーションは、式中、レベルバッファサイズは、前記ビデオストリームをエンコードすることにおいて使用される前記最大バッファサイズ制約条件であり、持続時間チャンクは、ビデオの単一チャンクを再生するためにかかる時間であり、レベルレートは、該ビデオの前記最大ビットレートであり、レートは、前記ネットワークデータレートであるような該ビデオストリームの前記上限シーク遅延を決定するように前記プロセッサを構成する、請求項6に記載の再生デバイス。前記クライアントアプリケーションは、前記第1のビデオストリームからのコンテンツのバッファリングされたチャンクを再生するためにかかる時間の間に第2のビデオストリームからダウンロードされたメディアの量の再生持続時間が該第2のビデオストリームの下限シーク遅延以上であるように、該第2のビデオストリームを前記一組の代替ストリームから選択するように前記プロセッサを構成する、請求項1に記載の再生デバイス。前記代替ビデオストリームの各々の下限シーク遅延は、該代替ビデオストリームの各々の中に含まれ、前記クライアントアプリケーションは、前記第2のビデオストリームの該下限シーク遅延を前記第1のビデオストリームから取得するように前記プロセッサをさらに構成する、請求項8に記載の再生デバイス。前記代替ビデオストリームは、initial_cpb_removal_delayフィールド中のSEIバッファリングメッセージ中の遅延情報を伝達するH.264ビットストリームであり、前記クライアントアプリケーションは、前記第1のビデオビデオストリームからのコンテンツのバッファリングされたチャンクを再生するためにかかる時間の間に第2のビデオストリームからダウンロードされたメディアの量の再生持続時間が、該第2のストリームにおいて、initial_cpb_removal_delayフィールド中のSEIバッファリングメッセージの中で指定される値を使用して計算された遅延以上であるように、該第2のビデオストリームを前記一組の代替ストリームから選択するように前記プロセッサを構成する、請求項1に記載の再生デバイス。安全シーク遅延が、前記代替ビデオストリームの各々の中に含まれ、前記クライアントアプリケーションは、前記第1のビデオストリームからのコンテンツのバッファリングされたチャンクを再生するためにかかる時間の間に第2のビデオストリームからダウンロードされたメディアの量の再生持続時間が前記安全シーク遅延以上であるように、該第2のビデオストリームを前記一組の代替ストリームから選択するように前記プロセッサを構成する、請求項1に記載の再生デバイス。前記代替ビデオストリームは、initial_cpb_removal_delayフィールド中のSEIバッファリングメッセージ中の前記安全シーク遅延の伝達を行うH.264ビットストリームである、請求項11に記載の再生デバイス。前記クライアントアプリケーションは、前記第1のビデオストリームが前記測定されたチャネルデータレートを下回る所定の量である最大ビットレートを有するように、該第1のビデオストリームを前記一組の代替ストリームから選択することと、前記バッファリングされたチャンクの再生持続時間が該第1のビデオストリームの前記上限シーク遅延以上であるように、該第1のビデオストリームの再生の間に該第1のビデオストリームから受信したチャンクをバッファリングすることとを行うように前記プロセッサを構成する、請求項1に記載の再生デバイス。前記クライアントアプリケーションは、前記バッファが、前記第1のビデオストリームの上限シーク遅延以上の再生持続時間を有する、該第1のビデオストリームからのチャンクを含有するとき、前記測定されたチャネルデータレート未満の最高の最大ビットレートを有する第2のビデオストリームを選択するように前記プロセッサを構成する、請求項13に記載の再生デバイス。前記クライアントアプリケーションは、前記バッファが、前記第1のビデオストリームの上限シーク遅延未満の再生持続時間を有する、前記第1のビデオストリームからのチャンクを含有し、前記測定されたチャネルデータレートが信頼できないとき、最低の最大ビットレートを有する第2のビデオストリームを選択するように前記プロセッサを構成する、請求項1に記載の再生デバイス。前記クライアントアプリケーションは、前記測定されたチャネルデータレートに基づいて前記第1のビデオストリームのチャンクをダウンロードするために予期される時間が、前記第1のビデオストリームのチャンクをダウンロードするためにかかる実際の時間を上回る所定の量であり、前記バッファが、該第1のビデオストリームの前記上限シーク遅延以上の再生持続時間を有する、前記第1のビデオストリームからのチャンクを含有するとき、該第1のビデオストリームの最大ビットレートを上回る最大ビットレートを有する第2のビデオストリームを選択するように前記プロセッサを構成する、請求項1に記載の再生デバイス。一組の代替ビデオストリームを含むメディアの適応型ビットレートストリーミングを行う方法であって、該方法は、再生デバイスを使用して、第1のビデオストリームを一組の代替ビデオストリームから選択することであって、少なくとも複数の代替ビデオストリームは、より高い最大ビットレートでエンコードされる該一組の代替ビデオストリーム中のストリームの上限シーク遅延以下である上限シーク遅延を有するようにエンコードされる、ことと、該再生デバイスを使用して、ネットワーク接続を介して該第1のビデオストリームのチャンクを要求し、該要求されたチャンクをバッファ中に記憶することと、該再生デバイスを使用して、該第1のビデオストリームのバッファリングされたチャンクを再生することと、該再生デバイスを使用して、該ネットワーク接続のチャネルデータレートを測定することと、該再生デバイスを使用して、第2のビデオストリームを該一組の代替ストリームから選択することであって、該第2のビデオストリームは、該測定されたチャネルデータレート未満である最大ビットレートを有する、こととを含む、方法。前記再生デバイスを使用して、前記ネットワーク接続のチャネルデータレートを測定することは、該再生デバイスを使用して、所定の時間間隔の間にダウンロードされたデータの量を計算することと、該再生デバイスを使用して、該所定の時間間隔の間に、現在データがダウンロードされる任意のギャップを観察することと、該再生デバイスを使用して、該所定の時間間隔から任意のギャップの持続時間を減算することによって、有効時間間隔を計算することと、該再生デバイスを使用して、該ダウンロードされたデータの量を該有効時間間隔で除算して、データレート測定値を取得することとさらにを含む、請求項17に記載の方法。前記再生デバイスを使用して、前記ネットワーク接続のチャネルデータレートを測定することは、前記データレート測定値から所定の安全マージンを減算することによって、測定されたチャネルデータレートを取得することをさらに含む、請求項18に記載の方法。前記再生デバイスを使用して、第2のビデオストリームを前記一組の代替ストリームから選択することは、該再生デバイスを使用して、第2のビデオストリームを選択することをさらに含み、該第2のストリームは、前記バッファが、前記第1のビデオストリームの前記上限シーク遅延以上の再生持続時間を有する該第1のビデオストリームからのチャンクを含有するとき、前記測定されたチャネルデータレート未満の最高の最大ビットレートを有する、請求項17に記載の方法。前記再生デバイスを使用して、第2のビデオストリームを前記一組の代替ストリームから選択することは、該再生デバイスを使用して、第2のビデオストリームを選択することをさらに含み、該第2のストリームは、前記バッファが、該第2のビデオストリームの上限シーク遅延以上の再生持続時間を有する前記第1のビデオストリームからのチャンクを含有するとき、前記測定されたチャネルデータレート未満の最高の最大ビットレートを有する、請求項17に記載の方法。前記代替ビデオストリームの各々は、最大バッファサイズ制約条件を前提としてエンコードされ、前記方法は、該ビデオストリームのエンコーディングにおいて使用される該最大バッファサイズ制約条件に基づいて、前記再生デバイスを使用して、該ビデオストリームの前記上限シーク遅延を決定することをさらに含む、請求項21に記載の方法。式中、レベルバッファサイズは、前記ビデオストリームをエンコードすることにおいて使用される最大バッファサイズ制約条件であり、持続時間チャンクは、ビデオの単一チャンクを再生するためにかかる時間であり、レベルレートは、該ビデオの最大ビットレートであり、レートは、前記ネットワークデータレートであるような該ビデオストリームの前記上限シーク遅延を決定することをさらに含む、請求項22に記載の方法。前記再生デバイスを使用して、第2のビデオストリームを前記一組の代替ストリームから選択することは、前記第1のビデオストリームからのコンテンツのバッファリングされたチャンクを再生するためにかかる時間の間に該第2のビデオストリームからダウンロードされたメディアの量についての再生持続時間が、該第2のビデオストリームの下限シーク遅延以上であるように、該再生デバイスを使用して、該第2のビデオストリームを該一組の代替ストリームから選択することをさらに含む、請求項17に記載の方法。前記代替ビデオストリームの各々の下限シーク遅延は、該代替ビデオストリームの各々の中に含まれ、前記方法は、前記再生デバイスを使用して、前記第2のビデオストリームの下限シーク遅延を前記第1のビデオストリームから取得することをさらに含む、請求項24に記載の方法。前記代替ビデオストリームは、initial_cpb_removal_delayフィールド中のSEIバッファリングメッセージ内の遅延情報の伝達をするH.264ビットストリームであり、前記再生デバイスを使用して、第2のビデオストリームを前記一組の代替ストリームから選択することは、前記第1のビデオストリームからのコンテンツのバッファリングされたチャンクを再生するためにかかる時間の間に該第2のビデオストリームからダウンロードされたメディアの量の再生持続時間が、該第2のストリームにおいて、initial_cpb_removal_delayフィールド中のSEIバッファリングメッセージ内で指定される値を使用して計算される遅延以上であるように、該再生デバイスを使用して、該第2のビデオストリームを該一組の代替ストリームから選択することをさらに含む、請求項17に記載の方法。安全シーク遅延が、前記代替ビデオストリームの各々の中に含まれ、前記再生デバイスを使用して、第2のビデオストリームを前記一組の代替ストリームから選択することは、前記第1のビデオストリームからのコンテンツのバッファリングされたチャンクを再生するためにかかる時間の間に該第2のビデオストリームからダウンロードされたメディアの量の再生持続時間が該安全シーク遅延以上であるように、該第2のビデオストリームを該一組の代替ストリームから選択することをさらに含む、請求項17に記載の方法。前記代替ビデオストリームは、initial_cpb_removal_delayフィールド中のSEIバッファリングメッセージ内の前記安全シーク遅延の伝達をするH.264ビットストリームである、請求項27に記載の方法。第1のビデオストリームを前記一組の代替ストリームから選択することは、該第1のビデオストリームが前記測定されたチャネルデータレートを下回る所定の量である最大ビットレートを有するように、前記再生デバイスを使用して、該第1のビデオストリームを該一組の代替ストリームから選択することと、該第1のビデオストリームからバッファリングされたチャンクの量の再生持続時間が該第1のビデオストリームの前記上限シーク遅延以上であるように、該第1のビデオストリームの再生の間に、該第1のビデオストリームのチャンクをバッファリングすることとさらにを含む、請求項17に記載の方法。前記再生デバイスを使用して、第2のビデオストリームを前記一組の代替ストリームから選択することは、該再生デバイスを使用して、第2のビデオストリームを選択することをさらに含み、該第2のビデオストリームは、前記バッファが、前記第1のビデオストリームの前記上限シーク遅延以上の再生持続時間を有する該第1のビデオストリームからのチャンクを含有するとき、前記測定されたチャネルデータレート未満の最高の最大ビットレートを有する、請求項29に記載の方法。前記再生デバイスを使用して、第2のビデオストリームを前記一組の代替ストリームから選択することは、該再生デバイスを使用して、第2のビデオストリームを選択することをさらに含み、該第2のビデオストリームは、前記バッファが、前記第1のビデオストリームの前記上限シーク遅延未満の再生持続時間を有する、該第1のビデオストリームからのチャンクを含有し、前記測定されたチャネルデータレートが信頼できないとき、最低の最大ビットレートを有する、請求項30に記載の方法。前記再生デバイスを使用して、第2のビデオストリームを前記一組の代替ストリームから選択することは、該再生デバイスを使用して、第2のビデオストリームを選択することをさらに含み、該第2のビデオストリームは、前記測定されたチャネルデータレートに基づいて、前記第1のビデオストリームのチャンクをダウンロードするために予期される時間が該第1のビデオストリームのチャンクをダウンロードするためにかかる実際の時間を上回る所定の量であり、前記バッファが該第1のビデオストリームの前記上限シーク遅延以上の再生持続時間を有する該第1のビデオストリームからのチャンクを含有するとき、該第1のビデオストリームの最大ビットレートを上回る最大ビットレートを有する、請求項17に記載の方法。いくつかの代替ビデオストリームとして、ソースビデオをエンコードするように構成されるソースエンコーダであって、該ソースエンコーダは、メモリと、プロセッサとを備え、該プロセッサは、ソースエンコーディングアプリケーションによって、マルチメディアコンテンツを受信することであって、該マルチメディアコンテンツは、一次解像度および一次サンプルアスペクト比を有するソースビデオデータを備える、ことと、一組の代替ビデオストリームとして該ソースビデオデータをエンコードすることとを行うように構成され、該代替ビデオストリームは、異なる最大ビットレートを有し、該代替ビデオストリームは、より高い最大ビットレートでエンコードされる該一組の代替ビデオストリーム中のストリームの上限シーク遅延以下である上限シーク遅延を有するようにエンコードされる、ソースエンコーダ。前記ソースエンコーディングアプリケーションは、所定の最大ビットレートおよび最大バッファサイズにおいて前記代替ビデオストリームをエンコードするように前記プロセッサをさらに構成し、ストリームの前記上限シーク遅延は、該ストリームの所定の最大バッファサイズを該ストリームの所定の最大ビットレートによって除算することによって決定される、請求項33に記載のソースエンコーダ。前記ソースエンコーディングアプリケーションは、前記一組の代替ストリーム中の各ストリームが同一のアスペクト比を有するように該代替ビデオストリームをエンコードするように前記プロセッサをさらに構成する、請求項33に記載のソースエンコーダ。前記ソースエンコーディングアプリケーションは、前記一組の代替ビデオストリーム中の各ストリームに対する下限シーク遅延を決定するように前記プロセッサをさらに構成する、請求項33に記載のソースエンコーダ。前記ソースエンコーディングアプリケーションは、各ストリーム内に、その下限シーク遅延を含むように前記プロセッサをさらに構成する、請求項36に記載のソースエンコーダ。前記ソースエンコーディングアプリケーションは、最高の下限シーク遅延を有する前記代替ストリームを決定することと、該最高の下限シーク遅延を各ストリーム内に含めることとを行うように前記プロセッサをさらに構成する、請求項36に記載のソースエンコーダ。前記代替ビデオストリームは、前記H.264規格に従ってエンコードされる、請求項38に記載のソースエンコーダ。前記ソースエンコーディングアプリケーションは、各ストリーム内のSEIバッファリングメッセージ中のinitial_cpb_removal_delayフィールド中に、前記最高の下限シーク遅延を含むように前記プロセッサをさらに構成する、請求項39に記載のソースエンコーダ。前記ソースエンコーディングアプリケーションは、のような前記下限シーク遅延を決定するように前記プロセッサを構成する、請求項36に記載のソースエンコーダ。前記ソースエンコーディングアプリケーションは、式中、レベルバッファサイズは、前記ビデオストリームをエンコードすることにおいて使用される最大バッファサイズ制約条件であり、持続時間チャンクは、ビデオの単一チャンクを再生するためにかかる時間であり、レベルレートは、該ビデオの最大ビットレートであり、レートは、前記ネットワークデータレートであるような前記上限シーク遅延を決定するように前記プロセッサを構成する、請求項36に記載のソースエンコーダ。いくつかの代替ビデオストリームとしてソースビデオをエンコードする方法であって、該方法は、ソースエンコーダを使用して、マルチメディアコンテンツを受信することであって、該マルチメディアコンテンツは、一次解像度および一次サンプルアスペクト比を有するソースビデオデータを備える、ことと、該ソースエンコーダを使用して、一組の代替ビデオストリームとして該ソースビデオデータをエンコードすることとを含み、該代替ビデオストリームは、異なる最大ビットレートを有し、該代替ビデオストリームは、より高い最大ビットレートでエンコードされる該一組の代替ビデオストリーム中のストリームの上限シーク遅延以下である上限シーク遅延を有するようにエンコードされる、方法。前記ソースエンコーダを使用して、所定の最大ビットレートおよび最大バッファサイズにおいて前記代替ビデオストリームをエンコードすることをさらに含み、ストリームの前記上限シーク遅延は、該ストリームの該所定の最大バッファサイズを該ストリームの該所定の最大ビットレートで除算することによって決定される、請求項43に記載の方法。前記一組の代替ストリーム中の各ストリームが、同一のアスペクト比を有するように該代替ビデオストリームをエンコードすることをさらに含む、請求項43に記載の方法。前記一組の代替ビデオストリーム中の各ストリームに対する下限シーク遅延を決定することをさらに含む、請求項43に記載の方法。各ストリーム内にその下限シーク遅延を含むことをさらに含む、請求項46に記載の方法。最高の下限シーク遅延を有する前記代替ストリームを決定することと、該最高の下限シーク遅延を各ストリーム内に含むこととをさらに含む、請求項46に記載の方法。前記代替ビデオストリームは、H.264規格に従ってエンコードされる、請求項46に記載の方法。各ストリーム内のSEIバッファリングメッセージ中のinitial_cpb_removal_delayフィールド中に、最高の下限シーク遅延を含むことをさらに含む、請求項49に記載の方法。のような前記下限シーク遅延を決定することをさらに含む、請求項46に記載の方法。式中、レベルバッファサイズは、前記ビデオストリームのエンコーディングにおいて使用される最大バッファサイズ制約条件であり、持続時間チャンクは、ビデオの単一チャンクを再生するためにかかる時間であり、レベルレートは、該ビデオの最大ビットレートであり、レートは、ネットワークデータレートであるような前記上限シーク遅延を決定することをさらに含む、請求項46に記載の方法。プロセッサ命令を含有する機械可読媒体であって、該プロセッサによる該命令の実行は、マルチメディアコンテンツを受信することであって、該マルチメディアコンテンツは、一次解像度および一次サンプルアスペクト比を有するソースビデオデータを備える、ことと、一組の代替ビデオストリームとして該ソースビデオデータをエンコードすることとを含むプロセスを該プロセッサに行わせ、該代替ビデオストリームは、異なる最大ビットレートを有し、該代替ビデオストリームは、より高い最大ビットレートでエンコードされる該一組の代替ビデオストリーム中のストリームの上限シーク遅延以下である上限シーク遅延を有するようにエンコードされる、機械可読媒体。本発明の実施形態によるシステムおよび方法は、再生デバイスが、図示される本発明の実施形態に従って、各ストリームの遅延およびチャネルレートに基づいて、ストリームを選択する、適応型ビットレートストリーミングを行う。本発明の一実施形態は、クライアントアプリケーションおよびバッファを含む、メモリと、プロセッサとを含み、クライアントアプリケーションが、第1のビデオストリームを一組の代替ビデオストリームから選択し、少なくとも、複数の代替ビデオストリームが、より高い最大ビットレートでエンコードされる一組の代替ビデオストリーム内のストリームの上限シーク遅延以下である、上限シーク遅延を有するようにエンコードされ、ネットワーク接続を介して、第1のビデオストリームのチャンクを要求し、要求されたチャンクをバッファ内に記憶し、第1のビデオストリームのバッファリングされたチャンクを再生し、ネットワーク接続のチャネルデータレートを測定し、第2のビデオストリームを一組の代替ストリームから選択するように、プロセッサを構成し、第2のビデオストリームが、測定されたチャネルデータレート未満である、最大ビットレートを有する。本発明の方法のある実施形態は、再生デバイスを使用して、第1のビデオストリームを一組の代替ビデオストリームから選択するステップであって、少なくとも、複数の代替ビデオストリームが、より高い最大ビットレートでエンコードされる一組の代替ビデオストリーム内のストリームの上限シーク遅延以下である上限シーク遅延を有するようにエンコードされる、ステップと、再生デバイスを使用して、ネットワーク接続を介して第1のビデオストリームのチャンクを要求し、要求されたチャンクをバッファ内に記憶するステップと、再生デバイスを使用して、第1のビデオストリームのバッファリングされたチャンクを再生するステップと、再生デバイスを使用して、ネットワーク接続のチャネルデータレートを測定するステップと、再生デバイスを使用して、第2のビデオストリームを一組の代替ストリームから選択するステップであって、第2のビデオストリームが、測定されたチャネルデータレート未満である最大ビットレートを有する、ステップとを含む。本発明の別の実施形態は、メモリと、ソースエンコーディングアプリケーションによって、マルチメディアコンテンツを受信し、マルチメディアコンテンツが、一次解像度および一次サンプルアスペクト比を有するソースビデオデータを含み、一組の代替ビデオストリームとして、ソースビデオデータをエンコードし、代替ビデオストリームが、異なる最大ビットレートを有し、代替ビデオストリームが、より高い最大ビットレートでエンコードされる、一組の代替ビデオストリーム内のストリームの上限シーク遅延以下である、上限シーク遅延を有するようにエンコードされるように構成される、プロセッサとを含む。別の付加的実施形態は、ソースエンコーダを使用して、マルチメディアコンテンツを受信するステップであって、マルチメディアコンテンツが、一次解像度および一次サンプルアスペクト比を有するソースビデオデータを含む、ステップと、ソースエンコーダを使用して、一組の代替ビデオストリームとして、ソースビデオデータをエンコードするステップとを含み、代替ビデオストリームが、異なる最大ビットレートを有し、代替ビデオストリームが、より高い最大ビットレートでエンコードされる、一組の代替ビデオストリーム内のストリームの上限シーク遅延以下である、上限シーク遅延を有するようにエンコードされる。さらなる付加的実施形態はさらに、プロセッサ命令を含有する機械可読媒体を含み、プロセッサによる命令の実行が、プロセッサに、マルチメディアコンテンツを受信するステップであって、マルチメディアコンテンツが、一次解像度および一次サンプルアスペクト比を有するソースビデオデータを含む、ステップと、一組の代替ビデオストリームとして、ソースビデオデータをエンコードするステップとを含む、プロセスを行わせ、代替ビデオストリームが、異なる最大ビットレートを有し、代替ビデオストリームが、より高い最大ビットレートでエンコードされる、一組の代替ビデオストリーム内のストリームの上限シーク遅延以下である、上限シーク遅延を有するようにエンコードされる。次に、図面を参照すると、本発明の実施形態による、各ストリームの遅延およびチャネルレートに基づいてストリームを選択する、適応型ビットレートストリーミング再生デバイスのためのシステムおよび方法が図示される。ストリームの遅延は、アンダーフローが再生の間に生じないように、再生の開始に先立って、メディアがバッファされる時間の量である。いくつかの実施形態では、上限シーク遅延は、ストリームがエンコードされる最大ビットレートおよび最大バッファサイズに基づいて決定することができる。多くの実施形態では、各ストリームは、より高いビットレートストリームの上限シーク遅延以下である上限シーク遅延を有するようにエンコードされる。いくつかの実施形態では、ストリームの上限シーク遅延は、一般的再生デバイス上で利用可能なバッファのサイズに基づいて決定される所定の最大バッファサイズに基づいて制限される。ストリームがこれらの制約に従ってエンコードされると、上限シーク遅延加えて、安全マージンに等しい持続時間を有する再生に先立って、ある量のメディアをバッファリングする再生デバイスは、再生デバイスが、自動的に、新しいチャネル条件に対する最適ストリームに切り替えることができるように、チャネルデータレートの減少に応答するために十分な時間を有する。いくつかの実施形態では、下限シーク遅延は、アンダーフローを防止するために、特定のストリームを分析し、シーク遅延の最小量を決定することによって決定される。下限シーク遅延の利用は、ストリーミングメディアの再生を開始するとき、遅延を有意に減少させることができる。しかしながら、より少ないメディアのバッファは、再生デバイスが、チャネルレートの突然の切断に応答して、より低いビットレートストリームに切り替えるための時間が少ないことを意味し得る。いくつかの実施形態では、再生デバイスは、下限シーク遅延が、新しいチャネルレートにおいて、現在バッファされているメディアの再生持続時間内でバッファされることができる最高ビットレートストリームを選択することによって、チャネルレートにおける突然の切断に対応する。多くの実施形態では、安全マージンもまた、実世界システムにおいて生じる変動に適合するための計算に利用される。下限シーク遅延は、再生が開始するストリーム内の点に応じて変動し得る。加えて、下限シーク遅延は、各ストリームのレートに応じて変動し得る。いくつかの実施形態では、再生デバイスは、サーバからのストリームの全部に対して、下限シーク遅延を取得する。いくつかの実施形態では、再生デバイスは、サーバからの各ストリームにおいて下限シーク遅延の最大のみを取得する。ビデオが、TelecommunicationStandardizationSector’sVideoCodingExpertsGroupとともに、InternationalOrganizationforStandardizationISO、InternationalElectrotechnicalCommissionIEC、およびMovingPictureExpertsGroupMPEGによって開発されたH.264規格に従ってエンコードされると、本発明の多くの実施形態による再生デバイスは、下限シーク遅延に相当するH.264ストリーム内のSEIバッファリングメッセージ中のinitial_cpb_removal_delayフィールドの値を考慮する。いくつかの実施形態では、各ストリームにおいてinitial_cpb_removal_delayフィールド中の値は、適応型ビットレートストリーミングシステムによって、サーバによってホストされた代替ストリームの全部に対して、最大下限シーク遅延および/またはinitial_cpb_removal_delay値となるように修正される。他の実施形態では、再生デバイスは、initial_cpb_removal_delayを調節し、ストリームの次のダウンロードされるチャンクの遅延を推定する。いくつかの実施形態では、調節は、倍率、補正係数、および/または安全マージンを含む但し、それに限定されない。いくつかの実施形態では、下限シーク遅延は、再生の開始に先立って、バッファリングするためのメディアの量を決定するために、再生デバイスによって使用される。しかしながら、再生デバイスは、バッファが、ストリームのための上限シーク遅延に迅速に到達するように、チャネルレートを有意に下回る最大ビットレートを有するストリームを選択する。バッファ内のメディアの量が上限シーク遅延に等しい再生持続時間を有するとき、再生デバイスは、その点以降、チャネル条件に対する最適ストリームに自由に切り替えることができる。本発明の実施形態による、適応型ビットレートストリーミングシステム、再生デバイス、および適応型ビットレートストリーミングメディアのバッファリングおよび再生は、以下にさらに論じられる。適応型ストリーミングシステムアーキテクチャ本発明のある実施形態による、適応型ビットレートストリーミングシステムは、図1Aに図示される。適応型ビットレートストリーミングシステム10は、いくつかの代替ストリームとして、ソースメディアをエンコードするように構成されるソースエンコーディングサーバ12を含む。以下にさらに論じられるように、ソースエンコーディングサーバ12は、そのうちの少なくとも複数がエンコードされたビデオの代替ストリームである、エンコードされたストリームを含有する複数のコンテナファイルに対して、トップレベルインデックスを生成する。これらのファイルは、コンテンツサーバ14にアップロードされる。種々の再生デバイス18は、次いで、インターネット等のネットワーク16を介して、コンテンツサーバ14からエンコードされたストリームの一部を要求することができる。多くの実施形態では、トップレベルインデックスファイルは、SMILファイルであって、メディアは、Matroskaコンテナファイル内に記憶され、再生デバイスは、HTTPまたは別の類似ステートレスプロトコルを使用して、ファイルの一部を要求する。しかしながら、任意の適切なインデックスファイル形式および/またはコンテナファイル形式を利用して、エンコードされたストリームを記憶およびインデックスすることができ、任意の好適な通信プロトコルが、本発明の実施形態に従って、再生デバイス18によって利用され、データをコンテンツサーバ14から取得することができる。具体的アーキテクチャが、図1Aに示されるが、任意の種々のアーキテクチャのいずれも、本発明の実施形態による、適応型ビットレートストリーミングを行うために利用されることができる。本発明の実施形態による、ソースエンコーダおよび再生デバイスは、以下にさらに論じられる。ソースエンコーダ図示される実施形態では、適応型ビットレートストリーミングシステムは、ソースビデオストリームコンテンツを、異なる最大ビットレートを有する、エンコードされたビデオの代替ストリームにエンコード可能である、1つ以上のソースエンコーダを含み、ストリームのそれぞれの上限シーク遅延は、より高いビットレートでエンコードされた他の代替ストリームのいずれかの上限シーク遅延以下である。多くの実施形態では、ソースエンコーダは、マルチメディアのストリームをエンコード可能な任意のデバイスを使用して、実装することができ、ストリームは、異なる解像度、サプリングレート、上限シーク遅延、および/または最大ビットレートでエンコードされる。本発明のある実施形態による、適応型ストリーミングシステムソースエンコーダの基本的アーキテクチャは、図1Bに図示される。適応型ビットレートストリーミングシステム30は、不揮発性メモリ34および揮発性メモリ36と通信する、プロセッサ32を含む。図示される実施形態では、揮発性メモリは、ソースエンコーディングアプリケーション38および代替ビデオストリームデータ40を含む。ソースエンコーディングアプリケーション38は、入力として、ソースビデオストリームを含むメディアを受け取り、複数の代替ストリームとして、ソースビデオをエンコードする。多くの実施形態では、代替ストリームは、異なる解像度、サンプルアスペクト比、および/または最大ビットレートでエンコードされる。代替ストリームがエンコードされる、最大ビットレートにおける差異のため、再生デバイスは、代替ストリーム間で切り替え、エンコードされたソースビデオの適応型ビットレートストリーミングを行うことができる。以下にさらに論じられるように、再生デバイスは、その上限シーク遅延が、バッファ内のメディアの量の再生持続時間未満であるように、代替ストリームがそれぞれ、エンコードされるとき、ストリーム間でシームレスに下方切り替えを行うことができる。バッファリングされたメディアの量が、より低い最大ビットレートでエンコードされた他の代替ストリームのいずれかの上限シーク遅延に等しい再生持続時間を有するとき、再生デバイスは、シームレスに下方切り替えを行うであろう。また、以下に論じられるように、下限シーク遅延はまた、再生のより迅速な開始を可能にする際、再生デバイスにとって有用であり得る。いくつかの実施形態では、ストリームの上限シーク遅延および/またはストリームの下限シーク遅延に関する情報は、ストリームを含有するコンテナファイル内に情報を含めることによって、またはストリームを記述するトップレベルインデックスファイル内に情報を含めることによって、ソースエンコーディングアプリケーション38によって、再生デバイスに利用可能となることができる。代替ビデオストリームデータが、H.264規格に従ってエンコードされる実施形態では、ソースエンコーディングアプリケーション38は、各代替H.26ストリームにおいて、SEIバッファリングメッセージ内のinitial_cpb_removal_delayフィールド中に下限シーク遅延を示す値を書き込むことができる。多くの実施形態では、ソースエンコーディングアプリケーション38は、最高の下限シーク遅延を有する代替ストリームの下限シーク遅延および/またはinitial_cpb_removal_delay値を代替ストリームのそれぞれにおけるinitial_cpb_removal_delayフィールドに書き込む。以下に論じられるように、最大下限シーク遅延は、一般的には、本発明の多くの実施形態に従って、ストリーム切り替えを行うために十分である。他の実施形態では、H.264規格に従う以外の形式でエンコードされるストリームを含む、ビデオストリーム内に下限シーク遅延情報を含むための種々の機構のいずれかが、利用されることができる。本発明の実施形態による、複数の代替ストリームとして、ソースビデオをエンコードするためのプロセスが、図3に図示される。プロセス80は、ソースビデオを受信するステップ82と、ソースエンコーダによって生成されるであろう代替ビデオストリームの各々のための最大ビットレートおよび最大バッファサイズを取得するステップ84とを含む。代替ビデオストリームは、次いで、エンコードされ86、一般的には、コンテナファイルに書き込まれる。エンコードされたビデオストリームをコンテナファイルに書き込む際、プロセス80はまた、下限シーク遅延に関する情報を、前述と同様に、代替ストリームのそれぞれに書き込む88ことができる。多くの実施形態では、各ストリームの下限シーク遅延を示す情報は、ストリームとともに含まれる。いくつかの実施形態では、ストリームの全部の最高の下限シーク遅延が、ファイルのそれぞれ内に含まれる。具体的アーキテクチャが、図1Bに図示されるが、アプリケーションが、ディスクまたはいくつかの他の形態の記憶上に位置し、ランタイム時に揮発性メモリにロードされるアーキテクチャを含む、種々のアーキテクチャのいずれかが、ソースビデオコンテンツのストリームを、異なる最大ビットレートを有する、エンコードされたビデオの代替ストリームにエンコード可能であるソースエンコーダを実装するために利用することができ、ストリームのそれぞれの上限シーク遅延は、本発明の実施形態に従って、より高いビットレートでエンコードされた他の代替ストリームのいずれかの上限シーク遅延以下である。再生デバイス図1Aに図示されるシステムでは、再生デバイスは、パーソナルコンピュータおよび携帯電話である。他の実施形態では、再生デバイスは、消費者電子機器デバイス例えば、DVDプレーヤ、Blu-ray登録商標プレーヤ、テレビ、セットトップボックス、ビデオゲームコンソール、タブレット、およびサーバに接続し、エンコードされたメディアを再生可能な他のデバイスを含むことができる。本発明のある実施形態による、再生デバイスのための基本的アーキテクチャは、図1Cに図示される。再生デバイス50は、不揮発性メモリ54および揮発性メモリ56と通信するプロセッサ52を含む。図示される実施形態では、不揮発性メモリは、遠隔サーバからコンテンツをストリーミングするようにrプロセッサおよび再生デバイスを構成するクライアントアプリケーション58を含む。動作の間、クライアントアプリケーション58は、コンテンツをコンテンツストアから購入し、トップレベルインデックスファイル60をコンテンツサーバまたは別のサーバから要求するように再生デバイスを構成することができる。トップレベルインデックスファイル60がコンテンツサーバから受信されると、クライアントアプリケーション58は、トップレベルインデックスファイル60をメモリ56内に記憶するように、再生デバイスを構成することができる。クライアントアプリケーション58は、次いで、トップレベルインデックスファイルを使用して、コンテンツを含有するコンテナファイルの一部をコンテンツサーバから要求することによって、コンテンツを再生するように、再生デバイス50を構成することができる。クライアントアプリケーション58によって選択される具体的コンテナファイルは、トップレベルインデックスファイル60内のクライアントアプリケーションに利用可能な情報に基づいて決定されることができる。コンテンツを含有するコンテナファイルの要求された部分は、再生デバイスのメモリ56におけるバッファ62内に記憶される。バッファのサイズは、一般的には、トップレベルインデックスファイル60内で特定のストリームのために指定されたビデオバッファ検証子に依存する。但し、多くの実施形態では、バッファサイズは、固定されているか、または具体的アプリケーションおよび/またはストリームに適切な任意の数の要因に基づいて決定される。クライアントアプリケーションは、再生を保留するユーザ命令が受信されるまで、または再生が完了するまで、優勢ストリーミング条件に応じて、異なるコンテナファイルから、コンテンツを要求および再生し続けることができる。ネットワークデータレートが切断すると、再生デバイスは、クライアントアプリケーションが、バッファ62内に記憶されたコンテンツを再生するためにかかる時間の間、より低いビットレートストリームからダウンロードされることができるデータの量と、利用可能なデータレートとに基づいて、適切なより低いビットレートストリームを決定することができる。バッファアンダーフローは、十分なデータの量がダウンロードされることを前提として、ストリーム切り替え後には生じないであろう。いくつかの実施形態では、クライアントアプリケーション58は、下限シーク遅延が、新しいチャネルレートにおいて、現在バッファされているメディアの再生持続時間内にバッファされることができる最高ビットレートストリームを選択することによって、チャネルレートにおける突然の切断に対応する。再生デバイスが、既に、再生されているストリームの上限シーク遅延に等しい再生持続時間を有するビデオの量をバッファリングしており、代替ビデオストリームが、前述のようにエンコードされると、再生デバイスは、単に、新しいネットワークデータレート未満の最高の最大ビットレートを有するストリームを選択することによって、ネットワークデータレートにおける切断に対応することができる。多くの実施形態では、安全マージンもまた、実世界システムにおいて生じる変動に適合するための計算において利用される。いくつかの実施形態では、付加的マージンが提供され、再生デバイスが、バッファリングされたデータの量をストリームの上限シーク遅延に対応するように増大させることを可能にする。本発明の実施形態による、再生デバイスが、ストリーム切り替え決定を行う様式は、以下にさらに論じられる。具体的再生デバイスアーキテクチャが、図1Cに図示されるが、クライアントアプリケーションが、ディスクまたはいくつかの他の形態の記憶上に位置し、ランタイム時に揮発性メモリにロードされるアーキテクチャを含む、種々のアーキテクチャのいずれかが、本発明の実施形態による、適応型ビットレートストリーミングシステムにおいて使用するための再生デバイスを実装するために利用されることができる。チャネルデータレートの測定コンテンツサーバから再生デバイスへのデータの伝送は、外部条件のために変動する一定レートチャネルを伴うように考慮されることができる。本発明の実施形態による、再生デバイスは、チャネルのレートを測定し、次いで、チャネルの測定されたレートに最も近く、それ未満である最大ビットレート任意の安全マージンを差し引くを有する、エンコードされたストリームのストリーミングを開始する。いくつかの実施形態では、再生デバイスは、データを要求し、要求されたデータをサーバから受信するためにかかる時間を測定することによって、チャネルのレートを測定する。再生デバイスのバッファは、時としてフルであり、したがって、コンテンツサーバ上に位置するコンテナファイルからデータを受け取るか、あるいはデータのバイト範囲またはチャンクを要求することができないという事実に起因して、再生デバイスが任意のデータを受信できない間隔またはギャップが生じ得る。加えて、再生デバイスは、同時に、コンテンツを複数のストリームからストリーミングすることができる。例えば、再生デバイスは、同時に、オーディオ、ビデオ、および字幕ストリームからコンテンツを要求することができる。多くの実施形態では、再生デバイスは、各ストリームから各ダウンロードされたチャンクのサイズ、開始時間、および持続時間を記録する。これらの記録は、その時間間隔の間にデータが受信されなかった時間間隔および任意のギャップの間に受信された重複チャンクを決定することによって、帯域幅測定値を精緻化するために利用されることができる。このように、本発明の実施形態による、再生デバイスは、所定の時間間隔の間にダウンロードされたデータの和を、任意のギャップの持続時間を所定の時間間隔から減算することによって決定される有効間隔によって除算されたものとして、チャネルデータレートを決定することができる。多くの事例では、再生デバイスによって要求されたチャンクは、ピクチャのクローズド群に対応する。いくつかの実施形態では、ソースビデオは、複数の代替ストリームにエンコードされ、ソースビデオの各部分は、代替ストリームのそれぞれにおけるピクチャのクローズド群としてエンコードされる。このように、代替ストリーム内でイントラコード化フレームを整列させることによって、再生デバイスは、ピクチャのクローズド群の再生の完了時に代替ストリーム間で切り替えることができる。ピクチャのクローズド群の再生完了時に選択されたストリームに関係なく、選択されたストリーム中のビデオの次のフレームは、イントラコード化フレームである。本発明のある実施形態による、チャネルデータレートを測定するために利用されるプロセスは、図2に概念的に図示される。図示される実施形態では、所定の時間間隔が70として指定され、その間に、データが2つのビデオチャンク71、72および2つのオーディオチャンク73、74からダウンロードされる。所定の時間間隔の間、ギャップ75またはホールが生じ、その間は、データが再生デバイスによって受信されない。チャネルデータレートは、所定の時間間隔70の間にビデオチャンク71、72およびオーディオチャンク73、74からダウンロードされたデータのバイトの和を、所定の時間間隔からギャップ75の持続時間を減算した結果によって除算されたものとして計算される。ネットワークデータレートを計算するための具体的プロセスが前述されたが、具体的アプリケーションに適切な種々のプロセスのいずれかが、本発明の実施形態による、ネットワークデータレートを決定するために利用されることができる。ストリーミング条件の変化への適応チャネルのデータレートが変化するとき、再生デバイスは、新しいチャネル条件に対して最適にエンコードされたストリームを選択することによって、適応することができる。いくつかの実施形態では、各エンコードされたストリームは、可変ビットレートエンコーディング技法を使用してエンコードされ、再生デバイスは、バッファを利用して、エンコーディングビットレートの変動を平滑化する。エンコードされたビットレートにおける変動を平滑化するためのメディアのバッファリングは、ストリーム間で切り替えを行うための再生デバイスの決定に影響を及ぼし得る。再生デバイスが十分に大きなデータの量をバッファリングするとき、再生デバイスは、ストリーム間で切り替えるための十分な時間を有し、再生デバイスは、新しいチャネルレート未満である最大ビットレートを有する最高ビットレートストリームを選定することができる。バッファリングされたビデオの量が、ネットワークデータレート未満の最高の最大ビットレートを有する、ストリームからの上限シーク遅延に等しい再生持続時間を有するビデオの一部をダウンロードするために要求される時間未満である再生持続時間を有するとき、再生デバイスは、ストリーム切り替え後に、より低い最大ビットレートを有するストリームを選択し、バッファアンダーフローを防止してもよい。再生に先立って、最初にバッファリングされたデータの量を減少させることは、再生が開始する速度を増加させることができる。しかしながら、バッファリングが少ないメディアは、突然、チャネルレートが低下する場合、再生デバイスが、ストリーム間で切り替えを行う時間が少ない結果をもたらし得る。したがって、再生デバイスは、そうでなければ、アンダーフローを回避するために該当するであろう、より低いビットレートを有する、ストリームを選択するよう強いられ得る。本発明の実施形態による、再生デバイスは、いずれかのアプローチまたは両アプローチの組み合わせを使用することができる。本発明の実施形態による、再生デバイスが、バッファリングするためのデータの量を決定する様式、およびチャネルレートにおける突然の低下に応答して、ストリームを切り替える方法は、以下にさらに論じられる。可変ビットレートストリームのバッファリング再生の開始に先立って、可変ビットレートでエンコードされたメディアのバッファリングは、バッファリングまたはシーク遅延と称され得るものを導入する。遅延は、一般的には、いったん再生が開始すると、バッファがアンダーフローを起こさない、十分な量のメディアをダウンロードするためにかかる時間に等しい。チャネルレートが変化しないと仮定すると、再生デバイスは、初期シーク遅延後、不断の再生を経験するはずである。上限シーク遅延を使用したバッファリングおよび再生多くの実施形態では、各ストリームは、最大ビットレートおよび最大バッファサイズを用いてエンコードされる。したがって、ストリームに対するシーク遅延は、ストリームの最大バッファサイズが、ストリームの最大ビットレートによって除算されたものとして決定することができる。ストリームの最大ビットレートに基づいてシーク遅延を計算することは、再生を開始するために要求されるバッファリングの量に関する上限を表し、上限シーク遅延と呼ばれ得る。再生デバイスは、再生デバイスが上限シーク遅延に等しい持続時間を有するメディアの一部、またはストリームの最大バッファサイズ属性にサイズが等しいメディアの一部をダウンロードするとき、チャネルレート未満の最大ビットレートを有するストリームの再生を安全に開始することができる。再生開始後、平均して、上限シーク遅延の持続時間に対応するメディアの一部は、ストリームのエンコーディングおよびチャネルのレートの結果としてバッファ中に残留している。チャネルのレートが有意に低下すると、本発明のある実施形態による、再生デバイスは、より低いビットレートストリームすなわち、より低い最大ビットレートを有するストリームに切り替えることができる。再生デバイスが、以前にバッファリングされたメディアの再生完了に先立って、より低いビットレートストリームの上限シーク遅延に等しい再生持続時間を有するメディアの一部をバッファリングしない場合、より低いビットレートストリームの再生は、失速し得る。再生デバイスが、上限シーク遅延以上の再生持続時間を有するメディアの一部をバッファリングしていることを前提として、より低いビットレートストリームの上限シーク時間が、より高いビットレートストリームの上限シーク遅延以下である場合、アンダーフローは、回避されることができる。故に、各ストリームが、より高いビットレートストリームの上限シーク遅延以上である上限シーク遅延を有するようにエンコードされる場合、再生デバイスは、シーク遅延に関係なく、所与のチャネル条件に最適であるストリーム間で滑らかに遷移することができる。ストリーム間での切り替え再生の開始前にバッファリングされたメディアの量が、上限シーク遅延を使用して決定されるとき、ストリーム間で切り替えるためのプロセスが、図4に図示される。プロセス100は、再生条件に対する最適ストリームを選択するステップ102と、再生に先立って、上限シーク遅延に等しい再生持続時間を有するメディアの一部をバッファリングするステップとを含む。再生の開始に先立って、チャネル条件は未知であってもよく、再生は、最低ビットレートで開始する但し、多くの実施形態は、再生開始に先立って、チャネルレートを測定し、より高い最大ビットレートを有するビットレートストリームを利用することができる。再生デバイスは、次いで、チャネルデータレートを測定104し、チャネルレートに変化があるかどうかを決定106する。変化が存在する場合、再生デバイスは、新しいチャネルレートに対して最適にエンコードされるストリームを選定102する。プロセスは、ストリームの終了108に到達するまで反復する。容易に理解され得るように、図4に図示されるプロセスは、極端に単純である。再生デバイスは、より低いビットレートストリームが、より高いビットレートストリームの上限シーク遅延以下である上限シーク遅延を有することを確実にするストリームのエンコーディングのため、および再生デバイスがストリームの上限シーク遅延に等しい再生持続時間を有するメディアの一部をバッファリングするため、シーク遅延を無視することができる。具体的プロセスが、図4に図示されるが、限定されないがシーク遅延に関する下限を利用して、再生を開始するためにかかる時間を短縮するプロセスを含む、具体的アプリケーションに適切な類似プロセスもまた、本発明の実施形態に従って、利用されることができる。下限シーク遅延を使用したバッファリングおよび再生ビデオが可変ビットレートでエンコードされるとき、全ピクチャが同一のサイズを有しているわけではない。チャネルレートに応じて、大きなフレーム例えば、l-フレームは、ダウンロードのために2つ以上のフレーム期間をとり得る。したがって、大きなフレームのクラスタ化による所与のチャネルレートでのビデオストリームの再生における失速を回避するために、実際の最小シーク遅延を決定する。バッファ内のデータの量が上限シーク遅延未満であるとき、ストリーミングを開始し、ストリーム切り替え決定を行うためにかかる時間を短縮するために、最小または下限シーク遅延を把握することに利点が存在する。バッファ内のデータの量が上限シーク遅延未満であり、ストリームを切り替える必要性が生じるとき、理想的には、ストリームは、バッファ内に記憶されたビデオを再生するためにかかるであろう時間の量よりも小さい下限シーク遅延を有するように選択される。ビデオデータは、一般的には、チャンクにおいて要求されるという事実に起因して、下限シーク遅延は、のように、チャンクのサイズに基づいて決定することができる。実際、下限シーク遅延は、チャンク到達間の各チャンクに対する時間の差の最大値すなわち、全先行チャンクおよび現在のチャンクのサイズの和nがチャネルレートによって除算されたものとして決定され、アンダーフローを防止するために到達しているはずであるときすなわち、n-1各チャンクの再生持続時間、上限シーク遅延は、のように、データのストリームの最大バッファサイズに基づいて決定される。上限シーク遅延は、最大可能チャンクをダウンロードするためにかかる時間に、チャンクを再生するためにかかる時間を加算したものと決定される。可変ビットレートビデオがエンコードされる様式のため、ストリーム内の最大可能フレームは、理論的には、バッファサイズと同程度であり得る。いずれかの式を使用して、ストリームに対する最小バッファ遅延が、決定されることができる。下限シーク遅延は、一般的には、上限シーク遅延未満であるが、下限シーク遅延はまた、再生が開始する点に応じて、変化する。各ストリーム内の各点に対する下限シーク遅延は、サーバによって事前に計算され、要求に応じて、再生デバイスに提供されることができる。代替として、多くのH.264ビットストリームは、フィールドinitial_cpb_removal_delay中に、SEIバッファリングメッセージ内の遅延情報を伝達する。この値は、前述の計算を行ったものと同一ではないが、相当することが分かっており、いくつかの実施形態では、ストリーム内の特定の点におけるinitial_cpb_removal_delay値は、その点における下限シーク遅延として使用される。再生は、一般的には、再生デバイスが、下限シーク遅延を使用して、アンダーフローを防止し得る、バッファリングされたメディアの量を決定するとすぐに開始することができる。しかしながら、再生の間、再生デバイスは、上限シーク遅延が使用されるときより少ないバッファリングされたコンテンツを有し得る。したがって、チャネルレートが低下すると、再生デバイスは、より低いビットレートストリームに切り替えるための時間が少ない。多くの実施形態では、再生デバイスは、新しいチャネルレート未満かつそれに最も近い最大ビットレートを有する、ストリームを選択し、そこから、下限シーク遅延に等しい再生持続時間を有するメディアの一部が、残りのバッファリングされたメディアを再生するためにかかるであろう時間内にダウンロードされることができる。多くの事例では、チャネル条件のために最適にエンコードされるストリームは、不十分なメディアが、バッファリングされたコンテンツを再生するためにかかるであろう時間内にダウンロードされ得るため、選択されるストリームではない。代わりに、より低いビットレートストリームが、バッファリングされたメディアの再生の間、ダウンロードされるメディアの一部が、より低いビットレートストリームのための下限シーク遅延以上の再生持続時間を有するように、選択され得る。メディアの十分な部分が、再生デバイスのバッファ内に蓄積されると、再生デバイスは、チャネルビットレートのために最適である、より高いレートのビットストリームに切り替えることができる。本発明のある実施形態による、ストリーム間で切り替えるとき、下限シーク遅延を利用する再生デバイスは、ストリームのそれぞれに対する下限シーク遅延をサーバから取得することができる。いくつかの実施形態では、下限シーク遅延は、サーバから受信されたストリーム内にエンコードされる。いくつかの実施形態では、再生デバイスは、下限シーク遅延をサーバから別個に取得する。いくつかの実施形態では、再生デバイスは、ストリームの全部に対する下限シーク遅延として、ストリームのそれぞれに対する下限シーク遅延の最高値を利用する。下限シーク遅延の最高値は、ストリームの全部に対して使用するための再生デバイスにとって安全であるため、安全シーク遅延と称され得る。各ストリームに対する下限シーク遅延の代わりに、安全シーク遅延を利用することは、現在のストリームの安全シーク遅延を把握することによって、全他の代替ストリームのシーク遅延にわたって十分な知識を与えるため、望ましくあり得る。多くの実施形態では、ストリーム内の全対応する場所にわたる最大initial_cpb_removal_delay値は、安全シーク遅延と見なされ、各ストリームのSEIバッファリングメッセージ内のinitial_cpb_removal_delayフィールド中に挿入される。他の実施形態では、種々の技法のいずれかが、再生デバイスが、チャネルレートの変化に応答して、新しいストリームを選択する前に、再生デバイスに、ストリームのそれぞれと関連付けられた遅延を提供するために利用される。下限および上限シーク遅延の組み合わせを使用したバッファリングおよび再生下限シーク時間の利用は、再生をより迅速に開始可能にする。適切にエンコードされたコンテンツと組み合わせた上限シーク時間の使用は、ストリーム間の切り替えを簡略化する。いくつかの実施形態では、再生デバイスは、両アプローチの利点を用いるプロセスを利用する。本発明のある実施形態による、適応型ビットレートストリーミングを行うためのプロセスは、図5に図示される。プロセス200は、ストリームが、図4に示されるプロセスに関して前述のストリームと同様にエンコードされ、下限シーク遅延または安全シーク遅延情報が、再生デバイスに利用可能である例えば、各ストリーム内にと仮定する。プロセス200は、下限シーク遅延または安全シーク遅延を利用して、再生を開始すべき時を決定する、前述の適応型ビットレートストリーミングプロセスと同様に開始される。しかしながら、適応型ビットレートプロセスは、初期適応型ビットレートプロセス202の間に選択されるストリームのレートが、チャネルレート未満の所定の量であるという点において、前述のプロセスと異なる。より低いビットレートストリームは、メディアが、再生デバイスのバッファ内に蓄積するように選択される。いくつかの実施形態では、ストリームは、チャネルレートの33未満である、ビットレートを有するように選択される。但し、他の実施形態では、所定の量は、より多い、より少ない、および/またはメディア再生の間、再生デバイスのバッファ内にメディアの蓄積をもたらす他の方法で決定されることができる。ストリームの上限シーク遅延以上の再生持続時間および/またはエンコードされたストリームのための最大バッファサイズ以上のサイズを有する、バッファ内に蓄積されるメディアの量が決定されると204、適応型ビットレートストリーミングプロセスは、図4に図示される適応型ビットレートストリーミングプロセスに遷移206し、ストリームのエンコーディングおよび再生デバイスのバッファ内に記憶されるメディアの量の組み合わせによって、再生デバイスが、シーク遅延に関係なく、所与のチャネルレートに対して最適にエンコードされたストリームを選択することを可能にする。具体的プロセスが、図5に図示され、具体的ストリーム切り替えルールが、ストリームを切り替えるとき、高速再生を達成するための下限シーク時間の利点と、上限シーク時間の単純性を組み合わせて、前述されたが、いくつかのプロセスは、適応型ビットレートストリーミングの間、可変バッファリング要件を利用して、本発明の実施形態による、異なる性能目的を達成することができる。下限および上限シーク遅延の組み合わせを使用時のストリーム切り替え再生デバイスが、下限および上限シーク遅延の両方を利用することができるとき、バッファリングされたビデオの量に依存する、一組のストリーム切り替えルールが、利用される。図5に関連して前述のように、再生デバイスは、ビデオの再生開始に先立って、バッファリングに費やす時間を短縮するために、下限シーク遅延を利用することができる。この初期始動期間の間、ストリームの下限シーク遅延が、ストリーム切り替え時にバッファリングされたビデオを再生するためにかかるであろう時間の量未満であるストリームを選択することを伴うストリーム切り替えルールを適用することができる。そのようなルールは、以下のように表すことができる。1.バッファレベル<上限シーク遅延である場合、バッファリングされたビデオの再生持続時間未満の下限シーク遅延を有するストリームを選択する。ネットワーク帯域幅測定が、確実に行われることができない場合、再生デバイスは、最低ビットレートストリームの選択を強いる、付加的ストリーミングルールを利用することができる。このストリーム切り替えルールは、以下のように表すことができる。2.バッファレベル<上限シーク遅延およびネットワークデータレートが、信頼できないまたは不正確なである場合、最低ビットレートストリームを選択する。定常ネットワークデータレートは、十分に長い時間期間の間、経験される、またはより低いビットレートストリームが、図5に関連して前述のように、バッファを増大させるように選択されるとき、再生デバイスによってバッファリングされたビデオの量は、ストリームの上限シーク遅延を超える点に上昇するであろう。この点において、ストリーム切り替えが、測定されたネットワーク帯域幅およびストリームの最大ビットレートに基づいて、行われることができる。より低い最大ビットレートでエンコードされたストリームの上限シーク遅延が、既知である場合、類似ストリーム切り替え決定が、切り替えが行われているストリームの上限シーク遅延に基づいて行われ得る。対応するストリーム切り替えルールは、以下のように表されることができる。3.ネットワークデータレートが、信頼性があり、上限シーク遅延<=バッファリングされたビデオである場合、ネットワークデータレート未満の最大ビットレートを有する代替ストリームの最高値である、最大ビットレートを有するストリームを選択する。再生デバイスが、レベルレートに従って予期されるものより遥かに高速で、ストリームのチャンクをダウンロードしているとき、チャネルデータレートは、ストリームの最大ビットレートより遥かに高く、ネットワークデータレートを確実に測定することは困難であって、したがって、いったんバッファリングされたビデオの量が上限シーク遅延を超えると、より高いビットレートストリームが選択されることができる。このストリーム切り替えルールは、以下のように表されることができる。4.チャンクをダウンロードするために予期される時間>>チャンクをダウンロードするためにかかる実施の時間および上限シーク遅延<=バッファリングされたビデオである場合、次の最高の最大ビットレートを有するストリームを選択する。前述のルールに加え、本発明の実施形態による、再生デバイスは、ヒステリシスをストリーム切り替えルールに組み込み、測定されたネットワークデータレートが、決定閾値の周囲で変動するとき、過剰なレベルの切り替えを防止することができる。さらに、再生デバイスは、ストリームを選択するとき、測定されたネットワークデータレートと選択されたストリームの最大ビットレートとの間に、安全マージンまたはヘッドルームを含んでもよい。多くの実施形態では、ヘッドルームは、有意な帯域幅切断例えば、所定の量または割合後、一時的に増加し、ネットワークデータレート内の付加的切断の場合、バッファアンダーフローの可能性を低減させることができる。また、再生デバイスは、他のメディアのダウンロード特に、始動時を抑制し、特定のストリームのためにバッファリングされたビデオデータの再生持続時間が、上限シーク遅延に一致する、またはそれを超えるためにかかる時間を短縮させることができる。具体的ストリーム切り替えルールが、切り替えストリームを切り替えるとき、高速再生を達成するための下限シーク時間の利点と、上限シーク時間の単純性を組み合わせて、前述されるが、ストリーム切り替えルールの種々のかつ組み合わせのいずれかが、適応型ビットレートストリーミングの間、本発明の実施形態による、異なる性能目的を達成するために利用されることができる。本発明は、ある具体的側面において説明されたが、多くの付加的修正および変形例が、当業者に明白となるであろう。したがって、本発明は、例えば、本発明の範囲および精神から逸脱することなく、それらが準拠する特定の規格内で指定されるもの以外の特徴に対応する、エンコーダおよびデコーダを利用する、実装における種々の変更を含め、具体的に説明される以外に、別様に実践されてもよいことを理解されたい。したがって、本発明の実施形態は、あらゆる観点において、制限ではなく、例証として、見なされるべきである。