(57)【要約】ビデオコーデック（１００）は、表示用に連結フレームに合成される記憶された符号化ビデオフレーム（１１９）を選択するよう構成されたステッチングモジュール（１１０）を含む。ステッチングモジュールは、選択された符号化ビデオフレームを特定のパターンに配置し、配置された符号化ビデオフレームをステッチングしてステッチ符号化フレーム（１１８）を生成する。次に、ビデオコーデックのデコーダ（１１５）は、ステッチ符号化フレームを復号化して、表示用のフレームを生成する。復号化の前に符号化ビデオフレームをステッチングすることによって、ビデオコーデックは、デコーダを初期化しなければならない回数を減らす。【選択図】図１
2019515578.tif 000002
【特許請求の範囲】
【請求項１】
デコーダ（１００）において、受信した第１の複数の符号化ビデオフレーム（１１９）をステッチングして（６４０）、組み合わせられた第１の複数の符号化フレーム（１１８）を生成することと、
前記組み合わせられた第１の複数の符号化フレームを復号化して（６５０）、第１の複数の表示フレームを生成することと、を含む、
方法。
【請求項２】
前記デコーダにおいて、前記第１の複数の符号化ビデオフレームとは異なる、受信した第２の複数の符号化ビデオフレームをステッチングして、組み合わせられた第２の複数の符号化フレーム（２１２）を生成することと、
前記組み合わせられた第２の複数の符号化フレームを復号化して、第２の複数の表示フレームを生成することと、を含む、
請求項１の方法。
【請求項３】
前記第２の複数のビデオフレームは、前記第１の複数のビデオフレームの少なくとも１つのビデオフレームを含む、
請求項２の方法。
【請求項４】
第１時間において、符号化ビデオフレームの記憶されたセット（１０７）から前記第１の複数の符号化ビデオフレームを選択することと、
第２時間において、前記符号化ビデオフレームの記憶されたセットから前記第２の複数の符号化ビデオフレームを選択することと、を含む、
請求項２の方法。
【請求項５】
前記ステッチングすることは、前記第１の複数のビデオフレームのビデオフレーム（５５１）のヘッダ（５５２）内の画素ブロックアドレスを変更することを含む、
請求項１の方法。
【請求項６】
前記画素ブロックアドレスを変更することは、前記画素ブロックアドレスのビット数を維持することを含む、
請求項５の方法。
【請求項７】
前記組み合わせられた第１の複数の符号化フレームの全てを復号化するように、前記デコーダを設定すること、を含む、
請求項１の方法。
【請求項８】
前記ステッチングすることは、第１の複数の符号化ビデオフレームをステッチングすることであって、各符号化ビデオフレームは独立に符号化されている、ことを含む、
請求項１の方法。
【請求項９】
第１の複数の符号化ビデオフレーム（１１９）を受信して、組み合わせられた第１の複数の符号化ビデオフレーム（１１８）を生成するように構成されたステッチングモジュール（１１０）と、
前記組み合わせられた第１の複数の符号化ビデオフレームを復号化して、組み合わせられた第１の複数の復号化ビデオフレーム（１１６）を生成するように構成されたデコーダ（１１５）と、を備える、
装置。
【請求項１０】
ユーザ入力を受信し、受信した前記ユーザ入力に少なくとも部分的に基づいてステッチングシーケンス命令（１０９）を生成するように構成された入力／出力モジュール（１０８）を備える、
請求項９の装置。
【請求項１１】
前記ステッチングモジュールは、第２の複数の符号化ビデオフレームを受信するように構成されている、
請求項１０の装置。
【請求項１２】
前記ステッチングモジュールは、
第１時間において、符号化ビデオフレームの記憶されたセット（１０７）から前記第１の複数の符号化ビデオフレームを選択し、
第２時間において、前記符号化ビデオフレームの記憶されたセットから前記第２の複数の符号化ビデオフレームを選択する、
請求項１１の装置。
【請求項１３】
前記ステッチングモジュールは、
前記第１の複数のビデオフレームの第１のビデオフレーム（５５１）のヘッダ（５５２）内の画素ブロックアドレスを変更することによって、前記第１の複数の符号化ビデオフレームをステッチングするように構成されている、
請求項９の装置。
【請求項１４】
前記ステッチングモジュールは、前記画素ブロックアドレスのビット数を維持することによって、前記画素ブロックアドレスを変更するように構成されている、
請求項１３の装置。
【請求項１５】
前記デコーダは、
前記組み合わせられた複数の符号化フレームの全てを復号化するように、前記デコーダを設定するように構成されている、
請求項９の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、概して、ビデオ処理に関し、より具体的には、ビデオ復号化に関する。
【背景技術】
【０００２】
ビデオエンコーダ及びデコーダは、圧縮方式でのビデオストリームの記憶及び転送を容易にするために多種多様な用途に利用される。例えば、ビデオストリームは、ビデオストリームを記憶するのに必要なスペースの量を削減するために、メモリに記憶される前に符号化され、その後、表示装置に表示するためのフレームを生成するために復号化される。通常、ビデオストリームを復号化する前には、復号化処理のためにメモリ及び他のシステムリソースを準備するために、デコーダを初期化しなければならない。しかし、デコーダの初期化に必要なオーバーヘッドは、特に、多くの異なるビデオストリームの復号化を必要とするアプリケーションにおいて、復号化処理の効率に重大な影響を及ぼし得る。
【０００３】
添付図面を参照することによって、本開示をより良く理解することができ、本開示の多数の特徴及び利点が当業者に明らかとなるであろう。異なる図面における同じ参照記号の使用は、類似又は同一のアイテムを示す。
【図面の簡単な説明】
【０００４】
【図１】いくつかの実施形態による、復号化のためのステッチ符号化フレーム（stitched encoded frame）を生成するために符号化ビデオフレームをステッチングするように構成されたビデオコーデックのブロック図である。
【図２】いくつかの実施形態による、符号化ビデオフレームのセットをステッチングして、ステッチ符号化フレームを生成する図１のビデオコーデックの一例を示すブロック図である。
【図３】いくつかの実施形態による、符号化ビデオフレームの異なるセットを選択及びステッチングして、異なるステッチ符号化フレームを生成する図１のビデオコーデックの一例を示すブロック図である。
【図４】いくつかの実施形態による、符号化ビデオフレームの異なるセットを選択及びステッチングして、重複する符号化ビデオフレームから構成された異なるステッチ符号化フレームを生成する図１のビデオコーデックの一例を示すブロック図である。
【図５】いくつかの実施形態による、ステッチ符号化フレームにステッチングされる順序を決定し、他のビデオヘッダを生成するように、符号化ビデオフレームのヘッダを変更する図１のビデオコーデックの一例を示すブロック図である。
【図６】いくつかの実施形態による、符号化ビデオフレームをステッチングして、復号化のためのステッチ符号化フレームを生成する方法のフロー図である。
【発明を実施するための形態】
【０００５】
図１〜図６は、符号化ビデオフレームを独立してステッチングして、復号用のステッチ符号化フレームを生成することによって、ビデオコーデックにおける初期化オーバーヘッドを低減する技術を示す図である。ビデオコーデックは、表示用に連結フレームに合成される記憶された符号化ビデオフレームを選択するように構成されたステッチングモジュールを含む。ステッチングモジュールは、選択された符号化ビデオフレームを特定のパターンに配置し、配置された符号化ビデオフレームをステッチングしてステッチ符号化フレームを生成する。次に、ビデオコーデックのデコーダは、ステッチ符号化フレームを復号化して、表示用のフレームを生成する。復号化の前に符号化ビデオフレームをステッチングすることによって、ビデオコーデックは、デコーダを初期化しなければならない回数を減らし、これにより、処理効率を向上させる。
【０００６】
例えば、ビデオフレームを復号化するためには、復号化のためにメモリを割り当てることと、バッファ及び他の記憶要素を準備することと、以前の復号化動作中に記憶されたデータをフラッシュすること等によって、デコーダを初期化しなければならない。デコーダを初期化するのに必要なオーバーヘッド量（本明細書では、「初期化オーバーヘッド」と呼ばれる）は、通常、復号化されるビデオのサイズに依存しない。したがって、多数の独立したビデオフレームから構成された表示フレームを生成するいくつかのタイプの装置に関して、初期化オーバーヘッドは、コーデックリソース及び性能に重大な影響を及ぼし得る。これは、ビデオストリームの解像度が比較的低い場合に特に当てはまる。例えば、カジノゲーム及びパチンコ／パチスロ装置では、各表示フレームが多数の独立したビデオストリームから構成されており、表示されるビデオストリームが経時的に頻繁に変化することがある。従来、異なる独立したビデオストリームは、独立して符号化及び復号化され、次に、表示用のフレームに合成される。この手法では、初期化オーバーヘッドが望ましくない量のシステムリソースを消費するように、独立したビデオフレーム毎及びフレームレベル毎にデコーダを再初期化する必要がある。本明細書で説明する技術を使用すると、ビデオコーデックは、選択された複数の符号化フレームを、復号用の単一のステッチ符号化フレームに動的にステッチングすることができる。これにより、過剰なメモリ又はデコーダ初期化オーバーヘッドを必要とすることなく、多数の可能なビデオフレームの多数の可能な組み合わせの復号化をサポートする。さらに、選択された符号化フレームを復号用のステッチフレームに動的にステッチングすることによって、デコーダの初期化の回数を低減することができる。
【０００７】
図１は、いくつかの実施形態による、電子デバイスで表示されるフレームを生成するために、ビデオストリームを符号化及び復号化するように構成されたビデオコーデック１００の一例を示す図である。そのため、ビデオコーデック１００を、パーソナルコンピュータ、スマートフォン等の携帯デバイス、ビデオプレーヤ、ビデオゲームコンソール、カジノゲームデバイス等の様々なタイプの装置に使用することができる。本明細書でさらに説明するように、ビデオコーデック１００によって符号化されたビデオストリームは、表示装置１１９で表示するための複数の画像又はピクチャから構成される。各ビデオストリームに記憶された大量の情報は、処理能力及びメモリ等の相当量のコンピューティングリソースを必要とすることがあるので、ビデオコーデック１００は、画質を過度に損なうことなくビデオストリームの情報を符号化又は圧縮するために使用される。ビデオコーデックは、表示の前に、ビデオストリーム内の非圧縮画像を、表示装置に表示することができるように復号化する。
【０００８】
ビデオストリームの符号化及び復号化をサポートするために、ビデオコーデック１００は、エンコーダ１０５と、メモリ１０７と、入力／出力モジュール１０８と、ステッチングモジュール１１０と、デコーダ１１５と、デステッチングモジュール１１７と、表示装置１１９と、を備える。エンコーダ１０５は、ＶＳ１  １１１、ＶＳ２  １１２からＮ番目のビデオストリームＶＳＮ  １１３までを含むビデオストリーム（ＶＳ）を受信するように構成されている。また、エンコーダ１０５は、受信したビデオストリームの各々を符号化して、符号化フレームに対応するストリーム（例えば、ＶＳ１  １１１に対応する符号化フレームのストリーム（ＥＦ）１１９）を生成するように構成されている。ビデオストリーム１１１〜１１３の各々は、異なるビデオフレームのシーケンスを表しており、したがって、任意の様々なビデオコンテンツアイテムを表すことができる。例えば、いくつかの実施形態では、各ビデオストリームは、ビデオスロットマシン又はパチンコ機等のカジノゲームのゲーム要素のアニメーションを表す。いくつかの実施形態では、各ビデオストリームは、異なるテレビ番組、映画、又は、他のビデオエンターテイメントコンテンツを表す。
【０００９】
エンコーダ１０５は、例えばＭＰＥＧ（Motion Picture Expert Group）−２パート２、ＭＰＥＧ−４パート２、Ｈ．２６４、Ｈ．２６５（ＨＥＶＣ）、Ｔｈｅｏｒａ、Ｄｉｒａｃ、ＲｅａｌＶｉｄｅｏ  ＲＶ４０、ＶＰ８若しくはＶＰ９符号化フォーマット等の多数の圧縮若しくは符号化フォーマット又は規格の何れか１つに従って、受信したビデオストリーム１１１〜１１３の各々を符号化して、対応する符号化ビデオストリームを生成するように構成されている。エンコーダは、対応する符号化ビデオフレームＥＦ１、ＥＦ２、…、ＥＦＮをメモリ１０７に出力する。これらの符号化フレームは、符号化マクロブロック又は符号化ツリーユニット（ＣＴＵ）から構成されている。
【００１０】
メモリ１０７は、通常、符号化ビデオフレームＥＦ１、ＥＦ２、…、ＥＦＮをエンコーダ１０５から受信し、ステッチングモジュール１１０による読み出しのためにこれらのビデオフレームを記憶するように構成された記憶媒体である。したがって、メモリ１０７は、コンピュータシステムによってアクセス可能な任意の記憶媒体、又は、記憶媒体の組み合わせを含むことができる。このような記憶媒体は、光媒体（例えば、コンパクトディスク（ＣＤ）、デジタル多用途ディスク（ＤＶＤ）、ブルーレイ（登録商標）ディスク）、磁気媒体（例えば、フロッピー（登録商標）ディスク、磁気テープ、磁気ハードドライブ）、揮発性メモリ（例えば、ランダムアクセスメモリ（ＲＡＭ）、キャッシュ）、不揮発性メモリ（例えば、読み出し専用メモリ（ＲＯＭ）、フラッシュメモリ）、又は、微小電気機械システム（ＭＥＭＳ）ベースの記憶媒体を含むことができるが、これらに限定されない。メモリ１０７は、コンピューティングシステムに内蔵され（例えば、システムＲＡＭ若しくはＲＯＭ）、コンピューティングシステムに固定的に取り付けられ（例えば、磁気ハードドライブ）、コンピューティングシステムに着脱可能に取り付けられ（例えば、光学ディスク若しくはユニバーサルシリアルバス（ＵＳＢ）を利用したフラッシュメモリ）、又は、有線若しくは無線ネットワークを介してコンピューティングシステムに接続され（例えば、ネットワークアクセス可能な記憶装置（ＮＡＳ））てもよい。
【００１１】
入力／出力モジュール１０８は、通常、例えばタッチスクリーン、キーボード、ボタン又は他の入力のセット、ゲームコントローラ、コンピュータマウス、トラックボール、ポインティングデバイス、パドル、ノブ、視線追跡装置、デジタルカメラ、マイクロフォン、ジョイスティック等の入力装置（図示省略）とのユーザのインタラクションを表す電気信号を生成するように構成されている。説明目的のために、ユーザと入力装置とのインタラクションは、表示用のビデオストリームの選択をもたらすと想定する。いくつかの実施形態では、選択は直接選択とすることができ、これにより、ユーザは、表示用の特定のビデオストリームを選択する。例えば、ユーザは、マウス又はテレビのリモコンを使用して、同時に表示されるビデオクリップの配置を選択することができる。他の実施形態では、選択は、ユーザ入力に応じて生成されたビデオフレームのランダム選択等の間接選択とすることができる。例えば、選択は、ユーザがカジノゲーム機の「スピン」ボタンを押すことに応じて生成されたビデオストリームのランダムな選択とすることができる。
【００１２】
入力／出力モジュール１０８は、ユーザの選択に基づいて、表示される個別のビデオストリームと、表示されるビデオストリームの配置と、の両方を示すステッチングシーケンス命令１０９を生成する。例えば、入力／出力モジュール１０８は、受信したユーザ入力に基づいて、ビデオストリームのランダム又は擬似ランダムな選択、及び、表示されるビデオストリームの配置を描写するステッチングシーケンス命令１０９を生成するようにプログラムされてもよい。したがって、一シナリオでは、入力／出力モジュール１０８は、符号化フレームＥＦ２、ＥＦ４（図示省略）、ＥＦ５（図示省略）及びＥＦ８（図示省略）の選択と、対応するビデオストリームの一次元スタック内での配置（符号化フレームＥＦ２によって表されるビデオストリームが当該スタックの上部に表示され、符号化フレームＥＦ４によって表されるビデオストリームが符号化フレームＥＦ２の下に表示され、符号化フレームＥＦ５によって表されるビデオストリームが符号化フレームＥＦ４の下に表示され、符号化フレームＥＦ８によって表されるビデオストリームが符号化フレームＥＦ５の下であって、当該スタックの下部に表示される）と、を指示するステッチング命令１０９を生成してもよい。
【００１３】
入力／出力モジュール１０８は、新たなユーザ入力と、表示されるビデオフレームの新たな対応する選択及び配置と、を反映するように、ステッチング命令１０９を変更することができることを理解されたい。例えば、カジノゲーム機の場合、入力／出力モジュール１０８は、スピン又は他のゲームイベントを表す各ユーザ入力に対して新たなステッチング命令１０９を生成し、これにより、カジノゲームのルールに従ってビデオフレームの新たな選択及び配置を生成することができる。
【００１４】
ステッチングモジュール１１０は、ステッチングシーケンス命令１０９を受信し、ステッチングシーケンス命令１０９に従って、メモリ１０７に記憶された符号化フレームを選択し、デコーダ１１５への出力のために符号化フレームをステッチングして、ステッチ符号化フレーム１１８を生成するように構成されている。独立した符号化フレームの各々は、ステッチ符号化フレーム１１８の一部となる。いくつかの実施形態では、本明細書でさらに説明するように、ステッチングモジュール１１０は、選択された符号化フレームの画素ブロックヘッダ（例えば、マクロブロック又はＣＴＵヘッダ）を変更すること（例えば、表示されるフレーム内の対応する画素ブロックの位置を示す画素ブロックヘッダのシーケンス番号を変更すること等）によって、選択された符号化フレームをステッチングする。
【００１５】
デコーダ１１５は、通常、ステッチングモジュール１１０から受信したステッチ符号化フレーム１１８を復号化して、復号化フレーム１１６を生成するように構成されている。デコーダ１１５は、いくつかの解凍又は復号のフォーマット又は規格に従って、及び、ビデオストリームがエンコーダ１０５によって符号化されたフォーマット又は規格に対応して、ステッチ符号化フレーム１１８を復号化する。次に、デコーダ１１５は、復号化フレーム１１６をデステッチングモジュール１１７に供給する。復号化フレーム１１６は、ステッチ符号化フレーム１１８に基づいて生成されるので、個別の表示されたビデオストリームの各々が符号化前に合成された場合に生成されるフレームに対応する。しかし、ビデオコーデック１００は、ビデオストリームをこれらの符号化形式でステッチングすることによって、セットアップオーバーヘッドを低減しながら多種多様なビデオストリームの選択及び配置の組み合わせをサポートする。符号化ビデオフレームは、ステッチングモジュール１１０によって選択され、ステッチ符号化フレームにステッチングされるので、デコーダ１１５は、符号化ビデオフレーム及びステッチフレーム内のこれらの配置が個々のビデオフレームの符号化後まで決定されなくても、符号化ビデオフレームＥＦ１〜ＥＦｎ毎に再設定されるのではなく、ステッチ符号化フレーム１１８を復号化するためにフレーム毎に一度だけ設定される必要がある。
【００１６】
デステッチングモジュール１１７は、通常、デステッチング命令（図示省略）を受信し、デステッチング命令に従ってステッチ復号化フレーム１１６をデステッチングして、ＶＳ１  １１１、ＶＳ２  １１２、…、ＶＳＮ  １１３に対応する復号化（非圧縮）ビデオストリームを生成するように構成されている。デステッチングモジュール１１７は、表示装置１１９で表示される表示フレームを生成するために、表示装置１１９によって合成された復号化ビデオストリーム（図示省略）を出力する。
【００１７】
例示すると、動作中、エンコーダ１０５は、ビデオストリーム１１１〜１１３を受信し、受信した各ストリームを符号化して対応する符号化ビデオフレームを生成し、符号化ビデオフレームをメモリ１０７に記憶する。少なくとも１つの実施形態では、ビデオストリームを符号化ビデオフレームに符号化することは、ビデオコーデック１００を使用する装置の通常動作の前に行われる。例えば、符号化ビデオフレームは、ユーザによる装置の通常操作中に準備されるように、ビデオコーデック１００を使用する装置の製造又はプロビジョニング段階においてエンコーダ１０５によって生成されてもよい。
【００１８】
ユーザは、入力／出力モジュール１０８を介して装置とインタラクトし、入力／出力モジュール１０８は、ユーザのインタラクションに応じて、ステッチングシーケンス命令１０９を生成する。ステッチングモジュール１１０は、ステッチングシーケンス命令１０９に基づいて、メモリ１０７に記憶されている符号化フレームを選択し、符号化フレームをステッチングして、デコーダ１１５への出力用のステッチ符号化フレーム１１８を生成する。デコーダは、受信したステッチ符号化フレーム１１８を復号化して、デステッチングモジュール１１７への出力用のステッチ復号化フレーム１１６を生成する。デステッチングモジュール１１７は、受信したステッチ復号化フレーム１１６をデステッチングして、ビデオストリームをユーザに表示する表示装置１１９への出力用の復号化ビデオストリームを生成する。
【００１９】
図２は、いくつかの実施形態による、ビデオコーデック１００がステッチ符号化フレーム２１２を生成する一例を示す図である。図示した例では、符号化ビデオフレームＥＦ１，ＥＦ２，ＥＦ３，ＥＦ４，ＥＦ５，ＥＦ６，ＥＦ７，ＥＦ８がメモリ２０７（図示省略）に記憶されている。ステッチングモジュール１１０は、ステッチングシーケンス命令２０９を受信する。図示した例では、ステッチングシーケンス命令２０９は、符号化ビデオフレームＥＦ１，ＥＦ２，ＥＦ３，ＥＦ５が一次元スタックに配置され、ＥＦ３が当該スタックの最上部に配置され、ＥＦ１がＥＦ３の下に配置され、ＥＦ５がＥＦ１の下に配置され、ＥＦ２がＥＦ５の下であって当該スタックの最下部に配置されるように示していることを想定する。
【００２０】
ステッチングモジュール１１０は、ステッチングシーケンス命令２０９の受信に応じて、符号化ビデオフレームＥＦ１，ＥＦ２，ＥＦ３，ＥＦ５をメモリ２０７から読み出し、これらを、垂直に積み重ねられた４つの符号化ビデオフレーム（ＥＦ３がスタックの最上部に配置され、ＥＦ１がＥＦ３の下に配置され、ＥＦ５がＥＦ１の下に配置され、ＥＦ２がＥＦ５の下であってスタックの最下部に配置されている）を有するステッチ符号化ビデオフレーム２１２にステッチングする。したがって、ステッチングモジュール１１０は、ステッチングシーケンス２０９によって示された選択及び配置に一致させる。いくつかの実施形態では、ステッチングモジュール１１０は、符号化フレームの１つ以上の画素ブロックヘッダを変更すること（これにより、フレーム内の対応する画素ブロックの位置を変更する）によって、選択された符号化フレームを、命令された配置に従って配置する。一例については、図５を参照して後述する。
【００２１】
いくつかの実施形態では、ステッチングモジュール１１０によって受信されたステッチングシーケンス命令を、ユーザ入力に応じて経時的に変更することができ、これにより、符号化ビデオフレームの異なるステッチ配置を、異なる時点で異なるステッチ符号化フレームに生成することができる。いくつかの実施形態による一例を図３に示す。図示した例では、符号化ビデオフレームＥＦ１，ＥＦ２，ＥＦ３，ＥＦ４，ＥＦ５，ＥＦ６，ＥＦ７，ＥＦ８がメモリ１０７に記憶されている。時間Ｔ１において、ステッチングモジュール１１０は、４つのフレームを有するスタックに符号化ビデオフレームＥＦ１，ＥＦ２，ＥＦ３，ＥＦ５が配置されている（ＥＦ３がスタックの最上部に配置され、ＥＦ１がＥＦ３の下に配置され、ＥＦ５がＥＦ１の下に配置され、ＥＦ２がＥＦ５の下であってスタックの最下部に配置されている）ことを示すステッチングシーケンス命令（図示省略）を受信する。ステッチングモジュール１１０は、受信したステッチングシーケンス命令に従って符号化ビデオフレームＥＦ１，ＥＦ２，ＥＦ３，ＥＦ５を読み出し、これらを、ＥＦ３がスタックの再上部に配置され、ＥＦ１がＥＦ３の下に配置され、ＥＦ５がＥＦ１の下に配置され、ＥＦ２がＥＦ５の下であってスタックの最下部に配置される、４つのスタックされたフレームを有する符号化ビデオフレーム３１２にステッチングする。
【００２２】
ステッチングモジュール１１０は、時間Ｔ１の後の時間Ｔ２において、４つのフレームを有するスタックに符号化ビデオフレームＥＦ４，ＥＦ６，ＥＦ７，ＥＦ８が配置されている（ＥＦ６がスタックの最上部に配置され、ＥＦ４がＥＦ６の下に配置され、ＥＦ７がＥＦ４の下に配置され、ＥＦ８がＥＦ７の下であってスタックの最下部に配置されている）ことを示す新たなステッチングシーケンス命令（図示省略）を受信する。ステッチングモジュール１１０は、ステッチングシーケンス命令に従って符号化ビデオフレームＥＦ４，ＥＦ６，ＥＦ７，ＥＦ８を読み出し、これらを、ＥＦ６がスタックの最上部に配置され、ＥＦ４がＥＦ６の下に配置され、ＥＦ７がＥＦ４の下に配置され、ＥＦ８がＥＦ７の下であってスタックの最下部に配置される、４つの垂直にスタックされたフレームを有する符号化ビデオフレーム３１３にステッチングする。このように、図３の例では、ステッチングモジュール１０３は、ステッチングシーケンス命令の変更に応じて符号化ビデオフレームの選択及び配置を更新し、これにより、表示装置１１７に表示されるビデオストリームの配置を変更する。
【００２３】
図４は、いくつかの実施形態による、図１のビデオコーデックが、符号化ビデオフレームの異なるセットを選択及びステッチングして、符号化ビデオフレームの重複したセットから構成される異なるステッチ符号化フレームを生成する一例を示す図である。図示した例では、符号化ビデオフレームＥＦ１，ＥＦ２，ＥＦ３，ＥＦ４，ＥＦ５，ＥＦ６，ＥＦ７，ＥＦ８がメモリ１０７に記憶されている。時間Ｔ１において、ステッチングモジュール１１０は、ステッチングシーケンス命令（図示省略）を受信する。ステッチングモジュール１１０は、受信したステッチングシーケンス命令に従って符号化ビデオフレームＥＦ１，ＥＦ２，ＥＦ３，ＥＦ５を読み出し、これらを、ＥＦ３がスタックの最上部に配置され、ＥＦ１がＥＦ３の下に配置され、ＥＦ５がＥＦ１の下に配置され、ＥＦ２がＥＦ５の下であってスタックの最下部に配置される、４つのスタックされたフレームを有する符号化ビデオフレーム４１２にステッチングする。時間Ｔ２において、ステッチングモジュール１１０は、新たなステッチングシーケンス命令（図示省略）を受信する。ステッチングモジュール１１０は、受信したステッチングシーケンス命令（図示省略）に従って符号化ビデオフレームＥＦ２，ＥＦ３，ＥＦ４，ＥＦ８を読み出し、これらを、ＥＦ３がスタックの最上部に配置され、ＥＦ４がＥＦ３の下に配置され、ＥＦ８がＥＦ４の下に配置され、ＥＦ２がＥＦ８の下であってスタックの最下部に配置される、４つのスタックされたフレームを有する符号化ビデオフレーム４１３にステッチングする。
【００２４】
図５は、いくつかの実施形態による、図１のビデオコーデックが、ステッチ符号化フレーム５５９にステッチングされる順序を決定するように、符号化ビデオフレームの画素ブロック識別子（例えば、マクロブロック又はＣＴＵヘッダ）を変更する一例を示す図である。図示した例では、メモリ１０７は、符号化ビデオフレーム５５１等の符号化ビデオフレームを記憶する。符号化ビデオフレームの各々は、少なくともヘッダ及びペイロード（例えば、符号化フレーム５５１のヘッダ５５２及びペイロード５５３）から構成されている。ヘッダは、符号化ビデオフレームの特定の画素ブロックに対するアドレス情報を含む。例えば、画素ブロックの左上隅に位置する第１画素ブロックのアドレスを０に指定することができる。ステッチングモジュール１１０は、画素ブロックヘッダのアドレス情報を変更することによって、ステッチフレーム内の画素ブロックの位置を変更する。例えば、１つのステッチ符号化フレーム当たり４つの画素ブロックが存在し、ステッチ符号化フレームが４つのスタックされた画素ブロックを有する場合を想定すると、ステッチングモジュール１１０は、画素ブロックヘッダのアドレスを０から２に変更することによって、画素ブロックを２つ下の位置に移動させる。画素ブロックヘッダのアドレスを０から８に変更すると、画素ブロックが８つ下の位置に移動する。
【００２５】
図示した例では、ステッチングシーケンス命令（図示省略）は、符号化ビデオフレームＥＦ３がステッチ符号化フレーム５５９の最上部にステッチングされ、符号化ビデオフレームＥＦ１が符号化フレームＥＦ３の下にステッチングされ、符号化ビデオフレームＥＦ５が符号化フレームＥＦ１の下にステッチングされ、符号化ビデオフレームＥＦ２が符号化フレームＥＦ５の下であってステッチ符号化フレーム５５９の最下部にステッチングされることを示している。したがって、ステッチングモジュール１１０は、符号化ビデオフレームＥＦ３の画素ブロックヘッダアドレスを０からＮ１に変更し、符号化ビデオフレームＥＦ１の画素ブロックヘッダアドレスを０からＮ２に変更し、符号化ビデオフレームＥＦ５の画素ブロックヘッダアドレスを０からＮ３に変更し、符号化ビデオフレームＥＦ２の画素ブロックヘッダアドレスを０からＮ４に変更する。この例では、ステッチ符号化フレーム５５９に示された配置を実現するために、アドレスＮ４がアドレスＮ３よりも大きく移動し、アドレスＮ３がアドレスＮ２よりも大きく移動し、アドレスＮ２がアドレスＮ１よりも大きく移動するものと想定する。当業者は、同じ順序を実現するために、他の実施形態において、アドレスの他の相対的移動を使用可能であることを理解することができる。したがって、ステッチングモジュール１１０は、ステッチ符号化フレーム５５９について符号化ビデオフレームの各々の画素ブロックの相対位置を変更し、これにより、符号化フレームをステッチ符号化フレーム５５９に論理的にステッチングする。いくつかの実施形態では、ステッチングモジュール１１０は、関連するコーデック規格に従って正確な復号化を保証するために、アドレス情報を記憶するビット数を変更することなく、画素ブロックヘッダを変更する。
【００２６】
図６は、いくつかの実施形態による、符号化ビデオフレームをステッチングして、復号化用のステッチ符号化フレームを生成する方法６００を示すフロー図である。ブロック６１０において、ステッチングモジュール１１０は、入力／出力モジュールからシーケンス命令１０９を受信する。ブロック６２０において、ステッチングモジュール１１０は、受信したステッチング命令１０９に従って、選択された符号化ビデオフレームをメモリから読み出す。ブロック６３０において、ステッチングモジュールは、受信したステッチング命令１０９に従って、選択された符号化ビデオフレームの画素ブロックヘッダアドレスを変更する。ブロック６４０において、ステッチングモジュール１１０は、受信したステッチング命令１０９に従って、符号化ビデオフレームをステッチングして、ステッチ符号化フレームを生成する。ブロック６５０において、ステッチングモジュール１１０は、ステッチ符号化フレーム１１７をデコーダ１１５に出力する。
【００２７】
いくつかの実施形態では、上述した技術の特定の態様は、ソフトウェアを実行する処理システムの１つ以上のプロセッサによって実装されてもよい。ソフトウェアは、非一時的なコンピュータ可読記憶媒体に記憶され、又は、他の方法により有形に具体化される１つ以上の実行可能命令セットを含む。ソフトウェアは、１つ以上のプロセッサによって実行されると、上述した技術の１つ以上の態様を実行するように１つ以上のプロセッサを操作する命令及び特定のデータを含むことができる。非一時的なコンピュータ可読記憶媒体は、例えば、磁気若しくは光ディスクストレージデバイス、フラッシュメモリ等のソリッドステートストレージデバイス、キャッシュ、ランダムアクセスメモリ（ＲＡＭ）、又は、他の不揮発性メモリデバイス等を含むことができる。非一時的なコンピュータ可読記憶媒体に記憶される実行可能命令は、ソースコード、アセンブリ言語コード、オブジェクトコード、又は、１つ以上のプロセッサによって解釈若しくは実行可能な他の命令フォーマットであってもよい。
【００２８】
概要的な説明において上述した全てのアクティビティ又は要素が必要とされているわけではなく、特定のアクティビティ又はデバイスの一部が必要とされない場合があること、１つ以上のさらなるアクティビティが実行され、１つ以上のさらなる要素が含まれ得ることに留意されたい。さらに、アクティビティを列挙する順序は、必ずしもそれらが実行される順序ではない。また、概念は、特定の実施形態を参照して説明された。しかしながら、当業者であれば、以下の特許請求の範囲に記載されるように本発明の範囲から逸脱することなく、様々な変更及び変形を行うことが可能であることを理解するであろう。したがって、本明細書及び図面は、限定的な意味ではなく例示的な意味で考慮されるべきであり、かかる変更の全てが本発明の範囲内に含まれることを意図している。
【００２９】
利益、他の利点及び問題に対する解決手段を、特定の実施形態に関して上記のように説明した。しかしながら、利益、利点、問題に対する解決手段、及び、何等かの利益、利点、解決手段を生じさせ又は顕著にし得る機能は、何れか又は全ての請求項の重要な、必須の、不可欠な特徴として解釈されるべきではない。さらに、本明細書の教示の恩恵を受ける当業者は、開示された発明を、異なるが当業者に明らかな同等の方式で変更及び実施することができるので、上述した特定の実施形態は例示に過ぎない。以下の特許請求の範囲に記述されているもの以外に、本明細書に示される構成又は設計の詳細に対する限定を意図していない。したがって、上記に開示された特定の実施形態は変更されてもよいし、修正されてもよく、このような変形形態の全ては、開示された発明の範囲内にあるとみなされることが明らかである。よって、本明細書で求められる保護は、以下の特許請求の範囲に記載のとおりである。
【図１】
2019515578.tif 000003
【図２】
2019515578.tif 000004
【図３】
2019515578.tif 000005
【図４】
2019515578.tif 000006
【図５】
2019515578.tif 000007
【図６】
2019515578.tif 000008
【国際調査報告】
2019515578.tif 000009
2019515578.tif 000010
2019515578.tif 000011