1以上の実施例又は実現形態が、添付された図面を参照して説明される。具体的な設定及び構成が説明されるが、これは例示的な目的のためにだけ行われることが理解されるべきである。当業者は、他の設定及び構成が本説明の趣旨及び範囲から逸脱することなく利用可能であることを認識するであろう。ここに説明される技術及び/又は構成はまた、ここに開示された以外の他の各種システム及びアプリケーションにおいて利用可能であることが、当業者に明らかであろう。
以下の説明は、システム・オン・チップ(SoC)アーキテクチャなどのアーキテクチャにおいて明らかな各種実現形態を提供するが、ここに説明される技術及び/又は構成の実現形態は、特定のアーキテクチャ及び/又は計算システムに限定されず、同様の目的のための何れかのアーキテクチャ及び/又は計算システムにより実現されてもよい。例えば、複数の集積回路(IC)チップ及び/又はパッケージなどを利用した各種アーキテクチャ、及び/又はセットトップボックス、スマートフォンなどの各種計算装置及び/又は家電機器(CE)装置が、ここに説明される技術及び/又は構成を実現してもよい。さらに、以下の説明はロジック実現形態、システムコンポーネントのタイプ及び相互関係、ロジック分割/統合選択などの多数の具体的な詳細を提供するが、請求される主題は、このような具体的な詳細なく実現可能である。他の例では、制御構造やフルソフトウェア命令シーケンスなどのいくつかのマテリアルが、ここに開示されるマテリアルを不明瞭にしないように、詳細には示されなくてもよい。
ここに開示されるマテリアルは、ハードウェア、ファームウェア、ソフトウェア又はこれらの何れかの組み合わせにより実現されてもよい。ここに開示されるマテリアルはまた、1以上のプロセッサにより読み込まれて実行されるマシーン可読媒体に格納される命令として実現されてもよい。マシーン可読媒体は、マシーン(計算装置など)により可読な形式により情報を格納又は送信するための何れかの媒体及び/又は機構を含むものであってもよい。例えば、マシーン可読媒体は、ROM(Read Only Memory)、RAM(Random Access Memory)、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリデバイス、電気、光、音響又は他の形態の伝搬信号(搬送波、赤外線信号、デジタル信号など)などを含むものであってもよい。
“一実現形態”、“実現形態”、“一例となる実現形態”などの明細書における表現は、開示された実現形態が特定の特徴、構成又は特性を含むが、必ずしも全ての実現形態が当該特徴、構成又は特性を含むとは限らないことを示す。さらに、このような表現は必ずしも同一の実現形態を参照しているとは限らない。さらに、特定の特徴、構成又は特性がある実現形態に関して説明されるとき、ここに明示的に開示されているか否かにかかわらず、当該特徴、構成又は特性を他の実現形態に関して実行することは、当業者の知識の範囲内であることが主張される。
図1は、本開示による一例となるビデオエンコーダシステム100を示す。各種実現形態では、システム100は、例えば、H.264規格(ISO/IEC JTC1 and ITU−T,“H.264/AVC−Advanced video coding for generic audiovisual services”,ITU−T Recommendation H.264 and ISO/IEC14496−10(MPEG−4 part 10)、version 3,2005)及びその拡張などの1以上の先進的なビデオコーデック規格に従って、ビデオ符号化を実行し、及び/又はビデオコーデックを実現するよう構成されてもよい。さらに、ビデオエンコーダシステム100は、ISO/IEC Moving Picture Experts Group(MPEG)及びITU−T Video Coding Experts Group(VCEG)により形成されるJoint Collaborative Team on Video Coding(JCT−VC)により開発されるHigh Efficiency Video Coding(HEVC) H.265ビデオ圧縮規格に従って、ビデオ符号化を実行し、及び/又はビデオコーデックを実現するよう構成されてもよい。さらに、各種実施例では、ビデオエンコーダシステム100は、画像プロセッサ、ビデオプロセッサ及び/又はメディアプロセッサの一部として実現され、本開示によるクロスチャネル残差予測を含むインタ予測、イントラ予測、予測符号化及び/又は残差予測を実行してもよい。
システム100では、現在のビデオ情報は、ビデオデータのフレームの形式により内部ビットデプス増加モジュール102に提供される。現在のビデオフレームは、モジュール104において最大符号化ユニット(LCU)に分割され、その後に残差予測モジュール106にわたされる。残差予測モジュール106の出力は、変換量子化モジュール108によって、既知のビデオ変換及び量子化処理を受ける。変換量子化モジュール108の出力は、エントロピー符号化モジュール109及び逆量子化逆変換モジュール110に提供される。逆量子化逆変換モジュール110は、残差予測モジュール106の出力を残差再構成モジュール112に提供するため、変換量子化モジュール106により実行される処理の逆を実現する。当業者は、ここに説明される変換量子化モジュール及び逆量子化逆変換モジュールがスケーリング技術を利用可能であることを認識するであろう。
残差再構成モジュール112の出力は、残差予測モジュール106にフィードバックされ、デブロッキングフィルタ114、サンプル適応的オフセットフィルタ116、適応的ルールフィルタ118、バッファ120、動き推定モジュール122、動き補償モジュール124及びイントラフレーム予測モジュール126に提供されてもよい。図1に示されるように、動き補償モジュール1214又はイントラフレーム予測モジュール126との何れかの出力が、共にデブロッキングフィルタ114への入力として残差予測モジュール106の出力と組み合わされ、残差予測モジュール106への入力として処理するようLCU分割モジュール104の出力と差分される。
以下でより詳細に説明されるように、残差予測モジュール106は、本開示によりクロスチャネル残差予測を提供するため、残差再構成モジュール112と共に動作する。各種実現形態では、残差予測モジュール106は、ビデオデータの1つのチャネルについて予測残差を生成するのに利用され、残差再構成モジュール112は、ビデオデータの他のチャネルについて予測残差を生成する際に残差予測モジュール106により利用される当該チャネルの予測残差を再構成する。例えば、残差予測モジュール106は、予測ユニット(PU)のルミナンス(ルマ)チャネルの予測残差を生成するのに利用され、残差再構成モジュール112は、PUのクロミナンス(クロマ)チャネルの予測残差を生成する際に残差予測モジュール106により利用されるルミナンスチャネルの予測残差を再構成してもよい。一般に、3つのチャネルの何れか2つが2つのチャネルの予測残差の間の可能な相関を生じさせる同一の予測タイプ及び/又は同一の予測モードを利用する場合、ここに説明されるようなクロスチャネル残差予測技術を利用することは、冗長情報の削除を実現し、より高いビデオ符号化効率を可能にする。
各種実現形態では、残差予測は予測残差に対して実行され、初期的な予測残差と予測される残差との間の結果として得られる2次予測残差が変換及び量子化される。本開示によるクロスチャネル残差予測技術では、第1チャネル(A)の残差が第2チャネル(B)の残差から予測される場合、残差予測モジュール106により生成されるチャネルBの残差は、変換量子化モジュール108により符号化(変換及び量子化など)され、その後、逆量子化逆変換モジュール110及び残差再構成モジュール112によりまず再構成され、チャネルBの再構成された残差は、チャネルAの残差を以降に予測するため、残差予測モジュール106により利用されてもよい。
図2は、本開示による一例となるクロスチャネル残差予測スキーム200を示す。各種実現形態では、図1のシステム100はスキーム200を実現する。スキーム200において、第1チャネル(B)の再構成される予測残差は、第2チャネル(A)の残差を予測するのに利用され、その後、第3チャネル(C)の符号化された残差と共にチャネルBの符号化残差及びチャネルA(符号化後)の結果として得られるクロスチャネル予測残差とが、エントロピー符号化を受ける。各種実現形態では、チャネルA,B又はCは、ルマチャネル(Y)又はクロマチャネル(U及びV)の何れか1つであってもよく、チャネルA,B又はCのそれぞれは異なるものであってもよい(すなわち、その他のチャネルと異なる)。各種実現形態では、チャネルAはルマチャネルであってもよく、チャネルB及びCはクロマチャネルであってもよい。他の実現形態では、チャネルAはクロマチャネルであってもよく、チャネルB及びCの一方はルマチャネルであり、他方は他方のクロマチャネルであってもよい。
スキーム200に示されるように、予測されたチャネルBの残差は、ブロック202において変換及び量子化され、クロスチャネル予測ブロック206にチャネルBの再構成された残差として提供される前に、ブロック204において逆量子化及び逆変換される。ブロック206において、チャネルBの再構成された残差は、チャネルAの残差を予測するのに利用される。チャネルAの予測残差は、その後、ブロック210においてエントリピー符号化される前に、ブロック202から取得された変換及び量子化されたチャネルBの残差と、チャネルCの変換及び量子化された(ブロック212)予測残差と共に、ブロック208において変換及び量子化されてもよい。
本開示によると、本開示によるクロスチャネル残差予測(ブロック206において実行されるような)は、リニア又は非リニアモデルを利用し、固定的な又は適応的に決定されたモデルパラメータを利用する。例えば、ピクセルポジションkについて、チャネルAの残差値A(k)は、以下の式を用いてポジションkの再構成されたチャネルBの残差値B’(k)から予測される。
ただし、A
p(k)は予測された残差値であり、f(・)はリニア又は非リニア関数又は変換である。各種実現形態では、f(・)のパラメータは、所定の固定値であるか、又は少なくともいくつかの近傍のピクセルポジションの生成又は再構成された残差値を用いて適応的に決定されてもよい。例えば、各種実現形態では、近傍のピクセルポジションの残差値は、f(・)のリニア又は非リニア方程式グループを構成するため利用されてもよい。このような実現形態では、f(・)のパラメータは、例えば、線形最小二乗、非線形最小二乗、加重最小二乗又は他の周知の最適化方法などの周知の技術を利用して、近傍のピクセルポジションの残差値から適応的に取得されてもよい。
一般に、f(・)の線形形式を利用した本開示による残差予測は、残差値A(k)の以下の式を提供する。
ただし、a及びbはモデルパラメータである。各種実現形態では、モデルパラメータa及びbは固定値であってもよいし、デコーダにより決定されてもよいし、又はデコーダに送信するためエンコーダにより決定されてもよい。
一般に、非線形形式を用いた本開示による非線形残差予測は、残差値A(k)の以下の式を提供する。
ただし、a(k)及びb(k)は非線形方程式のパラメータである。各種実現形態では、パラメータa(k)及びb(k)は、B’(k)の値に応答して適応的に決定される。例えば、B’(k)の可能な値の範囲は、M個のより小さな残差値のサブセットS(k)に分割される。各サブセットS(k)には、その後に式(3)に用いられるa(k)及びb(k)の異なる値が割り当てられ、この結果、ある残差ポジションのB’(k)の値が所与のサブセットS(k)内にあるとき、a(k)及びb(k)の対応する値は、当該ポジションの残差値A
p(k)を予測するのに適用される。
一般に、各種実現形態では、リニア又は非リニアモデルパラメータは、現在のピクチャ及び/又は以前に復号化されたピクチャにおける既に復号化されたピクセルに基づき、ビデオエンコーダ及び/又はデコーダによって適応的に生成される。さらに、各種実現形態では、リニア又は非リニアモデルパラメータは、現在のピクチャの入力ピクセル及び現在のピクチャの既に符号化されたピクセル及び/又は以前に符号化されたピクチャの符号化されたピクセルに基づき、ビデオエンコーダ及び/又はデコーダにより適応的に生成される。ビデオエンコーダは、モデルパラメータを決定し、その後、本開示によるクロスチャネル残差予測方式を実行する際にデコーダが利用する生成されたモデルパラメータを符号化し、デコーダに送信する。
各種実現形態では、符号化ユニット(CU)又はPUは、各種符号化モード及び/又は予測モードに従って処理される。例えば、CUはイントラモード又はインタモードにおいて符号化され、イントラモードでは、PUはDC予測、平面予測、垂直予測、水平予測及び他の方向の予測などの各種予測モードを用いて処理される。本開示によると、異なるクロスチャネル残差予測スキームが、使用される符号化モード及び/又は予測モードに依存して適用される。例えば、各種実現形態では、リニアクロスチャネル残差予測がイントラモード符号化に適用され、クロスチャネル残差予測はインタモード符号化に適用されない。さらに、各種実現形態では、固定パラメータリニアクロスチャネル残差予測は、イントラ垂直及び水平予測モードについて適用され、適応的リニアクロスチャネル残差予測がDC、平面及び他の方向の予測モードに適用されてもよい。
各種実現形態では、異なるモデルパラメータ生成スキームが異なる符号化モードにより適用される。例えば、異なるモデルパラメータ生成スキームが、インタ符号化モードよりイントラ符号化モードにおいて適用されてもよい。さらに、異なるモデルパラメータ生成スキームが、異なるブロックサイズに適用されてもよい。さらに、異なるイントラ予測モードが、異なるモデルパラメータ生成スキームを利用してもよい。
各種実現形態では、フラグ、インジケータ又は信号は、特定の符号化モード又は予測モードについて適応的な残差予測を適用するか否か示す。例えば、エンコーダ(システム100など)は、1以上のフラグを利用して、特定の符号化モード又は予測モードについて残差予測を適用するか否か示してもよい(CU単位及び/又はPU単位などにより)。各種実現形態では、このようなフラグの値(yes又はnoなど)は、レート歪みコストに基づき決定されてもよい。さらに、各種実現形態では、特定の符号化モード又は予測モードに残差予測を適用することが必須であってもよい。
当業者は、入力ビデオデータがYUV420又はYUV422フォーマットであるとき、U及びVチャネルの残差ブロックサイズは、Yチャネルの残差ブロックサイズより小さいことを認識するであろう。これらのケースでは、U及び/又はVチャネル残差ブロックを予測するのに利用されるべきである場合、ダウンサンプリングがYチャネル残差ブロックに適用されてもよく、あるいは、Yチャネル残差ブロックを予測するのに利用されるべきである場合、アップサンプリングがU及び/又はV残差ブロックに適用されてもよい。さらに、各種実現形態がYUVカラー空間に関して説明されるが、本開示は特定のビデオデータフォーマット又はカラー空間に限定されるものでない。
図3は、本開示による他の一例となるクロスチャネル残差予測スキーム300を示す。各種実現形態では、図1のシステム100はスキーム300を実現する。スキーム300において、2つのチャネル(B及びC)の再構成された予測された残差は第3チャネル(A)の残差を予測するのに利用され、その後、チャネルB及びCの符号化された残差とチャネルA(符号化後)のクロスチャネル予測残差とがエントロピー符号化される。各種実現形態では、チャネルA、B又はCは、ルマチャネル(Y)又はクロマチャネル(U及びV)の何れか1つであり、各チャネルA、B又はCは別であってもよい(すなわち、他のチャネルと異なる)。各種実現形態では、チャネルAはルマチャネルであり、チャネルB及びCはクロマチャネルであってもよい。他の実現形態では、チャネルAはクロマチャネルであり、チャネルB及びCの一方がルマチャネルであり、他方が他方のクロマチャネルであってもよい。
スキーム300に示されるように、ブロック302において、チャネルBの予測残差が変換及び量子化され、その後に304において、クロスチャネル予測ブロック306に再構成された残差として提供される前に、逆量子化及び逆変換される。同様に、ブロック308において、チャネルCの予測残差が変換及び量子化され、ブロック310において、クロスチャネル予測ブロック306に再構成された残差として提供される前に、逆量子化及び逆変換される。ブロック306において、チャネルB及びCの双方の再構成された残差は、ここで説明されるチャネルAの残差をよくするのに利用される。その後、ブロック312において、チャネルB及びCの符号化された残差と共にブロック314においてエントロピー符号化される前に、チャネルAの予測残差が変換及び量子化される。
図4は、本開示による他の一例となるクロスチャネル残差予測スキーム400を示す。各種実現形態では、図1のシステム100はスキーム400を実現する。スキーム400において、第1チャネル(C)の再構成された予測残差が、第2チャネル(B)の残差を予測するのに利用され、その後、チャネルBの再構成されたクロスチャネル予測残差が、第3チャネル(A)の残差を予測するのに利用される。その後、3つ全てのチャネルA、B及びCの符号化された残差が、エントロピー符号化される。各種実現形態では、チャネルA、B又はCはルマチャネル(Y)又はクロマチャネル(U及びV)の何れか1つであり、各チャネルA、B又はCは別であってもよい(すなわち、他のチャネルと異なる)。各種実現形態では、チャネルAはルマチャネルであり、チャネルB及びCはクロマチャネルであってもよい。他の実現形態では、チャネルAはクロマチャネルであり、チャネルB及びCの一方はルマチャネルであり、他方は他方のクロマチャネルであってもよい。
スキーム400に示されるように、ブロック402において、チャネルCの予測残差が変換及び量子化され、ブロック404において、第1クロスチャネル予測ブロック406に再構成された残差として提供される前に、逆量子化及び逆変換される。ブロック406において、チャネルCの再構成された残差がチャネルBの残差を予測するのに利用される。その後、ブロック408において、チャネルBのクロスチャネル予測残差が変換及び量子化され、その後にブロック410において、第2クロスチャネル予測ブロック412に再構成された残差として提供される前に、逆量子化及び逆変換される。ブロック412において、チャネルBの再構成された残差がチャネルAの残差を予測するのに利用される。その後にブロック414において、ブロック416における3つ全てのチャネル符号化された残差がエントロピー符号化される前に、チャネルAのクロスチャネル予測残差が変換及び量子化される。
図5は、本開示による一例となるビデオデコーダシステム500を示す。各種実現形態では、システム500は、H.264規格及びそれの拡張などの1以上の先進的なビデオコーデック規格に従って、ビデオ復号化を実行し、及び/又はビデオコーデックを実現するよう構成される。さらに、ビデオデコーダシステム500は、HEVC H.265ビデオ圧縮規格に従って、ビデオ符号化を実行し、及び/又はビデオコーデックを実現するよう構成される。さらに、各種実施例では、ビデオデコーダシステム500は、画像プロセッサ、ビデオプロセッサ及び/又はメディアプロセッサの一部として実現されてもよく、本開示によるクロスチャネル残差予測を含むインタ予測、イントラ予測、予測符号化及び/又は残差予測を実行してもよい。
システム500において、符号化されたビットストリームが、本開示によるクロスチャネル残差予測を実現する残差予測モジュール504及び残差再構成モジュール506を有するデコーダモジュール502に提供される。各種実現形態では、残差予測モジュール504及び残差再構成モジュール506は、それぞれシステム100の残差予測モジュール106及び残差再構成モジュール112と同様であり、同様の機能を提供する。当業者が認識するように、システム500のデコーダ502は、逆量子化逆変換モジュール、エントロピー復号化モジュール、動き補償モジュールなどの各種の追加的なアイテム(簡単化のため図5に図示せず)を含む。
各種実現形態では、本開示によるエンコーダ(システム100など)は、符号化されたビットストリームをデコーダ502に提供する。これを実行する際、エンコーダは、デコーダ502が所与のPUについてここで説明されるようなクロスチャネル残差予測を実行すべきかを示す1以上のモードフラグなどの情報をビットストリームに含める。例えば、デコーダ502により受信されるビットストリームは、デコーダ502が特定の符号化モード又は予測モードに適応的なクロスチャネル残差予測を適用するべきか示すヘッダ情報などの情報を有してもよい。例えば、エンコーダ(システム100など)は、1以上のフラグを利用して、デコーダ502が特定の符号化モード又は予測モードにクロスチャネル残差予測を適用すべきか示してもよい(例えば、CU単位及びPU単位などにより)。
図6は、本開示の各種実現形態によるビデオ符号化のための一例となる処理600のフロー図を示す。処理600は、図6のブロック602,604,606,608及び610の1以上により示されるような1以上の処理、機能又はアクションを含む。非限定的な具体例として、処理600は、図1の一例となるエンコーダシステム100及び図2〜4の一例となるスキームとを参照して説明される。
処理600は、ビデオデータの第1チャネルの第1予測残差を決定するブロック602から開始される。例えば、残差予測モジュール106は、ビデオデータのチャネル(ルマ又はクロマ)についてブロック602を実行する。ブロック604において、ビデオデータの第2チャネルの第2予測残差が、ブロック602において生成された第1予測残差を用いて決定される。例えば、残差予測モジュール106は、残差再構成モジュール112により提供される第1予測残差を用いて、ビデオデータの異なるチャネルについてブロック604を実行する。各種実現形態において、ブロック602がルマチャネルについて実行される場合、ブロック604は、クロマチャネルについて実行される。他方、ブロック602がクロマチャネルについて実行される場合、ブロック604は、クロマチャネル又はルマチャネルについて実行される。各種実現形態では、ブロック602及び604は、図2のスキーム200のブロック202〜206の実現形態に対応する。
処理600は、ビデオデータの第3チャネルの第3予測残差が第2予測残差を用いて決定されるブロック606に続く。例えば、残差予測モジュール106は、ブロック604において残差再構成モジュール112により提供される第2予測残差を用いて、ビデオデータの第3チャネルについてブロック606を実行する。各種実現形態では、ブロック602がルマチャネルについて実行される場合、ブロック604はクロマチャネルについて実行され、ブロック606は他方のクロマチャネルについて実行される。ブロック602がクロマチャネルについて実行され、ブロック604が他方のクロマチャネルについて実行される場合、ブロック606は、ルマチャネルについて実行される。各種実現形態では、ブロック602、604及び606は、図3のスキーム300のブロック302〜306及び308〜310の実現形態に対応する。
処理600はまた、第3予測残差がビデオデータの第3チャネルについて決定されるブロック608を含む。例えば、残差予測モジュール106は、ビデオデータの第3チャネルについてブロック608を実行する。ブロック610において、ビデオデータの第2チャネルの第2予測残差が、ブロック602からの第1予測残差とブロック608からの第3予測値とを用いて決定される。例えば、残差予測モジュール106は、ブロック602及び608における残差再構成モジュール112によりそれぞれ提供される第1予測残差及び第3予測残差の双方を用いて、ビデオデータの第2チャネルについてブロック610を実行する。各種実現形態では、ブロック602がルマチャネルについて実行される場合、ブロック608はクロマチャネルについて実行され、ブロック610は他方のクロマチャネルについて実行される。ブロック602がクロマチャネルについて実行され、ブロック606が他方のクロマチャネルについて実行される場合、ブロック610はルマチャネルについて実行される。各種実現形態では、ブロック602,608及び610は、図4のスキーム400のブロック402〜412の実現形態に対応する。
図7は、本開示の各種実現形態によるビデオ復号化のための一例となる処理700のフロー図を示す。処理700は、図7のブロック702,704,706,708及び710の1以上により示されるような1以上の処理、機能又はアクションを含む。非限定的な具体例として、処理700は、図5の一例となるビデオデコーダシステム500を参照して説明される。
処理700は、ビデオデータの第1チャネルの第1予測残差が受信されるブロック702から開始される。例えば、ブロック702は、デコーダ502が受信したビットストリームを復号化し、残差再構成モジュール506を用いてビデオデータのあるチャネルの再構成された予測残差を提供することに関する。ブロック704において、ビデオデータの第2チャネルの第2予測残差が、ブロック702において受信された第1予測残差を用いて決定される。例えば、デコーダ502の残差予測モジュール504は、残差再構成モジュール112により提供される第1予測残差を用いて、ビデオデータの異なるチャネルについてブロック704を実行する。各種実現形態では、ブロック702がルマチャネルの予測残差の受信に関する場合、ブロック704は、クロマチャネルについて実行される。他方、ブロック702がクロマチャネルの予測残差の受信に関する場合、ブロック704は、クロマチャネル又はルマチャネルについて実行される。
処理700は、ビデオデータの第3チャネルの第3予測残差が第2予測残差を用いて決定されるブロック706に続く。例えば、残差予測モジュール504は、ブロック704における残差再構成モジュール506により提供される第2予測残差を用いて、ビデオデータの第3チャネルについてブロック706を実行する。各種実現形態では、ブロック702がルマチャネルの予測残差を受信することに関する場合、ブロック704はクロマチャネルについて実行され、ブロック706が他方のクロマチャネルについて実行される。ブロック702がクロマチャネルの予測残差の受信に関し、ブロック704が他方のクロマチャネルについて実行される場合、ブロック706は、ルマチャネルについて実行される。
処理700はまた、第3予測残差がビデオデータの第3チャネルに対応する場合に第3予測残差が受信されるブロック708を含む。例えば、ブロック708は、デコーダ502が受信したビットストリームを復号化し、残差再構成モジュール506を用いてビデオデータの第3チャネルの再構成された予測残差を提供することに関するものであってもよい。ブロック710において、ビデオデータの第2チャネルの第2予測残差は、ブロック702において受信した第1予測残差とブロック708において受信した第3予測値とを用いて決定される。例えば、残差予測モジュール504は、ブロック702及び708において残差再構成モジュール506によりそれぞれ提供された第1予測残差と第3予測残差との双方を用いて、ビデオデータの第2チャネルについてブロック710を実行してもよい。各種実現形態では、ブロック702がルマチャネルについて実行される場合、ブロック708がクロマチャネルについて実行され、ブロック710が他方のクロマチャネルについて実行される。ブロック702がクロマチャネルについて実行され、ブロック706が他方のクロマチャネルについて実行される場合、ブロック710はルマチャネルについて実行される。
図6及び7に示されるような一例となる処理600及び700の実現形態は、図示された順序により全てのブロックを実行することを含むが、本開示はこれに限定されず、各種具体例では、処理600及び700の実現形態は、図示されたブロックの一部のみ及び/又は図示されたものと異なる順序の実行を含む。
さらに、図6及び7のブロックの何れか1以上は、1以上のコンピュータプログラムプロダクトにより提供される命令に応答して実行されてもよい。このようなプログラムプロダクトは、プロセッサなどにより実行されると、ここに説明された機能を提供する命令を備える信号担持媒体を含む。コンピュータプログラムプロダクトは、何れかの形態のコンピュータ可読媒体により提供されてもよい。従って、例えば、1以上のプロセッサコアを含むプロセッサは、コンピュータ可読媒体によりプロセッサに伝送された命令に応答して、図6及び7に示されるブロックの1以上を実行してもよい。
ここに説明される何れかの実現形態において用いられる“モジュール”という用語は、ここに説明される機能を提供するよう構成されるソフトウェア、ファームウェア及び/又はハードウェアの何れかの組み合わせを表す。ソフトウェアは、ソフトウェアパッケージ、コード及び/又は命令セット若しくは命令として具現化され、ここに説明される何れかの実現形態において用いられる“ハードウェア”は、例えば、プログラム可能な回路により実行される命令を格納する配線回路、プログラマブル界と、状態マシーン回路及び/又はファームウェアなどを単独で又は何れかの組み合わせにより含むものであってもよい。モジュールは、集積回路(IC)、システム・オン・チップ(SoC)などのより大きなシステムの一部を形成する回路として個別に又はまとめて具現化されてもよい。
図8は、本開示による一例となるシステム800を示す。各種実現形態では、システム800は、限定されることなく、メディアシステムであってもよい。例えば、システム800は、パーソナルコンピュータ(PC)、ラップトップコンピュータ、ウルトララップトップコンピュータ、タブレット、タッチパッド、ポータブルコンピュータ、携帯コンピュータ、パームトップコンピュータ、PDA(Personal Digital Assistant)、携帯電話、コンビネーション携帯電話/PDA、テレビ、スマートデバイス(スマートフォン、スマートタブレット、スマートテレビなど)、モバイルインターネットデバイス(MID)、メッセージングデバイス、データ通信デバイスなどに搭載されてもよい。
各種実現形態では、システム800は、ディスプレイ820に接続されるプラットフォーム802を有する。プラットフォーム802は、コンテンツサービスデバイス830、コンテンツ配信デバイス840又は他の同様のコンテンツソースなどのコンテンツデバイスからコンテンツを受信する。1以上のナビゲーション機能を有するナビゲーションコントローラ850は、プラットフォーム802及び/又はディスプレイ820などとやりとりするのに利用される。これらのコンポーネントのそれぞれは、以下においてより詳細に説明される。
各種実現形態では、プラットフォーム802は、チップセット805、プロセッサ810、ストレージ812、グラフィックサブシステム815、アプリケーション816及び/又はラジオ818の何れかの組み合わせを含むものであってもよい。チップセット805は、プロセッサ810、メモリ812、ストレージ814、グラフィックサブシステム815、アプリケーション816及び/又はラジオ818の間の相互通信を提供する。例えば、チップセット805は、ストレージ814との相互通信を提供可能なストレージアダプタ(図示せず)を含むものであってもよい。
プロセッサ810は、CISC(Complex Instruction Set Computer)又はRISC(Reduced Instruction Set Computer)プロセッサ、x86命令セットコンパチブルプロセッサ、マルチコア又は他の何れかのマイクロプロセッサ若しくは中央処理ユニット(CPU)として実現されてもよい。各種実現形態では、プロセッサ810は、デュアルコアプロセッサ、デュアルコアモバイルプロセッサなどであってもよい。
メモリ812は、限定することなく、RAM(Random Access Memory)、DRAM(Dynamic Random Access Memory)又はSRAM(Static Random Access Memory)などの揮発性メモリデバイスとして実現されてもよい。
ストレージ814は、限定することなく、磁気ディスクドライブ、光ディスクドライブ、テープドライブ、内部ストレージデバイス、付属のストレージデバイス、フラッシュメモリ、バッテリバックアップSDRAM(Synchronous DRAM)及び/又はネットワークアクセス可能なストレージデバイスなどの不揮発性ストレージデバイスとして実現されてもよい。各種実現形態では、ストレージ814は、例えば、複数のハードドライブが含まれるとき、貴重なデジタルメディアのストレージパフォーマンスがエンハンスされたプロテクションを増大させるための技術を含むものであってもよい。
グラフィックサブシステム815は、ディスプレイ用のスチル又はビデオなどの画像の処理を実行する。グラフィックサブシステム815は、例えば、グラフィック処理ユニット(GPU)又はビジュアル処理ユニット(VPU)などであってもよい。アナログ又はデジタルインタフェースは、グラフィックサブシステム815及びディスプレイ820を通信接続するのに利用される。例えば、当該インタフェースは、High−Definition Multimedia Interface、DisplayPort、無線HDMI(登録商標)及び/又は無線HDに準拠した技術の何れかであってもよい。グラフィックサブシステム815は、プロセッサ810又はチップセット805に搭載されてもよい。いくつかの実現形態では、グラフィックサブシステム815は、チップセット805に通信接続されるスタンドアローンカードであってもよい。
ここに説明されるグラフィック及び/又はビデオ処理技術は、各種ハードウェアアーキテクチャにより実現される。例えば、グラフィック及び/又はビデオ機能は、チップセット内に統合されてもよい。あるいは、別個のグラフィック及び/又はビデオプロセッサが利用されてもよい。さらなる他の実現形態では、グラフィック及び/又はビデオ機能は、マルチコアプロセッサを含む汎用プロセッサにより提供されてもよい。さらなる実施例では、これらの機能は家電機器により実現されてもよい。
ラジオ818は、各種の適切な無線通信技術を用いて信号を送受信可能な1以上のラジオを有する。このような技術は、1以上の無線ネットワークを介した通信に関する。一例となる無線ネットワークは、(限定することなく)WLAN(Wireless Local Area Network)、WPAN(Wireless Personal Area Network)、WMAN(Wireless Metropolitan Area Network)、セルラネットワーク及び衛星ネットワークを含む。このようなネットワークにおける通信において、ラジオ818は、何れかのバージョンの1以上の適用可能な規格に従って動作する。
各種実現形態では、ディスプレイ820は、何れかのテレビタイプのモニタ又はディスプレイを含む。ディスプレイ820は、例えば、コンピュータディスプレイスクリーン、タッチスクリーンディスプレイ、ビデオモニタ、テレビライクデバイス及び/又はテレビなどを含むものであってもよい。ディスプレイ820は、デジタル及び/又はアナログであってもよい。各種実現形態では、ディスプレイ820は、ホログラフィックディスプレイであってもよい。また、ディスプレイ820は、ビジュアルプロジェクションを受信する透過面であってもよい。このようなプロジェクションは、各種形態の情報、画像及び/又はオブジェクトを伝送する。例えば、このようなプロジェクションは、モバイル拡張現実(MAR)アプリケーションのビジュアルオーバレイであってもよい。1以上のソフトウェアアプリケーション816の制御の下、プラットフォーム802はディスプレイ820上にユーザインタフェース822を表示する。
各種実現形態では、コンテンツサービスデバイス830は、何れかの国内、国際及び/又は独立したサービスによりホストされてもよく、インターネットなどを介しプラットフォーム802にアクセス可能である。コンテンツサービスデバイス830は、プラットフォーム802及び/又はディスプレイ820に接続されてもよい。プラットフォーム802及び/又はコンテンツサービスデバイス830は、ネットワーク860との間でメディア情報を通信(送信及び/又は受信など)するため、ネットワーク860に接続されてもよい。コンテンツ配信デバイス840はまた、プラットフォーム802及び/又はディスプレイ820に接続されてもよい。
各種実現形態では、コンテンツサービスデバイス830は、ケーブルテレビボックス、パーソナルコンピュータ、ネットワーク、電話、インターネット対応デバイス又はデジタル情報及び/又はコンテンツを配信可能な機器、並びにネットワーク860を介し若しくは直接的にコンテンツプロバイダとプラットフォーム802及び/又はディスプレイ820との間でコンテンツを一方向又は双方向に通信可能な他の何れか同様のデバイスを含むものであってもよい。コンテンツは、ネットワーク860を介しコンテンツプロバイダとシステム800のコンポーネントの何れか1つとの間で一方向及び/又は双方向に通信可能であることが理解されるであろう。コンテンツの具体例は、ビデオ、音楽、医療情報、ゲーム情報などを含む何れかのメディア情報を含むものであってもよい。
コンテンツサービスデバイス830は、メディア情報、デジタル情報及び/又は他のコンテンツを含むケーブルテレビプログラミングなどのコンテンツを受信する。コンテンツプロバイダの具体例は、何れかのケーブル若しくは衛星テレビ又はラジオ若しくはインターネットコンテンツプロバイダを含むものであってもよい。提供される具体例は、本開示による実現形態を何れの方法に限定することを意図していない。
各種実現形態では、プラットフォーム802は、1以上のナビゲーション機能を有するナビゲーションコントローラ850から制御信号を受信する。コントローラ850のナビゲーション機能は、例えば、ユーザインタフェース822などとやりとりするのに利用されてもよい。実施例では、ナビゲーションコントローラ850は、ユーザが空間(連続的及び多次元など)データをコンピュータに入力することを可能にするコンピュータハードウェアコンポーネント(具体的には、ヒューマンインタフェースデバイス)であってもよいポインティングデバイスであってもよい。グラフィカルユーザインタフェース(GUI)、テレビ及びモニタなどの多数のシステムは、ユーザが物理的ジェスチャを用いてコンピュータやテレビにデータを制御及び提供することを可能にする。
コントローラ850のナビゲーション機能の動きは、ディスプレイ上に表示されるポインタ、カーソル、フォーカスリング又は他のビジュアルインジケータの動きによって、ディスプレイ(ディスプレイ820など)上に複製されてもよい。例えば、ソフトウェアアプリケーション816の制御の下、ナビゲーションコントローラ850上に配置されたナビゲーション機能は、例えば、ユーザインタフェース822上に表示されるバーチャルナビゲーション機能にマッピングされてもよい。実施例では、コントローラ850は、独立したコンポーネントでなく、プラットフォーム802及び/又はディスプレイ820に統合されてもよい。しかしながら、本開示は、ここに図示又は説明される要素又はコンテクストに限定されるものでない。
各種実現形態では、ドライバ(図示せず)は、例えば、イネーブルとされると、ユーザが初期的なブートアップ後にボタンのタッチによりテレビなどのプラットフォーム802を即座にオン及びオフすることを可能にするための技術を含むものであってもよい。プログラムロジックは、プラットフォーム802が、“オフ”にされるときでさえ、メディアアダプタ、他のコンテンツサービスデバイス830又はコンテンツ配信デバイス840にコンテンツをストリーミングすることを可能にするものであってもよい。さらに、チップセット805は、5.1サラウンドサウンドオーディオ及び/又は高品位7.1サラウンドサウンドオーディオなどのためのハードウェア及び/又はソフトウェアサポート5.1を含むものであってもよい。ドライバは、統合されたグラフィックプラットフォームのためのグラフィックドライバを含むものであってもよい。実施例では、グラフィックドライバは、PCI(Peripheral Component Interconnect) Expressグラフィックカードを有してもよい。
各種実現形態では、システム800に示されるコンポーネントの何れか1以上が統合されてもよい。例えば、プラットフォーム802及びコンテンツサービスデバイス830が統合されてもよく、あるいは、プラットフォーム802及びコンテンツ配信デバイス840が統合されてもよく、あるいは、プラットフォーム802、コンテンツサービスデバイス830及びコンテンツ配信デバイス840が統合されてもよい。各種実施例では、プラットフォーム802及びディスプレイ820は、統合されたユニットであってもよい。ディスプレイ820及びコンテンツサービスデバイス830が統合されてもよいし、あるいは、ディスプレイ820及びコンテンツ配信デバイス840が統合されてもよい。これらの具体例は、本開示を限定することを意図するものでない。
各種実施例では、システム800は、無線システム、有線システム又はこれら双方の組み合わせとして実現されてもよい。無線システムとして実現されるとき、システム800は、1以上のアンテナ、送信機、受信機、送受信機、アンプ、フィルタ、制御ロジックなど、無線共有媒体を介し通信するのに適したコンポーネント及びインタフェースを有してもよい。無線共有媒体の具体例は、RFスペクトルなどの無線スペクトルの一部を含む。有線システムとして実現されるとき、システム800は、入出力(I/O)アダプタ、I/Oアダプタと対応する有線通信媒体とを接続する物理コネクタ、ネットワークインタフェースカード(NIC)、ディスクコントローラ、ビデオコントローラ、オーディオコントローラなど、有線通信媒体を介し通信するのに適したコンポーネント及びインタフェースを有してもよい。有線通信媒体の具体例は、配線、ケーブル、メタルリード、印刷回路基板(PCB)、バックプレーン、スイッチ網、半導体物質、ツイスティッドペアワイヤ、同軸ケーブル、光ファイバなどを含むものであってもよい。
プラットフォーム802は、情報を通信するため1以上の論理又は物理チャネルを確立する。当該情報は、メディア情報及び制御情報を含む。メディア情報は、ユーザのためのコンテンツを表す何れかのデータを表す。コンテンツの具体例は、例えば、会話からのデータ、テレビ会議、ストリーミングビデオ、電子メール(email)メッセージ、ボイスメールメッセージ、英数字シンボル、グラフィックス、画像、ビデオ、テキストなどを含むものであってもよい。会話からのデータは、例えば、発話情報、サイレンス期間、バックグラウンドノイズ、コンフォートノイズ、トーンなどであってもよい。制御情報は、自動システムのためのコマンド、命令又は制御ワードを表す何れかのデータを表す。例えば、制御情報は、システムを介しメディア情報をルーティングするため、又は所定の方法によりメディア情報を処理するようノードに指示するのに利用されてもよい。しかしながら、実施例は、図8に図示又は説明される要素又はコンテクストに限定されるものでない。
上述されるように、システム800は、可変的な物理的スタイル又はフォームファクタにより具現化されてもよい。図9は、システム800が実現されるスモールフォームファクタデバイス900の実現形態を示す。実施例では、例えば、デバイス900は、無線機能を有するモバイル計算装置として実現されてもよい。モバイル計算装置は、例えば、1以上のバッテリなどのモバイル電源と処理システムとを有する何れかのデバイスを表す。
上述されるように、モバイル計算装置の具体例は、パーソナルコンピュータ(PC)、ラップトップコンピュータ、ウルトララップトップコンピュータ、タブレット、タッチパッド、ポータブルコンピュータ、携帯コンピュータ、パームトップコンピュータ、PDA、携帯電話、コンビネーション携帯電話/PDA、テレビ、スマートデバイス(スマートフォン、スマートタブレット又はスマートテレビなど)、モバイルインターネットデバイス(MID)、メッセージングデバイス、データ通信デバイスなどを含むものであってもよい。
モバイル計算装置の具体例はまた、リストコンピュータ、フィンガーコンピュータ、リングコンピュータ、アイグラスコンピュータ、ベルトチップコンピュータ、アームバンドコンピュータ、シューコンピュータ、クロージングコンピュータ及び他のウェアラブルコンピュータなど、人が装着するよう構成されるコンピュータを含むものであってもよい。各種実施例では、例えば、モバイル計算装置は、音声通信及び/又はデータ通信と共にコンピュータアプリケーションを実行可能なスマートフォンとして実現されてもよい。いくつかの実施例は、例えば、スマートフォンとして実現されるモバイル計算装置により説明されるが、他の実施例はまた他の無線モバイル計算装置を用いて実現されてもよいことが理解されるであろう。これらの実施例は、これに限定されるものでない。
図9に示されるように、デバイス900は、ハウジング902、ディスプレイ904、入出力(I/O)デバイス906及びアンテナ908を含むものであってもよい。デバイス900はまた、ナビゲーション機能912を有してもよい。ディスプレイ904は、モバイル計算装置に適した情報を表示するための何れか適切な表示部を有してもよい。I/Oデバイス906は、モバイル計算装置に情報を入力するのに適した何れかのI/Oデバイスを含むものであってもよい。I/Oデバイス906の具体例は、英数字キーボード、数字キーパッド、タッチパッド、入力キー、ボタン、スイッチ、ロッカスイッチ、マイクロフォン、スピーカ、音声認識装置及びソフトウェアなどを含むものであってもよい。情報はまた、マイクロフォン(図示せず)を介しデバイス900に入力されてもよい。このような情報は、音声認識装置(図示せず)によりデジタル化されてもよい。これらの実施例は、これに限定されるものでない。
各種実施例は、ハードウェア要素、ソフトウェア要素又はこれらの組み合わせを用いて実現されてもよい。ハードウェア要素の具体例は、プロセッサ、マイクロプロセッサ、回路、回路要素(トランジスタ、レジスタ、キャパシタ、インダクタなど)、集積回路、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)、デジタル信号プロセッサ(DSP)、FPGA(Field Programmable Gate Array)、論理ゲート、レジスタ、半導体デバイス、チップ、マイクロチップ、チップセットなどを含むものであってもよい。ソフトウェアの具体例は、ソフトウェアコンポーネント、プログラム、アプリケーション、コンピュータプログラム、アプリケーションプログラム、システムプログラム、マシーンプログラム、オペレーティングシステムソフトウェア、ミドルウェア、ファームウェア、ソフトウェアモジュール、ルーチン、サブルーチン、ファンクション、メソッド、プロシージャ、ソフトウェアインタフェース、アプリケーションプログラムインタフェース(API)、命令セット、計算コード、コンピュータコード、コードセグメント、コンピュータコードセグメント、ワード、値、シンボル又はこれらの何れかの組み合わせを含むものであってもよい。実施例がハードウェア要素及び/又はソフトウェア要素を用いて実現されるかの判断は、所望の計算レート、電力レベル、熱耐性、処理サイクルバジェット、入力データレート、出力データレート、メモリリソース、データバススピード及び他の設計若しくはパフォーマンス制約などの何れかの個数のファクタに従って可変的であってもよい。
少なくとも1つの実施例の1以上の態様は、マシーンにより読み込まれると、当該マシーンにここに説明される技術を実行するためのロジックを製造させるプロセッサ内の各種ロジックを表すマシーン可読媒体に格納される命令により実現されてもよい。このような表現は、“IPコア”として知られ、有形なマシーン可読媒体に格納され、ロジック又はプロセッサを実際に生成する製造マシーンにロードするための各種カスタマ又は製造施設に供給される。
ここに与えられる特定の特徴が各種実現形態を参照して説明されたが、本説明は、限定的な意味に解釈されることを意図していない。従って、ここに説明される実現形態の各種変更と共に、当業者が本開示に属することが明らかな他の実現形態は、本開示の趣旨及び範囲内に属するとみなされる。