JP5878614B2 - ワイヤレスハンドヘルドコンピューティングデバイスの媒体再生品質を最適化するためのシステムおよび方法 - Google Patents

ワイヤレスハンドヘルドコンピューティングデバイスの媒体再生品質を最適化するためのシステムおよび方法 Download PDF

Info

Publication number
JP5878614B2
JP5878614B2 JP2014243831A JP2014243831A JP5878614B2 JP 5878614 B2 JP5878614 B2 JP 5878614B2 JP 2014243831 A JP2014243831 A JP 2014243831A JP 2014243831 A JP2014243831 A JP 2014243831A JP 5878614 B2 JP5878614 B2 JP 5878614B2
Authority
JP
Japan
Prior art keywords
computing device
handheld computing
wireless handheld
wireless
file
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014243831A
Other languages
English (en)
Other versions
JP2015062319A (ja
Inventor
セイード・ゼット・チョウドゥリー
ラジヴ・ケイ・ヴィジャヤクマール
イドリス・ミール
Original Assignee
クアルコム,インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by クアルコム,インコーポレイテッド filed Critical クアルコム,インコーポレイテッド
Publication of JP2015062319A publication Critical patent/JP2015062319A/ja
Application granted granted Critical
Publication of JP5878614B2 publication Critical patent/JP5878614B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/16Multipoint routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • H04N21/41407Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance embedded in a portable device, e.g. video client on a mobile phone, PDA, laptop
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/752Media network packet handling adapting media to network capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • H04N21/42202Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS] environmental sensors, e.g. for detecting temperature, luminosity, pressure, earthquakes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4331Caching operations, e.g. of an advertisement for later insertion during playback
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44209Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4621Controlling the complexity of the content stream or additional data, e.g. lowering the resolution or bit-rate of the video stream for a mobile client with a small screen
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments

Description

関連出願の相互参照および優先権主張
本特許出願は、2009年10月16日に出願された、「Mobile System Aware HTTP Stream Manager」という表題の米国特許仮出願第61/252,621号への、米国特許法第119条(e)に基づく優先権を主張し、上記の出願の内容全体が参照により本明細書に組み込まれる。
今日のコンピューティング環境はますます携帯性の高い環境になっている。携帯電話を使用して通常の通話を行うのと同様に容易にワイヤレスハンドヘルドコンピューティングデバイスによってインターネットが利用されることが多い。代表的な従来のワイヤレスハンドヘルドコンピューティングデバイスには、限定はしないが、携帯電話、携帯情報端末(「PDA」)、「スマート」フォン、ページャ、ポータブルGPSユニットのようなナビゲーションデバイス、およびワイヤレス接続またはワイヤレスリンクを有するハンドヘルドコンピュータのようなデバイスが含まれる。これらのワイヤレスハンドヘルドコンピューティングデバイスは通常、人の手の中に納まるか、または片手で持ち運ぶことができる。
これらのワイヤレスハンドヘルドコンピューティングデバイスによって、ユーザの外出時にコンピューティング環境により容易にアクセスできるようになっているが、ワイヤレスハンドヘルドコンピューティングデバイスは、ワイヤレスネットワーク内でのこれらのデバイスの性能に関して固有の問題を有する。性能に関する問題には、ワイヤレスネットワーク帯域幅が小さいときにデータのダウンロードの速度が低下すること、および受信エラーによって通信速度が低下することが含まれる。この性能は、これらのハンドヘルドサイズのユニットの密閉された電子パッケージ内に含めることのできるハードウェアとソフトウェアの関数であることが多い。これらのハンドヘルドサイズのユニットの性能は、ワイヤレスハンドヘルドコンピューティングデバイスが通信リンクを確立するワイヤレスネットワークの関数でもあり得る。
ワイヤレスハンドヘルドコンピューティングデバイスの多くのユーザによって、映像を実現する通信リンクが望まれている。通常、映像はそのファイルサイズのためにワイヤレスハンドヘルドコンピューティングデバイス上にダウンロードするのに時間がかかることがある。映像は、ワイヤレスネットワークに関係する要因によって再生中に中断されることがある。ワイヤレスハンドヘルドコンピューティングデバイスの性能に悪影響を与えることがある1つの要因として、ハンドヘルドコンピューティングデバイスが、帯域幅が小さくなる可能性があるワイヤレス通信ネットワークとの通信リンクを確立することが挙げられる。
ワイヤレス通信ネットワークにおけるハンドヘルドコンピューティングデバイスの性能低下に関係する別の要因としてレイテンシがある。パケット交換ネットワークにおけるレイテンシは、一方向(パケットの送信元からパケットの受信先までの時間)または往復(送信元から送信先までの一方向レイテンシと送信先から送信元に戻る一方向レイテンシの和)のいずれかで測定される。ワイヤレス通信ネットワークにおいてレイテンシが高いと、一般にワイヤレスハンドヘルドコンピューティングデバイス用の映像のロードにかかる時間が、レイテンシが低いかまたは最低限のネットワークと比べて長くなる。一般に、たいていのワイヤレスハンドヘルドコンピューティングデバイスは、ワイヤレス通信ネットワークの性能に悪影響を与える要因を補正しない。
デバイスがワイヤレス通信ネットワークに結合されているときに、映像の再生時などに、ワイヤレスハンドヘルドコンピューティングデバイスの性能に悪影響を与える要因を補正することのできるシステムおよび方法が必要である。
第1の例示的な態様によれば、ワイヤレスハンドヘルドコンピューティングデバイスの媒体再生品質を最適化するための方法を開示する。この方法は、媒体の1つまたは複数のファイルセグメントを記述するメタオブジェクトを受信することと、メタオブジェクトに記述された1つまたは複数のファイルセグメントのオプションを検討することとを含む。この方法は、アプリケーションサブシステムからのデータおよびモデムサブシステムからのデータを評価することをさらに含む。この方法は、アプリケーションサブシステムおよびモデムサブシステムのうちの少なくとも一方から受信されたデータに基づいてワイヤレスハンドヘルドコンピューティングデバイス上の媒体再生を最適化するダウンロードできるファイルセグメントを選択することも含む。
ワイヤレスハンドヘルドコンピューティングデバイスの媒体再生品質を最適化するためのコンピュータシステムを開示する。このシステムは、媒体の1つまたは複数のファイルセグメントを記述するメタオブジェクトを受信し、メタオブジェクトに記述された1つまたは複数のファイルセグメントのオプションを検討するように動作可能なプロセッサを含む。プロセッサは、アプリケーションサブシステムからのデータおよびモデムサブシステムからのデータを評価するように動作可能である。プロセッサは、アプリケーションサブシステムおよびモデムサブシステムのうちの少なくとも一方から受信されたデータに基づいてワイヤレスハンドヘルドコンピューティングデバイス上の媒体再生を最適化するダウンロードできるファイルセグメントを選択する。
ワイヤレスハンドヘルドコンピューティングデバイスの1つまたは複数のメモリリソースを管理するためのコンピュータシステムは、媒体の1つまたは複数のファイルセグメントを記述するメタオブジェクトを受信するための手段と、メタオブジェクトに記述された1つまたは複数のファイルセグメントのオプションを検討するための手段とを含む。このシステムは、アプリケーションサブシステムからのデータを評価するための手段とモデムサブシステムからのデータを評価するための手段も有する。このシステムは、アプリケーションサブシステムおよびモデムサブシステムのうちの少なくとも一方から受信されたデータに基づいてワイヤレスハンドヘルドコンピューティングデバイス上の媒体再生を最適化するダウンロードできるファイルセグメントを選択するための手段も含む。
コンピュータ可読プログラムコードが実現されるコンピュータで使用可能な媒体を備えるコンピュータプログラム製品を開示する。コンピュータ可読プログラムコードは、ワイヤレスハンドヘルドコンピューティングデバイスの媒体再生品質を最適化するための方法を実行し実装するようになされ、実行される方法は、媒体の1つまたは複数のファイルセグメントを記述するメタオブジェクトを受信することと、メタオブジェクトに記述された1つまたは複数のファイルセグメントのオプションを検討することとを含む。コンピュータ可読プログラムコードは、アプリケーションサブシステムからのデータを評価するためのステップとモデムサブシステムからのデータを評価するためのステップを実行するようにさらになされる。コンピュータ可読プログラムコードは、アプリケーションサブシステムおよびモデムサブシステムのうちの少なくとも一方から受信されたデータに基づいてワイヤレスハンドヘルドコンピューティングデバイス上の媒体再生を最適化するダウンロードできるファイルセグメントを選択するためのステップをさらに実行する。
図中、別段規定されていない限り、同様の参照番号は、様々な図の全体を通じて、同様の部分を指す。「102A」または「102B」のような文字指定を伴う参照番号について、文字指定は、同じ図に存在する2つの同様の部分または要素を区別し得る。参照番号の文字指定は、参照番号が、すべての図において同じ参照番号を有するすべての部分を包含することが意図される場合には、省略されることがある。
ワイヤレス通信ネットワークに結合されたワイヤレスハンドヘルドコンピューティングデバイスの図である。 図2のワイヤレスハンドヘルドコンピューティングデバイス上の映像再生を最適化するシステムのソフトウェアアーキテクチャの一態様の図である。 携帯電話を備える例示的なワイヤレスハンドヘルドコンピューティングデバイスの図である。 ワイヤレスハンドヘルドコンピューティングデバイスのタッチスクリーンの図である。 ワイヤレスハンドヘルドコンピューティングデバイスによってダウンロードされたビデオのコンテンツを表示する画面の図である。 ワイヤレスハンドヘルドコンピューティングデバイスの映像再生を最適化するための方法を示すフローチャートである。 ワイヤレスハンドヘルドコンピューティングデバイスの映像再生を最適化するための方法を示す、図5Aのフローチャートに続くフローチャートである。 ワイヤレスハンドヘルドコンピューティングデバイスのセンサからのデータを評価するための図5Aのサブ方法またはルーチンを示すフローチャートである。 ワイヤレスハンドヘルドコンピューティングデバイスのモデムサブシステムからのデータを評価するための図5Aのサブ方法またはルーチンを示すフローチャートである。 ワイヤレスハンドヘルドコンピューティングデバイスのストリーミングマネージャとワイヤレスハンドヘルドコンピューティングデバイスによってダウンロードできる様々な映像ファイルを有するサーバとの間の通信を示す状態図である。
「例示的な」という言葉は、「一例、実例または例として」を意味するように本明細書で使用される。「例示的な」ものとして本明細書で説明するいかなる態様も、必ずしも他の態様よりも好ましい、または有利であると解釈されるわけではない。
本明細書では、「アプリケーション」という用語は、オブジェクトコード、スクリプト、バイトコード、マークアップ言語ファイル、およびパッチなど、実行可能コンテンツを有するファイルを含むこともある。加えて、本明細書で言及する「アプリケーション」は、開封される必要があり得るドキュメント、またはアクセスされる必要がある他のデータファイルなど、本質的に実行可能ではないファイルを含むこともある。
本明細書では、「通信デバイス」、「ワイヤレスデバイス」、「ワイヤレス電話」、「ワイヤレス通信デバイス」、および「ワイヤレスハンドセット」という用語は交換可能に用いられる。第3世代(「3G」)ワイヤレス技術の出現により、より広い帯域が利用できるようになり、より広範なワイヤレス機能を備えたより多くの電子デバイスが使用可能になった。したがって、ワイヤレスデバイスは、セルラー電話、ページャ、PDA、スマートフォン、ナビゲーションデバイス、またはワイヤレス接続もしくはワイヤレスリンクを有するハンドヘルドコンピュータであってよい。
図1Aは、ワイヤレス通信ネットワーク206に結合されたワイヤレスハンドヘルドコンピューティングデバイス200の図である。図1Aに示されるシステム要素の多くは、通信リンク103A〜103Bを介して通信ネットワーク206に結合されている。図1に示すリンク103は、ワイヤレスリンクを備えてもよい。ワイヤレスリンクには、限定はしないが、高周波(「RF」)リンク、赤外線リンク、音響リンク、および他のワイヤレス媒体が含まれる。
通信ネットワーク206は、ワイドエリアネットワーク(「WAN」)、ローカルエリアネットワーク(「LAN」)、ワイヤレスLAN(「wLAN」)インターネット、公衆交換電話網(「PSTN」)、ページングネットワーク、またはこれらの組合せを備えてもよい。通信ネットワーク206は、ブロードキャストRFトランシーバタワー208によって確立されてもよい。しかし、当業者には、通信ネットワーク206を確立するための通信デバイスとして、ブロードキャストRFトランシーバタワー208以外の他の種類の通信デバイスが本発明の範囲内に含まれることが認識されよう。
サーバ210は、ワイヤレスハンドヘルドコンピューティングデバイス200によってダウンロードしメモリに記憶することのできるメタオブジェクト402および映像ファイルセグメント212を有してもよい。ハンドヘルドコンピューティングデバイス200は、それぞれのハンドヘルドデバイス200が、通信ネットワーク206とのワイヤレス通信リンク103を確立できるように、アンテナ372を有するように示される。
サーバ210は、通信ネットワーク206上でワイヤレスハンドヘルドコンピューティングデバイス200と通信し、そのメタオブジェクト402およびファイルセグメント212をハンドヘルドコンピューティングデバイス200と共有してもよい。メタオブジェクトおよびファイルセグメント212は、ハンドヘルドコンピューティングデバイス200のアプリケーションサブシステム102およびモデムサブシステム133によって処理され管理される。
各メタオブジェクト402は、ワイヤレスハンドヘルドコンピューティングデバイス200によってダウンロードすることのできる映像ファイル212に関する詳細なファイル情報206を有する拡張可能なマーク付け言語(XML)フォーマットを有するファイルなどのファイルを備えてもよい。映像ファイルセグメント212が例示されているが、任意の種類のメディアファイルが本発明の範囲内にあることが、当業者には認識される。すなわち、メディアファイルには、限定はしないが、映像ファイル、オーディオファイル、大きい画像ファイル、およびそれらの任意の組合せを含めてもよい。
メタオブジェクト402の詳細ファイル情報206は、ワイヤレスハンドヘルドコンピューティングデバイス200によってダウンロードすることのできる映像ファイルセグメント212A〜212Dの様々な特性を記述してもよい。例示的な特性には、限定はしないが、複数のファイルセグメント212を含む映像の全長、各ファイルセグメント212の個別の長さ、互いに類似したセグメント212のそれぞれの異なるビットレート、互いに類似したセグメント212のそれぞれの異なる映像解像度が含まれる。本明細書では説明しないが、映像の様々な態様/特徴を表す映像の他の特性は、当業者に理解されるように本発明の範囲内に含まれる。さらに、本発明は、映像ファイルに限定されず、画像ファイル、音声ファイル、テキストファイル、および一般にファイルを様々なセグメントに分割することを必要とするサイズを有するデータを含む任意の他の種類のファイルのような他の種類のファイルに適した発明であってもよい。
4つのファイルセグメント212A〜212Dしか示されていないが、当業者に理解されるように、4つよりも多いかまたは少ない数のファイルセグメント212も本発明の範囲内である。さらに、当業者に理解されるように、ビットレートがそれぞれ異なるが同様の解像度を有する4つよりも多いかまたは少ない数の複製ファイルセグメント212、同様のビットレートおよび同様の解像度を有する4つよりも多いかまたは少ない数の複製ファイルセグメント212、ビットレートおよび解像度がそれぞれ異なる4つよりも多いかまたは少ない数の複製ファイルセグメント212も本発明の範囲内である。
第1のファイルセグメント212Aは、第1の映像解像度で第1のビットレートを有し、ワイヤレスハンドヘルドコンピューティングデバイス200によって選択することのできるユニバーサルリソースロケータ(「URL」)を備える。第2のファイルセグメント212Bは、第1のファイルセグメント212Aと同様の第1のビットレートを有するが、第1のファイルセグメント212Aの第1の解像度とは異なる第2の映像解像度を有する。第2のファイルセグメント212Bは、第1のファイルセグメント212Aの第1のURLとは異なる第2のURLを有する。
第3のファイルセグメント212Cは、第1のファイルセグメントおよび第2のファイルセグメント212A〜212Bの第1のビットレートとは異なる第2のビットレートを有する。第3のファイルセグメント212Cは、第1のファイルセグメント212Aの映像解像度と同一の第1の映像解像度を有する。第3のファイルセグメント212Cは、第1のファイルセグメント212Aの第1のURLおよび第2のファイルセグメント212Bの第2のURLとは異なる第3のURLを有する。
第4のファイルセグメント212Dは、第3のファイルセグメント212Cの第2のビットレートと等しい第2のビットレートを有するが、第2のファイルセグメント212Bの第2の映像解像度と同じ第2の映像解像度を有する。第4のファイルセグメント212Dは、第1のファイルセグメント212Aの第1のURL、第2のファイルセグメント212Bの第2のURL、および第3のファイルセグメント212Cの第3のURLとは異なる第4のURLを有する。本発明の範囲から逸脱することなく4つよりも多いかまたは少ない数のファイルセグメント212を設け得ることが、当業者には認識される。メタオブジェクト402およびファイルセグメント212に関する詳細について、以下に図5A〜図5Bおよび図8に関連して説明する。
図1Bは、ワイヤレスハンドヘルドコンピューティングデバイス200の映像再生を最適化するシステム102のソフトウェアアーキテクチャの第1の態様の図である。アプリケーションサブシステム102は、中央処理ユニット324(図2参照)によって実行され、ハイパーテキスト転送プロトコル(「HTTP」)ストリーミング要求マネージャ109によってサポートされる映像を実行することのできるモバイルウェブブラウザアプリケーション105を備えてもよい。
モバイルウェブブラウザアプリケーションまたはモジュール105は、当業者に理解され以下に説明するようにインターネットプロトコル(「IP」)層129の上方に存在する転送通信プロトコル(「TCP」)モジュール127と通信してもよい。
IP層129は、当業者に理解されるように、ネットワークバッファ層131と通信する。IP層129は、第2の中央処理ユニット326(図2参照)によって実行されるモデムサブシステム133と通信する。
モバイルウェブブラウザモジュール105は、ハイパーテキスト転送プロトコル(「HTTP」)ストリーミング要求マネージャ109と、HTTPスタック111と、ドメインネームサーバモジュール113とを含む。ウェブブラウザモジュール105内に含められるように示されているが、さらなる例示的な代替実施形態(図示せず)では、HTTPストリーミング要求マネージャ109は、ウェブブラウザ105に対する別個のモジュールとして存在してもよい。
HTTPストリーミングプロトコルは、イベントに応答してデータをサーバ210からハンドヘルドコンピューティングデバイス200上のウェブブラウザに送信するための機構である。HTTPストリーミングプロトコルは、いくつかの一般的な機構によって実現されてもよい。そのような一機構において、サーバ210は、データが処理された後も、クライアントとも呼ばれるコンピューティングデバイス200への応答を終了しない。このことは、データ送信の直後に応答が閉じられる典型的なHTTPサイクルとは異なる。サーバ210は、イベントを受信後にただちにクライアントに送信できるように応答を開いたままにしておく。場合によっては、クライアントがサーバ210に次の要求を出すまでデータを待ち行列に入れる必要がある。HTTPストリーミングプロトコルの典型的な使用法には、限定はしないが、映像再生、市場データ分散(株価表示機)、ライブチャット/メッセージングシステム、オンラインの賭けおよびゲーム、スポーツ結果、監視コンソール、およびセンサネットワーク監視が含まれる。HTTPストリーミングプロトコルは通常、ポート80またはポート8080を使用する。
モバイルウェブブラウザモジュール105は、メモリリソース119に結合されてもよい。メモリリソース119には、限定はしないが、キャッシュ、ランダムアクセスメモリ(「RAM」)、フラッシュメモリ、セキュアデジタル(「SD」)メモリカード、およびそれらの任意の組合せを含めてもよい。
要求マネージャ109は、コンピューティングデバイス200に最適な映像再生品質を確保するために次にハンドヘルドモバイルコンピューティングデバイス200にどんなファイルセグメント212をダウンロードすべきであるかをウェブブラウザ105を制御または指示する役割を果たしてもよい。要求マネージャ109は、アプリケーションサブシステム102ならびにモデムサブシステム133の各要素を連続的に監視することができるという点で動的であってもよい。さらに、要求マネージャ109は、アプリケーションサブシステム102およびモデムサブシステム133内の各要素からメッセージを受信してもよい。
ウェブブラウザ105のDNSモジュール113は、当業者に理解されるように、テキストベースのドメイン名を数値のインターネットプロトコル(IP)アドレスに変換する役割を果たしてもよい。DNSモジュール113は、IPアドレスをまたHTTPスタック111に伝達してもよく、HTTPスタック111がIPアドレスをTCP接続モジュール127に中継する。
HTTPスタック111がTCP接続モジュール127からメタオブジェクト402を返すとき、HTTPスタックモジュール111はこのメタオブジェクト402をストリーミングクライアント要求マネージャ109に中継する。HTTPスタックモジュール111は、クライアント要求マネージャ109にあるステータス情報を供給してもよい。ステータス情報には、限定はしないが、高速スケジュール制御チャネル(「HS-SCCH」)、有効ステータス、高速トランスポートブロックサイズ(「HS-TBS」)、レイヤ1ブロック誤り率(「L1 BLER」)、無線リンク制御プロトコルデータ単位(「RLC PDU」)サイズ、無線リンク制御ダウンリンクサービスデータ単位(「RLC DL SDU」)バイト受信(「Rx」)、高速ダウンリンクパケットアクセス(「HSDPA」)、ユーザ端末(「UE」)カテゴリ、媒体アクセス制御アップリンクバッファステータス報告(「MAC UL BSR」)、拡張アップリンク送信時間間隔(「EUL TTI」)、拡張トランスポートフォーマット組合せ識別子(「ETFCI」)テーブルインデックス、ETCFI、新規送信数(「Tx」)、無線リンク制御アップリンクサービスデータ単位(「RLC UL SDU」)バイト送信(「Tx」)、ダイバーシチ送信/ダイバーシチ受信(「DTX/DRX」)モード、拡張アップリンクユーザ端末(「EUL UE」)カテゴリ、媒体アクセス制御送信レイヤトランスポートブロックサイズ(「MAC TL TBS」)、パケットデータコンバージェンスプロトコルダウンリンクサービスデータ単位(「PDCP DL SDU」)バイト受信(「Rx」)、媒体アクセス制御アップリンクトランスポートブロックサイズ(「MAC UL TBS」)、パケットデータコンバージェンスプロトコルアップリンクサービスデータ単位(「PDCP UL SDU」)バイト送信(「Tx」)、およびユーザ端末カテゴリ(「UE Category」)を含めてもよい。
要求マネージャ109は、メタオブジェクト402の構文解析および/または検討を行い、現在のワイヤレスネットワーク条件およびハンドヘルドコンピューティングデバイス200の動作環境を評価した後、次のダウンロードにはどの映像セグメント212が適切であるかを判定する。
転送制御プロトコル(「TCP」)接続モジュール127は、当業者に理解されるように、一般的なネットワーキングの開放型システム間相互接続(OSI)モデルのトランスポートレイヤ内で動作する。TCP接続モジュール127は、アプリケーションデータブロックを宛先ホストに送信できるようにネットワークインフラストラクチャに転送するのに適したデータ単位(データグラム、セグメント)としてカプセル化するか、あるいはネットワークデータグラムを抽象化しそのペイロードをモバイルウェブブラウザ105に送出することによってリバーストランザクションを管理する役割を果たす。
TCP接続モジュール127は、限定はしないが、再送タイムアウト(「RTO」)、受信ウィンドウ広告(「Rx Window」)、送信-受信スループット(Tx/Rxスループット)、パケット統計、TCP接続の総数、推定往復時間(「RTT」)、受信バイト数、シーケンス内パケット数、およびTCP送信ウィンドウサイズを含む情報を提供してもよい。
インターネットプロトコル(「IP」)モジュール129は、TCP接続モジュール127およびネットワークバッファレイヤ131と通信する。IPモジュール129は、識別されたプロトコルデータグラム(パケット)をそのアドレスに基づいてモバイルウェブブラウザからサーバ210に送出する役割を果たす。IPモジュール129は、アドレス指定方法およびデータグラムカプセル化の構造を定義する。IPモジュール129は、インターネットプロトコルバージョン4(「IPv4」)ならびに本明細書を作成している時点で積極的に使用されているインターネットプロトコルバージョン6(「IPv6」)を利用してもよい。しかしながら、まだ開発されていない将来のバージョンを含む、インターネットプロトコルの他のバージョンが本発明の範囲内に含まれる。
ネットワークバッファレイヤ131は、IPモジュール129およびモデムサブシステム133と通信する。ネットワークバッファレイヤ131は、イーサネット(登録商標)および他のIEEE 802カプセル化方式のようなハードウェア特有のすべてのインターフェース方法を含んでもよい。ネットワークバッファレイヤ131は、通信ネットワーク206のようなローカルネットワークのトポロジーを調査してもよい。ネットワークバッファレイヤ131は、ルータおよび近傍のホストを発見してもよく、かつリンク上の他のノードを発見する役割を果たしてもよい。ネットワークバッファレイヤ131は、他のノードのリンクレイヤアドレスを判定し、利用可能なルータを見つけ、他の近傍のアクティブノードへのパスに関するアクセス情報を維持してもよい。
ストリーミングクライアント要求マネージャ109は、HTTPスタック111ならびにTCPモジュール127と通信してもよい。ストリーミング要求マネージャ109は1つまたは複数のセンサ125とも通信する。センサ125には、限定はしないが、歩数計125A、加速度計125B、近位センサ125C、コンパス125D、および周辺光センサ125Eを含めてもよい。歩数計125Aは、ハンドヘルドコンピューティングデバイス200が歩行中の人によって使用されていることを示す信号を生成してもよい。
加速度計125Bは、ハンドヘルドコンピューティングデバイス200が自動車などの電動車両に配置されていることを示す信号を生成してもよい。近位センサ125Cは、ハンドヘルドコンピューティングデバイス200が電話をかけている人の顔の隣に位置しているかどうかを示してもよい。コンパス125Dは、ハンドヘルドコンピューティングデバイス200が走行している特定の方向を示す信号を生成してもよい。周辺光センサ125Eは、コンピューティングデバイス200上で映像をどのように表示する必要があるかに影響を及ぼす、ハンドヘルドコンピューティングデバイス200が明環境で使用されているかそれとも暗環境で使用されているかを示す信号を生成してもよい。
モデムサブシステム133は、無線リンク制御(「RLC」)レイヤ135、媒体アクセス制御(「MAC」)レイヤ139、物理(「PHY」)レイヤ141、無線-中継制御(「RRC」)モジュール137、および全地球測位システム(「GPS」)143を備えてもよい。モデムサブシステム133のこれらの要素は、図2に示すようなRFトランシーバ368などの通信ハードウェアと通信する役割を果たしてもよい。
モデムサブシステム133の各要素は、メッセージを送信するかまたはHTTPストリーミングクライアント要求マネージャ109からクエリを受信してもよい。たとえば、RRCモジュール137は、限定はしないが、高速ダウンリンクパケットアクセス(「HSDPA」)カテゴリ情報、拡張アップリンクレイヤ(「EUL」)カテゴリ情報、および不連続受信/送信(「DRX/DTX」)構成(「Config」)情報のような情報を伝達してもよい。
RLCモジュール135は、スループットならびに無線リンク制御(「RLC」)プロトコルデータ単位(「PDU」)サイズを伝達してもよい。MACレイヤ139は、限定はしないが、バッファステータス報告(「BSR」)情報および拡張専用チャネル(「EDCH」)トランスポートフォーマット(「TF」)情報のようなアップリンク(「UL」)情報を伝達してもよい。物理レイヤ141は、限定はしないが、高速トランスポートブロックサイズ(「HS-TBS」)、変調、チャネル品質指示(「CQI」)、ブロック誤り率(「BLER」)測定値、多入力/多出力(「MIMO」)、受信機(「Rx」)自動利得制御(「AGC」)、ならびに等化器集積回路(「EQ/IC」)受信機(「Rx」)ダイバーシチ(「D」)のようなダウンリンク(「DL」)情報を伝達してもよい。物理レイヤ141は、限定はしないが、BLER、変調、および送信機(「Tx」)自動利得制御(「AGC」)のようなアップリンク(「UL」)情報を伝達してもよい。
RRCモジュール137、RLCモジュール135、MACモジュール139、およびPHYモジュール141は、当業者に理解されるように、進化型高速パケットアクセスシステム(「HSPA」)を形成してもよい。一方、GPSモジュール143は、限定はしないが、ハンドヘルドモバイルコンピューティングデバイス200の位置および速度のような情報をストリーミング要求マネージャ109に供給してもよい。
ストリーミングクライアント要求マネージャ109は、アプリケーションサブシステム102およびモデムサブシステム133の各要素を監視することによって、ワイヤレスハンドヘルドコンピューティングデバイス200が、ワイヤレスネットワークの条件ならびにハンドヘルドコンピューティングデバイス200自体の条件を監視することによってデバイス200上に表示される映像品質をインテリジェントに変化させるのを可能にしてもよい。映像品質は、ストリーミングクライアント要求マネージャ109により、監視される条件を使用して映像セグメントファイル212をサーバ210からダウンロードするのに適切なビットレートがどのようなビットレートであるかを判定することによって変化させてもよい。
アプリケーションサブシステム102およびモデムサブシステム133から供給されるデータに基づく監視される条件の一部には、限定はしないが、現在のバッファのサイズおよびバッファが増大しコンピューティングデバイス200によって消費される速度を含むメディアプレーヤバッファ条件、現在および過去のWWAN帯域幅、現在および過去のWWAN信号強度、利用可能なIPソケットデータ接続数、ビデオクリップ推定全長ならびに信号対雑音比履歴/ヒストグラムおよびロケーションベースサービス(「LBS」)に基づく各ファイルセグメント212の各ユニフォームリソースロケータ(「URL」)推定ダウンロード時間、GPSモジュール143のようなロケーションベース技術を使用することによりセルタワー識別三角法または厳密な緯度経度のいずれかによって計算されたハンドヘルドコンピューティングデバイス200の速度、ならびに加速度計および/またはLBSを使用したハンドヘルドコンピューティングデバイス200の走行方向が含まれる。
ストリーミングクライアント要求マネージャ109は、信号対雑音比が連続的に高くおよび/またはBLERが連続的に低くなるまでクライアント要求マネージャ109が下位ビットレートを維持または使用しなければならない所定の期間を算出してもよい。ストリーミングクライアント要求マネージャ109は、モデムサブシステム133における任意の種類の1つまたは複数の受信ダイバーシチ機能を「オン」または「オフ」にして、ハンドヘルドコンピューティングデバイス200が静止しているとき、またはユーザがコンピューティングデバイス200を持って歩いているときなど、ハンドヘルドコンピューティングデバイス200が比較的低速の条件の下で動作しているときのような、理想的なネットワーク状況の間出力を最低限に抑えてもよい。
図2を参照する。この図は、図1のワイヤレスハンドヘルドコンピューティングデバイスに対応するワイヤレス電話を備えるワイヤレスハンドヘルドコンピューティングデバイス200の例示的かつ非限定的な態様の図である。図示のように、ワイヤレスハンドヘルドコンピューティングデバイス102は、互いに結合された、デジタル信号プロセッサおよび/または第1の中央処理ユニット324とアナログ信号プロセッサおよび/または第2の中央処理ユニット326とを含むオンチップシステム322を含む。さらに、第1のプロセッサ324およびメモリリソース119は、本開示において図5〜図8に関連して説明する方法ステップの1つまたは複数を実行するための手段として働いてもよい。一方、第2のデジタル信号プロセッサ/中央処理ユニット326は、同じく図5〜図8に関連して説明する、モデムサブシステム133に関する1つまたは複数の命令を実行してもよい。
ワイヤレスハンドヘルドコンピューティングデバイス200を例示するが、当業者には、コンピューティングデバイスのサイズにかかわらず任意の種類のワイヤレスコンピューティングデバイスを用いて本発明を実施できることが認識されよう。すなわち、ノートコンピュータ、ラップトップコンピュータ、およびデスクトップコンピュータのような、ハンドヘルドユニット以外の他のワイヤレスコンピューティングデバイスが本発明の範囲内に含まれる。
図2に示されるように、ディスプレイコントローラ328およびタッチスクリーンコントローラ330が、デジタル信号プロセッサ324に結合される。オンチップシステム322の外部にあるタッチスクリーンディスプレイ332が、ディスプレイコントローラ328およびタッチスクリーンコントローラ330に結合される。
図2は、ビデオエンコーダ334、たとえば位相反転線(「PAL」)エンコーダ、順次式カラーメモリ(「SECAM」)エンコーダ、全国テレビジョン方式委員会(「NTSC」)エンコーダ、または任意の他のビデオエンコーダが、デジタル信号プロセッサ324に結合されることをさらに示している。上記のように、当業者には理解されるように、第1のデジタル信号プロセッサ324および/または第2のデジタル信号プロセッサ326を中央プロセッサユニット(「CPU」)で置き換えてもよい。いずれかのハードウェアユニットが図5A〜図8のソフトウェア要素/命令のサブシステムを実行してもよい。
ビデオ増幅器336が、ビデオエンコーダ334およびタッチスクリーンディスプレイ332に結合される。ビデオポート338がビデオ増幅器336に結合される。図2に示すように、ユニバーサルシリアルバス(「USB」)コントローラ340がデジタル信号プロセッサ324に結合される。また、USBポート342がUSBコントローラ340に結合される。メモリリソース119および加入者識別モジュール(「SIM」)カード346も、デジタル信号プロセッサ324に結合され得る。さらに、図2に示すように、デジタルカメラ348がデジタル信号プロセッサ324に結合され得る。例示的な態様では、デジタルカメラ348は、電荷結合デバイス(「CCD」)カメラまたは相補型金属酸化膜半導体(「CMOS」)カメラである。
図2にさらに示すように、ステレオオーディオコーデック350がアナログ信号プロセッサ326に結合され得る。その上、オーディオ増幅器352がステレオオーディオコーデック350に結合され得る。例示的な態様では、第1のステレオスピーカー354および第2のステレオスピーカー356がオーディオ増幅器352に結合される。図2は、マイクロフォン増幅器358もステレオオーディオコーデック350に結合され得ることを示している。加えて、マイクロフォン360がマイクロフォン増幅器358に結合され得る。特定の態様では、周波数変調(「FM」)無線チューナー362がステレオオーディオコーデック350に結合され得る。また、FMアンテナ364がFM無線チューナー362に結合される。さらに、ステレオヘッドフォン366がステレオオーディオコーデック350に結合され得る。
図2は、高周波(「RF」)トランシーバ368がアナログ信号プロセッサ326に結合され得ることをさらに示している。RFスイッチ370がRFトランシーバ368およびRFアンテナ372に結合され得る。RFトランシーバ368は、従来の通信ネットワークと通信するとともに、地理的な座標についてGPS信号を取得するために、全地球測位システム(「GPS」)衛星とも通信することができる。RFトランシーバは、図1BのGPSモジュール143によって制御され監視されてもよい。
図2に示すように、キーパッド374がアナログ信号プロセッサ326に結合され得る。また、マイクロフォンを備えたモノヘッドセット376がアナログ信号プロセッサ326に結合され得る。さらに、バイブレータデバイス378がアナログ信号プロセッサ326に結合され得る。図2は、電源380がオンチップシステム322に結合され得ることも示している。特定の態様では、電源380は、電力を必要とするワイヤレスハンドヘルドコンピューティングデバイス200の様々な構成要素に電力を供給する直流(「DC」)電源である。さらに、特定の態様において、電源装置は、AC電源に接続された交流(「AC」)-DC変換器から導かれたDC電源または充電式DCバッテリである。
図2に示されるように、タッチスクリーンディスプレイ332、ビデオポート338、USBポート342、カメラ348、第1のステレオスピーカー354、第2のステレオスピーカー356、マイクロフォン360、FMアンテナ364、ステレオヘッドフォン366、RFスイッチ370、RFアンテナ372、キーパッド374、モノヘッドセット376、バイブレータ378および電源380は、オンチップシステム322の外部にある。
図3は、ワイヤレスハンドヘルドコンピューティングデバイス200のタッチスクリーンディスプレイ332の図である。図3に示すように、ワイヤレスハンドヘルドコンピューティングデバイス200は、この例示的な実施形態において方形のボックスとして表されたプログラムアイコン505のメニューまたはリスト510を含んでもよい。ワイヤレスハンドヘルドコンピューティングデバイス200はまた、携帯電話での会話を聞き取るために、ユーザの耳の横に配置され得る、ヘッドセットまたはスピーカー376を含む。
図4は、ワイヤレスハンドヘルドコンピューティングデバイス200によってダウンロードされた映像400のコンテンツを表示する画面332の図である。映像400は動画を含んでもよい。図4に示す例示的な実施形態では、2台の自動車が互いに向かって矢印に対応する方向に移動するように示されている。当業者には、本発明が図4に示す例示的な自動車の画像に限定されず、様々な映像の他の種類の動画が本発明の範囲内であることが認識される。
図5Aを参照する。この図は、ワイヤレスハンドヘルドコンピューティングデバイス200の映像再生を最適化するための方法500Aを示すフローチャートである。ブロック505は、サーバ210上で利用可能なビデオファイルセグメント212を記述するメタオブジェクト402がワイヤレスハンドヘルドコンピューティングデバイス200によって受信されるプロセス500における第1のステップである。前述のように、各メタオブジェクト402は、ワイヤレスハンドヘルドコンピューティングデバイス200によってダウンロードすることのできる映像ファイル212に関する詳細なファイル情報206を有する拡張可能なマーク付け言語(XML)フォーマットを有するファイルなどのファイルを備えてもよい。
メタオブジェクト402のこの詳細ファイル情報206は、ワイヤレスハンドヘルドコンピューティングデバイス200によってダウンロードすることのできる映像ファイルセグメント212A〜212Dの様々な特性を記述する情報であってもよい。例示的な特性には、限定はしないが、複数のファイルセグメント212を含む映像の全長、各ファイルセグメント212の個別の長さ、互いに類似したセグメント212のそれぞれの異なるビットレート、互いに類似したセグメント212のそれぞれの異なる映像解像度が含まれる。本明細書では説明しないが、映像の様々な態様/特徴を記述する映像の他の特性は、当業者に理解されるように本発明の範囲内に含まれる。さらに、本発明は、映像ファイルに限定されず、画像ファイル、音声ファイル、テキストファイル、および一般にファイルを様々なセグメントに分割することを必要とするサイズを有するデータを含む任意の他の種類のファイルのような他の種類のファイルに適した発明であってもよい。
図1Aに示す例示的な実施形態では、メタオブジェクト402は、長さがY秒であるファイルセグメント212に分割される長さがX分の映像を記述している。メタオブジェクト402は、各ファイルセグメント212に3つのビットレートがもたらされることを記述している。メタオブジェクト402は、各ファイルセグメント212に2つの解像度が利用可能であることも記述している。一方の解像度は「High」解像度として示されており、一方、他方のファイルセグメント212は「Low」解像度して示されている。
次に、ブロック510において、HTTPストリーミングクライアント要求マネージャ109は、メタオブジェクト402に記載されているファイルセグメント212のオプションを検討してもよい。クライアント要求マネージャ109は、1つまたは複数のメモリリソース119にこれらのオプションを格納してもよい。
ルーチンブロック515において、クライアント要求マネージャ109は、図1Bに示すようにクライアント要求マネージャ109がセンサ125から受信するデータを評価してもよい。上記のように、クライアント要求マネージャ109がセンサ125に能動的にデータを要求するかまたは「ピング」してもよく、あるいはセンサ125が、条件が変化したときにクライアント要求マネージャ109に対してステータスの更新を行ってもよい。ルーチンブロック515のさらなる詳細については、図6に関連して以下にさらに詳しく説明する。
次に、ブロック520において、クライアント要求マネージャ109は、センサ125からのデータを1つまたは複数のメモリリソース119に格納してもよい。ブロック525において、クライアント要求マネージャ109は、アプリケーションサブシステム102からのデータを評価してもよい。
具体的には、ブロック525において、クライアント要求マネージャ109は、TCP接続モジュール127、およびHTTPスタック111によって供給されるデータを評価してもよい。上記のように、TCP接続モジュール127は、限定はしないが、再送タイムアウト(「RTO」)、クライアント要求マネージャ109が、当業者には理解されるように達成可能な最大スループットを推定するのを可能にする受信ウィンドウ広告(「Rx Window」)、送信-受信スループット(Tx/Rxスループット)、パケット統計、TCP接続の総数、当業者には理解されるように様々なホスト名に関して推定することのできる推定往復時間(「RTT」)、クライアント要求マネージャ109が、当業者には理解されるように平均サービングスループットを算出するのを可能にする受信バイト数、クライアント要求マネージャ109が、当業者には理解されるようにTCP送信ウィンドウサイズを推定するのを可能にするシーケンス内パケット数、およびクライアント要求マネージャ109が、当業者には理解されるように達成可能な最大スループットを推定するのを可能にするTCP送信ウィンドウサイズを含む情報を供給してもよい。
HTTPスタックモジュール111は、限定はしないが、ハンドヘルドコンピューティングデバイス200がネットワークによって送信をスケジューリングされる回数をクライアント要求マネージャ109が推定するのを可能にし、クライアント要求マネージャ109が、当業者には理解されるように最大達成可能スループットを推定するのを可能にする値である高速スケジュール制御チャネル(「HS-SCCH」)有効ステータス、クライアント要求マネージャ109が、当業者には理解されるように平均スループットおよび最大達成可能スループットを推定するのを可能にする高速トランスポートブロックサイズ(「HS-TBS」)およびレイヤ1ブロック誤り率(「L1 BLER」)、クライアント要求マネージャ109が、当業者には理解されるように達成可能な最大スループットを推定するのを可能にする無線リンク制御プロトコルデータ単位(「RLC PDU」)サイズ、クライアント要求マネージャ109が、当業者には理解されるようにインターネットプロトコル(「IP」)レイヤに対する平均スループットを算出するのを可能にする無線リンク制御ダウンリンクサービスデータ単位(「RLC DL SDU」)バイト受信(「Rx」)を含めてもよいステータス情報をクライアント要求マネージャ109に供給してもよい。
HTTPスタックモジュール111は、限定はしないが、クライアント要求マネージャ109が、当業者には理解されるように理論最大ダウンリンクスループットを算出するのを可能にする高速ダウンリンクパケットアクセス(「HSDPA」)ユーザ端末(「UE」)カテゴリ、当業者には理解されるようにどれだけのデータがプロトコルスタックにバッファリングされアップリンク送信をスケジューリングされるのを待っているかを示す媒体アクセス制御アップリンクバッファステータス報告(「MAC UL BSR」)、拡張アップリンク送信時間間隔(「EUL TTI」)、拡張トランスポートフォーマット組合せ識別子(「ETFCI」)テーブルインデックス、ETCFI、新規送信数(「Tx」)、クライアント要求マネージャ109が、当業者には理解されるようにIPレイヤから見える平均スループットを算出するのを可能にする無線リンク制御アップリンクサービスデータ単位(「RLC UL SDU」)送信バイト(「Tx」)、クライアント要求マネージャ109が、当業者には理解されるようにHTTP要求をバンドルしてレイテンシを短縮することができるようにこのモードを構成することが可能なダイバーシチ送信/ダイバーシチ受信(「DTX/DRX」)モード、クライアント要求マネージャ109が、当業者には理解されるように理論最大アップリンクスループットを算出するのを可能にする拡張アップリンクユーザ端末(「EUL UE」)カテゴリ、クライアント要求マネージャ109が、当業者には理解されるように平均スループットを算出するのを可能にする媒体アクセス制御送信レイヤトランスポートブロックサイズ(「MAC TL TBS」)、クライアント要求マネージャ109が、当業者には理解されるようにIPレイヤに対する平均スループットを算出するのを可能にするパケットデータコンバージェンスプロトコルダウンリンクサービスデータ単位(「PDCP DL SDU」)バイト受信(「Rx」)、クライアント要求マネージャ109が、当業者には理解されるように平均スループットを算出するのを可能にする媒体アクセス制御アップリンクトランスポートブロックサイズ(「MAC UL TBS」)、クライアント要求マネージャ109が、当業者には理解されるようにIPレイヤから見える平均スループットを算出するのを可能にするパケットデータコンバージェンスプロトコルアップリンクサービスデータ単位(「PDCP UL SDU」)送信バイト(「Tx」)、クライアント要求マネージャ109が、当業者には理解されるように理論最大スループットを算出するのを可能にするユーザ端末カテゴリ(「UE Category」)のようなステータス情報をさらにクライアント要求マネージャ109に供給してもよい。
クライアント要求マネージャ109は、EUL TTI ETFCIテーブルインデックス、およびHTTPスタック111から供給される新規Txパラメータ数によって、当業者には理解されるように平均スループットおよび最大達成可能スループットを推定してもよい。ブロック530において、クライアント要求マネージャ109は、アプリケーションサブシステム102からのデータを1つまたは複数のメモリリソース119に格納してもよい。ルーチンブロック535において、クライアント要求マネージャ109は、モデムサブシステム133からのデータを評価してもよい。ルーチンブロック535のさらなる詳細については、図7に関連して以下でさらに詳しく説明する。
ルーチンブロック545において、HTTPストリーミングクライアント要求マネージャ109は、履歴データとアプリケーションサブシステム102およびモデムサブシステム133から取り込まれた新しいデータとの比較に基づいてワイヤレスネットワーク206の将来の条件を推定してもよい。たとえば、クライアント要求マネージャ109は、クライアント要求マネージャ109がセンサ125から受信するデータに基づいて、ハンドヘルドコンピューティングデバイス200が移動しているかどうかを判定しかつハンドヘルドコンピューティングデバイス200の移動速度を求めてもよい。これによって、ストリーミングクライアント要求マネージャ109は、近い将来にハンドヘルドコンピューティングデバイス200に対してどんな種類の無線条件が予期されるかを推定することができる。
クライアント要求マネージャ109は、ハンドヘルドコンピューティングデバイス200が、移動中に多数の異なるワイヤレスネットワーク206を通過する可能性がある自動車のような自走車の中に存在すると判定したときに、ハンドヘルドコンピューティングデバイス200の動作にある種の調整を施してもよい。これによって、クライアント要求マネージャ109は、ハンドヘルドコンピューティングデバイス200が特定のワイヤレスネットワーク206、特にセルラー基地局トランシーバタワー208の受信範囲内にどれだけ長く存在し得るかを判定することができる。
別の例として、ブロック545において、HTTPストリーミングクライアント要求マネージャ109は、ハンドヘルドコンピューティングデバイス200が歩行中の人間によって搬送されていると判定してもよい。この条件が検出された場合、クライアント要求マネージャ109は、ハンドヘルドコンピューティングデバイス200が、特定のワイヤレスネットワーク206内、特にセルラー基地局トランシーバタワー208の範囲内に、ハンドヘルドコンピューティングデバイス200が自動車などの自走車内に位置する場合に存在すると考えられる期間よりも通常長いある期間にわたって存在すると判定する。
クライアント要求マネージャ109は、ブロック545において、ハンドヘルドコンピューティングデバイス200が特定のワイヤレスネットワーク206の範囲内に存在する時間を計算することによって、あるセルラー基地局トラシーバタワー208から別のトランシーバタワー208にハンドオフが行われる可能性があると予期することができる。この時間計算の代わりにまたはこの時間計算に加えて、ストリーミングクライアント要求マネージャ109は、セルサイトハンドオフがいつ行われるかを示すデータを追跡することができるモデムサブシステム133内のハードウェア要素またはソフトウェア要素に問合せを行ってもよい。
クライアント要求マネージャ109がハンドオフがいつ行われるかを厳密に算出することは重大ではなく、ハンドヘルドコンピューティングデバイス200が通信を確立することのできるワイヤレスネットワーク206に対する急速な変化をハンドヘルドコンピューティングデバイス109がいつ経験するかをクライアント要求マネージャ109が判定することが有用である。
次に、ルーチンブロック550において、クライアント要求マネージャ109は、現在のネットワーク条件およびハンドヘルドコンピューティングデバイス109の現在の条件ならびに/またはルーチンブロック545において算出されたネットワーク条件の推定値に基づいてサーバ210からダウンロードすべきファイルセグメントタイプを選択してもよい。このルーチンブロック550において、クライアント要求マネージャ109は、ハンドヘルドコンピューティングデバイス200上に表示されている映像400の再生を最適化するためにどのファイルセグメント212をサーバ210からダウンロードしたいかを指定してもよい。ストリーミングクライアント要求マネージャ109は、状況によっては、第3のファイルセグメント212Cと比べてビットレートが低くかつ解像度が低い第4のファイルセグメント212Dのような低品質ビデオストリーミング信号を絶えず要求することがある。
ストリーミングクライアント要求マネージャ109は通常、ハンドヘルドデバイス109がワイヤレスネットワーク206に対する急速な変化を経験し、場合によってはワイヤレスネットワーク206との通信を失う可能性があると判定した場合に、低品質ビデオストリーミング信号を要求してもよい。ハンドヘルドコンピューティングデバイス200が静止している可能性があるとクライアント要求マネージャ109が判定した場合、クライアント要求マネージャ109は、クライアント要求マネージャ109によって検出される条件に応じて高品質信号または低品質信号と高品質信号の組合せを要求してもよい。たとえば、ハンドヘルドコンピューティングデバイス200が静止していることをクライアント要求マネージャ109が検出した場合、クライアント要求マネージャ109は、第1の最高ビットレートおよび第1の最高映像解像度を有する図1Aの第1のファイルセグメント212Aを含む高品質信号を要求してもよい。クライアント要求マネージャ109は、ストリーミング映像用のバッファのようなデータのバッファを構築してもよく、それによって、ハンドヘルドコンピューティングデバイス200は、ユーザからは見えない映像ストリームの高度なセグメント212をメモリリソース119内に維持することができる。
ルーチンブロック550においてクライアント要求マネージャ109によって実行できるステップの別の例として、クライアント要求マネージャ109は、ハンドヘルドコンピューティングデバイス200がユーザの耳の近くに位置しており、したがって、電話呼を確立することができると近位センサ125Cが判定したときに表示画面332を停止してもよい。そのようなシナリオでは、ハンドヘルドコンピューティングデバイス200がユーザの耳の近くに位置しているときにハンドヘルドコンピューティングデバイス200の映像態様を使用している可能性は低いので、ハンドヘルドコンピューティングデバイスの表示画面232を非アクティブ化するか表示画面232の電源を切断してもよい。代替として、クライアント要求マネージャ109は、そのようなシナリオでは、映像がユーザによって監視されるかまたは注意深く見られている可能性は低いので低品質映像を要求してもよい。
ルーチンブロック550においてクライアント要求マネージャ109によって実行できるステップのさらなる例には、クライアント要求マネージャ109が周辺光センサ125Eから受信したデータに基づいてファイルセグメント212を選択することを含む。ハンドヘルドコンピューティングデバイス200が映像を表示する能力を低下させることのある顕著な量の光にさらされていることを周辺光センサ125Eが示している場合、このシナリオではクライアント要求マネージャ109は低品質映像を要求してもよい。ハンドヘルドコンピューティングデバイス200が、光が存在しない環境にさらされていることを周辺光センサ125Eが示している場合、このシナリオでは、映像品質がユーザによって容易に知覚されるので、クライアント要求マネージャ109はより高品質の映像を要求してもよい。
次に、破線によって示されている任意のブロック555において、クライアント要求マネージャ109は、所定の期間および/または異なるレベルの映像品質に切り替わるのを防止するための条件を設定してもよい。任意のブロック555において、クライアント要求マネージャ109は、通常、ネットワーク条件がハンドヘルドコンピューティングデバイス200とブロードキャストトランシーバタワー208との間に通信を確立するのに不十分である状況において現在のネットワーク条件が変化しないと考えられる時間を算出する。この時間計算は、ブロック545においてクライアント要求マネージャ109が算出したネットワーク条件の推定値に基づく計算である。
任意のブロック555は通常、PHYレイヤモジュール141によって追跡される信号対雑音比(「SNR」)が所定のレベルに達したとクライアント要求マネージャ109がブロック545において判定した後、ストリーミングクライアント要求マネージャ109によって実施または実行される。任意のブロック555において、ストリーミングクライアント要求マネージャ109は、SNRが所定の期間にわたって所定のレベルのままであり、一方、ブロック誤り率(「BLER」)が所定の期間にわたって連続的に所定のレベルのままであるのでない限り、より高い映像品質のセグメント212への変更を妨げてもよい。
任意のブロック560において、クライアント要求マネージャ109は、任意のブロック555において算出された所定の期間および/または任意のブロック555において算出された条件を、履歴追跡を目的として現在の条件に関連付けられた1つまたは複数のメモリリソース119に記憶してもよい。次に、任意のブロック565において、クライアント要求マネージャ109は、モデムサブシステム133の拡張特徴を無効化するかまたはアクティブ化するかを判定してもよい。
この任意のブロック565において、クライアント要求マネージャ109は、GPSモジュール143からのGPSデータおよびクライアント要求マネージャ109によって監視される電力レベル条件に基づいて、受信機ダイバーシチ(「RxDiv」)機能のような高度な受信機機能を無効化するかまたはアクティブ化するかを判定してもよい。クライアント要求マネージャ109は、ハンドヘルドコンピューティングデバイス200が低電力状態を経験しており、ワイヤレスネットワーク206同士の間を移動していると、GPSデータに基づいて判定した場合、1つまたは複数の高度な受信機機能を無効化して電力を節約し、ワイヤレスネットワーク206との通信を維持することを決定してもよい。クライアント要求マネージャ109は、ハンドヘルドコンピューティングデバイス200が、完全に充電されている通常電力状態を経験しており、かつハンドヘルドコンピューティングデバイス200が静止していると判定した場合、1つまたは複数の高度な受信機機能をその無効化状態から有効化またはアクティブ化することを決定してもよい。
任意のブロック570において、クライアント要求マネージャ109は、任意のブロック565におけるクライアント要求マネージャ109自体の決定に基づいて高度な受信機機能を有効化してもあるいは無効化してもよい。クライアント要求マネージャによって無効化または有効化することのできる他の高度な受信機機能には、限定はしないが、等化器有効化(「EQ Enable」)機能および干渉除去有効化(「IC Enable」)機能が含まれる。そして、プロセスは、図5Bの決定ブロック575に続く。
図5Bは、ワイヤレスハンドヘルドコンピューティングデバイス200の映像再生を最適化するための方法500を示す、図5Aのフローチャートに続くフローチャートである。決定ブロック575は、このフローチャートの第1のブロックであり、クライアント要求マネージャ109は、1つまたは複数のアプリケーションがハンドヘルドコンピューティングデバイス200の一次的な使用および/または制御を行っているかどうかを判定してもよい。この決定ブロック575において、クライアント要求マネージャ109は、ハンドヘルドコンピューティングデバイス200上の別のアプリケーションプログラムモジュールによって電話呼のような別のアプリケーションがサポートまたは実行されているかどうかを判定してもよい。代替として、クライアント要求マネージャ109は、表示画面332の、表示中の映像400をサポートする部分と比べて大きい部分を主に使用するかまたは利用する別のアプリケーションプログラムモジュールを検出してもよい。
決定ブロック575において、ハンドヘルドコンピューティングデバイス200によって電話呼が受信された状況のように、ハンドヘルドコンピューティングデバイス200の一次的な使用および/または制御を行っているアプリケーションがあるとクライアント要求マネージャ109が判定した場合、プロセスは決定ブロック580に進む。決定ブロック575において、ハンドヘルドコンピューティングデバイス200の一次的な使用および/または制御を行っているアプリケーションがあることをクライアント要求マネージャ109が検出しない場合、プロセスは図5Aのブロック515に戻る。
決定ブロック580において、要求されたファイルセグメント212の品質が最低であるかどうかをクライアント要求マネージャ109が判定する。メモリリソース119中の現在のファイルセグメント212がメタオブジェクト402に記述されているファイルセグメントと比べて高い品質を有するとクライアント要求マネージャ109が判定した場合、プロセスはブロック585に進み、クライアント要求マネージャは、より品質の低いファイルセグメント212が利用可能であるかどうかを判定し、利用可能である場合、他のアプリケーションモジュールがハンドヘルドコンピューティングデバイス200の使用および/または制御を支配している間、そのより品質の低いファイルセグメント212を選択する。
他のアプリケーションモジュールがモバイルコンピューティングデバイス200の主な使用および/または制御を放棄すると、クライアント要求マネージャ109は、ネットワーク条件およびワイヤレスハンドヘルドコンピューティングデバイス200の条件に応じてより品質の高い映像ファイルセグメントを求める要求を許容してもよい。決定ブロック580において、現在の映像ファイルセグメント212がすでに最低の品質を有するとクライアント要求マネージャ109が判定した場合、プロセスは図5Aのブロック515に戻る。
図6は、ワイヤレスハンドヘルドコンピューティングデバイス200のセンサ125からのデータを評価するための図5Aのサブ方法またはルーチン515を示すフローチャートである。ブロック605は、ルーチン515の第1のブロックであり、クライアント要求マネージャ109は歩数計センサ125Aからのデータを評価する。前述のように、歩数計センサ125Aからのデータは、ハンドヘルドコンピューティングデバイス200が歩行中の人によって持ち運ばれており、したがって、クライアント要求マネージャ109は、ハンドヘルドコンピューティングデバイス200があるワイヤレスネットワーク206内に存在し得る時間の推定値を算出することができることを示してもよい。
次に、ブロック610において、クライアント要求マネージャ109は、加速度計125Bから受信するデータを評価してもよい。加速度計125Bからのデータは、ハンドヘルドコンピューティングデバイス200が移動する車両内に存在するか否かをクライアント要求マネージャ109に示してもよい。ブロック620において、クライアント要求マネージャ109は、近位センサ125Cからのデータを評価してもよい。近位センサ125Cからのデータは、(通常)電話呼を行うためにハンドヘルドコンピューティングデバイス200がユーザの顔の隣に位置していることをクライアント要求マネージャ109に示してもよい。
次に、ブロック625において、クライアント要求マネージャ109は、コンパス125Dから受信するデータを評価してもよい。コンパス125Dからのデータは、ハンドヘルドコンピューティングデバイス200が自走車内に配置されているか否かを示してもよい。
ブロック630において、クライアント要求マネージャ109は、周辺光センサ125Eからのデータを評価してもよい。周辺光センサ125Eからのデータは、ハンドヘルドコンピューティングデバイス200に関する照明条件をクライアント要求マネージャ109に示してもよい。周辺光センサ125Eは、低レベル照明条件および直射日光のような高レベル照明条件ならびに日光が存在しない夜間のハンドヘルドコンピューティングデバイス200の動作を検出してもよい。ブロック630の後、プロセスは図5Aのブロック520に戻る。
図7は、ワイヤレスハンドヘルドコンピューティングデバイス200のモデムサブシステム133からのデータを評価するための図5Aのサブ方法またはルーチン535を示すフローチャートである。ブロック705は、ルーチン535の第1のブロックであり、クライアント要求マネージャ109はGPSモジュール143から受信したデータを評価してもよい。GPSモジュール143は、限定はしないが、ハンドヘルドモバイルコンピューティングデバイス200の位置および速度のような情報をストリーミング要求マネージャ109に供給してもよい。具体的には、GPSモジュール143は、楕円体に対する緯度、経度、高度、平均海面に対する高度、水平速度、垂直速度、およびヘッディング情報を提供してもよい。
ブロック710において、クライアント要求マネージャ109は、無線中継制御(「RRC」)モジュール137からのデータを評価してもよい。RRCモジュール137は、限定はしないが、高速ダウンリンクパケットアクセス(「HSDPA」)カテゴリ情報、拡張アップリンクレイヤ(「EUL」)カテゴリ情報、および不連続受信/送信(「DRX/DTX」)構成(「Config」)情報のような情報を伝達してもよい。
ブロック720において、クライアント要求マネージャ109は、無線リンク制御(「RLC」)モジュール135からのデータを評価してもよい。RLCモジュール135は、スループットならびに無線リンク制御(「RLC」)プロトコルデータ単位(「PDU」)サイズを伝達してもよい。
ブロック720において、クライアント要求マネージャは、媒体アクセス制御(「MAC」)モジュール139からのデータを評価してもよい。MACレイヤ139は、限定はしないが、バッファステータス報告(「BSR」)情報および拡張専用チャネル(「EDCH」)トランスポートフォーマット(「TF」)情報のようなアップリンク(「UL」)情報を伝達してもよい。
ブロック730において、クライアント要求マネージャ109は、物理レイヤ(「PHY」)モジュール147からのデータを評価してもよい。物理レイヤ141は、限定はしないが、高速トランスポートブロックサイズ(「HS-TBS」)、変調、チャネル品質指示(「CQI」)、ブロック誤り率(「BLER」)測定値、多入力/多出力(「MIMO」)、受信機(「Rx」)自動利得制御(「AGC」)、ならびに等化器集積回路(「EQ/IC」)受信機(「Rx」)ダイバーシチ(「D」)のようなダウンリンク(「DL」)情報を伝達してもよい。物理レイヤ141は、限定はしないが、BLER、変調、および送信機(「Tx」)自動利得制御(「AGC」)のようなアップリンク(「UL」)情報を伝達してもよい。
PHYモジュール141によって監視される他のパラメータには、限定はしないが、クライアント要求マネージャ109が、当業者には理解されるようにワイヤレスチャネルプロファイル、単一パスプロファイルまたは多重パスプロファイルを推定するのを可能にし得るレイクフィンガパス数、クライアント要求マネージャ109が、当業者には理解されるようにフェージングチャネル条件を予測するのを可能にする共通パイロットチャネル(「CPICH」)信号対雑音比(「SNR」)、クライアント要求マネージャ109が、当業者には理解されるようにフェージングチャネル条件を予測するのを可能にするチャネル品質インジケータ(「CQI」)、クライアント要求マネージャ109が、当業者には理解されるように測定帯域幅にわたる信号品質を算出するとともにフェージングチャネル条件を予測するのを可能にするアンテナ372当たりの基準信号受信品質(「RSRQ」)、クライアント要求マネージャ109が、当業者には理解されるように空間多重化多重入力多重出力(「SU-MIMO」)条件における送信レイヤ数を算出するのを可能にするランクインジケータ(「RI」)が含まれる。
次に、ブロック735において、モデムサブシステム要素からのデータをクライアント要求マネージャ109によって1つまたは複数のメモリリソース119に記憶してもよい。プロセスは次いで、図5Aのルーチンブロック540に戻る。
図8は、ワイヤレスハンドヘルドコンピューティングデバイス200のストリーミングマネージャ109とワイヤレスハンドヘルドコンピューティングデバイス200によってダウンロードできる様々な映像ファイル212を有するサーバ210との間の通信を示す状態図である。この状態図の第1の通信133Aは、モデムサブシステム133からストリーミングクライアントマネージャ109に送信される。第1の通信133Aは、平均送信プロトコル(「TP」)のステータスを含んでもよい。TPの現在のステータスは、ハンドヘルドコンピューティングデバイス109によってサポートできる毎秒1.8メガビット数(「Mbps」)を示してもよい。第1の通信133Aはまた、ブロック誤り率(「BLER」)のステータスを提供してもよい。この通信133AのBLERは、2%の値を含んでもよい。
第1の通信133Aはまた、ハンドヘルドコンピューティングデバイス200とサーバ210との間の往復時間(「RTT」)のステータスを提供してもよい。RTTは、100ミリ秒(ms)の値を含んでもよい。第1の通信133Aはまた、GPSモジュール143からのステータスを提供してもよい。GPSモジュール143からのステータスは、ハンドヘルドコンピューティングデバイス200が毎時約1マイルの速度で移動していることを示してもよい。
第2の通信111Aは、ストリーミングサーバ210からメタオブジェクト402を要求するためにHTTPクライアント111から送信されてもよい。第3の通信133Bは、送信プロトコルに関する速度が第1の通信133Aに対して1.5Mbpsまで低下したことを示してもよい。第3の通信133Bはまた、BLERが3%に増大し、一方、RTTが100msのままであることを示してもよい。GPSモジュール143は、ハンドヘルドコンピューティングデバイス200の速度が第1の通信133Aに対して2mphまで上昇したことを示してもよい。
第4の通信210Aは、サーバ210からハンドヘルドコンピューティングデバイス200のHTTPクライアント111に送信される。第4の通信210Aは、メタオブジェクトファイル402を含んでもよい。メタオブジェクトファイル402は、各ファイルセグメント212の長さが約5秒であり、一方、セグメントの各々のビットレートのオプションに1.5Mbps、1Mbps、768Mbps、384Mbps、および64kbpsのビットレートが含まれることを示してもよい。メタオブジェクトファイル402はまた、ファイルセグメント212が、一方の解像度が800X400であり別の解像度が400X200である2つの異なる映像解像度を有し得ることを示してもよい。
第5の通信111Bにおいて、メタオブジェクトファイル402は検討するためにクライアント要求マネージャ109に転送される。第6の通信109Aにおいて、クライアント要求マネージャ109は、第1のファイルセグメント212に関する速度および第1のファイルセグメントの解像度をすでに求めており、速度が1Mbpsであり、解像度が800X400になっている。メタオブジェクトファイル402を含む第5の通信111Bが終了してから第6の通信109Aが開始するまでの間に、クライアント要求マネージャ109が図5Aのブロック510〜550を実行しておいてもよい。
第7の通信111Bにおいて、HTTPクライアント111は、ビットレートが1Mbpsであり映像解像度が800X400であるファイルセグメント212を求める要求をサーバ210に発行する。第8の通信133Cにおいて、モデムサブシステム133は、平均送信プロトコル速度が500kbpsに低下し、一方、BLERが10%に増大したことを示す。一方、RTTは100msのままであり、それに対して、GPSモジュール143は、ハンドヘルドコンピューティングデバイス109の速度が第3の通信133Bに対して10mphに増大したことを示す。
第8の通信133Cにおいて示される条件に基づいて、クライアント要求マネージャ109は、次にダウンロードすべきファイルセグメント212が、ビットレートが1Mbpsであり、映像解像度が、以前にクライアント要求マネージャ109によって発行された第6の通信109Aよりも低い400X200であるべきであると、第9の通信109Bの直前に判定する。クライアント要求マネージャ109は、この第9の通信をHTTPクライアント111に送信する。
しかしながら、ストリーミングサーバ210はHTTPクライアントの前回の要求に応答していないので、HTTPクライアント111は第9の通信109Bのコンテンツをストリーミングサーバ210に送信することができない。HTTPクライアント111は、ストリーミングサーバ210から次の通信を受信したときに初めて、その次の要求をストリーミングサーバ210に送信することができる。これは、当業者には理解されるように、HTTPストリーミングプロトコルの特性である。
第10の通信210Bにおいて、ストリーミングサーバ210は、第7の通信111BであったHTTPクライアント111からの前回の要求に対する応答を生成する。第10の通信210Bは、ビットレートが1Mbpsであり映像解像度が800X400であるファイルセグメントであった前回の要求111Bのコンテンツを含んでもよい。
次に、モデムサブシステム133からクライアント要求マネージャ109への第11の通信133Dにおける条件は、平均送信プロトコルのビットレートが500kbpsのままであり、一方、BLERも10%のままであったことを示してもよい。第11の通信133Dは、RTTが100msから120msに増大しており、クライアントコンピューティングデバイス109の速度が10MPHのままであることを示してもよい。
第12の通信109Cにおいて、クライアント要求マネージャ109は、ビットレートおよび映像解像度が、ビットレートが384kbpsであり映像解像度が400X200であった前回のクライアント要求マネージャ通信109Bに対して同じままであり得ると判定していてもよい。この第12の通信109Cは、クライアント要求マネージャ109からHTTPクライアント111に送信される。
第13の通信111Cにおいて、HTTPクライアント111は、次のファイルセグメント212のビットレートを384kbpsにし映像解像度を400X200にする要求をストリーミングサーバ210に伝達してもよい。第14の通信210Cにおいて、ストリーミングサーバ210は、ビットレートが384kbpsであり映像解像度が400X200である要求されたファイルセグメント212を供給してもよい。
次に、第15の通信133Eにおいて、モデムサブシステム133は、平均TP速度およびBLERがそれぞれ500kbpsおよび10%で同じままであることを示してもよい。モデムサブシステム133はまた、RTTが120msから150msに増大しており、速度が10MPHのままであることを示してもよい。
第15の通信133Eにおいてモデムサブシステム133によって供給されるこれらの条件に基づいて、クライアント要求マネージャ109は、要求されたビットレートが384kbpsであり映像解像度が400X200である前回の第12の要求109Cと等しいビットレートおよび映像解像度を有するセグメント212を要求することを決定してもよい。クライアント要求マネージャ109は、このデータを第16の通信109Dにおいて送信する。
第17の通信133Fにおいて、モデムサブシステム133は、送信プロトコルのビットレートが500kbpsから3Mbpsに増大しており、かつBLERが10%から0.5%に低下していることを示してもよい。第17の通信133Fはまた、RTTが150msから100msに低下しており、ハンドヘルドコンピューティングデバイス200の速度が10MPHから1MPHに低下していることを示してもよい。
クライアント要求マネージャは、第17の通信133Fにおいて供給される条件を考慮して、少なくとも図5Aのブロック510〜550を実行した後、クライアント要求マネージャ109は、ビットレートが1.5Mbpsであり解像度が比較的高く800X400であるファイルセグメント212を要求してもよい。その後、HTTPクライアント111は、ビットレートが1.5Mbpsであり解像度が高く800X400であるファイルセグメント212を求める要求を第19の通信111Dにおいてストリーミングサーバ210に送信する。
図8の状態図を参照して特定の値について考察したが、当業者には、TP、BLER、RTT、およびGPSの他の値が可能であり、かつ本発明の範囲内であることが認識されよう。さらに、当業者には、モデムサブシステム133とアプリケーションサブシステム102の両方によって監視される他の因子が本発明の範囲内であることが認識されよう。
当業者には、クライアント要求マネージャ109を使用してインターネットを介してコンテンツにアクセスする家庭用パーソナルコンピュータが本発明の範囲内であることが認識されよう。クライアント要求マネージャ109は、Windows(登録商標)などのオペレーティングシステム(「OS」)上で実装され実行され、また通常、帯域幅(選択されたストリーミングビデオのビットレート)およびマルチメディアバッファステータス(ビデオストリームのビット消費率)を監視し、次のファイルセグメント212における解像度コンテンツをより高くするかそれともより低くするかの決定を下す。
クライアント要求マネージャ109を使用するモバイルハンドセットを、Windows(登録商標)を備えるOS上に実装しWWAN(Gobiなど)に接続しても、あるいはクライアント要求マネージャ109を携帯電話内のANDROID(登録商標)、SYMBIAN(登録商標)、またはモバイルWINDOWS(登録商標)ブランドモバイルオペレーティングシステムのようなOS上に設けてもよい。クライアント要求マネージャ109は、上記と同様の帯域幅およびマルチメディアバッファステータスを監視してもよい。しかしながら、この携帯電話環境において、クライアント要求マネージャ109は、ユーザが移動しており加速していることをGPSモジュール143および加速度計125Bを介して考慮してもよい。クライアント要求マネージャ109は、統計的に、ユーザが過去に同様に加速したときに、帯域幅が減少していることに注目してもよい。したがって、クライアント要求マネージャ109が将来帯域幅が減少する可能性があると仮定した場合、要求マネージャ109は、現在検出されているネットワーク条件の下でサポートすることのできる映像解像度よりも低い映像解像度を要求するインテリジェントな決定を下してもよい。
当業者には、より高度なクライアント要求マネージャ109が信号対雑音(「SNR」)を考慮してもよいことが認識されよう。たとえば、ハンドヘルドコンピューティングデバイス109が移動を停止し、より高いビットレートが利用可能である場合、クライアント要求マネージャ109は通常より高いビットレートを要求するにもかかわらず、SNRが低いことに注目してもよく、したがって、次の1組のファイルセグメント212にはよりビットレートの高いストリームを要求しない。
本発明が説明通りに機能するために、本明細書で説明したプロセスまたはプロセスの流れの特定のステップが他のステップよりも前に実施されるのは当然である。しかしながら、ステップの順序または順番によって本発明の機能が変わることがない場合、本発明は説明したステップの順序に限定されない。つまり、本発明の範囲および趣旨から逸脱することなく、あるステップを他のステップの前に実行しても、後に実行してもよく、あるいは各ステップを並行して(実質的に同時に)実行してもよいことを認識されたい。いくつかの場合には、特定のステップが、本発明から逸脱することなく、省略されてもよく、または実行されなくてもよい。さらに、「その後」、「次いで」、「次に」などの語は、ステップの順序を限定することを意図していない。これらの語は、単に例示的な方法の説明を通じて読者を導くために使用されている。
加えて、プログラミングの当業者は、たとえば本明細書のフローチャートおよび関連する説明に基づいて、コンピュータコードを書くか、または適切なハードウェアおよび/もしくは回路を特定し、開示された発明を容易に実施することができる。
したがって、特定の1組のプログラムコード命令または詳細なハードウェアデバイスの開示が、本発明をどのように製作し使用すべきかについて適切に理解するうえで必要であるとはみなされない。特許請求されるコンピュータで実施されるプロセスの発明性のある機能は、上の説明において、かつ、様々なプロセスの流れを示し得る図面とともに、より詳細に説明される。
1つまたは複数の例示的な態様では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せで実装することができる。ソフトウェアで実装される場合、機能は、1つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体上で送信され得る。コンピュータ可読媒体は、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含む、コンピュータ記憶媒体とコンピュータ通信媒体の両方を含む。記憶媒体は、コンピュータによってアクセスされ得る任意の利用可能な媒体であってよい。限定ではなく例として、そのようなコンピュータ可読媒体は、RAM、ROM、EEPROM、CD-ROM、または他の光ディスク記憶装置、磁気ディスク記憶装置もしくは他の磁気記憶デバイス、または、命令もしくはデータ構造の形式で所望のプログラムコードを伝送もしくは記憶するために使用でき、コンピュータによってアクセスされ得るその他の媒体を含み得る。
また、任意の接続をコンピュータ可読媒体と呼ぶのが妥当である。たとえば、ソフトウェアが同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(DSL)、またはワイヤレス技術、たとえば赤外線、無線、およびマイクロ波を使用してウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は媒体の定義内に含まれる。
ディスク(disk)およびディスク(disc)は、本明細書で使用される場合、コンパクトディスク(「CD」)、レーザディスク、光ディスク、デジタル多用途ディスク(「DVD」)、フレキシブルディスク、およびブルーレイディスクを含み、ディスク(disk)は、通常、磁気的にデータを再生し、ディスク(disc)は、レーザで光学的にデータを再生する。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。
選択された態様について詳細に説明し、詳述してきたが、以下の請求項によって定義されるような本発明の趣旨および範囲から逸脱することなく、本明細書において様々な置換および改変を実施できることが理解されよう。
102 アプリケーションサブシステム
103A〜103B 通信リンク
105 ウェブブラウザ
109 要求マネージャ
109A 第6の通信
109B 第9の通信
109C 第12の通信
109D 第16の通信
111 HTTPスタック
111A 第2の通信
111B 第5の通信、第7の通信
111C 第13の通信
111D 第19の通信
113 DNSモジュール
119 メモリリソース
125 センサ
125A 歩数計
125B 加速度計
125C 近位センサ
125D コンパス
125E 周辺光センサ
127 転送通信プロトコル(「TCP」)モジュール
129 インターネットプロトコル(「IP」)レイヤ
131 ネットワークバッファレイヤ
133 モデムサブシステム
133A 第1の通信
133B 第3の通信
133C 第8の通信
133D 第11の通信
133E 第15の通信
133F 第17の通信
135 無線リンク制御(「RLC」)レイヤ
137 無線中継制御(「RRC」)モジュール
139 媒体アクセス制御(「MAC」)レイヤ
141 物理(「PHY」)レイヤ
143 全地球測位システム(「GPS」)
200 ワイヤレスハンドヘルドコンピューティングデバイス
206 ワイヤレス通信ネットワーク
208 ブロードキャストRFトランシーバタワー
210A 第4の通信
210B 第10の通信
210C 第14の通信
212A〜212D 映像ファイルセグメント
322 オンチップシステム
324 デジタル信号プロセッサ
326 アナログ信号プロセッサ
330 タッチスクリーンコントローラ
334 ビデオエンコーダ
336 ビデオ増幅器
338 ビデオポート
340 ユニバーサルシリアルバス(「USB」)コントローラ
346 加入者識別モジュール(「SIM」)カード
348 デジタルカメラ
350 ステレオオーディオコーデック
352 オーディオ増幅器
354 第1のステレオスピーカー
356 第2のステレオスピーカー
358 マイクロフォン増幅器
360 マイクロフォン
362 周波数変調(「FM」)無線チューナー
364 FMアンテナ
366 ステレオヘッドフォン
368 無線周波数(「RF」)トランシーバ
370 RFスイッチ
372 RFアンテナ
374 キーパッド
376 モノヘッドセット
378 バイブレータデバイス
380 電源
400 映像
402 メタオブジェクト
505 プログラムアイコン
510 メニュー

Claims (36)

  1. ワイヤレスハンドヘルドコンピューティングデバイスの媒体再生品質を最適化するための方法であって、
    通信ネットワークを介して前記ワイヤレスハンドヘルドコンピューティングデバイスにダウンロードすることができる媒体のファイルセグメントの特性を記述するメタオブジェクトを受信するステップであって、
    前記媒体は、複数の時間セグメントを含み、各時間セグメントは、ビットレートと解像度の組合せがそれぞれ異なる利用可能な複数のファイルセグメントを含み
    前記利用可能な複数のファイルセグメントが、所与の解像度に対してビットレートがそれぞれ異なる複数のファイルセグメントおよび所与のビットレートに対して解像度がそれぞれ異なる複数のファイルセグメントを含む、ステップと、
    前記メタオブジェクトに記述された前記ビットレートと解像度のそれぞれの異なる組合せのオプションを検討するステップと、
    1つまたは複数のセンサからのデータを評価して、前記ワイヤレスハンドヘルドコンピューティングデバイスに対する通信ネットワークの急速な変化の可能性を推定し、現在のネットワーク条件が同一のままである時間を前記推定に基づいて計算するステップと、
    前記ビットレートと解像度のそれぞれの異なる組合せならびに前記推定に基づいて前記ワイヤレスハンドヘルドコンピューティングデバイスでの媒体再生を最適化するダウンロードできる任意のファイルセグメントを選択するステップとを含む方法。
  2. アプリケーションサブシステムおよびモデムサブシステムからのデータを評価するステップをさらに含み、前記任意のファイルセグメントを選択するステップは、さらに、前記アプリケーションサブシステムおよびモデムサブシステムのうち少なくとも1つから受信したデータに依存する、請求項1に記載の方法。
  3. 前記アプリケーションサブシステムおよび前記モデムサブシステムのうちの少なくとも1つからのデータに基づいてワイヤレスネットワークの将来の条件を推定するステップをさらに含む、請求項2に記載の方法。
  4. アプリケーションプログラムモジュールが前記ワイヤレスハンドヘルドコンピューティングデバイスを一次的に制御しているかどうかを判定するステップをさらに含む、請求項1に記載の方法。
  5. アプリケーションプログラムモジュールが前記ワイヤレスハンドヘルドコンピューティングデバイスを一次的に制御している場合、前記選択されたファイルセグメントの品質が最低であるかどうかを判定するステップをさらに含む、請求項4に記載の方法。
  6. 前記ワイヤレスハンドヘルドコンピューティングデバイスが電話呼を受信したかどうかを判定するステップをさらに含む、請求項1に記載の方法。
  7. 前記ワイヤレスハンドヘルドコンピューティングデバイスによって電話呼が受信された場合、前記選択されたファイルセグメントの品質が最低であるかどうかを判定するステップをさらに含む、請求項6に記載の方法。
  8. 前記ワイヤレスハンドヘルドコンピューティングデバイスは、携帯電話、携帯情報端末、ページャ、スマートフォン、ナビゲーションデバイス、およびワイヤレス接続またはワイヤレスリンクを含むハンドヘルドコンピュータのうちの少なくとも1つを備える、請求項1に記載の方法。
  9. 前記媒体は、映像、音声、画像、およびそれらの組合せのうちの少なくとも1つを含む、請求項1に記載の方法。
  10. ワイヤレスハンドヘルドコンピューティングデバイスの媒体再生品質を最適化するためのコンピュータシステムであって、
    通信ネットワークを介して前記ワイヤレスハンドヘルドコンピューティングデバイスにダウンロードすることができる媒体のファイルセグメントの特性を記述するメタオブジェクトを受信することであって
    前記媒体は、複数の時間セグメントを含み、各時間セグメントは、ビットレートと解像度の組合せがそれぞれ異なる利用可能な複数のファイルセグメントを含み
    前記利用可能な複数のファイルセグメントが、所与の解像度に対してビットレートがそれぞれ異なる複数のファイルセグメントおよび所与のビットレートに対して解像度がそれぞれ異なる複数のファイルセグメントを含む、ことと
    前記メタオブジェクトに記述された前記ビットレートと解像度のそれぞれの異なる組合せのオプションを検討することと
    1つまたは複数のセンサからのデータを評価して、前記ワイヤレスハンドヘルドコンピューティングデバイスに対する通信ネットワークの急速な変化の可能性を推定し、現在のネットワーク条件が同一のままである時間を前記推定に基づいて計算することと
    前記ビットレートと解像度のそれぞれの異なる組合せならびに前記推定に基づいて前記ワイヤレスハンドヘルドコンピューティングデバイスでの媒体再生を最適化するダウンロードできるファイルセグメントを選択することとを行うように動作可能なプロセッサを備えるシステム。
  11. 前記プロセッサは、アプリケーションサブシステムおよびモデムサブシステムからのデータを評価するようにさらに動作可能であり、前記ファイルセグメントの選択は、さらに、前記アプリケーションサブシステムおよびモデムサブシステムのうち少なくとも1つから受信したデータに依存する、請求項10に記載のシステム。
  12. 前記プロセッサは、前記アプリケーションサブシステムおよび前記モデムサブシステムのうちの少なくとも一方からのデータに基づいてワイヤレスネットワークの将来の条件を推定するようにさらに動作可能である、請求項11に記載のシステム。
  13. 前記プロセッサは、アプリケーションプログラムモジュールが前記ワイヤレスハンドヘルドコンピューティングデバイスを一次的に制御しているかどうかを判定するようにさらに動作可能である、請求項10に記載のシステム。
  14. 前記プロセッサは、前記選択されたファイルセグメントの品質が最低であるかどうかを判定するようにさらに動作可能である、請求項13に記載のシステム。
  15. 前記プロセッサは、前記ワイヤレスハンドヘルドコンピューティングデバイスが電話呼を受信したかどうかを判定するようにさらに動作可能である、請求項10に記載のシステム。
  16. 前記プロセッサは、前記ワイヤレスハンドヘルドコンピューティングデバイスによって電話呼が受信されたかどうかを判定し、次いで、前記選択されたファイルセグメントの品質が最低であるかどうかを判定するようにさらに動作可能である、請求項10に記載のシステム。
  17. 前記ワイヤレスハンドヘルドコンピューティングデバイスは、携帯電話、携帯情報端末、ページャ、スマートフォン、ナビゲーションデバイス、およびワイヤレス接続またはワイヤレスリンクを含むハンドヘルドコンピュータのうちの少なくとも1つを備える、請求項10に記載のシステム。
  18. 前記媒体は、映像、音声、画像、およびそれらの組合せのうちの少なくとも1つを含む、請求項10に記載のシステム。
  19. ワイヤレスハンドヘルドコンピューティングデバイスの1つまたは複数のメモリリソースを管理するためのコンピュータシステムであって、
    通信ネットワークを介して前記ワイヤレスハンドヘルドコンピューティングデバイスにダウンロードすることができる媒体のファイルセグメントの特性を記述するメタオブジェクトを受信するための手段であって
    前記媒体は、複数の時間セグメントを含み、各時間セグメントは、ビットレートと解像度の組合せがそれぞれ異なる利用可能な複数のファイルセグメントを含み
    前記利用可能な複数のファイルセグメントが、所与の解像度に対してビットレートがそれぞれ異なる複数のファイルセグメントおよび所与のビットレートに対して解像度がそれぞれ異なる複数のファイルセグメントを含む、手段と、
    前記メタオブジェクトに記述された前記ビットレートと解像度のそれぞれの異なる組合せのオプションを検討するための手段と、
    1つまたは複数のセンサからのデータを評価して、前記ワイヤレスハンドヘルドコンピューティングデバイスに対する通信ネットワークの急速な変化の可能性を推定し、現在のネットワーク条件が同一のままである時間を前記推定に基づいて計算するための手段と、
    前記ビットレートと解像度のそれぞれの異なる組合せならびに前記推定に基づいて前記ワイヤレスハンドヘルドコンピューティングデバイスでの媒体再生を最適化するダウンロードできるファイルセグメントを選択するための手段とを備えるシステム。
  20. アプリケーションサブシステムおよびモデムサブシステムからのデータを評価するための手段をさらに含み、前記ファイルセグメントを選択するための手段は、さらに、前記アプリケーションサブシステムおよびモデムサブシステムのうち少なくとも1つから受信したデータに依存する、請求項19に記載のシステム。
  21. 前記アプリケーションサブシステムおよび前記モデムサブシステムのうちの少なくとも一方からのデータに基づいてワイヤレスネットワークの将来の条件を推定するための手段をさらに備える、請求項20に記載のシステム。
  22. アプリケーションプログラムモジュールが前記ワイヤレスハンドヘルドコンピューティングデバイスを一次的に制御しているかどうかを判定するための手段をさらに備える、請求項19に記載のシステム。
  23. 前記選択されたファイルセグメントの品質が最低であるかどうか、およびアプリケーションプログラムモジュールが前記ワイヤレスハンドヘルドコンピューティングデバイスを一次的に制御しているかどうかを判定するための手段をさらに備える、請求項19に記載のシステム。
  24. 前記ワイヤレスハンドヘルドコンピューティングデバイスが電話呼を受信したかどうかを判定するための手段をさらに備える、請求項19に記載のシステム。
  25. 前記選択されたファイルセグメントの品質が最低であるかどうか、および前記ワイヤレスハンドヘルドコンピューティングデバイスによって電話呼が受信されたかどうかを判定するための手段をさらに備える、請求項19に記載のシステム。
  26. 前記ワイヤレスハンドヘルドコンピューティングデバイスは、携帯電話、携帯情報端末、ページャ、スマートフォン、ナビゲーションデバイス、およびワイヤレス接続またはワイヤレスリンクを含むハンドヘルドコンピュータのうちの少なくとも1つを備える、請求項19に記載のシステム。
  27. 前記媒体は、映像、音声、画像、およびそれらの組合せのうちの少なくとも1つを含む、請求項19に記載のシステム。
  28. コンピュータにより実行可能なコンピュータ可読プログラムコードからなるコンピュータプログラムであって、前記コンピュータ可読プログラムコードは、ワイヤレスハンドヘルドコンピューティングデバイスの媒体再生品質を最適化するための方法を実施するために実行されるようになされ、前記方法は、
    通信ネットワークを介して前記ワイヤレスハンドヘルドコンピューティングデバイスにダウンロードすることができる媒体のファイルセグメントの特性を記述するメタオブジェクトを受信するステップであって
    前記媒体は、複数の時間セグメントを含み、各時間セグメントは、ビットレートと解像度の組合せがそれぞれ異なる利用可能な複数のファイルセグメントを含み
    前記利用可能な複数のファイルセグメントが、所与の解像度に対してビットレートがそれぞれ異なる複数のファイルセグメントおよび所与のビットレートに対して解像度がそれぞれ異なる複数のファイルセグメントを含むステップと、
    前記メタオブジェクトに記述された前記ビットレートと解像度のそれぞれの異なる組合せのオプションを検討するステップと、
    1つまたは複数のセンサからのデータを評価して、前記ワイヤレスハンドヘルドコンピューティングデバイスに対する通信ネットワークの急速な変化の可能性を推定し、現在のネットワーク条件が同一のままである時間を前記推定に基づいて計算するステップと、
    前記ビットレートと解像度のそれぞれの異なる組合せならびに前記推定に基づいて前記ワイヤレスハンドヘルドコンピューティングデバイスでの媒体再生を最適化するダウンロードできるファイルセグメントを選択するステップとを含むコンピュータプログラム。
  29. 前記方法を実施する前記コンピュータ可読プログラムコードは、
    アプリケーションサブシステムおよびモデムサブシステムからのデータを評価するステップをさらに含み、前記ファイルセグメントを選択するステップは、さらに、前記アプリケーションサブシステムおよびモデムサブシステムのうち少なくとも1つから受信したデータに依存する、請求項28に記載のコンピュータプログラム。
  30. 前記方法を実施する前記コンピュータ可読プログラムコードは、
    前記アプリケーションサブシステムおよび前記モデムサブシステムのうちの少なくとも一方からのデータに基づいてワイヤレスネットワークの将来の条件を推定するステップをさらに含む、請求項29に記載のコンピュータプログラム。
  31. 前記方法を実施する前記コンピュータ可読プログラムコードは、
    アプリケーションプログラムモジュールが前記ワイヤレスハンドヘルドコンピューティングデバイスを一次的に制御しているかどうかを判定するステップをさらに含む、請求項28に記載のコンピュータプログラム。
  32. 前記方法を実施する前記コンピュータ可読プログラムコードは、
    アプリケーションプログラムモジュールが前記ワイヤレスハンドヘルドコンピューティングデバイスを一次的に制御しているかどうかを判定し、次いで、前記選択されたファイルセグメントの品質が最低であるかどうかを判定するステップをさらに含む、請求項28に記載のコンピュータプログラム。
  33. 前記方法を実施する前記コンピュータ可読プログラムコードは、
    前記ワイヤレスハンドヘルドコンピューティングデバイスが電話呼を受信したかどうかを判定するステップをさらに含む、請求項28に記載のコンピュータプログラム。
  34. 前記方法を実施する前記コンピュータ可読プログラムコードは、前記ワイヤレスハンドヘルドコンピューティングデバイスによって電話呼が受信されたかどうかを判定し、次いで、前記選択されたファイルセグメントの品質が最低であるかどうかを判定するステップをさらに含む、請求項33に記載のコンピュータプログラム。
  35. 前記ワイヤレスハンドヘルドコンピューティングデバイスは、携帯電話、携帯情報端末、ページャ、スマートフォン、ナビゲーションデバイス、およびワイヤレス接続またはワイヤレスリンクを含むハンドヘルドコンピュータのうちの少なくとも1つを含む、請求項28に記載のコンピュータプログラム。
  36. 前記媒体は、映像、音声、画像、およびそれらの組合せのうちの少なくとも1つを含む、請求項28に記載のコンピュータプログラム。
JP2014243831A 2010-10-04 2014-12-02 ワイヤレスハンドヘルドコンピューティングデバイスの媒体再生品質を最適化するためのシステムおよび方法 Active JP5878614B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/897,511 US8601153B2 (en) 2009-10-16 2010-10-04 System and method for optimizing media playback quality for a wireless handheld computing device
US12/897,511 2010-10-04

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2013532808A Division JP5705991B2 (ja) 2010-10-04 2011-08-31 ワイヤレスハンドヘルドコンピューティングデバイスの媒体再生品質を最適化するためのシステムおよび方法

Publications (2)

Publication Number Publication Date
JP2015062319A JP2015062319A (ja) 2015-04-02
JP5878614B2 true JP5878614B2 (ja) 2016-03-08

Family

ID=44645805

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2013532808A Active JP5705991B2 (ja) 2010-10-04 2011-08-31 ワイヤレスハンドヘルドコンピューティングデバイスの媒体再生品質を最適化するためのシステムおよび方法
JP2014243831A Active JP5878614B2 (ja) 2010-10-04 2014-12-02 ワイヤレスハンドヘルドコンピューティングデバイスの媒体再生品質を最適化するためのシステムおよび方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2013532808A Active JP5705991B2 (ja) 2010-10-04 2011-08-31 ワイヤレスハンドヘルドコンピューティングデバイスの媒体再生品質を最適化するためのシステムおよび方法

Country Status (8)

Country Link
US (1) US8601153B2 (ja)
EP (1) EP2625837B1 (ja)
JP (2) JP5705991B2 (ja)
KR (1) KR101448976B1 (ja)
CN (1) CN103155517B (ja)
BR (1) BR112013008024B1 (ja)
ES (1) ES2526570T3 (ja)
WO (1) WO2012047418A1 (ja)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9124642B2 (en) * 2009-10-16 2015-09-01 Qualcomm Incorporated Adaptively streaming multimedia
US9210527B2 (en) 2010-07-13 2015-12-08 Qualcomm Incorporated Method and apparatus for providing uniform machine-to-machine addressing
US20130051258A1 (en) * 2011-02-18 2013-02-28 Chien-Jen Huang Method of Controlling Receive Diversity for Battery Lifetime Improvement and Related Communication Device
US9319453B2 (en) * 2011-07-15 2016-04-19 Shmuel Ur User-controlled download duration time
US9088965B2 (en) * 2011-08-03 2015-07-21 Acer Incorporated Data transmission methods and apparatuses using the same
TW201309053A (zh) * 2011-08-03 2013-02-16 Acer Inc 動態調整通訊協定之視窗大小以增加無線網路系統內資料流通量之方法
US9112906B2 (en) * 2011-11-07 2015-08-18 Acer Incorporated Data transmission methods and appratuses using the same
TWI511588B (zh) * 2011-11-07 2015-12-01 Acer Inc 最佳化通訊協定之視窗大小伸縮以在無線網路系統內傳送資料之方法
EP2590381B1 (en) * 2011-11-07 2014-03-26 Acer Incorporated Data transmission method and mobile communication device for adjusting a TCP/IP window size based on physical layer characteristics
CN103124275B (zh) * 2011-11-18 2016-01-20 腾讯科技(深圳)有限公司 一种获取文件的方法和装置
CN102523026B (zh) * 2011-12-20 2014-04-02 展讯通信(上海)有限公司 通信终端及其秩指示参数的检测方法和装置
US9774894B2 (en) 2012-03-13 2017-09-26 Cisco Technology, Inc. Coordinating video delivery with radio frequency conditions
US9276989B2 (en) * 2012-03-30 2016-03-01 Adobe Systems Incorporated Buffering in HTTP streaming client
EP2850886B1 (en) * 2012-05-16 2017-11-01 Sony Mobile Communications Inc. Discontinuous traffic in a telecommunication network using terminal suggested drx/dtx pattern
US8824680B2 (en) * 2012-08-08 2014-09-02 Verizon Patent And Licensing Inc. Centralized key generation
EP2893687A1 (en) * 2012-09-07 2015-07-15 Nokia Solutions and Networks Oy Mechanism and apparatus to perform cooperative resource management in wireless networks
US8949206B2 (en) * 2012-10-04 2015-02-03 Ericsson Television Inc. System and method for creating multiple versions of a descriptor file
CN103024440B (zh) * 2013-01-11 2014-12-31 德科仕通信(上海)有限公司 针对has的视频质量评价和故障诊断方法
US9332087B2 (en) * 2013-02-06 2016-05-03 Microsoft Technology Licensing, Llc Dynamic buffer
WO2014187491A1 (en) * 2013-05-23 2014-11-27 Nokia Solutions And Networks Oy Methods and apparatus for adapting a data rate
US9948690B2 (en) 2013-08-15 2018-04-17 Comcast Cable Communications, Llc Caching media in a media fling system
US9530451B2 (en) * 2013-11-27 2016-12-27 Adobe Systems Incorporated Reducing network bandwidth usage in a distributed video editing system
US9253231B2 (en) * 2013-12-19 2016-02-02 Verizon Patent And Licensing Inc. Retrieving and caching adaptive bitrate stream segments based on network congestion
EP2897337B1 (en) * 2014-01-21 2022-01-05 Alcatel Lucent Improved playback control device and method for streaming media content
WO2015140064A1 (en) * 2014-03-17 2015-09-24 Bitmovin Gmbh Media streaming
US9712584B2 (en) * 2014-06-02 2017-07-18 Sony Corporation Context-based adaptive streaming algorithm for a user device
WO2016092616A1 (ja) 2014-12-08 2016-06-16 三菱電機株式会社 データ提供システム
US20160191594A1 (en) * 2014-12-24 2016-06-30 Intel Corporation Context aware streaming media technologies, devices, systems, and methods utilizing the same
US9756112B2 (en) * 2015-02-11 2017-09-05 At&T Intellectual Property I, L.P. Method and system for managing service quality according to network status predictions
US10567069B2 (en) * 2016-04-28 2020-02-18 Netgear, Inc. Repeater bandwidth, radio configuration, and ADC clock speed adjustment
US10998002B2 (en) * 2017-05-31 2021-05-04 Nxp B.V. Audio time stretching
US20200105090A1 (en) * 2018-10-02 2020-04-02 Igt Gaming system and method for determining awards based on moving wild reels with modifiers
US10868726B2 (en) 2018-12-07 2020-12-15 At&T Intellectual Property I, L.P. Apparatus and method for selecting a bandwidth prediction source
CN113632585A (zh) * 2019-01-21 2021-11-09 上海诺基亚贝尔股份有限公司 终端设备的非连续接收配置
US11115457B2 (en) * 2019-05-31 2021-09-07 Apple Inc. HTTP transaction retries
US11140060B2 (en) * 2019-11-12 2021-10-05 Hulu, LLC Dynamic variation of media segment durations for optimization of network round trip times

Family Cites Families (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6400996B1 (en) 1999-02-01 2002-06-04 Steven M. Hoffberg Adaptive pattern recognition based control system and method
US7006881B1 (en) 1991-12-23 2006-02-28 Steven Hoffberg Media recording device with remote graphic user interface
US6959288B1 (en) * 1998-08-13 2005-10-25 International Business Machines Corporation Digital content preparation system
KR100387965B1 (ko) 2000-05-27 2003-06-18 엘지전자 주식회사 사용자 적응적 멀티미디어 서비스 시스템
US6983207B2 (en) 2000-06-16 2006-01-03 Ntn Corporation Machine component monitoring, diagnosing and selling system
US20020073238A1 (en) 2000-11-28 2002-06-13 Eli Doron System and method for media stream adaptation
JP2003030085A (ja) * 2001-07-10 2003-01-31 Ntt Docomo Inc コンテンツ配信システム、コンテンツ配信制御装置、コンテンツ配信方法及び移動端末装置
KR20020057837A (ko) 2002-03-29 2002-07-12 문의선 스트리밍 서비스 방법 및 장치
US20030233464A1 (en) 2002-06-10 2003-12-18 Jonathan Walpole Priority progress streaming for quality-adaptive transmission of data
JP2004032204A (ja) * 2002-06-24 2004-01-29 Matsushita Electric Ind Co Ltd 画像配信装置および無線移動端末
FI116498B (fi) 2002-09-23 2005-11-30 Nokia Corp Kaistanleveyden mukauttaminen
JP4268496B2 (ja) * 2002-10-15 2009-05-27 パナソニック株式会社 コンテンツの記録に要する記録メディアの記録容量を節約する放送記録システム、記録装置、放送装置および記録プログラム
JP2004193995A (ja) * 2002-12-11 2004-07-08 Seiko Epson Corp 情報配信システム及び情報配信方法
CN100520946C (zh) * 2003-06-25 2009-07-29 Nxp股份有限公司 存储不同数据格式的存储器件
JP4091077B2 (ja) * 2003-07-14 2008-05-28 松下電器産業株式会社 コンテンツ配信装置及びコンテンツ再生装置
US7844992B2 (en) * 2003-09-10 2010-11-30 Thomson Licensing Video on demand server system and method
JP2005151352A (ja) * 2003-11-18 2005-06-09 Matsushita Electric Ind Co Ltd 車載装置および配信局、並びにストリーミング配信システム
GB0400658D0 (en) 2004-01-13 2004-02-11 Koninkl Philips Electronics Nv Portable device for receiving media content
JP4408383B2 (ja) 2004-03-18 2010-02-03 国立大学法人 奈良先端科学技術大学院大学 情報配信装置、情報配信システムおよび情報配信方法
JP2006041770A (ja) * 2004-07-26 2006-02-09 Mitsubishi Heavy Ind Ltd 画像配信方法、画像表示方法及びそれらを用いた広域監視方法と画像配信装置、画像表示装置及びそれらを用いた広域監視システム
WO2006012911A1 (en) 2004-08-03 2006-02-09 Fg Microtec Gmbh Dynamic optimization of wireless real-time video data flow
JP4641791B2 (ja) * 2004-12-15 2011-03-02 パイオニア株式会社 遠隔再生システム、遠隔再生方法およびコンピュータプログラム
US7983341B2 (en) * 2005-02-24 2011-07-19 Ericsson Television Inc. Statistical content block matching scheme for pre-processing in encoding and transcoding
US7333279B2 (en) 2005-03-22 2008-02-19 Seagate Technology Llc System and method for drive-side guarantee of quality of service and for extending the lifetime of storage devices
US20070022215A1 (en) * 2005-07-19 2007-01-25 Singer David W Method and apparatus for media data transmission
US20070091920A1 (en) 2005-10-20 2007-04-26 Harris John M System and method for improving the capacity of a network
US8842555B2 (en) 2005-10-21 2014-09-23 Qualcomm Incorporated Methods and systems for adaptive encoding of real-time information in packet-switched wireless communication systems
JP2007158685A (ja) * 2005-12-05 2007-06-21 Saver Corp 動画配信システム
US9209934B2 (en) * 2006-06-09 2015-12-08 Qualcomm Incorporated Enhanced block-request streaming using cooperative parallel HTTP and forward error correction
US20070299936A1 (en) 2006-06-27 2007-12-27 Borgendale Kenneth W Interactively streaming data from a database in a high speed, low latency data communications environment
CN101523369B (zh) * 2006-08-21 2016-08-03 斯灵媒体公司 捕捉和共享媒体内容以及对共享媒体内容的管理
WO2008072093A2 (en) * 2006-12-13 2008-06-19 Quickplay Media Inc. Mobile media platform
EP1936879B1 (en) 2006-12-18 2009-03-04 Research In Motion Limited System and method for adjusting characteristics of a video data transmission to a mobile device in a UMTS communications network
GB2451415B (en) 2007-02-13 2011-08-17 Vodafone Plc Content reproduction in telecommunications systems
US20100021138A1 (en) 2007-02-26 2010-01-28 France Telecom Method for the distributed recording of a multimedia stream, corresponding device and computer program product
US20080270532A1 (en) * 2007-03-22 2008-10-30 Melodeo Inc. Techniques for generating and applying playlists
US20100228863A1 (en) * 2007-03-28 2010-09-09 Pioneer Corporation Content distribution system and its control method
CN101068236B (zh) 2007-04-13 2011-10-26 华为技术有限公司 流媒体码率控制方法、系统和设备
US20080310446A1 (en) 2007-06-12 2008-12-18 Bellwood Thomas A Provisioning Bandwidth For A Digital Media Stream
FR2917554B1 (fr) 2007-06-14 2010-01-01 Alcatel Lucent Dispositif de gestion de reception par des terminaux de contenus multimedia transmis par des infrastructures mettant en oeuvre des techniques de transmission differentes
US20090017860A1 (en) 2007-07-09 2009-01-15 Sony Ericsson Mobile Communications Ab Intelligent Power-Aware Downloading for Mobile Communication Devices
US7802286B2 (en) * 2007-07-24 2010-09-21 Time Warner Cable Inc. Methods and apparatus for format selection for network optimization
JP2009037320A (ja) * 2007-07-31 2009-02-19 Toshiba Corp 情報処理装置、情報処理装置の制御方法
WO2009030643A2 (en) 2007-09-06 2009-03-12 Edgeware Ab An apparatus and a method for data streaming applications
US7937400B2 (en) * 2007-10-07 2011-05-03 International Business Machines Corporation Dynamic distribution of content
KR100891263B1 (ko) 2007-11-15 2009-03-30 에스케이 텔레콤주식회사 단말기 움직임으로 단말기에 미디어를 재생하는 방법,시스템 및 서버
US7920478B2 (en) 2008-05-08 2011-04-05 Nortel Networks Limited Network-aware adapter for applications
EP2150059A1 (en) * 2008-07-31 2010-02-03 Vodtec BVBA A method and associated device for generating video
WO2010048036A2 (en) 2008-10-22 2010-04-29 Terratrim, Inc. Systems and methods for managing utility consumption
US20100115472A1 (en) 2008-10-30 2010-05-06 Lee Kun-Bin Method of Facilitating Browsing and Management of Multimedia Files with Data Structure thereof
US20100121709A1 (en) * 2008-11-10 2010-05-13 Nokia Corporation Invitation-based viral advertising
US20110119587A1 (en) * 2008-12-31 2011-05-19 Microsoft Corporation Data model and player platform for rich interactive narratives
US20110088076A1 (en) * 2009-10-08 2011-04-14 Futurewei Technologies, Inc. System and Method for Media Adaptation
US9124642B2 (en) 2009-10-16 2015-09-01 Qualcomm Incorporated Adaptively streaming multimedia
EP2410759B1 (en) 2010-07-21 2018-09-05 Nagravision S.A. A method and apparatus for delivering watermarked digital media content to a user upon request

Also Published As

Publication number Publication date
WO2012047418A1 (en) 2012-04-12
JP2015062319A (ja) 2015-04-02
CN103155517B (zh) 2016-04-27
US20110106969A1 (en) 2011-05-05
EP2625837B1 (en) 2014-09-17
BR112013008024B1 (pt) 2021-08-31
EP2625837A1 (en) 2013-08-14
ES2526570T3 (es) 2015-01-13
JP5705991B2 (ja) 2015-04-22
JP2013543323A (ja) 2013-11-28
KR20130064130A (ko) 2013-06-17
KR101448976B1 (ko) 2014-10-13
US8601153B2 (en) 2013-12-03
BR112013008024A2 (pt) 2016-06-14
CN103155517A (zh) 2013-06-12

Similar Documents

Publication Publication Date Title
JP5878614B2 (ja) ワイヤレスハンドヘルドコンピューティングデバイスの媒体再生品質を最適化するためのシステムおよび方法
US9465777B2 (en) System and method of performing domain name server pre-fetching
JP4697525B2 (ja) 送受信システム、送信装置および送信方法、受信装置および受信方法、並びにプログラム
US8966090B2 (en) Method, apparatus and computer program product for providing an indication of device to device communication availability
KR101436956B1 (ko) 전송 제어 프로토콜 접속들을 설정하는 시스템 및 방법
CN111937364A (zh) 无线网络系统中处理数据路径创建的方法和系统
KR101330631B1 (ko) 통신 환경에 대한 정보를 이용한 데이터 전송 방법 및 장치
KR102270034B1 (ko) 다수 개의 무선 억세스 인터페이스들을 지원하는 이동 통신 시스템에서 스트리밍 서비스 데이터 수신 장치 및 방법
US20120002587A1 (en) Communication processor and communication processing method
US20060034316A1 (en) Energy based information transfer methodology

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150902

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150914

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151102

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160104

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160128

R150 Certificate of patent or registration of utility model

Ref document number: 5878614

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250