(57)【特許請求の範囲】
【請求項１】
映像を符号化するための方法であって、
フレームを含む映像データを受信する段階と、
分割オプションを識別する段階と、
前記分割オプションに対応する少なくとも１つの特性を識別する段階と、
前記少なくとも１つの特性を入力としてクラシファイアに提供する段階と、
識別された前記分割オプションに従って前記フレームを分割するかどうかを、前記クラシファイアに基づいて決定する段階と
を備え、
前記少なくとも１つの特性は、隣接する符号化ツリー単位（ＣＴＵ）の分割決定履歴を含む、
方法。
【請求項２】
前記分割オプションはＣＴＵを有する、
請求項１に記載の方法。
【請求項３】
前記分割オプションを識別する段階は、
第１の候補符号化単位（第１の候補ＣＵ）と第２の候補ＣＵとを識別する段階と、
前記第１の候補ＣＵに関連する第１のコスト、及び前記第２の候補ＣＵに関連する第２のコストを決定する段階と、
前記第１のコストが前記第２のコストより低いことを決定する段階と
を有する、
請求項２に記載の方法。
【請求項４】
前記少なくとも１つの特性は、前記第１の候補ＣＵの少なくとも１つの特性を含む、
請求項３に記載の方法。
【請求項５】
前記少なくとも１つの特性は、複数の特性を含む、
請求項１から４の何れか一項に記載の方法。
【請求項６】
前記少なくとも１つの特性は、
第１の候補ＣＵと、セグメント、オブジェクト、及び複数のオブジェクトのグループのうち少なくとも１つとの間のオーバーラップと、
前記フレームの平均符号化コストに対する前記第１の候補ＣＵの符号化コストの比と、
前記第１の候補ＣＵに対応するＣＴＵクアッドツリー構造のレベルと
のうち少なくとも１つを更に含む、
請求項１から５の何れか一項に記載の方法。
【請求項７】
前記少なくとも１つの特性を入力として前記クラシファイアに提供する段階は、特性ベクトルを前記クラシファイアに提供する段階を有し、
前記特性ベクトルは前記少なくとも１つの特性を含む、
請求項１から６の何れか一項に記載の方法。
【請求項８】
前記クラシファイアは、ニューラルネットワーク又はサポートベクターマシンを含む、
請求項１から７の何れか一項に記載の方法。
【請求項９】
複数のテスト映像を受信する段階と、
トレーニングデータを生成すべく前記複数のテスト映像のそれぞれを分析する段階と、
生成された前記トレーニングデータを用いて前記クラシファイアをトレーニングする段階と
を更に備える、
請求項１から８の何れか一項に記載の方法。
【請求項１０】
前記トレーニングデータは、ローカライズされたフレーム情報、グローバルフレーム情報、オブジェクトグループ分析からの出力、及びセグメント化からの出力のうち少なくとも１つを含む、
請求項９に記載の方法。
【請求項１１】
前記トレーニングデータは、テストフレーム内のローカルＣＵのコストに対する前記テストフレームの平均コストの比を含む、
請求項９または１０に記載の方法。
【請求項１２】
前記トレーニングデータは、テストフレーム内のローカルＣＴＵのコスト決定履歴を含む、
請求項９から１１の何れか一項に記載の方法。
【請求項１３】
前記ローカルＣＴＵの前記コスト決定履歴は、分割されたＣＵが、対応する最終的なＣＴＵに用いられる回数のカウントを含む、
請求項１２に記載の方法。
【請求項１４】
前記トレーニングデータは初期符号化単位決定を含む、
請求項９から１３の何れか一項に記載の方法。
【請求項１５】
前記トレーニングデータはＣＵに対応するＣＴＵツリー構造のレベルを含む、
請求項９から１４の何れか一項に記載の方法。
【請求項１６】
前記フレームに対してセグメント化を実行して複数のセグメント化結果を生成する段階と、
前記フレームに対してオブジェクトグループ分析を実行して複数のオブジェクトグループ分析結果を生成する段階と、
前記クラシファイア、前記複数のセグメント化結果、及び前記複数のオブジェクトグループ分析結果に基づいて、識別された前記分割オプションに従って前記フレームを分割するかどうかを決定する段階と
を更に備える
請求項１から１５の何れか一項に記載の方法。
【請求項１７】
候補符号化単位を含む分割オプションを識別し、
前記分割オプションに従ってフレームを分割する
パーティショナと、
識別された前記分割オプションに従って前記フレームを分割するかどうかに関する決定を容易にし、前記候補符号化単位に対応する少なくとも１つの特性を入力として受信するクラシファイアと、
分割された前記フレームを符号化するエンコーダと
をコンピュータに実行させ、
前記少なくとも１つの特性は、隣接する符号化ツリー単位（ＣＴＵ）の分割決定履歴を含む、
プログラム。
【請求項１８】
前記少なくとも１つの特性は、複数の特性を含む、
請求項１７に記載のプログラム。
【請求項１９】
前記少なくとも１つの特性は、
前記候補符号化単位と、セグメント、オブジェクト、及び複数のオブジェクトのグループのうち少なくとも１つとの間のオーバーラップと、
前記フレームの平均符号化コストに対する前記候補符号化単位の符号化コストの比と、
前記候補符号化単位に対応するＣＴＵクアッドツリー構造のレベルと
のうち少なくとも１つを更に含む、
請求項１７又は１８に記載のプログラム。
【請求項２０】
前記クラシファイアは、ニューラルネットワーク又はサポートベクターマシンを含む、
請求項１７から１９の何れか一項に記載のプログラム。
【請求項２１】
前記フレームを複数のセグメントにセグメント化し、
前記複数のセグメントに関連する情報を入力として前記クラシファイアに提供するセグメンタを前記コンピュータに更に実行させる、
請求項１７から２０の何れか一項に記載のプログラム。
【請求項２２】
映像を符号化するためのシステムであって、
映像フレームを受信し、
前記映像フレームに対応する第１の分割オプションと前記映像フレームに対応する第２の分割オプションとを識別し、
前記第１の分割オプションに関連するコストが前記第２の分割オプションに関連するコストより低いことを決定し、
前記第１の分割オプションに従って前記映像フレームを分割するパーティショナと、
メモリに格納されたクラシファイアであって、前記パーティショナは更に、前記第１の分割オプションのうち少なくとも１つの特性を入力として前記クラシファイアに提供し、前記第１の分割オプションに関連する前記コストが前記第２の分割オプションに関連する前記コストより低いことを容易に決定すべく前記クラシファイアからの出力を用いる、クラシファイアと、
分割された前記映像フレームを符号化するエンコーダと
を備え、
前記少なくとも１つの特性は、隣接する符号化ツリー単位（ＣＴＵ）の分割決定履歴を含む、
システム。
【請求項２３】
前記少なくとも１つの特性は、複数の特性を含む、
請求項２２に記載のシステム。
【請求項２４】
前記少なくとも１つの特性は、
前記第１の分割オプションと、セグメント、オブジェクト、及び複数のオブジェクトのグループのうち少なくとも１つとの間のオーバーラップと、
前記映像フレームの平均符号化コストに対する前記第１の分割オプションの符号化コストの比と、
前記第１の分割オプションに対応するＣＴＵクアッドツリー構造のレベルと
のうち少なくとも１つを更に含む、
請求項２２又は２３に記載のシステム。
【請求項２５】
前記クラシファイアは、ニューラルネットワーク又はサポートベクターマシンを含む、
請求項２２から２４の何れか一項に記載のシステム。
【発明の詳細な説明】
【背景技術】
【０００１】
［関連出願の相互参照］
本願は、２０１４年８月２６日に出願された米国実用特許出願第１４／７３７，４０１号、及び米国特許仮出願第６２／０４２，１８８号の優先権を主張し、これによりその全体は全ての目的の参照により本明細書に組み込まれる。
【０００２】
符号化のために映像フレームをより小さいブロックに細分化する技術は、ｈ．２６１の公開以来、ｈ．２６ｘファミリの映像符号化規格に共通している。最新バージョンのｈ．２６５は、６４サンプルまでのサイズのブロックを用い、これまでのバージョンより多数の参照フレームと大きい動きベクトル範囲とを利用する。更に、これらのブロックは、より小さいサブブロックに分割され得る。ｈ．２６５のフレームサブブロックは、符号化ツリー単位（ＣＴＵ）と呼ばれている。Ｈ．２６４及びＶＰ８では、これらはマクロブロックとして知られており、１６×１６である。これらのＣＴＵは、符号化単位（ＣＵ）と呼ばれるより小さいブロックに細分化され得る。ＣＵは異なるフレームの位置を参照するときにより大きな柔軟性を提供するが、複数のＣＵ候補に対して実行される複数のコスト計算に起因して、ＣＵはまた位置を探し出すのに計算コストが高くなり得る。多くの場合、最終的な符号化において、多数のＣＵ候補は用いられない。
【０００３】
最終的なＣＴＵを選択するための一般的な方法はクアッドツリー、つまり再帰的構造を用いる。ＣＵの動きベクトル及びコストが計算される。ＣＵは複数の（例えば４つの）部分に分割され得、類似のコスト調査がそれぞれに対して実行され得る。この細分化及び調査は、各ＣＵのサイズが４×４のサンプルになるまで継続し得る。全ての実行可能な動きベクトルの各サブブロックのコストが計算されると、これらが組み合わされて新たなＣＵ候補を形成する。次に新たな候補は元のＣＵ候補と比較され、より高いレート歪みコストを有するＣＵ候補が破棄される。このプロセスは、最終的なＣＴＵが符号化用に生成されるまで繰り返し行われ得る。上述の手法を用いると、各ＣＴＵにおいて、分割済みＣＵ候補と未分割ＣＵ候補との両方に対して、不要な計算が行われ得る。更に、従来のエンコーダはローカル情報のみを調査し得る。
【発明の概要】
【０００４】
例１において、映像を符号化するための方法は、フレームを有する映像データを受信する段階と、分割オプションを識別する段階と、分割オプションに対応する少なくとも１つの特性を識別する段階と、少なくとも１つの特性を入力としてクラシファイアに提供する段階と、識別された分割オプションに従ってフレームを分割するかどうかを、クラシファイアに基づいて決定する段階とを備える。
【０００５】
例１の方法である例２において、分割オプションは符号化ツリー単位（ＣＴＵ）を含む。
【０００６】
例２の方法である例３において、分割オプションを識別する段階は、第１の候補符号化単位（ＣＵ）と第２の候補ＣＵとを識別する段階と、第１の候補ＣＵに関連する第１のコスト及び第２の候補ＣＵに関連する第２のコストを決定する段階と、第１のコストが第２のコストより低いことを決定する段階とを有する。
【０００７】
例３の方法である例４において、少なくとも１つの特性は、第１の候補ＣＵの少なくとも１つの特性を含む。
【０００８】
例１〜例４の何れかの方法である例５において、分割オプションに対応する少なくとも１つの特性を識別する段階は、以下のうち少なくとも１つを決定する段階を有し、それらは、第１の候補ＣＵと、セグメント、オブジェクト、及び複数のオブジェクトのグループのうち少なくとも１つとの間のオーバーラップ、映像フレームの平均符号化コストに対する第１の候補ＣＵの符号化コストの比、隣接するＣＴＵの分割決定履歴、及び第１の候補ＣＵに対応するＣＴＵクアッドツリー構造のレベルである。
【０００９】
例１〜例５の何れかの方法である例６において、少なくとも１つの特性を入力としてクラシファイアに提供する段階は、特性ベクトルをクラシファイアに提供する段階を有し、特性ベクトルは少なくとも１つの特性を含む。
【００１０】
例１〜例６の何れかの方法である例７において、クラシファイアはニューラルネットワーク又はサポートベクターマシンを含む。
【００１１】
例８において、例１〜例７の何れかの方法は、複数のテスト映像を受信する段階と、トレーニングデータを生成すべく複数のテスト映像のそれぞれを分析する段階と、生成されたトレーニングデータを用いてクラシファイアをトレーニングする段階とを更に備える。
【００１２】
例８の方法である例９において、トレーニングデータは、ローカライズされたフレーム情報、グローバルフレーム情報、オブジェクトグループ分析からの出力、及びセグメント化からの出力のうち少なくとも１つを含む。
【００１３】
例８〜例９の何れかの方法である例１０において、トレーニングデータは、ローカルＣＵのコストに対するテストフレームの平均コストの比をテストフレームに含む。
【００１４】
例８〜例１０の何れかの方法である例１１において、トレーニングデータは、ローカルＣＴＵのコスト決定履歴をテストフレームに含む。
【００１５】
例１１の方法である例１２において、ローカルＣＴＵのコスト決定履歴は、分割されたＣＵが、対応する最終的なＣＴＵに用いられる回数のカウントを含む。
【００１６】
例８〜例１２の何れかの方法である例１３において、トレーニングデータは初期符号化単位決定を含む。
【００１７】
例８〜例１３の何れかの方法である例１４において、トレーニングデータはＣＵに対応するＣＴＵツリー構造のレベルを含む。
【００１８】
例１５において、例１〜例１６の何れかの方法は、フレームに対してセグメント化を実行して複数のセグメント化結果を生成する段階と、フレームに対してオブジェクトグループ分析を実行して複数のオブジェクトグループ分析結果を生成する段階と、クラシファイア、複数のセグメント化結果、及び複数のオブジェクトグループ分析結果に基づいて、識別された分割オプションに従ってフレームを分割するかどうかを決定する段階とを更に備える。
【００１９】
例１６において、１つ又は複数のコンピュータ可読媒体は、映像を符号化するためにそこに具現化されたコンピュータ実行可能命令を含み、命令は、候補符号化単位を含む分割オプションを識別し且つ分割オプションに従ってフレームを分割するよう構成されたパーティショナと、識別された分割オプションに従ってフレームを分割するかどうかに関する決定を容易にするよう構成されたクラシファイアであって、候補符号化単位に対応する少なくとも１つの特性を入力として受信するよう構成されるクラシファイアと、分割されたフレームを符号化するよう構成されたエンコーダとを備える。
【００２０】
例１６の媒体である例１７において、クラシファイアは、ニューラルネットワーク及びサポートベクターマシンのうち少なくとも１つを含む。
【００２１】
例１６及び例１７の何れかの媒体である例１８において、命令は、映像フレームを複数のセグメントにセグメント化し且つ複数のセグメントに関連する情報を入力としてクラシファイアに提供するよう構成されたセグメンタを更に含む。
【００２２】
例１９において、映像を符号化するためのシステムは、映像フレームを受信し、映像フレームに対応する第１の分割オプションと映像フレームに対応する第２の分割オプションとを識別し、第１の分割オプションに関連するコストが第２の分割オプションに関連するコストより低いことを決定し、第１の分割オプションに従って映像フレームを分割するよう構成されたパーティショナを備える。システムはまた、メモリに格納されたクラシファイアを含み、パーティショナは、第１の分割オプションの少なくとも１つの特性を入力としてクラシファイアに提供し且つ第１の分割オプションに関連するコストが第２の分割オプションに関連するコストより低いことを容易に決定すべくクラシファイアからの出力を用いるよう更に構成され、エンコーダは分割された映像フレームを符号化するよう構成される。
【００２３】
例１９のシステムである例２０において、クラシファイアは、ニューラルネットワーク又はサポートベクターマシンを含む。
【図面の簡単な説明】
【００２４】
【図１】本発明の複数の実施形態に従って動作環境（いくつかの実施形態では、本発明の複数の態様）を例示するブロック図である。
【００２５】
【図２】本発明の複数の実施形態に従って映像を符号化する例示となる方法を図示するフロー図である。
【００２６】
【図３】本発明の複数の実施形態に従って映像フレームを分割する例示となる方法を図示するフロー図である。
【００２７】
【図４】本発明の複数の実施形態に従って映像を符号化する例示となる方法を図示するフロー図である。
【００２８】
【図５】本発明の複数の実施形態に従って映像フレームを分割する別の例示となる方法を図示するフロー図である。
【００２９】
本発明は様々な変更及び代替的な形態に対応可能であるが、複数の特定の実施形態が例として図面に示されており、以下に詳細に説明される。しかし、本発明は説明される複数の特定の実施形態に限定されるものではない。それどころか、本発明は、添付の特許請求の範囲によって定められる本発明の範囲に含まれる全ての変更例、均等例、及び代替例を包含するよう意図されている。
【００３０】
「ブロック」という用語は、例として利用される複数の異なる要素を意味するのに本明細書において用いられ得るが、この用語は、個々の段階の順序に明確に言及しない限り、及びそうする場合を除いて、本明細書に開示される様々な段階のあらゆる要件、あるいはそれらの中又はそれらの間のあらゆる特定の順序を示唆するものと解釈されるべきではない。
【発明を実施するための形態】
【００３１】
本発明の複数の実施形態は、効率的な符号化単位（ＣＵ）調査を容易にするクラシファイアを用いる。本クラシファイアは、例えば、ニューラルネットワーククラシファイア、サポートベクターマシン、ランダムフォレスト、複数の弱クラシファイアの線形結合などを含み得る。本クラシファイアは、例えば、オブジェクトグループ分析、セグメント化、ローカライズされたフレーム情報、及びグローバルフレーム情報など、様々な入力を用いてトレーニングされ得る。静止フレームのセグメント化が、任意の数の技術を用いて生成され得る。例えば、複数の実施形態において、エッジ検出に基づく方法が用いられ得る。更に、映像シーケンスが、後で参照するためのオブジェクトとして分類され得る一貫したフレーム間の動きの領域を確認すべく分析され得る。複数の実施形態において、調査されるＣＵと複数のオブジェクト及びセグメントとの間の関係が、クラシファイアの入力になり得る。
【００３２】
複数の実施形態によると、フレーム情報がグローバルスケール及びローカルスケールの両方で調査され得る。例えば、フレーム全体を符号化する平均コストはローカルＣＵ符号化コストと比較され得、複数の実施形態において、この比は入力としてクラシファイアに提供され得る。本明細書に用いられるとき、「コスト」という用語は、特定の分割決定用の動き補償による誤差に関連するコスト、及び／又は特定の分割決定用の動きベクトルを符号化することに関連するコストを意味し得る。これら及び様々な他の類似したタイプのコストが当技術分野で知られており、これらは本明細書の「コスト」という用語に含まれ得る。これらのコストの複数の例が、２０１３年４月２３日に出願され「オブジェクト分析を用いた映像圧縮用のマクロブロック分割及び動き推定（ＭＡＣＲＯＢＬＯＣＫ  ＰＡＲＴＩＴＩＯＮＩＮＧ  ＡＮＤ  ＭＯＴＩＯＮ  ＥＳＴＩＭＡＴＩＯＮ  ＵＳＩＮＧ  ＯＢＪＥＣＴ  ＡＮＡＬＹＳＩＳ  ＦＯＲ  ＶＩＤＥＯ  ＣＯＭＰＲＥＳＳＩＯＮ）」と題された米国特許出願第１３／８６８，７４９に定められており、この開示は参照によって本明細書に明確に組み込まれる。
【００３３】
クラシファイアへの別の入力が、既に処理されたローカルＣＴＵのコスト決定履歴を含み得る。これは例えば、分割されたＣＵが、フレームの特定の領域内の最終的なＣＴＵで用いられた回数のカウントであってよい。複数の実施形態において、合同映像チームの映像符号化ＨＥＶＣテストモデル１２で開発された初期符号化単位決定が、入力としてクラシファイアに提供され得る。更に、クアッドツリー構造の特定のＣＵのレベルが入力としてクラシファイアに提供され得る。
【００３４】
複数の実施形態によると、複数のテスト映像からの情報が、今後の符号化に用いられるクラシファイアをトレーニングするのに用いられ得る。複数の実施形態において、クラシファイアはまた、実際の符号化中にトレーニングされ得る。つまり、例えば、クラシファイアは新たな映像シーケンスの特性に適合し得、このことによって、クラシファイアは不要な計算を回避するかどうかについてのエンコーダの決定にその後影響を与え得る。
【００３５】
本発明の様々な実施形態によると、実用的な分割分析が利用され得、ＣＵ選択プロセスを導くのに役立つクラシファイアを用いる。セグメント化、オブジェクトグループ分析、及びクラシファイアの組み合わせを用いると、コスト決定は、人の視覚品質が高められるとともにビット消費を低下させ得るような方法で影響を与えられ得る。例えば、これは、低活動の領域に割り当てられるよりも多くのビットを高活動の領域に割り当てることで行われ得る。更に、本発明の複数の実施形態は、より多くの情報に基づくグローバルな決定を行うべく、複数のＣＴＵ間の相関情報を活用し得る。このようにして、本発明の複数の実施形態は、人の視覚品質により敏感な領域に一層の重きを置くことを容易にし得、これによってエンドユーザに、より高品質の結果を可能性として示す。
【００３６】
図１は、本発明の複数の実施形態に従って動作環境１００（いくつかの実施形態では、本発明の複数の態様）を例示するブロック図である。動作環境１００は、映像データ１０４を符号化して符号化された映像データ１０６を生成するよう構成され得る符号化デバイス１０２を含む。図１に示されるように、符号化デバイス１０２はまた、通信リンク１１０を介して、符号化された映像データ１０６を復号化デバイス１０８に通信するよう構成され得る。複数の実施形態において、通信リンク１１０はネットワークを含み得る。ネットワークは、任意の数の異なるタイプの通信ネットワーク、例えば、ショートメッセージングサービス（ＳＭＳ）、ローカルエリアネットワーク（ＬＡＮ）、無線ＬＡＮ（ＷＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、インターネット、Ｐ２Ｐネットワークなどであり得る、又はこれらを含み得る。ネットワークは、複数のネットワークの組み合わせを含み得る。
【００３７】
図１に示されるように、符号化デバイス１０２は、プロセッサ１１２、メモリ１１４、及び入力／出力（Ｉ／Ｏ）デバイス１１６を含むコンピューティングデバイス上に実装され得る。符号化デバイス１０２は本明細書では単数で言及されるが、符号化デバイス１０２は複数のインスタンスで実装され、複数のコンピューティングデバイスにわたって分散され、複数の仮想マシン内にインスタンス化されるなどであってよい。複数の実施形態において、プロセッサ１１２はメモリ１１４に格納される様々なプログラムコンポーネントを実行し、映像データ１０６の符号化を容易にし得る。複数の実施形態において、プロセッサ１１２は、１つのプロセッサ又は複数のプロセッサであり得る、又はこれらを含み得る。複数の実施形態において、Ｉ／Ｏデバイス１１６は、任意の数の異なるタイプのデバイス、例えば、モニタ、キーボード、プリンタ、ディスクドライブ、ユニバーサル・シリアル・バス（ＵＳＢ）ポート、スピーカ、ポインタデバイス、トラックボール、ボタン、スイッチ、タッチスクリーンなどであり得る、又はこれらを含み得る。
【００３８】
複数の実施形態によると、上述のように、図１に例示される動作環境１００の様々なコンポーネントは、１つ又は複数のコンピューティングデバイス上に実装され得る。コンピューティングデバイスは、本発明の複数の実施形態を実装するのに適切な任意のタイプのコンピューティングデバイスを含み得る。コンピューティングデバイスの例には、専用のコンピューティングデバイス、又は、例えば、「ワークステーション」、「サーバ」、「ラップトップ」、「デスクトップ」、「タブレットコンピュータ」、「ハンドヘルドデバイス」などの汎用のコンピューティングデバイスが含まれ、これらの全ては、動作環境１００の様々なコンポーネントに関連して図１の範囲内に企図される。例えば、複数の実施形態によると、符号化デバイス１０２（及び／又は映像復号化デバイス１０８）は、汎用のコンピューティングデバイス（例えば、デスクトップコンピュータ、ラップトップ、モバイルデバイスなど）、特別に設計されたコンピューティングデバイス（例えば、専用映像符号化デバイス）などであり得る、又はこれらを含み得る。
【００３９】
更に、本明細書では例示されないが、復号化デバイス１０８は、符号化デバイス１０２、示されても説明されてもいない複数のコンポーネント、及び／又はこれらの組み合わせに関連して本明細書に説明される複数のコンポーネントの任意の組み合わせを含み得る。複数の実施形態において、符号化デバイス１０２は、２０１２年３月２３日に出願され「映像符号化システム及び方法（ＶＩＤＥＯ  ＥＮＣＯＤＩＮＧ  ＳＹＳＴＥＭ  ＡＮＤ  ＭＥＴＨＯＤ）」と題された米国特許出願第１３／４２８，７０７号、及び／又は、２０１３年４月２３日に出願され「オブジェクト分析を用いた映像圧縮用のマクロブロック分割及び動き推定（ＭＡＣＲＯＢＬＯＣＫ  ＰＡＲＴＩＴＩＯＮＩＮＧ  ＡＮＤ  ＭＯＴＩＯＮ  ＥＳＴＩＭＡＴＩＯＮ  ＵＳＩＮＧ  ＯＢＪＥＣＴ  ＡＮＡＬＹＳＩＳ  ＦＯＲ  ＶＩＤＥＯ  ＣＯＭＰＲＥＳＳＩＯＮ）と題された米国特許出願第１３／８６８，７４９号に説明される符号化コンピューティングシステムを含み得る、又はこれらと類似であり得る。これらの特許出願のそれぞれの開示は参照によって本明細書に明確に組み込まれる。
【００４０】
複数の実施形態において、コンピューティングデバイスは、プロセッサ、メモリ、入力／出力（Ｉ／Ｏ）ポート、Ｉ／Ｏコンポーネント、及び電源といったデバイスを直接に及び／又は間接的に結合するバスを含む。任意の数の追加のコンポーネント、異なるコンポーネント、及び／又は複数のコンポーネントの組み合わせもまた、コンピューティングデバイスに含まれてよい。バスは、１つ又は複数のバス（例えば、アドレスバス、データバス、又はこれらの組み合わせなど）であり得るものを表す。同様に、複数の実施形態において、コンピューティングデバイスは、複数のプロセッサ、複数のメモリコンポーネント、複数のＩ／Ｏポート、複数のＩ／Ｏコンポーネント、及び／又は複数の電源を含み得る。更に、任意の数のこれらのコンポーネント、又はこれらの組み合わせが、複数のコンピューティングデバイスにわたって分散され得る、及び／又は複製され得る。
【００４１】
複数の実施形態において、メモリ１１４は、揮発性メモリ及び／又は不揮発性メモリの形態でコンピュータ可読媒体を含み、着脱可能、着脱できない、又はこれらの組み合わせであってよい。媒体の例には、ランダムアクセスメモリ（ＲＡＭ）、リードオンリメモリ（ＲＯＭ）、電子的に消去可能なプログラマブルリードオンリメモリ（ＥＥＰＲＯＭ）、フラッシュメモリ、光媒体又はホログラフィック媒体、磁気カセット、磁気テープ、磁気ディスクストレージ、又は他の磁気ストレージデバイス、データ送信、又は情報を格納するのに用いられ得る、例えば量子状態メモリなどのコンピューティングデバイスによってアクセスされ得る任意の他の媒体が含まれる。複数の実施形態において、メモリ１１４は、本明細書で論じられるシステムコンポーネントの実施形態の複数の態様をプロセッサ１１２に実装させるための、及び／又は本明細書で論じられる方法及び手順の実施形態の複数の態様をプロセッサ１１２に実行させるための複数のコンピュータ実行可能命令を格納する。複数のコンピュータ実行可能命令は、例えば、コンピュータコード、マシンが使用できる命令、及び同様のもの、例えば、コンピューティングデバイスに関連する１つ又は複数のプロセッサによって実行されることが可能なプログラムコンポーネントなどを含み得る。そのようなプログラムコンポーネントの例には、セグメンタ１１８、動き推定器１２０、パーティショナ１２２、クラシファイア１２４、エンコーダ１２６、及び通信コンポーネント１２８が含まれる。本明細書で企図される機能のいくつか又は全てはまた、あるいは代替的に、ハードウェア及び／又はファームウェアで実装され得る。
【００４２】
複数の実施形態において、セグメンタ１１８は、映像フレームを複数のセグメントにセグメント化するよう構成され得る。セグメントは、例えば、オブジェクト、グループ、スライス、タイルなどを含み得る。セグメンタ１１８は、この分野で知られる任意の数の様々な自動画像セグメント化方法を利用し得る。複数の実施形態において、セグメンタ１１８は、類似の色及びテクスチャを有する複数のセグメントに画像を細分化すべく、画像の色及び対応する階調度を用い得る。画像セグメント化技術の２つの例は、ピクセル連結性グラフの最適カット分割及び分水嶺（ｗａｔｅｒｓｈｅｄ）アルゴリズムを含む。例えば、セグメンタ１１８は、最適カット分割のために映像フレームのエッジを検出すべくキャニーエッジ検出を用い、結果として生じるピクセル連結性グラフの最適カット分割を用いて複数のセグメントを生成し得る。
【００４３】
複数の実施形態において、動き推定器１２０は、映像フレームに対して動き推定を実行するよう構成される。例えば、複数の実施形態において、動き推定器はセグメントに基づく動き推定を実行し得、セグメンタ１１８によって決定される複数のセグメントのフレーム間の動きが決定される。動き推定器１２０は、この分野で知られる任意の数の様々な動き推定技術を利用し得る。２つの例は、オプティカルピクセルフロー及び特徴点追跡である。例えば、複数の実施形態において、動き推定器１２０は特徴点追跡を用い得、そこでは、頑健な特徴量の高速化（Ｓｐｅｅｄｅｄ  Ｕｐ  Ｒｏｂｕｓｔ  Ｆｅａｔｕｒｅｓ（ＳＵＲＦ））が、ソース画像（例えば、第１のフレーム）及びターゲット画像（例えば、第２の次のフレーム）の両方から抽出される。次に２つの画像の個々の特徴点は、対応を確立すベくユークリッド計量を用いて比較され得、これにより、各特徴点の動きベクトルを生成する。そのような場合において、セグメントの動きベクトルは、例えば、セグメントの各特徴点の全ての動きベクトルの中央値であり得る。
【００４４】
複数の実施形態において、符号化デバイス１０２は、映像フレームに対してオブジェクトグループ分析を実行し得る。例えば、各セグメントはその動きプロパティに基づいて（例えば、動いている又は静止しているとして）分類され得、隣接する複数のセグメントがオブジェクト内に組み合わされ得る。複数の実施形態において、複数のセグメントが動いている場合、それらは動きの類似度に基づいて組み合わされ得る。複数のセグメントが静止している場合、それらは色の類似度及び／又は共有境界の割合に基づいて組み合わされ得る。
【００４５】
複数の実施形態において、パーティショナ１２２は、映像フレームを複数の区画に分割するよう構成され得る。例えば、パーティショナ１２２は、映像フレームを複数の符号化ツリー単位（ＣＴＵ）に分割するよう構成され得る。ＣＴＵは、複数の符号化単位（ＣＵ）に更に分割され得る。各ＣＵは、１つの輝度符号化ブロック（ＣＢ）、２つの色差ＣＢ、及び１つの関連シンタックスを含み得る。複数の実施形態において、各ＣＵは、複数の予測単位（ＰＵ）及び複数の変換単位（ＴＵ）に更に分割され得る。複数の実施形態において、パーティショナ１２２は、映像フレームに対応する複数の分割オプションを識別し得る。例えば、パーティショナ１２２は、第１の分割オプションと第２の分割オプションとを識別し得る。
【００４６】
分割オプションの選択を容易にすべく、パーティショナ１２２は、各オプションのコストを決定し得、例えば、第１の分割オプションに関連するコストが第２の分割オプションに関連するコストより低いことを決定し得る。複数の実施形態において、分割オプションは、候補ＣＵ、ＣＴＵなどを含み得る。複数の実施形態において、分割オプションに関連するコストは、動き補償による誤差に関連するコスト、動きベクトルの符号化に関連するコストなどを含み得る。
【００４７】
パーティショナ１２２によって行われるコスト計算の回数を最小限に抑えるべく、クラシファイア１２４が複数の分割オプションの分類を容易にするのに用いられ得る。このようにして、クラシファイア１２４は、識別された分割オプションに従ってフレームを分割するかどうかに関する決定を容易にするよう構成され得る。様々な実施形態によると、クラシファイアは、ニューラルネットワーク、サポートベクターマシンなどであってよく、又はこれらを含んでよい。クラシファイアは、符号化に実際に用いられる前に、及び／又は符号化に実際に用いられる間に、複数のテスト映像を用いてトレーニングされ得る。
【００４８】
複数の実施形態において、クラシファイア１２４は、候補符号化単位に対応する少なくとも１つの特性を入力として受信するよう構成され得る。例えば、パーティショナ１２２は、分割オプションに対応する特性ベクトルを入力としてクラシファイア１２４に提供するよう更に構成され得る。特性ベクトルは、第１の分割オプションに関連するコストが第２の分割オプションに関連するコストより低いことを決定するのを容易にすべく、クラシファイアによって出力を提供するのに用いられ得る複数の特徴パラメータを含み得る。例えば、特性ベクトルは、ローカライズされたフレーム情報、グローバルフレーム情報、オブジェクトグループ分析からの出力、及びセグメント化からの出力のうち１つ又は複数を含み得る。特性ベクトルは、映像フレームのローカルＣＵのコストに対する映像フレームの平均コストの比、初期符号化単位決定、ＣＵに対応するＣＴＵツリー構造のレベル、映像フレームのローカルＣＴＵのコスト決定履歴を含み得る。例えば、ローカルＣＴＵのコスト決定履歴は、分割されたＣＵが、対応する最終的なＣＴＵに用いられる回数のカウントを含み得る。
【００４９】
図１に示されるように、符号化デバイス１０２はまた、分割された複数の映像フレームのエントロピ符号化のために構成されるエンコーダ１２６と、通信コンポーネント１２８とを含む。複数の実施形態において、通信コンポーネント１２８は、符号化された映像データ１０６を通信するよう構成される。例えば、複数の実施形態において、通信コンポーネント１２８は、符号化された映像データ１０６を復号化デバイス１０８に通信するのを容易にし得る。
【００５０】
図１に示される例示の動作環境１００は、本発明の複数の実施形態の使用又は機能の範囲に関するいかなる限定も示唆するよう意図されることはない。例示の動作環境１００は、本明細書に例示される任意の単一のコンポーネント又は複数のコンポーネントの組み合わせに関連する任意の依存性又は要件を有すると解釈されるべきではない。更に、図１に図示される複数のコンポーネントのうち任意の１つ又は複数は、複数の実施形態において、本明細書に図示される他の複数のコンポーネント（及び／又は例示されていない複数のコンポーネント）のうち様々なコンポーネントと統合され得る。これらの全ては、本発明の範囲内にあるとみなされる。
【００５１】
図２は、映像を符号化する例示となる方法２００を図示するフロー図である。複数の実施形態において、方法２００の複数の態様が符号化デバイス（例えば、図１に図示される符号化デバイス１０２）によって実行され得る。図２に示されるように、例示となる方法２００の複数の実施形態は、映像フレームを受信する段階（ブロック２０２）を含む。複数の実施形態において、１つ又は複数の映像フレームが、符号化デバイスによって別のデバイス（例えば、メモリデバイス、サーバなど）から受信され得る。符号化デバイスは、映像フレームに対してセグメント化を実行して（ブロック２０４）複数のセグメント化結果を生成し、映像フレームに対してオブジェクトグループ分析を実行して（ブロック２０６）複数のオブジェクトグループ分析結果を生成し得る。
【００５２】
方法２００の複数の実施形態は、複数の符号化単位又は他の複数の分割構造のそれぞれに対して実行されるプロセス２０７を更に含む。例えば、プロセス２０７の第１の繰り返しが、各段階で生成される次の段階を通知する情報を用いて、６４×６４ブロックのピクセルであり得る第１のＣＵに対して、その後４つの３２×３２ブロックのＣＵのそれぞれに対して実行され得る。この繰り返しは、例えば、各３２×３２ブロックを構成する各１６×１６ブロックにこのプロセスを実行することで継続し得る。この繰り返しのプロセス２０７は、閾値又は他の基準が満たされるまで継続し得、満たされた時点で方法２００は構造的階層の更なるどの分岐においても適用されない。
【００５３】
図２に示されるように、例えば、第１符号化単位（ＣＵ）について、分割オプションを識別する（ブロック２０８）。分割オプションは、例えば、符号化ツリー単位（ＣＴＵ）、符号化単位などを含み得る。複数の実施形態において、分割オプションを識別する段階は、第１の候補符号化単位（ＣＵ）と第２の候補ＣＵとを識別する段階と、第１の候補ＣＵに関連する第１のコスト、及び第２の候補ＣＵに関連する第２のコストを決定する段階と、第１のコストが第２のコストより低いことを決定する段階とを含み得る。
【００５４】
図２に示されるように、例示となる方法２００の複数の実施形態は、分割オプションに対応する複数の特性を識別する段階（ブロック２１０）を更に含む。分割オプションに対応する複数の特性を識別する段階は、以下の特性のうち１つ又は複数を有する特性ベクトルを決定する段階を含み得、それらの特性は、第１の候補ＣＵと、セグメント、オブジェクト、及び複数のオブジェクトのグループのうち少なくとも１つとの間のオーバーラップ、映像フレームの平均符号化コストに対する第１の候補ＣＵの符号化コストの比、隣接するＣＴＵの分割決定履歴、第１の候補ＣＵに対応するＣＴＵクアッドツリー構造のレベルである。複数の実施形態において、特性ベクトルはまた、複数のセグメント化結果及び複数のオブジェクトグループ分析結果を含み得る。
【００５５】
図２に示されるように、符号化デバイスは特性ベクトルをクラシファイアに提供し（ブロック２１２）、クラシファイアからの出力を受信する（ブロック２１４）。クラシファイアからの出力は（例えば、図１に図示されるパーティショナ１２４などのパーティショナによって）分割オプションに従ってフレームを分割するかどうかの決定（ブロック２１６）を容易にするのに用いられ得る。様々な実施形態によると、クラシファイアは、ニューラルネットワーク、サポートベクターマシンなどであってよく、又はこれらを含んでよい。クラシファイアは、複数のテスト映像を用いてトレーニングされ得る。例えば、複数の実施形態において、トレーニングデータを生成すべく様々な特性を有する複数のテスト映像が分析され得、トレーニングデータはクラシファイアをトレーニングするのに用いられ得る。トレーニングデータは、ローカライズされたフレーム情報、グローバルフレーム情報、オブジェクトグループ分析からの出力、及びセグメント化からの出力のうち１つ又は複数を含み得る。トレーニングデータは、テストフレームのローカルＣＵのコストに対するテストフレームの平均コストの比、初期符号化単位決定、ＣＵに対応するＣＴＵツリー構造のレベル、テストフレームのローカルＣＴＵのコスト決定履歴を含み得る。例えば、ローカルＣＴＵのコスト決定履歴は、分割されたＣＵが、対応する最終的なＣＴＵに用いられる回数のカウントを含み得る。図２に示されるように、決定されたＣＴＵを用いて映像フレームが分割され（ブロック２１８）、分割された映像フレームは符号化される（ブロック２２０）。
【００５６】
図３は、映像フレームを分割する例示となる方法３００を図示するフロー図である。複数の実施形態において、方法３００の複数の態様が符号化デバイス（例えば、図１に図示される符号化デバイス１０２）によって実行され得る。図３に示されるように、例示となる方法３００の複数の実施形態は、他の複数の符号化単位候補と比較すると、クアッドツリーにおいて与えられるＣＵの特性ベクトルを生成する（ブロック３０２）のに必要とされる複数のコンピューティングエンティティを含む。符号化デバイスは特性ベクトルを決定し（ブロック３０４）、その特性ベクトルをクラシファイアに提供する（ブロック３０６）。図３に示されるように、方法３００は結果として生じる分類を更に用い、与えられたレベルのクアッドツリーに対する計算を省略して次のレベルに進むかどうか、又はクアッドツリーを検索するのを止めるかどうかを決定する（ブロック３０８）。
【００５７】
図４は、映像を符号化するための例示となる方法４００を図示する概略図である。複数の実施形態において、方法４００の複数の態様が符号化デバイス（例えば、図１に図示される符号化デバイス１０２）によって実行され得る。図４に示されるように、例示となる方法４００の複数の実施形態は、映像データを符号化する間に、特性ベクトル及びグラウンドトルースを計算する段階（ブロック４０２）を含む。方法４００は、特性ベクトル及びグラウンドトルースを用いてクラシファイアをトレーニングする段階（ブロック４０４）と、誤差が閾値を下回る場合にクラシファイアを用いる段階（ブロック４０６）とを更に含む。
【００５８】
図５は、映像フレームを分割する例示となる方法５００を図示するフロー図である。複数の実施形態において、方法５００の複数の態様が符号化デバイス（例えば、図１に図示される符号化デバイス１０２）によって実行され得る。図５に示されるように、例示となる方法５００の複数の実施形態は、映像フレームを受信する段階（ブロック５０２）を含む。符号化デバイスは映像フレームをセグメント化し（ブロック５０４）、映像フレームに対してオブジェクトグループ分析を実行する（ブロック５０６）。示されるように、最も低いコストを有する符号化単位候補が識別される（ブロック５０８）。次に符号化デバイスは、符号化単位候補と、セグメント及び／又はオブジェクトグループのうち１つ又は複数との間のオーバーラップ量を決定し得る（ブロック５１０）。
【００５９】
図５に示されるように、方法５００の複数の実施形態はまた、平均フレームコストに対する候補ＣＵに関連した符号化コストの比を決定する段階（ブロック５１２）を含む。符号化デバイスはまた、隣接するＣＴＵ分割決定履歴を決定し得（ブロック５１４）、ＣＵ候補に対応するクアッドツリーレベルのレベルを決定し得る（ブロック５１６）。示されるように、結果として生じる特性ベクトルはクラシファイアに提供され（ブロック５１８）、クラシファイアからの出力が、更なる分割されたＣＵ候補を検索し続けるかどうかを決定するのに用いられる（ブロック５２０）。
【００６０】
本発明の複数の実施形態が具体的に説明されているが、説明そのものは本特許の範囲を限定するよう意図されるものではない。従って、請求項に係る本発明はまた、異なる複数の段階又は特徴、あるいはこの文献に説明されるものに類似した複数の段階又は特徴の組み合わせを含む他の複数の方法で、他の複数の技術と併用して具現化され得ると、本発明者らは企図している。
［項目１］
映像を符号化するための方法であって、
フレームを含む映像データを受信する段階と、
分割オプションを識別する段階と、
上記分割オプションに対応する少なくとも１つの特性を識別する段階と、
上記少なくとも１つの特性を入力としてクラシファイアに提供する段階と、
識別された上記分割オプションに従って上記フレームを分割するかどうかを、上記クラシファイアに基づいて決定する段階と
を備える
方法。
［項目２］
上記分割オプションは符号化ツリー単位（ＣＴＵ）を有する、
項目１に記載の方法。
［項目３］
上記分割オプションを識別する段階は、
第１の候補符号化単位（第１の候補ＣＵ）と第２の候補ＣＵとを識別する段階と、
上記第１の候補ＣＵに関連する第１のコスト、及び上記第２の候補ＣＵに関連する第２のコストを決定する段階と、
上記第１のコストが上記第２のコストより低いことを決定する段階と
を有する、
項目２に記載の方法。
［項目４］
上記少なくとも１つの特性は、上記第１の候補ＣＵの少なくとも１つの特性を含む、
項目３に記載の方法。
［項目５］
上記分割オプションに対応する少なくとも１つの特性を識別する段階は、以下のうち少なくとも１つを決定する段階を有し、それらは、
第１の候補ＣＵと、セグメント、オブジェクト、及び複数のオブジェクトのグループのうち少なくとも１つとの間のオーバーラップと、
上記フレームの平均符号化コストに対する上記第１の候補ＣＵの符号化コストの比と、
隣接するＣＴＵの分割決定履歴と、
上記第１の候補ＣＵに対応するＣＴＵクアッドツリー構造のレベルと
である、
項目１から４の何れか一項に記載の方法。
［項目６］
上記少なくとも１つの特性を入力として上記クラシファイアに提供する段階は、特性ベクトルを上記クラシファイアに提供する段階を有し、
上記特性ベクトルは上記少なくとも１つの特性を含む、
項目１から５の何れか一項に記載の方法。
［項目７］
上記クラシファイアは、ニューラルネットワーク又はサポートベクターマシンを含む、
項目１から６の何れか一項に記載の方法。
［項目８］
複数のテスト映像を受信する段階と、
トレーニングデータを生成すべく上記複数のテスト映像のそれぞれを分析する段階と、
生成された上記トレーニングデータを用いて上記クラシファイアをトレーニングする段階と
を更に備える、
項目１から７の何れか一項に記載の方法。
［項目９］
上記トレーニングデータは、ローカライズされたフレーム情報、グローバルフレーム情報、オブジェクトグループ分析からの出力、及びセグメント化からの出力のうち少なくとも１つを含む、
項目８に記載の方法。
［項目１０］
上記トレーニングデータは、ローカルＣＵのコストに対するテストフレームの平均コストの比を上記テストフレームに含む、
項目８に記載の方法。
［項目１１］
上記トレーニングデータは、ローカルＣＴＵのコスト決定履歴をテストフレームに含む、
項目８に記載の方法。
［項目１２］
上記ローカルＣＴＵの上記コスト決定履歴は、分割されたＣＵが、対応する最終的なＣＴＵに用いられる回数のカウントを含む、
項目１１に記載の方法。
［項目１３］
上記トレーニングデータは初期符号化単位決定を含む、
項目８に記載の方法。
［項目１４］
上記トレーニングデータはＣＵに対応するＣＴＵツリー構造のレベルを含む、
項目８に記載の方法。
［項目１５］
上記フレームに対してセグメント化を実行して複数のセグメント化結果を生成する段階と、
上記フレームに対してオブジェクトグループ分析を実行して複数のオブジェクトグループ分析結果を生成する段階と、
上記クラシファイア、上記複数のセグメント化結果、及び上記複数のオブジェクトグループ分析結果に基づいて、識別された上記分割オプションに従って上記フレームを分割するかどうかを決定する段階と
を更に備える
項目１から１４の何れか一項に記載の方法。
［項目１６］
候補符号化単位を含む分割オプションを識別し、
上記分割オプションに従ってフレームを分割する
パーティショナと、
識別された上記分割オプションに従って上記フレームを分割するかどうかに関する決定を容易にし、上記候補符号化単位に対応する少なくとも１つの特性を入力として受信するクラシファイアと、
分割された上記フレームを符号化するエンコーダと
をコンピュータに実行させる
プログラム。
［項目１７］
上記クラシファイアは、ニューラルネットワーク又はサポートベクターマシンを含む、
項目１６に記載のプログラム。
［項目１８］
上記フレームを複数のセグメントにセグメント化し、
上記複数のセグメントに関連する情報を入力として上記クラシファイアに提供するセグメンタを上記コンピュータに更に実行させる、
項目１６に記載のプログラム。
［項目１９］
映像を符号化するためのシステムであって、
映像フレームを受信し、
上記映像フレームに対応する第１の分割オプションと上記映像フレームに対応する第２の分割オプションとを識別し、
上記第１の分割オプションに関連するコストが上記第２の分割オプションに関連するコストより低いことを決定し、
上記第１の分割オプションに従って上記映像フレームを分割するパーティショナと、
メモリに格納されたクラシファイアであって、上記パーティショナは更に、上記第１の分割オプションのうち少なくとも１つの特性を入力として上記クラシファイアに提供し、上記第１の分割オプションに関連する上記コストが上記第２の分割オプションに関連する上記コストより低いことを容易に決定すべく上記クラシファイアからの出力を用いる、クラシファイアと、
分割された上記映像フレームを符号化するエンコーダと
を備える
システム。
［項目２０］
上記クラシファイアは、ニューラルネットワーク又はサポートベクターマシンを含む、
項目１９に記載のシステム。
【図１】
0006425219.tif 000002
【図２】
0006425219.tif 000003
【図３】
0006425219.tif 000004
【図４】
0006425219.tif 000005
【図５】
0006425219.tif 000006