(57)【要約】  【課題】  画像ストリーミング・システムの圧縮レベルを切り換えるシステム、方法、及び媒体を提供すること。  【解決手段】  一実施形態は、画像ストリーミング・システムにおいて画像フレーム間の圧縮レベルを切り換える方法を提供する。諸実施形態は一般に、円滑化モジュールが画像フレームに関連する新しい圧縮レベル要求を受信するステップを含むことができる。諸実施形態は一般に、前記円滑化モジュールが初期圧縮レベルと、ターゲット圧縮レベルと、前記ターゲット圧縮レベルを達成すべきフレーム数とに基づいてマルチフレーム円滑化ルーチンを生成することによって、円滑化ヒューリスティックを実行するステップも含むことができる。諸実施形態は、前記円滑化モジュールが生成した前記マルチフレーム円滑化ルーチンに基づいて、前記画像フレームに関する前記新しい圧縮レベルを設定するステップも含むことができる。他の実施形態は、前記円滑化モジュールが前記新しい圧縮レベルのインジケーションをコンテンツ・エンコーダに送信するステップを含むことができる。  【選択図】  図１
2009502069.tif 000002
【特許請求の範囲】
【請求項１】
画像ストリーミング・システムにおいて画像フレーム間の圧縮レベルを切り換える方法であって、
円滑化モジュールが画像フレームに関連する新しい圧縮レベル要求を受信するステップと、
前記円滑化モジュールが初期圧縮レベルと、ターゲット圧縮レベルと、前記ターゲット圧縮レベルを達成すべきフレーム数とに基づいてマルチフレーム円滑化ルーチンを生成することによって、円滑化ヒューリスティックを実行するステップと、
前記円滑化モジュールが生成した前記マルチフレーム円滑化ルーチンに基づいて、前記画像フレームに関する前記新しい圧縮レベルを設定するステップと
を含む方法。
【請求項２】
前記円滑化モジュールが前記新しい圧縮レベルのインジケーションをコンテンツ・エンコーダに送信するステップを更に含む請求項１に記載の方法。
【請求項３】
前記円滑化モジュールが前記初期圧縮レベルと、前記ターゲット圧縮レベルと、前記ターゲット圧縮レベルを達成すべき前記フレーム数とを受信するステップを更に含む請求項１又は２に記載の方法。
【請求項４】
前記ターゲット圧縮レベルは、前記初期圧縮レベルよりも高い圧縮レベルである、請求項１乃至３のいずれか一項に記載の方法。
【請求項５】
前記ターゲット圧縮レベルは、前記初期圧縮レベルよりも低い圧縮レベルである、請求項１乃至３のいずれか一項に記載の方法。
【請求項６】
前記ターゲット圧縮レベルを達成すべき前記フレーム数は１５以上である、請求項１乃至５のいずれか一項に記載の方法。
【請求項７】
前記新しい圧縮レベルは、乗数参照テーブルと関連付けられる、請求項１乃至６のいずれか一項に記載の方法。
【請求項８】
前記円滑化モジュールがマルチフレーム円滑化ルーチンを生成することによって円滑化ヒューリスティックを実行する前記ステップは、前記マルチフレーム円滑化ルーチンを対話型ストリーミング画像ストリームの複数のフレームに関して生成するステップを含む、請求項１乃至７のいずれか一項に記載の方法。
【請求項９】
機械アクセス可能な媒体であって、それ自体がデータ処理システム内で実行されたときに、前記データ処理システムに
円滑化モジュールが画像フレームに関連する新しい圧縮レベル要求を受信するステップと、
前記円滑化モジュールが初期圧縮レベルと、ターゲット圧縮レベルと、前記ターゲット圧縮レベルを達成すべきフレーム数とに基づいてマルチフレーム円滑化ルーチンを生成することによって、円滑化ヒューリスティックを実行するステップと、
前記円滑化モジュールが生成した前記マルチフレーム円滑化ルーチンに基づいて、前記画像フレームに関する前記新しい圧縮レベルを設定するステップと
を含む処理を実行させるように働く命令を含む機械アクセス可能な媒体。
【請求項１０】
前記円滑化モジュールが前記新しい圧縮レベルのインジケーションをコンテンツ・エンコーダに送信するステップを更に含む請求項９に記載の機械アクセス可能な媒体。
【請求項１１】
前記円滑化モジュールが前記初期圧縮レベルと、前記ターゲット圧縮レベルと、前記ターゲット圧縮レベルを達成すべき前記フレーム数とを受信するステップを更に含む請求項９又は１０に記載の機械アクセス可能な媒体。
【請求項１２】
前記ターゲット圧縮レベルは、前記初期圧縮レベルよりも高い圧縮レベルである、請求項９乃至１１のいずれか一項に記載の機械アクセス可能な媒体。
【請求項１３】
前記ターゲット圧縮レベルは、前記初期圧縮レベルよりも低い圧縮レベルである、請求項９乃至１１のいずれか一項に記載の機械アクセス可能な媒体。
【請求項１４】
前記ターゲット圧縮レベルを達成すべき前記フレーム数は１５以上である、請求項９乃至１３のいずれか一項に記載の機械アクセス可能な媒体。
【請求項１５】
前記新しい圧縮レベルは、乗数参照テーブルと関連付けられる、請求項９乃至１４のいずれか一項に記載の機械アクセス可能な媒体。
【請求項１６】
前記円滑化モジュールがマルチフレーム円滑化ルーチンを生成することによって円滑化ヒューリスティックを実行する前記ステップは、前記マルチフレーム円滑化ルーチンを対話型ストリーミング画像ストリームの複数のフレームに関して生成するステップを含む、請求項９乃至１５のいずれか一項に記載の機械アクセス可能な媒体。
【請求項１７】
画像ストリーミング・システムであって、
画像ストリームの新しい画像フレームを生成するように適合されたコンテンツ・ジェネレータと、
前記コンテンツ・ジェネレータと通信し、初期圧縮レベルと、ターゲット圧縮レベルと、前記ターゲット圧縮レベルを達成すべきフレーム数とに基づいて円滑化ヒューリスティックを実行することによって、前記新しい画像フレームに関する新しい圧縮レベルを選択するように適合された円滑化モジュールと、
前記円滑化モジュールと通信し、選択された前記圧縮レベルに基づいて前記新しい画像フレームを符号化するように適合されたコンテンツ・エンコーダと
を備えるシステム。
【請求項１８】
前記コンテンツ・エンコーダと通信する１つ又は複数の乗数参照テーブルを更に備え、前記１つ又は複数の乗数参照テーブルはそれぞれ圧縮レベルと関連付けられている、請求項１７に記載のシステム。
【請求項１９】
前記コンテンツ・エンコーダと通信する通信モジュールを更に備え、前記通信モジュールは、符号化された前記新しい画像フレームと、前記新しい圧縮レベルのインジケーションとをクライアントに送信するように適合されている、請求項１７又は１８に記載のシステム。
【請求項２０】
前記円滑化モジュールは、前記初期圧縮レベルと、前記ターゲット圧縮レベルとに基づいて、前記ターゲット圧縮レベルを達成すべき前記フレーム数を判定するように更に適合されている、請求項１７乃至１９のいずれか一項に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像ストリーミング・システムの分野に関するものである。より詳細には、本発明は、画像ストリーミング・システム内の圧縮レベルを切り換える（ｔｒａｎｓｉｔｉｏｎ）システム、方法、及び媒体に関するものである。
【背景技術】
【０００２】
近年、画像又は他のコンテンツをサーバから複数のクライアントにストリーミングする機能のニーズが急速に高まっている。画像ストリーミングを利用するマルチメディア・アプリケーションの人気は益々高まっており、これらのアプリケーションとしては、ビデオ・ゲーム、ナビゲーション・ソフトウェア、ムービー又はビデオ・ストリーミング等が挙げられる。しかしながら、これらのアプリケーションは膨大なネットワーク・リソースを消費することが多く、その結果帯域幅のボトルネックとなり、特にコンテンツ・プロバイダがそれらのアプリケーションを使用してコンテンツを多数のユーザに配信する場合には、ネットワーク速度を低下させることになる。画像ストリーミングの人気が益々高まるにつれ、それに伴うネットワーク性能の問題も悪化することになる。
【０００３】
ネットワーク上での画像コンテンツ・ストリーミングの影響を緩和するために、コンテンツ・プロバイダは多くの場合各画像を送信前に圧縮する。その後、画像を受信したクライアント・システムは、当該画像をユーザに表示する前に解凍しなければならない。圧縮のレベルによっては、圧縮を利用することでネットワーク・トラフィックが大幅に減少する可能性もある。ビデオ画像用の圧縮スキームの１つとしては、静止画像圧縮技術の専門家グループ（Ｊｏｉｎｔ  Ｐｈｏｔｏｇｒａｐｈｉｃ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ：ＪＰＥＧ）のデジタル画像圧縮規格をビデオに拡張させたモーションＪＰＥＧ（ｍｏｔｉｏｎ−ＪＰＥＧ）があり、これらのスキームでは各フレームがＪＰＥＧ形式で暗号化される。ＪＰＥＧグループは、復号化／符号化規格を作成するためのＩＳＯ／ＩＥＣ国際規格１０９１８−１  ＩＴＵ−Ｔ勧告Ｔ−８１（以下「ＪＰＥＧ」）を創設したグループである。ＪＰＥＧ及びモーションＪＰＥＧは不可逆の圧縮規格である故に、圧縮プロセス中に情報が失われてしまう。モーションＪＰＥＧは、良好なフレーム単位の圧縮レベルを提供するが、ハフマン・コーディングのような一部の圧縮ステップは必ずしも常に必要なものではなく、性能を低下させる恐れがある。
【０００４】
動画像専門家グループ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅｓ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ：ＭＰＥＧ）は、ＭＰＥＧ−１、ＭＰＥＧ−２、及びＭＰＥＧ−４（それぞれＩＳＯ／ＩＥＣ国際規格１１１７２、１３８１８、及び１４４９６に対応）を含む別の圧縮規格ファミリーを創設したグループである。ＭＰＥＧワーキング・グループは、ＭＰＥＧ規格をマルチメディア・ストリーミングに応用されるものとして設計し、また、ブロック・ベースの動き補償予測（ＭＣＰ）を利用して圧縮を支援するように設計している。ＭＰＥＧは、多くのアプリケーションにとってモーションＪＰＥＧの性能を補填するものである。しかしながら、対話型画像ストリーミング・アプリケーションについては、ＭＰＥＧは最適とは言えない。ＭＰＥＧでは、サーバがマルチフレーム・ムービーを生成して良好な圧縮レベルを達成する必要があり、その結果、対話型アプリケーションのフレーム単位での対話がもたらす利便性が損なわれることになる。ＭＰＥＧはむしろ、ムービーや他のビデオのような予測可能なコンテンツに関するクライアント又は他のユーザ装置へのストリーミング向けに設計され最適化されている。
【０００５】
対話型画像ストリーミング・システムは、コンテンツをサーバから複数のクライアントに配信しようとするコンテンツ・プロバイダに難問を投げ掛ける。対話型画像ストリーミング・システムは、典型的には各画像フレームが最新のユーザ情報に基づいてカスタマイズされるようにユーザ入力をフレーム単位で受信する。例えば、マップ・ベースのアプリケーションは、ユーザ位置と進行方向に基づいて画像フレームを提供することができ、それによって当該ユーザ位置の進行方向に見えるものをユーザに示す画像を作成することが可能となる。別の例では、自動車の後方の仮想ビューを表示するアプリケーションは、自動車の現在位置、方位、及びスピードに基づく画像を提供することができる。各フレームを新しい情報に基づいて再計算しなければならず、また、ＭＰＥＧを単一フレームと連動させた場合は最良の圧縮レートが達成されなくなる故に、ＭＰＥＧは効率的な方法を提供しない。同様に、モーションＪＰＥＧを対話型画像ストリーミング・システムで使用した場合も、画像フレーム毎の消費リソースが膨大になる可能性がある圧縮方法をモーションＪＰＥＧが採用しているために、何らの利点ももたらされない。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
したがって、対話型画像ストリーミング・システムを管理する効率的な仕組みが必要とされている。そのような仕組みは、コンテンツ・プロバイダが対話型画像コンテンツを複数のクライアント・システムに提供しようとする場合には益々必要性が高まる。
【課題を解決するための手段】
【０００７】
上述の課題の多くは、画像ストリーミング・システム内の圧縮レベルを切り換えるシステム、方法、及び媒体によって解決される。一実施形態は、画像ストリーミング・システム内の圧縮レベルを切り換える方法を提供する。諸実施形態は一般に、円滑化モジュール（ｓｍｏｏｔｈｉｎｇ  ｍｏｄｕｌｅ）が画像フレームに関連する新しい圧縮レベル要求を受信するステップを含むことができる。諸実施形態は一般に、前記円滑化モジュールが初期圧縮レベルと、ターゲット圧縮レベルと、前記ターゲット圧縮レベルを達成すべきフレーム数とに基づいてマルチフレーム円滑化ルーチン（ｍｕｌｔｉ−ｆｒａｍｅ  ｓｍｏｏｔｈｉｎｇ  ｒｏｕｔｉｎｅ）を生成することによって、円滑化ヒューリスティック（ｓｍｏｏｔｈｉｎｇ  ｈｅｕｒｉｓｔｉｃ）を実行するステップも含むことができる。諸実施形態は、前記円滑化モジュールが生成した前記マルチフレーム円滑化ルーチンに基づいて、前記画像フレームに関する前記新しい圧縮レベルを設定するステップも含むことができる。
【０００８】
別の実施形態は、それ自体がデータ処理システム内で実行されたときに、前記システムに画像ストリーミング・システム内の圧縮レベルを切り換える一連の処理を実行させるように働く命令を含む機械アクセス可能な媒体を提供する。前記一連の処理は一般に、円滑化モジュールが画像フレームに関連する新しい圧縮レベル要求を受信するステップを含む。前記一連の処理は一般に、前記円滑化モジュールが初期圧縮レベルと、ターゲット圧縮レベルと、前記ターゲット圧縮レベルを達成すべきフレーム数とに基づいてマルチフレーム円滑化ルーチンを生成することによって、円滑化ヒューリスティックを実行するステップも含むことができる。諸実施形態は、前記円滑化モジュールが生成した前記マルチフレーム円滑化ルーチンに基づいて、前記画像フレームに関する前記新しい圧縮レベルを設定する一連の処理も含むことができる。
【０００９】
一実施形態は、画像ストリーミング・システムを提供する。前記システムは一般に、画像ストリームの新しい画像フレームを生成するコンテンツ・ジェネレータを含むことができる。前記システムは一般に、初期圧縮レベルと、ターゲット圧縮レベルと、前記ターゲット圧縮レベルを達成すべきフレーム数とに基づいて円滑化ヒューリスティックを実行することによって、前記新しい画像フレームに関する新しい圧縮レベルを選択する円滑化モジュールも含むことができる。前記システムは一般に、選択された前記圧縮レベルに基づいて前記新しい画像フレームを符号化するコンテンツ・エンコーダも含むことができる。
【００１０】
以下では例示として、同様の参照番号が同様の要素を指す添付図面を参照しながら、本発明の諸実施形態についてより詳しく説明する。
【発明を実施するための最良の形態】
【００１１】
以下では、添付図面に示される本発明の例示的な実施形態を詳細に説明する。これらの例示的な実施形態は、本発明が明確に伝わる程度まで詳細に説明する。しかしながら、本明細書で提供される詳細さの程度によって様々な実施形態が限定されることは本出願人の意図するところではなく、むしろ、すべての修正形態、変更形態、及び均等物が添付の特許請求範囲で定義される本発明の趣旨及び範囲に含まれることが本出願人の意図するところである。以下の詳細な説明は、そのような実施形態が当業者に明らかとなるように企図されている。
【００１２】
本明細書では、画像ストリーミング・システム内の圧縮レベルを切り換えるシステム、方法、及び媒体が開示される。一実施形態は、画像ストリーミング・システム内の画像フレーム間の圧縮レベルを切り換える方法を提供する。諸実施形態は一般に、円滑化モジュールが画像フレームに関連する新しい圧縮レベル要求を受信するステップを含むことができる。諸実施形態は一般に、前記円滑化モジュールが初期圧縮レベルと、ターゲット圧縮レベルと、前記ターゲット圧縮レベルを達成すべきフレーム数とに基づいてマルチフレーム円滑化ルーチンを生成することによって、円滑化ヒューリスティックを実行するステップも含むことができる。諸実施形態は、前記円滑化モジュールが生成した前記マルチフレーム円滑化ルーチンに基づいて、前記画像フレームの前記新しい圧縮レベルを設定するステップも含むことができる。他の実施形態は、前記円滑化モジュールが前記新しい圧縮レベルのインジケーションをコンテンツ・エンコーダに送信するステップを含むことができる。
【００１３】
本明細書に開示される諸実施形態は、画像ストリーミング・システム内の圧縮レベルを切り換える方法及びシステムを提供する。本明細書に開示される諸実施形態において、画像ストリームを生成するサーバは、前記画像ストリームの画像フレーム毎の圧縮レベルを判定するよう円滑化モジュールに要求することができる。前記円滑化モジュールは、前記画像ストリームの１つ又は複数の画像フレームを対象とするマルチフレーム円滑化ルーチンを生成することによって、円滑化ヒューリスティックを実行することができる。前記円滑化モジュールは、処理開始当初の初期圧縮レベル、ターゲット圧縮レベル、前記ターゲット圧縮レベルを達成すべきフレーム数等の情報を使用することができる。次に、前記円滑化モジュールは、生成した前記マルチフレーム円滑化ルーチンに基づいて画像フレーム毎の圧縮レベルを設定することができる。次に、前記サーバは、前記圧縮レベルを使用して前記画像フレームをクライアントに送信する前に符号化することができる。次に、前記クライアントは、前記圧縮レベルを使用して前記画像フレームを復号化し、前記画像をユーザに表示することができる。
【００１４】
有利なことに、本明細書に開示される圧縮レベル切り換えシステムを使用すれば、前記サーバは、ユーザの閲覧体験に殆ど影響を与えずに又はまったく影響を与えずに高い圧縮レベルと低い圧縮レベルの間で切り換えを行うことができる。これにより、サーバは、より低い品質の画像が必要とされる場合には前記圧縮レベルを滑らかに高くし、より高い品質の画像が必要とされる場合には前記圧縮レベルを滑らかに低くすることによって、帯域幅を節約することが可能となる可能性がある。対話型画像ストリーミング・システムは有利なことに、本明細書に開示されるシステムを使用して、ユーザの活動及び各環境との対話に応じて様々な圧縮レベルを円滑に提供することができる。本明細書に開示される圧縮レベル切り換えシステムは、対話型ではないが様々な圧縮レベルの提供が帯域幅要件又は他のリソース要件の緩和に役立つ可能性がある画像ストリーミング・システムにも役立てることが可能である。
【００１５】
以下では特定の実施形態についてハードウェア又はソフトウェアあるいはその両方の具体的な構成を参照しながら説明するが、本発明の諸実施形態は有利なことに、それらと実質的に均等な他のハードウェア・システム又はソフトウェア・システムあるいはその両方において実施することができることが当業者には理解されるだろう。
【００１６】
ここで添付図面を参照すると、図１は、一実施形態に従って画像をサーバから複数のクライアントにストリーミングするシステム環境を示している。図示の実施形態において、対話型画像ストリーミング・システム１００は、サーバ１０２と、ネットワーク１０４を介して接続される１つ又は複数のクライアント１０６とを含む。クライアント１０６は、ネットワーク１０４を介してクライアント情報をサーバ１０２に送信することができ、サーバ１０２はその後、当該クライアント情報に基づいて新しい画像フレームを生成することができる。新しい画像フレームを生成した後、サーバ１０２は、当該画像フレームを定義済みの圧縮レベルで符号化し、符号化された画像フレームと、当該画像フレームの符号化に使用された圧縮レベルのインジケーションとをクライアント１０６に送信することができる。次に、クライアント１０６は、圧縮レベルに基づいて画像フレームを復号化することができ、当該画像をユーザに表示することができる。かくして、対話型画像ストリーミング・システム１００を使用することにより、クライアント１０６とサーバ１０２とが連動して、各サイクルに由来するクライアント情報に基づいてストリーミング画像ストリームの各画像フレームを生成することができるようになる。有利なことに、対話型画像ストリーミング・システム１００は、（後段でより詳細に説明するように）クライアント情報、連続する画像間の差、及び他の情報に基づいて適切なレベルの圧縮を選択することができ、その結果、より効率的な帯域幅の使用及び対話型画像ストリーミング・システム１００内の処理が実現される可能性がある。
【００１７】
サーバ１０２、１つ又は複数のクライアント１０６、及びそれらの任意の又はすべてのコンポーネントは、パーソナル・コンピュータ、ワークステーション、サーバ、メインフレーム・コンピュータ、ノート型又はラップトップ型コンピュータ、タブレットＰＣ、デスクトップ・コンピュータ、ポータブル・コンピュータ・システム、ＰＤＡ、セット・トップ・ボックス、携帯電話、無線デバイス等の汎用又は専用コンピュータ・システム上で実行することができる。一実施形態において、コンピュータ・システムは、中央処理装置（ＣＰＵ）、ランダム・アクセス・メモリ（ＲＡＭ）及び基本入出力システム読取り専用メモリ（ＢＩＯＳ  ＲＯＭ）を含めた関連する揮発性及び不揮発性メモリ、システム・モニタ、キーボード、１つ又は複数のフレキシブル・ディスケット・ドライブ、ＣＤ−ＲＯＭドライブ、固定ディスク記憶装置（「ハード・ドライブ」又は「ハード・ディスク・ドライブ」としても知られる）、マウスのようなポインティング・デバイス、ならびに任意選択のネットワーク・インターフェイス・アダプタを含むことができ、これらの要素はすべて、各要素を電気的に相互接続するマザーボード又はシステム・プレーナを使用して電気的に接続することができる。一実施形態において、サーバ１０２は、インターナショナル・ビジネス・マシーンズ・コーポレーション（ＩＢＭ（Ｒ））のｅＳｅｒｖｅｒとすることも、ソフトウェアを実行し、又はＲＡＭ、読取り専用メモリ（ＲＯＭ）、フラッシュ・メモリ、コンパクト・ディスク・ドライブ、ハード・ドライブ等のデータ記憶装置と結合された１つ又は複数の状態機械を実行し、あるいはその両方を実行する１つ又は複数のプロセッサ又はスレッド・プロセッサを有する同様のサーバとすることもできる。一実施形態において、クライアント１０６は、データ記憶装置と結合され、キーパッドや表示画面等のユーザ入出力デバイスと結合されたプロセッサを有する無線デバイスとすることができる。
【００１８】
ネットワーク１０４は、任意のタイプのネットワークであってよく、インターネット、イントラネット、ＬＡＮ、ＷＡＮ、イーサネット・ネットワーク、無線ネットワーク等のデータ通信チャネルの組合せであってもよい。中央に配置されたサーバ１０２がストリーミング画像コンテンツを分散した複数のクライアント１０６に送信する場合には、インターネット又は他の公衆ネットワークを利用することでそれらの間の通信が容易となる故に、ネットワーク１０４としては、インターネット又は他の公衆ネットワークが特に有益である可能性がある。クライアント１０６の一部又は全部は、無線ネットワーク１０４を介してインターネット・ネットワーク１０４（及びサーバ１０２）と通信することができる。しかしながら、本明細書に開示される本発明は、任意のタイプのデータ通信チャネルを利用して実施できることが当業者には理解されるだろう。
【００１９】
サーバ１０２は、通信モジュール１１０、コンテンツ変更検出器１１２、コンテンツ・ジェネレータ１１４、コンテンツ・エンコーダ１１６、円滑化モジュール１１８等のコンポーネントを含むことができる。通信モジュール１１０を用いると、サーバ１０２は、ネットワーク１０４を介してクライアント１０６との間で情報を容易に送受信することが可能となる。通信モジュール１１０は、クライアント１０６と通信する際にクライアント・サーバ・プロトコルのような任意のタイプのプロトコルを使用することができる。一実施形態では、サーバ１０２は、通信モジュール１１０を使用してクライアント１０６からのクライアント情報を受信することができ、符号化された画像フレーム又は圧縮情報あるいはその両方をクライアント１０６に送信することができる。クライアント情報は、クライアント１０６又はクライアント１０６のユーザ（又はユーザ選好）を識別する情報、ならびにユーザの現在位置や方向等、クライアント１０６にストリーミングすべき画像に関する情報を含むことができる。一例として、ユーザの現在位置に基づく３次元（３Ｄ）画像をユーザに表示する画像ストリーミング・アプリケーションの場合では、クライアント情報は、ユーザの位置を示す座標等のインジケーションを含むことができる。ユーザの視界に入るものに関する仮想レンダリングをユーザに表示する別のアプリケーションの場合では、クライアント情報は、ユーザが目を向けている方向を示すインジケーションを提供するコンパス方位等の方位情報も含むことができる。当業者なら、任意のタイプの情報をクライアント情報として含むことができることを理解するだろう。
【００２０】
コンテンツ・ジェネレータ１１４は、通信モジュール１１０から受信したクライアント情報に基づいて新しい画像フレームを生成することができる。マルチメディア・アプリケーションあるいは画像ストリーミング・アプリケーションとすることができるコンテンツ・ジェネレータ１１４は、任意のタイプの方法を使用して新しい画像フレームのコンテンツを判定することができる。例えば、コンテンツ・ジェネレータ１１４は、クライアント１０６又はクライアント１０６のユーザの現在位置又は方位、受信された又は計算されたユーザのスピード、イベントの発生、現在時刻、現在の気象条件又は照明条件、他のクライアント１０６又はユーザの位置、あるいは他の任意の要因に基づいて、新しい画像フレームを生成することができる。例示的な一実施形態において、コンテンツ・ジェネレータ１１４は、新しい画像フレームを生成してクライアント１０６の現在位置の３Ｄ表現を作成する。別の例示的な実施形態において、コンテンツ・ジェネレータ１１４は、クライアント１０６のユーザの目に映るものの仮想ビューをそれらの現在位置及び方位に基づいて描写する新しい画像フレームを生成することができる。別の実施形態のコンテンツ・ジェネレータ１１４は、繰り返し受信されるクライアント情報に基づいてクライアント１０６の速度及び方位を判定することができ、その後、判定された速度及び方位を使用して適切な新しい画像フレームを生成することができる。
【００２１】
コンテンツ変更検出器１１２は、コンテンツ・ジェネレータ１１４によって生成された新しい画像フレームを分析し、当該新しい画像フレームを以前の画像と比較してそれらの画像が異なるものかどうかを判定することができる。コンテンツ変更検出器１１２は、任意のタイプの方法又はそれらの組合せを使用して、新しい画像フレームと以前のフレームとの間でコンテンツ変更があるかどうかを判定することができる。コンテンツ変更検出器１１２によって使用される方法は、管理者又はユーザによって選択されても、ネットワーク１０４の現在の状態又は他の要因に基づいて選択されてもよい。一実施形態において、コンテンツ変更検出器１１２は、各画像フレームの圧縮サイズの比較を使用して、変更が生じたかどうかを判定することができる。対話型システムにおいて圧縮された画像フレームにサイズ変更が生じていないということは、クライアント１０６が同一の画像を繰り返し要求しており、連続する画像フレームが同一であることを示している。別の実施形態において、コンテンツ変更検出器１１２は、ブール代数分析を使用することにより、２つの画像フレームのビット・マップに関するベクトル処理又は統計処理を利用してベクトル間の差が存在するかどうかを判定することができる。他の実施形態では、画像の規則性が高く、スピードが重視される場合に、コンテンツ変更検出器１１２は、統計処理アルゴリズムの索引付きベクトルを利用することができる。一代替実施形態において、コンテンツ変更検出器１１２は、新しい画像フレームが以前の画像フレームと同一かどうか判定する際に役立つ予測を利用したシーン追跡アルゴリズム又は他のアルゴリズムを使用して、クライアント１０６のユーザが各自の置かれている環境と対話しているレベルを予測しようと試みることができる。別の代替実施形態では、例えばクライアントの位置に変更がない場合は画像が変更されている可能性も低いので、コンテンツ変更検出器１１２は、クライアント情報を使用して画像の変更が生じたかどうかを判定することができる。別の代替実施形態において、コンテンツ変更検出器１１２は、コンテンツ変更検出方法のうちの１つを使用して、変更が生じたかどうかを判定する代わりに画像フレーム間の変更の大きさ又は程度を判定することができる。このような判定は、変更の大きさ又は程度が選択された圧縮レベルに影響を与える場合に有益である可能性がある。
【００２２】
コンテンツ・エンコーダ１１６及び円滑化モジュール１１８はそれぞれ単独で又は連動して、送信対象の画像フレームに適した圧縮レベルを判定し、当該画像フレームを選択された圧縮レベルで符号化するように働くことができる。一実施形態では、連続する画像フレーム間のコンテンツ変更が存在しない場合（コンテンツ変更検出器１１２によってそのように判定された場合）に、コンテンツ・エンコーダ１１６は、送信対象の画像フレームの品質を向上させる（したがって圧縮レベルを低くする）ことを望むことができる。対話型画像ストリーミング・システムにおいて、静止画像（連続するフレーム間で変化しない画像）は、クライアントの視点から見た画像が静止したものであるため、画像品質が重視されることを示唆する。これとは対照的に、連続する画像が異なる場合には、クライアント１０６の視点に動きがあるため、より低い品質の（より高い圧縮レベルの）画像を利用することができる。ユーザが動きのある画像を見ているときは、詳細部分がぼやけ、肉眼であれば詳細部分の消失も許容されるため、画像の詳細部分の重要性が低くなる可能性がある。ユーザが動きのない画像を見ているときは、詳細部分の傷や欠落、圧縮アーチファクト等がユーザに見える可能性が高いため、画像の詳細部分の重要性が高まる可能性がある。
【００２３】
本明細書に開示されるシステムは有利なことに、画像ストリーム内に描かれる（連続する画像間の差又は欠落部分で表現される）動きと、ユーザ又はクライアント１０６あるいはその両方に知覚される動きとに基づいて圧縮レベルを適合する。連続する画像が各フレーム間で異なる（動きが暗黙に示される）場合には、コンテンツ・エンコーダ１１６は、圧縮レベルを高くし、ユーザの閲覧体験を損なうことなく帯域幅要件を緩和することができる。連続する画像が同一である（クライアント１０６の静止が暗黙に示される）場合には、コンテンツ・エンコーダ１１６は、圧縮レベルを低くして画像品質を向上させることができる。そのような処理によって帯域幅要件を緩和することができ、ユーザにとっての画像ストリーミング品質を保護することもできる。一実施形態では、コンテンツ・エンコーダ１１６が連続する同一の画像を送信する必要をなくすことができ、その代わりに、コンテンツ・エンコーダ１１６が以前の画像のインジケーションをユーザに送信するだけで済むようにすることができ、その結果、ユーザが静止している状況で帯域幅を節約することが可能となる。一代替実施形態において、コンテンツ・エンコーダ１１６及び円滑化モジュール１１８は、フレームの軽微な変更によって圧縮レベルが急激に高まるようなことがないように、フレーム間の変更の大きさ又は程度に基づいて圧縮レベルを選択することができる。
【００２４】
図３に関して後でより詳細に説明するように、コンテンツ・エンコーダ１１６は、円滑化モジュール１１８の円滑化アルゴリズムを使用して様々な圧縮レベル間の切り換えを円滑にすることによってユーザ体験を改善することができる。円滑化モジュール１１８は、初期圧縮レベルと、ターゲット圧縮レベルと、入力としてのターゲット圧縮レベルが満たされるまでシステムが積極的に待機するフレーム数とを使用することができる。一代替実施形態において、円滑化モジュール１１８は、初期圧縮レベルやターゲット圧縮レベル等任意の要因に基づいて、ターゲット圧縮レベルが満たされるまでシステムが積極的に待機するフレーム数を判定することができる。例えば、円滑化モジュール１１８は、初期圧縮レベルとターゲット圧縮レベルの間のギャップが大きい場合には、より多くのフレーム数を選択することができる。
【００２５】
これらの入力を使用して、円滑化モジュール１１８は、マルチフレーム円滑化ルーチンを生成する円滑化ヒューリスティックを実行することにより、画像フレームに関する新しい圧縮レベルを判定することができる。一実施形態において、円滑化モジュール１１８は、図５に関して後でより詳細に説明するように、モーションＪＰＥＧやＭＰＥＧのような圧縮規格の不可逆量子化ステップを介して圧縮レベルを変更することができる。図５に関して説明する圧縮アルゴリズムは、必要とされる様々な圧縮レベルに関する乗数参照テーブル（ｍｕｌｔｉｐｌｉｅｒ  ｌｏｏｋｕｐ  ｔａｂｌｅ）を利用することができる。当業者なら、円滑化モジュール１１８が任意のタイプの円滑化メカニズムを使用できることを理解するだろう。
【００２６】
本明細書に開示される円滑化モジュール１１８は有利なことに、本明細書に開示される対話型画像ストリーミング・システム１００のような画像ストリーミング・システム内の圧縮レベルを切り換える効果的かつ効率的な仕組みを提供することができる。本明細書に開示される円滑化モジュール１１８は、ムービーや他のビデオのような固定コンテンツを伴うシステム等、他の任意のタイプの画像ストリーミング・システム内の圧縮レベルも切り換えることができる。任意の画像ストリーミング・システムにおいて、サーバ１０２は、ユーザの閲覧体験に深刻な影響を及ぼすことなく、円滑化モジュール１１８を使用して圧縮レベルを増減させる切り換えを円滑に行うことができる。本明細書に開示される円滑化ヒューリスティックを用いると、サーバ１０２は、複数のフレームにわたる圧縮レベル間の切り換えを円滑に行うことが可能となり、その結果、ユーザの閲覧品質が切り換え操作によって損なわれることも少なくなる。対話型画像ストリーミング・システム１００は、円滑化モジュール１１８を利用して、ユーザ・アクティビティ（即ちクライアント１０６アプリケーションにおけるユーザ動作）に応じて帯域幅要件を緩和するのに使用される圧縮レベルの変更を容易に行うことができる。したがって、本明細書に開示されるシステムは、ストリーム内の画像フレームに関する圧縮レベルを有利な形で切り換えることにより、システム内での圧縮レベルの変更を容易に行うことが可能となり、その結果効率性がもたらされる可能性がある。円滑化ヒューリスティックを使用して異なる圧縮レベル間の切り換えを円滑にすることにより、ネットワーク制約の範囲内で動作しながらストリーミング画像のビジュアル品質を保護することが可能となる。
【００２７】
図２は、一実施形態に係る図１の画像ストリーミング・システムのクライアント構造を示している。図示の実施形態では、クライアント１０６は、通信モジュール２０２、デコーダ２０４、ユーザ表示装置２０６、ユーザ入力装置２０８、位置判定装置２１０、及び方位判定装置２１２を含む。サーバ１０２の通信モジュール１１０の場合と同様に、通信モジュール２０２を用いると、クライアント１０６は、ネットワーク１０４を介してサーバ１０２との間で情報を容易に送受信することが可能となる。通信モジュール２０２は、サーバ１０２と通信する際に任意のタイプのプロトコルを使用することができる。一実施形態において、クライアント１０６は、通信モジュール２０２を使用してクライアント情報をサーバ１０２に送信することができ、符号化された画像フレーム又は圧縮レベルのインジケーションあるいはその両方をサーバ１０２から受信することができる。
【００２８】
デコーダ２０４は、通信モジュール２０２によって受信された符号化画像を解凍などによって復号化することができる。デコーダ２０４は、通信モジュール２０２によって受信された圧縮レベルのインジケーションを使用して画像を復号化する際に役立てることができる。更に、デコーダ２０４は、画像の復号化を適切に行うことができるように、圧縮レベルに関連する１つ又は複数の乗数参照テーブルにアクセスすることができる。デコーダ２０４によって画像が処理された後、ユーザ表示装置２０６は、復号化された画像を表示画面、印刷画像、ホログラム、他の任意の出力装置などを介してユーザに表示することができる。
【００２９】
先述したように、クライアント情報は、ユーザ又はクライアント１０６あるいはその両方を識別するインジケーション、選好、位置、方位、又は他の情報を含むことができる。任意選択のユーザ入力装置２０８、位置判定装置２１０、及び方位判定装置２１２は、クライアント情報の請求又は提供を支援することができる。例えば、ユーザ入力装置２０８は、キーパッド、キーボード、ボタン、スタイラス、マウス、ジョイスティック、バーチャル・リアリティ・デバイス、音声コマンド、眼球運動等、任意のタイプの装置からのユーザ入力を受信することができる。ユーザ入力は、より高い又はより低い圧縮レベル要求や、より速い画面レート要求等のユーザ選好を含むことができる。ユーザ入力は、ユーザ位置又は方向を含むこともできる。位置判定装置２１０は、クライアント１０６又はユーザあるいはその両方の現在位置を判定することができる。位置判定装置２１０は、全地球測位システム（ＧＰＳ）受信機や慣性計測装置（ＩＭＵ）等、任意のタイプの位置判定装置であってよい。方位判定装置２１２は、クライアント１０６又はユーザあるいはその両方の現在方向を判定することができる。方位判定装置２１２は、電子コンパス、三角測量を使用したＧＰＳ受信機、従来のコンパス、ＩＭＵ等、任意のタイプの方位判定装置であってよい。ユーザ入力装置２０８、位置判定装置２１０、又は方向判定装置２１２、あるいはそれらすべてによって生成されるクライアント情報を用いることにより、サーバ１０２は、生成される各画像フレームを、クライアント１０６又はユーザあるいはその両方の現在の状態に基づいてカスタマイズすることが可能となる。
【００３０】
図３は、一実施形態に従って新しい画像フレームを生成し、符号化し、送信するフローチャートの一例を示している。サーバ１０２又はサーバ１０２のいずれかのコンポーネントはそれぞれ単独で又は連動して、フローチャート３００の方法を実行することができる。フローチャート３００は、クライアント情報を受信する要素３０２から開始する。一実施形態において、通信モジュール１１０は、ネットワーク１０４を介してクライアント１０６からクライアント情報を受信することができる。クライアント情報が受信された後、要素３０４で、コンテンツ・ジェネレータ１１４は、受信されたクライアント情報に基づいて新しい画像フレームを生成することができる。コンテンツ・ジェネレータ１１４は、アプリケーションに応じて任意のタイプのアルゴリズムを使用して新しい画像フレームを生成することができる。例えば、コンテンツ・ジェネレータ１１４は、アプリケーションからそのような要求を受けた場合は、ユーザの視点から見たビューを表現する画像フレームを生成することができる。
【００３１】
次に、要素３０６で、円滑化モジュール１１８は、生成された画像フレームに関する初期圧縮レベルを判定することができる。一実施形態において、円滑化モジュール１１８は、単純に最近使用された圧縮レベルを初期圧縮レベルとして選択することもできる。別の実施形態において、円滑化モジュール１１８は、システムがマルチフレーム円滑化ルーチン内にあるかどうかに基づいて初期圧縮レベルを選択することができる。システムがマルチフレーム円滑化ルーチン内にある間は、初期圧縮レベルは、マルチフレーム円滑化ルーチンにおける現在のフレームに適した圧縮レベルに基づいて選択することができる。当初の圧縮レベルを５として圧縮ルーチンを開始し、フレーム毎に圧縮レベルを１つずつ増分させ、６フレームに及ぶ圧縮ルーチン終了時の圧縮レベルが１０となった円滑化モジュール１１８の一例では、３つ目のフレームに関する初期圧縮レベルは圧縮レベル７（５＋２＝７）となる可能性がある。一実施形態において、円滑化モジュール１１８は、ユーザへの影響を緩和するために、１秒から２秒に延長されたマルチフレーム円滑化ルーチンを使用することができる。一例として、画像ストリームが１秒間に１５フレーム送信された場合には、ある圧縮レベルから別の圧縮レベルへの切り換えを１５〜３０フレームで行うマルチフレーム円滑化ルーチンが有益である可能性がある。当業者なら、円滑化モジュール１１８が他のマルチフレーム円滑化ルーチンを利用できることを理解するだろう。
【００３２】
初期圧縮レベルが円滑化モジュール１１８によって判定された後、要素３０８で、コンテンツ変更検出器１１２は、生成された新しい画像を以前の画像と比較する。先述したように、コンテンツ変更検出器１１２は、任意の方法を使用して２つの画像を比較することができる。判断ブロック３１０で、生成された新しい画像フレームとそれ以前の画像フレームとの間でコンテンツ変更が行われていることがコンテンツ変更検出器１１２によって判定された場合には、要素３１４に進む。要素３１４で、円滑化モジュール１１８は、新しい画像に対する円滑化ヒューリスティックを実行して当該画像の品質を低下させ、圧縮レベルを高くすることができる。画像間のコンテンツ変更があることから、ユーザの視野が移動する可能性が高く、したがってより低い画像品質がユーザに許容される可能性が高いことが示唆されるため、円滑化モジュール１１８は圧縮レベルを高くする。判断ブロック３１０で、生成された新しい画像フレームとそれ以前の画像フレームとの間でコンテンツ変更が行われていないことがコンテンツ変更検出器１１２によって判定された場合には、要素３１２に進む。要素３１２で、円滑化モジュール１１８は、新しい画像に対する円滑化ヒューリスティックを実行して当該画像の品質を向上させ、圧縮レベルを低くすることができる。画像間のコンテンツ変更がないことから、ユーザの視野が移動しない可能性が高く、したがってより高い画像品質をユーザが要求する可能性が高いことが示唆されるため、円滑化モジュール１１８は圧縮レベルを低くすることができる。
【００３３】
要素３１２又は要素３１４で、円滑化モジュール１１８は、任意の方法を使用して円滑化ヒューリスティックを実行することができる。一実施形態において、円滑化モジュール１１８は、複数の画像フレームにわたって複数段階の圧縮ルーチンが行われることになる一連の圧縮品質ステップをつうじて、初期圧縮レベルとターゲット圧縮レベルの間の増分（圧縮レベルの低下又は増加に応じた適切な方向への増分）を行うことができる。例えば、円滑化モジュール１１８は、最低圧縮レベルと最高圧縮レベルの間の５段階の圧縮レベルを使用することができる。しかしながら、図５に関して後でより詳細に説明するように、サーバ１０２及びクライアント１０６は、各圧縮レベル毎に、当該圧縮レベルに関する乗数参照テーブルを設ける必要が生じる可能性がある。圧縮レベル数は、サーバ１０２とクライアント１０６の両方におけるメモリ使用率と、ヒューリスティックの円滑性と、その結果得られるストリーミング画像との間にトレード・オフの関係を必然的に生み出すことになる。圧縮レベル数が高くなるほど圧縮レベル間の切り換えも円滑になる可能性があるが、追加的なメモリ容量が必要となる可能性があり、そのため、特に処理資源及びメモリ資源の限られたクライアント１０６に関しては問題が生じる恐れがある。典型的には、円滑な切り換えを行うには３段階以上の圧縮レベルが望ましいが、性能の低下を招く可能性があるものの、より低いレベルも可能であることが当業者には理解されるだろう。マルチフレーム円滑化ルーチンを生成する際に、円滑化モジュール１１８は、ある圧縮レベルから別の圧縮レベルに概ね線形的に移行する手法を使用することができ、あるいは、より高い又はより低い圧縮レベルにバイアスが掛けられたアルゴリズム等、他の任意のタイプのアルゴリズムを使用することもできる。
【００３４】
円滑化モジュール１１８が円滑化ヒューリスティックを実行した後、要素３１６で、コンテンツ・エンコーダ１１６は、円滑化モジュール１１８の結果に基づいて画像フレームに関する新しい圧縮レベルを設定することができる。次に、要素３１８で、コンテンツ・エンコーダ１１６は、当該新しい圧縮レベルに基づいて新しい画像フレームを符号化することができる。先述したように、コンテンツ・エンコーダ１１６は、任意のタイプの符号化アルゴリズムを使用して新しい画像フレームを符号化することができる。次に、要素３２０で、通信モジュール１１０は、符号化された新しい画像フレームと、新しい圧縮レベルのインジケーションとをクライアント１０６に送信することができ、その後フローチャート３００の方法は終了する。フローチャート３００の方法は、要素３０２に戻って上記のプロセスを各フレーム毎に繰り返すこともできる。
【００３５】
図４は、一実施形態に従ってユーザ入力を受信し、画像フレームを受信し、当該画像フレームをユーザに表示するフローチャートの一例を示している。クライアント１０６又はクライアント１０６の任意のコンポーネントはそれぞれ単独で又は連動して、フローチャート４００の方法を実行することができる。フローチャート４００は、ユーザ入力を受信する要素４０２から開始する。一実施形態において、通信モジュール２０２は、先述したようにユーザ入力装置２０８を介してユーザからの入力を受信することができる。別法として、通信モジュール２０２は、位置判定装置２１０又は方位判定装置２１２からの入力を受信することができる。要素４０４で、ユーザ入力装置２０８は、任意選択でユーザ入力を送信用の別の形式に変換することなどによってユーザ入力を処理することもできる。次に、要素４０６で、通信モジュール２０２は、ネットワーク１０４を介してサーバ１０２にユーザ入力のインジケーションを送信することができる。
【００３６】
ユーザ入力のインジケーションが送信された後、フローチャート４００の方法は、通信モジュール２０２がネットワーク１０４を介して符号化された画像フレームをサーバ１０２から受信することができる要素４０８に進むことができる。要素４１０で、通信モジュール２０２は、ネットワーク１０４を介して符号化された画像フレームに関する圧縮レベルのインジケーションをサーバ１０２から受信することもできる。一実施形態において、通信モジュール２０２は、符号化された画像フレームと圧縮レベルのインジケーションを同一の送信において受信することができる。
【００３７】
要素４１２で、デコーダ２０４は、圧縮レベルのインジケーションを使用して、符号化された画像フレームを復号化することができる。デコーダ２０４は、図５に関して後でより詳細に説明するように、指示された圧縮レベルに関連付けられた乗数参照テーブルを使用して、復号化プロセスの逆量子化ステップを実行することができる。画像フレームが復号化された後、要素４１４で、ユーザ表示装置２０６は、復号化された画像フレームをユーザに表示することができ、その後フローチャート４００の方法は終了する。フローチャート４００の方法は、要素４０２に戻ってフローチャート全体を各フレーム毎に繰り返すこともできる。
【００３８】
本明細書に開示されるフローチャート４００の方法を用いると、対話型画像ストリームをクライアント１０６装置上に表示することが可能となる。通信モジュール２０２は、ユーザの対話を示すインジケーションをサーバ１０２に送信することができ、また、当該ユーザの対話に基づいて符号化された画像フレームを再度受信することができる。次に、デコーダ２０４は、画像フレームを復号化することができ、ユーザ表示装置２０６は、復号化された画像フレームをユーザに表示する。図３及び図４の方法を各フレーム毎に繰り返すことにより、対話型画像ストリーミング体験をユーザに与えることができる。有利なことに、本明細書に記載される円滑化ヒューリスティックを用いると、ユーザの閲覧体験の品質の低下を緩和しながら、ユーザのアクションに基づく圧縮レベルの変更も容易となり、その結果、利用可能な帯域幅を効果的かつ効率的に使用することが可能となる。
【００３９】
図５は、一実施形態に従って画像フレームの符号化及び復号化を行うフローチャートの一例を示している。サーバ１０２のコンテンツ・エンコーダ１１６とクライアント１０６のデコーダ２０４とはそれぞれ単独で又は連動して、フローチャート５００の方法を実行することができる。フローチャート５００の方法は、ＭＰＥＧやモーションＪＰＥＧのような典型的なビデオ符号化／復号化スキーム又はアルゴリズムを説明することができる。フローチャート５００の方法は網羅的なものではなく、具体的な符号化スキームは、ＭＰＥＧアルゴリズムの動き補償ステップ等より多くのステップを有することも、これとはまったく異なる方法を有することもある。当業者なら、図５の方法は単なる一例に過ぎず、本明細書に開示の諸実施形態とともに他の符号化／復号化方法を使用することも可能であることを理解するだろう。
【００４０】
フローチャート５００は、コンテンツ・エンコーダ１１６が符号化対象の入力画像フレームを受信することができる要素５０２から開始する。次に、コンテンツ・エンコーダ１１６は、入力画像フレームに対して離散コサイン変換（ＤＣＴ）処理を実行することができる。ＤＣＴ処理は、信号（入力画像フレームの空間情報）を取得し、当該信号を出力として１つ又は複数の８×８のピクセル・ブロックの形で圧縮するのに適した数値データに変換する、実質的に無損失の数学的変換であり得る。要素５０６で、ＤＣＴ処理の出力は、選択された圧縮レベルに基づいてコンテンツ・エンコーダ１１６内で量子化される。コンテンツ・エンコーダ１１６は、適切な参照テーブルの定数をＤＣＴ処理から出力される８×８の各ピクセル・ブロックの除数として使用して、量子化ステップを実行することができる。適切な参照テーブルは、選択された圧縮レベルに関連する参照テーブルであってもよい。一実施形態では、可能な圧縮レベル毎に参照テーブルを設けることができる。次に、フローチャート５００の方法は、コンテンツ・エンコーダ１１６が要素５０６から出力された量子化後のＤＣＴ値を圧縮することができる要素５０８に進むことができる。要素５０８で、コンテンツ・エンコーダ１１６は、量子化後のＤＣＴ値をジグザグ・シーケンスの１次元配列に再配置することができ、その後、ラン・レングス符号化（ＲＬＥ）又はハフマン符号化あるいはその両方が使用されるエントロピー符号化メカニズムを使用することができる。
【００４１】
クライアント１０６のデコーダ２０４は、符号化された画像フレームを数学的に反転させ解凍することによって当該画像フレームを復号化することができる。デコーダ２０４は、受信された画像フレームを解凍することによって要素５１０から開始することができ、要素５１２では、選択された圧縮レベルに基づいて、受信された画像に対して逆量子化（ｄｅｑｕａｎｔｉｚａｔｉｏｎ）（「ｉｎｖｅｒｓｅ  ｑｕａｎｔｉｚａｔｉｏｎ」としても知られる）を実行することができる。デコーダ２０４は、適切な参照テーブルの定数を解凍ステップ後に得られる８×８の各ピクセル・ブロックの増倍率として使用して、逆量子化ステップを実行することができる。適切な参照テーブルは、選択された圧縮レベルに関連する参照テーブルであってもよい。有利なことに、同一の参照テーブルをそれぞれサーバ１０２とクライアント１０６の両方に同時に記憶することができる。次に、デコーダ２０４は、受信された画像フレームに対して逆ＤＣＴ変換を実行することができ、その結果出力された画像フレームを表示することができ、あるいは他の何らかの方法で処理することができる。その後、フローチャート５００の方法を終了させることができる。
【００４２】
一般に、本発明の諸実施形態を実施する上で実行されるルーチンは、オペレーティング・システム又は特定のアプリケーション、コンポーネント、プログラム、モジュール、オブジェクト、あるいは命令シーケンスの一部とすることができる。本発明のコンピュータ・プログラムは、典型的にはネイティブ・コンピュータによって機械読取り可能なフォーマットに変換され、したがって実行可能命令に変換される複数の命令から構成される。また、各プログラムは、当該プログラムのローカルに所在する、あるいはメモリ内又は記憶装置上で発見される変数及びデータ構造から構成される。更に、後述の様々なプログラムは、本発明の特定の実施形態でそれらのプログラムが実装されるアプリケーションに基づいて特定することができる。しかしながら、後述する任意の特定のプログラム名称は便宜上使用されるものに過ぎず、それ故、本発明はそのような名称で特定される具体的なアプリケーション、又はそのように暗示される具体的なアプリケーション、あるいはその両方だけを使用するように限定されるべきではないことを理解していただきたい。
【００４３】
本開示の利益を享受する当業者なら、本発明が画像ストリーミング・システム内の圧縮レベルを切り換える方法、システム、及び媒体を対象とするものであることを理解するだろう。添付図面に示し上記の詳細な説明に記載した本発明の形態は、例示的なものとして解釈されるべきであることを理解していただきたい。添付の特許請求範囲は、本明細書に開示した例示的な実施形態のすべての変更形態を包含するように広義に解釈されることが本出願人の意図するところである。
【図面の簡単な説明】
【００４４】
【図１】一実施形態に従って画像をサーバから複数のクライアントにストリーミングするシステム環境を示す図である。
【図２】一実施形態に係る図１の画像ストリーミング・システムのクライアント構造を示す図である。
【図３】一実施形態に従って新しい画像フレームを生成し、符号化し、送信するフローチャートの一例を示す図である。
【図４】一実施形態に従ってユーザ入力を受信し、画像フレームを受信し、当該画像フレームをユーザに表示するフローチャートの一例を示す図である。
【図５】一実施形態に従って画像フレームの符号化及び復号化を行うフローチャートの一例を示す図である。
【図１】
2009502069.tif 000003
【図２】
2009502069.tif 000004
【図３】
2009502069.tif 000005
【図４】
2009502069.tif 000006
【図５】
2009502069.tif 000007
【国際調査報告】
2009502069.tif 000008
2009502069.tif 000009
2009502069.tif 000010